The C++ packages FADBAD and TADIFF
==================================
FADBAD and TADIFF are C++ packages for performing automatic differentiation
of functions implemented as C/C++ programs. Three types of automatic
differentiation has been implemented. The forward and the backward methods
are implemented in the package FADBAD and Taylor expansion is implemented in
the package TADIFF.
Both packages are very flexible in the way that the arithmetic used in the
packages can be chosen by the user. This way differentiation of programs,
based on any arithmetic such as: double, interval, multiprecision etc. is
possible. This flexibility also makes it possible to perform automatic
differentiation on a program which itself uses automatic differentiation.
All three methods can be mixed in an application and the user can obtain
derivatives using the most optimal combination of methods for the application.
Examples of tested applications:
1) Forward automatic differentiation on a function f : R^n->R^n, evaluated
in interval arithmetics, using the BIAS/PROFIL package, to obtain function
values and derivatives. Used with the interval Newton method to obtain
guarenteed enlosures of all solutions to the nonlinear equation f(x)=0.
2) Forward-Backward automatic differentiation on a function f : R^n->R,
evaluated in interval arithmetics, using the BIAS/PROFIL package and the
backward method to obtain first order derivatives (the gradient) and the
forward method to differentiate the first order derivatives to obtain the
second order derivatives (the Hessian). Used with the interval Krawczyk
method to perform global optimization obtaining a guarenteed enclosure of
the global minimum.
3) Numerical integration of a function f : RxR^n->R, using a
three-point-two-derivative formula. The Backward method has been used to
differentiate the Numerical integration program obtaining the n partial
derivatives of the integral with respect to the n parameters in the
function.
4) Taylor expansion of the solution to an ordinary differential equation,
used to solve initial value problems. The Forward method has been used to
differentiate the initial value problem solver to obtain the solution of
the variational problem.
5) Taylor expansion of the solution to an ordinary differential equation
using interval arithmetics and using the Forward method to obtain
derivatives of the Taylor coefficients with respect to the point of
expansion, which are the values of the Taylor coefficients for the
solution of the variational problem. Used in a method which solves initial
value problems with guaranteed enclosures.
More information about automatic differentiation in general and source code
for the packages FADBAD and TADIFF with documentation can be obtained from
the FADBAD-TADIFF homepage:
http://www.imm.dtu.dk/fadbad.html
With best regards
Claus Bendtsen (Claus.Bendtsen@uni-c.dk)
Ole Stauning (os@imm.dtu.dk)
This archive was generated by hypermail 2b29 : Wed Feb 20 2002 - 03:20:05 EST