Упрощенное умножение матриц - возможно ли это?
Есть ли способ упростить
a=np.dot(a,b)
так же, как вы пишете a=a+b
как a+=b
? (a,b
оба np.array
)
1 ответ
В Python3.5+ вы можете использовать @
оператор для умножения матриц, например:
import numpy as np
a = np.random.randn(4, 10)
b = np.random.randn(10, 5)
c = a @ b
Это эквивалентно звонку c = np.matmul(a, b)
, Матричное умножение (@=
) еще не поддерживается (и, во всяком случае, в большинстве случаев не имеет смысла, поскольку выходные данные обычно имеют размеры, отличные от первого входа).
Также обратите внимание, что np.matmul
(а также @
) будет вести себя иначе np.dot
когда один или несколько входных массивов имеют>2 измерения (см. здесь).