Mathematik lernen · Studium

Numerische Lineare Algebra: LR-Zerlegung, Cholesky, Jacobi-Verfahren

Wie löst ein Computer Gleichungssysteme mit tausenden Unbekannten, schnell und zuverlässig? Du lernst die LR-Zerlegung, warum man Zeilen tauscht, die Cholesky-Zerlegung für symmetrische Matrizen und die Iterationsverfahren von Jacobi und Gauß-Seidel.

Auf der Seite Gauß-Verfahren löst du Gleichungssysteme mit Zeilenumformungen. Für den Computer ist dasselbe Verfahren die Grundlage fast aller Rechnungen in Technik und Wissenschaft: Strukturberechnung, Wettermodelle, Regression, Bildverarbeitung. Dort geht es um Systeme mit n=103 bis 109 Unbekannten, und zwei Fragen entscheiden: Wie viel Rechenarbeit braucht das Verfahren, und wie verlässlich ist das Ergebnis trotz Rundungsfehlern?

Die Antwort ist eine geschickte Umformulierung: Man zerlegt die Matrix einmal in zwei Dreiecksmatrizen und löst danach beliebig viele rechte Seiten billig. Für symmetrische positiv definite Matrizen geht es mit der Cholesky-Zerlegung doppelt so schnell. Für sehr große dünnbesetzte Systeme nimmt man stattdessen Iterationsverfahren. Dazu brauchst du die Begriffe aus Numerik-Grundlagen (Rundungsfehler, Kondition), das Lösen linearer Systeme und für die Konvergenz den Banachschen Fixpunktsatz aus Metrische Räume und Topologie.

Dreieckssysteme

Ein System mit Dreiecksmatrix lässt sich ohne Elimination lösen. Bei der oberen Dreiecksmatrix R löst man von unten nach oben (Rückwärtseinsetzen): xn=ynrnn und xi=1rii(yi−∑k=i+1nrikxk). Bei der unteren Dreiecksmatrix L geht es von oben nach unten (Vorwärtseinsetzen): yi=1lii(bi−∑k=1i−1likyk). Beides kostet nur etwa n2 Operationen, denn für die i-te Zeile braucht man n−i beziehungsweise i−1 Multiplikationen.

Die LR-Zerlegung

Das Gauß-Verfahren erzeugt aus A eine obere Dreiecksmatrix R. Merkt man sich die Eliminationsfaktoren lik=aikakk, mit denen man das lik-Fache von Zeile k von Zeile i abgezogen hat, in einer Matrix L, so gilt A=LR.

Beweisidee (Induktion). Schreibe A=(a11r⊤cA′) mit a11≠0. Dann ist

A=(10c/a11E)(a11r⊤0A′−cr⊤a11).

Die verbleibende Matrix S=A′−cr⊤a11 (das Schur-Komplement) ist eine (n−1)×(n−1)-Matrix, auf die man dasselbe anwendet. Die Voraussetzung über die Hauptminoren stellt sicher, dass jedes Pivotelement ungleich 0 ist. Die Eindeutigkeit folgt so: Aus L1R1=L2R2 ergibt sich L2−1L1=R2R1−1. Links steht eine untere Dreiecksmatrix mit Einsen auf der Diagonale, rechts eine obere Dreiecksmatrix. Beides zugleich ist nur die Einheitsmatrix, also ist L1=L2 und R1=R2.

Aufwand. Im Schritt k werden für n−k Zeilen je n−k Multiplikationen und Subtraktionen gebraucht. Das sind ∑k=1n−1(n−k)2≈n33 Multiplikationen und ebenso viele Subtraktionen, zusammen etwa 23n3 Operationen. Für n=1000 sind das gut 6,7·108 Operationen, auf einem Rechner Sekundenbruchteile. Das Berechnen der Inversen kostet etwa das Dreifache, und das Auswerten der Determinante nach der Leibniz-Formel mit n! Summanden wäre für n=20 schon unmöglich.

Pivotisierung

Ist ein Pivotelement akk klein, ist der Faktor lik=aikakk riesig, und die Rundungsfehler wachsen ungebremst.

Die Spaltenpivotsuche vertauscht in jedem Schritt die Zeile so, dass das betragsgrößte Element der Spalte Pivotelement wird. Dann gilt |lik|≤1. Das Ergebnis ist PA=LR. Mit dieser Strategie ist das Gaußsche Verfahren in der Praxis rückwärtsstabil: Die berechnete Lösung ist die exakte Lösung eines nur wenig gestörten Systems. Das hat James Hardy Wilkinson in den 1960er-Jahren gezeigt. Die Genauigkeit des Ergebnisses hängt danach nur noch von der Konditionszahl ab, siehe Numerik-Grundlagen. Das Residuum r=b−Ax~ ist ein guter Indikator: Es gilt ‖x−x~‖‖x‖≤κ(A)‖r‖‖b‖.

Die Cholesky-Zerlegung

Für symmetrische, positiv definite Matrizen (siehe Definitheit), wie sie bei Normalgleichungen und Energieminimierung entstehen, geht es schneller und ohne Pivotisierung.

Beweisidee. Eine positiv definite Matrix hat nur positive Hauptminoren, also existiert A=LR ohne Pivotisierung, und die Pivotelemente rii sind positiv. Aus der Symmetrie folgt R=DL⊤ mit der Diagonalmatrix D=diag(rii). Dann ist A=LDL⊤=(LD1/2)(LD1/2)⊤, also G=LD1/2. Die Wurzeln sind wegen rii>0 reell. Umgekehrt ist das Verfahren ein Test auf positive Definitheit: Scheitert es an einer negativen Zahl unter der Wurzel, ist A nicht positiv definit.

Der Aufwand ist etwa 13n3 Operationen, halb so viel wie bei der LR-Zerlegung, weil nur die halbe Matrix gespeichert und berechnet wird. Das Verfahren ist ohne Pivotisierung stabil.

Iterative Verfahren

Bei sehr großen Systemen, die zudem dünnbesetzt sind (die meisten Einträge sind 0, wie bei der Diskretisierung von Differentialgleichungen), füllt die LR-Zerlegung die Nullen mit Zahlen auf und sprengt Speicher und Rechenzeit. Iterationsverfahren erzeugen stattdessen eine Folge x(0),x(1),… von Näherungen, bei der jeder Schritt nur eine Matrix-Vektor-Multiplikation mit der dünnen Matrix braucht.

Man zerlegt A=L+D+U in den strikt unteren Teil L, die Diagonale D und den strikt oberen Teil U (diese Matrizen haben nichts mit den Faktoren der LR-Zerlegung zu tun) und löst die i-te Gleichung nach xi auf:

xi(k+1)=1aii(bi−∑j≠iaijxj(k))(Jacobi).

Beim Gauß-Seidel-Verfahren benutzt man in dieser Formel für j<i bereits die neuen Werte xj(k+1) dieses Schritts, die schon berechnet sind. Das konvergiert meist doppelt so schnell und braucht nur einen Vektor Speicher.

Beweis für Jacobi. Die Iteration ist x(k+1)=Bx(k)+c mit B=−D−1(L+U). Die Zeilensummennorm ist ‖B‖∞=maxi∑j≠i|aij||aii|=:q<1. Damit ist x↦Bx+c eine Kontraktion im vollständigen Raum (ℝn,‖·‖∞), und der Banachsche Fixpunktsatz liefert Existenz und Konvergenz, mit der Fehlerschranke ‖x(k)−x‖∞≤qk1−q‖x(1)−x(0)‖∞.

Moderne Verfahren wie das CG-Verfahren (konjugierte Gradienten, für symmetrisch positiv definite Matrizen) und GMRES sind viel schneller, bauen aber auf derselben Idee auf: Näherungen aus Matrix-Vektor-Produkten. Für Ausgleichsprobleme min‖Ax−b‖2 nutzt man die QR-Zerlegung (in der Praxis mit Householder-Spiegelungen, im Prinzip mit dem Gram-Schmidt-Verfahren der Seite Skalarprodukt und Orthogonalität), weil sie die Kondition nicht quadriert wie die Normalgleichungen A⊤Ax=A⊤b.

Typische Fehler

Übungen

Geschichte: von den Neun Kapiteln zum Computer

Das Jiu Zhang Suanshu (Neun Kapitel der Rechenkunst), entstanden zwischen etwa 200 v. Chr. und 100 n. Chr., enthält eine klare Demonstration des Eliminationsverfahrens, und Liu Hui kommentierte es 263. In Europa beschrieb Isaac Newton die Elimination in seinen Algebra-Vorlesungen, die 1707 gedruckt wurden. Joseph-Louis Lagrange führte 1759 für quadratische Formen eine Umformung ein, die einer Zerlegung A=U⊤DU mit einer oberen Dreiecksmatrix U und einer Diagonalmatrix D entspricht. Gauß erwähnte 1809 die „gewöhnliche Elimination“ für die Normalgleichungen der Ausgleichsrechnung und entwickelte in seiner Arbeit über die Bahn des Asteroiden Pallas von 1810 eine Rechenschreibweise dafür. Diese Schreibweise übernahmen später berufsmäßige Rechner, deshalb trägt das Verfahren heute seinen Namen. Matrizen benutzte man dabei noch nicht. Die Deutung als Zerlegung in Dreiecksmatrizen kam erst im 20. Jahrhundert. Das iterative Gauß-Seidel-Verfahren erwähnte Gauß 1823 in einem Brief an Gerling. Veröffentlicht wurde es von Seidel 1874. Tadeusz Banachiewicz beschrieb die Zerlegung 1938 als Matrixprodukt. John von Neumann und Alan Turing untersuchten die Rundungsfehler, Turing 1948, und gaben dem Verfahren seine heutige Form. James Hardy Wilkinson zeigte in den 1960er-Jahren, dass das Verfahren mit Pivotisierung rückwärtsstabil ist.

Häufige Fragen

Was ist der Unterschied zwischen LR- und LU-Zerlegung?

Keiner, es ist dieselbe Zerlegung. Im Deutschen sagt man oft LR (links, rechts), im Englischen LU (lower, upper).

Wann nehme ich ein direktes und wann ein iteratives Verfahren?

Direkte Verfahren (LR, Cholesky) für mittelgroße Systeme bis einige Zehntausend Unbekannte und für dichte Matrizen. Iterative Verfahren für sehr große, dünnbesetzte Systeme, bei denen die Zerlegung zu viel Speicher bräuchte.

Warum nicht einfach die Cramersche Regel?

Weil sie n+1 Determinanten braucht, die nach der Leibniz-Formel n! Summanden haben. Auch mit dem Gaußschen Verfahren für jede Determinante wäre es ungefähr n-mal teurer als die LR-Zerlegung. Sie ist ein Werkzeug für die Theorie, nicht für den Rechner.

Quellen und weiterführende Literatur

Fehler entdeckt oder einen Wunsch? Schreib uns eine kurze Nachricht, wir kümmern uns darum.

Fehler entdeckt oder einen Wunsch?

Deine Nachricht zur Seite „Numerische Lineare Algebra: LR-Zerlegung, Cholesky, Jacobi-Verfahren“. Die Adresse der Seite schicken wir automatisch mit.

Bitte schreib keine weiteren persönlichen Daten hinein. Mehr dazu im Datenschutz.