Kurseinheit 2: Blockmultiplikation bei Matrizen

Dr Franke Ghostwriter
KE2: Blockmultiplikation bei Matrizen

Hallo,
irgendwie verstehe ich die nicht genau.

Wenn ich zwei Matrizen habe, die in gleiche Blöcke unterteilt sind, und jeden Block der einen Matrix mit dem korrespondierenden Block der zweiten Matrix multipliziere (und die Ergebnisblöcke dann zur Ergebnismatrix zusammenfüge), erhalte ich beispielsweise andere Ergebnisse als in der Lösung angegeben (Aufgabe 6.4.2.)

Wie funktioniert diese Blockmultiplikation genau??
 
Konkret geht es um

Code:
[FONT=Courier New][COLOR=darkorange]1[/COLOR] [B][COLOR=red]-5 -3[/COLOR]  [/B]   [COLOR=darkorange]1[/COLOR]   [B][COLOR=red]4   -1[/COLOR][/B]    [COLOR=darkorange]1[/COLOR] [B][COLOR=red]0 0[/COLOR]  [/B]     
[COLOR=lime]0[/COLOR]  [COLOR=teal]1  1[/COLOR]  x  [COLOR=lime]0[/COLOR] [COLOR=teal]0.5 -0.5[/COLOR] =  [COLOR=lime]0[/COLOR] [COLOR=teal]1 0[/COLOR]
[COLOR=lime]0 [/COLOR][COLOR=teal]-1  0[/COLOR]     [COLOR=lime]0[/COLOR] [FONT=Courier New][COLOR=teal]0.5  0.5[/COLOR]    [COLOR=lime]0[/COLOR] [COLOR=teal]0 1[/COLOR]

D.h. um die beiden roten Blöcke und den roten Ergebnisblock. Wieso kommt man bei (-5 -3) * (4 -1) auf (0 0)?
 
Gar nicht, man multipliziert doch gar nicht (-5 -3) mit (4 -1). Wenn das ginge, könnte man ja einfach die Matrix in 1x1-Blöcke unterteilen und dann nur noch elementweise multiplizieren. Die (0 0) ergibt sich durch: 1*(4 -1) + (-5 -3)*(0.5 -0.5; 0.5 0.5). Das Semikolon soll "nächste Zeile" heißen. Also: Der Block an der Stelle (1,2) im Ergebnis ergibt sich durch: erste Block-Zeile der linken Matrix mal zweite Block-Spalte der rechten Matrix. Im Prinzip genauso wie wenn es keine Blöcke, sondern einzelne Zahlen wären.
 
@ chris - I need your help!!

Ich hab eine Frage hierzu:
Gar nicht, man multipliziert doch gar nicht (-5 -3) mit (4 -1). Wenn das ginge, könnte man ja einfach die Matrix in 1x1-Blöcke unterteilen und dann nur noch elementweise multiplizieren. Die (0 0) ergibt sich durch: 1*(4 -1) + (-5 -3)*(0.5 -0.5; 0.5 0.5). Das Semikolon soll "nächste Zeile" heißen. Also: Der Block an der Stelle (1,2) im Ergebnis ergibt sich durch: erste Block-Zeile der linken Matrix mal zweite Block-Spalte der rechten Matrix. Im Prinzip genauso wie wenn es keine Blöcke, sondern einzelne Zahlen wäre

Das Ergebnis in Zeile 2, Spalte 2 ist mir unklar : siehe Anhang, mein Rechenweg

sascha
 

Anhänge

  • blockmultiplikation.webp
    blockmultiplikation.webp
    133,8 KB · Aufrufe: 230
Von oben links zeilenweise nach unten rechts:
1*1/2 + 1*1/2 = 1
1*(-1/2) + 1*1/2 = 0
(-1)*1/2 + 1*1/2 = 0
(-1)*(-1/2) + 1*1/2 = 1

Ich sehe da wirklich keine Chance für ein Verständnisproblem, das muss man einfach nur fehlerfrei durchrechnen können.
 
Ich habe es immer noch nicht verstanden.

Ich kann zwar die Vorgehensweise nachvollziehen, aber woher weiß ich, welche Blöcke ich jeweils multiplizieren muss?

blockmulti.webp

Woher weiß ich hier z.B., welche Blöcke ich addieren/multiplizieren muss um auf Block C1 zu kommen (im Buchausschnitt steht ja, es sei "leicht zu sehen" 😡)...?
 
Es funktioniert ganz genauso wie die normale Matrixmultiplikation. Wenn du eine Matrix irgendwie in Blöcke A,B,C,D und die andere nach dem gleichen Schema in E,F,G,H aufgeteilt hast:
[tex]\left ( \begin{array}{cc}A & B\\C & D\end{array} \right ) \cdot \left ( \begin{array}{cc}E & F\\G & H\end{array} \right ) \eq \left ( \begin{array}{cc}AE + BG & AF + BH \\ CE + DG & CF + DH\end{array} \right )[/tex] (sorry wegen dem falschen = Zeichen, das LaTeX hier spinnt im Zusammenhang mit Matrizen.)
Das sind also lauter einzelne Matrixmultiplikationen. Lohnt sich offensichtlich nur, wenn man viele Null-Blöcke hat.
 
Oben