petscmaster 20200117
TaoDefaultComputeGradient
computes the gradient using finite differences.
Synopsis
#include "petsctao.h"
PetscErrorCode TaoDefaultComputeGradient(Tao tao,Vec Xin,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

Notes
This routine is slow and expensive, and is not currently optimized
to take advantage of sparsity in the problem. Although
TaoDefaultComputeGradient is not recommended for general use
in largescale applications, It can be useful in checking the
correctness of a userprovided gradient. Use the tao method TAOTEST
to get an indication of whether your gradient is correct.
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