将稀疏矩阵与稀疏向量相乘(有效方式)

时间:2017-02-14 22:25:03

标签: python matrix vector sparse-matrix matrix-multiplication

我有一个 M 的稀疏矩阵 N * N Nd 非零元素和稀疏矢量 A < / strong>大小 N * 1 Na 非零元素。 (N很大) 我想计算矩阵乘法 B = MA

我在scipy.sparse中使用稀疏矩阵表示。的 P = csr_matrix(M)即可。然后我做 B = P.dot(A)

我知道此操作的复杂性为 O(Nd)。似乎 A 在计算中被视为密集向量。因为当我更改数字 Na 时,此乘法的计算时间不会改变。但是矢量 A 也很稀疏。是否有任何有效的方法以较少的计算时间执行此乘法。

在我的模拟中, M 正在修复。向量 A 是不同的,但它们都是稀疏的。

非常感谢。

0 个答案:

没有答案