Матричное умножение в NumPy при помощи функции numpy.matmul() с примерами

Матричное умножение

Для осуществления матричного умножения двумерных массивов используется функция numpy.matmul(). Работает она следующим образом:

  1. В случае двумерных массивов производится обычное матричное умножение.
  2. Если размерность больше 2, то умножение интерпретируется как объединение двух массивов.
  3. Если один из массивов одномерный, то его размерность повышается до двумерного, а затем производится матричное умножение.
numpy.matmul(x, y, out=None)

В этом синтаксисе x, y — входящие массивы (скалярные величины недопустимы), а out — опциональный параметр (обычно тип выходящих данных задается как ndarray).

Пример:

Итак, умножим две матрицы при помощи numpy.matmul().

### Matmul: matruc product of two arrays
h = [[1,2],[3,4]] 
i = [[5,6],[7,8]] 
### 1*5+2*7 = 19
np.matmul(h, i)

Output:

array([[19, 22],       
            [43, 50]])

Определитель

И последнее, но важное. Если вам нужно вычислить определитель матрицы, то вы можете воспользоваться функцией np.linalg.det(). Обратите внимание, что в этой функции проверятся размерность (прим. переводчика: определитель можно вычислить только у квадратной матрицы).

## Determinant 2*2 matrix 5*8-7*6
np.linalg.det(i)

Output:

-2.000000000000005