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,\dots,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). 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#
NEP: Nonlinear Eigenvalue Problems, NEPGetSplitOperatorTerm(), NEPGetSplitOperatorInfo(), NEPSetSplitPreconditioner()
Level#
beginner
Location#
Examples#
src/nep/tutorials/ex27.c
src/nep/tutorials/ex42.c
src/nep/tutorials/ex27f.F90
src/nep/tutorials/ex22f.F90
src/nep/tutorials/ex22.c
Index of all NEP routines Table of Contents for all manual pages Index of all manual pages