OON: FADBAD-TADIFF, automatic differentiation in C++

From: Ole Stauning Ph.d 94-0086-011(NI) (os@serv1.imm.dtu.dk)
Date: Tue Apr 22 1997 - 06:16:59 EST


 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