Preconditioning
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 $ \epsilon_n$ 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]
Failed to parse (Conversion error. Server ("cli") reported: "[INVALID]"): {\displaystyle \langle \bold{G} | {\bf K} | \bold{G'}\rangle = \delta_{\bold{G} \bold{G'}} \frac{ 27 + 18 x+12 x^2 + 8x^3} {27 + 18x + 12x^2+8x^3 +16x^4} \quad \mbox{und} \quad x = \tp \frac{G^2} {1.5 E^{\rm kin}( \bR) }, }
with being the kinetic energy of the residual vector. The preconditioned residual vector is then simply