Умножение матриц в чистом Python?

пытаясь умножить две матрицы вместе, используя чистый Python. Входные данные (X1— 3x3, а Xt— 3x2):

X1 =  [[1.0016, 0.0, -16.0514], 
       [0.0, 10000.0, -40000.0], 
       [-16.0514, -40000.0, 160513.6437]]
Xt =  [(1.0, 1.0), 
       (0.0, 0.25), 
       (0.0, 0.0625)]

где Xt — zip-транспонирование другой матрицы. Теперь вот код:

def matrixmult (A, B):
    C = [[0 for row in range(len(A))] for col in range(len(B[0]))]
    for i in range(len(A)):
        for j in range(len(B[0])):
            for k in range(len(B)):
                C[i][j] += A[i][k]*B[k][j]
    return C

Ошибка, которую мне выдает python, такова:

IndexError: индекс списка вне допустимого диапазона.

Теперь я не уверен, что Xtраспознается как матрица и по-прежнему является объектом списка, но технически это должно работать.

27
задан Arkistarvh Kltzuonstev 7 September 2019 в 11:55
поделиться