Skip to content

Fixes to the preconditioner g_psi for the Davidson

John Vinson requested to merge jtv3/q-e:develop into develop

The preconditioner in g_psi is a modification of 1/(D-E) where D is the diagonal of H and E is the current eigenvalue guess. This modification is to avoid large numbers as D-E -> 0. The previous modification was poorly behaved for (D-E) < 0, giving ~1 even for (D-E) approaching -inf.

The changes corrently mimic 1/x for negative x. A new polynomial approximation is included as the default.

Improved preconditioning appears to fix some cases of issue #124 (closed)

Merge request reports