Skip to main contentIBM Quantum Documentation


qiskit.algorithms.time_evolvers.variational.ForwardEulerSolver(function, t0, y0, t_bound, vectorized=False, support_complex=False, num_t_steps=15)

Bases: OdeSolver

Forward Euler ODE solver.

Forward Euler ODE solver that implements an interface from SciPy.


  • function (Callable (opens in a new tab)) – 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 (opens in a new tab)) – Initial time.
  • y0 (Sequence (opens in a new tab)) – Initial state.
  • t_bound (float (opens in a new tab)) – Boundary time - the integration won’t continue beyond it. It also determines the direction of the integration.
  • vectorized (bool (opens in a new tab)) – Whether fun is implemented in a vectorized fashion. Default is False.
  • support_complex (bool (opens in a new tab)) – Whether integration in a complex domain should be supported. Generally determined by a derived solver class capabilities. Default is False.
  • num_t_steps (int (opens in a new tab)) – Number of time steps for the forward Euler method.



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


Was this page helpful?