The workflow of the blocked-Davidson iterative matrix diagonalization scheme implemented in VASP is as follows:
- Take a subset (block) of
orbitals out of the total set of NBANDS orbitals:
.
- Extend the subspace spanned by
by adding the preconditioned residual vectors of
:
![{\displaystyle
\left \{ \psi^1_k \, / \, g^1_k = \left (1- \sum_{n=1}^{N_{\rm bands}} | \psi_n \rangle \langle\psi_n | {\bf S} \right) {\bf K} \left ({\bf H} - \epsilon_{\rm app} {\bf S} \right ) \psi^1_k \, | \, k=1,..,n_1 \right \}.
}](/wiki/index.php?title=Special:MathShowImage&hash=8bae2710749fbaf46d9402676acaf7b7&mode=mathml)
- Rayleigh-Ritz optimization ("subspace rotation") within the
-dimensional space spanned by
, to determine the
lowest eigenvectors:
![{\displaystyle {\rm diag}\{\psi^1/g^1\} \Rightarrow \{ \psi^2_k| k=1,..,n_1\}}](/wiki/index.php?title=Special:MathShowImage&hash=bfe0052abe2ea3f9d2016826ac9a9a8e&mode=mathml)
- Extend the subspace with the residuals of
:
![{\displaystyle
\left \{ \psi^2_k \,/ \, g^1_k \, / \, g^2_k = \left (1- \sum_{n=1}^{N_{\rm bands}} | \psi_n \rangle \langle\psi_n | {\bf S} \right ) {\bf K} \left ({\bf H} - \epsilon_{\rm app} {\bf S} \right) \psi^2_k \, | \, k=1,..,n_1 \right \}.
}](/wiki/index.php?title=Special:MathShowImage&hash=5f3999a60aa023c4b9818c80c0b21af5&mode=mathml)
- Rayleigh-Ritz optimization ("subspace rotation") within the
-dimensional space spanned by
:
![{\displaystyle {\rm diag}\{\psi^1/g^1/g^2\} \Rightarrow \{ \psi^3_k| k=1,..,n_1\}}](/wiki/index.php?title=Special:MathShowImage&hash=3f5cfbbeea4669a5f900987299827de7&mode=mathml)
- If need be the subspace may be extended by repetition of this cycle of adding residual vectors and Rayleigh-Ritz optimization of the resulting subspace:
![{\displaystyle {\rm diag}\{\psi^1/g^1/g^2/../g^{d-1}\}\Rightarrow \{ \psi^d_k| k=1,..,n_1\}}](/wiki/index.php?title=Special:MathShowImage&hash=631f00383fabfac169ba16b1c0c4c23f&mode=mathml)
- Per default VASP will not iterate deeper than
, though it may break off even sooner when certain criteria that measure the convergence of the orbitals have been met.
- When the iteration is finished, store the optimized block of orbitals back into the set:
.
- Continue with the next block
.
- After all orbitals have been optimized, a Rayleigh-Ritz optimization in the complete subspace
is performed.
The blocked-Davidson algorithm is approximately a factor of 1.5-2 slower than the RMM-DIIS, but more robust.