-
Notifications
You must be signed in to change notification settings - Fork 32
Description
For a given steady-state correlation function spectrum calculates the quantity
— see also the documentation on Emission spectrum.
Compared to spectrum_correlation_fft, spectrum works directly in the frequency domain by using a SpectrumSolver. In fact, in the vectorized representation,
Currently, there two such solvers:
-
ExponentialSeries, which employes a full spectral decomposition; -
PseudoInverse, which computes the propagator$(\omega + i\mathcal{L})^{-1}$ as the solution of a sparse linear system at each frequency.
PseudoInverse is currently the fastest option for large systems, but it requires (pseudo-)inverting
Another possible avenue for the computation of the spectrum would be to employ the well-known Lanczos method, which is currently a gold standard in condensed matter calculations. The method is extensively discussed in [1] for systems governed by a Hamiltonian
In a nutshell, for
Therefore, the desidered expectation value of the propagator
Thanks to the tridiagonal structure of the propagator, the top-left matrix element can be recursively expressed as a continuous fraction for each Krylov iteration by using a suitable expression for the inverse of a
The algorithm stops when the continuous fraction reaches the desired precision or the maximum number of iterations. Early stops are possible in case of loss of orthogonality, a known drawback of the Lanczos algorithm; however, they are not as catastrophic as for the case of pure diagonalization, they can be easily detected as
Cases in which
In our case, the goal would be to implement a SpectrumSolver for spectrum called Lanczos, which implements a non-symmetric variant of the algorithm due to the fact that
spectrum(H, ωlist, c_ops, A, B; solver = Lanczos())and provide, at a minimum, a tol parameter and a maxiter parameter, respectively controlling the desired precision and the maximum number of Krylov iterations.
Moreover, this new implementation should be added to the benchmarks, in order to track its performances together with the other solvers.
- Koch, E. (2011). The Lanczos Method. In E. Pavarini, E. Koch, D. Vollhardt, & A. Lichtenstein (Eds.), The LDA+DMFT approach to strongly correlated materials (Vol. 1, pp. 8.1-8.30). Forschungszentrum Jülich. ↩