Dr. M. Herrich Institut für Numerische Mathematik WS 2016/2017 Übungen zur Vorlesung Numerische Mathematik Blatt 1, 17.10.–21.10.2016 Aufgabe 1 (a) Betrachtet wird die Menge M(2, 3, 2, 1) von (normalisierten) Maschinenzahlen. (a1) Geben Sie eine explizite Darstellung dieser Menge an und tragen Sie ihre Elemente auf einem Zahlenstrahl ab. (a2) Bestimmen Sie für die folgenden Zahlen xi jeweils die Maschinenzahl rd(xi ) und ermitteln i Sie jeweils den absoluten Fehler rd(xi ) − xi und den relativen Fehler εxi := rd(xxi )−x . i x1 = 1.2, 2 x2 = , 3 x3 = −0.4, 7 x4 = − , 8 x5 = 9 16 Vereinbarung: Falls es für eine Zahl x ∈ R zwei Maschinenzahlen gibt, die unter allen Maschinenzahlen den kleinsten Abstand zu x haben, ist rd(x) diejenige Zahl, die weiter von Null entfernt ist. (b) Für eine vorgegebene Basis β und eine vorgegebene Mantissenlänge t ist die Maschinengenauigkeit eps definiert durch eps := 21 β 1−t . Beweisen Sie die folgende Aussage. Es seien µ die kleinste positive Zahl und M die größte Zahl aus M(β, t, emin , emax ). Für jede Zahl x ∈ R \ {0} mit µ ≤ |x| ≤ M gilt die folgende Abschätzung für den Betrag des relativen Fehlers: rd(x) − x ≤ eps. x (c) Welche der folgenden Implikationen sind für alle x, y ∈ R erfüllt? Begründen Sie jeweils Ihre Entscheidung. (c1) x ≤ y ⇒ rd(x) ≤ rd(y) (c3) x < y ⇒ rd(x) < rd(y) (c2) rd(x) ≤ rd(y) ⇒ x ≤ y (c4) rd(x) < rd(y) ⇒ x < y Aufgabe 2 Rechnen mit Maschinenzahlen. Für jede Operation ∗ ∈ {+, −, ·, :} definieren wir, für reelle Zahlen ∗ durch x, y, die Operation ∗ y := rd (rd(x) ∗ rd(y)) . x Im Folgenden wird M(10, 3, 3, 2) betrachtet. (a) Berechnen Sie die folgenden Ausdrücke. Welche Schlussfolgerungen lassen sich aus den Ergebnissen ziehen? + y) + z und x + (y + z), jeweils für x = 1.56, y = 9.37 und z = 2.19 (a1) (x · y) · z und x · (y · z), jeweils für x = 0.31, y = 0.57 und z = 0.84 (a2) (x · (y + z) und (x · y) + (x · z), jeweils für x = 0.43, y = 4.16 und z = 6.31 (a3) x 1 (b) Berechnen Sie p p · x + 1 −x x2 + 1 − x und x (1) für x = 10. Dieses Beispiel zeigt, dass man beim Rechnen mit Maschinenzahlen Differenzen von fast gleich großen Zahlen möglichst vermeiden sollte, da es sonst zu sogenannten Auslöschungseffekten kommen kann. Überlegen Sie sich eine äquivalente Umformung des ersten Terms in (1) derart, dass bei der Auswertung des entsprechenden Ausdrucks im Bereich der Maschinenzahlen keine Auslöschungseffekte mehr auftreten. Aufgabe 3 Betrachtet werde die Aufgabe, für eine vorgegebene reelle Zahl x ∈ R den Wert f (x) := 1 − cos(x) zu berechnen. (a) Ist diese Aufgabe für x ≈ 0 gut konditioniert? (b) Die Berechnung von f (x) erfolge nach dem Algorithmus y0 := cos(x), f (x) = y1 := 1 − y0 . Untersuchen Sie, ob dieser Algorithmus für x ≈ 0 numerisch stabil ist. (c) Zeigen Sie, dass f (x) auch nach folgendem Algorithmus berechnet werden kann: y0 := x , 2 y2 := y12 , y1 := sin(y0 ), f (x) = y3 := 2y2 . Untersuchen Sie auch für diesen Algorithmus, ob er für x ≈ 0 numerisch stabil ist. Aufgabe 4 In dieser Aufgabe geht es um unterschiedliche Algorithmen zur Auswertung von Polynomen. (a) Zu gegebenen Zahlen a0 , a1 , . . . , an ∈ R sowie x ∈ R \ {0} soll der Polynomwert p(x) := a0 + a1 x + a2 x2 + . . . + an xn berechnet werden. (a1) Ein naheliegender Algorithmus zur Berechnung von p(x) ist der folgende: y1 := x, yk := x · yk−1 (k = 2, . . . , n), p(x) = a0 + a1 y1 + a2 y2 + . . . + an yn . Bestimmen Sie für diesen Algorithmus die Anzahl der erforderlichen Multiplikationen und der erforderlichen Additionen. (a2) Zeigen Sie, dass p(x) auch nach dem sogenannten Horner-Algorithmus yn := an , yk−1 := ak−1 + x · yk (k = n, n − 1, . . . , 1), p(x) = y0 berechnet werden kann. Bestimmen Sie auch für diesen Algorithmus die Anzahl der erforderlichen Multiplikationen und der erforderlichen Additionen. (b) Überlegen Sie sich geeignete Modifikationen des Horner-Algorithmus zur Auswertung eines Polynoms an einer Stelle x, wenn dieses (b1) in der Form p(x) = a0 + a1 (x − x0 ) + a2 (x − x0 )2 + . . . + an (x − x0 )n gegeben ist, wobei x0 ∈ R eine vorgegebene Zahl ist, (b2) in der Form p(x) = a0 +a1 (x−x0 )+a2 (x−x0 )(x−x1 )+. . .+an (x−x0 )(x−x1 )·. . .·(x−xn−1 ) gegeben ist, wobei x0 , x1 , . . . , xn−1 ∈ R vorgegebene, paarweise verschiedene Zahlen sind. 2