• Keine Ergebnisse gefunden

6. Numerische L¨ osung des

N/A
N/A
Protected

Academic year: 2022

Aktie "6. Numerische L¨ osung des"

Copied!
28
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

6. Numerische L¨ osung des

Nullstellenproblems

(2)

Problemstellung

Zwischenwertsatz:

Sei f : [a, b] → R stetig und c ∈ R mit

f(a) ≤ c ≤ f(b) oder f(b) ≤ c ≤ f(a).

Dann gibt es ein x ∈ [a, b] mit f(x) = c.

Frage: Wie l¨asst sich x bestimmen?

Nullstellenproblem: c = 0.

(3)

Bisektionsverfahren

Einfache Methode: Unterteile Intervall in der Mitte und berechne den Wert. Der gesuchte Wert muss in einer der beiden Teilintervalle liegen.

F¨ur eine Nullstelle:

Gegeben sei f : [a0, b0] → R mit f(a0) · f(b0) < 0. Erzeuge rekursiv die Intervalle

[ai+1, bi+1] :=

hai, ai+2 bii falls f ai+2 bi · f(ai) ≤ 0

ha

i+bi

2 , bii sonst

Die Nullstelle liegt im Intervall [ai, bi] und es gilt

i→∞lim (bi − ai) = lim

i→∞

b − a

2i = 0.

(4)

Fixpunktiteration (1)

Definition:

Eine Gleichung der Form F(x) = x heißt Fixpunktgleichung. Ihre L¨osungen, also ¯x mit F(¯x) = ¯x heißen Fixpunkte

Definition:

Gegeben sei F : [a, b] → R,

x0 ∈ [a, b]. Die rekursive Folge xn+1 := F(xn), n = 0, 1, . . . heißt Fixpunktiteration von F zum Startwert x0.

X X X X

X1

X2

X3

(5)

Fixpunktiteration (2)

Beispiel

Bestimme die Nullstelle von p(x) = x3 − x + 0.3.

Methode: F¨uhre die Fixpunktiteration xn+1 = F(xn) = x3n+ 0.3, durch Ergebnis:

• Startwert x0 = −1: konvergiert gegen x = 0.3389. . .

• Startwert x0 = 0 : konvergiert gegen x = 0.3389 . . .

• Startwert x0 = 1: divergiert

Z.B. kann die Gleichung x = 2 sin(x) + 1 nur iterativ gel¨ost werden!

(6)

Fixpunktiteration (3)

Satz

Sei F : [a, b] → R mit stetiger Ableitung F und ¯x ∈ [a, b] ein Fixpunkt von F. Dann gilt f¨ur die Fixpunktiteration xn+1 = F(xn)

• Ist |F(¯x)| < 1, so konvergiert xn gegen ¯x, falls der Startwert x0 nahe genug bei ¯x liegt. Der Punkt ¯x heißt anziehender Fixpunkt.

• Ist |F(¯x)| > 1, so konvergiert xn f¨ur keinen Startwert x0 6= ¯x. Der Punkt ¯x heißt abstoßender Fixpunkt.

In unserem Beispiel ist nur der Fixpunkt bei x = 0.3389 . . . anziehend.

Die anderen beiden Fixpunkte (liegen bei den anderen beiden Nullstel- len von p(x)) sind abstoßend.

(7)

Fixpunktiteration (4)

Sehr einfaches Anwendungsbeispiel

• Zur diskreten Zeit ti sind ki Menschen an einer Grippe erkrankt

• Die Zahl der Neuerkrankungen ist proportional zur Zahl der m¨ogli- chen Begegnungen zwischen kranken und gesunden Menschen.

• Ein zum Zeitpunkt ti kranker Menschen ist zum Zeitpunkt ti+1 wieder gesund.

• Die ¨Ubertragungsrate sei α, falls alle innerhalb eines Zeitintervalls miteinander in Kontakt sind.

• Frage: Wie entwickelt sich die Anzahl der Kranken?

