Overview
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.
Capabilities
Anasazi supports the following solver/matrix combinations:
Chart notes:
- This chart does not endorse the use of a particular solver for a particular eigenvalue problem.
- Abbreviations key
- “Gen.” = generalized eigenvalue system
- “Prec:” = can use a preconditioner
- BKS = Block Krylov Schur
- LOBPCG = Locally Optimial Block Preconditioned Conjugate Gradient
- RTR = Riemannian Trust-Region method
- ^ denotes that these features may be implemented if there is sufficient interest.
- $ 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
- Anasazi software for the numerical solution of large-scale eigenvalue problems -- Describes the design and development of the Anasazi package.
- Overview of Anasazi and its newest eigensolver, TraceMin -- Presentation from the Trilinos Users Group meeting, October 29th, 2014.
- Installing the Anasazi Eigensolver Package with Application to Some Graph Eigenvalue Problems -- Introductory installation and usage guide.