Introduction
Users
Documentation
Developers
Availability
Download


Application


eigenmodes of a nuclear reactor core

SLEPc

Introduction

SLEPc, the Scalable Library for Eigenvalue Problem computations, is a software package for the solution of large sparse eigenproblems 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. Examples of these methods are Arnoldi, Subspace Iteration and Power/RQI, 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 generalized eigenvalue problems, both Hermitian and non-Hermitian, with either real or complex arithmetic.

SLEPc solvers

SLEPc is built on top of PETSc the Portable, Extensible Toolkit for Scientific computation. 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. Users should be comfortable with PETSc programming before proceeding with SLEPc.

The table below gives an overview of the main numerical components of PETSc and those added by SLEPc:

SLEPc Components

SLEPc interfaces to some external software packages such as ARPACK, BLZPACK, PLANSO, and TRLAN. These are all optional packages and do not need to be installed to use SLEPc. SLEPc is fully usable from Fortran, C and C++, and is portable, running on most UNIX systems. 

SLEPc has several features that make it very convenient for the application programmer. Users can create complete application programs for the parallel solution of eigenvalue problems without writing much explicit message-passing code themselves. Parallel vectors and sparse matrices can be easily and efficiently assembled through the mechanisms provided by PETSc. Furthermore, SLEPc enables a great deal of runtime control for the user without any additional coding cost. The runtime options include control over the choice of solvers, spectral transformations and problem parameters as well as the generation of performance logs.

Users

SLEPc is currently being used in numerous applications from different areas, including:

  • Nuclear engineering
  • Computational electromagnetics
  • Materials science
  • Statistics/Information retrieval
  • Quantum mechanics
The image in the left panel come from an application that use SLEPc. Click on the small icon to
display the full image (a new window will open).

Documentation

  • Related Tools:

Developers

SLEPc was developed by members of the High Performance Networking and Computing Group (GRyCAP), in the Universidad Politecnica de Valencia (Spain). The SLEPc team continues to enhance SLEPc with new functionality and improved performance. Its principal developers are Jose E. Roman and Andrés Tomás.




Tools News Home