A. Griewank et al., ALGORITHM-755 - ADOL-C - A PACKAGE FOR THE AUTOMATIC DIFFERENTIATION OF ALGORITHMS WRITTEN IN C C++/, ACM transactions on mathematical software, 22(2), 1996, pp. 131-167
The C++ package ADOL-C described here facilitates the evaluation of fi
rst and higher derivatives of vector functions that are defined by com
puter programs written in C or C++. The resulting derivative evaluatio
n routines may be called from C/C++, Fortran, or any other language th
at can be linked with C. The numerical values of derivative vectors ar
e obtained free of truncation errors at a small multiple of the run-ti
me and randomly accessed memory of the given function evaluation progr
am. Derivative matrices are obtained by columns or rows. For solution
curves defined by ordinary differential equations, special routines ar
e provided that evaluate the Taylor coefficient vectors and their Jaco
bians with respect to the current state vector. The derivative calcula
tions involve a possibly substantial (but always predictable) amount o
f data that are accessed strictly sequentially and are therefore autom
atically paged out to external files.