Kurs:Numerik I/5 Numerische Lösung nichtlinearer Gleichungssysteme

Aus testwiki
Zur Navigation springen Zur Suche springen

5.4 Das Newton-Verfahren im n

4.1 Grundlagen

Es sei Dn eine offene Menge und F:Dnn eine Funktion mit

F(x):=(F1(x),,Fn(x))T,xD

und stetigen partiellen Ableitungen (Fi/xj)(x) (i,j=1,,n), es sei also FC1(D,n). Die zu F gehörige Jacobi-Matrix bezeichnen wir mit

𝒥F(x):=(Fixj(x))i,j=1,,nn×n.

Mit ist im ganzen Abschnitt 5.4 wieder die Euklidische Norm auf dem n bzw. die durch sie induzierte Spektralnorm gemeint.

Schließlich werden wir von dem folgenden Lemma Gebrauch machen.

Lemma 5.17

Sei v:[a,b]n eine stetige vektorwertige Funktion, sei v(t):=(v1(t),,vn(t))T für t[a,b] und sei u:=abv(t)dt der Vektor mit den Komponenten ui:=abvi(t)dt. Dann gilt:
abv(t)dtabv(t)dt

Beweis.

Es sei K:=u. Dann kann man unter Verwendung des Standardskalarprodukts

x,y:=i=1nxiyi,x,yn

auf dem n und der Cauchy-Schwarz-Ungleichung abschätzen:

K2=u,u=abv(t)dt,u=i=1nuiabvi(t)dt=abi=1nuivi(t)dt=abu,v(t)dtabuv(t)dt
=Kabv(t)dt.

q.e.d.

5.4.2 Das Verfahren

Es sei wieder Dn eine offene Menge und es sei FC1(D,n) mit

F(x)=(F1(x),,Fn(x))T,xD

und Jacobi- bzw. Funktionalmatrix 𝒥F(x) gegeben. Es soll nun das Newton-Verfahren zur Bestimmung einer Lösung x*D des Gleichungssystems

F(x)=0Fi(x1,,xn)=0(i=1,,n)

vorgestellt und seine Konvergenz untersucht werden. Für n=1 hatten wir dies bereits in Abschnitt 5.2.4 getan.

Die Iterationsvorschrift des Newton-Verfahrens lautete im Fall n=1

xk+1:=xk[f(xk)]1f(xk),

wobei sich xk+1 als Nullstelle einer linearen Approximation von f, der Tangente bei xk an f, ergab. Ähnlich kann man für eine Funktion FC1(D,n) mit beliebigem n das Newton-Verfahren dadurch motivieren, dass man xk+1 als Nullstelle der linearen Approximation von F bei xk

Fk(x):=F(xk)+𝒥F(xk)(xxk)

wählt. Dieses Vorgehen führt zu der allgemeinen Iterationsvorschrift

(5.23) xk+1:=xk[𝒥F(xk)]1F(xk),k0

des Newton-Verfahrens. Wir gehen hier implizit davon aus, dass die Jacobi-Matrix 𝒥F(xk) des Systems für jedes k0 nichtsingulär ist. Da man, wenn immer möglich, die Berechnung der Inversen einer Matrix vermeiden sollte, geht man praktisch bei der Berechnung von xk+1 von der zu (5.23) äquivalenten Gleichung

𝒥F(xk)(xk+1xk=:hk)=F(xk)

aus und bestimmt man die eindeutige Lösung hk des linearen Gleichungssystems

𝒥F(xk)h=F(xk).

Anschließend setzt man

xk+1:=xk+hk.

Das Newton-Verfahren lautet somit wie folgt:

Algorithmus 9 (Newton-Verfahren)

(0) Wähle x0D und ein ε>0. Berechne F(x0) und setze k:=0.
(1) Berechne 𝒥F(xk) und bestimme die eindeutige Lösung hkn von
(5.24) 𝒥F(xk)h=F(xk).
(2) Setze xk+1:=xk+hk und berechne F(xk+1).
(3) Falls F(xk+1)2ε, stop!
(4) Setze k:=k+1 und gehe nach (1).

