Preconditioning: Difference between revisions
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
</math> | </math> | ||
where | where <math> \epsilon_n</math> is the exact eigenvalue for the band in interest. | ||
Actually the evaluation of this matrix is not possible, recognizing that the | Actually the evaluation of this matrix is not possible, recognizing that the | ||
kinetic energy dominates the Hamiltonian for large <math>G</math>-vectors | kinetic energy dominates the Hamiltonian for large <math>\mathbf{G}</math>-vectors | ||
(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 |
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
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): {\frac {1}{{{\bf {H}}}-\epsilon _{n}}},
where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \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 Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): {\mathbf {G}} -vectors (i.e. Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): H_{{G,G'}}\to \delta _{{G,G'}}{\frac {\hbar ^{2}}{2m}}{\mathbf {G}}^{2} ), it is a good idea to approximate the matrix by a diagonal function which converges to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): {\frac {2m}{\hbar ^{2}{\mathbf {G}}^{2}}} for large Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): {\displaystyle \mathbf[G}} vectors, and possess a constant value for small Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): {\mathbf {G}} vectors. We actually use the preconditioning function proposed by Teter et. al[1]
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \langle {\mathbf {G}}|{{\bf {K}}}|{\mathbf {G'}}\rangle =\delta _{{{\mathbf {G}}{\mathbf {G'}}}}{\frac {27+18x+12x^{2}+8x^{3}}{27+18x+12x^{2}+8x^{3}+16x^{4}}}\quad {\mbox{und}}\quad x={\frac {\hbar ^{2}}{2m}}{\frac {G^{2}}{1.5E^{{{\rm {kin}}}}({\mathbf {R}})}},
with Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): E^{{{\rm {kin}}}}({\mathbf {R}}) being the kinetic energy of the residual vector. The preconditioned residual vector is then simply
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): |p_{n}\rangle ={{\bf {K}}}|R_{n}\rangle .