Privacy Policy Cookie Policy Terms and Conditions Newton-Verfahren - Wikipedia

Newton-Verfahren

aus Wikipedia, der freien Enzyklopädie

Das Newtonsche Näherungsverfahren, auch Newton-Raphsonsche Methode, (benannt nach Sir Isaac Newton 1669 und Joseph Raphson 1690) ist in der Mathematik das Standardverfahren zur numerischen Lösung von nichtlinearen Gleichungen und Gleichungssystemen. Im Falle einer Gleichung mit einer Variablen lassen sich zu einer gegebenen stetig differenzierbaren Funktion f: \mathbb{R} \to \mathbb{R} Näherungswerte zu Lösungen der Gleichung f(x) = 0, d.h. Näherungen der Nullstellen dieser Funktion finden. Die grundlegende Idee dieses Verfahrens ist, die Funktion in einem Ausgangspunkt zu linearisieren, d.h. ihre Tangente zu bestimmen, und die Nullstelle der Tangente als verbesserte Näherung der Nullstelle der Funktion zu verwenden. Die erhaltene Näherung kann wieder als Ausgangspunkt für einen weiteren Verbesserungsschritt dienen. Diese Iteration wird so oft wiederholt, bis die Änderung in der Näherungslösung eine festgesetzte Schranke unterschreitet. Das unendlich oft fortgesetzte Iterations-Verfahren konvergiert im günstigsten Fall mit quadratischer Konvergenzordnung, die Zahl der korrekten Dezimalstellen verdoppelt sich dann in jedem Schritt.

Inhaltsverzeichnis

[Bearbeiten] Newton-Verfahren für reelle Funktionen einer Veränderlichen

[Bearbeiten] Historisches über das Newtonverfahren

Isaac Newton verfasste im Zeitraum 1664-1671 die Arbeit „Methodus fluxionum et serierum infinitarum“ (latein für: Von der Methode der Fluxionen und unendlichen Folgen). Darin erklärt er einen neuen Algorithmus zum Lösen einer polynomialen Gleichung am Beispiel y3 − 2y − 5 = 0. Dazu kann man leicht den Punkt y = 2 als erste Näherung raten. Newton machte den Ansatz y = 2 + p mit einem als "klein" angenommenen p und setzte diesen in die Gleichung ein:

Nach den binomischen Formeln gilt
y^3 = (2+p)^3 = 8+12p+6p^2+p^3\
\ 2y = 2(2+p) = 4+2p
\Rightarrow\ 0 = y^3-2y-5 = -1+10p+6p^2+p^3.

Da p "klein" sein soll, können die Terme höherer Ordnung gegen den linearen und konstanten vernachlässigt werden, womit 10p − 1 = 0 bzw. p = 0,1 übrig bleibt. Wir können nun dieses Vorgehen wiederholen und p = 0,1 + q ansetzen, in die zweite Gleichung einsetzen, höhere Terme weglassen und q = -0{,}061/11{,}23 = -0{,}0054\dots erhalten.

Joseph Raphson beschrieb 1690 in der Arbeit „Analysis Aequationum universalis“ diesen Rechenprozess formal und illustrierte den Formalismus an der allgemeinen Gleichung 3. Grades, wobei er die nachfolgende Iterationsvorschrift fand.[1]

Die abstrakte Form des Verfahrens mit Benutzung der Ableitung xn + 1 = xnf(xn) / f'(xn) stammt von Thomas Simpson.

[Bearbeiten] Konstruktion am Graphen

Anschaulich gelangt man wie folgt zu diesem Verfahren: Sei f: \mathbb{R} \to \mathbb{R} eine stetig differenzierbare reelle Funktion, von der wir eine Stelle xn im Definitionsbereich mit „kleinem“ Funktionswert kennen. Wir wollen einen Punkt xn + 1 nahe xn finden, der eine verbesserte Näherung der Nullstelle darstellt. Dazu linearisieren wir die Funktion f an der Stelle xn, d.h. wir ersetzen sie durch ihre Tangente im Punkt P(x_n\,;\,f(x_n)) mit Anstieg f^\prime(x_n).

Animation: Iteration mit dem Newtonschen Verfahren

Die Tangente ist durch die Funktion t(x_n+h):=f(x_n)+f^\prime(x_n)h gegeben, setzen wir h = xxn ein, so erhalten wir

t(x):=f(x_n)+f^\prime(x_n) (x-x_n).

Wir wählen als xn + 1 die einzige Nullstelle dieser linearen Funktion,

0=t(x_{n+1})=f(x_n)+f^\prime(x_n) (x_{n+1}-x_n)  \quad\Rightarrow\quad  x_{n+1}=x_n-f(x_n)/f'(x_n).

Wenden wir diese Konstruktion mehrfach an, so erhalten wir aus einer ersten Stelle x0 eine unendliche Folge von Stellen (x_n)_{n\in\mathbb N}, die durch die Rekursionsvorschrift

