Prof. Thomas Richter 6. Juli 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 06.07.2017 Erweiterungen der LR-Zerlegung Wir betrachten mögliche Erweiterungen oder Verbesserungen der LR-Zerlegung. Die LR-Zerlegung mit Permutierung PA = LR existiert für jede reguläre Matrix A R n n und lässt sich in O(n 3 ) Operationen berechnen. Daher ist die LR-Zerlegung das wichtigste numerische Lösungsverfahren für lineare Gleichungssysteme. Es ist universell Einsetzbar und wenn über die Matrix A nichts weiteres bekannt ist, so ist existieren oft auch keine besseren Verfahren. 1 LR-Zerlegung für spezielle Matrizen Folie 1 Satz 1 (Cholesky-Zerlegung). Es sei A R n n eine symmetrisch positiv definite Matrix. Dann existiert die die LR-Zerlegung ohne Pivotisierung. Alle im Zerlegungsprozess auftauchenden Pivot-Element sind positiv. Beweis. Die Matrix A sei symmetrisch positiv definit, d.h. A = A T sowie (Ax, x) 2 > 0 x 0. Mit dem ersten Einheitsvektor e 1 = (1, 0,..., 0) T gilt wegen der positiven Definitheit (Ae 1, e 1 ) = > 0. Wir werden zeigen, dass diese Eigenschaften für alle Teilmatrizen A (i) k,l>i zutreffen. (i) A R n n sei nun positiv. Wir zeigen, dass A (i) >1 auch symmetrisch positiv definit ist. Die Elemente von A (1) berechnen sich als a (1) kl = a kl a 1la k1, k = 2,..., n, l = 1,..., n 1
Es ist > 0, d.h. der Schritt ist ohne Pivotisierung durchführbar. Wegen der Symmetrie von A gilt a (1) kl = a kl a 1la k1 = a lk a l1a 1k = a lk und somit ist A (1) >1 auch symmetrisch. Wir definieren einen Vektor x = (x 1, x) mit x = (x 2,..., x n ) beliebig. x 1 R werden wir noch festlegen. Hiermit gilt 0 < (Ax, x) = ij n = x 2 1 + 2x 1 a 1j x j + = = x 2 1 1 + 2x 1 x 1 + 1 a ij x i x j = x 2 1 + 2x 1 n a 1j x j + a ij x i x j i, ( a ij a ) 1ja i1 x i x j + a }{{ 11 } i, =a (1) ij a 1j a i1 x i x j + i, a 1j x j + 1 a 2 11 a 1j x j 2 i, + (A i,j>1 x, (1) x) Die positive Definitheit von A (1) ij>1 folgt somit bei der Wahl x 1 = 1 a 1j x j. i, a 1j a i1 x i x j a (1) ij x ix j 2
Folie 2 Satz 2 (Cholesky-Zerlegung). Es sei A R n n eine symmetrisch positiv definite Matrix. Dann existiert die Cholesky-Zerlegung A = L L T mit einer regulären linken unteren Dreiecksmatrix L R n n (die Diagonalelemente sind nicht unbedingt 1). Beweis. Angenommen, durch A = LR sei die LR-Zerlegung von A gegeben. Wir definieren die (reguläre) Diagonalmatrix Hiermit definieren wir D = diag(r ii ). A = LR = LD R, mit einer rechten oberen Dreiecksmatrix R mit Einsen auf der Diagonalen. Da A = A T gilt A T = (LR) T = R T DL T = A = LD R. Wegen der Eindeutigkeit der LR-Zerlegung muss R T = L, DL T = R (1) gelten. Die Diagonalelemente sind alle positiv, und wir definieren D 1 2 als Diagonalmatrix D 1 2 = diag( Rii ). Dann ist und mit (1) folgt A = LR = LD 1 2 }{{} D 2 1 }{{ R } = L R L = R T. 3
Folie 3 Satz 3 (Cholesky-Zerlegung). Es sei A R n n eine symmetrisch positiv definite Matrix. Die Cholesky-Zerlegung A = L L T existiert und kann in Operationen berechnet werden. n 3 6 + O(n2 ) Zur Berechnung eignet sich der folgende direkte Algorithmus. Algorithmus 1: Direkte Berechnung der Cholesky-Zerlegung Gegeben sei eine symmetrisch positiv definite Matrix A R n n. Dann sind die Einträge l ij, j i der Cholesky-Zerlegung bestimmt durch die Vorschrift: 1 Für j von 1 bis n 2 l 11 =, bzw. l jj = 3 Für i von j + 1 bis n 4 l ij = l 1 jj ( a ij j 1 k=1 l ikl jk ) a jj j 1 k=1 l2 jk 4
2 Nachiteration Wir haben gesehen, dass die LR-Zerlegung oft eine starke Fehlerverstärkung mit sich bringt. Dies liegt einerseits an der sehr schlechten Konditionierung des Grundproblems Lösen eines linearen Gleichungssystems, der Prozess LR-Zerlegung führt jedoch zu weiterer Fehlerverstärkung. Nach Erstellen der LR-Zerlegung A = LR lösen wir das LGS durch Vorwärts- und Rückwärtseinsetzen. Ax = b Ly = b, Rx = y. Die Matrizen L und R sind wieder gegebenenfalls schlecht konditioniert. Es gilt R = L 1 A cond(r) = L 1 A (L 1 A) L L 1 A A 1 = cond(l) cond(a). Die Konditionszahl von R kann somit die Konditionszahl von A weit übersteigen. Es ist im Allgemeinen nicht möglich eine Abschätzung für die Konditionszahl von L anzugeben. Angenommen, wir führen in jedem Schritt der LR-Zerlegung eine Pivotisierung durch, so dass L ij 1 gilt. Dann folgt die (immer noch pessimistische) Abschätzung cond (L) n 2. Zusammen folgt cond (R) n 2 cond (A). Nachiteration Folie 4 Definition 1 (Defekt eines linearen Gleichungssystems). Es sei x R n die Näherung zur Lösung x R n von Ax = b. Die Größe bezeichnet den Defekt. d( x) := b A x, Angenommen, wir lösen die Defektgleichung Dann gilt für die Korrektur Az = d( x) = b A x. x + z = x + A 1 d( x) = x + A 1 b A 1 A x = A 1 = b. Man nennt dieses Prinzip Defekt-Korrektur. Die Lösung der Defekt-Gleichung korrigiert die Lösung des linearen Gleichungssystems. Diese Rechnung ist natürlich vereinfacht. Wäre es uns möglich die Defektgleichung ohne Fehler zu lösen, so könnten wir auch sofort das Gleichungssystem Ax = b ohne Fehler lösen. 5
Folie 5 Satz 4 (Nachiteration). Es sei ɛ > 0 eine hinreichend kleine Fehlertoleranz. Durch x R n sei eine Approximation zu Ax = b gegeben. Weiter sei d eine Approximation zu d( x) mit doppelter Genauigkeit, d.h. d( x) d d( x) cond(a)ε 2. (2) Es sei w eine Approximation der Defektgleichung Aw = d mit einfacher Genauigkeit, d.h. w w cond(a)ε. (3) w Dann gilt für die Korrektur x + w die Abschätzung x ( x + w) x x x εc(a) x mit einer Konstanten c(a), die von der Konditionszahl cond(a) abhängt. Beweis. Wir definieren zunächst eine Hilfsgröße: Es sei ŵ die exakte Lösung der exakten Defektgleichung Aŵ = d( x): Aŵ = b A x ŵ = A 1 b A 1 A x = x x (4) Für den Fehler ŵ w zwischen den exakten Lösungen von Aŵ = d( x) und Aw = d gilt laut Störungssatz ŵ w ŵ cond(a) d( x) d d( x) }{{} (2) ε 2 cond(a) 2. (5) Jetzt folgt durch Einschieben von ±ŵ sowie ±w in den Fehler x ( x + w) x ( x + w) x ( x + ŵ) + ŵ w + w w }{{}}{{}}{{} =0 wegen (4) (5) (3) ε 2 cond(a) 2 ŵ + ε cond(a) w ε cond(a) ( ) ε cond(a) ŵ + ŵ + w ŵ }{{} (5) ε cond(a) ( 1 + ε cond(a) + ε 2 cond(a) 2) ŵ εc(a) x x mit c(a) := cond(a)(1 + ε cond(a) + ε 2 cond(a) 2 ). Das Ergebnis folgt mit Teilen durch x. 6