The idea is to find a matrix that 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
![{\displaystyle
\frac{1}{{\bf H} - \epsilon_n},
}](/wiki/index.php?title=Special:MathShowImage&hash=4b2ab7bab253d9d774aff571b314dd93&mode=mathml)
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]
![{\displaystyle
\langle \mathbf{G} | {\bf K} | \mathbf{G'}\rangle = \delta_{\bold{G} \mathbf{G'}} \frac{ 27 + 18 x+12 x^2 + 8x^3}
{27 + 18x + 12x^2+8x^3 +16x^4} \quad \mbox{and} \quad
x = \frac{\hbar^2}{2m} \frac{G^2} {1.5 E^{\rm kin}( \mathbf{R}) },
}](/wiki/index.php?title=Special:MathShowImage&hash=9638f2efcffd0e2ada4f2bf0eb043bf3&mode=mathml)
with
being the kinetic energy of the residual vector.
The preconditioned residual vector is then simply
![{\displaystyle
| p_n \rangle = {\bf K} | R_n \rangle.
}](/wiki/index.php?title=Special:MathShowImage&hash=c691c0a059b95e5eb924cce537449364&mode=mathml)
References