The method SNES_EQ_NLS ( -snes_type ls) provides a line
search Newton method for solving systems of nonlinear equations. By
default, this technique employs cubic backtracking [4].
An alternative line search routine can be set with the command
ierr = SNESSetLineSearch(SNES snes, int (*ls)(SNES,Vec,Vec,Vec,Vec,double,double*,double*),void *lsctx);Other line search methods provided by PETSc are SNESQuadraticLineSearch(), SNESNoLineSearch(), and SNESNoLineSearchNoNorms(), which can be set with the option -snes_eq_ls [cubic, quadratic, basic, basicnonorms]. The line search routines involve several parameters, which are set to defaults that are reasonable for many applications. The user can override the defaults by using the options -snes_eq_ls_alpha <alpha>, -snes_eq_ls_maxstep <max>, and -snes_eq_ls_steptol <tol>.
The method SNES_UM_NLS ( -snes_type umls) provides a line search Newton method for solving unconstrained minimization problems. The default line search algorithm is taken from More and Thuente [15]. Again, the user can set a variety of parameters to control the line search; one should run a SNES program with the option -help for details. Users may write their own customized line search codes by modeling them after one of the defaults provided.