Python scipy稀疏矩阵的乘法算子

Python scipy稀疏矩阵的乘法算子,python,scipy,sparse-matrix,Python,Scipy,Sparse Matrix,当涉及scipy稀疏矩阵时,乘法运算符*的行为让我有点困惑。运算符似乎实现了矩阵乘法,而不是与numpy数组一样的组件乘法 一些代码可以检查这一点: from scipy.sparse import lil_matrix A = lil_matrix(-numpy.eye(2)) b = lil_matrix(numpy.ones((2,2))) print (A * B).toarray() 结果: [[-1. -1.] [-1. -1.]] scipy.sparse模块的第二部分并没有

当涉及scipy稀疏矩阵时,乘法运算符
*
的行为让我有点困惑。运算符似乎实现了矩阵乘法,而不是与numpy数组一样的组件乘法

一些代码可以检查这一点:

from scipy.sparse import lil_matrix
A = lil_matrix(-numpy.eye(2))
b = lil_matrix(numpy.ones((2,2)))
print (A * B).toarray()
结果:

[[-1. -1.]
 [-1. -1.]]
scipy.sparse
模块的第二部分并没有详细说明这一点,我想知道是否有明确的乘法行为规范


此外,对于使用scipy稀疏矩阵和numpy矩阵或数组的乘法运算符,是否有一些明确定义的规则?

是的,在所有情况下都是矩阵乘法。

文档确实令人震惊。如果您正在寻找组件式乘法,可以使用
A.multiply(b)
,其中b可以是元素、向量或矩阵:


我也在寻找一些关于这方面的文档。