slepc-3.21.1 2024-04-26
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.

NEPGetSplitOperatorTerm(), NEPGetSplitOperatorInfo(), NEPSetSplitPreconditioner()

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