我需要从用D编写的程序中解决一个庞大的,稀疏的线性方程组。理想情况下,我想要一个带有D风格接口的库,但我怀疑是否存在。但是,D可以直接访问C API。因此,请建议一些解决大型,稀疏线性方程组的库,具有以下特征:
公开C API。
免费/开源。也可以是非Copyleft,但这不是一个严格的要求。
经过充分测试和调试。易于安装和使用。学术界不是为了得到关于他们的方法的论文,而是完全没有维护的。
答案 0 :(得分:6)
稀疏问题的经典库是suite-sparse。你有很多系统的包。 Matlab在内部使用它。
答案 1 :(得分:1)
我的不好,我纠结了我以前用过的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以及更多的矩阵形式的库。
答案 2 :(得分:0)
有一个名为CSPARSE
的专用包,它是用C语言编写的。看来实现是基于[david2006direct]。