zbMATH — the first resource for mathematics

Using programming language theory to make automatic differentiation sound and efficient. (English) Zbl 1156.68335
Bischof, Christian H. (ed.) et al., Advances in automatic differentiation. Selected papers based on the presentations at the 5th international conference on automatic differentiation, Bonn, Germany, August 11–15, 2008. Berlin: Springer (ISBN 978-3-540-68935-5/pbk). Lecture Notes in Computational Science and Engineering 64, 79-90 (2008).
Summary: This paper discusses a new Automatic Differentiation (AD) system that correctly and automatically accepts nested and dynamic use of the AD operators, without any manual intervention. The system is based on a new formulation of AD as highly generalized first-class citizens in a \(\lambda\)-calculus, which is briefly described. Because the \(\lambda\)-calculus is the basis for modern programming-language implementation techniques, integration of AD into the \(\lambda\)-calculus allows AD to be integrated into an aggressive compiler. We exhibit a research compiler which does this integration. Using novel analysis techniques, it accepts source code involving free use of a first-class forward AD operator and generates object code which attains numerical performance comparable to, or better than, the most aggressive existing AD systems.
For the entire collection see [Zbl 1143.65003].

68N18 Functional programming and lambda calculus
68W30 Symbolic computation and algebraic computation