petsc-3.7.1 2016-05-15
Report Typos and Errors

# 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 on TaoLineSearch Many br

### Input Parameter

| ls | - the TaoLineSearch context Many br
| func | - the objective and gradient evaluation routine Many br
| ctx | - the (optional) user-defined context for private data Many br

### Calling sequence of func

         func (TaoLinesearch ls, Vec x, PetscReal *f, Vec g, void *ctx);

| x | - input vector Many br
| f | - function value Many br
| g | - gradient vector Many br
| ctx (optional) user | - defined context Many br

Many br

### Note

Use this routine only if you want the line search objective and gradient Many brevaluation routines to be different from the Tao's objective Many brand gradient evaluation routines. Many br

### Note

Some algorithms (lcl, gpcg) set their own objective routine for the Many brline search, application programmers should be wary of overriding the Many brdefault objective routine. Many br

### See Also

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

Level:beginner
Location:src/tao/linesearch/interface/taolinesearch.c
Index of all TaoLineSearch routines
Table of Contents for all manual pages
Index of all manual pages