用于求解稀疏线性系统的库
计算科学
线性代数
线性求解器
图书馆
2021-12-19 21:07:35
2个回答
还有更多,他们都有不同的目标和对问题的看法。这实际上取决于您要解决的问题。这是一个不完整的软件包列表。随意添加更多细节。
大型分布式迭代求解器包
- PETSc — 围绕 Krylov 子空间方法和线性求解器之间轻松切换的软件包。重量比同类产品中的其他产品轻得多。
- Trilinos — 大量针对 FEM 应用的软件包
- Hypre——类似于上面的两个。值得注意的是它非常好的多重网格求解器(可以通过 PETSc 下载)。
并行直接求解器包
串行直接求解器包
- SuiteSparse — UMFPACK是一个非常好的求解器,但这里还有许多其他特殊用途的求解器。
- Intel Math Kernel Library — 来自 Intel 的高质量库;还有一个并行迭代求解器(但没有大规模并行)。
- 矩阵模板库——泛型有时可以使代码更快。
交互式环境(更多用于非常小的系统)
- MATLAB — 行业标准
- SciPy.Sparse——如果你喜欢 Python
- Mathematica — 支持
SparseArray[]
对象的操作。
其他列表
- Jack Dongarra 的线性代数免费软件列表。
MKL 不做分布式并行(例如 MPI),对稀疏求解器的支持很初级,绝对不是其他两个的水平。目前,只有一个有意义的基准:稀疏矩阵向量积 (SpMV) 的可扩展性能。由于这是内存带宽有限的,你只能搞砸了。PETSc 和 Trilinos 在这方面做得很好。
真正的区别在于哪种编程环境可以提高您的工作效率。
其它你可能感兴趣的问题