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 tao, Vec x, PetscReal *f, Vec g, PetscCtx ctx), PetscCtxRt ctx)
Not Collective
Input Parameter#
tao - the
Taocontext
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#
tao - the optimizer
x - input vector
f - objective value (output)
g - gradient value (output)
ctx - [optional] user-defined function context
Note#
In addition to specifying an objective function using callbacks such as
TaoSetObjectiveAndGradient(), users can specify
objective functions with TaoAddTerm().
TaoGetObjectiveAndGradient() will always return the callback specified with
TaoSetObjectiveAndGradient(), even if the objective function has been changed by
calling TaoAddTerm().
See Also#
TAO: Optimization Solvers, Tao, TaoSolve(), TaoSetObjective(), TaoSetGradient(), TaoSetHessian(), TaoSetObjectiveAndGradient()
Level#
beginner
Location#
src/tao/interface/taosolver_fg.c
Index of all Tao routines
Table of Contents for all manual pages
Index of all manual pages