Algorithm 984

Abstract

A toolbox called ADiGator is described for algorithmically differentiating mathematical functions in MATLAB. ADiGator performs source transformation via operator overloading using forward mode algorithmic differentiation and produces a file that can be evaluated to obtain the derivative of the original function at a numeric value of the input. A convenient by-product of the file generation is the sparsity pattern of the derivative function. Moreover, because both the input and output to the algorithm are source codes, the algorithm may be applied recursively to generate derivatives of any order. A key component of the algorithm is its ability to statically exploit derivative sparsity at the MATLAB operation level to improve runtime performance. The algorithm is applied to four different classes of example problems and is shown to produce runtime efficient derivative code. Due to the static nature of the approach, the algorithm is well suited and intended for use with problems requiring many repeated derivative computations.

Document Details

Document Type
Pub Defense Publication
Publication Date
Aug 29, 2017
Source ID
10.1145/3104990

Entities

People

  • Anil V. Rao
  • Matthew J. Weinstein

Organizations

  • Air Force Research Laboratory
  • Defense Advanced Research Projects Agency
  • National Science Foundation
  • Office of Naval Research
  • University of Florida

Tags

Fields of Study

  • Computer science

Readers

  • Approximation Theory.
  • Computer Vision.
  • Parallel and Distributed Computing.