Reverse-mode AD in a functional framework

  • Pearlmutter B
  • Siskind J
N/ACitations
Citations of this article
6Readers
Mendeley users who have this article in their library.

Abstract

We show that reverse-mode AD (Automatic Differentiation)—a generalized gradient-calculation operator—can be incorporated as a first-class function in an augmented lambda calculus, and therefore into a functional-programming language. Closure is achieved, in that the new operator can be applied to any expression in the augmented language, yielding an expression in that language. This requires the resolution of two major technical issues: (a) how to transform nested lambda expressions, including those with free-variable references, and (b) how to support self application of the AD machinery. AD transformations preserve certain complexity properties, among them that the reverse phase of the reverse-mode AD transformation of a function have the same temporal complexity as the original untransformed function. First-class unrestricted AD operators increase the expressive power available to the numeric programmer, and may have significant practical implications for the construction of numeric software that is robust, modular, concise, correct, and efficient.

Cite

CITATION STYLE

APA

Pearlmutter, B. A., & Siskind, J. M. (2008). Reverse-mode AD in a functional framework. ACM Transactions on Programming Languages and Systems, 30(2), 1–36. https://doi.org/10.1145/1330017.1330018

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free