NUI Maynooth

NUI Maynooth ePrints and eTheses Archive

NUIM Library

Perturbation Confusion and Referential Transparency: Correct Functional Implementation of Forward-Mode AD

Siskind , Jeffrey Mark and Pearlmutter, Barak A. (2005) Perturbation Confusion and Referential Transparency: Correct Functional Implementation of Forward-Mode AD. In: 17th International Workshop, IFL'05 (2005).

[img]PDF - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
89Kb

Abstract

It is tempting to incorporate dierentiation operators into functional-programming languages. Making them rst-class citizens, however, is an enterprise fraught with danger. We discuss a potential problem with forward-mode AD common to many AD systems, including all attempts to integrate a forward-mode AD operator into Haskell. In particular, we show how these implementations fail to preserve referential transparency, and can compute grossly incorrect results when the dierentiation operator is applied to a function that itself uses that operator. The underlying cause of this problem is perturbation confusion, a failure to distinguish between distinct perturbations introduced by distinct invocations of the dierentiation operator. We then discuss how perturbation confusion can be avoided.

Keywords:Perturbation; Referential Transparency; Forward-Mode AD;
Subjects:Science & Engineering > Computer Science
ID Code:566
Deposited By:Dr. Barak Pearlmutter
Deposited On:15 Jun 2007
Publisher:Springer
Refereed:No
URL:http://www.springer.com/uk/home?searchKey=easySearchKey&searchType=easy&visited=true&propagate=false&resultStart=1&resultCount=10&SGWID=3-102-14-0-0&queryText=Implementation+and+application+of+functional+languages&easySearchOption=all&go.x=13&go.y=6

Repository Staff Only: item control page