SLEPc: Scalable Library for Eigenvalue Problem Computations
Jose E. Roman
GRyCAP - Grupo de Redes y Computacion de Altas Prestaciones
Universidad Politecnica de Valencia, Spain
SLEPc, the Scalable Library for Eigenvalue Problem Computations, is a software
package for the solution of large sparse eigenvalue problems on parallel
computers. It can be used for the solution of problems formulated in either
standard or generalized form, as well as other related problems such as the
singular value decomposition.
The emphasis of the software is on methods and techniques appropriate for
problems in which the associated matrices are sparse, for example, those
arising after the discretization of partial differential equations. Therefore,
most of the methods offered by the library are projection methods or other
methods with similar properties. Some of these methods are Arnoldi, Lanczos
and Subspace Iteration, to name a few. SLEPc implements these basic methods as
well as more sophisticated algorithms. It also provides built-in support for
spectral transformations such as shift-and-invert.
SLEPc is a general library in the sense that it covers standard and genralized
eigenvalue problems, both Hermitian and non-Hermitian, with either real or
SLEPc is built on top of PETSc, the Portable Extensible Toolkit for Scientific
Computation (http://www.mcs.anl.gov/petsc). It can be considered an extension
of PETSc providing all the functionality necessary for the solution of
eigenvalue problems. This means that PETSc must be previously installed in
order to use SLEPc. PETSc users will find SLEPc very easy to use, since it
enforces the same programming paradigm. For those users which are not familiar
with PETSc yet, our recommendation is to fully understand its basic concepts
before proceeding with SLEPc.
The Users Manual is included in the SLEPc distribution file. It can be found
in directory 'docs' and it contains a general description of the capabilities
of the software. The manual does not include detailed reference information
about individual SLEPc routines. This information is provided in the form of
man pages in HTML format (see 'docs/manual.htm').
The installation procedure of SLEPc is very similar to that of PETSc. Briefly,
the environment variable $SLEPC_DIR must be set, then the script configure.py
is executed and finally the libraries are built with the command 'make'. For
this to work correctly, variable $PETSC_DIR must also be set appropriately.
More detailed information about installation can be found in the Users Manual
or in the SLEPc home page, including instructions for configuring SLEPc to use
external libraries such as ARPACK.
Additional information can be found in the SLEPc home page at the following
Among other things, this site includes information about:
- How to contact the authors for support.
- Download page including available patches (if any).
- On-line documentation.
- Mailing list for announcement of new releases.
All questions/comments should be directed to email@example.com.
The development of SLEPc has been partially supported by the following grants:
- Oficina de Ciencia i Tecnologia, Generalitat Valenciana, CTIDB/2002/54.
- Direccio General d'Investigacio i Transferencia de Tecnologia, Generalitat
Conditions of Use
Copyright (c) 2002-2007, Universidad Politecnica de Valencia, Spain
This software is provided 'as is', with absolutely no warranty, expressed or
implied. Any use is at your own risk. In no event will the authors be liable
for any direct or indirect damages arising in any way out of the use of this
The user will acknowledge (using reference ) the contribution of the
software in any publication of material dependent on its use.
The user can modify the code but at no time will the right or title to all or
any part of this software pass to the user. A modified version of the software
cannot be redistributed. The software (or a modified version) may not be sold.
This software is free for academic and research use. This means that a person
working in an academic or research institution such as a university or a
government laboratory can use the software without formally requiring a
For commercial use, it is necessary to sign a software license agreement. This
includes all users working for a private company, even if the software is
going to be used only for in-house research activities. A reasonable testing
period is allowed before asking for the license.
 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. 31(3), 351-362.