2011-08-04 124 views
2

是否有稀疏矩阵库复制密集BLAS的功能?需要一个稀疏矩阵库

我愿意至少:

  1. 高效SYR和SYRK(秩k值更新)与稀疏输入(以及可能的致密输出),
  2. 选项稀疏对称存储,
  3. DOT ,NRM2,转置和其他标准的好东西。

尽管命名和API不需要以BLAS为中心,只要它能完成这项工作即可。首选C或Fortran,但C++也可以。

我看着MKLscipy.sparseuBLASEigen3,但他们既没有支持我需要什么或者我无法弄清楚他们是否这样做。

+0

我发现了很多的欢乐与Matlab和R.稀疏的支持对于R,看看@这些软件包:矩阵,sparseM,和垃圾邮件。还有其他人,但我远离我的电脑。 – Iterator

回答

2

我很抱歉让人失望,但据我所知,恐怕答案是否定的。我对稀疏数据进行了广泛的研究,并没有发现用于稀疏矩阵操作的深层库(即BLAS级别)。在比BLAS更高的层面上,Matlab,R,Python和其他语言提供了广泛的支持。由于稀疏矩阵(散射,对称,带状或三对角线,块对角线)类型的变化,其内容(二进制,整数,实数)及其数学属性(例如,肯定的 - 不能保证的,满秩的 - 不常见的)等等会使优化复杂化。相反,我倾向于编写自己的代码来处理稀疏矩阵,重新使用我可以用于存储和简单计算(如乘法)的东西。

随着时间的推移,一个好的低级图书馆将会出现,但我还没有看到它。