1 Grundlagen der Numerik

Ähnliche Dokumente
KAPITEL 2. Fehleranalyse: Kondition, Rundungsfehler, Stabilität. Datenfehler. Dahmen-Reusken Kapitel 2 1

Numerische Lineare Algebra

1. Rechnerzahlen, Kondition, Stabilität

1 Fehleranalyse, Kondition, Stabilität

bekannt Analog reduzieren wir die Randwerte im 2d-System. Man erhält dann eine Blocktridia-

MNM 1 RUNDUNGSFEHLER 1. ,... können im Computer nicht exakt dargestellt werden.

1. Rechnerarithmetik und. Rundungsfehler

Numerik für Informatiker, Elektrotechniker und Naturfreunde von Michael Lehn

Grundlagen Kondition Demo. Numerisches Rechnen. (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang

Numerische Verfahren und Grundlagen der Analysis

Numerische Mathematik

8 Dezimalzahlen und Fehlerfortpflanzung

Mathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen

Computer-orientierte Mathematik

Rundungsfehler-Problematik bei Gleitpunktzahlen

Unter den endlich vielen Maschinenzahlen gibt es zwangsläufig eine größte und eine kleinste:

Multiplikationen und Divisionen Hauptarbeit des Algorithmus liegt somit in der Berechnung der LR-Zerlegung. (n 1)n(2n 1) 6. = n3 3 n2.

1.4 Stabilität der Gauß-Elimination

Kurztest zur Numerik I WiR AG, Dep. Mathematik, NT-Fakultät, Universität Siegen

3 Numerisches Rechnen

Darstellung rationaler und reeller Zahlen Vorlesung vom

Numerische Verfahren

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/

Numerische Mathematik I: Grundlagen

Numerisches Rechnen. (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang. Institut für Geometrie und Praktische Mathematik RWTH Aachen

(d) das zu Grunde liegende Problem gut konditioniert ist.

5 Numerische Mathematik

Grundrechnungsarten mit Dezimalzahlen

Dezimalzahlen. Analysis 1

Lineare Algebra. 10. Übungsstunde. Steven Battilana.

Computergrundlagen Zahlensysteme

D-INFK Lineare Algebra HS 2014 Roman Glebov Marc Pollefeys. Serie 13

Computerarithmetik ( )

II. Grundlagen der Programmierung

Numerik I. Aufgaben und Lösungen

Numerik für Ingenieure I Wintersemester 2008

Anwendungen der Differentialrechnung

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Zahlen und metrische Räume

3.4 Kondition eines Problems

Zahlen und metrische Räume

7. Übungs-/Wiederholungsblatt zu Einführung in die Numerik (SS 2012)

Fehlerfortpflanzung. Fehler bei Fließkomma-Arithmetik. Addition x ` y ` z. Fehlerfortpflanzung. Analyse des Relativen Fehlers

Numerik. Festpunkt-Darstellung

2. Zahlenmenge, Aufbau des Zahlensystems 2.1 Natürliche Zahlen N Die natürlichen Zahlen bilden eine Menge: N = {1, 2, 3, 4,... }. N ist abgeschlossen

2. Lineare Gleichungssysteme: direkte und iterative Lösungsverfahren

Matrizen. a12 a1. a11. a1n a 21. a 2 j. a 22. a 2n. A = (a i j ) (m, n) = i te Zeile. a i 1. a i 2. a i n. a i j. a m1 a m 2 a m j a m n] j te Spalte

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

6.2 Kodierung von Zahlen

VF-3: Es seien A R n n beliebig aber regulär, b R n und gesucht sei die Lösung x R n von A x = b.

5 Interpolation und Approximation

Der CG-Algorithmus (Zusammenfassung)

Lineare Gleichungssysteme und Matrizen

Wiederholung: Kondition (Vorlesung vom )

Numerisches Rechnen. (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang. Institut für Geometrie und Praktische Mathematik RWTH Aachen

= ( n x j x j ) 1 / 2

Proseminar Lineare Algebra II, SS 11. Blatt

Vorkurs Mathematik Dozent: Dipl.-Math. Karsten Runge.

1 Arithmetische Grundlagen

Negative Zahlen. Lösung: Ordne in einen Zahlenstrahl ein! 7;5; 3; 6. Das Dezimalsystem

Aufgaben zur Verbandstheorie

Boolesche Algebra (1)

Methode der kleinsten Quadrate

Banach scher Fixpunktsatz. 1) D ist abgeschlossen und konvex; 2) f ist selbstabbildend, d.h. f(d) D;

