Table of Contents
Fetching ...

Runge-Kutta methods, trees, and Mathematica

Folkmar Bornemann

TL;DR

The paper addresses the combinatorial complexity of deriving order conditions for Runge-Kutta methods by presenting a simple, elementary proof of Butcher's theorem based on a fully recursive rooted-tree representation of elementary differentials. It avoids labelings and Faà di Bruno's formula, and demonstrates that the approach is naturally amenable to computer algebra systems like $Mathematica$. Full, compact code is provided to automatically generate order conditions up to a given order $p$, with concrete examples such as the classical explicit RK4 and higher-stage constructions, while also highlighting corrections to historical coefficient tables. This yields a practical, transparent framework for designing and validating Runge-Kutta schemes, enabling efficient verification and construction of high-order methods.

Abstract

A simple and elementary proof of Butcher's theorem on the order conditions of Runge-Kutta methods is presented. It is based on a recursive definition of rooted trees and avoids combinatorial tools such as labelings and Faa di Bruno's formula. This strictly recursive approach can easily and elegantly be implemented using modern computer algrebra systems like Mathematica. The full but short source code is included and applied to some instructive examples.

Runge-Kutta methods, trees, and Mathematica

TL;DR

The paper addresses the combinatorial complexity of deriving order conditions for Runge-Kutta methods by presenting a simple, elementary proof of Butcher's theorem based on a fully recursive rooted-tree representation of elementary differentials. It avoids labelings and Faà di Bruno's formula, and demonstrates that the approach is naturally amenable to computer algebra systems like . Full, compact code is provided to automatically generate order conditions up to a given order , with concrete examples such as the classical explicit RK4 and higher-stage constructions, while also highlighting corrections to historical coefficient tables. This yields a practical, transparent framework for designing and validating Runge-Kutta schemes, enabling efficient verification and construction of high-order methods.

Abstract

A simple and elementary proof of Butcher's theorem on the order conditions of Runge-Kutta methods is presented. It is based on a recursive definition of rooted trees and avoids combinatorial tools such as labelings and Faa di Bruno's formula. This strictly recursive approach can easily and elegantly be implemented using modern computer algrebra systems like Mathematica. The full but short source code is included and applied to some instructive examples.

Paper Structure

This paper contains 6 sections, 3 theorems, 31 equations.

Key Result

Lemma 1

Given $f\in C^p(\Omega,{\mathbb R}^d)$ the flow $\Phi^\tau x$ expands to The coefficients $\beta!$ and $\alpha_\beta$ belonging to a rooted tree $\beta=[\beta_1,\ldots,\beta_n]$ are recursively defined by By $\delta_\beta$ we denote the number of different ordered tuples $(\beta_1,\ldots,\beta_n)$ which correspond to the same unordered list $\beta =[\beta_1,\ldots,\beta_n]$.

Theorems & Definitions (6)

  • Lemma 1
  • proof
  • Lemma 2
  • proof
  • Theorem 3: Butcher 1963
  • Remark 4