3

私の理解では、右から私の疎行列に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マトリックスをスパースとして保存する利点を失うことなく、取得する 2 つのマトリックスを交換するにはどうすればよいですか (つまり、.todense()など)?

4

1 に答える 1

2

行列乗算のプロパティを少し復習します。

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 に) 変更するだけであるためです。

于 2013-10-30T16:07:12.070 に答える