DAAppSetObjectiveAndGradientRoutine
Set a routine that will evaluate the objective and gradient functions on the given DA at the given point.
Synopsis
#include "taodaapplication.h"
int DAAppSetObjectiveAndGradientRoutine(TAO_APPLICATION daapplication, int (*funcgrad)(TAO_APPLICATION,DA,Vec,double*,Vec, void*),void *ctx)
Collective on TAO_APPLICATION
Input Parameters
| daapplication | - the DA Application object
|
| grad | - the function pointer for the gradient evaluation routine
|
| ctx | - the function-gradient context
|
Calling sequence of funcgrad
funcgrad(TAO_APPLICATION daapplication,DA da, Vec x,double *f,Vec g,void *ctx);
| daapplication | - the TAO_APPLICATION daapplication context
|
| da | - the Distributed Array
|
| x | - input vector
|
| f | - objective value
|
| g | - gradient vector
|
| ctx | - user defined function-gradient context set from DAAppSetObjectiveAndGradientRoutine()
|
Fortran Note
If your Fortran compiler does not recognize symbols over 31 characters in length, then
use the identical routine with the shortened name DAAppSetObjectiveAndGradientRou()
Options Database Key
-tao_view_gradient -view the gradient after each evaluation using PETSC_VIEWER_STDOUT_SELF
Keywords
DA, Gradient, Objective Function
See Also
DAAppSetObjectiveRoutine(), DAAppSetGradientRoutine();
Level:beginner
Location:src/petsctao/gridapplication/interface/daapp.c
TAO DA Application Index
Table of Contents
Examples
src/petsctao/gridapplication/examples/eptorsion3.c.html
Examples
src/petsctao/gridapplication/examples/jbearing3.c.html
Examples
src/petsctao/gridapplication/examples/minsurf3.c.html
Examples
src/petsctao/gridapplication/examples/combustion3.c.html