给定两个矩阵。
A: m * r
B: n * r
我希望生成另一个矩阵C:m * n
,每个条目C_ij
是通过计算A_i
和B_j
的外积得出的矩阵。
例如:
A: [[1, 2],
[3, 4]]
B: [[3, 1],
[1, 2]]
提供
C: [[[3, 1], [[1 ,2],
[6, 2]], [2 ,4]],
[9, 3], [[3, 6],
[12,4]], [4, 8]]]
我可以使用for循环来做到这一点,就像这样
for i in range (A.shape(0)):
for j in range (B.shape(0)):
C_ij = np.outer(A_i, B_j)
我想知道是否有一种向量化的方式来进行这个计算,以加快速度?
(m, n, r, r)
形状的数组,还是想要一个 2D(m, n)
形状的object
数据类型的数组,其中每个元素都是另一个数组?我强烈建议选择第一种选项,但根据你的描述,似乎更接近第二种。 - user2357112