Fixpunkt-Iterationen
2. Vorlesung
170 004 Numerische Methoden I
Clemens Brand und Erika Hausenblas
Montanuniversität Leoben
25. Februar 2021
Nichtlineare Gleichungen, Fixpunkt-Iterationen
1 Wiederholung Aufgabentypen Fixpunkt-Iteration
Sekantenmethode
2 Aufgaben in Rund Rn
Skalare und vektorielle Formulierung
3 Fixpunkt-Iteration: Theorie Konvergenzordnung Kontrahierende Abbildung Konvergenzbedingung
4 Prüfungsfragen
Norm misst Distanz Matrixnorm
Clemens Brand und Erika Hausenblas 25. Februar 2021 2 / 45
Wiederholung, Fragenliste
Nichtlineare Gleichungen in einer Variablen
Was ist. . . I eine lineare (nichtlineare, polynomiale, algebraische, transzendente) Gleichung?
I eine Nullstelle? . . . mehrfache Nullstelle?
I ein Fixpunkt?
Wie geht. . . I Intervallhalbierung?. . . Regula Falsi?
I Sekantenmethode?. . . Newton-Verfahren?
I Fixpunkt-Iteration?
Theorie I Mehrfache Nullstellen: warum schlecht konditioniertes Problem?
I Wann, warum und wie schnell findet Intervallhalbierung garantiert eine Nullstelle?
Praxis I Haben Sie die Aufgaben auf den letzten zwei Folien der vorigen Woche durchgerechnet?
Wiederholung: Aufgabentypen
Gleichungen lassen sich in verschiedener Weise formulieren und lösen
Die Problemstellung
Gesucht ist ein x, für das gilt. . .
g(x) =h(x), (Finden derLösung einer Gleichung) f(x) = 0, (Finden einer Nullstelleder Funktion f)
x =f(x), (Finden einesFixpunktesder Funktion f)
Wiederholung: Fixpunkt-Iteration
Formulierung fürR→R
Gegeben
eine stetige Funktion φ:R→R und ein Startwertx(0) ∈R.
Ergebnis
Falls konvergent, liefert die Fixpunkt-Iteration einen Fixpunktx? von φ.
Iterationsvorschrift für k = 0,1,2. . .
x(k+1) =φ(x(k))
Viele numerische Verfahren lassen sich als Fixpunkt-Iterationen formulieren. Die Theorie der Fixpunkt-Iteration ist daher von grundlegender Bedeutung.
Newton-Verfahren in Fixpunkt-Form
Das Newton-Verfahren ist ein Fixpunkt-Verfahren!
Fixpunkt-Gleichung
x =x− f(x) f0(x) x =φ(x)
Bitte verwechseln Sie nicht
Das Newton-Verfahren sucht eineNullstelle der Funktion f(x).
Iterativ bestimmt es einen Fixpunktder Funktion φ(x) =x−f(x)/f0(x)
Sekantenmethode
Sekantenmethode ist zweidimensionale Fixpunkt-Iteration
Die Sekantenmethode berechnet aus zwei Näherungen x(0),x(1) eine verbesserte Näherung, rechnet dann mit zwei neuen Näherungen weiter.
Fasse die beiden Näherungen als Komponenten eines Vektors auf. Die Schreibweise
x=
"
x1 x2
#
, Φ(x) =
"
x2
x2−f(x2)f(xx1−x2
1)−f(x2)
#
formuliert die Sekantenmethode als zweidimensionale Fixpunkt-Iteration x(k+1) =Φ(x(k)) fürk = 0,1,2. . .
Mehrdimensionale Gleichungsysteme
Themenübersicht für heute
Aufgaben im Rn
I Vektoren, vektorwertige Funktionen
I Unbekannte zu einem Vektor zusammenfassen
I Gleichungssystem als vektorwertige Funktion schreiben
I Begriffe Nullstelle und Fixpunkt lassen sich direkt verallgemeinern I Auch Fixpunkt-Iteration geht analog
Bei geeigneter Schreibweise ändert sich fast nichts gegenüber dem Fall einer Gleichung und Unbekannten
Clemens Brand und Erika Hausenblas 25. Februar 2021 10 / 45
Beispiel: zwei Unbekannte sind gefragt
Nichtlineares Gleichungssystem mit zwei Unbekannten 4x1−x2+x1x2 = 1
−x1+ 6x2 = 2−log(x1x2)
g(x) =h(x)
Nullstelle einer vektorwertigen Funktion f :R2→R2 4x1−x2+x1x2−1 = 0
−x1+ 6x2+ log(x1x2)−2 = 0
f1(x1,x2) = 0
f2(x1,x2) = 0 f(x) =0 Fixpunkt einer vektorwertigen FunktionΦ:R2→R2
x1 = 1
4(x2−x1x2+ 1) x2 = 1
6(x1−log(x1x2) + 2)
x=Φ(x)
Beispiel im Skriptum, ab S.19, durchgerechnet!
Zur Schreibweise: Skalare und vektorwertige Funktionen
Vektoren und vektorwertige Funktionen fett gedruckt
Reellwertige Funktionen, Skalare: f :R→R , y =f(x) Vektorwertige Funktionen, Vektoren: f :Rn→Rn , y=f(x) Komponenten eines Vektors ∈Rn:
x=
x1 x2
... xn
oder xT = [x1,x2, . . . ,xn]
Absolutbetrag |x|und Betrag (euklidische Länge) ||x||=qx12+· · ·+xn2 Normalerweise ist mit xein Spalten-, mit xT ein Zeilenvektor gemeint.
Iterationsindizes sind (um sie von Vektorkomponenten zu unterscheiden) in der Regel hochgestellt, in Klammern: x(k),k = 0,1,2. . .
Aufgabentypen im R
nGleichungen lassen sich auf verschiedene Weise formulieren und lösen
Es seien f,g,h FunktionenRn→Rnund x∈Rn Die Problemstellung
Gesucht ist ein x, für das gilt. . .
g(x) =h(x), (Finden derLösung eines Gleichungssystems) f(x) = 0, (Finden einerNullstelle der Funktion f)
x=f(x), (Finden einesFixpunktesder Funktion f)
Nullstellen und Fixpunkte im R
nDefinition
Eine Nullstelle der Funktion f :Rn→Rn ist ein Wert x, für den gilt:
f(x) = 0.
Definition
Ein Fixpunktder Abbildung f :Rn→Rn ist einen Wertx, für den gilt:
x=f(x).
(„Funktion“ oder „Abbildung“ meint in diesem Kontext dasselbe.
In Fixpunkt-Gleichungen ist bei uns der typische Funktions-Name meistΦstattf)
Fixpunkt-Iteration im R
nDas Grundprinzip vieler iterativer Verfahren
Gegeben
eine stetige Funktion Φ:Rn→Rn und ein Startwertx(0) ∈Rn. Ergebnis
Falls konvergent, liefert die Fixpunkt-Iteration einen Fixpunktx? von Φ.
Iterationsvorschrift für k = 0,1,2. . .
x(k+1)=Φ(x(k))
Viele numerische Verfahren lassen sich als Fixpunkt-Iterationen formulieren. Die Theorie der Fixpunkt-Iteration ist daher von grundlegender Bedeutung.
Wichtige Themen zur Fixpunkt-Iteration
I Konvergenzordnung: wie rasch konvergiert eine Iteration I Was ist eine kontrahierende Abbildung
I Wann konvergiert Fixpunktiteration I anschaulich erklärt
I mathematisch exakte Konvergenzbedingung I Was bedeutet „lokale Konvergenz“
I Anschauliche Bedeutung von |Φ0|<1
Clemens Brand und Erika Hausenblas 25. Februar 2021 17 / 45
Konvergenzordnung
Angenommen, eine Iteration x(k+1) =Φ(x(k)) für k = 0,1,2. . . konvergiert zu x? , und die Fehlerschranke (k) schätzt den Fehler:
|x(k)−x?| ≤(k) .
Neue Fehlerschranke mindestens um Faktor C kleiner als. . .
I . . . alte Fehlerschranke:lineare Konvergenz (wennC <1), also (k+1) ≤C(k)
I . . . das Quadrat des alten Fehlers: quadratischeKonvergenz; typisch für Newton-Verfahren.
(k+1)≤C((k))2
I . . . (allgemein) die p-te Potenz des alten Fehlers, p≥1:Konvergenz p-ter Ordnung. Bei Sekanten-Verfahren istp ≈1.61.
(k+1) ≤C((k))p
Konvergenzordnung
gibt an, wie rasch die Genauigkeit zunimmt
Faustregeln
I Lineare Konvergenz braucht eine fixe Anzahl von Schritten pro gültiger Stelle. Je kleiner C, desto rascher nimmt Genauigkeit zu.
I Quadratische Konvergenz verdoppelt pro Schritt (ungefähr) die Zahl der korrekten Dezimalstellen. Beispiel:
Fehler(k)<10−3⇒(k+1) <C ·(10−3)2 =C10−6 (k)<10−6⇒(k+1) <C ·(10−6)2 =C10−12
I Sekanten-Regel: etwa 60% mehr korrekte Stellen pro Schritt.
Die Faustregeln für Newton- und Sekantenverfahren gelten nur bei genügend kleinen Fehlern; umso besser, je mehr Stellen bereits korrekt sind.
Konvergenzordnung
Definition
Ein Iterationsverfahren
x(k+1) =Φ(x(k)) k = 0,1,2. . . mit IterationsfunktionΦ:Rn→Rn, Fixpunkt x? ∈Rn und
Fehlerschranken||x(k)−x?|| ≤k heißt lokal konvergent von (mindestens) p-ter Ordnung(p≥1), wenn für alle Startwertex(0), die genügend nahe an x? liegen, gilt
(k+1)≤Ch(k)ip und C <1, falls p = 1.
Kontrahierende Abbildung R → R
Locker formuliert:
Wenn bei unterschiedlichen Eingaben x,y die Ergebnisseφ(x), φ(y) näher beisammen liegen:
|φ(x)−φ(y)| ≤C|x−y|, C <1
I Unterschiedliche Startwerte liegen nach Anwendung von φnäher beisammen
I Fortgesetzte Anwendung bringt Werte immer näher zusammen I Schließlich ziehen sich alle Werte auf einen Fixpunkt zusammen Fixpunkt-Iteration konvergiert für kontrahierende Abbildungen.
Kontrahierende Abbildung im R
nDefinition
Eine Abbildung Φ:B→B heißt kontrahierend im BereichB⊆Rn, wenn es einC <1 gibt, so dass für alle x,y∈B gilt
||Φ(x)−Φ(y)|| ≤C||x−y||
Die formale Definition bedeutet nichts anderes als die lockere Formulierung auf der vorigen Folie:
Die Ergebnisse Φ(x),Φ(y) liegen näher beisammen als die Ausgangswerte x,y
Konvergenz-Aussage für kontrahierende Abbildungen
Die Funktion φ:R→R besitze einen Fixpunktx?, es gelte also φ(x?) =x? .
Sei ferner B ein Bereich um den Fixpunktx? in der Form B ={x :|x?−x|<d},
und für alle x,y∈B gilt
|φ(x)−φ(y)| ≤C|x−y|, C <1
Dann wirktφ alskontrahierende Abbildungfür alle x,y ∈B und es gilt:
Konvergenzsatz:
Die Fixpunkt-Iterationx(k+1)=φ(x(k)) konvergiert mindestens linear gegen x? für alle Startwerte x(0)∈B.
Bemerkungen
Der Satz auf der vorigen Folie lässt sich ganz analog für kontrahierende Abbildungen im Rn formulieren und beweisen.
Die Formulierung des Satzes setzt die Existenz eines Fixpunktes voraus. Dadurch wird der Konvergenz-Beweis kurz und schmerzlos.
Eine etwas allgemeinere Formulierung und ein technisch
aufwändigerer Beweis zeigen, dass aus der Kontraktions-Eigenschaft auch schon die Existenz und Eindeutigkeit eines Fixpunktes folgen.
Das ist der berühmteFixpunktsatz von Banach.
Konvergenz des Fixpunktverfahrens für φ : R → R
Eine direkte Folgerung aus dem Konvergenz-Satz für kontrahierende Abbildungen
Das Fixpunktverfahren konvergiert lokal, falls|φ0(x?)|<1.
Genauer:
Ist φ(x) in einer Umgebung des Fixpunktes x? stetig differenzierbar und
|φ0(x?)|<1, so konvergiert die Fixpunkt-Iteration x(k+1) =φ(x(k))
mindestens linear mitC ≈ |φ0(x?)|gegen x? für allex(0) in der Nähe des Fixpunktes.
Der Fehler nimmt ≈um den Faktor C pro Iteration ab
Interpretation der Bedingung |φ
0(x
?)| < 1.
I Locker gesagt: Fixpunkt-Iteration konvergiert,
wennφ(x) in einer Umgebung „nicht besonders stark“ vonx abhängt.
I Ableitung φ0 misst, wie stark sich φ(x) ändert, wenn sichx ändert.
I Der Konvergenzsatz quantifiziert, „wie stark“φ vonx abhängen darf, damit Iteration konvergiert.
I Bedingung |φ0(x?)|<1 bedeutet:φist kontrahierende Abbildung (zumindest in einer Umgebung von x?)
Achtung:
Wahl des Anfangspunkt ist wichtig! Ist im Interval [x∗,x] die Ableitung teilweise |φ0|größer als eine, muss das Verfahren nicht konvergieren!
Clemens Brand und Erika Hausenblas 25. Februar 2021 26 / 45
Konvergenz des Fixpunktverfahrens im R
nDie Verallgemeinerung von|φ0(x?)|<1 — nur für Interessierte
Die Bedingung „Ableitung betragsmäßig<1“ muss verallgemeinert für Summen von partiellen Ableitungen gelten. Genauer:
Die Fixpunkt-Iteration im Rn
x(k+1)=Φ(x(k))
konvergiert lokal in einer Umgebung des Fixpunktes, wenn dort für die partiellen Ableitungen von Φ gilt:
n
X
i=1
∂φi
∂xk
≤C <1 für alle k = 1, . . . ,n
Clemens Brand und Erika Hausenblas 25. Februar 2021 27 / 45
Höhere Konvergenzordnung: Ein Satz für φ : R → R
Zusammenhang zwischen Ableitungen im Fixpunkt und Konvergenzordnung
Für ein Iterationsverfahren
x(k+1)=φ(x(k)) k= 0,1,2. . . mit Iterationsfunktionφ:R→Rgilt:
Satz
Ist φ(x) in einer Umgebung von x? genügend oft differenzierbar und φ0(x?) = 0, φ00(x?) = 0, . . . , φ(p−1)(x?) = 0, und φ(p)(x?)6= 0, dann liegt für p = 2,3, . . . ein Verfahrenp-ter Ordnung vor.
Ein Verfahren erster Ordnung liegt vor, wenn zu p= 1 gilt: |φ0(x?)|<1.
Beispiel: φ(x ) =
94x (1 − x )
Zwei Fixpunkte: x1? = 0,x2? = 59.
Einsetzen der Fixpunkte in φ0(x) = 94(1−2x) liefert
|φ0(0)|= 9 4 >1
φ0
5 9
= 1
4 <1
Folgerungen:
I Für Startwerte in der Nähe vonx2?= 59 konvergiert die Fixpunkt-Iteration.
I φ(x) ändert sich dort nur etwa 1/4 so stark, wenn sichx-Werte ändern.
I Ein Fehler im Eingabewert bewirkt einen≈1/4 so großen Fehler im Resultat.
I Wiederholtes Einsetzen macht den Fehler immer kleiner
Ein Prüfungsbeispiel
Die Funktion
φ(x) = 18−30x+ 23x2−4x3 9
hat Fixpunkte fürx = 3/4,2 und 3.
Überprüfen Sie mithilfe der Konvergenzsätze für die verschiedenen
Fixpunkte: Konvergiert die Fixpunkt-Iteration x(k+1)=φ(x(k)), und wenn ja, mit welcher Konvergenzordnung?
Prüfungsbeispiel
Gegeben sei die Funktion
φ(x) =ax(1−x) für ein a6= 0
1 Zeigen Sie: x = 0 undx = (a−1)/a sind Fixpunkte vonφ.
2 In welchem Bereich muss aliegen, damit eine Fixpunkt-Iteration lokal zux = 0 konvergiert?
3 In welchem Bereich muss aliegen, damit eine Fixpunkt-Iteration lokal nach
x = (a−1)/a konvergiert?
4 Für welchen Wert vona folgt lokal quadratische Konvergenz zum Fixpunkt x= (a−1)/a?
Prüfungsbeispiel
Gegeben sei die Funktion f(x) =x3−1.
1 Wie lautet die reelle Nullstelle vonf?
2 Zeigen Sie: Das Newton-Verfahren zur Nullstellenbestimmung führt auf die Iterationsvorschrift
x= 1
3x2 +2x 3
3 Leiten Sie die Konvergenzordnung dieser Iteration her.
Vektornormen: Motivation
Iterative Verfahren brauchen Abbruchbedingungen
Typische Bedingungen: Hör auf,
I wenn der Fehler klein genug ist; oder I wenn der Funktionswert (fast) 0 ist; oder I wenn sich Werte (fast) nicht mehr ändern.
|x(k)−x?|< , |f(x(k))|< , |x(k+1)−x(k)|<
Wie entscheidet man, ob einVektor klein genug ist; oder ob zwei Vektoren sich fast nicht mehr unterscheiden?
kx(k)−x?k< , kf(x(k))k< , kx(k+1)−x(k)k<
Norm k kverallgemeinert für Vektoren den Betrag | |von Skalaren
Vektornormen
Normk kverallgemeinert Betrag| |
Eine Norm ist eine Maßzahl für die „Größe“ eines Vektors.
Für einen Vektor x= [x1,x2, . . . ,xn]T ist kxk1=
n
X
i=1
|xi| Einsnorm
kxk2 = v u u t
n
X
i=1
(xi)2 euklidische Norm, Zweinorm kxk∞= max
i |xi| Unendlich-Norm, Maximums-Norm
In MATLAB:
kxk1 =norm(x,1),kxk2=norm(x) oder norm(x,2), kxk∞=norm(x,inf).
Norm, formale Definition
Ergänzung: was Sie eigentlich aus Mathematik II schon wissen sollten
Eine Norm imRn ist eine Funktion, die jedem Vektorx∈Rn eine nichtnegative reelle Zahl kxk ∈R+0 zuordnet, wobei drei Bedingungen gelten müssen:
I Nur der Nullvektor hat Norm 0
kxk= 0 ⇒ x= 0 I Skalarα läst sich als Betrag herausheben
kα·xk=|α| · kxk I Die Dreiecksungleichung
kx+yk ≤ kxk+kyk
∀x,y∈Rn, ∀α∈R
Vektornormen beim Fluggepäck :-)
Ein Handgepäckstück darf maximal 55 cm×40 cm×23 cm groß und nicht schwerer als 8 kg sein.
`/55 b/40 h/23 m/8 ∞
≤1 Ein Gepäckstück darf maximal
158 cm (Länge + Breite + Höhe) groß sein.
` b h 1
≤158
Norm und Distanz
Eine Norm kann auch dieDistanz zwischen zwei Punkten xund y messen:
dist(x,y) =kx−yk
I Taxis in Manhattan messen Strecken in der 1-Norm.
deswegen heißt 1-Norm auch Taxi- oder Manhattan-Norm
I Abstand in der Luftlinie entspricht der 2-Norm.
I Größter Unterschied in den Komponenten: ∞-Norm.
Clemens Brand und Erika Hausenblas 25. Februar 2021 38 / 45
Matrixnormen
Achtung—Ergänzung zum Skriptum!
I Ein Hauptberuf von Matrizen ist, Vektoren zu multiplizieren.
I Das Ergebnis einer Matrix-Vektor-Multiplikation ist wieder ein Vektor;
der ist i.a. länger/kürzer/verdreht gegenüber Ausgangsvektor I Eine Matrixnormmisst als „Größe“ einer Matrix, wie „stark“ sie auf
Vektoren wirkt.
I Eine gegebene Matrix kann Vektoren nicht beliebig stark verlängern.
Es gibt für jede Matrix einen „Maximal-Verlängerungs-Faktor“
Der „Maximal-Verlängerungs-Faktor“ ist eine Matrixnorm
Clemens Brand und Erika Hausenblas 25. Februar 2021 39 / 45
Matrixnormen: Beispiel
Wie stark „wirkt“ A= 1 3 2 4
!
auf verschiedene Vektoren?
Vergleichen Sie kxkmitkAxkfür verschiedenexund verschiedene Normen.
x= 1 0
!
, 0
1
!
, 1
1
!
, 1
2
!
, 2
−1
!
Welcher dieser Vektoren verlängert sich am meisten I in der 1-Norm,
I in der ∞-Norm,
I in der 2-Norm (aufwändiger zu rechnen wegen√ )
Clemens Brand und Erika Hausenblas 25. Februar 2021 40 / 45
Verschiedene Matrixnormen
Achtung—Ergänzung zum Skriptum!
Die 1−,2−und ∞-Normen lassen sich von den entsprechenden
Vektornormen ableiten: Sie geben für die Rechenoperation y=A·x an, um wieviel ygegenüberx maximal vergrößertwird.
kAk1 Einsnorm: maximale Spaltenbetragssumme kAk2 Zweinorm: größter Singulärwert
kAk∞ Unendlich-Norm: maximale Zeilenbetragssumme Die Zweinorm lässt sich nicht so einfach berechnen wie Eins- oder Unendlichnorm.
MATLAB: kAk1 =norm(A,1),kAk2= norm(A),kAk∞=norm(A,Inf).
Matrixnorm, Definition
Kurzfassung: Eine Matrixnorm ist eine Norm
Matrizen lassen sich addieren und mit Skalaren multiplizieren. In diesem Sinn verhalten sie sich genauso wie Vektoren des Rn.
Alles, was sich wie ein Vektor verhält, ist ein „Vektor“: Die m×n-Matrizen bilden einen Vektorraum. Der Begriff „Norm“ wird genau so definiert wie die Norm von Vektoren des Rn.
Eine Norm imRm×Rnist eine Funktion, die jeder m×n-MatrixA eine nichtnegative reelle Zahl kAk ∈R+0 zuordnet, wobei gilt:
I Nur die Nullmatrix hat Norm 0: kAk= 0 ⇒ A= 0 I Skalarα läst sich als Betrag herausheben: kα·Ak=|α| · kAk I Die DreiecksungleichungkA+Bk ≤ kAk+kBk
Rechenregeln
für die 1-, 2- oder∞- Norm
Zusätzlich zu den Norm-Axiomen
kAk= 0 ⇒ A=O kα·Ak=|α| · kAk kA+Bk ≤ kAk+kBk gelten für die 1-, 2- oder ∞- Norm auch
kA·Bk ≤ kAk · kBk
kA·xk ≤ kAk · kxk
Vergleiche Absolutbetrag: |a·b|=|a| · |b|
Clemens Brand und Erika Hausenblas 25. Februar 2021 43 / 45
Frobeniusnorm
. . . noch eine weitere Norm
Die Frobenius-Norm kAkF wird so ähnlich berechnet wie die Vektor-Zweinorm:Quadrieren, summieren, Wurzel ziehen
Frobenius-Norm: kAkF = qX
aij2
Die Frobeniusnorm lässt sich leichter berechnen als die Matrix-Zweinorm und dient zu deren Abschätzung:
kAk2 ≤ kAkF
Auch für kAkF gelten neben den Norm-Axiome noch die Rechenregeln kA·BkF ≤ kAkF · kBkF undkA·xk2≤ kAkFkxk2
MATLAB: kAkF = norm(A,’fro’).
Matrixnormen (das Kleingedruckte)
Was hier dasteht, ist nicht wichtig, wenn ’s nicht dastünd’, wär’s nicht richtig.
Die lockere Erklärung „Matrixnorm ist maximaler Verlängerungsfaktor“ist mathematisch korrekt für 1-, 2- und ∞-Norm, wenn Vektorlängen in den jeweiligen Normen gemessen werden.
Die Formulierung „Matrixnorm ist obere Schranke für
Verlängerungsfaktor“ umfasst auch noch die Frobeniusnorm, wenn Vektorlängen in der 2-Norm gemessen werden.
Auch die Vorschrift kAk= max
i,j |aij|erfüllt die drei Bedingungen einer Norm, ist aber nicht immer eine obere Schranke für den
Verlängerungsfaktor.