182
Computational Physics – Physik am Computer – Michael Bestehorn 15. Juli 2013

ComputationalPhysics - BTU Cottbus-Senftenberg · 1.2. EINERSTESBEISPIEL–LOGISTISCHEABBILDUNG 9 studierenkann.DieOption-obewirkt,dassdasausfuhrbareProgramm(executable)¨ den Namen

  • Upload
    vokien

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Computational Physics

– Physik am Computer –

Michael Bestehorn

15. Juli 2013

2

Inhaltsverzeichnis

1 Einfuhrung, Beispiel und Literatur 71.1 Die typischen drei Schritte des “iterativen Approaches” . . . . . . . . . 71.2 Ein erstes Beispiel – Logistische Abbildung . . . . . . . . . . . . . . . . 9

1.2.1 Abbildung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2.2 Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.3 Differentialgleichung . . . . . . . . . . . . . . . . . . . . . . . . 111.2.4 Lyapunov-Exponent . . . . . . . . . . . . . . . . . . . . . . . . 131.2.5 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.3 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Abbildungen 192.1 Frenkel-Kotorova-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1 Klassische Formulierung . . . . . . . . . . . . . . . . . . . . . . 192.1.2 Stationare Losungen . . . . . . . . . . . . . . . . . . . . . . . . 202.1.3 Standardabbildung . . . . . . . . . . . . . . . . . . . . . . . . . 202.1.4 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2 Affine Abbildungen und Fraktale . . . . . . . . . . . . . . . . . . . . . 222.2.1 Sierpinski-Dreieck . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2.2 Fraktale Dimension . . . . . . . . . . . . . . . . . . . . . . . . 262.2.3 Von Farnen und anderen Gewachsen . . . . . . . . . . . . . . . 282.2.4 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.3 Neuronale Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.3.1 Perzeptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.3.2 Selbstorganisierte Karten: das Modell von Kohonen . . . . . . . 352.3.3 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3 Lineare Gleichungssysteme und Matrizen 453.1 Reelle Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.1.1 Eigenwerte und Eigenvektoren . . . . . . . . . . . . . . . . . . . 453.1.2 Charakteristisches Polynom . . . . . . . . . . . . . . . . . . . . 453.1.3 Bezeichnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.1.4 Normale Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.2 Komplexe Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.2.1 Bezeichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.2.2 Die Jordansche Normalform . . . . . . . . . . . . . . . . . . . . 48

3.3 Inhomogene lineare Gleichungssysteme . . . . . . . . . . . . . . . . . . 493.3.1 LR-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3

4 INHALTSVERZEICHNIS

3.3.2 Thomas-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . 603.3.3 Beispiel: Methode der kleinsten Quadrate . . . . . . . . . . . . . 61

3.4 Homogene lineare Gleichungssysteme . . . . . . . . . . . . . . . . . . . 633.4.1 Eigenwertprobleme . . . . . . . . . . . . . . . . . . . . . . . . . 633.4.2 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.4.3 LR-Faktorisierung . . . . . . . . . . . . . . . . . . . . . . . . . 663.4.4 QR-Faktorisierung . . . . . . . . . . . . . . . . . . . . . . . . . 683.4.5 Anwendung: lineare Federkette . . . . . . . . . . . . . . . . . . 683.4.6 Anwendung: Nullstellen eines Polynoms . . . . . . . . . . . . . . 703.4.7 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4 Gewohnliche Differentialgleichungen I 774.1 Quasilineare Differentialgleichungen . . . . . . . . . . . . . . . . . . . . 774.2 Beispiel: mathematisches Pendel . . . . . . . . . . . . . . . . . . . . . . 784.3 Numerische Stabilitat des Euler-Verfahrens . . . . . . . . . . . . . . . . 824.4 Implizite und explizite Verfahren . . . . . . . . . . . . . . . . . . . . . 844.5 Verfahren hoherer Ordnung . . . . . . . . . . . . . . . . . . . . . . . . 84

4.5.1 Verfahren von Heun . . . . . . . . . . . . . . . . . . . . . . . . 854.5.2 Aufgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.5.3 Runge-Kutta-Verfahren . . . . . . . . . . . . . . . . . . . . . . . 884.5.4 RK4 mit adaptiver Schrittweite . . . . . . . . . . . . . . . . . . 93

4.6 Anwendung: Kepler-Problem . . . . . . . . . . . . . . . . . . . . . . . . 974.6.1 Geschlossene Planetenbahnen . . . . . . . . . . . . . . . . . . . 974.6.2 Quasiperiodische Planetenbahnen, Periheldrehung . . . . . . . . 994.6.3 Mehrere Planeten: Ist unser Sonnensystem stabil? . . . . . . . . 1004.6.4 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

4.7 Chaos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034.7.1 Harmonisch angetriebenes Pendel . . . . . . . . . . . . . . . . . 1034.7.2 Poincare-Schnitt und Bifurkationsdiagramm . . . . . . . . . . . 1054.7.3 Lyapunov-Exponenten . . . . . . . . . . . . . . . . . . . . . . . 1054.7.4 Lyapunov-Exponenten hoherer Ordnung . . . . . . . . . . . . . 1114.7.5 Numerische Berechnung aller Lyapunov-Exponenten . . . . . . . 1124.7.6 Beispiel angetriebenes Pendel . . . . . . . . . . . . . . . . . . . 1134.7.7 Lyapunov-Zeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144.7.8 Fraktale Dimension . . . . . . . . . . . . . . . . . . . . . . . . . 1194.7.9 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

4.8 DGLs mit periodischen Koeffizienten . . . . . . . . . . . . . . . . . . . 1264.8.1 Floquet-Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . 1264.8.2 Stabilitat von Grenzzyklen . . . . . . . . . . . . . . . . . . . . . 1274.8.3 Parametrische Instabilitat: Pendel mit oszillierendem Aufhange-

punkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284.8.4 Mathieu-Gleichung . . . . . . . . . . . . . . . . . . . . . . . . . 1304.8.5 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

5 Gewohnliche Differentialgleichungen II 1355.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355.2 Beispiel schiefer Wurf . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

INHALTSVERZEICHNIS 5

5.3 Finite Differenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1375.3.1 Diskretisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 1375.3.2 Beispiel Schrodinger-Gleichung . . . . . . . . . . . . . . . . . . 140

5.4 Methode der gewichteten Residuen . . . . . . . . . . . . . . . . . . . . 1465.4.1 Verschiedene Verfahren . . . . . . . . . . . . . . . . . . . . . . . 1465.4.2 Beispiel Stark-Effekt . . . . . . . . . . . . . . . . . . . . . . . . 148

5.5 Nichtlineare Randwertprobleme . . . . . . . . . . . . . . . . . . . . . . 1505.5.1 Nichtlineare Systeme . . . . . . . . . . . . . . . . . . . . . . . . 1505.5.2 Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . 1505.5.3 Beispiel: nichtlineare Schrodinger-Gleichung . . . . . . . . . . . 152

5.6 Schießverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1575.6.1 Beispiel: senkrechter Fall mit quadratischer Reibung . . . . . . . 1595.6.2 Gleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . 1635.6.3 Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1645.6.4 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

6 Vortragsaufgaben 1736.1 Drei Massepunkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1746.2 Dreikorperproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1756.3 Doppelpendel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1766.4 Gedampftes angetriebenes Pendel . . . . . . . . . . . . . . . . . . . . . 1776.5 Rekonstruktion und fraktale Dimension . . . . . . . . . . . . . . . . . . 1786.6 Stationare Schrodinger-Gleichung I . . . . . . . . . . . . . . . . . . . . 1796.7 Stationare Schrodinger-Gleichung II . . . . . . . . . . . . . . . . . . . . 1806.8 Delay-Gleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

6 INHALTSVERZEICHNIS

Kapitel 1

Einfuhrung, Beispiel und Literatur

1.1 Die typischen drei Schritte des “iterativen Ap-

proaches”

In dieser Vorlesung soll das selbststandige Umsetzen von physikalisch-mathematischenProblemstellungen in Computerprogramme erlernt werden. Es wird empfohlen, Pro-gramme aus dem technisch-wissenschaftlichen Bereich in FORTRAN zu schreiben.Diese Sprache ist im Gegensatz zu dem ebenfalls weitverbreiteten C (oder C++) bes-ser zur Bearbeitung von Aufgaben aus der theoretischen Physik wie z.B. dem Losenvon Differentialgleichungen oder dem Rechnen mit komplexen Zahlen geeignet. Mankann dies sicher alles auch mit C bewaltigen, nur eben umstandlicher und kompli-zierter, womit die Moglichkeit Fehler zu machen, großer wird. C mag seine Vorteileim maschinennahen Programmieren besitzen (Entwicklung von Compilern, Betriebs-systemen, etc.) von denen wir jedoch hier sicher nicht profitieren wurden. Wer alsounbedingt C (oder C++) verwenden will, darf dies naturlich tun, ist dann aber auchselbst schuld, wenn es damit langsamer und schlechter voran geht!

Programmentwicklung ist ein iterativer Prozess. Das heisst, man nahert sich demgewunschten Resultat langsam und erreicht es, wenn uberhaupt, nach N Iterationen.Eine Iterationsschleife sieht dabei folgendermaßen aus:

(1) Editieren – (2) Compilieren – (3) Programm starten – goto (1)

In (1) wird ein ASCII-File mittels Texteditor erstellt, welcher das Programm (denSource- oder Quellcode) in einer Standardprogrammiersprache enthalt (siehe oben).Dazu ruft man einen Editor (z.B. emacs) mit dem Befehl

$ emacs Programm.f

auf. Nach Erstellen des Quellcodes wird (2) durch ein script z.B. der Form

f95 -O1 $1.f -o $1 -L/usr/lib -llapack -lpgplot

7

8 KAPITEL 1. EINFUHRUNG, BEISPIEL UND LITERATUR

(3) Programm ausfuehren

(2) Compilieren und Executable bauen mitscript file "make_for" (FORTRAN)

(emacs, etc.)

Zielerreicht ?

ja

nein

(1) Quellcode editieren mit Texteditor

STOP

Abbildung 1.1: Der “iterative Approach”

erreicht. Nennen wir das Skript “make for”, so lasst es sich auf einem Linux- Betriebs-system ausfuhren. Dazu mussen wir ihm allerdings erst das Attribut “executable” durch

$ chmod u+x make_for

geben. Gestartet wird es dann durch

$ ./make_for <Programm>

Der Befehl f95 ruft zunachst den FORTRAN Compiler (Standard Fortran95) even-tuell mit zusatzlichen Optionen auf, welche man unter

$ man f95

1.2. EIN ERSTES BEISPIEL – LOGISTISCHE ABBILDUNG 9

studieren kann. Die Option -o bewirkt, dass das ausfuhrbare Programm (executable)den Namen <Programm> besitzt, -L/... gibt den Weg fur die folgenden libraries an,in diesem Fall lapack und pgplot [2], letztere wird fur die interaktive Grafikausgabebenotigt.

(3) Lauft des Skript ohne Fehlermeldung durch, so befindet sich im Arbeitsver-zeichnis ein binarer, d.h. nicht editierbarer file “Programm”, welcher mit

$ ./Programm

ausgefuhrt wird.

1.2 Ein erstes Beispiel – Logistische Abbildung

1.2.1 Abbildung

Als einfaches Beispiel untersuchen wir die Abbildung (Rekursionsformel) [4]

xn+1 = axn(1− xn), n = 0, 1, 2... 0 ≤ a ≤ 4, 0 ≤ x0 ≤ 1 (1.1)

welche unter der Bezeichnung Logistische Abbildung bekannt ist.

(1.1) kann als einfaches Modell zur zeitlichen Entwicklung einer zunachst wachsen-den Population betrachtet werden, wobei xn die Bevolkerungsdichte einer Spezies zurZeit (im Jahr) n misst. Der Term axn alleine fuhrt zu exponentiellem Wachstum wenna > 1, sonst zum Aussterben der Spezies. Fur a > 1 beschrankt die Nichtlinearitat−ax2

n das Wachstum durch Ressourcenknappheit (beschrankte Nahrungsmittel oderLebensraum) und fuhrt zu Sattigung. Je nach a haben wir die beiden asymptotischenLosungen

xn → xs =

0 fur a < 1

1− 1/a fur a > 1, n → ∞ . (1.2)

Die Losungen (1.2) ergeben sich aus

xs = f(xs) (1.3)

mit der Abkurzungf(x) = ax(1− x) . (1.4)

Die nichtriviale Losung wird allerdings instabil, sobald a > 3, was man durch einelineare Stabilitatsanalyse zeigt. Hierzu untersuchen wir, wie sich infinitesimale Abwei-chungen ǫ0 << 1 von xs

xn = xs + ǫn (1.5)

unter Iteration verhalten. Einsetzen von (1.5) in (1.1) ergibt

xs + ǫn+1 = f(xs + ǫn) = f(xs) + f ′(xs)ǫn +O(ǫ2n) , (1.6)

10 KAPITEL 1. EINFUHRUNG, BEISPIEL UND LITERATUR

oder bei Berucksichtigung ausschließlich linearer Terme in ǫn

ǫn+1 = f ′(xs)ǫn . (1.7)

Die kleine Abweichung ǫ0 wird durch Iteration genau dann anwachsen, wenn |f ′(xs)| >1 gilt, was mit (1.4) auf die beiden Falle

a < 1, a > 3

fuhrt.

Was passiert fur a > 3? Die unten vorgestellte Computerlosung Abb. 1.2 zeigt einperiodisches Verhalten, also

xn = xn−2 = xp1, xn+1 = xn−1 = xp2

oderxp1 = f(f(xp1)), xp2 = f(f(xp2)) .

Man zeigt wiederum durch lineare Stabilitatsanalyse, dass die periodische Losung fura > 1 +

√6 instabil wird, es entsteht ein Viererzyklus, bei dem sich die xn regelmaßig

zwischen vier Werten abwechseln (Ubungen).

1.2.2 Programm

Numerisch untersuchen wir die logistische Abbildung mit dem Programm

PROGRAM LOGIST

REAL*8 A,X

C Bereich fuer A

AMIN=2.

AMAX=4.

c initialisiere Grafik

CALL PGBEGIN(0,’/xwin’,1,1) ! auf den Schirm

CALL PGPAP(10.,1.) ! Groesse des Schirms (Breite, Seitenverh.)

CALL PGENV(AMIN,AMAX,0.,1.,0,1) ! xy-Skala

CALL PGSCI(1)

c

ITMAX=200 ! Zahl der Iterationen je A-Wert

IVOR=1000 ! Vorlauf

TINY=1.E-6 ! Startwert x

DA=(AMAX-AMIN)/1000. ! Schrittweite fuer A

1.2. EIN ERSTES BEISPIEL – LOGISTISCHE ABBILDUNG 11

DO 10 I=1,1000

A=FLOAT(I-1)*DA+AMIN

AP=A

C

X=TINY ! x0

DO 20 IT=1,ITMAX+IVOR

X=A*X*(1.-X) ! log. Abbildung

XP=X

IF(IT.GT.IVOR) THEN

CALL PGPT(1,AP,XP,-1) ! zeichnet ein Pixel am Ort AP,XP

ENDIF

20 CONTINUE

C

10 CONTINUE

c beende Grafik

CALL PGEND

END

Zur Visualisierung wird die Grafik-Library PGPLOT [2] verwendet. Nach Compi-lieren und Ausfuhren entsteht die Grafik aus Abb. 1.2.

1.2.3 Differentialgleichung

Im Zusammenhang mit der logistischen Abbildung untersuchen wird die gewohnlicheDifferentialgleichung 1. Ordnung

dx

dt= (a− 1)x− ax2 , (1.8)

die das zeitliche Verhalten von x(t) bei gegebenem x(0) = x0 definiert (Anfangswert-problem). Eine Losung erhalt man durch Separation der Variablen

x(t) =a− 1

a+ c e(1−a)t(1.9)

wobei die Integrationskonstante c

c =a(1− x0)− 1

x0

durch die Anfangsbedingung festgelegt ist. Fur t → ∞ erhalt man die asymptotischenLosungen

xs =

0 fur a < 1

1− 1/a fur a > 1, (1.10)

12 KAPITEL 1. EINFUHRUNG, BEISPIEL UND LITERATUR

Abbildung 1.2: Logistische Abbildung

welche mit den asymptotischen Losungen der logistischen Abbildung ubereinstimmen.

Wir fragen uns jetzt, wie (1.1) mit der Differentialgleichung (1.8) zusammenhangt:

Wir werden spater ausfuhrlich auf numerische Losungen von Differentialgleichungenzuruck kommen. Hier muss man nur wissen, dass man eine Ableitung naherungsweisedurch den Differenzenquotienten ausdrucken kann

dx

dt≈ x(t+∆t)− x(t)

∆t, (1.11)

was fur ∆t → 0 exakt wird. Setzt man (1.11) auf der linken Seite von (1.8) ein, soergibt sich nach kurzer Rechnung

xn+1 = axn∆t

(

1− 1

a

(

1− 1

∆t

)

− xn

)

, (1.12)

wobei wir mit xn die x-Werte zu den Zeitpunkten n∆t bezeichnet haben,

xn = x(n∆t) .

Setzen wir jetzt ∆t = 1, so geht (1.12) in (1.1) uber, d.h. die diskretisierte Form derDGL (1.8) entspricht gerade der logistischen Abbildung. Dies erklart dasselbe Verhal-ten fur a < 3, d.h. das asymptotische Annahern an xs und die richtigen Werte der

1.2. EIN ERSTES BEISPIEL – LOGISTISCHE ABBILDUNG 13

asymptotischen Losungen. Nicht erklaren lassen sich aber die weiteren Verzweigungenfur a > 3 oder gar das chaotische Verhalten fur großeres a, was in der Losung (1.9)naturlich nicht enthalten sein kann.

Woher kommt dann das wesentlich komplexere Verhalten der diskretisierten Form(1.12)? Um das zu sehen, mussen wir die Stabilitat von (1.12) fur beliebiges ∆t naheruntersuchen. Eine stationare Losung (Fixpunkt) von (1.12) fur a > 0 ist naturlichxs = 1− 1/a. Wenn man

x(t) = xs + ǫ(t)

ansetzt und bezuglich ǫ linearisiert, lasst sich zeigen, dass fur ∆t = 1 xs numerischinstabil wird sobald a > 3. D.h. bei den Verzweigungen zu periodischen Losungenbis hin zum Chaos handelt es sich um numerische Artifakte, die von einem zu großenZeitschritt kommen (Ubungen).

1.2.4 Lyapunov-Exponent

Wir wenden uns wieder der logistischen Abbildung (1.1) zu. Die ersten Verzweigungenlassen sich noch analytisch angeben, fur die hoheren Bifurkationen steigt der Aufwandjedoch schnell. Wir wollen deshalb eine Große definieren, die das Stabilitatsverhaltenfur beliebiges a zeigt.

Startet man die Iteration bei x0, so ergibt sich fur xn

xn = f(f(f(.....f(x0)....))) ≡ f (n)(x0) , (1.13)

wobei f (n) die n-fach Iterierte bezeichnet. Eine zweite Iteration soll mit einem dichtbenachbarten Anfangswert x0 + ǫ beginnen und liefert eine andere Folge y1, y2...yn:

yn = f (n)(x0 + ǫ) . (1.14)

Die Frage ist nun, ob sich die beiden anfangs dicht benachbarten Folgen von einanderentfernen. Wir bilden den Abstand und erhalten mit ǫ → 0

dn = |xn − yn| = ǫ

∣∣∣∣

f (n)(x0 + ǫ)− f (n)(x0)

ǫ

∣∣∣∣= lim

ǫ→0ǫ

∣∣∣∣

d

dxf (n)(x)

∣∣∣∣x0

. (1.15)

Nimmt man jetzt an, dass der Abstand exponentiell mit den Iterationen anwachst(instabil), bzw. abnimmt (stabil), also

dn = d0 eλn = ǫ eλn ,

so wird λ als Lyapunov-Exponent bezeichnet. Offensichtlich liegt bei λ > 0 eineinstabile Iterationsfolge vor, bei λ < 0 eine stabile.

Aus (1.15) folgt dann

λ = limn→∞

1

nln

∣∣∣∣

d

dxf (n)(x)

∣∣∣∣x0

. (1.16)

14 KAPITEL 1. EINFUHRUNG, BEISPIEL UND LITERATUR

Abbildung 1.3: Logistische Abbildung und Lyapunov-Exponent

Wir wenden die Kettenregel an

d

dxf (n)(x)

∣∣∣∣x0

= dxf(x0)dxf(x1)....dxf(xn)

und erhalten schließlich

λ = limn→∞

1

n

n∑

k=0

ln

∣∣∣∣

d

dxf(x)

∣∣∣∣x=xk

. (1.17)

Diese Formel lasst sich relativ einfach programmieren. Naturlich kann man sie nicht

1.2. EIN ERSTES BEISPIEL – LOGISTISCHE ABBILDUNG 15

fur n → ∞ auswerten, man wahlt ein “genugend großes maximales n von z.B. 1000.Das Programm konnte folgendermaßen aussehen:

PROGRAM LOGIST_LYAP

REAL*8 A,X,FLY

DIMENSION FLP(1000),XLP(1000)

C Bereich fuer A

AMIN=2.7

AMAX=4.

c initialisiere Grafik

CALL PGBEGIN(0,’/xwin’,1,1) ! auf den Schirm

CALL PGPAP(10.,1.) ! Groesse des Schirms (Breite, Seitenverh.)

CALL PGVPORT(0.1,.9,0.05,0.5) ! Unterer Graph, Iterationen

CALL PGSWIN(AMIN,AMAX,0.,1.) ! xy-Skala

CALL PGBOX(’BCNT’,0.,0,’BCNT’,0.,0)

c

ITMAX=1000 ! Zahl der Iterationen je A-Wert

IVOR=1000 ! Vorlauf

TINY=1.E-6 ! Startwert x

DA=(AMAX-AMIN)/1000. ! Schrittweite fuer A

DO 10 I=1,1000

A=FLOAT(I-1)*DA+AMIN

AP=A

C

X=TINY

FLY=0.

DO 20 IT=1,ITMAX+IVOR

X=A*X*(1.-X) ! log. Abbildung

XP=X

IF(IT.GT.IVOR) THEN

CALL PGPT(1,AP,XP,-1)

IF(ABS(X-.5).GT.1.E-30) FLY=FLY+LOG(ABS(A*(1.-2.*X))) ! Summe Lyapunov-Epxonent

c

ENDIF

20 CONTINUE

FLP(I)=FLY/FLOAT(ITMAX) ! Lyapunov-Exponent

FLMAX=MAX(FLMAX,FLP(I))

FLMIN=MIN(FLMIN,FLP(I))

16 KAPITEL 1. EINFUHRUNG, BEISPIEL UND LITERATUR

XLP(I)=A ! Werte x-Achse (A)

C

10 CONTINUE

WRITE(6,*) FLMAX,FLMIN

CALL PGVPORT(0.1,.9,0.55,0.98) ! Oberer Graph, Lyapunov-Exponent

CALL PGSWIN(AMIN,AMAX,FLMIN,FLMAX) ! xy-Skala

CALL PGBOX(’BCTNA’,0.,0,’BCTN’,0.,0)

C

CALL PGLINE(1000,XLP,FLP)

CALL PGEND

END

Das Resultat zeigt Abb.1.3. Man sieht negative λ fur die Fixpunkte und die peri-odischen Zyklen (diese sind stabil), positive in den chaotischen Bereichen. An Bifur-kationspunkten gilt λ = 0, da am n-ten Verzweigungspunkt der n-periodische Zyklusinstabil wird zugunsten eines 2n-periodischen, der dann fur großeres a wieder stabilwird.

1.2.5 Aufgaben

Mit Papier und Bleistift:

1. Berechnen Sie den Zweierzyklus xp1, xp2 fur die logistische Abbildung.

2. Zeigen Sie, dass dieser fur a > 1 +√6 instabil wird.

3. Zeigen Sie, dass (1.12) numerisch instabil wird, sobald ∆t > 2/(a− 1) gilt.

4. Geben Sie einen analytischen Ausdruck fur den Lyapunov-Exponenten λ der lo-gistischen Abbildung im Bereich 0 < a < 1+

√6 an. Berechnen Sie die Polstellen,

das sind die “superstabilen Zyklen”, von λ.

Und zum Programmieren:

1. Plotten Sie die Funktion (1.9) mit Hilfe von PGPLOT fur verschiedene Anfangs-bedingungen und verschiedene Werte von a.

2. Untersuchen sie die Abbildung (1.12) als numerische Losung der DGL (1.8) furverschiedene Zeitschritte ∆t und a.

3. Untersuchen Sie die Abbildung (1.12) fur verschiedene Zeitschritte mit dem Pro-gramm LOGIST LYAP, indem Sie dort die entsprechenden Funktionen andern.

1.3. LITERATUR 17

1.3 Literatur

1. Skript zur Vorlesung (2. korrigierte Version in Arbeit),

http://www.tu-cottbus.de/fakultaet1/de/statistische-physik/

--> Lehre, Skripte --> Computational Physics I

2. Anleitung zum Grafik-Paket PGPLOT, c. T.J.Pearson, Caltech, USA,

http://www.astro.caltech.edu/~tjp/pgplot/old_manual.ps.gz

3. R. H. Landau, M. J. Paez, C. C. Bordeianu, Computational Physics, WILEY-VCH (2007)

4. W. Kinzel, G. Reents, Physik per Computer, Spektrum (1996)

5. W. H. Press, B. P. Flannery, S. A. Teukolsky, W. T. Vetterling, Numerical Reci-

pies Cambridge Univ. Press (2007)

6. C. A. J. Fletcher, Computational Techniques for Fluid Dynamics, Vol. I, Springer-Verlag (2005)

7. J. Argyris, G. Faust, M. Haase, R. Friedrich Die Erforschung des Chaos, Springer-Verlag (2010)

8. H. Ritter, T. Martinetz, K. Schulten, Neuronale Netze, Addison-Wesley (1994)

9. J. Stoer, R. Bulirsch Numerische Mathematik 1, Springer-Verlag (2007)

10. J. Stoer, R. Bulirsch Numerische Mathematik 2, Springer-Verlag (2007)

18 KAPITEL 1. EINFUHRUNG, BEISPIEL UND LITERATUR

Kapitel 2

Abbildungen

Wir werden weitere Rekursionsformeln untersuchen, bei denen aus einem Startwert alleweiteren Werte einer betimmten Variablen folgen.

2.1 Frenkel-Kotorova-Modell

2.1.1 Klassische Formulierung

Wir untersuchen eine eindimensionale Kette ausN Massepunkten jeweils mit der Massem, deren Glieder durch Federn mit der Federkonstante D = 1 und der Ruhelangenull gekoppelt sein sollen. Außerdem soll sich die Kette in einem außeren Potential Vbefinden, welches periodisch im Ort ist,

V (x) = V (x+ 1) . (2.1)

Die einzelnen Massepunkte der Kette befinden sich am Ort xn und haben den Impulspn. Die Hamilton-Funktion lautet dann

H(xn, pn) =N∑

n=1

[p2n2m

+ V (xn) +1

2(xn − xn−1)

2

]

. (2.2)

Um das dynamische Problem zu formulieren, stellt man die Hamiltonschen Gleichungen

pn = − ∂H

∂xn

, xn =∂H

∂pn(2.3)

auf und hat 2N gekoppelte, gewohnliche DGLs zu losen.

19

20 KAPITEL 2. ABBILDUNGEN

2.1.2 Stationare Losungen

Auf Probleme der Art (2.3) werden wir im ubernachsten Kapitel eingehen, hier wollenwir nur nach den stationaren Losungen pn = 0, xn = 0, pn = 0 suchen. Aus (2.3) folgt

∂H

∂xn

= 0 (2.4)

oderV ′(xn) + (xn − xn−1)− (xn+1 − xn) = 0 . (2.5)

Wir definerenyn ≡ xn − xn−1 (2.6)

und erhalten aus (2.5) und (2.6) die zweidimensionale Abbildung

yn+1 = yn + V ′(xn)

xn+1 = xn + yn+1 = xn + yn + V ′(xn) . (2.7)

D.h. aus einem beliebiegen Startwert (x0, y0) folgt eindeutig (determiniert) die ganzeReihe (xn, yn). Naturlich ist dabei nichts uber die Stabilitat der statonaren Losungausgesagt. Es handelt sich lediglich um eine Gleichgewichtskonstellation bei der sichnach (2.4) die Krafte auf jedes Teilchen aufheben. Dabei kann es sich sogar um eininstabiles Geichgewicht handeln (Potentialmaximum).

2.1.3 Standardabbildung

Um weiter zu machen, mussen wir V (x) spezifizieren. In Ubereinstimmung mit (2.1)setzen wir

V (x) =K

(2π)2(1− cos(2πx)) (2.8)

mit K als Kontrollparameter und erhalten schließlich aus (2.7)

yn+1 = yn +K

2πsin(2πxn)

xn+1 = xn + yn+1 . (2.9)

Die Rekursionsvorschrift (2.9) wird als Standardabbildung, Chirikov-Abbildung oderKreisabbildung bezeichnet und wird in der Literatur ausfuhrlich untersucht (z.B. [7]).

Abb.2.1 zeigt das Verhalten von x, y im Bereich 0..1 fur K = 1. Ausgehend voneinem Startwert werden 10000 Punkte gezeichnet. Die Startwerte werden interaktivmit der Maus bestimmt.

Ein Programm zur Anfertigung der Abb.2.1 konnte so aussehen:

PROGRAM FRENKEL

2.1. FRENKEL-KOTOROVA-MODELL 21

Abbildung 2.1: Standardabbildung fur K = 1

REAL*8 X,Y,PI2,VOR

CHARACTER*1 C

INTEGER PGCURS

PI2=2.*3.14159265

AMP=1. ! der Wert fuer K

VOR=AMP/PI2

IMAX=10000 ! Anzahl der Iterationen je Startwert

CALL PGBEGIN(0,’/xwin’,1,1)

CALL PGPAP(10.,1.)

22 KAPITEL 2. ABBILDUNGEN

NCOL=15 ! in 15 verschiedenen Farben

C

CALL PGENV(0.,1.,0.,1.,1,1)

10 K=PGCURS(X0,Y0,C) ! Mausabfrage

X=X0 ! Startwert

Y=Y0

C

IC=IC+1 ! Farbe wechseln

IF(IC.GT.NCOL) IC=1

CALL PGSCI(IC)

DO 100 I=1,IMAX

Y=Y+VOR*SIN(PI2*X) ! Standardabbildung

X=X+Y

XP=MOD(X,1.) ! Plottwerte modulo 1

YP=MOD(Y,1.)

CALL PGPNTS(1,XP,YP,-1,1)

100 CONTINUE

IF(ICHAR(C).NE.32) GOTO 10

CALL PGEND

END

2.1.4 Aufgaben

1. Untersuchen Sie (2.9) fur verschiedene Werte von K. Fur K = 0 geht es ohneComputer.

2. Plotten Sie die Kettenlange fur festes x0 als Funktion von y0. Versuchen Sieverschiedene Werte von x0.

2.2 Affine Abbildungen und Fraktale

Wir untersuchen lineare, eindeutige (bijektive) Abbildungen, die sich aus den drei Ope-rationen

Verschiebung: ~q ′ = ~q + ~a

Drehung: ~q ′ = LD ~q

Skalierung+Scherung: ~q ′ = LS ~q

2.2. AFFINE ABBILDUNGEN UND FRAKTALE 23

zusammensetzen. Wir beschranken uns auf zwei Dimensionen, also

~q = (x, y) ,

LD ist dann die Drehmatrix

LD =

(cos θ − sin θsin θ cos θ

)

und Ls die Skalierungs-Scher-Matrix

LS =

(sx b0 sy

)

.

Die zusammengestetzte Transformation lautet

~q ′ = LD LS ~q + ~a , (2.10)

wobei die verschiedenen Abbildungen nicht kommutieren, d.h. es kommt auf die Reihen-folge an (Drehung und Skalierung vertauscht aber, wenn sx = sy, b = 0). Transformiertman ein Dreieck mit der Flache A, so gilt wegen Det(LD) = 1

A′ = Det(LS) A = sxsy A .

Wendet man die Abbildung (2.10) iterativ an,

~qn+1 = LD LS ~qn + ~a , (2.11)

so entsteht eine selbstahnliche Struktur.

2.2.1 Sierpinski-Dreieck

Als einfache Anwendung konstruieren wir das Sierpinski-Dreieck. Mit der f95-Funktion

RAN()

bringen wir den Zufall ins Spiel. RAN liefert einen gleichverteilten Wert zwischen nullund eins. Achtung: dies ist keine Standard-Fortran Funktion und kann von Compilerzu Compiler verschieden aussehen. Auf anderen Compilern benotigt sie ein ArgumentRAN(IS), oder sie wird durch RANF() bzw. RAND() (auch mit Argument) aufgerufen.Hier hilft nur Manual lesen oder ausprobieren.

Die Konstruktionsvorschrift lautet:

1. Definiere ein Dreieck durch die Punkte (a1, b1), (a2, b2), (a3, b3).

2. Wahle einen zufalligen Punkt (x, y) innerhalb des Dreiecks

24 KAPITEL 2. ABBILDUNGEN

3. Wahle eine zufallige ganze Zahl i=1,2,3 (gleichverteilt)

4. Wenn i=1: Setze einen Punkt in die Mitte von (x, y) und (a1, b1)Wenn i=2: Setze einen Punkt in die Mitte von (x, y) und (a2, b2)Wenn i=3: Setze einen Punkt in die Mitte von (x, y) und (a3, b3)

5. Gehe nach 3. und verwende den in 4. gesetzten Punkt als neuen Punkt (x, y)

Als Abbildung formuliert, lautet die iterative Vorschrift

~qn+1 =1

2

(~qn + ~ai

), i = 1, 2, 3 (zufallig) (2.12)

wobei~ai = (ai, bi)

.

Ein einfaches Programm

PROGRAM SIERPINSKI

CHARACTER*1 C

INTEGER PGCURS

DIMENSION A(3), B(3)

C

ITER=20000 ! Anzahl Iterationen

A(1)=.0 ! die drei Ecken

B(1)=0.

A(2)=1.

B(2)=0.

A(3)=0.5

B(3)=1.

C

CALL PGBEGIN(0,’/xwin’,1,1)

CALL PGPAP(10.,1.)

CALL PGSWIN(0.,1.,0.,1.)

K=PGCURS(X,Y,C) ! Startpunkt mit Maus setzen

C

DO 100 N=1,ITER

C

I=INT(3.*RAN()+1.) ! zufaellige Auswahl 1,2,3 (gleichvert.)

X=(X+A(I))/2. ! affine Abbildung

Y=(Y+B(I))/2.

CALL PGPT(1,X,Y,-1)

2.2. AFFINE ABBILDUNGEN UND FRAKTALE 25

100 CONTINUE

CALL PGEND

END

liefert als Ergebnis die Abb.2.2.

Abbildung 2.2: Sierpinski-Dreieck als fraktales Gitter

