Advent, Advent, 1 Monat weihnachtliche Laufzeit geschenkt.

Nicht bis zur Bescherung warten, Aktion nur gültig bis zum 18.12.2016!

Textversion des Videos

Transkript Matrizenmultiplikation

Hallo und willkommen! Es geht um die Matrizenmultiplikation. Bevor wir damit aber anfangen können, müssen wir noch ein paar Vorübungen machen. Zum Beispiel, was brauchen wir zu Anfang? Die Vektoren, wir müssen Vektoren skalar multiplizieren können. Wie sieht so etwas aus? Nehmen wir uns 2 Vektoren a und b, sagen wir mal mit n Komponenten, was auch immer n ist. Und das Skalarprodukt zwischen beiden schreibt man so und ist wie folgt definiert. Man multipliziert die Komponenten miteinander jeweils und addiert. Also die 1. Komponente von a multipliziert man mit der 1. Komponente von b, addiert dazu das Produkt, was entsteht aus der 2. Komponenten von a mit der 2. Komponente von b Und so geht das immer weiter, bis wir zum Ende kommen und die letzten beiden miteinander multiplizieren. So ist es abstakt definiert. Wenn wir es am Beispiel betrachten, dann wird es ganz einfach. Nehmen wir mal 2 zweikomponentige Vektoren. Voraussetzung ist hier, dass beide also für die Skalarmultiplikation - Das ist jetzt nicht die skalare Multiplikation, sondern die Skalarmultiplikation zwischen 2 Vektoren, nicht zu verwechseln. Wir multiplizieren also jetzt hier 2 Vektoren miteinander und (was nehmen wir hier) nehmen wir mal eine -3 und 6. Und das Skalarprodukt, wie sieht das aus? Man schreibt sich dazu den Vektor a am besten als Zeilenvektor und den Vektor b als Spaltenvektor, muss man aber nicht. Man kann auch beide als Spaltenvektoren schreiben. Und was wir jetzt machen, ist also die beiden Komponenten miteinander multiplizieren. Die ersten beiden Komponenten, das ist also 1×-3, und diese beiden miteinander multiplizieren und das addieren wir dann dazu. Was kommt heraus? -3+12=9. So, das ergibt also eine Zahl. Jetzt sehen wir hier auch: ergibt eine reelle Zahl. Das ist das Skalarprodukt von 2 Vektoren. Man nennt es das Skalarprodukt von 2 Vektoren, von a und b in diesem Falle. Und wichtig, nicht zu verwechseln mit der skalaren Multiplikation. Das Skalarprodukt ist also das, was man hier oben bildet aus 2 Vektoren. Und die skalare Multiplikation darf man nicht verwechseln, das ist die Multiplikation eines Skalars α, sagen wir mal mit einem Vektor v, einem n-Vektor, und sieht dann so aus, dass wir jede Komponente, wie viel auch immer wir haben (in diesem Fall haben wir ja n) mit α multipliziert. Und hier machen wir das ganz anders. Man nennt es aber auch skalarmultiplizieren. Man sagt, dass man die beiden Vektoren a und b skalarmultipliziert. So ist also die Skalarmultiplikation definiert. Zu unterscheiden von der skalaren Multiplikation, wo es darum geht, einen Skalar mit einem Vektor zu multiplizieren. Und hier beim Skalarprodukt oder bei der Skalarmultiplikation geht es darum, 2 Vektoren miteinander zu vereinen, um eine reelle Zahl daraus zu berechnen. Nehmen wir noch ein Beispiel. Nehmen wir mal einen Vektor mit etwas mehr Komponenten. Das sind jetzt 2 Komponenten. Nehmen wir mal 2 Vektoren mit mehr Komponenten. Nehmen wir noch ein letztes Beispiel für ein Skalarprodukt zwischen 2 Vektoren, nehmen wir mal 2 dreikomponentige Vektoren. Wollen wir die mal zusammenbringen und miteinander skalarmultiplizieren. Ja, was müssen wir dazu machen? Schreiben wir das mal hin, diesmal schreiben wir mal beide als Spaltenvektoren. Was müssen wir jetzt machen? Die Komponenten multiplizieren und das Ganze zusammen addieren. Also 2×(-1)+1×6+0×5 (das ist natürlich 0). Und was haben wir hier? -2+6, das ist =4. Gut, das Ergebnis dieser Multiplikation hier, dieser Skalarmultiplikation der beiden Vektoren a und b ist also die Zahl 4. So, das soll es zum Skalarprodukt sein. Und was wir jetzt brauchen, ist die Multiplikation von einer Matrix und einem Vektor. So, wie geht das? Nehmen wir uns einen Vektor v. Wir machen es erst mal ganz allgemein, dann führe ich Beispiele vor. Nehmen wir uns einen Vektor v mit n Komponenten und eine Matrix A. Naja, was geben wir der? Wichtig ist, dass sie genau so viele Spalten hat, wie der Vektor Komponenten. Geben wir ihr m Zeilen, aber n Spalten, das ist wichtig. Warum werden wir gleich sehen. Die Matrix A können wir auch schreiben als Gebilde, bestehend aus Zeilenvektoren, das wissen wir ja. Und die Zeilenvektoren, die benennen wir mal, denen geben wir mir mal diese Namen hier. Wie viele Zeilen hat sie überhaupt? Sie hat m Zeilen, also brauchen wir m Zeilenvektoren. Das ist also dieses Gebilde, dieses Objekt (ai)t, das ist also der i-te Zeilenvektor in dieser Darstellung. So, was machen wir jetzt? Wir möchten jetzt gern diesen Vektor v mit dieser Matrix A multiplizieren. Und das geht wie folgt. Wir schreiben uns die Matrix A als Gebilde, bestehend also diesen Zeilenvektoren hin und den Vektor daneben. Und was wir jetzt machen, das wir hier eine neue Matrix konstruieren. Und das geht so, dass wir diesen Vektor mit dem Zeilenvektor skalarmultiplizieren. Und so machen wir das mit jedem Zeilenvektor. Wir lassen also hier diesen Vektor v durch diese Matrix hier laufen und skalarmultiplizieren diesen Vektor mit den Zeilenvektoren. Heraus kommen jedes Mal Zahlen. Und diese Zahlen, ja was sind das für Zahlen, das ist eine Spalte, die wir erzeugen hiermit. Also es sind genau m Spalten, die wir jetzt erzeugen, es ist ein m-spaltiger Vektor. Was heraus kommt, ist also der Vektor b, das ist ein neuer Vektor. Das Ergebnis einer Multiplikation eines Vektors mit einer Matrix ist also ein neuer Vektor b. Und jetzt machen wir mal ein konkretes Beispiel, damit es verständlich wird. Nehmen wir mal eine ganz einfache quadratische Matrix: 4 Komponenten und einen Vektor (3 und 1). Wichtig ist also, dass der Vektor so viele Komponenten hat, wie die Matrix Spalten, damit man die Zeilenvektoren mit diesem Vektor skalarmultiplizieren kann. Wollen wir das mal in Angriff nehmen. Man sagt auch, dass man den Vektor durch die Matrix zieht. Ziehen wir den mal durch die Matrix. Wir müssen also jetzt hier diesen Vektor mit den Zeilenvektoren der Matrix A skalarmultiplizieren. Und wie geht das? Wir nehmen diesen Vektor, skalarmultiplizieren ihn mit diesem Zeilenvektor. Was ergibt das? Das ist der 1. Eintrag hier oben: 3×2+1×1. Das ist also das Ergebnis der Skalarmultiplikation dieses Vektors mit dem Zeilenvektor hier. Und das Gleiche machen wir mit dem hier. Diesen Vektor skalarmultiplizieren wir jetzt mit dem. Was ist das Ergebnis? Naja, also: 3×0+3×1. Was ergibt sich dann? 6+2=7 und 0+3. So, heraus kommt also ein neuer Vektor. Und den können wir von mir aus dann wieder b nennen. Das ist also dann b, das Ergebnis der Matrix-Vektor-Multiplikation. Also wir haben jetzt hier einen Vektor mit einer Matrix multipliziert. Heraus kommt ein neuer Vektor. Wichtig ist bei dieser Operation, dass die Matrix genauso viele Spalten hat, wie der Vektor Komponenten hat. Nur dann lässt sich dieses Vektor-Matrix-Produkt überhaupt bilden. Nehmen wir noch ein letztes Beispiel. Lassen wir den Vektor mal ein bisschen länger sein und mehr Komponenten haben, also 3 Komponenten. Und die Matrix, was machen wir mit der, wie viele Zeilen geben wir der? Geben wir der mal nur 2 Zeilen, dafür aber - und das ist wichtig - 3 Spalten. Wir brauchen 3 Spalten, damit wir die beiden miteinander verbinden können. Also rechnen wir das jetzt mal aus. Was passiert hier? Wir wollen also gerne den Vektor v durch die Matrix A ziehen. Und wie sieht das aus? Wichtig ist also hier, dass der Vektor genauso viele Komponenten hat, wie die Zeilenvektoren an Komponenten haben, also wie viele Spalten da sind. Gut. Wollen wir das jetzt mal durchziehen. Den Vektor ziehen wir jetzt durch diese Matrix. Nehmen wir diesen Vektor und skalarmultiplizieren ihn mit dieser Zeile und dann auch mit der und erzeugen dabei jedes Mal einen Eintrag. Dann ergibt sich ein neuer Vektor. Wie viele Komponenten hat der neue Vektor wohl? Der hat 2 Komponenten, sehen wir gleich. Also skalarmultiplizieren wir jetzt mal diesen Vektor mit dem Zeilenvektor. Was ergibt das? 2×1+0×1+3×(-1). Und was ergibt das hier, dieses Skalarprodukt der beiden, dieses Vektors mit dem Zeilenvektor? Ergibt: 0×1+0×6+9. So, wollen wir das mal ausrechnen. Das ergibt 2+(-3)=-1. Und was ergibt sich hier? Hier ergibt sich nur die 9. Also das Ergebnis dieser Matrix-Vektor-Multiplikation ist dieser Vektor. Nennen wir ihn wieder b. Das ist das Ergebnis. Wichtig ist also noch mal, dass die Zeilenvektoren mit diesem Vektor gut zusammenpassen. Wenn das so ist, wenn die Zeilenvektoren genauso viele Komponenten haben wie der Vektor, den man durch die Matrix ziehen möchte, dann und nur dann lässt sich das Vektor-Matrix-Produkt der beiden auch berechnen. Also was ist das Ergebnis einer Matrix-Vektor-Multiplikation? Das ist immer selbst auch wieder ein Vektor. Also jetzt sind Sie gut vorbereitet. Was wir jetzt gelernt haben, ist das Skalarprodukt zwischen 2 Vektoren und das Vektor-Matrix-Produkt oder Matrix-Vektor-Produkt, egal. Wir nennen es jetzt das Vektor-Matrix-Produkt. Damit sind wir vorbereitet und können uns daran machen, Matrizen zu multiplizieren. Dann wollen wir mal anfangen. Also jetzt möchten wir gerne 2 Matrizen multiplizieren. Da gibt es eine Voraussetzung, die müssen mir uns gleich mal anschauen. Geben wir mal der Matrix m Zeilen und n Spalten. Und der Matrix B geben wir mal n Zeilen und k Spalten. Die beiden können wir jetzt miteinander multiplizieren. Wichtig ist für die Matrizenmultiplikation, dass diese Matrix genauso viele Zeilen hat wie die Matrix B. Warum das so ist, werden wir gleich sehen. Also was wir jetzt machen, ist, dass wir gut vorbereitet das Matrizenprodukt bilden. Und heraus kommt, das kann ich Ihnen jetzt schon verraten, eine (m Kreuz k)-Matrix. So, aber bevor wir das also angehen können, müssen uns mal was überlegen. Wir schreiben die Matrix B mal so als ein Gebilde, bestehend aus Spaltenvektoren. Das sollen also jetzt die Spaltenvektoren sein. (Schreiben wir uns das mal so hin: Spaltenvektoren.) Und wie viele Spaltenvektoren hat B? B hat genau k Spalten, braucht also genau k Spaltenvektoren. Und wie viele Komponenten haben die? Nehmen wir mal den i-ten Spaltenvektor. Was ist das für ein Vektor, wie viele Komponenten hat der? Der hat genau so viele Komponenten, wie die Matrix B Zeilen hat. (Spaltenvektor: Die Anzahl seiner Komponenten entspricht der Anzahl der Zeilen dieser Matrix.) Also das ist ein Vektor im Rn, er hat genau n Komponenten. Und jetzt schreiben wir uns mal die Matrix B so hin als Gebilde, bestehend aus Spaltenvektoren. Und jetzt ist die Matrixmultiplikation einfach so definiert: Wir ziehen die Matrix A hier rein und bilden das Matrix-Vektor-Produkt zwischen der Matrix A und den einzelnen Spaltenvektoren. Heraus kommen, wie wir wissen, neue Vektoren. Geht das überhaupt, ist das möglich? Ja, das ist möglich, denn A hat genauso viele Spalten, wie B Komponenten hat. Und deswegen lässt sich hier das Matrix-Vektor-Produkt bilden. Und heraus kommt wieder ein neuer Vektor. Den können wir c1 nennen, für den 1. Spaltenvektor; c2 und so weiter. Und den nennen wir ck. Und heraus kommt also ein neues Gebilde, bestehend aus wieder Spaltenvektoren, und zwar k Spalten. Und heraus kommt eine k-spaltige Matrix (Matrix mit k Spalten). Und wie viele Komponenten haben diese Spaltenvektoren? Das entspricht ja der Anzahl der Zeilen. Naja, die Frage ist: Was passiert, wenn man einen Vektor mit n Komponenten durch eine Matrix mit n Spalten, aber m Zeilen zieht? Die Antwort ist, dass ein m-komponentiger Vektor herauskommt. Also die c sind Vektoren im Rm. Und das bedeutet, die Matrix, die wir jetzt mal C nennen wollen, die Matrix C, die sich ergibt als Produkt der beiden Matrizen A und B, ist eine Matrix mit k Spalten, aber m Zeilen, wo jeder Spaltenvektor m Komponenten hat; eine (m Kreuz k)-Matrix. Also, was können wir sagen jetzt? Wir machen das gleich an einem Beispiel noch mal deutlich. Wir können sagen, dass das Produkt aus einer (m Kreuz n)-Matrix und einer (n Kreuz k)-Matrix eine (m Kreuz k)-Matrix ergibt. Wichtig ist als Voraussetzung hier, dass die Spaltenvektoren der Matrix B mit den Zeilenvektoren der Matrix A zusammenpassen, so dass man Skalarprodukte bilden kann, beziehungsweise dass man die Spaltenvektoren der Matrix B durch die Matrix A ziehen kann. Man zieht also jeden einzelnen Spaltenvektor der Matrix B durch die Matrix A und erzeugt damit jedes Mal einen neuen Spaltenvektor, und das sind die C. Das sind genau diese hier, die dann als Spaltenvektoren die Matrix C ergeben. Und das war es auch erst mal zur Matrizenmultiplikation, so ist sie definiert. Und wir gucken uns jetzt mal ein konkretes Beispiel an. Was wir also machen müssen, ist die Spaltenvektoren der Matrix B durch die Matrix A ziehen und dann neue Spaltenvektoren erzeugen. Und die neuen ergeben die Matrix. Das machen wir jetzt mal an ein paar Beispielen deutlich. Wollen wir uns das mal konkret angucken, wie das ausschaut, wenn wir 2 Matrizen miteinander multiplizieren. Was nehmen wir da? Eine (2 Kreuz 3)-Matrix, und die wollen wir gerne multiplizieren mit einer Matrix B. Der müssen wir allerdings jetzt ein paar mehr Komponenten geben, mehr Zeilen. Wir brauchen mehr Zeilenvektoren. Wir brauchen jetzt genau das, was jetzt steht. Die Anzahl der Spalten ist hier nicht so wichtig. Entscheidend ist, dass man diese Vektoren durch diese Matrix ziehen kann, damit wir dieses Vektor-Matrix-Produkt berechnen können. Machen wir das mal. (So: (3,1,-6), (1,0;2,-1;3,4)). Ziehen wir mal diesen Vektor durch diese Matrix und dann den und erzeugen dabei jeweils die neuen Spaltenvektoren. Ziehen wir den mal durch die Matrix, also wir skalarmultiplizieren diesen Vektor mit diesem Zeilenvektor. Was ergibt das? 2+2=4+0, also 4. Dann nehmen wir jetzt diesen Vektor und skalarmultiplizieren ihn mit diesem Zeilenvektor. Das ergibt 3+2=5; -18. Was ist 5-18? Das ist -13. So, als Nächstes nehmen wir den Spaltenvektor und ziehen ihn durch diese Matrix. Das wäre also 0-1+0, also nur -1. Also das ist Skalarprodukt aus diesen beiden hier, gebildet aus diesem Vektor mit dem Zeilenvektor und haben ihn jetzt quasi umerzeugt. Und jetzt skalarmultiplizieren wir ihn noch mal mit dem hier. 0-1-1+(-24)=-25. So, das wäre also das Ergebnis der Matrizenmultiplikation. Nennen wir die Matrix C, eine neue Matrix, die jetzt entstanden ist. Wir haben also hier, indem wir die Spaltenvektoren der 2. Matrix, der Matrix B, durch die Matrix A gezogen haben, also das Vektor-Matrix-Produkt gebildet haben, die neuen Spaltenvektoren der Matrix C berechnet. Dann schauen wir doch mal was passiert, wenn wir das umdrehen, wenn wir also statt A×B B×A rechnen.  Schauen wir uns das mal an, was da herauskommt. Vielleicht geht das ja gar nicht. Aber wir stellen fest, es geht. Es geht deswegen, weil wir diese Spaltenvektoren tatsächlich durch diese Matrix ziehen können. Machen wir das mal. Also den skalarmultiplizieren mit dem hier. Was ergibt das? 2×1=2+0, also 2. Jetzt nehmen wir den, skalarmultiplizieren ihn mit diesem Vektor, mit dem Zeilenvektor. Das ist 4-3=+1. Und dann haben wir hier 6+12=18. So, jetzt ziehen wir mal den hier durch diese Matrix, das ergibt 1. Das Skalarprodukt aus diesem Vektor und diesem Zeilenvektor ergibt 1. Das Skalarprodukt dieses Vektors mit dem Zeilenvektor ergibt 2-1=1. Und mit dem hier, das ergibt einfach nur 7. So, jetzt haben wir noch einen. Also mit dem Spaltenvektor erzeugen wir hier einen neuen Spaltenvektor. Was ergibt das? Im 1. Falle, Skalarprodukt zwischen diesen beiden, ist 0. Und dann haben wir noch die 6. Das Skalarprodukt aus dem und diesem Zeilenvektor ist eben 6; 0+6=6. Und dann bilden wir noch das Skalarprodukt dieses Spaltenvektors mit diesem Zeilenvektor als Letztes, und dann haben wir hier 0 und -24. So, das war es auch schon. Was sehen wir? Wir sehen, es kommt eine ganz neue Matrix, nennen wir sie mal D. Und wir sehen, D ist nicht das Gleiche wie C. Das heißt, die Matrizenmultiplikation ist nicht kommutativ, also die Reihenfolge spielt eine Rolle. Das ist wichtig: Matrizenmultiplikation ist nicht kommutativ! Und das war es auch schon. Jetzt haben wir also gelernt, wie man Matrizen miteinander multipliziert. Ich bedanke mich fürs Zuhören.        

Informationen zum Video
4 Kommentare
  1. Default

    Gut erklärt, aber für mich zu lang! Außerdem nervt die Aufnahmequalität mit der Zeit!

    Von Michael Knapp10, vor fast 3 Jahren
  2. Default

    danke, gut erklährt. Die Wiederholung am Anfang ist gut um das Neue zu verstehen!

    Von Schmitz, vor mehr als 3 Jahren
  3. Default

    ja stimmt...hat mir sehr geholfen.

    Von Physikus10, vor etwa 6 Jahren
  4. Default

    Sehr gut erklärt, Danke!

    Von Donpag, vor etwa 6 Jahren