我有一个 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 是不同的,但它们都是稀疏的。
非常感谢。