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