Terme und Gleichungen

T n (1) = 1 T n (cos π n )= 1. deg T n q n 1.

Vorkurs: Mathematik für Informatiker

5 Lineare Gleichungssysteme und Determinanten

2.1.2 Gleitkommazahlen

Extremwerte von Funktionen mehrerer reeller Variabler

Die reellen Zahlen als Dedekindsche Schnitte. Iwan Otschkowski

Determinanten. I. Permutationen

Im Allgemeinen gibt es drei verschiedene Ursachen der numerischen Fehler:

Vektor und Matrixnormen Vorlesung vom

Mischungsverhältnisse: Nehmen wir an, es stehen zwei Substanzen (zum Beispiel Flüssigkeiten) mit spezifischen Gewicht a = 2 kg/l bzw.

Probe-Klausur 1 Mathematik f. Bau-Ing + Chem. Modul1

Einführung in die Informatik I

Rechnergrundlagen SS Vorlesung

Computerorientierte Mathematik II

KLAUSUR zur Numerik I mit Lösungen. Aufgabe 1: (10 Punkte) [ wahr falsch ] 1. Die maximale Ordnung einer s-stufigen Quadraturformel ist s 2.

Vorlesung 8a. Kovarianz und Korrelation

2 Gleitpunktarithmetik und Fehleranalyse

Rechenaufwand der LR- und LDL T - Zerlegung

Institut für Geometrie und Praktische Mathematik

9.2 Invertierbare Matrizen

, 2014W Übungstermin: Fr.,

Determinanten. I. Permutationen

2 Die Körper-Axiome. I. Axiome der Addition (A.1) Assoziativgesetz. Für alle x, y, z R gilt (x + y)+z = x +(y + z).

1 Matrizenrechnung zweiter Teil

Numerisches Programmieren, Übungen

Zahlen und elementares Rechnen

BC 1.2 Mathematik WS 2016/17. BC 1.2 Mathematik Zusammenfassung Kapitel II: Vektoralgebra und lineare Algebra. b 2

Grundzüge der Informatik Tutorium Gruppe 6

Einführung in die Computerorientierte Mathematik

2.Vorlesung Grundlagen der Informatik

Prof. Dr. G. Wagner Ingenieurmathematik Begleittext Seite 1

Übungen zum Ferienkurs Lineare Algebra WS 14/15

3 Der Körper der komplexen Zahlen

Transkript:

1 Grundlagen der Numerik 1.1 Gleitpunkt-Arithmetik Es gibt nur endlich viele Zahlen auf dem Computer. Gleitpunktzahl: x = σmb E σ: Vorzeichen B: Basis (feste Zahl >1); M: Mantisse E: Exponent B = 2 : Dualzahl B = 10 : Dezimalzahl Für die Mantisse M gilt: l M = m j B j 0 m j B 1 : Ziffern der Mantisse j=1 l : Mantissenlänge (fest) m 1 0 für x 0 : Normierung Für den Exponenten E gilt: k E = τ e j B k j τ : Vorzeichen j=1 0 e j B 1 : Ziffern des Exponenten k : definierter Exponentenbereich Schreibweise mit Ziffern: x = σm 1 m 2...m l (τe 1...e k ) Beispiele: B = 10, l = 5, k = 2, d.h. maximaler Exponent: 99 a) x = 14.315 x = 14315(02) b) x = 0.00937 x = 93700( 02) Definition: M(B; l, k) = Menge der Maschinenzahlen. Es gilt: M ist endlich. M besitzt eine grösste Zahl x max und eine kleinste positive Zahl x min. Die Zahlen von M sind nicht gleichabständig auf der Zahlengeraden verteilt. 4

