Splitting-Verfahren

Dieser Artikel befasst sich mit dem Splitting-Verfahren der numerischen Mathematik. Davon zu unterscheiden sind Splittingverfahren im Steuer- und Abgabenrecht wie zum Beispiel das deutsche Ehegattensplitting.

In der numerischen Mathematik sind Splitting-Verfahren iterative Verfahren zum Lösen linearer Gleichungssysteme A x = b {\displaystyle Ax=b} mit einer Matrix A C n × n {\displaystyle A\in \mathbb {C} ^{n\times n}} und rechter Seite b C n . {\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

Das Verfahren ergibt sich über ein Splitting der Systemmatrix A = B + ( A B ) {\displaystyle A=B+(A-B)} mit einer invertierbaren Matrix B C n × n {\displaystyle B\in \mathbb {C} ^{n\times n}} .

A x = b B 1 ( B + ( A B ) ) x = B 1 b . {\displaystyle Ax=b\Leftrightarrow B^{-1}(B+(A-B))x=B^{-1}b.}

Daraus erhält man die Fixpunktgleichung

x = B 1 ( B A ) x + B 1 b {\displaystyle x=B^{-1}(B-A)x+B^{-1}b} .

Mit M = B 1 ( B A ) = I B 1 A {\displaystyle M=B^{-1}(B-A)=I-B^{-1}A} , wobei I {\displaystyle I} die Einheitsmatrix bezeichnet, ergibt sich die Fixpunktiteration

  1. Wähle einen Startvektor x 0 C n {\displaystyle x_{0}\in \mathbb {C} ^{n}} .
  2. Setze x k = M x k 1 + B 1 b = ( I B 1 A ) x k 1 + B 1 b {\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 r k = b A x k {\displaystyle r_{k}=b-Ax_{k}} eine vorgegebene Fehlerschranke unterschreitet. Das Verfahren konvergiert genau dann, wenn der Spektralradius der Matrix M {\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 B {\displaystyle B} und A {\displaystyle A} nur wenig unterscheiden, kann man mit dem Störungslemma zeigen, dass auch der Spektralradius von M {\displaystyle M} klein ist. Damit ergibt sich ein Gegensatz von schneller Konvergenz ( B {\displaystyle B} approximiert A {\displaystyle A} sehr gut) zu geringen Kosten pro Iteration ( B {\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

  • Jacobi-Verfahren: B = diag ( A ) {\displaystyle B=\operatorname {diag} (A)} ist die Hauptdiagonale von A {\displaystyle A} .
  • Richardson-Verfahren: B = τ I {\displaystyle B=\tau \cdot I} mit einem Parameter τ {\displaystyle \tau } .
  • Gauß-Seidel-Verfahren: B = D + L {\displaystyle B=D+L} die untere linke Dreiecksmatrix + Hauptdiagonale.
  • Weitere sind das SOR-Verfahren B = ( 1 / ω ) D + L {\displaystyle B=(1/\omega )D+L} und SSOR.
  • eine Möglichkeit der Nachiteration für das gaußsche Eliminationsverfahren: B = L R {\displaystyle B=LR} .

Modifikationen

Man unterscheidet zwischen stationären Verfahren mit konstanter Iterationsmatrix und instationären Verfahren, wo die Matrizen M {\displaystyle M} vom Index i {\displaystyle i} abhängen dürfen.

Literatur

  • A. Meister: Numerik linearer Gleichungssysteme, 2. Auflage, Vieweg 2005, ISBN 3528131357