I tried to derive a preconditioner for self-consistent iteration similar to section IX in arXiv:0804.2583. For simplicity, consider here only one orbital (one or two electrons) systems.

Suppose that the iteration starts with function $f_1$ and write $f_1 = \psi_0 + \Delta \psi_0$, where $\psi_0$ is the normalized exact solution of the Schrödinger equation. Suppose also that $H$ is real and Hermitian, $H \psi_0 = E \psi_0$, and $\psi_0$ and $\Delta \psi_0$ are real. Assume that $\Delta \psi_0$ is small.

Define $\Lambda := \left< f_1 \vert H f_1 \right>$ and $g := H f_1 - \Lambda f_1$. We have $$\Lambda = E + 2 \left< H \psi_0 \vert \Delta \psi_0 \right> + \left< \Delta \psi_0 \vert H \Delta \psi_0 \right>$$ and we approximate $$ \Lambda \approx E + 2 \left< H \psi_0 \vert \Delta \psi_0 \right> . $$ We have $$ g = E \psi_0 + H \Delta \psi_0 - \Lambda \psi_0 - \Lambda \Delta \psi_0 $$ from which it follows that $$ (H - \Lambda) \Delta \psi_0 = (\Lambda - E) \psi_0 + g \approx 2 \left< H \psi_0 \vert \Delta \psi_0 \right> \psi_0 + g \tag{1} $$ We have \begin{eqnarray} 2 \left< H \psi_0 \vert \Delta \psi_0 \right> \psi_0 & = & 2( f_1 - \Delta \psi_0) \left< H(f_1 - \Delta \psi_0) \vert \Delta \psi_0 \right> \nonumber \\ & = & 2( f_1 - \Delta \psi_0) \left( \left< H f_1 \vert \Delta \psi_0 \right> - \left< H \Delta \psi_0 \vert \Delta \psi_0 \right> \right) \nonumber \end{eqnarray} and we approximate $$ 2 \left< H \psi_0 \vert \Delta \psi_0 \right> \psi_0 \approx 2 \left< H f_1 \vert \Delta \psi_0 \right> f_1 $$ We define linear function $G$ by $$ G(x) := 2 \left< H f_1 \vert x \right> f_1 . $$ Now it follows from equation (1) that $$ (H - \Lambda - G) \Delta \psi_0 \approx g $$ Consequently we approximate $\Delta \psi_0$ by $$ \tilde{g} := (H - \Lambda - G)^{-1} g $$ and set $$ f_2 := \frac{f_1 - \tilde{g}}{\Vert f_1 - \tilde{g} \Vert} $$ for the next iteration. Unless we have an one electron system we also compute the new Hartree potential and the new Hamiltonian operator for the next iteration.

I tried this method for the hydrogen atom and the hydrogen molecule. For hydrogen atom I computed the approximate wavefunction with Arnoldi method and then tried to enhance the result with this method. The iteration converged well until both the gradient norm and quantity $\Vert H \psi - E \psi \Vert$ were about $4 \cdot 10^{-15}$ and then stopped converging. For hydrogen molecule I computed the initial orbitals with Arnoldi method setting Hartree potential to zero. The SC iteration converged well until the gradient norm was about $10^{-4}$ and $\Vert H \psi - E \psi \Vert \approx 10^{-6}$. After that the SC iteration stopped converging.

Q: Is the derivation of the preconditioner correct?

Q: Is there some reason why the method does not work when the iteration gets close to a self-consistent solution?

  • 1
    $\begingroup$ Isn't $10^{-15}$ enough? $\endgroup$ – nicoguaro Jun 26 at 14:43
  • $\begingroup$ Yes, but $10^{-6}$ is not enough for the hydrogen molecule. $\endgroup$ – Tommi Höynälänmaa Jun 29 at 17:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.