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#
ls - the
TaoLineSearchcontexts - search direction
Output Parameters#
x - On input the current solution, on output
xcontains the new solution determined by the line searchf - 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 solutionsteplength - scalar multiplier of s used ( x = x0 + steplength * x)
reason -
TaoLineSearchConvergedReasonreason 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#
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
Index of all TaoLineSearch routines
Table of Contents for all manual pages
Index of all manual pages