Zurück Stand: 04.01.2016 Rechnen mit Matrizen In der Mathematik bezeichnet man mit Matrix im Allgemeinen ein rechteckiges Zahlenschema. In der allgemeinen Darstellung haben die Zahlen zwei Indizes, den ersten für die Zeilennummern, den zweiten für die Spaltennummer. ⎛ ⎜ A = ⎜ ⎜ ⎜ ⎝ a11 a12 .... a1n a21 a22 .... a2n ⋮ ⋮ ⋮ am1 am2 .... ⎞ ⎟ ⎟ = (a ) ik i=1...m, k=1...n ⎟ ⋮⎟ amn ⎠ Die dargestellte Matrix hat m Zeilen (erster Index) und n Spalten (zweiter Index). In der Matrix sind also n ∗ m Zahlen gespeichert, etwa reelle oder komplexe. Dazu unten mehr. Summe von Matrizen gleichen Formats (mxn ): Elementweise Addition , Produkt mit Skalar auch elementweise. A + B = (aik + bik )i=1...m, k=1...´n rA = (raik )i=1...m, k=1...´n mxn Mit diesen Operationen bilden Matrizen gleichen Formats einen Vektorraum der Dimension n*m, und zwar IRmxn für reelle und C Matrizen mit komplexen Zahlen als Elementen. für Produkt von Matrizen A mxn­Matrix, B nxl­Matrix , die Produktmatrix C = A ⋅ B ist dann eine Matrix mit m Zeilen und l Spalten. ai∗ bezeichne Zeile Nr. i von A , b∗k die Spalte Nr. k von B . n cik = ∑ aip ⋅ bpk = ai∗ ∙ b∗,k C = A ⋅ B p=1 Das Element der Produktmatrix C in der Zeile i und der Spalte k cik ist also das Skalarprodukt der Zeile Nr i von A (kurz Nr k von B ( b∗k . ) Beispiel Zeile i=2, Spalte k=1 (relevante Zahlen fettgedruckt). ⎛ Beispiel i=2, k=1 fett 2 ⎜1 ⎝ 1 1 1 1 1 2 1 0 ⎛ ⎞ ⎜ 2⎟ ⋅ ⎜ ⎜ ⎠ 1 ⎝ 4 7 −1 −5 3 1 ⎞ ⎛ ⎟ ⎟ = ⎜ 8⎟ ⎝ ⎠ 0 10 8 6 17 ai∗ ) und der Spalte ⎞ 10 ⎟ 5 ⎠ Interpretationen: Die Spalten von B bilden Linearkombinationen von Spalten von A . Hier nur mit der ersten Spalte vorgeführt. ⎛ 2 1 ⎜1 ⎝ 1 1 1 1 2 1 0 ⎛ ⎞ ⎜ 2⎟ ⋅ ⎜ ⎜ ⎠ 1 ⎝ 4 ⎞ 2 1 1 0 10 ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎟ ⎟ = 4 ⎜ 1 ⎟ + (−1) ⎜ 1 ⎟ + 3 ⎜ 1 ⎟ + 1 ⎜ 2 ⎟ = ⎜ 8 ⎟ 3⎟ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ 1 2 1 1 6 ⎠ 1 −1 Dies erklärt auch, warum wir ein Gleichungssystem als Matrixgleichung Ax⃗ = b ⃗ umschreiben können. 2 1 1 ⎜1 1 1 2 1 ⎛ ⎝ 1 ⎛ x ⎞ 2 1 1 0 2x − y + 1z + 0w b ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ 1⎞ y ⎜ ⎟ 2⎟ ⋅ ⎜ x + y + z + 2w ⎟ = ⎜ b2 ⎟ ⎟ = x ⎜1 ⎟ + y ⎜1 ⎟ + z ⎜1 ⎟ + w ⎜2 ⎟ = ⎜ ⎜ z⎟ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ b3 1 1 2 1 1 x + 2y + z + w ⎝ ⎠ w 0 ⎞ Koordinaten eines Vektors bestimmen. Wir sehen nun auch, wie wir das häufig auftretende Problem, die Koordinaten eines Vektors bezüglich 3 einer gegebenen Basis eines Vektorraums zu bestimmen, oder festzustellen, ob er in einem Unterraum des VR (etwa einer Ebene im R ) liegt, effizient mit dem Gauß­Algorithmus lösen können. → → ⃗ v1 , . . . . vn , Gegeben v und Basis Gesucht: x⃗ = (x 1 , . . . . x n ) Koordinaten, mit → → → → → v ⃗ = x1 v1 +. . . . +xn vn = ( v1 , v2 , . . . . . vn ) ⋅ x⃗ = A ⋅ x⃗ → → Vorgehen: Bilde die nx(n+1) Matrix mit den Spalten ( v1 , . . . . , vn , v)⃗ und wende den Gauss­Algorithmus darauf an. Prüfe ob lösbar? Wenn ja: Nach Rückwärtsauflösen erhält man die gesuchten Koordinaten. Weitere Interpretation des Produkts Wir können uns das Produkt AB also auch spaltenweise so geschrieben denken: AB = (A ⋅ b∗,1 |A ⋅ b∗,2 |. . . . . . |A ⋅ b∗,l ) Die Zeilen von A bilden Linearkombinationen der Zeilen von B . Wieder nur am Beispiel einer Zeile, der ersten von A, gezeigt. ⎛ (2 1 1 4 ⎜ −1 0) ⋅ ⎜ ⎜ 3 ⎝ 1 7 ⎞ −5 ⎟ ⎟ = 2 ⋅ (4 8⎟ 0 7 ) + 1 ⋅ ( −1 −5 ) + 1 ⋅ ( 3 8 ) + 0 ⋅ (1 0 ) = ( 10 17 ) ⎠ Besondere Produkte: Zeile mal Spalte = 1x1­Matrix ( entspricht einem Skalarprodukt), Spalte mal Zeile = nxn_Matrix. ⎛ b11 (a11 . . . . . . a1n ) ⋅ ⎜ ⎜ ⎝ ⎛ a11 ⎞ ⎟ a b a b a b ⋮ ⎟ = ( 11 11 + 12 21 +. . . . . . + 1n n1 ) bn1 ⎠ a11 b11 a11 b12 ...... a11 b1n a21 b11 a21 b12 ...... a21 b1n ⋮ ⋮ am1 b11 am1 b12 ⎛ ⎞ ⎜ ⎜ ⎟ ⋅ (b ⎜ 11 . . . . . . b1n ) = ⎜ ⋮⎟ ⎜ ⎜ ⎝ ⎠ am1 ⎝ ⎟ ⎟ ⎟ ⋮⎟ ⋮ ...... ⎞ am1 b1n ⎠ Die Transponierte Matrix ü f r Matrizen mit reellen Zahlen: A ∈ R mxn A : T T = (aik ) i=1...m, k=1...´n = (aki )i=1...m, k=1...´n Aus Zeilen werden also einfach Spalten oder umgekehrt. Beispiel ⎛ 4 7 ⎜ −1 ⎜ ⎜ 3 ⎝ T ⎞ −5 ⎟ ⎟ 8⎟ 1 0 4 −1 3 1 7 −5 8 0 = ( ) ⎠ Bei komplexen Matrizen muss man noch zusätzlich die Matrixelemente konjugieren. A ∈ C mxn : A H H ∗ = (aik ) i=1...m, k=1...´n T (AB) = B T A Das Matrixprodukt ist nicht kommutativ! Im allgemeinen ist AB = (a ki )i=1...m, k=1...´n T ≠ BA Lediglich bei speziellen Matrizen wie Diagonalmatrizen ist die Reihenfolge im Produkt egal. Assoziativ­ und Distributivgesetz gelten: (AB)C = A(BC), A(B + C) = AB + AC. Spur, Adjunkte, Inverse , Die Spur einer Matrix ist die Summe der Diagonalelemente Spur(A) = a11 + a22 +. . . . . . +ann Unter einer Diagonalmatrix D = Diag(t 1 , . . . , t n ) verstehen wir eine Matrix, die außerhalb der Diagonalen nur Nullen als Elemente besitzt. Eine spezielle Diaginalmatrix ist die Einheitsmatrix E = Diag(1, . . . . , 1). Multipliziert man eine Diagonalmatrix mit einem Vektor, so wird nur jede Komponente um einen Faktor gestreckt, aber keine Komponenten addiert. Die Rechtsinverse einer Matrix A ist die Lösung X der folgenden Matrixgleichung (n simultane Gleichungen!) AX = E = Diag(1, . . . . , 1) Entsprechend ist die Linksinverse die Lösung der Gleichung XA = E = Diag(1, . . . . , 1). −1 Eine Matrix die zugleich Rechtsinverse und Linksinverse ist, nennen wir die Inverse von A und bezeichnen sie mit A−1 . AA −1 = A −1 A = E, −1 (AB) = B −1 A −1 Berechnung (zum Beispiel) mit dem Gauß­Jordan Algorithmus. Bei kleinen und speziellen Matrizen auch über die Cramersche Regel. Gauss-Jordan: (A|E) → (E|A AX = E, −1 ) Beispiel: Bestimme die Inverse von 1 0 1 A = ⎜ −2 1 4⎟ 0 2 ⎛ ⎝ Löse die 3 Gleichungsysteme AX (3;3). = E 1 ⎞ ⎠ simultan durch Anwendung von Gauß­Jordan auf (A|E). Pivotfolge (1;1) , (2;2) (nichts zu rechnen!), 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 2 0 −1 (A|E) = ⎜ −2 1 4 0 1 0 ⎟ → ⎜0 1 6 2 1 0 ⎟ → ⎜0 1 0 8 1 −6 ⎟ = (E|A ⎛ ⎝ 1 0 2 0 0 1 ⎞ ⎛ ⎠ ⎝ 0 0 1 −1 0 1 ⎞ ⎛ ⎠ ⎝ 0 0 1 −1 0 1 ⎞ −1 ) ⎠ Determinante A sei eine reelle nxn Matrix. Die Determinante, Notationen det(A), oder auch |A| ist eine nichtlineare Funktion, die quadratische Matrizen auf eine Zahl abbildet. Wie der Name schon sagt (determinare lat, determine engl) kann man damit etwas entscheiden, zum Beispiel ob die Matrix vollen Rang hat. Es gelten nämlich folgende Äquivalenzen (Satz). det(A) ≠ 0 ⟺ Rang(A) = n ⟺ A ist regulär ⟺ A ist invertierbar ⟺ Ax = 0 nur für x = 0 Vorbemerkung: Die Determinante erfreut sich merkwürdigerweise großer Beliebtheit, obwohl sie für größere Matrizen sehr aufwendig zu berechnen ist. Genauer gesagt wächst der Rechenaufwand (Zahl der Multiplikationen zur Auswertung), wie man am Laplace'schen Entwicklungssatz (unten) ablesen kann, mit n! . Das ist so ziemlich das Unangenehmste an Komplexität, was man sich bei einem Algorithmus vorstellen kann. Zum Vergleich: Der Gauß­Algorithmus verlangt "nur" ca n ⋅ (4/3) Rechenoperationen. Und liefert auch gleich noch den genauen Rang, während die Determinante nur eine Aussage über Rang(A) = n oder Rang(A) < n $ macht. Deswegen entscheidet man die Frage nach dem Rang oder Invertierbarkeit in der Regel lieber mit einigen Gaußschritten. Lediglich bei kleinen Matrizen, in denen z.B Funktionen oder Parameter stehen, etwa beider exakten Berechnung von Eigenwerten, oder bei sehr speziellen Matrizen ist die Berechnung einer 3 Determinante sinnvoll. In der Regel dient sie eher theoretischen Zwecken und Begründungen. Berechnung der Determinante bei einer 2x2 Matrix ∣ a11 ∣ ∣ a21 a12 ∣ ∣ = a11 ⋅ a22 − a12 ⋅ a21 a22 ∣ Für größere Matrizen arbeitet man mit dem Laplaceschen Entwicklungssatz. Prinzip: Dies ist ein rekursives Verfahren, bei dem die Berechnung einer nxn­Determinante auf die Berechnung von n (n­1)x(n­1) Determinanten zurückgeführt wird. Man nimmt sich dazu eine Zeile (oder Spalte) der Ausgangsmatrix, geht diese Element für Element durch und streicht jeweils Zeile und Spalte, in der dieses Element steht. Von diesen (n­ 1)x(n­1) Restmatrizen berechnet man dann die Determinanten und setzt diese additiv (und mit dem Element und Vorzeichen gewichtet) zusammen. Genaue Fomulierung: A i,k sei die (n­1)x(n­1)­Matrix, die aus A entsteht, wenn man Zeile Nr. i und Spalte Nr. k aus A streicht. Entwicklung nach einer Zeile Nr i : n i+k |A| = ∑ aik (−1) |A i,k | k=1 Wenn die Indexsumme ungerade ist, kommt also ein Minus davor. (Anmerkung: In vielen Formelsammlungen wird mit Ai,k der Term i+k (−1) |A i,k | in obiger Summe bezeichnet, die sog. Adjunkte. ) Analog Entwicklung nach Spalte Nr. k n i+k |A| = ∑ aik (−1) |A i,k | i=1 Beispiel 3x3 Matrix mit allgemeinen Elementen, Entwicklung nach der 3. Zeile (i=3) ∣ a11 a12 a13 ∣ a21 a22 a23 ∣ a31 a32 a33 ∣ ∣ ∣ ∣ ∣ ∣ a12 = a31 ∣ ∣ a22 a13 ∣ ∣ a11 ∣ − a32 ∣ a23 ∣ ∣ a21 a13 ∣ ∣ a11 ∣ + a33 ∣ a23 ∣ ∣ a21 a12 ∣ ∣ a22 ∣ Die 2x2 Matrizen dann weiter nach obiger Formel berechnet ergibt. |A| = a31 (a12 a23 − a22 a13 ) − a32 (a11 a23 − a21 a13 ) + a33 (a11 a22 − a21 a12 ) Dieses Ergebnis hätte man auch mit der Regel von Sarrus erhalten (diese funktioniert nur bis 3x3 Matrizen!). Sinnvollerweise such man sich Zeilen oder Spalten aus, in denen bereits möglichst viele Nullen stehen. Dann spart man sich sich die Berechnung etlicher Unterdeterminanten. 2 1 1 0 ⎜1 A = ⎜ ⎜1 1 1 2 1 2⎟ ⎟ 1⎟ 3 1 0 ⎛ ⎝ 2 ⎞ ⎠ Bei dieser Matrix wären bei Entwicklung nach der vierten Spalte nur zwei 3x3 Determinanten zu berechnen, ansonsten immer mindestens 3. |A| = 0(−1)|A 14 | + 2|A 24 | − 1|A 34 | + 0|A 44 | = 2|A 24 | − 1|A 34 | Tricks und Vereinfachungen! Man kann auch einige Gauß­Schritte ausführen, um die Zahl der Nullen in einer Spalte zu erhöhen. Dabei muss man aber beachten, wie sich die Determinante dabei eventuell ändert. Dies geht aus den unten folgenden Sätzen zu ihren Eigenschaften (Regeln) hervor. Mit dem Entwicklungssatz sieht man durch passende Entwicklung sofort: Hat man schon eine obere oder untere Dreiecksmatrix (Nullen unterhalb bzw. oberhalb der Diagonale) vorliegen, so ist die Determinante gerade das Produkt der Diagonalelemente. Die Berechnung wird also sehr einfach. Sieht man schon gleich eine lineare Abhängigkeit von Zeilen oder Spalten, oder stellt eine solche durch einige Gauß­Schritte fest, dann kann man auf weitere Berechnung verzichten, denn die Determinante ist dann Null. Ebenso, wenn die Matrix bereits Nullzeilen oder Spalten enthält. Regeln für die Determinantenrechnung Die folgenden Regeln kann man sofort an einer 2x2­Matrix verfizieren, und sieht dann über Laplace'schen Entwicklungssatz, wie sich die Aussagen sofort auf höhere Dimensionen übertragen. 1. Multipliziert man eine Zeile oder Spalte mit einem Skalar, dann multipliziert sich auch die Matrix mit diesem. n 2. 1. Multipliziert man die ganze Matrix elementweise mit einem Skalar t , dann multipliziert sich die Matrix mit t . 3. Vertauschen von je zwei Zeilen (oder Spalten) dreht das Vorzeichen um. 4. Addiert man zu einer Zeile (oder Spalte) ein Vielfaches einer anderen, so ändert sich die Determinante nicht. 5. Eine Matrix und ihre Transponierte besitzen dieselbe Determinante. det(A) = det(A T ) 6. Determinante ist multiplikativ (beide Matrizen natürlich quadratisch): det(AB) = det(A)det(B) 7. Daraus folgend die Determinate für die Inverse: E = AA −1 ⇒ 1 = det(A)det(A −1 ) ⇒ det(A −1 1 ) = det(A) 8. Rang(A) < n ⟺ det(A) = 0. Cramersche Regel Für reguläre Matrizen (voller Rang, Determinanten nicht Null) kann man auch direkt eine Darstellung der Lösung von Ax = b ⃗ geben. Dazu bildet ⃗ man Matrizen Dk aus A indem man die Spalte Nr k durch die rechte Seite b ersetzt. Dann gilt die Darstellung xk = det(Dk ) , k = 1, . . , n det(A) Auch hier gilt wegen des allgemein hohen Rechenaufwands für Determinanten: Nur für Spezialfälle sinnvoll. Sinnvolles (und typisches) Beispiel zur Anwendung: kleine Matrix mit Parametern/Funktionen Löse folgendes Gleichungssystem; exp(t) sin(t) ( 2 det(A) = exp(t)(1 + t ) − sin(t) cos(t), x1 = det(D1 ) det(A) cos(t) 1 + t ∣1 det(D1 ) = ∣ ∣1 1 + t 1 + t = 2 2 2 x1 )( 1 ) = ( x2 ) 1 sin(t) ∣ 2 ∣ = 1 + t − sin(t), 2 ∣ − sin(t) exp(t)(1 + t ) − sin(t) cos(t) , x2 = det(D2 ) 1∣ ∣ = exp(t) − cos(t) 1∣ exp(t) − cos(t) = det(A) ∣ exp(t) det(D2 ) = ∣ ∣ cos(t) 2 exp(t)(1 + t ) − sin(t) cos(t) Man könnte die Matrix A mit der Cramerschen Regel auch einmal invertieren, wenn man die beiden Gleichungssysteme Ax = e 1⃗ und ⃗ löst. Damit kann dann für verschiedene rechte Seiten die Lösung immer durch eine kleine Matrixmultiplikation berechnet werden Ax = e 2 −1 x = A b. Dieser Aufwand lohnt sich also, wenn man das Gleichungssystem mit derselben Matrix oft lösen muss. (Vergl. 2. Semester/Thema Differentialgleichungen). Äquivalenzen Eigenschaften von Matrizen sind mit Lösbarkeit linearer Gleichungssysteme und anderen Begriffen verknüpft. Wir stellen hier tabellarisch alles bisher dargestellte zusammen. A sei hier immer eine quadratische nxn Matrix. Folgende Aussagen sind äquivalent: 1.det(A) ≠ 0 2. A ist invertierbar 3. Alle Spalten (und alle Zeilen) von A sind linear unabhängig (bilden Basis des Rn ) 4. Das Gleichungssystem Ax = b hat für jedes b genau eine Lösung x . 5. Ax = 0 besitzt nur die Lösung x = 0 6. A ist regulär 7. Rang(A) = n Folgende Aussagen sind äquivalent: 1.det(A) = 0 2. A ist nicht invertierbar 3. Spalten und Zeilen von A sind jeweils linear abhängig (bilden keine Basis des Rn ) 4. Das Gleichungssystem Ax = b hat nicht für jedes b eine Lösung x . 5. Ax = 0 besitzt mindestens eine Lösung x ≠ 0. 6. A ist singulär 7. Rang(A) < n Spezielle Matrizen (Diagonalmatrizen, Drehungen, Spiegelungen)