Expand description
Baker-Campbell-Hausdorff (BCH) Formula
Provides logarithmic coordinates for Lie group composition.
§Mathematical Background
For X, Y ∈ 𝔤 (Lie algebra), the BCH formula gives Z ∈ 𝔤 such that:
exp(Z) = exp(X) · exp(Y)The full series is:
Z = X + Y + (1/2)[X,Y] + (1/12)([X,[X,Y]] + [Y,[Y,X]])
- (1/24)[Y,[X,[X,Y]]] + ...§Convergence (IMPORTANT)
The BCH series has a finite convergence radius:
| Bound | Value | Use case |
|---|---|---|
| Strict | log(2) ≈ 0.693 | Guaranteed convergence |
| Practical | π ≈ 3.14 | Often works but not guaranteed |
For ||X|| + ||Y|| > log(2), the truncated series may give incorrect results. Use direct composition exp(X)·exp(Y) instead.
§Why log(2)?
The BCH series can be written as Z = Σₙ Zₙ(X,Y) where each Zₙ is a sum of nested brackets. The key insight is that:
||Zₙ|| ≤ Cₙ · (||X|| + ||Y||)ⁿwhere Cₙ grows like 1/n. The generating function Σ Cₙ tⁿ converges for |t| < log(2).
Proof sketch: Write exp(X)exp(Y) = exp(Z) and take log of both sides:
Z = log(exp(X)exp(Y)) = log(I + (exp(X)exp(Y) - I))The logarithm series log(I + A) = A - A²/2 + A³/3 - … converges for ||A|| < 1. Since ||exp(X)exp(Y) - I|| ≤ e^{||X||+||Y||} - 1, we need e^{||X||+||Y||} - 1 < 1, giving ||X|| + ||Y|| < log(2). ∎
The functions in this module include runtime checks (debug_assert) to warn
when inputs exceed the convergence radius.
§Applications
- Numerical integration on Lie groups (Magnus expansion)
- Understanding non-commutativity: Z ≠ X + Y when
[X,Y]≠ 0 - Efficient composition in algebra coordinates
§References
- Rossmann, W. “Lie Groups: An Introduction through Linear Groups” (2002)
- Iserles et al. “Lie-group methods” Acta Numerica (2000)
- Blanes & Casas “A Concise Introduction to Geometric Numerical Integration” (2016)
Enums§
- BchError
- Error type for safe BCH operations.
- BchMethod
- Result of BCH composition indicating which method was used.
Constants§
- BCH_
CONVERGENCE_ RADIUS - Convergence radius for BCH series (strict bound)
- BCH_
PRACTICAL_ LIMIT - Practical limit for BCH series (often works but not guaranteed)
Functions§
- bch_
error_ bound - Estimate error bound for BCH truncation.
- bch_
fifth_ order - Baker-Campbell-Hausdorff formula truncated to 5th order.
- bch_
fourth_ order - Baker-Campbell-Hausdorff formula truncated to 4th order.
- bch_
is_ practical - Check if BCH series is likely to give reasonable results.
- bch_
safe - Safe BCH composition with automatic fallback to direct exp(X)·exp(Y).
- bch_
safe_ with_ method - Safe BCH composition with method reporting.
- bch_
second_ order - Baker-Campbell-Hausdorff formula truncated to 2nd order.
- bch_
split - Inverse BCH formula: Given Z, find X and Y such that exp(Z) = exp(X) · exp(Y).
- bch_
third_ order - Baker-Campbell-Hausdorff formula truncated to 3rd order.
- bch_
will_ converge - Check if BCH series is expected to converge for given inputs.