【发布时间】:2022-01-23 13:09:57
【问题描述】:
我正在尝试使用 numpy 计算两个二维向量的点积 以下是我目前所知道的:
- 如果我们有两个像 v 和 w 这样的一维 np 数组,我们可以使用
np.inner(v, w)来获得这两个向量的点积,但是由于一维数组的形状为 (m, ),因此我不喜欢使用它们通过 (m, ) 中丢失的第二维来制造麻烦 - 如果我们使用二维数组来定义 v 和 w,如下所示:
v = np.array([[1], [3], [5]])
w = np.array([[2], [4], [6]])
我们可以通过转置这些向量之一,然后使用矩阵乘法来计算点积:
vdotw = v.T @ w
或:
vdotw = w.T @ v
我的问题是是否有任何方法是 numpy 可以直接计算两个向量(定义为 2D 数组而不是那些有趣的 1D 数组)的点积而不转置其中之一?
【问题讨论】:
标签: python arrays numpy dot-product