如何在位于向量数组中的向量之间向量化np.dot?
变量:
x 和 y 是形状为 (N, 2) 的 N 个二维向量数组。
题:
有没有办法在两个数组中对应于相同位置的向量之间执行点积,而无需像列表理解那样显式地编写元素:[np.dot(x[i], y[i]) for i in range(N)] ?
通常,在 numpy 的其他函数中,我使用该选项axis = 1来实现这一点,但我发现 np.dot 中不存在它。有没有办法设法矢量化这个操作?
回答
尝试这个:
N = 10
x = np.random.randn(N,2)
y = np.random.randn(N,2)
np.einsum("ij,ij->i", x, y)