Offensichtlich ensteht eine sehr regelmaßige Struktur, obwohl der Zufall bei der Kon-strutkion eine entscheidende Rolle spielt. Auch der Anfangswert bleibt ohne Einfluss,die Iteration konvergiert nach wenigen Schritten auf das Sierpinski-Gitter, welches des-halb auch als Attraktor fur die gesamte Ebene innerhalb des Dreiecks bezeichnet werden

26 KAPITEL 2. ABBILDUNGEN

kann. Die Struktur des Sierpinski-Dreiecks ist selbstahnlich, jedes beliebig herausge-griffene Unterdreieck sieht (bis auf seine Große) gleich aus. Allerdings ist die Ebenebeinahe leer, jedes Dreieck hat unendlich viele Locher auf allen Langenskalen (bei un-endlich vielen Iterationen).

Es handelt sich um eine fraktale Struktur.

2.2.2 Fraktale Dimension

Abbildung 2.3: Box-Counting-Methode. Zur Bestimmung der (fraktalen) Dimensioneines Objektes zahlt man die Quadrate, die man zu dessen Bedeckung braucht. Halbiertman die Quadratseitenlange, so benotigt man etwa doppelt soviel Kastchen wenn dasObjekt wie hier die Dimension eins besitzt (Linie).

Ausgehend vom euklidischen Dimensionsbegriff (Punkt=0, Linie=1, Flache=2...)lasst sich einem fraktalen Gebilde wie in Abb.2.2 eine fraktale Dimension df zuordnen.Wir verwenden die Box-Counting-Methode. Dazu wird eine Einheitsflache E mit N×Ngleichen Quadraten der Seitenlange L = 1/N bedeckt. Auf E befinde sich ein Objekt,dessen Dimension man messen mochte, z.B. eine Linie, (Abb.2.3). Fur gegebenes Lzahlt man die Quadrate, die von der Linie durchlaufen werden, M . Halbiert man jetztL (d.h. die Anzahl der Quadrate vervierfacht sich), so wird sich M etwa verdoppeln.Es besteht also der Zusammenhang

M ∼ L−1 . (2.13)

Besteht das Objekt aber aus einer bestimmten Anzahl K von Punkten, so wird beigenugend kleinem L immer M = K sein, unabhangig von L, also

M = const. (2.14)

Ware das Objekt schließlich zweidimensional, also ein Teil der Flache, so ware Mproportional zur Anzahl der Quadrate, oder

M ∼ L−2 . (2.15)

2.2. AFFINE ABBILDUNGEN UND FRAKTALE 27

Offensichtlich lassen sich alle drei Gesetzmaßigkeiten durch

M ∼ L−d (2.16)

ausdrucken, wobei d die Dimension des Objekts ist. Diese Methode lasst sich aufdas Sierpinski-Dreieck anwenden. Dazu wird ein Feld IBOX definiert, dessen ElementIBOX(I,J) auf eins gesetzt wird, wenn ein Punkt in das entsprechende Quadrat (I,J)fallt:

PROGRAM FRAKTAL

DIMENSION A(3), B(3), IBOX(1024,1024),XP(10),YP(10)

C

ITER=100000 ! Anzahl Iterationen

A(1)=.0 ! die drei Ecken

B(1)=0.

A(2)=1.

B(2)=0.

A(3)=0.5

B(3)=1.

XL=1. ! L am Anfang

DO 10 L=1,10 ! zehn verschiedene Gitter

XL=XL/2. ! halbe Laenge

ID=NINT(1./XL)

DX=1./FLOAT(ID)

DO 101 I=1,ID ! Nullsetzen

DO 101 J=1,ID

IBOX(I,J)=0

101 CONTINUE

C

x=0.5 ! Startwert

y=0.5

C

DO 100 N=1,ITER

C

I=INT(3.*RAN()+1.) ! zufaellige Auswahl 1,2,3

X=(X+A(I))/2. ! affine Abbildung

Y=(Y+B(I))/2.

IX=X/DX+1 ! Kaestchen I,J berechnen

IY=Y/DX+1

IBOX(IX,IY)=1 ! eins setzen

28 KAPITEL 2. ABBILDUNGEN

100 CONTINUE

C

N=0 ! Anzahl der getroffenen Kaestchen ermitteln

DO 110 I=1,ID

DO 110 J=1,ID

N=N+IBOX(I,J)

110 CONTINUE

WRITE(6,*) N

XP(L)=LOG(1./XL) ! LOG-LOG-Kurve

YP(L)=LOG(FLOAT(N))

10 CONTINUE

CALL PGBEGIN(0,’/xwin’,1,1) ! Kurve zeichnen

CALL PGPAP(10.,1.)

CALL PGENV(XP(1),XP(10),YP(1),YP(10),0,1)

CALL PGLINE(10,XP,YP)

CALL PGPT(10,XP,YP,26)

FDIM=(YP(8)-YP(3))/(XP(8)-XP(3)) ! Steigung berechnen

WRITE(6,*)’Und die fraktale Dimension ist:’,FDIM

CALL PGEND

END

Danach wird der Zusammenhang (2.16) doppelt logarithmisch aufgetragen (Abb.2.4)und die Steigung bestimmt, die gerade df entspricht.

df = − logM

logL(2.17)

Es ergibt sich df ≈ 1.585. Der Wert lasst sich durch ein anderes Verfahren auch ana-lytisch bestimmen (siehe z.B. [4]), man erhalt

df = log(3)/ log(2) = 1.5849625...

2.2.3 Von Farnen und anderen Gewachsen

Viele in der Natur vorkommende Strukturen besitzen eine fraktale Geometrie (wirverweisen auf das Buch von B. Mandelbrot, Die fraktale Geometrie der Natur). Derenglische Mathematiker Michael Barnsley schlug 1985 eine zufallsgesteuerte Abbildung

2.2. AFFINE ABBILDUNGEN UND FRAKTALE 29

Abbildung 2.4: Anzahl der Kastchen uber der Kastchenlange, doppelt logarithmisch.Im Idealfall erhalt man eine Gerade, deren Steigung der fraktalen Dimension entspricht.

zur Konstruktion von Farnen vor, die seither als Barnsley-Farne bezeichnet werden. DieAbbildung lautet

~qn+1 = Li ~qn + ~ai, ~q0 = (0.5, 0) (2.18)

und

L1 =

(0 00 0.27

)

, L2 =

(−0.139 0.2630.246 0.224

)

,

L3 =

(0.17 −0.2150.222 0.176

)

, L4 =

(0.781 0.034−0.032 0.739

)

(2.19)

sowie

~a1 =

(0.5

0

)

, ~a2 =

(0.57

−0.036

)

, ~a3 =

(0.408

0.0893

)

, ~a4 =

(0.1075

0.27

)

.

Die Auswahl von i erfolgt jetzt nicht mehr mit gleicher Verteilung, sondern nach derRegel

i = (1, 2, 3, 4), mit P (i) = (0.02, 0.15, 0.13, 0.7) ,

wobei P (i) die Wahrscheinlichkeit angibt, i zu ziehen.

Das Ergebnis nach 30000 Iterationen zeigt Abb.2.5

Eine andere Iterationsvorschrift liefert einen Baum, Abb.2.6. Hier wurde

L1 =

(0.05 00 0.6

)

, L2 =

(0.05 00 −0.5

)

, L3 =

(0.46 −0.150.39 0.38

)

,

L4 =

(0.47 −0.150.17 0.42

)

, L5 =

(0.43 0.28−0.25 0.45

)

, L6 =

(0.42 0.26−0.35 0.31

)

,(2.20)

30 KAPITEL 2. ABBILDUNGEN

Abbildung 2.5: Ein Barnsley-Farn nach (2.19).

und

~a1 =

(0

0

)

, ~a2 =

(0

1

)

, ~a3 =

(0

0.6

)

, ~a4 =

(0

1.1

)

, ~a5 =

(0

1

)

, ~a6 =

(0

0.7

)

verwendet. Die Wahrscheinlichkeiten sind jetzt

P (i) = (0.1, 0.1, 0.2, 0.2, 0.2, 0.2) .

2.2.4 Aufgaben

1. Berechnen Sie (mit Bleistift) den Kommutator [LD, LS].

2. Programmieren Sie Farn und Baum nach (2.19), bzw. (2.20). Spielen Sie mit denFarben (verschiedene Farben fur verschiedene i). Andern Sie die Wahrscheinlich-keiten.

3. Berechnen Sie die fraktalen Dimensionen von Farn und Baum.

2.3 Neuronale Netze

Etwa ab 1990 wurde die Disziplin der Neuroinformatik ins Leben gerufen, die Berei-che aus verschiedenen Gebieten wie Physik, Mathematik, Chemie, Medizin umfasstund deren Ziel es ist, die Funktionsweise des Gehirns zu erforschen und zu verste-hen. Ein Ansatz verfolgt dabei die Modellierung biologischer Intelligenz (Gedachtnis,Lernprozesse, logische Verknupfungen) durch neuronale Netze. Wir konnen das The-ma hier naturlich nur anreisen und werden zwei Beispiele ausfuhrlicher behandeln, dasPerzeptron und die selbstorganisierten Karten von Kohonen. fur weitere Details undVertiefung verweisen wir auf das Buch von Ritter et al. [8].

2.3. NEURONALE NETZE 31

Abbildung 2.6: Ein fraktaler Baum, erzeugt mit (2.20).

2.3.1 Perzeptron

Das menschliche Gehirn besteht aus ca 100 Milliarden Nervenzellen (Neuronen), dieuber 1014 Kontaktstellen (Synapsen) miteinander verbunden sind. Die Verbindungen

32 KAPITEL 2. ABBILDUNGEN

SS S S S

S

4 521 3

o

w w1 5

Eingabeschicht

Ausgabeneuron

dynamische Verarbeitungsschicht

Abbildung 2.7: Perzeptron mit N = 5 Eingabeneuronen.

sind dynamisch, d.h. sie konnen ja nach Anforderungen verstarkt oder abgebaut wer-den (Lernen). Als stark vereinfachtes Modell kann das Perzeptron aufgefasst werden.Es verfugt nur uber N Eingabeneuronen Sj die nicht untereinander verbunden sind,eine Verarbeitungsschicht beschrieben durch die synaptischen Gewichte wj, sowie einAusgabeneuron (Abb.2.7). Jedes Neuron soll nur zwei Zustande besitzen, namlich aktiv(Sj = 1) und ruhend (Sj = −1). Die Kopplung der Eingabeschicht an das Ausgabe-neuron wird durch den einfachen Zusammenhang

So = sign

(N∑

j

wj Sj

)

(2.21)

beschrieben, wobei

sign(x) =

1 fur x ≥ 0−1 fur x < 0

die (leich modifizierte) Signumfunktion darstellt. Die Starke der Verbindungen wirddurch die Werte von wj beschrieben, welche hemmend wj < 0 oder erregend (wj > 0)sein konnen und sich im Laufe des Lernprozesses verandern.

Lernregel

Was uberhaupt heißt nun Lernprozess? ein neuronales Netz wird nicht programmiertund enthalt keine vorgegebenen Regeln oder Verschaltungen. Man bietet im Beispielean, hier eine bestimmte Anzahl (M) Ein/Ausgabepaare

(

x(n)j , y(n)

)

, n = 1...M . (2.22)

2.3. NEURONALE NETZE 33

Das Netz lernt nun durch dynamische Veranderung der synaptischen Starken wi, d.h.Gl. (2.21) soll durch moglichst viele (im Idealfall alle) Paare (2.22) erfullt werden:

y(n)!= sign

(N∑

j

wj x(n)j

)

. (2.23)

Im Jahr 1949 stellte Donald O. Hebb (1904-1985) die Theorie auf, dass synaptische Ver-bindungen sich an die Aktivitat ihrer jeweiligen Ein- und Ausgangsneuronen anpassen(Hebbsche Lernregel). Bezeichnet ∆wi die Anderung von wi bei einem Lernschritt, solasst sich die Hebbsche Regel als

∆wj =1

Ny(n) x

(n)j (2.24)

formulieren. Soll nur ein Paar (M = 1) gelernt werden und setzt man am Anfang allewj = 0, so gilt nach einem Lernschritt wj =

1Ny xj und, eingesetzt in (2.23)

y = sign

(

y1

N

N∑

j

x2j

)

= sign(y) ,

was fur alle y ǫ (1,−1) erfullt ist. Soll das Netz aber mehrere Paare lernen, so mussman die Regel (2.24) leicht verandern: Jedes Paar soll nur dann die Verbindungenverandern, wenn es noch nicht richtig gelernt wurde (Rosenblatt-Regel, nach FrankRosenblatt (1928-1971)):

∆wj =

1

Ny(n) x

(n)j wenn y(n)

(N∑

j

wj x(n)j

)

≤ 0

0 sonst

. (2.25)

Dadurch stoppt der Algorithmus, wenn alle Muster richtig gelernt sind.

Zeitreihenanalyse

Als Anwendung verwenden wir das Perzeptron zur Zeitreihenanalyse. Die Struktureiner gegebenen Zeitreihe

F = (1,−1,−1, 1, 1,−1,−1....)

soll gelernt werden, indem man als Eingangsmuster ein Fenster aus N Bits aus Feingibt:

x(n)j = Fj+n, j = 1..N .

Der Ausgabewert y(n) soll dann dem nachsten Element (Vorhersage) aus der Reihe

y(n) = FN+n+1 = sign

(N∑

j

wj x(n)j

)

34 KAPITEL 2. ABBILDUNGEN

entsprechen. Gibt man z.B. die periodische Reihe

F = (1,−1, 1,−1, 1,−1...)

ein, so lernt das Perzeptron die Sequenz nach wenigen Schritten und liefert richtigeVorhersagen. Andert man die Folge auf

F = (1, 1, 1,−1, 1, 1, 1,−1, 1, 1, 1,−1, ..)

so wird auch diese schnell erlernt und richtige Vorhersagen geliefert.

Wir schließen diesen Abschnitt mit einem einfachen Programm ab. Anstatt (1,-1)lauten die Eingaben hier (1,0) (einfacher zu tippen), 0 wird in -1 umgesetzt.

PROGRAM PERZEPTRON

PARAMETER (N=10) ! Anzahl der Eingabe-Neuronen

C

DIMENSION IS(N),S(N)

C

DATA IS /N*1/ ! alle mit IS=1 vorbelegen

ITR=0. ! Anzahl der richtigen Vorhersagen (Treffer)

1 CONTINUE

M=M+1

WRITE(6,*) ’Eingabe (0/1)?’

READ(5,*) IN

IF(IN.LT.0.OR.IN.GT.1) GOTO 1 ! falsche Eingabe

IF(IN.EQ.0) K=-1 ! 0 entspricht -1

IF(IN.EQ.1) K=1

C Vorhersage

X=0.

DO 10 I=1,N

X=X+S(I)*FLOAT(IS(I))

10 CONTINUE

IF(X.GT.0.) THEN

IV=1 ! IV = Vorhersage fuer naechste Eingabe

ELSE

IV=0

ENDIF

C Learning

IF(X*FLOAT(K).LE.0.) THEN ! Rosenblatt-Regel

DO 20 I=1,N

S(I)=S(I)+FLOAT(K*IS(I))/FLOAT(N) ! Synapsen aendern (falsche Vorhers.)

20 CONTINUE

ELSE

2.3. NEURONALE NETZE 35

ITR=ITR+1 ! Trefferanzahl +1

ENDIF

WRITE(6,*) ’Vorhersage, Erfolgsquote:’,IV,FLOAT(ITR)/FLOAT(M)

C

DO 30 I=N-1,1,-1 ! Fenster eins nach rechts schieben

IS(I+1)=IS(I)

30 CONTINUE

IS(1)=K

GOTO 1

C

END

2.3.2 Selbstorganisierte Karten: das Modell von Kohonen

Weil es beim Perzeptron keine Wechselwirkung in der Verarbeitungsschicht zwischenden einzelnen Neuronen gibt, spielt deren raumliche Anordnung keine Rolle. Dies ist imGehirn anders: Ahnliche Reize werden in raumlich benachbarten Gebieten verarbeitet.Dies ist die grundlegende Idee der selbstorganisierten Karten, die von dem finnischenIngenieur Teuvo Kohonen 1982 entwickelt wurde.

Modell

I

J

Abbildung 2.8: Quadratische Verarbeitungsschicht beim Modell von Kohonen.

36 KAPITEL 2. ABBILDUNGEN

Meist geht man von Neuronen aus, die in einem zweidimensionalen Netzwerk ange-ordnet sind. Jedem Neuron lasst sich dann ein Ortsvektor

~r =

(I

J

)

zuordnen, mit (I, J) = (0, 0)...(M − 1, N − 1) (Abb.2.8). Außerdem soll wie beimPerzeptron jedes Neuron mit der Eingangsschicht uber die dynamischen synaptischenStarken

wℓ~r, ℓ = 1...L

verknupft sein (der obere Index ℓ nummeriert die Neuronen der Eingangsschicht). DieHebbsche Lernregel wird nun folgendermaßen modifiziert (Kohonen-Algorithmus):

1. Initialisierung. Wahle geeigneten Anfangswert fur die wℓ~r, z.B. zufallsverteilt

oder null.

2. Eingangsmuster. Das zu erlernende Signal vℓ wird aus einer Zufallsverteilungmit gegebener Wahrscheinlichkeit ausgewahlt.

3. BMU. Als BMU wird die “Best Matching Unit” bezeichnet, das ist dasjenigeNeuron, welches den kleinsten euklidischen Abstand zum Lernsignal hat. Wenn

L∑

(vℓ − wℓ~r ′)2 ≤

L∑

(vℓ − wℓ~r)

2 fur alle ~r (2.26)

gilt, befindet sich die BMU am Ort ~r ′, welcher auch als “Erregungszentrum”bezeichnet wird.

4. Dynamik. Im Adaptionschritt werden schließlich die synaptischen Starken gemaß

∆wℓ~r = ǫ h(d) (vℓ − wℓ

~r), mit d ≡ |~r − ~r ′| (2.27)

fur alle ~r verandert, was bis auf die zusatzliche Funktion h(d) der HebbschenRegel (2.24) entspricht. Bei h(d) andelt es sich um eine unimodale Funktion mitMaximum bei d = 0, z.B. einer Gauß-Kurve mit Breite σ

h(d) = exp(−d2/2σ2) . (2.28)

Dadurch wird erreicht, dass nicht nur die BMU angepasst wird, sondern auch dieNeuronen im raumlichen Umfeld des Erregungszentrums.

5. Verfeinerung. Um die raumliche Struktur zu verfeinern, wird σ nach jedemLernschritt verkleinert, d.h. es wird am Ende nur noch die BMU verandert, dasVerfahren stoppt.

6. Gehe nach 2.

2.3. NEURONALE NETZE 37

Farbkarten

Zur Verdeutlichung wollen wir eine Kohonenkarte fur Farben programmieren. Farbenlassen sich anhand ihrer Rot-, Grun und Blauanteile klassifizieren, dem sogenanntenRGB-Wert. So entspricht z.B. ein RGB-Wert von (1/0/0) der Farbe Rot, (0/1/0) Grun,(1/1/0) Gelb und (1/1/1) Weiß. Jedem Neuron werden also drei synaptische Starkenzugeordnet,

w(1)~r fur Rot, w

(2)~r fur Grun, w

(3)~r fur Blau,

wobei0 ≤ w

(ℓ)~r ≤ 1

gilt.

Ein Programm zum Umsetzen des Kohonen-Algorithmus’ (im Programm wird w(1)

das Feld R, w(2) das Feld G und w(3) das Feld B zugeordnet):

PROGRAM KOHONEN

PARAMETER (IDIM=15)

INTEGER IEN(IDIM,IDIM)

DIMENSION R(IDIM,IDIM),G(IDIM,IDIM),B(IDIM,IDIM)

ID2=IDIM**2 ! Anzahl der Neuronen

TMAX=3000. ! maximale Iterationszahl

SIG0=5. ! Sigma am Anfang

c grafik initialisieren

CALL PGBEGIN(0,’/xwin’,1,1)

CALL PGPAP(6.,1.)

CALL PGSWIN(0.,1.,0.,1.)

DO 30 I=1,ID2

J1=INT(FLOAT(I-1)/FLOAT(IDIM))+1

I1=I-(J1-1)*IDIM

RF=RAN() ! synaptische Staerken am Anfang zufaellig

GF=RAN()

BF=RAN()

CALL PGSCR(I+1, RF, GF, BF)

IEN(I1,J1)=I+1

R(I1,J1)=RF

G(I1,J1)=GF

B(I1,J1)=BF

30 CONTINUE

T=0.

38 KAPITEL 2. ABBILDUNGEN

C

50 CALL PGPIXL(IEN,IDIM,IDIM,1,IDIM,1,IDIM,0.,1.,0.,1.)

C zu erlernendes Muster aus zufaelligen RGB-Werten

50 RF=RAN()

GF=RAN()

BF=RAN()

C BMU suchen

DMIN=100000.

DO 100 I=1,IDIM

DO 100 J=1,IDIM

D=(RF-R(I,J))**2+(GF-G(I,J))**2+(BF-B(I,J))**2

IF(D.LT.DMIN) THEN

DMIN=D

IMIN=I

JMIN=J

ENDIF

100 CONTINUE ! BMU bei (IMIN,JMIN)

C

C Learning

SIG2=(SIG0*0.05**(T/TMAX))**2 Sigma^2 dynamisch (abnehmend)

EPS=0.03

DO 200 I=1,IDIM

DO 200 J=1,IDIM

C

R2=(FLOAT(I-IMIN)**2+FLOAT(J-JMIN)**2)/2./SIG2 ! Gauss-Funktion

H=EXP(-R2)

R(I,J)=R(I,J)+EPS*H*(RF-R(I,J)) ! Lernen

G(I,J)=G(I,J)+EPS*H*(GF-G(I,J))

B(I,J)=B(I,J)+EPS*H*(BF-B(I,J))

200 CONTINUE

C

C Farben aendern (zum plotten)

DO 300 I=1,ID2

J1=INT(FLOAT(I-1)/FLOAT(IDIM))+1

I1=I-(J1-1)*IDIM

CALL PGSCR(I+1,R(I1,J1),G(I1,J1),B(I1,J1))

300 CONTINUE

C

T=T+1.

IF(T.LT.TMAX) GOTO 50

CALL PGEND

END

2.3. NEURONALE NETZE 39

Abb.2.9 zeigt die Farbkarten bestehend aus einem Feld aus 15 × 15 Neuronen,nachdem 100, 500, bzw. 3000 zufallige RGB-Muster gelernt wurden. Fur die Anderungvon σ wurde die Formel

σ = σ0 · (0.05)t/tmax , σ0 = 5

verwendet sowie ǫ = 0.03. Man sieht, wie das am Anfang zufallige Muster sich schnellso organisiert, dass ahnliche Farben an benachbarten Orten liegen.

Abbildung 2.9: Entstehen einer Farbkarte aus 15 × 15 Neuronen mit dem Kohonen-Algorithmus. Links oben: Anfangszustand, rechts oben nach t = 100 erlernten Zufalls-werten, links unten nach t = 500 und rechts unten nach t = tmax = 3000.

Problem des Handlungsreisenden

Wir wollen jetzt eine eindimensional angeordnete Neuronenreihe aus N Neuronen un-tersuchen, also eine Kette. Jedes Neuron der Kette soll einen zweidimensionalen Vektor

~wi =

(xi

yi

)

tragen, welcher auf einen Punkt im zweidimensionalen Ortsraum (z.B. einer Landkarte)zeigt. Durchlauft man die Neuronen der Reihe nach, so bilden die aufeinander folgenden

40 KAPITEL 2. ABBILDUNGEN

Orte (xi, yi) einen Weg. Wenden wir jetzt den Kohonen-Algorithmus an und bietenals Lernsignale bestimmte vorgegebene Punkte (Orte) auf der Landkarte an, so wirddieser Weg an die Punkte angepasst werden, was uns sofort auf das “Problem desHandlungsreisenden” (englisch: Traveling Salesman Problem, TSP) fuhrt.

Das TSP besteht darin, K vorgegebene Orte durch die kurzeste geschlossene Routezu verbinden, und zwar so, dass jeder Ort genau einmal durchlaufen wird. Wie mansich uberlegen kann, gibt es 1

2(K−1)! geschlossene Wege, die diese Bedingung erfullen.

Durch Austesten konnte man das Minimum finden. Mit großerem K steigt der Rechen-aufwand jedoch exponentiell (sogenanntes NP -hartes Problem), sodass sich bereits furrelativ kleines zweistelliges K auch mit den schnellsten Rechnern so keine Losung mehrfinden lasst.

Um den Kohonen-Algorithmus zur naherungsweisen Losung des TSP zu nutzen,wahlt man zunachst eine vorgegebene Anzahl von Ortschaften (Abb.2.10), z.B. 31großere Stadte in Deutschland. Dann verwendet man mit gleicher Wahrscheinlichkeitpro Lernschritt einen der Orte als Eingangssignal und passt die synaptischen Verbin-dungen entsprechend (2.27) an. Abb.2.10 zeigt den Zustand des Netzes nach 20, 80und 2000 Lernschritten. Nach 2000 Schritten werden alle Orte durchlaufen. Allerdingshangt der Weg und damit auch seine Lange von den Anfangswerten (Initialisierungs-schritt) der ~wi ab (vergleiche Abb.2.11 und Abb.2.12). Fur alle drei Serien lagen die ~wi

auf einem Kreis um den Mittelpunkt der Einheitsquadrate, jedoch mit verschiedenenRadien R.

Als Parameter fur den Lernschritt wurde ǫ = 0.8 sowie

σ = σ0 · (0.02)t/tmax , σ0 = 2, tmax = 4000

vewendet.

Aus den Abbildungen wird klar, dass man fur verschiedene Anfangswerte verschie-dene Wege und Weglangen bekommt. Da es aber nur eine Realisierung geben kanndie zum kurzesten Weg fuhrt, kann es sich bei den gezeigten Wegen nur um Nahe-rungslosungen handeln.

2.3.3 Aufgaben

1. Andern Sie bei der Farbkarte die Wahrscheinlichkeitsverteilung fur die Lernsi-gnale.Hinweis: Wenn RAN() eine Gleichverteilung in [0,1] liefert, so wird nach demzentralen Grenzwertsatz

x =N∑

i

(

RAN()− 1

2

)

fur großere N mehr und mehr zur Gauß-verteilten Variablen im Bereich −N/2 ≤x ≤ N/2 und mit Mittelwert < x >= 0.

2.3. NEURONALE NETZE 41

Abbildung 2.10: Naherungslosung des TSP durch eine Kohonen-Karte. Es sollen vor-gegebene Stadte der Bundesrepublik auf einer moglichst kurzen Rundreise durchlaufenwerden. Gezeigt ist die Situation am Anfang, nach 20 Lernschritten (rechts oben), nach80 (links unten) und 2000 (rechts unten). Anfangsbedingung war ein Kreis mit RadiusR = 0.5 (links oben), die Streckenlange nach 2000 Lernschritten betragt SE = 4.122.

2. Losen Sie das TSP furK Orte undN Neuronen mit Hilfe des Kohonen-Algorithmus.Sie konnen die Koordinaten der Orte zufallig wahlen.

42 KAPITEL 2. ABBILDUNGEN

Abbildung 2.11: Dasselbe wie Abb.2.10, aber als Anfangsbedingung ein Kreis mit R =0.3. Am Schluss ergibt sich ein etwas anderer Weg mit einer kurzeren Strecke SE =4.081.

2.3. NEURONALE NETZE 43

Abbildung 2.12: Wieder eine andere Losung fur R = 0.15, diesmal mit SE = 4.221.

44 KAPITEL 2. ABBILDUNGEN

Kapitel 3

Lineare Gleichungssysteme undMatrizen

In diesem Kapitel wollen wir Methoden zur Losung linearer homogoner

A · ~x = 0 (3.1)

und inhomogenerA · ~x = ~b (3.2)

Gleichungssysteme angeben, wobei ~x, ~b N -komponentige Vektoren im Raum RN undA eine N ×N Matrix bezeichnen.

Es folgen einige Definitionen und Eigenschaften von Matrizen.

3.1 Reelle Matrizen

Sei A eine reelle N ×N Matrix, Aij ǫR.

3.1.1 Eigenwerte und Eigenvektoren

Jeder Vektor ~v aus RN , fur den gilt

A · ~v = λ~v mit vi, λ ǫ C (3.3)

heißt Eigenvektor von A zum Eigenwert λ.

3.1.2 Charakteristisches Polynom

Das Polynom N -ten Grades

P (λ) = det |A− λ 1| = (λ1 − λ)(λ2 − λ)...(λN − λ) (3.4)

45

46 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

heißt charakteristisches Polynom von A. SeineN im Allgemeinen komplexen Nullstellenλi sind die Eigenwerte von A und bilden das Spekrum von A.

Mehrfache Nullstellen: sei λi ki-fache Nullstelle von P , also

P (λ) = (λ1 − λ)k1(λ2 − λ)k2 ...(λs − λ)ks ,

so besitzt der Eigenwert λi die algebraische Vielfachheit ki.

3.1.3 Bezeichnungen

Die transponierte Matrix AT erhalt man durch Vertauschen von Zeilen und Spaltenvon A:

ATij = Aji . (3.5)

Die inverse Matrix A−1 ist definiert als

A−1 · A = A · A−1 = 1 . (3.6)

Man erhalt sie durch Losen des linearen, inhomogenen Gleichungssystems (3.6), inKomponenten:

N∑

j

AijA−1jk = δik . (3.7)

Fur symmetrische Matrizen gilt A = AT .

Fur orthogonale Matrizen gilt A−1 = AT . Dann sind wegen (3.7) alle Spalten sowiealle Zeilen jeweils paarweise orthogonal.

Fur normale Matrizen gilt A ·AT = AT ·A. Symmetrische und orthogonale Matrizensind auch normal.

3.1.4 Normale Matrizen

Sei A eine normale Matrix. Dann existiert eine orthogonale Matrix T so, dass

T−1 · A · T = B , (3.8)

wobei B Diagonalform besitzt, Bij = biδij. A und B heißen ahnlich und haben dasselbe charakteristische Polynom und demnach auch dasselbe Spektrum λi = bi. DieEigenvektoren von A sind paarweise orthogonal und bilden die Spalten der Transfor-mationsmatrix T .

3.2. KOMPLEXE MATRIZEN 47

Symmetrische Matrizen

Fur jede symmetrische N ×N Matrix gilt:

1. Alle N Eigenwerte und Eigenvektoren sind reell.

2. Eigenvektoren zu verschiedenen Eigenwerten sind orthogonal.

3. Zum Eigenwert der algebraischen Vielfachheit k (k-fache Entartung) gehoren klinear unabhangige Eigenvektoren, die sich durch ein Schmidtsches Verfahrenorthogonalisieren lassen.

4. Aus 2. und 3. folgt: Die N Eigenvektoren bilden ein vollstandiges Orthogonalsy-stem (VONS) in RN , d.h. sie spannen den gesamten RN auf.

Orthogonale Matrizen

Das Spektrum einer orthogonalen Matrix liegt auf dem Einheitskreis in der komplexenEbene:

|λj| = 1, λj ǫ Coder

λj = exp(iϕj), ϕj ǫR .

Beispiel: Die Drehmatrix in 2 Dimensionen

D =

(cos θ − sin θsin θ cos θ

)

besitzt das charakteristische Polynom

(cosθ − λ)2 + sin2 θ = 0

und die Eigenwerteλ12 = exp(±iθ) .

3.2 Komplexe Matrizen

Sei A eine komplexe N ×N Matrix, Aij ǫ C.

3.2.1 Bezeichungen

Die adjungierte Matrix A+ erhalt man durch Vertauschen und Komplex-Konjugierenvon Spalten und Zeilen

ATij = A∗

ji . (3.9)

48 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

Fur die inverse Matrix A−1 gilt (3.6) und (3.7) unverandert.

Spezielle Matrizen:

Die selbstadjungierte Matrix mit A = A+. Selbstadjungierte Matrizen werden auchals hermitisch bezeichnet.

Die unitare Matrix mit A−1 = A+.

Die normale Matrix mit A · A+ = A+ · A.

Selbstadjungierte und unitare Matrizen sind auch normal.

3.2.2 Die Jordansche Normalform

Satz: Jede beliebige (komplexe oder reelle) N ×N Matrix A kann durch eine invertier-bare Matrix C (lineare Transformation) auf Jordansche Normalform gebracht werden:

C−1 · A · C = J =

J1(λ1) 0 0 0 ...0 J2(λ2) 0 0 ...0 0 J3(λ3) 0 .......0 ... Jm(λM)

(3.10)

mit den Matrizen (Jordankastchen)

J i(λi) = λi,

(λi 10 λi

)

,

λi 1 00 λi 10 0 λi

, etc. (3.11)

der Lange

1 2 3 etc.

J i(λi) hat den einzigen (algebraisch 1,2,3,...-fachen) Eigenwert λi.

Die geometrische Vielfachheit eines Eigenwertes λi ist gleich der Anzahl der linearunabhangigen Eigenvektoren zu λi.

Geometrische Vielfachheit = Anzahl der Jordankastchen mit λi in J .

Speziell fur normale Matrizen gilt:

– Algebraische Vielfachheit = Geometrische Vielfachheit

– alle Jordankastchen haben die Lange 1

– normale Matrizen sind immer diagonalisierbar

Beispiel:

3.3. INHOMOGENE LINEARE GLEICHUNGSSYSTEME 49

Die Matrix

J =

λ1 1 0 00 λ1 0 00 0 λ1 00 0 0 λ2

besitzt bereits Jordansche Normalform und hat das charakteristische Polynom

P (λ) = (λ1 − λ)3(λ2 − λ) .

Es ergibt sich demnach fur die Eigenwerte

λ1 λ2

algebraische Vielfachheit 3 1geometrische Vielfachheit 2 1

D.h. J hat nur drei Eigenvektoren, zwei zu λ1 und einen zu λ2. Die Eigenvektorenbilden daher kein VONS.

3.3 Inhomogene lineare Gleichungssysteme

Das SystemA · ~x = ~b (3.12)

besitzt dann eine eindeutige Losung, wenn die inverse Matrix A−1 existiert, d.h. wenndetA 6= 0:

~x = A−1 ·~b . (3.13)

Numerisch muss dann eine Matrix invertiert werden, was durch Standard-Routinen(LAPACK) erreicht werden kann. Je nach Form von A kommen verschiedene Biblio-theksroutinen in Frage (Tabelle 3.1), eine Dokumentation findet man z.B. in

http://www.netlib.org/lapack/explore-html/files.html

Die verschiedenen Namen der Routinen werden aus ihren jeweiligen Funktionen,Datentypen, etc. abgeleitet. Eine Beschreibung findet man in

http://www.netlib.org/lapack/individualroutines.html

Hier ein Auszug im Original:

Obtaining individual routines in LAPACK

50 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

------------------------------------------------------------------------

*LAPACK, Version 3.1.0*

The *naming scheme* of each *LAPACK* routine is a coded specification of

its function (within the very tight limits of standard Fortran 77

6-character names). All driver and computational routines have names of

the form *XYYZZZ*, where for some driver routines the 6th character is

blank.

The first letter, *X*, indicates the data type as follows:

S REAL

D DOUBLE PRECISION

