dde_heun_step

Contents

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₁-τ))]