【问题标题】:numpy matrix multiplicationnumpy 矩阵乘法
【发布时间】:2010-09-28 02:23:49
【问题描述】:

我正在尝试弄清楚如何在 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()

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

【问题讨论】:

    标签: python matrix numpy


    【解决方案1】:

    利用broadcasting

    (a.T * b).T
    

    【讨论】:

    • 我认为这是问题要求的转置。
    • @damien:不客气。如果您通过单击左侧的复选标记将我的答案标记为已接受,我将不胜感激:)
    【解决方案2】:

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

    a * b[:, np.newaxis]
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-22
      • 2015-01-07
      • 2017-03-04
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多