Table of Contents
Fetching ...

Sub-ODEs Simplify Taylor Series Algorithms for Ordinary Differential Equations

Nedialko S. Nedialkov, John D. Pryce

TL;DR

This work introduces sub-ODEs as a general mechanism to inline standard functions into Taylor-series solvers for ODEs, transforming function evaluations into ODE relations that can be embedded in a code-list. The authors prove that, despite converting to a DAE, the resulting systems are structurally amenable and yield sound Taylor coefficient recurrences, establishing a solid theoretical foundation. They implement a Matlab solver (odets) that generates and executes code-lists, and demonstrate competitive performance against Matlab's ODE suite on problems including a nonlinear spring-pendulum, the Pleiades gravitational model, and the Brusselator. The approach reduces implementation complexity for Taylor-accurate solvers, enables arbitrary Taylor order, and offers path to efficient sensitivity analysis via automatic differentiation, with clear directions for future work and practical considerations for code-list management. The practical impact lies in providing a theoretically grounded, high-order, equation-driven solver framework that can be extended to a broad class of standard functions through sub-ODEs and DAEs.

Abstract

A Taylor method for solving an ordinary differential equation initial-value problem $\dot x = f(t,x)$, $x(t_0) = x_0$, computes the Taylor series (TS) of the solution at the current point, truncated to some order, and then advances to the next point by summing the TS with a suitable step size. A standard ODE method (e.g. Runge-Kutta) treats function $f$ as a black box, but a Taylor solver requires $f$ to be preprocessed into a code-list of elementary operations that it interprets as operations on (truncated) TS. The trade-off for this extra work includes arbitrary order, typically enabling much larger step sizes. For a standard function, such as $\exp$, this means evaluating $v(t)=\exp(u(t))$, where $u(t),v(t)$ are TS. The sub-ODE method applies the ODE $d v/d u=v$, obeyed by $v=\exp(u)$, to in-line this operation as $\dot v=v\dot u$. This gives economy of implementation: each function that satisfies a simple ODE goes into the "Taylor library" with a few lines of code--not needing a separate recurrence relation, which is the typical approach. Mathematically, however, the use of sub-ODEs generally transforms the original ODE into a differential-algebraic system, making it nontrivial to ensure a sound system of recurrences for Taylor coefficients. We prove that, regardless of how many sub-ODEs are incorporated into $f$, this approach guarantees a sound system. We introduce our sub-ODE-based Matlab ODE solver and show that its performance compares favorably with solvers from the Matlab ODE suite.

Sub-ODEs Simplify Taylor Series Algorithms for Ordinary Differential Equations

TL;DR

This work introduces sub-ODEs as a general mechanism to inline standard functions into Taylor-series solvers for ODEs, transforming function evaluations into ODE relations that can be embedded in a code-list. The authors prove that, despite converting to a DAE, the resulting systems are structurally amenable and yield sound Taylor coefficient recurrences, establishing a solid theoretical foundation. They implement a Matlab solver (odets) that generates and executes code-lists, and demonstrate competitive performance against Matlab's ODE suite on problems including a nonlinear spring-pendulum, the Pleiades gravitational model, and the Brusselator. The approach reduces implementation complexity for Taylor-accurate solvers, enables arbitrary Taylor order, and offers path to efficient sensitivity analysis via automatic differentiation, with clear directions for future work and practical considerations for code-list management. The practical impact lies in providing a theoretically grounded, high-order, equation-driven solver framework that can be extended to a broad class of standard functions through sub-ODEs and DAEs.

Abstract

A Taylor method for solving an ordinary differential equation initial-value problem , , computes the Taylor series (TS) of the solution at the current point, truncated to some order, and then advances to the next point by summing the TS with a suitable step size. A standard ODE method (e.g. Runge-Kutta) treats function as a black box, but a Taylor solver requires to be preprocessed into a code-list of elementary operations that it interprets as operations on (truncated) TS. The trade-off for this extra work includes arbitrary order, typically enabling much larger step sizes. For a standard function, such as , this means evaluating , where are TS. The sub-ODE method applies the ODE , obeyed by , to in-line this operation as . This gives economy of implementation: each function that satisfies a simple ODE goes into the "Taylor library" with a few lines of code--not needing a separate recurrence relation, which is the typical approach. Mathematically, however, the use of sub-ODEs generally transforms the original ODE into a differential-algebraic system, making it nontrivial to ensure a sound system of recurrences for Taylor coefficients. We prove that, regardless of how many sub-ODEs are incorporated into , this approach guarantees a sound system. We introduce our sub-ODE-based Matlab ODE solver and show that its performance compares favorably with solvers from the Matlab ODE suite.

Paper Structure

This paper contains 36 sections, 8 theorems, 74 equations, 2 figures, 2 tables.

Key Result

Lemma 3.1

The DAEs $F = 0$, $\accentset{\hbox{[}.4]{$∧$}}{F} = 0$ and $\overline{F} = 0$ have the same solution set in the sense that if $x(t)$ solves $F(\underline{x}) = 0$ then $(x(t),u(t))$, where $u(t)=\psi(\underline{x}(t))$, solves both $\accentset{\hbox{[}.4]{$∧$}}{F}(\underline{x},u) = 0$ and $\overli

Figures (2)

  • Figure 1: Work-precision diagrams for Problems A and B. \newlabelfg:plei0
  • Figure 2: Work-precision diagrams for Problem C. \newlabelfg:brus0

Theorems & Definitions (28)

  • Example 2.1
  • Example 2.2
  • Remark 2.3
  • Remark 2.4
  • Remark 2.5
  • Definition 2.6: Meaning of sub-ODE operator
  • Example 2.7
  • Lemma 3.1
  • Proof 1
  • Theorem 3.2
  • ...and 18 more