Skip to main content
`Ctrl`+`K`

# TaoSetObjective

Sets the function evaluation routine for minimization

## Synopsis

    #include "petsctao.h"
    PetscErrorCode TaoSetObjective(Tao tao, PetscErrorCode (*func)(Tao tao, Vec x, PetscReal *f, void *ctx), void *ctx)

Logically Collective

## Input Parameters

- tao - the `Tao` context

- func - the objective function

- ctx - [optional] user-defined context for private data for the function evaluation routine (may be `NULL`)

## Calling sequence of `func`

- tao - the optimizer

- x - input vector

- f - function value

- ctx - [optional] user-defined function context

## See Also

TAO: Optimization Solvers, `TaoSetGradient()`, `TaoSetHessian()`, `TaoSetObjectiveAndGradient()`, `TaoGetObjective()`

## Level

beginner

## Location

src/tao/interface/taosolver_fg.c

## Examples

src/tao/pde_constrained/tutorials/elliptic.c
src/tao/unconstrained/tutorials/minsurf2.c
src/tao/tutorials/ex4.c
src/tao/pde_constrained/tutorials/parabolic.c
src/tao/pde_constrained/tutorials/hyperbolic.c

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