3.4 Der Gaußsche Algorithmus
Transcription
3.4 Der Gaußsche Algorithmus
94 3.4 Der Gaußsche Algorithmus Wir kommen jetzt zur expliziten numerischen Lösung des eingangs als eine Motivierung für die Lineare Algebra angegebenen linearen Gleichungssystems 3.4.1 n−1 X aik xk = bi , 0 ≤ i ≤ m − 1. k=0 Wie bereits mehrfach erwähnt, ist zunächst herauszufinden, ob es überhaupt Lösungen gibt. Gegebenenfalls muß dann eine spezielle Lösung x0 ∈ LI gesucht und eine Basis von LH angegeben werden, denn LI = x + LH . All dies leistet der Gaußsche Algorithmus, der jetzt vorgeführt werden wird. Wir gehen dazu von der Matrixversion des linearen Gleichungssystems aus: 3.4.2 A · x = b, A ∈ Km×n , b ∈ Km . Außerdem benutzen wir, daß diese Koeffizientenmatrix A auch als lineare Abbildung f verstanden werden kann, so daß wir die Untersuchung auf Lösbarkeit des Gleichungssystems als Problem formulieren können festzustellen, ob die rechte Seite b in Bild(f ) liegt. Diese Bedingung können wir mit Hilfe des folgenden Begriffs formulieren: 3.4.3 Definition (Spaltenrang einer Matrix) Die Dimension des Unterraumes U von Km , der von den Spalten einer Matrix M ∈ Km×n erzeugt wird, heißt der Spaltenrang von M. • (Analog kann man den Zeilenrang definieren, und wir werden weiter unten zeigen, daß beide gleich sind!) Bedeutet jetzt (A | b), die um die rechte Seite des Gleichungssystem erweiterte Matrix, dann ergibt sich 3.4.4 Folgerung Das lineare Gleichungssystem Ax = b ist genau dann lösbar, wenn der Spaltenrang der einfachen Matrix A gleich dem Spaltenrang der erweiterten Matrix (A | b) ist. Die Untersuchung des Gleichungssystems auf seine Lösbarkeit kann also mit Hilfe einer Rangbestimmung erfolgen. Um diese zu ermöglichen, bringen wir die erweiterte Matrix in eine übersichtliche Form, zu der ein Gleichungssystem mit derselben Lösungsgesamtheit gehört. Diese vereinfachte Form liefert uns den Rang, eine spezielle Lösung und schließlich sogar eine Basis von LH . Diese Umformung heißt Gaußscher Algorithmus und wird jetzt beschrieben. Zwecks Umformung können wir invertierbare Matrizen C auf beide Seiten der Gleichung A · x = b anwenden, denn das Gleichungssystem CAx = Cb hat dieselbe Lösungsgesamtheit LI . Wir listen deshalb zunächst diejenigen invertierbaren linearen Abbildungen und die ihnen entsprechenden Matrizen auf, die im Gaußschen Algorithmus Verwendung finden: 3.4. DER GAUSSSCHE ALGORITHMUS 95 3.4.5 Hilfssatz Ist E die Standardbasis von Km , dann sind die linearen Fortsetzungen fi der folgenden Abbildungen f¯i : E → Km K , i = 1, 2, 3, invertierbar: a) f¯1 vertauscht ei mit ej und läßt alle anderen ek fest. b) f¯2 multipliziert ei mit κ 6= 0 von rechts und läßt alle anderen ek fest. c) f¯3 ersetzt ei durch ei + ej · κ mit einem j 6= i und läßt alle ek , k 6= i, fest. Die Matrizen Ci := M (Em , fi , Em ) unterscheiden sich von der Einheitsmatrix Em nur geringfügig: α) C1 geht aus Em durch Vertauschen von i−ter Zeile und j−ter Spalte hervor. β) C2 unterscheidet sich von Em nur durch den Eintrag κ (statt 1) in i−ter Zeile und i−ter Spalte. γ) C3 unterscheidet sich von Em nur durch einen Eintrag k (statt 0) in i−ter Spalte, j−ter Zeile. Diese Matrizen Ci können wir also von links an A sowie b multiplizieren ohne daß sich die Lösungsgesamtheit LI ändert: 3.4.6 Folgerung An der Koeffizientenmatrix A und der rechten Seite b des Gleichungssystems können wir folgende Zeilenumformungen anwenden, ohne die Lösungsgesamtheit zu verändern.: i) Vertauschen zweier Zeilen, ii) Multiplizieren einer Zeile mit κ 6= 0, iii) Addieren des κ−fachen der j−ten Zeile zur i−ten, wobei i 6= j. 2 Diese Art von Umformungen nennen wir elementare Zeilemumformungen und wenden sie in dem nun folgenden Gauß–Algorithmus zur Lösung linearer Gleichungssysteme an! 0. Schritt (Aus bezeichnungstechnischen Gründen beschränken wir uns auf den “Spezialfall”, bei dem die nullte Spalte der Ausgangsmatrix A nicht aus lauter Nullen besteht. Andernfalls läßt sich die Unbestimmte x0 beliebig wählen.) Mit Hilfe von elementaren Zeilenumformungen bringt man das Ursprungsschema, die erweiterte Matrix, a00 ... a0,n−1 b0 .. .. .. , (A | b) = . . . am−1,0 ... am−1,n−1 bm−1 96 auf die Form 3.4.7 1 ∗ ... ∗ ∗ ∗ ∗ .. . 1 ∗ ... ∗ .. . ∗ 0 Dabei hat man spaltenweise von links nach rechts vorzugehen! (Sterne im Schema 3.4.7 sollen nicht näher spezifizierte Elemente andeuten.) Ganz offensichtlich ist der Spaltenrang dieser (neuen) einfachen Matrix gleich der Anzahl dieser mit einer Eins beginnenden “Stufen”. Und ebenso klar ist, daß die neue erweiterte Matrix genau dann denselben Spaltenrang wie die einfache hat, wenn die neue rechte Seite unterhalb der letzten Stufe lauter Nullen enthält. das ergibt folgendes wichtige Resultat: 3.4.8 Folgerung Genau dann, wenn A · x = b lösbar ist, geht, bei geeigneter Umformung, die erweiterte Matrix (A | b) in eine Matrix der folgenden Form über: 1 ∗ ... ∗ ∗ ∗ .. 1 ∗ ... ∗ . . . .. .. 3.4.9 . 1 ∗ ... ∗ ∗ 0 .. . 0 0 2 Nun sei das lineare Gleichungssystem als lösbar vorausgesetzt. Wir verabreden folgende Sprechweisen: Die Spalten im Schema 3.4.9, bei denen eine tiefer liegende “Treppenstufe”beginnt, nennen wir Basisspalten, die restlichen Spalten (ohne die letzte zusätzliche Spalte) heißen Fehlspalten. Basisspalten kennzeichnen wir durch Pfeile ↓, Fehlspalten durch Pfeile ↑: Basisspalten ↓ ↓ ↓ 1 ∗ ... ∗ 1 ∗ ... ∗ 0 ↑ ... ↑ ∗ .. . ∗ .. . .. . 1 ∗ ... ∗ ∗ 0 .. . ↑ ... ↑ F ehlspalten 0 ↑ ... ↑ 3.4. DER GAUSSSCHE ALGORITHMUS 97 1. Schritt Wieder nur mit elementaren Zeilenumformungen machen wir die in den Basisspalten von 3.4.9 oberhalb der 1 stehenden Elemente zu Null. Dabei fangen wir - im Gegensatz zum ersten Schritt - möglichst weit rechts, also mit der letzten Basisspalte an und arbeiten uns von rechts nach links spalten-, genauer: basisspaltenweise vor. Resultat ist ein Matrixschema der folgenden Form, bei dem wir in die erste Spalte zur Verdeutlichung die Nummern ji der Basisspalten geschrieben haben: j1 j2 jr−1 j0 1 ∗ ... ∗ 0 ∗ ... ∗ 0 ∗ ... ∗ ... 0 1 ∗ ... ∗ 0 ∗ ... ∗ ... 0 1 ∗ ... ∗ ... 0 .. . 1 0 | ∗ ... ∗ ∗ ... ∗ ∗ ... ∗ t0 t1 t2 .. . ∗ . . . ∗ tr−1 0 .. . 0 {z =:C=(cij ) } Wir erhalten jetzt i) eine spezielle Lösung des zugehörigen (und damit auch des urprünglichen) Systems, indem wir die Fehlvariablen (die Variablen xi zu den Fehlspalten) sämtlich gleich 0 setzen und auflösen, ii) und eine Basis von LH ergibt sich, indem wir eine Fehlvariable gleich -1 und alle anderen Fehlvariablen gleich 0 setzen. 3.4.10 Satz Ist die Spalte mit der Nummer p in der Matrix C = (cij ) gleich c0p .. . cmp und gleich der Fehlspalte von C mit der Nummer k, so setze 98 c0p j0 t0 j0 − te Zeile 0 0 . 0 .. . . . ... 0 0 .. t j1 − te Zeile . c1p j1 1 0 0 k 0 0 y := , x := + .. −1 p ... . 0 0 . 0 c j . . 2p 2 t2 j2 − te Zeile . . 0 .. .. .. .. . . Dann gilt: 1. x0 ist eine spezielle Lösung von A · x = b. 2. Die d = n − r Vektoren y 0 , . . . , y d−1 bilden eine Basis des Vektorraumes {y ∈ Rn | A · y = 0}. 3. Die Lösungsgesamtheit von A · x = b ist (vgl. ??): {x0 + κ0 y 0 + . . . + κd−1 y d−1 | κi ∈ K}. 2 3.4.11 Beispiel Gegeben sei folgendes lineare Gleichungssystem über R : −4x1 3x1 2x1 −2x1 2x1 + 4x2 − 3x2 − 2x2 + 2x2 − 2x2 − 8x3 + 6x3 + 4x3 − 4x3 + 4x3 − 24x4 + 18x4 + 10x4 − 12x4 + 10x4 − 44x5 + 30x5 + 16x5 − 18x5 + 18x5 + 4x6 − 9x6 − 4x6 + 10x6 − 56x7 + 42x7 + 20x7 − 28x7 + 20x7 Die dazugehörige erweiterte Matrix (A | b) lautet: –4 4 –8 –24 –44 4 3 –3 6 18 30 –9 2 –2 4 10 16 –4 –2 2 –4 –12 –18 10 2 –2 4 10 18 0 –56 42 20 –28 20 − 44x8 + 24x8 + 12x8 − 10x8 + 18x8 –44 24 12 –10 18 = −24 = 15 = 8. = −8 = 10 –24 15 8 . –8 10 1. Wir bringen zunächst eine Eins an die Position (0, 0), etwa durch die Division der nullten Zeile durch −4, kurz: (Z0 kZ0 /(−4)): 1 –1 2 6 11 –1 14 11 6 3 –3 6 18 30 –9 42 24 15 2 –2 4 10 16 –4 20 12 8 . –8 –2 2 –4 –12 –18 10 –28 –10 2 –2 4 10 18 0 20 18 10 3.4. DER GAUSSSCHE ALGORITHMUS 99 2. Nun räumen wir die unterhalb von 1 stehenden Elemente aus durch (Z1 kZ1 − 3Z0 ; Z2 kZ2 − 2Z0 ; 1 –1 2 0 0 0 0 0 0 0 0 0 0 0 0 Z3 kZ3 + 2Z0 ; Z4 kZ4 − 2Z0 ): 6 0 –2 0 –2 11 –3 –6 4 –4 –1 –6 –2 8 2 14 0 –8 0 –8 11 –9 –10 12 –4 6 –3 –4 . 4 –2 3. Nachdem wir die nullte Spalte von A weitgehend ausgeräumt haben, suchen wir in dem neuen Zahlenschema die nächste Spalte, die unterhalb der nullten Zeile vom Nullvektor verschieden ist. (Hier ist das also die Spalte mit der Nummer 3.) Durch Zeilenvertauschungen bringen wir eine von 0 verschiedene Zahl an die oberste Position des Rechtecks (etwa durch die Vertauschung (Z1 ↔ Z2 ) ): 1 –1 2 6 11 –1 14 11 6 0 0 0 −2 –6 –2 –8 –10 –4 0 0 0 0 –3 –6 0 –9 –3 . 0 0 0 0 4 8 0 12 4 –2 0 0 0 –2 –4 2 –8 –4 4. Durch Anwendung von (Z1 kZ1 /(−2)) erreichen wir, daß eine Eins an der Position (1, 3) steht. Um bequemer rechnen zu können, wenden wir noch (Z2 kZ2 /(−3); Z3 kZ3 /4; Z4 kZ4 /(−2)) an und erhalten: 1 0 0 0 0 –1 0 0 0 0 2 0 0 0 0 6 1 0 0 1 11 3 1 1 2 –1 1 2 2 –1 14 4 0 0 4 11 5 3 3 2 6 2 1 . 1 1 5. Jetzt sind die unterhalb von 1 stehenden Elemente zu 0 zu machen (Z4 kZ4 − Z1 ): 1 0 0 0 0 –1 0 0 0 0 2 0 0 0 0 6 1 0 0 0 11 3 1 1 –1 –1 1 2 2 –2 14 4 0 0 0 11 5 3 3 –3 6 2 1 . 1 –1 Nun ist diejenige Spalte zu suchen, die unterhalb der Zeile mit der Nummer 1 vom Nullvektor verschieden ist. 100 6. Da in unserem Beispiel bereits eine 1 an der Position (2, 4) steht, müssen nur noch die Einträge unterhalb der Eins zu 0 gemacht werden (Z3 kZ3 − Z2 ; Z4 kZ4 + Z2 ): 1 0 0 0 0 ↑ B –1 0 0 0 0 ↑ F 2 0 0 0 0 ↑ F 6 1 0 0 0 ↑ B 11 3 1 0 0 ↑ B –1 1 2 0 0 ↑ F 14 4 0 0 0 ↑ F 11 5 3 0 0 ↑ F 6 2 1 0 0 ( B= Basisspalte, F= Fehlspalte). 7. Damit ist der nullte Schritt durchgeführt, die Matrix besitzt Treppengestalt. Wir können folgende Eigenschaften direkt ablesen: • Das Gleichungssystem Ax = b ist lösbar. • Rang(A) = 3 (Anzahl der Basisspalten). • Der Vektorraum {y ∈ R8 | Ay = 0} ist fünfdimensional (Anzahl der Fehlspalten). 8. Als nächstes sind die in den Basisspalten oberhalb der unteren 1 stehenden Elemente zu eliminieren. Dabei gehen wir von rechts nach links vor, beginnen also mit der Basisspalte mit der Nummer 2. Die Umformungen (Z1 kZ1 − 3Z2 ; Z0 kZ0 − 11Z2 ) liefern: 1 0 0 0 0 –1 0 0 0 0 2 0 0 0 0 6 1 0 0 0 0 0 1 0 0 ↑ –23 –5 2 0 0 14 4 0 0 0 –22 –4 3 0 0 –5 –1 1 . 0 0 9. Mit (Z0 kZ0 − 6Z1 ) erreichen wir das entsprechende für die nächste Basisspalte: 1 0 0 0 0 –1 0 0 0 0 2 0 0 0 0 0 1 0 0 0 ↑ 0 0 1 0 0 7 –5 2 0 0 –10 4 0 0 0 2 –4 3 0 0 Die nullte Basisspalte hat bereits die gewünschte Gestalt. 1 –1 1 . 0 0 3.4. DER GAUSSSCHE ALGORITHMUS 101 10. Erinnern wir uns, daß die Spalten von C den Komponenten x0 , . . . , x7 des Vektors x entsprechen. x0 , x3 , x4 sind also Basisspaltenvariable, während x1 , x2 , x5 , x6 , x7 Fehlspaltenvariable sind. Im Schema liest sich dies so: B F F B . x= B F F F Eine spezielle Lösung erhalten wir nun dadurch, daß wir die Einträge der rechten Spalte von oben nach unten auf die durch ein B gekennzeichneten Plätze verteilen und die F-Plätze mit 0 besetzen: 1 0 0 −1 X1 = 1 . 0 0 0 Eine Basis y 0 , . . . , y 4 von {y ∈ R8 | Ay = 0} erhalten wir so: Für die nullte Fehlspalte betrachten wir den nullten F-Platz im obigen Schema. Wir setzen an diese Stelle eine −1. Alle anderen F-Plätze werden mit 0 vorbesetzt. Nun verteilen wir die Einträge der nullten Fehlspalte von oben nach unten auf die B-Plätze und erhalten y 0 . Entsprechend ergeben sich aus den anderen Fehlspalten die Vektoren y 1 , . . . , y 4 . 7 2 −10 2 −1 0 y = -1 0 0 y1 0 0 0 0 = 0 -1 0 y2 0 0 0 0 = 0 0 −5 3 2 y -1 0 0 = 0 0 4 4 0 y 0 -1 0 = 0 0 −4 3 0 0 -1 Wir bemerken vor allem, daß diese y i linear unabhängig sind, das homogene System lösen und deshalb eine Basis von LH besitzen, denn ihre Anzahl entspricht gerade der Dimension von LH . Dieser Raum ist ja gerade der Kern der von A beschriebenen Abbildung, so daß gilt: dim(LH ) = dim(Kern(f )) = n − dim(Bild(f )) = n − dim(Spaltenraum vonA) = n − Anzahl der Basisspalten = Anzahl der Fehlspalten. 102 Die Lösungsgesamtheit des linearen Gleichungssystems ist demnach: {x ∈ R8 | x = x0 + κ0 y 0 + κ1 y 1 + κ2 y 2 + κ3 y 3 + κ4 y 4 mit κi ∈ R}. 3