# SNESLineSearchNoNorms

This routine is not a line search at all; it simply uses the full Newton step. This version does not even compute the norm of the function or search direction; this is intended only when you know the full step is fine and are not checking for convergence of the nonlinear iteration (for example, you are running always for a fixed number of Newton steps).

### Synopsis

    PetscErrorCode PETSCSNES_DLLEXPORT SNESLineSearchNoNorms(SNES snes,void *lsctx,Vec x,Vec f,Vec g,Vec y,Vec w,PetscReal fnorm,PetscReal *ynorm,PetscReal *gnorm,PetscTruth *flag)

Collective on SNES and Vec

### Input Parameters

| snes | - nonlinear context
| lsctx | - optional context for line search (not used here)
| x | - current iterate
| f | - residual evaluated at x
| y | - search direction
| w | - work vector
| fnorm | - 2-norm of f

### Output Parameters

| g | - residual evaluated at new iterate y
| w | - new iterate
| gnorm | - not changed
| ynorm | - not changed
| flag | - set to PETSC_TRUE indicating a successful line search

### Options Database Key

-snes_ls basicnonorms -Activates SNESLineSearchNoNorms()

### Notes

SNESLineSearchNoNorms() must be used in conjunction with either the options

        -snes_no_convergence_test -snes_max_it <its>

or alternatively a user-defined custom test set via SNESSetConvergenceTest(); or a -snes_max_it of 1, otherwise, the SNES solver will generate an error.

During the final iteration this will not evaluate the function at the solution point. This is to save a function evaluation while using pseudo-timestepping.

The residual norms printed by monitoring routines such as SNESMonitorDefault() (as activated via -snes_monitor) will not be correct, since they are not computed.

### Keywords

SNES, nonlinear, line search, cubic

### See Also

SNESLineSearchCubic(), SNESLineSearchQuadratic(),
SNESLineSearchSet(), SNESLineSearchNo()

Level:advanced
Location: src/snes/impls/ls/ls.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages