a) Wähle einen Startwertx0.
b) Approximiere f im Punkt P0=(x0,y0) mit y0=f(x0) durch die Tangentet0.
c) Berechne den Schnittpunkt(x1,0) von t0 mit der x-Achse.
d) Ist x0 geeignet gewählt, ist x1 eine bessere Näherung an x∗.
Wiederhole 1) mit x1 als Startwert.
Terminiere die Iteration geeignet.
⇒ Die so konstruierte Folge (xi)konvergiert unter geeigneten Voraussetzungen gegen die gesuchte Lösung x∗.
Die Idee: Eine Gerade kann man trivial nach x auflösen. Also ersetzt man f lokal durch die beste Gerade, die Tangente, und nimmt deren Nullstelle.
Im Heft steht beim Umstellen x=xi+f′(xi)f(xi) (mit Plus). Aus 0=f(xi)+f′(xi)(x−xi) folgt x−xi=−f′(xi)f(xi), also Minus. So steht es auch auf 📄 Folie 11. Kontrolle an einem Beispiel: f(x)=x−1, x0=3. Minus liefert x1=3−2/1=1 ✔, Plus liefert 5 ✘.
∣xn+1−xn∣<ε: misst den Schritt. Bei quadratischer Konvergenz ist der Fehler von xn+1 dann sogar ≈Kε2 (a-posteriori-Schranke). Bei großen x besser relativ: ∣xn+1−xn∣<ε∣xn+1∣.
∣f(xn)∣<ε: allein trügerisch, wenn f sehr flach ist (kleines f, aber großer Abstand zu x∗, vgl. Kondition).
Immer zusätzlich eine maximale Iterationszahl, sonst endlose Schleife bei Divergenz oder Zyklus. (Ergänzung)
Satz (Konvergenz des Newton-Verfahrens, Skript/Folie 6)
Sei f∈C2[a,b] mit
(B1)f(a)⋅f(b)<0,
(B2)f′(x)=0 für alle x∈[a,b],
(B3)f′′(x)≥0 für alle x∈[a,b]oderf′′(x)≤0 für alle x∈[a,b],
(B4)a−f′(a)f(a)∈[a,b] und b−f′(b)f(b)∈[a,b].
Dann gilt:
f hat genau eine Nullstelle x∗∈[a,b], und das Newton-Verfahren konvergiert für jeden Startwertx0∈[a,b] gegen x∗.
Mit m:=min[a,b]∣f′∣>0, M:=max[a,b]∣f′′∣ und K:=2mM gelten die Fehlerabschätzungen unten.
Warum die Bedingungen?
B1 garantiert eine Nullstelle (Zwischenwertsatz).
B2 macht sie eindeutig (strenge Monotonie) und verhindert Division durch 0.
B3 verhindert, dass f einen Wendepunkt hat. Ohne Wendepunkt liegen alle Iterierten ab x1 auf derselben Seite von x∗ und laufen monoton darauf zu. (Mit Wendepunkt kann Newton hin- und herspringen.)
B4 sorgt dafür, dass selbst der erste Schritt vom ungünstigsten Startwert (Rand) nicht aus [a,b] herausspringt.
Ein Verfahren hat Konvergenzordnung p≥1, wenn es ein C>0 gibt (für p=1: C<1) mit
∣xn+1−x∗∣≤C∣xn−x∗∣pfu¨r alle n ab einem n0.
p
Name
Verhalten
1
linear
pro Schritt kommt eine feste Anzahl Stellen dazu (≈−log10C)
1<p<2
superlinear
z.B. Sekantenverfahren p=21+5≈1.618 (kommt später)
2
quadratisch
Anzahl gültiger Stellen verdoppelt sich pro Schritt
3
kubisch
verdreifacht sich (Halley, kommt später)
Newton hat Ordnung 2 bei einfachen Nullstellen und f∈C2 (📄 Folie 11). Das zeigt die Herleitung oben mit C=K. Sichtbar in Beispiel 3: Fehler 6.7⋅10−2→8.3⋅10−4→1.3⋅10−7→2.9⋅10−15, der Exponent verdoppelt sich ungefähr.
Aber nur lokal
Quadratische Konvergenz gilt erst, wenn man nah genug an x∗ ist. Weiter weg kann Newton langsam sein, springen oder divergieren. Deshalb ist die Wahl von Intervall und Startwert (A, B) so wichtig, und deshalb gibt es das gedämpfte Newton-Verfahren (kommt später).
Ist f′(xi)=0 (oder sehr klein), dann ist die Tangente waagrecht und schneidet die x-Achse nicht (oder sehr weit weg). Die Iteration bricht ab oder springt weit aus dem Intervall. Beispiel: f(x)=x2−1 mit x0=0.
Liegt x0 ungünstig, landet x1 im Einzugsbereich einer anderen Nullstelle. Beispiel Zins: Für x0 knapp über 1 konvergiert Newton zur Scheinlösung x=1.
Bei Wendepunkten (B3 verletzt) kann die Folge zwischen zwei Werten pendeln: xn+2=xn. Beispiel: f(x)=tanhx hat die einzige Nullstelle 0. Für x0≈1.08866 ist x1=−x0, x2=x0, … (für ∣x0∣ noch größer divergiert die Folge sogar). In der Demo unten: Beispiel „tanh x“.
Bei einer m-fachen Nullstelle ist f′(x∗)=0. Newton konvergiert dann nur noch linear mit Faktor mm−1. Beispiel f(x)=2π−x−cosx, dreifache Nullstelle bei 2π, x0=1.5:
n
1
2
3
5
10
15
20
25
Fehler
4.7⋅10−2
3.2⋅10−2
2.1⋅10−2
9.3⋅10−3
1.2⋅10−3
1.6⋅10−4
2.2⋅10−5
7.2⋅10−6
Der Fehler schrumpft pro Schritt um 32, und nach 26 Schritten steht die Iteration bei 7⋅10−6, weil f dort in double exakt 0 wird. Genauer geht es wegen der Kondition (ε1/3) auch nicht.
Ergänzung: warum Faktor mm−1?
Für f(x)=(x−x∗)m ist f′f=mx−x∗, also xn+1−x∗=(xn−x∗)(1−m1). Abhilfe (kommt später, 📄 Folie 13–14): xi+1=xi−mf′(xi)f(xi), wenn m bekannt ist, oder Newton auf g=f/f′ anwenden.
Klick in den Plot setzt den Startwert x0. Mit den Schritt-Knöpfen oder dem Schieberegler geht man Schritt für Schritt: erst Punkt und Tangente, dann ihr Schnittpunkt mit der x-Achse. Die Tabelle zeigt xi, f(xi) und die Schrittweite.
oder ins Bild klicken, um x₀ zu setzen
Schritt 1/10: Startwert x₀ = 0.7.
Skript 2.2, Beispiel 1: einfache Nullstelle, quadratische Konvergenz.
i
xᵢ
f(xᵢ)
|xᵢ − xᵢ₋₁|
0
0.7
-6.48e-2
Zum Ausprobieren:
x − cos x und x − e^(−x): quadratische Konvergenz, die Schrittweite quadriert sich ungefähr.
Zins: x0=1 eingeben, Newton bleibt auf der Scheinlösung. x0=1.002 führt ebenfalls dorthin.
π/2 − x − cos x: lineare Konvergenz und Stillstand bei ≈7⋅10−6.
tanh x: x0=1.0886594924826534 ergibt einen Zyklus, x0=1.2 divergiert, x0=1 konvergiert.
Ein Seil hängt zwischen zwei gleich hohen Masten, Spannweite 2ℓ, Durchhang h. Es gilt acoshaℓ=a+h. Gegeben h=1 m, ℓ=10 m, gesucht a.
Substitutionz=aℓ=a10, also a=z10:
z10coshz=z10+1⋅10z⟹coshz=1+0.1z.
Genau eine Lösung für z>0 (Skizze):coshz startet bei (0,1) mit Steigung 0 und ist konvex. Die Gerade 1+0.1z startet am selben Punkt mit Steigung 0.1. Also liegt die Gerade zuerst über cosh, aber cosh wächst exponentiell und überholt sie genau einmal. (z=0 ist die triviale Lösung, die nicht zählt.)
Konvergenzsatz auf [0.15,1] für f(z)=coshz−1−0.1z:
Nachweis
B1
f(0.15)≈−0.00373<0, f(1)≈0.443>0
B2
f′(z)=sinhz−0.1 ist wachsend, f′(0.15)≈0.0506>0 ⇒ f′>0 auf [0.15,1]
B3
f′′(z)=coshz>0
B4
Schritt von 0.15: 0.2237∈[0.15,1]. Schritt von 1: 0.5879∈[0.15,1]
m=f′(0.15)≈0.0506, M=cosh1≈1.543, K=2mM≈15.26.
Newton ab z0=0.2 (selbst nachgerechnet):
n
zn
∣zn−zn−1∣
Schranke K∣zn−zn−1∣2
1
0.19934124479551
6.6⋅10−4
6.6⋅10−6
2
0.19933904615910
2.2⋅10−6
7.4⋅10−11 ✔
3
0.19933904613461
2.4⋅10−11
9.2⋅10−21
Schon z2 erfüllt ∣zn−z∗∣<10−10. Damit z∗≈0.1993390461 und
Auffällig: Die Konvergenz ist nur linear, der Fehler schrumpft pro Schritt etwa um 32, und die Iteration steht bei ≈0.66668 still (Fehler ≈2⋅10−5).
Grund: Bei x∗=32 stimmen f und g bis zur zweiten Ableitung überein: f(32)=g(32)=1, f′=g′=−21, f′′=g′′=41, aber f′′′=−81=g′′′=0. Also ist x∗=32 eine dreifache Nullstelle von F. Newton konvergiert linear mit Faktor mm−1=32 (Problem 4), und die Kondition begrenzt die Genauigkeit auf ≈(6eps/81)1/3≈2⋅10−5.
a) Wie viele Schnittpunkte? In der Skizze sieht man nur einen Berührpunkt bei x≈32. Tatsächlich gibt es in [0,2]zwei: die dreifache Nullstelle 32 und eine einfache bei x≈0.6458 (selbst nachgerechnet). Dazwischen ist F nur ≈10−8 groß, das sieht man mit bloßem Auge nicht.
Noch nicht dran (kommt mit der nächsten Vorlesung, 📄 Folie 12 ff.): gedämpftes Newton-Verfahren, Newton für mehrfache Nullstellen, Quasi-Newton (Sekanten-, Muller-, Sidi-, Steffensen-Verfahren), höhere Ordnung (Halley), multivariates Newton.