TaoLineSearchApply#

Performs a line-search in a given step direction. Criteria for acceptable step length depends on the line-search algorithm chosen

Synopsis#

#include "petsctaolinesearch.h" 
PetscErrorCode TaoLineSearchApply(TaoLineSearch ls, Vec x, PetscReal *f, Vec g, Vec s, PetscReal *steplength, TaoLineSearchConvergedReason *reason)

Collective

Input Parameters#

Output Parameters#

  • x - On input the current solution, on output x contains the new solution determined by the line search

  • f - On input the objective function value at current solution, on output contains the objective function value at new solution

  • g - On input the gradient evaluated at x, on output contains the gradient at new solution

  • steplength - scalar multiplier of s used ( x = x0 + steplength * x)

  • reason - TaoLineSearchConvergedReason reason why the line-search stopped

Notes#

The algorithm developer must set up the TaoLineSearch with calls to TaoLineSearchSetObjectiveRoutine() and TaoLineSearchSetGradientRoutine(), TaoLineSearchSetObjectiveAndGradientRoutine(), or TaoLineSearchUseTaoRoutines(). The latter is done automatically by default and thus requires no user input.

You may or may not need to follow this with a call to TaoAddLineSearchCounts(), depending on whether you want these evaluations to count toward the total function/gradient evaluations.

See Also#

TAO: Optimization Solvers, Tao, TaoLineSearchConvergedReason, TaoLineSearch, TaoLineSearchCreate(), TaoLineSearchSetType(), TaoLineSearchSetInitialStepLength(), TaoAddLineSearchCounts()

Level#

advanced

Location#

src/tao/linesearch/interface/taolinesearch.c

Implementations#

TaoLineSearchApply_Armijo in src/tao/linesearch/impls/armijo/armijo.c
TaoLineSearchApply_GPCG in src/tao/linesearch/impls/gpcglinesearch/gpcglinesearch.c
TaoLineSearchApply_MT in src/tao/linesearch/impls/morethuente/morethuente.c
TaoLineSearchApply_OWArmijo in src/tao/linesearch/impls/owarmijo/owarmijo.c
TaoLineSearchApply_Unit in src/tao/linesearch/impls/unit/unit.c


Edit on GitLab

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