ExplicitEulerStep
Defaults
algorithm="euler" performs a single-stage, order-1 forward-Euler
update under fixed-step control. Forward Euler carries no embedded
error estimate, so adaptive control is unavailable, and as an
explicit method it needs no nonlinear or linear solver. See
Default settings for the defaults shared across algorithms.
- class cubie.integrators.ExplicitEulerStep(precision: type[float16] | type[float32] | type[float64] | dtype[float16] | dtype[float32] | dtype[float64], n_states: int, dxdt_fn: Callable | None = None, observables_fn: Callable | None = None, drivers_fn: Callable | None = None, get_solver_helper_fn: Callable | None = None, **kwargs)[source]
Bases:
ODEExplicitStepForward Euler integration step for explicit ODE updates.
- __init__(precision: type[float16] | type[float32] | type[float64] | dtype[float16] | dtype[float32] | dtype[float64], n_states: int, dxdt_fn: Callable | None = None, observables_fn: Callable | None = None, drivers_fn: Callable | None = None, get_solver_helper_fn: Callable | None = None, **kwargs) None[source]
Initialise the explicit Euler step configuration.
- Parameters:
precision – Precision applied to device buffers.
n_states – Number of state entries advanced per step.
dxdt_fn – Device function for evaluating f(t, y) right-hand side.
observables_fn – Device function computing system observables.
drivers_fn – Optional device function evaluating drivers at arbitrary times.
get_solver_helper_fn – Present for interface parity with implicit steps and ignored here.
**kwargs – Optional parameters passed to config classes. See ExplicitStepConfig for available parameters. None values are ignored.
- build_step(dxdt_fn: Callable, observables_fn: Callable, drivers_fn: Callable | None, numba_precision: type, n: int, n_drivers: int) StepCache[source]
Build the device function for an explicit Euler step.
- Parameters:
dxdt_fn – Device function for evaluating f(t, y).
observables_fn – Device function for computing observables.
drivers_fn – Optional device function for evaluating drivers at time t.
numba_precision – Numba type for device buffers.
n – State vector dimension.
n_drivers – Number of driver signals.
- Returns:
Compiled step function.
- Return type:
- classmethod family_defaults(tableau=None) AlgorithmDefaults[source]
Return the explicit Euler defaults.
- has_error_estimate = False