arpack, a FORTRAN90 code which computes eigenvalues and eigenvectors of large matrices, by Richard Lehoucq, Danny Sorensen, Chao Yang.
The code supports single and double precision, real or complex arithmetic. The matrices involved can be symmetric or nonsymmetric. The user can request just a few eigenvalues, or all of them. There are special routines for banded matrices.
Because the package uses reverse communication, the user is free to store the matrix in any way suitable. The code will never require direct access to the matrix, only to the value of certain matrix-vector products such as A*x or A'*x.
The code requires access to the LAPACK and BLAS libraries.
There is an ARPACK home page at: https://www.caam.rice.edu/software/ARPACK/index.html.
arpack is available in a FORTRAN90 version.
EISPACK, a FORTRAN90 code which contains eigenvalue routines, since replaced by LAPACK.
JACOBI_EIGENVALUE, a FORTRAN90 code which implements the Jacobi iteration for the iterative determination of the eigenvalues and eigenvectors of a real symmetric matrix.
LAPACK_EXAMPLES, a FORTRAN90 code which demonstrates the use of the LAPACK linear algebra library.
TEST_EIGEN, a FORTRAN90 code which defines various eigenvalue test cases.
TEST_MAT, a FORTRAN90 code which defines test matrices, some of which have known eigenvalues and eigenvectors.
Richard Lehoucq, Danny Sorensen, Chao Yang.