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.