1.1 Gleitpunkt-Arithmetik Überfluss ˆx max ˆx min Unterfluss 0 ˆx min ˆx max Überfluss Beispiel: M(2; 3, 2) verfügbare Mantissen verfügbare Exponenten 000 = 0 00 = 0 100 = 1 2 ±01 = ±1 101 = 5 8 ±10 = ±2 110 = 3 4 ±11 = ±3 111 = 7 8 x max = 7 8 23 = 7, x min = 1 2 2 3 = 2 4 = 1 16 Die Zahlen von M(2;3,2) auf der Zahlengeraden: bx min... 0 1 2 3 4 5 6 7 Integerdarstellung I(B;r) r i = σn, N = n j B r j mit den Ziffern: 0 n j B 1, wobei r = l + k + 1. j=1 Reduktionsabbildung Um Zahlen aus R in M approximativ darstellen zu können, braucht es die Reduktionsabbildung ρ : R M x x Definition: Sei x R fest; x = ρ(x) ist die zu x nächstgelegene Zahl in M; d.h. ρ(x) M so, dass x ρ(x) = minimal (Runden). 5

1.1 Gleitpunkt-Arithmetik Definition: Der relative Reduktionsfehler ist somit gegeben als: x ρ(x) 1 x 2 BE l B E 1 = 1 2 B1 l =: eps (Maschinengenauigkeit) Es gilt: Für alle α R, 0 < α eps, ist ρ(1 + α) = 1. Bemerkung: Der negative Zehneralgorithmus der Maschinengenauigkeit eps sagt aus, wieviele Ziffern einer reellen Zahl man ungefähr auf dem Computer (im Dezimalsystem ausgedrückt) richtig darstellen kann; z.b. für eps = 6 10 8 sind es 7 Ziffern. Der sogenannte IEEE Standard (32 BIT), der auf den meisten PC- und Mac- Computern realisiert ist, hat die folgenden Charakterisierungen: B l k x min x max E min E max eps 2 24 7 3 2 10 39 3 2 10 38 128 127 6 10 8 Pseudoarithmetik M ist endlich. Daraus folgt, dass M im Gegensatz zu R gegenüber elementaren Operationen nicht abgeschlossen ist. Im Allgemeinen gilt: x + ŷ / M, x ŷ / M, x/ŷ / M Beispiel: M(10; 3, 2) : 9.22 + 1.22 = 10.44 / M 922(01) + 122(01) = 104(02) M 9.22 1.22 = 11.2484 / M x ŷ hat doppelte Länge, x/ŷ geht nicht auf. Die Arithmetik in R wird ersetzt durch die Pseudoarithmetik in M: x + ŷ = ρ( x + ŷ) x ŷ = ρ( x ŷ) x/ŷ = ρ( x/ŷ) Bemerkung: Bei Überfluss muss die Rechnung abgebrochen werden. Rechengesetze in R: Assoziativ- und das Distributivgesetze gelten nicht in M. Das Kommutativgesetz bezüglich Addition und Multiplikation gilt in M. 6

1.2 Fehlerfortpflanzung Beispiel: Assoziativgesetz bezüglich Addition M(10;3, ): x = 9.22, y = 1.22, z = 0.242 : x + y + z = 10.682 x + ŷ = ρ(10.44) = 10.4, ( x + ŷ) + ẑ = ρ(10.642) = 10.6 ŷ + ẑ = ρ(1.462) = 1.46, x + (ŷ + ẑ) = ρ(10.69) = 10.7 (besser) Folgerungen: Lange Summen von kleinen zu grossen Summanden summieren! In M hat 1 + x = 1 viele Lösungen, nämlich alle x mit x < eps. 1.2 Fehlerfortpflanzung Der Fehler, der bei der Reduktionsabbildung entsteht, kann im Laufe eines Algorithmus vergrössert werden. Wir betrachten zuerst nur den Fehler nach einer elementaren (exakten) Operation. Sei x der fehlerbehaftete Wert und x der exakte Wert: Absoluter Fehler: x = x x Relativer Fehler: δx = x/x (für x 0) Nur bei der Addition (Subtraktion) kann der Fehler, und zwar der relative, bei einer exakten Operation viel grösser sein als der ursprüngliche Fehler. Beweis: i) Absolute Fehler: (x ± y) = ( x ± ŷ) (x ± y) = x ± y (x y) = xŷ xy = (x + x) + (y + y) xy = x y + y x + x y = x y + y x = xy(δx + δy) (x/y) = = x ŷ x y = x + x y + y y y x y y + y y + y = y x x y y(y + y) x x (y + y)x x y y y + y = x y δx x y δy = x (δx δy) y 7

