'Find y=y(t), set y as an initial condition, and return y.
Parameters
t : float
The endpoint of the integration step.
step : bool
If True, and if the integrator supports the step method,
then perform a single integration step and return.
This parameter is provided in order to expose internals of
the implementation, and should not be changed from its default
value in most cases.
relax : bool
If True and if the integrator supports the run_relax method,
then integrate until t_1 >= t and return. ``relax`` is not
referenced if ``step=True``.
This parameter is provided in order to expose internals of
the implementation, and should not be changed from its default
value in most cases.
Returns
y : float
The integrated value at t'

def integrate(self, t, step=False, relax=False):

    y = ode.integrate(self, t, step, relax)
    return (y[::2] + (1j * y[1::2]))
