Übung: Matrixmultiplikation
PRETTY_MAT_1_ID = printSimpleMatrix(MAT_1)
PRETTY_MAT_2_ID = printSimpleMatrix(MAT_2)
Was ist das Produkt PRETTY_MAT_1_ID \cdot PRETTY_MAT_2_ID
?
Da PRETTY_MAT_1_ID
vom Typ (DIM_1 + "\\times" + DIM_2)
ist und PRETTY_MAT_2_ID
vom Typ (DIM_3 + "\\times" + DIM_4)
, wird das Produkt beider Matrizen vom Typ (DIM_1 + "\\times" + DIM_4)
sein.
PRETTY_MAT_1_ID + PRETTY_MAT_2_ID
=
printColoredDimMatrix(MAT_1, ROW_COLORS, true)
printColoredDimMatrix(MAT_2, COL_COLORS, false)
=
printSimpleMatrix(maskMatrix(FINAL_HINT_MAT, []))
Um den Wert einer Zeile i
und einer Spalte j
der Antwortmatrix zu finden, multipliziere die Elemente in der Zeile i
der ersten Matrix, PRETTY_MAT_1_ID
, mit den korrespondierenden Elementen in der Spalte j
aus der zweiten Matrix, PRETTY_MAT_2_ID
, und summiere die Produkte.
Um den Wert des Elements in Zeile 1, Spalte 1 der Antwortmatrix zu berechnen, müssen wir das erste Element in colorMarkup("\\text{" + ROW + " }1", ROW_COLORS[0])
von PRETTY_MAT_1_ID
mit dem ersten Element in colorMarkup("\\text{" + COLUMN + " }1", COL_COLORS[0])
aus PRETTY_MAT_2_ID
multiplizieren. Dasselbe machen wir mit dem zweiten Element in colorMarkup("\\text{" + ROW + " }1", ROW_COLORS[0])
von PRETTY_MAT_1_ID
und multiplizieren es mit dem zweiten Element in colorMarkup("\\text{" + COLUMN + " }1", COL_COLORS[0])
aus PRETTY_MAT_2_ID
, und so weiter. Wir addieren dann alle Produkte zusammen.
printSimpleMatrix(
maskMatrix(FINAL_HINT_MAT, [[1, 1]])
)
Das Gleiche gilt auch für das Element in der zweiten Zeile, erste Spalte: multipliziere die Elemente in colorMarkup("\\text{" + ROW + " }2", ROW_COLORS[1])
aus PRETTY_MAT_1_ID
mit den korrespondierenden Elementen in colorMarkup("\\text{" + COLUMN + " }1", COL_COLORS[0])
aus PRETTY_MAT_2_ID
und addiere die Produkte.
printSimpleMatrix(
maskMatrix(FINAL_HINT_MAT, [[1, 1], [2, 1]])
)
Wir können nach demselben Schema auch das Element in Zeile 1, Spalte 2 der Antwortmatrix bestimmen. Dazu multiplizieren wir wieder die Elemente in colorMarkup("\\text{" + ROW + " }1", ROW_COLORS[0])
aus PRETTY_MAT_1_ID
mit den korrespondierenden Elementen in colorMarkup("\\text{" + COLUMN + " }2", COL_COLORS[1])
aus PRETTY_MAT_2_ID
und addieren die Produkte.
printSimpleMatrix(
maskMatrix(FINAL_HINT_MAT, [[1, 1], [2, 1], [1, 2]])
)
Für den Rest das Antwortmatrix bedeutet dies:
printSimpleMatrix(FINAL_HINT_MAT)
Nachdem wir die Produkte ausgewertet haben erhalten wir:
PRETTY_MAT_1_ID \cdot PRETTY_MAT_2_ID =
printSimpleMatrix(SOLN_MAT)