A Language for Evaluating Derivatives of Functionals Using Automatic Differentiation

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Di Gianantonio, Pietro, Edalat, Abbas, Gutin, Ran
Format: Preprint
Published: 2022
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909470304501760
author Di Gianantonio, Pietro
Edalat, Abbas
Gutin, Ran
author_facet Di Gianantonio, Pietro
Edalat, Abbas
Gutin, Ran
contents We present a simple functional programming language, called Dual PCF, that implements forward mode automatic differentiation using dual numbers in the framework of exact real number computation. The main new feature of this language is the ability to evaluate correctly up to the precision specified by the user -- in a simple and direct way -- the directional derivative of functionals as well as first order functions. In contrast to other comparable languages, Dual PCF also includes the recursive operator for defining functions and functionals. We provide a wide range of examples of Lipschitz functions and functionals that can be defined in Dual PCF. We use domain theory both to give a denotational semantics to the language and to prove the correctness of the new derivative operator using logical relations. To be able to differentiate functionals -- including on function spaces equipped with their compact-open topology that do not admit a norm -- we develop a domain-theoretic directional derivative that is Scott continuous and extends Clarke's subgradient of real-valued locally Lipschitz maps on Banach spaces to real-valued continuous maps on Hausdorff topological vector spaces. Finally, we show that we can express arbitrary computable linear functionals in Dual PCF.
format Preprint
id arxiv_https___arxiv_org_abs_2210_06095
institution arXiv
publishDate 2022
record_format arxiv
spellingShingle A Language for Evaluating Derivatives of Functionals Using Automatic Differentiation
Di Gianantonio, Pietro
Edalat, Abbas
Gutin, Ran
Logic in Computer Science
F.3.2
We present a simple functional programming language, called Dual PCF, that implements forward mode automatic differentiation using dual numbers in the framework of exact real number computation. The main new feature of this language is the ability to evaluate correctly up to the precision specified by the user -- in a simple and direct way -- the directional derivative of functionals as well as first order functions. In contrast to other comparable languages, Dual PCF also includes the recursive operator for defining functions and functionals. We provide a wide range of examples of Lipschitz functions and functionals that can be defined in Dual PCF. We use domain theory both to give a denotational semantics to the language and to prove the correctness of the new derivative operator using logical relations. To be able to differentiate functionals -- including on function spaces equipped with their compact-open topology that do not admit a norm -- we develop a domain-theoretic directional derivative that is Scott continuous and extends Clarke's subgradient of real-valued locally Lipschitz maps on Banach spaces to real-valued continuous maps on Hausdorff topological vector spaces. Finally, we show that we can express arbitrary computable linear functionals in Dual PCF.
title A Language for Evaluating Derivatives of Functionals Using Automatic Differentiation
topic Logic in Computer Science
F.3.2
url https://arxiv.org/abs/2210.06095