TaoGetObjectiveAndGradient#

Gets the combined objective function and gradient evaluation routine for the function to be optimized

Synopsis#

#include "petsctao.h" 
PetscErrorCode TaoGetObjectiveAndGradient(Tao tao, Vec *g, PetscErrorCode (**func)(Tao, Vec, PetscReal *, Vec, void *), void **ctx)

Not Collective

Input Parameter#

  • tao - the Tao context

Output Parameters#

  • g - the vector to internally hold the gradient computation

  • func - the gradient function

  • ctx - user-defined context for private data for the gradient evaluation routine

Calling sequence of func#

PetscErrorCode func(Tao tao, Vec x, PetscReal *f, Vec g, void *ctx);
  • tao - the optimizer

  • x - input vector

  • f - objective value (output)

  • g - gradient value (output)

  • ctx - [optional] user-defined function context

See Also#

TAO: Optimization Solvers, Tao, TaoSolve(), TaoSetObjective(), TaoSetGradient(), TaoSetHessian(), TaoSetObjectiveAndGradient()

Level#

beginner

Location#

src/tao/interface/taosolver_fg.c


Edit on GitLab

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