Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel...

124
Einf ¨ uhrung in die Numerische Mathematik f ¨ ur Chemiker 1. Auflage, Stand vom 4. Dezember 2017 Bernd Hartke Theoretische Chemie Institut f ¨ ur Physikalische Chemie Max-Eyth-Straße 2 Erdgeschoß, Raum 29 Tel.: 0431/880-2753 [email protected] http://ravel.pctc.uni-kiel.de “Sprechstunde”: jederzeit nach Vereinbarung

Transcript of Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel...

Page 1: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Einfuhrung in die NumerischeMathematik fur Chemiker

1. Auflage, Stand vom 4. Dezember 2017

Bernd Hartke

Theoretische Chemie

Institut fur Physikalische Chemie

Max-Eyth-Straße 2

Erdgeschoß, Raum 29

Tel.: 0431/880-2753

[email protected]

http://ravel.pctc.uni-kiel.de

“Sprechstunde” : jederzeit nach Vereinbarung

Page 2: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Einleitung

Ziele der Veranstaltung

• erstes Grundverstandnis von numerischer im Gegensatz zu analytischerMathematik

• Erstellung und Verwendung eigener Programme statt fertiger “apps”

• Verwendung von professionellen numerischen Bibliotheken

• Hintergrundwissen fur vorgefertigte Programme der angewandten Ma-thematik und numerischen Simulation in Physik, Chemie,. . .

KEINE Ziele der Veranstaltung

• detaillierte Einfuhrung in spezielle tools, insbesondere:

– TheoChem-Pakete (Gaussian, Turbomole, Molpro, Orca, . . . )

– algebraisch-numerische Mathe-Programme (Mathematica, Maple, . . . )

– Programmiersprachen (Fortran, C, C++, Java, Python, . . . )

• physikalisch- oder theoretisch-chemischer Stoff

2

Page 3: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Veranstaltungsformat

• mehrere thematische Kapitel; zu jedem Kapitel gibt es:

– eine Vorlesungsstunde: Einfuhrung in die theoretischen Grundlagen;Besprechung des zugehorigen Aufgabenblatts

– eine betreute Ubungsstunde

• alle Skriptseiten und alle Aufgabenblatter von meiner homepage alspdf-Dateien herunterladbar:http://ravel.pctc.uni-kiel.de → teaching→ Numerical Mathematics for Chemists(Achtung: Inhalt wird sich wahrend des Semesters fortlaufend andern)

• die Benotung erfolgt uber die Bearbeitung der Ubungsaufgaben:

– abzugeben sind:

∗ mindestens: lauffahiger Programmtext, vorzugsweise in Fortran

∗ keine ausfuhrbaren Programme

∗ als pdf-Datei: eigener Programm-output, Antworten auf Fragen,ggf. weitere Erlauterungen (z.B. bei Schwierigkeiten), etc.

– Funktionierende Programme sind anzustreben.In Ausnahmefallen reicht es, wenn fur mich aus dem Programmtextklar erkennbar ist, daß die Prinzipien verstanden wurden.

3

Page 4: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Inhaltsplan

1. Einfuhrung in grundlegende Programmierkonzepte(Octave/Matlab, Fortran)

2. Zahlendarstellung, Fehler, Konditionszahl

3. Differentiation

4. Integration: Trapezregel, Simpson, Gauß;Anwendung: uberall

5. Zufallszahlen und Monte-Carlo-(MC)-IntegrationAnwendung: MC-Simulationen von Gasen, Flussigkeiten,. . .

6. Suche nach Nullstellen und Extremwerten: Newton et al.Anwendung: Losung analytisch unlosbarer Gleichungen; zahlreiche Op-timierungsprobleme

7. gewohnliche Differentialgleichungen (Euler, Runge-Kutta)Anwendung: z.B. einzelne Gleichungen der Kinetik

8. DGL-Systeme und partielle DGLsAnwendung: komplizierte Kinetiken, klassische Mechanik, Quantenme-chanik, Warmeleitung, Elektrodynamik, Akustik, Stromungsdynamik,. . .

9. Losung linearer Gleichungssysteme (inkl. Matrixinversion);Anwendung: uberall, z.B. Regression (

”Fit“) und Interpolation

10. Matrixdiagonalisierung: Eigenwertproblem;Anwendung: Quantenmechanik, stationare Losungen der Schrodingerglei-chung

11. lineare Regression, χ2-Statistik; nichtlineare Regression (Levenberg-Marquardt);Spline-Interpolation;Anwendung: z.B. Anpassung von Modellfunktionen an Meßdaten

Vorwissen-Umfrage

4

Page 5: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Literaturempfehlungen:

• W. H. Press, B. P. Flannery, S. A. Teukolsky und W. T. Vetterling:

”Numerical Recipes“, Cambridge University Press, Cambridge, 1990:

sehr gut geschriebene Einfuhrung in die Grundalgorithmen der Numeri-schen Mathematik, mit Beispielprogrammen; weit verbreitetes Standard-werk.

• Roland W. Freund und Ronald W. Hoppe: “Stoer/Bulirsch: NumerischeMathematik 1 und 2”, Springer, Berlin, 10. Auflage, 2007:bewahrtes Standardwerk deutscher Mathe-Fakultaten zur NumerischenMathematik; klare Darstellung, aber etwas “mathematischerer Stil”.

• M. Hermann: “Numerische Mathematik”, Oldenburg, 2006:gut zugangliches Buch, leider ohne Differentialgleichungen und Optimie-rung.

• Peter Deuflhard und Andreas Hohmann: “Numerische Mathematik 1,2,3:Eine algorithmisch orientierte Einfuhrung”, deGruyter, Berlin, 4. Auflage,2008:Band 1 bietet eine allgemeine Einfuhrung in diverse Themen, Band 2/3beschaftigen sich mit Differentialgleichungen; klarer Text, leider keineBehandlung von Optimierung.

• A. Neumaier:”Introduction to Numerical Analysis“, Cambridge Univer-

sity Press, Cambridge, 2001:gutes Buch eines Genies in der Numerischen Mathematik.

• H. R. Schwarz und J. Waldvogel (Hrsg.):”Numerische Mathematik“,

Teubner-Verlag, 1997:umfassender Klassiker, aber etwas schwerer zuganglich.

• G. H. Golub und C. F. van Loan:”Matrix Computations“, Johns Hop-

kins University Press, 1989, 1993:Klassiker zur linearen Algebra; ziemlich

”mathematischer“ Stil; fur De-

tailinformationen zu linearen Gleichungssystemen und zum Eigenwert-problem.

• P. E. Gill, W. Murray and M. H. Wright: “Practical Optimization”,Academic Press, 1981:Spezialbuch zur Optimierung mit vielen Praxistips; Herleitungen leidernicht immer selbsterklarend.

5

Page 6: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

1 Minimaleinfuhrung ins Programmieren

1.1 Fortran

siehe separates Fortran-Einfuhrungsskript

1.2 Octave/Matlab

siehe Octave-Einfuhrung in Henrik Larssons Numerikskript WS15/16

1.42 Welche Programmiersprache soll ich nehmen?

Das ist weitestgehend egal, u.a.:

• alle Numerikalgorithmen sind programmiersprachenunabhangig;

• die grundlegenden Sprachstrukturen (Felder, Schleifen, Verzweigungen)gibt es uberall in sehr ahnlicher Form.

Andere Entscheidungshilfen:

• kleines Hilfsprogramm vs. großes software-Projekt

• eigene Entwicklung fur Eigenbedarf vs. kollaboratives multi-user-Paket

• Syntax:

– langatmig aber gut lesbar vs. kurz aber kryptisch

– frei?= versteckte Komplexitat

• interpretiert vs. compiliert

• virtual machine vs. OS/hardware-spezifische compiler/interpreter

• Verfugbarkeit ausgefeilter Entwicklungsumgebungen (Editor mit Syntax-highlighting und Inhaltshilfen, integrierte debugger/profiler, integrierteVersionsverwaltung, . . . )

• Verfugbarkeit professioneller Bibliotheken (BLAS, LAPACK, MKL, etc.;daran hangt letztlich die Laufzeiteffizienz und wieviel code man selbstschreiben muß)

6

Page 7: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

2 Elementare Grundlagen

2.1 Zahlendarstellung

Grundproblem:

“So gut wie alle” reellen Zahlen haben unendlich viele signifikante Stellen(egal in welcher Basis). ABER: Der Computerspeicher ist endlich.

Grundsatzliche Folgen fur die numerische Praxis:

• begrenzte Anzahl Stellen

• es gibt eine betragsmaßig großte darstellbare Zahl

• miteinander verrechnete Zahlen sollten ahnlich groß sein

Zahlendarstellung im Computer ist binar, aber mit weiteren technischenTricks. Alle Details: siehe Skript WS15/16 (Henrik Larsson)

2.1.1 Ganze Zahlen (integers)

# bits Vorzeichen octave-Name min max

8 unsigned uint8 0 25516 unsigned uint16 0 65 53532 unsigned uint32 0 4 294 967 29564 unsigned uint64 0 18 446 744 073 709 551 6158 signed int8 −128 127

16 signed int16 −32 768 32 76732 signed int32 −2 147 483 648 2 147 483 64764 signed int64 −9 223 372 036 854 775 808 9 223 372 036 854 775 807

Durch die Zweierkomplementdarstellung (siehe Skript WS15/16 Henrik Lars-son) sind vorzeichenbehaftete ganze Zahlen “seltsam angeordnet”:

Binarwert 8-bit-Zweierkomplement

00000000 000000001 1· · · · · ·

01111110 12601111111 12710000000 -12810000001 -127· · · · · ·

11111110 -211111111 -1

7

Page 8: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Was bei “Uberlauf” des darstellbaren Zahlenbereichs passiert, hangt u.a. abvon der hardware, der Programmiersprache und ggf. den Compileroptionen:

• ohne geeignete Compileroptionen verhalten sich Sprachen wie C, Fortranund viele andere so wie dieses C-Programm:

1 #include<stdio.h>2 int main(){3 signed char a; //8 bit lang, entspricht int8 in octave4 unsigned char b; //entspricht uint8 in octave5 a = 127;6 b = 255;7 printf (”a = %d\n”,a);8 printf (”b = %d\n”,b);9 a = a + 1;

10 b = b + 1;11 printf (”a + 1 = %d\n”,a);12 printf (”b + 1 = %d\n”,b);13 a = a + 999;14 b = b + 999;15 printf (”a + 1000 = %d\n”,a);16 printf (”b + 1000 = %d\n”,b);17 }

fuhrt nach der Ubersetzung in Maschinensprache zur Ausgabe von

a = 127

b = 255

a + 1 = -128

b + 1 = 0

a + 1000 = 103

b + 1000 = 231

Ob und wie das detektiert bzw. verhindert werden kann, hangt sehrstark von der Programmiersprache und dem Compiler ab. Schwierig istauch, daß es nach dem Uberlauf i.d.R. fur Vorsichtsmaßnahmen zu spatist. Machbar und portabel konnen aber schon einfache Losungen wiediese sein:

– Tests der Art if (a+1 > a) ...

– temporare Verwendung von real-Variablen(s.u.; Vorsicht: ggf. Genauigkeitsverlust!)

– temporare Verwendung von integer-Variablen mit mehr bits.

8

Page 9: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

• das Verhalten von octave/matlab ist anders:

– keine Warnung bei Uberlauf

– stattdessen wird der großte/kleinste mogliche Wert verwendet

1 >> a = int8(127) % ganze Zahl mit einer Darstellung von 8 Bits2 a = 1273 >> a = a + 1 %addiere4 a = 1275 >> a = int8(−128);6 >> a − 17 ans = −1288 >> a + 200009 ans = 127

Ob das “besser” ist, ist Geschmackssache. . .

Da ganze Zahlen (direkt oder indirekt) haufig als “Zeiger” auf Speicheradressenverwendet werden, ist integer-overflow ein Einfallstor fur Computerviren.

Selbst Profis vergessen gelegentlich die Endlichkeit der integers:

• 2014 war die Zahl der Klicks des Youtube-Videos “Gangnam Style” aufeinmal negativ, da die Zahl zu groß fur die verwendete signed-integer-Darstellung geworden war.

• 1996 sturzte eine unbemannte Ariane5-Rakete ab, da eine Gleitkom-mazahl in eine ganze Zahl konvertiert wurde und dann jenseits desganzzahlig darstellbaren Bereichs lag.

2.1.2 Reelle Zahlen (reals)

Binare Darstellung einer reellen Zahl:

(−1)v ·M · 2e (1)

mit Vorzeichenbit v, m-stelliger Mantisse M und Exponent e.

• Fur x 6= 0 wird e so gewahlt, dass das erste Bit in der Mantisse ungleichNull ist (normalisierte Darstellung); dann muß es nicht gespeichertwerden (implizites erstes Bit)

• Ist die darzustellende Zahl zu klein fur die normalisierte Form (e < emin),so kommt es zum Exponentenunterlauf (underflow) in den subnormalenZahlenbereich. Dort sinkt die Darstellungsgenauigkeit stetig, bis alleZiffern 0 sind.

9

Page 10: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

• spezielle Zeichen/Formen:

Exponent Mantisse

normalisierte Form e ∈ [emin + 1, emax − 1] M ∈ [2−1, 1− 2−m]denormalisierte Form e = emin + 1 M ∈ [2−m, 2−1 − 2−m]±0 e = emin 0±inf e = emax 0NaN e = emax + 1 6= 0

• NaN (not a number) ergibt sich u.a. bei Division durch Null

• ±inf tritt bei einem Exponentenuberlauf (overflow) auf. Die Zahl istzu groß, um dargestellt zu werden.

• Die meisten reellen Zahlen lassen sich nicht exakt darstellen:

1 > cat p r i n t r e a l s . f 902 program p r i n t r e a l s3 i m p l i c i t none4 wr i t e (∗ , ’ ( a , f22 . 2 0 ) ’ ) ’ 0 . 3 in s i n g l e−p r e c i s i o n : ’ , 0 . 35 wr i t e (∗ , ’ ( a , f22 . 2 0 ) ’ ) ’ 0 . 3 in double−p r e c i s i o n : ’ , 0 . 3 d06 wr i t e (∗ , ’ ( a , f22 . 2 0 ) ’ ) ’ 0 . 5 i s exact : ’ , 0 . 57 end program p r i n t r e a l s8 > . / p r i n t r e a l s9 0 .3 in s i n g l e−p r e c i s i o n : 0.30000001192092895508

10 0 .3 in double−p r e c i s i o n : 0.2999999999999999889011 0 .5 i s exact : 0.50000000000000000000

• Dies fuhrt zu entsprechenden Rundungsfehlern:

1 > cat rounderr . f902 program rounderr3 i m p l i c i t none4 i f (1.0−0.8−0.2 == 0 . 0 ) then5 wr i t e (∗ ,∗ ) ’ exac t l y zero ’6 e l s e7 wr i t e (∗ ,∗ ) ’ not exac t l y zero , but ’ ,1.0−0.8−0.28 end i f9 end program rounderr

10 > . / rounderr11 not exac t l y zero , but −1.4901161E−08

Deshalb sollte man bei real-Zahlen nie auf exakte Gleichheit testen:

1 r e a l : : a2 i f ( a == 2 . 5 ) . . . ! f a l s c h3 i f ( abs ( a−2.5) < 1 . d−7) . . . ! b e s s e r

• Aufgrund der halbexponentiellen Darstellung Gl. 1 sind die exakt dar-stellbaren Zahlen logarithmisch auf der Zahlenskala verteilt. Beispiel fur

10

Page 11: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

M bestehend aus drei Bits und e ∈ [−1, 2]:

14

38

12

34

32

1 2 3

516

716

58

78

74

52

720

• Maschinengenauigkeit (“Maschinenepsilon”): maximaler relativer Abstandzweier benachbarter, normalisierter real-Zahlen (m Mantissenstellen,Unterschied von 1 in der letzten Stelle):

2−m

2−1= 21−m = 2ε (2)

• Programm zur Berechnung von ε:

1 > cat c a l c e p s . f902 program c a l c e p s3 i m p l i c i t none4 r e a l ( kind=8) : : eps5 eps =1.d06 do7 eps =0.5d0∗ eps8 i f ( . not . 1 . d0+eps > 1 . d0 ) e x i t9 end do

10 wr i t e (∗ ,∗ ) ’ double−p r e c i s i o n machine e p s i l o n : ’11 wr i t e (∗ ,∗ ) ’ c a l c u l a t e d : ’ , eps12 wr i t e (∗ ,∗ ) ’ a n a l y t i c : ’ , 2 . d0∗∗(−53)13 end program c a l c e p s14 > . / c a l c e p s15 double−p r e c i s i o n machine e p s i l o n :16 c a l c u l a t e d : 1.110223024625157E−01617 a n a l y t i c : 1 .110223024625157E−016

11

Page 12: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Gebrauchliche Darstellungen in den meisten Sprachen:

• single precision:

– 32 bit (4 byte):23(+1) bits Mantisse, 8 bits Exp. (e ∈ [−126, 129]), 1 bit Vorzeichen

– Wertebereich der normalisierten Zahlen: 1.17 · 10−38 − 3.4 · 1038

– Wertebereich der denormalisierten Zahlen: 1.4 · 10−45 − 1.17 · 10−38

– Genauigkeit: ε = 2−24 = 6 · 10−8

• double precision:

– 64 bit (8 byte):52(+1) bits Mantisse, 11 bits Exp. (e ∈ [−1022, 1025]), 1 bit Vorz.

– Wertebereich der normalisierten Zahlen: 2.22 · 10−308 − 1.797 · 10308

– Wertebereich der denormalisierten Zahlen: 3.9 · 10−324 − 2.22 · 10−308

– Genauigkeit: ε = 2−53 = 1.1 · 10−16

12

Page 13: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Auch bei reals sind schon gravierende Praxisfehler aufgetreten:

• 1992 wurde bei der Schleswig-Holsteiner Landtagswahl aufgrund einesRundungsfehlers falschlicherweise angenommen, daß die Partei Die Gru-nen die 5 %-Hurde uberschritten hat.

• Im ersten Golfkrieg hat eine Patriot-Rakete 28 US-Soldaten getotet, dadie Zeit in Inkrementen von 1/10 gezahlt wurde. 1/10 hat allerdings keineendliche binare Zahlendarstellung, sodaß Rundungsfehler auftraten.

2.2 Fehlerarten

Es gibt verschiedene Arten von Fehlern:

Modellfehler

• Fehler aufgrund des Unterschiedes zwischen dem realen System und demmathematischen Modell

• Beispiele:

– Pendel mit Luftreibung, Corioliskraft, etc. versus Newtonsche Glei-chung im Inertialsystem

– Molekul in Losung versus Molekulardynamiksimulation in der Gas-phase mit klassischer Beschreibung der Atomkerndynamik und ap-proximativer quantenmechanischer Beschreibung der Elektronen

Datenfehler

• Abweichung der realen Parameterwerte von den eingegebenen Daten

• Beispiele:

– Signifikante Stellen von Naturkonstanten

– Messungenauigkeiten im Experiment

Verfahrensfehler

• Intrinsischer Fehler des numerischen Verfahrens

• Beispiele:

– Endliche Taylorreihenentwicklung

– Diskretisierungsfehler

13

Page 14: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

• In diesem Zusammenhang heißt ein Verfahren konvergent, wenn derVerfahrensfehler gegen null gehen kann

• Beispiel: Verfeinerung der Diskretisierung, z.B. bei einer Integration

• Gegenbeispiel: Divergente Reihenentwicklung, z.B. bei quantenmechani-scher Vielteilchenstorungstheorie

Rundungsfehler

• Fehler aufgrund der Darstellung von Gleitkommazahlen auf dem Com-puter

• Beispiele

– Das Distributivgesetz gilt nicht: a× (b+ c) 6= a× b+ a× c– Das Assoziativgesetz gilt nicht: a+ (b+ c) 6= (a+ b) + c

Andere nutzliche Unterscheidungen:

f(x) sei das mathematische Problem in Abhangigkeit von der Eingabe x, fder numerische Algorithmus und x fehlerbehaftete Eingabedaten:

Kondition: ||f(x)− f(x)||: Wie stark schwankt das Problem bei Storung?

Stabilitat: ||f(x)− f(x)||: Wie stark schwankt der numerische Algorithmusbei Storung?

Konsistenz: ||f(x)− f(x)||: Wie gut lost der numerische Algorithmus (mitexakter Eingabe) das Problem?

Konvergenz: ||f(x)− f(x)||: Wie gut lost der numerische Algorithmus (mitgestorter Eingabe) das Problem?

14

Page 15: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

2.3 Normen

2.3.1 Vektoren

Die Norm ‖ · ‖ in einem Vektorraum X erfullt die Bedingungen

1. Definitheit: ‖~x‖ ≥ 0, ~x ∈ X; insbes. ‖~x‖ = 0⇒ ~x = ~0

2. Homogenitat: ‖α~x‖ = |α|‖~x‖, α ∈ C

3. Dreiecksungleichung, Subadditivitat: ‖~x+ ~y‖ ≤ ‖~x‖+ ‖~y‖

Dies ist fur zahlreiche unterschiedliche Normvorschriften gegeben, fur X = Rn

(gewohnliche Vektoren) z.B.:

1-Norm ‖~x‖1 =∑n

i |xi|

Euklidische Norm ‖~x‖2 =√∑

i |xi|2

p-Norm ‖~x‖p = p√∑

i |xi|p

Maximums-Norm ‖~x‖∞ = maxi |xi|

Diese Vielfalt stort i.d.R. nicht, weil sich alle Normen gegeneinander ab-schatzen lassen:

C1‖~x‖α ≤ ‖~x‖β ≤ C2‖~x‖α (3)

Die Konstanten C1, C2 lassen sich in den meisten Fallen genau angeben.

2.3.2 Matrizen, Abbildungen

Matrixnormen konnen uber Vektornormen definiert werden oder konnen auchandere Charakteristika von Matrizen involvieren, die bei Vektoren nichtauftreten (z.B. Eigenwerte, Singularwerte).

Sinnvollerweise sollten Matrixnormen ‖·‖ mit Vektornormen ‖·‖V vertraglich(kompatibel) sein; das ist dann der Fall, wenn

‖A~x‖V ≤ ‖A‖ ‖~x‖V (4)

Normen und Eigenwerte hangen jedoch auch zusammen: Ist eine Matrixnormmit irgendeiner Vektornorm vertraglich, dann gilt fur jeden Eigenwert λ einerquadratischen Matrix A

|λ| ≤ ‖A‖ (5)

weil mit dem zugehorigen Eigenvektor ~x gezeigt werden kann:

|λ| ‖~x‖ = ‖λ~x‖ = ‖A~x‖ ≤ ‖A‖ ‖~x‖ (6)

15

Page 16: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

woraus die Behauptung nach Division durch ‖~x‖ folgt. Nach Gl. 5 ist derSpektralradius (Betrag des betragsgroßten Eigenwerts) einer Matrix niemalsgroßer als ihre Norm.

Beispiele fur Matrixnormen:

• basierend auf der Operatornorm:

‖A‖ = max~x 6=~0

(‖A~x‖‖~x‖

)= max‖~x‖=1

‖A~x‖ (7)

1-Norm ‖A‖1 = maxj∈[1,n]∑n

i=1 |Aij| (Spaltensummennorm)

Euklidische (Spektral-)Norm ‖A‖2 =√λmax; λmax ist der großte Eigenwert von

A†A (großter Singularwert von A, siehe SVD)

inf-Norm ‖A‖∞ = maxi∈[1,n]∑n

j=1 |Aij| (Zeilensummennorm)

• basierend auf einer vektorartigen Anneinanderreihung aller Matrixele-mente:

Frobeniusnorm ‖A‖F =√∑m

i

∑nj |Aij|2

Auch Matrixnormen lassen sich nach Gl. 3 gegeneinander abschatzen.

16

Page 17: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

2.4 Kondition

Aufgrund der finiten Zahlendarstellung auf dem Computer sollte man nichtvon einer exakten Eingabe x ausgehen, die zu einem exakten Resultat f(x),fuhrt, sondern von einer Eingabemenge E , welche zu einer ResultatsmengeR = f(E) fuhrt:

xE

f(x)R

Die Kondition charakterisiert das Verhaltnis zwischen E und R.

• Sei ~y = F (~x) unter der Annahme von exakten Zahlen (ohne Rundungsfehler), sowie

~y = F (~x), wobei ~x = ~x+ ~δx eine Zahl mit Rundungsfehler ist.