• Antwort: Iteriere ki+1 = αki(1 − ki)

(8)

Fixpunktiteration (5)

• Iterationsfunktion: F(x) = αx(1 − x)

• anziehender Fixpunkt:

x¯ = F(¯x) = αx¯(1 − ¯x) ⇒ x¯ = α − 1

α oder x¯ = 0

• Geometrische Interpretation: Der Fixpunkt ist der Schnittpunkt der Kurven y = F(x) und y = x.

Die aktuellen Modelle zur Schweinegrippe oder Vogelgrippe funktio- nieren analog, sind nur erheblich komplizierter.

(9)

Banachscher Fixpunktsatz (1)

Sei F : [a, b] → [a, b] eine kontrahierende Abbildung, d.h. es existiere eine Konstante α < 1 mit

|F(x) − F(y)| ≤ α|x − y| f¨ur alle x, y ∈ [a, b]. Dann gilt

• F hat genau einen Fixpunkt ¯x in [a, b].

• Die Fixpunktiteration xn+1 = F(xn) konvergiert gegen ¯x f¨ur alle Startwerte x0 ∈ [a, b].

• Es gelten die Fehlerabsch¨atzungen

|xn − ¯x| ≤ 1−ααn |x1 − x0| a-periori-Absch¨atzung

|xn − ¯x| ≤ 1−αα |xn − xn−1| a-posteriori-Absch¨atzung

(10)

Banachscher Fixpunktsatz (2)

Beweis von Absch¨atzung 1: mit xn+1 = F(xn) gilt:

|xn+1 − xn| = |F(xn) − F(xn−1)| ≤ α|xn − xn−1|

≤ α2|xn−1 − xn−2| ≤ . . . ≤ αn|x1 − x0| Damit gilt f¨ur zwei Werte |xn| und |xk|

|xn − xk| = |(xn − xn−1) + (xn−1 − xn−2) + . . . + (xk+1 − xk)|

≤ |(xn − xn−1)| + |(xn−1 − xn−2)| + . . . + |(xk+1 − xk)|

≤ (αn−1 + αn−2 + . . . + αk) · |x1 − x0|

= (

n−1 X i=0

αi

k−1 X i=0

αi) · |x1 − x0| = 1 − αn

1 − α − 1 − αk 1 − α

!

· |x1 − x0| F¨ur limn→∞ wird xn → ¯x und αn → 0 und damit

|¯x − xk| ≤ αk

1 − α|x1 − x0|

(11)

Newtonverfahren (1)

Gesucht ist die Nullstelle einer stetig differenzierbaren Funktion f : [a, b] → R, also f(¯x) = 0.

Zur¨uckf¨uhrung auf das Fixpunktproblem ¨uber Taylorentwicklung

f(x+h) = f(x) +f(x)·h+O(h2) mit x+h = ¯x und x = xk und damit h = ¯x − xk

0 = f(¯x) = f(xk) + f(xk)(¯x − xk) + O((¯x − xk)2).

x¯ = xk − f(xk)

f(xk) + O((¯x − xk)2)

Setze ¯x → xk+1. Falls f(xk) 6= 0 verwende die Iterationvorschrift unter Vernachl¨assigung des Terms 2. Ordnung

xk+1 = xk − f(xk) f(xk)

(12)

Newtonverfahren (2)

Geometrische Interpretation:

Ersetze f(x) lokal an der Stelle xk durch die Tangente

t(x) = f(xk) + f(xk)(x − xk) und bestimme die Nullstelle der Tangente. Verwende diesen Wert als N¨aherung der gesuchten Null- stelle.

x y

x x

Tangente

1 0

f(x) t(x) f(x )

0

Problem:

Ist die Ableitung “klein”, konvergiert das Verfahren eventuell nicht.

(13)

Newtonverfahren (3)

Da das Problem ist ¨aquivalent zum Fixpunktproblem ¯x = F(¯x) mit der Fixpunktfunktion

F(x) = x − f(x) f(x),

