An efficient overloaded implementation of forward mode automatic differentiation in MATLAB

@article{Forth2006AnEO,
  title={An efficient overloaded implementation of forward mode automatic differentiation in MATLAB},
  author={Shaun A. Forth},
  journal={ACM Trans. Math. Softw.},
  year={2006},
  volume={32},
  pages={195-222}
}
  • S. Forth
  • Published 1 June 2006
  • Mathematics, Computer Science
  • ACM Trans. Math. Softw.
The Mad package described here facilitates the evaluation of first derivatives of multidimensional functions that are defined by computer codes written in MATLAB. The underlying algorithm is the well-known forward mode of automatic differentiation implemented via operator overloading on variables of the class fmad. The main distinguishing feature of this MATLAB implementation is the separation of the linear combination of derivative vectors into a separate derivative vector class derivvec. This… Expand
An efficient overloaded method for computing derivatives of mathematical functions in MATLAB
TLDR
An object-oriented method is presented that computes without truncation the error derivatives of functions defined by MATLAB computer codes and has the feature that the derivatives are generated by simply evaluating the function on an instance of the class, thus making the method straightforward to use while simultaneously enabling differentiation of highly complex functions. Expand
A Source Transformation via Operator Overloading Method for the Automatic Differentiation of Mathematical Functions in MATLAB
TLDR
A source transformation via operator overloading method is presented for computing derivatives of mathematical functions defined by MATLAB computer programs and is found to be highly efficient when compared to well-known MATLAB automatic differentiation programs. Expand
Transformation for MATLAB Automatic Differentiation
This report describes MSAD, a tool that applies source transformation automatic differentiation to MATLAB programs involving arbitrary vector-valued functions. The transformed programs compute bothExpand
Introduction to Automatic Differentiation and MATLAB
TLDR
A survey of more advanced topics in automatic differentiation includes an introduction to the reverse mode (the authors' implementation is forward mode) and considerations in arbitrary-order multivariable series computation. Expand
Algorithm 984
TLDR
A toolbox for algorithmically differentiating mathematical functions in MATLAB and its ability to statically exploit derivative sparsity at the MATLAB operation level to improve runtime performance is described. Expand
A sparse matrix approach to reverse mode automatic differentiation in Matlab
TLDR
A Matlab operator overloaded approach is detailed to construct the extended Jacobian that enables the function Jacobian to be computed using Matlab’s sparse matrix operations and the ratio of gradient to function cpu time is seen to be bounded, if not decreasing, in line with Griewank and Walther's cheap gradient principle. Expand
Introduction to Automatic Differentiation and MATLAB Object-Oriented Programming
TLDR
A survey of more advanced topics in automatic differentiation includes an introduction to the reverse mode (the authors' implementation is forward mode) and considerations in arbitrary-order multivariable series computation. Expand
Implementation of sparse forward mode automatic differentiation with application to electromagnetic shape optimization
TLDR
It is shown that the use of the sparse forward mode can save computation time even though the total number of independent variables in this example is quite small, and numerical solution of an electromagnetic shape optimization problem is presented. Expand
Accurate numerical derivatives in MATLAB
TLDR
The development of a CSD package in MATLAB called PMAD is described, which has a fast option for the expert that implements CSD as in previous work and the default is an object-oriented implementation that asks very little of the user. Expand
Automatic Differentiation of the General-Purpose Computational Fluid Dynamics Package FLUENT
TLDR
It is shown that automatic differentiation is not only applicable to small academic codes, but scales to advanced industrial software packages, in particular, the general-purpose computational fluid dynamics software package FLUENT is transformed by automatic differentiation. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 80 REFERENCES
High-Level Interfaces for the MAD (Matlab Automatic Differentiation) Package.
TLDR
This paper presents the implementation of high-level interfaces allowing users to utilise MAD in conjunction with stiff ODE solvers and numerical optimization routines, and demonstrates the ease and utility of this approach via several examples. Expand
User guide for mad---a matlab automatic differentiation toolbox
TLDR
This user guide covers installation of Mad on UNIX and PC platforms, use of high-level interfaces for solving ODEs and optimization problems outside of the TOMLAB framework, and basic and advanced use of the forward mode of automatic differentiation. Expand
User Guide for MAD - A Matlab Automatic Differentiation Package, TOMLAB/MAD,Version 1.4 The Forward Mode.
TLDR
This user guide covers installation of Mad on UNIX and PC platforms, use of high-level interfaces for solving ODEs and optimization problems outside of the TOMLAB framework, and basic and advanced use of the forward mode of automatic differentiation. Expand
Automatic differentiation for MATLAB programs
TLDR
These two AD tools provide derivatives for programs written in the MATLAB language, which is widely used for prototype and production software in scientific and engineering applications, while ADMIT/ADMAT implements a pure operator overloading approach of AD, ADiMat also employes source transformation techniques. Expand
ADMAT : Automatic differentiation in MATLAB using object oriented methods ∗
Differentiation is one of the fundamental problems in numerical mathematics. The solution of many optimization problems and other applications require knowledge of the gradient, the Jacobian matrix,Expand
Automatic differentiation in MATLAB
Abstract Automatic differentiation is a chain rule based technique for derivative evaluation introduced by Wengert (1964) (see also Wilkins (1964)) and further developed by Rall (1980, 1981, 1983).Expand
Combining source transformation and operator overloading techniques to compute derivatives for MATLAB programs
TLDR
A novel software tool is proposed to automatically transform a given MATLAB program into another MATLab program capable of computing not only the original function but also user-specified derivatives of that function. Expand
ADMIT-1: automatic differentiation and MATLAB interface toolbox
TLDR
This article provides an introduction to the design and usage of ADMIT-1, a generic automatic differentiation tool that enables the computation of sparse Jacobian and Hessian matrices from a MATLAB environment. Expand
Evaluating derivatives - principles and techniques of algorithmic differentiation, Second Edition
TLDR
This second edition has been updated and expanded to cover recent developments in applications and theory, including an elegant NP completeness argument by Uwe Naumann and a brief introduction to scarcity, a generalization of sparsity. Expand
On the calculation of Jacobian matrices by the Markowitz rule
The evaluation of derivative vectors can be performed with optimal computational complexity by the forward or reverse mode of automatic differentiation. This approach may be applied to evaluate firstExpand
...
1
2
3
4
5
...