【发布时间】:2013-06-28 09:37:37
【问题描述】:
我需要求解电阻网络研究中出现的一些大型 (N~1e6) 拉普拉斯矩阵。其余的网络分析正在使用 boost 图进行处理,如果可能的话,我想留在 C++ 中。我知道有很多很多 C++ 矩阵库,但似乎没有人在速度或可用性方面是明确的领导者。此外,关于这个主题的许多问题,在这里和其他地方似乎很快就变成了实用性有限的洗衣清单。为了帮助自己和他人,我会尽量保持问题的简洁性和可回答性:
可以有效处理以下要求的最佳库是什么?
- 矩阵类型:对称对角显性/拉普拉斯矩阵
- 大小:非常大 (N~1e6),无需动态调整大小
- 稀疏性:极端(每行/列最多 5 个非零项)
- 需要的操作:求解 A*x=b 中的 x 和 mat/vec 相乘
- 语言:C++(没问题)
- 优先级:代码的速度和简单性。我真的宁愿避免为这个问题学习一个全新的框架,或者不得不手动编写太多的帮助代码。
非常喜欢用一个最小的工作示例来回答......
【问题讨论】:
-
我相信 KLU 非常适合您的需求:cise.ufl.edu/research/sparse/klu
标签: c++ linear-algebra sparse-matrix numerical-methods