slepc-3.22.1 2024-10-28
Report Typos and Errors

NEPSetSplitOperator

Sets the operator of the nonlinear eigenvalue problem in split form.

Synopsis

#include "slepcnep.h" 
PetscErrorCode NEPSetSplitOperator(NEP nep,PetscInt nt,Mat A[],FN f[],MatStructure str)
Collective

Input Parameters

nep  - the nonlinear eigensolver context
nt  - number of terms in the split form
A  - array of matrices
f  - array of functions
str  - structure flag for matrices

Notes

The nonlinear operator is written as T(lambda) = sum_i A_i*f_i(lambda), for i=1,...,n. The derivative T'(lambda) can be obtained using the derivatives of f_i.

The structure flag provides information about A_i's nonzero pattern (see MatStructure enum). If all matrices have the same pattern, then use SAME_NONZERO_PATTERN. If the patterns are different but contained in the pattern of the first one, then use SUBSET_NONZERO_PATTERN. If patterns are known to be different, use DIFFERENT_NONZERO_PATTERN. If set to UNKNOWN_NONZERO_PATTERN, the patterns will be compared to determine if they are equal.

This function must be called before NEPSetUp(). If it is called again after NEPSetUp() then the NEP object is reset.

See Also

NEPGetSplitOperatorTerm(), NEPGetSplitOperatorInfo(), NEPSetSplitPreconditioner()

Level

beginner

Location

src/nep/interface/nepbasic.c

Examples

src/nep/tutorials/ex22.c
src/nep/tutorials/ex22f.F90
src/nep/tutorials/ex27.c
src/nep/tutorials/ex27f.F90
src/nep/tutorials/ex42.c
src/nep/tutorials/nlevp/gun.c
src/nep/tutorials/nlevp/loaded_string.c


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