Preconditioning: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
Line 12: Line 12:
(i.e. <math>H_{G,G'} \to \delta_{G,G'} \frac{\hbar^2}{2m} \mathbf{G}^2</math>), it
(i.e. <math>H_{G,G'} \to \delta_{G,G'} \frac{\hbar^2}{2m} \mathbf{G}^2</math>), it
is  a good idea to approximate the matrix by a diagonal
is  a good idea to approximate the matrix by a diagonal
function which converges to  <math>\frac{2m}{\hbar^2 \mathbf{G}^2}</math> for large <math>\mathbf[G}</math> vectors, and possess
function which converges to  <math>\frac{2m}{\hbar^2 \mathbf{G}^2}</math> for large <math>\mathbf{G}</math> vectors, and possess
a constant value for small <math>\mathbf{G}</math> vectors.
a constant value for small <math>\mathbf{G}</math> vectors.
We actually use the preconditioning function proposed by Teter et. al{{cite|teter:prb:1989}}
We actually use the preconditioning function proposed by Teter et. al{{cite|teter:prb:1989}}

Revision as of 10:41, 21 March 2019

The idea is to find a matrix which multiplied with the residual vector gives the exact error in the wavefunction. Formally this matrix (the Greens function) can be written down and is given by

where is the exact eigenvalue for the band in interest. Actually the evaluation of this matrix is not possible, recognizing that the kinetic energy dominates the Hamiltonian for large -vectors (i.e. ), it is a good idea to approximate the matrix by a diagonal function which converges to for large vectors, and possess a constant value for small vectors. We actually use the preconditioning function proposed by Teter et. al[1]

with being the kinetic energy of the residual vector. The preconditioned residual vector is then simply

References