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