Функция np.matmul() в Python: умножение матриц

Существует два способа умножения матриц:

  1. Умножение матрицы на скаляр. Это известно как скалярное умножение.
  2. Умножение матрицы на другую матрицу. Это известно как умножение матриц.

В данном руководстве показано умножение матриц в Python с использованием массивов numpy и с помощью метода numpy matmul(). Итак, давайте подробно рассмотрим этот метод.

Что такое функция np.matmul() в Python?

Метод np.matmul() используется в Python для определения матричного произведения двух массивов. Функция numpy matmul() принимает arr1 и arr2 в качестве аргументов и возвращает матричное произведение входных массивов.

Чтобы умножить два массива в Python, используйте метод np.matmul(). В случае двумерных матриц возвращается обычное матричное произведение. Если предоставленные матрицы имеют размерность больше 2, они рассматриваются как стек матриц, находящихся в двух последних индексах, и передаются соответствующим образом.

Если какой-либо из двух массивов является одномерным, он продвигается в матрицу путем добавления 1 к его размерам. После выполнения матричного умножения добавленная единица удаляется.

Синтаксис

Параметры

Функция matmul() принимает не более трех параметров:

  1. arr1: array_like, первый входной массив.
  2. arr2: array_like, второй входной массив.
  3. out: ndarray, это необязательный параметр.

Это n-мерный массив, в котором должны храниться выходные данные. Предположим, что arr1 имеет форму(m,k), а arr2 имеет форму(k,n); они должны иметь форму(m,n). Если этот параметр не указан или отсутствует, возвращается только что выделенный массив.

Возвращаемое значение

Метод matmul() возвращает матричное произведение входных массивов. Скаляр создается только тогда, когда и arr1, и arr2 являются одномерными векторами.

Примеры программирования

  • Программа для демонстрации работы метода numpy.matmul() в случае обычной двумерной матрицы

См. следующий код.

Выход

Объяснение.

В приведенной выше программе мы взяли два двумерных входных массива с именами arr1 и arr2; мы отобразили вывод, отобразив матричное произведение обоих массивов. Результирующий массив также будет иметь вид(2,2).

  • Программа для демонстрации работы метода numpy.matmul() в случае, если какая-либо из матриц является одномерной матрицей.

См. следующий код.

Выход

Объяснение

В приведенной выше программе мы взяли двумерный входной массив с именем arr1 и еще один одномерный вектор с именем arr2. Затем мы отобразили вывод, отобразив матричное произведение обоих массивов. Результирующий массив также будет иметь вид(2, ).

Для более глубокого понимания продукта его можно понимать как:

Поскольку arr2 является одномерным вектором, он преобразуется в матрицу путем добавления к нему 1, и это может быть показано как: [[11], [2,1]]. Теперь после преобразования матричное произведение вычисляется как обычно и результат будет получен как [[3,3],[8,4]], но добавленный столбец снова будет удален; следовательно, конечным результатом будет [3,8], имеющее форму(2,).

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python