Skip to main content
`Ctrl`+`K`

# PEPSolve

Solves the polynomial eigenproblem.

## Synopsis

    #include "slepcpep.h"
    PetscErrorCode PEPSolve(PEP pep)

Collective

## Input Parameter

- pep - the polynomial eigensolver context

## Options Database Keys

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

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

- -pep_view_matk - view the coefficient matrix \(A_k\) (replace `k` by an integer from 0 to `nmat`-1)

- -pep_view_vectors - view the computed eigenvectors

- -pep_view_values - view the computed eigenvalues

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

- -pep_error_absolute - print absolute errors of each eigenpair

- -pep_error_relative - print relative errors of each eigenpair

- -pep_error_backward - print backward errors of each eigenpair

## Notes

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

`PEPSolve()` will return without generating an error regardless of whether all requested solutions were computed or not. Call `PEPGetConverged()` to get the actual number of computed solutions, and `PEPGetConvergedReason()` 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 `-pep_view_mat0 binary:matrix0.bin` to save the \(A_0\) matrix to a binary file, `-pep_view_values draw` to draw the computed eigenvalues graphically, or `-pep_error_relative :myerr.m:ascii_matlab` to save the errors in a file that can be executed in Matlab.

## See Also

PEP: Polynomial Eigenvalue Problems, `PEPCreate()`, `PEPSetUp()`, `PEPDestroy()`, `PEPSetTolerances()`, `PEPGetConverged()`, `PEPGetConvergedReason()`

## Level

beginner

## Location

src/pep/interface/pepsolve.c

## Examples

src/pep/tutorials/ex16f.F90
src/pep/tutorials/ex50.c
src/pep/tutorials/ex38.c
src/pep/tutorials/ex40.c
src/pep/tutorials/ex16.c
src/pep/tutorials/ex17.c
src/pep/tutorials/ex28.c

## Implementations

PEPSolve_CISS() in src/pep/impls/ciss/pciss.c
PEPSolve_JD() in src/pep/impls/jd/pjd.c
PEPSolve_QArnoldi() in src/pep/impls/krylov/qarnoldi/qarnoldi.c
PEPSolve_STOAR() in src/pep/impls/krylov/stoar/stoar.c
PEPSolve_TOAR() in src/pep/impls/krylov/toar/ptoar.c
PEPSolve_Linear() in src/pep/impls/linear/linear.c

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