Hi all,
can I use any of scipy.integrate.ode/odeint etc. for complex systems? How?
Here is what I'm doing, but I only get r.y real, instead of complex (and the result is different from Matlab).
----------------------------------------
import numpy
import scipy.integrate.ode
def f(t, y, betaA, betaB, CAB):
M =
numpy.array([[1j * betaA, CAB], [-CAB, 1j * betaB]])
return numpy.dot
(M, y)
betaA = 1.
betaB = 1.
CAB = 1.
t0 = 0.
t1 = 1.
dt = .01
y0 =
numpy.array([1, 0]).astype(complex)
r = scipy.integrate.ode(f).set_integrator('vode').set_initial_value(y0, t0).set_f_params(betaA, betaB, CAB)
while r.successful() and r.t < t1:
r.integrate(r.t + dt)
print
r.t, r.y
----------------------------------------
Thank you in advance,
Lorenzo