gelten die Aussagen ¨uber Iterationsgleichungen wie z.B. der Banach- sche Fixpunktsatz.

Definition Konvergenzordnung:

Sei xn eine Folge mit limn→∞ = ¯x. Dann hat das Verfahren die

Konvergenzordnung q ≥ 1, wenn es eine Konstante c > 0 gibt mit

|xn+1 − x| ≤¯ c · |xn − ¯x|q Ist q = 1, wird zus¨atzlich verlangt: c < 1.

(14)

Newtonverfahren (4)

Das Newtonverfahren f¨ur eine stetig differenzierbare Funktion f mit einfacher Nullstelle ¯x ist lokal quadratisch konvergent.

Beweis:

Taylorentwicklung liefert

0 = f(¯x) = f(xk) + f(xk)(¯x − xk) + 1

2f′′(z)(¯x − xk)2 mit einer Zwischenstelle z.

(¯x − xk) + f(xk)

f(xk) = (¯x − xk+1) = −1 2

f′′(z)

f(xk)(¯x − xk)2

|¯x − xk+1| =

1 2

f′′(z) f(xk)

· |¯x − xk|2 = C|¯x − xk|2 C ist beschr¨ankt, falls f(x) 6= 0 in der Umgebung von ¯x

(15)

Sekantenverfahren

Anstatt die Ableitung zu berech- nen, verwende einen Differenzen- quotient. Mit

f(xk) ≈ f(xk) − f(xk−1)

xk − xk−1 = fD (xk) und

S(x) = f(xk) + fD (xk)(x − xk) folgt

xk+1 = xk − xk − xk−1

f(xk) − f(xk−1) · f(xk)

x y

x0 f(x)

t(x) f(x )0

x1

f(x )1 x2

Sekante

• Vorteil: Berechnung der Ableitungen f¨allt weg.

• Nachteil: Es werden zwei Startwerte ben¨otigt und die Konvergenz ist langsamer.

(16)

Newton-Verfahren f¨ ur Polynome

Betrachte Polynom mit n reelle Nullstellen ξ1 > ξ2 > . . . > ξn.

Das Newton-Verfahren konvergiert f¨ur x0 > ξ1 gegen die gr¨oßte Null- stelle.

Methode f¨ur alle Nullstellen:

• Bestimme die gr¨oßte Nullstelle und f¨uhre Polynomdivision mit (x− ξ1) durch.

• F¨uhre die Prozedur so lange durch, bis alle Nullstellen gefunden wurden.

• Achtung: Polynomdivision kann zu großen Rundungsfehlern f¨uhren (es gibt Tricks, diese zu vermeiden).

(17)

Newtonverfahren in mehreren Dimensionen (1)

Im Allgemeinen liegen mehrere Funktionen f = f1, f2, . . . , fn, abh¨angig von mehreren Variablen x = x1, x2, . . . , xn vor.

Frage: Wo liegt die Stelle ¯x, an der f Null wird?

Antwort: Verallgemeinere das Newton-Verfahren unter der Verwen- dung der so genannten Jacobi-Matrix, die die Ableitungen der Funk- tionen nach allen Variablen enth¨alt.

J =

∂f1

∂x1 · · · ∂x∂f1

n

... . . . ...

∂fn

∂x1 · · · ∂x∂fn

n

(18)

Newtonverfahren in mehreren Dimensionen (2)

Jetzt: Anstelle f¨ur die Variable x

x(k+1) = x(k) − (f(x(k)))−1 · f(x(k)) lautet nun die Iterationsvorschrift f¨ur den Vektor x

x(k+1) = x(k) J−1f(x(k))

Ben¨otigt wird die Berechnung der inversen Jacobi-Matrix:

J · J−1 = I

ergibt n2 Gleichungen f¨ur n2 Unbekannte in J1. (da gibt es viel bessere Verfahren)

(19)

Newtonverfahren in mehreren Dimensionen (3)

Einfaches Beispiel aus Knorrenschild Bestimme die Nullstelle von

