Prof. Dr. R. Pulch Tino Soll, M. Sc. Sommersemester 2016 Ernst-Moritz-Arndt-Universität Greifswald Mathematisch-Naturwissenschaftliche Fakultät Institut für Mathematik und Informatik Präsenzaufgabe 2 : Rundungsfehleranalyse der Summation. Es sollen n nichtnegative Maschinenzahlen ai ∈ ist, aufsummiert werden: Numerik I sn := n X R, wovon mindestens eine positiv ai . i=1 Übungsblatt 1 Die Aufgabe wird durch den seriellen Summierungsalgorithmus s1 = a1 Präsenzaufgabe 1 : Gleitpunktarithmetik. si = (si−1 + ai ), Es sei B = 2, t = 4, M und E ganze Zahlen. G := {g = M · B E : M = 0 oder B t−1 ≤ |M | < B t } (t-stellige Gleitpunktzahlen zur Basis B) M := {g = M · B E ∈ G : −6 ≤ E ≤ −2} (korrespondierende Maschinenzahlen) Führen Sie eine Rundungsfehleranalyse der seriellen Summation wie folgt durch, wobei eine ideale Gleitpunktarithmetik gelte. a) P Zeigen Sie durch vollständige Induktion, dass für eine Näherung xn zu sn = n i=1 ai für n (berechnet mit dem seriellen Summationsalgorithmus) xn = n X ai i=1 c) Bestimmen Sie den maximalen und minimalen relativen und absoluten Abstand zweier aufeinanderfolgender positiver Zahlen von M. d) Versuchen Sie die Zahlen 1.625, 3.7, 0.02 und 4.2 als Maschinenzahl aus M darzustellen. Welche Maschinzahlen ergeben sich bei Rundung, welche bei Abbrechen der Mantisse? e) Wir betrachten nun G mit B = 10 und t = 3. Seien x = 100 · 10−2 , y = −555 · 10−3 und i = 2, . . . , n gelöst. a) Bestimmen Sie die größte und kleinste positive Zahl von M. b) Markieren Sie M qualitativ auf der Zahlengeraden. für n Y (1 + εj ) j=i mit ε1 = 0 und |εj | ≤ ε0 für j = 2, . . . , n gilt (ε0 : Maschinengenauigkeit). b) Schätzen Sie die relative Fehlerformel für xn so nach oben ab, dass Sie einen Ausdruck wie folgt erhalten: xn − sn sn ≤ f (n) ε0 , wobei f von Ihnen zu bestimmen ist. x0 = x, x1 = (x0 y) ⊕ y, . . . , xn = (xn−1 y) ⊕ y gegeben. Vergleichen Sie die Ergebnisse bei exakter Rundung bzw. bei Schul” runden“. Hinweis: Linearisieren Sie hierzu die Fehlerformeln in Aufgabenteil a), indem Sie quadratische und höhere Terme in εj vernachlässigen. Ist die serielle Summation gutartig im Sinne der Vorwärtsanalyse? c) Verwenden Sie Aufgabenteil a), um eine Rückwärtsanalyse der seriellen Summation durchzuführen. Ist die serielle Summation gutartig im Sinne der Rückwärtsanalyse? Übungsblatt 1 2 Hausaufgabe 1 : Regelverletzung durch Rundungsfehler. b) Zeigen Sie, dass die Folge der Integrale die Zwei-Term-Rekursion a) Geben Sie kurze Beweise für die Gültigkeit des Kommutativgesetzes für die Addition und die Multiplikation in Gleitpunktrechnung in idealer Arithmetik an. Verdeutlichen Sie, wo dabei die Kommutativität von Addition und Multiplikation reeller Zahlen benutzt wird. In = 1 15 − In−1 2n 2 (?) für n ≥ 1 erfüllt und der Anfangswert I0 = 12 [ln(17) − ln(15)] ist. Hinweis: Man benötigt hier keine partielle Integration. b) Betrachten Sie die Gleitpunktzahlen G := {g = M · B E : M = 0 oder B t−1 ≤ |M | < B t } zur Basis B = 10 mit der Mantissenlänge t = 2. Geben Sie je ein Beispiel für eine Gleitpunktrechnung in idealer Arithmetik an, bei der das Assoziativgesetz der Multiplikation, das Assoziativgesetz der Addition und das Distributivgesetz verletzt ist. c) Welche der folgenden Dezimalzahlen gehören zu den Maschinenzahlen M := {g = M · B E ∈ G : α ≤ E ≤ β} mit Basis B = 2, Mantissenlänge t = 3, Exponentenschranken α = −4, β = 1? Welche gehören nicht dazu? Begründen Sie jeweils Ihre Aussagen. a1 = −0.125, a2 = 2.75, a3 = 3.5, a4 = 24, a5 = −1.25 Programmierhausaufgabe 1 : Zwei-Term-Rekursionen. Implementieren Sie die Rekursion aus Hausaufgabe 2 in zwei Varianten. a) Vorwärtsrekursion: Verwenden Sie die Zwei-Term-Rekursion (?) aus Hausaufgabe 2 b) zur Bestimmung von In mit dem gegebenen Startwert I0 . Implementieren Sie Ihren Algorithmus und rechnen Sie bis n = 30. Vergleichen Sie die Ergebnisse mit der Abschätzung aus Hausaufgabe 2 a). b) Rückwärtsrekursion: Leiten Sie aus (?) eine Zwei-Term-Rekursion zur Bestimmung von In her, falls In+k mit k ∈ gegeben ist. Implementieren Sie Ihren Algorithmus und setzen Sie n = 0, k = 30. Probieren Sie als Startwerte für I30 jeweils die 1 Näherungswerte 0, 16·31 , 1 oder sogar 1010 . Wie gut stimmt das Ergebnis für I0 mit dem exakten Wert überein? N Welche der beiden Rekursionen liefert die besseren Ergebnisse? Hausaufgabe 2 : Rekursion für Integrale. Gegeben ist die Folge bestimmter Integrale Z 1 xn In = dx 0 2x + 15 mit n∈ N0. Für jedes feste n existiert zwar eine Formel für eine Stammfunktion des Integranden, jedoch ist es aufwändig diese herzuleiten. Daher wollen wir die bestimmten Integrale durch eine Rekursion berechnen. a) Leiten Sie die Abschätzung 1 1 1 1 · ≤ In ≤ · 17 n + 1 15 n + 1 für jedes n ∈ N0 her. Insbesondere gilt damit 0 ≤ In ≤ 1. Abgabetermin: 20.04.2016 14.00 Uhr Programme an [email protected] • Quellcode gut kommentieren • Nachname = Programmname bzw. Archivname (zip/rar) • Protokoll (Ein- und Ausgabe) und Auswertung als txt-Datei oder im Quellcode als Kommentar anfügen