Next: IMAS
Up: Contents
Previous: AD01
ADOL-F: Automatic Differentiation of FORTRAN Codes
this page from Dresden (Germany) with local links
Synopsis:
ADOL-F is a FORTRAN 90 interface to the
ADOL-C library and
uses operator overloading for the evaluation of
arbitrary order derivatives of vector functions that are defined
by computer programs written in FORTRAN 90/77.
The package provides
various drivers for the derivative evaluation by
forward and reverse mode, drivers for common optimization tasks and ODEs.
WHOM TO CONTACT:
Dmitri Shiriaev |
dima@math.tu-dresden.de
Institute of Scientific Computing,
Technical University Dresden
D-01062 Dresden, Germany
Tel. : +49 351 463-2796
Tel./Fax (Home): +49 351 2529139
DOCUMENTATION:
FUNCTIONALITY:
ADOL-F uses the operator overloading concept to compute
for a function that is given as a FORTRAN code
in forward and reverse mode:
- derivatives of any order
- and one-sided derivatives in nonsmooth cases (ABS)
ADOL--F utilizes overloading in FORTRAN 90, but
one can continue to write FORTRAN programs according to the earlier standard,
because
all standard conforming FORTRAN 77 programs remain standard conforming
FORTRAN 90 programs.
The user has to make a few modifications to the evaluation code:
- redeclare the type of all variables
that are involved in the evaluation code (active variables)
to the new type A_REAL,
- mark the evaluation section,
- specify independent and dependent variables and pass their values,
- recompile the code and link the ADOL-F modules and library.
All arithmetic operations, as well as the
comparison and assignment operators, are overloaded, so any or all of
their operands can be an active variable.
Most intrinsic mathematical functions are overloaded for active arguments.
ADOL-F provides
- convenient drivers for the common optimization tasks,
- application oriented drivers,
The operator overloading is used to produce the tape,
an internal representation
of a part of the code between two active section markers. For each
operation on the tape
-- in the forward mode, truncated Taylor series are propagated,
or
-- in the reverse mode, the corresponding adjoint operations are
performed on the adjoint variables.
Instead of calling the routines for the forward and reverse mode directly
one may apply appropriate drivers (left column)
to get the desired derivatives (right column).
(parameter tag identifies the current tape)
for
:

for


Storage and runtime requirements are clearly predictable. The tape
is transferred to external mass storage devices and accessed strictly
sequentially. The much smaller randomly accessed memory
can be precalculated using information on the tape.
AVAILABILITY:
ADOL-F is available free of charge
(for IBM RS/6000 right now). Versions for other platforms are under preparation and are available on request.
Next: IMAS
Up: Contents
Previous: AD01