|
|
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:
|