据我了解,numpy.sparse.csr_sparse.dot(other)
确实将other
与我右边的稀疏矩阵相乘:
A = numpy.sparse.csr_sparse(something)
B = numpy.matrix(something)
C = A.dot(B) # C = A*B
如何将两个矩阵通勤以获得B*A
而不会失去将矩阵保存为稀疏矩阵(即.todense()
等)的好处?
答案 0 :(得分:1)
稍微复习矩阵乘法属性:
D = B * A
D.T = A.T * B.T
D = (A.T * B.T).T
然后导致明显的:
D = A.T.dot(B.T).T
请注意,CSR和CSC矩阵的转换非常快,因为它只是改变形状和类型(从CSR到CSC,或从CSC到CSR),保持内部数据不变。