用于求解稀疏线性方程组的C API库?

时间:2011-11-16 19:11:51

标签: c linear-algebra sparse-matrix equations

我需要从用D编写的程序中解决一个庞大的,稀疏的线性方程组。理想情况下,我想要一个带有D风格接口的库,但我怀疑是否存在。但是,D可以直接访问C API。因此,请建议一些解决大型,稀疏线性方程组的库,具有以下特征:

  1. 公开C API。

  2. 免费/开源。也可以是非Copyleft,但这不是一个严格的要求。

  3. 经过充分测试和调试。易于安装和使用。学术界不是为了得到关于他们的方法的论文,而是完全没有维护的。

3 个答案:

答案 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]。