Given a function coded in Fortran, GRAD produces Fortran code
to compute the derivatives with respect to specified variables
(i.e. the GRADient).
Derivatives are required in optimization, parameter estimation,
sensitivity analysis, and other problems. Often, handcoding of
analytical derivative computations is too laborious and errorprone,
and the use of finite difference approximations is too expensive
and/or inaccurate. Sometimes symbolic algebra packages can be
useful, but these are generally inadequate when the functions
to be differentiated are defined by computer programs containing
intermediate variables, loops, and conditionals. This is where
Automatic Differentiation comes in. GRAD is described in detail
in: Garcia, O. "A system for the differentiation of Fortran code
and an application to parameter estimation in forest growth models".
In A.Griewank and G.Corliss (Eds.) "Automatic Differentiation
of Algorithms: Theory, Implementation, and Application". SIAM,
1991.
(from the documentation)
