Warum funktioniert das CG-Verfahren? - S. Ritterbusch
Sei eine symmetrische positiv definite
-Matrix, d.h.
und für alle
gilt
.
Wir suchen eine Lösung im
-dimensionalen Vektorraums
des Gleichungssystems
für ein .
Diese Lösung kann man mit Hilfe des CG-Verfahrens (oder conjugate gradients method, bzw. konjugierte Gradienten Verfahren) bestimmen. Häufig wird das Verfahren aus der (namensgebenden) Sicht einer Minimierung einer quadratischen Form beschrieben, im Gegensatz dazu wird es hier aus der Sicht der Basisdarstellung beschrieben, die im Algorithmus schrittweise gebildet wird. Dieser Zugang hat den Vorteil, dass die einzelnen Schritte und die Eigenschaften konstruktiv leichter ersichtlich werden, statt wie sonst oft üblich einen gegebenen Algorithmus im Nachhinein nur zu belegen.
Eine Basisdarstellung
Die Grundidee des Verfahrens ist, dass wir ausnutzen, dass eine positiv definite symmetrische Matrix ein Skalarprodukt auf dem Vektorraum definiert:
Mit Hilfe des Gram-Schmidtschen Orthogonalisierungsverfahren kann man somit eine -orthogonale Basis
, d.h.
wenn
, des
-dimensionalen Vektorraums
erzeugen und die Lösung in dieser Basis mit Koeffizienten
darstellen:
Multipliziert man die zu lösende Gleichung von links mit den Basisvektoren so erhalten wir die Koeffizienten sehr schnell dank der
-Orthogonalität der Basis
:
Die Koeffizienten sind also durch bestimmt. Im CG-Verfahren berechnet man die
und orthogonale
schrittweise und erhält jeweils eine neue Näherung
an die Lösung:
Spätestens im -ten Schritt ist die Lösung
erreicht und wegen der
-Orthogonalität der Basis, sind die Näherungen als
-orthogonale Projektionen der Lösung
auf die Untervektorräume
in jedem Schritt in diesem Sinne optimal. Es bleibt nur die Frage, wie man die Basis sinnvoll konstruiert, um Arbeit zu sparen, denn eine vollständige Gram-Schmidtsche Orthogonalisierung ist genauso aufwendig, wie das LGS direkt zu lösen.
Der Residuenansatz
Das (namensgebende, s.u.) Grundprinzip lautet die Basisvektoren iterativ orthogonalisiert aus den Residuen
zu bestimmen. Startet man dabei mit erhält man damit als Lösungen die Projektionen in die sogenannten Krylow-Räume
Die wichtigste Eigenschaft dieses Krylow-Ansatzes ist, dass für alle und
automatisch
gilt- dies werden wir im Beweis des zweiten Lemmas benötigen.
Wir können aber jetzt schon aus den bisherigen Überlegungen den naheliegenden -ten Schritt (
) des (noch ineffizienten) Algorithmus so formulieren:
Wenn der Ansatz mit den Residuen funktioniert, erhält man so nach obigen Überlegungen nach spätestens Schritten die Lösung, oder wenn in Gleichung
ein
ist. Es ist aber noch offen, ob die Residuen wirklich ein geeigneter Ansatz für die Basisvektoren sind, denn nur wenn
ist, so wird man mit Gleichung einen neuen Basisvektor erhalten. Diese Aussage können wir induktiv beweisen:
Lemma 1: Im -ten Schritt ist
entweder der Nullvektor, oder linear unabhängig zu den vorangegangenen Residuen bzw. den Basisvektoren.
Beweis: Im ersten Schritt ist die Aussage automatisch erfüllt. Sei nun und
und linear unabhängig zu den Basisvektoren
. Angenommen es gelte
. Dann müsste auch
sein (!), bzw. es gäbe
mit
Wendet man auf beiden Seiten an, so erhalten wir entweder, dass
war, und somit
gewesen sein muss, oder dass entgegen der Annahme
war, das ist ein Widerspruch. Also ist
oder
.
Damit ist sichergestellt, dass der Ansatz mit den Residuen zumindest funktioniert. Diese Aussage kann man auch sehr elegant aus dem Satz von Cayley und Hamilton ableiten: Nach dem Satz kann man die Inverse einer regulären Matrix durch ein Polynom -ten Grades der Matrix darstellen. Da aber die Lösung gerade
ist, heisst das, dass
als Linearkombination von den Vektoren
dargestellt werden kann, also in einem der Krylow-Räume liegen wird. Diese Vorgehensweise wird oft als Motivation für den Krylow-Ansatz dargestellt.
Ein-Schritt Gram-Schmidt
Die Orthogonalisierung in der Gleichung wird mit jedem Schritt und Basisvektor aufwendiger und insgesamt langsamer als sogar eine Lösung z.B. mit Hilfe einer
-Zerlegung. Der erstaunliche Vorteil des Residuenansatzes ist aber, dass statt dem in Gleichung
beschriebenen Verfahren, nur gegenüber dem letzten Basisvektor orthogonalisiert werden muss, also überraschenderweise
gilt! Damit bleibt der Aufwand für jeden Schritt gleich und als iteratives Verfahren erhalten wir fortlaufend verbesserte Näherungen an die Lösung- ein sehr großer Vorteil gegenüber anderen Verfahren, da man bei sehr großen Gleichungssystem sich schon mit der Näherung nach wenigen Iterationen zufrieden gibt.
Es bleibt zu zeigen, dass , bzw.
für alle
gilt: Das ist die entscheidende Aussage für die Effizienz des Verfahrens:
Lemma 2: Ist , so ist
, wenn
.
Beweis: Für ist die Aussage erfüllt. Für
nutzen wir die Darstellung
und sehen, dass damit , bzw.
, für alle
gilt, denn dann ist wegen der
-Orthogonalität der Basis
In anderen Worten, ist (herkömmlich) orthogonal auf allen Räumen
,
. Aus der Konstruktion bzw. Eigenschaft der Krylovräume, dass mit
automatisch
ist, folgt
für alle
, bzw.
, d.h.
für
, was zu zeigen war.
Der Algorithmus
Nach den obigen Überlegungen kann man den Algorithmus so formulieren:
Für :
Es gibt verschiedene Optimierungsmöglichkeiten: Im Schritt kann man z.B. die Identität
verwenden, und Schritte
und
vereinfachen, wenn man grundsätzlich die Basis zusätzlich auch bezüglich
normiert- damit kann man sich fast alle Matrix-Multiplikationen sparen. Es gibt auch unterschiedliche Ansätze für den Schritt
. Da die Konvergenzgeschwindigkeit in einem Schritt von der Kondition der Matrix
abhängt, ist es sinnvoll Vorkonditionierer zu verwenden, die die Konditionszahl verbessern.
Allgemeiner ist das Verfahren auch auf nicht symmetrische Matrizen anwendbar: Hat man eine invertierbare Matrix und will das Problem
lösen, so kann man es auf
umformen, kann es also mit symmetrischen
und
auf geeignete Form für das CG-Verfahren bringen.
Die Namensgebung
Der Name des Verfahrens stammt daher, dass die Lösung von genau die Minimumsstelle der quadratischen Form
entspricht, denn es ist die Nullstelle des Gradienten von
. Jetzt ist auch klar, um welche Gradienten es geht, denn die
sind die Gradienten
, und der Begriff der Konjugation bezeichnet die Orthogonalisierung, die zu den Basisvektoren, oder geometrisch gesehen Abstiegsrichtungen, führt.
In dieser geometrischen Interpretation liegt der Vergleich mit anderen Abstiegsverfahren, wie z.B. dem steilsten Abstieg, nahe- doch hinkt der Vergleich auf den ersten Blick, da das CG-Verfahren im Gegensatz zu den anderen Methoden theoretisch nach endlichen Schritten die exakte Lösung liefert. Auf den zweiten Blick ist der Vergleich bei wirklich großen Problemen berechtigt, denn dann wird man das CG-Verfahren nie bis zum Ende iterieren, sondern sich mit Lösungen mit hinreichend kleinem Residuum begnügen.
Weitere Quellen
- Auf 64 Seiten wird das Verfahren aus dem Blick der Minimierungsaufgabe anschaulich beschrieben.
- Die Darstellung hier ist kurz und bündig- zu beachten ist, dass hier per Definition eine positiv definite Matrix symmetrisch ist.
- Die sehr verständliche Darstellung wird durch das Fehlerminimierungsproblem innerhalb der Krylow-Räume motiviert und erklärt auch die Sichtweise des Iterationsschritts als Variationsproblem.
- Die CG-Methode wird hier für beschränkte, injektive, lineare Operatoren auf einem Hilbertraum vorgestellt, insbesondere auch die optimale Stopstrategie für gestörte Daten.
- Der Artikel liefert eine Übersicht über das Verfahren und alternative Ansätze.