Skip to content

ZigaSajovic/Operational-Calculus-for-Differentiable-Programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Operational Calculus for Differentiable Programming

Repository for the paper Operational Calculus for Differentiable Programming

Abstract

In this work we present a theoretical model for differentiable programming. We construct an algebraic language that encapsulates formal semantics of differentiable programs by way of Operational Calculus. The algebraic nature of Operational Calculus can alter the properties of the programs that are expressed within the language and transform them into their solutions.

In our model programs are elements of programming spaces and viewed as maps from the virtual memory space to itself. Virtual memory space is an algebra of programs, an algebraic data structure one can calculate with. We define the operator of differentiation () on programming spaces and, using its powers, implement the general shift operator and the operator of program composition. We provide the formula for the expansion of a differentiable program into an infinite tensor series in terms of the powers of . We express the operator of program composition in terms of the generalized shift operator and , which implements a differentiable composition in the language. Such operators serve as abstractions over the tensor series algebra, as main actors in our language.

We demonstrate our models usefulness in differentiable programming by using it to analyse iterators, deriving fractional iterations and their iterating velocities, and explicitly solve the special case of ReduceSum.

Compiling the paper

In order to compile the paper from source run the compile.py script. Consult its help by running compile.py --help if needed.

About

Repository for the paper Operational Calculus for Differentiable Programming

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published