numpy.vdot为2向量返回矩阵而不是标量?

时间:2016-03-17 21:53:00

标签: numpy matrix

v1=np.matrix([[-0.40824829],
 [-0.81649658],
 [-0.40824829]])
v2=np.matrix([[  8.94427191e-01],
 [ -4.47213595e-01],
 [  2.77555756e-16]])
np.vdot(v2, v1)

给出:

matrix([[-0.36514837]])

为什么不返回标量?

1 个答案:

答案 0 :(得分:1)

您可以使用np.einsum()来获取标量,方法是使用输入np.ndarraynp.matrix

np.einsum('ij, ij', v1, v2)

如果v1v2具有相同的shape