умножение матриц - PullRequest
       6

умножение матриц

4 голосов
/ 28 сентября 2010

Я пытаюсь выяснить, как сделать своего рода скалярное умножение матриц в 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 ]

7 голосов
/ 28 сентября 2010

Использование вещания :

(a.T * b).T
1 голос
/ 18 сентября 2013

Альтернативой транспонированию a является изменение формы b, чтобы трансляция давала искомый результат:

a * b[:, np.newaxis]

Обратите внимание, что добавление новой оси к b даетследующий массив:

array([[11],
       [12]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...