使用scipy计算稀疏矩阵的两列或多行之间的点积的可读性和有效方法是什么?假设我们想要取两个向量x
和y
,两列稀疏矩阵A
的点积,然后我正在做:
x = A.getcol(i)
y = A.getcol(j)
dot = (x.transpose() * y)[0,0]
为了提高效率, A
以csc
形式存储。是否有更可读的方式来获得点积而不牺牲效率?
注意:使用Python 2.7.2和scipy 0.11.0
答案 0 :(得分:3)
稀疏矩阵采用dot
方法,因此您也可以使用
dot = x.T.dot(y)[0, 0]
但我个人觉得你的代码至少和上面一样好。