PEPSTOARGetInertias — SLEPc 3.24.3 documentation

Skip to main content
`Ctrl`+`K`

# 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[]) PeNS

Not Collective

## Input Parameter

- pep - the polynomial 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 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, that is, when an interval has been given with `PEPSetInterval()` and `STSINVERT` is set. See more details in section Spectrum Slicing for PEP.

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)
       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

       PEPSTOARGetInertias(pep,n,PETSC_NULL_REAL_ARRAY,PETSC_NULL_INTEGER_ARRAY,ierr)

## See Also

PEP: Polynomial Eigenvalue Problems, Spectrum Slicing for PEP, `PEPSTOAR`, `PEPSetInterval()`

## Level

advanced

## Location

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

## Examples

src/pep/tutorials/ex38.c

## Implementations

PEPSTOARGetInertias_STOAR() in src/pep/impls/krylov/stoar/stoar.c

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