Zusätze zum Gelben Rechenbuch LU-Zerlegung Peter Furlan Verlag Martina Furlan Inhaltsverzeichnis Definitionen 2 (Allgemeine) LU-Zerlegung 2 3 Vereinfachte LU-Zerlegung 3 4 Lösung eines linearen Gleichungssystems mit LU-Zerlegung. 4 5 Beispiele 5 6 Kurzschreibweisen 7 7 LU-Zerlegung mit Ansätzen Definitionen Die LU-Zerlegung oder LR-Zerlegung ist die Zerlegung einer quadratischen Matrix A in ein Produt A = PLU. Dabei ist L eine untere Dreiecsmatrix mit Einsen auf der Diagonale und U eine obere Dreiecsmatrix. Ist A nicht singulär, besteht die Diagonale von U aus Zahlen ungleich Null. P ist eine Permutationsmatrix, die aus der Einheitsmatrix durch Vertauschen von Spalten entsteht. Das bedeutet, dass P in jeder Zeile und Spalte genau eine Eins enthält und ansonsten aus Nullen besteht. Besondere Eigenschaft von P: es ist P = P. Bezeichnungen: LU bedeutet lower-upper, LR bedeutet lins-rechts. Reguläre Matrizen önnen stets als P LU-Produt geschrieben werden. In manchen Fällen ist die P-Matrix (die durch Pivotierung u.a. für bessere numerische Stabilität sorgt), nicht nötig oder erwünscht. Dann entsteht die vereinfachte LU-Zerlegung von A als A = LU.
2 (Allgemeine) LU-Zerlegung In diesem Rechenverfahren werden Matrizen folgender Form benutzt: L und ˆL haben diese Form u u, u, u +, u n, Û = (u ij). U hat dieselbe Gestalt. Start: P = L = E n, U = A. 2 Für jedes von bis n werden die folgenden Schritte durchgeführt: Zeilen vertauschen l Dieser Schritt ist nötig, falls U an der Position (,) eine Null enthält. Man ann auch an dieser Stelle pivotieren, und die Zeile mit derjenigen Zeile l darunter vertauschen, die in der Spalte das betragsgrößte Element enthält. Û ist U mit den Zeilen und l > vertauscht ˆL ist L, wobei die ersten Elemente der Zeilen und l vertauscht sind (für = ist hier nichts zu tun) P ist P wobei die Spalten und l vertauscht sind. l l P P L ˆL U Û Wird dieser Schritt übersprungen, wird einfach P := P, ˆL := L und Û := U gesetzt. 2 Eliminationsschritt In diesem Schritt werden Vielfache der Zeile zu den Zeilen darunter addiert. 2
l α l sei der Quotient der Einträge u l und u in Û, also α l = u l u. Dann entsteht U aus Û, indem das α l -fache der Zeile zu den Zeilen l mit l > addiert wird. Das ist genau das, was man beim Gauß-Algorithmus tut, um unterhalb des Diagonalelements u Nullen zu erzeugen. L ist ˆL mit Einträgen α l in Zeile l der Spalte. l v v, v, v +, v l, v n, +α l Zeile Übergang in ˆL Übergang in Û l v v, v, v +, -α l l v n, Wird in Û an der Position (l,) eine Null erzeugt, wird in ˆL an der Position (l,) das Negative von α l eingesetzt. 3 Mit P := P n, L := L n und U := U n ist die Zerlegung A = PLU erreicht. An jeder beliebigen Stelle ann eine Probe gemacht werden: Stets muss P L U = A und P ˆL Û = A sein. Bei dieser Variante der LU-Zerlegung hat die L-Matrix stets Einträge vom Betrag leiner als eins. 3 Vereinfachte LU-Zerlegung Die vereinfachte LU-Zerlegung nimmmt in L und U dieselben Umformungen wie oben im Eliminationsschritt vor. Die P-Matrix fällt ebenso weg wie der Schritt mit den Zeilenvertauschungen. 3
Beispiel : Zerlegung von A = 2 4 2 3 8 3 Wieder werden beide Matrizen in eine große geschrieben. [L U ] = [L U ] = 2 4 2 3 8 3 2 4 2 3 Die erste Zeile wird mit 2 multipliziert zur zweiten und mit multipliziert zur dritten addiert. Daher wird in L an in Spalte in der zweiten Zeile eine 2 und in der dritten eine eingetragen. Die zweite Zeile wird mit multipliziert zur dritten addiert. Daher wird in L = L 2 in Spalte 2 in der dritten Zeile eine eingetragen. Damit ist die LU-Zerlegung von A = LU mit L = L 2 und U = U 2 erbracht. Beispiel 2: Zerlegung von A = [ ] Dieses Beispiel zeigt, dass die vereinfachte LU-Zerlegung nicht immer möglich ist, da man ohne Zeilenvertauschungen eine Null in der unteren linen Ece von A = L erzeugen ann. Die allgemeine Zerlegung ist extrem einfach: es ist P = A und L = U = E 2. 4 Lösung eines linearen Gleichungssystems mit LU-Zerlegung. Zur Lösung von A x = b nimmt man folgende Schritte vor: Bestimme die LU-Zerlegung von A: A = PLU 2 Löse P z = b durch z = P b 3 Löse L y = z reursiv, beginnend mit y. 4 Löse U x = y reursiv, beginnend mit x n. Bei der vereinfachten LU-Zerlegung ist P = E, 2 fällt weg und es ist z = b. 4
5 Beispiele Beispiel : LU-Zerlegung von A = 6 5 3 3 7 3 5 2 4 4 4 2 8 Die drei Matrizen werden in einer großen Matrix zusammengefasst: 6 5 3 [P L U ] = [E E A] = 3 7 3 5 2 4 4 4 2 8 = Pivotierung: Das betragsgrößte Element der ersten Spalte von U ist die 2 in der dritten Zeile. Die erste und dritte Zeile in U werden vertauscht. Dann ändert sich in L nichts und in P werden die erste und dritte Spalte vertauscht. [P ˆL Û] = 2 Elimination. Die erste Zeile wird 2 4 4 4 3 7 3 5 6 5 3 2 8 (i) mit / 4 multipliziert und zur 2. Zeile addiert (ii) mit / 2 multipliziert und zur 3. Zeile addiert Daher werden in ˆL folgende Werte eingetragen: (i) / 4 an Position (2,) (ii) / 2 an Position (3,) [P L U ] = 2 4 4 4 / 4 6 4 4 / 2 3 2 2 8 = 2 Pivotierung. In der zweiten Spalte wird das betragsgrößte Element der zweiten bis vierten Zeile gesucht. Dies ist die 2. Daher werden in U zweite 5
und vierte Zeile vertauscht. In P vertauschen sich die zweite und vierte Spalte, in L die Anfänge der zweiten bis vierten Zeile bis zur Position =. 2 4 4 4 [P 2 ˆL Û] = 2 8 / 2 3 2 / 4 6 4 4 2 Elimination Die zweite Zeile wird (i) mit / 4 multipliziert und zur 3. Zeile addiert (ii) mit / 2 multipliziert und zur 4. Zeile addiert Daher werden in ˆL folgende Werte eingetragen: (i) / 4 an Position (3,2) (ii) / 2 an Position (4,2) [P 2 L 2 U 2 ] = 2 4 4 4 2 8 / 2 / 4 / 4 / 2 4 8 = 3 Pivotierung: In U 2 werden die dritte und vierte Zeile vertauscht, in P 2 dritte und vierte Spalte. In L 2 werden die ersten beiden Einträge(bis zur Spalte = 2) der dritten und vierten Zeile vertauscht. [P 3 ˆL 3 Û3] = 2 4 4 4 2 8 / 4 / 2 4 8 / 2 / 4 2 Im Eliminationsschritt wird in Û3 die mit / 4 multiplizierte dritte Zeile zur vierten addiert. Entsprechend wird in ˆL 3 an der Position (4,3) der Wert / 4 eingetragen. [P 3 L 3 U 3 ] = 2 4 4 4 2 8 / 4 / 2 4 8 / 2 / 4 / 4 8 Damit ist die LU-Zerlegung von A erbracht: es ist A = PLU = P 3 L 3 U 3 mit 6
2 4 4 4 P = L = / 4 / 2 und U = 2 8 4 8 / 2 / 4 / 4 8 Beispiel 2: A x = b mit A = 6 5 3 3 7 3 5 2 4 4 4 2 8 und b = 4 8 8 Die LU-Zerlegung von A ist bereits im vorigen Beispiel vorgenommen worden. 2 Die Lösungvon P z = b ist 8 z = P b = 4 8 = 8 4. 8 y 8 3 Löse L y = z, also y 2 / 4 / 2 y 3 = 8 4. / 2 / 4 / 4 Zeilenweise ergibt sich von oben y = 8, y 2 = 8, 2 4+y 3 = 4 y 3 = 6 und 4 2 4+y 4 = y 4 = 8 4 Löse U x = y, also 2 4 4 4 2 8 4 8 8 y 4 x x 2 x 3 x 4 8 = 8 6. 8 Zeilenweise ergibt sich von unten 8x 4 = 8 x 4 =, 4x 3 + 8 = 6 x 3 = 2, 2x 2 8 = 8 x 2 = und 2x 8+4 = 8 x =. Damit ist die Lösung x = 2 6 Kurzschreibweisen. Da bei der LU-Zerlegung viel geschrieben wird, bieten sich beim Rechnen von Hand Abürzungen an: 7
Die Spalten der P-Matrix bestehen aus den anonischen Einheitsvetoren. Bei der weiteren Berechnung wird nicht P, sondern P = P benötigt, die mit der rechten Seite des Gleichungssystems multipliziert werden. Statt der P-Matrix werden nur rechts von U die Indizes der (Zeilen)-Einheitsvetoren in P in der Form notiert: [ e ] d.h. werden in U die Spalten und l vertauscht, werden rechts davon in der P -Kurzschreibweise die Einträge an den Stellen und l vertauscht. b Die Spalte 3 4 bedeutet zum Beispiel, dass für b = b 2 b 3 das Produt 2 b 4 P b zu b b 3 b 4 b 2 wird. ergibt; d.h. in P b werden die Elemente von b so angeordnet, wie es die Abürzungszahlen für P angeben. 2 Die L- und U-Matrizen werden in einer einzigen Matrix notiert. Die Einträge von L werden in U an der Stelle notiert, an denen eine Null erzeugt worden ist. Dazu wird der Teil der Matrix, der zu L gehört, durch eine Linie abgetrennt. Bei einem Pivotierungsschritt werden dann die gesamten Zeilen der Matrix samt dem rechts danebenstehenden Vetor mit den P-Informationen vertauscht. 3 Wer noch fauler ist, ann folgendes machen: Wenn mit der -ten Zeile der Gaußschritt zur Erzeugung von L und U durchgeführt wurde, wird diese Zeile sowohl in L wie auch in U nie mehr verändert und braucht nicht erneut aufgeschrieben zu werden. Solche Zeilen werden durch ein mariert und erst am Schluß eingesammelt. Beispiel : Beispiel in Kurzschreibweise Ausgangssituation: [P L U ] = [E E A] : Pivotierung: Vertausche Zeilen und 3 [P ˆL Û] : 2 4 4 4 3 7 3 5 6 5 3 2 8 6 5 3 3 7 3 5 2 4 4 4 2 8 3 2 4 2 3. 4 8
Eliminationsschritt: Addiere das / 4 -fache der ersten Zeile zur zweiten und das / 2 -fache zur dritten (und das -fache zur vierten). 2 4 4 4 3 [P L U ] : / 4 6 4 4 2 / 2 3 2 2 8 4 Pivotierung: vertausche Zeilen 2 und 4 [P 2 ˆL Û] : 2 4 4 4 2 8 / 2 3 2 / 4 6 4 4 3 4 2 Elimination: Addiere das / 4 -fache der zweiten Zeile zur dritten und das / 2 - fache zur vierten. 2 4 4 4 3 [P 2 L 2 U 2 ] = 2 8 4 / 2 / 4 / 4 / 2 4 8 2 Pivotierung: vertausche Zeilen 3 und 4: [P 3 ˆL 3 Û3] : 2 4 4 4 2 8 / 4 / 2 4 8 / 2 / 4 3 4 2 Elimination: Addiere das / 4 -fache der dritten Zeile zur vierten: 2 4 4 4 3 [P 3 L 3 U 3 ] = 2 8 4 / 4 / 2 4 8 2 / 2 / 4 / 4 8 Daraus setzt man wie oben U und L zusammen, indem man für L den Teil unter der Trennlinie in eine Einheitsmatrix opiert und für U diesen Teil auf Null setzt: L = / 4 / 2 und U = / 2 / 4 / 4 2 4 4 4 2 8 4 8 8 Der Vetor neben dem Gleichungssystem gibt an, an welchen Positionen die Zeilen von P eine Eins enthalten: die erste an der dritten, die zweite an der vierten, die dritte an der ersten und die vierte an der zweiten Position. 9
P braucht allerdings nicht explizit berechnet zu werden. In z = P b erhält man b b 3 8 b = b 2 b 3 = 4 8 also z = b 4 b 2 = 8 4 b 4 8 und weiter geht es wie oben. 7 LU-Zerlegung mit Ansätzen Wichtige Eigenschaft: Das Produt einer (, )-Bandmatrix L und einer (, l)- Bandmatrix U ist eine (, l)-bandmatrix. Das lässt sich dadurch ausnutzen, dass man die LU-Zerlegung von Bandmatrizen durch einen Ansatz zu ermitteln versucht. Dieses Verfahren bestimmt eine LU-Zerlegung ohne Pivotierung. Man macht einen Ansatz für L als (, )-Bandmatrix mit einer Diagonale von Einsen und U als (, l)-bandmatrix. 2 Die erste Zeile des Produts wird ausgewertet. Das ergibt Bedingungen für die erste Zeile von U. Die erste Spalte ergibt Bedingungen für die erste Spalte von L. 3 Reursiv werden die restlichen Produte der -ten Zeile und Spalte des Produts ausgewertet. Zusammen mit den bereits bestimmten Elementen von L und U erhält man die fehlenden Elemente der -ten Zeile von U und der -ten Spalte von L 2 / 2 3 3 Beispiel : A = 2/ 3 4 4 3/ 4 5 5 4/ 5 6 b Eine (, l)-bandmatrix ist eine Matrix, in der neben der Diagonalen nur Ele- Bandmatrix mente von Null verschieden sein önnen, die höchstens Zeilen unter oder l Zeilen über der Diagonalen liegen. Eine (, )-Bandmatrix ist eine Diagonalmatrix, eine (, )-Bandmatrix wird Tridiagonalmatrix genannt. Tridiagonalmatrix Da A eine Tridiagonalmatrix ist, ist der Ansatz A = LU mit u u 2 l 2 L = l 32 l 43 und U = u 22 u 23 u 33 u 34 u 44 u 45 l 54 u 55
2 Nun werden die Produte der ersten Zeile und Spalte ausgewertet, die nicht von vornherein Null sind: u u 2 u 22 u 23 u 33 u 34 u 44 u 45 u 55 l 2 l 32 l 43 l 54 2 / 2 Daraus ergibt sich: u = u = und u 2 = 2 u 2 = 2 und dann mit dem schon gefundenen Wert von u : l 2 u = / 2 l 2 = / 2. 3 Dasselbe mit der zweiten Zeile und Spalte: 2 u 22 u 23 u 33 u 34 u 44 u 45 u 55 / 2 l 32 l 43 l 54 3 3 2/ 3 Wie oben ist: 2 / 2 + u 22 = 3 u 22 = 2 und u 23 = 3 u 23 = 3 und dann mit dem schon gefundenen Wert von u 22 : l 32 u 22 = 2/3 l 32 = / 3. 4 Dritte Zeile und Spalte:
/ 2 / 3 l 43 l 54 2 2 3 u 33 u 34 u 44 u 45 u 55 4 4 3/ 4 Genauso: / 3 3+ u 33 = 4 u 33 = 3 und u 34 = 4 u 34 = 4, und dann mit dem schon gefundenen Wert von u 33 : l 43 u 33 = 3 / 4 l 43 = / 4. 5 Vierte und fünfte Zeile und Spalte: 2 2 3 3 4 u 44 u 45 u 55 / 2 / 3 / 4 l 54 5 5 4/ 5 6 Vierte Zeile und Spalte: / 4 4+ u 44 = 5 u 44 = 4 und u 45 = 5 u 34 = 4, und dann mit dem schon gefundenen Wert von u 44 : l 54 u 44 = 4 / 5 l 54 = / 5. Schließlich ist in der unteren rechten Ece l 54 u 45 +u 55 = / 5 5+u 55 = 6 u 55 = 5. Damit ist A = LU mit 2 /2 L = /3 /4 und U = 2 3 3 4 4 5 /5 5 2