Der folgende Satz besagt, dass das Newton-Verfahren unter geeigneten Voraussetzungen durchführbar, d. h. für alle k insbesondere xkD und 𝒥F(xk) nichtsingulär ist und dass es superlinear bzw. quadratisch konvergiert.

Satz 5.18

Es sei Dn offen und FC1(D,n). Ferner existiere ein x*D, für welches F(x*)=0 und 𝒥F(x*) nichtsingulär sei. Dann gibt es eine Umgebung 𝒰δ(x*) von x* für ein δ>0, so dass das Newton-Verfahren, Algorithmus 9, für jeden Startpunkt x0𝒰δ(x*) durchführbar ist und die durch ihn ohne das Abbruchkriterium (3) erzeugte Iteriertenfolge (xk) superlinear gegen x* konvergiert. Gilt mit einem L>0
(5.25) 𝒥F(x)𝒥F(x*)Lxx*,x𝒰δ(x*),
so konvergiert (xk) gegen x* sogar quadratisch.

Beweis.

Wegen der Stetigkeit von 𝒥F(x) auf D können wir zunächst η>0 so klein wählen, dass gilt:

𝒥F(x)𝒥F(x*)12[𝒥F(x*)]1,x𝒰η(x*).

Für x𝒰η(x*) ergibt sich damit und mit β:=[𝒥F(x*)]1 gemäß Korollar 2.21 die Invertierbarkeit der Matrix

𝒥F(x)=𝒥F(x*)+[𝒥F(x)𝒥F(x*)]

sowie die Abschätzung

(5.26) [𝒥F(x)]1[𝒥F(x*)]11[𝒥F(x*)]1𝒥F(x)𝒥F(x*)2β.

Sei nun

𝒩(x):=x[𝒥F(x)]1F(x),x𝒰η(x*)

die Iterationsfunktion des lokalen Newton-Verfahrens, die nach dem Gezeigten auf 𝒰η(x*) wohldefiniert ist. Mit F(x*)=0 und den Identitäten

01𝒥F(x*+s(xx*))(xx*)ds=F(x*+s(xx*))|01=F(x)F(x*)=F(x)

schließen wir als nächstes

𝒩(x)x*=xx*[𝒥F(x)]1[F(x)F(x*)]
=xx*[𝒥F(x)]1{𝒥F(x*)(xx*)+01[𝒥F(x*+s(xx*))𝒥F(x*)](xx*)ds}
=[𝒥F(x)]1[𝒥F(x*)𝒥F(x)](xx*)[𝒥F(x)]101[𝒥F(x*+s(xx*))𝒥F(x*)](xx*)ds.

Für

(5.27) ε(x):=2β{𝒥F(x*)𝒥F(x)+01𝒥F(x*+s(xx*))𝒥F(x*)ds}

leiten wir daraus unter Anwendung von Lemma 5.17 mit (5.26) die folgende Abschätzung ab:

(5.28) 𝒩(x)x*ε(x)xx*.

Wegen der Stetigkeit von 𝒥F(x) auf 𝒰η(x*) existiert ein δ(0,η], so dass ε(x)1/2 auf 𝒰δ(x*) ist und damit gilt:

𝒩(x)x*12xx*,x𝒰δ(x*).

Beginnend mit x0𝒰δ(x*), liegt folglich mit xk𝒰δ(x*) auch xk+1:=𝒩(xk) in 𝒰δ(x*) und konvergiert die Folge (xk) linear gegen x*. Die Konvergenz von (xk) impliziert weiter die Konvergenz ε(xk)0 (k). Da gemäß (5.28)

(5.29) xk+1x*ε(xk)xkx*

für alle k gilt, folgt schließlich die superlineare Konvergenz von (xk).

Gilt nun (5.25) auf 𝒰δ(x*), dann liegt für jedes k mit x* und xk auch x*+s(xkx*) für alle s[0,1] in 𝒰δ(x*) und folgt somit

𝒥F(x*+s(xkx*))𝒥F(x*)Lxkx*.

Aus (5.27) gewinnt man damit für alle k die Abschätzung

ε(xk)2β{L+12L}xkx*=3βLxkx*

