Skip to content

Spectral_function

Dominique Delande edited this page Feb 20, 2023 · 60 revisions

The spectral function for the normalized state \psi is defined as (sometimes modulo a factor 2*pi):

f1

where H is the Hamiltonian and the overline denotes averaging over disorder configurations. By construction, it is normalized to unity:

f2

and its average value is:

f3

Schroedinger equation

In a previous version, the spectral function was computed by Fourier transform of the autocorrelation function <\psi(0)|\psi(t)>, with |\psi(t)\rangle computed using the temporal propagation. This is no longer the case, and the spectral function is computed directly using the Kernel Polynomial Method, an expansion of the spectral function in Chebyshev polynomials of the energy.

For the standard spectral function, \psi(0) is a plane wave, but the program allows any initial state.

From its definition, the spectral function computed for the state \psi(0) is exactly equal to the spectral function computed for the initial state \psi(t). In other words, it is preserved during the temporal evolution.

One has to specify the required energy resolution and the total energy range [Emin,Emax]. As explained in Kernel Polynomial Method, the interval [Emin,Emax] MUST contain all the energy spectrum of the Hamiltonian (for all disorder realizations), otherwise a disaster is guaranteed. This is contrast with the previous implementation using the Fourier transform of the temporal propagation, where the spectrum was folded in the requested energy range. Here, the spectrum is output in the energy range [Emin,Emax] chosen by the user. The and-python_ package has a naive check of the [Emin,Emax] values provided by the use and will stop the computation if he detects that the energy range is obviously too narrow.

The energy resolution is the elementary energy step over which the spectral function is computed.

Gross-Pitaevskii equation

The spectral function can be computed in the interacting case, simply as the Fourier transform of C(t), but there are various possibilities. In any case, in contrast with the Schroedinger equation, the spectral function is not preserved during the temporal evolution.

One may, in the definition of the spectral function, incorporate or not the nonlinear interaction. That is define the function C(t) by:

where the nonlinear evolution operator U(t) is generated by the nonlinear Hamitonian:

\alpha is here an arbitrary real number.

For \alpha=0, one is back to the original Schroedinger definition.

For \alpha=1, the nonlinear evolution is the one of the Gross-Pitaevksii equation.

These definitions have a drwaback. While the spectral function is properly normalized, the average energy:

is not preserved during the temporal evolution.

Another solution is to choose \alpha=1/2, which ensures energy conservation..

Which choice is the best is not clear|-(.

Clone this wiki locally