dde_euler_pc_step#
- class braintools.quad.dde_euler_pc_step(f, y, t, history_fn, delays, *args, max_iter=3, **kwargs)#
Euler predictor-corrector method for delay differential equations.
Uses explicit Euler as predictor and implicit Euler as corrector, with fixed-point iteration to solve the implicit equation.
- 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.
max_iter (
int) – Maximum number of corrector iterations.
- Returns:
The updated state after predictor-corrector step.
- Return type:
PyTree
Notes
This method can be more stable for stiff DDEs compared to explicit methods. The corrector equation is:
y_{n+1} = y_n + h*f(t_{n+1}, y_{n+1}, y(t_{n+1}-τ))