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

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

1 Grundlagen der Numerik

1. Rechnerarithmetik und. Rundungsfehler

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

Numerische Lineare Algebra

1. Rechnerzahlen, Kondition, Stabilität

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

1 Fehleranalyse, Kondition, Stabilität

Numerische Verfahren und Grundlagen der Analysis

Rundungsfehler-Problematik bei Gleitpunktzahlen

3 Numerisches Rechnen

Computer-orientierte Mathematik

Numerische Mathematik I: Grundlagen

Mathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen

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

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

Darstellung rationaler und reeller Zahlen Vorlesung vom

Numerische Mathematik

Nichtlineare Gleichungssysteme

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

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

5 Interpolation und Approximation

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

1.4 Stabilität der Gauß-Elimination

8 Dezimalzahlen und Fehlerfortpflanzung

3.4 Kondition eines Problems

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

Wiederholung: Kondition (Vorlesung vom )

5 Numerische Mathematik

Numerische Verfahren

Einführung in die Computerorientierte Mathematik

Vektor und Matrixnormen Vorlesung vom

Inexakte Newton Verfahren

Numerisches Programmieren, Übungen

Kapitel 4: Nichtlineare Nullstellenprobleme

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

9.2 Invertierbare Matrizen

9 Lineare Gleichungssysteme

2 Zahldarstellungen und Fehleranalyse *

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

A2.3 Lineare Gleichungssysteme

Numerik für Ingenieure I Wintersemester 2008

Erweiterungen der LR-Zerlegung

Analysis für Informatiker

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

Inhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015

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

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.

Numerisches Programmieren, Übungen

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016

Lineare Algebra. Mathematik II für Chemiker. Daniel Gerth

Institut für Geometrie und Praktische Mathematik

Kapitel III Ringe und Körper

Werkstatt Multiplikation Posten: Rundung im Quadrat. Informationsblatt für die Lehrkraft. Rundung im Quadrat

22 KAPITEL 1. GRUNDLAGEN. Um zu zeigen, dass diese Folge nicht konvergent ist, betrachten wir den punktweisen Limes und erhalten die Funktion

Vektor und Matrixnormen Vorlesung vom

1 Matrizenrechnung zweiter Teil

8.2 Invertierbare Matrizen

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

Numerisches Programmieren, Übungen

2. Lineare Gleichungssysteme: direkte und iterative Lösungsverfahren

Prof. Dr. Elmar Grosse-Klönne Institut für Mathematik

1 Lineare Gleichungssysteme und Matrizen

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Vorkurs: Mathematik für Informatiker

6 Polynominterpolation

Rechnet mein Taschenrechner richtig?

Nichtlineare Gleichungssysteme

Multiplikation langer Zahlen

Computer-orientierte Mathematik

12 Gewöhnliche Differentialgleichungen

D - 2 Gleitkommadarstellung und -arithmetik

KAPITEL 5. Nichtlineare Gleichungssysteme

Lineare Algebra. 10. Übungsstunde. Steven Battilana.

Beispiele 1. Gegeben ist das lineare System. x+4y +3z = 1 2x+5y +9z = 14 x 3y 2z = 5. Die erweiterte Matrix ist

Darstellungsformeln für die Lösung von parabolischen Differentialgleichungen

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { }

Musterlösung zum Weihnahchtsübungsblatt. Teil 1 von Martin Fabricius. Aufgabe 1

Lineare Gleichungssysteme

Kapitel 1. Vektoren und Matrizen. 1.1 Vektoren

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Nebenfach Mathematik im Informatik-Studium. Martin Gugat FAU: Friedrich-Alexander-Universität Erlangen-Nürnberg 26.

1 Lineare Gleichungssysteme

Nebenfach Mathematik im Informatik-Studium. Martin Gugat FAU: Friedrich-Alexander-Universität Erlangen-Nürnberg 25.

FERIENKURS ZUM PROPÄDEUTIKUM NUMERIK -

Newton-Verfahren für ein Skalarfunktion

Zahlen und metrische Räume

Numerische Lineare Algebra

1. Anfangswertprobleme 1. Ordnung

Definition 131 Sei R ein (kommutativer) Ring. Ein Polynom über R in der Variablen x ist eine Funktion p der Form

Iterative Verfahren, Splittingmethoden

Finite Elemente Methode für elliptische Differentialgleichungen

Numerische Verfahren zur Lösung unrestringierter Optimierungsaufgaben. Eine kurze Einführung in Quasi Newton Verfahren

Vorkurs Mathematik für Informatiker. 1 Potenzen. Michael Bader, Thomas Huckle, Stefan Zimmer Oktober Kap.

Der CG-Algorithmus (Zusammenfassung)

Konvergenz im quadratischen Mittel und die Parsevelsche Gleichung

Mathematische Grundlagen für die Vorlesung. Differentialgeometrie

Finite Elemente Methoden (aus der Sicht des Mathematikers)

18.2 Implizit definierte Funktionen

Transkript:

Numerik für Informatiker, Elektrotechniker und Naturfreunde von Michael Lehn Verfasst von Patrick Schneider E-Mail: Patrick.Schneider@uni-ulm.de Universität Ulm Institut für Numerische Mathematik Sommersemester 28

Inhaltsverzeichnis Einleitung 2 1 Rechnen auf digitalen Rechnern 3 1.1 Zahlendarstellung................................ 3 1.2 Rundung und Maschinengenauigkeit...................... 5 1.2.1 Standardrundung ( normales Runden )................ 5 1.2.2 Abbrechen................................ 5 1.2.3 Gleitpunktarithmetik.......................... 7 1.2.4 Fehlerverstärkung bei elementaren Rechenoperationen........ 8 1.2.5 Multiplikation.............................. 8 1.2.6 Division................................. 9 1.2.7 Addition................................. 9 1.2.8 Kondition und Stabilität........................ 1 2 Numerische Lösung linearer Gleichungssysteme 15 2.1 Motivation: Das Poisson Problem....................... 15 1

Einleitung: Was ist Numerik? Die mathematische Umsetzung von Verfahren, Algorithmen und Methoden zur Berechnung bestimmter Größen auf dem Computer, z.b. die Auswertung von Funktionen (z.b. sin(1)) auf Taschenrechner die Lösung von Gleichungen die Näherung (Approximation) von Größen, die man nicht exakt bestimmen kann oder will (z.b. Ableitungen, Integrale,...) bei computerbasierten Simulationen in zahlreichen Gebieten in Forschung und Technik Insbesondere ist man daran interessiert, dass die verwendeten Verfahren schnell (effizient) verlässlich (mit beweisbaren Fehlerschätzen) robust gegenüber Störungen (z.b. Messfehlern) sind. Derartige Fragestellungen werden in der Numerik untersucht, welches ein Oberbegriff ist für z.b. Numerische Analysis Numerische lineare Algebra Numerische Optimierung Das Vorgehen kann man vereinfacht darstellen: Reales Problem Modellierung Mathematisches Problem Konstruktion und Umsetzung von Verfahren Simulation 2

Kapitel 1 Rechnen auf digitalen Rechnern Auf einer endlichen Maschine kann man niemals exakt rechnen, d.h. man hat immer Fehler. Beispiel: die Darstellung reeller Zahlen. Diesen Fehler gilt es zu analysieren und zu kontrollieren. 1.1 Zahlendarstellung Grundlage hierfür ist die folgende Aussage aus der Analysis: Bemerkung 1.1.1 Sei b N, b > 1 gegeben (b ˆ= Basis), dann gilt: Zu jedem x R existieren eindeutige Zahlen σ { 1, 1} (Vorzeichen) n Z (Potenz) a k N für k Z, k n (Ziffern) mit so dass 1. a n, 2. a k < b k n, 3. a k < b 1 für unendlich viele k. x = σ n k= a k b k Beispiel: x = 5 hat bezüglich b = 2 die Darstellung (b-adische Entwicklung) (11) 2 = 1 2 2 + 2 1 + 1 2 = σ mit a 2 = 1, a 1 =, a = 1 und a n = k <, sowie σ = 1. 3 2 k= a k 2 k

Bemerkung 1.1.2 (a) Die Zahl b heißt Basis (b) Die Bedingung a k < b 1 für -viele k sichert die Eindeutigkeit: für b = 1 ist für x = 1 also die Darstellung x =.999... nicht zugelassen! Die b-adische Entwicklung wird nun durch eine endliche Entwicklung approximiert. Definition 1.1.3 Zu gegebener Basis b ist F(l, n) := {± n a k b k = ±(a n... a. a 1... a l ) b } n= l die Menge der Festpunktzahlen mit n + 1 Vor- und l Nachkommastellen. In der Praxis werden Festpunktzahlen meist nur zur Darstellungen von ganzen Zahlen (Integer) benutzt. Zur Approximation von reellen Zahlen wird statt dessen eine sogenannte Gleitpunktdarstellung benutzt. Definition 1.1.4 Die normalisierte Gleitpunktdarstellung einer reellen Zahl x R hat die Form x = f b l, wobei 1. die Mantisse f eine feste Zahl von m Stellen hat und b 1 f < 1, falls x genügt. D.h. f = { ±(. d 1...d m ) b = ± m j=1 d jb j, falls d 1,, falls d 1 =. 2. der Exponent l eine ganze Zahl innerhalb fester Schranken r l R ist, d.h. n l = ±(e 1...e n ) b = ± e j b n j j=1 Die Menge der Maschinenzahlen mit Basis b, m-stelliger Mantisse und n-stelligem Exponenten wird als M(b, m, n) bezeichnet. Beispiel 4

a) Für M(1, 4, 2) gilt x = 51.34 =.5134 1 2 = ( 5134 +2 ) 1. Mantisse Exp. b) Für M(2, 4, 2) gilt x = 3.25 = (11.1) 2 = (.111) 2 2 (1) 2 = (+111 + 1) 2 c) Nicht jede reelle Zahl kann als Maschinenzahl dargestellt werden, z. B. gilt bei Basis b = 2:.1 = (.11) 2 1.2 Rundung und Maschinengenauigkeit Aufgabe: Approximiere x R durch f l(x) M(b, m, n) (Anmerkung: f l steht für float). Die Funktion fl ist formal eine Abbildung fl : R M(b, m, n) und wird durch geeignete Rundungsstrategien realisiert. Wir betrachten im Folgenden zwei Strategien. 1.2.1 Standardrundung ( normales Runden ) fl(x; b, m, n) = fl(x) := ± m d j b n j + j=1 {, falls d m+1 < b 2 b n m, falls d m+1 b 2 (1.2.1) Es werden ausserdem folgende Ausnahmebedingungen berücksichtigt: x < x Min := min {M(b, m, n)} fl(x) :=, x > x Max := max {M(b, m, n)} Overflow. Beispiel: Für M(1, 4, 2) gilt a) x =.21576 1 3 fl(x) =.2158 1 3, b) x = 216.531 fl(x) = 216.5. 1.2.2 Abbrechen m fl(x; m, n) = fl(x) := ± d j b n j (1.2.2) Beispiel: Für M(1, 4, 2) gilt x =.21576 1 3 fl(x) =.2157 1 3. j=1 5

