如果我将密集矩阵存储为坐标方式稀疏矩阵而不是n x n 2维数组,那么时间效率会是多少?显然,如果我把它存储为稀疏矩阵会很糟糕。
答案 0 :(得分:0)
您应该考虑您感兴趣的操作,因为各种操作的效率因每种存储格式而异。例如,参见Scipy Sparse中的各种格式(和典型用例)。
通常是一个稀疏矩阵'被定义为一个矩阵,通过利用许多元素为零的事实,您可以获得一些性能优势。因此,以稀疏格式存储稀疏矩阵应该是有利的。
坐标格式(COO)的空间要求为3 * nnzs
。因此,只要3 * nnzs < N^2
(您的矩阵顺序),您就可以节省存储空间。其他格式(例如CSR)在空间(2 * nnzs + N
)方面更有效,并且还有效地支持常见操作(例如稀疏矩阵向量乘法)。