如何在位于向量数组中的向量之间向量化 np.dot?

Puc*_*co4 1 python numpy vectorization numpy-ndarray

变量:

x 和 y 是形状为 (N, 2) 的 N 个二维向量数组。

题:

有没有办法在两个数组中对应于相同位置的向量之间执行点积,而无需像列表理解那样显式地编写元素:[np.dot(x[i], y[i]) for i in range(N)]

通常,在 numpy 的其他函数中,我使用该选项axis = 1来实现这一点,但我发现 np.dot 中不存在它。有没有办法设法矢量化这个操作?

Kev*_*vin 5

尝试这个:

N = 10
x = np.random.randn(N,2)
y = np.random.randn(N,2)

np.einsum("ij,ij->i", x, y)
Run Code Online (Sandbox Code Playgroud)