Anasazi is an extensible and interoperable framework for large-scale eigenvalue algorithms. The motivation for this framework is to provide a generic interface to a collection of algorithms for solving large-scale eigenvalue problems. Anasazi is interoperable because both the matrix and vectors (defining the eigenspace) are considered to be opaque objects—only knowledge of the matrix and vectors via elementary operations is necessary. One of the goals of Anasazi is to allow the user the flexibility to specify the data representation for the matrix and vectors and so leverage any existing software investment.

An implementation of Anasazi is accomplished via the use of interfaces. Current interfaces available include Epetra and Tpetra. This means any libraries that understand Epetra and Tpetra matrices and vectors (such as AztecOO and Belos) may also be used in conjunction with Anasazi.


Anasazi supports the following solver/matrix combinations:

eigensolver_table Chart notes:

  1. This chart does not endorse the use of a particular solver for a particular eigenvalue problem.
  2. Abbreviations key
    1. “Gen.” = generalized eigenvalue system
    2. “Prec:” = can use a preconditioner
    3. BKS = Block Krylov Schur
    4. LOBPCG = Locally Optimial Block Preconditioned Conjugate Gradient
    5. RTR = Riemannian Trust-Region method
  3. ^ denotes that these features may be implemented if there is sufficient interest.
  4. $ denotes that the TraceMin family of solvers is currently experimental. We recommend that if a user wants to compute interior eigenpairs, she should disable the Ritz shifts. This recommendation temporary until the code leaves experimental status.

Anasazi Publications