【发布时间】:2014-12-18 20:27:13
【问题描述】:
如果我将密集矩阵存储为坐标稀疏矩阵而不是 n x n 二维数组,那么时间效率是多少?显然,如果我将它存储为稀疏矩阵,那就不好了。
【问题讨论】:
如果我将密集矩阵存储为坐标稀疏矩阵而不是 n x n 二维数组,那么时间效率是多少?显然,如果我将它存储为稀疏矩阵,那就不好了。
【问题讨论】:
您应该考虑您感兴趣的操作,因为每种存储格式的各种操作的效率不同。例如,参见Scipy Sparse 中的各种格式(和典型用例)。
通常,“稀疏矩阵”定义为一个矩阵,您可以在其中利用许多元素为零的事实获得一些性能优势。所以以稀疏格式存储稀疏矩阵应该有一个优势。
坐标格式 (COO) 的空间要求为 3 * nnzs。所以只要3 * nnzs < N^2(你的矩阵顺序)你就可以节省存储空间。其他格式(如 CSR)在空间方面更高效(2 * nnzs + N),也能高效地支持常用操作(如稀疏矩阵向量乘法)。
【讨论】: