Beautiful Differentiation

被引:7
作者
Elliott, Conal M.
机构
关键词
Algorithms; Design; Theory; Automatic differentiation; program derivation;
D O I
10.1145/1631687.1596579
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Automatic differentiation (AD) is a precise, efficient, and convenient method for computing derivatives of functions. Its forward-mode implementation can be quite simple even when extended to compute all of the higher-order derivatives as well. The higher-dimensional case has also been tackled, though with extra complexity. This paper develops an implementation of higher-dimensional, higher-order, forward-mode AD in the extremely general and elegant setting of calculus on manifolds and derives that implementation from a simple and precise specification. In order to motivate and discover the implementation, the paper poses the question "What does AD mean, independently of implementation?" An answer arises in the form of naturality of sampling a function and its derivative. Automatic differentiation flows out of this naturality condition, together with the chain rule. Graduating from first-order to higher-order AD corresponds to sampling all derivatives instead of just one. Next, the setting is expanded to arbitrary vector spaces, in which derivative values are linear maps. The specification of AD adapts to this elegant and very general setting, which even simplifies the development.
引用
收藏
页码:191 / 202
页数:12
相关论文
共 17 条
[1]   Associated type synonyms [J].
Chakravarty, MMT ;
Keller, G ;
Jones, SP .
ACM SIGPLAN NOTICES, 2005, 40 (09) :241-253
[2]  
Elliott C., 2009, P HASK S
[3]  
Elliott C., 2009, 200901 LAMBDAPIX
[4]  
ELLIOTT C, 2009, 200902 LAMBDAPIX
[5]  
FOUTZ J, 2008, BLOG POST FEB
[6]  
HINZE R, 2000, J FUNCTIONAL PROGRAM, V10, P327
[7]   The generic approximation lemma [J].
Hutton, G ;
Gibbons, J .
INFORMATION PROCESSING LETTERS, 2001, 79 (04) :197-201
[8]  
JONES SP, 2001, HASK WORKSH ACM SIGP
[9]  
KARCZMARCZUK J, 2001, HIGHER ORDER SYMBOLI, V14
[10]  
Karczmarczuk Jerzy, 1999, SCOTT WORKSH FUNCT P