# Residual minimization method¶

## Algorithm¶

Initial guess for wave functions (\(\tilde{\psi}_n\)).

Orthogonalize wavefunctions (make sure \(\langle \tilde{\psi}_n | \hat{S} | \tilde{\psi}_m \rangle = \delta_{nm}\)).

Calculate density (\(\tilde{n}\), \(D_{ij}^a\)).

Calculate potential (\(\tilde{v}\), \(\Delta H_{ij}^a\)).

Apply hamiltonian (\(\hat{H}\tilde{\psi}_n\)).

Subspace diagonalization (rotate \(\tilde{\psi}_n\) so that \(\langle \tilde{\psi}_n | \hat{H} | \tilde{\psi}_m \rangle = \delta_{nm} \epsilon_n\)).

Calculate residuals (\(R_n = \hat{H}\tilde{\psi}_n - \epsilon_n \hat{S}\tilde{\psi}_n\)).

Improve wave functions using the RMM-DIIS algorithm (see below).

Back to (2).

## RMM-DIIS step¶

For each wave function we calculate the residual:

New improved wave function: \(\tilde{\psi}_n' = \tilde{\psi}_n + \lambda \hat{P} R_n\), where \(\hat{P}\) is a preconditioner. Find step length \(\lambda\) by minimizing the norm of:

Since we already have \(R_n'\), we might as well use it to take an extra step (with the same step length as for the first step):

See [Kresse96] for details.

## Preconditioning¶

The ideal preconditioner would be:

For the short wavelength parts of the residuals, \(\hat{H} - \epsilon_n \hat{S}\) will be dominated by the kinetic energy operator, so we have approximately \(\hat{P} \simeq -\hat{T}^{-1}\).

We calculate preconditioned residuals (\(\tilde{R}_n = \hat{P} R_n\)) by solving \(\hat{T} \tilde{R}_n = -R_n\) or equivalently

approximately using multigrid techniques as described in [Briggs95].

## References¶

- Kresse96
G. Kresse, J. Furthmüller: Phys. Rev. B 54, 11169 - 11186 (1996) “Efficient iterative schemes for ab initio total-energy calculations using a plane-wave basis set”

- Briggs95
E. L. Briggs, D. J. Sullivan and J. Bernholc: Phys. Rev. B 52, R5471 (1995), “Large Scale Electronic Structure Calculations with Multigrid Acceleration”