C COMPLEX

Z COMPLEX*16 or DOUBLE COMPLEX

WARNING: for the new routines from LAPACK 3.1.0 using iterative

refinement method: DSGESV, ZCDESV

the two first letters represent the precision used:

DS: Data type in double but solving problem using single precision

ZC: Data type in complex*16 but solving problem using complex precision

The next two letters, *YY*, indicate the type of matrix (or of the most

significant matrix). Most of these two-letter codes apply to both real

and complex matrices; a few apply specifically to one or the other.

BD bidiagonal

DI diagonal

GB general band

GE general (i.e., unsymmetric, in some cases rectangular)

GG general matrices, generalized problem (i.e., a pair of general

matrices)

GT general tridiagonal

HB (complex) Hermitian band

HE (complex) Hermitian

HG upper Hessenberg matrix, generalized problem (i.e a Hessenberg

and a triangular matrix)

HP (complex) Hermitian, packed storage

HS upper Hessenberg

OP (real) orthogonal, packed storage

OR (real) orthogonal

PB symmetric or Hermitian positive definite band

PO symmetric or Hermitian positive definite

PP symmetric or Hermitian positive definite, packed storage

PT symmetric or Hermitian positive definite tridiagonal

SB (real) symmetric band

3.3. INHOMOGENE LINEARE GLEICHUNGSSYSTEME 51

SP symmetric, packed storage

ST (real) symmetric tridiagonal

SY symmetric

TB triangular band

TG triangular matrices, generalized problem (i.e., a pair of

triangular matrices)

TP triangular, packed storage

TR triangular (or in some cases quasi-triangular)

TZ trapezoidal

UN (complex) unitary

UP (complex) unitary, packed storage

The last three letters *ZZZ* indicate the computation performed. For

example, SGEBRD is a single precision routine that performs a bidiagonal

reduction (BRD) of a real general matrix. Their meanings are fully

explained in the LAPACK Users’ Guide

------------------------------------------------------------------------

Die Matrix A wird dabei nicht vollstandig invertiert, es genugt, sie auf Dreiecksformzu transformieren (Gaußsches Eliminationsverfahren, fur Details siehe z.B. [9]). Durchgeeignetes Vertauschen und Bilden von Linearkombinationen von (3.12) erhalt manschließlich anstatt (3.12)

A′ · ~x = ~b ′ (3.14)

mit

A′ =

A′11 . . . A1N

A′22 . . .

A′33 . .

.0 A′

NN

.

Jetzt lasst sich (3.14) leicht losen, man erhalt (wenn A′ii 6= q fur alle i)

xi =b′i −

∑Nk=i+1 A

′ikxk

A′ii

, (3.15)

wobei i = N, N − 1, ...1 ruckwarts durchlaufen wird.

3.3.1 LR-Zerlegung

Eine Vorgehensweise zum direkten Losen eines inhomogenen Systems besteht in derLR-Zerlegung (auch LU-Zerlegung, engl.: LU-decompositon). Dabei wird die Matrix Aals Produkt zweier Matrizen

L ·R = A (3.16)

geschrieben, wobei es sich bei L um eine linke (lower), bei R um eine rechte (upper)Dreiecksmatrix handelt. In Komponenten am Beispiel einer 4x4 Matrix hatten wir also

52 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

Tabelle 3.1: Verschiedene LAPACK-Routinen zur Berechnung von (3.12). Quelle:http://www.netlib.org/lapack/lug/node26.html

L11 0 0 0L21 L22 0 0L31 L32 L33 0L41 L42 L43 L44

·

R11 R12 R13 R14

0 R22 R23 R24

0 0 R33 R34

0 0 0 R44

=

A11 A12 A13 A14

A21 A22 A23 A24

A31 A32 A33 A34

A41 A42 A43 A44

(3.17)Dann lasst sich (3.12) als

A · ~x = (L ·R) · ~x = L · (R · ~x) = ~b (3.18)

schreiben. Wir fuhren den Vektor~y = R · ~x (3.19)

ein und losen zuerstL · ~y = ~b , (3.20)

3.3. INHOMOGENE LINEARE GLEICHUNGSSYSTEME 53

was wegen der unteren Dreiecksform von L sehr einfach geht:

yi =1

Lii

[

bi −i−1∑

j=1

Lij yj

]

, (3.21)

Hier gilt die Regel, dass die Summe rechts fur i = 1 null ist und auf der rechten Seiteauf die in den vorigen Schritten bereits berechneten yj zugegriffen wird.

Als zweiter Schritt wirdR · ~x = ~y (3.22)

gelost, was dir Form (3.14) besitzt.

Die eigentliche Aufgabe besteht also darin, die Zerlegung (3.16) und die MatrizenL und R zu finden. Dies geschieht durch Losen des inhomogenen Systems

K∑

k=1

Lik Rkj = Aij , i = 1..N, j = 1..N (3.23)

wobei wegen der speziellen Struktur von L und R die Summe nur bis

K = Min(i, j)

lauft. Dies sind aber N2 Gleichungen fur 2 × N2 +N

2= N2 + N Unbekannte. Das

System ist unterbestimmt (die LR-Zerlegung ist daher nicht eindeutig) und wir konnenz.B. die N Diagonalelemente von L gleich Eins setzen:

Lii = 1 , i = 1..N . (3.24)

Eine direkte Losung von (3.23) wird durch den Crout-Algorithmus [5] erreicht:

1. Setze j = 1.

2. Berechne die j Koeffizienten

Rij = Aij −i−1∑

k=1

Lik Rkj , i = 1..j (3.25)

3. Berechne die N − j Koeffizienten

Lij =1

Rjj

[

Aij −j−1∑

k=1

Lik Rkj

]

, i = j + 1..N (3.26)

4. j := j + 1. Wenn j ≤ N gehe nach 2.

Wie man sich durch Ausprobieren uberzeugt, werden bei jedem Schritt rechts nurGroßen verwendet, die vorher ausgerechnet wurden.

54 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

Pivoting

In (3.26) findet eine Division statt. Problematisch wird es, wenn Rjj = 0. Man kann so-gar zeigen, dass der Crout Algorithmus (andere Eliminationsmethoden ubrigens eben-falls) instabil ist, wenn Rjj klein im Vergleich zu den anderen Matrixelementen wird.Ein Ausweg bietet das Umordnen des Gleichungsystems (3.12). Man kann hier beliebigSpalten und Zeilen vertauschen (permutieren), muss dann aber die Elemente der Vekto-

ren ~x und ~b ebenfalls permutieren. Das Auffinden einer geigneten Permutation, welchezu einem großen Divisor (Pivotelement) in (3.26) fuhrt, nennt man “Pivotierung” oder“pivoting”. Man unterscheidet zwischen vollstandiger und partieller Pivotierung. Imersten Fall werden Reihen und Zeilen von A jeweils paarweise vetrauscht, im zweitennur die Zeilen.

Wie findet man das optimale Pivotelement? Die Wahl des jeweils betragsmaßiggroßten Elements fuhrt normalerweise zum Erfolg. Um die Elemente verschiedenerReihen zu vergleichen, muss aber die Matrix A zuerst skaliert werden. Man kann hierzudas großte Element jeder Zeile auf eins skalieren, d.h. man berechnet fur jede Zeile ieinen Skalierungsfaktor

s−1i = max

j|Aij|

und skaliert dannA′

ij = si Aij , b′i = si bi .

Das Programm LRZERL, frei nach Numerical Recipies [5], verwendet den Crout-Algorithmus mit impliziter Skalierung und partieller Pivotierung. Dabei wird nichtwirklich skaliert, der Skalierungsfaktor wird lediglich abgespeichert und bei der Pivo-tierung berucksichtigt.

Die Inputmatrix A wird durch die LR-Zerlegung in der Form

R11 R12 R13 R14

L21 R22 R23 R24

L31 L32 R33 R34

L41 L42 L43 R44

(3.27)

ersetzt, d.h. es wird kein zusatzlicher Speicherplatz fur L und R benotigt. Die Diago-nalelemente von L brauchen nicht gespeichert zu werden, da diese gleich Eins sind.

SUBROUTINE LRZERL(A,N,NP,INDX,D)

c

c uebernommen aus NUMERICAL RECIPIES

c

c A(NP,NP) [In/Out] Eingangsmatrix, wird durch die Routine durch diec L,R- Matrix gemaess (3.27) ersetzt. A wirdc durch Pivotierung zeilenweise permutiert, siehe INDX.

c

c N [In] Dimension der Matrix

3.3. INHOMOGENE LINEARE GLEICHUNGSSYSTEME 55

c

c NP [In] phys. Dimensionierung von A

c

c INDX(NP) [Out] Zeiger auf die Zeilen von A nach Permutierung

c

c D [Out] Paritaet des perm. Systems

c-----------------------------------------------------------------------

PARAMETER (NMAX=500,TINY=1.0e-20)

C Groesstes angenommenes N und kleine Zahl

DIMENSION INDX(N),A(NP,NP),VV(NMAX)

C VV speichert implizite Skalierung

D=1.

DO 12 I=1,N ! impliziteSkalierung, Maximumsuche

DO 11 J=1,N

IF (ABS(A(I,J)).GT.AAMAX) AAMAX=ABS(A(I,J))

11 CONTINUE

if (AAMAX.EQ.0.) stop ’singulaere Matrix in LRZERL’

C Alle Elememente einer Zeile null

VV(I)=1./AAMAX ! Skalierung

12 CONTINUE

DO 19 J=1,N ! Aeusserster Loop ueber Spalten, Schleife 2-4 im

! Crouts-Alg.

DO 14 I=1,j-1 ! Gl. (3.25) ausser fuer i = j.SUM=A(I,J)

DO 13 K=1,I-1

SUM=SUM-A(I,K)*A(K,J)

13 CONTINUE

A(I,J)=SUM

14 CONTINUE

AAMAX=0. ! Suche nach groesstem Pivotelement

DO 16 I=J,N ! Das ist i=j in (3.25) und i=j+1..N in (3.26).

SUM=A(I,J)

DO 15 K=1,J-1

SUM=SUM-A(I,K)*A(K,J)

15 CONTINUE

A(I,J)=SUM

DUM=VV(I)*ABS(SUM) ! lohnt sich pivoting?

IF(DUM.GE.AAMAX) THEN ! jawoll!

IMAX=I

AAMAX=DUM

56 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

ENDIF

16 CONTINUE

IF (J.NE.IMAX) THEN ! muessen zwei Reihen permutiert werden?

do 17 k=1,n ! ja

DUM=A(IMAX,K) ! tauschen

A(IMAX,K)=A(J,K)

A(J,K)=DUM

17 CONTINUE

D=-D ! Paritaetswechsel

VV(IMAX)=VV(J) ! Skalierung ebenfalls vertauschen

ENDIF

INDX(J)=IMAX ! Zeiger setzen

IF(A(J,J).EQ.0.) A(J,J)=TINY ! abfangen von Null im Pivotelement

c Trick, um trotzdem weiter zu machen, auch mit sing. Matrix.

c Man koennte hier auch stoppen, oder RETURN mit Fehler.

IF(J.NE.N) THEN ! alle Elemente werden durch Pivotel. dividiert

DUM=1./A(J,J)

DO 18 I=J+1,N

A(I,J)=A(I,J)*DUM

18 CONTINUE

ENDIF

19 CONTINUE ! naechste Spalte

RETURN

END

Bleiben noch die Rucksubstitutionen (3.20) und (3.22), die beide von der RoutineLRSOLV durchgefuhrt werden:

SUBROUTINE LRSOLV(A,N,NP,INDX,B)

c uebernommen aus NUMERICAL RECIPIES

c Loesst den Satz linearer Gleichungen A X = B.

c A(NP,NP) [In] Eingangsmatrix, LR-zerlegt durch LRZERL

c durch Pivotierung zeilenweise permutiert, siehe INDX.

c

c N [In] Dimension der Matrix

c

c NP [In] phys. Dimensionierung von A

c

3.3. INHOMOGENE LINEARE GLEICHUNGSSYSTEME 57

c INDX(NP) [In] Zeiger auf die Zeilen von A nach Permutierung

c

c B [In/Out] Beim Aufruf enthaelt B die Inhomog. b. Die Routine

c ersetzt b durch Loesungsvektor x

c-----------------------------------------------------------------------

DIMENSION INDX(N),A(NP,NP),B(N)

c

C Vorwaerts-Substitution nach Gl. (3.21)c

DO 12 I=1,N

LL=INDX(I)

SUM=B(LL)

B(LL)=B(I)

DO 11 J=1,I-1

SUM=SUM-A(I,J)*B(J)

11 CONTINUE

B(I)=SUM

12 CONTINUE

DO 14 I=N,1,-1 ! es folg die Rueckwaerts-S. nach (3.22)SUM=B(I)

DO 13 J=I+1,N

SUM=SUM-A(I,J)*B(J)

13 CONTINUE

B(I)=SUM/A(I,I) ! I-Komponente des Loesungsvektors X

14 CONTINUE

RETURN

END

Lineare Gleichungssysteme lassen sich also durch Hintereinanderausfuhren der bei-den Routinen LRZERL und LRSOLV losen.

Beispiel: Losen eines 3x3-Systems mit gegebenem A und ~b:

DIMENSION A(3,3),INDX(3),B(3)

C

A(1,1)=1. ! Setzen der Matrix

A(1,2)=2.

A(1,3)=3.

58 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

A(2,1)=1.

A(2,2)=4.

A(2,3)=1.

A(3,1)=0.

A(3,2)=2.

A(3,3)=5.

B(1)=1. ! setzen der rechten Seite (Inhomogenitaet)

B(2)=2.

B(3)=3.

CALL LRZERL(A,3,3,INDX,D) !LR-Zerlegung, danach in A

CALL LRSOLV(A,3,3,INDX,B) ! Ruecksubstitution

c X steht in B, ausschreiben:

WRITE(6,*) B

END

Will man das System (3.12) fur verschiedene Inhomogenitaten ~b losen, so genugt es,die LR-Zerlegung einmal zu machen (ein Aufruf von LRZERL) und danach LRSOLV

mit den verschiedenen ~b Vektoren aufzurufen. Fassen wir M Inhomogenitaten in derM ×N - Matrix B zusammen (die einzelnen Vektoren ~b sollen dabei die Spalten von Bbilden), so lassen sich die M zu losenden Systeme als

A ·X = B

zusammenfassen, wobei in den Spalten der M × N -Matrix X die einzelnen Losungs-vektoren ~x stehen.

Auf diese Weise lasst sich auch das Inverse von A finden. Man wahlt hierzu M = Nund fur B die Einsmatrix:

A ·X = 1 .

Dann entspricht X gerade A−1.

Wir geben ein Beispiel, bei dem das Inverse einer 3x3 Matrix berechnet wird. ZurProbe bilden wir A · A−1 = 1.

DIMENSION A(3,3),INDX(3),AIN(3,3),B(3,3)

C Die Inverse zu A soll gebildet werden:

A(1,1)=1.

A(1,2)=2.

A(1,3)=3.

A(2,1)=1.

A(2,2)=4.

3.3. INHOMOGENE LINEARE GLEICHUNGSSYSTEME 59

A(2,3)=1.

A(3,1)=0.

A(3,2)=2.

A(3,3)=5.

B=A ! A nach B kopieren, weil INVERS die urspr. Matrix ueberschreibt

CALL INVERS(B,3,3,AIN)

c

WRITE(6,*)’die inverse Matrix lautet:’

DO 10 I=1,3

WRITE(6,*) (AIN(I,J), J=1,3)

10 CONTINUE

C zur Kotrolle bilden wir das Produkt A*AIN

B=MATMUL(A,AIN)

WRITE(6,*)’die Matrix A*AIN lautet:’

DO 20 I=1,3

WRITE(6,*) (B(I,J), J=1,3)

20 CONTINUE

END

SUBROUTINE INVERS(A,N,NP,AIN)

C

c berechnet die Inverse zu A in AIN

c

c A(NP,NP) [In/Out] Input Matrix A.

c Achtung: wird durch LR-Matrix ueberschrieben

c AIN(N,N) [Out] das Inverse zu A, A^(-1)

c N [In] Rang von A

c NP [In] Dimensionierung von A, NP >=N

c

c

PARAMETER (NMAX=500) ! max. N

DIMENSION A(NP,NP),AIN(N,N),INDX(NMAX)

C

AIN=0.

DO 1 I=1,N ! Konstruktion der Eins-Matrix

AIN(I,I)=1.

1 CONTINUE

C

CALL LRZERL(A,N,NP,INDX,D) ! LR-Zerlegung von A

C

60 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

DO 10 I=1,N ! Loesen der N Ruecksubstitutionen

CALL LRSOLV(A,N,NP,INDX,AIN(1,I))

10 CONTINUE

C

RETURN

END

3.3.2 Thomas-Algorithmus

Hat die Matrix A eine bestimmte Struktur, so lasst sich das Verfahren teilweise erheb-lich vereinfachen. Wir zeigen dies am Beispiel einer Tridiagonalmatrix und untersuchendas System

A · ~x = ~y ,

wobei A gegeben sei als

A =

b1 c1 0a2 b2 c2

. . .ai bi ci

. . .0 aN bN

. (3.28)

Zuerst wird (3.28) auf Dreiecksform gebracht

A′ =

1 c′1 01 c′2

. .1 c′i

. .0 1

. (3.29)

was mit Hilfe der Substitutionen

c′1 =c1b1, y′1 =

y1b1

(3.30)

sowie

c′i =ci

bi − aic′i−1

, y′i =yi − aiy

′i−1

bi − aic′i−1

, i = 2...N (3.31)

gelingt. Das GleichungssystemA′ ~x = ~y ′

lasst sich jetzt nach (3.15) leicht losen:

xN = y′N sowie xi = y′i − xi+1c′i, i = N − 1, ...1 . (3.32)

Die Vorschrift (3.30-3.32) wird als “Thomas-Algorithmus” bezeichnet. Sie lassen sichrelativ einfach auf Matrizen mit 5 oder 7 Nebendiagonalen erweitern.

3.3. INHOMOGENE LINEARE GLEICHUNGSSYSTEME 61

3.3.3 Beispiel: Methode der kleinsten Quadrate

Es soll eine Kurve gefunden werden, die moglichst nahe an einer vorgegebenen Mengevon Datenpunkten verlauft (Problem der Ausgleichsrechnung). Die Grundlagen derMethode wurden von Gauß ca. 1795 entwickelt.

Sei eine Menge von Datenpaaren

(xℓ, yℓ), ℓ = 1...m

gegeben. Gesucht ist eine Funktion y = f(x, ak), die den quadratischen Abstand

s2 =m∑

(yℓ − f(xℓ, ak))2

minimiert bezuglich der Parameter ak, k = 1..K. Daraus folgt das System von K (imAllgemeinen nichtlinearen) Gleichungen

∂ak′

m∑

(yℓ − f(xℓ, ak))2 = 0, k′ = 1...K (3.33)

zur Bestimmung der ak.

Wir beschranken uns auf Polynome vom Grad n:

f(x, ak) =n∑

k=0

akxk (3.34)

und erhalten aus (3.33) das lineare Gleichungssystem

n∑

k′=0

Akk′ ak′ = bk (3.35)

mit

Akk′ =m∑

xk+k′

ℓ , bk =m∑

yℓxkℓ .

Offensichtlich ist A eine symmetrische reelle Matrix, sodass wir die LAPACK-Routine DSYSV verwenden konnen. Als Beispiel nehmen wir m = 100 Punkte, dieentlang der Kurve

y(x) = sin(x) +x

5+ 1 + ξ, 0 ≤ x ≤ 4π

liegen, wobei ξ eine fluktuierende Große in [0,1] ist (Random-Aufruf).

Das Programm sieht so aus:

62 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

PROGRAM AUSGLEICH

IMPLICIT REAL*8 (A-H,O-Z) ! Doppelt genau wird empfohlen

PARAMETER (M=100, KMAX=51, PI=3.14159265) ! M Datenpunkte

C

DIMENSION A(KMAX,KMAX),X(M),Y(M),B(KMAX),IPIV(KMAX),WORK(1000),

* YP(M)

REAL*4 XS(M),YS(M),YPS(M)

C

CALL PGBEGIN(0,’/xwin’,1,1)

C CALL PGBEGIN(0,’/CPS’,1,1)

CALL PGPAP(6.,1.)

CALL PGENV(0.,13.,0.,5.,0,1) ! xy-Skala

ICOL=1

c Erzeugen der Datenpunkte

DX=4.*PI/FLOAT(M-1)

DO 10 I=1,M

X(I)=FLOAT(I-1)*DX

Y(I)=SIN(X(I))+0.2*X(I)+1.+RAN()

XS(I)=X(I)

YS(I)=Y(I)

10 CONTINUE

C

CALL PGPT(M,XS,YS,17)

11 WRITE(6,*) ’Welchen Grad (<=50)?’

READ(5,*,END=900) K

IF(K.LT.0.OR.K.GT.49) GOTO 11

K1=K+1

C Berechnen von A und B

DO 50 I=1,K1

B(I)=0.

DO 51 L=1,M

B(I)=B(I)+X(L)**(I-1)*Y(L)

51 CONTINUE

DO 50 J=1,K1

A(I,J)=0.

DO 52 L=1,M

A(I,J)=A(I,J)+X(L)**(I+J-2)

52 CONTINUE

50 CONTINUE

C LAPACK-Aufruf

CALL DSYSV(’U’,K1,1,A,KMAX,IPIV,B,KMAX,WORK,1000,INFO)

3.4. HOMOGENE LINEARE GLEICHUNGSSYSTEME 63

C

c angepasstes Polynom und Abstand berechnen

S=0. ! Abstand

DO 100 L=1,M

YP(L)=0.

DO 110 I=1,K1

YP(L)=YP(L)+B(I)*X(L)**(I-1)

110 CONTINUE

S=S+ABS(YP(L)-Y(L))

YPS(L)=YP(L)

100 CONTINUE

S=S/FLOAT(M)

WRITE(6,*) ’mittlerer Abstand:’,S

ICOL=ICOL+1

CALL PGSCI(ICOL)

CALL PGSLW(5) ! dicke Linien

CALL PLINE(M,XS,YPS)

GOTO 11

C

900 CALL PGEND

END

Die Abb.3.1 zeigt das Ergebnis fur verschiedene Polynome zusammen mit den Da-tenpunkten. Der mittlere Abstand

s =1

m

m∑

|yℓ − f(xℓ, ak)|

konvergiert schnell fur großer werdendes n.

3.4 Homogene lineare Gleichungssysteme

3.4.1 Eigenwertprobleme

Wir untersuchen jetzt homogone Gleichungen der Form (3.3)

B · ~x− λ~x = 0 (3.36)

welche mit B − λ 1 = A die Form (3.1) besitzen. Das System (3.36) hat nur dann einenichttriviale Losung, wenn die Determinante

det(B − λ 1) = 0

64 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

Abbildung 3.1: Ausgleichspolynome vom Grad (mittlerer Abstand in Klammern) n = 1(rot, s = 0.6034), n = 4 (grun, s = 0.6025), n = 10 (blau, s = 0.2676), n = 40 (hellblau,s = 0.2555).

verschwindet. Dies fuhrt nach Abschn.3.1.2 auf das charakeristische Polynom P (λ),dessen N Nullstellen den (nicht notwendig verschiedenen) Eigenwerten von B entspre-chen. Zu jedem Eigenwert λi gehort ein Eigenvektor ~vi sodass

B · ~vi = λi ~vi , i = 1...N (3.37)

wobei die Eigenvektoren nicht notwendig alle verschieden sein mussen (siehe Abschn.3.2.2).

3.4. HOMOGENE LINEARE GLEICHUNGSSYSTEME 65

3.4.2 Problemstellung

Die numerische Aufgabe besteht also darin, die Eigenwerte und Eigenvektoren einergegebenen Matrix zu finden. Nach Abschn.3.2.2 lasst sich jede Matrix auf JordanscheNormalform transformieren:

C−1 · B · C = J .

Da bei der Transformation das Spektrum nicht verandert wird, sind die Eigenwertevon A mit denen von J identisch und stehen in der Diagonalen:

λi = Jii .

Die Eigenwerte sind also bekannt, wenn man die Transformationsmatrix C gefundenhat. Um die Eigenvektoren von B zu finden, muss B diagonalisierbar sein, was der Fallfur normale Matrizen ist. D.h. es gibt eine Transformation C sodass

C−1 ·B · C = D

mit der Diagonalmatrix

Dij = λi δij .

Die gesuchten Eigenvektoren von B sind dann mit den Spalten der Matrix C identisch(Fur nicht-diagonalisierbare Matrizen gibt es spezielle Verfahren, auf die wir hier nichtweiter eingehen wollen).

Wie lasst sich die Transformationsmatrix C finden? Im Wesentlichen werden zweiunterschiedliche Verfahren angewandt, oft auch in Kombination. Wir wollen beide hierkurz erlautern, fur mehr Details siehe z.B. [10].

1. Einzeltransformationen

Die Idee besteht darin verschiedene Transformationsmatrizen P i zu finden, die be-stimmte “Aufgaben” erledigen, z.B. Nullsetzen bestimmter Elemente, ganzer Reihenoder Spalten, etc.. Man erhalt

B′ = P−1k ...P−1

2 P−11 B P 1 P 2....P k .

Die am Schluss resultierende Matrix B′ muss nicht unbedingt diagonal sein (bzw. Drei-ecksform aufweisen), sollte aber einfacher handhabbar sein als die Ausgangsmatrix.Diese kann dann durch Faktorisierung weiter diagonalisiert werden.

2. Faktorisierung

Die Matrix B soll sich in einen rechten Faktor FR und in einen linken Faktor FL als

B = FL · FR (3.38)

66 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

zerlegen lassen. Aus den beiden Faktoren lasst sich durch Vertauschen eine neue Matrix

B′ = FR · FL (3.39)

bilden. Andererseits folgt aus (3.38) nach Multiplikation mit F−1L

FR = F−1L ·B ,

was, in (3.39) eingesetzt,

B′ = F−1L ·B · FL (3.40)

ergibt. Also sind B und B′ ahnlich und haben dieselben Eigenwerte. Man konstruiertnun die Folge

B(n+1) = F−1nL ·B(n) · F nL = F nR · F nL (3.41)

mit B(0) = B und F nl, F nR als Faktoren von B(n). Man kann zeigen, dass diese B(n)

fuer n → ∞ gegen eine Dreiecksmatrix konvergiert, wenn die Faktorisierung (3.38)bestimmte Eigenschaften erfullt [10]. Dies wird im nachsten Abschnitt vertieft.

3.4.3 LR-Faktorisierung

Wir verwenden fur (3.38) die bereits in Abschn.3.3.1 ausfuhrlich vorgestellte LR-Zerlegung,

B = L ·R

nach (3.17). Die Iterationsvorschrift (3.41) lautet demnach

B(n+1) = L−1n ·B(n) · Ln = Rn · Ln . (3.42)

Ein Iterationsschritt sieht wie folgt aus:

1. Zerlege B in L und R

2. Bilde B′ = R · L

3. Setze B := B′

4. Wenn B noch nicht in Dreiecksform, gehe nach 1.

Bei jedem Schritt nahert sich B einer oberen Dreiecksmatrix. Hat B diese Form erreicht,so andert sich nichts mehr, d.h. jede obere Dreiecksmatrix ist Fixpunkt der Abbildung(3.41). Dies wird klar, wenn man sich uberlegt dass eine obere Dreiecksmatrix B intrivialer Weise in eine obere Dreieckmatrix R = B und die Eins-Matrix als “untereDreiecksmatrix” L faktorisiert. Dann ist aber LR = RL und B = B′.

Die folgenden Programmzeilen bilden einen Iterationsschritt zur Dreieckstransfor-mation von B:

3.4. HOMOGENE LINEARE GLEICHUNGSSYSTEME 67

DIMENSION B(N,N), BS(N,N) ....

1. CALL LRZERL(B,N,N,indx,d) ! LR-Zerlegung, siehe oben

2. CALL RL2BS(B,BS,N) ! berechnet das Produkt R L in BS

3. B=BS ! weist der Amtrix A die Matrix AS zu

Dann muss B auf obere Dreiecksform getestet werden. Man bildet

s =N∑

i=2

i−1∑

j=1

|Bij|

und testet

IF(S.GT.EPSILON) goto 1

mit einem kleinen EPSILON.

Das Unterprogramm RL2BS hat die Form

SUBROUTINE RL2BS(A,AS,N)

DIMENSION A(N,N),AS(N,N)

C

DO 10 I=1,N

DO 10 J=1,N

AS(I,J)=0.

DO 20 K=MAX(I,J),N

IF(K.NE.J) AS(I,J)=AS(I,J)+A(I,K)*A(K,J)

20 CONTINUE

IF(J.GE.I) AS(I,J)=AS(I,J)+A(I,J) ! aufpassen beim Diagonalelement L_ii

10 CONTINUE

C

RETURN

END

und setzt die Formel

A′ij =

N∑

k=1

RikLkj

um. (Beachte hierbei, wie L und R in A gespeichert sind, (3.27)).

68 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

3.4.4 QR-Faktorisierung

Nicht jede Matrix lasst sich LR-zerlegen. Dagegen gilt fur beliebige Matrizen die QR-Zerlegung

B = Q ·Rmit R als oberer Dreiecksmatrix und der orthogonalen Matrix Q. Anstatt (3.42) ergibtsich jetzt

B(n+1) = Q−1

n· B(n) ·Q

n= Rn ·Qn

. (3.43)

Es gelten die folgenden Aussagen (ohne Beweis, Details in [10]):

• Wenn alle Eigenwerte von B verschiedene Betrage haben, konvergiert B(n) furn → ∞ gegen eine (obere) Dreiecksmatrix. Die Eigenwerte stehen dann mitaufsteigendem Betrag in der Diagonalen.

• Haben k Eigenwerte den selben Betrag |λi|, i = 1...k, so konvergiert B(n) gegeneine (obere) Dreiecksmatrix mit Ausnahme einer diagonalen Blockmatrix derOrdnung k, deren Eigenwerte die λi sind.

3.4.5 Anwendung: lineare Federkette

y

y y

y

y

yy

0

1 2

3

N+1N

N−1

aa

Abbildung 3.2: Federkette der Lange L = a(N +1). Die Lange der Feder zwischen denzwei Massepunkten i und i+ 1 betragt

(yi − yi+1)2 + a2.

Wir untersuchen das Beispiel aus Abb.3.2. Die einzelnen Massepunkte (Masse m)sollen jeweils einen Freiheitsgrad besitzen, d.h. sie konnen sich nur in y Richtung be-wegen. Die potentielle Energie der Anordnung (Federenergie) lautet dann

V (y1...yN) =D

2

N∑

n=0

(yn − yn+1)2 + V0 , (3.44)

wobei wir fur die Federn die Ruhelange null annehmen und die Kette die Randbedin-gungen

y0 = yN+1 = 0

erfullen soll. Mit der Lagrange-Funktion

L =m

2

N∑

n=1

y2n − V (y1...yN)

3.4. HOMOGENE LINEARE GLEICHUNGSSYSTEME 69

folgen aus den Euler-Lagrange-Gleichungen die Bewegungsgleichungen

yn = −ω20 (2yn − yn+1 − yn−1) (3.45)

mit ω20 = D/m. Der Ansatz

yn(t) = vn exp(iωt)

fuhrt (3.45) in ein lineares homogenes System

2vn − vn+1 − vn−1 =ω2

ω20

vn (3.46)

uber, welches die Form (3.36) besitzt mit

λ =ω2

ω20

B =

2 −1 0−1 2 −1

. . .−1 2 −1

. . .0 −1 2

.

Abbildung 3.3: Konvergenz der Diagonalisierung durch LR-Zerlegung fur verschiedeneKettengroßen N .

Dieses Problem ist exakt losbar und besitzt die N verschiedenen Eigenwerte

λexj = 4 sin2

(jπ

2(N + 1)

)

= 4 sin2

(jπa

2L

)

. (3.47)

Wir wollen es zur Demonstration trozdem numerisch losen. Dazu verwenden wir das inAbschn.3.4.3 beschriebene Verfahren und lesen die Eigenwerte, diesmal in aufsteigenderReihenfolge, als Diagonalelemente von B(n) ab:

λ(n)i = B

(n)ii , i = 1...N . (3.48)

70 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

Wie schnell konvergiert das Verfahren gegen eine Dreiecksmatrix und damit das Spek-trum (3.48) gegen die exakten Werte (3.47)? Dazu berechnen wir den Abstand (mitt-lerer Fehler)

d(n) =1

N

N∑

i=1

∣∣∣λex

i − λ(n)i

∣∣∣

und zeichnen d uber n (Abb.3.3). Es zeigt sich, dass das Verfahren fur relativ kleineMatrizen schnell konvergiert, fur großere jedoch eher schlecht. Dies liegt daran, dassdie minimale Differenz zweier aufeinanderfolgender Eigenwerte

min|λi − λi+1| ∼1

N2

ist, d.h. fur großes N liegt Beinahe-Entartung vor. Auch steigt die Rechenzeit fur die injedem Iterationsschritt durchgefuhrte LR-Zerlegung ∼ n3 (bei voll besetzter Matrix).Das sowie die Einschrankung auf LR-zerlegbare Matrizen begrenzen den praktischenEinsatz.

Es empfiehlt sich im Fall der Matrizendiagonalisierung auf Bibliotheksroutinen wieLAPACK zuruckzugreifen. Hier werden spezielle Routinen fur spezielle Klassen vonMatrizen (symmetrisch, orthogonal, tridiagonal, sparse, Hessenberg, etc.) angeboten,deren Effizienz erheblich großer ist. Eine Ubersicht fur symmetrische Matrizen gibtTabelle 3.2, uber allgemeine Matrizen Tabelle 3.3.

3.4.6 Anwendung: Nullstellen eines Polynoms

Gegeben sei ein Polynom N -ten Grades in der Form

P (x) =N∑

k=0

ak xk (3.49)

dessen N komplexe Nullstellen

P (xi) = 0, xi ǫ C, i = 1...N

bestimmt werden sollen. Hierzu gibt es verschiedene Verfahren. Wir wollen hier eineMethode angeben, die auf ein lineares Eigenwertproblem fuhrt. Ausgehend von (3.49)normiert man

bk = ak/aN , k = 0...N − 1

und erhalt das Polynom

P ′(x) = xN +N−1∑

k=0

bk xk

3.4. HOMOGENE LINEARE GLEICHUNGSSYSTEME 71

Tabelle 3.2: Verschiedene LAPACK-Routinen zur Berechnung der Eigenwer-te und Eigenvektoren von symmetrischen und orthogonalen Matrizen. Quelle:http://www.netlib.org/lapack/lug/node48.html

72 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

Tabelle 3.3: Verschiedene LAPACK-Routinen zur Berechnung der Eigenwerteund Eigenvektoren von allgemeinen sowie einigen speziellen Matrizen. Quelle:http://www.netlib.org/lapack/lug/node52.html

welches dieselben Nullstellen wie P besitzt. Man definiert die Frobenius-Matrix (N×N)

F =

0 −b01 0 −b1

1 0 −b2. .. .. .

1 −bN−1

. (3.50)

