Fixpunktiteration

Aus testwiki
Zur Navigation springen Zur Suche springen

Eine Fixpunktiteration (oder auch ein Fixpunktverfahren) ist in der Mathematik ein numerisches Verfahren zur näherungsweisen Bestimmung von Lösungen einer Gleichung oder eines Gleichungssystems. Die Gleichung muss dazu zuerst in eine Fixpunktgleichung, also in eine Gleichung der Form

φ(x)=x

mit einer Funktion φ umgeformt werden. Anschließend wird eine Startnäherung x0 gewählt und x1=φ(x0) berechnet. Das Ergebnis wird wieder in die Funktion φ eingesetzt, x2=φ(x1) und so weiter. Unter geeigneten Zusatzvoraussetzungen nähert sich die so erhaltene Folge x0,x1,x2, einer Lösung von φ(x)=x und somit einer Lösung des ursprünglichen Problems immer weiter an.

Allgemeines Verfahren

Gegeben seien eine Funktion φ:MM, die eine Menge M in sich selbst abbildet, sowie ein Startelement x0M. Die durch das zugehörige Fixpunktverfahren erzeugte Folge (xk)k0 in M ist dann iterativ definiert durch

xk+1=φ(xk)   für k0.

Wenn auf der Menge M ein Konvergenzbegriff vorhanden ist, kann man sich fragen, ob diese Folge gegen einen Fixpunkt von φ, das heißt gegen ein x* mit φ(x*)=x* konvergiert. Der banachsche Fixpunktsatz gibt relativ allgemeine Bedingungen an, unter denen das der Fall ist: Ist M ein vollständiger metrischer Raum, also beispielsweise eine abgeschlossene Teilmenge des n oder ein Banachraum, und φ eine Kontraktion, dann existiert in der Menge M genau ein Fixpunkt x* von φ und die durch das Fixpunktverfahren erzeugte Folge konvergiert für beliebige x0M gegen x*.

Beispiele

Datei:Fixpunkt.png
Grafische Darstellung der eindimensionalen Fixpunktiteration

Gesucht ist die positive Lösung der Gleichung

2x2=ex.

Durch Logarithmieren erhält man die Fixpunktgleichung

ln(2x2)=x.

Die durch φ(x)=ln(2x2) gegebene Iterationsfunktion bildet beispielsweise das Intervall M=[0,2;0,7] in sich selbst ab und ist auf M eine Kontraktion (siehe nebenstehende Abbildung).

Ausgehend vom Startwert x0=0,2 ergibt sich für die nächsten Iterationsschritte x1=φ(x0)0,6729, x2=φ(x1)0,4364, x3=φ(x2)0,5931 usw. Bei der Näherung nach 20 Schritten x200,5373 stimmen bereits die ersten vier Nachkommastellen mit der exakten Lösung überein.

Auch das Heron-Verfahren stellt eine Fixpunktiteration dar.[1] Für a>0 hat die Funktion φ(x)=12(x+ax) den (positiven) Fixpunkt x=a, so dass φ(x) zur numerischen Bestimmung von a verwendet werden kann.

Ein Satz zur Existenz und Eindeutigkeit

Sei f:[a,b][a,b] eine stetig differenzierbare Funktion mit f(a)>a,f(b)<b und f(x)1 für alle x aus (a,b). Dann existiert genau ein Fixpunkt x* aus (a,b) mit f(x*)=x*.

Beweis

Man setze F(x):=f(x)x. Dann ist F(a)>0,F(b)<0. Aus dem Zwischenwertsatz folgt, dass es mindestens eine Nullstelle x*[a,b] gibt mit F(x*)=0. Gäbe es eine zweite Nullstelle, etwa x**, dann müsste es wegen F(x*)=F(x**) nach dem Satz von Rolle einen Punkt xˇ aus dem Intervall (x*,x**) geben mit F(xˇ)=0, was f(xˇ)=1 impliziert im Widerspruch zur Annahme. Also ist der Fixpunkt x* eindeutig.

Beispiel

Für die Funktion f(x)=x31x32 gilt auf [1,+1]:

  • f(1)>0>1.
  • f(+1)=0<1.
  • f(x)=3x2(x32)21 für alle x(1,+1).

Daraus folgt mit dem Satz oben, dass f in (1,+1) genau einen Fixpunkt besitzt (x*0,4722129517).

Lineare Fixpunktverfahren

Konstruktionsidee

Ein wichtiger Spezialfall der Fixpunktiteration sind die Splitting-Verfahren. Um ein lineares Gleichungssystem

Ax=b

mit einer nichtsingulären n×n-Matrix A und einem Vektor b in eine Fixpunktgleichung umzuformen, zerlegt man die Matrix A mit Hilfe einer nichtsingulären n×n-Matrix B in

A=B+(AB).

Damit folgt

Ax=b
Bx+(AB)x=b
x=B1bB1(AB)x=(EB1A)x+B1b,

wobei E die Einheitsmatrix bezeichnet.

Das lineare Gleichungssystem Ax=b ist dann äquivalent zu der Fixpunktaufgabe x=φ(x) mit

φ(x)=(EB1A)x+B1b.

Man erhält für einen vorgegebenen Startvektor x0 folgendes Iterationsverfahren für k=0,1,

xk+1=(EB1A)xk+B1b,

und die zugehörige Iterationsmatrix lautet: EB1A.

Konvergenz

Aus dem banachschen Fixpunktsatz und weiteren Überlegungen folgt dann, dass diese Fixpunktverfahren genau dann für jeden Startvektor x0 konvergieren, falls der Spektralradius der Iterationsmatrix

ρ(EB1A)=maxi|λi(EB1A)|<1.

ρ(EB1A) sollte möglichst klein sein, da dadurch die Konvergenzgeschwindigkeit bestimmt wird.

Spezielle Verfahren

Auf obiger Konstruktionsidee basieren folgende bekannte Verfahren zur Lösung von linearen Gleichungssystemen:

Bemerkungen

Iterationsverfahren der Form xk+1=Mxk+v, k = 0, 1, ... sind

  • linear, d. h. xk+1 hängt linear nur von xk ab,
  • stationär, d. h. M und v sind unabhängig von der Schrittnummer der Iteration,
  • einstufig, d. h. nur der letzte und nicht noch weitere Näherungsvektoren werden verwendet.

Nichtlineare Gleichungen

Das Newton-Verfahren kann als Fixpunktiteration betrachtet werden. Allgemein wird die Konvergenz mit Hilfe des banachschen Fixpunktsatzes sichergestellt, die betrachtete Funktion muss also insbesondere im betrachteten Gebiet eine Kontraktion sein.

Literatur

  • Wolfgang Dahmen, Arnold Reusken: Numerik für Ingenieure und Naturwissenschaftler. 2. Auflage. Springer-Verlag, Berlin 2008, ISBN 978-3-540-76492-2.
  • Martin Hermann: Numerische Mathematik, Band 1: Algebraische Probleme. 4., überarbeitete und erweiterte Auflage. Walter de Gruyter Verlag, Berlin und Boston 2020. ISBN 978-3-11-065665-7.

Einzelnachweise