Skip to main content
`Ctrl`+`K`

# EPSSolve

Solves the eigensystem.

## Synopsis

    #include "slepceps.h"
    PetscErrorCode EPSSolve(EPS eps)

Collective

## Input Parameter

- eps - the linear eigensolver context

## Options Database Keys

- -eps_view - print information about the solver once the solve is complete

- -eps_view_pre - print information about the solver before the solve starts

- -eps_view_mat0 - view the first matrix (\(A\))

- -eps_view_mat1 - view the second matrix (\(B\))

- -eps_view_vectors - view the computed eigenvectors

- -eps_view_values - view the computed eigenvalues

- -eps_converged_reason - print reason for convergence/divergence, and number of iterations

- -eps_error_absolute - print absolute errors of each eigenpair

- -eps_error_relative - print relative errors of each eigenpair

- -eps_error_backward - print backward errors of each eigenpair

## Notes

The problem matrices are specified with `EPSSetOperators()`.

`EPSSolve()` will return without generating an error regardless of whether all requested solutions were computed or not. Call `EPSGetConverged()` to get the actual number of computed solutions, and `EPSGetConvergedReason()` to determine if the solver converged or failed and why.

All the command-line options listed above admit an optional argument specifying the viewer type and options. For instance, use `-eps_view_mat0 binary:amatrix.bin` to save the \(A\) matrix to a binary file, `-eps_view_values draw` to draw the computed eigenvalues graphically, or `-eps_error_relative :myerr.m:ascii_matlab` to save the errors in a file that can be executed in Matlab.

## See Also

EPS: Eigenvalue Problem Solver, `EPSCreate()`, `EPSSetUp()`, `EPSDestroy()`, `EPSSetOperators()`, `EPSGetConverged()`, `EPSGetConvergedReason()`

## Level

beginner

## Location

src/eps/interface/epssolve.c

## Examples

src/eps/tutorials/ex2.c
src/eps/tutorials/ex46.c
src/eps/tutorials/ex24.c
src/eps/tutorials/ex29.c
src/eps/tutorials/ex18.c
src/eps/tutorials/ex41.c
src/eps/tutorials/ex1.c
src/eps/tutorials/ex12.c
src/eps/tutorials/ex56.c
src/eps/tutorials/ex5.c

## Implementations

EPSSolve_LOBPCG() in src/eps/impls/cg/lobpcg/lobpcg.c
EPSSolve_RQCG() in src/eps/impls/cg/rqcg/rqcg.c
EPSSolve_CISS() in src/eps/impls/ciss/ciss.c
EPSSolve_XD() in src/eps/impls/davidson/davidson.c
EPSSolve_ARPACK() in src/eps/impls/external/arpack/arpack.c
EPSSolve_BLOPEX() in src/eps/impls/external/blopex/blopex.c
EPSSolve_ChASE() in src/eps/impls/external/chase/chase.c
EPSSolve_Elemental() in src/eps/impls/external/elemental/elemental.cxx
EPSSolve_ELPA() in src/eps/impls/external/elpa/elpa.c
EPSSolve_EVSL() in src/eps/impls/external/evsl/evsl.c
EPSSolve_FEAST() in src/eps/impls/external/feast/feast.c
EPSSolve_PRIMME() in src/eps/impls/external/primme/primme.c
EPSSolve_ScaLAPACK() in src/eps/impls/external/scalapack/scalapack.c
EPSSolve_Arnoldi() in src/eps/impls/krylov/arnoldi/arnoldi.c
EPSSolve_Lanczos() in src/eps/impls/krylov/lanczos/lanczos.c
EPSSolve_LAPACK() in src/eps/impls/lapack/lapack.c
EPSSolve_LyapII() in src/eps/impls/lyapii/lyapii.c
EPSSolve_Power() in src/eps/impls/power/power.c
EPSSolve_Subspace() in src/eps/impls/subspace/subspace.c

Index of all EPS routines Table of Contents for all manual pages Index of all manual pages