SLEPc
Stable release
3.25 / 31 March 2026; 2 months ago (2026-03-31)
Operating systemLinux, Unix, Mac OS X, Windows
Available inC (main language), C++, FORTRAN, Python
TypeScientific simulation software
LicenseBSD 2-clause license
Websiteslepc.upv.es
Repository

SLEPc[1] 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. Recent versions also include support for matrix functions. It uses the MPI standard for parallelization. Both real and complex arithmetic are supported, with single, double and quadruple 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.

Components

edit

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.
  • Conjugate gradient methods such as LOBPCG.
  • A contour integral solver (CISS).
  • 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.

ST encapsulates spectral transformations and other preconditioners for eigenvalue problems.

  • Shift-and-invert and Cayley spectral transformations.
  • Support for preconditioned eigensolvers (such as Jacobi-Davidson) by using the preconditioners provided by PETSc.
  • Polynomial filters for interior eigenvalues.

SVD contains solvers for the singular value decomposition as well as the generalized 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 as TOAR.
  • A Jacobi-Davidson solver for PEP.

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.
  • A solver based on rational interpolation (NLEIGS).

MFN can be used to compute the action of a matrix function on a vector.

  • A restarted Krylov solver.

See also

edit

References

edit
  1. ^ V. Hernandez; J. E. Roman & V. Vidal (2005). "SLEPc: A Scalable and Flexible Toolkit for the Solution of Eigenvalue Problems". ACM Transactions on Mathematical Software. 31 (3): 351–362. doi:10.1145/1089014.1089019. S2CID 14305707.
edit

📚 Artikel Terkait di Wikipedia

C (programming language)

LOBPCG Math Kernel Library Mathomatic OpenBLAS PARI/GP ScaLAPACK PETSc SLEPc UMFPACK See also C syntax History of C List of C programming books List

The C Programming Language

LOBPCG Math Kernel Library Mathomatic OpenBLAS PARI/GP ScaLAPACK PETSc SLEPc UMFPACK See also C syntax History of C List of C programming books List

Outline of the C programming language

LOBPCG Math Kernel Library Mathomatic OpenBLAS PARI/GP ScaLAPACK PETSc SLEPc UMFPACK See also C syntax History of C List of C programming books List

Sparse matrix

sparse matrix diagonalization and manipulation, using the Arnoldi algorithm SLEPc Library for solution of large scale linear systems and sparse matrices scikit-learn

ARPACK

Hermitian matrices only, implemented in C in BLOPEX, ported to hypre and SLEPc, in C++ in Anasazi (Trilinos), in Python in scipy, in Julia language, MATLAB

List of finite element software packages

Trilinos, PETSc, and SLEPc Built-in, Hypre, Trilinos, umfpack, MUMPS, Pardiso, etc. (optional) PETSc, Trilinos, LASPack, SLEPc PETSc, Trilinos/TPetra

List of open-source software for mathematics

Library GNU Scientific Library hypre Integer set library Libfixmath OpenBLAS SLEPc UMFPACK Armadillo Boost.Math Blitz++ CAPD library deal.II Class Library

List of numerical libraries

solution of scientific applications modeled by partial differential equations. SLEPc Scalable Library for Eigenvalue Problem Computations is a PETSc-based open-source