Letzteres zeigt zusammen mit (5.29) die quadratische Konvergenz der Folge (xk).

q.e.d.

Beispiel 5.19

Gesucht sei die Lösung x*:=(x1*,x2*)T der beiden Gleichungen

(5.30) F1(x1,x2):=x12+x22+0.6x20.16=0,F2(x1,x2):=x12x22+x11.6x20.14=0,

für die x1*,x2*>0 gilt, wobei wir hier keine Abbruchschranke ε>0 angeben. Die Jacobi-Matrix von F lautet

𝒥F(x)=(2x12x2+0.62x1+12x21.6).

Für (x10,x20)T:=(0.6,0.25)T erhält man somit das lineare Gleichungssystem (5.24)

(1.21.12.22.1)(h1h2)=(0.41250.3575).

Dieses besitzt die Lösung

(h10h20)=(0.254 9600.096 862),

so dass sich

(x11x21)=(0.600.25)+(0.254 9600.096 862)=(0.345 0400.153 138)

ergibt mit dem Defekt

[F1(x11,x21)]2+[F2(x11,x21)]2=0.092 882 7.

Mit (x11,x21)T verfährt man nun analog usw. Für die ersten vier Iterationen ergibt sich insgesamt die folgende Tabelle:

kx1kx2kF(xk)h1kh2k00.600000+00.250000+00.545859+00.254960+00.096862+010.345040+00.153138+00.92882710.67509410.306747120.277531+00.122463+00.65812420.56459420.279860230.271885+00.119664+00.46421240.40602340.210055440.271845+00.119643+00.2413468

Das Newton-Verfahren, Algorithmus 9, ist invariant gegenüber affin-linearen Transformationen (Übung!). Dies bedeutet, wenn An×n eine beliebige reguläre Matrix und cn irgendein Vektor: Ist {xk} die durch das lokale Newton-Verfahren für den Startpunkt x0 erzeugte Iteriertenfolge zur Bestimmung einer Lösung des Gleichungssystems F(x)=0, so erzeugt das Verfahren bei Anwendung auf das System

G(z):=F(Az+c)=0

für den Startpunkt z0:=A1(x0c) die Iteriertenfolge {zk} mit

zk=A1(xkc)xk=Azk+c.

Verfahren, die invariant gegenüber affin-linearen Transformationen sind, gelten gegenüber Verfahren, die diese Eigenschaft nicht besitzen, insofern als robuster, als ihre Konvergenzgeschwindigkeit weit weniger von den gerade vorliegenden speziellen Daten abhängt. Anders als z. B. bei dem CG-Verfahren zur Lösung linearer Gleichungssysteme mit symmetrischer, positiv definiter Matrix (s. Kanzow) ändert sich beim lokalen Newton-Verfahren insbesondere durch eine (affin-)lineare Transformation der Variablen die Konvergenzgeschwindigkeit des Verfahrens nicht. Denn ist ε>0 eine vorgegebene Abbruchschranke, so gilt aufgrund der oben beschriebenen Invarianz gegenüber affin-linearen Transformationen und der sich daraus ergebenden Identitäten

G(zk)=F(Azk+c)=F(xk)

die Äquivalenz

F(xk)εG(zk)ε.

Bei Verfahren, die wie die CG-Verfahren nicht invariant gegenüber affin-linearen Transformationen sind, kann man zwar möglicherweise die Konvergenzgeschwindigkeit durch eine geeignete Wahl der Matrix A erheblich beschleunigen, ist es aber häufig nicht vorhersehbar, ob das Verfahren für die aktuellen Daten langsam konvergiert, oder ist es nicht klar, ob gegebenenfalls eine geeignete Transformation zur Konvergenzbeschleunigung gefunden werden kann. Mit

pk:=[𝒥F(xk)]1F(xk)

lautet die Iterationsvorschrift des Newton-Verfahrens

xk+1:=xk+pk,k=0,1,.

Die Richtung pk bezeichnet man dabei auch als Newton-Richtung in xk.

