【发布时间】:2021-01-31 03:50:36
【问题描述】:
给定代码sn-p:
B = A @ M - T
A 是 CSR scipy 稀疏矩阵,M 和 T 是两个 numpy 数组。
问题:在矩阵运算过程中,numpy是把A当成一个稠密矩阵,还是把M和T当成两个稀疏矩阵?
我怀疑后一种情况是正确的,因为结果矩阵 B 不是稀疏格式。
我还注意到,如果我将 A 的格式更改为密集,则此操作会慢得多,这与我的猜测相矛盾。
【问题讨论】:
-
这里
A稀疏矩阵控制操作。如果另一个对象是稀疏的,它会做一件事,如果密集(具有不同的结果类型)则做另一件事 -
@与*类似,将任务传递给sparse.__mul__,后者又根据other的内容调用几种方法之一。如果您想了解更多详细信息,请点击此页面上的[source]链接:docs.scipy.org/doc/scipy/reference/generated/…
标签: python numpy scipy sparse-matrix