slepc-3.20.1 2023-11-27
Report Typos and Errors


Sets an operator in split form from which to build the preconditioner to be used when solving the nonlinear eigenvalue problem in split form.


#include "slepcnep.h" 
PetscErrorCode NEPSetSplitPreconditioner(NEP nep,PetscInt ntp,Mat P[],MatStructure strp)

Input Parameters

nep  - the nonlinear eigensolver context
ntp  - number of terms in the split preconditioner
P  - array of matrices
strp  - structure flag for matrices


The matrix for the preconditioner is expressed as P(lambda) = sum_i P_i*f_i(lambda), for i=1,...,n, where the f_i functions are the same as in NEPSetSplitOperator(). It is not necessary to call this function. If it is not invoked, then the preconditioner is built from T(lambda), i.e., both matrices and functions passed in NEPSetSplitOperator().

The structure flag provides information about P_i's nonzero pattern in the same way as in NEPSetSplitOperator().

If the functions defining the preconditioner operator were different from the ones given in NEPSetSplitOperator(), then the split form cannot be used. Use the callback interface instead.

Use ntp=0 to reset a previously set split preconditioner.

See Also

NEPGetSplitPreconditionerTerm(), NEPGetSplitPreconditionerInfo(), NEPSetSplitOperator()





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