Numerische Mathematik I: Grundlagen

Werbung
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Numerische Mathematik I:
Grundlagen
Jochen Merker
HTWK Leipzig
09.10.2017
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Inhalt der Lehrveranstaltung
Inhaltlich sollen Sie in der Lehrveranstaltung Numerische
”
Mathematik I“ insbesondere vertraut gemacht werden mit der
Numerik linearer Glechungssysteme
Numerik linearer Ausgleichsprobleme
Numerik nichtlinearer Gleichungssysteme
Numerik von Eigenwertproblemen
Jeder angewandte Mathematiker muss die Grundzüge der
numerischen Mathematik verstehen. Im Gegensatz zum
Wissenschaftlichen Rechnen“ geht es dabei in der Numerik nicht
”
primär darum, komplexe Probleme durch die Konstruktion von
Algorithmen auf einen Rechner zu bringen und deren Ergebnisse
auszuwerten, sondern es geht um die Mathematik, die benötigt
wird, um Algorithmen beurteilen zu können. Dabei sind Stabilität,
Konvergenz, Effizienz und Genauigkeit zentrale Begriffe.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Seminar zur Lehrveranstaltung
Im Seminar zur Numerischen Mathematik I“ werden
”
Belegaufgaben gestellt, für deren Bearbeitung Sie ca. eine
Woche Zeit haben und die Sie insbesondere auf die Klausur
vorbereiten sollen.
Um zur Klausur zugelassen zu werden, benötigen Sie 50% der
für die Belegaufgaben vergebenen Punkte.
Alle Materialien erhalten Sie im zugehörigen OPAL-Kurs.
Als Prüfung müssen Sie eine 120-minütige Klausur bestehen.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Literatur zur Lehrveranstaltung
Es gibt eine große Auswahl an Literatur zur Numerischen
Mathematik, zu meiner Vorlesung empfehle ich Ihnen, in die
folgenden Bücher hineinzulesen:
Stoer,Bulirsch: Numerische Mathematik 1 + 2, Springer.
Deuflhard,Hohmann bzw. Bornemann: Numerische Mathematik I
+ II, de Gruyter.
Schwarz,Köckler: Numerische Mathematik, Vieweg-Teubner.
Preuß,Wenisch: Numerische Mathematik, Fachbuchverlag Leipzig.
Knorrenschild: Numerische Mathematik, Fachbuchverlag Leipzig.
Brokate,Henze,Hettlich,Meister,Schranz-Kirlinger,Sonar:
Grundwissen Mathematikstudium, Kapitel 11-18,
Springer-Spektrum.
Zeidler bzw. Bronstein: Handbuch bzw. Taschenbuch der
Mathematik, Kapitel 7, Springer.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Heutiges Programm
Heute werden wir
anhand eines einfhrenden Beispiels bei numerischen Verfahren
auftretende Fehler kennenlernen,
speziell Rundungsfehler von Maschinenzahlen und
Diskretisierungsfehler von Approximationen diskutieren und
Kondition und Stabilität definieren.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Finite Differenzen
Beispiel
Betrachte die räumlich eindimensionale
∂2u
Wärmeleitungsgleichung ∂u
∂t = ∂x 2 zum Anfangswert
(
2x
für 0 < x ≤ 12
u(0, x) = u0 (x) :=
2 − 2x für 12 < x < 1
auf Ω := (0, 1) unter Dirichlet-Randbedingungen
u(t, 0) = 0 = u(t, 1) bis zur Zeit T = 1.
Mittels
Fourier-Methode erhält man als exakte Lösung
P∞ der−(kπ)
2t
a
e
sin(kπx) mit
k=0 Rk
1
8
kπ
ak = 2 0 u0 (x) sin(kπx) dx = (kπ)
2 sin
2 .
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Finite Differenzen
Beispiel
Diskretisiert man (0, T ) × Ω durch (tn , xj ) := (n∆t, j∆x), so
erhält man beim expliziten Euler-Verfahren mit ujn := u(tn , xj )
die Rekursion ujn+1 = ujn + (∆t)
n −2u n +u n
uj+1
j
j−1
.
(∆x)2
Wir wählen ∆x = 0.05. Dann ergibt sich zum Zeitpunkt
T = 1 für ∆t = 0.00140 die links und für ∆t = 0.00142 die
rechts auf der nächsten Folie abgebildete Näherung.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Finite Differenzen
Frage
Wieso ist die zweite Lösung so ungenau?
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Finite Differenzen
Antwort
Das Verfahren ist nicht stabil, d.h. es verhält sich gegenüber
Störungen (Fehler der Eingabedaten und Rundungsfehler) nicht
robust. Genauer muss für das Verfahren die Stabilitätsbedingung
∆t
< 14 erfüllt sein.
(∆x)2
Beispiel
∆t
(∆x)2
1
2
4 (∆x)
Hier gilt
≈ 0.56 > 41 , man hätte höchstens mit
= 0.000625 rechnen dürfen, und es war reiner
∆t <
Zufall, dass sich für ∆t = 0.00140 schon eine recht gute Näherung
an die Lösung ergab.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Maschinenzahlen
Problem
Nicht jede reelle Zahl kann vom Computer exakt repräsentiert
werden, nur die sogenannten Maschinenzahlen.
Definition
Eine Maschinenzahl in normalisierter Gleitpunktdarstellung zur
Basis b ∈ N \ {1} ist eine Zahl der Form ±0.a1 a2 . . . an · b p mit
Mantissenlänge n ∈ N, den Nachkommastellen
ai ∈ {0, 1, . . . , b − 1}, a1 6= 0, und Exponent p ∈ {−E , E − 1},
E ∈ N. Im Fall b = 2, n = 23 und E = 256 spricht man von
32-Bit-Binärzahlen. Die meisten Computer folgen dem
IEEE-Standard für Gleitpunktrechnung.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Rundungsfehler
Problem
Nähert man eine reelle Zahl durch die nächstgelegene
Maschinenzahl an, so entsteht ein Rundungsfehler.
Definition
Ist x eine reelle Zahl und x̃ die nächstgelegene Maschinenzahl,
dann heißt |x − x̃| der absolute Rundungsfehler und | x−x̃
x | (bei
x 6= 0) der relative Rundungsfehler.
Beispiel
−n mit der
Bei Rundung und Basis b = 10 gilt | x−x̃
x | ≤ 5 · 10
Mantissenlänge n ∈ N.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Auslöschung
Problem
Bei der Subtraktion etwa gleich großer Zahlen kann Auslöschung
und damit der Verlust signifikanter Nachkommastellen auftreten.
Beispiel
Approximiert man die Fläche π des Kreises durch die Fläche Fn
eines regulären
n-Ecks, dessen Kantenlänge man rekursiv durch
r
q
s2n =
2−2
1−
sn2
4
berechnet, so tritt für große n Auslöschung
auf.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Auslöschung
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Landau-Symbole
Problem
Diskretisierungsfehler treten auf, wenn eine Funktion oder ein
Operator durch eine Näherung ersetzt wird. Zu Ihrer Abschätzung
sind die Landau-Symbole nützlich.
Definition
Man sagt, die Funktion f wächst für x → x0 nicht wesentlich
schneller als g , symbolisch f (x) = O(g (x)) ( f ist ein groß O von
”
g“) für x → x0 , wenn ∃c > 0 , ∃ > 0 : |f (x)| ≤ c|g (x)| für alle x
mit |x − x0 | < .
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Rechnen mit Landau-Symbolen
Satz
Es gilt 1 + O() =
1
1+O() für → 0.
x ∈ Rn mit kxk =
Für A ∈ Rn×n und
O(g ), wobei k · k eine
beliebige Vektornorm und g : R → R eine Funktion ist, folgt
kAxk = O(g ).
Hat x ∈ Rn die Komponenten xi , i = 1, . . . , n und ist
g : R → R eine Funktion, dann gilt
(∀i : xi = O(g )) kxk = O(g ).
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Finite Differenzen
Frage
Welchen Diskretisierungsfehler haben finite Differenzen zur
Annäherung von Ableitungen?
Beispiel
Bei äquidistanten Stützstellen . . . , x − h, x, x + h, . . . zur
Annäherung von f 0 (x) hat die
f (x+h)−f (x)
Diskretisierungsfehler O(h).
h
f (x)−f (x−h)
Rückwärtsdifferenz
Diskretisierungsfehler O(h).
h
f (x+h)−f (x−h)
zentrale Differenz
Diskretisierungsfehler O(h2 ).
2h
(x−h)
Bei Annäherung von f 00 (x) hat f (x+h)−2fh(x)+f
einen
2
Diskretisierungsfehler O(h2 ).
Vorwärtsdifferenz
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Fehlerfortpflanzung
Problem
Fehler pflanzen sich von einem zum nächsten Schritt fort.
Satz
Haben die Eingangsgrößen xi einer Funktion f (x1 , . . . , xn ) den
absoluten Fehler φi , so hat die Ausgangsgröße y = f (x) in erster
∂f
∂f
Ordnung den absoluten Fehler ∆y = ∂x
φ1 + · · · + ∂x
φn .
n
1
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Fehlerfortpflanzung
Satz
Haben die Eingangsgrößen xi einer Funktion f (x1 , . . . , xn ) den
relativen Fehler i , so hat die Ausgangsgröße y = f (x) in erster
xn ∂f
1 ∂f
Ordnung den relativen Fehler y = f x(x)
∂x1 1 + · · · + f (x) ∂xn n .
Konditionszahlen
xi ∂f
Die Faktoren f (x)
∂xi nennt man auch Konditionszahlen, sind sie
groß, so nennt man die Auswertung von f ein schlecht
konditioniertes Problem.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Problem
Die Konditionszahlen machen nur Sinn für y = f (x) 6= 0, xi 6= 0,
und differenzierbares f .
Definition
Als relative Konditionszahl einer Funktion f : Rn → Rm an der
Stelle x ∈ Rn bezeichnet man die kleinste Zahl condr el(f )(x) > 0,
(x̃)k
für die kf (x)−f
≤ condr el(f )(x) kx−x̃k
kf (x)k
kxk bei x̃ → x gilt.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Kondition von Matrizen
Beispiel
Für eine invertierbare Matrix A hat die Funktion f (b) = A−1 b an
der Stelle x die relative Konditionszahl
−1
condr el(f )(x) = kAxk
kxk kA k.
Definition
Als Kondition der invertierbaren Matrix A bezeichnet man die Zahl
κ(A) := kAkkA−1 k.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Stabilität
Kondition vs. Stabilität
Während die Kondition nur vom Problem abhängt, spricht man
von Stabilitt, wenn ein Algorithmus zur Lösung des Problems nicht
anfällig für Fehler (seien es Rundungs- oder Diskretisierungsfehler)
in den Eingabedaten ist.
Beispiel
√
√
Die Auswertung der Funktion f (x) = x + 1 − x für große x
durch den trivialen Algorithmus ist wegen Auslöschung instabil,
1 √
besser ist es, √x+1+
auszuwerten, dies liefert dasselbe Ergebnis
x
und ist für große x ein stabiles Verfahren.
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Formalien
Einführendes Beispiel
Rundungsfehler
Diskretisierungsfehler
Kondition und Stabilität
Ausblick
Nächste Woche wollen wir uns mit dem numerischen Lösen linearer
Gleichungssysteme beschäftigen.
Vielen Dank für Ihre Aufmerksamkeit!
Jochen Merker
Numerische Mathematik I: Grundlagen
HTWK Leipzig
Herunterladen