int SNESSetLineSearch(SNES snes,int (*func)(SNES,Vec,Vec,Vec,Vec,Vec,
double,double*,double*,int*))
| snes | - nonlinear context obtained from SNESCreate() |
| func | - pointer to int function |
Collective on SNES
| SNESCubicLineSearch() | - default line search |
| SNESQuadraticLineSearch() | - quadratic line search |
| SNESNoLineSearch() | - the full Newton step (actually not a line search) |
| SNESNoLineSearchNoNorms() | - use the full Newton step (calculate no norms; faster in parallel) |
| -snes_eq_ls [basic,quadratic,cubic] | - Selects line search |
| -snes_eq_ls_alpha <alpha> | - Sets alpha |
| -snes_eq_ls_maxstep <max> | - Sets maxstep |
| -snes_eq_ls_steptol <steptol> | - Sets steptol |
func (SNES snes, Vec x, Vec f, Vec g, Vec y, Vec w,
double fnorm, double *ynorm, double *gnorm, *flag)
| 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 |
| 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 | - set to 0 if the line search succeeds; a nonzero integer on failure. |
Location: src/snes/impls/ls/ls.c
SNES Index
Table of Contents