Table of Contents
Fetching ...

Differential Inversion of the Implicit Euler Method: Symbolic Analysis

Uwe Naumann

TL;DR

This work addresses computing the action of the inverse Jacobian $(E')^{-1}$ on a vector for the implicit Euler map $E(t,m,x)$ arising from forward-backward discretization of IVPs. It surveys three differential-inversion strategies—Black-box AD, Partially Symbolic, and Fully Symbolic—showing that a fully symbolic approach reduces the dominant cost from $\mathcal{O}(m \cdot n^3)$ to $\mathcal{O}(m \cdot n^2)$ while requiring $\mathcal{O}(m \cdot n^2)$ memory. A concrete C++/Eigen reference implementation is provided via a Lotka-Volterra example, with runtime experiments demonstrating the practical gains and confirming theoretical scaling. The results highlight how symbolic accumulation and reverse-propagation of per-step Jacobians can significantly expedite differential inversion for dense and sparse systems alike, enabling efficient inverse problems for IVPs and related applications.

Abstract

The implicit Euler method integrates systems of ordinary differential equations $$\frac{d x}{d t}=G(t,x(t))$$ with differentiable right-hand side $G : {\mathbb R} \times {\mathbb R}^n \rightarrow {\mathbb R}^n$ from an initial state $x=x(0) \in {\mathbb R}^n$ to a target time $t \in {\mathbb R}$ as $x(t)=E(t,m,x)$ using an equidistant discretization of the time interval $[0,t]$ yielding $m>0$ time steps. We present a method for efficiently computing the product of its inverse Jacobian $$(E')^{-1} \equiv \left (\frac{d E}{d x}\right )^{-1} \in {\mathbb R}^{n \times n} $$ with a given vector $v \in {\mathbb R}^n.$ We show that the differential inverse $(E')^{-1} \cdot v$ can be evaluated for given $v \in {\mathbb R}^n$ with a computational cost of $\mathcal{O}(m \cdot n^2)$ as opposed to the standard $\mathcal{O}(m \cdot n^3)$ or, naively, even $\mathcal{O}(m \cdot n^4).$ The theoretical results are supported by actual run times. A reference implementation is provided.

Differential Inversion of the Implicit Euler Method: Symbolic Analysis

TL;DR

This work addresses computing the action of the inverse Jacobian on a vector for the implicit Euler map arising from forward-backward discretization of IVPs. It surveys three differential-inversion strategies—Black-box AD, Partially Symbolic, and Fully Symbolic—showing that a fully symbolic approach reduces the dominant cost from to while requiring memory. A concrete C++/Eigen reference implementation is provided via a Lotka-Volterra example, with runtime experiments demonstrating the practical gains and confirming theoretical scaling. The results highlight how symbolic accumulation and reverse-propagation of per-step Jacobians can significantly expedite differential inversion for dense and sparse systems alike, enabling efficient inverse problems for IVPs and related applications.

Abstract

The implicit Euler method integrates systems of ordinary differential equations with differentiable right-hand side from an initial state to a target time as using an equidistant discretization of the time interval yielding time steps. We present a method for efficiently computing the product of its inverse Jacobian with a given vector We show that the differential inverse can be evaluated for given with a computational cost of as opposed to the standard or, naively, even The theoretical results are supported by actual run times. A reference implementation is provided.
Paper Structure (14 sections, 3 theorems, 44 equations, 3 figures, 3 algorithms)

This paper contains 14 sections, 3 theorems, 44 equations, 3 figures, 3 algorithms.

Key Result

Lemma 1

\newlabellem:10

Figures (3)

  • Figure 1: User run times (in $s$) for growing values of $n$
  • Figure 2: Elapsed run times (in $s$) for growing values of $n$
  • Figure 3: Evolution of resident set size (in $GB$) of Algorithm \ref{['alg3.3']} for growing values of $n$

Theorems & Definitions (6)

  • Lemma 1
  • Proof 1
  • Lemma 1
  • Proof 2
  • Theorem 2
  • Proof 3