Умножение матриц возможно только в том случае, если столбец второй матрицы равен строкам первой. В Python матрица может быть представлена в виде вложенного списка (списка внутри списка).
Содержание
Синтаксис
# пример кода для матрицы 3x2 X = [[1,2 ], [3,4], [5,6]]
1 из 4
Реализация
В Python умножение матриц может быть реализовано
- с использованием вложенных циклов
- с использованием понимания вложенного списка
Использование вложенных циклов
В этом случае для
циклы используются для вычисления результирующей матрицы. Этот метод становится дорогостоящим с точки зрения вычислений, если порядок матриц увеличивается.
Пример кода
# Программа для умножения двух матриц с использованием вложенных циклов # 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)