f(x1, x2) = 2x1 + 4x2 4x1 + 8x32

!

oder 2x1 + 4x2 = 0 4x1 + 8x32 = 0 Jacobi-Matrix:

J = 2 4

4 24x22

!

Iterationsvorschrift

x(k+1) = x(k)−J−1f(x(k)) oder J·δ(k) = J·(x(k+1)x(k)) = f(x(k))

(20)

Newtonverfahren in mehreren Dimensionen (4)

W¨ahle z.B. den Startvektor

x(0) = 42

!

Damit folgt:

J(x(0)) = 24 964

!

und f(0) = f(4,2) = 1680

!

L¨ose:

J·δ(k) = −f(x(k)) 24 964

!

·δ(0) = − 16 80

!

⇔ δ(0) = −7611

116

!

Erste N¨aherung:

x(1) = x(0) + δ(0) =

32 11

1611

!

Nach 4 Iterationen wird die ersten der drei Nullstellen auf 3 Stellen genau gefunden.

(21)

Optimierungsproblem

H¨aufige Anwendungen: Gesucht ist das Minimum einer Funktion in Abh¨angigkeit von vielen Variablen.

Methode: Bestimme die Nullstelle der ersten Ableitung. In einer Va- riablen:

xk+1 = xk − f(xk) f′′(xk) Mit mehreren Variablen ist gesucht

x1min,...,xn F(x1, . . . , xn)

Minimum ist dort, wo die Tangenten waagerecht sind.

(22)

Optimierungsproblem (1)

Das ist dort, wo der Gradientenvektor

∇F =

∂x∂F1

...

∂x∂Fn

:=

f1 ...

fn

:= f

eine Nullstelle hat. Das Problem ist ¨aquivalent zum Newtonverfahren in mehreren Dimensionen. Berechnet werden muss die Ableitung von f bzw. ∇F, also die 2. Ableitung von F, die Matrix mit den Elementen

∂fi

∂xj = ∂2F

∂xi∂xj

Die Matrix heißt Hesse-Matrix.

(23)

Optimierungsproblem (2)

Bei einem Optimierungsproblem, also der Suche nach einem Minimum (Maximum) gibt es im Allgemeinen nicht ein Minimum, sondern viele Minima.

Dann wir das Minimum dadurch gesucht, dass die Werte entlang des negativen Gradienten ge¨andert werden, und zwar mit einem variablen Vorfaktor, bis ein Minimum gefunden wurde (hoffentlich ein “gutes”).

In einer Dimension:

xk+1 = xk − ηf(xk)

Zur zeit popul¨arste Anwendung: Neuronale Netze bzw. Maschine Lear- ning Algorithmen oder KI

(24)

Optimierungsproblem (3)

• Zu minimierende Funktion: Analog zur linearen Ausgleichsrech- nung ein Fehlerfunktional als quadratische Differenz zwischen be- rechneten Werten und “Trainingsdaten”.

• Da die Parameter nicht-linear in die Funktion eingehen, ist nur eine iterative L¨osung m¨oglich.

• Gesucht wird das Minimum des Fehlerfunktionals.

• Methode: Gehe entlang des negativen Gradienten in den nicht- linearen Paramtern, bis ein hoffentlich guten Minimum gefunden wurde.

wki+1 = wik − η∂E(w1, . . . , wi, . . . , wn)

∂wi

(25)

Anwendungen (1)

Diverse weitere Variationen dieser Verfahren existieren.

Einige Anwendungen:

• Neuronale Netze

• Optimierungsprobleme

• Iterationsvorschriften als chaotische Systeme, z.B. f¨ur Computer- grafiken

• Biologische Systeme

• Mein Vortrag in der Vortragsreihe WS 2008/2009 des FB03s, The- ma: “Hat eine Gleichung eine L¨osung? Ein Computerbeweis”

• Mein Vortrag in der Vortragsreihe SS 2016 des FB03s, Thema:

“Wie f¨angt eine Eule eine Maus: Eine biologisch motivierte Simu- lation”

