【问题标题】:Sparse matrix time computation稀疏矩阵时间计算
【发布时间】:2014-12-18 20:27:13
【问题描述】:

如果我将密集矩阵存储为坐标稀疏矩阵而不是 n x n 二维数组,那么时间效率是多少?显然,如果我将它存储为稀疏矩阵,那就不好了。

【问题讨论】:

    标签: performance sparse-matrix


    【解决方案1】:

    您应该考虑您感兴趣的操作,因为每种存储格式的各种操作的效率不同。例如,参见Scipy Sparse 中的各种格式(和典型用例)。

    通常,“稀疏矩阵”定义为一个矩阵,您可以在其中利用许多元素为零的事实获得一些性能优势。所以以稀疏格式存储稀疏矩阵应该有一个优势。

    坐标格式 (COO) 的空间要求为 3 * nnzs。所以只要3 * nnzs < N^2(你的矩阵顺序)你就可以节省存储空间。其他格式(如 CSR)在空间方面更高效(2 * nnzs + N),也能高效地支持常用操作(如稀疏矩阵向量乘法)。

    【讨论】: