Folien-Beispiel: Mshinenzhlen =(. *, = - (.0 * und =(.0 * 3 ei dreistelliger Mntisse. Addition: ~ y (.0 (. (.00 * * * 3 M M ( (.0 (.0 * 3 * M (.0 * 3 Dei tritt kein Fehler uf! Andere Reihenfolge? 4
yˆ (. (. (.0 * * * M M ( (.0 ( (.00 * * M (.0 * 3 mit reltivem Fehler (.0 * (.0 * (.0 * 0% Merke: Reihenfolge der Opertionen ist wihtig! Bisher wren, und Mshinenzhlen Jetzt etrhten wir Eingngszhlen, die shon selst mit Rundungsfehler ehftet sind: (+ mit <=, usw. 4
. e ( ( M ( (. f e M ( (. Reltiver Fehler in erster Näherung: f y y. Erste Terme: Auswirkung der Eingefehler Vierter Term: Auswirkung des Fehlers ei der ersten Addition Fünfter Term: Fehler ei der zweiten Addition 43
Auslöshung Kritisher Fll: Endergenis nhe ei Null! Folien-Beispiel: Differenz zwishen =3/5 und y=4/7 ei fünf-stelliger Mntisse. Ekte Rehnung: - y = /35 = (0.0-5 Rundung von und y liefert für (.0000... und (.0000... die Näherungen (.00 und (.000 Dmit ergit sih die Rehnung (.00 (.000 = = (0.000 = (.0000 5 44
Dei sind unterstrihene Stellen noh ekt, während niht unterstrihene Stellen durh Rundung verfälsht sind. Die kursiven Nullen im Ergenis sind wertlos! Ds erehnete Ergenis lutet lso /3, Reltiver Fehler: (/35 - /3 / (/35 = - 0.0938 entspriht. 9.4% Aweihung. Vgl. Mshinengenuigkeit für t = 5 von 0.03. 3.% Die unterstrihenen, guten Stellen gehen durh die Differenz verloren und es leien die unsiheren Stellen ürig. 45
Bei t=3 zeigt sih dieser Effekt noh stärker: (.0 (.0 = 0 Fehler: 00%, ei Mshinengenuigkeit 0.5=/8 oder.5% Reltiver Fehler ei Differenz y = - nh.3: y ( ( ( ( Eingefehler werden etrem verstärkt, wenn - nhe ei Null ist, lso flls sih und fst uslöshen! 46
Aer: Sind und ekt ohne Fehler, dnn ist = 0 und = 0. Dher ergit sih dnn nur ein reltiver Fehler in der Größenordnung der Mshinengenuigkeit! Also Differenz mit ekten Zhlen ist OK! Nur ei Differenz von fehlerehfteten Zhlen droht Gefhr. 47
Berehnung der Eponentil-Funktion ep( k / k! n einer Stelle X mittels Progrmm: Y:=.0 ; T=.0; K=; WHILE ( Y Y + T*X / K T = T * X / K ; Y = Y+ T ; K = K + ; END X Y EXP( X.788.788 0 4.85653*0 8 4.85650*0 8 0.6408609*0 4 4.5399930*0 5 0.0966.06537*0 9 48
Für X = -5 ergit sih: 5 +.5-56.5 +... - 3540.3 + 334864.6 334864.6 + +33935.5 -... 0.000000666083... = = 3.050..*0 7 Auslöshung durh wiederholte Differenz im Shritt T = T + Y! Der Term T wähst zunähst, um m Ende einen sehr kleinen Wert nzunehmen! Große Zwishenwerte + kleine Endwerte Auslöshung Prolemtish! Beispiel PPT: Ptriot-Sud-Softwre-Bug, Ther Heisenug usw. 49
Kondition und Stilität.4 Definition: Ein Berehnungsverfhren ist eine Folge von mthemtishen Berehnungen zur Lösung eines Prolems mit Eingngsdten n und dem Ergenis y f ( Zur Berehnung von y wird es vershiedene Algorithmen geen, die sih z.b. in der Reihenfolge der Opertionen untersheiden (vgl. Addition ++. Zum Vergleih vershiedener Algorithmen etrhtet mn die entstehenden Rundungsfehler. Dzu knn mn u.. Tylor-Entwiklung oder Epsilontik verwenden. 50
Zur Bestimmung der Kondition etrhten wir -Eingedten i, versehen mit soluten Rundungsfehlern i, i=,...,n. (Zur Vereinfhung: n=, lso nur ein -f( ls lk o; wir sind nur n der Ein- und Ausge interessiert! Rundungsfehler innerhl der Ausführung von f( sollen zunähst niht uftreten! Für den soluten Fehler im Resultt gilt dnn unter Vernhlässigung der während der Berehnung sonst uftretenden Rundungsfehler: y y f ( f ( f ( (. In erster Näherung gilt dher 5
f ( y Dher ist der reltive Fehler des Resultts y y f rel y ( y y f ( y f ( y f rel ( f ( f (.5. Definition: Unter der Konditionszhl des Prolems y = f( ezüglih Eingewert versteht mn den Betrg des Verstärkungsfktors ond : f f ( ( 5
Die Konditionszhl misst die Sensiilität des Resultts y in Ahängigkeit von den Fehlern in der Einge. ond groß, z.b. wenn: - große Einge gegenüer kleinem Endwert - nhezu senkrehte Tngente ( f ( groß Ein Prolem heißt gut konditioniert wenn kleine reltive Fehler in ei ekter Arithmetik (lso ohne Rundungsfehler während der weiteren Rehnung zu kleinen reltiven Fehlern im Resultt y führen: y ungef. in der Größenordnung von 53
Andernflls liegt shlehte Kondition zgl. vor. Die Konditionszhl misst den sog. unvermeidren Fehler, der durh ds Prolem selst n einer Stelle gegeen ist. Beispiel: ond(ep( = ond(ln( = / ln( Bild einer Funktion, Punkte shlehter Kondition: 54
Beispiel: Konditionszhlen zu y=++ Ds sind gerde die Verstärkungsfktoren der rel. Fehler der Eingedten in der Formel für den reltiven Fehler: 55,,, ond ond ond. y f y Konditionszhl zgl. der zweiten Addition f(+,=(++
Betrhten wir die Gesmtrehnung, so lssen sih Konditionszhlen zu jedem einzelnen Rehenshritt ngeen. Dmit ist es möglih, für den gesmten Algorithmus ds Fehlerverhlten zu estimmen. Dies ist meist zu ufwändig oder gr niht möglih! Dies ermögliht eine mehr mthemtishe Formulierung der Epsilontik. z.b. ist der vierte lue Term gleih der Konditionszhl der Teilfunktion, die die Addition von (+ mit eshreit. 56
.6. Definition: Sei ds Prolem y=f( gut konditioniert. Eistiert dnn zusätzlih uh ein gutrtiges Berehnungsverfhren, ei dem die reltiven Fehler niht zusätzlih strk vergrößert werden, so spriht mn von einem numerish stilen Algorithmus. Ein Berehnungsverfhren, ds trotz kleiner Konditionszhl zu vergrößerten reltiven Fehlern im Resultt führen knn, heißt numerish instil. 57
Erste Frge: Konditionszhl OK? Wenn j, formuliere numerish stiles Berehnungsverfhren: Prüfe ds Berehnungsverfhren mit Epsilontik: Ersetze dzu jede Eingngsvrile durh (+ und jede uszuführende Opertion ( op M y = ( op y*(+ op mit <= und op <=. Vernhlässige dei Terme höherer Ordnung in (lso, 3, 4,... Dmit erhält mn ds gestörte Endergenis. Berehne und diskutiere dnn den reltiven Fehler in erster Ordnung durh Ashätzen der Beträge der Einzelterme f rel Term eps Term eps... 58
Ist ds Prolem shleht konditioniert, dnn ist nur Shdensegrenzung möglih: Verwende ev. höhere Genuigkeit: Eingefehler 0^(- mit Konditionszhl 0^(8 ergit Ausgefehler 0^(-4 Ist dieser Ausgefehler noh tolerierr? Wenn nein, dnn knn zu einer Veresserung nur der Eingefehler verkleinert werden. 59
Beispiel: Berehnung von Kondition ist OK, d (L Hospitl 60 0, ( f 0 ( für ond Allerdings ist die Auswertung in dieser Form numerish instil d Auslöshung im letzten Shritt!
Entsprehend lässt sih die Berehnung der Eponentilfunktion für große negtive retten, indem wir ep(-000 ersetzen durh /ep(000. 6 ( ( ( Bessere Formulierung:
Beispiel: f( = - os( in der Nähe von =0 f( ist wieder gut konditioniert ei 0, d ond f f sin( os( ( /, 0 Aer ei 0 ist os( nhe ei wieder Auslöshung! In MATLAB: - os(0^(-8 ergit 0; in os(0^(-3=0.99999950000004 verliert mn ei der Differenz 6 signifiknte Stellen 6
Anderer Berehnungsweg: - os( = sin (/ oder Reihenentwiklung des Cosinus os( ( 4 4! 6 6! 4 6 4! 6! 63
Beispiel: y = ei = Anwendung der Epsilontik; seien, Mshinenzhlen: Berehne erst eide Produkte, dnn die Differenz. 64 3 y Fehler: Eingefehler Produktfehler Differenzfehler Reltiver Fehler: Nun seien uh und fehlerhft: (+, (+
Andere Art der Berehnung: y = ( ( + 65 ( ( ( ( ( ( ( * f ( ( ( * * d dy ond d dy ond Konditionszhlen:, Prolem ist shleht konditioniert für Reltiver Fehler in erster Näherung:
Vergleih mit erstem Algorithmus: Ds neue Verfhren ist esser, d i.w. nur der unvermeidre Fehler (durh Eingefehler uftritt! Grund: Auslöshung in - geringer ls in, d Fehler in und kleiner ls in und. 66
Zusmmenfssung Endlihkeit des Computers führt zu endliher Menge von Mshinenzhlen. In jedem Shritt treten Rundungsfehler uf. Gefährlih sind Opertionen, ei denen mn signifiknte Stellen verliert, wie z.b.: - Auslöshung (Differenz fst gleiher Zhlen - Summe zwishen großer Zhl und sehr kleiner Zhl, ei der die signifiknten Stellen in der kleinen Zhl steken (vgl. wiederholtes Wurzelziehen - Allgemein Opertionsfolgen mit großen Zwishenwerten und kleinen Endwerten (vgl. ep, Teilfunktion shleht konditioniert. 67
Vorsiht! Gesundes Misstruen! Algorithmus ist OK, wenn die Größenordnung der reltiven Fehler im Resultt ungefähr gleih der Größenordnung der Eingefehler leit. Umformen eines numerish instilen Verfhrens durh - ndere Reihenfolge der Berehnung - Anfng der Tylorentwiklung - Trigonometrishe Formeln - lgerishe Umformung (inomishe F. -... - Ev. doule preision rehnen, dmit trotz shlehter Kondition oder Rundungsfehler noh ruhres Resultt ürigleit. 68
Systemtishe Fehler und große Zhl der Opertionen können zu shlehten Ergenissen führen! (Siehe Beispiel Börseninde Ev. Modellfehler gegen Rundungsfehler wägen: Feineres Modell Mehr Rehnung Mehr Rundungsfehler! Mn muss die optimle Blne finden! Beispiel Üungsufge Differenzenquotient. Gesmtfehler: Gro diskretisiert Optimum fein diskretisiert Modellfehler Rundungsfehler 69
Beispiel: Veresserte Fehlernlyse für den numerish instilen Fll großer Zwishenwerte Zerlege Prolem f( in zwei Shritte y = f( = f (f ( = f (z woei z = f ( großer Zwishenwert und y = f (z kleiner Endwert. Dher ist Teilprolem f (z für diese Werte shleht konditioniert, d z / f (z groß ist! Dher ist Gesmtverfhren niht numerish stil für. 70
Verfhren ist numerish stil, wenn für jede Zerlegung in Teilproleme f (f ( = f (z, z = f (, f (z stets gut konditioniert ist! Konditionszhl Gesmtprolem Numerish stil Berehnungsform 7
Genuere Anlyse der numerishen Stilität durh Bestimmung der Konditionszhlen und Aleitungen ller Teilshritte: Zerlege Algorithmus in Teilproleme f( = f (f ( und erehne lle uftretenden Konditionszhlen ond(f! Meist zu ufwändig oder unmöglih. Epsilontik genügt für uns: (Ersetze (+ε, op y ( op y(+ε Streihe Terme höherer Ordnung in ε, ε 3, ε 4, Bestimme dmit den rel. Fehler des Resultts (f y/f in erster Näherung und shätze Beträge nh oen Diskutiere die einzelnen Terme. 7
Ziel: Erkenne us Formel (Progrmm, zw. erehneten (Zwishenwerten, - o ds Prolem gut konditioniert ist, und - o ds verwendete Verfhren numerish stil ist, - zw. wie ds Verfhren ev. veressert werden knn. Klusurufge: f(=ep(-, g(=-+ - 3, h(=(+ (-os ( 73