und kann zeigen, dassdet(F − x 1) = (−1)N P ′(x)

gilt. D.h., die N Eigenwerte von F entsprechen den Nullstellen von P . Bei (3.50)handelt es sich um eine Hessenberg-Matrix, das ist eine Matrix in Dreiecksform miteiner zusatzlichen Nebendiagonalen. Diese Matrizen lassen sich effektiv diagonalisieren,z.B. durch die LAPACK-Routine DHSEQR:

3.4. HOMOGENE LINEARE GLEICHUNGSSYSTEME 73

SUBROUTINE ZEROS(A,N,Z,AUX)

C

C berechnet die Nullstellen des Polynoms N-ten Grades

C

C P = A(N)*X^N + ... A(0)

C

C A(0:N), real*8, die Koeefizienten (wird nicht veraendert)

C

C Die komplexen Nullstellen sind in Z(N), complex*16

C

C

C AUX(N,N) Hilfsfeld NxN real*8

C

C

IMPLICIT REAL*8 (A-H,O-Z)

DIMENSION A(0:N),Z(2*N),AUX(N,N),WORK(1000)

C Normierung

AN=A(N)

A=A/AN

C Frobenius-Matrix (Hessenberg)

AUX=0

AUX(1,N)=-A(0)

DO 10 I=2,N

AUX(I,N)=-A(I-1)

AUX(I,I-1)=1.

10 CONTINUE

C

CALL DHSEQR(’E’,’N’,N,1,N,AUX,N,Z,Z(N+1),DOOF,1,WORK,1000,INFO)

IF(INFO.NE.0) WRITE(6,*) ’Fehler in ZEROS’

C Nullstellen in komplexe Notation konvertieren

DO 100 I=1,N

AUX(I,1)=Z(I)

AUX(I,2)=Z(N+I)

100 CONTINUE

DO 110 I=1,N

K=2*I-1

Z(K)=AUX(I,1)

Z(K+1)=AUX(I,2)

110 CONTINUE

C

C Normierung rueckgaengig machen

A=A*AN

74 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

RETURN

END

3.4.7 Aufgaben

1. Bestimmen Sie von Hand die Eigenwerte, Vielfachheiten und Eigenvektoren derfolgenden Matrizen:

2 1 a0 2 10 0 2

,

1 0 10 2 a0 0 2

,

cosϕ − sinϕ 0sinϕ cosϕ 00 0 1

.

2. Verifizieren Sie den Crout-Algorithmus, indem Sie fur die Matrix

A =

1 2 31 4 10 2 5

von Hand eine LR-Zerlegung durchfuhren.

Losen Sie dann das Gleichungssystem

A · ~x =

b1b2b3

und geben Sie A−1 an. Was ergibt sich fur den Kommutator [L,R]?

3. Zeigen Sie, dass (3.47) eine exakte Losung von (3.46) ist. Wie lauten die Eigen-vektoren ~vj?

4. Gegeben sind drei Massepunkte (Masse m), die mit drei gleichen Federn derRuhelange Null gekoppelt sind (Abb.3.4). Jeder Massepunkt habe die Ladung q.Im Ursprung soll sich die Ladung Q befinden. Die Anordnung soll sich in derxy-Ebene bewegen und es soll

Q >> q > 0

gelten, sodass man die elektrostatischen Abstoßungen der drei kleinen Ladungenuntereinander vernachlassigen kann.

Die potentielle Energie der Anordnung lautet also

V (~ri) =q Q

4πǫ0

3∑

i

1

ri+

D

2

[(~r1 − ~r2)

2 + (~r2 − ~r3)2 + (~r3 − ~r1)

2]

(3.51)

3.4. HOMOGENE LINEARE GLEICHUNGSSYSTEME 75

r

rr

r

1

2 3

0

y

x

q

q

q

Q

Abbildung 3.4: System aus drei beweglichen Massepunkten mit 6 Freiheitsgraden

(a) Fuhren Sie zunachst dimensionslose Variable ein:

~r = ℓ ~r, t = τ t, V = V0 V . (3.52)

Zeigen Sie, dass

V (~ri) = α3∑

i

1

ri+

1

2

[(~r1 − ~r2)

2 + (~r2 − ~r3)2 + (~r3 − ~r1)

2]

(3.53)

gilt. Was ergibt sich fur α und V0?, was fur τ , wenn die dimensionslosenBewegungsgleichungen

~ri = −∂V

∂~rilauten sollen?

Im Folgenden werden wir nur die dimensionslosen Variablen (3.52) verwen-den, lassen aber alle Querstriche der Einfachheit wegen weg.

(b) Berechnen Sie die Ruhelagen ~ri(0). Nutzen Sie dazu Symmetrieuberlegungen.

(c) Stellen Sie die Bewegungsgleichungen fur kleine Auslenkungen

~ui = ~ri − ~ri(0)

auf.Hinweis:Die Bewegungsgleichungen (dimensionslos) lauten

~ri = −∂V

∂~ri.

76 KAPITEL 3. LINEARE GLEICHUNGSSYSTEME UND MATRIZEN

Mit ~ri = ~ri(0) + ~ui ergibt sich nach Taylor-Entwicklung (kleine Auslenkun-

gen)

~ui = −3∑

j

∂2V

∂~ri∂~rj

∣∣∣∣ri (0)

~uj .

Dies lasst sich als~v = A · ~v

schreiben, wobei ~v den 6-komponentigen Vektor

~v = (ux1, uy1, ux2, uy2, ux3, uy3)

bezeichnet. Wie lautet A?

(d) Berechnen Sie die Eigenwerte und Eigenvektoren von A. Stellen Sie die Ei-genvektoren grafisch dar. Interpretieren Sie das Ergebnis. Welche Bedeutungkommt einem verschwindenden Eigenwert (marginale Mode), welche einemnegativen zu?

(e) Berucksichtigen Sie jetzt auch die elektrostatische Abstoßung der Teilchenuntereinander, d.h. die potentielle Energie (3.51) erhalt die zusatzlichen Ter-me

Vww =q2

4πǫ0

3∑

i

1

di

mit den Abstandendi = |~ri − ~ri+1| ,

wobei ~r4 = ~r1 gilt.

Wie lautet die erweiterte dimensionslose Form von (3.53)? Wie andern sichdie Eigenwerte von A abhangig vom Verhaltnis q/Q?

5. Schreiben Sie ein Programm, welches die Nullstellen des Polynoms

P (x) =N∑

k=0

(−1)kx2k+1

(2k + 1)!

fur variables N berechnet. Drucken Sie diese als Vielfache von π aus.

Kapitel 4

GewohnlicheDifferentialgleichungen I,Anfangswertprobleme

Die allermeisten Problemstellungen in der Physik fuhren auf Differentialgleichungen.Als Beispiel nennen wir die klassische Mechanik: ausgehend vom Newtonschen Grund-gesetz werden Massen durch einwirkende Krafte beschleunigt, ihre Gechwindigkeitandert sich,

v = a t =F

mt .

Hangt die Kraft aber vom Ort oder von der Zeit ab (Beispiel Pendel, Planetenbewe-gung), so gilt dieser Zusammenhang nur fur eine infinitesimal kurze Zeit, in der dieKraft konstant ist:

∆v

∆t=

F (x(t), t)

mDer Ort des Teilchens andert sich dann um

∆x = v(t)∆t

was nach Grenzubergang ∆t → 0 zwei gekoppelte gewohnliche DGLs ergibt

dx

dt= v(t),

dv

dt=

F (x(t), t)

moder

d2x

dt2=

F (x(t), t)

m.

Dies ist die grundlegende DGL der klassischen Mechanik.

4.1 Quasilineare Differentialgleichungen

Quasilineare Differentialgleichungen sind in der hochsten vorkommenden Ableitunglinear. Man kann also

y(n) = f(x, y, y′, y′′, ....y(n−1)) (4.1)

77

78 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

mit

y = y(x), y(k) =dky

dxk

schreiben. Gleichung (4.1) ist aquivalent mit einem System von n DGLs erster Ordnung,die man aus der Substitution

y1 = y, yk+1 = y(k), k = 1...n− 1

erhalt:

y′1 = y2

y′2 = y3

....

y′n = f(x, y1, y2, ...yn) , (4.2)

oder, in Vektorschreibweised~y

dx= ~f(x, ~y) . (4.3)

Es genugt also, Systeme 1. Ordnung der Form (4.2) zu untersuchen.

Definiert man die Ableitung uber den Differenzenquotienten

d~y

dx= lim

∆x→0

~y(x+∆x)− ~y(x)

∆x,

so lasst sich (4.3) fur endliches, aber kleines ∆x naherungsweise schreiben als (Taylor-Entwicklung)

~y(x+∆x) = ~y(x) + ~f(x, ~y(x))∆x+O(∆x2) , (4.4)

wobei ∆x als Schrittweite bzeichnet wird. D.h. aber, aus jedem ~y(x) lasst sich ~y(x+∆x)und damit iterativ fur jeden anderen Wert rechts von x

~y(x+m∆x)

bestimmen. Daraus wird klar, dass man zusatzlich zur Funktion ~f auch einen Anfangs-wert (eigentlich n Anfangswerte)

~y(x0) = ~y0 (4.5)

vorgeben muss. Die Gleichungen (4.3,4.5) bilden ein Anfangswertproblem, (4.4) einerstes numerisches Naherungsverfahren dazu, die sogenannte explizite Euler-Vorwarts-Methode.

4.2 Beispiel: mathematisches Pendel

Wir untersuchen die Bewegungsleichung des mathematischen (gedampften) Fadenpen-dels in einer Dimension

ϕ+ α ϕ+ Ω20 sinϕ = 0, Ω2

0 = g/ℓ (4.6)

4.2. BEISPIEL: MATHEMATISCHES PENDEL 79

mit der Fadenlange ℓ, Dampfungskonstante α > 0 und dem Auslenkungswinkel ϕ ausder Vertikalen. Das aquivalente System 1. Ordnung lautet

ϕ = ω

ω = −αω − Ω20 sinϕ (4.7)

fur die Variablen ϕ(t) und ω(t). Dazu kommen die Anfangsbedingungen

ϕ(0) = ϕ0, ω(0) = ω0 .

Das System(4.7) besitzt zwei Fixpunkte (Ruhelagen) ϕ = ω = 0:

ϕ(0)0 = 0, ϕ

(0)1 = π

wobei ϕ(0)0 als stabiler Fokus, ϕ

(0)1 als ein instabiler Sattelpunkt bezeichnet werden.

Energiesatz

Multiplikation von (4.6) mit ϕ und Integration uber t ergibt

1

2ϕ2 − Ω2

0 cosϕ = E0 −R(t) (4.8)

mit E0 als Integrationskonstante und monoton wachsendem

R(t) = α

dt ϕ2 .

Den Ausdruck auf der linken Seite in (4.8) identifiziert man mit der dem System zurVerfugung stehenden mechanischen Gesamtenergie E/ℓ2m, R entspricht der durch Rei-bung verbrauchten und in Warme umgesetzten Energie:

E(t) = E0 −R(t) .

Da E(t) ≥ −Ω20 und R ≥ 0 gelten, wird der Ruhezustand ϕ = 0, ω = 0 asymptotisch

fur t → ∞ erreicht. Dabei wird die mechanische Energie

R(t → ∞) = E0 + Ω20

in Warme umgesetzt und das Pendel kommt unabhangig von seiner Anfangsbedingungzur Ruhe. Solange E > Ec mit Ec = Ω2

0 schwingt das Pendel durch die obere Ruhelage(Rotation), fur E < Ec erhalt man Schwingungen um die untere Ruhelage (Oszillation).

Im reibungsfreien Fall (α = 0) gilt Energieerhatlung

E = E0

und das Pendel kommt nie zur Ruhe. Entsprechend E0 liegt entweder Oszillation oderRotation vor. Fur E0 = Ec besteht die Bewegung in einer unendlich lange dauerndenAnnaherung an die obere Ruhelage. Wahlt man als Anfangswert ebenfalls die obereRuhelage, so entspricht die Trajektorie im Phasenraum (ϕ-ω-Ebene) einem homoklinenOrbit, der Separatrix, der in unendlich langer Zeit durchlaufen wird.

80 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

Euler-Vorwarts

Wir wollen jetzt das System (4.7) mit dem Euler-Verfahren numerisch losen:

PROGRAM PENDEL

CHARACTER*1 C

INTEGER PGCURS

DIMENSION FIPG(2),OMPG(2)

PI=3.14159265

OMEGA=1. ! Eigenfrequenz

ALPHA=0.1 ! Daempfung

TPER=2.*PI/OMEGA

C

WRITE(6,*)’DT?’

READ(5,*) DT

CALL PGBEGIN(0,’/xwin’,1,1)

CALL PGPAP(6.,1.)

CALL PGENV(-PI,PI,-PI,PI,0,1)

C

1 FI=0.

OM=0.

K=PGCURS(FI,OM,C) ! Startpunkt mit Cursor waehlen

IF(C.EQ.’L’) THEN ! Bildschirm loeschen durch L

CALL PGERAS

CALL PGBOX(’ABCNT’,0.,0,’ABCNT’,0.,0)

GOTO 1

ENDIF

IF(C.EQ.’ ’) GOTO 999 ! Programm beenden durch <blank>

T=0.

N=0

10 CONTINUE

T=T+DT

FIP=OM ! Euler Vorwaerts

OMP=-ALPHA*OM-OMEGA**2*SIN(FI)

C

FI=FI+FIP*DT

OM=OM+OMP*DT

C

FIPG(1)=FIPG(2)

OMPG(1)=OMPG(2)

4.2. BEISPIEL: MATHEMATISCHES PENDEL 81

FIPG(2)=FI

OMPG(2)=OM

IF(FI.GT.PI) THEN

FI=FI-2.*PI

FIPG=FI

ELSE

IF(N.NE.0) CALL PGLINE(2,FIPG,OMPG)

ENDIF

IF(FI.LT.-PI) THEN

FI=FI+2.*PI

FIPG=FI

ELSE

IF(N.NE.0) CALL PGLINE(2,FIPG,OMPG)

ENDIF

N=N+1

IF(N.EQ.50) THEN

E=.5*FIP**2-OMEGA**2*COS(FI) ! Gesamtenergie

N=1

WRITE(6,*) T,FI,E

ENDIF

IF(T.LT.50.*TPER) GOTO 10

GOTO 1

C

999 CALL PGEND

END

Die Abbildungen 4.1 zeigen Phasenraum und Energie uber t fur verschiedene αund Zeitschritte. Fur α = 0 (Abb.4.1 oben) erwarten wir eine konstante Energie, wasaber nicht der Fall ist. Auch sollten die Trajektorien im Phasenraum geschlossen sein,anstatt nach außen zu spiralen. Offensichtlich erzeugt das Euler-Verfahren eine negativeReibung, die Energie nimmt zu und die Amplituden der Oszillationen ebenfalls, diesegehen dann sogar in Rotationen uber. Dieses Verhalten ist qualitativ unabhangig von∆t.

Abb.4.1 Mitte zeigt den gedampften Fall, das Ergebnis sieht realistisch aus. DieTrajektorien spiralen nach innen und die Energie erreicht asymptotisch den Wert −Ω2.

Dagegen ist das Verhalten in Abb.4.1 unten wieder durch numerische Instabilitatenbedingt. Fur großere Zeitschritte (∆t = 0.15) ergibt sich wieder eine Art negativeDampfung und ein Anwachsen der Gesamtenergie.

Wir ziehen ein vorlaufiges Fazit:

• Die Ergebnisse fur α = 0 sind alle falsch (negative numerische “Dampfung”).

• Fur α > 0 erhalt man qualitativ richtige Resultate fur kleine ∆t.

82 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

• Auch im gedampften Fall wachst die Energie an und die Trajektorien entfernensich vom stabilen (!) Fixpunkt, wenn ∆t zu groß wird.

4.3 Numerische Stabilitat des Euler-Verfahrens

Schon in Abschn.1.2.3 haben wir gesehen, dass der Zeitschritt durch die numerischeStabilitat nach oben beschrankt ist. Wir untersuchen zunachst das allgemeine System(4.4). Sei ~y(0) ein stabiler Fixpunkt

~f(x, ~y(0)) = 0

dann lasst sich (4.4) um diesen Fixpunkt linearisieren:

~u(x+∆x) = ~u(x) + L · ~u(x) ∆x (4.9)

mit der Jacobi-Matrix

Lij =∂fi∂yj

∣∣∣∣~y(0)

. (4.10)

Die Eigenwerte von L mussen alle negativen Realteil besitzen (Stabilitat von ~y(0)). Wirschreiben (4.9) als

~u(x+∆x) = QEx

· ~u(x) (4.11)

mitQ

Ex= 1 +∆x L

und~u = ~y − ~y(0) .

Die Abweichungen ~u mussen gegen Null gehen, was aus der Stabilitat des Fixpunktsfolgt. Dies ist aber nur gewahrleistet, wenn der Spektralradius von Q

Exkleiner eins

bleibt:ρ(Q

Ex) < 1 (4.12)

Die letzte Bedingung ergibt eine Obergrenze fur ∆x.

Wir verdeutlichen dies am Beispiel des mathematischen Pendels. Linearisierung umden stabilen Fixpunkt ϕ = ω = 0 ergibt fur die Jacobi-Matrix

L =

(0 1

−Ω20 −α

)

.

Man erhalt fur den Spektralradius von Q

ρ =√

1− α∆t+∆t2 Ω20

solange α < 2Ω0 gilt, d.h. wir schließen den uberdampften Fall aus. Das Stabilitatskri-terium ergibt dann

∆t <α

Ω20

.

4.3. NUMERISCHE STABILITAT DES EULER-VERFAHRENS 83

Abbildung 4.1: Trajektorien im Phasenraum (links) und Gesamtenergie uber t fur dasgedampfte mathematische Pendel (Ω0 = 1) berechnet durch das Euler-Verfahren. Oben:α = 0, ∆t = 0.05, Mitte: α = 0.1, ∆t = 0.05, unten: α = 0.1, ∆t = 0.15. Das Verhaltenoben und unten entspricht nicht der Realitat sondern ist auf numerische Instabilitatzuruckzufuhren.

Dies erklart das Verhalten der Losungen aus Abb.4.1. Als Stabilitatsbedingung erhalten

84 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

wir namlich bei Ω = 1∆t < α ,

was nur fur die Situation in Abb.4.1 Mitte erfullt ist. Fur den ungedampften Fall istdas Euler-Verfahren sogar fur beliebig kleine ∆t instabil.

4.4 Implizite und explizite Verfahren

Das Euler-Verfahren gehort zur Klasse der expliziten Verfahren, weil die Variablenbei x + ∆x automatisch auf der linken Seite der Iterationsvorschrift auftreten. BeiImpliziten Verfahren gilt dagegen anstatt (4.4)

~y(x+∆x) = ~y(x) + ~f(x+∆x, ~y(x+∆x))∆x+O(∆x2) , (4.13)

d.h. man muss um ~y(x+∆x) zu berechnen nach ~y(x+∆x) auflosen. Dies ist eindeutignur fur einen linearen Zusammenhang

~f(~y) = A · ~ymoglich und man erhalt

(1−∆xA) · ~y(x+∆x) = ~y(x)

oder~y(x+∆x) = Q

Im· ~y(x) (4.14)

mitQ−1

Im= 1−∆xA .

Die Stabilitat ist jetzt also durch den Spektralradius von (1−∆xA)−1 bestimmt unddadurch teilweise erheblich verbessert. So ergibt sich beim mathematischen Pendel nachLinearisierung um die untere Ruhelage

ρ(QIm) =

1√

1 + α∆t+ Ω20∆t2

,

was fur alle ∆t, sogar fur α = 0, kleiner eins ist. D.h. das implizite numerische Verfahrenist fur das linearisierte Pendel (harmonischer Oszillator) bedingungslos stabil und damitwesentlich besser geeignet als das explizite. Allerdings erzeugt der numerische Fehlerjetzt eine positive Dampfung, was dazu fuhrt das auch fur α = 0 die Schwingungenabklingen (Abb.4.2). Dies liegt daran das der Fehler immer noch von der Ordnung ∆t2

ist.

4.5 Verfahren hoherer Ordnung

Das Euler-Verfahren konvergiert schlecht und liefert ungenaue, z.T. unphysikalischeErgebnisse. Hauptsachlich bei konservativen Systemen kann dies zu qualitativ falschemVerhalten fuhren. Wir stellen deshalb jetzt zwei Verfahren hoherer Ordnung in derSchrittweite vor. Bei beiden Methoden handelt es sich um explizite Verfahren.

4.5. VERFAHREN HOHERER ORDNUNG 85

Abbildung 4.2: Harmonischer Oszillator, implizites Verfahren 1. Ordnung, α = 0. Ob-wohl geschlossene Trajektorien und konstante Energie erwartet wird, liefert das Verfah-ren eine gedampfte Losung. Die numerisch erzeugte Dampfung wachst mit ∆t (schwarz:∆t = 0.05, rot: ∆t = 0.1). Das implizite Verfahren ist zwar fur alle Zeitschritte stabil,aber immer noch ungenau.

4.5.1 Verfahren von Heun

Wir beziehen uns zunachst auf eindimensionale Systeme

dy

dx= f(x, y) (4.15)

die sich spater leicht auf n Dimensionen verallgemeinern lassen. Integriert man (4.15)uber x ∫ x+∆x

x

dx′ dy

dx′= y(x+∆x)− y(x) =

∫ x+∆x

x

dx′ f(x′, y(x′)) (4.16)

so erhalt man die exakte Iterationsvorschrift

y(x+∆x) = y(x) +

∫ x+∆x

x

dx′ f(x′, y(x′)) . (4.17)

Daraus folgt sofort die Euler-Methode, indem man das Integral durch die Rechteckregelnahert: ∫ x+∆x

x

dx′ f(x′, y) ≈ f(x, y(x))∆x .

Verwendet man dagegen die genauere Trapezregel

∫ x+∆x

x

dx′ f(x′, y) ≈(

f(x, y(x)) + f(x+∆x, y(x+∆x)))∆x

2,

so ergibt sich in (4.17)

y(x+∆x) = y(x) +(

f(x, y(x)) + f(x+∆x, y(x+∆x)))∆x

2. (4.18)

86 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

Hierbei ist zu beachten dass auf der rechten Seite ebenfalls y(x + ∆x) auftritt, d.h.es handelt sich zunachst um eine implizite (besser semi-implizite) Vorschrift. Um aus(4.18) ein explizites Schema zu machen, berechnet man y(x+∆x) auf der rechten Seiteaus einem Euler-Verfahren:

y(x+∆x) = y(x) + f(x, y(x))∆x

und erhalt schließlich

y(x+∆x) = y(x) +(

f(x, y(x)) + f(x+∆x, y(x) + f(x, y(x))∆x))∆x

2, (4.19)

das Verfahren von Heun.

Genauigkeit

Von welcher Ordnung ist der Fehler beim Verfahren von Heun? Dazu schreiben wir(4.18) als (der Einfachheit wegen nehmen wir f(y) anstatt f(x, y) an)

y(x+∆x)− y(x) =(

f(y(x)) + f(y(x) + f(y(x))∆x))∆x

2

und entwickeln die linke Seite nach ∆x

L.S. =dy

dx∆x+

1

2

d2y

dx2∆x2+

1

6

d3y

dx3∆x3+... = f∆x+

1

2

df

dyf∆x2+

1

6

(

f 2d2f

dy2+ f

(df

dy

)2)

∆x3+.... ,

die rechte nach f∆x:

R.S. =∆x

2

(

2f +df

dyf∆x+

1

2

d2f

dy2f 2∆x2

)

+ ... ,

wobei ... Terme der Ordnung ∆x4 bedeuten. Beide Seiten stimmen bis zur Ordnung∆x2 uberein, d.h. der Fehler hat die Ordnung ∆x3 und ist damit um eine Ordnungkleiner als der Fehler des Euler-Verfahrens.

Numerische Stabilitat

Wie beim Euler-Verfahren lasst sich ein Iterationsschritt beim Heun-Verfahren nachLinearisierung um einen Fixpunkt als

~y(x+∆x) = Q · ~y(x)

formulieren, mit

Q = 1 +∆xL+1

2∆x2 L2

und L als Jacobi-Matrix (4.10). Die numerische Stabilitat folgt wieder aus der Bedin-gung ρ(Q) < 1, was schließlich auf

ρ = maxi

|1 + ∆xλi +1

2∆x2λ2

i | < 1

4.5. VERFAHREN HOHERER ORDNUNG 87

mit den Eigenwerten λi von L fuhrt. Am Beispiel des harmonischen Oszillators erhaltenwir mit

λ12 = −α

2± 1

2i√

4Ω20 − α2

die Bedingung fur die Stabilitatsgrenze (maximaler Zeitschritt):

−α +1

2α2∆t− 1

2αΩ2

0∆t2 +1

4Ω4

0∆t3 = 0 .

Dies liefert einen oberen Zeitschritt, der fur α > 0 großer als beim Eulerverfahren ist(Abb.4.3, ∆tc ≈ 1.4). Fur den ungedampften Fall α = 0 ist das Heun-Verfahren furdas Pendel allerdings immer noch bedingungslos instabil.

Abbildung 4.3: Spektralradien uber ∆t, harmonischer Oszillator, Ω0 = 1, links:gedampft, α = 1/2, rechts: ungedampft, α = 0. Grun: Euler, Rot: Heun, Gelb: Runge-Kutta (RK4).

4.5.2 Aufgabe

Crank-Nicolson-Verfahren

Beim Crank-Nicolson-Verfahren handelt es sich um eine Kombination von implizitemund explizitem Verfahren. Sei y(x) gegeben durch

y′(x) = f(y(x))

und y(x) die numerische Naherungslosung. Ausgehend von y(x0) = y(x0) liefert dasCrank-Nicolson-Schema

y(x0 +∆x)− y(x0)

∆x=

1

2

[

f(y(x0)) + f(y(x0 +∆x))]

.

Zeigen Sie, dass der numerische Fehler nach einem Schritt

|y(x0 +∆x)− y(x0 +∆x)| = O(∆x3)

betragt.

88 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

4.5.3 Runge-Kutta-Verfahren

Die Erhohung der Ordnung wirkt sich positiv auf Schrittweite und Genauigkeit aus.Es liegt nahe, Verfahren von noch hoherer Ordnung zu konstruieren, allerdings steigt,gerade bei großeren Gleichungsystemen, der numerische Aufwand schnell. Schon beimVerfahren von Heun muss f bei jedem Schritt an zwei verschiedenen Stellen ausge-wertet werden. In der Praxis wird man also einen Kompromiss zwischen Ordnung undAufwand finden mussen.

Bewahrt hat sich das bereits 1895 (!) entwickelte Runge-Kutta-Verfahren (RK).RK gibt es in verschiedenen Ordnungen, normalerweise wird das Verfahren 4. Ordnungverwendet (RK4). Der Einfachheit halber erklaren wir die Methode am Verfahren 2.Ordnung.

Sei y = y(x) die gesuchte Losung der DGL

y′ = f(x, y(x)) .

Man entwickelt y um x+∆x/2

y(x) = y(x+∆x/2)− ∆x

2y′(x+∆x/2) +

1

2

(∆x

2

)2

y′′(x+∆x/2) +O(∆x3)

y(x+∆x) = y(x+∆x/2) +∆x

2y′(x+∆x/2) +

1

2

(∆x

2

)2

y′′(x+∆x/2) +O(∆x3)

und erhalt nach Subtraktion der beiden Gleichungen

y(x+∆x) = y(x) + ∆x y′(x+∆x/2) +O(∆x3) ,

also eine Iterationsvorschrift der Ordnung ∆x2. Wie beim Heun-Verfahren muss many′ = f rechts von x kennen, um die rechte Seite zu berechnen. Dies geschieht wie beimEuler-Verfahren

y′(x+∆x/2) = f(x+∆x/2, y(x+∆x/2)) = f(x+∆x/2, y(x)+∆x/2 f(x, y(x)))+O(∆x2) .

Ein Iterationschritt sieht dann folgendermaßen aus:

k1 = ∆x f(x, y(x))

k2 = ∆x f(x+∆x/2, y(x) + k1/2) (4.20)

y(x+∆x) = y(x) + k2 .

Man hat ein Verfahren der Ordnung ∆x2 und muss dazu f bei jedem Iterationsschrittzwei mal auswerten. Genauso lasst sich RK4 konstruieren, wir geben den Algorithmushier ohne Beweis an:

k1 = ∆x f(x, y(x))

k2 = ∆x f(x+∆x/2, y(x) + k1/2)

k3 = ∆x f(x+∆x/2, y(x) + k2/2) (4.21)

k4 = ∆x f(x+∆x, y(x) + k3)

y(x+∆x) = y(x) +1

6(k1 + k2 + k3 + k4) .

4.5. VERFAHREN HOHERER ORDNUNG 89

Der Fehler ist von der Ordnung ∆x5 und die Stabilitatseigenschaften folgen diesmalaus der Forderung

ρ = maxi

|1 + ∆xλi +1

2∆x2λ2

i +1

6∆x3λ3

i +1

24∆x4λ4

i | < 1 . (4.22)

Eine Auswertung fur den harmonischen Oszillator ist ebenfalls in Abb.4.3 zu sehen.Wie erwartet ist das Stabilitatsverhalten wesentlich besser als fur das Heun-Verfahren(der Zeitschritt kann mehr als doppelt so groß gewahlt werden).

Eine RK4-Iteration wird durch folgende Subroutine ausgefuhrt:

SUBROUTINE RKG(Y,T,N,DT,AUX,EQ)

C

C Integriert das in der Subroutine EQ definierte DGL-System ueber t fuer

C einen Zeitschritt [T,T+DT] mit einem Runge-Kutta-Verfahren 4. Ordnung

C

C Y [In/Out] Abh"angige Variablen, Dimension Y(N)

C T [In] Unabh. Variable

C N [In] Anzahl der Gleichungen und der Variablen

C DT [In] Zeitschritt

C AUX [-] Arbeitsfeld zur internen Verwendung, Dimension WK(5*N)

C EQ [In] Name der Subroutine fuer rechte Seiten des DGL-Systems, EXTERNAL

C

C

DIMENSION Y(*),AUX(*)

C

CALL EQ(AUX,Y,T)

DO 5 I=1,N

AUX(3*N+I)=AUX(I)

AUX(4*N+I)=Y(I)+0.5*DT*AUX(I)

5 CONTINUE

CALL EQ(AUX,AUX(4*N+1),T+DT/2.)

DO 6 I=1,N

AUX(3*N+I)=AUX(3*N+I)+2.*AUX(I)

AUX(4*N+I)=Y(I)+0.5*DT*AUX(I)

6 CONTINUE

CALL EQ(AUX,AUX(4*N+1),T+DT/2.)

DO 7 I=1,N

AUX(3*N+I)=AUX(3*N+I)+2.*AUX(I)

AUX(4*N+I)=Y(I)+DT*AUX(I)

7 CONTINUE

CALL EQ(AUX,AUX(4*N+1),T+DT)

DO 8 I=1,N

AUX(3*N+I)=AUX(3*N+I)+AUX(I)

8 CONTINUE

90 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

C

DO 10 I=1,N

Y(I)=Y(I)+AUX(3*N+I)*DT/6.

10 CONTINUE

C

RETURN

END

C

SUBROUTINE EQS(RHSIDE,Y,T)

C

DIMENSION RHSIDE(*),Y(*)

C

RHSIDE(1)=... ! hier steht das DGL-System.

RHSIDE(2)=... ! Notwendige Parameter koennen durch einen

. ! COMMON Block uebergeben werden.

.

.

RHSIDE(N)=....

RETURN

END

Die Subroutine EQS enthalt dabei die Komponenten der Funktion ~f(x, ~y(x)).

Programm-Library

Ab hier werden wir nutzliche Routinen (wie RKG) in einer Library zusammenfassen.Man kann hierzu den Librarian von LINUX verwenden. Einfacher geht es, indem dieverschiedenen Unterprogramme in einem File zusammengefasst werden. Diesen Filenennen wird zum Beispiel

fortlib1.f

Er enthalt bisher die folgenden Routinen:

c

c Fortran-Subroutinen library source file

c

C SUBROUTINE ZEROS(A,N,Z,AUX) ! Die Nullstellen (Kap.3

C SUBROUTINE LRZERL(A,N,NP,INDX,D) ! LR-Zerlegung (Kap.3)

C SUBROUTINE LRSOLV(A,N,NP,INDX,B) ! dito

C SUBROUTINE INVERS(A,N,NP,AIN) ! Matrix-Inversion (Kap.3)

C SUBROUTINE RKG(Y,T,N,DT,AUX,EQ) ! Runge-Kutta 4. Ordnung (Kap.4)

4.5. VERFAHREN HOHERER ORDNUNG 91

C

c-------------------------------------------------------------

c

C

.....

.....

.....

Nach Erstellen von fortlib1.f (oder nach Herunterladen von der Vorlesungs-homepage)compiliert man mit

f95 -c fortlib1.f

Die Option -c teilt dem Compiler mit, kein ausfuhrbares Programm zu erstellen, son-dern einen object-file, in diesem Fall fortlib1.o genannt. Will man eine Library-Routineaus fortlib1 verwenden, so muss im entsprechenden make-file (also z.B. make f95) derfortlib1 object-file dazugelinkt werden. Der make-file sollte dann so aussehen:

f95 -O1 $1.f -o $1 fortlib1.o -L/usr/lib/ -lpgplot -llapack

Mathematisches Pendel mit RK4

Als Beispiel untersuchen wir wieder das mathematische Pendel mit ~f nach (4.7). Bemer-kenswert ist, dass RK4 selbst fur den bisher problematischen ungedampften Grenzfallα = 0 konvergierende Ergebnisse liefert und fur kleine Zeitschritte sogar die Energiegut konserviert (ρ ≈ 1 in (4.22)), Abb.4.4.

PROGRAM PENDEL_RK4

DIMENSION FIPG(2),OMPG(2),Y(2),AUX(10)

EXTERNAL EQS ! Subroutine fuer die DGLs

COMMON /PARAM/ ALPHA,OMEGA ! Parameter fuer EQD

PI=3.14159265

OMEGA=1. ! Eigenfrequenz

WRITE(6,*)’Alpha?’ ! Daempfung

READ(5,*) ALPHA

TPER=2.*PI/OMEGA

C

WRITE(6,*)’DT?’

READ(5,*) DT

92 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

Abbildung 4.4: Das ungedampfte mathematische Pendel (α = 0) mit RK4. Fur zugroßen Zeitschritt verfalscht die numerische Dampfung das Resultat (oben, ∆t = 1),fur ∆t = 0.1 (unten) bleibt die Energie uber viele Perioden in guter Naherung erhalten.(Ω0 = 1, T = 2π).

CALL PGBEGIN(0,’/xwin’,1,1)

CALL PGPAP(6.,1.)

CALL PGSWIN(-PI,PI,-PI,PI)

CALL PGBOX(’ABCNT’,0.,0,’ABCNT’,0.,0)

C

Y(1)=2. ! Anfangswert

Y(2)=0.

T=0.

N=0

10 CONTINUE

CALL RKG(Y,T,2,DT,AUX,EQS) ! Ein Zeitschritt RK4

T=T+DT

C

4.5. VERFAHREN HOHERER ORDNUNG 93

FIPG(1)=FIPG(2) ! Plott im Phasenraum

OMPG(1)=OMPG(2)

FIPG(2)=Y(1)

OMPG(2)=Y(2)

IF(N.NE.0) CALL PGLINE(2,FIPG,OMPG)

N=N+1

IF(N.EQ.50) THEN ! Energie ausrechnen

E=.5*Y(2)**2-OMEGA**2*COS(Y(1))

N=1

WRITE(6,*) T,E

ENDIF

IF(T.LT.50.*TPER) GOTO 10

C

CALL PGEND

END

C

SUBROUTINE EQS(RHSIDE,Y,T)

C

DIMENSION RHSIDE(2),Y(2)

C

COMMON /PARAM/ ALPHA,OMEGA

RHSIDE(1)=Y(2)

RHSIDE(2)=-ALPHA*Y(2)-OMEGA**2*SIN(Y(1))

RETURN

END

4.5.4 RK4 mit adaptiver Schrittweite

Bisher haben wir ∆x vorgegeben, was einfach ist aber nicht immer gut sein muss. Zugroße Schrittweite bedeutet ungenau und eventuell sogar numerisch instabil, zu kleineerhoht den Rechenaufwand unnotig und kann durch die großere notwendige Iterations-zahl zu numerischer Ungenauigkeit fuhren. Ein Verfahren mit adaptiver Schrittweitekann hier Verbesserung schaffen. Zum einen lasst sich dann die erwunschte Genauig-keit vorgeben, zum anderen kann das Verfahren bei schwacher Anderung von ~y dieSchritweite automatisch vergroßern, bzw. bei starker Anderung verkleinern.

Bei RK4 ist der Fehler von O(∆x5). Wir starten bei ~y(x) und betrachten zweinumerisch berechnete ~y1(x + ∆x), ~y2(x + ∆x), einmal mit der Schrittweite ∆x (ei-ne Iteration), und einmal mit ∆x/2 (zwei Iterationen). Sei d(∆x) der (euklidische)

94 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

Abstandd(∆x) = |~y1 − ~y2| ,

so giltd(∆x) = |c|∆x5

wobei c von der 5. Ableitung von ~y abhangt. Berechnet man d fur zwei verschiedeneSchrittweiten, lasst sich c eliminieren:

d(∆x1)

d(∆x2)=

(∆x1

∆x2

)5

.

Dieser Zusammenhang lasst sich nach ∆x2 auflosen:

∆x2 = ∆x1

(d(∆x2)

d(∆x1)

)1/5

.

Wenn man jetzt eine Iteration mit gegebenem ∆x1 berechnet und d(∆x2) = ǫ alserwunschte Genauigkeit vorgibt, so erhalt man die notwendige neue Schrittweite:

∆x2 = ∆x1

d(∆x1)

)1/5

