The substitution law and backward error analysis #
The substitution law of B-series (Chartier–Hairer–Vilmart): a
coefficient system b on trees (a "vector field series") substitutes
into a B-series a by summing over all partitions of each tree
into subtree blocks — b evaluated on the blocks, a on the tree
obtained by contracting each block to a vertex:
(b ⋆ a)(τ) = ∑_{p ∈ partitions τ} b(root block)·∏ b(blocks)·a(τ/p).
Partitions of a planar tree correspond to subsets of its edges (the
kept edges span the blocks); partitionTriples enumerates them
recursively as triples (root block, other blocks, skeleton), choosing
for each edge whether to keep it (child block merges into the parent
block) or cut it (child block separates, contributing a vertex to the
skeleton).
Backward error analysis is the inversion of substitution along a
fixed unital series e (in applications, the exact flow): every
consistent a is b ⋆ e for a unique modified series b
(modifiedCoeff, substCoeff_modifiedCoeff, modifiedCoeff_unique) —
the numerical method a is the e-flow of the modified vector field
b. The inversion is by strong induction on the tree order, using
that every non-trivial partition has all blocks of strictly smaller
order (partitionTriples_tail_order_lt).
Partitions of a planar tree #
All edge-subset partitions of a tree, as triples
(root block, other blocks, skeleton). The first triple is always the
trivial partition (no edge cut).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Process the children of a vertex: for each child and each partition
of it, either keep the connecting edge (the child's root block
becomes a branch of the parent's block, the child's skeleton root merges
into the parent's skeleton vertex) or cut it (the child's root block
becomes a separate block, its skeleton hangs off the parent's skeleton
vertex). Returns (root-block branches, other blocks, skeleton branches).
Equations
Instances For
Structural lemmas #
The head of the partition list is the trivial partition.
Every tree's partition list is nonempty, headed by the trivial partition.
Partitions preserve total order: the blocks partition the vertices.
Non-trivial partitions have small blocks #
Exactly one partition — the trivial one — has no separated blocks.
Every non-trivial partition separates at least one block.
In a non-trivial partition, the root block is strictly smaller.
In a non-trivial partition, every separated block is strictly smaller.
The substitution law #
The substitution law: substitute the vector-field series b
into the B-series a by summing over all partitions — b on the
blocks, a on the contracted skeleton.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Backward error analysis: the modified vector field #
The modified vector-field series of a relative to a unital
series e: the unique b with b ⋆ e = a, constructed by strong
recursion on the tree order — on each tree, subtract the contributions
of all non-trivial partitions, whose blocks are strictly smaller.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The defining equation of the modified series, attach-free.
Backward error analysis, existence: the modified series
substitutes along e to give back a — the numerical method is the
e-flow of the modified vector field.
Backward error analysis, uniqueness: the modified series is the
only solution of b ⋆ e = a.