Abstract
The structure and implementation of a new general iterative method for diagonalising large matrices (the 'residual minimisation/direct inversion in the iterative subspace' method of Bendt and Zunger) are described and contrasted with other more commonly used iterative techniques. The method requires the direct diagonalisation of only a small submatrix, does not require the storage of the large matrix and provides eigensolutions to within a prescribed precision in a rapidly convergent iterative procedure. Numerical results for two rather different matrices (a real 50*50 non-diagonally dominant matrix and a complex Hermitian 181*181 matrix corresponding to the pseudopotential band structure of a semiconductor in a plane wave basis set) are used to compare the new method with the competing methods. the new method converges quickly and should be the most efficient for very large matrices in terms both of computation time and central storage requirements; it is quite insensitive to the properties of the matrices used. This technique makes possible efficient solution of a variety of quantum mechanical matrix problems where large basis set expansions are required.