TaoLineSearchSetObjectiveAndGradientRoutine#

Sets the objective/gradient evaluation routine for the line search

Synopsis#

#include "petsctaolinesearch.h" 
PetscErrorCode TaoLineSearchSetObjectiveAndGradientRoutine(TaoLineSearch ls, PetscErrorCode (*func)(TaoLineSearch ls, Vec x, PetscReal *, Vec g, void *), void *ctx)

Logically Collective

Input Parameters#

  • ls - the TaoLineSearch context

  • func - the objective and gradient evaluation routine

  • ctx - the (optional) user-defined context for private data

Calling sequence of func#

func (TaoLinesearch ls, Vec x, PetscReal *f, Vec g, void *ctx);
  • x - input vector

  • f - function value

  • g - gradient vector

  • ctx (optional) user- defined context

Note#

Use this routine only if you want the line search objective and gradient evaluation routines to be different from the Tao’s objective and gradient evaluation routines.

Note#

Some algorithms (lcl, gpcg) set their own objective routine for the line search, application programmers should be wary of overriding the default objective routine.

See Also#

TaoLineSearchCreate(), TaoLineSearchSetObjectiveRoutine(), TaoLineSearchSetGradientRoutine(), TaoLineSearchUseTaoRoutines()

Level#

beginner

Location#

src/tao/linesearch/interface/taolinesearch.c


Edit on GitLab

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