Eigensolver
Eigensolver
Section SCF::Eigensolver
Type integer
Which eigensolver to use to obtain the lowest eigenvalues and
eigenfunctions of the Kohn-Sham Hamiltonian. The default is
conjugate gradients (cg), except that when parallelization in states is
enabled, the default is chebyshev_filter.
Options:
- cg:
Conjugate-gradients algorithm.
- plan:
Preconditioned Lanczos scheme. Ref: Y. Saad, A. Stathopoulos, J. Chelikowsky, K. Wu and S. Ogut,
"Solution of Large Eigenvalue Problems in Electronic Structure Calculations", BIT 36, 1 (1996).
- evolution:
(Experimental) Propagation in imaginary time.
- rmmdiis:
Residual minimization scheme, direct inversion in the
iterative subspace eigensolver, based on the implementation of
Kresse and Furthmüller [Phys. Rev. B 54, 11169
(1996)]. This eigensolver requires almost no orthogonalization
so it can be considerably faster than the other options for
large systems. To improve its performance a large number of ExtraStates
are required (around 10-20% of the number of occupied states).
Note: with unocc, you will need to stop the calculation
by hand, since the highest states will probably never converge.
Usage with more than one block of states per node is experimental, unfortunately.
- chebyshev_filter:
Chebyshev polynomials are used to construct a spectral filter that is iteratively applied to a trial subspace,
amplifying a subset of the lowest eigenvalues of the Hamiltonian, which effectively isolates the invariant subspace associated
with the these states. The filtered subspace is projected to define a reduced eigenvalue problem, which is then solved using
dense diagonalisation. Finally, the eigenstates of the original Hamiltonian are recovered via subspace rotation.
For further details, see [Zhou et. al.](http://dx.doi.org/10.1016/j.jcp.2014.06.056)