Matrix 需要一个稀疏矩阵库吗

Matrix 需要一个稀疏矩阵库吗,matrix,sparse-matrix,blas,Matrix,Sparse Matrix,Blas,是否有复制密集BLAS功能的稀疏矩阵库 我希望至少: 高效的SYR和SYRK(秩k更新),输入稀疏(可能输出密集) 稀疏对称存储选项 DOT、NRM2、转置和其他标准商品 不过,命名和API不需要以BLAS为中心,只要它能够完成这项工作。C或FORTRAN首选,但C++也可以。 我看了,但是他们要么不支持我需要的,要么我不知道他们是否支持。我很抱歉让你失望,但是,据我所知,我恐怕答案是否定的。我已经对稀疏数据进行了广泛的研究,还没有找到任何用于稀疏矩阵操作的深层库(即BLAS级别)。在比BLAS

是否有复制密集BLAS功能的稀疏矩阵库

我希望至少:

  • 高效的SYR和SYRK(秩k更新),输入稀疏(可能输出密集)
  • 稀疏对称存储选项
  • DOT、NRM2、转置和其他标准商品
  • 不过,命名和API不需要以BLAS为中心,只要它能够完成这项工作。C或FORTRAN首选,但C++也可以。
    我看了,但是他们要么不支持我需要的,要么我不知道他们是否支持。

    我很抱歉让你失望,但是,据我所知,我恐怕答案是否定的。我已经对稀疏数据进行了广泛的研究,还没有找到任何用于稀疏矩阵操作的深层库(即BLAS级别)。在比BLAS更高的级别上,Matlab、R、Python和其他语言都提供了广泛的支持

    据我所见,这是因为稀疏矩阵的类型(分散、对称、带状或三对角、块对角)、其内容(二进制、整数、实数)及其数学特性(例如正定-不保证、满秩-不常见)等的变化会使优化复杂化

    相反,我倾向于编写自己的代码来处理稀疏矩阵,将我所能做的重新用于存储和简单的计算,如乘法


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

    blas实现很少


    我发现Matlab和R中的稀疏支持带来了很多乐趣。对于R,请查看@这些软件包:Matrix、sparseM和spam。还有其他人,但我不在我的电脑旁。