#include "petscksp.h" PetscErrorCode KSPComputeEigenvalues(KSP ksp,PetscInt n,PetscReal r[],PetscReal c[],PetscInt *neig)Not Collective
ksp | - iterative context obtained from KSPCreate() | |
n | - size of arrays r and c. The number of eigenvalues computed (neig) will, in general, be less than this. |
r | - real part of computed eigenvalues, provided by user with a dimension of at least n | |
c | - complex part of computed eigenvalues, provided by user with a dimension of at least n | |
neig | - actual number of eigenvalues computed (will be less than or equal to n) |
KSPComputeEigenvalues() does not usually provide accurate estimates; it is intended only for assistance in understanding the convergence of iterative methods, not for eigenanalysis. For accurate computation of eigenvalues we recommend using the excellent package SLEPc.
One must call KSPSetComputeEigenvalues() before calling KSPSetUp() in order for this routine to work correctly.
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.