Numerische Mathematik für LAK 2. Übungsblatt vorzubereiten bis 19. Oktober 2017 Thema: Schulbezug Aufgabe 5 Vorbemerkung: Die aktuelle IT-Entwicklung (z.B. Machinelearning oder Grafikanwendungen) zeigt eine starke Tendenz zu SIMD-Clustern (GPU). Das sind (vereinfacht gesagt) Computersysteme mit vielen Prozessoren die alle gemeinam und parallel eine Rechenaugabe lösen1 . Im Rahmen einer VWA kann folgende Fragestellung auftreten (bit kompatibilität): Ihre Schüler sollen lernen, warum ein und die selbe Rechung auf dem selben GPUSystem, zwei verschiedene Ergebnisse liefern kann, wenn man die Rechnung zwei mal ausführt. a) Wählen Sie 3 relle Zahlen xi mit 1 ≤ i ≤ 3 aus, stellen Sie diese als Zahlen nach IEEE-Standard dar. Wählen Sie als Basis 10, und als Mantissenlänge 3. Berechnen Sie x1 ⊕ x2 ⊕ x3 , wobei ⊕ die Addition der Zahlen nach IEEE-Standard ist. b) Bei einem GPU-System kann man (in den meisten Fällen) nicht sagen, in welcher Reihenfolge die Addition ausgeführt wird (Assoziativgesetz). Demonstrieren Sie, dass das Assoziativgesetz für Maschinenzahlen nicht gilt anhand der Rechnung von Punkt a)2 . c) Erklären Sie einem Laien warum eine solch einfache Rechung verschiedene Resulate liefern kann. (Hierbei sollen Sie wirklich mit Skizzen, anschaulich argumentieren. Also z.B. viele Prozessoren errechnen je ein Resultat, das am Ende ein Prozessor addiert. Das nennt sich reduction.). Thema: Numerisches Berechnen und Programmieraufgaben Aufgabe 6 Bei der Subtraktion zweier Maschinenzahlen kann es zu einem Genauigkeitsverlust kommen. Dies passiert wenn sich führende Mantissenstellen annullieren.3 a) Demonstrieren Sie den Verlust an Genauigkeit an einem Beispiel in M(10, 5, −3, 3).4 b) Visualisieren Sie die Genauigkeit auf dem Zahlstrahl, und erklären Sie was man mit Genauigkeitsverlust meint.5 c) Offensichtlich gilt für x 6= 0 die Gleichung ((1/x )/10 + 1) · x − x = 1/10. Schreiben Sie ein Matlab Programm, welches die Werte ((1/x )/10 + 1) · x − x − 1/10 für verschiedene Belegungen von x visualisiert. Es soll insbesondere die Entwicklung in den kritischen Bereich(en) gut erkennbar sein.6 1 Sie haben möglicherweise schon mal das Nvidia Logo auf einem Computer gesehen. Das ist eine GPU. Die Rechnung kann zu verschiedenen Resultaten führen, sie werden also die Zahlen xi geschickt wählen müssen! 3 Wem diese Beschriebung zu kurz ist, der kann im Buch Schwarz Numerische Mathematik (als E-Book über die Uni Bibliothek erhältlich) auf Seiten 18-19 nachlesen. 4 Tipp: Die ersten Zahlen der Mantisse sollten bei der Wahl ihres Beispiels verschwinden. 5 Tipp: Im Buch von Schwarz finden Sie eine Visualisierung der Verteilung von Gleitkomma Zahlen. Eine ähnliche Darstellung kann auch hier nützlich sein. 6 Spielen sie sich mit logarithmischer Achsen Skalierung. 2 1 Thema: Schulbezug Aufgabe 7 Wir wollen π = 3.141592653589793238462643383305 . . . . . . . . . über die Beziehung lim 3 · 2n−1 sn = lim 3 · 2n−1 tn , n→∞ n→∞ mit • s1 := 1 und sn+1 = q p 2 − 4 − sn2 n = 1, 2, . . . (1) t1 := 1 tn und tn+1 = q p 2 + 4 − tn2 n = 1, 2, . . . (2) • bestimmen. a) Erklären Sie einem Laien (auf dem Wissensstand eines Unterstufen Schülers), wie man den Zahlwert einer irrationalen Zahl bestimmen kann, wenn man das Ding ja ned hinschreiben kann, anhand der Zahl π. (Hinweis: sn ist die Länge einer Seite eines regelmäßigen 3 · 2n -Ecks, das dem Einheitskreis einbeschrieben ist.) b) Zeigen Sie sn = tn für alle n ∈ N. c) Berechnen Sie den Fehler ∆y1 = |π/2 − 3 · 2n−1 sn | und ∆y2 = |π/2 − 3 · 2n−1 tn | für n ∈ {1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 100}. Überlegen Sie sich den Grund für das unterschiedliche Verhalten. (Tipp: Matlab könnte hilfreich sein.) + Hinweis: • Schreiben Sie selbstständig kompakte Matlab Programme! • Die Programme müssen so Dokumentiert sein, dass ohne weitere Erklärung, der Inhalt des Programmes verständlich ist. Wobei Sie von Hintergrundwissen auf dem Level Ihrer Mitstudierenden ausgehen dürfen. • Die verschiedenen Möglichkeiten Matlab am Institut zu verwenden finden sie auf der IMP Website: https://imsc.uni-graz.at/haasegu/Lectures/LAK CompMath/index.html • Der Dateiname muss die Form Nachname Vorname BeispielNummer.m haben. Beispiel: Stefan Rosenberger löst Aufgabe 4. Dateiname ist dann: Rosenberger Stefan 4.m Sie müssen die Programmieraufgaben vor Beginn des PS (um 8:00 Uhr) an die E-Mail addresse: [email protected] senden. 2