Finite Difference Approximations of Derivatives
The FD= and FDHESSIAN= options specify the use of finite difference
approximations of the derivatives. The FD= option specifies that
all derivatives are approximated using function evaluations, and the
FDHESSIAN= option specifies that second-order derivatives are
approximated using gradient evaluations.
Computing derivatives by finite difference approximations can be
very time consuming, especially for second-order derivatives based
only on values of the objective function (FD= option). If
analytical derivatives are difficult to obtain (for example, if a
function is computed by an iterative process), you might consider
one of the optimization techniques that uses first-order derivatives
only (QUANEW, DBLDOG, or CONGRA).
Forward Difference Approximations
The forward difference derivative approximations consume less
computer time, but they are usually not as precise as approximations
that use central difference formulas.
- For first-order derivatives, n additional function
calls are required:
- For second-order derivatives based on function calls only
(Dennis and Schnabel 1983, p. 80), n+n2/2 additional
function calls are required for dense Hessian:
- For second-order derivatives based on gradient calls
(Dennis and Schnabel 1983, p. 103),
n additional gradient calls are required:
Central Difference Approximations
Central difference approximations are usually more precise, but they
consume more computer time than approximations
that use forward difference derivative formulas.
- For first-order derivatives, 2n additional function
calls are required:
- For second-order derivatives based on function calls only
(Abramowitz and Stegun 1972, p. 884), 2n+4n2/2 additional
function calls are required.
- For second-order derivatives based on gradient calls,
2n additional gradient calls are required:
You can use the FDIGITS=
= option to specify the
number of accurate digits in the evaluation of the objective
function. This specification is helpful in determining an
appropriate interval size h to be used in the finite difference
formulas.
The step sizes hj, j = 1, ... ,n
are defined as follows.
- For the forward difference approximation of first-order
derivatives using function calls and second-order
derivatives using gradient calls,
.
- For the forward difference approximation of second-order
derivatives using only function calls and all
central difference formulas,
.
The value of is defined by the FDIGITS= option:
- If you specify the number of accurate digits using
FDIGITS=r, is set to 10-r.
- If you do not specify the FDIGITS= option, is set to the
machine precision .
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.