Landau: language for dynamical systems with automatic differentiation

05/24/2019
by   Ivan Dolgakov, et al.
0

Most numerical solvers used to determine free variables of dynamical systems rely on first-order derivatives of the state of the system w.r.t. the free variables. The number of the free variables can be fairly large. One of the approaches of obtaining those derivatives is the integration of the derivatives simultaneously with the dynamical equations, which is best done with the automatic differentiation technique. Even though there exist many automatic differentiation tools, none have been found to be scalable and usable for practical purposes of dynamic systems modeling. Landau is a Turing incomplete statically typed domain-specific language aimed to fill this gap. The Turing incompleteness provides the ability of sophisticated source code analysis and, as a result, a highly optimized compiled code. Among other things, the language syntax supports functions, compile-time ranged for loops, if/else branching constructions, real variables and arrays, and the ability to manually discard calculation where the automatic derivatives values are expected to be negligibly small. In spite of reasonable restrictions, the language is rich enough to express and differentiate any cumbersome paper-equation with practically no effort.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/10/2020

Graded Automatic Differentiation

Based on a class of associative algebras with zero-divisors which are ca...
research
04/13/2022

An Improved Numerical Method for Three-dimensional Hyperbolic Lagrangian Coherent Structures using Differential Algebra

In dynamical systems, it is advantageous to be able to identify separate...
research
07/02/2022

Combinatory Adjoints and Differentiation

We develop a compositional approach for automatic and symbolic different...
research
06/06/2018

Efficient Differentiable Programming in a Functional Array-Processing Language

We present a system for the automatic differentiation of a higher-order ...
research
09/05/2022

Forward-Mode Automatic Differentiation of Compiled Programs

Algorithmic differentiation (AD) is a set of techniques that provide par...
research
02/23/2021

Event-Based Automatic Differentiation of OpenMP with OpDiLib

We present the new software OpDiLib, a universal add-on for classical op...
research
06/12/2020

On Correctness of Automatic Differentiation for Non-Differentiable Functions

Differentiation lies at the core of many machine-learning algorithms, an...

Please sign up or login with your details

Forgot password? Click here to reset