Numerik Version 0.6
Numerik Version 0.6
Numerik Version 0.6
INHALTSVERZEICHNIS
Inhaltsverzeichnis
1 Einleitung
1.1 Algebra 1.1.1 1.1.2 1.1.3
Numerik
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 1 1 2
Ziel: Computer mit Verstand einsetzen (sonst oft sinnlos). . . . . . . Anwendungsgebiete . . . . . . . . . . . . . . . . . . . . . . . . . . . . Computeralgebrasysteme (Mathematica, Maple, ...) . . . . . . . . . .
3
3 3 3 3 4 4 4 5
z = S M 2Ee
. . . . . . . . . . . . . . . . .
8
8 8 8 8 9 14 16 17 22
Runge-Kutta-Verfahren
Dynamische Anpassung der Schrittweite . . . . . . . . . . . . . . . . Alternative Fehlerabschtzung / Schrittweitenanpassung: . . . . . . . Einschub: Dimensionslose Gren . . . . . . . . . . . . . . . . . . . .
24
24 24 24 25 26 27
N = 1)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sekantenverfahren (fr
N = 1)
. . . . . . . . . . . . . . . . . . . . . . . . .
N = 1) N > 1)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
28 28 29 32
Shooting Methode
5.2.1 5.2.2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
37 37 38 39 40 40
Gau-Elimination mit Rckwrtssubstitution (direktes Verfahren) . . . . . . LU-Zerlegung (direktes Verfahren) 6.4.1 Crouts Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . .
INHALTSVERZEICHNIS
ii
Lsen von
Ax = b
mittels LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41 41 41 42 42 42 44 44
Iterative Verbesserung einer Lsung . . . . . . . . . . . . . . . . . . . . . . . Methode der konjugierten Gradienten (iteratives Verfahren) 6.7.1 6.7.2 6.7.3 Spezialfall: A sei symmetrisch und positiv denit Verallgemeinerung Konditionszahl einer Matrix, Vorkonditionierung . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Numerische Integration
7.1 Eindimensionale Integrale 7.1.1 7.1.2 7.2 7.2.1 7.2.2 7.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Newton-Cotes-Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . Gauss-Quadratur (hier Gauss-Legendre-Integration)
45
45 45 46 47 47 47 48
Mehrdimensionale Integration . . . . . . . . . . . . . . . . . . . . . . . . . . Geschachtelte eindimensionale Integrationen . . . . . . . . . . . . . . Monte-Carlo-Integration . . . . . . . . . . . . . . . . . . . . . . . . . Wann ist welches Verfahren geeignet? . . . . . . . . . . . . . . . . .
Eigenwertprobleme
8.1 8.2 8.3 8.4 8.5 Problemstellung, grundlegende Eigenschaften/Tatsachen . . . . . . . . . . . Prinzipielle Arbeitsweise numerischer Eigenwertverfahren . . . . . . . . . . . Jacobi-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Beispiel: fuer phys. Anwendung: kleine Schwingungen . . . . . . . . . . . . . Bibliotheken fuer Eigenwertprobleme . . . . . . . . . . . . . . . . . . . . . .
49
49 50 50 52 54
55
55 56 57 59
2 - Fitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10 Funktionsminimierung, Optimierung
10.1 Golden Section Search in 1D . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Quadratische Interpolation in 1D . . . . . . . . . . . . . . . . . . . . . . . . 10.3 Minimumsuche mit Hilfe von Ableitungen in 1D . . . . . . . . . . . . . . . . 10.4 Simplex-Methode (D 10.5
62
63 64 64 64 66 67 67 69
> 1)
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
D > 1-Minimierung
durch wiederholte
1D
Minimierung
. . . . . . . . . . .
69
69 70 71 71 72
ii
ABBILDUNGSVERZEICHNIS
iii
Abbildungsverzeichnis
2.1
oat:
mit
folgendermaen determiniert.
double
Wikipedia Artikel Doppelte Genauigkeit: Online in Internet: URL: http://de.wikipedia.org/wiki/Doppelte_Genauigkeit [Stand 15.11.2011]
Euler Methode Oszilattors fr kleine
. . .
4 9 11 12 13 13 14 14 15 16 18 19 20 21 23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Runge-Kutta-Verfahren & die Euler-Methode am Beispiel des Harmonischen Oszilattors fr weit grere
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fehler der Euler-Methode bei wachsener Zeit & Frequenz . . . . . . . . . . . Fehler der Runge-Kutta-Verfahren bei wachsender Zeit & Frequenz Fehler der Runge-Kutta-Verfahren bei wachsender Zeit & Frequenz Fehler der Runge-Kutta-Verfahren bei wachsender Zeit & Frequenz
Abschtzung a Schrittweite . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
Lsung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12 Runge-Kutta-Verfahrem dritter Ordnung aufgetragen mit der Algebraischen
Lsung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13 Runge-Kutta-Verfahrem vierte Ordnung aufgetragen mit der Algebraischen
Lsung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14 Harmonsicher Oszillator mit Bercksichtigung der Einheiten (oben) und ein-
x=
x x0 , t =
(unten).
. . . . . . . . .
Sekanten-Verfahren
Quelle: Verndertes de:Bild:Sekantenverfahren Ani.gif, Ursprngliche Version von de:Benutzer:Ralf Pfeifer: URL:http://de.wikipedia.org/wiki/Benutzer:Ralf_Pfeifer
. . . . . . . . . . . .
25
4.2
Quelle: Ausfhrliche Animation. Online im Internet: URL: http://de.wikipedia.org/wiki/Datei:Newto 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 RK-Entwicklung bis
t = t2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Illustration des Shooting Verfahrens fr die niedrigen drei angeregten Zustnde 31 Newton-Raphson Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grundzustand des harmonsichen Oszillators . . . . . . . . . . . . . . . . . . Shooting Verfahren: Angewendet fr den Harmonischen Oszillator; Randbedingungen ((x
1) = 0
Grobes Scannen der mglichen Energieeigenwerte Grobes Scannen der mglichen Energieeigenwerte
iii
ABBILDUNGSVERZEICHNIS
iv
5.9
(Nicht-nomierte) Wellenfunktionen der niedrigsten vier Energieeigenzustnde. Jeder Zustand entspricht einer Mode der Wellenfunktion. Der Grundzustand als eine viertel Periodenschwingung, der erste angeregte Zustand als eine halbe Periodenschwingung, der zweite angeregte Zustand als eine dreiviertel Periodenschwingung und zuletzt eine ganze Periodenschwingung des dritten angeregten Zustandes dargestellt. . . . . . . . . . . . . . . . . . . . .
36 43 53 56 56 57 59 60 60
CG- Verfahren fr
N =2
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
N=10 Massenpunkte (m=Masse) mit Federn (Federkonstante k) verbunden Interpolation von 4 Datenpunkten mit einen Grad-3-Polynom . . . . . . . . Interpolation von 10 Datenpunkten mit einen Grad-9-Polynom . . . . . . . Interpolation von 10 Datenpunkten mit einem kubischen natuerlichen Spline Least squares Approximation von 10 Datenpunkten mit Polynomen von diedrigem Grad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Least squares Approximation von 4 Datenpunkte mit konstantem Ansatz, also f (x, a) = a . . . . . . . . 2 -Fitting von 4 Datenpunkte . . . . . . . . . . . . . . . . . . . . . . . . . . mit konstantem Ansatz, also
f (x, a) = a
. . .
iv
EINLEITUNG
1 Einleitung
Denition aus Wikipedia:
Die Numerische Mathematik, kurz Numerik genannt, beschftigt sich als Teilgebiet der Mathematik mit der Konstruktion und Analyse von Algorithmen fr kontinuierliche mathematische Probleme. Hauptanwendung ist dabei die approximative Berechnung von Lsungen mit Hilfe von Computern.
1.1
Algebra
Numerik
Heutzutage beschftigen sich Physiker in der Regel nicht mehr rein analytisch mit der Physik, sondern sind auf numerische Anstze und Algorithmen angewiesen. Heutzutage werden Computeralgebrasystemen (CAS) Methoden zum Lsen oder Vereinfachen von algebraischer Aufgaben oder Integrale genutzt. Solche Programme knnen nicht nur mit Zahlen rechnen, sondern auch mit symbolischen Ausdrcken wie Variablen, Polynomen und Matrizen. (Wikipedia )
1.1.1
1.1.2
Anwendungsgebiete
Oft nden sich zu einigen Problemstellungen keine explizite (analytische) Lsung (Dreikrperproblem) oder, im Falle das eine Lsung existiert, der Rechenaufwand zu gro ausfllt. Desweiteren ndet man Anwendungen in
Linerare Gleichungssysteme
EINLEITUNG
1.1.3
Ein Computeralgebrasystem (CAS) ist ein Computerprogramm, das Methoden der Computeralgebra nutzt. Konkreter kann es Rechenaufgaben aus verschiedenen Bereichen der Mathematik lsen und dabei nicht nur (wie ein Taschenrechner) mit Zahlen, sondern auch mit symbolischen Ausdrcken (Variablen, Funktionen, Polynomen und Matrizen) umgehen. (Wikipedia)
Diese liefern exakte Ergebnisse, welches das Lsen des Gesamtproblems beschleunigen sei es durch das Lsen von Standardintegralen, Vereinfachung von langen Ausdrcken, Koordinatentransformationen (z.B: von kartesisch in Kugelkoordinaten), oder hnliches.
Integer-Zahl
z = bN 1 ....b3 b2 b1 b0 .
mit
bj
1; 0 z
durch 0 und 1 beschrie-
Diese binre Darstellung, von der positiven Ganze Zahlen ben, nden sie so im Speicher des Computers.
N =1
z =
j=0
bj z j
Typisch ist die Wahl der Bits N = 32 jedoch ndet man auch N=8,16,64,128 je nach Problemstellung und verwendeter Hardware Fr
N = 32
0zz
2
32
1 = 4.294.967.295
2.1.1
Arithmetik
ist in der Regel exakt; Ausnahmen:
Die Arithmetik
Wertebereich wird berschritten Division, Wurzel,... liefern Ganze Zahl d.h. eine Komma Zahl wird abgeschnitten (
7 3
= 2)
2.2
2.2.1
1 Die Zahl 10 wird im Binrsystem z = 1010 dargestellt. 2 Die Arithmetik umfasst vor allem das Rechnen mit den Zahlen, also die Grundrechenarten Addition
(Zusammenzhlen), Subtraktion (Abziehen), Multiplikation (Vervielfachen), Division (Teilen) sowie die zugehrigen Rechengesetze. Zur Arithmetik gehren auch die Gesetze der Teilbarkeit der ganzen Zahlen sowie die Division mit Rest. Weiter zu erwhnen ist das Rechnen mit Brchen. [Quelle: Wikipedia: Aritkel Arithmetik: Online im Internet: URL: http://de.wikipedia.org/wiki/Arithmetik[Stand:01.12.2011]]
S = 1 M=
3
z = S M 2Ee
NM j=0
mj ( 1 )j , m0 = 1 2
mj {0; 1}
3 In der Wissenschaft arbeitet man immer mit normierten Zahlen. Falls eine Binre Zahl normiert ist,
muss die Floating Zahl mit 1,??? .Die Auszeichnende Bit Zier ist also eine 1. In diesem Fall nehmen wir das zur Kenntnis und brauchen diese nicht explizit auszuschreiben was uns auch ein Bit erspart. Dies bezeichnet man auch als Phantombit.
2.2.2
Abbildung 2.1:
folgendermaen determiniert.
1, 19
107 e = 127
wird.
= ( 1 )23 2
2
E(8Bits) e
= 22
8 127
= 2126 ....2+126
Abbildung 2.2:
Wikipedia Artikel Doppelte Genauigkeit: Online in Internet: URL: http://de.wikipedia.org/wiki/Doppelte_Genauigkeit [Stand 15.11.2011]
2. Double
double
=Doppelte Genauigkeit.
pelte Bitzahl gegenber dem Float. Fr die kleinste bzw. grte Zahl ergibt sich analog zur Rechnung von oben:
Reele Zahl im Computer wird im Allgemeinen wegen endlicher Bitzahl nicht exakt angegeben. von M:
Z = S M 2El
Genauigkeit
107 fr oat4
und
1016
fr
double5
2.3.1
Elementare Beispiele
Extremfall : 1+ = falls
1
38
| |<
308
bis 10 & die Genauigkeit liegt bei 10 bis 10 & die Genauigkeit liegt bei 10
38 308
6 15
10n )
10n )
Weil groe Zahlen weniger Nachkommastellen besitzen (Exponent bringt Kommaverschiebung), wird die kleine Zahl nicht mehr genau dargestellt. Stellen lschen sich aus Resultierende Mantisse
6
107n (oat) & 1016n (double) Stellen z.B: 6 abweichen ist nur auf 1 Stelle exakt. um 10
Die ersten n
2.3.2
f(x) = f
In diesem Falle knnte man f(x) numerisch durch die Dierenz annhern:
f (x)
Taylorentwicklung
1 f (x) + f (x) h + f 2
(x) h + O(h )
3
f (x)
(symmetrisch / gutes Verfahren)
f (x + h) f (x) + O(h) h
f (x)
Problem: wenn einerseits h klein ist
f (x + h) f (x h) + O(h ) 2h
&
die Dierenz groer Zahlen eine kleine Zahl geliefert ( - andererseits wenn h gro ist, werden die Fehler Also suchen wir ein
f (x + h) f (x)
f (x + h) f (x h)
O(h), O(h )
wird durch
2.3.1). gro!
h = hopt
im mittleren Bereich
Abschtzung
hopt (fr
O(h):
f (x) f (x)
1f O(h) = 2 f (x) f
(x)h f f
(x)
(x)h (x)
f (x + h) f (x) : f (x)
f (x+h)f (x) h
f (x) f (x)
f (x) f (x)h
6 Als Mantisse bezeichnet man die Ziernstellen einer Gleitkommazahl. Der Teil vor dem e nennt man
Martisse whrend der folgende Teil nach dem e als Exponent bezeichnet wird. - 3.2exp-(5)
wobei und
=107n (oat) bzw. = 1016n (double) betrgt , f(x) ein Zahlenwert ist der Nenner f (x + h) f (x) die Dierenz ist und der Ausdruck dann die rel.
Genauigkeit multipliziert mit der max. Genauigkeit beschreibt. Das Optimum bei Gleichheit (fr den asymmetrischen Fall)
(x) h f (x)
opt
opt
h
f (x) f (x)
f(x) | f (x)
Abschtzung
opt
(x)h f (x)
3
opt
hopt (fr
hopt
,
2 3
h) durchfhren.
In der Praxis: Nicht nur Abschtzung, sondern auch Test der Stabilitt bzgl. der numeri-
z=
N =1 bj z j mit j=0
bj
1; 0
Gleitkommazahl:
NM j=0
z = S M 2Ee wobei S = 1= Vorzeichen ; M = 1 j mj ( 2 ) , m0 = 1 ; mj {0; 1} Exponent: E ist ein Integer & e eine S = 1 Bit , E = 8 = 107 S=1 = 1016
Bit , Bits und
Integerkonstante zum Vorzeichenwechsel im Exponenten. oat: besitzt 4 Byte mit einer Genauigkeit von
NM = 23
Bits ; mit
E = 11
Bits und
NM = 56
Bits ; mit
Aufgrund von Rundungsfehler sind Manahmen zur optimalen Genauigkeit zu treen - fr den Asymmetrischen Fall:
h h
opt
f (x) f (x)
3
2 3
Physikalische Motivation
Gekoppelte Newtonsche Bewegungsgleichungen fr N Massenpunkte
mj
mit
j =
(1, ..., N )
und Anfangsbedingungen
rj (t = 0) = rj,0 ; rj (t = 0) = vj,0
mj
Analytisch allgemein unlsbar, z.B: primitives Dreikrperproblem (Sonne, Erde, Mond) Dagegen befassen wir uns erst mit Randwertprobleme (z.B: QM, Schrdingergleichung,
(x1 ) = 0, (x2 ) = 0)
3.2
3.2.1
in Kapitel 5
Euler - Methode
Zweckmig: Umschreiben auf ein System von Gleichungen 1. Ordnung
Um ein Sysem 2ter Ordnung zu lsen, kann man es auf ein Problem der 1ten Ordnung reduzieren mit dem Preis, dass sich die Anzahl der Gleichungen verdoppeln.
y(t + ) =
f (y(t + ), t + )
rj = vj
v =
y(t) = (r1 , ..., rn , v1 ....., vn , t) 1 1 F1 (r1 , ..., rn , r1 , ..., rn , t), ..., FN (r1 , ..., rn , r1 , ..., rn , t)) m1 mN
muss fr beliebig gegebene (y, t) auswertbar sein!
3.2.2
Damit gilt:
y(t) = f (y(t), t) ; f
y( + t)
Schritten mglich.
3.3
Fehler
O( )
pro Schritt
Zeitentwicklung zu t=T
Gesamtfehler
T/ Schritte O( T ) = O( ) schlecht
Nicht bercksichtigt ist eine qualitativ andere Entwicklung nach geringer Zeit ... z.B: chaotisches System (fast gleiche Starbedingungen, aber unterschiedliche Trajektorien)
Runge-Kutta-Verfahren
y = y(t) , f (y, t) =
f (y(t), t)
gemeint;)
mj
O( )
T aylorentwicklung
y(t) + f (y(t), t) +
hat sich (siehe Abb.3.1, 3.2, 3.4) auf langer Zeitskala nicht bewhrt. Also schauen
Grundidee des Runge-Kutta-Verfahren ist wie Euler, aber geschicktere Diskretisierung sodass Fehler strker in Second order Runge-Kutta
unterdrckt ist.
k1 = f (y(t), t) =1 Eulerschritt
9
(3.1)
10
(3.2)
(3.3)
sodass man bei Gleichung 3.1 sich mit einemganzen Euler-Schritt und bei Gleichung
+ 1 ) 2
Das RK-Verfahren 2. Ordnung ist nicht eindeutig. Es gibt viele Vorschriften, die zu einem Fehler von
O( )
fhren.
Third order RK
Wie man dieses Verfahren in C nun implementiert steht dem Leser im Anhang oder unter der
7 In der Praxis wird hug das RK- Verfahren 4. Ordnung angewendet. Hohe Ordnungen ermglichen
groe Schritte , jedoch sind durchaus mehrere Operationen pro Schritt ntig.
10
11
HO: V(x) = m2x2/2, ABs x(t=0) = x0, v(t=0) = 0, Schrittweite = 0.1 2.5 2 1.5 1 x/x0 0.5 0 -0.5 -1 -1.5 0 2 4 t 6 8 10 Euler-Methode 2nd order Runge-Kutta 3rd order Runge-Kutta 4th order Runge-Kutta analytische Loesung
Auf dem Plot sieht man die verschiedenen vorgestellten Verfahren (Euler-Methode und 2nd,3rd & 4th order Runge-Kutta-Verfahren) ber die analytische Lsung des Harmonsichen Oszillators mit der Bewegungsgleichung
x = x
x(t = 0) = x0
der analytischen Lsung deutlich ab, dagegen stimmen die anderen Verfahren mit bloem Auge nahezu berein.
11
12
HO: V(x) = m2x2/2, ABs x(t=0) = x0, v(t=0) = 0, Schrittweite = 0.1 2.5 2 1.5 1 x/x0 0.5 0 -0.5 -1 -1.5 90 92 94 t 96 98 100 Euler-Methode 2nd order Runge-Kutta 3rd order Runge-Kutta 4th order Runge-Kutta analytische Loesung
HO: V(x) = m2x2/2, ABs x(t=0) = x0, v(t=0) = 0, Schrittweite = 0.1 2.5 2 1.5 1 x/x0 0.5 0 -0.5 -1 -1.5 990 Euler-Methode 2nd order Runge-Kutta 3rd order Runge-Kutta 4th order Runge-Kutta analytische Loesung
992
994 t
996
998
1000
Ordnung, whrend die hheren Ordnungen zur Beschreibung der Oszillation immernoch dem analytischen Ergebnis folgen.
12
13
HO: V(x) = m2x2/2, ABs x(t=0) = x0, v(t=0) = 0, Schrittweite = 0.1 150 Fehler Euler-Methode 100 (xnumerisch - xanalytisch)/x0
50
-50
-100
-150 0 20 40 t 60 80 100
Abbildung 3.4: Fehler der Euler-Methode bei wachsener Zeit & Frequenz
HO: V(x) = m2x2/2, ABs x(t=0) = x0, v(t=0) = 0, Schrittweite = 0.1 0.2 Fehler 2nd order Runge-Kutta 0.15 0.1 (xnumerisch - xanalytisch)/x0 0.05 0 -0.05 -0.1 -0.15 -0.2 0 20 40 t 60 80 100
Abbildung 3.5: Fehler der Runge-Kutta-Verfahren bei wachsender Zeit & Frequenz Hier werden nun nicht mehr die Amplitude, sondern deren Abweichung bzw. Fehler gegenber der analytischen Lsung fr wachsende
t,
dargestellt.
13
14
HO: V(x) = m2x2/2, ABs x(t=0) = x0, v(t=0) = 0, Schrittweite = 0.1 Fehler 3rd order Runge-Kutta 0.004
(xnumerisch - xanalytisch)/x0
0.002
-0.002
-0.004
20
40 t
60
80
100
Abbildung 3.6: Fehler der Runge-Kutta-Verfahren bei wachsender Zeit & Frequenz
Abbildung 3.7: Fehler der Runge-Kutta-Verfahren bei wachsender Zeit & Frequenz
3.3.1
Fehelrabschtzung
14
15
RK-Schritt mit
y(t) y(t
+ )
2:
dies dient eher zur Fehlerabschtzung als zum Arbeiten. 2RK-Schritte mit
Abbildung 3.8:
Abschtzung a
abs = Abschtzung = a
Alternative: relativer Fehler,
| y2 y | 2 2n 1
rel =
Da das Verhltnis kann man
abs | y(t) 2 | 2
1 : 2n 1 von y(t) 2 (t + )& y(t) (t+ ) 2 versuchen y(t + ) durch Extrapolation zu bestimmen.
y(t) 2 y(t) 2 + 2 2
y(t) 2 y (t) 2 2n 1
max :
1 abs, max n+1 ) abs
abs,max abs
15
max
= (
16
3.3.2
langsam ungenau
Es muss je nach Problemstellung ein Kompromiss zwischen der Genauigkeit und der Schnelligkeit der Auswertung Individuell getroen werden.
Ideal: Je nach Verlauf der Funktion und dessen Ableitung kann man die Schrittweite
varrieren. Also wenn die Funktion glatt verluft kann man grere Schritte whlen, dagegen bei radikalen Vernderungen , also Schrittgre
Abbildung 3.9:
Schrittweite
Eine mgliche Realisierung bietet folgender Algorithmus: 1. Input: Maximal erlaubter Fehler Initale (grobe) Schrittweite Anfangsbedingungen
abs,max
y(t = 0)
wie gehabt
2.
t=0
3. RK-Schritte:
y(t) y (t + ) y(t) =
4. Schtze nun den Fehler ab:
9
2 2
y2 (t + ) 2
abs = Abschtzung = a
5. Passe Schrittweite an:
10
| y2 (t + ) y (t) | 2 2n 1
neu = 0, 9 (
9 Fr welche Norm | y2 (t + ) y (t) | man sich endgltig entscheiden muss oder am besten sich dafr
2
eignet, kann man nicht allgemein festlegen. Ob Euklidische Norm, Maximum-Norm oder hnliches eine geeignete Wahl sei, hngt von der Problemstellung ab und erfordert ein wenig Erfahrung oder Fingerspitzengefhl um sich fr eine zu entscheiden. holungen zu verhindern.
10 Der Wert 0,9 ist ein empirisch bestimmter typischer Wert der dazu dienen soll huge Schrittwieder16
17
6. Falls mit
y(t + ) 2 ( z.B. Ausgabe in Datei) 2 t = t + wird als nchster Schritt ausgefhrt, gehe also zu 3. RK-Schritt mit = neu also mit aktuell geschtzter optimaler Schrittweite. falls jedoch abs abs,max
akzeptiert der Algorithmus unser mssen wir unsere Schrittweite verringern, da wir diese Ungenauigkeit nicht akzep-
abs abs,max
=
3.3.3
2 ).
tieren wollen.
neu (stelle also neue und kleiner Schrittweite ein) Gehe dann wieder zu 3. RK-Schritte
und
Hier wre noch zu bemerken das diese Verfahren seit Kapitel 2 nur Grundlegende Techniken
Verfahren existieren.
17
18
AHO: V(x) = xn, n = 2, = 0.5, ABs x(t=0) = x0, v(t=0) = 0, abs,max = 0.001, initial = 1.0 2 Euler-Methode analytische Loesung 1.5
10
AHO: V(x) = xn, n = 20, = 1.0, ABs x(t=0) = x0, v(t=0) = 0, abs,max = 0.001, initial = 1.0 2 Euler-Methode 1.5
Aufgetragen sind die Euler-Methode auf die Analytische Lsung und auf der unteren Graphik die Schrittweite e
18
19
AHO: V(x) = xn, n = 2, = 0.5, ABs x(t=0) = x0, v(t=0) = 0, abs,max = 0.001, initial = 1.0 2 2nd order Runge-Kutta analytische Loesung 1.5
10
AHO: V(x) = xn, n = 20, = 1.0, ABs x(t=0) = x0, v(t=0) = 0, abs,max = 0.001, initial = 1.0 2 2nd order Runge-Kutta 1.5
schen Lsung
Aufgetragen sind das 2nd Order RK-Verfahren auf die Analytische Lsung und auf der unteren Graphik die Schrittweite der Schrittgre
19
20
AHO: V(x) = xn, n = 2, = 0.5, ABs x(t=0) = x0, v(t=0) = 0, abs,max = 0.001, initial = 1.0 2 3rd order Runge-Kutta analytische Loesung 1.5
10
AHO: V(x) = xn, n = 20, = 1.0, ABs x(t=0) = x0, v(t=0) = 0, abs,max = 0.001, initial = 1.0 2 3rd order Runge-Kutta 1.5
schen Lsung
Aufgetragen sind das 3rd Order RK-Verfahren auf die Analytische Lsung und auf der unteren Graphik die Schrittweite Schrittgre
20
21
AHO: V(x) = xn, n = 2, = 0.5, ABs x(t=0) = x0, v(t=0) = 0, abs,max = 0.001, initial = 1.0 2 4th order Runge-Kutta analytische Loesung 1.5
10
AHO: V(x) = xn, n = 20, = 1.0, ABs x(t=0) = x0, v(t=0) = 0, abs,max = 0.001, initial = 1.0 2 4th order Runge-Kutta 1.5
Lsung
Aufgetragen sind das 4th Order RK-Verfahren auf die Analytische Lsung und auf der unteren Graphik die Schrittweite Schrittgre
Man erkennt deutlich das fr grere Ordnungen des Runge-Kutta-Verfahren die Genauigkeit der Punkte ansteigt inkl. sich schon bei geringen Vernderungen des Gradienten sich eine Schrittgre
gewhlt wird.
21
22
3.3.4
Die meisten physikalischen Gren tragen Einheiten (Lngen,Zeiten,Energien,...), jedoch besitzt der Compu ter nicht die Fhigkeit oder das Verstndnis in Einheiten zu denken, sondern rechnet nur mit Zahlen. Welche Mglichkeiten bieten sich an, trotz Einschrnkung zu arbeiten?
Methode 1:
Deniere Einheiten fr den Computer, z.B: alle Lngen in Meter oder der Wert 3,77 im Computer fr Lnge als 3,77m als Nutzer verstehen. Dies zieht selbstverstndlich auch alle Lngen-Werte in dieser Einheit einzutippen mit sich. Alles andere wre Unsinn. Whle typische Einheiten fr die jeweilige Problemstellung, um zu groe bzw. zu klei-
ne Zahlen zu vermeiden (Lichtjahre bzw. parsec in der Astrophysik wogegen Femtometer oder Atomare Einheit (a.u.) in der Teilchenphysik sich anbieten).
Methode 2:
Betrachte stets geeignete dimensionslose Verhltnisse die die Physikalischen Abhngigkeiten & Prozesse charakterisieren wie z.B: die dimensionslose Kennzahlen Mach-Zahl) Aber auch einfache und klassische Beispiele geben den Vorteil der dimensionlosen Verhltnisse preis:
11
(Reynoldszahl,
L=
1 2 m
x x = x
(Die Masse
: t = t
d x dt
x(t = 0) = x0 ; x(t = 0) = 0
Messe x in Einheiten von der Amplitude Nun hat unsere Bewegungsgleichung aus
x0 := x = L =
1 2
in Einheiten durch gezielte Wahl von dimensionslose Verhltnisse auf die Form d x x = einerseits bersichtlich reduziert, andererseits oentsichtlich die Mgdt lichkeit geschaen die Physik in den Computer zu bertragen bzw. fr die Numerik relevante Form zum Auswerten der physikalischen Problemstellung gebracht.
mx
x x0
d x x = dt 1 2 m x
x = x
11 Der Vorteil der dimensionslosen Kennzahlen liegt in der Mglichkeit, durch wenige, beispielhafte Messungen im Modellversuch die Lsung fr beliebige andere Flle zu ermitteln, bei denen die dimensionslosen Kennzahlen gleich gro sind wie im Modellversuch.(Quelle: Wikipedia: Dimensionslose Kennzahlen: Online im Internet: URL: http://de.wikipedia.org/wiki/Dimensionslose_Kennzahl [Stand:20.11.2011]
22
23
Abbildung 3.14: Harmonsicher Oszillator mit Bercksichtigung der Einheiten (oben) und
x=
x x0 , t =
(unten).
Zustzlich ist eine solche numerische Rechnung unmittelbar fr unendliche viele Physikalische Parameter (in diesem Fall die freie Wahl der Amplitude auch der (Kreis-)Frequenz
x0
wie
s & x0 s ist T = 2 und ist deshalb allgemein T = 0, 165s oder der gleichen welches sich nur auf ein
gltig
Beispiel bezieht.
23
24
fj (x1 , ..., xN ) = 0 ,
bzw. kompakt
j = 1, ..., N
f (x) = 0
Gesucht:
sind Lsungen
f (x)
sind.
Hierbei handelt es sich um ein Standardproblem, fr das sich zahlreiche Anwendungen bei physikalischen Problemstellungen & Rechnungen nden. Man bentigt sie z.B. bei Lsung der Schrdingergleichung mit Hilfe von Shooting Methoden (siehe ncshtes Kapitel Randwertproblem).
4.2
Bisektion (fr
N = 1)
x1 , x2 mit f (x1 ) < 0 und f (x2 ) > 0 kann z.B. durch das Plotten der Funktion f (x) gefunden werden. Bisektion: ndet eine Nullstelle von der Funktion f , die zwischen x1 & x2 liegt. Algorithmus: Wir denieren den Mittelwert x = 2 (x1 + x2 ) und betrachten folgende 1
2 Flle: 1. Falls 2. Falls sonst
Startpunkt:
f (x1 ) f () < 0 x2 = x x
sonst
x
=x
x1 x2 hinreichend klein ist, bricht man den Algorithmus12 ab, weil x1 und/oder x2
Konvergenz: Nun ist es relevant auch den Fehler dieser approximativen Nullstelle
x1 bzw. x2
zu bestimmen und damit ein Ausdruck der Genauigkeit des Verfahrens erhalten.
Der Fehler
x1
wird ber
f (x1 + ) = 0
deniert und
1 n | x1 x2 | 2
1n 2 fllt der Fehler exponentiell ab. Alle 3 bis 4 Schritte gewinnt man 1 2 n (n+1 linear in n )
Linear konvergent: bezeichnet man Verfahren fr die z.B. n+1 4.2.1 Vor- und Nachteile:
konvergiert immer (wenn die Funktion glatt verluft)
Bisektion
Lineare Konvergenz stellt sich als schlechtes Verfahren heraus aufgrund der langen Rechenzeit & Auswertung der Funktion (z.B. in der Gittereichtheorie dauert die Auswertung u.U. auf einem/mehreren HPC-Systemen Wochen lang).
12 Ein Algorithmus ist eine aus endlich vielen Schritten bestehende eindeutige Handlungsvorschrift zur
Lsung eines Problems oder einer Klasse von Problemen. [Quelle: Wikipedia: Algorithmus]
24
25
4.3
Sekantenverfahren (fr
N = 1)
Startpunkt: Beliebiger
schen
x1 und x2
liegt.
Auch hier ist wieder auf Kapitel sehr ungenaues Ergebnis liefert!
2.3.1 Rundungsfehler
fast gleicher Zahlen nahe der Konvergenz zu einem Rundungsfehler fhrt, welches evtl. ein
Algorithmus:
1. 2.
3. Falls
sonst wird die nchste Iteration ausgefhrt und beginnt erneut mit Schritt 1. (siehe Animation: Verweis auf Funote 13)
Abbruch und
Konvergenz:
1,618... 14 n+1 n ,
25
26
4.4
Newton-Raphson-Verfahren (fr
N = 1)
Startpunkt: beliebiges
leitung
15
Grundprinzip: hnlich wie das Sekantenverfahren, man verwendet aber hier die Ab-
f (xn )
Abbildung 4.2: Ausschnitte einer Animation des Newton-Verfahren Quelle: Ausfhrliche Animation. Online im Internet: URL: http://de.wikipedia.org/wiki/Datei:NewtonIteration_Ani.gif[Stand: 19.11.2011]
Algorithmus:
1. 2.
x = f (xn )
1 f (xn )
xn+1
Ansonsten fhrt man die nchste Iteration aus und beginnt also erneut mit Punkt 1.
Konvergenz: n+1
f () x 2f () x
2 n
16
man beachte die Quadratische proportionalitt. Das Verfahren konvergiert schneller als das obrige Sekantenverfahren!
f'
15 Die Ableitung f (x) muss bekannt sein bzw. billig auswertbar sein 16 Eignet sich als Hausbung dies zu berprfen & zu zeigen.
26
27
4.5
Newton-Raphson-Verfahren (fr
N > 1)
Nullstellensuche fr
N =2 N >2
0,
N >1
f1 (x1 , x2 ) = 0 ,
gefunden werden.
f2 (x1 , x2 ) = 0 f1 (x1 , x2 ) = 0
und
f2 (x1 , x2 ) = 0
j = 1, ..., N
17
Dies funktioniert in der Regel ganz gut, sofern man eine ungefhre Vorstellung bzw. guten Schtzwert fr die gesuchte Nullstelle
x1
hat.
x1 fr
die Nullstelle.
0 = fj (xn + )
mit
Taylor Entwicklung
fj (xn ) + (
fj (xn ))k + O( 2 ) xk
18
(4.1)
0 = f (x ) + (
j n
Jacobi-Matrix
approximative Korrektur
x x = J(xn )1 fj (xn )
xk fj (xn ))k
= fj (xn ) + J(xn )x
bzw.
N = 1-Fall
natrlich enthalten:
x =
Algorithmus:
1. 2.
3. Falls
xn+1
17 z.B. gewisse physikalische Argumente und hnliches. 18 Die Jacobi-Matrix kann fr N 3 einfach von Hand
27
28
mj rj = Fj (rk , rk , t)
Zeitpunkt
mit Randbedingungen
dies entspricht der Frage, welche Bahn beschreibt ein Massenpunkt, der sich zum
t1
hier und
t2
dort bendet?
Betrachten in der QM die Schrdinger-Gleichung in einer Dimension: d 2m dx (x) + V (x)(x) = E(x) mit Randbedingungen der Form 0 = (x = a) wegen dem Potentialtopf V (|x| a) = Die Energie
(x = a) =
keine Dierentialgleichung. Das Umschreiben auf ein DGL - System ist jedoch einfach: Fasse die Energie
als Funktion (E
= E(x))
E (x) = 0
DGL-System fr
(x) , E(x)
(y
E(x) = const
enthlt)
d dx y(x)
= f (y(x), x)
,f
haben
Komponenten)
gj (y(x1 )) = 0 ,
5.2
j = 1, ..., n ;
hj (y(x2 )) = 0 ,
j = 1, .., N n
Shooting
Methode
y(x1 ), welche die Randbedingungen nach der Runge-Kutta-Entwicklung der Funktion y nach Kapitel 3) Randbedingungen hj (y(x2 )) = 0 nherungsweise
Finde iterativ mit Methoden aus Kapitel 4 (z.B: Newton-Raphson-Verfahren) immer bessere Anfangsbedingungen numerisch exakt erfllen.
y(x1 ),
hj (y(x2 )) = 0
am Ende
Beispiel: Mechanik,
m = F (x) x
x(t1 ) = a ,
x(t2 ) = b.
y = (x, v) ,
wre:
(x) f = (v, Fm )
wie in Kapitel 3.
y(t1 ) = (a, )
:
sodass
x(t1 ) = a ,
x(t2 ) b
(ideal
x(t2 ) = b)
erfllt;
RK-Entwicklung von
t = t1
bis
t = t2
28
29
t = t2
Je nachdem wie gut man die Anfangsbedingungen rt, kommt es zu einer Abweichung der Gre
h(y(t2 )) = x(t2 ) b = 0
Optimiere rens:
Fasse
h(y(t2 )) = x(t2 ) b
auf, da
x(t2 )
gerade davon
fr das Newton-Raphson Verfahren gem Gleichung (4.1) erforderlich ist. Fhre Newton-Raphson Schritt aus, um besseres
zu erhalten:
die Randbedingungen
5.2.1
Betrachten wir die Schrdingergleichung mit folgenden Randbedingungen: d 2m dx (x) = E(x) mit den Randbedingungen (x = 0) = 0, (x Jetzt formen wir unsere Gleichung dimensionslos um und erhalten:
= L) = 0.
x = x/L
0) = 0,
d () x d2 x
( = 1) = 0 x
Zum spteren Vergleich mit der numerischen Lsung fhren wir die analytische Lsung vor:
() = sin(n), n = 1, 2, 3, ... x x E = 2 n2
Numerische Lsung: Forme Eigenwertgleichung (Schrdingergleichung) in ein System 1. Ordnung DGLs um. Somit sind die DGL s mit dem Runge-Kutta-Verfahren behandelbar:
29
30
19
:
20
( = 0) = 0, x
-
( = 0) = # = 0, x
x E( = 0) =?
0.8
0.6 (x=1)
0.4
0.2
-0.2 0 20 40 E 60 80 100
Im Bereich von
0 E 100
liegen 3 Eigenwerte,
E0 10 , E1 40 , E2 90
wie es Abb.
die Startwerte bzw. Anfangsbedungen wurden gut (aus)gewhlt, sodass die numerische
19 Irgendeine Zahl = 0. 20 Wird mit Newton-Raphson Verfahren so eingestellt, dass die Randbedingungen ( = 1) = 0 erfllt x
ist.
30
31
Potentialtopf: Iteratives Finden der Wellenfunktion des 2. angeregten Zustands 0.15 Vor dem 1. Newton-Raphson-Schritt Nach dem 1. Newton-Raphson-Schritt
0.1
0.05
-0.05
Potentialtopf: Iteratives Finden der Wellenfunktion des 2. angeregten Zustands 0.05 Vor dem 1. Newton-Raphson-Schritt Nach dem 1. Newton-Raphson-Schritt 0.04
0.03
0.02
0.01
-0.01 0.95
0.96
0.97 x
0.98
0.99
Potentialtopf: (Nicht-normierte) Wellenfunktionen der niedrigsten Energieeigenzustaende 0.4 Grundzustand 1. angeregter Zustand 2. angeregter Zustand
0.3
0.2
0.1
-0.1
Abbildung 5.3: Illustration des Shooting Verfahrens fr die niedrigen drei angeregten Zu-
stnde
31
32
Abbildung 5.4 zeigt, dass nach bereits 3 Iterationen die Shooting Methode auf ber 7 Stellen exakt ist.
5.2.2
, m, : [] =
1 s
[ ]=
kgm2 s ,
[m] = kg,
d dx 1 d a d x 2
x = x/a = () + x () = x x
d d2 x
Die Randbedingungen lauten:
Lnge
a=
2E x ()
x = E() ( +) = 0 x
21
( ) = 0 , x
Einschub: Paritt
Paritt
P:
Raumspiegelung,
P x = x,
P = (x)
gerade ungerade
und
P = + : P (x) = (x) = +(x) gerade (0) = 0 P = : P (x) = (x) = (x) ungerade (0) = 0
ist in der Numerik problematisch.
21
erfllen.
32
33
Versuch:
(0) = 0
( ) = 0 x
oder
(0) = 0
Ersetze
im klassisch
( +) = 0 durch x = L = 0 mit L hineichend weit x a verbotenen Bereich E V (L) (dort fllt exponentiell ab. siehe
Abbildung 5.5 )
() = () x x 2 E())() x () = ( x x x () = 0 E x
( = 0) = 1 (beliebig, Hauptsache = 0) x ( = 0) = 0 (damit P = + ausgezeichnet) x x E( = 0) =? 22 (wird mit Newton-Raphson gung ( = x L ) = 0 erfllt ist). a
1 muss bereits in der Nhe des gesuchten Zustands liegen; Grundzustand E = 2 E = 1 (bei analytisch unlsbaren Problemen, was die Regel ist, wird der Schtzwert durch grobes scannen ermittelt),
22
also
E = ( = 0) 1 x
33
34
1.5
0.5
-0.5
-1 0 1 2 3 4 x 5 6 7 8 9
bedingungen ((x
1) = 0
In Abbildung 5.6 sieht man das die Randbedingung steigenden Lsung wird fr groe
x=
L a
= 0
numerisch nur
schlecht realisierbar ist. Selbst eine winzige Beimischung der verbotenen exponentiell an-
Zweckmigeres Vorgehen:
oder oder...
x= x= E x= x= x=
L a L a L a
=1 =0 =? =0 =1
L a L a
( = 0) = 0 bzw. ( = 0) = 0 x x
durch Ein-
zu realisieren.
34
35
HO: Grobes Scannen der moeglichen Energieeigenwerte 1.2e+22 1e+22 8e+21 RB (siehe Legende) 6e+21 4e+21 2e+21 0 -2e+21 -4e+21 -6e+21 -8e+21 0 2 4 6 E 8 10 12 (x=0) (x=0)
50
40 RB (siehe Legende)
30
20
10
0 0 2 4 6 E 8 10 12
35
36
HO: (Nicht-normierte) Wellenfunktionen der niedrigsten Energieeigenzustaende 1 Grundzustand 1. angeregter Zustand 2. angeregter Zustand 3. angeregter Zustand
0.5 / maxy|(y)|
-0.5
-1 0 1 2 x 3 4 5
de. Jeder Zustand entspricht einer Mode der Wellenfunktion. Der Grundzustand als eine viertel Periodenschwingung, der erste angeregte Zustand als eine halbe Periodenschwingung, der zweite angeregte Zustand als eine dreiviertel Periodenschwingung und zuletzt eine ganze Periodenschwingung des dritten angeregten Zustandes dargestellt.
36
37
6.1
Problemstellung
N N
Matrix mit
det(A) = 0
det(A) = 0
bj ,
j = 0, ..., M 1 = Axj = bj A1
N-komponentige Vektoren
Berechne
Axj = bj
gem
xj = A1 bj
einsetzen. Rundungsfehler
Zwei Klassen von Verfahren, die im Laufe des Kapitels vorgestellt werden:
Direkte Verfahren:
Iterative Verfahren:
deren Positionen).
(bei groen N) werden problematisch. Iterative Annherung an die Lsung. Unempndlich gegen
Rundungsfehler, jedoch sehr aufwndig bei dichtbesetzten Matrizen. Sinnvolle Anwendung fr dnn besetze Matrizen. ( Speichert nicht alle Eintrge z.B. Eintrge mit 0-en werden nicht abgespeichert, sondern nur deren Eintrge ungleich 0 und
Welche Grenordnung fr N handhabar? (hngt von dem(n) Rechner(n) und ihren Leistungen ab)
N = O(1000) N O(106 )
Numerische Probleme :
Rundungsfehler fhren zu linear abhngige Gleichungen (wird vom Algorithmus erkannt). Rundungsfehler knnen grer werden als das gesuchte Ergebnis (hug dann, wenn die Gleichungen nahezu linear abhngig sind. Funktioniert bei linear unabhngigen Gleichungen). Um zu berprfen, ob dies aufgetreten ist, berechnet man hug das Ergebnis mit dem gegebenen
Axj
und vergleicht
bj
6.2
Ziel: Lse
A1 :
Whle
bj = ej
A
Grundidee: Ziehe Gleichung so lange geeignet voneinander ab bis Lsung vorliegt.
37
38
Schrebweise:
Axj = bj
a00 a01 a02 ... a10 a11 a12 ... a20 a21 a22 ... ....
b00 b01 ... b0M 1 b10 b11 ... b1M 1 b20 b21 ... b2M 1 ....
= 0...N 1 (1) (damit a00 = 1) (1) = 0...M 1 b0j = (1) (1) ajk = ajk aj0 a0k , j = 1...N 1, k = 0...N 1 (1) (1) bjk = bjk aj0 b0k , j = 1...N 1, k = 0...M 1 (1) (damit aj0 = 0, j = 1...N 1) (1) (1) (1) (1) b00 b01 ... 1 a01 a02 ... (1) (1) (1) (1) b10 b11 ... 0 a11 a12 ... Axj = bj (1) (1) (1) (1) 0 a21 a22 ... b20 b21 ... a0j = ....
Spalte:
(1)
(1)
....
2. Schritt bis Nter (induziert durch n-) Schritt: Ausrumen der 1. bis N-1
0
Die nchsten 4 Zeilen bringen n-1te a-Spalte auf die Form
0 1 .
0 : 0
an1j = an1j /an1n1 , j = n 1...N 1 bn1j = bn1j /an1n1 , j = 0...M 1 ajk = ajk bjk = bjk
23
(n)
(n1)
(n1)
(n)
(n1)
(n1)
(n)
(n1)
(n1) (n)
(n)
(n1)
ajk := ajk , bjk := bjk b00 b01 ... b0M 1 (N ) (N ) (N ) b10 b11 ... b1M 1 (N ) (N ) (N ) b20 b21 ... b2N 1 ... . . ... x0 ... ... xM 1 x0 , ..., xM 1
(N ) (N ) (N )
1 0 0 ...
0 1 0 ...
0 0 1 ...
Ix
= bj
(N )
bj
Axj = bj
wenn
6.2.1
A1
Pivotisierung
Voraussetzungen
an1 n1 = 0
(n1)
23 a(n1)
j,n1n1
=0
38
39
Falls
an1 n1 0
(n1)
kleiner Zahl. (Rundungsfehler sind besonders gro). Anordnung der linearen Gleichungen in der Matrix Zeile in spezieller Weise benutzt, dann 1.Zeile,...?!
A, bj
Lsung: Ordne Gleichung d.h. Zeilen von A und bj zweckmig um. Teilpivotisierung: Vertausche vor dem n-ten Schritt n-1-te und j-te Zeile (wobie
j=
Nach
an1 n1 = 0
(n1)
det(A) = 0
[Grundvoraussetzung])
Rundungsfehler
skalierte Teilpivotisierung:
Gewisse Willkr auch bei Teilpivotisierung enthalten - z.B: sei vor 1.Schritt
| a00 |sehr
(0)
- Multipliziere 1. Zeile mit sehr groer Zahl (verndert Lsung und Numerik)... dann kein Austausch der 0. Zeile aber es wrde i.d.R. zu numerischen Instabilitten fhren bzw. verursachen. Beseitige Willkr durch Ersetzung im Austauschkriterium von dieser Teilpivotisierung:
(n1) an1 n1
(n1)
(behalte Zeile, die relativ gesehen ein groes Element vorne stehen hat, rume beim Rest die aktuelle Spalte aus).
Pivotisierung ist Notwendig! Es reicht das eine 0 in der Matrix enthalten ist welches die
Rechnung ruiniert. Es existieren weitere Pivotstrategien, z.B: zustzliche Umordnung der Spalten (Vollpi-
6.3
hnlich zu Gau-Jordan:
1. bs N-te Schritt ist nahe zu identisch wie beim Gau-Jordan, aber verndere im n-ten Schritt nur Zeilen unterhalb der n-1-ten Zeile, um dort 0-len in der n-1-ten Spalte zu erzeugen (hier nur N-1 Schritte ntig).
a00 a01 (1) 0 a11 (2) 0 0 a22 0 0 0 ... Dreieck von 0 len
(0)
b00 ... ... b0,M 1 (1) b10 ... ... b1,M 1 ... ... ...
(0)
39
40
xn ):
xN 1 n =
xN 2 n =
- Allgemein:
xjn =
Alle
bj mssen
gleichzeitig behandelt werden, sonst inezient etwa ein Faktor 1,5 schneller als Gau-Jordan (nicht besser
Frwenige
bj (M<<N)
6.4
A1 )
sowie von
det(A)
(s.u.).
6.4.1
Crouts Algorithmus
Zu lsen sind
N2
aij = ik kj bzgl.
ij , ij
Knnen trivial gelst werden, wenn diese in der richtigen Reihenfolge behandelt werden: Fr 1.
j = 0, 1, ..., N 1
ij = aij
k=0
2.
ik kj , i = j + 1, ..., N 1
(6.1)
ij =
1 (ij ji
(6.2)
40
41
6.4.2
k = j, j +
ij
identisch.
Lsen von
Ax = b mittels LU
Ax = b = L U x =: y
1. Schritt: Berechne
y , x
ber Vorwrtssubstitution:
Lse
Ly = b
yj =
bj
j1 k=0 jk yk jj =1
j = 0, 1, ..., N 1.
ber Rckwrtssubstitution
25
2. Schritt: Berechne
xj =
Vorteile:
yj
N 1 k=j+1
Lse
Ux =
jk xk
jj
j = N 1, N 2, .., 1, 0
bj
Jordan,Gau).
Axj = bj
als auch fr
A1 .
jj
v =#der
Zeilenvertauschung
A = QR27
Q kann trivial, R einfach invertiert werden. Anwednungen sind also hnlich wie bei dem LU-Verfahren bzw. LU-Zerlegung. Doppelete
28
41
42
6.6
z.B: mit LU
Sei
Ax = b = b A(x +
Dann
x ges. Korrektur
)=b
bzw.
Ax = b Ax = b
x x + x
Sehr zu empfehlen: Kostet bei Verwendung von LU kaum zustzliche Rechenzeit, bringt unter Umstnden groen Genauigkeitsgewinn.
6.7
Hier behandeln wir lediglich nur ein Beispiel des konjugierten Gradienten (CG- Verfahren) - Problem:
N N M atrizen mit N 10000 sehr speicherintensiv, (10000)2 8 Byte 1GB = Grenordnung eines Hauptspeichers
double
- dnn besetzte Matrizen (fast alle Eintrge 0) dagegen problemlos speicherbar, speichere nur von 0 verschiedene Eintrge. z.B:
10000 3 8Byte 1M B
-
N = 10000 , Tridiagonalmatrix
vernachlssigbarer Speicherplatz.
- Das bietet jedoch keinen Vorteil bei Verwendung direkter Verfahren (formen dnn besetzte Matrix i.d.R. in dicht besetzte Matrizen um).
Ax = b
lediglich orginales
A und 6.7.1
Ziel: Lse
Ax = b
A1 ,
kein det(A))
1 f (x) = 2 xAx bx
f (x) = Ax b = 0
Vorgehen:
24 LU-Zerlegung gehrt somit zu Zeilenvertauschter Matrix A 25 siehe auch Abeschnitt 6.3 26 Vorsicht: in der Regel liefert fr groe N N 1 jj winzige oder riesige Zahlen aus. 27 wobei Q= eine orthogonale Matrix und R=j=0 obere Dreiecksmatrix. eine 28 Daher wird das LU-Verfahren blicher fr Lsungen lineare Gleichungssysteme genutzt
j=0
Rate Lsung:
x0 = # R
x0 = 0)
Pj (siehe
weiter unten).
42
43
Minimiere
f (xj + j Pj )
bzgl.
j .
j+1
= x j + j Pj | b Axj |
hinreichend klein,
Falls
j =j+1
0
Abbruch.
x = x
Gehe Zum Punkt Whle eine geeignete Suchrichtung Fr Implementation notwendige Details:
Pj
zurck.
r = b Ax P =r
0 0
- j
0 (rj ist zu
xj
gehriges Residuum).
30
rj rj Pj APj
rj+1 = rj j APj j =
rj+1 rj+1 rj rj
Pj+1 = rj+1 + j Pj Pj ), dass xj+1 Minimum von f nicht P0 , P1 , P2 , ..., Pj ist. Lsung von
Pj ,sondern
Ax = b
Rundungsfehler: Kein exaktes Ergebnis nach N Schritten. gewnschte Genauigkeit erreicht ist. CG- Verfahren fr
N = 2:
N =2
43
44
6.7.2
Verallgemeinerung
Biconjugate gradient method Minimum residual method Generalized minimum residual method ...
Hier empehlt sich an weitere Literatur zuwenden, da dieses speziale Thema den Rhamen dieser Vorlesung verlsst.
6.7.3
Jede .
j 0
(Singulrwerte).
Konditionszahl:
cond(A) :=
maxj (j ) minj (j ) .
Groe Konditionszahl eignet sich nicht gut fr CG: Einerseits sind viele Iterationen ntig und andererseits ist die Numerische Genauigkeit stark limitiert.
Numerisch problematisch, wenn die Funktion lang und spitz ist (und damit die Konitionszahl ein groen Wert annimmt). Dagegen ist eine sphrische Funktion ideal.
Warnung
AT A
x = AT b
statt
Ax = b
cond(AT A) = (cond(A))2
A-1 Ax = A-1 b statt Ax = b , wobei = b leicht lsbar ist (z.B: analytisch) - Ax -1 -1 - A A 1 und damit cond(AA) 1, also A A A.
Lse
44
NUMERISCHE INTEGRATION
45
7 Numerische Integration
7.1
Eindimensionale Integrale
Ziel: Berechne bestimmtes Integral
I=
b
a
dxf (x)
7.1.1
Newton-Cotes-Formeln
Grundprinzip: Naehere Naehere
f (x)
f (x)
durch Lagrange-Interpolation
Waehle
x+1
(zugehoerige
Deniere: lj (x)
:=
= ji )
f (x)
g(x) =
n j=0 fj lj (x)
f (xj ) = g(xj )
ist
n=2
g(x)
eine Parabel
I=
b
a
dxf (x)
b
a
dx
n j=0 fj lj (x)
b n j=0 fj ( a dx lj (x))
n j=0 fj j
j :
*n *n
gerade:
I = |
b
a
g Kn (n+2) () (x+2)! f
ungerade:
I =
[a, b]
mit
g Kn = u Kn =
b ab
a
x x
(b a)n+2
exakt integriert!
= 1):
Simpson-Regel (n
x0 = a, x1 = a + h, x2 = a + 2h = b b 4 I = a f (x)dx ( 1 f0 + 3 f1 + 1 f2 )h, 3 3
(h
ba 2 )
klein!
Wiederhole Trapezregel
45
NUMERISCHE INTEGRATION
46
Zerlege Intervall
I=
1 1 ba a f (x)dx ( 2 f0 + f1 + f2 + ... + fN 1 + 2 fN )h = TN h, h = N (Faktoren 1 1 1 2 fehlen da 2 fn + 2 fn = fn bei einem und dem darauolgenden Intervall) 1 I = N O(h3 ) = O( N 2 )
[a, b]
in
N 2N ,
bis hinreichende
Wiederholte Simpsonregel
I=
b
a
1 I = O( N 2 )
1 TN = ( 3 =(
2 3 hf0 1 3 hf0 1 3 f0
+ 4 hf1 + 4 hf2 + 4 hf3 + ... + 4 hf2N 2 + 4 hf2N 1 + 2 hf2N 3 3 3 3 3 3 2 hf2 ... 2 hf2N 2 1 hf2N ) 3 3 3 2 + 4 f1 + 3 f2 + 4 f3 + ... + 2 f2N 2 + 4 f2N 1 + 1 f2N ) h 3 3 3 3 3
7.1.2
pj (x)
x0 , x1 , x2 , ...
ge-
1 dx
pj (x) pk (x) =
2 2j+1 jk ,
p0 = 1, p1 = 1, p2 =
als Nullstellen von
3x2 1 2
x0 , ..., xn1
pn (x),
also
pn (xj ) = 0
a = 1, b = 1
I=
1 f (x)dx
n1 j=0 fj wj
f (x)
2n 1
f (x) = q(x)pn (x) + r(x) (Restpolynom) darstellbar ( , Polynome vom Grad n 1) 1 1 1 n1 j=0 r(xj )j 1 1 dx(q(x)pn (x) + r(x)) = 1 dx r(x) = q(x)pn (x) faellt weg, da q(x) durch p0 , ..., pn1 darstellbar ist und diese orthogonal zu pn (x) sind! 1 1 f (x)dx = n1 f (xj )j q.e.d. j=0
gemaess
pn
f (n)
sen die Vorfaktoren des Fehlers staerker als dessen Unterdrueckung mit
hn
oder
1 Nn
46
NUMERISCHE INTEGRATION
47
7.2
Mehrdimensionale Integration
Zusaetzliche Schwierigkeiten: Hohe Anzahl an Stuetztellen, wenn im 1d-Fall benoetigt werden, dann fuer ein vergleichbares Integral in
Dimensionen
N Stueck ND
7.2.1
D=3
(Integration in z.B.
x, y , z )
und
Bestimme minimales und maximales Bestimme minimales und maximales analog: Damit:
x: x1 y
x2 y1 , y2 )
z1 (x, y), z2 (x, y) z y x I = V dxdydzf (x, y, z) = x12 dx y12 dy z12 dzf (x, y, z) (x, y)
fuer das z-Integral dann y Integral fuer alle
Diese Aufspaltung ist nur fuer einfache Integrationsbereiche. Evtl. Aufspaltung in mehrere Integrale noetig! pic
7.2.2
Monte-Carlo-Integration
statistische Abschaetzung des Integrals, d.h. Ergebnis kommt mit Fehlerbalken (analog zu experimentellen Ergebnissen) waehle zufaellig gleichverteilt N Punkte im Integrationsgebiet
I=
=
mit
V : x1 , x2 , ..., xN
2 ><f >2
N 1
)1/2
V < f >:
<f >
im bestimmten Intervall
< f >=
1 N
1 N
< f 2 >=
1 N
g(x) =
waehle
1 0 xj
falls
x in V xV
liegt:
sonst
folgendermassen:
47
NUMERISCHE INTEGRATION
48
* * *
7.2.3
welches
umgibt
als
xj ,
xV falls g(x) = 1,
D 1D (D-fach
geschachtelte
1D
Integration)
D 1D
pic 8
1 , aus. N
Komplizierter Integrationsbereich einfach fuer MC, schlecht fuer erfordert glatte Integranden (beschraenkte Ableitungen)
D 1D
sonst Fehlerabschaetzungen wertlos; MC erfordert Integranden, die nicht in kleinen Gebieten stark gepeakt sind, sonst kommt es zu riesigen statistischen Fehlern.
Im Falle eines komplizierten Integrationsbereich und bei einem Integrand der nicht stark gepeakt ist,fhrt es zu geringe Genauigkeit. Einfacher Integrationsbereich, Integrand glatt,
MC geeignet.
nicht riesig
D 1D
MC
stark gepeakten Integranden: Teile Integrationsgebiet in mehrere Bereiche, in denen jeweils Integrand gleiche Groessenordnung hat
48
EIGENWERTPROBLEME
49
8 Eigenwertprobleme
8.1
Avj = j vj (A j I)vj = 0
quadratisch,
Vorgehen:
A,
N N vj = 0), j = 1...N
j , vj :
Bestimmungsgleichung fuer
j N
(eventuell komplexe) Nullstellen
det(A I) = 0
Polynom vom Grad
N,
hat
A A = A + I
Dann gilt
A vj = (j + )vj ,
geschiftete EWs
EWs 0 bzw. sehr kleine/grosse EWs vom mathematischen Standpunkt nicht speshifting haeug angewandt, um Numerik zu verbessern
ziell
A A A
reell, symmetrisch (A
= A):
komplex, hermitesch (A
= A):
wenn
* *
normal (A
= AA ):
EVs orthogonal
Generalisiertes EW-Problem:
Avj = j Bvj
B 1 Avj = j vj
wenn
* *
A, B
symmetisch,
B = LLT
B 1 A)
einfach, weil Dreiecksmatrix
gesucht: loese:
vj = LT vj
49
EIGENWERTPROBLEME
50
8.2
mittels Aehnlichkeitstransformationen:
1 1 1 A P1 AP1 P2 P1 AP1 P2 ... 1 1 1 ... Pn ...P2 P1 AP1 P2 ...Pn 1 1 1 (Pn ...P2 P1 = Q1 , P1 P2 ...Pn = Q)
Waehle
Pj
moeglich;
Q A
Q1 AQ diagonal ist (in der Regel nicht in endlich vielen Schritten multipliziere so lang mit Pj , Pj1 , bis Q1 AQ nahezu diagonal)
so, dass hat EWs
1 AQ
= diag(1 , 2 , ..., N )
EVs
vj = ej (ej :
Einheitsvektor)
und
Q1 AQ Qej ,
A:
Q1 AQvj
= j vj (vj = ej )
AQvj = j Qvj
Zusammenfassung:
Bringe
gemaess
Q1 AQ
Q1 AQ
ab berechnet
Q = P1 P2 ...Pn
8.3
Jacobi-Verfahren
Voraussetzung:
dann auch
normal
reell,
vj
v1 v2 ... vN
A, QT AQ =
Vorteile: sehr einfach, insbesondere fuer kleine EWs sehr genau. Nachteil: Langsamer als z.B. die QR-Methode (um konstanten Faktor aber bedeutender Faktor).
50
EIGENWERTPROBLEME
51
Wdh. 8. Eigenwertprobleme
1 1 1 A P1 AP1 P2 P1 A Q1
bis
P1 P2 ...
Q
(Spalten sind EVs von A) vonA)
Pj
in pq-Ebene, um nach
Verwende fuer
PjT APj
Apq
AA =
k, l = p, q : Akl = Akl App = (Pj )mp Amn (Pj )np = = c2 App + s2 Aqq 2csApq c wenn n = p s wenn n = q
Aqq = c2 Aqq + s2 App + 2csApq Apq = Aqp = (c2 s2 )Apq + sc(App Aqq ) Akp = Apk = cAkp sAkq (k = p, q ) Akq = Aqk = cAkq sAkp (k = p, q ) Apq = Aqp == 0 t = tan
1 1 2( t ! c2 s2 2sc Aqq App 2Apq
=:
1
sgn()
t)
||+(2 +1) 2
1
t2 + 2t 1 = 0 t = (2 + 1) 2 =
erfahrungsgemaess stabilere Numerik) falls
(waehle kleineres
t;
gibt
t=
1 2
Apq = Aqp = 0 App = App tApq Aqq = Aqq + tApq Akp = Apk = Akp s(Akq + Akp ) (k = p, q ) Akq = Aqk = Akq + s(Akp Akq ) (k = p, q )
Pj
so, dass
den andere o-diagonal Elemente Konvergiert eine Folge von Jacobi-Rotationen nalmatrix?
51
EIGENWERTPROBLEME
52
S=
k=l
A2 kl S
gegen 0, wenn "grosse
S = S 2A2 ( kl
damit geht
p, q ? Apq
wegrotiert hat (
p.q = 1.2, 1.3, ... ... 1.N 2.3, 2.4 ... 2.N 3.4 ... N 1.N
oberes Dreieck
Q = P1 P2 ...Pn
Q=I
auch
A A = PjT APj
Q Q = QPj
8.4
L=
N 1 2 j=1 2 mxj
N 1 1 j=1 2 k(xj
xj+1 )2
(quadratisch in
xj , xj )
BGL linear
0 m ...
k 2k k k 2k ... k
Dimensionslose BGLs:
d2 x dt2
= k x (x =
x L, t =
k mt
L:
52
EIGENWERTPROBLEME
53
1 1 1 2 1 1 2 1 K= 1 2 ... 1
x = vei t
j 2
und EVs
vj
Da
0.5
x/L
-1
Betrachte
N = 10
xj (t = 0) = 0, j = 1...10
Allgemeine Loesung:
gung)
x=
N j=1 vj (Aj
Realisiere ABs:
! x(t = 0) = N vj (Bj ) = 0 i=1 Bj = 0 (weil vj orthogonal, also linear unabhaengig) ! x(t = 0) = N vj Aj = (1, 0, 0, ..., 0) j=1
Multipliziere mit
x=
vk , nutze Orthogonalitaet Ak = vk,1 ( 1. Eintrag des vk ) N j=1 vj vj+1 cos( j t) ( Modell z.B. fuer 1D-Kristall, SchallgrschwinN
Massenpunkten, welches
digkeit im Medium ablesbar) Problemlos verallgemeinerbar fr "Jedes" System von der Form WW)
M x = kx
"kleine Schwingungen"
53
EIGENWERTPROBLEME
54
8.5
LAPACK, ARPACK, (GSL) gute Bibliotheken enthalten eine Reihe spezieller Funktionen fuer
alle EWs/ wenige spezielle EWs ( z.B. die kleinsten) mit/ohne EV-Berechnung dicht/duenn besetzte Matrizen reelle/komplexe Matrizen symmetrische bzw. hermitische Matrizen/Matrizen ohne diese Eigenschaft
54
55
Problemstellung:
<
Interpolation, wenn
lation.
x0 xmin , mmax xN
bzw. wenn
x0 y xN ,
Extrapo-
= f0 , ..., f (xN ) =
fN
erfuellt, Interpolation .
Vorgehen:
Modelliere Funktion
f0 , ..., fN
experimentelle Messwerte
f0 , ..., fN entstammen aufwendigen numerischen Rechnungen/Simulationen analytische Funktion f (x) wuenschenswert (zumindest approximativ)
z.B. Potentialwerte, Streuquerschnitte
9.1
Polynominterpolation
verwende Polynom vom Grad lieren Eindeutige Loesung (unschwer beweisbar) Einfache Konstruktion mit Hilfe von Lagrange-Polynomen
N,
um
N +1
Funktionswerte
f0 , f1 , ..., fN
zu interpo-
lj (x) =
N xxk k=0,k=j xj xk
lj (xk ) = jk
Damit
f (x) =
N j=0 fj lj (x)
Weitere Algorithmen zur Polynominterpolation existieren (eventuell numerisch stabiler, weniger aufwaendig, ...) Polynominterpolation fuer grosse
N (N > 5)
55
56
Interpolation von 4 Datenpunkten mit einem Grad-3-Polynom 1.4 1.2 1 0.8 0.6 0.4 0.2 Interpolationspolynom Datenpunkte 0 -1 0 1 2 3 4
Interpolation von 10 Datenpunkten mit einem Grad-9-Polynom 1.4 1.2 1 0.8 0.6 0.4 0.2 Interpolationspolynom Datenpunkte 0 -1 0 1 2 3 4
9.2
Kubische Spline-Interpolation
Setze
die Funktionswerte
f0 , f1 , ..., fN
keine unnatuer-
56
57
Interpolation von 10 Datenpunkten mit einem kubischen natuerlichen Spline 1.4 1.2 1 0.8 0.6 0.4 0.2 0 -1 0 1 2 3 4 kubischer natuerlicher Spline Interpolationspolynom vom Grad 9 Datenpunkte
Abbildung 9.3: Interpolation von 10 Datenpunkten mit einem kubischen natuerlichen Spline
Interpolation der
fj
xj+1 x xj+1 xj ,
B=
Annahme: Neben
f0 , ..., fN
f0 , ..., fN
vorgegeben
f1 , f2 , ..., fN 1
fj fj1 xj xj1
fest.
xj+1 xj1 fj 3
xj+1 xj fj+1 6
fj+1 fj xj+1 xj
lineares
fj
fN
f0 = fN = 0,
sogenannte
natuerliche Spline)
9.3
Splines und Aehnliches bildet einen eigenen "Wissenschaftszweig" CAGD (computer aided geometric design)= mathematische Beschreibung von Kurven und Flaechen fuer wissenschaftliche/medizinische Visualisierung, Tricklme, Computerspiele.
waehle Ansatz
f (x; a0 , a1 , ...)
57
58
z.B. wieder ein Polynom von niedrigem Grad, oder oder ...
f (x, a) = a0 + a1 x + a2 x2
f (x, a) = f (x, a) =
Bestimme Parameter
G(a) =
punkt bezueglich Parameter
N j=0 (f (xj ; a)
fj )2
(a) G(a)
vom
j -ten
Daten-
a, a
=0
f
z.B.
f (x; a) = G(a) =
= xk
M -ten
Grad
ak fk (xj ) fj )(
M l=0 al fl (xj )
fj )
fj kann in Matrixform geschrieben werden f0 (x0 ) f1 (x0 ) ... fM (x0 ) f0 f0 (x1 ) f1 A= . , b = . . . . . f0 (xN ) fM (xN ) fN (Matrix "hoeher" als "breit", d.h. N > M )
M k=0 ak fk (xj )
G(a) =
N j=0 (
M k=0 Ajk ak
bj )(
M l=0 Ajl al
bj )
(*) in Komponenten
( am G(a) =)2
N j=0 (
M k=0 Ajk ak
bj ) Ajm = 0
AT mj
AT Aa = AT b
bestimmt;
nicht-linear in
Startwerte der Parameter a sollten bereits in der Naehe des gemachten Ergebnisses
liegen
58
59
Least-squares Approximation von 10 Datenpunkten mit Polynomen von niedrigem Grad 1.4 1.2 1 0.8 0.6 0.4 0.2 0 -1 0 1 2 3 4
approximierendes Polynom, Grad 0 approximierendes Polynom, Grad 1 approximierendes Polynom, Grad 2 kubischer natuerlicher Spline Datenpunkte
Abbildung 9.4: Least squares Approximation von 10 Datenpunkten mit Polynomen von diedrigem Grad.
9.4
2 -
Fitting
kleinen Fehlern
Fehlerbalken der Datenpunkte wurden bisher ignoriert. Fr realistischere Ergebnisse sollten Datenpunkte mit
kaum beeinussen
Ersetze Fehlerfunktional
2 = Gj :
Gj
muss
f (xj )
nahe bei
fj
liegen ...
j -ten
xj
Wert
fj Gj
Resultierendes/minimales
Falls
sollte
O(1) =
sein
2 =
2 N M
d.o.f.
degrees of freedom
2 Falls d.o.f.
>> 1 << 1
Falls d.o.f.
Gj
59
60
Least-squares Approximation von 4 Datenpunkten mit einer Konstante 1.4 1.2 1 0.8 0.6 0.4 0.2 0 -1 0 1 2 3 4
Abbildung 9.5: Least squares Approximation von 4 Datenpunkte mit konstantem Ansatz, also
f (x, a) = a
2-Fit einer Konstante an 4 Datenpunkte (2/d.o.f. = 0.97) 1.4 1.2 1 0.8 0.6 0.4 0.2 0 -1 0 1 2 3 4
Abbildung 9.6:
2 -Fitting
f (x, a) = a
ber dem least-square-Verfahren. Whrend das least-square-Verfahren ohne Bercksichtigung der Gewichtung einzelner Fehler die Konstante approximiert mit deutlicher Abweichung, Gewichtet das
2 = 0=
60
61
a=
1/G2 j
j N 2 k=0 1/Gk j (Gewicht
Datenpunkts gross, wenn des
fj
Gj klein)
Fehlerabschaetzung der Fit-Parameter Wenn sich
a: fj , k = 1...K
(k)
zusammensetzt (i.d.R.
1 fj )2 ) 2 und diese noch vorliegen
(fj , Gj )
aus "Einzelmessungen"
fj =
1 K
(k) K k=1 fj , Gj
1 ( K(K1)
Fuehre K
Wenn nur
(fj , Gj )
vorliegt
fj
an, ge-
(k) neriere zufaellig fj und verfahre wie oben. 1 1 faktor , nicht K K(K1)!
61
10
FUNKTIONSMINIMIERUNG, OPTIMIERUNG
62
10 Funktionsminimierung, Optimierung
Problemstellung
f (x) x,
der
* *
Wiederholte Minimumssuche mit vielen verschiedenen Startwerten Stoere gefundene (eventuell lokalen) Minima und suche von dort weiter
A,B,C: lokale Maxima D: globales Maximum (da am Rand des Denitionsbereichs kann
gelten)
f (xD ) = 0
(xG ) = 0
f (x) = 0 f1 , f2 , ...unabhaengige Funktionen nicht klar in welche RichAber: tung in x-Raum zu gehen ist, um gleichzeitig alle Komponenten auf 0 zu setzen
f (x) = 0
Komponenten
f verbunden
schwer
in hoeheren Di-
vergleichsweise
ren Dimensionen
mensionen
(schlechte) Idee: Fuehre Nullstellensuche auf Funktionsminimierung zurueck, suche Minimum von
F (x) =
2 j (fj (x))
Nicht gut ... Funktionsminimierung ndet in der Regel lokales Minimum mit das keiner Nullstelle entspeicht. pic
F > 0,
62
10
FUNKTIONSMINIMIERUNG, OPTIMIERUNG
63
10.1
und
lokalisiert, wenn
f (a) < 0
und
f (b) > 0 a
(und
stetig)
lokalisiert, wenn
und
a < b, < c
picEx Nicht klar, ob Minimum links oder rechts von
liegt
Verkleinere Intervall
[a, c]
bei
y, b < y < c
(bzw.
a<y<b
* *
...analog)
Fall 1:
f (y) > f (b) aneu = a, bneu = b, cneu = y f (y) < f (b) aneu = b, bneu = y, cneu = c
picFall1 Fall 2:
picFall2
y,
um das Intervall
[a, c]
* *
[aneu , cneu]
Fall 1: Fall 2:
w+z 1w
(Dierenz zwischen
w + z = 1 w z = 1 2w = (1 w) w graphisch pic
[a, b]
und
[b, c])
Konvergenzgeschwindigkeit:
Wie muss w urspruenglich gewaehlt werden, damit es in jedem Fall gleich bleibt?
picKonv mit
w=
3 5 2 3 5 2
w =
abseits von
Damit cneu
aneu
3 5 = (1 w)(c a) = (1 )(c a) 2
0.618
w=
3 5 2
also lineare Konvergenz, aber schlechter als z.B. Nullstellensuche mit Bisektion, siehe Kapitel 4.2 Goldener Schnitt
1 5 2
63
10
FUNKTIONSMINIMIERUNG, OPTIMIERUNG
64
fmin 2 (x
xmin )2
f (x) bei x vom Minimum fmin nicht < ( rel. Genauigkeit, 107 oat, 1016 2fmin 1 )2 fmin
O(1)...?
moeglich!
Minimale Intervalllaenge
x xmin ( O( )
10.2
Quadratische Interpolation in 1D
Approximiere
mit Parabel duch (a, f (a)), (b, f (b)), (c, f (c)), (a,
b, c
z.B. Punkte
y = b
1 (ba2 (f (b)f (c))(bc)2 (f (b)f (a)) 2 (ba)(f (b)f (c))(bc)(f (b)f (a))
f,
wenn
pa-
10.3
a, b, c
deniertes Intervall
a, b, c f (a) f
lokalisiertes Minimum
f (b)
und
(falls
sonst)
Problem auch hier. Konvergenz nicht gesichert; z.B. kann neuer Punkt
serhalb von
aus-
[a, c] liegen kombiniere auch hier mit sicherer Methode (z.B. Golden-Section-Search, Abschnitt 10.1) (Beispiel: Numerical Recipes, 10.4)
10.4
Simplex-Methode (D
> 1)
D > 1,
nicht unbedingt sehr ezient
geeignet, wenn man schnell (menschliche Zeit) ein Ergebnis will (und das Problem
nicht sehr viel Computerzeit benoetigt)
64
10
FUNKTIONSMINIMIERUNG, OPTIMIERUNG
65
Simplex
Wird in
deniert
Dimensionen durch
D+1
Punkte
pj
D = 2: D = 3:
Dreieck Tetraeder
p1 p0 , p2 p0 , ..., pD p0
Raum auf
D-dimensionalen
D=1
mit 3 Punkten) in
D>1
nicht moeglich
Grundidee: Simplex kriecht schrittweise den Berg hinunter ... deformiert sich bei der durch
f (x)
Intiabr Simplex:
p0 =Schaetzwert
geben)
pj = p0 + j ej (j :
j -Richtung;
Simplexdeformationsschritte:
1 2 ):
Abbruchkriterium:
D=1
sind Abbruchkriterium in
D>1
nicht oensichtlich
<
pD
maximaler Punkt)
=p0
oder Abbruch, wenn Fortbewegung aller Simplex-Punkte marginal... In jedem Fall zur Sicherheit Simplex-Methode noch einmal starten, am gefundenen Minimum (mit grossen initialen Simplex, wie oben beschrieben) (sollte bei Erfolg das Minimum schnell wiedergeben)
65
10
FUNKTIONSMINIMIERUNG, OPTIMIERUNG
66
10.5
D > 1-Minimierung
Vorgehen: 1. Starte bei Punkt 2. Gib
durch wiederholte
1D
Minimierung
p. u
vor.
1D
Minimierungsrichtung
3. Minimiere
entlang
u,
also nde
so, dass
f (p + u)
minimal (verwende
1D-
p p + u. D
Dimensionen) naeherungsweise erreicht (siehe
Schwierigkeit liegt in einer geschickten Wahl der Minimierungsrichtung terscheiden sich Methoden dieses Typs
u;
darin un-
D=2 f:
Langgezogenes Paraboloid, Ausrichtung schraeg zu Koordinatenachsen
Minimierungsrichtungen: e1 , e2 , e1 , ...
Folie
u1 =
1 2
1 1
u2 =
1 2
1 1
u1 , u2 ,
Beliebter Anfaenger fehler: Waehle Minimierungsrichtungen stets entlang des Gradienten, d.h. die Richtung des steilsten Abstiegs
leicht besser als e1 , e2 , e1 , ..., also Minimierung entlang von Koordinatenachsen Dennoch i.A. sehr viele Minimierungsschritte erforderlich
Zwei moegliche Strategien zur geschickten Wahl: 1. Waehle neue Richtung so, dass Minimierung bezueglich vorheriger Richtungen erhalten bleibt (sprechweise: neue und alte Richtungen sind konjugiert)
Schritten erreicht
* *
u, v : u-Richtung;
dann
von
v so, dass der Gradient in u-Richtung v -Minimierungsrichtung verschwindet (praeziser: auf einer Graden durch p in Richtung v ); also u f (p+v) = 0 fuer alle . nicht fuer beliebige Funktionen f erfuellbar moeglich, wenn f quadratisch 1 f (x) = c bx + 2 xAx f (x) = b + Ax
66
10
FUNKTIONSMINIMIERUNG, OPTIMIERUNG
67
j k f |o xj xk
=:Ajk
(auch andere Wahl als Entwicklungspunkt f(.) moeglich, z.B. scheinlich guenstiger) Damit Minimum nach
wahrnaehe-
Schritten (=D
=1
Minimierung in
Aber: Schnelle, d.h. quadratische Konvergenz (kann man zeigen!) Falls reich
unaehnlich zu Paraboloid
10.6
Simulated Annealing
Bisher nur das Finden lokaler Minima diskutiert Wie ndet man das globale Minimum einer Funktion
f?
Haeug aber riesige Menge von lokalen Minima in unueberschaubaren hochdimensionalen Funktionen
f (x)
10.6.1
Simulated Annealing
Kombinatorische Minimierung
xgewaltige
Menge diskreter
s S = {S1 , S2 , S3 , ..., SN }
Ziel: Finde
31
f (s).
Sj ,
dass f minimiert.
Denn Simulated-Annealing zu Grunde liegende Analogie: eine sich abkuehlende kristallisierende Fluessigkeit, bzw. ausgluehender (Englisch: to anneal) Stahl:
67
10
FUNKTIONSMINIMIERUNG, OPTIMIERUNG
68
schnelle Abkuehlung:
Nicht genug Zeit fuer Atome, um sich auszurichten und stabilen Kristall zu
langsame Abkuehlung:
f (s): s0 s1 s2 ...
wobei
sj
und
sj+1
aehnli-
(oft kann ein globales Minimum nur erreicht werden, wenn einige Berge ue-
Akzeptiere Verschlechterung zu Begin haeug, dann mit immer kleinerer Wahrscheinlichkeit (Stahl-Analogie: Wenn heiss, ordnen sich Atome bereitwillig um, ueberwinden Energierbarrieren, wenn kalt, frieren sie kristallisiert in einem Energieminimum fest)
Simulated-Annealing-Algorithmus
sS
T
(stochastische Minimie-
sneu S ,
d.h. sneu
s
s = sneu
(c) Verringere (d) Gehe zu 2.
mit Wahrscheinlichkeit
e
E
f (sneu )f (s) T
(Analogie zu Boltzmann-Faktor
e kT
Wenn
sneu
(xj , yj ), j = 1...N
S enthaelt alle Permutationen von (1, 2, ..., N ), N = 100 eine unueberschaubare Anzahl f=
100 j=1 ((xj
1
hat also
N!
Zustandsaenderungen
s snew :
68
11
69
* * * * *
...-17-6-9-3-14-...
...-5-16-14-3-9-1-21-...
Temperaturveraenderung:
waehle initiales
|f (sneu ) f (s)|
Schritten oder
(generiere einige
100N
10N
erfolgreichen
Updates (was auch immer eher erfuellt ist) Abbruch, wenn Algorithmus festfriert Folie Modikation:
f f+
(j j1 )2 , j=+1
j = 1 sonst > 0 Angst den Fluss zu ueberqueren < 0 Schmuggler will dauernd Fluss
10.7
ueberqueren
Kontinuierliche Minimierung
Simulated Annealing ohne grosse Modikationen auf Minimierung kontinuierlicher Funktionen
f (x)
anwendbar
Kongurationen
Punkt
im Denitionsbereich von
xnew
schwierig
Ising Modell
Haeug verwendetes primitives Modell fuer Magnetismus Auf regelmaessiges kubisches Gitter angeordnete Spins
sj = 1
in
Dimensionen
C = (s1 , s2 , s3 , ...)
2N Zustaende bei
2)
Spins
2(100
= 21000000 10300000 H=
moegliche Zustaende
Hamilton-Operator:
> 0fuer
Ferromagneten
sj sk
<j,k>
ueber naechste Nachbarn
j sj
aeusseres Magnetfeld
69
11
70
11.2
Zustandssumme:
Z=
eH(C) ( =
1 kT )
O(s1 , s2 , ...)
=C
< O >=
O(C)eH(C) Z
Problem: Summen koennen im Prinzip vom Computer berechnet werden, in der Praxis aber unmoeglich, da Summe z.B. aus
10300000
Termen besteht
c1 , c2 , c3 , ..., cN
Damit
mit Wahrscheinlichkeit
c eH(J ) Z
< O >
1 N
N 10
keiten
<<
M 10300000
Markov-Kette generiert in der Regel wahrscheinliche / repraesentative Zustaende Markov-Kette besteht aus Zustaenden
c1 , c2 , ..., cM
(*)
und Uebergangswahrscheinlich-
Pjk , j, k 1, ..., M
k
picMarkovChain Bedingung
Pjk = 1
Pjk
Pjk
P (cj ) =
(**)
eH(cj ) gilt. Z
(lange Laufzeit: Entwicklung muss von Startzustand unabhaengig sein) Dafuer muss fuer
Pjk
gelten
j
e
Pjk
(***)
Beweis:
j (
)
j
P (cj )Pjk =
70
11
71
11.2.1
Metropolis-Algorithmen
Schlage zufaellig in
cl = cj
ck
mit Wahrscheinlichkeit
wjk
vor
wjk = wkj
also
cl+1 = ck ,
cl+1 = cj
P (cj )
e H(cj ) Z
Pjk
wjk min(1,e(H(ck )H(cj )) )
= P (ck )
eH(ck ) Z
Pkj
wkj min(e(H(cj )H(ck )) ,1)
1=1
Damit
c1 , c2 , ...
Foldendes gelten:
Der gemaess
wjk
vorgeschlagene Zustand
ck
durch Zustandsraum
ck ck
darf nicht zu oft abgelehnt werden, sonst langsame Bewegung durch den
50%
cj
ist)
Vor-/Nachteile:
sehr einfach zu realisieren sehr allgemein anwendbar langsame Bewegung durch Zustandsraum Ezienz haengt stark von
wjk
wjk -Optimierung
Spins
erforderlich Moegliche Anwendung auf Ising-Modell: Waehle zufaellig aus, stelle sie zufaellig (50% +1, 50 % -1) (damit
wjk
11.2.2
Heatbath-Algorithmus
stelle einen (oder wenn mathematisch moeglich auch mehrere) zufaellig gewaehlten Freiheitsgrad (beim Ising-Modell einen Spin) entsprechend der Wahrscheinlichkeiten
eH(c) ein Z
(alle anderen FHGs werden dabei festgehalten) ein FHG wird bei festgehaltenem anderen ins thermische Gleichgewicht gebracht ( Heatbath)
Pjk =
P (ck ) l P (cl )
P (ck )
Summe ueber Zustande, die durch Veraenderung des ausgewaehlten FHGs erreicht
P (cj )
Pjk
= P (ck ) Pkj 1 = 1
P (ck ) 1 P (cj ) #
# der FHGs
1
71
11
72
Vor-/Nachteile
Pjk
11.3
ein
Anwendung auf Ising-Modell: Waehle zufaellig einen Spin, stelle ihn gemaess
Pjk
B=0 T
(besser
Verschiedene
T /,
dimensionslose Temperatur)
Heatbath-Algorithmus
Thermalisierung durch unabhaengige Starts brechen (heiss (sj zufaellig), kalt (sj
+1))
Folie 1 Approximative Bestimmung des Phasenuebergangs (= Curie-Temperatur) mit Hilfe der Observablen
(<
sk >:
2.0...T /...2.5
Folie 2 Bestaetigung des analytischen Ergebnisses
Tcrit
2 ln(1+ 2)
Metastabiler Zustand (Weisssche Bezirke) (bei heissem Start und Megnetisierung fuer
T < Tc )
T < Tc T > Tc
72