SNESCubicLineSearch

Performs a cubic line search (default line search method).

Synopsis

int SNESCubicLineSearch(SNES snes,Vec x,Vec f,Vec g,Vec y,Vec w,
                        double fnorm,double *ynorm,double *gnorm,int *flag)
Collective on SNES

Input Parameters

snes - nonlinear context
x - current iterate
f - residual evaluated at x
y - search direction (contains new iterate on output)
w - work vector
fnorm - 2-norm of f

Output Parameters

g - residual evaluated at new iterate y
y - new iterate (contains search direction on input)
gnorm - 2-norm of g
ynorm - 2-norm of search length
flag - 0 if line search succeeds; -1 on failure.

Options Database Key

 -snes_eq_ls cubic - Activates SNESCubicLineSearch()

Notes

This line search is taken from "Numerical Methods for UnconstrainedOptimization and Nonlinear Equations" by Dennis and Schnabel, page 325.

Keywords

SNES, nonlinear, line search, cubic

See Also

SNESNoLineSearch(), SNESNoLineSearch(), SNESSetLineSearch()

Location: src/snes/impls/ls/ls.c
SNES Index
Table of Contents