(26)

Anwendungen (2)

Iterative Verfahren werden in vielen weiteren Bereichen angewendet, z.B. die Nobelpreistr¨ager f¨ur Wirtschaftswissenschaften 2011, Thomas Sargent und Christopher Sims haben den Nobelpreis “f¨ur ihre empiri- sche Untersuchung von Ursache und Wirkung in der Makro¨okonomie”

bekommen.

Ihr Modell ist ein Satz linearer iterativer Gleichungen Xt = a1 + a2Xt−1 + a3Yt−1 + ex,t

Yt = a4 + a5Xt−1 + a6Yt−1 + ey,t, um gesamtwirtschaftliche Vorg¨ange zu beschreiben.

(27)

Anwendungen (3)

Wurzelziehen und Division auf einen Rechner (C’t 2013, Heft 12)

• Es wird zuerst trickreich eine N¨aherung bestimmt, neuen Rechen-

einheiten verwenden einfach interne Tabellen. (FDIV-Bug des Pentium- Prozessors).

• Die Tabellen sind auf ca. 12 Stellen genau. Anschließend wird das Ergebnis per Newton-Iteration (bei der Division nach New- ton–Raphson) verbessert.

• Die Tabellen k¨onnen in den SSE-Einheiten per Pipeline direkt ver- wendet werden (Compiler-Flags).

• Falls viele Werte ben¨otigt werden, kann das Nachsch¨arfen ¨uber wenige Newton-Iterationen auch per Hand geschehen. Das Ergeb- nis ergibt sich dann bei gleicher Genauigkeit schneller als durch 1.0/x durch Verwendung der SSE-Einheiten.

(28)

Anwendungen (4)

Geht es um Performance wie z.B. bei Computersimulationen wird mit allen Tricks gearbeitet.

• Wurzelberechnung ¨uber f(x) = x2 − a liefert xn+1 = (xn + a/xn) · 0.5

• Wurzelberechnung ¨uber f(x) = 1 − a/x2 liefert xn+1 = xn · (3 − x2n/a) · 0.5

• Das 2. Verfahren ist schneller, falls viele Werte berechnet werden sollen, da nur eine Division ben¨otigt wird und dann das Ganze ¨uber SSE-Einheiten in einer Pipeline ablaufen kann.

• Wird die inverse Wurzel ben¨otigt, ist das sogar noch schneller:

f(x) = 1/x2 − a liefert xn+1 = xn · (3 − a · x2n) · 0.5 ohne Division.

Initialisierung ¨uber (siehe Wikipedia)

i = ∗(long∗)&x;i = 0x5f3759df − (i >> 1); x0 = ∗(f loat∗)&i;

Referenzen

ÄHNLICHE DOKUMENTE

Eigenvektoren der Matrix A linear unabh¨ angig sind, existiert keine Basis von R 4 aus Eigenvektoren von A; folglich ist die Matrix A

Zeigen Sie, dass diese Bilinearform ein Skalarprodukt auf dem R 3

 Results highlight diapycnal mixing and eddy induced cross-slope exchange as a key transport mechanism sustaining benthic and pelagic nutrient cycling.. Mixing processes

At each step there is a minimal spanning tree T that contains all selected and none of the rejected edges.. Choose a cut that is not crossed by a

1 DIE MINIMUM CHIQUADRAT METHODE 2 Oft kann auch die Inverse in (4) durch ihren Erwartungswert ersetzt (approximiert) werden.. Das Verfahren wird dann Fisher

Helfen Sie Leibniz und Bernoulli: Leiten Sie (anachronistisch) die Kettenlinie durch Minimierung der potentiellen Energie her.. jeweilige Approximation aus dem Kollokationsverfahren

- Kaiserstuhl: welche Daten, was wurde gemacht; welche zwei Typen von Luftbildern - LandSat vs RapidEye: Welche Kanäle; Auflösung. - Welches System bei kontinuierlichen

Jeder Eigenvektor wird exakt durch seine