🧮 Как умножать матрицы в numpy?

Для умножения матриц в библиотеке NumPy вы можете использовать функцию numpy.dot() или оператор @.

Вот пример использования функции numpy.dot():


import numpy as np

# Создаем две матрицы
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])

# Умножаем матрицы
result = np.dot(matrix1, matrix2)

print(result)

А вот пример с использованием оператора @:


import numpy as np

# Создаем две матрицы
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])

# Умножаем матрицы
result = matrix1 @ matrix2

print(result)

Обе функции выполняют умножение матрицы matrix1 на матрицу matrix2 и возвращают результат. Помните, что умножение матриц возможно только в случае, если количество столбцов первой матрицы равно количеству строк второй матрицы.

Детальный ответ

Как умножать матрицы в numpy

Умножение матрицы является важной операцией в линейной алгебре и находит широкое применение в различных областях, включая компьютерную графику, машинное обучение и научные вычисления. Библиотека numpy предоставляет удобные методы для умножения матриц, которые позволяют эффективно выполнять эту операцию.

Для начала, давайте разберемся, что такое матрицы. Матрица представляет собой двумерный массив чисел, расположенных в строках и столбцах. Умножение матриц сводится к последовательному умножению элементов строк первой матрицы на соответствующие элементы столбцов второй матрицы и суммированию результатов.

В numpy для умножения матриц используется функция matmul. Давайте рассмотрим пример:

import numpy as np

# Создаем две матрицы
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])

# Умножаем матрицы
result = np.matmul(matrix1, matrix2)

print(result)

Результатом будет новая матрица, полученная из умножения матрицы matrix1 на матрицу matrix2:

[[19 22]
 [43 50]]

Как видим, размерность результирующей матрицы определяется как количество строк первой матрицы и количество столбцов второй матрицы. В данном случае, исходные матрицы имеют размерность 2x2, поэтому результирующая матрица также будет иметь размерность 2x2.

Библиотека numpy также предлагает оператор '@' для умножения матриц, что делает код более читаемым. Вот аналогичный пример с использованием оператора '@':

import numpy as np

# Создаем две матрицы
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])

# Умножаем матрицы
result = matrix1 @ matrix2

print(result)

Результат будет идентичным:

[[19 22]
 [43 50]]

Если у вас многомерные матрицы, то можно использовать функцию ndarray.dot для их умножения. Например:

import numpy as np

# Создаем две многомерные матрицы
matrix1 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
matrix2 = np.array([[[9, 10], [11, 12]], [[13, 14], [15, 16]]])

# Умножаем матрицы
result = matrix1.dot(matrix2)

print(result)

Результатом будет новая многомерная матрица, полученная из умножения матрицы matrix1 на матрицу matrix2:

[[[31 34]
  [71 78]]

 [[75 82]
  [173 190]]]

Как видите, умножение матриц в numpy предоставляет удобные методы для эффективного выполнения этой операции. Надеюсь, этот материал был полезен вам для понимания процесса умножения матриц.

Видео по теме

#11. Произведение матриц и векторов, элементы линейной алгебры | NumPy уроки

4.7 Умножение матриц 🌶️. "Поколение Python": курс для продвинутых. Курс Stepik

Основы NumPy Python | Массивы, Матрицы И Операции Над Ними

Похожие статьи:

🧮 Как умножать матрицы в numpy?