需要一个稀疏矩阵库

时间:2011-08-04 15:12:39

标签: matrix sparse-matrix blas

是否存在复制密集BLAS功能的稀疏矩阵库?

我至少想要:

  1. 具有稀疏输入(可能是密集输出)的高效SYR和SYRK(秩-k更新),
  2. 稀疏对称存储选项,
  3. DOT,NRM2,转置和其他标准物品。
  4. 命名和API不需要以BLAS为中心,只要它完成工作。 C或Fortran首选,但C ++也可以。

    我查看了MKLscipy.sparseuBLASEigen3,但他们要么不支持我需要的内容,要么我无法弄清楚他们是否做了

2 个答案:

答案 0 :(得分:2)

很抱歉让我失望,但据我所知,恐怕答案是否定的。我已经广泛地使用稀疏数据,并且没有找到任何用于稀疏矩阵操作的深度库(即BLAS级别)。在比BLAS更高的层次上,Matlab,R,Python和其他语言都得到了广泛的支持。

从我所看到的,这是由于稀疏矩阵(散射,对称,带状或三对角,块对角线)的类型,它们的内容(二进制,整数,实数)和它们的数学属性的变化而产生的(例如肯定的 - 不保证,满级 - 不常见)等等,往往会使优化变得复杂。

相反,我倾向于编写自己的代码来处理稀疏矩阵,重新使用我可以用于存储和简单计算的乘法。

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

答案 1 :(得分:0)