Skip to main content
`Ctrl`+`K`

# Spectral Transformation - ST

The Spectral Transformation (ST) class encapsulates the functionality required for acceleration techniques based on the transformation of the spectrum. The eigensolvers implemented in `EPS` work by applying an operator to a set of vectors and this operator can adopt different forms. The `ST` object handles all the different possibilities in a uniform way, so that the solver can proceed without knowing which transformation has been selected. Polynomial eigensolvers in `PEP` also support spectral transformation.

The type of spectral transformation can be specified at run time (e.g., `-st_type sinvert`) as well as several parameters such as the value of the shift (e.g., `-st_matmode inplace`).

`ST` objects are always related to a solver object (either `EPS` or `PEP`). Users should not create a standalone `ST` object. `ST` options can also be set directly in application codes by first extracting the `ST` context from the `EPS` context via `EPSGetST()` and then directly calling the `ST` routines (e.g., `STSetType()` or `STSetMatMode()`).

Related Users Manual part: ST: Spectral Transformation.

## Beginner - Basic usage

ST STCAYLEY STCreate STDestroy STFILTER | STPRECOND STSHELL STSHIFT STSINVERT | STSetFromOptions STSetType STType STView

## Intermediate - Setting options for algorithms and data structures

STCayleyGetAntishift STCayleySetAntishift STFilterGetDegree STFilterGetInterval STFilterGetRange STFilterGetType STFilterSetDegree STFilterSetInterval STFilterSetRange | STFilterSetType STFilterType STGetKSP STGetMatMode STGetMatrix STGetNumMatrices STGetShift STGetType STMatMode | STSetMatMode STSetMatrices STSetShift STViewFromOptions ST_FILTER_CHEBYSHEV ST_FILTER_FILTLAN ST_MATMODE_COPY ST_MATMODE_INPLACE ST_MATMODE_SHELL

## Advanced - Setting more advanced options and customization

STAppendOptionsPrefix STFilterDamping STFilterGetDamping STFilterSetDamping STGetMatStructure STGetOperator STGetOptionsPrefix STGetPreconditionerMat STGetSplitPreconditionerInfo STGetSplitPreconditionerTerm | STRegister STRegisterAll STReset STRestoreOperator STSetKSP STSetMatStructure STSetOptionsPrefix STSetPreconditionerMat STSetSplitPreconditioner STSetUp | STShellApplyFn STShellApplyHermitianTransposeFn STShellApplyTransposeFn STShellBackTransformFn STShellGetContext STShellSetApply STShellSetApplyHermitianTranspose STShellSetApplyTranspose STShellSetBackTransform STShellSetContext

## Developer - Interfaces rarely needed by applications programmers

STApply STApplyHermitianTranspose STApplyMat STApplyTranspose STBackTransform STCheckNullSpace STFilterGetThreshold STFinalizePackage STGetBalanceMatrix STGetBilinearForm STGetMatrixTransformed STGetStructured STGetTransform | STInitializePackage STIsInjective STMatCreateVecs STMatCreateVecsEmpty STMatGetLocalSize STMatGetSize STMatMatSolve STMatMult STMatMultHermitianTranspose STMatMultTranspose STMatSetUp STMatSolve | STMatSolveHermitianTranspose STMatSolveTranspose STPostSolve STPrecondGetKSPHasMat STPrecondSetKSPHasMat STResetMatrixState STScaleShift STSetBalanceMatrix STSetDefaultShift STSetStructured STSetTransform STSetWorkVecs

## Single list of manual pages

ST STAppendOptionsPrefix STApply STApplyHermitianTranspose STApplyMat STApplyTranspose STBackTransform STCAYLEY STCayleyGetAntishift STCayleySetAntishift STCheckNullSpace STCreate STDestroy STFILTER STFilterDamping STFilterGetDamping STFilterGetDegree STFilterGetInterval STFilterGetRange STFilterGetThreshold STFilterGetType STFilterSetDamping STFilterSetDegree STFilterSetInterval STFilterSetRange STFilterSetType STFilterType STFinalizePackage STGetBalanceMatrix STGetBilinearForm STGetKSP STGetMatMode STGetMatStructure STGetMatrix STGetMatrixTransformed STGetNumMatrices | STGetOperator STGetOptionsPrefix STGetPreconditionerMat STGetShift STGetSplitPreconditionerInfo STGetSplitPreconditionerTerm STGetStructured STGetTransform STGetType STInitializePackage STIsInjective STMatCreateVecs STMatCreateVecsEmpty STMatGetLocalSize STMatGetSize STMatMatSolve STMatMode STMatMult STMatMultHermitianTranspose STMatMultTranspose STMatSetUp STMatSolve STMatSolveHermitianTranspose STMatSolveTranspose STPRECOND STPostSolve STPrecondGetKSPHasMat STPrecondSetKSPHasMat STRegister STRegisterAll STReset STResetMatrixState STRestoreOperator STSHELL STSHIFT STSINVERT | STScaleShift STSetBalanceMatrix STSetDefaultShift STSetFromOptions STSetKSP STSetMatMode STSetMatStructure STSetMatrices STSetOptionsPrefix STSetPreconditionerMat STSetShift STSetSplitPreconditioner STSetStructured STSetTransform STSetType STSetUp STSetWorkVecs STShellApplyFn STShellApplyHermitianTransposeFn STShellApplyTransposeFn STShellBackTransformFn STShellGetContext STShellSetApply STShellSetApplyHermitianTranspose STShellSetApplyTranspose STShellSetBackTransform STShellSetContext STType STView STViewFromOptions ST_FILTER_CHEBYSHEV ST_FILTER_FILTLAN ST_MATMODE_COPY ST_MATMODE_INPLACE ST_MATMODE_SHELL