FIRK tableau registry

FIRK_TABLEAU_REGISTRY exposes fully implicit Runge–Kutta schemes as FIRKTableau instances. Aliases in the registry integrate with get_algorithm_step() so callers can select Gauss–Legendre and Radau IIA families without repeating coefficients.

cubie.integrators.algorithms.FIRK_TABLEAU_REGISTRY Dict[str, FIRKTableau]

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)

The FIRKStep factory defaults to the two-stage fourth-order Gauss–Legendre pair ("firk_gauss_legendre_2").

Available aliases

Named fully implicit Runge–Kutta tableaus

Key

Description

Reference

"firk_gauss_legendre_2"

Two-stage fourth-order Gauss–Legendre scheme with symplectic structure. Fixed-step; no embedded estimate.

[HairerLubichWanner2006FIRK]

"firk_gauss_legendre_4"

Four-stage eighth-order Gauss–Legendre scheme, second-order embedded estimate.

[HairerLubichWanner2006FIRK]

"radau_iia_3"

Two-stage third-order Radau IIA method with stiff accuracy, first-order embedded estimate.

[HairerWanner1996FIRK]

"radau_iia_5" and "radau"

Three-stage fifth-order Radau IIA method with stiff accuracy, smoothed error estimate.

[HairerWanner1996FIRK]

"radau_iia_9"

Five-stage ninth-order Radau IIA method with stiff accuracy, smoothed error estimate.

[HairerWanner1996FIRK]

Tableau container

class cubie.integrators.algorithms.generic_firk_tableaus.FIRKTableau(a: Tuple[Tuple[float, ...], ...], b: Tuple[float, ...], c: Tuple[float, ...], order: int, b_hat: Tuple[float, ...] | None = None, embedded_order: int | None = None, dense_prediction_ratio_float16: float = 0.0, dense_prediction_ratio_float32: float = 0.0, dense_prediction_ratio_float64: float = 0.0, defaults: Dict[str, Any] = NOTHING)[source]

Bases: ButcherTableau

Coefficient tableau describing a fully implicit RK scheme.

smoothed_error_weights(precision: type[float16] | type[float32] | type[float64] | dtype[float16] | dtype[float32] | dtype[float64]) ndarray | None[source]

Return smoothed error weights; None without a derivation.

References

[HairerLubichWanner2006FIRK] (1,2)

E. Hairer, C. Lubich, and G. Wanner. Geometric Numerical Integration (2nd ed.). Springer, 2006.

[HairerWanner1996FIRK] (1,2,3)

E. Hairer and G. Wanner. Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems (2nd ed.). Springer, 1996.