class ForwardEulerSolver(function, t0, y0, t_bound, vectorized=False, support_complex=False, num_t_steps=15)[source]#

Bases: OdeSolver

Forward Euler ODE solver.

Forward Euler ODE solver that implements an interface from SciPy.

  • function (Callable) – Right-hand side of the system. The calling signature is fun(t, y). Here t is a scalar, and there are two options for the ndarray y: It can either have shape (n,); then fun must return array_like with shape (n,). Alternatively it can have shape (n, k); then fun must return an array_like with shape (n, k), i.e., each column corresponds to a single column in y. The choice between the two options is determined by vectorized argument (see below). The vectorized implementation allows a faster approximation of the Jacobian by finite differences (required for this solver).

  • t0 (float) – Initial time.

  • y0 (Sequence) – Initial state.

  • t_bound (float) – Boundary time - the integration won’t continue beyond it. It also determines the direction of the integration.

  • vectorized (bool) – Whether fun is implemented in a vectorized fashion. Default is False.

  • support_complex (bool) – Whether integration in a complex domain should be supported. Generally determined by a derived solver class capabilities. Default is False.

  • num_t_steps (int) – Number of time steps for the forward Euler method.


TOO_SMALL_STEP = 'Required step size is less than spacing between numbers.'#