ArticleslgStudy

mathematics

SLEPc

SLEPc is a mathematics topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand SLEPc rather than just read about it. In short: 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.

Key takeaways

  • SLEPc belongs to mathematics; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect SLEPc to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of SLEPc from memory before moving on to harder problems.

Reference excerpt

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. 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 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 Portable, Extensible Toolkit for Scientific Computation (PETSc) List of numerical libraries

References

External links The Official SLEPc web site

Worked examples

Example 1 — a first encounter with SLEPc

Start with the simplest possible case. Write down what SLEPc claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In mathematics, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to SLEPc before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about SLEPc ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of SLEPc

In research
SLEPc appears in mathematics research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses SLEPc in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
SLEPc is common in secondary-school and first-year university syllabi. It links to neighbouring topics Numerical libraries, Numerical linear algebra, Scientific simulation software, so understanding it makes those chapters shorter.
In everyday life
Look for SLEPc outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study SLEPc in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what SLEPc means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain SLEPc out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is SLEPc in simple terms?

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 ge…

Why does SLEPc matter?

Because it connects several mathematics ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study SLEPc?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on SLEPc.

Tags

  • Numerical libraries
  • Numerical linear algebra
  • Scientific simulation software

Keep exploring