对于大型稀疏迭代(共轭梯度、MINRES、GMRES 等)线性代数系统求解,有哪些更好的库?我经常编写自己的例程,但我很想知道人们喜欢哪些“现成的”包。我听说过 PETSc、TAUCS、IML++ 和其他一些。我想知道这些是如何堆积起来的,还有什么。我的偏好是易于使用和免费提供的软件。
5 回答
Victor Eijkhout 的迭代线性系统求解器包概述可能是一个不错的起点。
您可能还希望查看 Trilinos http://trilinos.sandia.gov/
它是由一些伟大的软件工匠使用现代设计技术设计的。
此外,如果您愿意,可以在 Trilinos 中调用 PetsC。
NIST 有一些稀疏线性代数软件,您可以在此处下载:http: //math.nist.gov/sparselib++/和此处: http: //math.nist.gov/spblas/
我自己没有使用过这些软件包,但我听说过关于它们的好消息。
http://www.cise.ufl.edu/research/sparse/umfpack/
UMFPACK 是一组用于求解非对称稀疏线性系统 Ax=b 的例程,使用非对称 MultiFrontal 方法。用 ANSI/ISO C 编写,带有 MATLAB(6.0 版及更高版本)接口。在 MATLAB 中显示为内置例程(用于 lu、反斜杠和正斜杠)。包括一个 MATLAB 接口、一个 C 可调用接口和一个 Fortran 可调用接口。请注意,“UMFPACK”在两个音节中发音,“Umph Pack”。它不是“You Em Ef Pack”。
我将它用于 FEM 代码。
我会查看微软的 Solver Foundation。即使是相当大的问题,它也是免费的。无限版本是工业实力,基于 Gurobi,当然也不便宜。