Упрощенное умножение матриц - возможно ли это?

Есть ли способ упростить

 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 измерения (см. здесь).

Другие вопросы по тегам