用Odeint求解复矩阵微分方程

时间:2017-08-30 19:56:01

标签: python scipy ode

我想解决矩阵微分方程like this one

import numpy as np
from scipy.integrate import odeint


def deriv(A, t, Ab):
    return np.dot(Ab, A)


Ab = np.array([[-0.25,    0,    0],
               [ 0.25, -0.2,    0],
               [    0,  0.2, -0.1]])

time = np.linspace(0, 25, 101)
A0 = np.array([10, 20, 30])

MA = odeint(deriv, A0, time, args=(Ab,))

然而,这在具有复杂矩阵元素的情况下不起作用。我正在寻找类似于scipy.integrate.complex_ode但类似于odeint的内容。如果这不可能,我应该使用哪些其他库来执行集成?感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

odeint的{​​{3}}包装必须以与问题相同的方式使用。但是,初始值A0必须是复值向量。