Definition 1.2.1 Es sei f : R R eine Funktion und f : R R eine Approximation. (a) Die Größe f(x) f(x) heißt absoluter Fehler und (b) die Größe heißt relativer Fehler. f(x) f(x) f(x) Lemma 1.2.2 Für die Standardrundung gilt für eine gerade Basis b fl(x) x b m 2 bn und fl(x) x x b1 m 2 Beweis-Idee: o.b.d.a. sei x >. Die normalisierte b-adische Entwicklung von x sei dann gilt x = (.d 1 d 2...) b b n = b n d j b j, d 1 x u = (.d 1 d 2...d m ) b b n fl(x) x o := (.d 1...d m ) b b n + b n m und die obere und untere Schranke x u bzw. x sind exakt darstellbar in M(b, m, n). Insbesondere gilt { x u falls d m+1 < b 2 fl(x) = x o falls d m+1 b 2 j=1 Falls b 2 Z (also b gerade ist) gilt dann Außerdem gilt also folgt für den relativen Fehler abs. Fehler = fl(x) x x o x u 2 x x u (.1...) b b n = b n 1 = bn m 2 fl(x) x x fl(x) x x n bn m b1 m = 2bn 1 2. Definition 1.2.3 Die Zahl eps := b1 m 2 heißt relative Maschinengenauigkeit. Sie charakterisiert das Auflösungsvermögen eines Rechners. Bemerkung 1.2.4 1. Es gilt eps := inf{δ > : fl(1 + δ) > 1} 2. ε mit ε < eps, so dass fl(x) x x = ε. Es gilt also fl(x) = x(1 + ε) Beweis: folgt aus Lemma 1.2.2. 6

1.2.3 Gleitpunktarithmetik Ein Algorithmus entspricht einer Folge von arithmetischen Operationen, mit denen Maschinenzahlen verknüpft werden. Beispiel 1.2.5 Betrachte M(1, 3, 3) 1 +.234 = }.1 {{ 1} 1 + }.234 {{ 1} = (.1234) 1 1 M(1,3,3) M(1,3,3) / M Man sieht also: das Ergebnis einer arithmetischen Operation auf Maschinenzahlen muss keine Maschinenzahl sein! Für die Fehleranalyse werden Operationen {+,,, } ersetzt mit Gleitpunkt- Operationen x y := fl(x y) wegen fl(x) = x(1+ε) folgt x y = (x y)(1+ε). Also zum Beispiel x y = (x+y)(1+ε) Bemerkung 1. Maschinenzahlen sind nicht assoziativ: Für x, y, z M(1, 3, 3) mit gilt bei exakter Rechnung aber x = 123, y =.4, z =.4 x + y + z = 123.8 (a) (x y) z = fl(fl(x + y) + z) = fl(fl(123.4) +.4) = fl(123.4) = 123 =123 (b) x (y z) = fl(x + fl(y + z)) = fl(123 + fl(.8) ) = fl(123.8) = 124 =.8 Faustregel: Addition von Maschinenzahlen in aufsteigender Reihenfolge. 2. Das Distributiv-Gesetz gilt ebenso nicht. Beispiel 1.2.6 (Auslöschung) Betrachte folgende Subtraktion.12345 -.12344.1 7

Bei 3-stelliger Rechnung erhält man.123 -.123. also einen absoluten Fehler e abs =.1 =.1 und relativen Fehler e rel =.1.1 = 1 = 1%. Wird 4-stellig gerechnet erhält man.1235 -.1234.1 also absoluter Fehler e abs =.1.1 =.9 und relativer Fehler e rel =.9.1 = 9 = 9% Beobachtung: Während der absolute Fehler in allen Fällen in der Größenordnung des Rundungsfehlers bzw. der Maschinengenauigkeit bleibt, kann der relative Fehler sehr groß werden. Dieser Effekt heißt Auslöschung. Frage: Wann sind Operationen mit Maschinenzahlen gefährlich? D. h. welche Fehlerverstärkung man man bei verschiedenen Operationen erwarten? 1.2.4 Fehlerverstärkung bei elementaren Rechenoperationen In einem Programm (entspricht Implementierung eines Algorithmus) werden viele Rechenoperationen durchgeführt. Frage: Was passiert mit den Fehlern? Wir beschäftigen uns zunächst mit exakten Operationen, d. h. ohne weitere Rundung. Seien x, y die exakten Eingaben, x = fl(x), ỹ = fl(y) die gestörten Eingaben mit relativen Fehlern: x = x (1 + ε x ), ỹ = y (1 + ε y ) Es gelte ferner die Annahme, dass ε x, ε y < eps 1.2.5 Multiplikation Es gilt x ỹ = x(1 + ε x ) y(1 + ε y ) = x y (1 + ε x + ε y + ε x ε y ) = x y (1 + ε) mit ε = ε x + ε y + ε x ε y 2 eps + eps 2 bei Vernachlässigung des quadratischen Terms eps 2 eps ist der relative Fehler in der Fehlerordnung von eps, d.h. O(eps): xỹ xy xy = ε 2 eps + eps2 3 eps = O(eps) 8

1.2.6 Division Hier gilt x ỹ = x(1 + ε x) y(1 + ε y ) =... = x (1 + ε). y Denn mit Hilfe der geometrischen Reihe gilt also mit 1 1 + ε y = x ỹ ( 1) k ε k y = 1 + k= = x y (1 + ε x)(1 + ( 1) k ε k y k=1 ( 1) k ε k y ) k=1 = x y (1 + ε x + (1 + ε x ) = x (1 + ε) y ε = ε x + (1 + ε x ) k=1 ( 1) k ε k y ) k=1 ( 1) k ε k y Dies kann nun wie folgt abgeschätzt werden ε eps + (1 + eps) eps k = eps + (1 + eps)eps eps k Gilt z.b. eps 1 1+eps, dann gilt 2 1 eps k=1 1 = eps + (1 + eps)eps 1 eps = eps 3 und damit ε 4ε ( 1 + 1 + eps 1 eps k= = 1 1 eps D.h. wie bei der Multiplikation bleibt bei der Division bleibt der relative Fehler in der Größenordnung der Maschinengenauigkeit: ε = O(eps). ) 1.2.7 Addition Es gilt x + ỹ = x(1 + ε x ) + y(1 + ε y ) = (x + y) + (xε x + y ε y ) = (x + y)(1 + x x + y ε x + y x + y ε y 9

mit Also ε = x x + y ε x + y x + y ε y. x ε x + y ε y x + x + y ε x y eps ( x + y + y x + y ) x 2 eps max{ x + y, y x + y } Achtung: Dieser relative Fehler kann nicht nach oben abgeschätzt werden! Die Terme x und y können sehr groß werden wenn x y, z.b. x+y x+y } x = (.d 1 d 2... d r d r+1...d m ) b b n y = (.d 1 d 2...d r dr+1... d Die ersten r Ziffern stimmen überein! m ) b b n Der Einfachheit halber sei d r+1 d r+1,..., d m d m, dann gilt x + y = (.... ˆd r+1... ˆd m ) b b n = (. ˆd r+1... ˆd m ) b b n r b n r 1 Daraus folgt unmittelbar x x + y x bn 1 = br 1 bn r bn r d.h. je mehr Ziffern übereinstimmen desto größer ist die Fehlerverstärkung. 1.2.8 Kondition und Stabilität Bislang: Verknüpfung einzelner Operationen. Jetzt: Verknüpfung dieser Operationen zur Lösung mathematische Probleme f : X Y und Auswertung von f(x) für ein x X. Beispiel: Wir betrachten das mathematische Problem bestimme den Schnittpunkt zweier Geraden. Die Steigungen der Gerade seien bekannt und fest vorgegeben. D.h. wir kennen die exakte Darstellung der Geraden in der Normalenform: G 1 := {(u 1, u 2 ) R 2 : a 11 u 1 + a 12 u 2 = x 1 } G 2 := {(u 1, u 2 ) R 2 : a 21 u 1 + a 22 u 2 = x 2 } Mathematische Formulierung der Problemstellung: Bestimme zu gegebenem x = (x 1, x 2 ) T den Punkt u = (u 1, u 2 ) T, so dass ( ) ( ) ( ) a 11 u 1 + a 12 u 2 = x 1 a11 a 12 u1 x1 =. a 21 u 1 + a 22 u 2 = x 2 a 21 a 22 u 2 x 2 =:A =:u =:x 1

D.h. berechne u = A}{{ 1 x} falls A invertiert ist. =:f(x) Hier gilt also X = Y = R 2 und f(x) = A 1 x Frage: Wie sensibel reagiert die exakte Auswertung f(x) auf Störungen in der Eingabe von x? (Solche Störungen können in der Praxis zum Beispiel durch Messfehler entstehen). Bemerkung: Wir rechnen exakt, d.h. wir betrachten das rein mathematische Problem! Eingabe Problem/Prozess Ausgabe x X ỹ = f( x) f Fehler x = x x y = f( x) f(x) Definition 1.2.7 (Kondition eines Problems) Seien x, y geeignete Normen auf X und Y und ε x := x x x x, ε y := y y y y die relativen Ein- bzw. Ausgabefehler, dann heißt κ f := ε y ε x (1.2.3) die (relative) Kondition des Problems f(x) mit f : X Y. Ein Problem heißt gut konditioniert, wenn eine kleine Schranke für κ f für ε x existiert. Optimal wäre die Schranke κ f 1. Beispiel: Mathematisches Problem: Berechne 1 x(t) dt. Hier sind die Räume X und Y wie folgt definiert: x X := C([, 1]), y Y := R Sinnvolle Normen für X und Y können wie folgt festgelegt werden: Norm auf X = C([, 1]): d.h. x 1 = x x 1. x 1 := 1 x(t) dt Norm auf Y = R: Die Norm ist also einfach der Betrag. y = y 11

Das zu untersuchende mathematische Problem f: Der hier untersuchte Prozess f ordnet jeder stetigen Funktion x X = C([, 1]) eine reelle Zahl y Y = R zu. Formal kann dies also beschrieben werden durch f : X Y, mit x y = 1 x(t) dt Nun kann die Kondition des Problems berechnet werden. Eine um x gestörte Eingabe führt auf die gestörte Ausgabe ỹ = = Für den absoluten Fehler gilt also 1 1 x = x + x (x(t) + x(t)) } {{ } =:y = y + y 1 y = ỹ y = x 1 dt x(t) dt + x(t) dt x(t) dt 1 =: y x(t) dt = x 1 und damit folgt für die Kondition des Problems κ f = y / y = y x 1 / x 1 y x 1 y x 1 = x 1 x 1 y Ist das Problem nun gut oder schlecht konditioniert? 1. Sei x(t) = t 2. Dann gilt x 1 = 1 x(t) dt = 1 t2 dt = 1 und 3 y = 1 x(t) dt = 1. 3 Für die Kondition gilt also κ f 1. 2. Sei x(t) = sin(2πt). Dann gilt 12 x 1 x 1 = 1 x(t) dt 1 x(t) dt

x 1 = 1 x(t) dt = 1 sin(2πt) dt und y = 1 x(t) dt 1 = sin(2πt) dt =. Die Kondition kann also beliebig groß werden. Bemerkung: 1. Die Kondition ist Eigenschaft des Problems und nicht einer speziellen Lösungsmethode! 2. Für skalare Probleme, d.h. f : R n R mit glattem f kann man die Kondition leicht abschätzen: f( x) = f(x) + f(x) T ( x x) + O( x x 2 ) falls x x ist kann der quadratische Term x x 2 vernachlässigt werden: f( x). = f(x) + f(x) T ( x x) hierbei deutet. = an, dass dies eine Abschätzung in erster Näherung ist (in der Literatur manchmal auch als in linear Näherung bezeichnet). Mit dieser Abschätzung folgt für den relativen Ausgabefehler f( x) f(x) f(x). = = f(x)( x x) = f(x) n f(x) x j j=1 n j=1 x j f(x) ( x j x j ) x j f(x) x j ( x j x j ) f(x) Fehler in der Eingabe werden also wie folgt verstärkt: f( x) f(x) f(x) = n i=1 f(x) x i x i f(x) x i x i x i rel. Fehler =: ϕ i rel. Fehler der Ausgabe Verstärkungs- der Eingabe -faktoren Beispiel: Betrachte y = f(x) = x n, dann gilt ϕ(x) = f (x) x f(x) = n xn 1 x x n d.h. für den relativen Ausgabefehler gilt ε y. = n εx. = n 13

Beispiel: Multiplikation von zwei Zahlen, also f(x) = x 1 x 2 mit x = (x 1 x 2 ) R und f : R 2 R dann gilt f(x) f(x) = x 2, = x 1 x 1 x 2 also ϕ 1 = x 2 x 1 f(x) = x 2 x 1 x 1 x 2 = 1 = ϕ 2 die Multiplikation ist also stets gut Konditioniert. Beispiel: Für die Addition f(x) = x 1 + x 2 gilt: f(x) x 1 = 1, f(x) x 2 = 1 also ϕ 1 = 1 x 1 f(x) = x 1 x 1 + x 2, ϕ 2 = x 2 x 1 + x 2. Diese Terme kennen wir! Die Addition ist kann also schlecht konditioniert sein. Nämlich dann, wenn z.b. x 1 x 2 gilt. Definition 1.2.8 (Stabilität von Algorithmen) Ein Algorithmus heißt stabil, wenn die durch die Rechnung erzeugten Fehler in der Größenordung des durch die Kondition des Problems unvermeidbaren Fehler bleibt. Beispiel: Wie betrachten die Funktion f(x) = x n. 1. Wie oben hergeleitet ist die Kondition κ f = n. 2. Die Funktion f soll auch einem Rechner mit folgendem Algorithmus berechnet werden. Dann gilt ỹ = x x x... x ỹ = fl( x... fl( x fl( x x))...) = x n (1 + ε 1 ) (1 + e n 1 ) Sei x = x(1 + ε) dann folgt ỹ = x n (1 + ε) n (1 + ε 1 ) (1 + ε n 1 ). = x n (1 + nε + ε 1 + + ε n 1 ) und somit für ε, ε 1,..., ε n 1 < eps, dass ỹ y y Der Algorithmus ist also stabil. = ỹ xn < (2n 1) eps. x n 14

Kapitel 2 Numerische Lösung linearer Gleichungssysteme 2.1 Motivation: Das Poisson Problem Das ein-dimensionale Poisson-Problem ist eine einfache Randwertaufgabe: { u (x) = f(x) x (, 1) u() = u(1) = (2.1.1) Offensichtlich kann man eine exakte Lösung u bestimmen, falls f zweimal integriert werden kann. Z.B. ist für f(x) = sin(2πx) die exakte Lösung u(x) = 1 sin(2πx). (2π) 2 In höheren Dimensionen und für allgemeine rechte Seiten f ist es im Allgemeinen nicht mehr möglich eine exakte Lösung zu berechnen. Im folgenden soll gezeigt werden, wie eine einfache Näherungslösung berechnet werden kann. Die verwendete Technik kann auch auf höhere Dimensionen übertragen werden. Idee: u(x + h) = u(x) + u (x) h + 1 2 u (x) h 2 + 1 6 u (x)h 3 + O(h 4 ) u(x h) = u(x) u (x) h + 1 2 u (x) h 2 1 6 u (x) h 3 + O(h 4 ) Addiert man beide Gleichungen erhält man u(x + h) + u(x h) = 2u(x) + u (x) h2 + O(h 4 ) und somit u u(x + h) 2u(x) + u(x h) (x) = + O(h 2 ). (2.1.2) h 2 Mit (2.1.2) erhält man der zweiten Ableitung also eine Approximation der Ordnung 2. 15

Weitere Idee: Wähle N N und approximiere die Gleichung (2.1.2) auf dem Gitter Ω h := {x i = ih : i =,..., N + 1} mit h = 1 N + 1 Dadurch wird eine Näherungslösung durch die Gleichungen sowie ( u(x ) 2u(x 1 ) + u(x 2 ) ) = h 2 f(x 1 ) ( u(x 1 ) 2u(x 2 ) + u(x 3 ) ) = h 2 f(x 2 ) ( u(x N 1 ) 2u(x N ) + u(x N+1 ) ) = h 2 f(x N ) u(x ) = u(x N+1 ) = festgelegt. Mit den Abkürzungen u i := u(x i ) und f i := f(x 1 ) kann dies als lineares Gleichungssystem gesehen werden: A h u h = f h (2.1.3) wobei 2 1 1 2 1 A h = 1 h 1 2 1 2........., u h = 1 2 1 1 2. u 1 u 2 u 3. u N 1 u N, f h = f 1 f 2 f 3. f N 1 f N (2.1.4) Allgemeine Bemerkungen: 1. Lineare Gleichungssysteme Ax = b müssen oft für viele verschiedene rechte Seiten gelöst werden. D.h. lösen von Ax = b 1, Ax = b 2,..., Ax = b l sind alle rechten Seiten a priori bekannt, behandelt man AX = B mit B = (b 1,...,b l ) und löst (wenn möglich in einem Rutsch ) für X = (x 1,...,x l ) so dass Ax k = b k, k = 1,...,l sind nicht alle rechten Seiten a priori bekannt können Zwischenergebnisse zum Lösen von Ax 1 = b 1 manchmal zum lösen von Ax 2 = b 2,...,Ax l = b l wiederverwendet werden. 16

2. Oft kennt man die Herkunft der Matrix. Z.B. entsteht A h in (2.1.4) aus der Diskretisierung von (2.1.1). Dabei übertragen sich oft mathematische Eigenschaften, die eventuell ausgenutzt werden können. Eigewerte und Eigenvektoren sind für A h z.b. explizit bekannt. 3. Für die Implementierung können oft Struktureigenschaften ausgenutzt werden: A h ist tridiagonal (Speicheraufwand O(N) statt O(N 2 )) symmetrisch (Speicheraufwand Faktor 1 im Vergleich zu nicht-symmetrisch) 2 dünn besetzt (d.h. Anzahl der Nicht-Nulleinträge ist O(N)) 17