我有两个numpy数组: 形状为(b, i)的A和形状为(b, o)的B。我想计算一个形状为(b, i, o)的数组R,其中每行l包含A的第l行和B的第l行的外积。目前我所拥有的代码如下:
import numpy as np
A = np.ones((10, 2))
B = np.ones((10, 6))
R = np.asarray([np.outer(a, b) for a, b in zip(A, B)])
assert R.shape == (10, 2, 6)
我认为这种方法太慢了,因为需要进行zip操作并将其最终转换为numpy数组。
有没有更有效的方法?