.

In der Praxis erweist sich das Verfahren stabiler, wenn man den Exponenten variabelmacht:

∆x2 = ∆x1

d(∆x1)

)p

und

p =

1/5 wenn d < ǫ1/4 wenn d ≥ ǫ

wahlt. Wir testen das Schema am Pendel mit variabler Frequenz:

Ω0(t) = Ω00(1 + sin2(at))

Das Ergebnis zeigt Abb.4.5. Der Zeitschritt nimmt ab wenn Ω0 zunimmt und umge-kehrt.

Programm: RK4 mit adaptivem Zeitschritt

SUBROUTINE RKADT(Y,T,N,DT,AUX,EPS,EQS)

c

C Integriert das in der Subroutine EQ definierte DGL-System ueber t fuer

C einen Zeitschritt [T,T+DT] mit einem Runge-Kutta-Verfahren 4. Ordnung,

c variabler Zeitschritt

C

C Y [In/Out] Abh"angige Variablen, Dimension Y(N)

C T [In] Unabh. Variable

C N [In] Anzahl der Gleichungen und der Variablen

4.5. VERFAHREN HOHERER ORDNUNG 95

Abbildung 4.5: Das ungedampfte mathematische Pendel mit variabler Frequenz.Schwarz: ϕ(t), num. Losung, Rot: adaptiver Zeitschritt, Blau: Ω0(t), Genauigkeitǫ = 10−5.

C DT [In/Out] Zeitschritt

C AUX [-] Arbeitsfeld zur internen Verwendung, Dimension WK(6*N)

C EPS [In] gewuenschte Genauigkeit. DT wird angepasst,

c sodass Fehler (5.Ordn.) < Eps

C EQS [In] Name der Subroutine fuer rechte Seiten des DGL-Systems,

c EXTERNAL im Hauptprogramm

C

c benoetigt wird die Routine RKG

c

c Achtung: Anders als bei RKG ist hier Dimension AUX(6*N) !!!

c

DIMENSION Y(*),AUX(*)

C

EXTERNAL EQS

N0=5*N

DO 10 I=1,N

AUX(N0+I)=Y(I) ! Startwert merken

10 CONTINUE

CALL RKG(Y,T,N,DT,AUX,EQS) ! Ein Zeitschritt RK4 mit dt

DO 20 I=1,N

SWAP=AUX(N0+I)

96 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

AUX(N0+I)=Y(I) ! Ergebnis mit dt merken

Y(I)=SWAP ! Y zurueck auf Startwert

20 CONTINUE

CALL RKG(Y,T,N,DT/2.,AUX,EQS) ! zwei Zeitschritte RK4 mit dt/2

CALL RKG(Y,T+DT/2.,N,DT/2.,AUX,EQS)

D2=0. ! euklidischer Abstand berechnen

DO 30 I=1,N

D2=D2+(Y(I)-AUX(N0+I))**2

30 CONTINUE

D=SQRT(D2)

C ! Zeitschritt anpassen

IF(D.NE.0.) THEN

IF(D.LT.EPS) THEN ! Zeitschritt wird groesser

DT=DT*(EPS/D)**0.2

ELSE

DT=DT*(EPS/D)**0.25 ! wird kleiner

ENDIF

ELSE

DT=DT*1.1 ! D=0, dt um 10% vergroessern

ENDIF

C

RETURN

END

Und hier im Ausschnitt das Programm zum Pendel mit variabler Frequenz:

.......

DT=.05 ! Zeitschritt am Anfang

WRITE(6,*)’eps?’ ! gewuenschte Genauigkeit (z.B. 10^-5)

READ(5,*) EPS

Y(1)=2. ! Anfangswert

Y(2)=0.

T=0.

L=0

10 CONTINUE ! Zeitschleife

c

CALL RKADT(Y,T,2,DT,AUX,EPS,EQS)

T=T+DT

4.6. ANWENDUNG: KEPLER-PROBLEM 97

OMEGA=OMEGA0*(1.+5.*SIN(T/TPER*PI/2.)**2) ! Frequenz aendern

.......

GOTO 10

......

4.6 Anwendung: Kepler-Problem

Unter dem Kepler-Problem der klassischen Mechanik versteht man die Berechnung derPlanetenbahnen um die Sonne. Im einfachsten Fall (Sonne + ein Planet) lassen sichals analytische Losungen die Keplerschen Ellipsen (bzw. Hyperbeln fur ungebundeneKorper) finden (1. Keplersches Gesetz).

4.6.1 Geschlossene Planetenbahnen

Unter der Annahme einer (unbeweglichen) Sonne im Koordinatenursprung lauten dieBewegungsgleichungen fur einen Planeten am Ort ~r

~r = −GM~r

r3(4.23)

mit der Gravitationskonstanten G und der Sonnenmasse M . Bedingt durch das Zen-tralpotential gilt Drehimpulserhaltung, die Bewegung lasst sich auf eine Ebene be-schranken. Es genugt also, das 2D-Problem mit ~r = (x, y) zu untersuchen. Durchgeeignete Skalierung |r| = |r|(GM)1/3 erhalt man die beiden parameterfreien DGLs 2.Ordnung

x = − x

r3

y = − y

r3(4.24)

mit r =√

x2 + y2. Die Gesamtenergie in Einheiten von GM2/3 ergibt sich zu

E =1

2(x2 + y2)− 1

r. (4.25)

Eine einfache Losung von (4.24) ist eine Kreisbahn mit Radius R,

x = R cos(ωt), y = R sin(ωt) .

Einsetzen in (4.24) ergibt

ω2 =1

R3, (4.26)

98 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

entsprechend dem 3. Keplerschen Gesetz.

Die numerische Losung von (4.24) kann mit Hilfe von RK4 erfolgen. Die SubroutineEQS hat dann die Form

SUBROUTINE EQS(RHSIDE,Y,T)

C

DIMENSION RHSIDE(4),Y(4)

C

R3=(Y(1)**2+Y(3)**2)**(3/2.)

RHSIDE(1)=Y(2)

RHSIDE(2)=-Y(1)/R3

RHSIDE(3)=Y(4)

RHSIDE(4)=-Y(3)/R3

RETURN

END

Wahlt man als Anfangsbedingung

Y (1) = R, Y (2) = 0, Y (3) = 0, Y (4) = F ,

so erhalt man fur F = F0 = R−1/2 Kreise, sonst Ellipsen, bzw Hyperbeln. Fur F < F0

bildet der Anfangspunkt den Aphel, fur F > F0 den Perihel der Ellipse. Fur E ergibt(4.25)

E =F 2

2− 1

R,

d.h. fur

F >

2

R

existieren keine gebundenen Bahnen mehr, der Himmelskorper bewegt sich auf einerHyperbel.

Interessant ist die Frage der numerischen Dampfung. Wie gut bleibt die Energienach (4.25) erhalten? Aufschluss gibt Abb.4.6, die E nach 10.000 Umlaufen uber ∆tfur Kreisbahnen mit R = 1, F = 1, ω = 1 zeigt. Man sieht eine sehr gute Energie-erhaltung bis zu Zeitschritten von 0.05. Man beachte, dass die Umlaufzeit 2π betragt,man bei ∆t = 0.05 also nur noch etwa 120 Zeitschritte je Umlauf auflosen kann. Trotz-dem betragt die Gesamtenergie nach t = 10000 · 2π etwa E = −0.50024, also eineAbweichung von unter 0.05 %.

4.6. ANWENDUNG: KEPLER-PROBLEM 99

Abbildung 4.6: Energie eines Planeten auf einer Kreisbahn (R = 1, F = 1) nach 10.000Umlaufen uber dem Zeitschritt ∆t. Der exakte Wert (4.25) ware E = −1/2.

Abbildung 4.7: Periheldrehung bei kleiner Abweichung vom 1/r-Potential. Trajektoriendurch RK4 berechnet mit R = 1, F = 0.7, ǫ = 0.05.

4.6.2 Quasiperiodische Planetenbahnen, Periheldrehung

Samtliche Bahnen mit E < 0 sind geschlossen. Dies ist eine spezielle Eigenschaft des1/r-Potentials, eine kleine Abanderung

V (r) = − 1

r1+ǫ

fuhrt sofort zu nichtgeschlossenen, quasiperiodischen Bahnen, deren Perihel sich lang-sam um die Sonne dreht (Abb.4.7). Die einzige geschlossene Trajektorie fur ǫ 6= 0 bleibtder Kreis.

100 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

4.6.3 Mehrere Planeten: Ist unser Sonnensystem stabil?

Untersucht man ein System mit zwei oder mehr Planeten, werden die Dinge wesentlichkomplizierter. Insbesondere lassen sich analytische Losungen der Bewegungsgleichun-gen nur noch naherungsweise (Storungstheorie) angeben. Isaac Newton entwickeltezwar den mathematischen Apparat zur Berechnung der Planetenbahnen, wagte aberals religioser Mensch nicht, deren “gottgegebene” Stabilitat anzuzweifeln. Der schwe-dische Konig Oscar II war da 1887 naturlich weiter: Er stellte die Frage “Ist unserSonnensystem stabil?” und setzte fur die Antwort 2500 Kronen aus. Die Frage kannselbst heute nicht mit Sicherheit beantwortet werden. Allerdings gelang 1890 Hen-ri Poincare eine Art Gegenbeweis. Er konnte zeigen, dass bereits beim sogenanntenDrei-Korper-Problem, also ein Planet um einen Doppelstern, keine regelmaßigen Bah-nen mehr existieren. Der schwedisch-danische Astronom Elis Stromgren beschaftigteum 1900 57 Mitarbeiter 40 Jahre lang zur Berechnung periodischer Bahnen des Drei-Korper-Problems. Der franzosische Astronom Jacques Laskar berechnete 1989 nume-risch die Bahnen der inneren vier Planeten, 1994 die Bahnen aller Planeten fur dienachsten 25 Milliarden Jahre. Er fand dabei, dass die Bahnen “leicht chaotisch” undZusammenstoße in den nachsten 200 Mio Jahren eher unwahrscheinlich sind 1.

Ein weiterer Beweis fur die Instabilitat gewisser Bahnradien ist die Asteroidenver-teilung zwischen Mars und Jupiter, Abb.4.8. Signifikant sind hier die KirkwoodschenLucken (Abb.4.9) welche fur Bahnradien auftreten, deren Umlaufzeiten TA im ganzra-tionalen Verhaltnis zur Umlaufzeit TJ des Jupiters stehen:

TA =TJ

n, n = 2, 7/3, 5/2, 3, .... (4.27)

Dadurch kommt es zu Resonanzen, die Asteroiden der betreffenden Bahnen werdeninnerhalb kurzer Zeit vom Jupiter “herausgezogen”.

Nimmt man an, dass sich Jupiter und Asteroiden naherungsweise auf Kreisbahnenbewegen, so gilt mit (4.27) und (4.26)

RA = n−2/3 RJ ,

was mit dem Jupiterbahnradius RJ ≈ 5.2 AU ziemlich genau der Lage der Lucken ausAbb.4.9 entspricht.

Die Wechselwirkung zweier Planeten lasst sich leicht numerisch untersuchen. Aus-gehend von (4.23) betrachten wir das erweiterte System

~r1 = −~r1r31

− k α2~r1 − ~r2|~r1 − ~r2|3

~r2 = −~r2r32

− k α1~r2 − ~r1|~r1 − ~r2|3

(4.28)

mit den Masseverhaltnissenαi =

mi

M1J. Laskar, Large-scale chaos in the solar system, Astron. Astrophys. 287, L9 (1994)

J. Laskar, M. Gastineau, Existence of collisional trajectories of Mercury, Mars and Venus with the

Earth, Nature 459, 7248 (2009)

4.6. ANWENDUNG: KEPLER-PROBLEM 101

Abbildung 4.8: Zwischen Mars und Jupiter befinden sich Asteroiden...

