Efficient Explicit Taylor ODE Integrators with Symbolic-Numeric Computing
Songchen Tan, Oscar Smith, Christopher Rackauckas
TL;DR
The paper addresses efficient, high-order explicit Taylor ODE integrators for non-stiff problems by delivering a Julia-based implementation that couples a Taylor-mode automatic differentiation engine with a symbolic-numeric code-generation pipeline for Taylor polynomials, enabling seamless, high-order accuracy with minimal user intervention. It introduces adaptive strategies for both the time step $h$ and the polynomial degree $p$, aiming to minimize work per unit time and to cope with region-dependent convergence radii. The approach achieves $O(p^2)$ cost for derivative evaluation and benefits from compile-time symbolic simplification, yielding faster Taylor polynomial evaluation and robust performance across varied dynamics. Benchmarks against explicit Runge–Kutta methods show competitive or superior accuracy- and time-efficiency at high precision for non-stiff problems, with extensions to implicit Taylor methods suggested for stiff dynamics.
Abstract
Taylor series methods show a newfound promise for the solution of non-stiff ordinary differential equations (ODEs) given the rise of new compiler-enhanced techniques for calculating high order derivatives. In this paper we detail a new Julia-based implementation that has two important techniques: (1) a general purpose higher-order automatic differentiation engine for derivative evaluation with low overhead; (2) a combined symbolic-numeric approach to generate code for recursively computing the Taylor polynomial of the ODE solution. We demonstrate that the resulting software's compiler-based tooling is transparent to the user, requiring no changes from interfaces required to use standard explicit Runge-Kutta methods, while achieving better run time performance. In addition, we also developed a comprehensive adaptive time and order algorithm that uses different step size and polynomial degree across the integration period, which makes this implementation more efficient and versatile in a broad range of dynamics. We show that for codes compatible with compiler transformations, these integrators are more efficient and robust than the traditionally used explicit Runge-Kutta methods.
