This is an iterative Lanczos procedure (Fortran 95 with C99 interface) for maximum-accuracy eigenvectors and eigenvalues of (complex or real) Hermitian matrices specified as a "black box" matrix-vector multiplication procedure (MATVEC) implemented in 64-bit floating-point arithmetic. The maximum possible accuracy of its eigenvalues is determined, and residual norms of eigenvectors are polished down to this scale; eigenvector degeneracies are fully resolved. Suitable for matrix dimensions up to tens of millions, or more, for which an efficient MATVEC is available.
- This procedure will be of interest to condensed-matter theorists working on interacting quantum many-body problems using exact-diagonalization methods.
Changelog:
some cosmetic fixes, plus double matvec option
(M-> (M-E)*(M-E) for possible interior eigenvalue/vector use.