python - 稀疏线性微分方程求解 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 稀疏求解直接解决它的情况。
解决方案
推荐阅读
- arduino - Generating a smooth tone sweep with Arduino
- javascript - 在 Angular 2 中使用 gulp-s3 将资产上传到 digitalOcean 存储桶?
- javascript - JavaScript:无法将显示设置为无,因为它将自身设置为阻止
- vue.js - 加载已经在表单中注册的数据 - VueJS - Bootstrap-Vue
- c - 链表无法添加到列表中
- azure - 从 Azure 文件共享获取访问密钥 - Terraform
- sql - 如何对变体列执行间接引用?
- html - 编辑汉堡菜单内容的宽度,但保持背景全宽
- asp.net-core - 如何在 .NET Core 3.1 中集成 Azure AD 身份验证
- visual-studio-code - 在 vscode 片段中,是否可以通过一键删除打开大括号和关闭大括号?