решить умножение двух матриц - PullRequest
0 голосов
/ 25 февраля 2020

Как умножить две матрицы на python

input:

a=[[3 5]
   [5 6]]

b=[[7 6]
   [3 7]]

Ожидаемый результат:

ax =[[36 53]
     [65 72]]

1 Ответ

0 голосов
/ 25 февраля 2020

Есть два подхода к этому. Один из наиболее рекомендуемых вариантов - использовать numpy, как описано, он будет выглядеть следующим образом:

import numpy as np
a=[[3,5],
   [5,6]]

b=[[7,6],
   [3,7]]
print(np.matmul(a, b))

и возвращает

[[36 53]
[53 72]]

Теперь можно использовать циклы for, это будет медленнее чем numpy но если мы придерживаемся старого python, это выглядит примерно так.

result = [[0,0], [0,0]]

for i in range(len(a)):
   for j in range(len(b[0])):
       for k in range(len(b)):
           result[i][j] += a[i][k] * b[k][j]

print(result)

и это возвращает

[[36, 53], [53, 72]]

Так что это правильно.

...