petsc-3.7.7 2017-09-25
Report Typos and Errors

# TaoDefaultComputeGradient

computes the gradient using finite differences.

### Synopsis

    #include "petsctao.h"
    PetscErrorCode TaoDefaultComputeGradient(Tao tao,Vec X,Vec G,void *dummy)

Collective on Tao

### Input Parameters

| tao | - the Tao context
| X | - compute gradient at this point
| dummy | - not used

### Output Parameters

G -Gradient Vector

### Options Database Key

| -tao_fd_gradient | - Activates TaoDefaultComputeGradient()
| -tao_fd_delta <delta> | - change in x used to calculate finite differences

### Note

This routine is slow and expensive, and is not currently optimized to take advantage of sparsity in the problem. Although TaoAppDefaultComputeGradient is not recommended for general use in large-scale applications, It can be useful in checking the correctness of a user-provided gradient. Use the tao method TAOTEST to get an indication of whether your gradient is correct.

### Note

This finite difference gradient evaluation can be set using the routine TaoSetGradientRoutine() or by using the command line option -tao_fd_gradient

### See Also

TaoSetGradientRoutine()

Level:advanced
Location:src/tao/interface/fdiff.c
Index of all Tao routines
Table of Contents for all manual pages
Index of all manual pages