Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel...

49
Computer Vision Group Prof. Daniel Cremers Fixpunktgleichungen

Transcript of Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel...

Page 1: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

Computer Vision Group

Prof. Daniel Cremers

Fixpunktgleichungen

Page 2: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

PD Dr. Rudolph TriebelNumerisches Programmieren

Iterationsverfahren

2

Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x0. Dann können wir eine Folge

von Iterationen defininieren: xk+1 := Φ(xk), k=0,1,…

Problem: Oft können wir keine direkte Lösung einer Gleichung angeben. Anstelle einer direkten Lösung kann man aber oft ein Iterationsverfahren angeben:

Page 3: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

PD Dr. Rudolph TriebelNumerisches Programmieren

Fixpunktgleichungen

xk ! x für k ! ∞, so folgt, falls Φ stetig ist:

)()(lim)(limlim 11 xxxxx kkkkkk Φ=Φ=Φ== −∞→−∞→∞→

3

x heißt dann Fixpunkt von Φ in R.

Falls diese Folge konvergent ist, also:

Beispiel: Φ(x) = x2 , also xk+1 := Φ(xk) = (xk)2

oder x

k

= x

2k�1 = x

4k�2 = · · · = x

(2k)0

Page 4: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

PD Dr. Rudolph TriebelNumerisches Programmieren

Fixpunktgleichungen

4

Das Konvergenzverhalten hängt vom Startwert x0 ab :

)(,10,0101,,2,1,110,,2,1,00

3200

1200

20

10

∞=∞→∞→=⇒>

=∞→→=⇒<<

===⇒±=

===⇒=

xkxxxxkxxxxkxxxkxx

k

k

k

k

k

k

!

!

Φ hat daher den Fixpunkt 0, bzw. ist divergent (könnte man als Fixpunkt ∞ bezeichnen). Die Folgen sind jeweils monoton für k > 0 . 1 ist ebenfalls Fixpunkt, kann aber nur vorkommen, wenn man mit ±1 startet; 1 heißt daher abstoßender Fixpunkt.

Page 5: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

PD Dr. Rudolph TriebelNumerisches Programmieren

Beispiel: Ausbreitung eines Grippevirus in einem Kindergarten

5

Zu Zeitpunkt ti bezeichnen wir mit ki die relative Anzahl erkrankter Kinder, also ki = # kranke Kinder / # Kinder. ti ist diskrete Folge von Zeitpunkten. Infektionsrate α > 1, ( hängt mit Übertragungswahrschein-lichkeit zusammen) Bei jeder Kontaktaufnahme zweier Kinder kann daher eine Virusübertragung stattfinden; daher ist die Zahl neu Erkrankter zum nächsten Zeitpunkt direkt proportional zur Zahl der möglichen Begegnungen zwischen einem kranken und einem gesunden Kind. Ein Kind, das zum Zeitpunkt ti krank ist, ist zum Zeitpunkt ti+1 wieder gesund, kann sich aber wieder anstecken (Diese Annahme dient der Vereinfachung des Modells).

Page 6: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

6

)1()( xxx −=Φ αDazugehörige Iterationsfunktion:

beschreibt eine konkave Parabel, die logistische Parabel.

Relatives Maximum bei x = 0.5 mit Wert Φ(0.5) = 0.25α; Nullstellen bei x = 0 und x = 1;

)1(1 iii kkk −=+ α= α* #Kranke * #Gesunde

Ergibt Formel:

Page 7: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

7

α

αα

1)1()( −=⇒−=Φ= xxxxx

Fixpunkt als Schnittpunkt von Φ mit der Funktion g(x) ≡ x:

z.B. x0=0.1 und α=1.5

Für 1 < α < 2 existiert genau ein eindeutiger Fixpunkt dieser Iteration zwischen 0 und 0.5.

Konvergiert monoton wachsend gegen 1/3

Page 8: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

PD Dr. Rudolph TriebelNumerisches Programmieren

Banachscher Fixpunktsatz

8

Frage: Wann konvergiert die so erzeugte Folge und wann nicht? Welche Eigenschaften müssen Φ und x0 haben, damit Konvergenz gegen einen (ev. eindeutigen) Fixpunkt vorliegt?

Page 9: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

PD Dr. Rudolph TriebelNumerisches Programmieren

Banachscher Fixpunktsatz

9

.)()(, yxLyxIyx −⋅≤Φ−Φ⇒∈

Dann konvergiert die Folge xk+1 := Φ(xk) gegen den eindeutigen Fixpunkt x ∈I , also xk ! x = Φ(x) für k!∞.

Sei I ein abgeschlossenes Intervall, Startwert x0∈I, Φ eine Abbildung Φ: I ! I , d.h. Φ(I) ⊆ I , Φ sei in I eine kontrahierende Abbildung, d.h. es gibt eine Konstante 0 < L < 1 mit

( ) .

)()(

0121

111

xxLxxLL

xxLxxxxk

kk

kkkkkk

−≤≤−≤

≤−≤Φ−Φ=−

−−

−−+

!

Beweis: Offensichtlich gilt stets xk∈I; daher folgt

Damit ergibt sich für den Abstand zweier Iterierter xk und xm für m>k:

Page 10: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

10

( )

.1

)()()(

0101

0121

1211

1211

xxL

LxxL

xxLLL

xxxxxx

xxxxxxxx

k

kj

j

kmm

kkmmmm

kkmmmmkm

−⋅−

=−⋅≤

≤−⋅+++≤

≤−++−+−≤

≤−++−+−=−

∑∞

=

−−

+−−−

+−−−

!

!

!

)(, εε Nkmfürxx km ≥≤−

Daher wird der Abstand zwischen zwei Iterierten beliebig klein, wenn sie beide großen Index haben:

Daher existiert eine Zahl x ∈I mit xk ! x für k ! ∞.

(dies ist genau die mathematische Definition von Abgeschlossenheit).

Die Zahlen xk bilden daher eine Cauchy-Folge!

Cauchy-Folgen sind konvergent in I, da I abgeschlossen ist!

Page 11: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

11

.0)( =Φ− xx

x ist der gesuchte Fixpunkt in I, denn

∞→→−+−≤

≤Φ−Φ+−≤

≤Φ−+−≤Φ−≤

kfürxxLxx

xxxx

xxxxxx

kk

kk

kk

0

)()(

)()(0

1

1

Daher muss gelten

!ˆˆ)ˆ()(ˆˆ)ˆ(ˆ)(falschxxxxLxxxx

xxmitIxxundIxx

−<−⋅≤Φ−Φ=−

⇒≠∈Φ=∈Φ=

xx ˆ≠ xx ˆ=

Dieser Fixpunkt in I ist eindeutig, denn

Widerspruch, daher Annahme falsch, also

Page 12: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

12

1,0

)()(

01

1

<→−≤

≤−≤Φ−Φ=−+

+

LxxL

xxLxxxxk

kkk

!

!

Um den Satz anwenden zu können benötigt man also, dass Φ ein Intervall in sich abbildet, und zwar so, dass die Funktionswerte dabei näher zusammenrücken.

L < 1 heißt Lipschitz-Konstante.

Ist Φ diff’bar, so lassen sich diese Bedingungen mit Hilfe des Mittelwertsatzes vereinfachen:

Außerdem gilt: xk konvergiert linear gegen x , denn

Page 13: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

13

)()()()( xyzxy −⋅Φ$+Φ=Φ

xyzxyIz

−⋅Φ$≤Φ−Φ∈

)(max)()(

Für x,y∈I ist dann nämlich

mit einer Zahl z zwischen x und y.

Sei |Φ’(x)| < 1; dann kann man eine Umgebung U von x angeben, in der Φ kontrahierend ist und Φ(U) ⊆ U gilt (es liegt dann also lokale Konvergenz vor).

Wir betrachten den Mittelwertsatz jetzt speziell in der Nähe eines Fixpunktes x . Dann gilt:

Daher gilt:

)(max: zLIzΦ"=

Ist nun |Φ’(z)| < 1 in I, so kann man

setzen.

Page 14: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

14

Sei |Φ’(x)| < 1; dann kann man eine Umgebung U von x angeben, in der Φ kontrahierend ist und Φ(U) ⊆ U gilt (es liegt dann also lokale Konvergenz vor).

Also insgesamt: Φ(U) ⊆ U und außerdem ist Φ kontrahierend in U. Daher ist der Banachsche Fixpunktsatz anwendbar.

1)(max: <Φ"=∈

zLUz

Beweis: Setze U:= [ x-h , x+h ] und wähle dabei h > 0 so klein, dass immer noch gilt (Φ’ ist ja stetig!).

hxxLxxxx <−⋅≤Φ−Φ=−Φ )()()(Für ein x∈U folgt dann

und daher ist auch Φ(x)∈U.

Page 15: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

Einen Fixpunkt x mit |Φ’(x)| < 1 nennt man ‚anziehenden Fixpunkt’.

Im Beispiel x2 ist 0 anziehender Fixpunkt, da Φ’(0)=2*0 = 0<1 Daher gilt für L = 0.5 und U = [-0.25 , 0.25] , dass Φ(x) = x2 in U eine kontrahierende Selbstabbildung von U ist ! mit dem Fixpunktsatz von Banach: Konvergenz in U gegen Fixpunkt 0!

15

Andererseits heißt ein Fixpunkt x mit |Φ’(x)| > 1 abstoßender Fixpunkt, da keine kontrahierende Umgebung für Φ existiert. Im Beispiel x2 ist 1 abstoßender Fixpunkt, da Φ’(1) = 2*1 = 2 > 1.

Page 16: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

16

)1()( xxx −=Φ α

( )αα 1−=x

αα

ααα −=#

$

%&'

( −−=−=Φ* 2121)21()( xx

x =(α-1)/α ist anziehender Fixpunkt für 1 < α < 3.

Für α>=3 ergibt sich abstoßender Fixpunkt! Keine Konvergenz!

Für α<= 1 kein Fixpunkt im Intervall [0,1].

Beispiel Grippevirus:

mit Fixpunkt

Dann gilt

Page 17: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

17

))(()(1 xxzxxx kkk −Φ#+=Φ=+

))((1 xxzxx kk −Φ#=−+

Wegen

gilt außerdem

Daher ist für 1 < α < 2 Φ’(x) > 0 , und die Folge xk ist lokal monoton wachsend oder fallend, je nach Startwert rechts oder links vom Fixpunkt.

))((1 xxzxx kk −Φ#=−+

(die xk liegen stets auf derselben Seite, rechts oder links vom Fixpunkt)

da Φ’(x) < 0 ist.Dagegen konvergiert für 2 < α < 3 die Folge alternierend,

Page 18: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

x

p(x)

p(x)=x ! Fixpunkt ξ

x0

x1=p(x0)

Page 19: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

x

p(x)

p(x)=x ! Fixpunkt ξ

x0 x1

x1

Page 20: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

x

p(x)

p(x)=x ! Fixpunkt ξ

x0 x1

x2 x1

Page 21: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

x

p(x)

p(x)=x ! Fixpunkt ξ

x0 x1 x2

x3 x2 x1

Page 22: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

x

p(x)

p(x)=x ! Fixpunkt ξ

x0 x1 x2 x3 ................. ξ

ξ

x4 x3 x2 x1

Page 23: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

23

α= 1.5 und Startwert 0.44 !

monoton fallende Konvergenz

α = 2.9 und Startwert 0.55 ! alternierende Konvergenz

Page 24: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

24

Das Newtonverfahren zur Nullstellen- bestimmung

Gesucht sind Nullstellen einer nichtlinearen (stetig diff’baren) Funktion f:R!R, also x ∈ R mit f(x) = 0 !

Zurückführung des Nullstellenproblems auf das inzwischen bekannnte Fixpunktproblem.Also gesucht: xk ! x für k!∞

Auflösen nach x !xk+1 liefert die

Newton-Iteration: 0)()()(:1 ≠"

"−=+ k

k

kkk xffalls

xfxf

xx

Betrachte dazu die Taylorentwicklung in letzter Iterierten xk :

( ).)()()()()(0 2kkkk xxxxxfxfxf −Ο+−⋅$+==

1+kx wird ignoriert

Page 25: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

25

Geometrische Interpretation des Newtonverfahrens

Ersetze f(x) lokal an der Stelle xk durch bestmögliche Gerade = Tangente, entspricht linearem Anteil der Taylorreihe.

)()()()( kkk xxxfxfxg −⋅#+=

ist genau xk+1 = xk – f(xk)/f’(xk) , und wird als nächste Näherung für die ‚echte’ Nullstelle von f gewählt.

Die Nullstelle dieser Geraden

Page 26: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

26

Geometrisch:

Probleme des Newtonverfahrens, wenn f’(xk) ≅ 0 :

Division durch Null!

Ist xk nahe einem Punkt mit waagrechter Tangente, so ist die Gerade g(x) fast parallel zur x-Achse, und die nächste Iterierte liegt weit entfernt von xk ! Kein konvergentes Verhalten!

Page 27: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

Nullstelle: x = 0 Startwert: x0 = 1 27

Beispiel für Iterationen beim Newtonverfahren

Funktion: f(x) = exp(x) - 1

Page 28: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

f(x)

Newtonverfahren:

Tangente t(x)

Nullstelle von f(x)

x0x1

f(x0)

Page 29: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

f(x)

Newtonverfahren:

Tangente t(x)Nullstelle von f(x)

f(x1)

x2

x1

Page 30: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

f(x)

Newtonverfahren:

Tangente t(x)Nullstelle von f(x)

x3 x2

Page 31: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

31

.)()()(xfxf

xx!

−=Φ

0)()(

)()()( =

!⇔

!−=Φ=

xfxf

xfxf

xxx

Newton-Verfahren als Fixpunktiteration:

(falls f ’(x) = 0 ): Gesuchte Nullstelle x von f(x) ist gleichzeitig Fixpunkt von Φ(x)

Damit sind die Resultate über Iterationsfunktionen und deren Fixpunkte anwendbar (Fixpunktsatz, L<1, usw.):

Dazugehörige Iterationsfunktion ist

Page 32: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

32

)()()(

)()()()(1)( 22

2

xfxfxf

xfxfxfxf

x!

!!=

!

!!−!−=Φ!

Satz: Das Newtonverfahren für eine stetig diff’bare Funktion f mit einfacher Nullstelle x ist lokal quadratisch konvergent.

und (falls x einfache Nullstelle von f) gilt:|Φ’(x)| = 0 < 1 .

Daher ist die gesuchte Nullstelle x von f dann ein anziehender Fixpunkt von Φ !

Intervall U = [ x-h , x+h ]

Beweis: Lokal konvergent nach Banach’schem Fixpunktsatz! Startwert nahe genug bei Fixpunkt ! lineare Konvergenz im

Zum Beweis der quadratische Konvergenz:

Page 33: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

33

2))((21))(()()(0 kkkk xxzfxxxfxfxf −""+−"+==

mit Zwischenstelle z (Taylorentwicklung).

21 kk xxLxx −⋅≤− +

Ist f ’(x) = 0 , so kann C lokal durch eine Konstante L nach oben beschränkt werden.

Daher folgt:

( )2)()(

21

)()(

kkk

kk xx

xfzf

xfxf

xx −"

""⋅−=

"+−

221 ),(

)(2)(

kkkk

k xxxxCxxxfzf

xx −⋅=−⋅###

=− +

Umformung:

Page 34: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

Der Abstand von der gesuchten Lösung verringert sich in jedem Schritt quadratisch (wenn man nahe genug an der Lösung ist, so dass |x-xk| << 1 ).

z.B. Abstand von der Lösung in jedem Schritt |x-xk| z.B. wie 10–1 , 10–2 , 10–4 , 10–8 , 10–16 ....

Also schnelle Konvergenz!

34

f(x) = 0, aber f ’(x) = 0, oder- x einfache Nullstelle, d.h.

f(x)=(x-x)g(x) mit g(x)=0- Startwert x0 nahe bei x

Voraussetzungen für quadratische Konvergenz:

Page 35: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

35

a heißt m-fache Nullstelle, wenn:

f(j)(a) = 0 für j=0,…,m-1 , aber f(m)(a) ≠ 0

oder

f(x) = (x-a)m ⋅ g(x) mit g(a) ≠ 0

Graphisch:

Page 36: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

36

11 <−⋅≤− + LundxxLxx kk

pkk xxLxx −⋅≤− +1

Definition der Konvergenzordnung

Linear konvergent:

Konvergent von Ordnung p > 1 :

0)()()()( ≠−= xgmitxgxxxf m

)()()()()()(

)()()( 1 xgxxxgxxm

xgxxxxfxfxx mm

m

!−+−−

−=!

−=Φ−

Falls f an der Stelle x eine m-fache Nullstelle hat mit m > 1 , so ist das Newtonverfahren nur noch lokal linear konvergent:

Ist nämlich x eine m-fache Nullstelle, so folgt

und die Iterationsfunktion lautet

Page 37: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

37

111)()(1)( <−=

⋅−=Φ$

mxgmxg

x

Die Ableitung der Iterationsfunktion ist daher

.)()()(xfxfmxx!

⋅−=Φ

Variationen bei m-facher Nullstelle, um quadratische Konvergenz zu erreichen: Wende Newtonverfahren an auf (m-1) – te Ableitung von f(x) f(x)/f ’(x) m-te Wurzel von |f(x)| oder modifiziere Newtonformel (bei bekanntem m) zu

Nach dem Banachschen Fixpunksatz folgt: Φ ist lokal kontrahierend und es liegt lineare Konvergenz vor!

Page 38: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

38

)( kxf !≈

( )11

11

)()()()( −

−− −⋅

−−

+= kkk

kkk xx

xxxfxfxfxg

Verwandte Verfahren

Sekantenverfahren: Ersetze Tangente in letztem Punkt durch die Sekante, die die beiden letzten Punkte verbindet; verwende deren Nullstelle!

Nullstelle der Sekante als nächste Iterierte:

Page 39: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

39

)()()()(

)()())((

1

11

1

1111

−−

−−−+ −

−=

−−=

kk

kkkk

kk

kkkkk xfxf

xfxxfxxfxfxxxf

xx

Liefert lokale Konvergenz wie beim Newtonverfahren. Vorteil: keine Ableitungen benötigt, jeweils nur die letzten beiden Funktionswerte! Billiger! Aber Problem, falls Nenner gleich Null ist! Konvergenzordnung p nur mit 1<p<2, aber dafür pro Schritt nur eine neue Funktionsauswertung nötig (bei Newton f und f ’ pro Schritt)

Page 40: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

40

Bisektionsverfahren:

Starte mit zwei Werten x und y, für die gilt, dass f(x)*f(y) < 0 ist, für die also f verschiedene Vorzeichen hat. Daher liegt für stetiges f zwischen x und y garantiert eine Nullstelle! Setze z:=(x+y)/2 den Wert genau in der Mitte zwischen x und y:

Page 41: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

Berechne f(z). Ist f(z) = 0: fertig Ist f(x)*f(z) > 0 , so setze x:=z, y bleibt Ist f(y)*f(z) > 0 , so setze y:=z, x bleibt

Damit gilt wieder f(x)*f(y) < 0, aber der Abstand zwischen x und y hat sich halbiert.

41

( )xyxxxy

xyxyxx

kkkk

kkkk

−+−⋅=−⋅=

=−=−+− ++++

5.05.01111

<= max { | x – xk| , | x – yk | }

Daher liegt die gesuchte Nullstelle nach k Schritten garantiert in einem kleineren Intervall der Größe const/2k , und es gilt: (Bezeichnung: xk, yk ! zk usw.)

Page 42: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

42

{ } { } 2/,max2/,max 112222 xyxxyxyxxyxx kkkkkkkk −−≤−≤−≤−− ++++++

Daher schrumpft der „Abstand“ der Nullstelle zu den beiden Intervallgrenzen linear in jedem Schritt um den Faktor 0.5

Regula falsi durch Verbindung von Bisektion und Sekantenverf.:

Iteriere wieder Intervall-Einschließungsgrenzen. Neuer Kandidat für Ober/Untergrenze ist jetzt nicht der Punkt in der Mitte, sondern die Nullstelle der Sekante. Ersetze eine der beiden alten Grenzen durch diesen neuen Kandidaten, so dass die gesuchte Nullstelle wieder garantiert in dem neuen Intervall liegt!

xk xk+1 x yk+1=yk=yk+2

Page 43: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

f

x

z=(x+y)/2 y

f(x) < 0 f(y) > 0

Bisektionsverfahren:

Nullstelle im Intervall [x,y]

Page 44: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

f

x

z=(x+y)/2 y

f(x) < 0 f(y) > 0

f(z) > 0

Bisektionsverfahren:

alt [x,y] ! [x,z]:=[x,y] neu

Da f(y) und f(z) das gleiche Vorzeichen haben, wird y durch z ersetzt.

Page 45: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

f

x z=(x+y)/2

y

Intervall [x,y]

f(x)<0 f(y)>0

Page 46: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

f

x z=(x+y)/2

y

[x,y] ! [z,y]=:[x,y]

x wird durch z ersetzt.

f(x)<0 f(z)<0 f(y)>0

Page 47: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

f

x

y

Nullstelle in [x,y] Neues Intervall ist ¼ so groß wie das Anfangsintervall

f(x)<0 f(y)>0

Page 48: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

48

In der Praxis wird häufig eine Kombination von Bisektion und Newton eingesetzt:

Starte mit ‚sicherer’ Bisektion, bis der ‚Einzugsbereich’ der quadratischen Konvergenz des Newtonverfahrens erreicht ist. Dazu nötig sind Werte x und y mit f(x)f(y) < 0 ; solche Werte erhält man z.B. durch Auswertung von f(x) an Zufallszahlen oder an äquidistanten Stellen. Falls solche x und y nicht auffindbar sind, liegt ev. keine Nullstelle vor oder eine Nullstelle gerader Ordnung! Im letzteren Fall kann das Newtonverfahren auf f ’(x) angewendet werden.

Page 49: Computer Vision Group Prof. Daniel Cremers · Numerisches Programmieren PD Dr. Rudolph Triebel Iterationsverfahren 2 Gegeben sei eine Iterationsfunktion Φ(x) und ein Startwert x

PD Dr. Rudolph TriebelNumerisches Programmieren

Zusammenfassung

• Iterationsverfahren berechnen Folgen von Werten einer Iterationsfunktion (Ziel: Näherungsweise Berechnung von Funktionswerten)

• Es gibt anziehende und abstoßende Fixpunkte; diese kann man an den Ableitungen der Iterationsfunktion unterscheiden

• Der Banachsche Fixpunktsatz wird angewendet, um Konvergenz nachzuweisen

• Das Newton-Verfahren bestimmt Nullstellen einer Funktion mithilfe von Interaktionen; es konvergiert lokal quadratisch

• Andere Methoden: Sekanten, Bisektion, Regula falsi

49