RUS  ENG
Full version
JOURNALS // Zapiski Nauchnykh Seminarov POMI // Archive

Zap. Nauchn. Sem. POMI, 2019 Volume 485, Pages 78–89 (Mi znsl6869)

Landau: language for dynamical systems with automatic differentiation

I. Dolgakov, D. Pavlov

Institute of Applied Astronomy of the Russian Academy of Sciences

Abstract: 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 modelling. 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.

Key words and phrases: automatic differentiation, dynamical systems, compilers.

UDC: 519.682.6, 517.95, 521.3

Received: 14.10.2019

Language: English



© Steklov Math. Inst. of RAS, 2024