Abbildung 4.9: ... deren Verteilung deutliche Lucken aufweist. (Quelle: NASA,http://ssd.jpl.nasa.gov/images/ast histo.png)

und k als Parameter, mit welchem die Kopplung der beiden Planeten ein- oder ausge-schaltet werden kann (k = 1/0). Die mit GM5/3 skalierte Gesamtenergie lautet dann

E =1

2

i

αi r2i −

i

αi

ri− k

α1α2

|~r1 − ~r2|.

Eine Losung zeigt Abb.4.10, wobei die Anfangsbedingungen

~r1(0) = (1, 0), ~r2(0) = (2−2/3, 0), ~r1(0) = (0, 1), ~r2(0) = (0, 21/3)

102 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

verwendet wurden, die fur k = 0 in zwei resonanten Kreisbahnen mit dem Umlaufzeit-verhaltnis

T1/T2 = 2

resultieren wurden. Fur Abb.4.10 wurden die Wechselwirkungsparameter

α1 = 0.03, α2 = 0.01

verwendet. Die Einschrankung auf Bewegungen in einer Ebene erhoht die Moglichkeitvon Kollisionen stark. Realistischer ware hier eine 3D-Rechnung, die allerdings auf 12gekoppelte DGLs 1. Ordnung fuhren wurde.

Abbildung 4.10: Zwei Planeten mit Wechselwirkung. Die resonanten Kreisbahnen sindinstabil, α1 = 0.03, α2 = 0.01.

4.6.4 Aufgaben

Untersuchen Sie das 2-Planeten-System (4.28) in drei Raumdimensionen.

1. Wie lauten die Ausdrucke fur Gesamtenergie E und Drehimpuls ~L?

2. Programmieren Sie das DGL-System mit RK4. Wahlen Sie die Anfangsbedin-gungen so, dass die beiden Umlaufbahnen nicht genau in einer Ebene liegen.Untersuchen Sie numerisch die Stabilitat der Bahnen fur verschiedene Werte vonα und n (in (4.27)). Kontrollieren Sie, ob E und ~L erhalten bleiben.

4.7. CHAOS 103

4.7 Chaos

Wir untersuchen weiter Systeme der Form

dyidt

= fi(y1, y2, ..yN ), yi(0) = ai, i = 1...N (4.29)

welche auch als autonom (fi hangt nicht explizit von der Zeit ab) bezeichnet werden.Wegen der Eindeutigkeit der Losung von (4.29) folgt aus ~y(t) genau ein ~y(t1), t1 > t.Das heißt aber, dass sich Trajektorien im Phasenraum nicht schneiden durfen (außerin einem Fixpunkt). Bleibt ~y in einem endlichen Gebiet, was wir annehmen werden,so konnen fur N = 1 Trajektorien nur in einem stabilen Fixpunkt enden (t → ∞),fur N = 2 kommen noch geschlossene Bahnen dazu (Pendel, Planet um Sonne). Chao-tische Dynamik im Sinne von sensitiver Abhangigkeit von Anfangsbedingungen undParametern kann damit ausgeschlossen werden.

Ist jedochN ≥ 3, konnen chaotische Trajektorien auftreten (Zwei-Planeten-Problem).

4.7.1 Harmonisch angetriebenes Pendel

Wir wollen hier das angetriebene mathematische Pendel

ϕ+ αϕ+ Ω20 sinϕ = A cosω0t (4.30)

untersuchen, bei dem es sich zunachst um ein nicht-autonomes Problem handelt, wel-ches aber durch Einfuhren der zusatzlichen Variablen y3 = ω0t in ein dreidimensionalesautonomes System transformiert wird:

y1 = y2

y2 = −α y2 − Ω20 sin y1 + A cos y3 (4.31)

y3 = ω0

wobei ϕ = y1. Die RK4-Subroutine EQS sieht dann so aus:

SUBROUTINE EQS(RHSIDE,Y,T)

C

DIMENSION RHSIDE(3),Y(3)

C

COMMON /PARAM/ ALPHA,OMEGA,A,OM

RHSIDE(1)=Y(2)

RHSIDE(2)=-ALPHA*Y(2)-OMEGA**2*SIN(Y(1))+A*COS(Y(3))

RHSIDE(3)=OM

RETURN

END

104 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

Naturlich lasst sich die letzte Gleichung (4.31) auch sofort integrieren und man kanngenausogut (und sogar mit weniger Aufwand) das nicht-autonome System numerischlosen:

SUBROUTINE EQS(RHSIDE,Y,T)

C

DIMENSION RHSIDE(2),Y(2)

C

COMMON /PARAM/ ALPHA,OMEGA,A,OM

RHSIDE(1)=Y(2)

RHSIDE(2)=-ALPHA*Y(2)-OMEGA**2*SIN(Y(1))+A*COS(OM*T)

RETURN

END

Allerdings gelten die folgenden Uberlegungen nur fur autonome Systeme, weshalbwir (4.31) verwenden.

Abbildung 4.11: Chaos beim angetriebenen Pendel. Phasenraum, y2 uber y1, A = 1,ω0 = 0.8, Ω0 = 1, α = 0.1.

Abb.4.11 zeigt eine Trajektorie, deren Verlauf chaotisch ist. Die Existenz einer Sepa-ratrix im nicht angetriebenen System ist fur das Zustandekommen von Chaos wichtig:

4.7. CHAOS 105

Befindet sich die Trajektorie in der Nahe der Separatrix, so kann durch einen ent-sprechenden Antrieb (“richtige Phase und Amplitude”) die Separatrix uberschrittenwerden, die Bewegung geht z.B. von der Oszillation zur Rotation uber, andert sich alsoqualitativ (Abb.4.12).

Rotation

Rotation

Separatrix

Oszillation Oszillation

Abbildung 4.12: In der Nahe der Separatrix konnen kleine Anderungen durch denAntrieb zu qualitativ anderen Trajektorien fuhren. Blau: ohne Antrieb, Rot: moglicheBahnen mit Antrieb.

4.7.2 Poincare-Schnitt und Bifurkationsdiagramm

Um dreidimensionale Trajektorien zu visualisieren, benotigt man Projektionen. So zeigtAbb.4.11 die Projektion auf die y1-y2-Ebene. Eine andere Moglichkeit ist die strobo-skopartige Aufnahme zu bestimmten Zeiten, welche beim Pendel durch die Antriebs-frequenz ω0 nahegelegt werden. In Abb.4.13 sind y1-y2-Werte immer dann eingetra-gen, wenn der Antrieb einen Nulldurchgang mit positiver Steigung besitzt, also furω0t = 3π/2 + 2nπ. Diese Darstellung, der Durchstoßpunkt der Trajektorie durch dieEbenen y3 = 3π/2+2nπ, wird als Poincare-Schnitt bezeichnet. Handelt es sich dabei furt → ∞ um endlich viele Punkte, so verlauft die Trajektorie periodisch, eine durchgezo-gene Linie wurde auf quasi-periodisches Verhalten deuten (Schnitt durch einen Torus),ausgefullte Bereiche mit (fraktalen) Lucken entsprechen chaotischen Trajektorien.

Ein Bifurkationsdiagramm ensteht, wenn man einen Kontrollparameter durchfahrtund daruber den Wert einer Variablen zu bestimmten, definierten Zeitpunkten auftragt.Abb.4.14 (unten) zeigt ein solches Diagramm, bei dem der Wert von y1 uber demAntrieb aufgezeichnet wurde, und zwar wieder zu den festen Zeiten ω0t = 3π/2+ 2nπ.

4.7.3 Lyapunov-Exponenten

Sei ~y(0)(t) eine bekannte Losung von (4.29). Wir fragen nach der Stabilitat mittelslinearer Stabilitatsanalyse:

~y(t) = ~y(0)(t) + ~u(t) .

106 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

Abbildung 4.13: Poincare-Schnitt zu Abb.4.11, Durchstoßpunkte durch die Ebeneny3 = 3π/2 + 2nπ.

Im Gegensatz zur Linearisierung um einen Fixpunkt hangt bei der Linearisierung umeine Trajektorie die Jacobi-Matrix von der Zeit ab:

d~u(t)

dt= L(t) ~u(t) (4.32)

mit

Lij(t) =∂fi∂yj

∣∣∣∣~y(0)(t)

.

Eine Losung von (4.32) kann in aller Regel nur numerisch erfolgen, selbst die Referenz-trajektorie ~y(0) ist als Losung von (4.29) ja normalerweise nur numerisch zu ermitteln.Wenn man animmt, dass bedingt durch die Linearitat von (4.32) fur große Zeiten ex-ponentielles Verhalten

|~u(t)| ∼ eσt , t → ∞gilt, so gibt die Große

σ = limt→∞

1

tln |~u(t)| (4.33)

Auskunft uber die Stabilitat von ~y(0). Ist σ > 0, so wachsen beliebig kleine Abwei-chungen im Lauf der Zeit exponentiell an. Die Trajektorie ist instabil und chaotischesVerhalten liegt vor. Das in (4.33) definierte σ wird als Lyapunov-Exponent bezeichnet.

Wie lasst sich σ berechnen? Eine Moglichkeit ware, (4.32) numerisch zu integrierenund fur großes t (4.33) auszuwerten. Durch das exponentielle Wachstum von |~u| furpositives σ verbietet sich das jedoch, es wurde schnell zu einem numerischen Uberlaufder entsprechenden Variablen kommen, selbst in doppelter Genauigkeit.

4.7. CHAOS 107

Abbildung 4.14: Oben: die drei Lyapunov-Exponenten beim angetriebenen Pendel mitReibung, Parameter wie in Abb.4.11. Unten: Bifurkationsdiagramm zum angetriebenenPendel, Ordinate: |y1| zu ω0t = 3π/2 + 2nπ, Abszisse: A.

Berechnung des großten Lyapunov-Exponenten

Um ein praktikables Verfahren zu konstruieren, fuhren wir zunachst den linearen Zeit-entwicklungsoperator Q ein. Damit lasst sich ~u(t) formal als

~u(t) = Q(t, 0) ~u(0) (4.34)

ausdrucken. Wie man sieht, hangt ~u(t) und damit σ von ~u(0) ab. Es wird soviel ver-schiedene Lyapunov-Exponenten geben wie linear unabhangige Anfangsbedingungen,nahmlich N , entsprechend der Dimension des Phasenraums. Oft genugt es allerdings,das großte σ zu finden, da dieses zwischen chaotischer und regelmaßiger Dynamik un-terscheidet. Wegen

Q(t, t0) = Q(t, t1)Q(t1, t0), t > t1 > t0

108 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

lasst sich (4.34) als Produkt

~u(t) = Q(t, t−∆T )Q(t−∆T, t− 2∆T ) ....Q(∆T, 0) ~u(0)

schreiben. Mit den Abkurzungen

Qk≡ Q(k∆T, (k − 1)∆T ), ~uk ≡ ~u(k∆T ), k = 0, 1, 2....

erhalten wir~uk = Q

kQ

k−1....Q

1~u0 (4.35)

mit k = t/∆T . Wahlt man ∆T klein genug, so wird sich bei jedem einzelnen Schritt

~uk = Qk~uk−1

kein Uberlauf einstellen. Man kann dann jeweils normieren

uk =~uk

dk, dk = |~uk|

und erhalt

~uk = d0 QkQ

k−1.... Q

2Q

1u0

︸ ︷︷ ︸

=u1d1

= d0 d1QkQ

k−1.... Q

2u1

︸ ︷︷ ︸

=u2d2

= d0 d1 ...dk uk .

Daraus liest man sofort

|~uk| =k∏

ℓ=0

dℓ

ab und findet eingesetzt in (4.33)

σ = limk→∞

1

k∆Tln

(k∏

ℓ=0

dℓ

)

= limk→∞

1

k∆T

k∑

ℓ=0

ln dℓ (4.36)

den Lyapunov-Exponenten zur Anfangsbedinung u0.

Man muss also folgenden Algorithmus umsetzen (Abb.4.15):

1. Berechne Referenztrajektorie aus Startwert ~a nach (4.29) uber einen gewissenVorlauf Tv.

2. Wahle irgendein u0, d0 = 1 zum Zeitpunkt t = Tv, setze ℓ = 1

3. Integriere (4.29) und dazu parallel (4.32) uber Intervall ∆T .

4. Bestimme dℓ = |~u(t+ ℓ∆T )|. Normiere ~u zu uℓ.

5. ℓ := ℓ+ 1

6. Gehe nach 3.

4.7. CHAOS 109

d

d

dd

u

u

u u u^

^

^ ^ ^d

1

12

2 3

3

4

400

t=0

t = ∆Τ

2∆Τ3∆Τ

t =t =

y (t)(0)

Abbildung 4.15: Numerische Berechnung des großten Lyapunov-Exponenten. Nach kon-stanten Zeitintervallen wird der Betrag der Storung dk ermittelt und die Storung aufEins normiert, ohne dabei ihre Richtung zu verandern.

Die Schleife wiederholt man so lange, bis t groß gegenuber charakteristischen Zeiten(Umlaufe von Trajektorien, Periodendauer beim Pendel, etc.) ist. Dann berechnet manσ aus (4.36).

Bezeichnet man ln dk als lokalen Lyapunov-Exponenten, so entspricht (4.36) demMittelwert dieser lokalen Exponenten.

In der Praxis ersetzt man den Limes n → ∞ durch “großes” n. Was heißt nun groß?Wir fuhren den Lyapunov-Exponenten n-ter Naherung ein:

σn =1

n∆T

n∑

k=0

ln dk (4.37)

und erhalten aus (4.36) die nachste Naherung

σn+1 =1

(n+ 1)∆T

(n∑

k=0

ln dk + ln dn+1

)

=n

n+ 1σn +∆σ

mit

∆σ =1

(n+ 1)∆Tln dn+1 .

Offensichtlich konvergiert ∆σ ∼ 1/n. Man bricht die Summe in (4.36) also dann ab,wenn der Fehler |∆σ| eine bestimmte, vorgegebene untere Schranke erreicht. Wahlweisekann man auch den relativen Fehler

∣∣∣∣

∆σ

σn

∣∣∣∣< ǫrel

als Abbruchkriterium verwenden.

Ein N -dimensionales System besitzt N Lyapunov-Exponenten (Spektrum). Daseben beschriebene Verfahren liefert davon den großten. Dies sieht man leicht ein, wennman die Storung ~u(t) in die Basis vk von L zerlegt:

~u(t) = c1v1(t)eσ1t + ...cN vN(t)e

σN t

110 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

wobei σk jetzt das sortierte Lyapunov-Spektrum mit

σ1 ≥ σ2.... ≥ σN

bezeichnet und die Konstanten ck durch den Anfangswert ~u(0) festgelegt sind. Fur t →∞ wird sich ~u parallel zu ~v1 einstellen, unabhangig von der Anfangsbedingung. Wennallerdings c1 exakt verschwindet, wurde man σ2 erhalten, etc. So konnte man also imPrinzip das gesamte Spektrum berechnen, was in der Praxis jedoch nicht funktionierenkann. Numerisch wird man immer einen winzigen Anteil in Richtung ~v1 erhalten, dersich schnell (exponentiell) vergroßert und die Storung dominiert. Wir werden weiterunten angeben, wie sich dennoch das gesamte Spektrum berechnen lasst.

Theorem: Ein Lyapunov-Exponent verschwindet fur alle Trajektorien, dienicht auf einem Fixpunkt enden.

Wir setzen beschrankte Systeme

|~y(t)| ≤ D1, |~f(y(t))| ≤ D2, Di > 0

voraus und zeigen das wichtige Theorem. Differenzieren von (4.29) ergibt

~y =∂ ~f

∂~y~y = L ~y ,

d.h. aber, dass mit ~u = ~y die Zeitableitung jeder Losung von (4.29) auch das lineareSystem (4.32) lost. Speziell gilt dies fur die Referenztrajektorie ~y(0)(t), d.h. die Storungliegt immer in Richtung der Bahn (Abb.4.16).

Fur diesen speziellen (marginalen) Lyapunov-Exponenten gilt dann mit (4.33)

σm = limt→∞

1

tln |~y(0)(t)| ≤ lim

t→∞

1

tln |D2| = 0 , (4.38)

also

σm ≤ 0 .

Wegen

|~y(0)(t)| ∼ eσmt, t → ∞

ware aber fur σm < 0

|~y(0)(t)| = 0, t → ∞

und die Trajektorie wurde auf einem Fixpunkt enden, was aber laut Voraussetzungausgeschlossen sein soll. Damit bleibt nur

σm = 0 .

4.7. CHAOS 111

u

u

u u u^

^

^ ^ ^1

240

3y (t)(0)

Abbildung 4.16: Eine Storung in Richtung der Referenztrajektorie bleibt dort undbesitzt einen verschwindenden Lyapunov-Exponenten, solange die Trajektorie nichtauf einem Fixpunkt endet.

4.7.4 Lyapunov-Exponenten hoherer Ordnung

Wie lasst sich das gesamte Spektrum der Lyapunov-Exponenten berechnen? Dazufuhren wir das Konzept der Lyapunov-Exponenten der Ordnung p ein; die in (4.33)definierte Große ist dann der Lyapunov-Exponent 1. Ordnung und gibt die mittlereKontraktionsrate eines Vektors (eindimensional) an. Entsprechend gibt der Exponentp-ter Ordnung die mittlere Kontraktionsrate eines p-dimensionalen Parallelepipeds an:

σ(p) = limt→∞

1

tln |Vp(t)| . (4.39)

Betrachtet man ein mitschwimmendes Parallelepiped das durch die Basis ~vk aufge-spannt wird, so kann man zeigen, dass

σ(p) = σ1 + σ2 + ... σp

gilt. Kennt man also alle N Lyapunov-Exponentenordnungen, so lassen sich die einzel-nen Exponeten gemaß

σ1 = σ(1)

σ2 = σ(2) − σ(1) (4.40)

σN = σ(N) − σ(N−1)

ausrechnen. Die Kenntnis aller Lyapunov-Exponenten erlaubt eine Klassifikation derReferenztrajektorie ~y(0)(t) (Tabelle 4.1). Speziell kennzeichnet ein positiver Lyapunov-Exponent die exponentielle Divergenz der Trajektorien. Andererseits muss die Bewe-gung auf ein endliches Gebiet beschrankt bleiben und es treten Kontraktionen auf, diemindestens einen negativen Lyapunov-Exponenten zur Folge haben.

Bei dissipativen Systemen (solche mit Reibung) wird ein mitschwimmendes N -dimensionales Volumenelement VN(t) kontrahiert. Man erhalt (Satz von Liouville)

dVN(t)

dt=

div ~f(~y(t)) dt.

Nehmen wir zunachst div ~f = c als konstant an. Integration ergibt dann

VN(t) = VN(0) ect

112 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

σ1 σ2 σ3

– – – Trajektorie endet auf stabilem Fixpunkt0 – – stabiler Grenzzyklus (periodische Bewegung)0 0 – stabiler Torus (quasi-periodische Bewegung)+ 0 – seltsamer Attraktor (chaotische Bewegung)

Tabelle 4.1: Klassifizierung von Trajektorien eines dissipativen Systems in drei Dimen-sionen durch die Vorzeichen ihrer Lyapunov-Exponenten.

und mit (4.39)

σ(N) =N∑

k=1

σk = div ~f = SpL. (4.41)

Die Summe aller Lyapunov-Exponenten entspricht also der Divergenz von f (oder derSpur der Jacobi-Matrix L) und ist fur dissipative Systeme negativ. Daraus ergibt sichnotwendig, dass mindestens ein Lyapunov-Exponent kleiner Null sein muss. In dreiDimensionen sind somit alle Kombinationen in Tabelle 4.1 aufgelistet. Im Allgemeinenist div ~f jedoch nicht konstant. Dann lasst sich der Mittelwert bilden und es gilt

σ(N) =N∑

k=1

σk = limt→∞

1

t

∫ t

0

dt div ~f (4.42)

was fur dissipative Systeme negativ ist.

Fur Hamiltonsche Systeme haben die Bewegungsgleichungen kanonische Form

qk =∂H

∂pk, pk = −∂H

∂qk, H = H(qk, pk)

und es gilt sofort

div ~f =∑ ∂

∂qk

∂H

∂pk−∑ ∂

∂pk

∂H

∂qk= 0 .

D.h. aber, dass die Summe aller Lyapunov-Exponenten Null sein muss.

Am Beispiel des gedampften Pendels ergibt sich

σ(3) =3∑

k=1

σk = −α .

4.7.5 Numerische Berechnung aller Lyapunov-Exponenten

Wir geben ein Verfahren an wie man numerisch das gesamte Spektrum finden kann undfolgen dabei hauptsachlich [7]. Startet man mit einem p-dimensionalen Parallelepiped,so werden durch die exponentiell veschiedenen Zeitskalen der Richtungen nach wenigenZeitschritten die aufspannenden Vektoren mehr oder weniger in eine Richtung, eben

4.7. CHAOS 113

die des großten Lyapunov-Exponenten, zeigen. Dies kann man umgehen, indem mannach einer bestimmten Zeitspanne die aufspannenden Vektoren durch ein SchmidtschesVerfahren immer wieder orthogonalisiert.

Wir erklaren das Prinzip an einem dreidimensionalen Phasenraum:

1. Wahle drei orthogonale Einheitsvektoren u1, u2, u3. t = 0, k = 0.

2. Integriere (4.32) bis t+∆T :

~wi = Q(t+∆T, t) ui

3. Berechne die Volumina V(p)k , welche von ~w1 ... ~wp aufgespannt werden:

V(p)k = |det (~w1, ... ~wp)|

4. Bestimme durch ein Schmidt-Verfahren die neuen ui so, dass jeweils die erstenp Vektoren ui den Unterraum der ~w1 bis ~wp aufspannen und dabei paarweisesenkrecht aufeinander stehen:

u1 =~w1

|~w1|,

~u2 = ~w2 − c12u1, u2 =~u2

|~u2|, c12 = u1 · ~w2,

~u3 = ~w3 − c13u1 − c23u2, u3 =~u3

|~u3|, c13 = u1 · ~w3, c23 = u2 · ~w3

5. t := t+∆T , k := k + 1

6. gehe nach 2.

Nach genugend vielen Schritten (großes k) lasst sich der Lyapunov-Exponent der Ord-nung p berechnen:

σ(p) =1

k∆T

k∑

i=1

lnV(p)i

und daraus schließlich nach (4.40) das gesamte Spektrum σk.

4.7.6 Beispiel angetriebenes Pendel

Wir demonstrieren das Verfahren am angetriebenen Pendel (4.31). Die Jacobi-Matrixin (4.32) lautet

L(t) =

0 1 0

−Ω20 cos y

(0)1 (t) −α −A sin y

(0)3 (t)

0 0 0

. (4.43)

114 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

Wegen der letzten Gleichung (4.31) existieren keine Fixpunkte. Mindestens ein Lyapunov-Exponent muss daher immer Null sein. Wegen der einfachen Struktur von (4.43) lassensich einige analytische Aussagen machen. So folgt aus der dritten Zeile sofort

u3 = 0, u3 = const.

Fur kleines A kann man selbstkonsistent |y(0)1 |, |y(0)2 | ∼ A annehmen und

cos y(0)1 ≈ 1 (4.44)

linearisieren. Speziell fur u3 = 0 sind die beiden Gleichungen fur u1, u2 aquivalent zumgedampften Pendel mit den Losungen

|(u1, u3)| ∼ hi(t) exp(

−α

2

)

, i = 1, 2

mit hi(t) als oszillierende, beschrankte Funktionen. Mit (4.33) ergeben sich daraus diebeiden Lyapunov-Exponenten

σ2 = σ3 = −α/2.

Setzt man u3 = 1, so entsprechen die Gleichungen fur u1, u2 denen des angetriebenenharmonischen Oszillators. hier gilt das Langzeitverhalten

y1 ∼ sin(ω0t+ β)

was σ1 = 0 liefert. Die Losung ~y(0)(t) ist also fur kleines A ein stabiler Grenzzyklus(Tabelle 4.1).

Fur großeres A wird die Linearisierung (4.44) unzulassig, der Grenzzyklus wird in-stabil und endlich entstehen chaotische Bahnen. Abb. 4.17 zeigt numerische Ergebnissefur kleineres A, Abb.4.14 fur großere Werte.

4.7.7 Lyapunov-Zeit

In dynamischen Systemen die aus physikalischen Problemstellungen hervorgehen sinddie Anfangsbedingungen normalerweise nur mit endlicher Genauigkeit ∆ǫ(0) bekannt.Kleine Fehler wachsen aber exponentiell an, wobei der großte Lyapunov-Exponent einMaß fur die Wachstumsrate (Dimension 1/Zeit) ist. Kennt man den großten Lyapunov-Exponenten σ1, so lasst sich eine Zeit t∗ abschatzen, nach der der Anfangsfehler aufeine gewisse Große L (die typische Ausdehnung des Attraktors im Phasenraum) an-gewachsen ist. Dann wird die Anfangsbedingung keine Rolle mehr spielen, sodass diedeterministische Theorie (die Differentialgleichungen (4.29), keine Vorhersage mehr er-lauben. Wegen

L = ∆ǫ(t∗) = ∆ǫ(0) eσ1t∗

ergibt sich

t∗ =1

σ1

ln

(L

∆ǫ(0)

)

als sogenannte Lyapunov-Zeit, Abb.4.18.

Beispielprogramm zur Berechnung der drei Lyapunov-Exponenten beim Pendel

4.7. CHAOS 115

Abbildung 4.17: Lyapunov-Exponenten und Bifurkationsdiagramm beim angetriebenenPendel mit Reibung, Parameter wie in Abb.4.11.

PROGRAM PENDEL_LYAP

PARAMETER (IMAXX=500) ! max. Aufloesung (A)

IMPLICIT REAL*8 (A-H,O-Z)

DIMENSION Y(2),AUX(10),YL(3,3),FPL1(IMAXX),FPL2(IMAXX),FPL3(IMAXX)

EXTERNAL EQS,EQL ! Subroutinen fuer die Gleichungen

COMMON /PARAM/ ALPHA,OMEGA,AM,OM,Y0,Y3 ! Parameter fuer EQS,EQD

PI=3.14159265

OMEGA=1. ! Omega0, eigenfrequenz

116 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

L

t* [h]

σ = 0.1/

σ = 0.2/

σ = 1// ∆ε(0)

h

h

h

Abbildung 4.18: Verschiedene Vorhersagezeiten bei verschiedenen Lyapunov-Exponenten σ. Die Vorhersagezeit hangt von der relativen Genauigkeit des Anfangs-zustandes ab, aber mehr noch vom großten Lyapunov-Exponenten.

OM=0.8 ! omega0, antrieb-frequenz

ALPHA=0.1 ! daempfung

DT=0.01

TPERD=2.*PI/OM

WRITE(6,*)’A von bis?’

READ(5,*) AM0,AM1

WRITE(6,*)’Aufloesung (MAX 500)?’

READ(5,*) IMAX

TPER=2.*PI/OMEGA

TVOR=1000.*TPER ! vorlauf

TPLOT=3000.*TPER+TVOR ! Zeitspanne fuer Lyap-Exp.

C

NMAX=10 ! Delta T = NMAX*DT

DA=(AM1-AM0)/FLOAT(IMAX)

c

c

DO 100 IA=1,IMAX ! Schleife A

AM=AM0+DA*FLOAT(IA-1) ! A-Wert

Y(1)=0. ! Anfangswert f. Referenztrayektorie y^0

Y(2)=0.

DO 1 I=1,3 ! Anfangswert fuer Stoerungen u(0)

DO 2 J=1,3

YL(I,J)=0.

2 CONTINUE

YL(I,I)=1.

1 CONTINUE

4.7. CHAOS 117

T=0.

F1=0.

F2=0.

F3=0.

10 CONTINUE

CALL RKG(Y,T,2,DT,AUX,EQS) ! Ein Zeitschritt RK4, Referenztrajektorie

T=T+DT

C

IF(Y(1).GT.PI) THEN

Y(1)=Y(1)-2.*PI

ENDIF

IF(Y(1).LT.-PI) THEN

Y(1)=Y(1)+2.*PI

ENDIF

C

IF(T.LT.TVOR) GOTO 10 ! nur Vorlauf

C Lyapunov-Exp

Y0=Y(1)

DO 50 I=1,3

Y3=YL(3,I)

CALL RKG(YL(1,I),T,2,DT,AUX,EQL) ! Ein Zeitschritt RK4, linearisiert

50 CONTINUE

NL=NL+1

IF(NL.EQ.NMAX) THEN ! Delta T ist um

NL=0

NL1=NL1+1

C Berechnung der Voumina V_k^n

FL1=SQRT(YL(1,1)**2+YL(2,1)**2+YL(3,1)**2) ! V^1

P1=YL(2,1)*YL(3,2)-YL(3,1)*YL(2,2) ! V^2

P2=YL(3,1)*YL(1,2)-YL(1,1)*YL(3,2)

P3=YL(1,1)*YL(2,2)-YL(2,1)*YL(1,2)

FL2=SQRT(P1**2+P2**2+P3**2)

FL3=ABS(P1*YL(1,3)+P2*YL(2,3)+P3*YL(3,3)) ! V^3

F1=F1+LOG(FL1)

F2=F2+LOG(FL2)

F3=F3+LOG(FL3)

C Schmidt orthogonalisierung und renormierung

YL(1,1)=YL(1,1)/FL1 ! renormierung erstes u

YL(2,1)=YL(2,1)/FL1

YL(3,1)=YL(3,1)/FL1

! zweites u

S1=YL(1,2)*YL(1,1)+YL(2,2)*YL(2,1)+YL(3,2)*YL(3,1)

118 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

YL(1,2)=YL(1,2)-S1*YL(1,1)

YL(2,2)=YL(2,2)-S1*YL(2,1)

YL(3,2)=YL(3,2)-S1*YL(3,1)

SN=SQRT(YL(1,2)**2+YL(2,2)**2+YL(3,2)**2)

YL(1,2)=YL(1,2)/SN

YL(2,2)=YL(2,2)/SN

YL(3,2)=YL(3,2)/SN

! drittes u

S1=YL(1,3)*YL(1,1)+YL(2,3)*YL(2,1)+YL(3,3)*YL(3,1)

S2=YL(1,3)*YL(1,2)+YL(2,3)*YL(2,2)+YL(3,3)*YL(3,2)

YL(1,3)=YL(1,3)-S1*YL(1,1)-S2*YL(1,2)

YL(2,3)=YL(2,3)-S1*YL(2,1)-S2*YL(2,2)

YL(3,3)=YL(3,3)-S1*YL(3,1)-S2*YL(3,2)

SN=SQRT(YL(1,3)**2+YL(2,3)**2+YL(3,3)**2)

YL(1,3)=YL(1,3)/SN

YL(2,3)=YL(2,3)/SN

YL(3,3)=YL(3,3)/SN

ENDIF

IF(T.LT.TPLOT) GOTO 10

C

F1=F1/FLOAT(NL1)/FLOAT(NMAX)/DT ! L.E. 1. Ordnung

F2=F2/FLOAT(NL1)/FLOAT(NMAX)/DT ! L.E. 2. Ordnung

F3=F3/FLOAT(NL1)/FLOAT(NMAX)/DT ! L.E. 3. Ordnung

WRITE(6,*) AM,F1,F2-F1,F3-F2

FPL1(IA)=F1 ! daraus die L.E. 1-3

FPL2(IA)=F2-F1

FPL3(IA)=F3-F2

100 CONTINUE ! naechstes A

............ ! Ausgabe, plotten, etc.

END

c

c DGL volles System f. Referenztrajektorie

C

SUBROUTINE EQS(RHSIDE,Y,T)

C

IMPLICIT REAL*8 (A-H,O-Z)

DIMENSION RHSIDE(2),Y(2)

C

4.7. CHAOS 119

COMMON /PARAM/ ALPHA,OMEGA,AM,OM

RHSIDE(1)=Y(2)

RHSIDE(2)=-ALPHA*Y(2)-OMEGA**2*SIN(Y(1))+AM*COS(OM*T)

RETURN

END

c

c DGL linearisiertes System fuer Stoerungen

c

SUBROUTINE EQL(RHSIDE,Y,T)

C

IMPLICIT REAL*8 (A-H,O-Z)

DIMENSION RHSIDE(2),Y(2)

C

COMMON /PARAM/ ALPHA,OMEGA,AM,OM,Y0,Y3

RHSIDE(1)=Y(2)

RHSIDE(2)=-ALPHA*Y(2)-OMEGA**2*COS(Y0)*Y(1)-AM*SIN(OM*T)*Y3

RETURN

END

4.7.8 Fraktale Dimension

Ausgehend vom Euklidischen Dimensionsbegriff konnen wir einem Fixpunkt im Pha-senraum die Dimension Null, einem Grenzzyklus die Dimension Eins und einem Torusdie Dimension Zwei zuordnen. Wegen der Kreuzungsfreiheit der Trajektorien kannein chaotischer Attraktor nicht vollstandig in eine Flache passen und muss daher ei-ne Dimension großer als zwei besitzen. Allerdings muss er auch nicht den gesamtenPhasenraum ausfullen, was bei N = 3 auf eine fraktale Dimension

2 < d < 3

fuhren wurde. Wie lasst sich d ermitteln?

Kapazitatsdimension

Abb.4.13 legt nahe, die Dimension mit Hilfe der in Abschn.2.2.2 vorgestellten Box-Counting-Methode zu betimmen. Man muss beachten, dass es sich beim Poincare-Schnitt um eine Projektion handelt, die tatsachliche Dimension des Attraktors ist um

120 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

Eins großer (Ein Grenzzyklus wurde im Poincare-Schnitt einer endlichen Anzahl vonPunkten entsprechen, hatte also die Dimension Null). Man kann d naturlich auch imN -dimensionalen Phasenraum berechnen, in dem man diesen mit Hyperwurfeln derDimension N und der Kantenlange L abdeckt. Genau wie in Abschn.2.2.2 lasst sichd dann ermitteln, indem man die Zahl M der vom Attraktor aufgesuchten Wurfel alsFunktion von L bestimmt:

dK = − logM

logL.

Die so definierte Große wird als Kapazitatsdimension bezeichnet.

Abbildung 4.19: Fraktale Dimension (Steigung) nach der Box-Counting-Methode, Ka-pazitatsdimension. Angetriebenes Pendel, Ω0 = 1, α = 0.1, ω0 = 0.8. Links: periodi-sche Bahn bei A = 0.4, dK ≈ 1.04, rechts: chaotischer Attraktor bei A = 1.0, dK ≈2.01.

Zur Demonstration berchnen wir dK zunachst fur zwei Werte fur A, einmal imperiodischen, zum anderen im chaotischen Bereich. Der dreidimensionale Phasenraumwird dabei im Bereich

−π ≤ y1 ≤ π, −3.5 ≤ y2 ≤ 3.5, 0 ≤ y3 ≤ 2π

nacheinander mit n3 Wurfeln bedeckt, wobei n = 2, 4, 8, 16...512. Jedesmal wird Mermittelt, M als Funktion von der Kantenlange L der Wurfel ist in Abb.4.19 gezeigt.Man sieht, dass sich im chaotischen Bereich eine Dimension nur knapp uber zwei ergibt,man kann also nur schwer aus der Dimension alleine zwischen chaotischem Attraktorund quasi-periodischer Bewegung unterscheiden.

Abb.4.20 gibt schließlich dK uber einen weiten Bereich von A wieder, wobei kaumWerte uber zwei erreicht werden.

4.7. CHAOS 121

Abbildung 4.20: Fraktale Dimension im Bereich 0.4 ≤ A ≤ 1.4, Werte sonst wie inAbb.4.11.

Korrelationsdimension

Gegeben sei eine Anzahl von P Punkten im N -dimensionalen Phasenraum

~yi = (yi1, yi2, ... y

iN ) , i = 1...P.

Diese konnen das Ergebnis einer numerischen Losung einer DGL sein, es kann sich aberauch um eine Messreihe (z.B. Temperatur uber der Zeit an N verschiedenen Orten, o.a.) handeln.

Man berechnet die Korrelationsdimension, indem man zunachst fur jeden Punktdie Anzahl der Nachbarpunkte ermittelt, die sich im Abstand R befinden:

C(R) = Anzahl der Paare mit |~yi − ~yj| ≤ R fur alle i 6= j .

Dies lasst sich mit Hilfe der Heaviside-Funktion Θ formulieren:

C(R) =P∑

i=1

P∑

j=i+1

Θ(R− |~yi − ~yj|)

mit

Θ(x) =

0 fur x ≤ 01 fur x > 0

.

Ist die Anzahl der Punkte P groß genug, sollte

C(R) ∼ Rd

sein, wobei d die Dimension des Objektes beschreibt, auf welchem sich die Punkte Pbefinden. Man kann sich dies fur N = 3 veranschaulichen; fullen die Punkte den Raumgleichmaßig aus, wird die Anzahl der Punkte mit dem Volumen der Kugel mit Radius

122 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

R gehen, also d = 3. Liegen die Punkte auf einer Ebene, wird C(R) ∼ R2 sein undd = 2, bei einer Linie gilt d = 1.

Dies ist die Definition der Korrelationsfunktion, wenn man R klein genug macht(gegen Null gehen lasst):

dC = limR→0

lnC(R)

lnR. (4.45)

Man erhalt dC wieder durch doppelt-logarithmisches Auftragen von C uber R alsSteigung (Abb.4.21). Es entsteht auch hier wieder die Frage, wo man die Steigungauswertet. fur zu kleine R wird die Kurve flacher, weil zu wenig Punkte in die Kugelnfallen, um eine statistische Auswertung betreiben zu konnen. Fur zu großes R wirddie Steigung ebenfalls abnehmen, weil der Attraktor eine endliche Ausdehnung besitzt(Beim Pendel von der Großenordnung 2π).

Abbildung 4.21: Korrelationsdimension (Steigung) beim angetriebenen Pendel, Ω0 =1, α = 0.1, ω0 = 0.8. Chaotischer Attraktor bei A = 1, dC ≈ 2.12.

Rekonstruktion von Attraktoren

Oft liegen nur eindimensionale Messreihen (Zeitserien) einer Große Y (t) vor:

Y0, Y1, Y2, .....YP−1, Yn = Y (n∆t) .

Auch daraus lasst sich eine fraktale Dimension bestimmen, obwohl die Dimension Ndes Phasenraums in der Regel unbekannt ist. Diese kann bei komplexen Systemensehr groß sein. Sind die Messwerte vollstandig unkorreliert (z.B. die Ergebnisse einesMunzwurfs), so lasst sich die Messreihe uberhaupt nicht in einen Phasenraum einbettenund N → ∞.

4.7. CHAOS 123

Man entfaltet zunachst die Messreihe in einem Raum mit vorgegebener DimensionN ′, der Einbettungsdimension. Dazu wahlt man ein festes Zeitintervall ∆T , die Delay-Rate, die in der Regel eine Ordnung großer als ∆t ist. Sei

K = ∆T/∆t

eine ganze Zahl. Man konstruiert eine Reihe von N ′-dimensionalen Vektoren nach

y1(tk) = Yk

y2(tk) = Yk+K

y3(tk) = Yk+2K

....

yN ′(tk) = Yk+(N ′−1)K

erhalt also fur

tk = k∆t, k = 0...kmax, kmax = P − 1− (N ′ − 1)K

insgesamt P − (N ′ − 1)K N ′-dimensionale Vektoren, aus denen sich dann z.B. dieKorrelationsdimension wie oben bestimmen lasst.

Wie groß muss man N ′ wahlen? Kreuzungsfreiheit der Trajektorien ist sicher einKriterium. Der niederlandische Mathematiker Floris Takens konnte den folgenden Satz1981 beweisen:

Erzeugt ein deterministisches System den N -dimensionalen Fluss ~y:

d~y

dt= ~f(~y)

so stellt

x1 = y(t), x2 = y(t+∆T ), .... x2N+1 = y(t+ 2N∆T )

eine stetig differenzierbare Einbettung dar, wobei y eine beliebige Komponente von ~ysein kann.

Damit bleibt die Dimension eines Attraktors erhalten, wenn

N ′ ≥ 2N + 1

gilt. In der Praxis wird man N ′ so lange vergroßern, bis die fraktale Dimension kon-vergiert.

Beispiel: Klimaattraktor

Die Kenntnis der Einbettungsdimension erlaubt das Abschatzen der Freiheitsgrade undkann als Maß fur die Komplexitat des Systems gelten, aus dem die Messreihe stammt.1984 bestimmten Nicolis und Nicolis (Nature 311, 529-532, 1984) den sogenanntenKlimaattraktor aus Messwerten des Eisvolumens der letzen 106 Jahre (Abb.4.22).

124 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

Abbildung 4.22: Eisvolumen der letzten 106 Jahre, gemessen von Shackleton et al.,nach Nicolis und Prigogine (links), sowie seine dreidimensionale Einbettung (rechts).

Aus der dreidimensionalen Einbettung geht hervor, dass N ′ > 3 sein sollte. Ni-colis bestimmte die Dimension dC fur verschiedene N ′ von zwei bis sechs (Abb.4.23).Offensichtlich konvergieren die Daten gegen

dC ≈ 3.1 .

Allerdings veroffentlichte P. Grassberger 1986 ebenfalls in Nature eine Arbeit, die sichkritisch mit den Ergebnissen von Nicolis auseinandersetzte. Grassberger fand keineKonvergenz, was wohl auf die wenigen Messpunkte der Rohdaten (184) zuruckzufuhrenist. Diese wurden durch Interpolation und Filterung auf 500 aufbereitet. Grassbergerkonnte zeigen, dass die Interpolation der Grund fur die von Nicolis gefundene niedrigeAttraktordimension ist.

Trotzdem zeigt dieses Beispiel, wie sich aus Messungen die Dimension des Phasen-raums einschranken lasst. Ware das Ergebnis von Nicolis korrekt, so musste sich dasKlima aus einem Modell mit nur vier gekoppelten DGLs beschreiben lassen. Im Ge-gensatz dazu wurden zufallig erzeugte Daten (Fluktuationen) zu keiner Konvergenz indC fuhren (Kreuze in Abb.4.23 rechts).

4.7.9 Aufgaben

1. Rauber-Beute-System.

Die beiden gekoppelten Ratengleichungen

n1 = α1n1 − α2n1n2 (4.46)

n2 = −β1n2 + β2n1n2 , αi, βi > 0

wurden von Lotka (1920) und Volterra (1931) vorgeschlagen, um die Wechsel-wirkung zwischen einer Beute- (n1(t)) und einer Rauberpopulation (n2(t)) zubeschreiben. Die Gleichungen (4.46) werden heute als “Lotka-Volterra-Modell”bezeichnet und gelten als einfachstes Rauber-Beute-System.

4.7. CHAOS 125

Abbildung 4.23: Links: logC(R) fur verschiedene Einbettungsdimensionen N ′ = 2...6.Rechts: Konvergenz gegen dC ≈ 3.1 wurde auf einen relativ niedrig dimensionalenPhasenraum hindeuten. Kreuze entsprechen Kontrolldaten, die durch unkorreliertesRauschen erzeugt wurden.

(a) Interpretieren Sie die einzelnen Terme in (4.46). Zeigen Sie durch Skalierenvon Zeit, n1 und n2 dass sich (4.46) schreiben lasst als

˙n1 = an1 − n1n2 (4.47)˙n2 = −n2 + n1n2 , a > 0

(b) Geben Sie die Fixpunkte von (4.47) an und untersuchen Sie deren Stabilitat.

(c) Zeigen Sie, dass

W (n1, n2) = n1 + n2 − ln n1 − a ln n2 (4.48)

unter der Dynamik von (4.47) erhalten bleibt.

(d) Losen Sie jetzt (4.47) numerisch durch RK4 und prufen Sie die Erhaltungvon (4.48). Plotten Sie Trajektorien im Phasenraum fur verschiedene a undverschiedene Anfangsbedingungen.

2. Das Lorenz-System.

In den 60ger Jahren leitete Edward Lorenz ein System von drei gekoppelten DGLszur Wettervorhersage ab. Sie lauten:

dy1dt

= −α (y1 − y2)

dy2dt

= r y1 − y2 − y1y3 (4.49)

dy3dt

= −β y3 + y1y2

Dabei sind α, β > 0 Systemparameter und r > 0 ein Kontrollparameter (Bifur-kationsparameter).

126 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

(a) Berechnen Sie die Fixpunkte von (4.49) und deren Stabilitat. Hinweis: Esgibt zwei Fixpunkte, den trivialen (yi = 0) und einen anderen.

(b) Untersuchen Sie (4.49) numerisch mittels RK4. Wahlen Sie speziell

α = 10, β = 8/3

Untersuchen Sie fur r den Bereich 0..170. Fertigen Sie ein Bifurkationsdia-gramm an. Berechnen Sie die fraktale Dimension und die drei Lyapunov-Exponenten.

4.8 Differentialgleichungen mit periodischen Koef-

fizienten

4.8.1 Floquet-Theorem

Das Floquet-Theorem ist aquivalent zum Blochschen Theorem aus der Festkorperphy-sik und macht eine wichtige Aussage zu linearen DGL’s der Form (4.32), allerdings furden Fall dass L(t) periodisch von der Zeit abhangt:

L(t) = L(t+ T ) .

Wie in (4.34) lasst sich ein Zeitentwicklungsoperator C einfuhren, der jetzt allerdings~u um eine Periode T weiter entwickelt:

~u(T ) = C(T ) ~u(0) . (4.50)

C wird auch als Monodromie-Matrix bezeichnet. Sind mit

C ~wk = σk(T ) ~wk (4.51)

die Eigenwerte und Eigenvektoren von C bekannt, so gilt wegen

C C ~wk = σk(T ) σk(T ) ~wk = σk(2T ) ~wk

auch

(σk(T ))n = σk(nT )

und daher

σk = exp(λkT ) . (4.52)

Die σk werden als Floquet-Multiplikatoren, die λk als Floquet-Exponenten bezeichnet.

Wir nehmen an, dass die ~wk eine vollstandige Basis im Phasenraum aufspannen.Dann lasst sich

~u(t) =∑

k

ak(t) ~wk eλkt (4.53)

4.8. DGLS MIT PERIODISCHEN KOEFFIZIENTEN 127

entwickeln. Anwenden von C ergibt

C ~u(t) =∑

k

ak(t)C ~wk eλkt =

k

ak(t) σk ~wk eλkt =

k

ak(t) ~wk eλk(t+T ) = ~u(t+ T ) .

Wegen

~u(t+ T ) =∑

k

ak(t+ T ) ~wk eλk(t+T )

folgt dann

ak(t) = ak(t+ T )

d.h., die Entwicklungskoeffizienten in (4.53) sind periodisch in t mit der PeriodenlangeT .

Damit haben wir das Floquet-Theorem bewiesen, das zusammengefasst lautet:

Die Losung von

~u(t) = L(t) ~u(t) mit L(t) = L(t+ T ) (4.54)

hat die Form

~u(t) =∑

k

~qk(t) exp(λkt)

wobei die ~qk in der Zeit periodische Funktionen

~qk(t) = ~qk(t+ T )

sind. Die Floquet-Exponenten λk folgen aus den Eigenwerten σk der Monodromie-Matrix C(T ) als

λk =1

Tln σk =

1

Tln |σk|eiαk =

1

Tln |σk|+

iαk

T(4.55)

4.8.2 Stabilitat von Grenzzyklen

Wir untersuchen die Stabilitat einer periodischen Losung

~y(0)(t) = ~y(0)(t+ T ) (4.56)

von (4.29). Linearisierung fuhrt auf ein Problem (4.54) fur die Storungen ~u(t). Wennein Floquet-Exponent einen positiven Realteil besitzt, so wird der Betrag der Storungexponentiell anwachsen, der Grenzzyklus (4.56) ist instabil. Die Stabilitatsbedingunglautet demnach

|σk| ≤ 1 fur alle k .

128 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

4.8.3 Parametrische Instabilitat: Pendel mit oszillierendem Auf-hangepunkt

Als Beispiel untersuchen wir das in Abb.4.24 skizzierte Pendel. Der Aufhangepunktsoll mit

A

ω20

sinω0t

vertikal oszillieren.

ω tsin~0

φ

Abbildung 4.24: Durch einen vertikal oszillierenden Aufhangepunkt angetriebenes Pen-del.

Dies fuhrt im mitbeschleunigten Koordinatensystem zu einer Scheinkraft in verti-kaler Richtung, welche durch die Substitution

g → g(1 + a sinω0t), a =A

g

in (4.30) berucksichtigt wird. Aus (4.31) wird fur den ungedampften Fall (α = 0)

y1 = y2

y2 = −Ω20(1 + a sin y3) sin y1 (4.57)

y3 = ω0

d.h. die Zeitabhangigkeit ist im Gegensatz zu (4.31) jetzt multiplikativ. Die untere(stabile) Ruhelage lautet

y(0)1 = y

(0)2 = 0, y

(0)3 = ω0t.

Linearisierung um die untere Ruhelage fuhrt auf

u1 = u2

u2 = −Ω20(1 + a sinω0t) u1 (4.58)

u3 = 0 . (4.59)

4.8. DGLS MIT PERIODISCHEN KOEFFIZIENTEN 129

Da u3 nicht an u1, u2 koppelt, genugt es, das 2D-Problem

~u = L~u (4.60)

mit~u = (u1, u2)

und

L(t) =

(0 1

−Ω20(1 + a sinω0t) 0

)

(4.61)

weiter zu untersuchen, welches die Form (4.54) mit

T =2π

ω0

besitzt. Um die Floquet-Exponenten zu berechnen, benotigen wir zuerst die Monodromie-Matrix. Dazu wahlt man zwei orthogonale Anfangsbedingungen

~u1(0) = (1, 0), ~u2(0) = (0, 1)

und integriert (4.54) mit (4.61) fur jedes ~ui numerisch bis t = T . Damit kennt man~ui(T ). Wegen (4.50) gilt aber auch

(~u1(T ), ~u2(T )) = C · (~u1(0), ~u2(0))︸ ︷︷ ︸

=1

= C . (4.62)

Die Vektoren ~ui(T ) bilden somit die Spalten von C. Damit lassen sich die Eigenwerteσ12 berechnen:

σ12 =1

2SpC ± 1

2

(SpC)2 − 4DetC (4.63)

und mit (4.55) die Floquet-Exponenten. Wie man leicht einsieht, gilt fur die Summealler Floquet-Exponenten ebenfalls die Beziehung (4.42), bzw. (4.41). Wegen SpL = 0heißt das aber

λ1 + λ2 = 0 . (4.64)

Es gibt zwei Moglichkeiten fur die Losungen von (4.63):

1. Beide σk sind reell und großer null, dann sind die λk ebenfalls reell und ein λk

wegen (4.64) großer Null. Der Fixpunkt ~y(0) ist instabil.

2. Die σk sowie die λk bilden ein komplex-konjugiertes Paar. Dann muss wegen(4.63) λ1 = −λ2 = −λ∗

1 und damit

λ12 = ±iα, α ǫR

gelten. Der Fixpunkt ~y(0) ist stabil. Die Linien im Parameterraum (a, ω0), auf denenzwei reelle Losungen von (4.63) in ein konjugiert-komplexes Paar ubergehen, also wo

(SpC)2 − 4DetC = 0 (4.65)

gilt, trennen die stabilen von den instabilen Bereichen.

130 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

4.8.4 Mathieu-Gleichung

Die beiden DGLs (4.60) sind aquivalent zu einer DGL 2. Ordnung

u+ Ω20(1 + a sinω0t)u = 0 (4.66)

mit u = u1. In der Literatur findet man oft die Normalform

u+ (p+ 2b sin 2t)u = 0 (4.67)

welche durch die Skalierung

t =ω0

2t

sowie

p =4Ω2

0

ω20

, b =2Ω2

0

ω20

a

aus (4.66) hervorgeht. Wie oben beschrieben, erhalten wir die Stabilitatsgrenzen desunteren Fixpunktes durch Berechnen der Monodromie-Matrix fur bestimmte Parameterp, b:

C = C(p, b)

Dann werden die Nullklinen der Funktion

f(p, b) = (SpC(p, b))2 − 4DetC(p, b)

in der Parameterebene gezeichnet.

Abb.4.25 zeigt das Ergebnis. Bei den Resonanzen

p = n2, n = 1, 2, ...

genugen beliebig kleine Amplituden b, um das Pendel zu destabilisieren, die Schwingungschaukelt sich auf. Setzt man p ein, so ergibt sich fur die Resonanzen ein Verhaltnis

Ω0

ω0

=n

2

zwischen Eigenfrequenz des Pendels und Antriebsfrequenz.

Das Programm dazu sieht so aus:

PROGRAM MATHIEU

IMPLICIT REAL*8 (A-H,O-Z) ! doppelt haelt besser....

PARAMETER (IDIM=1000, JDIM=200, PI=3.14159265) ! Aufloesung im Par-Raum

DIMENSION Y(2),AUX(10),F(IDIM,JDIM)

C

4.8. DGLS MIT PERIODISCHEN KOEFFIZIENTEN 131

Abbildung 4.25: Stabilitatsdiagramm der Mathieu-Gleichung (4.67). Schwarz: λ1 =λ2 = 0, Stabilitatsgrenzen, rot: λk reell, instabil, blau: λk = ±iα, stabil. Die Resonanz-spitzen reichen bis zur p-Achse.

real*4 F,TR(6),PMIN,PMAX,BMIN,BMAX

EXTERNAL EQS

COMMON /PARAM/ P,B

DATA TR /0.,1.,0.,0.,0.,1./

TPER=PI ! Periodenlaenge

DT=TPER/500. ! Zeitschritt

PMIN=-5. ! Bereich f. P

PMAX=20.

132 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

BMIN=0. ! Bereich f. B

BMAX=10.

DP=(PMAX-PMIN)/FLOAT(IDIM-1)

DB=(BMAX-BMIN)/FLOAT(JDIM-1)

c Doppeschleife im Par-Raum

DO 100 J=1,JDIM

B=FLOAT(J-1)*DB+BMIN

DO 100 I=1,IDIM

P=FLOAT(I-1)*DP+PMIN

T=0.

X1=1.

Y1=0.

X2=0.

Y2=1.

10 CONTINUE

T=T+DT

C

Y(1)=X1 ! 1. Anfangsbed.

Y(2)=Y1

CALL RKG(Y,T,2,DT,AUX,EQS)

X1=Y(1)

Y1=Y(2)

Y(1)=X2 ! 2. Anfangsbed.

Y(2)=Y2

CALL RKG(Y,T,2,DT,AUX,EQS)

X2=Y(1)

Y2=Y(2)

IF(T.LT.TPER) GOTO 10 ! bis TPER integrieren

C

DET=X1*Y2-X2*Y1 ! Determinante und Spur von C

SP=X1+Y2

F(I,J)=SP**2-4.*DET

100 CONTINUE

CALL PGBEGIN(0,’/xwin’,1,1)

CALL PGPAP(6.,1.)

C Ergebnis plotten

CALL PGENV(PMIN,PMAX,BMIN,BMAX,0,1,1)

CALL PGSWIN(1.,FLOAT(IDIM),1.,FLOAT(JDIM))

CALL PGSLW(3)

c Contur-Linien (0, 2., -2.)

CALL PGCONT(F,IDIM,JDIM,1,IDIM,1,JDIM,0.,-1,TR)

CALL PGSCI(2)

CALL PGCONT(F,IDIM,JDIM,1,IDIM,1,JDIM,2.,-1,TR)

4.8. DGLS MIT PERIODISCHEN KOEFFIZIENTEN 133

CALL PGSCI(4)

CALL PGCONT(F,IDIM,JDIM,1,IDIM,1,JDIM,-2.,-1,TR)

CALL PGEND

END

.....

SUBROUTINE EQS(RHSIDE,Y,T)

C

IMPLICIT REAL*8 (A-H,O-Z)

DIMENSION RHSIDE(2),Y(2)

C

COMMON /PARAM/ P,B

RHSIDE(1)=Y(2)

RHSIDE(2)=-(P+2.*B*SIN(2.*T))*Y(1)

RETURN

END

Interessanterweise erhalt man auch fur negatives (!) p einen kleinen Bereich, in-dem die Floquet-Exponenten imaginar sind, Abb.4.26. Negatives p entspricht aber derLinearisierung um den instabilen Fixpunkt des Pendels, y1 = π. Wahlt man b entspre-chend, so lasst sich das Pendel sogar oben stabil halten.

4.8.5 Aufgaben

1. Linearisieren Sie (4.57) um die obere, instabile Ruhelage

y(0)1 = π, y

(0)2 = 0, y

(0)3 = ω0t.

Leiten Sie fur die Abweichungen y1 = π + u(t) eine Gleichung der Form (4.67)her. Was andert sich imVergleich zu (4.66)?

Zeigen Sie mit dem Ansatz

u(t) = u0 exp(iβt) cos(t+ δ)

dass das Pendel in der oberen Ruhelage stabilisiert werden kann. VernachlassigenSie dabei hohere Harmonische, d.h. machen Sie die Naherung

cos 2t cos(t+ δ) =1

2(cos(3t+ δ) + cos(t− δ)) ≈ 1

2cos(t− δ) .

Der Stabilitatsbereich lasst sich abschatzen aus der Bedingung Im(β)=0 (wieso?).

134 KAPITEL 4. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN I

Abbildung 4.26: Fur negaties p ist die obere Ruhelage in dem schmalen Keil zwischenden schwarzen Linien stabil.

2. Untersuchen Sie die gedampfte Mathieu-Gleichung

u+ αu+ Ω20(1 + a sinω0t)u = 0

numerisch. Plotten Sie die Stabilitatsbereiche in der q-b-Ebene fur festes α > 0.Was andert sich qualitativ an Abb.4.25? Begrundung!

Kapitel 5

GewohnlicheDifferentialgleichungen II,Randwertprobleme

5.1 Vorbemerkungen

Wir betrachten wieder Systeme aus N gewohnlichen DGLs 1. Ordnung

d~y(x)

dx= ~f(~y(x), x) . (5.1)

Im Gegensatz zum Anfangswertproblem sind beim Randwertproblem Bedingungen anzwei verschiedenen gegebenen Punkten x = a, b vorgegeben:

A~y(a) + B ~y(b) = ~c . (5.2)

Normalerweise handelt es sich bei a und b um die “Rander” von x, man ist also an derLosung ~y(x) im Bereich

a ≤ x ≤ b

interessiert. Die Randbedingungen (5.2) sind linear in ~y. Es konnen aber auch nichtli-neare Randbedingungen der allgemeinen Form

gi(~y(a), ~y(b)) = 0, i = 1..N

vorliegen, wobei die gi Funktionen von 2N Variablen sind. In der Praxis sind die Rand-bedingungen meistens separiert:

A1 ~y(a) = ~c1, B1 ~y(b) = ~c2 . (5.3)

Damit das Problem weder uber- noch unterbestimmt ist, durfen in (5.3) aber nur Nlinear unabhangige Bedingungen vorkommen.

Das Anfangswertproblem (4.5) aus Kapitel 4 ist mit

A1 = 1, B1 = 0, ~c1 = ~y0

135

136 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

in der Formulierung (5.3) enthalten.

Wir wollen uns hier auf lineare, separierte Randbedingungen wie (5.3) beschranken.

Anfangswertprobleme haben normalerweise eine eindeutige Losung. Dagegen konnenRandwertprobleme auch gar keine oder mehrere Losungen besitzen. Dies wird sofortam Beispiel der DGL 2.Ordnung

y′′ + y = 0

klar. Fur die Randbedingungen

y(0) = 0, y(π/2) = 1

gibt es genau eine Losungy(x) = sin x ,

fury(0) = 0, y(π) = 0

existieren unendlich viele Losungen

y(x) = A sin x

mit beliebigem A und fury(0) = 0, y(π) = 1

findet man gar keine Losung.

5.2 Beispiel schiefer Wurf

Ein Massepunkt werde bei (x, y) = 0 mit einer bestimmten gegebenen Geschwindigeit~v = (vx, vy) im Gravitationsfeld nach oben geschossen und lande nach einer bestimmtenZeit t = T bei x(T ) = L, y(T ) = 0. Die Bewegungsgleichungen lauten

x = −α x+ β y

y = −α y − g , (5.4)

wobei geschwindigkeitsabhangige Reibung α und eine linear mit der Hohe zunehmendeWindkraft (Scherstromung, β) berucksichtigt werden. Fur α = β = 0 ist die Flugbahneine Parabel

y(t) = vy t− g t2, x(t) = vx t

odery(x) =

vyvx

x− g

v2xx2

mitT =

vyg, L =

vx vyg

. (5.5)

Aus den Anfangswerten x(0) = 0, y(0) = 0, x(0) = vx, y(0) = vy folgt also eindeutigdie Losung x(t), y(t) sowie die Flugzeit T und der Aufschlagpunkt L. Dies ist ein

5.3. FINITE DIFFERENZEN 137

klassisches Anfangswertproblem. Wie lasst es sich als Randwertproblem formulieren?Wir suchen nach einer Losung von (5.4), die die Randbedingungen

x(0) = y(0) = 0, x(T ) = L, y(T ) = 0

fur festes T (Parameter) erfullt. Der Massepunkt soll also zu gegebener Zeit T amgegebenen Ort x = L auftreffen. Aus (5.5) ergibt sich vy = g T und vx = L/T oder

y(t) = g t (T − t) , x(t) =L

Tt . (5.6)

Was aber, wenn man (5.4) nur numerisch losen kann? Man konnte dann iterativ ver-schiedene Werte von vx, vy so durchfahren, dass die Bahn nach t = T in (L, 0) endet.Das fuhrt auf das sogenannte Schießverfahren, auf das wir weiter unten zuruck kommenwerden.

5.3 Finite Differenzen

Wie bei Anfangswertproblemen lassen sich auch bei Randwertproblemen die Ablei-tungen durch die Differentialquotienten ausdrucken und man erhalt ein algebraischesGleichungssystem, die diskretisierten Gleichungen.

5.3.1 Diskretisierung

Wir zeigen die Vorgehensweise am Beispiel (5.4). Zunachst wird das Gebiet 0 ≤ t ≤ Tmit (aquidistanten) Stutzstellen unterteilt

ti = i∆t, i = 0...n, ∆t = T/n .

Dann werden die Ableitungen durch

xi =xi+1 − xi−1

2∆t, xi =

xi+1 − 2xi + xi−1

∆t2, (5.7)

und entsprechend fur y ersetzt. xi, yi bezeichnet x(ti), y(ti) als n − 1-komponentigeVektoren

(x1, ...xn−1), (y1, ...yn−1) .

Aus (5.4) werden die beiden linearen Gleichungssysteme

n−1∑

i=1

Aij yj = ai (5.8)

n−1∑

i=1

Aij xj = β yi + bi . (5.9)

Hierbei bezeichnet Aij eine Tridiagonalmatrix:

Aii = − 2

∆t2, Ai,i+1 =

1

∆t2+

α

2∆t, Ai,i−1 =

1

∆t2− α

2∆t(5.10)

138 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

Abbildung 5.1: Schiefer Wurf, numerische Losungen von (5.4) fur 10 Stutzstellen (Krei-se) im Vergleich zur exakten Losung (rot).

und

ai = −g .

Die Randbedinungungen lauten

x0 = y0 = 0, xn = L, yn = 0

und mussen in das System (5.8,5.9) eingearbeitet werden. Die linken Punkte sind inden ersten Gleichungen (i = 1) bereits berucksichtigt weil A1,0 = 0. Rechts (i = n− 1)erhalt man fur die letzte Gleichung aus (5.9)

An−1,n−1 xn−1 + An−1,n L = β yn−1 + bn−1.

5.3. FINITE DIFFERENZEN 139

Weil aber An−1,n nicht existiert (bei A handelt es sich um eine (n−1)×(n−1)-Matrix),muss die zusatzliche Inhomogenitat in bn−1 berucksichtigt werden:

bn−1 = −(

1

∆t2+

α

2∆t

)

L, bi = 0 fur i = 1...n− 2 .

Numerisch lassen sich die Gleichungen (5.8,5.9) nacheinander durch eine LAPACK-Routine, z.B. SGTSV losen, siehe Kapitel 3:

PROGRAM WURF

PARAMETER (IDIM=10) ! Anzahl der St\"utzstellen, IDIM = n-1

DIMENSION X(IDIM),Y(IDIM),DL(IDIM),DU(IDIM),D(IDIM)

G=10.

TEND=1. ! T, Intervallgrenze rechts

XL=1. ! Laenge L

WRITE(6,*) ’alpha, beta?’

READ(5,*) ALPHA,BETA

DT=TEND/FLOAT(IDIM+1) ! Zeitschritt Delta t

DT2=DT**2

C Matrix A (tridiagonal), Vektor a fuer y-Gleichungen

DO 100 I=1,IDIM

DL(I)=1./DT2-ALPHA/2./DT

DU(I)=1./DT2+ALPHA/2./DT

D(I)=-2./DT2

Y(I)=-G

100 CONTINUE

c LAPACK-Aufruf f\"ur y-Gleichungen

CALL SGTSV(IDIM,1,DL,D,DU,Y(1),IDIM,INFO)

C Matrix A (tridiagonal), Vektor b fuer x-Gleichungen

DO 110 I=1,IDIM

DL(I)=1./DT2-ALPHA/2./DT

DU(I)=1./DT2+ALPHA/2./DT

D(I)=-2./DT2

X(I)=BETA*Y(I)

YMAX=MAX(Y(I),YMAX)

110 CONTINUE

X(IDIM)=X(IDIM)-XL*(1./DT2+ALPHA/2./DT) ! Randbedingung x=L

c LAPACK-Aufruf f\"ur x-Gleichungen

140 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

CALL SGTSV(IDIM,1,DL,D,DU,X(1),IDIM,INFO)

... Ausgabe, plotten, etc...

END

Das Ergebnis fur nur 10 Stutzstellen (in der Praxis wird man wesentlich mehrverwenden) zeigt Abb.5.1 fur verschiedene Werte von α und β. Es lasst sich auch furα, β 6= 0 eine analytische Losung finden (die Gleichungen sind linear), die allerdingskomplizierter als (5.6) aussieht (Aufgaben) und die ebenfalls in der Abbildung zu sehenist. Das Differenzenverfahren scheint selbst fur eine sehr kleine Stutzstellenzahl ziemlichgenaue Resultate zu liefern. Durch die Naherungen (5.7) ist der Diskretisierungsfehler∼ ∆t oder ∼ 1/n.

5.3.2 Beispiel Schrodinger-Gleichung

In der Quantenmechanik ist man an Losungen der Schrodinger-Gleichung

[

− ~2

2m∆+ U(~r, t)

]

Ψ(~r, t) = i~∂

∂tΨ( r, t)

fur verschiedene vorgegebene Potentiale U(~r, t) interessiert. Dies ist eine partielle DGL,geht aber fur den Spezialfall einer raumlichen Dimension (x) und eines zeitunabhangi-gen Potentials V = V (x) durch die Separation

Ψ(x, t) = Φ(x) exp(−iE

~t)

mit den Abkurzungen

V (x) =2m

~2U(x), E =

2m

~2E

in die zeitunabhangige (eindimensionale) Schrodinger-Gleichung

−Φ′′(x) + V (x) Φ(x) = E Φ(x) (5.11)

uber. Hinzu kommen problemspezifische Randbedingungen an Φ. Bei (5.11) handeltes sich im Gegensatz zu (5.4) um ein homogenes Randwertproblem, allerdings mitvariablen Koeffizienten. Gl. (5.11) kann auch als lineares Eigenwertproblem

Hϕn = Enϕn

aufgefasst werden, wobei En die Eigenwerte und ϕn(x) die Eigenfunktionen des Diffe-rentialoperators (Hamilton-Operator)

H = − d2

dx2+ V (x)

5.3. FINITE DIFFERENZEN 141

bezeichnen.

Diskretisierung von (5.11) fuhrt auf ein homogenes Eigenwertproblem:∑

j

Hij Φj = E Φi (5.12)

mit der Tridiagonalmatrix

Hii =2

∆x2+ V (xi), Hi,i−1 = Hi,i+1 = − 1

∆x2(5.13)

und Φi = Φ(xi).

Stark-Effekt

Als Anwendung untersuchen wir ein Teilchen in einem eindimensionalen Potentialtopfder Lange L. Sind die Wande unendlich hoch, so muss die Aufenthaltswahrscheinlich-keit außerhalb des Topfes null sein, d.h. es ergeben sich die Randbedingungen

Φ(0) = Φ(L) = 0 . (5.14)

Legt man zusatzlich ein elektrisches Feld der Starke V0 an, so lautet das Potential in(5.11)

V (x) = V0 · (x− L/2) . (5.15)

Fur V0 = 0 kennt man die exakten Losungen

Φk(x) =

2

Lsin

Lx, Ek =

k2π2

L2, k = 1, 2, ... .

D.h. H besitzt abzahlbar unendlich viele Eigenfunktionen mit verschiedenen Eigenwer-ten. Aus der Storungstheorie berechnet man in 1. Ordnung

E(1)k =

2

L

∫ L

0

dx V (x) sin2 kπ

Lx ,

was aus Symmetriegrunden fur alle k verschwindet. Die Anderung des Spektrums istdemnach mindestens ∼ V 2

0 (quadratischer Stark-Effekt).

Die direkte numerische Losung besteht im Auffinden der Eigenwerte und Eigenvek-toren des Problems (5.12-5.14) mit

V (xi) = V0 · (i∆x− L/2), i = 1...n, ∆x =L

n+ 1.

Hierbei entspricht i = 0 dem rechten, i = n+1 dem linken Rand, bei H handelt es sichum eine n × n-Matrix. Abb.5.2 zeigt die Wahrscheinlichkeitsdichten Φ2(x) der erstendrei Zustande fur verschiedene Werte von V0. Man sieht, dass fur zunehmendes V0 dieWahrscheinlichkeitsdichten immer weiter nach links rucken, da dort das Potential einMinimum besitzt.

Zur Berechnung des Eigenwertproblems wird die LAPACK-Routine SSTEQR (re-elle, symmetrische Tridiagonalmatrix) verwendet:

142 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

Abbildung 5.2: Numerische Losungen der stationaren Schrodinger-Gl. mit (5.15). Ge-zeichnet sind die ersten drei Zustande (Wahrscheinlichkitsdichten Φ2) (schwarz, rot,grun) fur V0 = 0, 300, 1000, 5000, L = 1 (von links nach rechts)

PROGRAM POTENTIALTOPF

PARAMETER (IDIM=1000, PI=3.14159265) ! Diskretisierung mit

! IDIM Stuetzstellen

DIMENSION PSI(0:IDIM+1),DL(IDIM),D(IDIM),Z(IDIM,IDIM),

* WORK(2*IDIM)

WRITE(6,*) ’V0?’ ! Abfrage V_0

READ(5,*) V0

XL=1. ! Laenge L des Topfs

DX=XL/FLOAT(IDIM+1)

DX2=DX**2

C

DO 100 I=1,IDIM

X=FLOAT(I)*DX

DL(I)=-1./DX2 ! Matrix-Elemente

D(I)=2./DX2 + V0*(X-.5*XL)

100 CONTINUE

CALL SSTEQR(’I’,IDIM,D,DL,Z,IDIM,WORK,INFO)

c

c .. Eigenwerte in D, Eigenvektoren in Z

c .. D(K) gehoert zu Z(..,K)

c

.. plotten, Ausgabe, etc

END

Die ersten drei Energiewerte als Funktion von V0 zeigt Abb.5.3. Alle Energiewertewerden fur sehr großes V0 wieder kleiner. Dann sind auch die hoheren Zustande im

5.3. FINITE DIFFERENZEN 143

Bereich negativer Energie (links) lokalisiert.

Abbildung 5.3: Die ersten drei Eigenwerte uber V0 fur L = 1.

Harmonischer Oszillator

Die stationare Schrodinger-Gleichung des harmonischen Oszillators mit Eigenfrequenzω0 lautet [

− ~2

2m

d2

dx2+

1

2mω2

0x2

]

Φ(x) = E Φ(x)

oder, in der Skalierung von (5.11),

−Φ′′(x) + Ω20 x

2 Φ(x) = E Φ(x) (5.16)

mitΩ0 = ω0m/~ .

Das Problem gehort zu den wenigen der Quantenmechanik, die sich exakt losen lassen.Man erhalt die aquidistanten Eigenwerte (Energie-Niveaus)

Eexk = Ω0(1 + 2k), k = 0, 1, ...

sowie die hermitschen Polynome als Eigenfunktionen. Wir wollen aber auch hier einenumerische Losungen suchen und nachher das quadratische Potential verallgemeinern.Ein Problem bei der Losung von (5.16) besteht darin, dass jetzt asymptotische Rand-bedingungen der Form

limx→±∞

Φ(x) = 0

vorliegen, man also im Prinzip einen unendlich großen x-Bereich L hatte. In der Praxiskann man L so groß wahlen, dass die Wellenfunktionen beinahe null bei x = ±L/2sind und dann die Randbedingungen

Φ(L/2) = Φ(−L/2) = 0 (5.17)

144 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

verwenden, was wieder einem unendlichen hohen Potentialtopf mit einem quadratischenPotential im Innern entspricht. Wir konnen dasselbe Programm wie fur den Stark-Effekt verwenden und mussen nur das Potential entsprechend verandern. Es empfiehltsich allerdings, x = 0 in die Mitte des Kastens zu legen. Den Wert fur L bestimmtman am besten durch Ausprobieren. Abb. 5.4 zeigt die ersten drei Wahrscheinlich-keitsdichten sowie die 50.. Es gilt zu beachten, dass die raumliche Ausdehnung derWellenfunktionen mit k zunimmt. Um also die hoheren Zustande und Energien zu be-rechnen, muss man L entsprechend groß wahlen. Tabelle 5.1 zeigt die Energiewerte derersten 10 sowie des 50. Niveaus im Vergleich zu den exakten Werten. Die relativen Ab-weichungen bleiben deutlich unter einem Prozent. Das Programm verwendet n = 1000Stutzstellen im gesamten Intervall.

Abbildung 5.4: Die ersten drei Eigenfunktionen Φ2 sowie die 50. beim harmonischenOszillator, L = 30, Ω0 = 1, 1000 Stutzstellen.

5.3. FINITE DIFFERENZEN 145

Zustand k Ek (numerisch) Eexk = 1 + 2k Fehler |Ek − Eex

k |/Ek

0 0.999717832 1 -2.82168388E-041 2.99929714 3 -2.34285995E-042 4.99920225 5 -1.59549716E-043 6.99843979 7 -2.22887305E-044 8.99729633 9 -3.00407410E-045 10.9976883 11 -2.10155136E-046 12.9952221 13 -3.67531407E-047 14.9935150 15 -4.32332366E-048 16.9906712 17 -5.48755401E-049 18.9886627 19 -5.96698956E-04... ... ... ...49 96.7354813 97 -2.72699725E-03

Tabelle 5.1: Energieniveaus harmonischer Oszillator, Differenzenverfahren verglichenmit den exakten Werten.

Abbildung 5.5: Die ersten 100 Energiewerte fur verschiedene Potentiale (5.18), schwarz:p = 3/2, rot: p = 2, grun: p = 3, blau: p = 4.

Anharmonischer Oszillator

Wir konnen jetzt andere Potentiale untersuchen. Abb.5.5 zeigt die ersten 100 Niveausfur Potentiale der Form

V (x) = Ω20 |x|p (5.18)

fur Ω0 = 1 und p = 3/2, 2, 3, 4. Je großer p, desto schneller steigen die Energienan, klassisch wird die Feder “harter” bei großeren Amplituden. Deutlich ist auch eineAbweichung fur p = 3/2 ab k ≈ 70 zu erkennen. Hier sind die Wellenfunktionen bereitszu breit fur das Gebiet L = 30, sodass die genaherten Randbedingungen (5.17) das

146 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

Ergebnis verzerren.

5.4 Methode der gewichteten Residuen

5.4.1 Verschiedene Verfahren

Der Grundgedanke hinter der Methode der gewichteten Residuen (Weighted ResidualMethod, WRM) besteht darin, Differentialgleichungen der Form

L(dx)y(x) = b(x) (5.19)

naherungsweise im Bereich X durch einen Ansatz (Testfunktion)

y = y(a1, a2, ...aN , x) (5.20)

zu losen und die N freien Parameter ak so zu bestimmen, dass das Residuum (Rest)

R(x) = L y − b

auf verschiedene Gewichtsfunktionen wk(x) projeziert verschwindet:

Rk =

X

dx R(x)wk(x) = 0, k = 1..M . (5.21)

Wenn die Anzahl der Gewichtsfunktionen M gleich der Anzahl der Paramater N ist,lassen sich die ak aus den N Gleichungen (5.21) bestimmen.

Speziell untersuchen wir in diesem Abschnitt lineare Differentialoperatoren L, sowiefur (5.20) lineare Ansatze der Form

y(x) =N∑

i=1

aiϕi(x) (5.22)

mit linear unabhangigen Basisfunktionen ϕi(x). Dann wird aus (5.21) das lineare Glei-chungssystem

N∑

j=1

Lij aj = bi (5.23)

mit den Matrixelementen

Lij =

X

dx wi(x)L(dx)ϕj(x)

und

bi =

X

dx wi(x) b(x) .

Handelt es sich bei L um einen nichtlinearen Operator, so erhalt man anstatt (5.23)ein nichtlineares algebraisches System fur die Parameter ak, welches sich in der Regelnur noch iterativ losen lasst.

5.4. METHODE DER GEWICHTETEN RESIDUEN 147

Das Verfahren lasst sich leicht auf partielle DGLs verallgemeinern; man kann dieBasisfunktionen von mehreren Variablen x, y, z abhangen lassen, fur zeitabhangige Pro-bleme werden die Parameter ak Funktionen von t.

Je nach Gewichtsfunktionen unterscheidet man zwischen verschiedenen WRMs. Wirnennen die wichtigsten:

1. Subdomain-Methode. Man wahlt die wk(x) so, dass sie in N bestimmten Be-reichen Di von X (die sich uberlappen konnen) gleich Eins sind, sonst verschwin-den:

wk(x) =

1 wenn x ǫ Dk

0 sonst

Somit lassen sich Losungen finden, die in bestimmten Bereichen hohe Genauigkeitbesitzen, in anderen dafur nicht (Stromungsprobleme).

2. Die Collocation-Methode kann als Spezialfall von 1. betrachtet werden, wennman die Dk punktformig wahlt

wk(x) = δ(x− xk)

mit der Dirac’schen Delta-Funktion δ(x). Wegen (5.21) bedeutet das

R(xk) = 0

undLij = L(dx)ϕj(x)

∣∣∣x=xi

, bi = b(xi) .

3. Least-Squares-Methode. Anstatt (5.21) direkt zu fordern, kann man auch dasmittlere quadratische Residuum

S =

X

dx R2(x) (5.24)

minimieren und aus∂S

∂ai= 0

die ai bestimmen. Mit (5.24) ergibt sich

∂S

∂ai= 2

X

dx R(x)∂R

∂ai= 0 .

Ein Vergleich mit (5.21) ergibt

wi =∂R

∂ai, (5.25)

(die Zwei spielt keine Rolle). Wenn man also die Gewichtsfunktionen wie (5.25)wahlt, wird S minimiert und gleichzeitig (5.21) erfullt.

4. Galerkin-Methode. Hier sind die Gewichts- und Basisfunktionen identisch:

wk(x) = ϕk(x) , k = 1..N .

Wegen (5.21) steht das Residuum senkecht auf dem durch die Basisfunktionenaufgespannten Unterraum. Wahlt manN immer großer, so wird dieser Unterraumimmer “vollstandiger” und das Residuum R(x) muss fur N → ∞ verschwinden.

148 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

5.4.2 Beispiel Stark-Effekt

Wir berechnen den Grundzustand und den ersten angeregten Zustand von

−Φ′′(x) + V0 · (x− 1/2)Φ(x) = E Φ(x), Φ(0) = Φ(1) = 0 , (5.26)

entsprechend dem Stark Effekt im unendlich hohen Potentialtopf mit L = 1. Als Test-funktion verwenden wird ein Polynom 3. Ordnung

Φ(x) = a0 + a1 x+ a2 x2 + a3 x

3 .

Soll Φ die Randbedingungen erfullen, ergibt sich

a0 = 0, a3 = −a1 − a2 ,

alsoΦ = a1 ϕ1 + a2 ϕ2

mit den Basisfunktionen

ϕ1 = x− x3, ϕ2 = x2 − x3 .

Da es sich bei (5.26) im Gegensatz zu (5.19) um ein homogenes Problem handelt,werden wir anstatt (5.23) ein lineares Eigenwertproblem der Form

2∑

j=1

(Lij − Eδij) aj = 0 (5.27)

erhalten. Die Matrixelemente Lij hangen dabei vom Verfahren ab. Wir bestimmen imFolgenden die beiden Eigenwerte E aus der quadratischen Gleichung

Det (Lij − Eδij) = 0 . (5.28)

1. Subdomain-Methode. Fur die beiden Bereiche

D1 : 0 ≤ x ≤ 1/2, D2 : 1/2 < x ≤ 1

ergibt sich

E0,1 = 30∓ 1

10

32400 + 5V 20 .

2. Die Collocation-Methode mit x1 = 1/4, x2 = 3/4 liefert

E0,1 =64

3∓ 1

12

16384 + 9V 20 .

3. Bei der Least-Squares-Methode hangen die Gewichtsfunktionen wk von E ab:

w1 = 6x+(V0·(x−1/2)−E)·(x−x3), w2 = 6x−2+(V0·(x−1/2)−E)·(x2−x3)

und aus (5.28) resultiert ein Polynom 4. Grades fur E. Um die Eigenwerte zubestimmen erscheint diese Methode schlecht geeignet, weshalb wir sie hier nichtweiter verfolgen wollen.

5.4. METHODE DER GEWICHTETEN RESIDUEN 149

4. Galerkin-Methode. Mit der Wahl

wk = ϕk

ergibt sich

E0,1 = 26∓√

256 +V 20

28.

Naturlich hangen die Ergebnisse vom Verfahren ab. Man muss auch beachten, dass wirnur zwei Basisfunktionen verwendet haben, was von vorne herein genauere Resultateausschließt. Abb.5.6 vergleicht die drei Verfahren mit den Ergebnissen des Differen-zenverfahrens aus dem vorigen Abschnitt. In Tabelle 5.2 sind die jeweiligen Werte desungestorten Problems V0 = 0 aufgefuhrt.

Alle Verfahren liefern eine quadratische Abhangigkeit von V0 sowie das richtige Vor-zeichen fur die Krummung. Der erste angeregte Zustand ist nicht genau, was aber durchdie Testfunktion mit nur zwei freien Parametern nicht verwundern kann. Die Grund-zustandsenergie stimmt dagegen erstaunlich gut, zumindest beim Galerkin-Verfahren.Bei den beiden anderen Verfahren herrscht noch weitere Freiheit in der Wahl der Un-terbereiche, bzw. der Collocation-Punkte.

Abbildung 5.6: Stark-Effekt, die Verfahren im Vergleich, Energie des Grunzustandsund des 1. angeregten Zustands uber V0, schwarz: Finite Differenzen, rot: Subdomain,grun: Collocation, blau: Galerkin.

150 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

exakt Subdomain Collocation Galerkin

E0 π2 ≈ 9.87 12.0 10.7 10.0E1 4π2 ≈ 39.5 48.0 32.0 46.0

Tabelle 5.2: Die ersten beiden Energieniveaus bei V0 = 0 fur die verschiedenen Verfah-ren.

5.5 Nichtlineare Randwertprobleme

Bisher haben wir lineare Probleme der Form (5.19) untersucht. Dies wollen wir jetztauf bestimmte nichtlineare Probleme

L(dnx)y(x) + g(y, dn−1x y, ..) = b(x) (5.29)

erweitern wobei L einen linearen Differentialoperator bezeichnet und die hochste vor-kommende Ableitung beinhalten soll. Die nichtlineare Funktion g soll mindestens bili-near in y und seinen Ableitungen sein. Unabhangig vom verwendeten Verfahren wirdman nach Diskretisierung ein nichtlineares, algebraisches Gleichungssystem erhalten.

5.5.1 Nichtlineare Systeme

Es gibt keine allgemeine Vorgehensweise zur Losung nichtlinearer algebraischer Syste-me. Dies macht man sich leicht an einem Beispiel aus nur zwei Gleichungen klar. Seieine Losung von

f(x, y) = 0

g(x, y) = 0 (5.30)

gesucht mit beliebigen nichtlinearen Funktionen f, g in den beiden Variablen x, y. Gra-phisch lassen sich die Nullstellen als Schnittpunkte der Nullklinen bestimmen, Abb.5.7. Allerdings sind die Funktionen f und g vollstandig unabhangig voneinander. DieNullklinen jeder Funktion konnen eine beliebige Anzahl von nicht zusammenhangen-den, geschlossenen Linien bilden. Es kann also schon bei zwei Gleichungen keine, eine,mehrere oder sogar unendlich viele Losungen geben.

Man erkennt, dass ohne zusatzliche Information eine Losung von (5.30) praktischunmoglich wird. Diese zusatzliche Information kann in der ungefahren Lage der gesuch-ten Nullstelle bestehen. Man benotigt also einen Startwert x0, y0 und versucht danniterativ die Losung von (5.30) zu erreichen.

5.5.2 Newton-Raphson

Die Newton- oder Newton-Raphson-Methode ist bekannt zur iterativen Bestimmungder Nullstellen einer Funktion

f(x) = 0 . (5.31)

5.5. NICHTLINEARE RANDWERTPROBLEME 151

x

y"beinahe Nullstelle"

doppelte Nullstelle

Abbildung 5.7: Nullklinen zweier Funktionen f(x, y) = 0 (durchgezogen) und g(x, y)=0(gestrichelt). Die Schnittpunkte entsprechen den simultanen Losungen von (5.32). Wieman sieht, kann es sehr viele Losungen geben, dabei auch “beinahe-Losungen” unddoppelte Nullstellen. Die iterativ gefundene Losung wird stark vom Startwert x(0), y(0)

abhangen.

Sei x(0) ein (Start-) Wert in der Nahe der Nullstelle xk, so gilt in seiner Umgebung

f(x(0) + δx) = f(x(0)) + dxf(x(0)) δx+ .... (5.32)

Man kennt f(x(0)) und dxf an der Stelle x(0). Nun lasst sich aus der Forderung

f(x(0) + δx) = 0

δx bestimmen:

δx = − f(x(0))

dxf(x(0))(5.33)

und damit die Nullstellexk = x(0) + δx . (5.34)

Wegen Vernachlassigung der hoheren Ordnungen in (5.32) wird man die Nullstellenaturlich nicht exakt erreichen, es ergibt sich ein Naherungswert xk. Allerdings wirdxk naher an der tatsachlichen Nullstelle liegen als der Startwert x(0). Geht man mit xk

wieder in die Formel (5.33), so wird man einen noch besseren Wert bekommen usw. Esergibt sich die Iterationsvorschrift

x(i+1) = x(i) − f(x(i))

dxf(x(i))(5.35)

152 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

wobei die Folge x(i) gegen die Nullstelle xk konvergiert. Als Abbruchkriterium gilt

|δx(i)| = |x(i+1) − x(i)| < ǫ

mit vorgegebener Genauigkeit ǫ. Besitzt (5.31) mehrere Losungen, so wird die gefun-dene Nullstelle vom Anfangswert x(0) abhangen.

Das Newton-Raphson-Verfahren lasst sich auf Gleichungssysteme mit N Gleichun-gen und Variablen verallgemeinern:

fi(x1, x2, ...xN ) = 0 i = 1..N . (5.36)

Anstatt (5.32) ergibt sich dann

fi(~x(0) + δ~x) = fi(~x

(0)) +N∑

j=1

∂fi∂xj

δxj + .... (5.37)

und darausN∑

j=1

αijδxj = −fi (5.38)

mit der Matrix

αij =∂fi∂xj

. (5.39)

Zur Betimmung der δxi muss man also bei jedem Iterationsschritt ein inhomogenesGleichunggsystem losen, was mit den in Kapitel 3 vorgestellten Methoden erreichtwird. Aus δxi ergibt sich dann wie (5.35)

~x (i+1) = ~x (i) + δ~x (i) .

5.5.3 Beispiel: nichtlineare Schrodinger-Gleichung

Als Beispiel untersuchen wir die nichtlineare Schrodinger-Gleichung

−Φ′′ + γ |Φ|2Φ = EΦ , (5.40)

die als Modell fur ein geladenes Teilchen in einer selbsterzeugten Ladungswolke mitdem Potential

V = γ |Φ2|verwendet werden kann. Man kann Φ reell wahlen und erhalt

−Φ′′ + γ Φ3 = EΦ . (5.41)

Anwendung des Differenzenverfahrens aus Abschn.5.3.2 ergibt das algebraische System

fi(Φ1,Φ2...ΦN ) =N∑

j

Lij Φj − γ Φ3i = 0 (5.42)

5.5. NICHTLINEARE RANDWERTPROBLEME 153

mit der Tridiagonal-Matrix

Lii = − 2

∆x2+ E , Li,i+1 = Li,i−1 =

1

∆x2. (5.43)

Fur die Matrix α erhalt man mit (5.42)

αij =∂fi∂Φj

= Lij − 3 δij γ Φ2i

mit dem Kronecker-Symbol δij. Das je Iteration zu losende lineare System lautet dem-nach

N∑

i

αij δΦj = −fi .

Daraus ergibt sich die Iterationsvorschrift

Φ(k+1)i = Φ

(k)i + δΦi .

Analytische Losungen

Wir haben gesehen, dass man gewisse Vorstellungen der Losungen als Startwert der Ite-ration benotigt. Fur die nichtlineare Schrodinger-Gleichung kennt man zwei analytischeLosungen.

Multiplikation von (5.41) mit Φ′ ergibt nach Integration

(Φ′)2 = C − EΦ2 +γ

2Φ4

mit der Integrationskonstanten C, was sich durch Separation der Variablen losen lasst.Speziell unterscheidet man fur C = 0 die beiden Falle

1. E > 0, γ > 0, abstoßendes Potential, freie Losung,

Φ(x) =

E

γtanh

(√

E

2(x− x0)

)

. (5.44)

2. E < 0, γ < 0, anziehendes Potential, gebundene Losung, “Selbstfokusierung”.

Φ(x) =

2E

γ

1

cosh(√

−E (x− x0)) . (5.45)

Hierbei enstpricht (5.44) einer Front bei x = x0, die die beiden asymptotischen Losun-gen Ψ(x → ±∞) = ±1 miteinander verbindet, (5.45) einer um x = x0 lokalisiertenWellenfunktion, Abb.5.8.

154 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

x

Φ

x

Φ

Abbildung 5.8: Links: Front fur E, γ > 0 und rechts: Puls fur E, γ < 0 als exakteLosungen der nichtlinearen Schrodinger-Gleichung.

Numerische Umsetzung

Wir untersuchen zuerst den Fall 1., E, γ > 0.

Bei der Frontenlosung verschwinden die Ableitungen im Unendlichen. Wir verwen-den wieder den Trick, die asymptotischen Randbedinungungen durch Bedingungen beix = ±L/2 mit großem L zu nahern, d.h. wir fordern

dxΦ|x=−L/2 = 0, → Φ0 = Φ1, dxΦ|x=L/2 = 0, → ΦN+1 = ΦN . (5.46)

Dies lasst sich in die Differenzenmatrix (5.43) einarbeiten, indem man das erste unddas letzte Diagonalelement abandert:

L11 = LNN = − 2

∆x2+ E +

1

∆x2.

Das Programm:

PROGRAM NLS

PARAMETER (IDIM=100, PI=3.14159265)

DIMENSION PHI(0:IDIM+1),F(IDIM),DL(IDIM),DU(IDIM),D(IDIM),

* XP(0:IDIM+1)

WRITE(6,*) ’GAMMA, E?’

READ(5,*) GAMMA,E ! Parameter gamma und E

XL=10. ! Laenge L

DX=XL/FLOAT(IDIM+1)

DX2=DX**2

C Startwert fuer Phi

5.5. NICHTLINEARE RANDWERTPROBLEME 155

DO 10 I=1,IDIM

X=FLOAT(I-IDIM/2)*DX

PHI(I)=X/XL

10 CONTINUE

N=0

c Iterationsschleife

20 PHI(0)=PHI(1) ! Randbedingungen Steigung =0

PHI(IDIM+1)=PHI(IDIM)

DO 100 I=1,IDIM

DL(I)=1./DX2

DU(I)=1./DX2

D(I)=-2./DX2+E-3.*GAMMA*PHI(I)**2

F(I)=-(PHI(I-1)+PHI(I+1)-2.*PHI(I))/DX2

* -E*PHI(I)+GAMMA*PHI(I)**3

100 CONTINUE

D(IDIM)=D(IDIM)+1./DX2 ! Randbedingungen

D(1)=D(1)+1./DX2

CALL SGTSV(IDIM,1,DL,D,DU,F,IDIM,INFO)

S=0.

DO 110 I=1,IDIM

S=S+ABS(F(I))

PHI(I)=PHI(I)+F(I)

110 CONTINUE

S=S/FLOAT(IDIM)

N=N+1

WRITE(6,*) N,S

IF(S.GT.1.E-5) GOTO 20 ! Abbruchkriterium

c graphische Ausgabe

DO 200 I=0,IDIM+1

XP(I)=FLOAT(I)*DX

PHIM=MAX(PHIM,PHI(I))

200 CONTINUE

C

CALL PGBEGIN(0,’/xwin’,1,1)

CALL PGPAP(10.,1.)

CALL PGSWIN(0.,XL,-PHIM*1.1,PHIM*1.1)

CALL PGBOX(’ABCNT’,0.,0,’ABCNT’,0.,0)

CALL PGLINE(IDIM+2,XP,PHI)

CALL PGEND

END

156 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

Je nach Parameter erhalt man verschiedene Losungen. Die analytische ist auchdabei (Abb.5.9).

x

Φ

x

Φ

Abbildung 5.9: Zwei Losungen der nichtlinearen Schrodinger-Gleichung. Links: Frontfur E = 1/2, γ = 1 und rechts fur E = 1, γ = 1. Die linke Kurve entspricht deranalytischen Losung (5.44).

Der 2. Fall, E, γ < 0:

Bei den lokalisierten Losungen verschwinden die Wellenfunktionen im Unendlichen.Wir setzen deshalb

Φ|x=−L/2 = 0, → Φ0 = 0, Φ|x=L/2 = 0, → ΦN+1 = 0 . (5.47)

Diese Randbedingungen sind in der Tridiagonalmatrix automatisch enthalten.

Das Programm sieht jetzt so aus:

PROGRAM NLS

.......

C Startwert fuer Phi

DO 10 I=1,IDIM

X=FLOAT(I-IDIM/2)*DX

PHI(I)=COS(PI*X/XL)

10 CONTINUE

N=0

c Iterationsschleife

20 PHI(0)=0 ! Randbedingungen Phi =0

PHI(IDIM+1)=0

5.6. SCHIESSVERFAHREN 157

DO 100 I=1,IDIM

DL(I)=1./DX2

DU(I)=1./DX2

D(I)=-2./DX2+E-3.*GAMMA*PHI(I)**2

F(I)=-(PHI(I-1)+PHI(I+1)-2.*PHI(I))/DX2

* -E*PHI(I)+GAMMA*PHI(I)**3

100 CONTINUE

CALL SGTSV(IDIM,1,DL,D,DU,F,IDIM,INFO)

....

....

....

END

Man beachte die andere Anfangsbedingung, die jetzt “in der Nahe” der zu erwar-tenden, lokalisierten Losung liegt.

Auch hier hangen die gefundenen Losungen wieder stark von den Parametern ab. Soerhalt man fur γ = −1, E = −1 die analytische Pulslosung, dagegen fur γ = −1, E =−2 numerischen Schrott, der allerdings auch die Abbruchbedingung erfullt (Abb.5.10).

x

Φ

x

Φ

Abbildung 5.10: Zwei Losungen im Bereich gebundener Zustande. Links: Puls fur E =−1, γ = −1, rechts numerischer Schrott fur E = −2, γ = −1. Die Rechnung erfolgtemit 100 Stutzstellen.

5.6 Schießverfahren

Beim Schießverfahren (engl.: Shooting Method) sucht man die Losung eines Randwert-problems durch iteratives Losen von Anfangswertproblemen. Die Anfangsbedingungen

158 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

werden dabei solange variiert, bis die Randbedingungen erfullt sind. Wir machen einBeispiel:

y

s

s

s

a

10

2

1

2

3f(s )

x

b

Abbildung 5.11: Schießverfahren, verschiedene Losungen, die nur die linke Randbedin-gung als Anfangswert erfullen.

Gesucht sei die Losung y(x) einer DGL 2. Ordnung in 0 ≤ x ≤ 1:

y′′ = f(y, y′, x)

mit den Randbedingungen

y(0) = a, y(1) = b .

Das Problem ist aquivalent zu

y′1 = y2

y′2 = f(y1, y2, x) . (5.48)

Man integriert (5.48) z.B. mit RK4 numerisch bis x = 1 mit den Anfangsbedingungen

y1(0) = a, y2(0) = s

fur verschiedene Werte von s (Abb.5.11) und erhalt am rechten Rand

yR(s) = y1(x = 1, s) .

Es gilt jetzt, dasjenige s zu finden, welches yR = b erfullt. M. a. W. sucht man eineNullstelle der Funktion

f(s) = yR(s)− b ,

5.6. SCHIESSVERFAHREN 159

wozu man die Newton-Raphson Methode verwendet:

s(i+1) = s(i) − f(s)

f ′(s)

Allerdings lasst sich f ′ im Allg. nicht angeben, sodass man hier den Differenzenquoti-enten

f ′(s) ≈ f(s+∆s)− f(s)

∆s

verwendet, man benotigt also je Integrationsschritt zwei verschiedene numerische Losun-gen fur s und s+∆s von (5.48).

5.6.1 Beispiel: senkrechter Fall mit quadratischer Reibung

Ein Fallschirmspringer springt aus 1000 m Hohe aus einem still stehenden Hubschrau-ber zum Zeitpunkt t = 1 Minute vor funf. Auf welcher Hohe yf muss er den Fallschirmauslosen, um nach einer Minute punktlich zum Funf-Uhr-Tee, auf der Hohe y = 0 zulanden? Der Flug soll ohne Fallschirm ohne Reibung, mit geoffnetem Fallschirm miteiner Reibung quadratisch in der Geschwindigkeit statt finden.

Das Problem lasst sich als Randwertproblem

y = −f(y, y, yf ) y − g (5.49)

(α = 0.1/m, g = 10m/s2) mit den Randbedingungen

y(t = 0) = 1000 m, y(t = 0) = 0, y(t = 60s) = 0

formulieren. Die Funktion f berucksichtigt die Reibung:

f =

0 wenn y > yf

α |y| wenn y ≤ yf.

Das Problem scheint zunachst uberbestimmt, da die Losung einer DGL 2. Ordnungdrei Randbedingungen erfullen soll. Allerdings besteht noch ein weiterer Freiheitsgradin der Wahl von yf .

Einfuhren dimensionsloser Variablen

y = ℓ y, t = τ t

ergibt mit der Wahlℓ = 1/α, τ = 1/

√gα

die Gleichung¨y = −f ˙y − 1 ,

mit

f =

0, y > yf|y|, y ≤ yf

,

160 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

oder analog zu (5.48)

y′1 = y2

y′2 = −f y2 − 1 (5.50)

undy1(0) = 100, y2(0) = 0, y1(t = 60) = 0 .

Die Gleichungen (5.50) werden mit den Anfangsbedinungen y1 = 100, y2 = 0mittels RK4 fur 100 verschiedene yk von 0 bis 100 numerisch bis t = 60 integriert:

PROGRAM FALLSCHIRM

DIMENSION Y(2),AUX(10),YFP(0:100),YR(0:100)

EXTERNAL EQS ! Subroutine f\"ur die Gleichungen

COMMON /PARAM/ YF

C

T1=60. ! Landezeitpunkt

DT=T1/1000.

C

DO 10 I=0,100

YF=FLOAT(I) ! Hoehe fuer Fallschirm

Y(1)=100. ! Anfangsbedingungen (skaliert)

Y(2)=0.

DO 100 K=1,1000

CALL RKG(Y,T,2,DT,AUX,EQS) ! RK4 von 0 bis T1

100 CONTINUE

YR(I)=Y(1) ! Endpunkt merken

YFP(I)=YF

YMIN=MIN(YMIN,Y(1))

YMAX=MAX(YMAX,Y(1))

10 CONTINUE

C und plotten....

C CALL PGBEGIN(0,’/xwin’,1,1)

CALL PGBEGIN(0,’/cps’,1,1)

CALL PGPAP(6.,1.)

CALL PGSWIN(0.,100.,YMIN,YMAX)

CALL PGBOX(’ABCNT’,0.,0,’ABCNT’,0.,0)

CALL PGLINE(101,YFP,YR)

CALL PGEND

END

5.6. SCHIESSVERFAHREN 161

SUBROUTINE EQS(RHSIDE,Y,T)

C

DIMENSION RHSIDE(2),Y(2)

COMMON /PARAM/ S

C

RHSIDE(1)=Y(2)

IF(Y(1).GT.S) THEN ! freier Fall oder Fallschirm

RHSIDE(2)=-1.

ELSE

RHSIDE(2)=-ABS(Y(2))*Y(2)-1.

ENDIF

RETURN

END

Die nach t = 60 erreichte Hohe zeigt Abb.5.12.

Abbildung 5.12: y(t1) uber yf , dimensionslose Einheiten.

Der richtige Wert liegt bei 50, welcher jetzt durch ein Newton-Raphson-Verfahrengenau berechnet wird:

162 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

PROGRAM FALLSCHIRM

DIMENSION Y(2),AUX(10),YR(2),YP(1000),TP(1000)

EXTERNAL EQS ! Subroutine f\"ur die Gleichungen

COMMON /PARAM/ YFL

C

T1=60. ! Landezeitpunkt

DT=T1/5000.

C

YF=90. ! Startwert Newton

DYF=1.

1 YFL=YF

DO 10 I=1,2

Y(1)=100. ! Anfangsbedingungen (skaliert)

Y(2)=0.

DO 100 K=1,5000

CALL RKG(Y,T,2,DT,AUX,EQS) ! RK4 von 0 bis T1

100 CONTINUE

YR(I)=Y(1) ! Endpunkt merken

YFL=YFL+DYF

10 CONTINUE

C Newton

DEL=YR(1)/(YR(2)-YR(1))*DYF

YF=YF-DEL

WRITE(6,*) YR,YF

IF(ABS(DEL).GT.0.1) GOTO 1

C und plotten....

Y(1)=100.

Y(2)=0.

YFL=YF

DT=T1/1000.

DO 200 K=1,1000

CALL RKG(Y,T,2,DT,AUX,EQS) ! RK4 von 0 bis T1

TP(K)=FLOAT(K-1)*DT

YP(K)=Y(1)

200 CONTINUE

C CALL PGBEGIN(0,’/xwin’,1,1)

CALL PGBEGIN(0,’/cps’,1,1)

CALL PGPAP(6.,1.)

CALL PGSWIN(0.,T1,0.,110.)

5.6. SCHIESSVERFAHREN 163

CALL PGBOX(’ABCNT’,0.,0,’ABCNT’,0.,0)

CALL PGLINE(1000,TP,YP)

CALL PGEND

END

Bei einer Genauigkeit von 0.1 benotigt das Newton-Verfahren 4 Schritte zur Kon-vergenz. Es ergibt sich ein Wert von

yf = 51.8

nach Ruckskalierung also eine Hohe von 518 m bei der der Fallschirm geoffnet werdensollte. Die Flugbahn fur diesen Wert zeigt Abb.5.13.

Abbildung 5.13: Flugbahn fur den richtigen Wert yf = 51.8.

5.6.2 Gleichungssysteme

Bisher haben wir eine Gleichung zweiter Ordnung, bzw. zwei Gleichungen erster Ord-nung untersucht. Der allgemeine Fall besteht aus N Gleichungen 1. Ordnung

dyidx

= fi(y1, y2...yN , x), i = 1...N . (5.51)

164 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

Gesucht sei eine Losung im Intervall a ≤ x ≤ b. Wir nehmen lineare, separierbareRandbedingungen an, wobei am linken Rand

A~y(a) = ~a (5.52)

n1 Bedingungen, am rechten Rand

B ~y(b) = ~b (5.53)

n2 = N − n1 Bedingungen erfullt sein sollen. Bei A und B handelt es sich um nicht-quadratische Matrizen mit N × n1, bzw. N × n2 Elementen. Aus (5.52) lassen sich n1

der yi als Anfangswert eindeutig als Funktion der anderen n2 yi festlegen. Die freien yilassen sich in einen n2-komponentigen Vektor ~V zusammenfassen. Durch numerischeIntegration von (5.51) erhalt man am rechten Rand

yRi (~V ) = yi(x = b, ~V ) .

Diese ~yR sollen die n2 rechten Randbedingungen erfullen:

B ~yR(~V ) = ~b ,

was der Nullstellensuche der Funktionen

~f(~V ) = B ~yR(~V )−~b (5.54)

entspricht. Bei (5.54) handelt es sich um n2 Gleichungen fur die n2 Komponenten von~V . Die Newton-Raphson-Methode liefert ein Iterationsverfahren gemaß

α δ~V (i) = −~f(~V (i))

und~V (i+1) = ~V (i) + δ~V (i)

mit der n2 × n2-Matrix

αkℓ =∂fk∂Vℓ

.

Da f nur numerisch bekannt ist, lassen sich die Ableitungen nach Vℓ nicht analytischdurchfuhren. Man nahert durch den Differenzenquotienten

∂fk∂Vℓ

≈ fk(V1, ...Vℓ +∆Vℓ, ...Vn2)− fk(V1, ...Vℓ...Vn2)

∆Vℓ

,

muss also fur jeden Iterationsschritt das System (5.51) insgesamt n2+1 mal integrieren.

5.6.3 Programm

Ein Programm dazu:

5.6. SCHIESSVERFAHREN 165

C

SUBROUTINE SHOOT(Y,N,N2,V,DV,X1,X2,NX,F,AUX,AUX1,EQ)

C

C Berechnet einen Schuss von X1 nach X2 fuer N gekoppelte Gleichungen

C

C Y(N) abhaengige Variable

C N Anzahl der abh. Variablen (Input)

C N2 Bedingungen auf der echten Seite X=X2 (Input)

C V(N2) Die N2 Startwerte links, X=X1 (input/output)

C DV(N2) Die N2 Aenderung von V, Newton Raphson (input)

C X1,X2 Bereich f. X (input)

C NX Anzahl der X-Schritte in X1,X2 (input)

C F(N2) Zielfunktion, Korrekturen (output)

C AUX(5*N) Hilfsfeld

C AUX1(N2*N2) Hilfsfeld

C EQ Runge-Kutta-Subroutinen (EXTERNAL) (input)

DIMENSION Y(N),V(N2),DV(N2),F(N2),AUX(5*N),AUX1(N2,N2)

EXTERNAL EQ

C

DX=(X2-X1)/FLOAT(NX-1)

CALL BCLEFT(Y,V,X1) ! hier werden die Startwerte gesetzt

CALL RUNGE(Y,N,X1,DX,NX,AUX,EQ) ! Integriert von X1 bis X2 in NX Schritten

CALL BCRIGT(Y,F,X2) ! In F stehen dann die Abweichungen

C

C Newton-Raphson

DO 10 I=1,N2

VI=V(I)

V(I)=V(I)+DV(I) ! neuer Startwert fuer Diff-Quoz.

CALL BCLEFT(Y,V,X1)

CALL RUNGE(Y,N,X1,DX,NX,AUX,EQ)

CALL BCRIGT(Y,AUX,X2)

DO 20 J=1,N2

AUX1(J,I)=(AUX(J)-F(J))/DV(I) ! Matrix alpha

20 CONTINUE

V(I)=VI ! alter Wert zuruecksetzen

10 CONTINUE

DO 30 I=1,N2

F(I)=-F(I)

30 CONTINUE

C

IF(N2.EQ.1) THEN ! nur eine Gleichung

F(1)=F(1)/AUX1(1,1)

166 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

ELSE ! ansonsten lineares Gleichungss.

CALL SGESV(N2,1,AUX1,N2,AUX,F,N2,INFO)

ENDIF

C

DO 40 I=1,N2

V(I)=V(I)+F(I) ! Korrektur von V

40 CONTINUE

C

RETURN

END

SUBROUTINE RUNGE(Y,N,X1,DX,NX,AUX,EQ)

c Integriert von X1 bis X2 in NX Schritten

DIMENSION Y(*),AUX(*)

EXTERNAL EQ

C

X=X1

DO 10 I=1,NX

CALL RKG(Y,X,N,DX,AUX,EQ)

X=X+DX

10 CONTINUE

RETURN

END

Zusatzlich mussen noch die Werte links (Startwerte), sowie die Abweichungen rechtsin Form von Unterprogrammen vorgegeben werden. Hierbei stehen die zu variierendenWerte im Feld V(N2), F(N2) entspricht den Funktionen (5.54):

SUBROUTINE BCLEFT(Y,V,X1)

C

DIMENSION Y(*),V(*)

C

Y(1)= ...

Y(2)= ....

....

RETURN

END

SUBROUTINE BCRIGT(Y,F,X2)

C

DIMENSION Y(*),F(*)

C

5.6. SCHIESSVERFAHREN 167

F(1)= ...

F(2)= ...

....

RETURN

END

Beispiel Schiefer Wurf

Als Anwendung kommen wir auf den Schiefen Wurf zuruck. Hier werden links 2 Variablevariiert, die beiden Geschwindigkeiten. Das Intervall geht von null bis eins. Rechts mussder Abstand von x = L, y = 0 minimiert werden, d.h.

f1 = x(1)− L, f2 = y(1)

Das Programm sieht so aus:

PROGRAM WURF

DIMENSION Y(4),V(2),DV(2),F(2),AUX(20),AUX1(4)

EXTERNAL EQS ! Subroutine f\"ur die Gleichungen

COMMON /PARAM/ ALPHA,BETA,G

C

G=10.

WRITE(6,*)’ALPHA, BETA?’

READ(5,*) ALPHA,BETA

c

X1=0.

X2=1.

V(1)=0.

V(2)=1.

DV(1)=0.01

DV(2)=0.01

10 CALL SHOOT(Y,4,2,V,DV,X1,X2,100,F,AUX,AUX1,EQS)

C

DIFF=F(1)**2+F(2)**2

WRITE(6,*) DIFF,V

IF(DIFF.GT.0.01) GOTO 10

C Genauigkeit erreicht, Ergebnis plotten

CALL PGBEGIN(0,’/xwin’,1,1)

CALL PGPAP(6.,1.)

168 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

CALL PGSWIN(0.,1.5,0.,1.5)

CALL PGBOX(’ABCNT’,0.,0,’ABCNT’,0.,0)

CALL BCLEFT(Y,V,X1)

DX=(X2-X1)/FLOAT(99)

X=X1

CALL PGMOVE(Y(1),Y(3))

DO 100 I=1,100

CALL RKG(Y,X,4,DX,AUX,EQS)

X=X+DX

CALL PGDRAW(Y(1),Y(3))

100 CONTINUE

C

CALL PGEND

END

Die Subroutinen, die fuer SHOOT bereit gestellt werden mussen:

SUBROUTINE BCLEFT(Y,V,X1)

C

DIMENSION Y(*),V(*)

C

Y(1)=0. ! feste Groessen

Y(3)=0.

Y(2)=V(1) ! zu variierende Groessen

Y(4)=V(2)

RETURN

END

SUBROUTINE BCRIGT(Y,F,X2)

C

DIMENSION Y(*),F(*)

C

F(1)=Y(1)-1. ! Abweichung x von L=1

F(2)=Y(3) ! Abweichung y von 0

RETURN

END

5.6. SCHIESSVERFAHREN 169

5.6.4 Aufgaben

1. Geben Sie eine analytische Losung von (5.4) an.

2. Verifizieren Sie die Losungen (5.44) und (5.45). Was passiert fur C 6= 0?

3. Losen Sie das Problem aus Abschn.5.2 (Schiefer Wurf) mit Hilfe des Schießverfah-rens. Untersuchen Sie auch den Einfluss nichtlinearer Reibungskrafte der Form

~FR = −α(x2 + y2

)1/2(x

y

)

.

170 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

Ausblick: Computational PhysicsTeil 2, WS 2013/14

1. Partielle Differentialgleichungen, Grundlagen

– Einteilung und Verfahren– stationare Probleme, Randbedingungen– zeitl. Entwicklungen, Anfangsbedingungen

2. Partielle Differentialgleichungen und Finite Differenzen, Anwendungen

– Quantenmechanik, zeitabh.Schrodinger-Gl.– Stromungsprobleme, Navier-Stokes-Gl– Reaktions-Diffusions-Systeme– Strukturbildung und Instabilitaten

3. Weighted Residual Methods

– Galerkin-Verfahren– Beispiele

4. Monte-Carlo-Methoden

– Integrale– Ising-Modell

171

172 KAPITEL 5. GEWOHNLICHE DIFFERENTIALGLEICHUNGEN II

Kapitel 6

Vortragsaufgaben

173

174 KAPITEL 6. VORTRAGSAUFGABEN

6.1 Drei Massepunkte

Untersuchen Sie das Problem der drei durch Federn gekoppelten, geladenen Masse-punkte aus Aufgabe 3.4.7 mit abstoßendem Potential (Teil d):

r

rr

r

1

2 3

0

y

x

q

q

q

Q

Abbildung 6.1: System aus drei beweglichen Massepunkten mit 6 Freiheitsgraden

• Bestimmen Sie die Eigenmoden und Eigenfrequenzen.

• Bestimmen Sie die Stabilitat der abgebildeten symmetrischen Ruhelage in Abhangig-keit von q/Q.

• Stellen Sie die vollstandigen nichtlinearen Bewegungsgleichungen in Form von 12gewohnlichen DGLs 1. Ordnung auf und losen Sie diese fur verschiedene q/Qdurch RK4.

• Gibt es chaotische Losungen? Berechnen Sie den großten Lyapunov-Exponenten.

• Stellen Sie die Losungen graphisch dar (PGPLOT), eventuell als Film.

6.2. DREIKORPERPROBLEM 175

6.2 Dreikorperproblem

Beim Dreikorperproblem der Mechanik handelt es sich um drei Massepunkte

~r1(t), ~r2(t), ~r3(t)

die sich in einer Ebene bewegen

~ri(t) =

(xi(t)

yi(t)

)

und durch Gravitationskrafte miteinander wechselwirken. Alle drei Massen seien gleichgroß. Poincare konnte schon 1890 zeigen, dass chaotische Bahnen die Regel sind.

• Stellen Sie die Bewegungsgleichungen fur die ~ri auf.Fuhren Sie dann ein Koordinatensystem ein, dass sich mit dem Schwerpunktbewegt:

~ui(t) = ri(t)− ~R(t)

mit

R =1

3(~r1 + ~r2 + ~r3) .

Die Schwerpunktbewegung lasst sich abkoppeln. Fur die ~ui erhalten Sie nachentsprechender Skalierung Gleichungen der Form

~u1 = − ~u1 − ~u2

|~u1 − ~u2|3− ~u1 − ~u3

|~u1 − ~u3|3

~u2 = − ~u2 − ~u1

|~u2 − ~u1|3− ~u2 − ~u3

|~u2 − ~u3|3(6.1)

~u3 = −~u1 − ~u2

• Bringen Sie (6.1) in die Form von 8 DGLs 1. Ordnung und losen Sie diese mitRK4 fur verschiedene Anfangsbedingungen

~ui(0), ~ui(0) .

• Kontrollieren Sie die Erhaltungsgroßen. Welche gibt es?

• Suchen Sie chaotische Bahnen und berechnen Sie die Lyapunov-Exponenten.

176 KAPITEL 6. VORTRAGSAUFGABEN

6.3 Doppelpendel

Untersuchen Sie das Doppelpendel im konstanten Schwerefeld.

a

a

m

m

φ

φ2

1

g

Abbildung 6.2: Doppelpendel mit masselosen Stangen der Lange a und zwei gleichenMassen m.

Die Bewegung sei ungedampft und soll in einer Ebene ablaufen. Das System wirddann eindeutig durch die beiden Winkel

Φ1(t), Φ2(t)

beschrieben.

• Stellen Sie die vier Bewegungsgleichungen fur Φ1, Φ2, Φ1, Φ2 auf (das geht ameinfachsten mit Hilfe der Lagrange-Funktion).

• Losen Sie diese mit RK4 fur verschiedene Anfangsbedingungen.

• Berechnen Sie die Lyapunov-Exponenten als Funktion der Gesamtenergie.

• Kontrollieren Sie die Energieerhaltung.

6.4. GEDAMPFTES ANGETRIEBENES PENDEL 177

6.4 Gedampftes angetriebenes Pendel

Untersuchen Sie das durch einen oszillierenden Aufhangepunkt angetriebene Pendelmit Dampfung aus Absch.4.8.3:

ω tsin~0

φ

Abbildung 6.3: Durch einen vertikal oszillierenden Aufhangepunkt angetriebenes Pen-del.

Das Gleichungssystem 1. Ordnung lautet:

y1 = y2

y2 = −α y2 − Ω20(1 + a sin y3) sin y1 (6.2)

y3 = ω0 .

• Linearisieren Sie um die untere Ruhelage und leiten Sie fur die Abweichungen diegedampfte Mathieu-Gleichung

u+ α u+ (p+ 2b sin 2t)u = 0

her. Geben Sie p, b, α an.

• Berechnen Sie durch Floquet-Analyse ein Stabilitatsdiagramm wie Abb.4.25 furverschiedene Werte von α > 0. Was andert sich qualitativ? Begrundung!

• Losen Sie das volle nichtlineare Problem (6.2) mittels RK4.

• Stellen Sie die Bewegungen graphisch im Phasenraum dar. Untersuchen Sie diechaotischen Trajektorien und berechnen Sie die Lyapunov-Exponenten.

178 KAPITEL 6. VORTRAGSAUFGABEN

6.5 Rekonstruktion und fraktale Dimension

Erzeugen Sie zunachst eine chaotische Zeitserie, indem Sie die Lorenz-Gleichungen(4.49) im chaotischen Bereich (z.B. β = 8/3, α = 10, r = 28) numerisch mittels RK4integrieren.

Aus y1(t) soll jetzt der Attraktor nach Abschn. 4.7.8 rekonstruiert und danach seinefraktale Dimension bestimmt werden.

• wahlen Sie hierzu verschiedene K und einbettende Dimensionen N ′. Plotten SieProjektionen des Attraktors im Einbettungsraum.

• Bestimmen Sie dann die Korrelationsdimension (4.45) fur verschiedene N ′. DieWerte sollten zwischen 2.0 und 2.1 konvergieren.

• Zur Kontrolle testen Sie das Verfahren zunachst an einer periodischen Zeitseriey1(t) = sin(ωt). Welche Dimension erwarten Sie? Fur welches N ′ sollten die Wertekonvergieren?

• Was passiert, wenn Sie zu der Zeitserie weißes Rauschen y1(t) +Aξ(t) addieren?Was erwarten Sie?

6.6. STATIONARE SCHRODINGER-GLEICHUNG I 179

6.6 Stationare Schrodinger-Gleichung I

Untersuchen Sie die eindimensionale stationare Schrodinger-Gleichung

−Φ′′(x) + V (x) Φ(x) = E Φ(x) (6.3)

fur das Doppelmuldenpotential

V (x) = −x2 + x4 .

Nahern Sie die asymptotischen Randbedingungen

limx→±∞

Φ(x) = 0

durchΦ(L/2) = Φ(−L/2) = 0

und wahlen Sie L entsprechend.

• Bestimmen Sie numerisch die Eigenwerte und Eigenfunktionen. Verwenden Siedazu

1. Ein Differenzenverfahren mit 500 Stutzstellen.

2. Ein Galerkin verfahren mit trigonometrischen Funktionen. Wahlen Sie

Φ(x) =N∑

k=1

ak cos(

(2k − 1)π

Lx)

fur die geraden,

Φ(x) =N∑

k=1

bk sin(

2kπ

Lx)

fur die ungeraden Eigenfunktionen. Stellen Sie die homogenen Gleichungs-systeme fur ak, bk auf. Vergleichen Sie die Ergebnisse mit dem Differenzen-verfahren.

• Plotten Sie die ersten 10 Eigenfunktionen fur −L/2 ≤ x ≤ L/2.

• Wie andert sich das Spektrum mit L? Plotten Sie die ersten 10 Eigenwerte uberL und interpretieren Sie das Ergebnis.

180 KAPITEL 6. VORTRAGSAUFGABEN

6.7 Stationare Schrodinger-Gleichung II

Untersuchen Sie die eindimensionale stationare Schrodinger-Gleichung

−Φ′′(x) + V (x) Φ(x) = E Φ(x) (6.4)

fur den unendlich hohen Potentialtopf mitSenke/Wall:

V (x) =

∞, x ≤ −L/20 −L/2 < x ≤ 0−V0 0 < x ≤ a0 a < x < L/2∞ x ≥ L/2

Wahlen Sie z.B. L = 1, a = 1/8.

x

V

8 8

−L/2 L/2a

−V0

Sie erhalten (6.4) aus der geeignet skalierten zeitabhangigen Schrodinger-Gleichung

−Ψ′′(x, t) + V (x)Ψ(x, t) = iΨ(x, t)

mit Hilfe des Separationsansatzes

Ψ(x, t) = Φ(x) exp(−iEt) .

• Bestimmen Sie numerisch die Eigenwerte En und die Eigenfunktionen ϕn(x)

−ϕ′′n(x) + V (x)ϕn(x) = En ϕn(x)

Verwenden Sie dazu ein Differenzenverfahren mit ausreichend vielen Stutzstellen.

Normieren Sie die Eigenfunktionen so, dass

∫ L/2

−L/2

dx |ϕn(x)|2 = 1

fur alle n gilt.

• Plotten Sie die ersten 10 Eigenfunktionen fur −L/2 ≤ x ≤ L/2.

• Untersuchen Sie die zeitliche Entwicklung eines Wellenpaketes mit bestimmterAnfangsbreite b am Ort x0 links von der Senke, x0 < 0. Berechnen Sie denmittleren Ort aus

< x(t) >=

∫ L/2

−L/2

dx |Ψ(x, t)|2x

und den mittleren Impuls aus

< p(t) >= −i

∫ L/2

−L/2

dxΨ∗(x, t)∂xΨ(x, t)

6.7. STATIONARE SCHRODINGER-GLEICHUNG II 181

und plotten Sie < x(t) > und < p(t) > uber t.

Hinweise:

Wahlen SieΨ(x, 0) = fb(x− x0) exp(ikx)

mit der Gaußfunktionfb(x) = N · exp(−x2/2b2)

und N so, dass∫ L/2

−L/2

dx |Ψ|2 = 1 .

Welche Bedeutung hat k?

Die Zeitliche Entwicklung Ψ(x, t) ergibt sich dann zu

Ψ(x, t) =∑

n

Anϕn(x) exp(−iEnt)

Die Entwicklungskoeffizienten berechnen sich aus

An =

∫ L/2

−L/2

dxΨ(x, 0)ϕn(x) .

Wieso?

Werten Sie alle Integrale, die nicht analytisch angegeben werden konnen, mitHilfe der Rechteckregel

∫ L/2

−L/2

dx f(x) ≈N∑

n

f(xn)∆x

aus, wobei N die Stutzstellenzahl und ∆x = L/(N + 1) bezeichnen.

• “Experimentieren” Sie mit verschiedenen Werten von a, V0 und k. UntersuchenSie auch negative Werte fur V0 (Potentialwall).

• Plotten Sie jeweils |Ψ|2 uber x zu verschiedenen Zeiten.

182 KAPITEL 6. VORTRAGSAUFGABEN

6.8 Delay-Gleichung

Differentialgleichungen wie

dy

dt= f(y(t), y(t− τ)) ,

bei denen auf der rechten Seite die abhangige Variable auch zu einem fruheren

Zeitpunkt t− τ vorkommt, heißen “Delay-Gleichungen” (Delay = Verzogerung). Glei-chungen dieser Form findet man z.B. bei elektronischen Schaltkreisen, aber auch beider Populationsdynamik.

Ein einfaches Modell, welches die zeitliche Veranderung einer Spezies beschreibt,ist die Gleichung von Wright (1955):

dn

dt= n(t)− n(t) · n(t− τ) . (6.5)

• Geben Sie den beiden Termen rechts eine anschauliche Bedeutung (Gewinn -Verlust). Woher kommt die Delay-Zeit τ?

• Berechnen Sie die Fixpunkte n(0)i von (6.5) und untersuchen Sie deren Stabilitat.

Hinweis:

Fuhren Sie eine lineare Stabilitatsanalyse

n(t) = n(0)i + A exp(λt)

durch und vernachlassigen Sie alle nichtlinearen Terme in A. Fur den nicht-trivialen Fixpunkt kommen Sie auf eine transzendente Gleichung der Form

λ = − exp(−λτ),

die Sie durch den Ansatz

λ = σ + iω, σ, ω ǫ R

in zwei reelle Gleichungen umformen. Setzen Sie dort σ = 0 (kritischer Punkt)und bestimmen Sie τc und ωc.

• Losen Sie (6.5) numerisch mit Hilfe eines Runge-Kutta-Verfahrens fur Werte vonτ oberhalb und unterhalb von τc. Plotten Sie n(t) uber t.