Operational Calculus for Differentiable Programming
\v{Z}iga Sajovic, Martin Vuk

TL;DR
This paper introduces an algebraic operational calculus framework for differentiable programming, enabling formal semantics, program transformation, and analysis of differentiable programs through tensor series and operators.
Contribution
It develops a novel algebraic language based on operational calculus to formalize and analyze differentiable programs, including new operators and series expansions.
Findings
Derived a tensor series expansion for differentiable programs
Defined differentiation and composition operators within the algebraic framework
Applied the model to analyze iterators and solve ReduceSum explicitly
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Computational Physics and Python Applications
