Splitting-Verfahren
In der numerischen Mathematik sind Splitting-Verfahren klassische iterative Verfahren zum Lösen linearer Gleichungssysteme mit einer Matrix und rechter Seite Im Unterschied zu direkten Verfahren nähert man sich dabei ausgehend von einer Startnäherung schrittweise der gesuchten Lösung an und bricht ab, sobald die Genauigkeit hoch genug ist.
Herleitung
[Bearbeiten | Quelltext bearbeiten]Zu Beginn spalten wir die Systemmatrix auf
wobei invertierbar ist. Nun können wir das lineare Gleichungssystem äquivalent umformen
Daraus ergibt sich die Fixpunktgleichung
Setzt man
wobei die Einheitsmatrix bezeichnet, so folgt die Fixpunktiteration.
Iterationsvorschrift
[Bearbeiten | Quelltext bearbeiten]Das zugehörige Splitting-Verfahren lautet:
- Wähle einen Startvektor , beispielsweise .
- Berechne iterativ für mit vorheriger Schätzung und den nächsten Vektor
Richardson-Iteration
[Bearbeiten | Quelltext bearbeiten]Mit dem Residuum
lässt sich die Iteration schreiben als
denn .
Damit ist jedes Splitting-Verfahren dieser Form äquivalent zu einer vorkonditionierten Richardson-Iteration mit Vorkonditionierer . Für erhält man die klassische Richardson-Iteration.
Abbruchkriterium
[Bearbeiten | Quelltext bearbeiten]Die Iteration kann abgebrochen werden, sobald die Norm des Residuums eine vorgegebene Fehlerschranke unterschreitet.
Konvergenz
[Bearbeiten | Quelltext bearbeiten]Mit dem Fehler zu einem Fixpunkt lässt sich der Fehler ausdrücken
konvergiert genau dann, wenn der Spektralradius der Iterationsmatrix kleiner als ist, i.e.
Dabei bezeichnet
das Spektrum von , also die Menge der Eigenwerte von , und
den Spektralradius von .
Mit Hilfe des banachschen Fixpunktsatzes folgt außerdem die lineare Konvergenzgeschwindigkeit der gesamten Verfahrensklasse. Je kleiner der Spektralradius ist, desto schneller konvergiert das Verfahren.
Falls sich und nur wenig unterscheiden, kann man mit dem Störungslemma zeigen, dass auch der Spektralradius von klein ist.
Übersicht klassischer Splitting-Verfahren
[Bearbeiten | Quelltext bearbeiten]Die klassischen Splitting-Verfahren basieren auf der Zerlegung , wobei die Diagonalmatrix, die strikte untere Dreiecksmatrix und die strikte obere Dreiecksmatrix von bezeichnet.
- Jacobi-Verfahren: .
- Richardson-Verfahren: mit einem Parameter .
- Gauß-Seidel-Verfahren: .
- SOR-Verfahren: mit einem Relaxationsparameter .
- SSOR-Verfahren: symmetrisierte Variante des SOR-Verfahrens.
- Eine Möglichkeit der Nachiteration für das gaußsche Eliminationsverfahren ergibt sich durch , wobei eine LU-Zerlegung von bezeichnet.
Aufwand und praktische Bedeutung
[Bearbeiten | Quelltext bearbeiten]Damit ergibt sich ein Gegensatz zwischen schneller Konvergenz und geringen Kosten pro Iteration:
- Schnelle Konvergenz wird erreicht, wenn die Matrix gut approximiert.
- Geringe Kosten pro Iteration erhält man, wenn einfach invertierbar ist.
Insgesamt sind Splitting-Verfahren für viele praktische Probleme als eigenständige Verfahren zu langsam. Aufgrund ihrer einfachen Anwendbarkeit eignen sie sich jedoch gut als Vorkonditionierer. Darüber hinaus können viele Splitting-Verfahren als Glätter in einem Mehrgitterverfahren verwendet werden.
Modifikationen
[Bearbeiten | Quelltext bearbeiten]Man unterscheidet zwischen stationären Verfahren mit konstanter Iterationsmatrix und instationären Verfahren, wo die Matrizen vom Index abhängen dürfen.
Literatur
[Bearbeiten | Quelltext bearbeiten]- Andreas Meister: Numerik linearer Gleichungssysteme. 2. Auflage. Vieweg, Wiesbaden 2005, ISBN 3-528-13135-7.
- Christian Kanzow: Numerik linearer Gleichungssysteme. Direkte und iterative Verfahren. Springer, Berlin/Heidelberg 2005, ISBN 978-3-540-20654-5.
- Wolfgang Hackbusch: Iterative Lösung großer schwachbesetzter Gleichungssysteme. 2. Auflage. Teubner, Stuttgart 1993, ISBN 3-519-12372-X.