Skip to main content
`Ctrl`+`K`

# NEPGetEigenpair

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

## Synopsis

    #include "slepcnep.h"
    PetscErrorCode NEPGetEigenpair(NEP nep,PetscInt i,PetscScalar *eigr,PetscScalar *eigi,Vec Vr,Vec Vi)

Collective

## Input Parameters

- nep - the nonlinear 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 any argument that is not required.

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

The eigenvector is normalized to have unit norm.

## See Also

NEP: Nonlinear Eigenvalue Problems, `NEPSolve()`, `NEPGetConverged()`, `NEPSetWhichEigenpairs()`, `NEPGetLeftEigenvector()`

## Level

beginner

## Location

src/nep/interface/nepsolve.c

## Examples

src/nep/tutorials/ex42.c
src/nep/tutorials/ex20f.F90
src/nep/tutorials/ex20.c

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