Math Archives Homepage

Automatic Differentiation of Fortran programs

Dr. Oscar Garcia
Instituto Forestal
Huerfanos 554
Santiago, Chile
ogarcia@uchcecvm.bitnet

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, hand-coding of analytical derivative computations is too laborious and error-prone, 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)
Download grad.zip [117 KB].

Look at the readme file from the program.