Skip to main content
`Ctrl`+`K`

# PEPGetEigenpair

Gets the `i`-th solution of the eigenproblem as computed by `PEPSolve()`. The solution consists in both the eigenvalue and the eigenvector.

## Synopsis

    #include "slepcpep.h"
    PetscErrorCode PEPGetEigenpair(PEP pep,PetscInt i,PetscScalar *eigr,PetscScalar *eigi,Vec Vr,Vec Vi)

Collective

## Input Parameters

- pep - the polynomial eigensolver context

- i - index of the solution

## Output Parameters

- eigr - real part of eigenvalue

- eigi - imaginary part of eigenvalue

- Vr - real part of eigenvector

- Vi - imaginary part of eigenvector

## Notes

It is allowed to pass `NULL` for `Vr` and `Vi`, if the eigenvector is not required. Otherwise, the caller must provide valid `Vec` objects, i.e., they must be created by the calling program with e.g. `MatCreateVecs()`.

If the eigenvalue is real, then `eigi` and `Vi` are set to zero. If PETSc is configured with complex scalars the eigenvalue is stored directly in `eigr` (`eigi` is set to zero) and the eigenvector in `Vr` (`Vi` is set to zero). In any case, the user can pass `NULL` in `Vr` or `Vi` if one of them is not required.

The index `i` should be a value between 0 and `nconv`-1 (see `PEPGetConverged()`). Eigenpairs are indexed according to the ordering criterion established with `PEPSetWhichEigenpairs()`.

The eigenvector is normalized to have unit norm.

## See Also

PEP: Polynomial Eigenvalue Problems, `PEPSolve()`, `PEPGetConverged()`, `PEPSetWhichEigenpairs()`

## Level

beginner

## Location

src/pep/interface/pepsolve.c

## Examples

src/pep/tutorials/ex40.c
src/pep/tutorials/ex16.c

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