EPSKrylovSchurGetInertias#
Gets the values of the shifts and their corresponding inertias in case of doing spectrum slicing for a computational interval.
Synopsis#
#include "slepceps.h"
PetscErrorCode EPSKrylovSchurGetInertias(EPS eps,PetscInt *n,PetscReal *shifts[],PetscInt *inertias[]) PeNS
Not Collective
Input Parameter#
eps - the linear eigensolver context
Output Parameters#
n - number of shifts, including the endpoints of the interval
shifts - the values of the shifts used internally in the solver
inertias - the values of the inertia at each shift
Notes#
If called after EPSSolve(), all shifts used internally by the solver are
returned (including both endpoints and any intermediate ones). If called
before EPSSolve() and after EPSSetUp() then only the information of the
endpoints of subintervals is available.
This function is only available for spectrum slicing runs, that is, when
an interval has been given with EPSSetInterval() and STSINVERT is set.
See more details in section Spectrum Slicing.
The returned arrays should be freed by the user. Can pass NULL in any of
the two arrays if not required.
Fortran Notes#
The calling sequence from Fortran is
EPSKrylovSchurGetInertias(eps,n,shifts,inertias,ierr)
PetscInt n
PetscReal shifts(*)
PetscInt inertias(*)
The arrays should be at least of length n. The value of n can be determined
by an initial call
EPSKrylovSchurGetInertias(eps,n,PETSC_NULL_REAL_ARRAY,PETSC_NULL_INTEGER_ARRAY,ierr)
See Also#
EPS: Eigenvalue Problem Solver, Spectrum Slicing, EPSKRYLOVSCHUR, EPSSetInterval(), EPSKrylovSchurSetSubintervals()
Level#
advanced
Location#
Examples#
Implementations#
EPSKrylovSchurGetInertias_KrylovSchur() in src/eps/impls/krylov/krylovschur/krylovschur.c
Index of all EPS routines Table of Contents for all manual pages Index of all manual pages