• Der absolute bzw. relative Fehler sind dann

∆abs = ‖~y − ~y‖ , ∆rel =‖~y − ~y‖‖~y‖

(8)

• Die absolute Konditionszahl ist

κabs = inf{α | ‖~y − ~y‖ ≤ α‖~x− ~x‖}, (9)

also das kleinstmogliche Verhaltnis ‖~y − ~y‖ × (‖~x− ~x‖)−1.

• Sofern F (~x) differenzierbar ist, gilt

κabs = ‖∇F (~x)‖ ≡ ‖F ′(~x)‖. (10)

(hier wird die Matrixnorm gebraucht)

• Die relative Konditionszahl ist analog

κrel = inf

∣∣∣∣∣ ‖~y − ~y‖‖~y‖≤ α‖~x− ~x‖‖~x‖

}, (11)

das kleinstmogliche Verhaltnis ‖~y−~y‖/‖~y‖× (‖~x−~x‖/‖~x‖)−1.

• Sofern F (~x) differenzierbar ist, gilt

κrel =‖F ′(~x)‖‖F (~x)‖

× ‖~x‖ = κabs ×‖~x‖‖F (~x)‖

. (12)

Im Folgenden: Beschrankung auf κ ≡ κrel

• Ist κ - 1, so ist das Problem gut konditioniert.

– Fur κ < 1 gibt es sogar eine Fehlerverringerung

– Fur κ = 1 treten nur Rundungsfehler auf

17

Page 18: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

• Fur κ = O(100) ist das Ergebnis typischerweise akzeptabel

• Fur κ� 104 ist das Ergebnis oft unbrauchbar. Das Problem ist schlecht konditioniert

• Falls das Ergebnis eines numerischen Problems unstetig von den Eingabedatenabhangt, wird es als unsachgemaß gestellt angesehen.

Die Kondition eines Problems hangt nicht nur vom Problem, sondern auchvon der Eingabemenge E ab.

Beispiele:

• Schnittpunktsberechnung zweier Geraden:

– gut konditioniert:

gg

h

h

r r

Der Schnittpunkt r variiert hier ahnlich stark wie die Geraden g

und g selbst.

– schlecht konditioniert (schleifender Schnitt):

1

r

Starke Schnittpunktsvariation

• Addition/Subtraktion:

– Fadd(a, b) = a+ b bzw. Fsub(a, b) = a− b– mit Eingabevektor ~x = (a, b)T ; wahle 1-Norm: ‖(a, b)T‖1 = |a|+ |b|– κabs = ‖F ′(a, b)‖1 = ‖(1, 1)T‖1 = 1. (Matrixnorm!)

– κrel,add = |a|+|b||a+b| , κrel,sub = |a|+|b|

|a−b|

⇒ Die Addition von Zahlen mit gleichem Vorzeichen ist gut konditioniert:κrel = 1

Aber: Die Subtraktion ist schlecht konditioniert, wenn

|a+ b| � |a|+ |b|, (13)

also wenn |a| und |b| annahernd gleich sind.

18

Page 19: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Zahlenbeispiel: Rechnung mit 5 Dezimalstellen:

x = 1.2345 · 10−3

y = 1.7899 · 10−3

u = 1.0000 · 100 + x = 1.0012 · 100

v = 1.0000 · 100 + y = 1.0018 · 100

z1 = v − u = 6.000 · 10−4

z2 = y − x = 5.554 · 10−4

Mathematisch ist z1 = z2. Numerisch kommt es zum Weghebephanomenund ein erheblicher Rundungsfehler tritt auf.

Subtraktion von annahernd gleichen Zahlensollte vermieden werden!

• weitere Beispiele siehe Henrik Larssons Numerikskript WS15/16.

2.5 Zeitaufwand fur Rechenoperationen und Programmstrukturen

Faustregeln fur Operationen mit reals:

• Addition/Subtraktion ist sehr schnell

• Multiplikation ist zwischen 50% und Faktor 4 langsamer

• Division ist etwa doppelt so aufwendig wie Multiplikation(daher kann x*0.5 schneller sein als x/2.0)

• praktisch alle Funktionen (exp, ln, sqrt, sin, cos, aber auch xy) sindmindestens 10mal so aufwendig wie eine Multiplikation (Grund: sie wer-den uber kurze, Taylor-artige Reihenentwicklungen berechnet; manchmalmoglicher Ausweg: table-lookup)

Faustregeln fur schnell ausfuhrbare Programme:

• geschachtelte Schleifen uber mehrdimensionale Felder: innerste Schleifeimmer uber den “schnellsten” Index (kann der erste oder der letzte sein)

• keine if-Verzweigungen in Schleifen.

19

Page 20: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

3 Differentiation

Die erste Ableitung einer Funktion f(x) nach x an der Stelle x0 ist definiertals

f ′(x)|x=x0 =df

dx

∣∣∣∣x=x0

= limx→x0

f(x)− f(x0)

x− x0= lim

∆x→0

∆f

∆x

∣∣∣∣x=x0

(14)

Zu dem analytischen Problem, daß es sich hier um einen unbestimmtenAusdruck vom Typ “0

0” handelt, kommt aus numerischer Sicht das Problemhinzu, daß mit kleiner werdendem ∆x die Betrage der Zahlenpaare x, x0 undf(x), f(x0) immer ahnlicher werden, wahrend sich die Großenordnung dieservier Zahlen selbst nicht andert.

Algorithmenunabhangige Folgerungen:

• Numerische Differentiation verstoßt zwangslaufig gegen die Regel, Sub-traktion annahernd gleicher Zahlen zu vermeiden!

• Der Limes in Gl. 14 ist numerisch (bei begrenzter Zahlendarstellung)nicht ausfuhrbar.

Die abgebrochene Taylorreihe behebt diese Probleme nicht, ermoglicht aber

• Approximationen an Ableitungen, ohne Ausfuhrung des Limes(finite Differenzen),

• und mit einer Abschatzung des Fehlers.

3.1 Vorwartsdifferenzen

Taylorentwicklung von f(x) um x0 (mit ∆x = h):

f(x0 + h) = f(x0) + hf ′(x0) +h2

2f ′′(x0) +O

(h3f (3)(x0)

)(15)

⇒ f(x0 + h)− f(x0)

h= f ′(x0) +

1

2hf ′′(x0) +O(h2f (3)(x0)) (16)

Also gilt

f ′(x0) ≈f(x0 + h)− f(x0)

h(17)

mit einem Fehler linear in h (also vgl.weise schlechte Konvergenz: halb sogroßes h halbiert den Fehler).

20

Page 21: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

3.2 Zentraldifferenzen

f(xo + h) = f(x0) + hf ′(x0) +h2

2f ′′(x0) +

h3

3!f ′′′(x0) + · · · (18)

f(xo − h) = f(x0)− hf ′(x0) +h2

2f ′′(x0)−

h3

3!f ′′′(x0) + · · · (19)

⇒ f ′(x0) =f(xo + h)− f(xo − h)

2h− h2

3!f ′′′(x0) + · · · (20)

Fehler nur noch quadratisch in h (halb so großes h ⇒ ein Viertel des Fehlers).

Veranschaulichung:

xx− h x+ h

m1m2

m3f

Unterschied zwischen Vorwarts- (gepunktete Linie), Ruckwarts-

(durchgezogene Linie) und Zentraldifferenzen (gestrichelte Linie).

3.3 Hohere Ordnungen

Auf ahnliche Weise sind herleitbar:

• Formeln hoherer Ordnungen fur die erste Ableitung,

• Formeln unterschiedlicher Ordnungen fur hohere Ableitungen.

Siehe z.B. https://en.wikipedia.org/wiki/Finite_difference_coefficient.

Alternativer Weg zu Formeln hoherer Ordnung: Richardson-Extrapolation(eine allgemeinere Idee zur Genauigkeitsverbesserung, wenn man zwei Ap-proximationsformeln mit zwei unterschiedlichen h-Werten hat)

• Gl. 20 kann umgeschrieben werden zu

I : f ′(x0) = D(h) + e2h2 + e4h

4 + . . . (21)

D(h) ist der Differenzenquotient und ei die von h unabhangigen Feh-leranteile.

21

Page 22: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

• Idee der Extrapolation: Berechne f ′(x0) fur Vielfache von h:

II : f ′(x0) = D(2h) + 4e2h2 + 16e4h

4 + . . . (22)

4× I − II3

: f ′(x0) =4D(h)−D(2h)

3− 4e4h

4 + . . . (23)

⇔ f ′(x0) =−f(x0 + 2h) + 8f(x+ h)− 8f(x− h) + f(x− 2h)

12h+O(h4)

(24)

Der e2-term fallt weg (ahnlich wie oben bei Zentraldifferenzen), dadurchsteigt die Fehlerordnung nochmals. Diese Methode kann automatisiert werden:Beliebige Genauigkeit und Fehlerabschatzung moglich.

3.4 Wahl der Schrittweite

Achtung: h und/oder x0 + h ggf. nicht exakt binar darstellbar. Abhilfe:

1 temp = x0 + h;2 h = temp − x0;

Das erhaltene h ist nun “exakt” in der Binardarstellung (aufgrund des Fehlersin der Subtraktion).

h kann sowohl zu groß als auch zu klein gewahlt werden. Beispiel Vorwarts-differenzen:

• Der Rundungsfehler ist ungefahr (ε = Maschinenepsilon)

εr ∼ ε

∣∣∣∣f(x0)

h

∣∣∣∣ (25)

(Der Rundungsfehler ist generell proportional zu 1/h, auch fur anderefinite Differenzenformeln.)

• Fehler aufgrund von Trunkierung der Taylorreihe fur Vorwartsdifferenzen:

εt ∼ |hf ′′(x)| (26)

Beachte: εr ∼ 1h aber εt ∼ h !

• Minimierung von ε(h) = εr + εt liefert

h ∼

√εf(x0)

f ′′(x0)(27)

Die optimale Schrittweite hangt von der Maschinengenauigkeit und demInversen der relativen Krummung f ′′(x0)

f(x0) ab.

22

Page 23: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

3.5 Imaginarschrittableitung

Tatsachlich kann man Differenzen (und damit Rundungsfehler bzw. Weg-hebephanomene) zumindest bei ersten Ableitungen mit einem Trick volligvermeiden: Fur einen rein imaginaren Schritt ih lautet die Taylorreihe:

f(x+ ih) = f(x) + ihf ′(x)− h2

2f ′′(x)− ih3

3!f ′′′(x) + · · · (28)

Division durch h und Betrachtung nur des Imaginarteils auf beiden Seitenliefert:

f ′(x) =Im[f(x+ ih)]

h+O(h2) (29)

Vorteile der Ableitungsformel Gl. 29:

• Fehlerordnung h2 (statt h1 wie bei simplen Vorwartsdifferenzen), bzw. sel-be Fehlerordnung wie bei Zentraldifferenzen, aber mit nur einer Funk-tionsberechnung;

• keine Rundungsfehler/Weghebung, damit sehr viel kleinere h-Werte mog-lich;

• bei Sprachen mit “eingebauten” komplexen Variablen und Funktionen(wie z.B. Fortran) ist die Implementation sehr einfach.

23

Page 24: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

3.6 Schlußbemerkungen

• Hohere Ordnung bewirkt nicht immer hohere Genauigkeit.

• Hohere Ordnung bedeutet nicht unbedingt bessere Effizienz.

• Funktionsberechnungen konnen teuer sein.Beispiel: Gradienten/Frequenzen in der ab-initio-Quantenchemie.Goldene Praxisregel: keine finiten Differenzen verwenden, sonderen ana-lytische Ableitungen. Diese mussen jedoch zusatzlich einprogrammiertwerden. Das wird trotzdem gemacht ⇒ das lohnt sich! Beispiel: Anilin:

– eine SCF-Energieberechnung dauere 5 min

– bei 14∗3=42 Freiheitsgraden und Zentraldifferenzen (2 Punkte proFreiheitsgrad) braucht der komplette Gradientenvektor42∗2∗5 min = 420 min = 7 h

– ⇒ eine konvergierte Geometrieoptimierung braucht � 1 Tag!

– mit “analytischen Gradienten” braucht der komplette Gradienten-vektor nur ca. 5–10 min und die konvergierte Geometrieoptimierungca. 1 h.

• Es existieren weitere Alternativen zur Ableitungsberechnung, z.B. viaFouriertransformation:

dn

dxnf(x) =

1√2π

∞∫−∞

F(k)dn

dxneikx dk =

1√2π

∞∫−∞

F(k) (ik)n eikx dk = f (n)(x)

(30)

24

Page 25: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

4 Integration

4.1 Vorbemerkungen:

Wann brauchen wir numerische Integration?

• nicht bei analytisch integrierbaren Funktionen, sondern

• bei analytisch gegebenen, aber nicht analytisch integrierbaren Funktionen,

• bei nur numerisch gegebenen Funktionen.

Einzige Voraussetzung an zu integrierende Funktion f(x):f(x) muß berechenbar sein, fur einige diskrete, vorgegebene Werte von xinnerhalb des Integrationsintervalls [a, b].

Grundprinzip:

b∫a

f(x) dx =N∑i=1

cif(xi) + Fehler(N, . . .) (31)

• unabhangig von der Form von f(),

• Lage der Stutzstellen xi bestimmt Werte der Koeffizienten ci,

• N moglichst klein,

• Fehler fur gegebenes N moglichst klein und abschatzbar,

• Fehler soll fur wachsendes N schnell gegen Null gehen.

Alle Integrationsverfahren dieses Typs machen implizite Annahmen uber denVerlauf von f(x) zwischen den Integrationsstutzstellen xi. Das ist

• einerseits ein Grundproblem bei allen numerischen Algorithmen, die mitDiskretisierungen arbeiten;

• andererseits theoretisch und praktisch nicht ganz so gefahrlich wie esscheint.

25

Page 26: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

4.2 Trapezregel (Euler-Verfahren)

(bei aquidistanten Stutzstellen: Newton-Cotes-Verfahren)

a bxixi+1

h

b∫a

f(x) dx ≈ 〈f〉|ba (b− a) (32)

= hN∑i=1

〈f〉|xi+1

xi(33)

= hN∑i=1

1

2(fi + fi+1) (34)

= h

(1

2f1 + f2 + · · ·+ fN−1 +

1

2fN

)(35)

In jedem Intervall der Breite h wird f(x) durch Gerade (Polynom 1.Ordnung)approximiert. Daraus folgt:

• die Formel ist exakt nur dann, wenn f(x) eine Gerade ist;

• Wenn wir f(xi+1) durch eine Taylorreihe um f(xi) approximieren:

f(xi+1) = f(xi) + hf ′(xi) +h2

2!f ′′(xi) + · · · (36)

brechen wir hier also nach dem linearen Glied ab⇒ der Fehler ist von der Ordnung O

(1/N2

)= O(h2)

Kontrolle der Konvergenz in der Praxis:

• einmalige Berechnung des Integrals (mit einem geratenen Wert fur h)ist gefahrlich; nur mit weiteren Informationen zu rechtfertigen (z.B.hinreichend genaue Resultate mit diesem h-Wert bei sehr ahnlichenFunktionen); sonst immer notig:

• mehrmalige Berechnung des Integrals mit jeweils kleiner werdenden h-Werten, bis Anderung der Integralapproximation kleiner als vorgegebeneSchranke ε.

26

Page 27: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

4.3 Programmiertips zur Integration

Ein typisches Integrationsprogramm hat drei wesentliche Teile:

1. Funktion, die f(x) fur einen beliebigen input-Wert x berechnet;

2. Subroutine fur die eigentliche Integration (bei festem N):

• Parameter:

– input: Integrationsgrenzen a, b

– input: (feste) Anzahl von Stutzstellen N

– output: Integralwert s

• berechne h aus a, b, N

• setze s = 12f1 + 1

2fN

• Schleife uber alle i = 2, N − 1:s = s+ fi (wobei fi ein Funktionsaufruf ist)

• setze s = s× h

3. Hauptprogramm

• user interface

• Schleife mit Zahlvariable i:

– berechne Integral si (Aufruf der subroutine)

– Konvergenztest: ist |si − si−1| < ϑsi ?wenn ja, Ergebnisausgabe und Stop; sonst weiter

– (zum Testen si ausgeben)

– erhohe N

Fehleranfalligste Stelle: Konvergenztest:

• Absolutwert der Differenz beachten!

• relativer Test besser als absoluter |si − si−1| < ϑ(dann ist ϑ abhangig von f(x) und Integrationsintervall)

• die Computergenauigkeit ist begrenzt⇒ man kann ϑ auch zu klein wahlen!

27

Page 28: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

4.4 Simpsonregel und andere Verfahren

• Simpson/Keplersche Fassregel: f(x) wird im Intervall h nicht durchGerade, sondern durch Parabel angenahert; dies ergibt:

b∫a

f(x) dx ≈ h

3(f1 + 4f2 + 2f3 + 4f4 + · · ·+ 2fN−2 + 4fN−1 + fN) (37)

• Achtung: Zahl der Punkte muss ungerade sein.(Gerade Zahl an Intervallen).

• Diese Formel ist exakt fur Polynome 3. Ordnung;

• Der Fehler ist von hoherer Ordnung als bei der Trapezregel:

O(

1

N 4

)= O(h4) (38)

• Implementation sehr ahnlich zur Trapezregel.