1.2 Fehlerfortpflanzung ii) Relative Fehler: δ(x ± y) = δ(x y) = (x ± y) x ± y (x y) xy = x x ± y x x ± = δx + δy y x ± y y y = x x ± y δx + y x ± y δy Folgerungen: δ(x/y) = (x/y) x/y = δx δy Bei Addition (Subtraktion) addiert (subtrahiert) sich der absolute Fehler. Bei Multiplikation (Division) addiert (subtrahiert) sich der relative Fehler. Falls kann x ± y << { x y δ(x ± y) >> δx + δy. Dieses Phänomen nennt man Auslöschung: Beispiele: 1. M(10;4, ); x = π, y = 22 7, x y = 1.265... 10 3 x ŷ = 3.142 3.143 = 1.000 10 2 (nichsignifikante Nullen in der Mantisse); absoluter Fehler = 2.6 10 4 ; relativer Fehler = 2 10 1 d.h. nur mehr eine richtige Ziffer im Resultat. 2. M(10;3, ), x = 701, y = 700; }{{} x 2 y 2 = 491401 490000 = 1401. / M ρ(x 2 ) ρ(y 2 ) = 4.91 10 5 4.90 10 5 = 1.00 10 3 ; = 401, δ = 3 10 1. Besser: x 2 y 2 = (x + y)(x y) x + ŷ = 1.40 10 3 Bemerkung: x ŷ = 1.00 = 1; δ = 1 10 3 ; Subtraktion fast gleich grosser Zahlen vermeiden! Falls nicht möglich: lokal doppelte Genauigkeit! Es gilt: Falls der relative Fehler (im Dezimalsystem ausgedrückt) von der Grössenordnung 10 k ist, dann sind ungefähr k Ziffern des Resultats richtig. 8

1.3 Kondition eines Problems 1.3 Kondition eines Problems Wir betrachten jetzt viele elemtentare Operationen nacheinander. Genauer: Wir betrachte y = H(x) (Input x, Resultat y, exakte Rechenoperationen H), wobei H eine genügend glatte Funktion sei. Absoluter Fehler von H(x): Also ist: H(x) = H( x) H(x) = H(x + x) H(x) H(x) = H (x) x Relativer Fehler von H(x): = H(x) + H (x) x +...(Taylorentwicklung) δh(x) = H(x) H(x) Also ist: δh = xh (x) H(x) δx. }{{} =:κ H = xh (x) x H(x)x (für H(x) 0 und x 0). Definition: Die Konditionszahl von H, κ H, ist der Verstärkungsfaktor des relativen Fehlers von x durch H. Bemerkung: Falls κ H gross ist, hat das Problem eine schlechte Kondition. Beispiel: Die quadratische Funktion x 2 2ax+1 = 0, a > 1, hat die beiden Nullstellen: x 1 = a + a 2 1 > 1 x 2 = a a 2 1 < 1 Wir betrachten die kleinere Nullstelle x 2 = H(a) = a a 2 1: κ H = ah (a) H(a) = a a 2 1 1. a >> 1 : κ H = 1, d.h. das Problem ist gut konditioniert. Aber: H(a) = a a 2 1 ist ein schlechter Algorithmus (Auslöschung!). Guter Algorithmus: 1 H(a) = a + a 2 1 (keine Auslöschung!) 2. a = 1 : κ H >> 1, d.h. das Problem ist schlecht konditioniert; es muss mit höherer Genauigkeit gerechnet werden. 9

1.3 Kondition eines Problems Kondition einer Matrix bzw. eines linearen Gleichungssystems Wir betrachten Ax = b; A n n Matrix, regulär; b 0. Dieses lineare Gleichungssystem hat die Lösung x = A 1 b 0. Annahme: b sei fehlerhaft, d.h. statt b habe man b mit einem kleinen (in der Norm) absoluten Fehler: b := b b. Begründung für diese Annahme: Darstellung der b j R auf dem Computer (d.h. in M). ungenaue Daten. Wichtiger ist der relative Fehler δb := 1 b b. Fragestellung: Das lineare Gleichungssystem A x = b hat die exakte Lösung x = A 1 b. Wie ist der Zusammenhang zwischen δb und δx := 1 x x? Es gilt: x = x x = A 1 b A 1 b = A 1 ( b b) = A 1 b δx = b A 1 b b x b b b=ax = Ax x }{{} A A 1 b b δx A A 1 δb ( = ist möglich) } {{ } A 1 δb Folgerung: Der Fehler in b kann in der Lösung um den Faktor κ(a) verstärkt werden. Definition: Die Grösse κ(a) := A A 1 heisst Kondition der Matrix A. Es gilt: 1 = I n = A A 1 A A 1 = κ(a). Falls auch A fehlerhaft ist (Â x = b), kann man zeigen: δx κ(a) ( δa + δb ). 1 κ(a) δa 10

1.3 Kondition eines Problems Bemerkung: Für κ(a) δa << 1 ist κ(a) ungefähr gleich der Kondition des Problems Ax = b. In der 2-Norm gilt für κ(a): κ(a) = µmax µmin, wobei µ min := kleinster µ max := grösster Eigenwert von AT A. Für den Fall dass A = A T gilt für κ(a): κ(a) = λ max λ min, wobei λ min := kleinster Eigenwert von A. := grösster λ max Zur Erinnerung aus der linearen Algebra: { } A 2 A 2 := sup x 0 = sup x x 2 =1{ Ax 2 }. 2 Da A T A symmetrisch ist, existiert eine orthogonale Matrix T, so dass µ 1 0 T T (A T A)T = D =..., 0 µ n wobei µ i die Eigenwerte von A T A sind. Wir betrachten die orthogonale Transformation x = Ty und 0 A 2 2 = sup x 2 =1{ Ax 2 2 } = sup y 2 =1{ ATy 2 2 } Folgerungen: = sup y 2 =1{y T } T T A{{ T AT} y} = sup y 2 =1{ =D n µ i yi 2 } = max i {µ i }. A 2 = µ max = maximaler Eigenwert von A T A. Falls A orthogonal ist, ist A 2 = 1. 1 Falls A T = A, ist A 2 = λ max, wobei λ max der betragsmässig grösste Eigenwert von A ist. Für A regulär ist A 1 2 = 1 µmin, wobei µ min der minimale Eigenwert von A T A ist. Falls A T = A 1, ist A 1 2 = 1 λ min, wobei λ min der betragsmässig kleinste Eigenwert von A ist. 11

1.3 Kondition eines Problems Beispiele: 2 1 1 1. A = 1 2 1, Eigenwerte λ 1,2,3 = 1, 1, 4; 1 1 2 Also ist κ(a) = 4, und es folgt, dass Ax = b gut konditioniert ist. 168 113 2. A =, Eigenwerte λ 1,2 = 244.004..., 0.004.... 113 76 Also ist κ(a) = 5.95 10 4, und es folgt, dass Ax = b (relativ) schlecht konditioniert ist. Bemerkungen: Auf einem Computer mit d-stelliger Arithmetik gilt: Hat A Kondition = 10 k so wird typischerweise die Lösung von  x = b nur etwa (d k) richtige Ziffern aufweisen. Beim Lösen eines linearen Gleichungssystems auf dem Computer sollte man sich immer auch eine Schätzung der Kondition der Koeffizientenmatrix beschaffen. Übersicht über die Fehleranalyse Gegeben sei das Problem f Ideal: Eingabe x Vorschrift f Resultat f(x) Real: Eingabe x Vorschrift f Resultat f( x) Absolute Fehler: Eingabefehler: x x (verursacht durch falsche Daten, Pseudoarithmetik) Totaler Fehler: f( x) f(x) = f( x) f( x) + f( x) f(x) 12

1.3 Kondition eines Problems Berechnungsfehler: f( x) f( x) Transportierter Eingabefehler: f( x) f(x) Der Berechungsfehler setzt sich zusammen aus dem Diskretisationsfehler (Approximation von f durch f) plus dem Rundungsfehler (durch Pseudoarithmetik). Also gilt: Totaler Fehler = Diskretisationsfehler + transportierter Eingabefehler + Rundundungsfehler Relative Fehler: absolute Fehler exakter Wert Bemerkung: Wir haben bis jetzt den transportierten Eingabefehler (Kondition eines Problems) und den Rundungsfehler (Pseudoarithmetik) betrachtet. Wir werden im Folgenden noch viele Beispiele von Diskretisationsfehlern kennenlernen, Rundungsfehler aber nicht mehr weiter betrachten. 13