# Scheme of SLEPc Classes

The following scheme represents the functionality provided by SLEPc and how it relates to PETSc.

- SLEPc provides five main objects: EPS (Eigenvalue Problem Solver), SVD (Singular Value Decomposition), PEP (Polynomial Eigenvalue Problem), NEP (Nonlinear Eigenvalue Problem), and MFN (Matrix Function).
- These objects occupy a level of abstraction similar to other PETSc solvers such as KSP or SNES and use low-level infrastructure such as Mat and Vec.
- The shaded blocks represent the generic interface of the object while the white boxes represent different implementations. The programmer usually interacts with the object via its interface and the particular implementation is typically picked at run time.
- ST (Spectral Transformation) is used in combination of most solvers to compute interior eigenvalues.
- Additionally, several auxiliary classes are provided: BV (Basis Vectors), DS (Dense System), RG (Region), FN (Mathematical Function).