Logo SC Logo RWTH Aachen University

Teaching
Research
Publications
People
Theses
Jobs
Address
Talks
Previous Highlights
Events

ADiMat: Automatic Differentiation of MATLAB

ADiMat Home
Contact
Related
Example

General

ADiMat is a software tool implementing the technology of automatic differentiation (AD) to programs written in MATLAB which is a trademark of The Mathworks, Inc. ADiMat is based on a source transformation approach. That is, it transforms a given MATLAB code for the evaluation of some mathematical function into a new MATLAB code for the evaluation of user-specified derivatives of that function.

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),
  • reverse mode of AD, first order
  • most MATLAB 6.5 language features recognized,
  • library of derivatives of function built into MATLAB,
  • implements a class to compute derivatives in vector mode, and
  • code optimization of augmented code.

Current limitations:

The MATLAB code to be differentiated has to fullfill some prerequisites:

  • No classes are allowed, i.e., ADiMat can not recognize MATLAB classes like the classes of the symbolic toolbox.
  • No eval() statement is allowed; the comand eval() evaluates a string of MATLAB instructions. The string may be composed at runtime so that its actual value is therefore not available at transformation time.
  • Some I/O functions (load, save, fscanf,...) are not completely supported and are flagged.
Besides the first item, all of the other restrictions can easily be circumvented by rewriting the corresponding code fragments. Do not hesitate to transform a code involving some of these 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.

Availability:

ADiMat consists of two parts, a code transformation server and a runtime environment. The transformation server can be visited and used interactively at https://adimat.sc.rwth-aachen.de/.

A binary only version of the runtime environment may be obtained free of charge by downloading it from https://adimat.sc.rwth-aachen.de/download/. Currently, builds for architectures Linux x86_64 (GLNXA64), Win32 (PCWIN) and Win64 (PCWIN64) are available.

Referencing ADiMat:

  • C. H. Bischof, H. M. Bücker, B. Lang, A. Rasch, A. Vehreschild: Combining Source Transformation and Operator Overloading Techniques to Compute Derivatives for MATLAB Programs, Conference proceeding, Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2002), IEEE Computer Society, 2002.
The corresponding BibTeX entry includes a direct link to the electronic version in its doi field.

More information:

For some more information on ADiMat and how to use it you may read:


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