Logo SC Logo RWTH Aachen University

Teaching
Research
Publications
People
Theses
Jobs
Address
Talks
Previous Highlights
Events

Official Homepage of ADiMat

[an error occurred while processing this directive]

Welcome to the homepage of ADiMat.

The purpose of ADiMat is to apply automatic differentiation (AD) concepts to MATLAB codes. The tool uses the source transformation approach to augment MATLAB codes (MATLAB is a trademark of The Mathworks, Inc.).

The list of currently implemented features:

  • forward mode of AD,
  • first order derivative computation,
  • second order derivative computation in one pass (includes first order derivative computation),
  • most MATLAB 6.5 language features recognized,
  • library of derivatives of function built into MATLAB,
  • implements a MATLAB class to compute derivatives, and
  • code optimization of augmented code.

News:

  • Sep 22, 2005: Example enhanced.
  • Jun 16, 2005: New version 0.4-r8. Minor bugfixes.
  • Apr 01, 2005: The problem in the setup on Win32-systems and Matlab 7+ R14 is resolved.
  • Nov 11, 2004: The problem is found and removed. Executable for popular plattforms will be available shortly.
  • Oct 08, 2004: Please use MATLAB 6 or 6.5 with ADiMat. For MATLAB 7 (R14) a problem was found in the derivative class.
  • May 27, 2004: Partial support for load and save commands added.
  • May 06, 2004: Life time analysis of temporary objects added.
  • Apr 30, 2004: Derived new runtime class from basic derivative class to exploit sparsity of derivatives.
  • Apr 20, 2004: Example added.
  • Apr 20, 2004: Current version 0.3 (beta).

Status:

The software is currently under development. New features are added constantly and bugs are removed. Some small samples (~200 lines of code) have been differentiated successfully and the computed derivatives have been checked. Because of the beta status ADiMat is not publicly available. If you have code to differentiate, then please contact Andre Vehreschild.

Prerequisites:

The MATLAB code to differentiate has to fullfill some prerequisites:

  • No classes allowed, i.e., ADiMat can not recognize MATLAB classes like the classes of the symbolic toolbox.
  • No eval() allowed; eval() evaluates a string of MATLAB instructions. The string may be composed at runtime and is not analysable.
  • Some I/O functions (load, save, fscanf,...) are not completely supported and are flagged. The code may be differentiated nevertheless, but manual tuning may be needed in some cases.
  • Utterly sophisticated use of varargin and varargout concept may need manually tuning.
Besides the first item, all of the other restrictions can easily be circumvented by rewriting the corresponding code fragments. Do not hesitate to drop in a code, that uses some of this concepts. We will do our best to help you.

Licensing:

The software is copyright and property of its authors at the Institute for Scientific Computing, RWTH Aachen University, Germany.
The license is currently under discussion. Stay tuned for recent developments.

Availability:

A binary only version (Linux, Solaris, or Win32) may be obtained for noncommercial projects free of charge. Obtaining the software is possible under certain terms. Contact: Andre Vehreschild. If you like to obtain the software, please state your affiliation, the project for which you would like to use ADiMat, and the computer plattform for which you like to obtain ADiMat. Currently Linux ix86 static built (lnx86), Win32 with setup (w32), Win32 without setup (w32w/o) (you need to know what you are doing!!!), and Sun Solaris 9 static (sun9s) builts are available.
Because of the ongoing development the sources are not available.


RWTH Aachen
Computer Science
Scientific Computing
Computational Engineering
Center for Computing and Communication
Last modified: 27.05.2009, webmaster@sc.rwth-aachen.de, Impressum, Disclaimer