NumPy矩阵乘法

4

我正在尝试在numpy中执行一种标量矩阵乘法。

我有

a = array(((1,2,3),(4,5,6)))
b = array((11,12))

and i want to do

a op b

导致
array(((1*11,2*11,3*11),(4*12,5*12,6*12))

现在我正在使用以下表达式

c = a * array((b, b, b)).transpose()

不过似乎有更高效的方法。

2个回答

7
利用广播技术(broadcasting):

传送门

(a.T * b).T

我认为这是问题要求的转置。 - Jon-Eric
@damien:不用客气。如果您点击左侧的勾选标记将我的答案标为已接受,我将不胜感激 :) - Roberto Bonvallet

1
替代转置操作 a 的方案是改变 b 的形状,以便广播得出所需的结果:
a * b[:, np.newaxis]

请注意,将新轴添加到 b 中会得到以下数组:
array([[11],
       [12]])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接