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

Умножение матриц возможно только в том случае, если столбец второй матрицы равен строкам первой. В Python матрица может быть представлена ​​в виде вложенного списка (списка внутри списка).

Синтаксис

 # пример кода для матрицы 3x2 X = [[1,2  ], [3,4], [5,6]] 

1 из 4

Реализация

В Python умножение матриц может быть реализовано

  1. с использованием вложенных циклов
  2. с использованием понимания вложенного списка

Использование вложенных циклов

В этом случае для циклы используются для вычисления результирующей матрицы. Этот метод становится дорогостоящим с точки зрения вычислений, если порядок матриц увеличивается.

Пример кода

 # Программа для умножения двух матриц с использованием вложенных циклов # 3x2 matrixX = [[1,2], [3,  4], [4,5]] # 2x3 matrixY = [[1,2,3], [4,5,6]] # результирующая матрицаresult = [[0,0,0], [0,0,0]  , [0,0,0]] my_list = [] # итерация строк матрицы X для i в диапазоне (len (X)): # итерация столбцов матрицы Y для j в диапазоне (len (Y [0])): #  итерация строк матрицы Y для k в диапазоне (len (Y)): result [i] [j] + = X [i] [k] * Y [k] [j] для r в результате: print (r) 

Использование вложенных понимание списка

Понимание списков очень полезно при создании новых списков из других итераций. Этот метод используется для перебора каждого элемента для данного выражения..

Пример кода

 # Программа для умножения двух матриц с использованием списка # 3x2 matrixX = [[  1,2], [3,4], [4,5]] # 2x3 matrixY = [[1,2,3], [4,5,6]] # результирующая матрицаresultant = [[sum (a * b для  a, b в zip (X_row, Y_col)) для Y_col в zip (* Y)] для X_row в X] # матрица печати. ​​для x в результате: print (x) 

Оцените статью
nanomode.ru
Добавить комментарий