Splitting-Verfahren
In der numerischen Mathematik sind Splitting-Verfahren iterative Verfahren zum Lösen linearer Gleichungssysteme {\displaystyle Ax=b} mit einer Matrix {\displaystyle A\in \mathbb {C} ^{n\times n}} und rechter Seite {\displaystyle b\in \mathbb {C} ^{n}.} Im Unterschied zu direkten Verfahren nähert man sich dabei ausgehend von einer Startnäherung schrittweise der gesuchten Lösung an und bricht ab, falls die Genauigkeit hoch genug ist.
Beschreibung
[Bearbeiten | Quelltext bearbeiten ]Das Verfahren ergibt sich über ein Splitting der Systemmatrix {\displaystyle A=B+(A-B)} mit einer invertierbaren Matrix {\displaystyle B\in \mathbb {C} ^{n\times n}}.
- {\displaystyle Ax=b\Leftrightarrow B^{-1}(B+(A-B))x=B^{-1}b.}
Daraus erhält man die Fixpunktgleichung
- {\displaystyle x=B^{-1}(B-A)x+B^{-1}b}.
Mit {\displaystyle M=B^{-1}(B-A)=I-B^{-1}A}, wobei {\displaystyle I} die Einheitsmatrix bezeichnet, ergibt sich die Fixpunktiteration
- Wähle einen Startvektor {\displaystyle x_{0}\in \mathbb {C} ^{n}}.
- Setze {\displaystyle x_{k}=Mx_{k-1}+B^{-1}b=(I-B^{-1}A)x_{k-1}+B^{-1}b}.
Man kann die Iteration abbrechen, falls die Norm des Residuums {\displaystyle r_{k}=b-Ax_{k}} eine vorgegebene Fehlerschranke unterschreitet. Das Verfahren konvergiert genau dann, wenn der Spektralradius der Matrix {\displaystyle M} kleiner 1 ist. Mit Hilfe des banachschen Fixpunktsatzes folgt ferner die lineare Konvergenzgeschwindigkeit der gesamten Verfahrensklasse. Je kleiner der Spektralradius ist, umso schneller konvergiert das Verfahren. Falls sich {\displaystyle B} und {\displaystyle A} nur wenig unterscheiden, kann man mit dem Störungslemma zeigen, dass auch der Spektralradius von {\displaystyle M} klein ist. Damit ergibt sich ein Gegensatz von schneller Konvergenz ({\displaystyle B} approximiert {\displaystyle A} sehr gut) zu geringen Kosten pro Iteration ({\displaystyle B} ist einfach invertierbar). Insgesamt sind diese Verfahren für viele praktische Probleme zu langsam. Allerdings stellen sie aufgrund ihrer einfachen Anwendbarkeit gute Vorkonditionierer dar. Darüber hinaus sind viele Splitting-Verfahren als Glätter in einem Mehrgitterverfahren geeignet.
Beispiele
[Bearbeiten | Quelltext bearbeiten ]- Jacobi-Verfahren: {\displaystyle B=\operatorname {diag} (A)} ist die Hauptdiagonale von {\displaystyle A}.
- Richardson-Verfahren: {\displaystyle B=\tau \cdot I} mit einem Parameter {\displaystyle \tau }.
- Gauß-Seidel-Verfahren: {\displaystyle B=D+L} die Hauptdiagonale + untere linke Dreiecksmatrix.
- Weitere sind das SOR-Verfahren {\displaystyle B=(1/\omega )D+L} und SSOR.
- eine Möglichkeit der Nachiteration für das gaußsche Eliminationsverfahren: {\displaystyle B=LR}.
Modifikationen
[Bearbeiten | Quelltext bearbeiten ]Man unterscheidet zwischen stationären Verfahren mit konstanter Iterationsmatrix und instationären Verfahren, wo die Matrizen {\displaystyle M} vom Index {\displaystyle i} abhängen dürfen.
Literatur
[Bearbeiten | Quelltext bearbeiten ]- A. Meister: Numerik linearer Gleichungssysteme, 2. Auflage, Vieweg 2005, ISBN 3528131357