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