Python 具有超大矩阵的联立微分方程
我写了一个用矩阵表示法求解薛定谔方程的代码。哈密顿量是平方矩阵,状态向量是一维数组。我使用numpy.matrix类和求解耦合微分方程组-来自scipy.integrate的odePython 具有超大矩阵的联立微分方程,python,out-of-memory,Python,Out Of Memory,我写了一个用矩阵表示法求解薛定谔方程的代码。哈密顿量是平方矩阵,状态向量是一维数组。我使用numpy.matrix类和求解耦合微分方程组-来自scipy.integrate的ode from scipy.integrate import ode import numpy as np 现在我遇到了一个问题,因为我的矩阵远远大于10000x1000,并且在同时运行两个脚本时,我遇到了总的RAM内存使用量。我希望scipy的Sparsearray可以解决我的内存消耗问题,因为我使用的哈密顿量和其他矩
from scipy.integrate import ode
import numpy as np
现在我遇到了一个问题,因为我的矩阵远远大于10000x1000,并且在同时运行两个脚本时,我遇到了总的RAM内存使用量。我希望scipy的Sparsearray可以解决我的内存消耗问题,因为我使用的哈密顿量和其他矩阵都有很多零。我不知道那时我是否能解微分方程。也许还有其他方法可以处理复数大数据矩阵
我想补充一点,我在某个时刻使用向量来计算平均值,因此我在计算结束时只得到一个数字。对于双精度数字的10000x1000矩阵,使用800 MB(763 MiB)。如果您的方法使用多个矩阵,这可能就是问题所在。如果矩阵大部分是空的,那么稀疏表示就是最好的选择