Skip to main content
`Ctrl`+`K`

# KSPComputeEigenvaluesExplicitly

Computes all of the eigenvalues of the preconditioned operator using LAPACK.

## Synopsis

    #include "petscksp.h"
    PetscErrorCode KSPComputeEigenvaluesExplicitly(KSP ksp, PetscInt nmax, PetscReal r[], PetscReal c[])

Collective

## Input Parameters

- ksp - iterative context obtained from `KSPCreate()`

- nmax - size of arrays `r` and `c`

## Output Parameters

- r - real part of computed eigenvalues, provided by user with a dimension at least of `n`

- c - complex part of computed eigenvalues, provided by user with a dimension at least of `n`

## Notes

This approach is very slow but will generally provide accurate eigenvalue estimates. This routine explicitly forms a dense matrix representing the preconditioned operator, and thus will run only for relatively small problems, say `n` < 500.

Many users may just want to use the monitoring routine `KSPMonitorSingularValue()` (which can be set with option -ksp_monitor_singular_value) to print the singular values at each iteration of the linear solve.

The preconditioner operator, rhs vector, and solution vectors should be set before this routine is called. i.e use `KSPSetOperators()`, `KSPSolve()`

## See Also

KSP: Linear System Solvers, `KSP`, `KSPComputeEigenvalues()`, `KSPMonitorSingularValue()`, `KSPComputeExtremeSingularValues()`, `KSPSetOperators()`, `KSPSolve()`

## Level

advanced

## Location

src/ksp/ksp/interface/eige.c

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