The implementation of the Residual Minimization Method with Direct Inversion in the Iterative Subspace (RMM-DIIS) in VASP[1][2] is based on the original work of Pulay:[3]
- The procedure starts with the evaluation of the preconditioned residual vector for some selected orbital :
- where is the preconditioning function, and the residual is computed as:
- with
- Then a Jacobi-like trial step is taken in the direction of the vector:
- and a new residual vector is determined:
- Next a linear combination of the initial orbital and the trial orbital
- is sought, such that the norm of the residual vector is minimized. Assuming linearity in the residual vector:
- this requires the minimization of:
- with respect to .
- This step is usually called direct inversion of the iterative subspace (DIIS).
- The next trial step () starts from , along the direction . In each iteration is increased by 1, and a new trial orbital:
- and its corresponding residual vector are added to the iterative subspace, that is subsequently inverted to yield .
- The algorithm keeps iterating until the norm of the residual has dropped below a certain threshold, or the maximum number of iterations per orbital has been reached (NRMM).
- Replace by , and move on to start work on the next orbital, e.g. .
References