Skip to main content
`Ctrl`+`K`

# NEPNLEIGSSetSingularitiesFunction

Sets a user-defined callback function to compute a discretization of the singularity set (the values where \(T(\cdot)\) is not analytic).

## Synopsis

    #include "slepcnep.h"
    PetscErrorCode NEPNLEIGSSetSingularitiesFunction(NEP nep,NEPNLEIGSSingularitiesFn *fun,PetscCtx ctx)

Logically Collective

## Input Parameters

- nep - the nonlinear eigensolver context

- fun - user function (if `NULL` then `NEP` retains any previously set value)

- ctx - [optional] user-defined context for private data for the function (may be `NULL`, in which case `NEP` retains any previously set value)

## Notes

If the problem type has been set to `NEP_RATIONAL` with `NEPSetProblemType()`, then it is not necessary to set the singularities explicitly since the solver will try to determine them automatically.

If the problem is `NEP_GENERAL`, it is also possible to omit the singularities callback. In that case, a discretization of the singularity set is approximated via the AAA algorithm [Elsworth and Güttel, 2019, Nakatsukasa et al., 2018].

## References

[Els19]

S. Elsworth and S. Güttel. Conversions between barycentric, RKFUN, and Newton representations of rational interpolants. Linear Algebra Appl., 576:246–257, 2019. doi:10.1016/j.laa.2018.10.003.

[Nak18]

Y. Nakatsukasa, O. Sète, and L. N. Trefethen. The AAA algorithm for rational approximation. SIAM J. Sci. Comput., 40(3):A1494–A1522, 2018. doi:10.1137/16m1106122.

## See Also

NEP: Nonlinear Eigenvalue Problems, `NEPNLEIGS`, `NEPNLEIGSGetSingularitiesFunction()`, `NEPSetProblemType()`

## Level

intermediate

## Location

src/nep/impls/nleigs/nleigs.c

## Examples

src/nep/tutorials/ex27f.F90
src/nep/tutorials/ex27.c

## Implementations

NEPNLEIGSSetSingularitiesFunction_NLEIGS() in src/nep/impls/nleigs/nleigs.c

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