pub fn integrate_rkmk<Field, Tab, U, T>(
rate: impl FnMut(Quantity<T>, &Field::Point) -> Result<Derivative<Field::Increment, T>, String>,
time: &[Quantity<T>],
initial_condition: Field::Point,
) -> Result<(Times<T>, U), IntegrationError>where
Field: Integrable,
Tab: ButcherTableau,
Field::Point: Clone,
Field::Increment: Clone + Differentiable<T>,
T: Copy,
Quantity<T>: Mul<Scalar, Output = Quantity<T>>,
for<'a> &'a Derivative<Field::Increment, T>: Mul<Quantity<T>, Output = Field::Increment>,
U: TensorVec<Item = Field::Point>,Expand description
Runge–Kutta–Munthe-Kaas: a fixed-step ButcherTableau run in the field’s
Lie algebra, with the Integrable::dexpinv correction per stage and a
single Integrable::reconstruct per step. Reduces to the plain tableau
on a flat field. See super::rkmk_step for the allocation-free single
step.