Analysis · Newtonverfahren

Newtonverfahren

Das Newtonverfahren nähert eine Nullstelle von f durch Wiederholung eines Schritts an: Ausgehend von xₙ nimmt es die Tangente bei (xₙ, f(xₙ)) und deren Schnittpunkt mit der x-Achse als nächsten Näherungswert. Ziehe den Startpunkt und beobachte schnelle Konvergenz, Zyklen oder Davonlaufen.

Das Newtonverfahren in dieser Darstellung

Das Newtonverfahren nähert eine Nullstelle von f, also eine Zahl r mit f(r)=0f(r) = 0, durch Wiederholung eines Schritts an. Am aktuellen Näherungswert xnx_n betrachtet man die Tangente im Punkt (xn,f(xn))(x_n, f(x_n)) mit der Gleichung L(x)=f(xn)+f′(xn)(x−xn)L(x) = f(x_n) + f'(x_n)(x - x_n). Nahe xnx_n liegt sie dicht an der Kurve; ihr Schnittpunkt mit der x-Achse ist daher ein besserer Näherungswert für den Schnittpunkt der Kurve. Lösen von L(x)=0L(x) = 0 liefert den nächsten Näherungswert. Im Diagramm führt jeder Schritt entlang der blassen gestrichelten Linie von xnx_n zur Kurve und dann entlang der Tangente zur Achse.

Ein Newtonschritt, definiert für f′(xₙ) ≠ 0
xn+1=xn−f(xn)f′(xn)x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}

Der Fehler sei en=xn−re_n = x_n - r. Ist r eine einfache Nullstelle (f′(r)≠0f'(r) \ne 0) und hat f eine stetige zweite Ableitung, liefert die Taylorentwicklung des Schritts en+1≈f′′(r)2f′(r) en2e_{n+1} \approx \frac{f''(r)}{2f'(r)}\,e_n^2, sobald xnx_n nahe bei r liegt. Das Quadrieren des Fehlers verdoppelt ungefähr die Zahl korrekter Ziffern. Für x² − 2 ab x₀ = 1 sind die Fehler 0.086, 0.0025, 2.1 × 10⁻⁶ und 1.6 × 10⁻¹²; in der Anzeige nähert sich en/en−12e_n/e_{n-1}^2 dem Wert 1/(22)≈0.3541/(2\sqrt2) \approx 0.354. Weit von der Nullstelle gilt diese Garantie nicht. Wenn f′′(r)=0f''(r) = 0, fällt der quadratische Term weg und es geht noch schneller: Für arctan x beträgt der nächste Fehler etwa −23en3-\tfrac23 e_n^3, wird also bei jedem Schritt kubiert.

Der Schritt setzt f′(xn)≠0f'(x_n) \ne 0 voraus. Eine waagerechte Tangente trifft die Achse nie, eine fast waagerechte erst weit entfernt: Bei x² − 2 ab 0.1 landet der erste Schritt bei 10.05. Das Verfahren kann auch scheitern, ohne davonzulaufen. Bei x³ − 2x + 2 trifft die Tangente bei 0 auf 1 und die bei 1 wieder auf 0. Startwerte nahe 0 werden zu diesem Zyklus hingezogen: Die Folge bleibt beschränkt, hat aber keinen Grenzwert. Für arctan x gibt es die Grenze α ≈ 1.3917, die Zahl mit 2α=(1+α2)arctan⁡α2\alpha = (1 + \alpha^2)\arctan\alpha. Startwerte mit |x₀| < α konvergieren; außerhalb davon landet jeder Schritt weiter außen auf der anderen Seite. Alle Startwerte färbt die x-Achse nach dem jeweiligen Ziel ein. Bei x³ − 2x + 2 landet etwa ein Fünftel von [−3, 3] im Zyklus, darunter schmale Bänder, die sich nahe den Stellen mit waagerechter Tangente ±2/3\pm\sqrt{2/3} häufen. Mit komplexen Startwerten werden diese Bänder zum Newtonfraktal.

An einer mehrfachen Nullstelle gilt auch f′(r)=0f'(r) = 0; die quadratische Fehlerabnahme geht verloren. Für (x−1)2(x - 1)^2 lautet der Schritt exakt xn+1=(xn+1)/2x_{n+1} = (x_n + 1)/2, sodass sich der Fehler jedes Mal halbiert. Dies ist lineare Konvergenz: etwa 3.3 Schritte je zusätzlicher Dezimalstelle. Nahe einer Nullstelle der Vielfachheit m strebt das Verhältnis en+1/ene_{n+1}/e_n gegen (m−1)/m(m - 1)/m.

Beobachtungen

  • Newton untersuchte x3−2x−5=0x^3 - 2x - 5 = 0 im Jahr 1669. Vom Startwert 2 aus liefert das heute verwendete Verfahren 2.1, 2.0945681 und 2.0945514817: nach drei Schritten auf neun Nachkommastellen genau.
  • Für f(x)=x2−af(x) = x^2 - a lautet der Schritt xn+1=12(xn+a/xn)x_{n+1} = \tfrac12\left(x_n + a/x_n\right): die alte Quadratwurzelregel, die einen Näherungswert mit a geteilt durch diesen Wert mittelt.

Bedienung

  • Ziehe den blauen Punkt x₀ entlang der x-Achse oder klicke auf die Achse, um ihn dort zu platzieren. Er rastet bei Vielfachen von 0.5 ein.
  • Stelle n ein, um entsprechend viele Schritte zu zeigen, oder drücke n → ∞ für Schritte bis n = 10. Die Aufzeichnung hält jedes xₙ mit seinem Fehler fest und endet vorzeitig an der Nullstelle, bei einer waagerechten Tangente oder jenseits von 10⁶.
  • Schalte Alle Startwerte ein, um die x-Achse nach dem Ziel jedes Startwerts einzufärben.

Verwandte Themen

Weiterführende Literatur: Wikipedia: Newton's method (Englisch); OpenStax, Calculus Volume 1, 4.9 Newton’s Method (Englisch).