slepc-3.21.0 2024-03-30
Report Typos and Errors

NEPSetSplitPreconditioner

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

Synopsis

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

Input Parameters

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

Notes

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

Level

advanced

Location

src/nep/interface/nepbasic.c

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