我正在寻找使用并行化和共享内存来求解大型线性方程组(10e5)的库。1.稀疏,复杂对称,SPD。2.适用于高阶有限元法,DGFEM使用域分解。3. 适用于带有内置预处理器的迭代求解器。4. 适用于 C++ 和/或 MATLAB。操作系统首选 - Ubuntu。英特尔编译器。(Paradiso 不支持 intel Mkl)
用于大型线性方程组的 c++ 库
计算科学
线性代数
并行计算
mpi
2021-12-15 23:43:02
4个回答
对于密集线性代数,LAPACK 和 BLAS 库几乎总是要走的路。有许多与 LAPACK 和 BLAS 接口的 C++ 包。
此页面提供了各种线性求解器之间的比较 http://www.netlib.org/utk/people/JackDongarra/la-sw.html
对于一个分布式的、基于 C++ 的求解器,它可以专门为稀疏矩阵处理 SPD 以及内置的预处理,我强烈推荐Elemental
Eigen 不使用并行性来求解线性系统(参见http://eigen.tuxfamily.org/index.php?title=FAQ#How_does_Eigen_compare_to_BLAS.2FLAPACK.3F中的评论)。
Trilinos提供了不同的线性求解器(直接、预处理器、迭代器)。