Skip to main content
`Ctrl`+`K`

# 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 linear eigensolver 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

EPS: Eigenvalue Problem Solver, `EPSPOWER`, `EPSPowerGetNonlinear()`, `EPSSetOperators()`

## Level

advanced

## Location

src/eps/impls/power/power.c

## Examples

src/eps/tutorials/ex34.c

## Implementations

EPSPowerSetNonlinear_Power() in src/eps/impls/power/power.c

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