• Zahlreiche weitere Formeln dieser Art verfugbar: Bis zur 7. Ordnung(https://de.wikipedia.org/wiki/Newton-Cotes-Formeln).Danach aufgrund von negativen Gewichten nicht mehr sinnvoll (Run-dungsfehler bei Differenzbildung ahnlich großer Zahlen!)

• In manchen Situationen wichtig (s.u.): Es gibt auch sog.”offene“ Formeln,

bei denen die Funktionswerte f(a) und/oder f(b) an den Intervallgrenzennicht berechnet werden mussen, sondern nur Funktionswerte an Punktenstreng innerhalb des Intervalls.

28

Page 29: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

4.5 Adaptive Quadratur

• Manche Bereiche von f(x) benotigen mehr Integrationspunkte als andere.

• Mehrgitter -Verfahren:

1. Starte bei einem groben Gitter (per Trapezintegration)

2. Verfeinere das Gitter durch Verfahren hoherer Ordnung (Trapez→Simpson)

3. Bestimme aus dem Genauigkeitsgewinn vom groberen zum feinerenGitter, wo feinere Intervalle notigt sind.

4. Iteriere bis zur Konvergenz.

⇒ Die Gitterpunkte sammeln sich dort, wo”viel passiert“.

• Probleme: Fehlerabschatzung, Robustheit

• Beispiele von resultierenden Integrationsgittern:

0

20

40

60

80

100

0 0.2 0.4 0.6 0.8 1

y

x

FunktionIntegrationspunkte

0

10

20

30

40

50

60

70

80

90

100

0 0.2 0.4 0.6 0.8 1

y

x

FunktionIntegrationspunkte

29

Page 30: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

4.6 Gauß-Integration

Bei allen obigen Newton-Cotes-Formeln werden nur Anzahl der aquidistantenStutzstellen und Werte der Koeffizienten variiert, aber fur Erzielung nochhoherer Genauigkeit kann man noch einen weiteren Parameter variieren:Positionierung von nicht-aquidistanten Stutzstellen.

Man kann zeigen (z.B. Stoer/Bulirsch), daß

b∫a

f(x) dx =N∑i=1

wif(xi) (39)

exakt ist fur f(x) = Polynom vom Grad ≤ (2N −1), wenn die xi Nullstelleneines Orthogonalen Polynoms vom Grad N sind und die wi geeignet gewahlteGewichte.

• Exaktheit fur 2N−1 ist viel mehr als bei Newton-Cotes (N−1 bzw. N)

• Theorie dahinter nicht ganz trivial; hier unnotig; Anwendung auch ohnemoglich.

• woher {xi, wi}?

– aus Tabellen (Abramowicz/Stegun);

– oder mit speziellen Programmen (Numerical Recipes) fur beliebigeN berechenbar (Hintergrund z.T. in Henrik Larssons NumerikskriptWS15/16)

• bei bekannten {xi, wi} nicht langsamer als Newton-Cotes

• Fehlerformeln existieren zwar (z.B. Stoer/Bulirsch), sind aber in derPraxis kaum anwendbar (gehen nicht so einfach mit Nk oder hk).

• Verfeinerung des Integrationsgitters/Mehrgitterverfahren schwieriger alsbei Newton-Cotes

• bei Implementation zu beachten:

– wg. Definitionsbereich der Orthogonalen Polynome gelten Gauß-Integralformeln direkt nur im Intervall [−1,+1] ⇒ die Stutzpunktemussen auf das allgemeine Intervall [a, b] umskaliert werden, unddas Integralergebnis ebenso (mit 1/2 × (b − a), analog zur Formel〈f〉(b− a)).

– Legendre-Polynome sind (un)gerade bzgl. Ursprung, daher sind inTabellen oft nur halb so viele Punkte und Gewichte wie scheinbarnotig angegeben.

30

Page 31: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Einschub: Orthogonale Polynome

• Wichtige Klasse von Funktionen, welche ein vollstandiges Orthogonalsystem bilden:(klassische) Orthogonale Polynome

• Unterschiedliche Arten je nach Definitionsbereich und Art des Skalarprodukts:

〈m|n〉 ≡∫ b

a

pm(x)pn(x)W (x) dx = hnδm,n = hn ×

{1, m = n,

0, m 6= n.(40)

• W (x) nennt man Wichtungsfunktion.

• Alle orthogonalen Polynome erfullen die folgenden rekursiven Beziehungen:

p−1(x) = 0, (41)

p0(x) = 1, (42)

pj+1(x) = (x− aj)pj(x)− bjpj−1(x), j = 0, 1, 2, . . . (43)

• Die Polynome sind zudem Losungen von bestimmten Differentialgleichungen (DGL)und tauchen daher in der Physik sehr oft auf.

• Wichtige Eigenschaft: Ein orth. Polynom vom Grad n hat n verschiedene Nullstellen,welche jeweils zwischen den Nullstellen vom Polynom vom Grade n− 1 zu findensind.

• Die wichtigsten orthogonalen Polynome:

Name [a, b] W (x) Rekursion DGL

Legendre [−1, 1] 1 (j + 1)pj+1 = (2j + 1)xpj − jpj−1 (1− x2)y′′ − 2xy + j(j + 1)y = 0Laguerre [0,∞) exp(−x) (j + 1)pj+1 = (2j + 1− x)pj − jpj−1 xy′′ + (1− x)y′ + jy = 0Hermite (−∞,∞) exp(−x2) pj+1 = 2xpj − 2jpj−1 y′′ − 2xy′ + 2jy = 0

Chebychev [−1, 1]√

1− x2 pj+1 = 2xpj − pj−1 (1− x2)y′′ − xy′ + j2y = 0

Beispiel Legendrepolynome:

-1

-0.5

0

0.5

1

-1 -0.5 0 0.5 1

Legendre Polynome

x

P_n(

x)

P₀(x)P₁(x)P₂(x)P₃(x)P₄(x)P₅(x)

p0(x) = 1p1(x) = xp2(x) = 1

2(3x2 − 1)

p3(x) = 12(5x3 − 3x)

p4(x) = 18(35x4 − 30x2 + 3)

p5(x) = 18(63x5 − 70x3 + 15x)

p6(x) = 116

(231x6 − 315x4 + 105x2 − 5)pn(x) = 1

2nn!× dn

dxn (x2 − 1)n

31

Page 32: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

4.7 Schwierige Integranden

Unstetige Integranden Bei bekannten Sprungstellen: Aufteilung des In-tegrals, sodass die Sprungstellen jeweils die Integrationsgrenzen sind.Unbekannte Sprungstellen auffinden durch adaptive Quadratur.

Nadelimpulse/Singularitaten

• Aufteilung des Integrals wie bei Sprungstellen, dann:

• Variablentransformation (s.u.), oder:

• tanh-sinh-Quadratur :

– Trapezregel nach Variablensubstitution x = g(t) = tanh(π2 sinh(t)

),

dadurch fallt der Integrand doppelt-exponentiell ab.

–∫ 1

−1 f(x) dx =∫∞−∞ f

(g(t)

)g′(t) dt ≈

∑∞k=−∞ ωkf(xk),

– xk = tanh(π2 sinh(kh)

), mit Schrittweite h,

– ωk =12hπ cosh(kh)

cosh2(π2 sinh(kh)

)– Neben Singularitaten an den Grenzen auch gut geeignet fur

hochgenaue Integration.

Uneigentliche Integrale

• Benutzung von entsprechender Gauß-Quadratur (Laguerre, Hermite),sofern der Integrand dafur geeignet ist (analytisch).

• |a| = ∞ oder |b| = ∞: Variablentransformation mit x = 1/t, dx =dt/t2, also

b∫a

f(x) dx =

1/b∫1/a

1

t2f

(1

t

)dt (44)

und dann eine”offene“ Formel anwenden (ohne Berechnung von f(a)

bzw. f(b)), um Singularitat bei 1/t2 zu vermeiden. Achtung: DerIntegrand muss schneller abfallen als x−2!

• Beide Grenzen ∞: Aufteilung in zwei Integrale.

• Oder : Integration uber genugend großen Bereich falls bekannt ist,dass der Integrand schnell abklingt.

Stark oszillierende Integranden Gefahr von Rundungsfehlern (Subtrakti-on ahnlich großer Zahlen), evtl. analytische Mittelung uber Teilintervalle

32

Page 33: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

4.8 Mehrdimensionale Integration

Bei einfachen Grenzen, schwach veranderlichem Integranden und hohem Ge-nauigkeitsanspruch: Wiederholte 1D-Integrationen:

Dabei sind Grenzen der 2., 3., . . . Integration durch Funktionen der vorher-gehenden Variablen auszudrucken, z.B. Integral uber einen Kreis mit Radius1 um den Ursprung:

1∫−1

√1−x2∫

−√

1−x2

f(x, y) dydx (45)

Problem dieses Zugangs: Anzahl der Stutzstellen skaliert bei naivem Vor-gehen exponentiell mit der Anzahl der Dimensionen:

x x x x

xx

x

x

x

x x x

x x x

x x x

x x x

xx

x

x

x

x x x

x x x

x x x

x x x

x

x

x

x

x x x

x x x

x x x

x x x

x

x

x

x

x x x

x x x

x x x

x x x

x

x

x

x

x x x

x x x

x x x

x x x

Alternative: Dunnbesetzte Gitter, z.B. Smolyak- oder Clenshaw-Curtis-Quadratur:1

Hat der Integrand”lokale Spitzen“ in unbekannten Stellen, ist hochdimen-

sionale Integration hoffnungslos.1http://people.sc.fsu.edu/∼jburkardt/datasets/sparse_grid_cce/345.png

33

Page 34: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

4.9 Einschub: Zufallszahlen

• “echte” Zufallszahlen: Detektion von externen Signalen (Mausbewegung,Spannungs-/Frequenzunterschiede, . . . ); dauert ggf. zu lange

• Pseudozufallszahlen: werden berechnet, daher schell viele Zahlen erzeug-bar; aber deterministisch und sich periodisch wiederholend.

• Starte von einer Zahl I0 (random seed) als und berechne daraus iterativneue Zufallszahlen. Einfaches Beispiel:

Ij+1 = mod(a× Ij + c,m), (46)

mit Parametern a, c (mod liefert den Rest einer Division zuruck).Liefert ramdom integers zwischen 0 und m.Erzeugung von random reals im Intervall [0, 1] uber

r =Ijm. (47)

• In der Praxis deutlich kompliziertere Formeln. De-facto-Standard: Mersenne-Twister,2 wiederholt sich erst nach 219937−1 ≈ 4, 3 ·106001 Berechnungen.

• Einfacher Test auf Regelmaßigkeiten: Graphische Auftragung einer Zah-lensequenz als Punkte in einem 2D-plot:Schlechter versus guter Zufallszahlengenerator:3

• wichtige Praxistricks:

– quasi-zufalliger random seed: aktuelle Zeit, inkl. (Milli)sekunden

– fur Fehlersuche: immer wieder denselben seed verwenden.

2https://en.wikipedia.org/wiki/Mersenne_twister3http://www.reedbeta.com/blog/2013/01/12/quick-and-easy-gpu-random-numbers-in-d3d11/

34

Page 35: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Standardtrick zur Zerstorung von Korrelationen und damit zur Verbesserungeines existierenden Zufallszahlengenerators:

• Initialisierung: generiere N Zufallszahlen → speichere sie in array r(i)

• bei allen folgenden Aufrufen:

– skaliere vorherige Zufallszahl auf integer-Wert j im Intervall [1, N ]

– r(j) wird als Zufallszahl-output ausgegeben

– generiere eine neue Zufallszahl → speichere sie in r(j)

35

Page 36: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Einfaches Programmieren mit Zufallszahlen

Verschiedene Verteilungen

• Gleichverteilung von random_number(r) in [0, 1[ direkt verwenden

• gleichverteiltes r im Intervall [x1, x2[ durch r = r(x2 − x1) + x1

• andere Verteilungen (exponentiell, Gaußformig, Poisson,. . . ) leicht ausGleichverteilung konstruierbar; siehe

”Numerical Recipes“

Munzwurf-Simulation

0 10.5

i =

{1 fur r ≥ 0.50 fur r < 0.5

(48)

(direkte Erzeugung”zufalliger bits“ ware effizienter, siehe Numerical Recipes)

Zufallsereignisse bekannter Wahrscheinlichkeit

z.B.: Ereignis a: 60%, Ereignis b: 30%, Ereignis c: 10%

0 1

0.6 0.9

a b c

wahle

c fur r ≥ 0.9b fur 0.6 ≤ r < 0.9a fur r < 0.6

(49)

Im allgemeinen Fall mit n Ereignissen mit Wahrscheinlichkeiten wi, i =1, . . . , n, 0 ≤ wi ≤ 1 sowie

∑iwi = 1, wird diese Implementation wegen

vieler if-Abfragen unnotig langsam.Alternative:

call random_number(r)

s = 0.d0

j = 1

do

s = s + w(j)

if (s > r) exit

j = j + 1

end do

i = j

Dieses Programmfragment wahlt integer-Wert i mit Wahrscheinlichkeit w(i),unter obigen Voraussetzungen.

36

Page 37: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

4.10 Monte-Carlo-Integration

Anschauliche Vorubung: MC-Berechnung von π:

r

r

0

Flache 4Flache �

=πr2/4

r2=

1

4π (50)

⇒ Algorithmus zur Berechnung von π:

1. Generiere zwei Zufallszahlen xi, yi (gleichverteilt in [0, 1); implizite An-nahme: r = 1)

2. Teste, ob Punkt (xi, yi) im Viertelkreis liegt (trifft zu, wenn x2i +y2

i ≤ 1)

3. π = 4× Anzahl Punkte im ViertelkreisAnzahl aller Punkte

4. Wenn noch nicht konvergiert, gehe zu (1)

Konvergenz: nur ca. wie√N , d.h. viermal so viele Punkte notig, um den

Fehler zu halbieren.

37

Page 38: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

MC-Integration in 1D

zwei mogliche Sichtweisen / Verfahren:

mittlere Flache: wie MC-Berechnung von π:

<f>

a br12 3r r a b

y

b∫a

f(x) dx = 〈f〉(b− a) (51)

mit 〈f〉 =1

N

N∑i=1

f(ri) (52)

b∫a

f(x) dx =

y(b− a)x,y-Punkte unter f(x)

alle x,y-Punkte(53)

Offensichtlich ist Verfahren 1 einfacher: Nur eine statt zwei Zufallszahlen proFunktionsberechnung.

Konvergenz ebenso schlecht wie bei MC-π-Berechnung ⇒ nicht konkurrenz-fahig zu Newton-Cotes, Gauß,. . . , in 1D, aber

√N -Konvergenz ist dimensi-

onsunabhangig ⇒ MC-Integration gewinnt in hoheren Dimensionen immer:

MC-Integration in nD

In mehr als einer Dimension ist MC-Integration eine gute Wahl, wenn

• die Integrationsgrenzen kompliziert sind und/oder

• der Integrand schwach veranderlich ist (keine”lokalen Spitzen“) und/oder

• niedrige Genauigkeit ausreicht.

Weitere Praxisvorteile:

• trivial-parallel;

• Genauigkeit durch weitere Punkte nachtraglich sehr einfach und beliebigsteigerbar (wenn auch nur mit

√N)

38

Page 39: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

4.11 Schlußbemerkungen zur Praxis

• meist wird nichts von alldem selbst programmiert, sondern man benutztBibliotheksroutinen; einmal selbst programmieren hilft aber extrem, mitBibliotheksroutinen umzugehen.

• Quantenchemie: Billionen von Integralen schon bei kleinen Molekulen

– wenige Gruppen weltweit haben extrem hochgezuchtete Spezialver-fahren entwickelt; Mix von analytischer und numerischer Integration

– DFT: spezielle numerische Integrationen mit Kombinationen vonatomzentrierten 3D-Stutzstellengittern (ahnlich zur 1D-Gaußintegration)

• MC-artige Verfahren weit verbreitet in Statistischer Thermodynamik:MC-Berechnung hochdimensionaler Integrale in molekularen Freiheits-graden; oft verbunden mit Zusatztechniken wie “importance sampling”(Plazierung von Punkten nicht gleichverteilt-zufallig, sondern bevorzugtdort, wo der Integrand groß ist) u.v.a.m.

• Elementarteilchenphysik: diskretisierte Quantenchromodynamik (Gitter-QCD) mit MC-Verfahren am HLRN:

– verwenden sehr viele Knoten/CPUcores mit exzellenter Skalierung

– großter Rechenzeitanteil irgendeiner Subdisziplin

– nehmen gerne noch mehr Rechenzeit (Konvergenz wie√N ;-) )

39

Page 40: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

5 Differentialgleichungen

Der großte Teil dieses Kapitels behandelt gewohnliche Differentialgleichun-gen; im letzten Unterkapitel werden partielle Differentialgleichungen kurzangesprochen.

5.1 Vergleich zur Integration

Zwischen der Integration und der Losung von Differentialgleichungen (DGL)besteht ein enger Zusammenhang: Das Aufsuchen der Losung y(x1) desIntegrals

x1∫x0

f(x) dx = y(x1) (54)

ist aquivalent zum Aufsuchen der Losung von

dy

dx= y′ = f(x) (55)

mit Anfangsbedingung y(x0) = 0 und an einem Punkt x = x1. Differential-gleichungen vom Typ Gl. 55 konnen wir also mit den bekannten Integrati-onsverfahren bereits losen.

Die allgemeine Formel fur Differentialgleichungen dieses Typs ist jedoch:

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

Problem: Um y analog zu Gl. 54 berechnen zu konnen, mußte y bereitsbekannt sein. ⇒ anderes, extrapolatives Verfahren notig!

5.2 Anfangswert- und Randwertprobleme

Allgemeine DGL-Losungen (mit unbestimmten Konstanten) sind numerischnicht erzeugbar. Zur Ermittlung einer speziellen Losung einer DGL 2.Ord-nung y′′ = f(x, y, y′) sind zwei Angaben notig (zur Bestimmung der beidenIntegrationskonstanten):

Anfangswertproblem: Zahlenwerte fur y(x0) und y′(x0)

Randwertproblem: Zahlenwerte fur y(x0) und y(x1)

Der großte Teil dieses Kapitels behandelt die viel einfacheren Anfangswert-probleme; ein Unterkapitel geht kurz auf Randwertprobleme ein.

40

Page 41: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

5.3 Explizites Euler-Cauchysches Polygonzugverfahren

Fur eine Differentialgleichung

y′ =dy

dx= f(x, y) (57)

mit Anfangsbedingung (x0, y0) sind weitere Punkte (x, y) der Funktion y(x)gesucht, die die Differentialgleichung Gl. 57 erfullt.

Fur jeden Punkt (x, y) gibt das bekannte f(x, y) exakt die Steigung der Funk-tion y(x) an. Es liegt nahe, diese Information fur eine linear-extrapolierendeKonstruktion von y(x) zu verwenden:

x1

x0

x2

x

y

y0

Wir machen also die Approximation

dy

dx≈ ∆y

∆x(58)

woraus sich ergibt

∆y = yi+1 − yi = f(xi, yi) ∆x = hf(xi, yi) (59)

oder folgende iterativ-punktweise Erzeugung (Propagation) von y(x), ausge-hend vom Anfangswert (x0, y0):

xi+1 = xi + h , yi+1 = yi + hf(xi, yi) , i = 0, 1, 2, . . . (60)

Nach dieser Herleitung konnte bei jedem Schritt ein anderer Wert fur h = ∆xgewahlt werden. Das ist ohne weitere Kriterien jedoch schwierig (s.u.), daherwahlt man hier fur alle Schritte denselben h-Wert.

Gl. 59 entspricht einer Taylorreihe bis inkl. dem Term 1.Ordnung, daherist der Fehler dieses Euler-Verfahrens O(h2). Bei der Euler-Integration wirdinterpoliert, hier wird jedoch extrapoliert. Daher ist das Euler-Verfahren beiDGLs i.d.R. nicht effizient genug.

41

Page 42: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

5.4 Runge-Kutta-Verfahren

Man kann eine Verringerung des Fehlers erreichen, wenn man fur die Steigungim Intervall nicht die Steigung am Anfang, sondern die Steigung in derIntervallmitte ansetzt, nach folgender Strategie:

• konstruiere einen Hilfspunkt in der Intervallmitte: x1/2 = x0 + 12h

• berechne den dortigen y-Wert: y1/2 = y0 + 12hf(x0, y0)

(bis hierher ist das ein Euler-artiger Schritt mit h/2)

• die Steigung in (x1/2, y1/2) ergibt sich durch Einsetzen in f(): f(x1/2, y1/2)

• mit dieser Steigung geht man dann von x0 nach x1:y1 = y0 + hf(x1/2, y1/2)(das ist wieder ein Euler-artiger Schritt, diesmal mit Schrittweite h)

x1

x0

x2

x

y

y0

x1/2

h

In der in diesem Gebiet ublichen Notation fuhrt man zwei Hilfsgroßen k1

und k2 ein und schreibt dies als:

k1 = hf(xi, yi) (61)

k2 = hf(xi +1

2h, yi +

1

2k1) (62)

yi+1 = yi + k2 (63)

Dieses Schema heißt Runge-Kutta-Verfahren 2.Ordnung (modifiziertes Euler-Verfahren, midpoint-Verfahren). Die Erhohung der Fehlerordnung auf O(h3)erkauft man sich dabei durch 2 Funktionsberechnungen pro Schritt (und zweiEuler-artige Schritte pro eigentlicher Schrittweite h).

(Wieder interpretierbar als geschickte Kombination verschiedener Differen-zenquotienten, um fuhrende Fehlerglieder in einer Taylorentwicklung wegzu-heben).

42

Page 43: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Verallgemeinerung zur hoherer (m-ter) Ordnung:

yj+1 = yj + hj

m∑l=1

γlkl(xj, yj), (64)

kl(x, y) = f

(x+ αlhj, y + hj

m∑r=1

βlrkr(x, y)

)(65)

Parameter βlr, αl, γl aus sog. Konsistenzbedingungen (∑

i γi = 2 oder∑

i γiαi =1/2, etc., siehe Deuflhardt, Band 2).

Besonders oft verwendet: Runge-Kutta 4. Ordnung (verwandt mit Simpson-Regel bei Integration):

k1 = f(xi, yi) (66)

k2 = f(xi +1

2h, yi + h× 1

2k1) (67)

k3 = f(xi +1

2h, yi + h× 1

2k2) (68)

k4 = f(xi + h, yi + h× k3) (69)

yi+1 = yi + h× 1

6(k1 + 2k2 + 2k3 + k4) +O(h5) (70)

Auflistung der Koeffizienten oft per Butcher -Schema:~α βββ

~γT

Euler RK 2.Ordng. RK 4.Ordng.

0

1

01/2 1/2

0 1

01/2 1/21/2 0 1/21 0 0 1

1/6 1/3 1/3 1/6

Preis fur die Ordnung O(h5): 4 (aufwendige!) Funktionsberechnungen proSchritt. Aber oftmals gilt in der Praxis:

h bei Runge-Kutta 4. Ordnung ≥ 2h bei midpoint ≥ 4h bei Euler

4 Funktionsberechnungen werden durch langere Schrittweite uberkompensiert.

Wie bei der Integration gilt allerdings auch hier:

• hohere Ordnung 6= hohere Genauigkeit (bei vergleichbarem Aufwand)/Effizienz;Gleichheit nur bei hinreichend gutartigen Differentialgleichungen moglich.

• Konvergenztests (verschiedene Schrittweiten h) extrem wichtig.

• Zu kleine Schrittweite h wegen begrenzter Computergenauigkeit auchnicht gut (siehe Ubungen zur numerischen Differentiation).

43

Page 44: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Implementation

Algorithmen zur Losung von Differentialgleichungen mit fester Schrittweitesollten in drei Modulen implementiert werden, sehr ahnlich zur Integration:

1. Funktion C zur Berechnung von f(x, y):

• input: x, y

• berechne output y′ = f(x, y)

2. subroutine B, die einen Schritt der Lange h macht:

• input: h, xi, yi

• Formel zur Berechnung von yi+1 aus yi, xi, h (und ggf. k1, k2, . . .)und einem (oder mehreren) Aufrufen der Funktion C

• output: yi+1, xi+1 = xi + h

3. Hauptprogramm A:

• user-interface: Eingabe von

– Anfangsbedingungen: x0, y0

– xf , sowie entweder Schrittweite h oder Schrittanzahl n(die jeweils andere Große kann/muß intern berechnet werden)

– Genauigkeitstoleranz

• X: Schleife uber n Aufrufe der subroutine B

• Ausgabe von yf = y(xf) und ggf. analytischer Vergleichswert

• wenn Genauigkeit nicht ausreichend, h verkleinern (bzw. n erhohen)und zuruck zu X

44

Page 45: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

5.5 Adaptive Schrittweitenkontrolle

5.5.1 Grundideen

Die obige Technik des iterativen”Nochmal-Propagierens“ mit verkleinertem

h bis zur Konvergenz kann (fast) vollig vermieden werden, wenn der Pro-grammteil B an Teil A zuruckmeldet, ob h beibehalten werden kann odernicht; daraufhin kann A entscheiden, ob und wie h ggf. vergroßert oder ver-kleinert werden sollte. Dazu muß B eine Fehlerabschatzung machen. Dazugibt es verschiedene Moglichkeiten, z.B.:

• vergleiche einen Schritt mit gleichem h von zwei Verfahren der OrdnungN und N + 1 ⇒ z.B. Runge-Kutta-Fehlberg; oder:

•”Schrittverdopplung“: vergleiche einen regularen Schritt xi → xi+1 von

Schrittweite 2h mit einem Doppelschritt xi →→ xi+1 mit Schrittweiteh.

5.5.2 Schrittverdopplung

Schrittverdopplung fur Runge-Kutta 4.Ordnung:

(2h-Schritt) : y(x+ 2h) = yRK,1 + (2h)5φ+O(h6) (71)

2× (h-Schritt) : y(x+ 2h) = yRK,2 + 2(h5)φ+O(h6) (72)

⇒ ∆ = |yRK,2 − yRK,1| ∝ h5 (73)

∆ soll kleiner als ε sein: ∆ ≤ ε = ATOL+|yRK,1|×RTOL. Mit einem gewunsch-ten, relativen Fehler ε konnten wir dann sofort die fur diese Zielgenauigkeitnotige Schrittweite hneu ausrechnen:

hneu = h∣∣∣ ε∆

∣∣∣1/5 (74)

Allerdings: hneu wurde fur xi → xi+1 berechnet, soll aber auf xi+1 → xi+2 an-

gewandt werden. Daher besser: Konservativere Abschatzung hneu = Ch∣∣ ε

∣∣1/5,C - 1 und zusatzliches Abfangen von zu großen/kleinen h-Werten (z.B. ma-ximal Schrittweiten-verdopplung/halbierung)

5.5.3 Runge-Kutta-Fehlberg

Es konnen Koeffizienten gefunden werden, die sowohl fur ein RK-Verfahrennter Ordnung als auch fur ein Verfahren (n−1)ter Ordnung gelten. Beispiel:Runge-Kutta-Fehlberg 5(4):

45

Page 46: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

01/4 1/43/8 3/32 9/32

12/13 1932/2197 −7200/2197 7296/21971 439/216 −8 3680/513 −845/4104

1/2 −8/27 2 −3544/2565 1859/4104 −11/4016/135 0 6656/12825 28561/56430 −9/50 2/55 (RKF5)25/216 0 1408/2565 2197/4104 −1/5 0 (RKF4)

Der Fehler ist damit bis zur 5ten Ordnung direkt abschatzbar, ohne Schritt-verdopplung. Die neue Schrittweite ergibt sich wieder nach Gl. 74.

Hier ist das RKF4-Resultat fur die Fortsetzung der Rechnung und dasRKF5-Resultat zur Schrittweitenkontrolle gedacht. Bei der Dormand-Prince-Methode (RKDP) ist es umgekehrt (und die Koeffizientenwerte sind etwasanders).

5.5.4 Einschatzung

Generell ist die Fehlerabschatzung mit signifikantem Mehraufwand verbunden:

• Derselbe Schritt muß mind. zweimal gerechnet werden.

• h-Verkleinerung/Vergroßerung muß sinnvoll kontrolliert werden (Vermei-dung von zu großen Anderungen und underflow)

Dennoch kann die adaptive Schrittweitenkontrolle sehr lohnend sein:

• Einfache Kontrolle der Zielgenauigkeit (⇒ Black-Box-Routinen)

• Jede Region bekommt wahrend der Propagation automatisch ein an sieangepasstes h;

• Bei guter ε-Wahl werden Iterationen des Gesamtverfahrens ggf. volliguberflussig.

46

Page 47: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

5.6 Pradiktor-Korrektor/Mehrschrittverfahren

Grundidee: Bei bisherigen Verfahren ist jeder ermittelte Punkt ein neuerAnfangspunkt; alte y-Werte werden

”vergessen“. Bei Pradiktor-Korrektor-

Verfahren werden stattdessen die folgenden beiden Schritte alternierend ite-riert:

• Pradiktor-Schritt: N − 1 alte y-Werte werden benutzt, um einen neueny-Wert yN zu extrapolieren;

• Korrektor-Schritt: Fur die jetzt N bekannten y-Werte wird dydx = f(x, y)

inb∫a

f(x, y) dx = y(b) zuruckverwandelt und mit einer geeigneten N -

Punkte-Integrationsformel ausgerechnet ⇒ verbesserter Wert von yN .

Haufig verwendet:”Adams-Bashforth-Moulton“ (ABM); z.B. 3. Ordnung:

yn+1Pradiktor = yn +

h

12(23y′n − 16y′n−1 + 5y′n−2) +O(h4), (Adams-Bashforth-Schritt)

(75)

yKorrektorn+1 = yn +

h

12(5yn+1

′ + 8y′n − y′n−1) +O(h4), (Adams-Moulton-Schritt).

(76)

• Anfangswerte werden oft per RK2 oder ahnliche Verfahren generiert.

• Sehr gutes Verfahren, wenn die Losung der ODE nicht stark oszillativund die Berechnung von f sehr aufwendig ist.

• Differenz Pradiktor-Korrektor → Genauigkeitsabschatzung → Schritt-weiten- oder Ordnungskontrolle; aber:

• Programmierung sehr aufwendig (Buchhaltung alter Werte notig);

• Programmieraufwand steigt mit Schrittweitenkontrolle noch einmal er-heblich.

• Allerdings: Altes, daher ausgereiftes Verfahren ⇒ moderne Implemen-tationen enthalten Jahrzehnte an Entwicklungsarbeit

47

Page 48: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

5.7 Weitere Verfahren und Aspekte

Bulirsch-Stoer-Verfahren: große Schrittweite, mit Verfahren steigenderOrdnung, Richardson-extrapoliert auf ∞-Ordnung.

Steife DGLs: genaue Definition schwierig; pragmatisch:

• gewisse Komponenten der Losung klingen sehr viel schneller ab alsandere;

• nicht Genauigkeits-, sondern Stabilitatsanforderungen begrenzen die Schritt-weite;

• explizite Losungsverfahren haben Probleme; funktionieren wenn uber-haupt dann nur mit extrem kleiner Schrittweite.

Implizite Verfahren: haben deutlich weniger Probleme mit steifen DGLs.

Euler explizit: yi+1 = yi + hf(xi, yi) (77)

Euler implizit: yi+1 = yi + hf(xi+1, yi+1) (78)

yi+1 kann aus Gl. 78 nicht direkt berechnet werden, da es links und rechtsvorkommt! ⇒ Iterative Nullstellensuche notig, um yi+1 naherungsweise zubestimmen. Kann bei steifen DGLs trotzdem lohnend sein.

(Bsp. fur steife DGL und explizite/implizite Losung: Henriks Skript WS15/16)

48

Page 49: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

5.8 Randwertprobleme

Einfaches Schießverfahren: Formuliere Randwertproblem

y′′ = f(x, y, y′), mit y(x0) = a, y(x1) = b (79)

um in ein Anfangswertproblem

y′′ = f(x, y, y′), mit y(x0) = a, y′(x0) = s (80)

Rate Versuchswert s0 und propagiere von x0 zu x1.Je nach y(x1) wird s0 in geeigneter Weise zu s1 verandert. Iteration bis zurKonvergenz.

x0

x

y

y0

x1

s0

s1

s2

sn

1y

Nachteile:

• Nicht jede gegebene Randbedingung (x1, y1) muss notwendigerweise er-fullbar sein ⇒ keine theoretische Garantie fur eine Losung;

• Die Wahl von s0 kann so falsch sein, dass dazu gar kein y(x1) existiert;

• y1 kann so sensitiv von s abhangen, daß das Auffinden des korrekten spraktisch unmoglich wird ⇒ keine praktische Garantie fur eine Losung.

49

Page 50: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

5.9 DGL-Systeme, hohere Ordnung

Gekoppelte DGL-Systeme 1.Ordnung kommen haufig vor, z.B. chemischeKinetik (Phantasiebeispiel):

dA

dt= −k1A− k2AB (81)

dB

dt= k3C

2 − k4BD (82)

...

Sie sind mit allen obigen Verfahren behandelbar. Einzige Anderung in derImplementation: y und f(x, y) sind keine Einzelvariablen mehr, sondernVektoren.

DGLs hoherer Ordnung sind immer auf DGL-Systeme 1.Ordnung ruck-fuhrbar, durch Einfuhrung geeigneter Hilfsgroßen. Beispiel:

Nach Newton gilt fur 1 Teilchen in 1 Dimension:

ma = mdv

dt= m

d2x

dt2= F (x) = −dV

dx

∣∣∣∣x

(83)

Das ist eine DGL 2.Ordnung.

Mit dem Impuls p = mv ergeben sich die Hamiltonschen Bewegungsgleichun-gen:

dx

dt=

p

m(84)

dp

dt= −dV

dx

∣∣∣∣x

(85)

Das ist ein System aus zwei gekoppelten DGLs 1.Ordnung.

50

Page 51: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

5.10 Partielle Differentialgleichungen

Weitere Schwierigkeitsstufe, weil Variabilitat noch einmal hoher:

Integration → gew. DGL-System → partielles DGL-Systemdydx = f(x) dyi

dx = f(x, y1, y2, . . .)∂yi∂xj

= f(x1, x2, . . . , y1, y2, . . .)

(86)⇒ Weites, neues Feld mit viel weniger Systematik und Theorie, und mitvielen speziellen Methoden.

Zwei Standardstrategien:

• Ersatz von Differentialquotienten durch finite Differenzen, oder

• Entwicklung unbekannter Losungsfunktionen in Reihen aus bekanntenBasisfunktionen.

⇒ Umwandlung der partiellen DGL in Probleme der linearen Algebra, Lo-sung mit den dort etablierten Methoden (lineare Gleichungssysteme, Matrix-Eigenwertproblem).

5.10.1 Beispiel Finite Differenzen I

2. Fouriersches Gesetz der Warmeleitung/2. Ficksches Gesetz (in 1D):

∂T

∂t= c

∂2T

∂x2(87)

Approximation der zweiten Ableitung durch finite Differenzen

y′′i =yi+1 − 2yi + yi−1

h2+O(h3) (88)

ergibt auf der rechten Seite

c∂2T

∂x2

∣∣∣∣xi

=c

h2(Ti+1 − 2Ti + Ti−1). (89)

Definiert man die Temperatur am Punkt xi als Ti, erhalt man auf diesem1D-Ortsraumgitter also (inkl. zweier Randbedingungen):

dT0

dt= a (90)

dT1

dt=

c

h2(T2 − 2T1 + T0) (91)

dT2

dt=

c

h2(T3 − 2T2 + T1) (92)

51

Page 52: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

...dTn−1

dt=

c

h2(Tn − 2Tn−1 + Tn−2) (93)

dTndt

= b (94)

Das ist ein System gewohnlicher DGLs, also mit den ublichen Methodendirekt losbar.

5.10.2 Beispiel Finite Differenzen II

Die Schrodingergleichung fur die Bewegung eines Teilchens der Masse m ineiner Raumdimension x lautet:

HΨ = EΨ, (95)

mit dem Hamilton-Operator

H = − ~2

2m

d2

dx2+ V (x). (96)

Mit den Abkurzungen

Q(x) = −2m

~2V (x), ω = −2m

~2E. (97)

erhalten wir:d2Ψ(x)

dx2+Q(x) Ψ(x) = ωΨ(x). (98)

Die Diskretisierung der 2. Ableitung von Ψ nach x

d2Ψ

dx2≈ Ψ(xi+1) + Ψ(xi−1)− 2Ψ(xi)

∆x2(99)

fuhrt nach Einsetzen in Gleichung (98) zum Gleichungssystem

[Ψ(xi+1) + Ψ(xi−1) + aiΨ(xi)] = λΨ(xi) (100)

mit den Abkurzungen

ai = ∆x2 ·Q(xi)−2 = −2m∆x2

~2V (xi)−2, λ = ∆x2 ·ω = −2m∆x2

~2E (101)

Mit den Randbedingungen Ψ(x0) = Ψ(xN+1) = 0 gilt fur das erste bzw. dasletzte Intervall:

[Ψ(x2) + a1Ψ(x1)] = λΨ(x1), (102)

[Ψ(xN−1) + aNΨ(xN)] = λΨ(xN). (103)

52

Page 53: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Somit lassen sich die Gleichungen (100) in Matrixform schreiben als:

a1 1 0 · · · 0 01 a2 1 · · · 0 00 1 a3 · · · 0 0...

...... . . . ...

...0 0 0 · · · aN−1 10 0 0 · · · 1 aN

·

Ψ(x1)Ψ(x2)Ψ(x3)

...Ψ(xN−1)Ψ(xN)

= λ ·

Ψ(x1)Ψ(x2)Ψ(x3)

...Ψ(xN−1)Ψ(xN)

, (104)

was ein einfaches Eigenwertproblem einer tridiagonalen Matrix ist.

Nachteile dieser sehr einfachen Strategie sind die relativ ungenaue Diskreti-sierungsformel (⇒ große Matrizen) und Probleme bei der Verallgemeinerungauf mehr als eine Dimension.

5.10.3 Spezielle Verfahren in der theoretischen Chemie

An das physikalische Problem angepasste DGL-Loser sind deutlich besser alsStandardverfahren. Beispiele:

• Klassische Molekulardynamiksimulationen: simple Verlet, leapfrog, velo-city Verlet, symplektische Integratoren;siehe chem0503, chem1004D

• Zeitunabhangige Schrodingergleichung (partielle DGL!): Quantenchemie-Verfahren (Coupled Cluster etc.), Galerkin/Finite Basisdarstellung, Numerov-Methode, Kollokation;siehe chem1004D

• Zeitabhangige Schrodingergleichung: Short Iterative Lanczos, symplekti-sche Integratoren, Chebycheff, Split-Operator, Taylor-Reihe, . . . ;siehe chem1004D

Beispiel: Basisfunktionsentwicklung (Galerkin/Finite Basisdarstellung) Wesent-lich allgemeiner und sehr leicht auf beliebige Dimensionszahlen verallgemei-nerbar ist die Entwicklung der gesuchten Losungsfunktion(en) Ψ(x) in einenSatz von Basisfunktionen φi(x), i = 1, 2, . . . , n (Spektraldarstellung):

Ψ(x) =n∑i=1

ci φi(x). (105)

Dieser Basisfunktionensatz sollte theoretisch vollstandig sein, was bei hinrei-chend nicht-trivialen Problemen unendlich viele Funktionen (n→∞) erfor-dert. Das ist in der Praxis naturlich nicht moglich; man kann konkret nur

53

Page 54: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

mit Basisfunktionssatzen endlicher Große umgehen (finite basis representation,FBR).

Einsetzen der Entwicklung Gl. 105 in Gl. 95 liefert:∑i

ciHφi(x) = E∑i

ci φi(x). (106)

Im Folgenden kurzen wir die auftretenden Integrale mit der Diracschenbra-ket-Schreibweise ab:

∞∫−∞

φ∗jOφi dr = 〈φj|O|φi〉. (107)

Multiplikation von Gl. 106 mit der Basisfunktion φj (beliebiges j) undIntegration uber alle Koordinaten r entspricht also formal einer Multiplikationvon links mit dem bra 〈φj| und ergibt:∑

i

ci〈φj|H|φi〉 = E∑i

ci〈φj|φi〉. (108)

Wenn die Basis {φi} orthonormal ist, gilt fur die Uberlappungsmatrix

Sji = 〈φj|φi〉 = δij (109)

und die Summe auf der rechten Seite kollabiert zu einem einzigen Term:∑i

ci〈φj|H|φi〉 :=∑i

ciHji = Ecj. (110)

Fur jeden Wert von j gibt es eine solche Gleichung; diese konnen zusam-mengefasst werden zu der Matrix-Vektor-Gleichung

H~c = E~c. (111)

Fur eine FBR-Basis aus n Funktionen erhalt man zwangslaufig eine n on-Matrix H und damit genau n Eigenwerte (die nicht alle verschiedensein mussen) und dazugehorige Eigenvektoren. Dementsprechend gibt es nverschiedene Matrix-Vektor-Gleichungen Gl. 111, die man abkurzend zu einereinzigen Matrix-Matrix-Gleichung zusammenfassen kann:

HC = EC. (112)

Dabei sind die Vektoren ~c die Spaltenvektoren der Matrix C, und dieDiagonalmatrix E enthalt die n Eigenwerte E auf der Diagonalen.

Beachte: Bei der Herleitung von Gl. 111 haben wir keinerlei Voraussetzungenuber die Anzahl der Raumdimensionen unseres Problems gemacht. Wenn

54

Page 55: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

unsere Basisfunktionen also alle diese Raumdimensionen in einem hinreichendgroßen Bereich abdecken und wir uber alle diese Dimensionen integrieren,ist diese Strategie vollig allgemein und liefert fur n Basisfunktionen immerein n o n-Matrixeigenwertproblem. Da der Hamiltonoperator (fast) immerhermitesch (oder sogar symmetrisch) ist, ist die resultierende Matrix auchhermitesch (oder symmetrisch).

55

Page 56: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6 Suche nach Nullstellen und Extremwerten

6.1 Nullstellensuche (root finding)

Einfachste Variante: Suche Nullstelle(n) einer 1D-Funktion:

f(x) = 0 (113)

Dies umfaßt bereits scheinbar andere Falle, z.B. Schnittpunkt(e) zweier Funk-tionen:

f(x) = c ⇒ f(x)− c = 0 (114)

f(x) = g(x) ⇒ f(x)− g(x) = 0 (115)

oder auch das tabellarische Aufstellen impliziter Funktionen: z.B. definiert

exp(−x2 − y2) = x2y + y2x3 (116)

implizit eine Funktion y = f(x). In der Form

exp(−x2 − y2)− x2y + y2x3 = 0 (117)

kann man fur beliebig vorgegebene Werte x jedoch durch Nullstellensucheden y-Wert finden, der zu y = f(x) gehort.

Fur das Problem f(x) = 0 gibt es verschiedene, relativ robuste und allgemeineVerfahren, die aber iterativ sind und auch scheitern konnen. Daher ist einenumerische Losung nur sinnvoll, wenn eine analytische Losung nicht moglichist (Auflosen von f(x) und ggf. g(x) nach x).

Der nD-Fall sieht ahnlich aus

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

ist aber u.U. extrem schwierig, siehe Diskussion dazu am Ende dieses Kapitels.

56

Page 57: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6.1.1 Fixpunktiteration

Ist die zu ermittelnde Gleichung von der Form

0 = φ(x)− x, (119)

so kann sie nach Umformung in

x = φ(x) (120)

als Iterationsvorschrift interpretiert werden:

x(k+1) = φ(x(k)), k = 0, 1, . . . (121)

Diese Iteration kann divergieren, aber unter gewisssen Voraussetzungen kon-vergiert sie gegen einen sogenannten Fixpunkt (der auch eine Losung vonGl. 119 sein muß) und kann gestoppt werden, wenn |x(k+1) − x(k)| < ε.

Diverse andere Verfahren konnen als Fixpunktiteration interpretiert werden.

6.1.2 Nullstellen eingrenzen (bracketing)

In 1D ist es moglich, Nullstellen (ungerader Ordnung) zunachst einzugrenzen,also ein Intervall zu finden, in dem sich (mindestens) eine Nullstelle befindenmuß, wenn die Funktion stetig ist:

Finde [a, b] , so daß : sign{f(a)} 6= sign{f(b)} (122)

Tatsachlich gibt es aber mehrere einfache Moglichkeiten, wie dieses Rezeptscheitern kann, z.B.:

• mehrfache oder eng benachbarte Nullstellen: Vorzeichenwechsel nichtvorhanden oder schwer lokalisierbar;

• Polstellen konnen Gl.122 erfullen, ohne daß eine Nullstelle vorhandenist.

⇒ Die Eingrenzung kann auch scheitern.

Trotzdem empfiehlt es sich, eine Eingrenzung vorzunehmen, und viele Algo-rithmen gehen auch davon aus.

57

Page 58: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

58

Page 59: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6.1.3 Bisektion

Mit einer banalen Intervallteilung kann man eine eingegrenzte Nullstelle sicherund beliebig genau finden:

1. Gegeben sei ein eingrenzendes Intervall [a, b], so daßsign{f(a)} 6= sign{f(b)}

2. Halbiere das Intervall: c = a+ (b− a)/2

3. Berechne f(c)

4. Ersetze entweder a oder b durch c, sodaß [a, c] bzw. [c, b] wieder eineingrenzendes Intervall ist

5. Wenn ε = b−a oder f(c) kleiner ist als eine gewunschte Toleranz, stop.

6. Sonst: Gehe zu (2)

Beachte: Pro Iteration genau eine Funktionsauswertung.

Vorteile:

• extrem einfach;

• funktioniert garantiert(genauer: was auch immer den Vorzeichenwechsel verursacht, wird ge-funden);

• gleichmaßige Konvergenz: Wenn die Nullstelle bei der n-ten Iteration ineinem Intervall der Breite εn war, wird sie bei der (n+ 1)-ten Iterationin einem halb so breiten Intervall sein:

εn+1 = εn/2 (123)

Daher ist die fur eine gewunschte Endtoleranz εf notige Anzahl nvon Iterationen bei einer gegebenen Anfangsintervallbreite ε0 im vorausangebbar:

n = log2

ε0εf

(124)

(Mehr als 40 Iterationen sind i.d.R. kaum notig, weil 2−40 ≈ 10−12)

Nachteile:

• findet nur eine Nullstelle, wenn mehrere im Anfangsintervall;

• Konvergenz nur linear, langsamer als andere Methoden.

59

Page 60: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6.1.4 Sekantenmethode, regula falsi (false position method)

Ersetze die Funktion durch eine Gerade (Sekante, Taylorreihe bis zum linearenGlied); wieder nur eine Funktionsberechnung pro Iteration:

1. Gegeben: eingrenzendes Intervall [a, b], mit sign{f(a)} 6= sign{f(b)}

2. Konstruiere Gerade g(x) durch dPunkte (a, f(a)) und (b, f(b))

3. Ermittle c als Nullstelle dieser Geraden: g(c) = 0

4. Berechne f(c)

5. Alternative Ersetzungsregeln:

regula falsi: Ersetze entweder a oder b durch c, sodaß [a, c] bzw. [c, b]wieder ein eingrenzendes Intervall ist

Sekantenmethode: Ersetze den alteren der beiden Punkte a und b

durch c.

6. Wenn ε = b−a oder f(c) kleiner ist als eine gewunschte Toleranz, stop.

7. Sonst: Gehe zu (2)

Unterschied: Bei der regula falsi bleibt die Nullstelle strikt eingegrenzt (wiebei Bisektion), bei der Sekantenmethode nicht; daher kann die Sekanten-methode versagen. Dafur konvergiert die Sekantenmethode schneller und invorhersagbarer Weise:

limk→∞|εk+1| ∝ |εk|ϕ (125)

mit dem goldenen Schnitt ϕ = (1 +√

5)/2 ≈ 1.618.

Situation, in der beide Methoden extrem langsam konvergieren:

60

Page 61: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Sekantenmethode:

regula falsi:

Brents Methode kombiniert Bisektion, die Sekantenmethode (lineare In-terpolation) und inverse quadratische Interpolation. Dadurch ist sie deutlichkomplizierter, aber bei gutartigen Funktionen noch schneller konvergent.

61

Page 62: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6.1.5 Newton-Raphson

Wenn die 1.Ableitung von f(x) analytisch zur Verfugung steht, kann manstatt lokaler Sekantenapproximationen auch die Tangente verwenden, um eineneue Approximation an die Nullstelle zu konstruieren. Da man fur die Sekantezwei Punkte braucht, aber fur die Tangente nur einen (und die Steigung),kommt man dann auch ganz ohne Intervallschachtelungen aus:

1. Rate einen Startpunkt xi, i = 1

2. Berechne f(xi) und f ′(xi)

3. Approximiere die Funktion lokal durch die Tangente, d.h. die nachsteApproximation fur die Nullstelle ist die Nullstelle der Geraden durchden Punkt (xi, f(xi)) mit der Steigung f ′(xi):

f(x) ≈ f(xi) + f ′(xi)(x− xi)!

= 0 ⇒ xi+1 = xi −f(xi)

f ′(xi)(126)

4. Wenn die Schrittweite abs(xi+1 − xi) oder der Funktionswert f(xi+1)kleiner ist als eine Toleranzgrenze, stop.

5. Sonst i← i+ 1

6. Gehe zu (2).

Beachte: pro Iterationsschritt brauchen wir hier zusatzlich zur Funktions-berechnung auch einmal eine Ableitungsberechnung. Wenn diese Ableitungnumerisch approximiert werden muß (finite Differenzen), ist es daher besser,regula falsi oder das Sekantenverfahren zu verwenden!

62

Page 63: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Vorteile:

• kein Anfangsintervall notig, nur ein einzelner Startwert

• quadratische Konvergenz: εi+1 = −ε2if ′′(x)2f ′(x)

Nachteile:

• die Tangentenextrapolation kann auch spektakular schiefgehen;

• keine Moglichkeit, die Nullstellenapproximationen in einem eingrenzendenIntervall zu halten.

Fehler im Newton-Verfahren: Divergenz:

Fehler im Newton-Verfahren: Oszillation:

bessere Strategie: mache Bisektion (oder Sekante/regula falsi), wenn dieNewton-Schritte nicht schnell genug konvergieren oder aus dem vorgegebenenIntervall (bracket) hinausfuhren; sonst akzeptiere die Newton-Schritte.

63

Page 64: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6.2 Extremwertsuche = Optimierung, in 1D

Maximierung von f(x) ist Minimierung von −f(x), daher ist im folgendenimmer nur von Minimierung die Rede.

Zur Eingrenzung von Minima braucht man nicht zwei, sondern drei Punkte:

Die stetige Funktion f(x) hat im Intervall [a, b] mit a < c < b einMinimum, wenn f(c) < f(a) und f(c) < f(b).

Die drei Punkte a, b, c sind jedoch im Prinzip leichter zu finden als beider Nullstellensuche: Die Vorschrift

”gehe runter (ggf. in immer großeren

Schritten), bis die Funktion wieder ansteigt“, ist sehr oft erfolgreich, aberauch nicht immer: 2 Beispiele fur Fehlersituationen:

1

2

3

4

1

2

3

4

64

Page 65: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6.2.1 Intervallschachtelung nach dem goldenen Schnitt

Minimierung in Analogie zur Bisektion bei der Nullstellensuche (ebenfallsmit einer Funktionsauswertung pro Iteration):

1. Gegeben sei ein Intervall [a, b] und ein weiterer Punkt c, die ein Minimumeingrenzen (s.o.).

2. Konstruiere einen neuen Punkt d im großeren der beiden Intervalle [a, c]bzw. [c, b] (dies sei z.B. [c, b]), sodaß

• d im großeren der beiden Intervalle (hier: [c, b]) liegt

• und zwar von c aus gesehen um die Strecke w × (b − c) in diesesIntervall hinein, mit w = (3−

√5)/2

(dadurch erreicht man eine uber die sukzessiven Intervallschachtelungenskaleninvariant optimale Unterteilung, siehe Numerical Recipes)

3. Abbruch, wenn c, d ausreichend dicht beieinander; beste Approximationans Minimum: der kleinere der beiden Werte f(c), f(d). Sonst:

4. Wahle aus den jetzt vier Punkten a, c, d, b ein neues Triplett von Punkten,sodaß das neue Triplett das mit den niedrigst moglichen Funktionswertenist und gleichzeitig noch das Minimum eingrenzt.

5. Gehe zu (2).

Das jeweils nachste Intervall ist hier 0.61803 mal so breit wie das vorige;nicht ganz so gut wie das Verhaltnis 0.5 bei Bisektion (in beiden Fallen istdie Konvergenz linear).

65

Page 66: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6.2.2 Inverse parabolische Interpolation

Ahnlich wie eine Funktion in der Nahe einer Nullstelle naherungsweise linearist, ist eine Funktion in der Nahe eines Minimums naherungsweise parabolisch.Das Pendant zu den Sekantenmethoden ist daher die inverse parabolischeInterpolation:

1. Gegeben sei ein Intervall [a, b] und ein weiterer Punkt c, die ein Minimumeingrenzen (s.o.).

2. Konstruiere eine Parabel durch a, c, b; der neue Punkt d ergibt dasMinimum dieser Parabel und ist explizit gegeben durch:

d = b− 1

2

(b− a)2[f(b)− f(c)]− (b− c)2[f(b)− f(a)]

(b− a)[f(b)− f(c)]− (b− c)[f(b)− f(a)](127)

3. Abbruch, wenn die Punkte c, d ausreichend dicht beieinander liegen; besteApproximation ans Minimum: der kleinere der beiden Werte f(c), f(d).Sonst:

4. Wahle aus den jetzt vier Punkten a, c, d, b ein neues Triplett von Punkten,sodaß das neue Triplett das mit den niedrigst moglichen Funktionswertenist und gleichzeitig noch das Minimum eingrenzt.

5. Gehe zu (2).

Problematisch dabei ist, daß Gl.127 genausogut zu einem Maximum wie zueinem Minimum fuhren kann und naturlich versagt, wenn die Funktionsformstark von einer Parabel abweicht.

66

Page 67: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Ein robusteres Praxisverfahren ist daher die Minimierung nach Brent, beider je nach Erfolg Schritte gemaß inverser parabolischer Interpolation bzw.gemaß goldenem Schnitt eingesetzt werden.

6.2.3 1D-Minimierung mit Gradienteninformation

Alle obigen 1D-Minimierungsverfahren benotigen nur Funktionswerte, keineersten (oder hoheren) Ableitungen. Wie bei der Nullstellensuche (Newton-Raphson), kann Ableitungsinformation jedoch nutzlich sein, hat aber auchNachteile:

• ein einziger Ableitungswert entspricht im Informationsgehalt mehrerenFunktionswerten,

• aber nur in einer hinreichend kleinen x-Umgebung;

• je nach Anwendungsfall kann das Berechnen von Ableitungen (im Ver-gleich zum Berechnen von Funktionswerten) einfach und billig oderaufwendig und teuer oder manchmal sogar unmoglich sein.

Daten aus ersten Ableitungen konnen in unterschiedlicher Weise eingesetztwerden, zwischen folgenden Extremen:

• konservativ: nur zur Entscheidung, ob ein neuer Punkt d in [a, c] oderin [c, b] liegen sollte;

• aggressiv: Konstruktion von interpolierenden Polynomen hoherer Ord-nung, unter Verwendung von Funktions- und Ableitungsinformation ei-niger alter Punkte.

Welche Strategierichtung erfolgreicher ist, hangt davon ab,”wie pathologisch“

die untersuchte Funktion ist.

67

Page 68: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6.3 Extremwertsuche = Optimierung, in nD

Anwendungsbeispiele:

•”Geometrieoptimierung“ molekularer Systeme: optimiere potentielle Ener-

gie V durch Variation der Atompositionen 4

– Minima = (meta)stabile Molekulkonfigurationen;

– Sattelpunkte 1. Ordnung = (mogliche) Ubergangszustande chemi-scher Reaktionen.

• Elektronenstrukturrechungen (Hartree-Fock, CAS-SCF): optimiere dieelektronische Energie durch Variation der Wellenfunktion (der Orbitale)

Gemeinsamkeiten von 1D- und nD-Minimierung:

• es gibt i.d.R. mehrere Minima,

• welches man findet, hangt v.a. vom Startpunkt ab,

• dies ist meist nur ein lokales Minimum, nicht das globale.

Unterschiede von nD-Minimierung gegenuber 1D-Minimierung:

• Anzahl Minima steigt i.d.R. exponentiell mit n.

• 1D: 2 Schrittrichtungen; bereits in 2D: ∞ viele Richtungen! Dadurch:

– keine strikte Eingrenzung moglich.

– Gradienteninformation fur Schrittrichtungswahl fast unverzichtbar

6.3.1 nD-Minimierung ohne Gradienten

• Neue Methoden: BOBYQA,5NEWUOA,6welche geschickt mehrdimensionale,quadratische Interpolation durchfuhren.

• Altere Algorithmen (Simplex, Powell, Brent): Siehe Numerical Recipes.

4H. B. Schlegel, WIREs Comput Mol Sci, 1, 790-809 (2011).5M. J. D. Powell, The BOBYQA algorithm for bound constrained optimization without derivatives,

Cambridge NA Report NA200906, 20096M. J. D. Powell, Developments of NEWUOA for minimization without derivatives, IMA J. Nu-

mer. Anal., 28, 649–664 (2008).

68

Page 69: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6.3.2 Methode des steilsten Abstiegs (steepest descent)

1. Gegeben sei ein Startpunkt ~xi, i = 1, im Suchraum.

2. Berechne den Gradienten ~gi = ∇f(~xi); die Richtung des steilsten Abstiegsist dann gegeben durch −~gi.

3. Verwende einen beliebigen 1D-Minimierungsalgorithmus, um in dieserRichtung das Minimum zu finden: minα f(~xi − α~gi) (line search, mußnicht sehr genau sein!).

4. Wenn |(f(~xi)− f(~xi−1))/f(~xi)| < Toleranz ϑ oder ||~gi|| < ϑ, stop.

5. Sonst: i← i+ 1; gehe zu (2)

Vorteil: garantierter Fortschritt in jedem Iterationsschritt.

Nachteil: Sukzessive Schrittrichtungen stehen per Konstruktion aufeinandersenkrecht. Das ist in sehr speziellen Situationen (spharisch symmetrischeMinimum-Umgebung, s.u.) gut, aber im Allgemeinen nicht:

• Schrittrichtungen zeigen nicht zum Minimum ⇒ “Zickzack”-Wege;

• spatere Schritte zerstoren teilweise den Optimierungsfortschritt in diefruheren Richtungen.

69

Page 70: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6.3.3 nD-Minimierung via lokale quadratische Approximation

Approximation der Funktion f am Punkt ~x0 durch Taylorentwicklung biszur zweiten Ordnung

f(~x) ≈ f(~x0) + ~gT0 (~x− ~x0) +1

2(~x− ~x0)

TH0(~x− ~x0). (128)

(~g0: Gradient df/d~x am Punkt ~x0; H0: Hesse-Matrix d2f/d~x2 am Punkt ~x0)Erste Ableitung von f :

∇f(~x) = ~g0 + H0(~x− ~x0). (129)

Nullsetzen der ersten Ableitung liefert:

~x1 = ~x0 −H−10 ~g0 (130)

Dieser Newton-Schritt fuhrt von einem beliebigen Startpunkt ~x0 ohne(!)line-search direkt ins Minimum der quadratischen Form. Aber:

• H ist ggf. nicht (oder nicht exakt) verfugbar, oder zu groß;

• H muß invertiert werden;

• die quadratische Form ist nur in einer kleinen Umgebung von ~x0 einegute Naherung.

Zwei wesentliche Klassen von Verfahren: conjugate gradient, quasi-Newton.

Vorsicht in der Praxis:

• Newton-Schritte konnen auch zu Sattelpunkten erster oder hoherer Ord-nung fuhren (wg. numerischen Instabilitaten aber nur, wenn der Start-punkt nah genug am Sattelpunkt ist). Unterscheidung: Vorzeichen derEigenwerte von H.

• Alle Methoden (auch steepest-descent) finden nur das Minimum, in dessenEinzugsbereich der Startpunkt liegt. Um andere Minima zu finden, mußman an anderen Stellen starten oder aus gefundenen Minima wiederentkommen.

70

Page 71: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

conjugate gradient:

Steepest descent mit aufeinander senkrechten Schritten ~sTi+1~si = 0 ware gut(Schritte fuhren direkt zum Minimum und zerstoren Optimierungserfolg vor-heriger Richtungen nicht) in einer quadratischen Form mit exakt gleichenHalbachsenlangen:

Im Allgemeinen hat eine quadratische Naherung jedoch eine ellipsoide Formund vormals zueinander senkrechte Vektoren sind dann zueinander konjugiert:~sTi+1H~si = 0

71

Page 72: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Im conjugate-gradient-Verfahren gelingt es,

• Schritte in zueinander konjugierte Richtungen zu machen und dabei Hindirekt zu berucksichtigen,

• ohne H jemals explizit berechnen oder speichern zu mussen.

(siehe Numerical Recipes, Henrik Larssons Numerikskript WS15/16 sowiedie sehr ausfuhrliche Erlauterung in: J. R. Shewchuk, An Introduction tothe Conjugate Gradient Method without the Agonizing Pain, Edition 11

4 , 1994,https://www.cs.cmu.edu/∼quake-papers/painless-conjugate-gradient.pdf)

Daher ist conjugate-gradient z.B. die Methode der Wahl zur Strukturopti-mierung sehr großer Molekule, z.B. Proteine. Auch wenn die Berechnung derHessematrix durch einfache Kraftfeldausdrucke hier gar nicht extrem aufwen-dig ware, ware sie schlicht zu groß zur Speicherung oder gar Inversion. DieKonvergenz zum Minimum erfolgt jedoch sehr viel schneller als bei steepestdescent.

Ablaufschema von conjugate-gradient:

1. Der erste Schritt ist ein steepest-descent-Schritt: Berechne Gradienten-vektor ~g1 = ~∇f(~x1) am Startpunkt ~x1, dann line-search entlang ~s1 = −~g1,liefert neuen Punkt ~x2.

2. Berechne den aktuellen Gradientenvektor ~gn am aktuellen Punkt ~xn.

3. Berechne βn nach der Fletcher-Reeves-Formel:

βn =~gTn~gn

~gTn−1~gn−1(131)

(bei steepest-descent sind alle βn = 0)

4. Erzeuge eine neue konjugierte Richtung ~sn = −(~gn + βn~sn−1)

5. line-search entlang ~sn, liefert neuen Punkt xn+1

6. gehe zu (2)

Die obige Formel fur β ist die ursprunliche; andere, modifizierte Formelnsind fur eine tatsachliche quadratische Funktion aquivalent, liefern aber beieiner Verwendung der quadratischen Form als Approximation i.d.R. bessereResultate, z.B. die Polak-Ribiere-Formel:

βn =~gTn (~gn − ~gn−1)

~gTn−1~gn−1(132)

72

Page 73: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

quasi-Newton:

Schritte in konjugierte Richtungen, mit expliziter, sukzessiver Verbesserung(update) einer genaherten Hesseschen Matrix (z.B. am Anfang eine Einheits-matrix).

• verschiedene update-Formeln in Verwendung, meistens BFGS (Broyden-Fletcher-Goldfarb-Shanno).

• ab und zu zu große Schritte ⇒ Beschrankung auf vermuteten Gultig-keitsbereich der quadratischen Naherung (trust radius)

• teure line-searches konnen durch viele Varianten mit intelligenter Schritt-weitensteuerung ersetzt werden (augmented Hessian, rational functionoptimization, eigenvector following, geometry DIIS).

• benotigt Speicher von der Ordnung O(Dim.2). Daher nicht verwendbarfur hochdimensionale Probleme (Dim. > 1000)

• Am haufigsten verwendet: low-storage BFGS (L-BFGS), welches dieSpeicherung von H durch Speicherung von vorhergehenden Vektorender letzten ∼ 10 Schritte vermeidet.

73

Page 74: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

6.4 Mehrdimensionale nichtlineare Nullstellensuche

Eine Moglichkeit, das Problem ~f(~x) = 0 zu losen, ist eine einfache Erweiterungvon 1D-Newton-Raphson: Wir entwickeln ~f in eine Taylorreihe:

~f(~x+ δ~x) = ~f(~x) + J ~δ~x+O(δ~x2) (133)

mit der Jacobi-Matrix J:

Jij =∂fi∂xj

(134)

Wenn wir quadratische und hohere Terme vernachlassigen (! lineare Appro-ximation, i.Ggs. zur quadratischen bei der multidimensionalen Minimierung)und ~f(~x+ δ~x) = ~0 setzen, finden wir als Korrekturschritt δ~x zur Nullstelle:

~xi+1 = ~xi + δ~x = ~xi − J−1 ~f (135)

Dummerweise ist die direkte Verwendung dieser Vorschrift in nD erheblichkritischer als die Verwendung von Newton-Raphson in 1D.

Die i.A. zu gefahrlichen Newton-Raphson-Schritte lassen sich jedoch folgen-dermaßen entscharfen: Fur die Hilfsfunktion F = 1

2~f · ~f ist der Schritt nach

Gl.135 ein Schritt steilsten Abstiegs:

∇F · δ~x = (~fJ) · (−J−1 ~f) = −~f · ~f < 0 (136)

Also kann man zunachst immer den Schritt nach Gl.135 versuchen. Wennsich dadurch jedoch F nicht verkleinert, reicht es aus, in derselben Richtungweniger weit zu gehen (backtracking), bis sich eine akzeptable Schrittweiteergibt.

74

Page 75: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Warum ist nD-Nullstellensuche schwieriger als nD-Minimierung?

Wir konnen zwar hoffen, n Unbekannte mit n Gleichungen bestimmen zukonnen, aber es gibt keine Garantie, daß eine Losung existiert.

Bei der oben vorgestellten nD-Minimierung sind die Gradientenkomponentenvoneinander abhangig. Das ganze Problem ist vorstellbar als die Suche nacheinem tiefsten Punkt in einer hugeligen Landschaft. Es gibt daher lokaleInformation (Gradient → steilster Abstieg), die zwangslaufig zum Erfolgfuhren muß.

Im Gegensatz dazu sind n nichtlineare Gleichungen i.A. unabhangig von-einander. Fur nur zwei Funktionen f(x, y) = 0 und g(x, y) = 0 ist daswie unten abgebildet vorstellbar. Losungen sind an den Schnittpunkten derNull-Konturen f = 0 und g = 0, die vollig unabhangig voneinander sindund jeweils auch aus mehreren unzusammenhangenden Teilen bestehen kon-nen. Um festzustellen, ob es Losungen gibt und wenn ja, wie viele, mußteman alle diese Teil-Konturen komplett nach Schnittpunkten absuchen. DieSituation wird dadurch noch weiter verkompliziert, daß die oben eingefuhrteHilfsfunktion F multiple Minima hat, z.B. an allen Stellen, an denen sichf = 0 und g = 0 nahe kommen, wie etwa im Punkt

”M“ – dort befindet

sich jedoch keine Losung des Gleichungssystems.

75

Page 76: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

7 Lineare Gleichungssysteme

7.1 Motivation

Lineare Gleichungssysteme sehen auf den ersten Blick trivial einfach aus,ihre Losung ist aber Kernstuck sehr vieler Numerikanwendungen, weil sowohlDiskretisierungen (Gitter, finite Elemente, usw.) als auch Basisfunktionsdar-stellungen vieler Differentialgleichungen letztlich lineare Gleichungssystemeliefern. Das Paradebeispiel ist numerische Stromungsmechanik (computationalfluid dynamics, CFD) mit unzahligen Anwendungsgebieten in den Natur- undIngenieurwissenschaften (Umstromung von Rotorblattern, Tragflugeln, Schiffs-rumpfen, usw.; Wetter-, Klima- und Ozeansimulationen; Verbrennungsvorgan-ge in Automotoren, Flugzeug- und Raketentriebwerken, usw.). Gelegentlichwird das auch in der Chemie bzw. Molekulphysik wichtig:

Chemische Reaktionen A + B → C + D konnen als “Streuprozeß” beschriebenwerden: In der Reaktanden-Asymptote (Entfernung A-B →∞ und Zeit t→−∞) sind die Zustande des Systems

”A und B“ durch einen Hamiltonoperator

H0 beschreibbar. Bei vorwartslaufender Zeit t treffen Teilchen A und B zurZeit t = 0 aufeinander und reagieren mit einer gewissen Wahrscheinlichkeit zuC und D. Dabei ist der reagierende Komplex durch einen HamiltonoperatorH gegeben. Bei t → ∞ sind die Produkte C und D wieder

”unendlich“

weit voneinander entfernt. Im Experiment kann man typischerweise in derAsymptote t → −∞ die Reaktanden mit einer gewissen Verteilung uberwenige Quantenzustande kontrolliert praparieren und dann in der Asymptotet → ∞ die Verteilung uber die Produkt-Quantenzustande detektieren, hataber keinen direkten Zugang zum Reaktionsgeschehen um t = 0.

In der Streutheorie betrachten wir daher die zu losende Schrodingergleichung

HΨ = EΨ (137)

fur die Gesamtsituation, sowie eine bereits geloste Schrodingergleichung

H0Ψ0 = EΨ0 (138)

fur die Eduktasymptote t→ −∞. Dabei sei

H = H0 + V , Ψ = Ψ0 + χ (139)

Einsetzen von Gl. 139 in Gl. 137 liefert

(H0 + V )(Ψ0 + χ) = E(Ψ0 + χ) (140)

Unter Verwendung von Gl. 138 wird daraus:

(H − E1)χ = −VΨ0 (141)

76

Page 77: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Fur eine gegebene Streu-Gesamtenergie E ist der Operator auf der linken Seitebekannt; aufgrund der Losung von Gl. 138 ist die rechte Seite auch bekannt.Gesucht ist der Wellenfunktionsanteil χ, der den eigentlichen Streuvorgang imWechselwirkungsgebiet wiedergibt und diesen Bereich mit den Edukt- undProduktasymptoten verbindet. Aus dessen Projektion auf die Produktzu-stande kann man die Reaktionswahrscheinlichkeiten einzelner Eduktzustandein einzelne Produktzustande berechnen, und daraus wieder durch geeigneteSummationen/Integrationen die Reaktionsgeschwindigkeitskonstante k(T ).

Gl. 141 kann abgekurzt geschrieben werden als

Aχ = −VΨ0 (142)

Verwenden wir einen geeigneten Satz von Basisfunktionen {φi}, konnen wirsowohl Ψ0 als auch χ in diese Basis entwickeln

χ =∑i

xi φi , Ψ0 =∑i

ai φi (143)

und diese Entwicklungen in Gl. 142 einsetzen:∑i

xiAφi = −∑i

aiV φi (144)

Multiplikation dieser Gleichung von links mit 〈φj| liefert∑i

xi〈φj|A|φi〉 = −∑i

ai〈φj|V |φi〉 (145)

Alle Integrale konnen berechnet werden und liefern jeweils eine Zahl fur jedeIndexkombination i und j. Im Gegensatz zur linken Seite sind aber auf derrechten Seite die Entwicklungskoeffizienten {ai} bekannt, also kann dort dieSumme uber i ausgefuhrt werden und wir erhalten:∑

i

Ajixi = bj (146)

Dies ist die j-te Zeile der folgenden Matrix-Vektor-Gleichung

A~x = ~b (147)

Dabei ist die Matrix A auf der linken Seite und der Vektor ~b auf der rechtenSeite bekannt; gesucht wird der Vektor ~x. Es handelt sich um ein linearesGleichungssystem.

77

Page 78: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

7.2 Allgemeines

Ein lineares Gleichungssystem besteht aus M Gleichungen mit linearen Ter-men aus N Unbekannten und N ×M Koeffizienten. Einzelne Terme ohneUnbekannte kann man auf der rechten Seite zusammenfassen:

a11x1 + a12x2 + · · ·+ a1NxN = b1 (148)

a21x1 + a22x2 + · · ·+ a2NxN = b2 (149)... (150)

aM1x1 + aM2x2 + · · ·+ aMNxN = bM (151)a11 a12 · · · a1N

a21 a22 · · · a2N...

... . . . ...aM1 aM2 · · · aMN

x1

x2...xN

=

b1

b2...bM

(152)

A~x = ~b (153)

Auch moglich sind:

• mehrere rechte Seiten ~bi bei gleicher Matrix A:

A~x1 = ~b1 , A~x2 = ~b2 , . . . AX = B (154)

Z.B. ein Streuproblem mit mehreren Anfangsbedingungen.

• Wenn diese ~bi die Spalten der Einheitsmatrix 1 sind, dann sind wegenAA−1 = 1 die zu jedem i gehorenden Losungsvektoren ~xi die Spaltenvon A−1 ⇒ Matrixinversion

Formal wurde Multiplikation von Gl. 153 von links mit A−1 direkt die Losungliefern:

A−1A~x = A−1~b ⇒ ~x = A−1~b (155)

Dies wird in der numerischen Praxis nie so gemacht, weil die Matrixinversionnach obigem Schema so aufwendig ist wie eine N -malige Losung des Glei-chungssystems Gl. 153 und nach anderen Schemata die numerisch ungunstigeBerechnung von Determinanten benotigt.Tatsachlich kann man in der Praxis eine scheinbar notige Matrixinversion~x = A−1~b haufig durch eine Losung des entsprechenden linearen Gleichungs-systems A~x = ~b ersetzen. Alternativ kann man die obige Idee verwenden(Gl. 154 mit B = 1).

78

Page 79: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

7.3 Kleines Matrix-Nomenklatur-Lexikon: AMoN

quadratisch: M = N

rechteckig: M 6= N

diagonal, tridiagonal, band-diagonal, block-diagonal

schwach besetzt, dunn besetzt (sparse):

Dreiecksmatrix: Hier abgekurzt: Obere/untere 4-Matrix

symmetrisch (hermitesch/selbstadjungiert): A = AT (A = A† = (AT )∗)

• Alle Eigenwerte reell

• Eigenvektoren bilden vollstandiges Orthonormalsystem

positiv definit:

• Symmetrische (hermitesche) Matrizen mit positiven Eigenwerten

• Haben immer ein Inverses

positiv semi-definit:

• Neben positiven Eigenwerten auch der Eigenwert 0 erlaubt

orthogonal (unitar): A† = A−1

• Die Spaltenvektoren bilden ein Orthonormalsystem

• Bei A~v bleibt die Norm von ~v erhalten: ‖A~v‖ = ‖~v‖

normal: AA† = A†A

• Die Eigenvektoren bilden ein vollstandiges Orthonormalsystem

• unitar diagonalisierbar: A = UDU†, mit D = diag{λi}• Bei reellen Matrizen sind alle symmetrischen und alle orthogonalen

Matrizen normal

singular:

• Linear abhangige Zeilen (oder Spalten), det(A) = 0

regular: det(A) 6= 0, invertierbar.

79

Page 80: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

7.4 Losbarkeit

AMoN~xN = ~bM . (156)

Inhomogene Systeme: ~b 6= ~0

• M = Neindeutige Losung, wenn A nicht singular: det(A) 6= 0.Wenn det(A) = 0, dann

– Keine Losung, oder

– Ein- oder mehrfach unendliche Losungsmannigfaltigkeit,d.h. eine oder mehrere Unbekannte xi bleiben unbestimmt.

• M < N : Unterbestimmt(effektiv auch der Fall, wenn det(A) = 0)Singularitaten von A analysierbar und Losungsmannigfaltigkeit bestimm-bar mit Singularwertzerlegung (singular value decomposition, SVD, s.u.)

• M > N : UberbestimmtUnd letztlich widerspruchlich! (wenn nicht, dann ruckfuhrbar auf M ≤ N)Mogliche “Kompromiß-Losung” durch lineare Regression finden (Minimie-rung der Fehler mit least squares); ggf. auch wieder mit SVD machbar.

80

Page 81: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

7.5 Konditionierung

(Herleitungen z.T. in Henrik Larssons Numerikskript WS15/16)

• Der relative Fehler in ~x ist bei der Losung von A~x = ~b proportionalzur Kondition der Matrix A.

cond(A) ≡ ‖A−1‖‖A‖ (157)

Vorsicht: Durch die notige Matrixinversion ist die Konditionsberech-nung aufwendiger als die Losung des linearen Gleichungssystems mitnachfolgender Berechnung des sog. Residuums ~r = ~b−A~x

• Mit der euklidischen (2er-)Norm gilt:

cond(A)2 = ‖A−1‖2‖A‖2 =

√∣∣∣∣λmax

λmin

∣∣∣∣. (158)

Je großer also das Verhaltnis zwischen großtem und kleinstem Eigenwertλ, desto großer auch die Kondition.

• Fur eine gute Kondition auf dem Computer muss mit der Maschinen-genauigkeit εmach gelten:

cond(A)εmach � 1 (159)

Mit t-stelligen real-Zahlen und einer Kondition von cond(A) ≈ 10α kannein Gleichungssystem daher nur mit einer Genauigkeit von t−α−1 De-zimalstellen gelost werden (bezogen auf die betragsgroßte Komponente).

81

Page 82: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

7.6 Gaußsches Eliminationsverfahren

• Wichtig: Der Losungsvektor ~x bleibt unverandert, wenn beliebige Zeilendes Gleichungssystems vertauscht werden, oder wenn von einer Zeile dasVielfache einer anderen Zeile subtrahiert wird.

• Idee: Bringe das System auf 4-Form

A11x1 + A12x2 + · · ·+ A1NxN = b1 (160)

0 + A22x2 + · · ·+ A2NxN = b2 (161)...

0 + AMNxN = bM (162)

• Beispiel: Um Ai1x1 in Zeile 2 bis M zu eliminieren, muss von allenEintragen ab Spalte 2 Ai1

A11A1j subtrahiert werden. A11 nennt man dann

Pivotelement und Ai1A11

Multiplikator.

• Wichtig fur numerische Stabilitat: Zeilen werden so vertauscht, dassimmer der Eintrag mit dem großten absoluten Wert Pivotelement wird.Dies nennt man teilweise Pivotierung (Spaltenpivotierung).

• Algorithmus fur ANoN~xN = ~bN :

p← 1, . . . , N B Speicherung der Permutationenfur Spalten k = 1, . . . , N − 1 :

imax ← max(|Aik|, i = k, . . . , N)wenn |Aimaxk| < ε dann

Matrix ist Singular; Abbruch.wenn endeVertausche kte Zeile mit imaxter Zeile B SpaltenpivotierungVertausche pk und pimax

fur Zeilen i = k + 1, . . . , N :d← Aik

Akkfur Spalten j = k + 1, . . . , N :

Aij ← Aij − Akj × dfur endeAik ← 0 B Unteres 4 wird Nullbi ← bi − bk × d

fur endefur ende

• Vollstandige Pivotierung (Zeilen- und Spaltentausch) auch moglich, aberaufwandiger und in der Praxis oft nicht notig.

82

Page 83: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

• Beachte: A und ~b werden uberschrieben.

• Anschließend Ruckwartssubstitution zur Berechnung von ~x:

fur i = N, . . . , 1 :s← bifur j = i+ 1, . . . , N :

s← s− Aijxjfur endexi ← s

Aiifur ende

• Zuletzt Beachtung der Permutation: ~x← ~x(~p).

• Algorithmus skaliert mit O(N 3), Ruckwartssubstitution nur mit O(N 2).(Deswegen ist die Erweiterung auf den sog. Gauß-Jordan-Algorithmus, beidem man A mit ganz analogen Operationen nicht auf Dreiecks-, sondernauf Diagonalform bringt und sich dadurch die Ruckwartssubstitutionspart, zwar didaktisch interessant, aber fur die Praxis irrelevant.)

7.6.1 Beispiel: Notwendigkeit von Pivotierung

• Gegeben sei

10−4x1 + x2 = 1, (163)

x1 + x2 = 2, (164)

⇒ x1 =104

9999, x2 =

9998

9999, cond(A) = 2.6 (165)

• Mit einer Mantissenlange von 3 Dezimalstellen ergibt sich:

x1 ≈ 0.100× 101, (166)

x2 ≈ 0.100× 101. (167)

• Ohne Pivotierung berechnet sich das Gleichungssystem nach

0.100× 10−3x1 + 0.100× 101x2 = 0.100× 101 1.Zeile

0.100× 101x1 + 0.100× 101x2 = 0.200× 101 2.Zeile (168)

MultiplikatorA21

A11

=0.100× 101

0.100× 10−3= 0.100× 105 (169)

Anderung der zweiten Zeile:

y (0.100× 101 − 0.100× 105 × 0.100× 10−3)x1 + (0.100× 101 − 0.100× 105 × 0.100× 101)x2

= 0.200× 101 − 0.100× 105 × 0.100× 101 (170)

Verandertes Gleichungssystem:

⇒ 0.100× 10−3x1 + 0.100× 101x2 = 0.100× 101 1.Zeile

83

Page 84: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

−0.100× 105x2 = −0.100× 105 2.Zeile (171)

Losung nach Ruckwartssubstitution:

x2 = 0.100× 101 (172)

x1 = 0.000. (173)

• x1 ist offensichtlich falsch! Fur eine Mantissenlange von drei ist das Losen schlechtkonditioniert. (Pivotierung ist aber immer notig, auch bei sehr viel großeren Man-tissenlangen, da A durchaus auch Nullen enthalten kann, ohne dass die Matrixsingular ist.)

• Fehlerursache: In Gl. 169 wird aus einem kleinen Pivotelement ein großer Multiplikator,der bei der Berechnung der modifizierten 2.Zeile (von Gl. 170 zu Gl. 171) zuRundungsfehlern/Weghebephanomenen fuhrt.

• Mit Pivotierung (Vertauschung der Reihenfolge der Gleichungen):

0.100× 101x1 + 0.100× 101x2 = 0.200× 101 1.Zeile

0.100× 10−3x1 + 0.100× 101x2 = 0.100× 101 2.Zeile (174)

Multiplikator0.100× 10−3

0.100× 101= 0.100× 10−3 (175)

⇒ 0.100× 101x1 + 0.100× 101x2 = 0.200× 101 1.Zeile

0.100× 101x2 = 0.100× 101 2.Zeile (176)

⇒ x2 = 0.100× 101 (177)

x1 = 0.100× 101 (178)

• Die Pivotierung ist also essentiell. Damit ergeben sich kleinere Multiplikatorenund damit im weiteren Verlauf Zahlen mit einer ahnlichen Großenordnung ⇒kein/vermindertes Weghebephanomen.

84

Page 85: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

7.7 LU-Zerlegung

• Problem beim Gauß-Verfahren: Es muß bei gleicher Matrix A aberneuen rechten Seiten ~bi erneut angewandt werden. Oftmals lost manaber mehrere Gleichungssysteme mit derselben Koeffizientenmatrix A,fur zahlreiche rechte Seiten ~bi.

• Daher besser: Finde ein Verfahren, welches A so variiert, dass Glei-chungssysteme einfacher gelost werden konnen.

• Ein Gauß-Eliminationsschritt s mit Multiplikatoren lik = AikAkk

ergibt sichletztlich durch Multiplikation mit der sogenannten Frobenius-Matrix

Ls =

1. . .

1−ls+1,s

... . . .

−ln,s 1

. (179)

Das Inverse von Ls ergibt sich durch Vorzeichenwechsel der lik.

• Wiederholte Anwendung fuhrt zur oberen 4-Matrix:

LN−1 . . .L1A =

x x x x x0 x x x x

0 0 x x x... . . . ...0 0 . . . 0 x

= U (180)

• A muß entsprechend erhalten werden, wenn man in umgekehrter Rei-henfolge L−1

s auf U anwendet. Das Produkt der Inversen von Ls fuhrtzu einer unteren Dreiecksmatrix mit Einsen auf der Diagonalen:

L−11 . . .L−1

N−1 =

1 0 0 0 0l21 1 0 0 0l31 l32 1 0 0... . . . ...lN1 lN2 . . . lN,N−1 1

= L (181)

⇒ A =[L−1

1 . . .L−1N−1

][LN−1 . . .L1A

]= LU (182)

• Dies ist die LU-Zerlegung (lower/upper triangular matrix; im Deutschen:LR-Zerlegung).

85

Page 86: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

• Losung von Gleichungssystemen mittels Vorwarts- und Ruckwartssub-stitution:

A~x = b, (183)

⇔ L U~x︸︷︷︸~z

= ~b, (184)

L~z = ~b, Losung per Vorwartssubstitution, (185)

U~x = ~z, Losung per Ruckwartssubstitution. (186)

• Wenn die Diagonale von L nicht abgespeichert wird, kann sowohl L alsauch U in A gespeichert werden (in place).

• Mit teilweiser Pivotierung lasst sich schreiben:

PA = LU, (187)

A = P−1LU = LU. (188)

P ist die Permutationsmatrix (als Vektor speicherbar!). L ist keine4-Matrix.

• Crout-Algorithmus mit teilweiser Pivotierung und in-place-Speicherung:

p← 1, . . . , N B Speicherung der Permutationenfur Spalten k = 1, . . . , N − 1 :

imax ← max(|Aik|, i = k, . . . , N)wenn |Aimaxk| < ε dann

Matrix ist Singular; Abbruch.wenn endeVertausche kte Spalte mit imaxter SpalteVertausche pk und pimax

fur Zeilen i = k + 1, . . . , N :Aik ← Aik

AkkB Uberschreibe Aik mit lik

fur Spalten j = k + 1, . . . , N :Aij ← Aij − Akj × Aik

fur endefur ende

fur ende

• Wie Gauß-Verfahren, nur daß die Multiplikatoren im unteren 4 gespei-chert werden. (Und wie beim Gauß-Verfahren ist dies nur der (hier:LU-)Zerlegungsteil; dazu kommen noch die Substitutionsschritte Gl. 185und 186.)

86

Page 87: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

7.8 Cholesky-Zerlegung

• Fur symmetrische, positiv definite Matrizen A gilt

1. ∀~x ∈ RN : ~xTA~x > 0,

2. Alle Eigenwerte sind positiv,

3. Alle Diagonalelemente sind positiv,

4. maxij |Aij| = maxi |Aii| (nur Diagonalpivotierung notig!),

5. Bei jeder Gauß-Elimination ohne Pivotsuche ist die Restmatrix wie-derum positiv definit.

• Letzte Eigenschaft lasst sich wie folgt zeigen:

A =

(A11 ~zT

~z B(0)

), ~z = (A12, A13, . . . , A1N)T , (189)

A(1) = L1A =

(A11 ~zT

~0 B(1)

). (190)

Multiplikation von A(1) von rechts mit LT1 eliminiert ~zT :

L1ALT1 =

(A11

~0T

~0 B(1)

). (191)

Eine Ahnlichkeitstransformation L1ALT1 andert nicht die Positiv-Definitheit.

Also muss B(1) auch positiv definit sein.

• Fortsetzung der Multiplikation mit Ls wie in Gl. 191 fuhrt zur LDL-Zerlegung (die auch fur nicht positiv-definite, aber symmetrische Matrizenfunktioniert):

LN . . .L1︸ ︷︷ ︸=L

A LT1 . . .L

TN︸ ︷︷ ︸

=LT

= D, D = diag(~d), (192)

⇔ A = L−1D(LT )−1 = LDLT (193)

• Wurzelziehung der Diagonalmatrix fuhrt zur Cholesky-Zerlegung

A = LD12D

12LT = CCT . (194)

(Dies ist wegen der Wurzelziehung nur fur positiv definite Matrizenmoglich (D ist positiv definit)).

• Der Algorithmus ergibt sich uber:C11 0 0 0 0C21 C22 0 0 0C31 C32 C33 0 0

... . . . ...CN1 CN2 . . . CN,N−1 CNN

C11 C12 C13 . . . C1N

0 C22 C23 C2N

0 0 C33 CN−1,N... . . . ...0 0 . . . 0 CNN

87

Page 88: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

=

A11 A12 A13 . . . A1N

A21 A22 A23 A2N

A31 A32 A33 AN−1,N... . . . ...

AN1 AN2 . . . AN,N−1 ANN

(195)

y Akk = C2k1 + · · ·+ C2

k,k−1 + C2kk, i = k, (196)

y Aik = Ci1Ck1 + · · ·+ Ci,k−1Ck,k−1 + CikCkk, i > k. (197)

• Also lautet der Algorithmus:fur Spalten k = 1, . . . , N :

wenn Akk < ε dann B Beachte: Kein BetragMatrix ist nicht positiv-definit; Abbruch.

wenn endeCkk =

√Akk

fur Zeilen i = k + 1, . . . , N :Cik = Aik

Ckk

fur Spalten j = k + 1, . . . , i : B Beachte: Schleife geht nur bis iAij ← Aij − CikCjk

fur endefur ende

fur ende

• Da die letzte Schleife nur bis i geht und keine Pivotierung benotigt wird,ist der Algorithmus mindestens doppelt so schnell wie LU-Zerlegung.

• Da A symmetrisch und C eine 4-Matrix ist, gibt es kompakte Spei-cherformen, die die Matrix jeweils als Vektor der Lange N(N + 1)/2speichert.

7.8.1 Anwendungsbeispiele

Die Cholesky-Zerlegung ist von sehr großer Bedeutung und wird fur vieleProbleme angewandt. Zwei sehr haufige werden kurz vorgestellt.

Verallgemeinerte Eigenwertprobleme

• Neben dem typischen Eigenwertproblem (Losung per Diagonalisierungvon H)

HX = diag(~e)X, H† = H (198)

kommt sehr haufig das verallgemeinerte Eigenwertproblem

HX = diag(~e)SX, (199)

mit einer symmetrischen, positiv definiten Matrix S vor.

88

Page 89: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

• folgende Losungsidee nicht sinnvoll, da S−1H nicht mehr hermitesch ist:

[S−1H]X = diag(~e)X (200)

• Besser: per Cholesky-Zerlegung von S in ein normales Eigenwertproblemuberfuhren:

S = CC†, (Cholesky) (201)

y HX = diag(~e)CC†X, (202)

⇒ C−1HX = diag(~e)C†X, (203)

⇔ C−1H([C†]−1︸ ︷︷ ︸H

C†)X = diag(~e)C†X, (204)

y HX = diag(~e)X, (205)

H = C−1H[C−1]†, (206)

X = C†X. (207)

• H ist eine Ahnlichkeitstransformation von H und damit erhalten sichsowohl die Hermitizitat als auch die Eigenwerte.

• Am Ende: Rucktransformation per X = [C†]−1X.

• Cholesky-Zerlegung und Invertierung von C problemlos moglich, sofern Snumerisch positiv definit ist (keine zu große Kondition). (Die Invertierungkann aber auch durch Losung von CA = B umgangen werden.)

Orthogonalisierung

• Finde mit positiv definiter Matrix S eine Y, sodaß

X†X = S, (208)

Xorth = XY, (209)

⇒ X†orthXorth = 1, (210)

• Losung wieder per Cholesky-Zerlegung:

S = C†C, (Cholesky) (211)

y X†X = C†C, (212)

⇒ [C†]−1X†X = C, (213)

⇒ [C†]−1X†XC−1 = 1, (214)

⇔ [XC−1]†XC−1 = 1, (215)

⇒ Xorth = XC−1. (216)

• Diese (”kanonische“) Orthogonalisierung ist identisch zur Gram-Schmidt-

Orthogonalisierung.

89

Page 90: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

7.9 Nachiteration

• Das Erreichen von hoher Genauigkeit ist fur lineare Gleichungssystememit schlecht konditionierten Matrizen schwierig. Eine Nachbesserung dererhaltenen Losung ist aber durch Nachiteration (iterative refinement)sehr einfach moglich, wenn A oder ~b nicht schon mit Fehlern behaftetsind und die Kondition von A nicht zu groß ist.

• Gegeben sei A~x = ~b mit der mit Rundungsfehler behafteten Losung ~x(0).

• Der Residuenvektor/das Residuum ist definiert durch

~r(~x(0)) = ~b−A~x(0) = A(~x− ~x(0)) = A∆~x(0). (217)

• ∆~x(0) ist die Korrektur zu ~x(0):

~x(1) = ~x(0) + ∆~x(0), (218)

mit ~x(1) als verbesserte Losung.

• ∆~x(0) kann durch Losen des Gleichungssystems in Gl. 217 berechnetwerden:

A∆~x(0) = ~r(~x(0)). (219)

• Dieses Verfahren kann iterativ bis zur gewunschten Genauigkeitsverbes-serung durchgefuhrt werden.

• Da die Faktorisierung von A schon gegeben ist, hat dieses Verfah-ren nur einen Aufwand von O(N 2) und ist damit im Verhaltnis zumGesamtaufwand der Faktorisierung deutlich geringer.

90

Page 91: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

7.10 Iterative Verfahren

• In vielen Anwendungen (z.B. Losung von partiellen Differentialgleichun-gen) sind die erhaltenen Matrizen sehr groß (N ∼ 106–109), aber schwachbesetzt/sparse.

• Die gesamte Matrix kann dann nicht abgespeichert werden, sehr wohlaber alle Elemente, die nichtverschwindend sind.

• Klassische Algorithmen sind fur solche Matrizen nicht zu gebrauchen, dasich dort das Muster der Besetztheit andert und die Matrix andauerndverandert wird.

• Besser: Iterative Verfahren, welche nur Matrix-Vektor-Multiplikationenverwenden. Um ein Matrix-Vektor-Produkt A~b = ~c effizient durchfuhrenzu konnen, reicht es zur Berechnung jedes einzelnen Elements ci, nurdie eine, jeweils zugehorige Zeile von A im Speicher zu halten.

• Es gibt hierfur eine Fulle von Algorithmen (Gauß-Seidel, SOR, etc.).Hier nur Besprechung von conjugate gradient.

7.10.1 Conjugate Gradient

• Siehe Abschnitt 6.3.3 zur Minimierung.Dort wurde f(~x) = ~cT~x+ 1

2~xTH~x minimiert, was effektiv die Losung des

Gleichungssystems H~x = −~c ist.

• vgl. Gl. 129 mit Gl. 217: statt den Gradienten ∇f(~x) zu minimieren,bis er Null wird, minimieren wir hier das Residuum ~r = ~b −A~x, miteinem weitestgehend analogen Algorithmus, der wieder iterativ ist.

• Pro Iteration braucht es nur eine Matrix-Vektor-Multiplikation.

• Theoretisch braucht der Algorithmus N Schritte fur eine N oN -Matrix.

• Allerdings ist die numerische Konvergenz schon nach wenigen ∼ 10−100Schritten erreicht. Dies hangt aber sehr von der Kondition von A ab!

• Erweiterung auf nicht-symmetrisch-positiv-definite Matrizen ergibt dasBiCG-Verfahren (biconjugate gradient). Weitere Variationen sind vor-handen.

91

Page 92: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

7.10.2 Prakonditionierung

• Iterative Verfahren konvergieren nur schnell, wenn die Kondition derMatrix klein ist.

• Verringerung der Konvergenz durch einen Vorkonditionierer M−1, dernaherungsweise dem Inversen von A entspricht (oder eine entsprechendeFunktion, welche Gleichungssysteme fur M lost).

• Anstelle von A~x = ~b wird also gelost:

M−1A~x = M−1~b, (220)

⇔M−1(A~x−~b) = 0 (221)

• Im obigen Algorithmus wird M−1 auf die Residuen ~r angewandt.

• Da Rundungsfehler auftreten konnen, ist die Polak-Ribiere-Korrekturwieder zu empfehlen (Gl. 132).

• Die Wahl geeigneter Prakonditionierer ist schwierig: Das Gleichungssy-stem M~y = ~b soll schnell gelost werden und M nicht viel Arbeitsspeicherbelegen, aber dennoch die Kondition sehr stark verringern.

• Mogliche Wahlen

– Jacobi-Konditionierung: M ist eine Diagonalmatrix mit den Diago-naleintragen von A (sinnvoll fur diagonal dominante Matrizen).

– Sog. unvollstandige Cholesky-Zerlegung fur schwachbesetzte Matri-zen, welche dasselbe Besetzungsmuster von A fur die Dreiecksmatrixannimmt.

– Losung einer einfacheren Differentialgleichung, etc.

• Prakonditionierung und die Suche nach einem guten Konditionierer lohntsich haufig, ist aber keine exakte Wissenschaft. . .

92

Page 93: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

8 Modellierung von Daten I: Interpolation

Gegeben: N Datenpunkte (xi, yi), i=1,2,. . . ,N (Stutzstellen)

Gesucht: “vernunftige” Interpolation dazwischen, d.h. eine Funktion, dieexakt durch alle N Datenpunkte geht und “den Trend” der Datenrichtig wiedergibt.

8.1 Globale Interpolation

Siehe Henrik Larssons Numerikskript WS15/16 fur kurze Unterkapitel zur

• Polynominterpolation (Taylor, Lagrange, Stutzstellenwahl)

• Interpolation mit rationalen Funktionen

• Interpolation mit trigonometrischen Funktionen(inkl. Fouriertransformation)

• mehrdimensionale Interpolation (radiale Basisfunktionen, Shepard-Interpolation)

Diese Art der Interpolation ist nur sinnvoll, wenn der Funktionsverlauf “hinter”den Daten etwas mit dem der Interpolationsfunktion zu tun hat:

Besser: stuckweise Interpolation (in diesem Bild: “spline” und “pchip”)

93

Page 94: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

8.2 Spline-Interpolation

Probleme der globalen Polynominterpolation:

• Sehr schlechtes Verhalten fur aquidistante Stutzstellen.

• Polynome hoheren Grades schwingen stark an den Randern.

Daher besser:

• Verwendung von lokalen Polynomen niedrigen Grades

• mit geeigneter Verbindung dieser Polynome an den Stutzpunkten.

Name und Analogie: Straklatte/Kurvenlineal/Keilwelle, engl. spline:

⇒ Rezept: suche Polynom Pi so, daß

• jedes Pi genau durch je zwei benachbarte Punkte i, i+ 1 geht

• und ohne”Ecken“ (mit selber Steigung) an die entsprechenden Polynome

links und rechts davon anschließt.

Dies entspricht folgenden Bestimmungsgleichungen:

Pi(xi) = yi (222)

Pi(xi+1) = yi+1 (223)

P ′i (xi) = P ′i−1(xi) (224)

P ′′i (xi) = P ′′i−1(xi) (225)

(Eigentlich braucht man die letzte Gleichung nicht fur den glatten Anschluß,sondern fur eine geeignete Bestimmung der Polynomkoeffizienten, s.u.)

Da an den Randern weniger Information zur Verfugung steht als an denmittleren Stutzstellen, gibt es mehrere mogliche Randbedingungen, z.B.:

94

Page 95: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

P ′′1 (x1) = P ′′N(xN) = 0 (freier Rand, naturliche Splines)

P ′1(x1) = y′1, P ′N(xN) = y′N , (eingespannter Rand)

P(i)1 (x1) = P

(i)N (xN), i ∈ [0, 2] (periodische Splines)

Splines mit eingespannten Rand sind meist bessere Approximationen, beno-tigen aber Informationen (oder Hypothesen) uber die Ableitung der Daten.

8.2.1 Herleitung der Spline-Koeffizienten

Mit den Abkurzungen

hi = xi+1 − xi , di =1

hi(yi+1 − yi) (226)

und der Variablentransformation

t =1

hi(x− xi) (227)

macht man fur das Polynom Pi den Ansatz:

Pi(x) = t yi+1 + (1− t)yi + hi t (1− t) {(ki − di)(1− t)− (ki+1 − di)t} (228)

Dieser Ansatz erfullt trivial die Bedingungen Gl. 222 und 223, wie man durch Einsetzenvon t = 0 bzw. t = 1 leicht feststellt.

Die 1. Ableitung des Polynom-Ansatzes Gl. 228 nach x ist:

P ′i (x) = di + (1− 2t) {(ki − di)(1− t)− (ki+1 − di)t}+ (t− t2)(2di − ki − ki+1) (229)

Auswertung dieser Formel an t = 0 und t = 1 liefert diesmal

P ′i (xi) = ki , und P ′i (xi+1) = ki+1 (230)

Mit der Indextranformation i → i − 1 in der rechten Formel und durch Kombinationdieser beiden Formeln erhalt man genau die Bedingung Gl. 224.

Die 2. Ableitung des Polynom-Ansatzes Gl. 228 nach x ist:

P ′′i (x) =1

hi[−2 {(ki − di)(1− t)− (ki+1 − di)t}+ 2(1− 2t)(2di − ki − ki+1)] (231)

Ermittelt man nach dieser Formel P ′′i−1(xi) und P ′′i (xi) und setzt beide nach Gl. 225gleich, ergibt sich (fur naturliche Randbedingungen):

2k1 + k2 = 3d1 (232)

hiki−1 + 2(hi−1 + hi)ki + hi−1ki+1 = 3hi−1di + 3hidi−1 , i = 2, . . . , N (233)

kN−1 + 2kN = 3dN−1 (234)

(Ahnliche Gleichungen erhalt man fur andere Randbedingungen.)Das sind N lineare Gleichungen zur Bestimmung der N noch unbekannten Spline-Koeffizienten ki. Dieses lineare Gleichungssystem kann man mit ublichen Methoden(Gauß-Elimination, LU-Zerlegung, usw.) losen.

95

Page 96: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

8.2.2 Praxistips zu Splines:

• fur einen Datensatz (xi, yi) muß man die Koeffizienten ki nur einmalausrechnen und speichern. Fur alle Punkte xj, an denen danach einInterpolationswert bestimmt werden soll, muß man lediglich

– das Intervall (i, i + 1) ermitteln, in dem der Punkt xj liegt; diesbestimmt die Hilfsgroßen t, hi, di, ki

– daraus kann dann das Spline-Polynom an der Stelle xj berechnetwerden.

• die Verwendung allgemeiner Methoden zur Losung linearer Gleichungssy-steme ist eigentlich overkill. Die Matrix A der Bestimmungsgleichungenist tridiagonal, und dafur gibt es viel einfachere und effizientere Spezi-alvarianten der LU-Zerlegung.

• statt Pi(xi) = yi kann man auch Minimierung des Quadrats der Differenzfordern ⇒

”regredierender Spline“.

• Mißbrauch einer Interpolationsfunktion zur Extrapolation ist generellsehr gefahrlich und hier ganz besonders, weil das kubische Polynomam Rand bei einfacher Fortsetzung uber den Rand hinaus zwangslaufigasymptotisch gegen ±∞ geht – was weder etwas mit dem gewunschtenVerhalten noch mit dem Verhalten der anderen Polynome im Interpo-lationsgebiet zu tun hat. Extrapolation von Interpolationsfunktionen istnur dann sinnvoll, wenn die generelle funktionale Form im zu extrapolie-renden Bereich gut bekannt ist und von der Funktion im Interpolations-und Extrapolationsbereich eingehalten wird.

• Spline-Interpolation wird oft zum Differenzieren von Daten verwendet,aber auch das ist gefahrlich: Bei flachen Daten und bei

”spikes“ in

den Daten neigen Splines zu”wiggles“; dann ist die 1. Ableitung sehr

schlecht. Evtl. Abhilfe: andere Spline-Varianten (s.u.).

• Neben den obigen kubischen Splines gibt es weitere Varianten undverwandte Konstruktionen, z.B. Bezierkurven, B-Splines (Basis-Splines),cSplines (kubisch-hermitesche Splines), Akima-Splines, NURBS (non-uniform rational B-Splines), usw.

96

Page 97: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

9 Modellierung von Daten II: Ausgleichsrechnung

• Gegeben: N Datenpunkte (xi, yi), i = 1, . . . , N , oft mit Fehlern behaftet.

• (moglichst sinnvolles) Modell: y(x) = y(x; a1, a2, . . . , aM) mit M anzu-passenden Parametern. Normalerweise ist N �M .

• Gesucht : Parameter ai, quantifizierbares Maß fur Gute des Ausgleichs.

• Nomenklatur: yi ist ein Datenpunkt, y(xi) der entsprechende Wert derModellfunktion.

• Generell gilt: Der Ausgleich kann bei Datenpunkten mit Fehlern nieperfekt sein. Daher Unterschied zur Interpolation: Die Modellfunktiony(x) geht nicht durch die Datenpunkte. Stattdessen Minimierung derquadrierten Differenz [y(xi)−yi]2 (Methode der kleinsten Quadrate, leastsquares fitting).

• Interpolation ist aufgrund der Fehler der Datenpunkte und aufgrund dermehr oder weniger guten Modellfunktion auch nicht sinnvoll :

• Fur spezielle Modellfunktionen (linear, polynomial, rational, Gaußfunk-tionen, etc.) gibt es optimierte Verfahren.

• Fur hochdimensionale Probleme sehr viel aktuelle Forschung(Neuronale Netzwerke, Machine Learning, . . . ).

97

Page 98: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

9.1 Statistik

• Gegeben: N Datenpunkte (xi, yi), i = 1, . . . , N

• Modell: y(x) = y(x; a1, a2, . . . , aM) mit M anzupassenden Parametern;

• Gesucht: quantifizierbares Maß fur Gute des Ausgleichs.

Naheliegende Frage (A):”Wie wahrscheinlich ist es, daß ein Parametersatz

{ai} korrekt ist?“ ist strenggenommen sinnlos, denn:

• nicht nur die Parameter, auch das Modell kann falsch sein;

• es gibt nur einen wahren funktionalen Zusammenhang mit einem Pa-rametersatz; beide sind prinzipiell unbekannt.

Besser ist die umgedrehte Frage (B):”Gegeben sei ein Modell und ein

Parametersatz. Wie wahrscheinlich ist dann der vorliegende Datensatz?“

Mogliche Antworten darauf erlauben Folgerungen:

• (sehr) wahrscheinlich: Parametersatz o.k., Modell (evtl.) auch;

• (sehr) unwahrscheinlich: wenn keine vernunftigen Parameter gefundenwerden konnen, ist das Modell zu verbessern.

Definition”Fit“: maximiert die obige Wahrscheinlichkeit (B).

Annahmen: die Fehler an jedem Meßpunkt seien

• zufallig (nicht systematisch)

• unabhangig

• normalverteilt (Gauß-verteilt)7, mit Standardabweichung σi.

Dann ist die zu maximierende Gesamtwahrscheinlichkeit P fur diesen Da-tensatz das Produkt aus den Einzelwahrscheinlichkeiten:

P =N∏i=1

{exp

[−1

2

(yi − y(xi; a1, a2, . . . , aM)

σi

)2]

∆y

}(235)

Dabei mussen wir fur jeden Meßpunkt eine (feste) Abweichungsbreite ∆yzulassen, weil es beliebig unwahrscheinlich ist, daß alle Datenpunkte mathe-matisch exakt auf der Modellkurve liegen (P = 0 fur ∆y = 0).

(Die Standardabweichung σi ist ein Maß fur die Breite der Gaußkurve anjedem Meßpunkt i, nach folgenden Faustregeln7: 68% aller Datenpunkte sindim Intervall ±σi, 95% in ±2σi, 99.7% in ±3σi, usw.)

7nur korrekt im Limit sehr großer Zahlen; typische Meßpunkte sind eher Poisson-verteilt = hohereWahrscheinlichkeit fur großere

”Ausreißer“.

98

Page 99: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

9.2 χ2-Statistik

Maximierung von P ist aquivalent zu Minimierung des negativen Logarithmusvon P :

1

2

N∑i=1

[yi − y(xi; a1, a2, . . . , aM)]2

σ2i

−N log ∆y︸ ︷︷ ︸const.

(236)

Da 1/2, ∆y und N konstant sind, definieren wir eine neue Große χ2:

χ2 =N∑i=1

[yi − y(xi; a1, a2, . . . , aM)]2

σ2i

(237)

Mit σi = const. ist Minimierung von χ2 aquivalent zur Minimierung derFehlerquadratsumme (least squares fit). χ2 ist auch wieder eine Wahrschein-lichkeitsverteilung und beschreibt die Verteilung der Summe von ν quadrierten,unabhangigen Zufallsvariablen. Die Dichte der Verteilung sieht fur ν = N−MFreiheitsgrade wie folgt aus

Fur diese funktionale Form kann man analytisch die Wahrscheinlichkeit Qdafur berechnen, daß χ2 großer als der aus dem Fit resultierende χ2-Wertist (P (a|b) ist eine bedingte Wahrscheinlichkeit fur a, vorausgesetzt daß bschon eingetreten ist):

Q

(χ2

2

∣∣∣∣ν) = QΓ

2,χ2

2

)(238)

Dabei ist QΓ(a, x) die unvollstandige Γ-Funktion:

Q(a, x) = 1− P (a, x) =Γ(a, x)

Γ(a)=

1

Γ(a)

∞∫x

e−tta−1 dt (239)

99

Page 100: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

wobei die vollstandige Γ-Funktion gegeben ist durch:

Γ(a) =

∞∫0

e−tta−1 dt (240)

(Fur a ∈ N0 gilt Γ(a) = (n− 1)! (Fakultat).)

Bei einem akzeptablen Fit gilt χ2 ≈ ν. Vorsicht: χ2 � ν bedeutet meistensoverfitting : Die Fehler der Daten wurden entweder uberschatzt, oder dasModell beinhaltet zu viele Variablen, sodaß das Rauschen der Daten (noise)mitbeschrieben wird.

Q-Werte liefern ein quantitatives Maß fur die Fit-Gute. Faustregeln:

• Q < 0.001: Modell falsch?

• Q & 0.001 Fit evtl. akzeptabel, oder σi unterschatzt, oder Abweichun-gen nicht Gauß-verteilt (unsichere Folgerung, da das hier vorausgesetztwurde)

• Q & 0.1: Fit vermutlich o.k.

• Q ≈ 1: Fehler uberschatzt, oder Betrug.

Oft wird die Standardabweichung nachtraglich abgeschatzt:

• setze σi = σ (also gleich fur alle Meßpunkte)

• mache Fit

• berechne σ2 =∑N

i=1[yi − y(xi)]2/N

Dabei sollte man jedoch beachten, daß

• dieses σ nur dann sinnvoll ist, wenn der Fit o.k. ist;

• dann χ2 nicht mehr unabhangig von diesem σ als Fit-Gutemaß verwendetwerden kann.

100

Page 101: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Minimierung von χ2 erfolgt in der ublichen Weise:

Setze die 1. Ableitung von χ2 nach den Parametern ak, k = 1, 2, . . . ,M ,gleich Null. Wir erhalten (Kettenregel) fur k = 1, 2, . . . ,M :

0 =N∑i=1

(yi − y(xi; a1, a2, . . . , aM)

σ2i

)(∂y(xi; a1, a2, . . . , aM)

∂ak

), (241)

Das sind M Gleichungen fur die M unbekannten ak-Werte.

Je nach der Art des Modells y(x) = y(x; a1, a2, . . . , aM) konnen diese Glei-chungen sein

• nicht-linear → s.u.!;

• linear → hier zuerst behandelt.

101

Page 102: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

9.3 Allgemeine lineare Ausgleichsrechnung

Wir konnen sehr viele Modellfunktionen y(x) als Linearkombination geeigneterBasisfunktionen Xk(x) darstellen:

y(x) =N∑k=1

akXk(x) (242)

Eine solche Modellfunktion ist auch dann linear in den ak, wenn einzelneoder alle Basisfunktionen Xk(x) beliebige nichtlineare Funktionen von x sind.Lineare Modelle sind also z.B.:

y(x) = a0 + a1x+ a2x2 + a3x

3 + · · ·+ aMxM (243)

y(x) = a1 sin(x) + a2 sin(2x) + · · ·+ aM sin(Mx) (244)

y(x) = a1e−b1x + a2e

−b2x + a3 tan(b3x) mit festen b1, b2, b3 (245)

Die Ermittlung einer Ausgleichsgerade ist der Spezialfall

y(x) = a0 + a1x (246)

(Naheres zu diesem Spezialfall in den Standardwerken”Mathematik fur

Chemiker“ und in Henrik Larssons Numerikskript WS15/16.)

Einige scheinbar nichtlineare Probleme lassen sich durch geeignete Umfor-mungen linear machen, z.B.:

y(x) = ae−bx mit zu bestimmendem a, b (247)

ln y = ln a− bx (248)

= c− bx (249)

Also kann man hier durch die logarithmierten Daten eine Gerade legen.Aber Achtung: Die Fehlerverteilung kann sich dadurch andern! (Nicht mehrnormalverteilt).

Ubersicht uber einige mogliche Transformationen:8

Empirische Formel Linearisierte Form Transformation

y = ax+ by = axb Y = α + bX, X = log(x), Y = log(y), α = log(a)y = abx Y = α + βx, Y = log(y), α = log(a), β = log(b)y = a+ b

x Y = ax+ b, Y = xyy = 1

ax+b Y = ax+ b, Y = 1y

y = xax+b Y = ax+ b, Y = x

y

y = a log(x) + b y = aX + b, X = log(x)

8Siehe Hermann und Demidovich, Maron, Shuvalova, Numerische Methoden der Analysis, VEB,Berlin 1968.

102

Page 103: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Vorsicht bei Scheinparametern!:

Das Modelly(x) = ae−bx+d (250)

mit (scheinbar) drei Parametern (a, b, d) enthalt tatsachlich nur zwei (b, c):

ln y = ln a− bx+ d (251)

= (ln a+ d)− bx = c− bx (252)

Versucht man trotzdem, das Modell in der ursprunglichen Form mit dreiParametern zu fitten, wird das resultierende Gleichungssystem exakt singularund einfache Verfahren versagen (nicht jedoch SVD, s.u.).

9.3.1 Durchfuhrung der allgemeinen linearen Ausgleichsrechnung

Einsetzen des allgemeinen linearen Modells Gl. 242 in das GleichungssystemGl. 241 zur Minimierung von χ2 liefert M lineare Gleichungen:

0 =N∑i=1

1

σ2i

[yi −

M∑j=1

ajXj(xi)

]Xk(xi) , fur k = 1, . . . ,M (253)

Diese lassen sich umschreiben zu den sogenannten Normalgleichungen:

M∑j=1

(N∑i=1

1

σ2i

Xj(xi)Xk(xi)

)aj =

N∑i=1

1

σ2i

yiXk(xi) , fur k = 1, . . . ,M

(254)Diese Gleichungen lassen sich zu einer Matrix-Vektor-Gleichung zusammen-fassen: (

α)~a = ~β oder

(AT ·A

)~a = AT ~b (255)

(ubliche Standardnotationen), mit den Definitionen:

Aij =1

σiXj(xi) , bi =

yiσi

(256)

αjk =N∑i=1

1

σ2i

Xj(xi)Xk(xi) =(α)

= ATA (257)

βk =N∑i=1

1

σ2i

yiXk(xi) = ~β = AT~b (258)

Beachte: Ublicherweise ist N > M . Dann ist:

• A eine Rechtecksmatrix (”design matrix“) mit N Zeilen und M Spalten;

103

Page 104: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

•(α)

= AT ·A eine M ×M -Matrix;

• ~β = AT ~b ein Vektor mit M Komponenten;

• ~b ein Vektor mit M Komponenten.

Also sind die Normalgleichungen (α)~a = ~β (259)

ein lineares Gleichungssystem der Form

A~x = ~b (260)

mit einer quadratischen Matrix und konnen mit ublichen Algorithmen zurLosung linearer Gleichungssysteme bearbeitet werden. Dies liefert einen Pa-rametersatz {ak}, der das χ2-Maß minimiert.

Der resultierende χ2-Wert laßt sich nach der Losung der Normalgleichungendirekt aus seiner Definition Gl. 237 berechnen, da ja nun die Parameter {ak}und damit die Modellfunktion y(x) nach Gl. 242 bekannt sind. Alternativ dazukann man auch nachtraglich Standardabweichungen der einzelnen Parameteraus den Diagonalelementen der Inversen der Matrix

(α)

bestimmen:

σ2(aj) =((α)−1)jj

(261)

Die Kovarianzen sind entsprechend die Außerdiagonalelemente von(α)−1

.

Praxistips:

• Da N � M ist oftmals das Aufstellen von A und Berechnen von(α)

aufwendiger als das Losen der Normalgleichungen.

• Es gibt prinzipiell zwei Moglichkeiten zur Beurteilung der Fit-Gute:

1. Datenpunkte (xi, yi) und Ausgleichsfunktion (das Modell) y(x) ge-meinsam plotten;

2. Berechnung der statistischen Großen χ2, σ, Q, etc.

Viele einfache Beispiele zeigen, daß weder das eine noch das anderealleine ausreichend ist; man sollte immer beides machen!

104

Page 105: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

9.3.2 Losung per Singularwertzerlegung

• Die design-Matrix(α)

ist normalerweise symmetrisch und positiv definit.Daher ist eine Losung per Cholesky-Zerlegung prinzipiell moglich.

• Aber: Oft reichen die Trends in den Daten nicht aus, um zwischeneigentlich verschiedenen Basisfunktionen zu unterscheiden. Dann wird diedesign-Matrix

(α)

singular und die Normalgleichungen eigtl. unlosbar.

y Besser: Verwendung von Singularwertzerlegung (SVD, s.u.). Dies ist deut-lich robuster und funktioniert

”immer“. Die Normalgleichungen Gl. 255(

α)~a = ~β oder

(AT ·A

)~a = AT ~b (262)

konnen formal gelost werden durch

~a = (ATA)−1AT~b =(α)−1~β. (263)

• Dies fuhrt zur Definition der (linken) Pseudoinversen

A+ = (AAT )−1AT . (264)

(Erinnerung: A ist rechteckig und kann nicht direkt invertiert werden).

• A+ kann im Falle von Singularitaten in AAT uber die Singularwertzer-legung berechnet werden:

A+ = Vdiag( 1wi

)UT . (265)

wobei das Inverse 1wi

nur fur von Null verschiedene Singularwerte wigebildet wird.

105

Page 106: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

9.4 Nichtlineare Ausgleichsrechnung

9.4.1 Grundideen

Wiederum wird eine Fehlerquadratsumme χ2 minimiert, aber Ausgangspunktund Strategie sind i.A. etwas anders als bei linearer Ausgleichsrechnung:

• es wird keine funktionale Form fur das Modell vorausgesetzt, also

– kann dies in der Methodenherleitung auch nicht verwendet werden;

– gilt die resultierende Methode dann aber fur Modelle beliebiger Formmit beliebigem Mix aus linearen und nichtlinearen Parametern.

• im Gegensatz zur einzigen, eindeutigen Losung bei der linearen Aus-gleichsrechnung (M Gleichungen fur M Unbekannte) gibt es hier einenwesentlich komplizierteren funktionalen Verlauf von χ2 und eine Vielzahlmoglicher Losungen. Daher

– braucht man ein iteratives Verfahren (basierend auf einem einfachen,approximativen Modell an den komplizierten χ2-Verlauf),

– ist es nicht moglich, in einem Schritt die richtige (welche?) Losungzu finden,

– ist eine gefundene Losung evtl. weder die beste noch die eigent-lich gesuchte; verschiedene Startpunkte der Iteration liefern evtl.verschiedene Losungen.

Daher: Vorgang analog zu Abschnitt 6.3.3: Die Approximation einer beliebigenmehrdimensionalen Funktion f(~a) an der Stelle ~a = (a1, a2, . . . , an)

T geschiehtmit einer Taylorreihe um einen Entwicklungspunkt ~a0 (hier zur Vereinfachung~a0 = ~0):

f(~a) =f(~a0) +∑i

∂f

∂ai

∣∣∣∣a0i

ai +1

2

∑i,j

∂2f

∂ai∂aj

∣∣∣∣a0ia0j

xixj + · · · (266)

=f(~a0)− ~dT o ~a+1

2~xT o D o ~aT + · · · (267)

mit Gradient ~d = −∇f |~a0 und Hessescher Matrix D mit Dij = ∂2f∂ai∂aj

∣∣∣~a0

.

Analog zur Prozedur in Abschnitt 6.3.3 ergibt Abbruch der Reihenentwicklungnach 2. Ordnung die iterative Formel

~ai − ~am = D−1 ∇f |~ai . (268)

106

Page 107: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

9.4.2 Anwendung der Grundideen

Gegeben sei eine beliebige Modellfunktion y = y(x,~a) mit linearen und/odernichtlinearen Parametern ak, k = 1, 2, . . . ,M . Wie bei der linearen Regressionversuchen wir, diese Parameter dadurch zu bestimmen, daß wir das Minimumdes Fit-Maßes χ2 suchen, gegenuber N gegebenen Datenpunkten (xi, yi),i = 1, 2, . . . , N :

χ2(~a) =N∑i=1

(yi − y(xi,~a)

σi

)2

(269)

Diese im Praxisfall vermutlich komplizierte Funktion approximieren wir wieoben mit einer nach dem quadratischen Term abgebrochenen Taylorreihe:

χ2(~a) ≈ γ − ~d · ~a+1

2~a ·D~a (270)

(Achtung: Anders als in Abschnitt 6.3.3 ist die Hessematrix hier bekannt!).Wenn diese Naherung gut ist, kann ich vom aktuellen Punkt ~ai mit einemSchritt zu einem Punkt ~aj sehr nahe am tatsachlichen Minimum kommen(s.o. Gl. 268):

~aj = ~ai −D−1 ∇χ2∣∣~ai

(271)

Wenn diese Naherung nicht gut ist, sollten wir besser einen”vorsichtigen“

Schritt in die richtige Richtung (also”abwarts“ = Richtung des negativen

Gradienten =”steepest descent“) zum nachsten Punkt ~xj machen, an dem

χ2 einen besseren (niedrigeren) Wert haben sollte:

~aj = ~ai − const. · ∇χ2∣∣~ai

(272)

Wenn wir nur Schritte vom Typ Gl. 271 machen, ist das eine Verallgemei-nerung des Newton-Verfahrens zur Nullstellensuche und heißt deshalb auchNewton-Verfahren. Es sollte allerdings in der Praxis so nicht angewendetwerden, da es nur in der Nahe von Minima wie gewunscht funktioniert. Ananderen Stellen ergibt sich i.A. keinerlei Konvergenz zu einem Minimum.

Auch wenn wir das Modell y(x,~a) uberhaupt nicht naher spezifizieren, konnenwir doch aufgrund der allgemeinen Form von χ2 nach Gl. 269 den Gradientenund die Hesse-Matrix etwas genauer angeben. Fur den Gradienten ergibtsich:

∂χ2

∂ak= −2

N∑i=1

yi − y(xi,~a)

σ2i

∂y(xi,~a)

∂ak, k = 1, 2, . . . ,M (273)

und fur die Elemente der Hesseschen Matrix (Produktregel!):

∂2χ2

∂ak∂a`= 2

N∑i=1

1

σ2i

(∂y(xi,~a)

∂ak

∂y(xi,~a)

∂a`− [yi − y(xi,~a)]

∂2y(xi,~a)

∂ak∂a`

)(274)

107

Page 108: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Da wir ohnehin nur approximativ-iterativ rechnen, konnen wir es uns hierleisten, den zweiten Term gegenuber dem ersten zu vernachlassigen, was auchdeshalb berechtigt ist, weil er den Faktor (yi−y(xi,~a)) enthalt, der nicht mitdem Modell korreliert und bei der Summenbildung zur Kompensation tendiert.Einbeziehung dieses Terms kann daher sogar zu schlechterer Konvergenzfuhren. Da der Gradient nicht verandert wird, gelangen wir trotzdem zueinem lokalen Minimum. Mit dieser Naherung und mit den Abkurzungen

δak = ak,neu − ak,alt (275)

βk = −1

2

∂χ2

∂ak(276)

αk` =1

2

∂2χ2

∂ak∂a`=

N∑i=1

1

σ2i

[∂y(xi,~a)

∂ak

∂y(xi,~a)

∂a`

](277)

wird aus Gl. 271 fur den Newton-artigen Schritt:

M∑`=1

αk` δa` = βk , k = 1, 2, . . . ,M (278)

Dies ist eine lineare(!) Matrix-Vektor-Gleichung(α)~δa = ~β (279)

Gleichzeitig wird aus Gl. 272 fur den steepest-descent-Schritt:

δa` = const. · β` (280)

9.4.3 Levenberg-Marquardt-Methode

Wir wissen qualitativ, wann wir Newton-Schritte und wann wir steepest-descent-Schritte machen sollten. Dies wurden wir jedoch gerne automatisiertentscheiden lassen und dabei eine Art

”fließenden Ubergang“ zwischen beiden

Schritt-Typen konstruieren. Es zeigt sich, daß wir zu diesem Zweck die nochfreie Konstante in Gl. 280 ausnutzen konnen. Setzen wir fur diese Konstantean:

const. =1

λα``(281)

mit einem adjustierbaren Parameter λ, wird dadurch aus Gl. 280:

λα`` δa` = β` (282)

Dadurch konnen wir diese modifizierte Gleichung fur den steepest-descent-Schritt

”auf die Diagonale“ der Matrixgleichung Gl. 279 fur den Newton-Schritt

bringen, indem wir eine neue Matrix(α′)

definieren, mit den Elementen

α′jk = αjk , fur j 6= k (283)

108

Page 109: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

α′jj = αjj(1 + λ) (284)

Dadurch konnen wir beide Schritt-Typen in einem einzigen linearen Glei-chungssystem vereinigen: (

α′)~δa = ~β (285)

Wenn dabei der adjustierbare Parameter λ groß wird (λ → ∞), wird dieMatrix

(α′)

diagonal dominant und wir fuhren steepest-descent-Schritte aus.Wird dagegen λ klein (λ→ 0), geht die Matrix

(α′)

gegen die unmodifizierteMatrix

(α)

und wir machen Newton-Schritte.

9.4.4 Algorithmus:

Die grobe Programmstruktur fur den Levenberg-Marquardt-Algorithmus siehtfolgendermaßen aus:

• rate einen Satz von Parametern ~a (Startpunkt)

• berechne das zugehorige χ2(~a)

• rate einen Startwert fur λ (z.B. λ = 0.001)

∗ stelle die Matrix und den Rechte-Seiten-Vektor fur das lineare Glei-chungssystem Gl. 285 auf

• lose dieses Gleichungssystem durch Aufruf einer geeigneten Losungssub-routine; die Losung ist der Schrittvektor ~δa

• berechne χ2(~a+ ~δa)

• wenn χ2(~a + ~δa) ≥ χ2(~a), dann war der Schritt schlecht und wirdverworfen; vergroßere λ (z.B. Multiplikation mit 10) und iteriere abStelle ∗

• anderenfalls war der Schritt in Ordnung und wird akzeptiert (d.h. wirsetzen ~a = ~a+ ~δa); fur den nachsten Schritt probieren wir eine Verrin-gerung von λ (z.B. Division durch 10) und iterieren ab Stelle ∗

Die Konstruktion der Matrix und des Rechte-Seiten-Vektors ist sehr ahnlichzum Fall der linearen Regression und kann daher mit ahnlichen Programm-strukturen erfolgen.

Das Verhalten des Algorithmus in dieser Form ist allerdings in der Praxis nichtunkritisch: Große λ-Werte garantieren, daß die Matrix

(α′)

positiv definit ist(was im Minimum der Fall sein sollte) und nicht singular wird, bedeuten aberauch kleine steepest-descent-Schrittchen – und umgekehrt. Daher sollte man

109

Page 110: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

lieber Bibliotheksroutinen verwenden, die diesen grundlegenden Levenberg-Marquardt-Algorithmus mit raffinierteren Stabilisierungsmethoden verzieren.

Die Iteration sollte beendet werden, wenn folgendes eintritt:

δχ2 = |χ2(~a+ ~δa)− χ2(~a)| < 0.1 (absolut) (286)

oderδχ2

χ2< 10−3 (relativ) (287)

Ein lediglich steigendes χ2 ist kein Grund zum Abbruch, da diese Situationin den folgenden Iterationsschritten in der Regel von λ-Anderungen ( =Schritt-Typ-Anderungen) abgefangen wird.

Praxistips

• Die Optimierung sollte immer mit verschiedenen Startparametern ~adurchgefuhrt werden. Je nach Modell und Parametersatz ist die Regres-sion sehr schwer und es gibt viele mogliche Losungen. Durch Variationder Startparameter lasst sich auch die Empfindlichkeit der Fitparameterai abschatzen.

• Wichtig: Das Verfahren kann auch scheitern! (Keine Konvergenz.)

110

Page 111: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

10 Matrixdiagonalisierung

10.1 Einige Grundlagen zum Matrixeigenwertproblem

Fur eine gegebene (n× n)-Matrix A kann man nach

A~x = λ~x (288)

die zunachst unbekannten Eigenwerte λ und Eigenvektoren ~x bestimmen.Mit der Einheitsmatrix 1 laßt sich die Eigenwertgleichung Gl. (288) formalumformen zu:

(A− λ1)~x = A~x = ~0 (289)

Dies ist ein homogenes lineares Gleichungssystem zur Bestimmung des unbe-kannten Vektors ~x, bei dem allerdings die Matrix A noch nicht vollstandigbekannt ist. Dennoch gilt, daß die Sakulardeterminante det(A) = 0 seinmuß, damit es außer der uninteressanten trivialen Losung ~x = ~0 noch weite-re Losungen gibt. Durch Auswertung der Determinante sieht man, daß dieForderung det(A) = 0 identisch zur Forderung ist, daß ein Polynom n-terOrdnung in λ Null wird. Nach dem Fundamentalsatz der Algebra hat einPolynom n-ter Ordnung genau n Nullstellen. Also hat eine n × n-Matriximmer genau n Eigenwerte (und dazugehorige Eigenvektoren); einige dieserEigenwerte konnen allerdings identisch (entartet) sein.

Jede n × n-Matrix ist per Basistransformation T−1AT in diverse spezielleFormen uberfuhrbar, bei denen die Eigenwerte und Eigenvektoren der Matrixeine ausgezeichnete Rolle spielen (s. Stoer/Bulirsch, Kapitel 6). Zum Beispielkann man jede n×n-Matrix unitar auf die Schur-Form transformieren (Drei-ecksform, mit den Eigenwerten auf der Diagonalen). Bei der Unterklasse dernormalen Matrizen ist die Schur-Form diagonal: Mit den n Eigenvektoren alsSpaltenvektoren einer Matrix X und den n Eigenwerten auf der Diagonaleneiner Diagonalmatrix ergibt sich aus Gl. 288:

AX = diag(λλλ)X = Xdiag(λλλ) (290)

X†AX = X†Xdiag(λλλ) = diag(λλλ) (291)

Fur normale Matrizen gilt der letzte Schritt, weil X dann unitar ist (X† =X−1). Daher sind normale Matrizen unitar diagonalisierbar. (Achtung: Esgibt auch Matrizen, die diagonalisierbar sind, aber nicht normal, z.B.:(

0 14 0

)(292)

Dann ist X nicht unitar und die Schurform nicht diagonal.)

111

Page 112: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

10.2 Grundstrategien zur Diagonalisierung

Der Weg uber die Sakulardeterminante ist zwar prinzipiell moglich, aber ausmehreren Grunden numerisch extrem ungunstig:

• Aufstellen des “charakteristischen Polynoms” erfordert Determinantenbe-rechnung; sehr ungunstig weil

– schlecht konditioniert (Differenzen ahnlich großer Zahlen!)

– extrem aufwendig: Fur eine (n× n)-Determinante mussen n! Termeberechnet werden ⇒ Selbst wenn jeder Term in 1 Nanosekundeberechnet werden kann (1 GHz-Prozessor), benotigt eine (20× 20)-Determinante 77 Jahre Rechenzeit.

• iterative Nullstellensuche

• gesucht ist nicht nur (irgend)eine Nullstelle, sondern alle

• auch Nullstellen von Polynomen sind oft schlecht konditioniert. Beispiel:

p(λ) =20∏k=1

(λ− k). (293)

Ein leicht gestortes Polynom

p(λ) = p(λ)− ελ19, ε = 2−23 ≈ 10−7 (294)

erzeugt eine Anderung des Koeffizienten von λ19 um 10−7%, generiertaber eine drastische Anderung in den Nullstellen:

1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0,

10.1± 0.6i, 11.8± 1.7i, 14.0± 2.5i, 16.7± 2.8i, 19.5± 1.9i, 20.8 (295)

Beachte: Die schlechte Konditionierung ist ein Artefakt. Diagonalisierunghermitescher (symmetrischer) Matrizen ist i.d.R. eigentlich gut konditioniert!

Alternative Verfahren:

• sequentielle Akkumulation der unitaren Transformation (z.B. Jacobi):

P−1N . . .P−1

2 P−11︸ ︷︷ ︸

X†

A P1P2 . . .PN︸ ︷︷ ︸X

= diag(λλλ). (296)

• geeignete Matrixfaktorisierungen (z.B. QR-Verfahren):

A = CD⇒ C−1A = D ⇒ DC = C−1AC (297)

• iterative Verfahren (z.B. Vektoriteration, Lanczos)

112

Page 113: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Erinnerung/Einschub: Orthogonale Matrizen in zwei Dimensionen:

Damit eine allgemeine Matrix

P =

(p11 p12p21 p22

)(298)

eine Orthogonalmatrix ist,PPT = PTP = 1 (299)

mussen ihre Spaltenvektoren normiert und orthogonal sein:

p211 + p221 = 1 (300)

p212 + p222 = 1 (301)

p11p12 + p21p22 = 0 (302)

Gln. (300) und (301) lassen sich erfullen mit:

p11 = cosφ p21 = sinφ (303)

p12 = sinψ p22 = cosψ (304)

mit zwei freien Parametern φ und ψ. Einsetzen in Gl. 302 liefert jedoch:

cosφ sinψ + sinφ cosψ = 0 (305)

Die linke Seite dieser Gleichung laßt sich mit einem der Winkeladditionstheoreme umformenzu:

sin(φ+ ψ) = 0 (306)

Diese Gleichung mit zwei Unbekannten stellt also eine Beziehung zwischen den Parameternφ und ψ dar; sie ist erfullt, wenn ψ = nπ−φ, n = 1, 2, . . .. Eine orthogonale 2× 2-Matrixhat also nur einen freien Prameter.

Damit hat man fur geradzahlige n

cosψ = cosφ , sinψ = − sinφ (307)

und als orthogonale Matrix:

P =

(cosφ − sinφsinφ cosφ

)(308)

Diese Matrix dreht einen Vektor um den Winkel φ um die z-Achse, im Sinne einerRechte-Hand-Regel.

Fur ungeradzahlige n gilt

cosψ = − cosφ , sinψ = sinφ (309)

und die entsprechende orthogonale Matrix lautet:

P =

(cosφ sinφsinφ − cosφ

)(310)

Diese Matrix spiegelt einen Vektor an einer Geraden mit der Steigung φ/2. Jede spezielleP-Operation ist jedoch auch mit Drehungen realisierbar. Daher ist die Drehmatrix P derPrototyp der orthogonalen 2× 2-Matrix.

113

Page 114: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Beachte: Da es sich um eine orthogonale Matrix handelt, ist ihre Inverse gleich ihrerTransponierten:

P−1 = PT =

(cosφ sinφ− sinφ cosφ

)(311)

Zum selben Schluß kommt man mit der Beobachtung, daß die inverse Drehoperation dieselbeDrehachse und denselben Betrag des Drehwinkles hat, aber das umgekehrte Vorzeichendes Drehwinkels. Dabei nutzt man die folgenden elementaren Symmetriebeziehungen derWinkelfunktionen aus:

cos(−φ) = cosφ , sin(−φ) = − sinφ (312)

Will man in n Dimensionen bzw. Koordinaten eine Drehung um eine Achse parallel zueiner der Koordinatenachsen ausfuhren, sodaß die Koordinatenwerte p und q verandertwerden und alle anderen Koordinaten unverandert bleiben, lautet die Drehmatrix ganzanalog (alle nicht explizit bezeichneten Außerdiagonalelemente sind Null, alle nicht explizitbezeichneten Diagonalelemente Eins):

P =

1. . .

c · · · s...

...−s · · · c

. . .

1

← p

← q(313)

↑ ↑p q

(314)

Hier wie im folgenden kurzen wir ab (es handelt sich nicht um zwei unabhangigeParameter c und s!):

c := cosφ , s := sinφ (315)

114

Page 115: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

10.3 Jacobi-Verfahren

Grundidee (s.o.):

· · ·P−13 P−1

2 P−11 AP1P2P3 · · · = diag(λ1, . . . , λn) (316)

Betrachte eine dieser Operationen P−1AP (die Matrix A ist i.A. voll besetzt, abersymmetrisch):

1. . .

c · · · −s...

...s · · · c

. . .

1

a1p a1q...

...ap1 · · · app · · · apq · · · apn

......

aq1 · · · aqp · · · aqq · · · aqn...

...anp anq

1. . .

c · · · s...

...−s · · · c

. . .

1

(317)

Beachte: Diese Operation (eine Jacobi-Rotation) beeinflußt alle Matrixelemente in denReihen p und q von A!

Erwunscht ist die Berechnung von Vorstufen der kunftigen Eigenwerte auf der Diagonalen

a′pp = c2app + s2aqq − 2scapq (318)

a′qq = s2app + c2aqq + 2scapq (319)

und die Berechnung der zugehorigen Außerdiagonalelemente (apq = aqp wegen der Symmetrieder Matrix):

a′pq = (c2 − s2)apq + sc(app − aqq) (320)

Ein eigentlich unerwunschter aber nicht zu vermeidender Nebeneffekt ist die Wirkung aufalle anderen Elemente der p-ten und q-ten Zeilen und Spalten (r 6= p, q, und wiederumarp = apr sowie arq = aqr):

a′rp = carp − sarq (321)

a′rq = carq + sarp (322)

Wir konnen direkt erzwingen, daß die Elemente a′pq bei dieser Operation exakt Nullwerden, indem wir a′pq = 0 fordern; aus Gl. (320) ergibt sich damit sofort:

θ := cot 2φ =c2 − s2

2sc=aqq − app

2apq(323)

Mit der Setzung t = s/c erhalt man eine quadratische Gleichung zur Bestimmung von t,aus der sich ergibt

t =sign(θ)

|θ|+√θ2 + 1

(324)

Daraus ergibt sich dann, daß die gesuchten Großen c und s gegeben sind als

c =1√t2 + 1

, s = tc (325)

115

Page 116: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

Uber die Hilfsgroßen t und θ kann man also die Parameter c und s (um damit diekomplette

”Mikro“-Drehmatrix P) aus den bekannten Elementen app, aqq, apq der Matrix

A bestimmen.

Da bei iterativer Wiederholung derartiger Operationen die Matrixelemente app und aqqvon gleicher Großenordnung bleiben, die Elemente apq aber per Konstruktion gegen Nullgehen, kann nach Gl. (323) θ sehr groß werden und damit u.U. die Quadrierung vonθ im Nenner von Gl. (324) zu numerischem Uberlauf fuhren. Fur große θ kann man tjedoch statt nach Gl. (324) in guter Naherung auch folgendermaßen berechnen:

t =1

2θ(326)

Ebenso ist es zur Verbesserung der numerischen Genauigkeit anzuraten, nicht die obigenGln. (318) bis (322) zu verwenden, sondern diese nach Einfuhrung einer weiteren Hilfsgroße

τ :=s

1 + c(327)

umzuformen zu:

a′pp = app − tapq (328)

a′qq = aqq + tapq (329)

a′pq = 0 (330)

a′rp = arp − s(arq + τarp) (331)

a′rq = arq + s(arp − τarq) (332)

Eine elementare Jacobi-Operation besteht also aus der Ermittlung der Großen s, c, t, τaus den gerade aktuellen Werten der Matrixelemente app, aqq, apq und der nachfolgendenBerechnung der neuen Matrixelemente app, aqq, apq, arp, arq aus den Gln. (328) bis (332).

Das Gesamtresultat des Jacobi-Verfahrens ist

diag(λ1, . . . , λn) = XTAX , mit X = P1P2P3 · · · (333)

wobei die Spalten der Matrix X die Eigenvektoren enthalten. Also konnen diese gleichmitberechnet werden, wenn wir bei jeder Iteration i das Matrixprodukt

Xi+1 = XiPi (334)

mitberechnen (ausgehend von der Einheitsmatrix: X0 = 1). Explizit und in der obigenNotation ist das:

x′rs = xrs , fur s 6= p, q (335)

x′rp = xrp − s(xrq + τxrp) (336)

x′rq = xrq + s(xrp − τxrq) (337)

Ziel des Gesamtverfahrens ist es, die Summe S der Absolutbetrage der Außerdiagonalele-mente Null zu machen. Da jede Jacobi-Rotation zwar ihr Zielelement apq auf Null setzt,aber auch noch weitere Matrixelemente beeinflußt (s.o.), ist nicht unmittelbar klar, daßdieses Ziel erreicht werden kann. Tatsachlich kann man aber zeigen, daß fur

S =∑r 6=s

|ars|2 (338)

116

Page 117: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

eine Anwendung des obigen Gleichungssystems Gln. (328) bis (332) folgendes ergibt:

S ′ = S − 2 |apq|2 (339)

Mit freier Wahl der Indices p, q und der Tatsache, daß per Definition immer S ≥ 0 gilt,folgt, daß S → 0 in der Praxis iterativ erreichbar ist.

Im Prinzip ware es gunstig, fur die jeweils nachste Jacobi-Operation das momentan großteAußerdiagonalelement zu bestimmen und dieses dann zu Null zu machen. Dies erfordertjedoch eine Suche uber alle Außerdiagonalelemente (oder ein sorgfaltiges Buchfuhren uberderen Veranderungen). Dies kann zu einem hoheren Aufwand fuhren als ein einfachesAbarbeiten der Spalten von links nach rechts und der Zeilen von oben nach unten(”zyklische Jacobi-Methode“), auch wenn man dabei mehr Jacobi-Operationen benotigt. In

jedem Fall benotigt man i.A. mehrere Durchlaufe (”sweeps“) durch die gesamte Matrix.

117

Page 118: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

10.3.1 Jacobi-Implementation

Verwende obige Formeln, insbesondere:

• Berechne X gleich mit;

• Betrachte nur ein Außerdiagonaldreieck von A und lasse das andereunverandert (symmetrische Matrix!) (im Prinzip konnte am Ende aus demunveranderten Dreieck die ursprungliche Matrix rekonstruiert werden)

• Mache die Operationen fur die Diagonalelemente nicht an diesen selber,sondern an einem zusatzlichen Vektor ~e → Eigenwerte;

Programmskizze

• Initialisiere ~e-Vektor auf aii, X auf 1

• Große Schleife uber ca. 100 sweeps (normal: ca. 5–10); wenn dann nichtkonvergiert, stop mit Fehlermeldung;

• Konvergenztest: Konvergiert, wenn

S =n∑j=2

j−1∑i=1

|aij| ≤ 10−20 (340)

• Doppelschleife uber ein Außerdiagonal-Dreieck: q = 2 : n; p = 1 : q − 1

– (In den ersten drei sweeps): Fuhre Rotation nur aus, wenn |apq| > S5n2 .

– (Nach 4 sweeps) Wenn |apq| ≤ 10−18|app|, dann apq = 0 und continue

– Bestimme c, s, t, τ ; dabei Test ob in Gl. (323) apq zu klein relativzu |aqq − app| z.B. mit:

|ep − eq|+ 100 apq = |ep − eq| (341)

Wenn dieser Test erfullt ist, verwende Gl. (326) statt Gl. (324) zurBerechnung von t.

– Update der Elemente arp, arq fur r = 1 : n und r 6= p, q nachGln. (331) und (332); zerlege die Schleife uber r dazu in dreiSchleifen (r = 1 : p − 1, r = p + 1 : q − 1 und r = q + 1 : n) undverandere jeweils nur die Elemente im gewunschten Dreieck!

– Update der Diagonalelemente im Vektor e nach Gln. (328) und (329)

– Bilde alle neuen Elemente xrp, xrq fur r = 1 : n nach Gln. (335) bis(337).

• Ende der Doppelschleife uber q und p.

118

Page 119: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

10.4 Andere Verfahren

Nachteile des Jacobi-Verfahrens:

• Gesamtaufwand der Diagonalisierung: O(n3).(O(n2) Rotationen und jede hat einen Aufwand von O(n)).

• Von einer Jacobi-Rotation eingefuhrte Nullen werden von spateren Ro-tationen wieder zerstort.

• Es werden immer alle Eigenwerte und -vektoren ermittelt; manchmalsind aber nur einige wenige gewunscht.

⇒ Jacobi nur sinnvoll fur kleine Matrizen (n < 20). Andere Diagonalisie-rungsverfahren eliminieren einige oder alle dieser Nachteile.

(Mehr Details zu Folgendem in Henrik Larssons Numerikskript WS15/16.)

10.4.1 Givens-Verfahren

• Wahle die Pi clever, sodass vorherige Nullen nicht zerstort werden.

• Damit werden immer O(n2/2) Rotationen benotigt.

• Zur Ermittlung einer QR-Zerlegung einsetzbar, oder zur Diagonalisierungtridiagonaler Matrizen.

10.4.2 Householder-Transformationen, QR-Zerlegung

• Mit Householder-Transformationen kann man mehrere Matrixeintragegleichzeitig auf Null bringen.

• Ein Produkt mehrerer Householder-Transformationsmatrizen ist keineDreiecksmatrix, aber eine orthogonale Matrix. Dies ermoglicht eine QR-Zerlegung in eine orthogonale Matrix Q und eine obere DreiecksmatrixR:

A = QR, QTQ = 1, Q = H1H2 . . .Hn−1. (342)

• Bei Iteration der QR-Zerlegung

Ai+1 = RiQi = Q−1i QiRiQi = Q−1

i AiQi = Q†iAiQi (343)

bleiben Eigenwerte (und andere Matrixcharakteristika) erhalten.

• Ohne Zerstorung vorher eingefuhrter Nullen kann man damit aber nureine Tridiagonalform erreichen. Endgultige Diagonalisierung ist dann perGivens-Verfahren leicht moglich.

119

Page 120: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

• QR-Zerlegung via Householder-Transformationen ist jedoch nicht paral-lelisierbar.

10.4.3 Gerschgorin-Kreise

• Aus den Matrixelementen bestimmbare Kreisflachen, innerhalb derer dieEigenwerte liegen mussen.

• Verwendung:

– Abschatzung der Eigenwerte;

– Abschatzung der Matrixnorm;

– naherungsweise a-priori-Feststellung, ob eine Matrix regular (inver-tierbar) ist.

10.4.4 Potenzverfahren, Vektoriteration, inverse Iteration

• Aus einer hinreichend langen Folge von Matrix-Vektor-MultiplikationenA~x, A2~x, A3~x, . . . , ausgehend aus einem Zufallsvektor ~x, lasst sich derbetragsmaßig großte Eigenwert extrahieren.

• Mochte man den betragsmaßig kleinsten Eigenwert erhalten, so lasstsich Vektoriteration mit A−1 durchfuhren.

• Vektoriteration von (A− σ1)−1, σ ∈ C (Shift der Eigenwerte von A umσ) fuhrt entsprechend zum Eigenwert, der am nachsten an σ liegt. Diesnennt man inverse Iteration.

10.4.5 Lanczos-Verfahren

• eine Art Erweiterung der Vektoriteration, und verwandt mit ConjugateGradient (s.o.)

• Die aus A~x, A2~x, A3~x, . . . , resultierenden Vektoren spannen densog. Krylov-Raum auf.

• Diesen Krylovraum kann man mit einer Orthonormalbasis aufspannen,die sich iterativ aus ~x erzeugen laßt.

• In dieser Basis ist die Matrix A tridiagonal und damit leicht volldiagonalisierbar.

120

Page 121: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

10.5 Singularwertzerlegung/singular value decomposition (SVD)

Jede(!) M oN -Matrix A kann zerlegt werden nach

N→

M ↓

A

=

(344)

N N

→ →

M ↓

U

w1

w2 0w3

0 . . .

wN

N ↓ VT

orthog. Spalten orthogonal

Zahlreiche nutzliche Eigenschaften:

• Die U sind die Eigenvektoren von AA†, die V sind die Eigenvektorenvon A†A

• Die Singularwerte wi sind die Wurzeln der Eigenwerte von AA† undA†A.

• Zu jedem Singularwert w gehoren links- und rechts-singulare Vektoren~u und ~v:

A~v = w~u , A†~u = w~v (345)

Die Eigenwertzerlegung einer normalen Matrix A ist gleichzeitig eineSingularwertzerlegung, wenn keiner der Eigenwerte negativ ist (sonstsind die Singularwerte die Betrage der Eigenwerte).

• Ist ein oder mehrere wi = 0, ist A singular

121

Page 122: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

• Ist ein oder mehrere wi ≈ 0, ist A beinahe singular und damit numerischschlecht konditioniert → numerische Probleme bei der Losung linearerGleichungssysteme

• Die Spalten j von U mit wj 6= 0 spannen den Losungsraum von A auf

• Die Spalten i von V mit wi = 0 spannen den sogenannten Nullraumauf (der leer ist, wenn A nicht singular ist)

• die mit der “Pseudoinversen” von A erzeugten Vektoren

~x = Vdiag

(1

wi

)(UT~b) (346)

liefern fur lineare Gleichungssysteme

– vernunftige Losungen fur singulare und beinahe singulare MatrizenA, wenn man fur wi ≈ 0 einsetzt 1

wi= 0

– fur M < N Informationen uber den Losungsraum

– fur N < M eine Losungsmethode fur Ausgleichsrechnungen nach derMethode der kleinsten Quadrate (least-squares-fit).

Die Programmierung der SVD-Zerlegung ist jedoch nicht-trivial, basiert aufQR-Zerlegung.

122

Page 123: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

10.6 Verwendung von Matrixdiagonalisierung in der Chemie

In den Abschnitten 5.10.2 und 5.10.3 wurde bereits gezeigt, wie man mitfiniten Differenzen bzw. einer Basisfunktionsentwicklung die zeitunabhangigeSchrodingergleichung in ein Matrix-Eigenwertproblem verwandeln kann.

Mit diesen Strategien kann man z.B. folgende chemische Fragestellungenbearbeiten:

• Berechnung von Schwingungseigenfunktionen beliebiger Molekule⇒ Schwin-gungsspektren (IR, Raman, . . . ) (Frequenzen und Intensitaten)

• Im Prinzip erlaubt die Kenntnis aller Schwingungseigenfunktionen ei-nes Molekuls auch die Vorhersage seiner zeitlichen Dynamik (chemischeReaktionen); stattdessen ist es jedoch oft gunstiger, die zeitabhangigeSchrodingergleichung direkt zu losen (wobei man auch Basisfunktions-darstellungen von Ψ verwenden kann)

• naherungsweise Berechnung elektronischer Eigenenergien und -funktionenbeliebiger Molekule durch Losung der Hartree-Fock-Gleichungen im HF-SCF-Verfahren:

fψi = εiψi (347)

⇒ naherungsweise Vorhersage von Molekulstrukturen und -eigenschaften,Energiebilanzen chemischer Reaktionen, usw.

• genauere Berechnung elektronischer Eigenenergien und -funktionen be-liebiger Molekule unter expliziter Berucksichtigung der Elektronenkorre-lation durch Losung der configuration-interaction-(CI)-Gleichungen:

HΨ = EΨ (348)

⇒ genauere Vorhersage von Molekulstrukturen und -eigenschaften, Akti-vierungsenergien, Energien elektronisch angeregter Zustande (Photoche-mie), usw.

• approximative Berechnung elektronisch angeregter Molekulzustande mitlinear-response-time-dependent-HF/DFT

• stark angenaherte Losung der HF-Gleichungen mit semiempirischen Me-thoden, z.B. einfache Huckel-Theorie:

H~c = ε~c (349)

wobei die Elemente der Huckelmatrix H durch die empirischen Parameterα und β und die topologische Matrix M (die die Nachbarschafts- bzw.Bindungsverhaltnisse im Molekul codiert) gegeben sind:

H = α1 + βM (350)

123

Page 124: Einfuhrung in die Numerische Mathematik fur Chemiker · PDF fileH. R. Schwarz und J. Waldvogel (Hrsg.): " Numerische Mathematik\, ... 14 > ./calc eps 15 double precisionmachineepsilon:

Numerik fur Chemiker • Prof. Dr. B. Hartke, Universitat Kiel, [email protected]

mit Mij =

{1 fur i 6= j und Bindung zwischen Atom i und Atom j0 fur i = j und sonst.

(351)

Eine Diagonalisierung von M bewirkt per Def. Gl. 350 auch eine Diago-nalisierung von H; außerdem gilt fur die korrespondierenden Eigenwerteεi bzw. mi:

εi = α +miβ (352)

Daher kann man relative Huckel-Orbitalenergien auch ohne Kenntnisder Parameter α und β direkt aus der Molekultopologie uber eineDiagonalisierung der Matrix M bestimmen.

124