3. ¨Ubung zur Algorithmischen Mathematik

Werbung
Prof. Dr. Ulrich Trottenberg
Dr. Roman Wienands
SS 07
3. Übung zur Algorithmischen Mathematik
(für Studierende der Wirtschaftsinformatik)
Abgabe: Donnerstag, 26. 4. 2007 nach der Vorlesung
Aufgabe 8: Cholesky-Zerlegung
Vergewissern Sie sich, dass die folgende Matrix A eine Cholesky-Zerlegung besitzt und berechnen Sie diese.


1 2 1
A = 2 5 2  .
1 2 10
(10 Punkte)
Aufgabe 9: Maschinenzahlen
In einem Computer werden reelle Zahlen entweder binär (Basis b = 2) oder
hexadezimal (Basis b = 16) dargestellt. Wir legen hier eine hexadezimale Gleitkommadarstellung
a = M · bE mit b−1 ≤ |M | < 1
zugrunde (a 6= 0). Hierbei ist M die Mantisse und E ∈ ZZ der Exponent von
a zur Basis b ∈ IN. Ist a = 0, so wird die Mantisse zu Null gesetzt, wobei
der Exponent beliebig ist. Wir gehen davon aus, daß für die Darstellung von
M τM Hexadezimalziffern (sowie ein Vorzeichen) zur Verfügung stehen. In der
Regel wird die Hexadezimaldarstellung durch zusammenhängende Bytes realisiert. Jedes Byte besteht aus 8 Bits (jeweils entweder 0 oder 1) und kann
somit zwei Hexadezimalziffern aufnehmen (vergleiche mit der unten angegebenen Darstellung der Charakteristik B). Schematisch sieht eine “normalisierte
Gleitpunktdarstellung” so aus (bei geradem τM )
Byte 0 Byte 1 Byte 2 . . . Byte (τM /2)
E
d1 d2
d3 d4 . . .
dτM −1 dτM
mit d1 6= 0. Das Byte 0 ist für die Darstellung des Vorzeichens und des Exponenten vorgesehen. Positive Zahlen haben dort die Darstellung 0e6 e5 e4 e3 e2 e1 e0
und negative die Darstellung 1e6 e5 e4 e3 e2 e1 e0 wobei ei ∈ {0, 1}, i = 0, . . . , 6 ist.
Die Bits ei dienen zur Darstellung des Exponenten E. Die binäre Zahl
B = 26 e6 + 25 e5 + 24 e4 + 23 e3 + 22 e2 + 21 e1 + 20 e0 , 0 ≤ B ≤ 127
wird als Charakteristik bezeichnet. Das Vorzeichen des Exponenten E wird
nicht explizit angegeben. Man vereinbart für den Exponenten E
E = B − 64, −64 ≤ E ≤ 63.
1
Die obige schematisch dargestellte reelle Zahl a hat die Hexadezimaldarstellung
E
a = ±16 ·
τM
X
ds 16−s , 0 ≤ ds ≤ 15, (d1 6= 0) s = 1, . . . , τM .
s=1
Die Menge G(b, τM , τE ) der so im Computer darstellbaren Zahlen heißt die
Menge der Maschinenzahlen.
(i) Berechnen Sie die Mächtigkeit |G(b, τM , τE )| (Anzahl an Elementen) der
Menge der Maschinenzahlen.
(ii) Geben Sie die hexadezimale Darstellung und den Wert der folgenden
Maschinenzahlen an.
Nr.
Byte 0
Byte 1
Byte 2
Byte 3
(1)
0100|0001 0101|0000 0000|0000 0000|0000
(2)
1100|0101 1100|0010 0000|1111 0000|0001
(3)
1011|1111 1111|0000 0000|0000 1000|1100
(4)
0100|0001 0010|0000 1111|0001 0010|0111
(5)
0011|1110 0101|1000 0000|0000 1001|1001
(iii) Bestimmen Sie die größte positive Maschinenzahl M ax.
(iv) Bestimmen Sie die kleinste positive Maschinenzahl M in.
(v) Bestimmen Sie die kleinste Maschinenzahl min oberhalb von 1 und geben
Sie die Maschinengenauigkeit eps = (min − 1)/2 an.
((2 + 5 + 1 + 1 + 1 = 10) Punkte)
Aufgabe 10: Rechnen mit Gleitkommazahlen
Man gebe Beispiele dafür, dass die Gleitkommaoperationen ⊕ und ⊗ weder assoziativ noch distributiv sind. Finden Sie insbesondere Beispiele, in denen die
Verletzungen der Assoziativität und/oder der Distributivität auf Auslöschungseffekten oder einem Überlauf beruhen.
(10 Punkte)
Aufgabe 11: Kondition und Rundungsfehler
Sei rd(a, t) die auf t Stellen gerundete reelle Zahl a und
∆(a, t)
∆(a, t)
a
= rd(a, t) − a der absolute Fehler, bzw.
der relative Fehler.
Sei
x = F (a1 , . . . , ap )
2
eine auf der offenen Menge D ⊆ Rp stetig differenzierbare Funktion. Durch Taylorreihenentwicklung erhalten wir unter Vernachlässigung von Größen höherer
Ordnung
∆(x, t) = F (rd(a1 , t), rd(a2 , t), . . . , rd(ap , t)) − F (a1 , a2 , . . . , ap ),
p
∆(ak , t)
∆(x, t) . X
=
Rk
x
ak
∂F
. P
∆(x, t) = pk=1
· ∆(ak , t),
∂ak
k=1
ak ∂F
·
, k = 1, . . . , p.
x ∂ak
(i) Berechnen Sie den relativen Fehler für die folgenden Funktionen
mit den relativen Konditionszahlen Rk =
(1) x = a1 + a2 + . . . + ap ,
(2) x = a1 · a2 · · · ap ,
a1
(3) x = ,
a2
p
(4) x = −a1 + a21 + a2
∆(x, t) an.
und geben Sie jeweils Fehlerschranken für x (ii) Berechnen Sie die relativen Fehler (in %) für folgende Zahlen bei 3-stelliger
Gleitpunktaddition.
(1)
(2)
(3)
(4)
a1
a1
a1
a1
= 0.433 · 102 ,
= 0.215 · 10−4 ,
= 0.100 · 101 ,
= 0.9995 · 100 ,
a2
a2
a2
a2
= 0.745 · 100 .
= 0.998 · 10−4 .
= −0.998 · 100 .
= −0.9984 · 100 .
((6 + 4 = 10) Punkte)
3
Herunterladen