An efficient overloaded implementation of forward mode automatic differentiation in MATLAB

  • Authors:
  • Shaun A. Forth

  • Affiliations:
  • Cranfield University, Swindon, UK

  • Venue:
  • ACM Transactions on Mathematical Software (TOMS)
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 allows for the straightforward performance optimization of the overall package. Additionally, by internally using a matrix (two-dimensional) representation of arbitrary dimension directional derivatives, we may utilize MATLAB's sparse matrix class to propagate sparse directional derivatives for MATLAB code which uses arbitrary dimension arrays. On several examples, the package is shown to be more efficient than Verma's ADMAT package [Verma 1998a].