Fast diagonalisation of nonlocal pseudopotential Hamiltonians

Abstract
The calculation of band structure and total energy of solids involves the search for the few lowest (M) eigenvectors and eigenvalues of large matrices (size N × N). Standard algorithms which diagonalise the matrix entirely scale as N3, while procedures for extracting only a subset of M eigenvalues and eigenvectors scale as MN2. Two methods are described which aim at finding the lowest eigenvalues and corresponding eigenvectors of a nonlocal pseudopotential Hamiltonian. Both approaches lead to an algorithm which scales roughly as MN4/3.