我需要从一个用d语言编写的程序中求解一个大型的、稀疏的线性方程组。理想情况下,我希望有一个带有d风格接口的库,但我怀疑是否存在。然而,D可以直接访问C的api。因此,请推荐一些库来解决具有以下特征的大型稀疏线性方程组:
-
公开C API
-
自由/开源的。最好也是非copyleft,但这不是硬性要求。
-
经过良好测试和调试。易于设置和使用。不是由学者写的,只是为了得到一篇关于他们方法的论文,然后完全没有维护。
解决稀疏问题的经典库是集合稀疏库。许多系统上都有包。Matlab内部使用
我的错,我把以前用过的LAPACK和以前用过的ARPACK弄混了。
这里是arpack http://www.caam.rice.edu/~kristyn/parpack_home.html:的链接该包被设计用于计算一般n × n矩阵a的几个特征值和相应的特征向量,它最适合于大型稀疏或结构化矩阵。
和这里链接与线性代数库的比较:
http://www.netlib.org/utk/people/JackDongarra/la-sw.html你可以在这里找到SparseLib++,这里提到的arpack和更多矩阵形式的库。
有一个专用的包叫做CSPARSE
,它是用c写的,它的实现似乎是基于[david2006direct]。
- https://people.sc.fsu.edu/jburkardt/c_src/csparse/csparse.html
- Davis, t.a.(2006)。稀疏线性系统的直接方法。工业与应用数学学会。