Es gibt eine große Zahl von Varianten des Newton-Verfahrens, die zum Ziel haben, den Konvergenzbereich des Verfahrens zu vergrößern und/oder seinen numerischen Aufwand zu reduzieren. So kann man das Newton-Verfahren in gewisser Weise globalisieren, indem man eine geeignete Schrittweite tk>0 einführt und

xk+1:=xk+tkpk,k=0,1,

definiert. Dabei wählt man tk beispielsweise als (Näherungs-)Lösung des Problems

(5.31) mint0F(xk+tpk)2,

da ja F(xk+1)2 möglichst klein werden sollte. Von dem so modifizierten sog. gedämpften Newton-Verfahren kann man unter relativ schwachen Voraussetzungen für jeden Startpunkt x0 einer geeigneten, hinreichend großen Menge Konvergenz zeigen. (Man hat sich dabei zu überlegen, dass ein solches tk existiert und eine positive Zahl ist. Da eine Lösung des globalen Optimierungsproblems (5.31) im Allgemeinen nicht realistisch ist, wählt man die Schrittweite tk häufig aber auf eine andere Weise; siehe z. B. Stoer, wo für eine solche andere Schrittweitenwahl auch ein Konvergenzsatz zu finden ist.)

Eine weitere praktisch relevante Modifikation des Newton-Verfahrens besteht darin, die numerisch aufwendig zu berechnende Jacobi-Matrix 𝒥F(xk) im Verfahren durch eine geeignete Näherung Hkn×n zu ersetzen, wobei Hk alleine aus den Daten xk,xk1,F(xk) und F(xk1) numerisch relativ günstig berechnet werden kann und somit insbesondere keine partiellen Ableitungen benötigt werden. Wir kennen ein solches Vorgehen schon vom Sekantenverfahren her, bei dem der Faktor

xkxk1f(xk)f(xk1),

der eine Näherung für 1/f(xk) darstellt, in der Iterationsvorschrift vorkommt. Verfahren dieses Typs werden als Sekanten- oder Quasi-Newton-Verfahren bezeichnet. Das bekannteste ist das Broyden-Verfahren.

Quasi-Newton-Verfahren haben vor allem im Zusammenhang mit der Bestimmung von Extremalpunkten von F und damit der Lösung des Systems F(x)=0 große Bedeutung, da man ja bei Anwendung des Newton-Verfahrens in einem solchen Fall in jeder Iteration die Hesse-Matrix 2F(xk) für F, also etwa n2/2 partielle Ableitungen zweiter Ordnung zu berechnen hat. Von solchen Quasi-Newton-Verfahren gibt es eine Reihe von Varianten, die sich durch die Wahl der Hk unterscheiden, wobei man im Fall der Lösung von Optimierungsaufgaben zusätzlich bestrebt ist, die positive oder negative (Semi-)Definitheit der Hesse-Matrix in einer Umgebung des Extremalpunktes auch für die Hk zu erreichen. Die verbreitetste Methode ist das BFGS-Verfahren, das nach seinen Erfindern Broyden, Fletcher, Goldfarb und Shanno benannt wurde, die das Verfahren 1970 unabhängig voneinander vorschlugen. Es hat sich herausgestellt, dass dieses unter allen Quasi-Newton-Verfahren das wohl unempfindlichste gegenüber der Schrittweitenwahl ist. (Es gibt Alternativen zu der numerisch teuren Berechnung der Minimumschrittweite in (5.31).)

Von Quasi-Newton-Verfahren kann man keine quadratische Konvergenz erwarten, da sie ja weniger Information der Funktion als das Newton-Verfahren verwenden. Unter geeigneten Voraussetzungen lässt sich aber für sie im Allgemeinen superlineare Konvergenz nachweisen. Die schlechtere Konvergenzrate gegenüber dem Newton-Verfahren wird jedoch durch den pro Iteration erforderlichen, geringeren numerischen Aufwand kompensiert.

Allgemein kann man sagen, dass das Newton-Verfahren wohl das erfolgreichste und verbreitetste Verfahren der Mathematik ist. Es wurde im Hinblick auf die Lösung zahlloser Probleme, auch solcher in unendlich-dimensionalen Räumen, verallgemeinert und modifiziert.