x_{n+1}:=N_f(x_n):=x_n-\frac{f(x_n)}{f'(x_n)}

definiert ist. Diese Vorschrift wird auch als Newton-Iteration bezeichnet, die Funktion Nf als Newton-Operator. Die Newton-Iteration ist ein spezieller Fall einer Fixpunktiteration, falls die Folge gegen \xi=\lim_{n\to\infty} x_n\, konvergiert, so gilt ξ = Nf(ξ) = ξ − f(ξ) / f'(ξ) und daher f(ξ) = 0. Die Kunst der Anwendung des Newtonverfahrens besteht darin, geeignete Startwerte x0 zu finden. Je mehr über die Funktion f bekannt ist, desto kleiner lässt sich die notwendige Menge von Startwerten gestalten. Viele nichtlineare Gleichungen haben mehrere Lösungen, so hat ein Polynom n-ten Grades bis zu n Nullstellen. Will man alle Nullstellen in einem bestimmten Bereich D \subseteq \R ermitteln, so muss zu jeder Nullstelle ein passender Startwert in D gefunden werden, für den die Newton-Iteration konvergiert. Dazu könnte man z.B. per Bisektion genügend kleine isolierende Intervalle zu jeder Nullstelle bestimmen.

[Bearbeiten] Erstes Beispiel

Die Quadratwurzel einer Zahl a > 0 sind die Nullstellen der Funktion f(x) = 1 − a / x2. Diese Funktion hat die Ableitung f^\prime(x)=2a/x^3, die Newton-Iteration erfolgt also nach der Vorschrift

x_{n+1}:=N_f(x_n)=x_n-\frac{1-a/x_n^2}{2a/x_n^3}=x_n-\frac{x_n^3}{2a}+\frac{x_n}{2}=\frac{x_n}{2}\left(3-\frac{x_n^2}{a}\right)

Der Vorteil dieser Vorschrift gegenüber dem Wurzelziehen nach Heron (siehe unten) ist, dass es divisionsfrei ist, sobald einmal der Kehrwert von a bestimmt wurde. Als Startwert wurde in der Tabelle x0: = (1 + a) / 2 gewählt. Die Iterierten wurden an der ersten ungenauen Stelle abgeschnitten. Es ist zu erkennen, dass nach wenigen Schritten die Anzahl gültiger Stellen schnell wächst.

n xn bei a = 2 xn bei a = 3 xn bei a = 5
0 1,5 2 3
1 1,40 1,6 1,8
2 1,4141 1,72 2,1
3 1,41421355 1,73203 2,22
4 1,41421356237309502 1,7320508074 2,23601
5 1,414213562373095048801688724209697 1,73205080756887729351 2,236067975
6 1,414213562373095048801688724209698 1,7320508075688772935274463415058723669426 2,236067977499789692
7 1,414213562373095048801688724209698 1,7320508075688772935274463415058723669428 2,23606797749978969640917366873127622
8 1,414213562373095048801688724209698 1,7320508075688772935274463415058723669428 2,23606797749978969640917366873127623

Betrachten wir die Differenz x_{n+1}-\sqrt a zum Grenzwert im (n + 1)-ten Schritt, so kann mittels der binomischen Formeln die Differenz im n-ten Schritt zweimal abgespalten werden:

x_{n+1}-\sqrt a =\frac{3}{2}x_n-\frac{x_n^3}{2a}-\frac{3}{2}\sqrt a+\frac{\sqrt{a}^3}{2a} =(x_n-\sqrt a)\cdot\left(\frac32-\frac{x_n^2+x_n\sqrt a+a}{2a}\right)
=(x_n-\sqrt a)\cdot\frac{a-x_n^2+a-x_n\sqrt a}{2a}=-(x_n-\sqrt a)^2\cdot(x_n+2\sqrt a)

Nach der Ungleichung vom arithmetischen und geometrischen Mittel gilt 0<\sqrt a\le \frac{1+a}2, so dass der zweite Faktor sinnvoll durch 3 / 2(1 + a) beschränkt werden kann. Ist die Differenz im n-ten Schritt eine kleine Zahl, so ist die Differenz im (n + 1)-ten Schritt proportional zum Quadrat davon, also wesentlich kleiner. So entsteht durch Quadrieren eines Fehlers 10 m eine Fehlerabschätzung proportional zu 10 − 2m. Deshalb spricht man davon, dass sich die Anzahl der gültigen Stellen in jedem Schritt der Newton-Iteration in etwa verdoppelt.

[Bearbeiten] Konvergenzbetrachtungen

Das Newton-Verfahren ist ein so genanntes lokal konvergentes Verfahren. Konvergenz der in der Newton-Iteration erzeugten Folge zu einer Nullstelle ist also nur garantiert, wenn der Startwert, d.h. das 0-te Glied der Folge, schon „ausreichend nahe“ an der Nullstelle liegt. Ist der Startwert zu weit weg, kann alles passieren:

  • Die Folge divergiert, der Abstand zur Nullstelle wächst über alle Grenzen.
  • Die Folge divergiert, bleibt aber beschränkt. Sie kann z.B. periodisch werden, d.h. endlich viele Punkte wechseln sich in immer derselben Reihenfolge ab. Man sagt auch, dass die Folge oszilliert.
  • Die Folge konvergiert trotz der Distanz zur Nullstelle, kann jedoch, falls die Funktion mehrere Nullstellen hat, gegen eine andere als die gewünschte Nullstelle (falls man weiß, welche man will) konvergieren.
Newton-Fraktal für p(z)=z³-1
vergrößern
Newton-Fraktal für p(z)=z³-1

Ist der Startwert x_0\, so gewählt, dass das Newton-Verfahren konvergiert, so ist die Konvergenz allerdings quadratisch, also mit der Konvergenzordnung 2 (falls die Ableitung an der Nullstelle nicht verschwindet). Die Menge der Startpunkte, für die das Newton-Verfahren gegen eine bestimmte Nullstelle konvergiert, bildet den Einzugsbereich dieser Nullstelle. Färbt man für eine Polynomfunktion, mit reellen oder komplexen Koeffizienten, die Einzugsbereiche verschiedener Nullstellen in der komplexen Ebene verschieden ein, so ergibt sich ein Newton-Fraktal. In diesem ist zu erkennen, dass die Einzugsbereiche Bassins, d.h. Kreisscheiben um die Nullstellen enthalten, aus welchen heraus die Newton-Iteration stabil gegen die Nullstelle im Zentrum konvergiert. Aber es ist auch zu erkennen, dass die Ränder der Einzugsbereiche „ausgefranst“ sind, sie haben sogar eine fraktale Struktur. Geringe Abweichungen im Startpunkt können also zu verschiedenen Nullstellen führen. Falls es jedoch im Intervall I=]a;b[\, genau eine Nullstelle gibt, in I\, durchweg f^\prime>0 sowie f^{\prime\prime}<0 gilt und der Startwert x_0\in I=]a;b[ links von der Nullstelle \xi\in I\, gewählt wird, dann konvergiert das Newton-Verfahren stets, und zwar streng monoton wachsend (siehe Abbildung unten bzw. die Tabelle oben ab n = 1).

[Bearbeiten] Beispiele für Nicht-Konvergenz

  1. Oszillierendes Verhalten ergibt sich für das Polynom f(x): = x3 − 2x + 2 [2] mit f^\prime(x)=3x^2-2. Der Punkt x = 0 mit f(0) = 2 und f^\prime(0)=-2 wird durch den Newton-Operator auf den Punkt N(0) = 0 − 2 / ( − 2) = 1 abgebildet, der Punkt x = 1 wiederum, mit f(1) = 1 und f^\prime(1)=1, wird auf N(1) = 1 − 1 / 1 = 0 abgebildet, so dass die Newton-Iteration mit einem dieser Punkte als Startwert eine periodische Folge ergibt, diese beiden Punkte wechseln sich zyklisch ab. Des Weiteren ist dieser Zyklus stabil, er bildet einen Attraktor der Newton-Iteration. Das bedeutet, es gibt eine kleine Umgebung beider Punkte, so dass Startpunkte in dieser Umgebung gegen den Zyklus konvergieren und somit je einen der Punkte 0 und 1 als Grenzwert der Teilfolge mit geradem Index und der mit ungeradem Index haben.
  2. Divergenz bzw. beliebig weites Entfernen vom Startpunkt ergibt sich für f(x) = sin(x) mit f^\prime(x)=\cos(x) und N(x) = x − tan(x). Es gibt eine Stelle x_0 \isin \lbrack -\pi /2,0 \rbrack mit tan(x0) = − 2π. Man überzeugt sich, dass dann xn = x0 + 2πn gilt. Dieses Verhalten ist nicht stabil, denn bei leichter Variation des Anfangswertes, wie sie zum Beispiel durch die numerische Berechnung entsteht, entfernt sich die Newton-Iteration immer weiter von der idealen divergierenden Folge. Selbst bei schließlicher Konvergenz wird die gefundene Nullstelle sehr weit vom Startwert entfernt sein.

[Bearbeiten] Lokale quadratische Konvergenz

Sei f eine zweimal stetig differenzierbare reelle Funktion und ξ eine Nullstelle von f, in welcher die Ableitung keine Nullstelle hat. Das bedeutet, dass der Graph der Funktion transversal, d.h. nicht-berührend, die x-Achse schneidet. Dann kann die Wirkung des Newton-Operators in der Nähe von ξ angenähert werden durch

x_{n+1}=N_f(x_n)\approx \xi+\frac12\cdot\frac{f''(\xi)}{f'(\xi)}\cdot (x_n-\xi)^2.

Eine mathematisch exaktere Formulierung dieses Sachverhaltes besagt, dass es eine Konstante K \approx |f''(\xi)/f'(\xi)| und ein Intervall I = (ξ − 1 / K,ξ + 1 / K) gibt, so dass innerhalb dieses Intervalls gilt

|N_f(x)-\xi|\le K/2\cdot |x-\xi|^2 für alle x\in I.

Ist also K / 2 | x0 − ξ | < 1, so konvergiert die Folge (xn) der Newton-Iteration gegen ξ, denn die Folge (dn) mit d_n:=K/2\cdot |x_n-\xi| erfüllt 0<d_{n+1}\le d_n{}^2, nach vollständiger Induktion also 0<d_n\le d_0{}^{2^n}, was für 0 < d0 < 1 eine Nullfolge ist.

Ist die Differenz |x_0 - \xi |\ll 1 eine sehr kleine Zahl, so kann auch die Näherungsformel verwendet werden, es gilt dann

x_n=\xi+\left(\frac{f''(\xi)}{2f'(\xi)}\right)^{2^n-1}\cdot (x_0-\xi)^{2^n}.

Je nach Vorzeichen der ersten beiden Ableitungen konvergiert die Folge der Newton-Iteration also von links oder rechts.

Die aus diesen Abschätzungen folgende Konvergenzgeschwindigkeit wird als quadratisch bezeichnet, die (logarithmische) Genauigkeit bzw. Anzahl gültiger Stellen verdoppelt sich in jedem Schritt. Die Abschätzung des Abstands | xn − ξ | zur Nullstelle wird oft linear in | x0 − ξ | angegeben, so gilt z.B.

  • für |x_0-\xi|\le \frac{1}{K} durch 2n − 1-faches Einsetzen
|x_n-\xi|\le \left(\frac12\right)^{2^n-1}\cdot |x_0-\xi|,
wodurch sich die Anzahl der gültigen Stellen im Binärsystem abschätzen lässt, oder
  • für |x_0-\xi|\le \frac{1}{5K} gilt
|x_n-\xi|\le \left(\frac1{10}\right)^{2^n-1}\cdot |x_0-\xi|,
d.h. nahe genug an der Nullstelle ergibt sich die schon oben angesprochene Verdopplung der Dezimalstellen in jedem Schritt.

[Bearbeiten] Bemerkungen

  • Der lokale Konvergenzbeweis basiert auf der Taylor-Entwicklung des Grades 2, ist im mehrdimensionalen Fall allerdings technisch schwierig. Für diesen Fall wurde er zuerst von Leonid Kantorowitsch geführt und ist als Satz von Kantorowitsch bekannt.
  • Um einen geeigneten Startpunkt zu finden, verwendet man gelegentlich andere ("gröbere") Verfahren. Beispielsweise kann man mit dem Gradientenverfahren eine ungefähre Lösung ermitteln und diese dann mit dem Newton-Verfahren verfeinern.
  • Bei unbekanntem Startpunkt kann man mittels einer Homotopie die Funktion f, von der man eine Nullstelle sucht, zu einer einfacheren Funktion g deformieren, von der (mindestens) eine Nullstelle bekannt ist. Man durchläuft dann die Deformation rückwärts in Form einer endlichen Folge sich nur "wenig" unterscheidender Funktionen. Von der ersten Funktion g kennt man eine Nullstelle. Als Startwert der Newton-Iteration zur gerade aktuellen Funktion der Folge verwendet man die Näherung einer Nullstelle der in der Folge vorhergehenden Funktion.
Als Beispiel mag die "Flutungshomotopie" dienen: mit einem willkürlichen z bilden wir die Ausgangsfunktion g(x) = f0(x): = f(x) − f(z) mit bekannter Nullstelle z . Wir haben den "Wasserspiegel" vom "Nullpegel" auf die Höhe f(z) geflutet. Nun senken wir schrittweise den Wasserstand, f_n(x):= f(x)-(f(z)-n\cdot h\cdot f(z)), h = 1 / N, n=1\dots N. In jedem Schritt wird eine Näherung ξ(n) einer Nullstelle bestimmt, wobei x0: = ξ(n − 1) gesetzt wird. Es ist fN = f und somit ξ(N) eine der gesuchten Näherungslösungen.

Das Newtonsche Näherungsverfahren

[Bearbeiten] Abbruchkriterien

Mögliche Abbruchkriterien bezüglich einer Restgröße (zum Beispiel Rechner-Arithmetik) sind:

\| f(x_n)\|< \varepsilon_1\qquad\mathrm{oder}\qquad \| x_{n+1}-x_n\|<\varepsilon_2

Wobei \varepsilon_1,\varepsilon_2\in\mathbb{R}^+ die Qualität der "Nullstelle" bestimmt. In beiden Fällen kann es vorkommen, dass das Abbruchkriterium zu einem "schlechten" Zeitpunkt erfüllt ist.

[Bearbeiten] Weitere Anwendungsbeispiele

[Bearbeiten] Berechnung der Quadratwurzel

Ein Spezialfall des Newtonschen Näherungsverfahrens ist das Babylonische Wurzelziehen, auch bekannt als Heronverfahren nach Heron von Alexandria:

Wendet man die Iterationsformel zur Nullstellenbestimmung auf die Funktion

f(x) = x2a

an, so erhält man wegen f'(x) = 2x für die Lösung \sqrt{a} das Näherungsverfahren

x_{n+1}:=x_n-\frac{x_n^2 - a}{2x_n}=\frac12 \left(x_n + \frac{a}{x_n}\right).

Dieses Verfahren konvergiert für jedes a\geq0 und für jeden beliebigen Anfangswert x_0 \neq 0.

[Bearbeiten] Schnittpunkt zweier Funktionen

Auf ähnliche Weise lässt sich auch der x -Wert des Schnittpunktes zweier Funktionen g(x) und f(x) bestimmen:

Da man die beiden Funktionen zur Lösung des Problems gleichsetzt, lässt sich immer durch Umformung folgende Form, auf die das Newtonsche Näherungsverfahren angewendet werden kann, bestimmen:

f(x) − g(x) = 0

[Bearbeiten] Trigonometrische Funktion

Gesucht sei die positive Lösung eines Problems x wobei cos(x) = x3. Das Problem kann umformuliert werden als f(x) = cos(x) − x3.

Wir haben nun f'(x) = − sin(x) − 3x2. Da \cos(x) \leq 1 für alle x gilt und x3 > 1 für x > 1, wissen wir, dass die Nullstelle zwischen 0 und 1 liegt. Wir starten die Iteration mit dem Wert x0 = 0,5 .

\begin{matrix}   x_1 & = & x_0 - \frac{f(x_0)}{f'(x_0)} & = & \frac{\cos(0{,}5) - 0{,}5^3}{-\sin(0{,}5) - 3 \cdot 0{,}5^2} & = & 1{,}1121416371 \\   x_2 & = & x_1 - \frac{f(x_1)}{f'(x_1)} & & \vdots & = & 0{,}909672693736 \\   x_3 & & \vdots & & \vdots & = & 0{,}867263818209 \\   x_4 & & \vdots & & \vdots & = & 0{,}865477135298 \\   x_5 & & \vdots & & \vdots & = & 0{,}865474033111 \\   x_6 & & \vdots & & \vdots & = & 0{,}865474033101 \\   x_7 & & \vdots & & \vdots & = & 0{,}865474033102 \end{matrix}

Damit haben wir die ersten zwölf Ziffern der Nullstelle.

Das folgende Programm in JavaScript bestimmt diese Nullstelle. Um es auszuführen, kopieren Sie den Programmtext inklusive der Marken in eine neue Textdatei und speichern Sie sie mit dem Dateityp .html ab. Öffnen Sie dann die Datei mit einem Webbrowser.

<script>
 function NewtonIterationFnct(x) {
    return  x - (Math.cos(x) - x*x*x) / (-Math.sin(x) - 3*x*x)     
 }  

 x = 0.5
 
 for (i=0; i<=99; i++) {
       document.write("Iteration " + i + ": ")
       document.write(x)
       document.write('<br>')
       xold = x
       x = NewtonIterationFnct(x) 
       if (x == xold) break 
 }
</script>

[Bearbeiten] Das Newton-Verfahren im Mehrdimensionalen

Das Newton-Verfahren kann auch benutzt werden, um Nullstellen von mehrdimensionalen Funktionen f:\mathbb{R}^{n} \to \mathbb{R}^{n} zu bestimmen. Ein konkreter Anwendungsfall ist die Kombination mit der Gaußschen Fehlerquadratmethode im Gauß-Newton-Verfahren. Für den allgemeinen Fall ist der Ausgangspunkt der Iteration die obige Fixpunktgleichung:

x = Nf(x): = x − (J(x)) − 1f(x)

die das Newton-Verfahren inspiriert:

xn + 1: = Nf(xn) = xn − (J(xn)) − 1f(xn),

wobei J(x)=f'(x)=\frac{\partial f}{\partial x}(x) die Jacobi-Matrix, also die Matrix der partiellen Ableitungen von f(x)\,, ist.

J(x):=\frac{\partial f_i}{\partial x_j} =\begin{pmatrix}   \frac{\partial f_1}{\partial x_1} & \frac{\partial f_1}{\partial x_2} & \ldots & \frac{\partial f_1}{\partial x_n} \\   \frac{\partial f_2}{\partial x_1} & \frac{\partial f_2}{\partial x_2} & \ldots & \frac{\partial f_2}{\partial x_n} \\   \vdots & \vdots & \ddots & \vdots \\   \frac{\partial f_n}{\partial x_1} & \frac{\partial f_n}{\partial x_2} & \ldots & \frac{\partial f_n}{\partial x_n}\end{pmatrix}

Da das Lösen von

\Delta x := -(J(x_{n}))^{-1}f(x_{n})\;,

über die Berechnung der Inversen einer Matrix und anschließender Multiplikation mit f(xn) aufwändiger und numerisch ungünstiger ist, wird statt dessen das lineare Gleichungssystem

J(x_{n})\;\Delta x_n = -f(x_{n})

gelöst.

Danach erhält man xn + 1 aus:

x_{n+1}=x_{n}+\Delta x_{n}\;.

Statt die Inverse auszurechnen, wird also ein lineares Gleichungssystem gelöst. Dazu hat man die Wahl zwischen verschiedenen Lösungsverfahren (siehe Liste numerischer Verfahren). Ist die Jacobimatrix in der Nullstelle invertierbar und in einer Umgebung der Nullstelle Lipschitz stetig so konvergiert das Verfahren lokal quadratisch.

[Bearbeiten] Varianten des Newton-Verfahrens

Das größte Problem bei der Anwendung des Newton-Verfahrens liegt darin, dass man die erste Ableitung der Funktion benötigt. Die Berechnung dieser ist meist aufwändig und in vielen Anwendungen ist eine Funktion auch nicht explizit, sondern beispielsweise nur durch ein Computerprogramm gegeben (siehe auch Automatisches Differenzieren). Im eindimensionalen ist dann die Regula Falsi vorzuziehen, bei der die Sekante und nicht die Tangente benutzt wird. Im Mehrdimensionalen muss man andere Alternativen suchen. Hier ist das Problem auch dramatischer, da die Ableitung eine Matrix mit n2 Einträgen ist, der Aufwand der Berechnung steigt also quadratisch mit der Dimension.

[Bearbeiten] Das vereinfachte Newton-Verfahren

Statt die Ableitung in jedem Newton-Schritt auszurechnen, ist es auch möglich, sie nur in jedem n-ten Schritt zu berechnen. Dies senkt die Kosten für einen Iterationsschritt drastisch, der Preis ist ein Verlust an Konvergenzgeschwindigkeit. Die Konvergenz ist dann nicht mehr quadratisch, es kann aber weiterhin superlineare Konvergenz erreicht werden.

[Bearbeiten] Inexakte Newton-Verfahren

Eine ähnliche Idee besteht darin, in jedem Schritt eine Approximation der Ableitung zu berechnen, beispielsweise über finite Differenzen. Eine quantitative Konvergenzaussage ist in diesem Fall schwierig, als Faustregel lässt sich jedoch sagen, dass die Konvergenz schlechter wird, je schlechter die Approximation der Ableitung ist.

[Bearbeiten] Newton-Krylow-Verfahren

Für die numerische Lösung nichtlinearer partieller Differentialgleichungen bietet sich prinzipiell das Newton-Verfahren als Grundlöser an. Die entsprechende Jacobi-Matrix ist immer dünnbesetzt und so bieten sich Krylow-Unterraum-Verfahren zur Lösung der linearen Gleichungsysteme an. Man spricht dann von Newton-Krylow-Verfahren. Im Krylow-Verfahren selbst tritt die Jacobi-Matrix nur in Matrix-Vektorprodukten auf, welche als Richtungsableitungen interpretiert werden können. Approximiert man diese durch Finite Differenzen, so erhält man komplett matrixfreie Verfahren.

[Bearbeiten] Beweise zur lokalen Konvergenz

[Bearbeiten] Newton-Verfahren als Fixpunktiteration

Als zweite Motivation, neben der oben gezeigten graphischen, soll das Newton-Verfahren direkt als Fixpunktiteration abgeleitet werden. Aus dieser Ableitung ergibt sich auch recht leicht die Begründung der unten angegebenen Varianten.

Sei f: \mathbb{R} \to \mathbb{R} eine stetig differenzierbare reelle Funktion, von der wir eine Nullstelle bestimmen möchten. Wir versuchen, die Voraussetzungen des Banachschen Fixpunktsatzes zu erfüllen. Dazu konstruieren wir aus f(x) = 0 eine Fixpunktgleichung. Eine allgemeine Form dafür ist x = N(x): = x + g(x)f(x), wobei g eine zusätzliche, ebenfalls stetig differenzierbare Funktion ist. Jede Nullstelle ξ von f, f(ξ) = 0, ist Fixpunkt von N:

N(\xi)=\xi+g(\xi)\cdot \underbrace{f(\xi)}_{=0}=\xi.

Wir benötigen, nach den Voraussetzungen des Fixpunktsatzes, ein Intervall I \subseteq \mathbb{R}, welches die Nullstelle ξ enthält, und dass die Abbildung N auf diesem Intervall kontraktiv ist. Dazu ist es ausreichend, dass die Ableitung N'(x) für x \isin I nur Werte im Intervall \lbrack -q,\ q \rbrack, 0 < q < 1, annimmt, denn für x,x+h \isin I gilt

|N(x+h)-N(x)|\le \int_0^1 |N'(x+th)h|\,dt\le q\,|h|\int_0^1 \,dt=q\,|h|

bzw. mit \tilde x:=x+h

|N(\tilde x)-N(x)|\le q\,|\tilde x-x|.

Insbesondere kann man fordern, dass der Wert der Ableitung N'(ξ) von N in ξ einen möglichst kleinen Betrag habe. Die Ableitung von N ist

N'(x)=1+g'(x)\cdot f(x)+g(x)\cdot f'(x)\quad\Longrightarrow\quad N'(\xi)=1+g(\xi)f'(\xi),

wählt man also immer g(x): = − f'(x) − 1, und gibt es eine Umgebung von ξ, in der f zweimal differenzierbar ist und f'(x) nirgends Null wird, so ist N'(ξ) = 0.

Wir gelangen somit wieder zur Fixpunktgleichung

x=N_f(x):=x-\frac{f(x)}{f'(x)}

mit dem Newton-Operator Nf, welche als Fixpunktiteration wieder die Newton-Iteration ergibt:

x_{n+1}:=N_f(x_n)=x_n - \frac{f(x_n)}{f'(x_n)}

bei "geeigneter" Wahl eines Startpunktes x0. Von dieser muss die Konvergenz gegen eine Nullstelle exakt nachgewiesen werden.

[Bearbeiten] Lineare Konvergenz

Satz 1: Sei f einmal stetig differenzierbar, ξ eine Nullstelle von f. Sei g ebenfalls einmal stetig differenzierbar mit g(\xi) f'(\xi) \,\isin\,(0,5;1,5). Dann gibt es eine Umgebung I von ξ, so dass die Iteration xn + 1: = N(xn): = xng(xn)f(xn) für jeden Startpunkt x0 aus I gegen ξ konvergiert.

Bemerkungen:

  1. g(ξ) kann also von der Inversen der Ableitung abweichen.
  2. Dieser Satz ist nicht-konstruktiv, d.h. er enthält keine Aussage darüber, wie dieses Intervall um die Nullstelle zu finden ist.
  3. Vorausgesetzt, x0 liegt nahe genug an der Nullstelle, kann konstant g(x) = f'(x0) − 1 gewählt werden.
  4. Eine besonders große Schrittweite ergibt sich bei g(x) = 3 / 2f'(x) − 1, eine besonders kleine bei g(x) = 1 / 2f'(x) − 1. Die große Schrittweite erweist sich bei fast linearen Funktionen f als günstig, eine eher kleine Schrittweite bei dicht beieinanderliegenden oder mehrfachen Nullstellen.

Beweis: Wegen der Stetigkeit von N'(x)=1-g'(x)f(x)-g(x)f'(x) und wegen |N'(ξ)|<0,5 laut Voraussetzung gibt es ein r>0, so dass

-0.75 ≤ N'(x) ≤ 0.75

für alle Stellen x aus dem Intervall I:=[ξ-r,ξ+r] gilt. (q=0.75 als Beispiel eines q∈(0,5; 1) )

Wählen wir den Startwert x0∈I in diesem Intervall, so liegt auch jedes nachfolgende Glied der Folge in diesem Intervall. Denn mit xn∈I folgt aus den Fixpunkteigenschaften und dem Mittelwertsatz der Differentialrechnung:

x_{n+1}-\xi=N_f(x_n)-N_f(\xi)=N'_f(x_n^*)\cdot(x_n-\xi)

mit einem Zwischenpunkt xn* zwischen xn und ξ,

\Longrightarrow |x_{n+1}-\xi|\le \frac34|x_n-\xi|\le \frac34r.

Wir lesen daraus nicht nur ab, dass auch xn+1∈I gilt, sondern sogar, dass die Differenzfolge (xn-ξ) eine Nullfolge mit geometrischer Majorante ist:

|x_n-\xi|\le\left(\frac34\right)^n|x_0-\xi|.

Diese Art der Konvergenzgeschwindigkeit nennt man linear (im Exponenten).

Ist f zweimal stetig differenzierbar und f'(\xi)\neq 0, so ergibt sich die lokale Konvergenz des Newton-Verfahrens für die spezielle Wahl g(x) = f'(x) − 1. Dann kann allerdings auch eine bessere Abschätzung des Konvergenzverhaltens angegeben werden.

[Bearbeiten] Quadratische Konvergenz

Satz 2: Sei f zweimal stetig differenzierbar und ξ eine Nullstelle von f. Dann gibt es eine Konstante K > 0, so dass die Newton-Iteration mit Startpunkt im Intervall I = (ξ − 1 / K,ξ + 1 / K) gegen ξ konvergiert, genauer gilt |x_n-\xi|\leq K/2 |x_{n-1}-\xi|^2 \leq (0,5)^{2^n-1}|x_0-\xi|.

Näherungsweise gilt x_{n+1}\approx \xi+\frac12\cdot\frac{f''(\xi)}{f'(\xi)}\cdot (x_n-\xi)^2 und damit K' \approx |f''(\xi)/f'(\xi)| \leq \frac{ \max_{x\in I}|f''(\xi)|}{\min_{x\in I}|f'(\xi)|}=K.

Beweis: Die Ableitung N'f(x) bestimmt sich mit der Quotientenregel des Differenzierens zu:

N'_f(x)=1-\frac{f'(x)f'(x)-f(x)f''(x)}{f'(x)^2}=\frac{f(x)f''(x)}{f'(x)^2}.

Ist die Funktion f "gutartig" oder das Intervall I "klein genug", so sind die Ableitungen f'(x) und f"(x) fast konstant auf I, der Funktionswert f(x) jedoch nahezu linear mit Nullstelle in ξ und Anstieg f'(ξ). Wir können also (wieder mit dem Mittelwertsatz) einen weiteren Faktor (x-ξ) aus f(x)=f(x)-f(ξ) abspalten:

N'_f(x)=\frac{f''(x)}{f'(x)^2}\cdot(f(x)-f(\xi))=\frac{f''(x)}{f'(x)^2}f'(x^*)\cdot(x-\xi)

mit einem Zwischenpunkt x* zwischen x und ξ. Für x nahe ξ gilt damit näherungsweise

N'_f(x)\approx\frac{f''(\xi)}{f'(\xi)}\cdot(x-\xi),

Integration von ξ bis x ergibt

N_f(x)=N_f(\xi)+\int_\xi^x N'_f(z)\,dz\approx \xi+\frac{f''(\xi)}{2f'(\xi)}\cdot(x-\xi)^2.

Dies entspricht der Behauptung über das näherungsweise Konvergenzverhalten. Je kleiner das Intervall I ist, desto besser wird durch diese Näherung die Konvergenz beschrieben.

Um zu einer exakten Abschätzung der Konvergenzgeschwindigkeit zu gelangen, können wir die zwei "komplizierten" Faktoren in N'f(x) gegen ihre Maxima über I abschätzen:

|N'_f(x)|\le \max_{x\in I}\frac{f''(x)}{f'(x)^2}\cdot \max_{x^*\in I}|f'(x^*)|\cdot|x-\xi| =K\cdot |x-\xi|.

Dabei wurde mit K die Konstante, die das Produkt der beiden Maxima ist, bezeichnet. Wir erhalten für die Rekursionsfolge der Newton-Iteration die folgenden Abschätzungen (dabei sei hn:=xn)

x_{n+1}-\xi=N_f(x_n)-N_f(\xi) =\int_0^1 N'_f(\xi+th_n) h_n\,dt,
\Longrightarrow |x_{n+1}-\xi|\le \int_0^1 K |(\xi+th_n)-\xi|\cdot |h_n|\,dt=K|x_n-\xi|^2 \int_0^1 t\,dt =\frac{K}2 |x_n-\xi|^2.

Die rekursive Ungleichung |h_{n+1}|\le\frac{K}2|h_n|^2 hat die Lösung

|h_n|=|x_n-\xi|\le \left(\frac{K}2\right)^{2^n-1}\cdot |x_0-\xi|^{2^n}      =\left(\frac{K|x_0-\xi|}2\right)^{2^n-1}\cdot |x_0-\xi|,

wovon man sich mittels vollständiger Induktion überzeugt.

Ist also K/2|x0-ξ|<1, so konvergiert die Folge (xn) mit quadratischer Konvergenzgeschwindigkeit gegen ξ.

[Bearbeiten] Literatur

  • P. Deuflhard, A. Hohmann: Numerische Mathematik I. Eine algorithmisch orientierte Einführung. 3. überarbeitete und erweiterte Auflage. de Gruyter, Berlin, New York 2002, ISBN 3110171821
  • P. Deuflhard: Newton Methods for Nonlinear Problems. Affine Invariance and Adaptive Algorithms., Springer, Berlin 2004, ISBN 3-540-21099-7 (Reihe: Springer Series in Computational Mathematics, Vol. 35)
  • J. M. Ortega, W. C. Rheinboldt: Iterative Solution of Nonlinear Equations in Several Variables., Society for Industrial & Applied Mathematics, 2000, ISBN 0-898-71461-3 (Reihe Classics in Applied Mathematics)

[Bearbeiten] Quellen

  1. Xavier Gourdon: Newton's method and high order iterations, fehlerfreie Darstellung in der Postscript-Datei
  2. J. H. Hubbard, D. Schleicher, S. Sutherland: How to Find All Roots of Complex Polynomials by Newton's Method Preprint (2000), Inventiones Mathematicae vol. 146 (2001)

[Bearbeiten] Weblinks

Dieser Artikel wurde in die Liste der Lesenswerten Artikel aufgenommen.

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -