numpy矩阵乘法

时间:2010-09-28 02:23:50

标签: python matrix numpy

我试图弄清楚如何在numpy中进行一种标量矩阵乘法。

我有

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

我想做

a op b

导致

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

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

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

似乎必须有一种更有效的方法来做到这一点

2 个答案:

答案 0 :(得分:7)

利用broadcasting

(a.T * b).T

答案 1 :(得分:1)

转置a的替代方法是更改​​b的形状,使广播显示您正在寻找的结果:

a * b[:, np.newaxis]

请注意,将新轴添加到b会产生以下数组:

array([[11],
       [12]])