首页 > 解决方案 > 稀疏线性微分方程求解 Matlab vs Python

问题描述

我目前正在从事一个涉及巨大矩阵的项目。大小约为 500 000 x 500 000,但它们非常稀疏,密度约为 0.000025,因此只有大约 6-650 万个非零元素。这是我的问题,我需要求解线性方程 Ax = B,其中 A 是 500k x 500k 矩阵,B 是一个向量,多次,只有 B 改变。我开始使用在 Matlab 中完成的其他代码来处理这个项目,我想在 python 中实现它,因为我认为它会更快(我想错了吗?Matlab 更快地解决这些类型的方程吗?)继承人事情......当我使用他们的脚本(在Matlab中)做A\B大约需要110秒,这对我来说似乎真的很快。但是当我尝试使用 SciPy 稀疏求解来解决同一个系统时,它的工作速度并没有那么快,或者实际上根本没有,

所以基本上,在 Matlab 中使用 A\B 是不是太好了,还是我做错了什么?会不会是记忆的原因?正如在 python 中需要在步骤之间创建一些东西,我用完了,所以它只是崩溃或什么?

提前致谢!

PS:如果您正在考虑为未来的迭代建议 LU 分解,我已经计划这样做,我只想知道使用 SciPy 稀疏求解直接解决它的情况。

标签: pythonmatlabsparse-matrixequation

解决方案


推荐阅读