【发布时间】:2016-10-06 12:46:12
【问题描述】:
我需要计算 N 行的点积;假设对于每一行,我需要计算 1xM 乘以 MxM 乘以 Mx1。如果我只看一行,我会从这个计算中得到 1x1。但是我有 N 行,所以我想我会堆叠这些行,并将其提供给点积;但是我得到了 NxN 矩阵。我需要的结果是对角线的,但是有没有更快的方法来做这个计算,也不会浪费空间?理想情况下,我希望得到一个 Nx1 向量,而不是 NxN 矩阵。
例子
单行
r = np.array([[1,2]]).T
R = np.array([[2,2],[2,2]])
给了
[[18]]
多行
rs = np.array([[1,2],[4,4]]).T
R = np.array([[2,2],[2,2]])
print np.dot(np.dot(rs.T,R), rs)
[[ 18 48]
[ 48 128]]
【问题讨论】:
标签: performance numpy