|Stable release||3.5 / 29 July, 2014|
|Operating system||Linux, Unix, Mac OS X, Windows|
|Available in||C (main language),C++, FORTRAN|
|Type||Scientific simulation software|
|License||LGPL (version 3)|
SLEPc is a software library for the parallel computation of eigenvalues and eigenvectors of large, sparse matrices. It can be seen as a module of PETSc that provides solvers for different types of eigenproblems, including linear (standard and generalized) and nonlinear (quadratic, polynomial and general), as well as the SVD. It uses the MPI standard for parallelization. Both real and complex arithmetic are supported, with single and double precision.
When using SLEPc, the application programmer can use any of the PETSc's data structures and solvers. Other PETSc features are incorporated into SLEPc as well, such as command-line option setting, automatic profiling, error checking, portability to virtually all computing platforms, etc.
EPS provides iterative algorithms for linear eigenvalue problems.
- Krylov methods such as Krylov-Schur, Arnoldi and Lanczos.
- Davidson methods such as Generalized Davidson and Jacobi-Davidson.
- Interface to some external eigensolvers, such as ARPACK and BLOPEX.
- Customization options include: number of wanted eigenvalues, tolerance, size of the employed subspaces, part of the spectrum of interest.
- Shift-and-invert and Cayley spectral transformations.
- Support for preconditioned eigensolvers (such as Jacobi-Davidson) by using the preconditioners provided by PETSc.
SVD contains solvers for the singular value decomposition.
- Solvers based on the cross-product matrix or the cyclic matrix, that rely on EPS solvers.
- Specific solvers based on bidiagonalization such as Golub-Kahan-Lanczos and a thick-restarted variant.
PEP is intended for polynomial eigenproblems, including the quadratic eigenvalue problem.
- Solvers based on explicit linearization, that rely on EPS solvers.
- Solvers that perform the linearization implicitly in a memory-efficient way, such Q-Arnoldi.
NEP provides functionality for the solution of the nonlinear eigenproblem.
- Basic solvers such as residual inverse iteration and successive linear problems.
- A solver based on polynomial interpolation that relies on PEP solvers.
MFN can be used to compute the action of a matrix function on a vector.
- Basic Krylov solver.
- V. Hernandez, J. E. Roman, and V. Vidal (2005). "SLEPc: A Scalable and Flexible Toolkit for the Solution of Eigenvalue Problems". ACM Trans. Math. Softw. doi:10.1145/1089014.1089019.