Numerical recipes in C (2nd ed.): the art of scientific computing
Numerical recipes in C (2nd ed.): the art of scientific computing
Fast exact multiplication by the Hessian
Neural Computation
Reasoning about programs in continuation-passing style
Lisp and Symbolic Computation - Special issue on continuations—part I
A correspondence between continuation passing style and static single assignment form
IR '95 Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations
Algorithm 755: ADOL-C: a package for the automatic differentiation of algorithms written in C/C++
ACM Transactions on Mathematical Software (TOMS)
ACM SIGPLAN Notices
Functional differentiation of computer programs
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Evaluating derivatives: principles and techniques of algorithmic differentiation
Evaluating derivatives: principles and techniques of algorithmic differentiation
Automatic Differentiation of Computer Programs
ACM Transactions on Mathematical Software (TOMS)
A simple automatic derivative evaluation program
Communications of the ACM
Structure and interpretation of classical mechanics
Structure and interpretation of classical mechanics
Automatic differentiation of algorithms: from simulation to optimization
Automatic differentiation of algorithms: from simulation to optimization
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
Functional Differentiation of Computer Programs
Higher-Order and Symbolic Computation
Compiling fast partial derivatives of functions given by algorithms
Compiling fast partial derivatives of functions given by algorithms
Lazy multivariate higher-order forward-mode AD
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Nesting forward-mode AD in a functional framework
Higher-Order and Symbolic Computation
Automatic differentiation in ACL2
ITP'11 Proceedings of the Second international conference on Interactive theorem proving
A Simply Typed λ-Calculus of Forward Automatic Differentiation
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
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.