slepc-main 2024-11-15
Report Typos and Errors

PEPSTOARGetInertias

Gets the values of the shifts and their corresponding inertias in case of doing spectrum slicing for a computational interval.

Synopsis

#include "slepcpep.h" 
PetscErrorCode PEPSTOARGetInertias(PEP pep,PetscInt *n,PetscReal **shifts,PetscInt **inertias)
Not Collective

Input Parameter

pep  - the eigenproblem solver 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 in each shift

Notes

If called after PEPSolve(), all shifts used internally by the solver are returned (including both endpoints and any intermediate ones). If called before PEPSolve() and after PEPSetUp() then only the information of the endpoints of subintervals is available.

This function is only available for spectrum slicing runs.

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
   PEPSTOARGetInertias(pep,n,shifts,inertias,ierr)
   integer n
   double precision shifts(*)
   integer inertias(*)
The arrays should be at least of length n. The value of n can be determined by an initial call
   PEPSTOARGetInertias(pep,n,PETSC_NULL_REAL,PETSC_NULL_INTEGER,ierr)

See Also

PEPSetInterval()

Level

advanced

Location

src/pep/impls/krylov/stoar/stoar.c

Examples

src/pep/tutorials/ex38.c


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