Умножение матриц Python - добавление в пустой список - PullRequest
0 голосов
/ 07 мая 2018

Как генерировать случайные матрицы и эффективно их умножать.

Вот что я сделал:

`mat1 = []
for i in range(0, order):
    num1 = random.sample(range(1,10), order)
    print(num1)
    mat1.append(num1)
print()

print("Result of Matrix Multiplication.")
for p in range(len(mat1)):
    for q in range(len(mat2[0])):
        for r in range(len(mat2)):
            res_matrix[p][q] += mat1[p][r] * mat2[r][q]
for res in res_matrix:

print(res)`

1 Ответ

0 голосов
/ 07 мая 2018

Вы можете использовать списки для генерации res_matrix, используя

res_matrix = [[0 for i in range(order)] for j in range(order)]

Кроме того, вы слышали о numpy? Он выполняет такие вычисления (и многие другие) простым и очень быстрым способом. Это то, что ваш код станет с NumPy

import numpy as np

print("Generate 1st Matrix")
mat1 = np.random.randint(1, 10, size=(order, order))
print(mat1)

print("Generate 2nd Matrix")
mat2 = np.random.randint(1, 10, size=(order, order))
print(mat2)

res_matrix = mat1.dot(mat2)
print("Result of Matrix Multiplication.")
print(res_matrix)
...