slepc-3.19.2 2023-09-05
Report Typos and Errors

# EPSPowerSetNonlinear

Sets a flag to indicate that the problem is nonlinear.

### Synopsis

    #include "slepceps.h"
    PetscErrorCode EPSPowerSetNonlinear(EPS eps,PetscBool nonlinear)

Logically Collective

### Input Parameters

| eps | - the eigenproblem solver context
| nonlinear | - whether the problem is nonlinear or not

### Options Database Key

| -eps_power_nonlinear | - Sets the nonlinear flag

### Notes

If this flag is set, the solver assumes that the problem is nonlinear, that is, the operators that define the eigenproblem are not constant matrices, but depend on the eigenvector, A(x)*x=lambda*B(x)*x. This is different from the case of nonlinearity with respect to the eigenvalue (use the NEP solver class for this kind of problems).

The way in which nonlinear operators are specified is very similar to the case of PETSc's SNES solver. The difference is that the callback functions are provided via composed functions "formFunction" and "formJacobian" in each of the matrix objects passed as arguments of EPSSetOperators(). The application context required for these functions can be attached via a composed PetscContainer.

### See Also

EPSPowerGetNonlinear(), EPSSetOperators()

### Level

advanced

### Location

src/eps/impls/power/power.c

### Examples

src/eps/tutorials/ex34.c
Index of all EPS routines
Table of Contents for all manual pages
Index of all manual pages