38 KAPITEL 3. FEHLERANALYSE Beispiel 3.18 Betrachte M(10, 5, 1). Dann sind x 4.2832, y 4.2821, z 5.7632 darstellare Zahlen und (x y)z 0.00633952. Das korrekte Ergenis in M ist daher 0.0063395. Der Ausdruck (x y)z ist äquivalent zu dem Ausdruck xz yz. Verwendet man diesen Ausdruck zur Berechnung in M, so ergit fl(fl(xz) fl(yz)) 0.0060000, lediglich eine Stelle ist korrekt erechnet. Berechnet man nun zunächst f l(x y) und multipliziert dies mit z, so ergit nach nochmaliger Rundung ein deutlich genaueres Ergenis. fl(fl(x y) z) 0.0063395, Das Ergenis einer Berechnung hängt also auch von der Reihenfolge a, in der die Operationen ausgeführt werden! Aus den esprochenen Schwierigkeiten mit der Gleitpunktarithmetik und der Zahldarstellung folgt, daß es unsinnig ist, zwei Gleitpunktzahlen auf Gleichheit zu üerprüfen. Ihre Berechnung wird im allgemeinen üer verschiedene Algorithmen erfolgen und damit zu unterschiedlichen Rundungsfehlern führen. Vielmehr muß die Afrage als x y < δ mit geeignetem δ gefaßt werden. 3.4 Kondition eines Prolems Wie wirken sich Störungen in den Eingaedaten auf das Resultat unahänigig vom gewählten Algorithmus aus? Faßt man das Lösen des Prolems als Auswerten der Funktion f : D W für einen gegeenen Datenwert aus D auf, so hat man also statt des exakten Datenwertes x nur den verfälschten Datenwert x zur Verfügung. Mit den Daten ändert sich natürlich auch die Lösung f(x) des Prolems zu f( x). Diese durch fehlerhafte Daten entstehende Aweichung in der Lösung, f(x) f( x), ezeichnen wir als Datenfehlereffekt. Die Empfindlichkeit der Lösung des mathematischen Prolems ezüglich (kleiner) Änderungen in den Daten nennt man Kondition des Prolems. Das Prolem wird gut konditioniert genannt, wenn kleine Änderungen des Datenwertes x auch nur kleine Änderungen in f(x) ewirken, andernfalls ezeichnet man es als schlecht konditioniert. Die gute oder schlechte Kondition ist also eine Eigenschaft des mathematischen Prolems und nicht des gewählten numerischen Verfahrens zur Berechnung seiner Lösung. Beispiel 3.19 Versucht man zeichnerisch den Schnittpunkt zweier Geraden zu estimmen, so ist es kaum möglich diese Geraden exakt darzustellen. Der Schnittpunkt wird stark von den Zeichenfehlern ( Eingaefehlern) ahängen. Stehen die eiden Geraden fast senkrecht aufeinander, so wird der Schnittpunkt etwa im gleichen Maße wie die eiden Geraden variieren. Ist jedoch der Winkel zwischen den eiden Geraden sehr klein, so verschiet sich der Schnittpunkt schon ei einer kleinen Störung um ein Mehrfaches. Die Schnittpunktestimmung ist im ersten Fall gut, im zweiten schlecht konditioniert.
3.4. KONDITION EINES PROBLEMS 39 Aildung 3.3: Schnittpunkte zweier Geraden Um genauere Aussagen üer den Datenfehlereffekt f(x) f( x) treffen zu können, schreit man x als x x + x und wendet die Taylorentwicklung an: f(x) f(x + x) f(x) {f(x) + f (x) x + Terme höherer Ordnung} f (x) x + Terme höherer Ordnung Dies edeutet, daß der Datenfehler x (is auf Terme höherer Ordnung) mit dem Faktor f (x) verstärkt wird. Hier handelt es sich um eine asymptotische zw. lokale Störungsanalyse, da sie nur lokal, also in einer kleinen Umgeung von x und auch nur is auf Terme höherer Ordnung, gültig ist. Zudem haen wir vorausgesetzt, daß f differenzierar ist. Allgemein definiert man: Definition 3.20 Die asolute normweise Kondition des Prolems (f, x) ist die kleinste Zahl κ as 0, so daß f(x) f( x) κ as x x (+Terme höherer Ordnung) für x x. Das Prolem ist schlecht gestellt, falls es keine solche Zahl git (d.h. κ as ). Die relative normweise Kondition von (f, x) ist die kleinste Zahl κ rel 0, so daß für x x. f(x) f( x) f(x) x x κ rel (+Terme höherer Ordnung) x κ as eschreit also die Verstärkung des asoluten und κ rel die Verstärkung des relativen Fehlers. Ein Prolem (f, x) ist gut konditioniert, falls seine Kondition klein und schlecht konditioniert, falls sie groß ist. Ist f differenzierar in x, so folgt mithilfe des Mittelwertsatzes κ as f (x) und κ rel x f(x) f (x), woei f (x) die Norm der Jacoi-Matrix f (x) in der zugeordneten Matrixnorm ist. Ax A : sup x 0 x
40 KAPITEL 3. FEHLERANALYSE Beispiel 3.21 Kondition der Addition Die Addition ist eine lineare Aildung f : R 2 R, [ a ] a + mit der Aleitung f (a, ) [1, 1] R 1 2. Für die 1-Norm gilt [ ] a a 1 a, 1 a +, A 1 max j Daher folgt κ as 1 κ rel a + a +. a ij. Für die Addition zweier Zahlen a und mit gleichem Vorzeichen ergit sich also κ rel 1. Die Sutraktion zweier fast gleicher Zahlen ist hingegen schlecht konditioniert, denn a + a +, d.h. κ rel 1. Zur Illustration etrachte man die Sutraktion der Zahlen a 0.1234678921 0.1234564894 i a 0.0000114027 in M(10, 6, s): f l(a) 0.123468 f l() 0.123456 fl(a) fl() 0.000012 Ein Fehler in der 7. Dezimalstelle der Eingaedaten a, führt im Ergenis zu einem Fehler in der 3. Dezimalstelle, d.h. κ rel 10 4. Das Phänomen heißt Auslöschung führender Zahlen. Beispiel 3.22 Kondition des Prolems f(x) x, x > 0 Die Aleitung ist f (x) 1 2. Damit ist κ x as 1 2 x 1 x 1. 2 x schlecht konditioniert, falls Beispiel 3.23 Gesucht ist die kleinere Lösung von x 2 2ax + 0. Die exakte Lösung ist gegeen durch x a a 2 p(a, ). Es sei > 0 und a > angenommen. Sind
3.4. KONDITION EINES PROBLEMS 41 ã a + ε 1, + ε 2 die verfälschten Daten und x p(ã, ) die Lösung zgl. ã,, so folgt (Taylor-Formel) und daher p(ã, ) p(a, ) a (a, )ε 1 + (a, )ε 2 + Terme höherer Ordnung x x x ( ) ( a (a, )a ε1 x a + (a, ) ) ε2 + Terme höherer Ordnung... x die partiellen A- Nun kann man für die Verstärkungsfaktoren der relativen Fehler ε 1 a, ε 2 leitungen erechnen; (a, ) 1 + 1 a2 2a 1 a 2 p(a,) a 2 (a, ) 1 2 a 2 a (a, ) a x a a 2 (a, ) x 2 a 2 (a a 2 ) a a 2 Somit gilt x x x a ε 1 a2 a + 2 a 2 a a 2 ε 2 + Terme höherer Ordnung.... Mit ε 1 / a, ε 2 / ɛ folgt weiter ( x x a x a2 + 2 a 2 a a 2 ) ɛ + Terme höherer Ordnung.... Im Falle, daß a 2 gehen eide Terme in der Summe gegen. Das Prolem ist schlecht konditioniert. Man kann kein gutes Ergenis erwarten, ein großer Fehler ist unvermeidar. Im Falle, daß a 2 sind eide Terme in der Summe 1. Das Prolem ist gut konditioniert. Dassele Ergenisse hätten wir erhalten, wenn wir κ as und κ rel mithilfe der erechneten Aleitungen von p estimmt hätten. Zur eigentlichen Berechnung der Lösung kann man die Formel x a a 2 oder x a+ verwenden: a 2 Algorithmus 1: x a a 2 p : a a d : p w : d x : a w
42 KAPITEL 3. FEHLERANALYSE Algorithmus 2: x a+ a 2 p : a a d : p w : d s : a + w x : /s Für a 6.0002, 0.01 und M(10, 5, s) ergit sich im Algorithmus 1: und in Algorithmus 2: p 36.002, d 35.992, w 5.9993, x 0.00090000, p 36.002, d 35.992, w 5.9993, s 11.999, x 0.00083340. Die exakte Lösung lautet x 0.0008333634..., also in M(10, 5, s) x 0.0008334. Die gute oder schlechte Kondition eines Prolems ist eine Eigenschaft des Prolems und nicht des numerischen Verfahrens zur Berechnung seiner Lösung. Zur Lösung gut konditionierter Proleme kann es gut- und schlechtartige numerische Verfahren geen. Dies läßt sich mit den im folgenden vorgestellten Vorgehensweisen genauer untersuchen. 3.5 Stailität eines Algorithmus Typischerweise esteht ein Algorithmus aus einer Vielzahl von arithmetischen Operationen. Wie gesehen kann jede einzelne arithmetische Operation zu einem Rundungsfehler führen. Um eine Aschätzung für den durch diese Fehler entstehenden Gesamtfehler im Endresultat zu erhalten, git es unterschiedliche Vorgehensweisen. Bei der Vorwärtsanalyse verfolgt man sämtliche Fehler von Rechenschritt zu Rechenschritt und schätzt sofort für jedes Zwischenergenis den isher aufgetretenen akkumulierten Fehler a. Für das Endergenis steht dann eine Aschätzung des Gesamtfehlers auch direkt zur Verfügung. Ist unser Algorithmus eine Implementation zur Berechnung einer Funktion f(x), so wird statt des exakten Wertes f(x) ein gestörter Wert f(x) erechnet. Die Vorwärtsanalyse liefert eine Antwort auf die Frage, wie sich f(x) und f(x) unterscheiden f(x) f(x) <?. Definition 3.24 Sei f die Realisierung eines Algorithmus zur Lösung des Prolems f der relativen Kondition κ rel. Der Stailitätsindikator der normweisen Vorwärtsanalyse ist die kleinstmögliche Zahl σ V 0, so daß f(x) f(x) f(x) σ V κ rel u+ Terme höherer Ordnung. Ein Algorithmus ist stail im Sinne der Vorwärtsanalyse, falls σ V der hintereinander ausgeführten Elementaroperationen ist. kleiner als die Anzahl