Pythonic多维矩阵乘法

时间:2019-05-23 14:47:11

标签: python numpy

浮点数A和B的矩阵的尺寸分别为(1000,120)(1000,120,3)

我想将它们相乘,以便得到的矩阵M的尺寸应为(1000,120,3),其逻辑应为M[0][0] = A[0][0] * B[0][0]A[0][0]是标量,{{1} }具有3个值的数组。

我可以使用循环来做到这一点,但是正在寻找Pythonic的方式来做到这一点。我已经尝试过B[0][0]A * Bnp.dot(A, B),但是它们都不产生预期的结果(因为我可能缺少一个基本概念)。

更新:

A @ B

2 个答案:

答案 0 :(得分:0)

您可以尝试tensordot

np.tensordot(A,B,axes=1)

如果您给出一个小的数值示例,将会更容易理解

答案 1 :(得分:0)

@PaulPanzer对评论提出了正确的答案,恰好是

A[..., None]*B