Blocked-Davidson algorithm: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
Line 16: Line 16:
:<math>{\rm diag}\{\psi^1/g^1/g^2\} \Rightarrow \{ \psi^3_k| k=1,..,n_1\}</math>
:<math>{\rm diag}\{\psi^1/g^1/g^2\} \Rightarrow \{ \psi^3_k| k=1,..,n_1\}</math>
* 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:
* 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:
:<math>\{\psi^1/g^1/g^2/../g^{d-1}\}</math>
:<math>math>{\rm diag}\{\psi^1/g^1/g^2/../g^{d-1}\}\Rightarrow \{ \psi^d_k| k=1,..,n_1\</math>
: Per default {{VASP}} will not iterate deeper than <math>d=4</math>.
: Per default {{VASP}} will not iterate deeper than <math>d=4</math>, though it may break off even sooner when certain criteria that measure the convergence of the orbitals have been met.
* Continue iteration by adding a fourth set of preconditioned vectors if required, etc etc.
* When the iteration is finished, store the optimized block of orbitals back in the set:
* When the iteration is finished, store the optimized block of orbitals back in the set:
:<math>\{ \psi^d_k| k=1,..,n_1\} \Rightarrow \{ \psi_k| k=1,..,N_{\rm bands}\}</math>.
:<math>\{ \psi^d_k| k=1,..,n_1\} \Rightarrow \{ \psi_k| k=1,..,N_{\rm bands}\}</math>.

Revision as of 18:30, 19 October 2023

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 :
  • Rayleigh-Ritz optimization ("subspace rotation") within the dimensional space spanned by , to determine the lowest eigenvectors:
  • Extend the subspace with residuals of :
  • Rayleigh-Ritz optimization ("subspace rotation") within the dimensional space spanned by :
  • 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:
Failed to parse (Conversion error. Server ("cli") reported: "[INVALID]"): {\displaystyle math>{\rm diag}\{\psi^1/g^1/g^2/../g^{d-1}\}\Rightarrow \{ \psi^d_k| k=1,..,n_1\}
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 in the set:
.
  • Continue with the next block .
  • After each band has been optimized a Rayleigh-Ritz optimization in the complete subspace is performed.

This method is approximately a factor of 1.5-2 slower than RMM-DIIS, but always stable. It is available in parallel for any data distribution.