dde_heun_step#
- class braintools.quad.dde_heun_step(f, y, t, history_fn, delays, *args, **kwargs)#
Heun’s method (improved Euler) for delay differential equations.
Second-order Runge-Kutta method for DDEs. Uses Euler predictor followed by trapezoidal corrector.
- Parameters:
f (
Callable[[Array|ndarray|bool|number|bool|int|float|complex|Quantity,PyTree,PyTree,...],PyTree]) – Same as dde_euler_step.y (
PyTree) – Same as dde_euler_step.t (
Array|ndarray|bool|number|bool|int|float|complex|Quantity) – Same as dde_euler_step.history_fn (
Callable[[Array|ndarray|bool|number|bool|int|float|complex|Quantity],PyTree]) – Same as dde_euler_step.delays (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Sequence[Array|ndarray|bool|number|bool|int|float|complex|Quantity]) – Same as dde_euler_step.*args – Same as dde_euler_step.
- Returns:
The updated state after one Heun step (second-order accurate).
- Return type:
PyTree
Notes
The method computes: 1. Predictor: y₁ = y₀ + h*f(t₀, y₀, y(t₀-τ)) 2. Corrector: y₁ = y₀ + h/2*[f(t₀, y₀, y(t₀-τ)) + f(t₁, y₁, y(t₁-τ))]