Методы умножения матриц в Python: NumPy, встроенные функции и многое другое

Термин «умножение матриц Python» относится к процессу умножения матриц с использованием языка программирования Python. Теперь я объясню несколько методов умножения матриц в Python:

  1. NumPy: NumPy — это популярная библиотека для научных вычислений на Python, обеспечивающая эффективные функции умножения матриц. Вы можете использовать функцию numpy.matmul()или оператор @для умножения матриц. Вот пример:
import numpy as np
# Define two matrices
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
# Perform matrix multiplication
result = np.matmul(matrix1, matrix2)
# Alternatively: result = matrix1 @ matrix2
print(result)
  1. NumPy с dot(): помимо matmul(), NumPy также предоставляет функцию dot()для выполнения матричного умножения.
import numpy as np
# Define two matrices
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
# Perform matrix multiplication
result = np.dot(matrix1, matrix2)
print(result)
  1. Встроенная функция Python zip(). Вы также можете использовать встроенную функцию Python zip()вместе с генераторами списков для поэлементного умножения матриц, а затем суммируем результаты.
# Define two matrices
matrix1 = [[1, 2], [3, 4]]
matrix2 = [[5, 6], [7, 8]]
# Perform matrix multiplication
result = [[sum(a * b for a, b in zip(row, col)) for col in zip(*matrix2)] for row in matrix1]
print(result)
  1. einsum()NumPy: функция einsum()в NumPy позволяет выражать умножение матриц с использованием краткой строковой записи.
import numpy as np
# Define two matrices
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
# Perform matrix multiplication
result = np.einsum('ij, jk', matrix1, matrix2)
print(result)