Eigenvalues and Eigenvectors of Large Matrices

ARPACK is a FORTRAN90 program which computes eigenvalues and eigenvectors of large matrices, by Richard Lehoucq, Danny Sorensen, Chao Yang.

ARPACK 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. ARPACK will never require direct access to the matrix, only to the value of certain matrix-vector products such as A*x or A'*x.

ARPACK includes calls to the LAPACK and BLAS. libraries.

There is an ARPACK home page at:


ARPACK is available in a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

EISPACK, a FORTRAN90 library which contains eigenvalue routines, since replaced by LAPACK.

JACOBI_EIGENVALUE, a FORTRAN90 library which implements the Jacobi iteration for the iterative determination of the eigenvalues and eigenvectors of a real symmetric matrix.

LAPACK_EXAMPLES, a FORTRAN90 program which demonstrates the use of the LAPACK linear algebra library.

TEST_EIGEN, a FORTRAN90 library which defines various eigenvalue test cases.

TEST_MAT, a FORTRAN90 library which defines test matrices, some of which have known eigenvalues and eigenvectors.


Richard Lehoucq, Danny Sorensen, Chao Yang.


  1. Richard Lehoucq, Danny Sorensen, Chao Yang,
    ARPACK User's Guide:
    Solution of Large Scale Eigenvalue Problems with Implicitly Restarted Arnoldi Methods
  2. Danny Sorensen,
    Implicitly Restarted Arnoldi/Lanczos Methods for Large Scale Eigenvalue Calculations,
    Department of Computational and Applied Mathematics,
    Rice University,
  3. Information about the use of the ARPACK execution trace facilities available through "debug.h" is given in arpack_debug.txt
  4. Information about the use of the ARPACK operation count and timing statistics available through "stat.h" is given in arpack_stat.txt

Source Code:

Examples and Tests:

SSSIMP is a simple symmetric test problem:

SNSIMP is a simple nonsymmetric test problem:

You can go up one level to the FORTRAN90 source codes.

Last revised on 15 March 2008.