petsc-3.14.5 2021-03-03
Report Typos and Errors

# TaoLineSearchSetGradientRoutine

Sets the gradient evaluation routine for the line search

### Synopsis

    #include "petsctaolinesearch.h"
    PetscErrorCode TaoLineSearchSetGradientRoutine(TaoLineSearch ls, PetscErrorCode(*func)(TaoLineSearch ls, Vec x, Vec g, void*), void *ctx)

Logically Collective on TaoLineSearch

### Input Parameter

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

### Calling sequence of func

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

| x | - input vector
| g | - gradient vector
| ctx (optional) user | - defined context

### Note

Use this routine only if you want the line search gradient evaluation routine to be different from the Tao's gradient evaluation routine. If you use this routine you must also set the line search function and/or function/gradient routine.

### Note

Some algorithms (lcl, gpcg) set their own gradient routine for the line search, application programmers should be wary of overriding the default gradient routine.

### See Also

TaoLineSearchCreate(), TaoLineSearchSetObjectiveRoutine(), TaoLineSearchSetObjectiveAndGradientRoutine(), 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