Skip to main content
`Ctrl`+`K`

# SNESLineSearchType

String with the name of a PETSc line search method `SNESLineSearch`

## Synopsis

    typedef const char *SNESLineSearchType;
    #define SNESLINESEARCHBT        "bt"
    #define SNESLINESEARCHNLEQERR   "nleqerr"
    #define SNESLINESEARCHBASIC     "basic"
    #define SNESLINESEARCHNONE      "none"
    #define SNESLINESEARCHL2        "l2"
    #define SNESLINESEARCHCP        "cp"
    #define SNESLINESEARCHSHELL     "shell"
    #define SNESLINESEARCHNCGLINEAR "ncglinear"

## Values

- `SNESLINESEARCHBASIC` - (or equivalently `SNESLINESEARCHNONE`) Simple damping line search, defaults to using the full Newton step

- `SNESLINESEARCHBT` - Backtracking line search over the L2 norm of the function

- `SNESLINESEARCHL2` - Secant line search over the L2 norm of the function

- `SNESLINESEARCHCP` - Critical point secant line search assuming F(x) = grad G(x) for some unknown G(x)

- `SNESLINESEARCHNLEQERR` - Affine-covariant error-oriented linesearch

- `SNESLINESEARCHSHELL` - User provided `SNESLineSearch` implementation

## See Also

SNES: Nonlinear Solvers, `SNESLineSearch`, `SNESLineSearchSetType()`, `SNES`

## Level

beginner

## Location

include/petscsnes.h

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