Matrix Multiplikation in Python?

Ich versuche multiplizieren von zwei Matrizen zusammen mit reinem python. Eingang (X1 ist ein 3x3 und Xt ist ein 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)]

wo Xt ist die zip-transponieren von einer anderen matrix. Nun, hier ist der code:

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

Den Fehler, dass python gibt mir dies: IndexError: list index out of range. Ich bin mir jetzt nicht sicher, ob Xt ist anerkannt als eine matrix und noch ein list-Objekt, aber technisch sollte das funktionieren.

InformationsquelleAutor der Frage Ammar | 2012-05-08

Schreibe einen Kommentar