Numerische Mathematik für LAK

Werbung
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
Herunterladen