Numerik für natur- und ingenieurwissenschaftliche Studiengänge I

Größe: px
Ab Seite anzeigen:

Download "Numerik für natur- und ingenieurwissenschaftliche Studiengänge I"

Transkript

1 Institut für Numerische Mathematik und Optimierung Numerik für natur- und ingenieurwissenschaftliche Studiengänge I Michael Eiermann Wintersemester 2015/16

2 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 2 Die Aufgabe der Numerik ist die Konstruktion und Analyse von Algorithmen zur Lösung mathematischer Probleme. Diese Probleme stammen ursprünglich aus Technik, Naturwissenschaften, Sozial- oder Wirtschaftswissenschaften, liegen aber in mathematischer Form, z.b. als Differentialgleichungen, vor. Trotz unterschiedlichster Anwendungsgebiete treten in der Numerik immer wieder ähnliche mathematische und algorithmische Probleme auf: So müssen in (fast) allen Anwendungen lineare Gleichungssysteme gelöst werden. Es ist daher legitim, in einer Numerikvorlesung einzelne Aufgabengebiete isoliert und ohne Bezug zu den Anwendungen zu untersuchen. (Wir werden allerdings in Beispielen ausführlich auf Einsatzgebiete hinweisen.) Aufgaben der Numerik Technische Universität Bergakademie Freiberg

3 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 3 Themen dieser Vorlesung: Gleitpunktarithemtik, das Lösen von linearen Gleichungssystemen, lineare Ausgleichsrechnung, die Approximation komplizierter Funktionen durch einfachere, die näherungsweise Berechnung eines Integrals. Im zweiten Teil dieses Moduls (SS 2016, in englischer Sprache) werden Anfangs- bzw. Randwertaufgaben für gewöhnliche bzw. partielle Differentialgleichungen sowie das Lösen der dabei entstehenden Gleichungssysteme behandelt. Themen der Vorlesung Technische Universität Bergakademie Freiberg

4 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 4 Literatur: James W. Demmel. Applied Numerical Linear Algebra. SIAM, Philadelphia Gene H. Golub, Charles F. Van Loan. Matrix Computations (4th edition). The Johns Hopkins University Press, Baltimore Eugene Isaacson, Herbert Bishop Keller. Analysis of Numerical Methods. Dover Publications, Inc., New York Alfio Quarteroni, Riccardo Sacco, Fausto Saleri. Numerische Mathematik 1 und 2. Springer, Berlin Endre Süli, David F. Mayers. An Introduction to Numerical Analysis. Cambridge University Press, Cambridge Lloyd N. Trefethen, David Bau, III. Numerical Linear Algebra. SIAM, Philadelphia Literatur Technische Universität Bergakademie Freiberg

5 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 5 1 Einführung und Begriffe 1.1 Mathematische Modellbildung und numerische Simulation am Beispiel eines Wasserkreislaufs Simulation ist die Nachbildung eines dynamischen Prozesses in einem Modell, um zu Erkenntnissen zu gelangen, die auf die Wirklichkeit übertragbar sind (VDI-Richtlinie 3633). Zum einen ist die rechnerische Simulation dann unumgänglich, wenn reale Experimente mit den Untersuchungsobjekten undurchführbar sind: Denken Sie etwa an die Entstehung von Galaxien oder an Untersuchungsobjekte, die erst geplant sind, also noch gar nicht existieren. Aber auch wenn reale Experimente möglich sind, ist es oft kostengünstiger und ressourcenschonender, stattdessen numerische Simulationen einzusetzen. 1 Einführung und Begriffe Technische Universität Bergakademie Freiberg

6 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Modellbildung und numerische Simulation Technische Universität Bergakademie Freiberg

7 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 7 A. Physikalische Grundlagen. Evangelista Torricelli ( ): Abflussgeschwindigkeit v = 2gh, g = 9.81 (Gravitationsbeschleunigung), h = Höhe des Wasserspiegels. Abflussrate als Funktion des im Behälter befindlichen Wasservolumens V (falls es sich um einen Zylinder mit Grundfläche A handelt) f = a 2gV/A = c V mit c := a 2g/A. Der Parameter c kann über a (= Fläche der Austrittsöffnung) variiert werden, wenn der Abfluss einen Hahn besitzt. Wir sprechen von einem Steuerungsparameter. 1.1 Modellbildung und numerische Simulation Technische Universität Bergakademie Freiberg

8 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 8 B. Mathematisches Modell. U(t), V (t), W (t), R(t) f 1,..., f 5 p = p(t) : Wassermengen zur Zeit t in den Behältern. : Abflussfunktionen mit den Steuerungsparametern c 1,..., c 5. : Pumpenfunktion Änderungsraten der Wasservolumina: Zuflüsse Abflüsse, d.h. U (t) = p(t) f 1 (U(t)) f 2 (U(t)) V (t) = f 1 (U(t)) f 3 (V (t)) f 4 (V (t)) W (t) = f 2 (U(t)) + f 4 (V (t)) f 5 (W (t)) R (t) = f 3 (V (t)) + f 5 (W (t)) p(t). (1.1) Diese Gleichungen, sog. (gewöhnliche) Differentialgleichungen, heißen die Kontinuitätsgleichungen unseres Systems. 1.1 Modellbildung und numerische Simulation Technische Universität Bergakademie Freiberg

9 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 9 Anfangszustand: Wassermengen in Behältern zu einem festen Zeitpunkt, etwa für t = 0. Das Verhalten unseres Systems ist für alle Zeiten t > 0 durch die obigen Differentialgleichungen eindeutig bestimmt. Die Aufgabe, eine Lösung des Systems (1.1) zu bestimmen, welche gegebene Anfangsbedingungen erfüllt, nennt man ein Anfangswertproblem. Addiert man alle Gleichungen, so ergibt sich U (t) + V (t) + W (t) + R (t) = 0, ein globales Erhaltungsprinzip, welches besagt, dass sich die Gesamtwassermenge in unserer Apperatur nicht verändert. (Es handelt sich hier um ein geschlossenes System.) 1.1 Modellbildung und numerische Simulation Technische Universität Bergakademie Freiberg

10 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 10 C. Algorithmus. Anfangswertprobleme lassen sich nur in Ausnahmefällen geschlossen lösen (man kann zeigen: in unserem Fall gibt es genau eine Lösung). Aufgabe der Numerik: Bereitstellung von Näherungslösungen. Idee: Wir betrachten die Gleichungen nicht mehr für jeden beliebigen Zeitpunkt, sondern nur noch zu bestimmten diskreten Zeitpunkten, etwa für t 0 = 0, t 1 = 1,..., t n = n,... (Diskretisierung). U n := U(t n ),..., R n := R(t n ) (Volumina, die sich zum Zeitpunkt t n in den Behältern U,..., R befinden). Änderungsrate U (t n ) wird durch U(t n+1 ) U(t n ) = U n+1 U n approximiert (wir nähern hier eine Tangentensteigung durch eine Sekantensteigung an). 1.1 Modellbildung und numerische Simulation Technische Universität Bergakademie Freiberg

11 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 11 U n+1 = U n + p n f 1 (U n ) f 2 (U n ) V n+1 = V n + f 1 (U n ) f 3 (V n ) f 4 (V n ) W n+1 = W n + f 2 (U n ) + f 4 (V n ) f 5 (W n ) R n+1 = R n + f 3 (V n ) + f 5 (W n ) p n. Diese vier Gleichungen heißen die diskreten Kontinuitätsgleichungen unserer Kreislaufs (System von vier Differenzengleichungen). Addition liefert globales Erhaltungsprinzip U n+1 + V n+1 + W n+1 + R n+1 = U n + V n + W n + R n. (1.2) Legt man noch einen Anfangszustand fest (etwa U 0 = V 0 = W 0 = 0 sowie R 0 = Gesamtwassermenge = 100) und wählt geeignete Werte für die Parameter, etwa c 1 = 12, c 2 = c 4 = 2, c 3 = 1, c 5 = 2 sowie p = 17, so können wir unser Modell laufen lassen. 1.1 Modellbildung und numerische Simulation Technische Universität Bergakademie Freiberg

12 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I U n V n W n R n Wassermenge Zeit 1.1 Modellbildung und numerische Simulation Technische Universität Bergakademie Freiberg

13 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 13 D. Gleichgewichtswerte. Simulation: Jede der Größen U n, V n, W n und R n nähert sich mit zunehmendem n einem Gleichgewichtswert U, V, W, R, wenn wir die Steuerungsparameter nicht ändern. Bestimme Gleichgewichtswerte ohne (zeitaufwendige) Simulation: p = f 1 (U ) + f 2 (U ) f 1 (U ) = f 3 (V ) + f 4 (V ) f 5 (W ) = f 2 (U ) + f 4 (V ). Die vierte Gleichung (p = f 3 (V ) + f 5 (W )) ist redundant. Hier im Gegensatz zur Praxis Gleichungen einfach (Dreiecksform). Vorsicht: Die theoretisch ermittelten Gleichgewichtswerte können, aber müssen nicht im Fassungsbereich der Behälter liegen (Nebenbedingungen). 1.1 Modellbildung und numerische Simulation Technische Universität Bergakademie Freiberg

14 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 14 E. Steuerung. Wesentliches Ziel von Simulationen: Optimierung des Systemverhaltens bzw. Entscheidungshilfen für die Steuerung des Systems. In unserem Beispiel etwa: Wie muss man die Steuerungsparameter wählen, damit sich ein erwünschter (vorgegebener) Gleichgewichtszustand einstellt (auch hier: Nebenbedingungen, man kann z.b. die Hähne nicht beliebig weit öffnen). Fixiert man p, so führt dies in unserem Fall zu drei Bedingungen für die fünf Parameter c 1,..., c 5 : c 1 = c 2 + p/ U c 4 = c 3 + c 1 U / V c 5 = c 2 U / W + c 4 V / W. In realen Systemen ist ein solches Steuerungsproblem nicht explizit lösbar, man wird es nur näherungsweise und iterativ lösen können. 1.1 Modellbildung und numerische Simulation Technische Universität Bergakademie Freiberg

15 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 15 F. Kritik. Realität mathematisches Modell Algorithmus numerische Simulation der Realität. Bei jedem dieser drei Übergänge haben wir Fehler begangen, Modellierungsfehler. Unser Modell setzt wirbelfreien Wasserfluss voraus; in der Realität werden sich aber Wirbel bilden. Die Torricellische Ausflussformel ist nur gültig, wenn sich die Spiegelhöhe langsam ändert und keine Druckdifferenz zwischen Spiegel und Austrittsöffnung besteht, Voraussetzungen, die in der Realität nicht immer erfüllt sind. Diskretisierungsfehler. Wir haben den stetigen Strom des Wassers durch Durchschnittswerte (bez. Zeit und Raum) ersetzt. Rundungsfehler. Computer rechnen falsch. 1.1 Modellbildung und numerische Simulation Technische Universität Bergakademie Freiberg

16 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Linearisierung und Iterationsverfahren am Beispiel des Newton-Verfahrens Problem. Bestimme die Nullstelle(n) einer Funktion f : R D R, x f(x), bzw. die Lösung(en) der Gleichung f(x) = 0, x D. Konkreter: Bestimme a, a > 0, d.h. die positive Nullstelle der Funktion f : R R, x x 2 a, mit Hilfe der Grundrechenarten. 1.2 Linearisierung und Iterationsverfahren Technische Universität Bergakademie Freiberg

17 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 17 Mathematischer Hintergrund. Niels Henrik Abel ( ), Evariste Galois ( ): Es ist unmöglich, die Nullstellen allgemeiner nichtlinearer Funktionen elementar zu berechnen. Präziser: Die n Lösungen einer Gleichung der Form x n + a n 1 x n a 1 x + a 0 = 0 können für n > 4 i. Allg. nicht mit Hilfe der Grundrechenarten und der Wurzelfunktionen durch die Koeffizienten dargestellt werden. Für n = 2: x 1,2 = a 1 ± a 2 1 4a 0 2 Für n = 3 und n = 4 gibt es ähnliche (kompliziertere) Formeln. D.h.: Bei der Nullstellenbestimmung nichtlinearer Funktionen (oder, was dasselbe ist, bei der Lösung nichtlinearer Gleichungen) ist man so gut wie immer auf numerische Verfahren angewiesen!. 1.2 Linearisierung und Iterationsverfahren Technische Universität Bergakademie Freiberg

18 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 18 Angenommen, x 0 ist Näherung für a mit dem Fehler e: a = x0 + e (z.b. x 0 = a). Gesucht ist eine bessere Näherung x 1. Taylor-Entwicklung (Brook Taylor, ): 0 = f( a) = f(x 0 + e) = f(x 0 ) + f (x 0 ) e }{{} Taylor-Polynom f (ξ) e 2 mit ξ (x 0, a), falls x 0 < a, bzw. ξ ( a, x 0 ), falls x 0 > a. Man kann die Gleichung 0 = f(x 0 ) + f (x 0 ) e f (ξ) e 2 nicht nach e auflösen (ξ ist unbekannt!). Ist e aber klein, so ist e 2 noch viel kleiner und wir vernachlässigen den Term mit dem Faktor e 2, d.h. wir betrachten die lineare Gleichung 0 = f(x 0 ) + f (x 0 ) e mit der Lösung e = f(x 0) f (x 0 ) (falls f (x 0 ) 0). 1.2 Linearisierung und Iterationsverfahren Technische Universität Bergakademie Freiberg

19 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 19 Dann ist x 1 := x 0 + e = x 0 f(x 0 )/f (x 0 ) zwar keine Nullstelle von f, aber (hoffentlich) eine bessere Näherung für eine Nullstelle von f als x 0. Auf die gleiche Weise gewinnt man aus x 1 eine neue Näherung x 2 usw. Man setzt ein Iterationsverfahren ein: Wähle eine Ausgangsnäherung x 0. Für m = 1, 2,... iteriere gemäß x m := x m 1 f(x m 1) f (x m 1 ). (1.3) Dies ist das Newton-Verfahren (Sir Isaac Newton, ). Für f(x) = x 2 a ergibt sich als Iterationsvorschrift x m := 1 ( x m 1 + a ) (m = 1, 2,...). (1.4) 2 x m Linearisierung und Iterationsverfahren Technische Universität Bergakademie Freiberg

20 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I x 2 x 1 x Linearisierung und Iterationsverfahren Technische Universität Bergakademie Freiberg

21 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 21 Man ersetzt das komplizierte Problem f(x) = 0 durch das lineare Problem f(x m 1 ) + f (x m 1 )e = 0 und korrigiert x m = x m 1 + e. Äquivalent: Wir betrachten die Tangente an den Graphen von f im Punkt (x m 1, f(x m 1 )), y = f(x m 1 ) + f (x m 1 ) (x x m 1 ), und berechnen die Nullstelle x m dieser linearen Funktion. Die Idee der Linearisierung lässt sich also wie folgt beschreiben: Ersetze ein kompliziertes Problem durch ein benachbartes lineares Problem (bzw. durch eine Folge solcher Probleme). In unserem Beispiel wurde die komplizierte Gleichung f(x) = 0 durch eine Folge linearer Gleichungen, nämlich der Tangentengleichungen, ersetzt. Eine Linearisierung führt fast immer auf ein Iterationsverfahren, weil ein Korrekturschritt i. Allg. nicht ausreicht, um eine brauchbare Näherung für die Lösung des komplizierten Ausgangsproblems zu bestimmen. 1.2 Linearisierung und Iterationsverfahren Technische Universität Bergakademie Freiberg

22 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 22 Für f(x) = x 2 a mit a = 2: x 0 x 1 x 2 x 3 x (Nur die korrekten Ziffern von x 2, x 3 und x 4 sind angeben.) Es stellen sich folgende Fragen: 1. Konvergiert das Verfahren, d.h. gilt lim m x m = a, für jede Wahl des Startwerts x 0? Offenbar nicht, z.b. für x 0 = 0 ist x 1 noch nicht einmal definiert. 2. Also, für welche x 0 konvergiert die Folge {x m } m 0 gegen a? 3. Wann bricht man das Verfahren ab? Schranken für den Abbruchfehler x m a sind erforderlich. 1.2 Linearisierung und Iterationsverfahren Technische Universität Bergakademie Freiberg

23 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Diskretisierung und Stabilität am Beispiel der Wärmeleitungsgleichung Problem. Die Temperatur u(x, t), 0 x π, in einem homogenen Stab mit konstantem Querschnitt habe zur Zeit t = 0 den Wert u(x, 0) = f(x). Der Stab sei wärmeisoliert außer an den Rändern x = 0 und x = π, wo die Temperatur konstant auf u(0, t) = u(π, t) = 0 gehalten wird (t > 0). Bestimme die Wärmeverteilung u(x, t ), 0 x π, im Stab zur Zeit t > Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

24 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 24 Mathematisches Modell. Energieerhaltungssatz und Fouriersches Gesetz (Jean-Baptiste-Joseph Fourier, ), Wärme fließt in Richtung abfallender Temperatur und zwar umso intensiver, je größer die Temperaturdifferenzen sind, führen auf das Problem: Gesucht ist eine Funktion u : [0, π] [0, ) R, (x, t) u(x, t), die die folgenden Eigenschaften besitzt: u t (x, t) = γ2 2 u (x, t), x2 0 < x < π, t > 0 (1.5a) mit einer Materialkonstanten γ( 1). Außerdem u(x, 0) = f(x), 0 x π, (Anfangsbedingung) (1.5b) z.b. f(x) = 3 sin(x) sin(2x) + sin(3x), u(0, t) = u(π, t) = 0, t 0, (Randbedingungen). (1.5c) 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

25 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Waerme Zeit Ort Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

26 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 26 (1.5a) heißt Wärmeleitungsgleichung. Für komplizierte Anfangs- und Randbedingungen oder ortsabhängige Materialkonstanten kann man die Lösung solcher Probleme nicht explizit angeben. Es lässt sich jedoch beweisen, dass (1.5a), (1.5b), (1.5c) auch dann ein sachgemäß gestelltes Problem (im Sinn von Jacques Salomon Hadamard ( )) ist: 1. Es besitzt eine Lösung. 2. Diese Lösung ist eindeutig. 3. Sie hängt stetig von den Daten (den Anfangs- und Randbedingungen) ab! 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

27 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 27 Diskretisierung durch finite Differenzen: Bestimme u nur noch auf einem Gitter oder Netz Ω h,k = {(x i, t j ) : x i = ih für i = 0, 1,... n + 1, t j = jk für j = 0, 1,...}. Dabei sind h := π/(n + 1) bzw. k > 0 die Schrittweiten (Gitter- oder Netzweiten) in x- bzw. t-richtung. Unsere Näherung für u(x i, t j ) werden wir mit u i,j bezeichnen. In einem zweiten Schritt müssen wir die partiellen Ableitungen u/ t bzw. 2 u/ x 2 aus (1.5a) durch Ausdrücke annähern, die wir auf dem Gitter bestimmen können. 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

28 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 28 Dazu betrachten wir zuerst eine Funktion in einer Variablen, f : R I = [α, β] R, x f(x), und nehmen an, dass f in x 0 I differenzierbar ist. Weil f (x 0 ) = lim h 0 f(x 0 + h) f(x 0 ) h gilt, liegt es nahe, f (x 0 ) etwa durch eine der drei Formeln f(x 0 + h) f(x 0 ) h (Vorwärtsdifferenz) (1.6) f(x 0 ) f(x 0 h) h (Rückwärtsdifferenz) (1.7) f(x 0 + h) f(x 0 h) 2h (zentrale Differenz) (1.8) anzunähern. Dabei soll die Schrittweite h natürlich klein sein. 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

29 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 29 Die zweite Ableitung f (x 0 ) approximieren wir durch eine zentrale Differenz zweiter Ordnung f (x 0 ) f (x 0 + h) f (x 0 ) h f(x 0 +h) f(x 0 ) h f(x 0) f(x 0 h) h h (1.9) = f(x 0 + h) 2f(x 0 ) + f(x 0 h) h Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

30 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 30 Diskretisierungsfehler: a) Ist f in I zweimal stetig differenzierbar, so gilt f(x 0 + h) f(x 0 ) h = f (x 0 ) + C 1 h mit C max x I f (x) (analog für Rückwärtsdifferenz). b) Ist f in I dreimal stetig differenzierbar, so gilt mit C max x I f (x). f(x 0 + h) f(x 0 h) 2h c) Ist f in I viermal stetig differenzierbar, so gilt = f (x 0 ) + C 3 h 2 f(x 0 + h) 2f(x 0 ) + f(x 0 h) h 2 = f (x 0 ) + C 4 h 2 mit C max x I f (4) (x). 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

31 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 31 Analog bei partiellen Ableitungen, z.b.: u u(x, t + k) u(x, t) (x, t) = t k + O(k) für k 0,, und u u(x + h, t) u(x, t) (x, t) = x h + O(h) für h 0 2 u u(x + h, t) 2u(x, t) + u(x h, t) (x, t) = x2 h 2 + O ( h 2) für h 0. O (h p ) für h 0 (sprich: Groß O von h p ) ist eines der Landau-Symbole (Edmund Georg Hermann Landau, ) und wie folgt definiert: f(y) = g(y) für y a : f(y)/g(y) ist beschränkt für y a. 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

32 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 32 Approximiere u/ t(x, t 0 ) durch eine Vorwärtsdifferenz und u 2 / x 2 (x, t 0 ) durch eine zentrale Differenz zweiter Ordnung. Für n = 4 ergibt sich dann u 1,1 u 1,0 k u 2,1 u 2,0 k u 3,1 u 3,0 k u 4,1 u 4,0 k = u 0,0 2u 1,0 + u 2,0 h 2, = u 1,0 2u 2,0 + u 3,0 h 2, = u 2,0 2u 3,0 + u 4,0 h 2, = u 3,0 2u 4,0 + u 5,0 h Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

33 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 33 Wir lösen diese Gleichungen nach u i,1 auf und setzen τ := k/h 2. (Beachte u 0,0 = u 5,0 = 0, Randbedingungen!) u 1,1 u 1, u 1,0 u 2,1 u 3,1 = u 2,0 u 3,0 + τ u 2, u 3,0. u 4,1 u 4, Alle Einträge auf der rechten Seite dieser Gleichung sind bekannt (Anfangsbedingung!), wir können also die Näherungswerte u i,1 für die Zeitschiene t = k bestimmen. Analog kann man danach aus den Werten u i,1 die Werte u i,2 für die Zeitschiene t = 2k berechnen, usw. u 4,0 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

34 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 34 Explizites Euler-Verfahren (Leonhard Euler, ): Ziel: Berechne Näherungen u i,j für die Lösung u(ih, jk) von (1.5a), (1.5b), (1.5c), wobei 1 i n, 1 j m. Bestimme u (0) := [u 1,0, u 2,0,..., u n,0 ] T = [f(x 1 ), f(x 2 ),..., f(x n )] T aus der gegebenen Anfangsbedingung. Für j = 1, 2,..., m berechne u (j) = [u 1,j, u 2,j,..., u n,j ] T durch u (j) = [I + τa h ] u (j 1). (1.10) Dabei bezeichnen I die (n n)-einheitsmatrix, τ = k/h 2, A h die Tridiagonalmatrix A h = tridiag(1, 2, 1) R n n (s.o.) und u (j) den Vektor, der die Näherungen für die Temperatur zur Zeit t = jk enthält. 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

35 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 35 Für k = 1/11, h = π/30: Waerme Zeit Ort Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

36 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 36 Die folgende Tabelle zeigt, dass man für kleinere Werte von k sogar noch unsinnigere Werte erhält. Erst wenn die Zeitschrittweite k winzig ist, ergeben sich brauchbare Näherungen. k u(7h, 1) u(14h, 1) u(21h, 1) u(28h, 1) 1/ / / / / / (h = π/30, k = 0 bedeutet hier, dass es sich bei den zugehörigigen u-werten um die Funktionswerte der exakten Lösung handelt.) 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

37 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 37 Implizites Euler-Verfahren: Einziger Unterschied zum expliziten Verfahren: u t u(x, t) u(x, t k) (x, t). k Nun ergibt sich für die Gitterpunkte auf der ersten Zeitschiene t = k (im Spezialfall n = 4) u 1,1 u 1, u 1,1 u 2,1 u 3,1 = u 2,0 u 3,0 + τ u 2, u 3,1. u 4,1 u 4, u 4,1 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

38 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 38 Die Unbekannten auf der neuen Zeitschiene sind hier implizit durch die Werte auf der alten Zeitschiene gegeben, nämlich als Lösung eines linearen Gleichungssystems. D.h. in jedem Zeitschritt des impliziten Euler-Verfahrens muss ein lineares Gleichungssystem gelöst werden. Bestimme u (0) := [u 1,0, u 2,0,..., u n,0 ] T = [f(x 1 ), f(x 2 ),..., f(x n )] T aus der gegebenen Anfangsbedingung. Für j = 1, 2,..., m berechne u (j) = [u 1,j, u 2,j,..., u n,j ] T als Lösung von (I τa h )u (j) = u (j 1). (1.11) Für k = 1/11 und h = π/30 ergibt sich: 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

39 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 39 5 Anfangswert (t=0) 1.5 exakte Loesung (t=1) numerische Loesung (t=1) 0.06 Fehler Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

40 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 40 Warum verhalten sich explizites und implizites Verfahren so unterschiedlich? Bezeichnungen: Exakte Lösung für t = jk u (j) (h, k) := [u(h, jk), u(2h, jk),..., u(nh, jk)] T R n. Näherungslösung für t = jk u (j) Verf (h, k) Rn mit Verf {ex, im}. Globaler Diskretisierungsfehler dieser Verfahren e (j) Verf (j) (h, k) := u (h, k) u (j) Verf (h, k). Von einem vernünftigen Verfahren wird man erwarten, dass der globale Diskretisierungsfehler gegen Null strebt, wenn die Schrittweiten klein werden, e (j) (h, k) 0 für jk fixiert und h, k Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

41 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 41 Der lokale Diskretisierungsfehler der beiden Verfahren ist durch ex (h, k) := u (j) (h, k) [I + τa h ]u (j 1) (h, k), d (j) im (h, k) := [I τa h]u (j) (h, k) u (j 1) (h, k) d (j) (τ = k/h 2 ) erklärt. Er gibt an, wie gut die exakte Lösung die jeweilige Differenzenapproximation erfüllt (vgl. (1.10) und (1.11)). Es gilt (C 1, C 2 unabhängig von h, k, j und l) [d (j) Verf (h, k)] l k(c 1 k + C 2 h 2 ) (l = 1, 2,..., n), Verf {ex, im}. Die lokalen Diskretisierungsfehler der beiden Verfahren sind qualitativ gleich. Insbesondere erfüllen sie d (j) (h, k) 0 für k, h 0 (solche Verfahren nennt man konsistent). Dass sich die globalen Diskretisierungsfehler trotzdem erheblich unterscheiden, liegt am unterschiedlichen Stabilitätsverhalten der beiden Algorithmen. 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

42 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 42 Entscheidend: Zusammenhang zwischen globalen und lokalen Diskretisierungsfehlern e (j) [I τa h ]e (j) im Einheitliche Schreibweise: ex (h, k) = [I + τa h ]e ex (j 1) (h, k) + d ex (j) (h, k), (h, k) = e(j 1) im mit der Fehlerfortpflanzungsmatrix (h, k) + d (j) im (h, k). e (j) (h, k) = B h,k e (j 1) (h, k) + g (j) h,k (1.12) B h,k := { I + τah für das explizite Euler-Verfahren, (I τa h ) 1 für das implizite Euler-Verfahren (1.13) und einem Vektor g (j) h,k := { (j) d ex (h, k) (explizit), (I τa h ) 1 d (j) im (h, k) (implizit). (1.14) 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

43 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 43 Betrachten wir nun ganz abstrakt das Wachstumsverhalten einer Vektorfolge {e (j) } j=0,1,..., die rekursiv durch gegeben ist. Es gilt e (j) := Be (j 1) + g (j) (j = 1, 2,...) mit e (0) = 0 e (1) = g (1), e (2) = Be (1) + g (2) = Bg (1) + g (2), e (3) = Be (2) + g (3) = B 2 g (1) + Bg (2) + g (3),. =. e (j) = Be (j 1) + g (j) = j m=1 B j m g (m). 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

44 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 44 Das bedeutet e (j) 2 = j m=1 B j m g (m) 2 [ ] j max g (m) 2 1 m j m=1 j m=1 B j m 2 g (m) 2 B j m 2. (1.15) Der erste Faktor max 1 m j g (m) 2 wird bei beiden Euler-Verfahren (wie bei allen konsistenten Differenzenschemata) beliebig klein, wenn h und k nur genügend klein gewählt sind. Der zweite Faktor, j m=1 B j m 2 = { j, falls B 2 = 1, ( B j 2 1)/( B 2 1), falls B 2 1, ist beschränkt falls B 2 < 1 (nämlich durch 1/(1 B 2 )). Ist aber B 2 1, so wächst er über alle Schranken. 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

45 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 45 Wir nennen nun ein Differenzenverfahren stabil, wenn die Norm der zugehörigen Fehlerfortpflanzungsmatrix kleiner als 1 ist (und andernfalls instabil). Mit (1.15) haben wir ein Metatheorem der numerischen Mathematik bewiesen: Stabilität (dh. der zweite Faktor auf der rechten Seite von (1.15) ist beschränkt) und Konsistenz (d.h. der erste Faktor strebt mit h und k gegen 0) eines Differenzenschemas implizieren, dass der globale Diskretisierungsfehler ebenfalls gegen 0 geht (für h, k 0) man spricht dann von einem konvergenten Verfahren. Kürzer gefasst, Stabilität + Konsistenz Konvergenz. 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

46 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 46 Für das explizite Euler-Verfahren gilt B h,k 2 = I + τa h 2 < 1 genau dann, wenn τ = k h (das explizite Euler-Verfahren ist nur bedingt stabil, d.h. unter der oben angegebenen Bedingung), während das implizite Euler-Verfahren unbedingt stabil ist (d.h. ohne Bedingungen an h und k), B h,k 2 = (I τa h ) 1 2 < 1 für alle h und k. 1.3 Diskretisierung und Stabilität Technische Universität Bergakademie Freiberg

47 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 47 2 Gleitpunktarithmetik und Fehleranalyse 2.1 Ein einführendes Beispiel Berechnung von π: π = Umfang eines Kreises mit Radius r = 1 2, U n = Umfang eines einbeschriebenen regelmäßigen n-ecks = n sin(π/n). y (cos(2π/n)/2, sin(2π/n)/2) x 1/2 2 Gleitpunktarithmetik und Fehleranalyse Technische Universität Bergakademie Freiberg

48 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 48 Ein Algorithmus: Klar: lim n U n = lim n n sin(π/n) = π (unbrauchbar!) Setze A n = U 2 n Dann gelten: (Umfang des regelmäßigen 2 n -Ecks). A 2 = U 4 = 4 (1/2) 2 + (1/2) 2 = 2 2, A n+1 = 2 n 2(1 1 (A n /2 n ) 2 ), n = 2, 3,... (Rekursionsformel!) Archimedes von Syrakus (ca v. Chr.): A 3 = , A 4 = , A 5 = Ein einführendes Beispiel Technische Universität Bergakademie Freiberg

49 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 49 Eine Fehlerabschätzung Zunächst gilt für h > 0: sin(h) h h3 6 Setze h = π/n (und multipliziere mit N): (Taylorformel). D.h. (N = 2 n ): N sin(π/n) π π3 6 N 2. A n π π3 6 4 n (< für n 18). Auf zum Rechner Ein einführendes Beispiel Technische Universität Bergakademie Freiberg

50 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 50 Ernüchterung: Fehler A n π Fehlerschranke π 3 /(6*(4 n )) n Die berechnete Folge {A n } verhält sich völlig anders als die wirkliche Folge {A n }! Wie ist das möglich? 2.1 Ein einführendes Beispiel Technische Universität Bergakademie Freiberg

51 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Gleitpunktzahlen Gleitpunktzahlen sind rationale Zahlen der Form ±(d 0.d 1 d 2 d 3... d p 1 ) b b e, wobei b N (b > 1) m := (d 0.d 1 d 2 d 3... d p 1 ) b e Z, e min e e max Basis, Mantisse (zur Basis b) und Exponent genannt werden. Die Ziffern d 0, d 1, d 2,..., d p 1 sind jeweils ganze Zahlen zwischen 0 und b 1, womit für die Mantisse 0 m b(1 b p ) folgt. Die Anzahl p N der Ziffern heißt Mantissenlänge. Beispiel: Die Gleitpunktzahl x = ( ) besitzt die Dezimaldarstellung ( ) 2 1 = = Gleitpunktzahlen Technische Universität Bergakademie Freiberg

52 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 52 Wahl der Basis: Verschiedene Werte von b sind möglich bzw. werden verwendet, etwa b = 10: die Basis des täglichen Lebens, wird auch intern von vielen Taschenrechnern verwendet; b = 16: in den 60er und 70er Jahren von IBM Mainframe-Computern (Baureihe 360/370) benutzt; b = 3: Forschungsrechner SETUN, Moskauer Staatsuniversität, Ende der 50er Jahre; b = 2: inzwischen auf allen Rechnern üblich, diese Wahl besitzt viele Vorteile sowohl technischer als auch mathematischer Natur. 2.2 Gleitpunktzahlen Technische Universität Bergakademie Freiberg

53 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 53 Normalisierte Gleitpunktzahlen: Um möglichst viele Stellen einer Gleitpunktzahl in der Mantisse unterzubringen wird der Exponent so gewählt, dass die erste Ziffer der Mantisse (d.h. die erste gültige Ziffer) von Null verschieden ist. Solche Zahlen nennt man normalisiert; nicht normalisierte Zahlen werden auch subnormal oder denormalisiert genannt. Im Fall b = 2 ist die erste (höchstwertige) Ziffer (=Bit) stets eine Eins, man kann sich deren explizite Darstellung daher sparen (verstecktes Bit, hidden bit). 2.2 Gleitpunktzahlen Technische Universität Bergakademie Freiberg

54 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 54 Maschinengenauigkeit: Die kleinste normalisierte Gleitpunktzahl mit Mantissenlänge p x = ±(d 0.d 1 d 2... d p 1 ) b b e, d 0 0, welche noch größer als Eins ist, lautet ( ) b b 0 = 1 + b (p 1). Den Abstand ε := b (p 1) dieser Zahl zu Eins bezeichnet man als Maschinengenauigkeit (machine epsilon). 2.2 Gleitpunktzahlen Technische Universität Bergakademie Freiberg

55 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 55 Ulp: Allgemeiner definiert man für die obige Gleitpunktzahl ulp(x) := ( ) b b e = b (p 1) b e = ε b e. Ulp steht für unit in the last place, d.h. Stellenwert der letzten Ziffer, und gibt den Abstand zur betragsmäßig nächstgrößeren Gleitpunktzahl an. Sonderfall Null (b = 2): Ist das höchstwertige Bit versteckt, so stellt eine Mantisse (1.d 1 d 2... d p 1 ) 2, d 1 = = d p 1 = 0 aus lauter Nullen nicht Null, sondern die Eins dar. Es ist daher erforderlich, einen Wert des Exponenten für die Darstellung der Null zu reservieren. (Ältere Implementierungen arbeiteten aus diesem Grund ohne verstecktes Bit, mussten dafür aber bei gleicher Wortbreite eine um Eins kürzere Mantissenlänge in Kauf nehmen.) Auch die Frage, ob zwischen ±0 unterschieden werden soll, hat praktische Konsequenzen (Kahan, 1987). 2.2 Gleitpunktzahlen Technische Universität Bergakademie Freiberg

56 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 56 Ein Spielzeugbeispiel Wir betrachten das binäre Gleitpunktsystem bestehend aus Zahlen der Form ±(d 0.d 1 d 2 ) 2 2 e, e { 1, 0, 1}. Die normalisierten Mantissen dieses Systems sind (1.00) 2 = 1 (1.01) 2 = 1.25 (1.10) 2 = 1.5 (1.11) 2 = 1.75 Damit ergeben sich 24 normalisierte Gleitpunktzahlen, zusammen mit der Null also Gleitpunktzahlen Technische Universität Bergakademie Freiberg

57 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 57 Charakteristische Größen dieses Systems: Mantissenlänge: p = 3 größte normalisierte Zahl: N max = (1.11) = 3.5 kleinste normalisierte positive Zahl: N min = (1.00) = 0.5 Maschinengenauigkeit: ε = (1.01) 2 (1.00) 2 = 0.25 ε/2 e = 1 ulp((d 0.d 1 d 2 ) 2 2 e ) = ε e = 0 2ε e = 1. Wir bemerken ferner: Die Abstände zwischen den Gleitpunktzahlen nehmen von der Null weg zu. Aufgrund der Normalisierung klafft eine Lücke zwischen Null und der kleinsten normalisierten Zahl. 2.2 Gleitpunktzahlen Technische Universität Bergakademie Freiberg

58 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 58 Subnormale Zahlen: Die eben erwähnte Lücke kann geschlossen werden, wenn wir für Zahlen mit Exponenten e min auch denormalisierte Mantissen zulassen. In unserem Beispiel kommen dadurch die sechs Zahlen ±(0.01) = 0.125, ±(0.10) = 0.25, ±(0.11) = hinzu. Der Abstand dieser Zahlen zur nächstgelegenen Gleitpunktzahl ist allerdings groß relativ zu deren Betrag Gleitpunktzahlen Technische Universität Bergakademie Freiberg

59 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Rundung Sei M := Menge der Zahlen eines Gleitpunktsystems =: Maschinenzahlen. Liegt eine Eingangsgröße (etwa 1/10 im Binärsystem) oder ein Zwischenergebnis x in R \ M, so muss hierfür ein Ersatz x M bestimmt werden, ein Vorgang den wir mit Rundung bezeichnen: rd : R M, x rd(x). Üblich: Rundung zur nächstgelegenen Maschinenzahl: ist (hier b = 10) x = ±d 0.d 1 d 2... d p 1 d p e mit e min e e max aber möglicherweise unendlich langer Mantisse, so setzen wir rd(x) := ±d 0.d 1 d 2... d p 1 10 e, dp 1 = { dp 1 falls d p 4, d p falls d p Rundung Technische Universität Bergakademie Freiberg

60 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 60 Ist d p 1 = 9, so entsteht ein Übertrag und d p 2, möglicherweise auch d p 3,... sowie e, müssen modifiziert werden. Für p = 4 gilt etwa rd(4.4499) = und rd(9.9999) = Unschöne Eigenschaft dieser Rundung (hier stets e = 0): rd(1.0005) = 1.001, rd(rd( ) ) = rd( ) = rd(1.0005) = Dieses Phänomen bezeichnet man als Drift. 2.3 Rundung Technische Universität Bergakademie Freiberg

61 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 61 (Absoluter) Fehler bei Rundung: für eine Zahl x = ±m 10 e im normalisierten Bereich von M (d.h. 1 m < 10, e min e e max ) gilt Allgemein: (Basis b, 1 m < b) x rd(x) (p 1) 10 e. x rd(x) 1 2 b (p 1) b e = 1 2 ulp(x). Relativer Fehler bei Rundung: x rd(x) 1 x 2 b (p 1) b e m b e 1 2 b (p 1) = 1 2ε =: u. u heißt Rundungseinheit (unit roundoff). Anders formuliert rd(x) = (1 + δ)x mit δ u. Vorsicht: manchmal wird auch u als Maschinengenauigkeit definiert. 2.3 Rundung Technische Universität Bergakademie Freiberg

62 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Der IEEE-754 Standard Nach eine langen Zeit des Wildwuchses im Bereich der Gleitpunktarithmetik auf Computern fand Ende der 70er Jahre ein Standardisierungsprozess statt. Dieser führte schließlich 1985 zur Verabschiedung des IEEE-754 Standards für binäre Gleitpunktarithmetik a, der inzwischen von nahezu allen Computerherstellern befolgt wird. Der IEEE-Standard enthält drei wesentliche Forderungen: Darstellung. Konsistente Darstellung von Gleitpunktzahlen auf allen konformen Maschinen Rundung. Korrekt gerundete Gleitpunktoperationen bezüglich verschiedener Rundungsmodi Ausnahmen. Wohldefiniertes Verhalten bei Ausnahmesituationen (wie etwa Division durch Null) a IEEE = Institute for Electrical and Electronics Engineers 2.4 Der IEEE-754 Standard Technische Universität Bergakademie Freiberg

63 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 63 Sonderzahlen in IEEE-754: ± : Manchmal ist es sinnvoll, mit Ausdrücken wie 1/0 weiterzurechnen, anstatt das Programm abzubrechen. In IEEE-Arithmetik sind hierfür die Sonderzahlen ± definiert, welche folgenden Konventionen unterliegen: a + = (a > ), a = (a < ), a = (a > 0), a/0 = (a > 0) usw. NaNs: Ist das Ergebnis einer arithmetischen Operation undefiniert, so wird dieses auf den Wert NaN (Not a Number) gesetzt. Beispiele:, 0, 0/0 etc. 0: IEEE-Arithmetik unterscheidet 0 von +0. So gilt a/( 0) =, (a > 0) und umgekehrt wenn a < 0. Achtung: Es gilt zwar 0 = 0, aber. Aus diesem Grund ist a = b nicht äquivalent mit 1/a = 1/b, etwa wenn a = 0 und b = Der IEEE-754 Standard Technische Universität Bergakademie Freiberg

64 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 64 Darstellung IEEE-Arithmetik spezifiziert vier Formate für Gleitpunktzahlen: Single Double (optional, aber vom C-Standard verlangt), so gut wie überall verfügbar Single-extended (optional) Double-extended (optional) 2.4 Der IEEE-754 Standard Technische Universität Bergakademie Freiberg

65 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 65 Single-Format (FORTRAN: REAL*4, C: float) = 1 Wort = 32 Bits, ± Exp. Mantisse Vorzeichen (1 Bit) 1 Bit, 0 = +, 1 = Exponent (8 Bits) Anstatt durch Vorzeichen-Betrag oder Zweierkomplement wird der Exponent verschoben dargestellt (biased Exponent), d.h. der Wert e des Exponenten ergibt sich aus e = E 127, 1 E 254, d.h. 126 e 127, wobei E die durch die 8 Bits dargestellte Zahl bezeichnet. Die Werte E = 0, 255 sind reserviert für Sonderzahlen: E = 0 für subnormale Zahlen und Null, E = 255 für ± und NaN. Mantisse (23 Bits) Diese Ziffern stellen den Binärbruch dar. 2.4 Der IEEE-754 Standard Technische Universität Bergakademie Freiberg

66 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 66 Die IEEE-Single-Zahlen im Überblick Bitmuster E im Exponenten dargestellte Gleitpunktzahl ( ) 2 = 0 ±(0.d 1 d 2... d 23 ) ( ) 2 = 1 ±(1.d 1 d 2... d 23 ) ( ) 2 = 127 ±(1.d 1 d 2... d 23 ) ( ) 2 = 128 ±(1.d 1 d 2... d 23 ) ( ) 2 = 254 ±(1.d 1 d 2... d 23 ) ( ) 2 = 255 ± falls d 1 = = d 23 = 0, sonst NaN. 2.4 Der IEEE-754 Standard Technische Universität Bergakademie Freiberg

67 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 67 Charakteristische Größen von IEEE-Single: Mantissenlänge: p = 24 größte normalisierte Zahl: N max = ( ) = 2( ) kleinste normalisierte positive Zahl: N min = ( ) = kleinste positive Zahl: M min = ( ) = Maschinengenauigkeit: ε = ( ) 2 ( ) 2 = Der IEEE-754 Standard Technische Universität Bergakademie Freiberg

68 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 68 Double-Format (FORTRAN: REAL*8, C: double) = 2 Worte = 64 Bits, ± Exp. Man- tisse d.h. 1 Bit Vorzeichen, 11-Bit Exponent und (1+)52-Bit Mantisse. Charakteristika: p = 53 e min = = 1022 e max = = 1023 N min = N max M min = ε = Der IEEE-754 Standard Technische Universität Bergakademie Freiberg

69 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 69 Rundung in IEEE-Arithmetik Zu x R seien x, x + M die nächstgelegenenen Maschinenzahlen kleiner bzw. größer als x. IEEE-Arithmetik definiert rd(x) := x falls x M, andernfalls hängt der Wert rd(x) vom aktuell eingestellten Rundungsmodus ab, welcher einer der folgenden vier sein kann: Abrunden. rd(x) = x Aufrunden. rd(x) = x + Rundung zur Null. rd(x) = x, falls x 0 und rd(x) = x + falls x 0. Rundung zur nächsten Maschinenzahl (Default). rd(x) erhält den näher an x liegenden Wert unter x und x +. Liegt x genau zwischen x und x +, so wird diejenige Zahl als rd(x) gewählt, deren niedrigstwertiges Bit Null ist. (Dies verhindert Drift.) Weitere Ausnahme: rd(x) = falls x > N max und rd(x) = falls x < N max. 2.4 Der IEEE-754 Standard Technische Universität Bergakademie Freiberg

70 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 70 Ausnahmesituationen (exceptions) IEEE-Arithmetik definiert fünf Ausnahmesituationen sowie für jede dieser eine Standardreaktion: invalid operation (ungültige Operation) 0/0, /,, 1 und dergleichen division by zero (Division durch Null) overflow (Exponentüberlauf) Ergebnis einer Operation größer als N max underflow (Exponentunterlauf) Ergebnis einer Operation kleiner als N min Das Weiterrechnen mit denormalisierten Maschinenzahlen bezeichnet man als gradual underflow. inexact (ungenaues Ergebnis) Resultat keine Maschinenzahl (dies ist eigentlich keine Ausnahme) 2.4 Der IEEE-754 Standard Technische Universität Bergakademie Freiberg

71 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 71 IEEE-Philosophie bei Ausnahmesituationen IEEE-754 fordert, dass beim Eintreten einer Ausnahmesituation ein Statusbit gesetzt wird, welches explizit wieder gelöscht werden muss (sticky bit). Ferner legt der Standard nahe, dass dem Programmierer die Möglichkeit gegeben wird, entweder die Behandlung dieser Ausnahmesituation durch speziellen Code selbst zu bestimmen (exception handling) oder die Ausnahmesituation zu ignorieren und weiterzurechnen (exception masking). Dies gestattet es, nur in (seltenen) problematischen Fällen auf aufwendigere Varianten eines Programmcodes zurückzugreifen, um korrekte Behandlung des Rundefehlers zu gewährleisten. 2.4 Der IEEE-754 Standard Technische Universität Bergakademie Freiberg

72 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 72 invalid operation Standardreaktionen Setze Ergebnis auf NaN division by zero Setze Ergebnis auf ± overflow underflow inexact Setze Ergebnis auf ± oder ±N max Setze Ergebnis auf ±0, ±N min oder subnormal Setze Ergebnis auf korrekt gerundeten Wert Exponentüberlauf kann durch geeignete Skalierung oft auf Kosten eines harmlosen Unterlaufs vermieden werden. Beispiel: c = a 2 + b 2 mit a = und b = 1 (Rechnung mit vier Dezimalstellen in Mantisse und zwei Dezimalstellen im Exponent). Standardauswertung verursacht Überlauf. Besser: c = s (a/s) 2 + (b/s) 2 mit s = max{ a, b }. 2.4 Der IEEE-754 Standard Technische Universität Bergakademie Freiberg

73 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Korrekt gerundete Gleitpunktarithmetik Die Machinenzahlen M sind bezüglich der elementaren arithmetischen Operationen (Addition, Subtraktion, Multiplikation und Division) nicht abgeschlossen (selbst wenn wir für die Exponenten beliebige Werte erlauben). Beispiele: x = ist eine Gleitpunktzahl zur Basis 10 mit der Mantissenlänge 2, während x x = eine dreistellige Mantisse besitzt. Im IEEE-Single Format sind 1 und 2 24 beides Maschinenzahlen, deren Summe hingegen nicht. 2.5 Korrekt gerundete Gleitpunktarithmetik Technische Universität Bergakademie Freiberg

74 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 74 Für jede der Operationen {+,,, /} wird die entsprechende korrekt gerundete Gleitpunktoperation definiert durch fl(x y) := rd(x y), x, y M. Für alle x, y M gilt daher, falls weder Unter- noch Überlauf eintritt, fl(x y) = (1 + δ)(x y) mit δ u. Auf dieser Annahme fußt der Großteil moderner Rundungsfehleranalyse. Man beachte aber, dass die neuen Operationen den klassischen Gesetzen der Arithmetik (wie etwa den Kommutativ-, Assoziativ- und Distributivgesetzen) nicht mehr genügen. Z.B. in vierstelliger Gleitpunktarithmetik zur Basis 10: x = , y = M, x + y = , d.h. fl(x + y) = , was fl(x + y) = x bedeutet, obwohl rd(y) Korrekt gerundete Gleitpunktarithmetik Technische Universität Bergakademie Freiberg

75 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 75 Gerundete Arithmetik im IEEE-Standard IEEE-754 verlangt folgende korrekt gerundete Operationen die vier Grundrechenarten Quadratwurzel und Rest bei Division Formatkonvertierungen Die korrekte Rundung richtet sich nach dem Zielformat, was je nach Variablentyp oder aktueller Hardware (Akkumulator, Register oder Speicherzelle) unterschiedlich sein wird. 2.5 Korrekt gerundete Gleitpunktarithmetik Technische Universität Bergakademie Freiberg

76 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 76 Warum ist korrekte Rundung so wichtig? Man betrachte etwa die folgenden vier Fragen: Frage 1: Gilt fl(1 x) = x für x M? Frage 2: Gilt fl(x/x) = 1 für x M, x 0, x endlich? Frage 3: Gilt fl(0.5 x) = fl(x/2) für x M? Frage 4: Folgt aus fl(x y) = 0 für x, y M auch x = y? In IEEE-Arithmetik kann man jede dieser Fragen bejahen. In den 60er und 70er Jahren existierte zu jede Frage ein (jeweils weit verbreitetes) Computersystem, bei welchem für bestimmte Daten die Antwort nein lautete. Insbesondere kann man für IEEE-Arithmetik Frage 4 bejahen aufgrund der Verwendung subnormaler Zahlen. 2.5 Korrekt gerundete Gleitpunktarithmetik Technische Universität Bergakademie Freiberg

77 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 77 Ein Blick in die Implementierung: Addition und Subtraktion Gegeben: zwei IEEE-Single Zahlen x = m x 2 e x, y = m y 2 e y. Gilt e x = e y, so ergibt sich fl(x + y) aus (m x + m y ) 2 e x mit anschließender Normalisierung. Beispiel: 3 + 2: ( ) ( ) = ( ) Normalisierung: ( ) Ist e x > e y, so müssen die Mantissen zuerst angepasst werden, z.b. bei 3 + 3/4: ( ) ( ) = ( ) Korrekt gerundete Gleitpunktarithmetik Technische Universität Bergakademie Freiberg

78 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 78 Hilfsziffern (guard digits) Betrachte die Operation : ( ) ( ) = ( ) Abgerundet: ( ) Aufgerundet: ( ) In diesem Fall muss gerundet werden, da das Ergebnis keine Maschinenzahl ist. Allerdings erfordert die Berechnung der korrekt gerundeten Resultats eine Hilfsziffer rechts vom niedrigstwertigen Bit. Bei der Rundung zur nächstgelegenen Maschinenzahl würde hier aufgerundet (warum?). 2.5 Korrekt gerundete Gleitpunktarithmetik Technische Universität Bergakademie Freiberg

79 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 79 Auslöschung Wir betrachten die Subtraktion der (benachbarten) Zahlen x = 1 und y = ( ) ( ) ( ) = ( ) Normalisierung: ( ) Man spricht hier von Auslöschung, da sich alle Ziffern bis auf die letzte wegheben. Auch hier ist eine Hilfsziffer unabdingbar für korrekte Rundung. 2.5 Korrekt gerundete Gleitpunktarithmetik Technische Universität Bergakademie Freiberg

80 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 80 Notwendigkeit mehrerer Hilfsziffern Betrachte x y mit x = 1 und y = ( ) Bei der Verwendung von 25 Hilfsziffern erhalten wir ( ) ( ) = ( ) = ( ) = ( ) (Der Rundungsmodus ist Rundung zur nächsten Maschinenzahl). Weniger als 25 Hilfsziffern hätten hier nicht genügt, um das korrekt gerundete Ergebnis zu berechnen (nachprüfen!). Bei Rechnern der Firma CRAY Research war bis vor kurzem die Subtraktion aufgrund fehlender Hilfsziffern nicht korrekt gerundet. 2.5 Korrekt gerundete Gleitpunktarithmetik Technische Universität Bergakademie Freiberg

81 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 81 Man kommt aber mit weniger Hilfsbits aus: Wir verwenden nun zwei Hilfsziffern und ein zusätzliches Hilfsbit, welches dann gesetzt wird, wenn beim Shiften der Mantisse mindestens ein von Null verschiedenes Bit verlorengegangen (d.h. jenseits der zweiten Hilfsziffer gewandert) ist. Dieses Bit setzen wir vor der Subtraktion an die dritte Hilfsziffer: ( ) ( ) = ( ) Normalisierung: ( ) Rundung: ( ) Man kann zeigen, dass für korrekt gerundete Subtraktion nicht mehr als diese zwei Hilfsziffern und das Hilfsbit (sticky bit) benötigt werden. 2.5 Korrekt gerundete Gleitpunktarithmetik Technische Universität Bergakademie Freiberg

82 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 82 Multiplikation und Division: Hier ist ein Anpassen der Mantissen nicht notwendig: Multiplikation von x = m x 2 e x mit y = m y 2 e y ergibt xy = (m x m y ) 2 e x+e y. Somit besteht die Multiplikationsoperation aus den drei Schritten Multiplikation der Operandenmantissen, Addition der Operandenexponenten und Normalisierung des Ergebnisses. (Analog bei Division). Relative Geschwindigkeit von Multiplikation/Division im Vergleich zu Addition/Subtraktion: Im Prinzip gleich schnell in Hardware realisierbar, allerdings mit wesentlich mehr Aufwand. Aktueller Kompromiss beim Chipentwurf: Multiplikation ungefähr so schnell wie Addition/Subtraktion, Division deutlich langsamer. 2.5 Korrekt gerundete Gleitpunktarithmetik Technische Universität Bergakademie Freiberg

83 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Numerische Stabilität und Fehleranalyse Es sei ŷ = fl(f(x)) das in Gleitpunktarithmetik berechnete Ergebnis einer Funktion y = f(x). Wie beurteilt man die Qualität von ŷ? (Relativer) Vorwärtsfehler: (y ŷ)/y. (Relativer) Rückwärtsfehler: (x x)/x, dabei ist x das (ein) Eingabedatum, das bei rundungsfreier Rechnung zu ŷ führt: f( x) = ŷ (Rundungsfehler werden als Datenfehler interpretiert). Mit Störungstheorie kann man Vorwärtsfehler durch Rückwärtsfehler abschätzen. Faustregel: Vorwärtsfehler Konditionszahl Rückwärtsfehler. 2.6 Numerische Stabilität und Fehleranalyse Technische Universität Bergakademie Freiberg

84 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 84 exakt y x (absoluter) Rueckwaertsfehler (absoluter) Vorwaertsfehler ^x berechnet exakt ^y Daten Ergebnisse 2.6 Numerische Stabilität und Fehleranalyse Technische Universität Bergakademie Freiberg

85 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 85 Ein Algorithmus heißt vorwärtsstabil, wenn der Vorwärtsfehler klein ist, rückwärtsstabil, wenn der Rückwärtsfehler klein ist; was klein bedeutet, hängt vom Problem und der Maschinengenauigkeit ab. Die Kondition(szahl) eines Problems (hat nichts mit Gleitpunktarithmetik zu tun!!) ist ein Maß dafür, wie empfindlich das Ergebnis auf Störungen der Daten reagiert. Ein Problem ist gut (schlecht) konditioniert, wenn seine Konditionszahl klein (groß) ist. 2.6 Numerische Stabilität und Fehleranalyse Technische Universität Bergakademie Freiberg

86 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 86 Bestimme y = f(x), Störung der Daten: x ŷ = f(x + x) = f(x) + f (x) x f (ζ)( x) 2. x klein: ŷ = f(x + x) f(x) + f (x) x = y + f (x) x oder f(x + x) f(x) f(x) = ŷ y y xf (x) x f(x) x. (Relative) Konditionszahl von f an der Stelle x: c f (x) = xf (x) f(x). 2.6 Numerische Stabilität und Fehleranalyse Technische Universität Bergakademie Freiberg

87 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 87 Beispiel. f(x) = log(x), d.h.: c f (x) = x/x log(x) = kleine und sehr große (positive) x, riesig für x 1. x 1 = 0.01: c f (x 1 ) = , x 2 = 0.99: c f (x 2 ) = , x 3 = 100.: c f (x 3 ) = log(x) moderat für sehr Wie wirkt sich eine relative Störung von ε x = ( x)/x = aus? Prognose: f(x k x k ) f(x k ) f(x k ) c f (x k ) = log(x k ). k rel. Fehler Prognose Numerische Stabilität und Fehleranalyse Technische Universität Bergakademie Freiberg

88 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 88 Allgemeiner: y = f(x 1, x 2,..., x n ). Absolute Störungen der Daten, x k (k = 1, 2,..., n), verursachen absoluten Fehler im Ergebnis: y = f(x 1 + x 1,..., x n + x n ) f(x 1,..., x n ) d k = f(x 1, x 2,..., x n ) x k n d k x k, k=1 (absolute Konditionszahlen von f). Relative Störungen der Daten, ε k = x k /x k (k = 1, 2,..., n), verursachen relativen Fehler im Ergebnis: ε y = f(x 1 + x 1,..., x n + x n ) f(x 1,..., x n ) f(x 1,..., x n ) c k = x k f(x 1, x 2,..., x n ) (relative Konditionszahlen von f). f(x 1, x 2,..., x n ) x k n c k ε k, k=1 2.6 Numerische Stabilität und Fehleranalyse Technische Universität Bergakademie Freiberg

89 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 89 Beispiele. (Grundoperationen) y = f(x 1, x 2 ) = x 1 x 2. D.h. c 1 = 1 und c 2 = 1 (unproblematisch). y = f(x 1, x 2 ) = x 1 /x 2. D.h. c 1 = 1 und c 2 = 1 (unproblematisch). y = f(x 1, x 2 ) = x 1 + x 2. D.h. c 1 = x 1 /(x 1 + x 2 ) und c 2 = x 2 /(x 1 + x 2 ). y = f(x 1, x 2 ) = x 1 x 2. D.h. c 1 = x 1 /(x 1 x 2 ) und c 2 = x 2 /(x 1 x 2 ). Bei den Operationen ± können die Konditionszahlen riesig werden: x 1 x 2 : Addition schlecht konditioniert. x 1 x 2 : Subtraktion schlecht konditioniert. (Auslöschung!) Etwa: x 1 = , x 2 = x 1 = 10 5, x 2 = , d.h. ε , ε y = x 1 x 2 = (Auslöschung führender Ziffern). (x 1 + x 1 ) (x 2 + x 2 ) = Also ε y = Prognose: c 1 = , c 2 = , ε y c 1 ε 1 + c 2 ε ( ) Numerische Stabilität und Fehleranalyse Technische Universität Bergakademie Freiberg

90 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Ein abschließendes Beispiel Die quadratische Gleichung hat die Lösungen x 2 bx + c = 0 x 1/2 = b ± b 2 4c. 2 Für b = und c = erhält man nach Rechnung mit fünfstelliger Dezimalmantisse x 1 = (rel. Fehler: ), x 2 = (rel. Fehler: ). Warum? 2.7 Ein abschließendes Beispiel Technische Universität Bergakademie Freiberg

91 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 91 Schritt Ergebnis rel. Fehler 1. b c b 2 4c b 2 4c b b 2 4c (b b 2 4c)/ b + b 2 4c (b + b 2 4c)/ x 2 = c/x Ein abschließendes Beispiel Technische Universität Bergakademie Freiberg

92 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 92 Beispiel aus der Einleitung dieses Kapitels: A n+1 = 2 n [2 (1 ) 1 (A n /2 n ) 2 ] 1/2. } {{ } Auslöschung! Setze R n := (A n /2 n ) 2, d.h. A n+1 = 2 n R n. 2 Beachte: R n = 4Z n und Z n ist (die kleinere) Lösung von X 2 X (A n/2 n ) 2 = X 2 X + (A n /2 n+1 ) 2 = 0. Alter Trick: Z n = 2(A n /2 n+1 ) (A n /2 n ) 2, R n = 4Z n, A n+1 = 2 n R n. 2.7 Ein abschließendes Beispiel Technische Universität Bergakademie Freiberg

93 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Fehler der Naeherungen an π instabile Formel stabile Formel stabile Formel single Fehlerschranke Maschinengenauigkeit single Maschinengenauigkeit double Ein abschließendes Beispiel Technische Universität Bergakademie Freiberg

94 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 94 3 Numerische Verfahren zur Lösung linearer Gleichungssysteme The simplest model in applied mathematics is a system of linear equations. It is also by far the most important... (Gilbert Strang, Introduction to Applied Mathematics, Wellesley (CA) 1986, p. 1). Spötter behaupten, dass numerischen Berechnungen ausschließlich aus dem Lösen linearer Systeme bestehen. Richtig ist, dass sehr viele Aufgaben der Numerik durch Diskretisierung und Linearisierung auf das Lösen solcher Systeme reduziert werden. Wir haben im Zusammenhang mit der Wärmeleitungsgleichung gesehen, dass beim impliziten Euler-Verfahren in jedem Zeitschritt ein lineares Gleichungssystem entsteht. Typisch ist hier, dass diese Systeme nur Hilfsmittel sind, um ganz andere Probleme zu lösen (z.b. ein parabolisches Anfangsrandwertproblem). Typisch ist aber auch, dass die Rechenzeit, die zur Berechnung der Wärmeverteilung erforderlich ist, fast ausschließlich zur Lösung linearer Systeme eingesetzt wird. 3 Numerische Verfahren zur Lösung linearer Gleichungssysteme Technische Universität Bergakademie Freiberg

95 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Was ist ein lineares Gleichungssystem? x 1 x 2 = 0 3 x 2 = 1 2 x 1 + x 2 = 1 ist ein System von 3 Gleichungen in 2 Unbekannten. Allgemeiner und abstrakter: a 1,1 x 1 + a 1,2 x a 1,n x n = b 1 a 2,1 x 1 + a 2,2 x a 2,n x n = b 2... a m,1 x 1 + a m,2 x a m,n x n = b m ist ein System von m linearen Gleichungen in den n Unbekannten x 1, x 2,..., x n. 3.1 Was ist ein lineares Gleichungssystem? Technische Universität Bergakademie Freiberg

96 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 96 Kurzschreibweise: bzw [ x1 x 2 Ax = b mit A = [a i,j ] 1 i m,1 j n R m n, x = [x 1,..., x n ] T R n, b = [b 1,..., b m ] T R m. A ist die Koeffizientenmatrix und b die rechte Seite des linearen Gleichungssystems. ] = Was ist ein lineares Gleichungssystem? Technische Universität Bergakademie Freiberg

97 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 97 Geometrische Deutung: Jede der m Gleichungen repräsentiert eine Hyperebene im R m : A(i, :)x = b i mit A(i, :) = [a i,1, a i,2,..., a i,n ] (i = 1, 2,..., m). Gesucht ist der Durchschnitt dieser Hyperebenen. Analytische Deutung: Mit A(:, j) = [a 1,j, a 2,j,..., a m,j ] T lässt sich Ax = b auch als x 1 A(:, 1) + x 2 A(:, 2) + + x n A(:, n) = b schreiben. Gesucht sind also Koeffizienten x j, mit deren Hilfe man die rechte Seite b als Linearkombination der Spalten von A darstellen kann. Definiert man das Bild von A (engl. range) durch R(A) := {y R m : x 1, x 2,..., x n mit y = n x j A(:, j)}, dann folgt Ax = b besitzt genau dann (mindestens) eine Lösung, wenn b R(A). j=1 3.1 Was ist ein lineares Gleichungssystem? Technische Universität Bergakademie Freiberg

98 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 98 In unserem Beispiel, d.h. für A = = [ ], gilt R(A) = span {Ae 1, Ae 2 } = span α β 3β 2α + β : α, β R , D.h. dass unser Beispielsystem lösbar ist (α = β = 1/3), während etwa Ax = [1, 0, 0] T keine Lösung besitzt. 3.1 Was ist ein lineares Gleichungssystem? Technische Universität Bergakademie Freiberg

99 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 99 Der Kern oder Nullraum von A ist durch definiert. Es gelten: N (A) := {z R n : Az = 0 } Ax = b und z N (A) = A(x + z ) = b, Ax = b und A x = b = A(x x ) = 0, d.h. x x N (A). Das bedeutet: Ax = b besitzt genau dann höchstens eine Lösung, wenn N (A) = {0 }. Für A = [ ] ist N (A) = {[ 0 0 ]}. Das bedeutet: Ist Ax = b für ein b R 3 lösbar, dann ist es eindeutig lösbar. 3.1 Was ist ein lineares Gleichungssystem? Technische Universität Bergakademie Freiberg

100 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 100 Für quadratische Matrizen A R n n (ab sofort werden wir uns in diesem Kapitel ausschließlich mit solchen Matrizen befassen) heißt das: Ax = b ist genau dann eindeutig lösbar, wenn A invertierbar ist (d.h. wenn A 1 existiert bzw. det(a) 0 bzw. N (A) = {0 } bzw. R(A) = R n gelten). Die Grundidee vieler Algorithmen der numerischen linearen Algebra besteht darin, die zu lösende Aufgabe in eine einfache Form zu transformieren, bei der die Lösung (mehr oder weniger) abgelesen werden kann. Sehr einfach zu lösende Gleichungssysteme sind sogenannte Dreieckssysteme, mit deren Lösung wir uns zunächst beschäftigen. 3.1 Was ist ein lineares Gleichungssystem? Technische Universität Bergakademie Freiberg

101 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Das Lösen von Dreieckssystemen Ein lineares Gleichungssystem der Form r 1,1 x 1 + r 1,2 x r 1,n x n = c 1 r 2,2 x r 2,n x n = c r n,n x n = c n oder kurz: Rx = c mit einer oberen Dreiecksmatrix R = [r i,j ] 1 i,j n R n n (r i,j = 0 i > j) heißt (oberes) Dreieckssystem. Untere Dreieckssysteme Lx = d mit unteren Dreiecksmatrizen L = [l i,j ] 1 i,j n R n n (l i,j = 0 i < j) werden analog definiert. 3.2 Das Lösen von Dreieckssystemen Technische Universität Bergakademie Freiberg

102 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 102 Ist det(r) 0, d.h. r i,i 0 i = 1, 2,..., n, so besitzt Rx = c genau eine Lösung, die man durch Rückwärts-Substitution, x j = 1 r j,j (c j r j,j+1 x j+1 r j,n x n ) (j = n, n 1,..., 1), mit n Divisionen, n(n 1)/2 Multiplikationen und n(n 1)/2 Additionen, also mit insgesamt n 2 Gleitpunktoperationen berechnen kann. Untere Dreieckssysteme Lx = d werden falls det(l) 0 analog durch Vorwärts-Substitution, x j = 1 l j,j (d j l j,1 x 1 l j,j 1 x j 1 ) in n 2 Gleitpunktoperationen gelöst. (j = 1, 2,..., n), 3.2 Das Lösen von Dreieckssystemen Technische Universität Bergakademie Freiberg

103 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Gauß-Elimination (Carl Friedrich Gauß, ) Idee: Transformiere Ax = b, A R n n mit det(a) 0, auf ein oberes Dreieckssystem Rx = c, ohne die Lösung zu verändern. (Löse dann Rx = c durch Rückwärts-Substitution.) Die Lösung eines Gleichungssystems verändert sich nicht, wenn man es einer der drei folgenden Umformungen unterzieht: Subtrahiere von einer Gleichung das λ-fache einer anderen. Vertausche zwei Gleichungen. Vertausche zwei Variablen (hier muss man sich allerdings merken, welche Unbekannten vertauscht wurden). 3.3 Gauß-Elimination Technische Universität Bergakademie Freiberg

104 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 104 Beispiel x 1 x 2 x 3 x 4 = Schritt: Eliminiere x 1 aus der zweiten, dritten und vierten Gleichung. Um das zu erreichen, substrahiert man das l i,1 = a i,1 a 1,1 -fache der ersten Gleichung von der i-ten (i = 2, 3, 4). Hier: l 2,1 = 2, l 3,1 = 3, l 4,1 = 1. Es ergibt sich x x x 3 = x Gauß-Elimination Technische Universität Bergakademie Freiberg

105 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Schritt: Eliminiere x 2 aus der dritten und vierten Gleichung, d.h. subtrahiere das l i,2 = a i,2 a 2,2 -fache der zweiten Gleichung von der i-ten (i = 3, 4). Hier: l 3,2 = 2, l 4,2 = 3. Es ergibt sich x x x 3 = x Schritt: Eliminiere x 3 aus der vierten Gleichung, d.h. subtrahiere das l i,3 = a i,3 a 3,3 -fache der dritten Gleichung von der i-ten (i = 4). Hier l 4,3 = 5: 3.3 Gauß-Elimination Technische Universität Bergakademie Freiberg

106 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I x 1 x 2 x 3 x 4 = Die Eliminationsphase ist jetzt abgeschlossen und wir können x 4, x 3, x 2, x 1 durch Rückwärts-Substitution bestimmen: x 4 = 1, x 3 = 1 2 [1 7x 4] = 3, x 2 = 1 2 [ 10 3x 3 + 5x 4 ] = 2, x 1 = 1 2 [1 + x 2 + 3x 3 3x 4 ] = 9 2. Bei der numerischen Rechnung wird die Matrix A durch die Zwischenmatrizen überschrieben (analog für die rechte Seite). Außerdem müssen die Nullen unterhalb der Hauptdiagonalen nicht gespeichert werden, man verwendet diese Felder für die Zahlen l i,j. 3.3 Gauß-Elimination Technische Universität Bergakademie Freiberg

107 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 107 In unserem Beispiel: Gauß-Elimination Technische Universität Bergakademie Freiberg

108 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 108 Das Gaußsche Eliminationsverfahren bestimmt eine LR-Zerlegung von A, d.h. es gilt A = L R. In unserem Beispiel L = und R = Programm: for j = 1:n-1 if A(j,j) = 0, stop for i = j+1:n A(i,j) = A(i,j)/A(j,j) b(i) = b(i)-a(i,j)*b(j) for k = j+1:n A(i,k) = A(i,k)-A(i,j)*A(j,k) 3.3 Gauß-Elimination Technische Universität Bergakademie Freiberg

109 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Pivotisierung Das Eliminationsverfahren bricht (bereits im ersten Schritt) zusammen, wenn es auf die Matrix A = [ ] angewandt wird (obwohl det(a) 0). Einfache Abhilfe: Vertausche die Zeilen (Gleichungen) von A, damit das Pivotelement a 1,1 von 0 verschieden ist. Kleine Pivotelemente können zu ungenauen Ergebnissen führen: Beispiel: [ ] [ ] [ ] [ x =, Lösung x = Gauß-Elimination (mit Machinengenauigkeit eps = ): x 1 + x 2 = 1 ( )x 2 = 10 20, gerundet x 2 = 10 20, d.h. x 2 = 1, x 1 = 0. ]. 3.4 Pivotisierung Technische Universität Bergakademie Freiberg

110 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 110 bzw. [ ] [ ] 1 0 L = und R = statt [ ] [ ] L = und R = Das bedeutet [ ] [ ] L R = statt LR = = A Pivotisierung Technische Universität Bergakademie Freiberg

111 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 111 Standard Abhilfe: Spaltenpivotsuche: Bestimme im j-ten Eliminationsschritt den Index j 0 {j, j + 1,..., n} mit a j0,j = max j k n a k,j und vertausche die Zeilen (Gleichungen) j und j 0. Obiges Beispiel: [ ] [ x1 x 2 ] = [ 0 1 ] bzw. [ ] [ x1 x 2 ] = [ 0 1 ] liefert x 2 = 1 und x 1 = Pivotisierung Technische Universität Bergakademie Freiberg

112 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 112 Diese Pivotstrategie kann leicht ad absurdum geführt werden, wenn man die verschiedenen Gleichungen unterschiedlich wichtet: Beispiel (wie oben, nur erste Gleichung wurde mit multipliziert) [ ] [ ] [ ] x führt bei Rechnung = (mit Spaltenpivotsuche), eps 10 16, x 2 wie oben auf x 2 = 1 und x 1 = 0. A heißt zeilenäquilibriert, wenn in jeder Zeile die Betragssumme der Einträge gleich ist, n a i,j = 1 (i = 1, 2,..., n). j=1 Man kann das leicht dadurch erreichen, indem man die i-te Zeile vorab mit 1/ n j=1 a i,j multipliziert. 3.4 Pivotisierung Technische Universität Bergakademie Freiberg

113 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 113 Programm zur Eliminationsphase (mit Spaltenpivotsuche) for i = 1:n d(i) = 1/sum(abs(A(i,1:n))) for j = 1:n-1 m = j for i = j+1:n if d(i)*abs(a(i,j)) > d(m)*abs(a(m,j)), m = i p(j) = m Vertausche Zeile j und Zeile p(j) (ab Spalte j) Vertausche d(j) und d(p(j)) for i = j+1:n A(i,j) = A(i,j)/A(j,j) for k = j+1:n A(i,k)= A(i,k) - A(i,j)*A(j,k) Aufwand: 2 3 n3 Gleitpunktoperationen 3.4 Pivotisierung Technische Universität Bergakademie Freiberg

114 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 114 (passendes) Programm für die Substitutionsphase for j = 1:n-1 m = p(j) Vertausche b(j) und b(m) for i = j+1:n b(i) = b(i) - A(i,j)*b(j) x(n) = b(n)/a(n,n) for j = n:-1:1 x(j) = b(j) for i = n:-1:j+1 x(j) = x(j) - A(j,i)*x(i) x(j) = x(j)/a(j,j) Aufwand: 2n 2 Gleitpunktoperationen 3.4 Pivotisierung Technische Universität Bergakademie Freiberg

115 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 115 In der Praxis häufig: Löse mehrere (etwa m) Systeme Ax k = b k (k = 1,..., m) mit gleicher Matrix aber verschiedenen rechten Seiten. Dann muss die Eliminationsphase nur einmal durchgeführt werden. Formal: 1. Bestimme LR-Zerlegung von A: A = LR. 2. Für k = 1, 2,..., m löse Ly k = b k, löse Rx k = y k. Aufwand: 2 3 n3 + 2mn 2 Gleitpunktoperationen 3.4 Pivotisierung Technische Universität Bergakademie Freiberg

116 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 116 Ergänzungen: 1. Ist A (streng) diagonaldominant, a i,i > j i a i,j für alle i = 1, 2,..., n, so kann theoretisch auf Spaltenpivotsuche verzichtet werden. 2. Man kann die Qualität einer berechneten Lösung x durch Nachiteration verbessern: a) Berechne Residuum r = b A x (doppelt genau). b) Löse Ah = r (verwende LR-Zerlegung). c) Setze x = x + h. 3.4 Pivotisierung Technische Universität Bergakademie Freiberg

117 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Vektor- und Matrixnormen Um die Länge von Vektoren (und damit den Abstand zweier Vektoren) zu messen, definieren wir Normen, das sind Abbildungen : R n R + 0, x x, die positiv definit, d.h. x > 0 x R n, x 0, sowie homogen, d.h. αx = α x α R, x R n, sind und außerdem der Dreiecksungleichung, d.h. x + y x + y x, y R n, genügen. Abstand zweier Vektoren x, y R n (bez. der Norm ): x y. 3.5 Vektor- und Matrixnormen Technische Universität Bergakademie Freiberg

118 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 118 Die wichtigsten Normen im R n sind: x 1 := x 2 := (x = [x 1, x 2,..., x n ] ). n x i (Summennorm), j=0 n x i 2 j=0 x := max 1 j n x i 1/2 (Euklid-Norm), (Maximumnorm) (Euklid von Alexandria, 3. Jahrhundert v. Chr.) 3.5 Vektor- und Matrixnormen Technische Universität Bergakademie Freiberg

119 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 119 Obwohl alle Normen im R n äquivalent sind (hier: x 2 x 1 n x 2, x x 2 n x, und x x 1 n x für alle x R n ), d.h. sie erzeugen dieselbe Topologie (Grenzwerte, Stetigkeit), gibt es deutliche Unterschiede: Einheitskreisscheibe {x R 2 : x 1} bez. 1, 2 und : Vektor- und Matrixnormen Technische Universität Bergakademie Freiberg

120 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 120 Eine Matrixnorm ist eine Abbildung : R n n R + 0, A A, die positiv definit, d.h. A > 0 A R n n, A O, sowie homogen, d.h. αa = α A α R, A R n n, ist und der Dreiecksungleichung, d.h. A + B A + B A, B R n n, genügt. Zusätzlich soll sie submultiplikativ sein, d.h. AB A B A, B R n n. Beispiel: Frobenius-Norm (Ferdinand Georg Frobenius, ) (A = [a i,j ] 1 i,j n R n n ) A F := n i,j=0 a i,j 2 1/2 = [ spur(a T A) ] 1/ Vektor- und Matrixnormen Technische Universität Bergakademie Freiberg

121 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 121 Jede Vektornorm V im R n induziert durch A M := max Ax V = max x V =1 x 0 Ax V x V eine Matrixnorm in R n n, die von V induzierte Matrixnorm. Es ist üblich, für V und M das gleiche Symbol zu verwenden: 1 induziert die Spaltensummennorm A 1 = max 1 j n n i=1 a i,j. 2 induziert die Spektralnorm A 2 = λ max (A T A). induziert die Zeilensummennorm A = max 1 i n n j=1 a i,j. 3.5 Vektor- und Matrixnormen Technische Universität Bergakademie Freiberg

122 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 122 Eine Vektornorm V und eine Matrixnorm M sind miteinander verträglich (oder passen zueinander), wenn Ax V A M x V x R n, A R n n gilt. Bezeichnet M die von der Vektornorm V induzierte Matrixnorm, so sind V und M miteinander verträglich. M ist die kleinste Matrixnorm, die mit V verträglich ist: Für alle A R n n gilt A M = min{ A : ist mit V verträglich}. Die Euklidsche Vektornorm 2 ist mit der Frobenius-Norm F verträglich. 3.5 Vektor- und Matrixnormen Technische Universität Bergakademie Freiberg

123 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Stabiltät bei der Gauß-Elimination Nicht verwechseln darf man: Die Stabilität eines mathematischen Problems (hier: eines linearen Gleichungssystems mit invertierbarer Koeffizientenmatrix), die beschreibt, wie sich die Lösung bei exakter Rechnung verändert, wenn die Daten gestört werden. Die Stabilität eines numerischen Verfahrens (hier: der Gauß-Elimination mit Spaltenpivotsuche), die beschreibt, wie sich die in Gleitpunktarithmetik berechnete Lösung von der exakten Lösung unterscheidet. 3.6 Stabiltät bei der Gauß-Elimination Technische Universität Bergakademie Freiberg

124 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 124 Beispiel: (Instabilität des mathematischen Problems) A = , b = 23 33, b = , x := A 1 b = 1 1, x := A 1 b = Erklärung: cond (A) = , also 13.6 = x x x cond (A) b b b = ( ) = Stabiltät bei der Gauß-Elimination Technische Universität Bergakademie Freiberg

125 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Es gibt Systeme, die so schlecht konditioniert sind, dass sie durch kein Verfahren zuverlässig gelöst werden können!! Kondition eines linearen Gleichungssystems bezüglich Störungen in A (A invertierbar) und/oder b 0 : Seien x bzw. x die (exakten) Lösungen von Ax = b und à x = b. Dann: [ ] x x A cond (A) à b b + mit cond(a) := A A 1 x A b (falls die beteiligten Vektor- und Matrixnormen zueinander passen). Interpretation: Relative Fehler in den Daten A und b verstärken sich mit dem Faktor cond(a) ins Ergebnis x = A 1 b. Auf einem Rechner mit Maschinengenauigkeit eps muss man also mindestens mit einem Fehler der Größenordnung cond(a)eps in x rechnen ein LGS Ax = b ist durch kein Verfahren zuverlässig lösbar, wenn cond(a) 1/eps gilt. 3.6 Stabiltät bei der Gauß-Elimination Technische Universität Bergakademie Freiberg

126 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 126 Die Hilbert-Matrix der Dimension n (David Hilbert, ) n n H n = n n 1 n n+2 2n 1 ist symmetrisch und positiv definit, insbesondere also invertierbar. Ihre Konditionszahl cond 2 (H n ) wächst wie e 7n/2 : n cond 2 (H n ) cond (H n ) Stabiltät bei der Gauß-Elimination Technische Universität Bergakademie Freiberg

127 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 127 Wir lösen H 12 x = b mit Maschinengenauigkeit eps = (die rechte Seite b wurde so gewählt, dass A 1 b = [1,..., 1] T gilt). 1.4 exakte Lösung Lösung durch GE 1.2 x j j 3.6 Stabiltät bei der Gauß-Elimination Technische Universität Bergakademie Freiberg

128 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 128 Wie wir an einfachen Beispielen gesehen haben, kann auf Pivotsuche i.a. nicht verzichtet werden. 2. Bei (sehr) speziellen Matrizen ist Gauß-Elimination mit Spaltenpivotsuche (rückwärts) instabil!! Analyse des Rückwärtsfehlers bei Gauß-Elimination mit Spaltenpivotsuche: Es seien A R n n invertierbar und b R n. In Gleitpunktarithmetik (mit Maschinengenauigkeit eps) werde durch Gauß-Elimination (mit Spaltenpivotsuche) eine Näherung x der Lösung des Systems Ax = b berechnet. Dann gilt: Dabei ist (A + A) x = b mit A 3 ρ n 3 A eps. ρ := max 1 i,j n r i,j max 1 i,j n a i,j der sog. Wachstumsfaktor bei Gauß-Elimination mit Spaltenpivotsuche. 3.6 Stabiltät bei der Gauß-Elimination Technische Universität Bergakademie Freiberg

129 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 129 Man wird also mit numerischen Schwierigkeiten bei der Gauß-Elimination rechnen, wenn Einträge r i,j in der Matrix R (= oberer Dreiecksfaktor aus der Gauß-Elimination) groß werden. Bei Gauß-Elimination mit Spaltenpivotsuche gilt: ρ 2 n 1 (!!). Diese obere Schranke wird angenommen für A = , d.h. R = Stabiltät bei der Gauß-Elimination Technische Universität Bergakademie Freiberg

130 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 130 Gauß-Elimination mit Spaltenpivotsuche ist potentiell instabil (bei sehr speziellen Matrizen). In der Praxis ist das Verfahren aber stabil, trotzdem ist Vorsicht angebracht. Für gewisse Klassen von Matrizen wächst der Growth factor ρ wesentlich langsamer, z.b. gilt ρ 2, falls A tridiagonal ist. In der Praxis beobachtet man i.a. ein Anwachsen von ρ wie bei n 2/ Stabiltät bei der Gauß-Elimination Technische Universität Bergakademie Freiberg

131 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 131 Rückwärtsanalyse (interpretiere Rundefehler als Datenfehler) (A + A) x = b mit A 3 ρ n 3 A eps und Konditionsanalyse (wie wirken sich Datenfehler in exakter Arithmetik auf das Ergebnis aus) [ ] x x A cond (A) Ã b b + mit cond(a) := A A 1 x A b liefern insgesamt x x x 3 n 3 ρ cond (A) eps. Gauß-Elimination mit Spaltenpivotsuche ist stabil, wenn Wachstumsfaktor ρ und Konditionszahl cond(a) klein sind. 3.6 Stabiltät bei der Gauß-Elimination Technische Universität Bergakademie Freiberg

132 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 132 Wir haben gesehen, dass ρ 2 n 1 für alle A R n n gilt und dass diese Schranke angenommen wird. In der Praxis wächst ρ aber wesentlich langsamer mit n, so dass Gauß-Elimination mit Spaltenpivotsuche praktisch rückwärts stabil ist. Ob dieser Algorithmus auch vorwärts stabil ist, hängt von A bzw. von cond(a) ab. Es gibt invertierbare Matrizen A (die auf den ersten Blick ganz unverdächtig aussehen), aber extrem schlecht konditioniert sind. 3.6 Stabiltät bei der Gauß-Elimination Technische Universität Bergakademie Freiberg

133 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Die Cholesky-Zerlegung Eine symmetrische Matrix A R n n heißt positiv definit, wenn x T Ax > 0 x 0 gilt. Positiv definite Matrizen besitzen nur positive Hauptdiagonaleinträge, a i,i > 0, und nur positive Eigenwerte, λ i > 0 (wobei Av i = λ i v i für ein v i 0 ). Jede positiv definite Matrix besitzt eine Cholesky-Zerlegung (André-Louis Cholesky, ) A = LDL T oder A = GG T. Hier ist L eine normierte untere Dreiecksmatrix (d.h. diag(l) = (1,..., 1)), D ist eine Diagonalmatrix mit positiven Hauptdiagonalelementen und G = LD 1/2 ist eine untere Dreiecksmatrix mit positiven Hauptdiagonalelementen. 3.7 Die Cholesky-Zerlegung Technische Universität Bergakademie Freiberg

134 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 134 Für A = liefert Gauß-Elimination z.b. die LR-Zerlegung A = LR mit L = und R = = =: DLT 3.7 Die Cholesky-Zerlegung Technische Universität Bergakademie Freiberg

135 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 135 bzw. A = GG T mit G = LD 1/2 = = Durch Ausnutzung der Symmetrie von A lässt sich der Rechenaufwand der Cholesky-Zerlegung auf n 3 /3 Gleitpunktoperationen reduzieren: 3.7 Die Cholesky-Zerlegung Technische Universität Bergakademie Freiberg

136 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 136 Programm: (Cholesky-Zerlegung) for j = 1:n for k = 1:j-1 A(j,j) = A(j,j)-A(j,k)*A(j,k) if A(j,j) <= 0, stop A(j,j) = sqrt(a(j,j)) for i = j+1:n for k = 1:j-1 A(i,j) = A(i,j)-A(i,k)*A(j,k) A(i,j) = A(i,j)/A(j,j) Aufwand: 1 3 n3 + O(n 2 ) flops. Bemerkung: Der untere -Anteil von A wird mit L überschrieben. Der (echte) obere -Anteil von A wird im Algorithmus nicht verwendet. 3.7 Die Cholesky-Zerlegung Technische Universität Bergakademie Freiberg

137 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Bandmatrizen, Tridiagonalmatrizen Man nennt A = [a i,j ] C n n eine Bandmatrix mit unterer Bandbreite b L und oberer Bandbreite b R, falls a i,j = 0 für i j > b L und für j i > b R gilt. Eine Bandmatrix T mit b L = b R = 1 heißt Tridiagonalmatrix: a 1 c 1 b 2 a 2 c 2 T = tridiag(b, a, c) = b n 1 a n 1 c n 1 b n a n 3.8 Bandmatrizen, Tridiagonalmatrizen Technische Universität Bergakademie Freiberg

138 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 138 Besitzt die Tridiagonalmatrix T eine LR-Zerlegung, dann hat diese die Form 1 r 1 c 1 l 2 1. r.. 2 T = r n 1 c n 1 l n 1 mit r 1 = a 1 und l j = b j /r j 1, r j = a j l j c j 1 (j = 2, 3,..., n). Ist Gauß-Elimination ohne Pivotsuche für T x = d durchführbar, so erfordert sie also einen Aufwand von nur 8(n 1) + 1 Gleitpunktoperationen. r n 3.8 Bandmatrizen, Tridiagonalmatrizen Technische Universität Bergakademie Freiberg

139 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 139 Dies ist aber nur bei speziellen (z.b. diagonaldominanten oder symmetrisch positiv definiten) T stabil: Beispiel. Sei T = tridiag(2, 1, 3) R n n und d R n so gewählt, dass x = [1, 1,..., 1] T das System T x = d löst. Gauß-Elimination liefert die Lösung x. x x 2 / x 2 x x 2 / x 2 n (ohne Spaltenpivotsuche) (mit Spaltenpivotsuche) Bandmatrizen, Tridiagonalmatrizen Technische Universität Bergakademie Freiberg

140 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 140 Spaltenpivotisierung führt allerdings zu einem sog. fill-in, d.h. auf Positionen, wo die Einträge der Ausgangsmatrix T Null waren, können in der LR-Zerlegung von Null verschiedene Elemente auftreten was zusätzlichen Speicherplatz erfordert und den Rechenaufwand erhöht. Bei Tridiagonalmatrizen liefert Gauß-Elimination mit Spaltenpivotsuche eine LR-Zerlegung der Form , d.h. der fill-in beschränkt sich auf eine zusätzliche Diagonale in R. 3.8 Bandmatrizen, Tridiagonalmatrizen Technische Universität Bergakademie Freiberg

141 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 141 Analoge Eigenschaften besitzt die Gauß-Elimination bei allgemeinen Bandmatrizen mit unterer Bandbreite b L und oberer Bandbreite b R : Der Aufwand zur Berechnung der LR-Zerlegung beträgt (etwa) (2b L b R + 1)n flops. Wird nicht pivotisiert, so entsteht kein fill-in, d.h. L besitzt untere Bandbreite b L und R besitzt obere Bandbreite b R. Bei Spaltenpivotsuche verändert sich die Struktur von L nicht, R allerdings besitzt i.a. obere Bandbreite b L + b R. Bei weniger strukturierten schwach besetzen Matrizen werden Umordnungsstrategien (z.b. reverse Cuthill-McKee) zur Bandbreitenminimierung eingesetzt. 3.8 Bandmatrizen, Tridiagonalmatrizen Technische Universität Bergakademie Freiberg

142 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I nz = nz = nz = nz = Bandmatrizen, Tridiagonalmatrizen Technische Universität Bergakademie Freiberg

143 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 143 Legende: Links oben wird die Struktur der symmetrischen positiv definiten Matrix A = CC T gezeigt, wobei die nichtsymmetrische Matrix C R aus der Modellierung eines chemischen Betriebs stammt a. Rechts oben ist die Besetzungssruktur des Cholesky-Faktors L T A von A geplottet. Nach der umgekehrten Cuthill-McKee-Nummerierung wird aus A die Matrix B, deren Struktur unten links und deren Cholesky-Faktor unten rechts gezeigt werden. # entries (i, j) A L A B L B 0 (i j) 503 (28%) 1073 (61%) 503 (28%) 657 (37%) a zu Details siehe chemimp/impcolb.html 3.8 Bandmatrizen, Tridiagonalmatrizen Technische Universität Bergakademie Freiberg

144 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Lineare Ausgleichsrechnung 4.1 Ausgleichspolynome Die folgende Tabelle zeigt die Bevölkerungsentwicklung in den U.S.A (Angaben in Millionen Einwohner). Wir wollen eine Prognose für die Anzahl der Einwohner im Jahr 2010 erstellen und berechnen das Interpolationspolynom p 10 vom Grad 10 durch die 11 ersten Datenpaare, das wir an der Stelle 2010 auswerten. Wir erhalten p 10 (2010) = (?!). 4 Lineare Ausgleichsrechnung Technische Universität Bergakademie Freiberg

145 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Bevoelkerung der U.S.A., Extrapolationen, die auf Polynomen hohen Grades beruhen, sind riskant! 4.1 Ausgleichspolynome Technische Universität Bergakademie Freiberg

146 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 146 Es bezeichne P n den Vektorraum aller Polynome vom Grad n. Das Ausgleichspolynom (Kleinste-Quadrate-Polynom) p n vom Grad n ist gegeben durch p n = argmin q Pn m i=0 q(x i ) y i 2 Dabei bezeichnen (x i, y i ) (j = 0, 1,..., m) die gegebenen Datenpaare. D.h. das Ausgleichspolynom ist dasjenige Polynom, für welches die Summe der quadrierten Abweichungen von den Daten minimal ist. In unserem Beispiel berechnen wir p 1, p 2 und p 3 sowie die zugehörigen Prognosen p 1 (2010) = , p 2 (2010) = und p 3 (2010) = Ausgleichspolynome Technische Universität Bergakademie Freiberg

147 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Bevoelkerung der U.S.A, Daten p 1 p p Ausgleichspolynome Technische Universität Bergakademie Freiberg

148 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 148 Problem: Lege durch (m + 1) Punkte (x i, y i ), i = 0, 1,..., m, ein Polynom vom Grad n p n (ζ) = α 0 + α 1 ζ + + α n ζ n, wobei n m (m + 1 Bedingungen für n + 1 Koeffizienten). Ansatz: α 0 + α 1 x 0 + α 2 x α n x n 0 = y 0 α 0 + α 1 x 1 + α 2 x α n x n 1 = y 1... α 0 + α 1 x m + α 2 x 2 m + α n x n m = y m oder kürzer Aα = y. 4.1 Ausgleichspolynome Technische Universität Bergakademie Freiberg

149 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 149 Dabei ist A die (rechteckige) Vandermonde-Matrix (Alexandre Théophile Vandermonde, ) 1 x 0 x 2 0 x n 0 1 x 1 x 2 1 x n 1 A = R (m+1) (n+1)... 1 x m x 2 m x n m A besitzt Rang n + 1, wenn m n und wenn x 0, x 1,..., x m verschieden sind. Dann ist das Ausgleichspolynom eindeutig bestimmt. Seine Koeffizienten sind die Lösung des linearen Ausgleichsproblems Aα y 2 min α R n Ausgleichspolynome Technische Universität Bergakademie Freiberg

150 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Die Normalgleichungen Das lineare Ausgleichsproblem (kleinste-quadrate-problem): Gegeben sind A R m n und b R m. Gesucht ist ein Vektor x R n mit b Ax 2 = min x R n b Ax 2. (LS) Andere Formulierung: Bei gegebenen A und b können wir jedem x R n einen Residualvektor r x := b Ax zuordnen, der misst, wie gut x das Gleichungssystem Ax = b erfüllt. Wir wollen einen Vektor x bestimmen, dessen Residuum (gemessen in der Euklid-Norm) so klein wie möglich ist. Beachte: Ist Ax = b lösbar, dann ist x eine Lösung. 4.2 Die Normalgleichungen Technische Universität Bergakademie Freiberg

151 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 151 Satz Ein Vektor x R n ist genau dann eine Lösung des linearen Ausgleichsproblems (LS), wenn A T r x = 0 gilt. Folglich sind die Lösungen von (LS) und die Lösungen der Normalgleichungen A T Ax = A T b identisch. (Insbesondere besitzt (LS) mindestens eine Lösung.) 2. Sind die Spalten von A linear unabhängig (d.h. rank(a) = n), so besitzt (LS) genau eine Lösung. Beispiel 1. Gegeben sind m Datenpaare (x i, y i ) (i = 1, 2,..., m). Unter allen Geraden p 0 (x) = α (parallel zur x-achse) wird m i=1 p 0(x i ) y i 2 durch p 0 (x) = 1 m m i=1 y i minimiert. 4.2 Die Normalgleichungen Technische Universität Bergakademie Freiberg

152 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 152 Beispiel 2. Bestimme die Ausgleichsgerade p 1 (x) = α 0 + α 1 x durch die Punktwolke (x i, y i ) (i = 1, 2,..., m). Äquivalentes Ausgleichsproblem: Bestimme [α 0, α 1 ] T R 2 mit y 1 1 x 1 [ ]... α0 α min. α 1 0,α 1 y m 1 x m 2 Zugehörige Normalgleichungen: m m i=1 m m i=1 x i i=1 x i x 2 i α 0 α 1 = m i=1 y i m x i y i i= Die Normalgleichungen Technische Universität Bergakademie Freiberg

153 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 153 Dieses Gleichungssystem kann (wie jedes 2 2-System) explizit gelöst werden: m m m α 0 = 1 x 2 i x i y i i=1 i=1 i=1 D α m m 1 x i m x i y i mit D = m i=1 [ m m ] 2 x 2 i x i. i=1 i=1 i=1 4.2 Die Normalgleichungen Technische Universität Bergakademie Freiberg

154 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 154 Eine Methode, das lineare Ausgleichsproblem zu lösen: 1. Bestimme die Normalgleichungen. 2. Löse die Normalgleichungen durch Gauß-Elimination. (Beachte: A T A ist immer symmetrisch. Besitzt A vollen Spaltenrang, so ist A T A sogar positiv definit, besitzt also eine Cholesky-Zerlegung.) Beispiel 3. Bestimme Ausgleichsgerade durch (0, 0), (1, 2), (2, 1) bzw. löse das Ausgleichsproblem [ ] α0 α min Die Normalgleichungen Technische Universität Bergakademie Freiberg

155 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Normalgleichungen: [ ] [ α 0 α 1 ] = [ 3 4 ]. 2. Cholesky-Zerlegung: [ ] = GGT mit G = Löse Gβ = [3, 4] T und G T α = β. Ergebnis: α = [α 0, α 1 ] T = [.5,.5] T [ ]. (die Ausgleichsgerade ist also y =.5 +.5x) mit dem Kleinsten-Quadrate-Fehler [ 3 ] 1/2 y i (α 0 + α 1 x i ) 2 = [ (0.5) 2 + (2 1) 2 + (1 1.5) 2] 1/2 =.5 6. i=1 4.2 Die Normalgleichungen Technische Universität Bergakademie Freiberg

156 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 156 Weil die Konditionszahl der Koeffizientenmatrix A T A der Normalgleichungen sehr groß werden kann, cond 2 (A T A) = cond 2 (A) 2, ist dieses Verfahren i. Allg. nicht zu empfehlen: A = , b = , x = [ 1 1 ]. Erstellt man die Normalgleichungen in sechsstelliger Dezimalarithmetik, so ist A T A = [ ] singulär (obwohl A vollen Rang 2 besitzt und nicht extrem schlecht konditioniert ist, cond 2 (A) = ). 4.2 Die Normalgleichungen Technische Universität Bergakademie Freiberg

157 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Orthogonale Matrizen und QR-Zerlegung Eine Matrix Q R m m heißt orthogonal, wenn eine der folgenden äquivalenten Bedingungen erfüllt ist: 1. Q T Q = I m, d.h. Q ist invertierbar und Q 1 = Q T, 2. Qx 2 = x 2 2 x R m, d.h. Q ist normerhaltend, 3. die Spalten (bzw. Zeilen) von Q bilden eine Orthonormalbasis des R m. Für uns wichtig: Sind A R m n beliebig und Q 1 R m m, Q 2 R n n orthogonal, so gilt und folglich: Q 1 A 2 = AQ 2 2 = A 2 cond 2 (Q 1 A) = cond 2 (AQ 2 ) = cond 2 (A). (Durch orthogonale Transformationen wird die Kondition eines Gleichungssystems nicht verschlechtert!) 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

158 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 158 Satz 4.2 Zu jeder Matrix A R m n mit m n und rank(a) = n gibt es eine orthogonale Matrix Q R m m und eine invertierbare obere Dreiecksmatrix R R n n mit [ ] R A = Q (QR-Zerlegung von A) O (O steht hier für eine Nullmatrix der Dimension (m n) n). In Beispiel 3: = }{{} Q } 0 {{ 0 } [ O R ] 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

159 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 159 Wie hilft eine QR-Zerlegung bei der Lösung des Ausgleichsproblems? [ ] [ ] R b Ax 2 = b Q R x = O QT b x. O Setze c = Q T b = [ c 1 c 2 ] mit c 1 R n und c 2 R m n, dann [ ] [ ] [ ] c1 R c1 Rx b Ax 2 = x = O c 2 Das bedeutet: 1. Das Kleinste-Quadrate-Problem b Ax 2 min wird durch x = R 1 c 1 (das ist die eindeutige Lösung des LGS Rx = c 1 ) gelöst. 2. Für den Kleinsten-Quadrate-Fehler gilt b Ax 2 = c 2 2. In Beispiel 3: c = Q T b =.5 [2 3, 2, 6] T. D.h.: c 1 =.5 [2 3, 2] T und c 2 =.5 6. Also ist x = [α 0, α 1 ] T = R 1 c 1 = [.5,.5] T und b Ax 2 = c Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

160 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 160 Bleibt die Frage, wie man eine QR-Zerlegung von A berechnet. Prinzipielle Vorgehensweise: Bestimme eine endliche Folge orthogonaler Matrizen Q 1, Q 2,... Q s : A Q 1 Q 2 Q s A 1 = Q 1 A, A 1 A2 = Q 2 A 1,..., A s 1 As = Q s A s 1, so dass Dann ist [ ] R A s = (mit einer oberen Dreiecksmatrix R) gilt. O [ ] R A = (Q s Q 2 Q 1 ) T A s = Q T 1 Q T 2 Q T s A s =: Q O die gesuchte QR-Zerlegung von A. (Ein Produkt orthogonaler Matrizen ist orthogonal.) 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

161 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 161 Als elementare orthogonale Matrizen werden eingesetzt: Householder-Transformationen (Alston Scott Householder, ) Q = Q(u) = I m 2uu T R m m mit u R m, u 2 = 1 (Spiegelung an der Hyperebene u ), mit der ganze Spalten (unterhalb der Hauptdiagonalen) vernullt werden können. Givens-Rotationen (Wallace Givens, ) Q = Q i,j (ϕ) R m m (Drehungen in der (i, j)-ebene um den Winkel ϕ, d.h. [ ] [ ] [ ] xi cos ϕ sin ϕ xi Q i,j (ϕ) = sin ϕ cos ϕ x j mit ϕ [0, 2π)), mit der einzelnen Einträge vernullt werden können. x j 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

162 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 162 Householder-Transformationen: Jede Matrix P = I m 2uu T R m m mit u R m, u 2 = 1, heißt Householder-Transformation. Wegen P T = P sowie P 2 = I m ist P orthogonal. Genauer: P ist die Spiegelung an der Hyperebene u := {v R m : u T v = 0} (dem sog. orthogonalen Komplement von u). u x u Px 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

163 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 163 Gegeben: Ein Vektor x = [x 1,..., x m ] T R m, x 0. Gesucht: Eine Householder-Transformation P R m m mit P x = γe 1 (γ R, e 1 = erster Einheitsvektor). Lösung: P = I m 2uu T, wobei x 1 + sign(x 1 ) x 2 sign(x 1 ) x 2 u = ũ ũ 2 mit ũ = x 2. x m P x = Für A R m n berechnet man B = P A = A u(2a T u) T durch w = A T u, w = 2w, B = A uw T (ohne explizite Kenntnis von P ) in 4mn flops. P wird niemals explizit gespeichert, sondern nur der Vektor u Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

164 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 164 Wie erzeugt man eine QR-Zerlegung mit Householder-Transformationen? x x x x x x x x x x x x A = x x x 1 x x x 0 x x 2 0 x x 0 x x x 0 x x 0 0 x x x x 0 } x {{ x } A 1 0 } 0 {{ x } A 2 0 } 0 {{ 0 } A 3 Schritt 1. Wähle P 1 R 4 4 so, dass P 1 A(:, 1) = γ 1 e 1 R 4. Bestimme A 1 = P 1 A. Schritt 2. Wähle P 2 R 3 3 so, dass P 2 A 1 (2 : 4, 2) = γ 2 e 1 R 3. Bestimme A 2 = [ ] P 2 A1. Schritt 3. Wähle P 3 R 2 2 so, dass P 3 A 2 (3 : 4, 3) = γ 3 e 1 R 2. Bestimme A 3 = [ I 2 ] O O P A Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

165 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 165 Schematisch: for i = 1:n bestimme u_i so, dass fuer P_i = I - 2*u_i*u_i^T die Identitaet P_i *A(i:m,i) = gamma*e_1 gilt A(i:m,i:n) = P_i *A(i:m,i:n) end A wird hier durch seine QR-Zerlegung überschrieben. Q wird dabei in faktorisierter Form gespeichert: Q = P 1 P 2 P n. Die einzelnen Matrizen P i bzw. P i werden natürlich nicht explizit gespeichert. Es genügt, den Vektor u i (genauer ũ i ) zu speichern. Man speichert ũ i in Spalte i der Matrix A unterhalb der Hauptdiagonalen. Ein Zusatzvektor ist erforderlich für die ersten Komponenten der Vektoren ũ i. 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

166 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 166 In unserem Beispiel: A(1, 1) + sign(a(1, 1)) A(:, 1) 2 ũ 1 = A(2, 1) = A(3, 1) P 1 = I 3 2 ũ ũ1 T 1 ũ T ũ1 1 (wird nicht berechnet). Es folgt sign(a(1, 1)) A(:, 1) 2 3 A 1 (:, 1) = 0 = 0, 0 0 A 2 (:, 2) = A(:, 2) 2ũ T 1 A(:, 2) ũ T 1 ũ1 ũ 1 = A(:, 2) ũ 1 = 3.5( 3 1).5( ) 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

167 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 167 [ A1 (2, 2) + sign(a 1 (2, 2)) A 1 (2 : 3, 3) 2 ] [ ].5( 3 1) + 2 ũ 2 = A 1 (3, 2) =.5( 3 + 1) P 2 = I 2 2 ũ T 2 ũ2 A 2 (2 : 3, 2) = ũ 2 ũ T 2 (wird nicht berechnet). Es folgt [ sign(a1 (2 : 3, 2)) A 1 (2 : 3, 2) 2 0 ] = [ ] 2. 0 Insgesamt [ ] R = O , Q = 0 0 [ P 2 ] T P T 1 (nicht explizit bekannt). 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

168 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 168 Benötigt wird auch Q T b = P n P n 1 P 1 b. for i = 1:n tau = -2*u_i^T*b(i:m) b(i:m) = b(i:m) + tau*u_i end In unserem Beispiel: b = 2, ũ 1 = 1, u 1 = 1 ũ 1 = ũ Es folgt τ 1 = , b 1 = b τ 1 u 1 = = 1 3.5( 3 + 1).5(. 3 1) 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

169 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 169 [ ] [ ].5( 3 + 1).5( 3 1) + 2 b 1 (2 : 3) =.5(, ũ 2 = 3 1).5(, 3 + 1) [ u 2 = 1 ] 1.5( 3 1) + 2 ũ 2 = ũ ( 3 1).5( ) Es folgt τ 2 = (, b 2 = b 1 (2 : 3) τ 2 u 2 = 3 1) [ ] und insgesamt c = Q T b = P 2 P 1 b = [ 3,.5 2,.5 6] T. 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

170 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 170 Givens-Rotationen: Eine Givens-Rotation G(θ) = [ cos θ ] sin θ sin θ cos θ (θ [0, 2π)) dreht einen Vektor x R 2 um den Winkel θ (im Gegenuhrzeigersinn). Eine Givens-Rotation in der (i, j)-ebene des R n hat (für i < j) die Form I i 1 0 O 0 O 0 cos θ 0 sin θ 0 G(i, j, θ) = O 0 I j i 1 0 O R n n. 0 sin θ 0 cos θ 0 O 0 O 0 I n j 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

171 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 171 Beachte, dass beim Übergang x y = G(i, j, θ)x nur die Komponenten i und j verändert werden. Es gilt: y k = x k k {i, j}, [ ] [ ] [ ] [ ] yi xi cos θ sin θ xi = G(θ) =. sin θ cos θ y j x j Die Matrix G(i, j, θ) ist orthogonal (G(i, j, θ) 1 = G(i, j, θ) = G(i, j, θ) T ). Gegeben: i, j, x i, x j ([x i, x j ] [0, 0]). Gesucht: θ mit [ ] cos θ sin θ sin θ cos θ [ x i x j ] = [ 0 ]. Lösung: x j x i x cos θ =, sin θ = j x 2 i + x2 j x 2 i + x2 j [ ] [ ] cos θ sin θ xi x = 2 i + x2 j. sin θ cos θ x j 0 mit 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

172 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 172 Die Konstruktion einer QR-Zerlegung von A durch Givens-Rotationen ist jetzt offensichtlich. Die Reihenfolge, in der Elemente von A wegrotiert werden: Aufwand: I. Allg. doppelt so hoch wie bei Householder-Transformationen (eine QR-Zerlegung durch Householder-Transformationen erfordert 2n 2 m n 3 /3 Gleitpunktoperationen). Besitzt A aber bereits viele Nulleinträge unterhalb der Hauptdiagonalen, dann ist eine QR-Zerlegung mit Hilfe von Givens-Rotationen kostengünstiger. 4.3 Orthogonale Matrizen und QR-Zerlegung Technische Universität Bergakademie Freiberg

173 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Die Singulärwertzerlegung Satz 4.3 Sei A R m n eine Matrix vom Rang r. Dann gibt es orthogonale Matrizen U R m m und V R n n sowie eine Diagonalmatrix Σ = [ ] Σ r O O O R m n mit Σ r = diag(σ 1, σ 2,..., σ r ) R r r und σ 1 σ 2 σ r > 0, so dass A die Zerlegung A = UΣV T (SVD) besitzt. Die Darstellung (SVD) heißt Singulärwertzerlegung von A. Die positiven Zahlen σ i nennt man die Singulärwerte von A. Schreibt man U = [u 1, u 2,..., u m ] und V = [v 1, v 2,..., v n ], so heißen u i R m bzw. v i R n zugehörige linke bzw. rechte Singulärvektoren. 4.4 Die Singulärwertzerlegung Technische Universität Bergakademie Freiberg

174 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 174 Bemerkungen. 1. A = UΣV T = [u 1, u 2,..., u r ]Σ r [v 1, v 2,..., v r ] T = r i=1 σ iu i v T i (Darstellung von A als Summe von r Rang-1-Matrizen). 2. Es gelten: Av i = A T u i = { σi u i (i = 1, 2,..., r), 0 (i = r + 1, r + 2,..., n) { σi v i (i = 1, 2,..., r), 0 (i = r + 1, r + 2,..., m). und 3. {u 1,..., u r } ist eine ON-Basis von R(A). {u r+1,..., u m } ist eine ON-Basis von N (A T ) = R(A). {v 1,..., v r } ist eine ON-Basis von R(A T ) = N (A). {v r+1,..., v n } ist eine ON-Basis von N (A). 4.4 Die Singulärwertzerlegung Technische Universität Bergakademie Freiberg

175 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I A T A = V Σ T ΣV T = V [ ] Σ 2 r O V T, AA T = UΣΣ T U T = U O O [ ] Σ 2 r O U T. O O σ1, 2..., σr 2 sind die von Null verschiedenen Eigenwerte von A T A bzw. AA T. Insbesondere sind die Singulärwerte σ 1,..., σ r durch A eindeutig festgelegt. Die rechten Singulärvektoren v 1,..., v n bilden eine ON-Basis des R n aus Eigenvektoren von A T A: A T Av i = { σ 2 i v i (i = 1, 2,..., r), 0 (i = r + 1, r + 2,..., n). Die linken Singulärvektoren u 1,..., u m bilden eine ON-Basis des R m aus Eigenvektoren von AA T : AA T u i = { σ 2 i u i (i = 1, 2,..., r), 0 (i = r + 1, r + 2,..., m). 4.4 Die Singulärwertzerlegung Technische Universität Bergakademie Freiberg

176 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Ist A R n n symmetrisch mit von Null verschiedenen Eigenwerten λ 1,..., λ r, λ 1 λ r > 0, dann sind σ i = λ i die Singulärwerte von A. 6. Das Bild der (n-dimensionalen ) Einheitskugel unter A ist ein Ellipsoid (im R m ) mit Mittelpunkt 0 und Halbachsen σ i u i (σ i := 0 für i > r). 7. Für A R m n gilt A 2 = σ 1. Ist A R n n invertierbar, gilt außerdem A 1 2 = σ 1 n und cond 2 (A) = σ 1 /σ n. 8. Besitzt A R n n die SVD A = UΣV T, dann besitzt H = [ ] O A T A O R (m+n) (m+n) die von Null verschiedenen Eigenwerte ±σ i mit zugehörigen (normierten) Eigenvektoren 1 2 [vi T, ±u i T ]T. 9. Analoge Aussagen gelten für komplexe Matrizen A = UΣV H (U, V unitär). (Ersetze in 5. symmetrisch durch normal!) 4.4 Die Singulärwertzerlegung Technische Universität Bergakademie Freiberg

177 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 177 Die geometrische Interpretation der SVD. Besitzt A R m n die SVD [ ] Σr O A = U V T O O mit Σ r = diag(σ 1, σ 2,..., σ r ), U = [u 1, u 2,..., u m ] und V = [v 1, v 2,..., v n ], so kann man die Abbildungseigenschaften von A (und A T ) leicht beschreiben (vgl. Bemerkung 2). Z.B.: [ ] T 1 1 = (Werte auf 2 Dezimalstellen gerundet). 4.4 Die Singulärwertzerlegung Technische Universität Bergakademie Freiberg

178 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I v 1 1 u 1 v 2 x 2 0 x 3 0 u 2 u x x x 1 Av 1 = 2.68u 1, A T u 1 = 2.68v 1, Av 2 = 0.92u 2, A T u 2 = 0.92v 2, A T u 3 = Die Singulärwertzerlegung Technische Universität Bergakademie Freiberg

179 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 179 Satz 4.4 Es sei A R m n eine Matrix vom Rang r mit SVD A = UΣV T = U [ ] Σ r O O O V T. Dann löst [ ] Σ x 1 r O = V U T b O O das Kleinste-Quadrate-Problem (LS). Darüberhinaus ist x die eindeutige bestimmte Lösung von (LS) mit minimaler Euklid-Norm. Satz 4.5 Es sei A R m n eine Matrix vom Rang r mit SVD A = UΣV T. Die Approximationsaufgabe min{ A A k 2 : A k R m n und rank(a k ) k} besitzt für k r die Lösung A k = k σ i u i vi T mit A A k 2 = σ k+1. i=1 4.4 Die Singulärwertzerlegung Technische Universität Bergakademie Freiberg

180 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 180 Anwendung der SVD in der Datenkompression: Die folgende Graphik zeigt (links oben) das magische Quadrat aus Albrecht Dürers Melancholie I (1514). Die Bildinformation ist in einer Pixelmatrix X der Dimension gespeichert, deren Einträge, ganze Zahlen zwischen 1 und 64, verschiedene Graustufen repräsentieren. Wir approximieren X durch Matrizen niedrigen Rangs k (vgl. Satz 5): load detail.mat; [U,S,V]=svd(X); X_k=U(:,1:k)*S(1:k,1:k)*V(:,1:k) ; image(x_k), colormap( gray ), axis( image ), axis( off ) Zur Speicherung von X k sind k(m + n) = 730k Zahlen (statt mn = für X) erforderlich. 4.4 Die Singulärwertzerlegung Technische Universität Bergakademie Freiberg

181 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Die Singulärwertzerlegung Technische Universität Bergakademie Freiberg

182 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 182 k Relativer Fehler σ k+1 /σ 1 Kompressionsrate Die Singulärwertzerlegung Technische Universität Bergakademie Freiberg

183 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Die (Moore-Penrose) Pseudoinverse Es sei A R m n eine Matrix vom Rang r mit SVD A = U [ ] Σ r O O O V T. Dann heißt [ ] Σ A 1 r O := V U T R n m O O die (Moore-Penrose) (Ellakim Hastings Moore, , Roger Penrose, 1931) Pseudoinverse von A. Satz 4.6 Für A R m n gelten die folgenden Aussagen: (P1): A AA = A, (P2): AA A = A, (P3): (AA ) T = AA, (P4): (A A) T = A A. Darüberhinaus ist A R n m durch die Eigenschaften (P1) (P4) eindeutig bestimmt. 4.5 Die (Moore-Penrose) Pseudoinverse Technische Universität Bergakademie Freiberg

184 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 184 Bemerkungen: 1. A b ist die Kleinste-Quadrate-Lösung von Ax = b mit minimaler Euklid-Norm. 2. Für m n = r gilt A = (A T A) 1 A T. Ist zusätzlich m = n, so folgt A = A Für n m = r gilt A = A T (AA T ) 1. In diesem Fall löst A b das Problem x 2 min unter allen x mit Ax = b. Satz 4.7 Es sei V ein Unterraum des R n. Dann gibt es genau eine Matrix P = P V R n n mit R(P ) = V, P 2 = P und P T = P. P heißt die orthogonale Projektion auf V und ist durch P x = { x, x V, 0, x V, eindeutig bestimmt. 4.5 Die (Moore-Penrose) Pseudoinverse Technische Universität Bergakademie Freiberg

185 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 185 Satz 4.8 Es sei A R m n eine Matrix vom Rang r mit SVD ] A = UΣV T = [U [ ] [ ] Σ r O V1 1 U 2 O O ( U 1 R m r, U 2 R m (m r), V 1 R n r, V 2 R n (n r) ) und der Pseudoinversen A. Dann gelten: P R(A) = AA = U 1 U T 1, V 2 P N (A) = I n A A = V 2 V T 2, P R(A T ) = A A = V 1 V T 1, P N (A T ) = I m AA = U 2 U T Die (Moore-Penrose) Pseudoinverse Technische Universität Bergakademie Freiberg

186 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 186 Beispiel = [ ] [ ] / / [ ] = (SVD auf 2 Dezimalstellen gerundet). AA = , A A = I Die (Moore-Penrose) Pseudoinverse Technische Universität Bergakademie Freiberg

187 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Stabilität bei Kleinsten-Quadrate-Problemen Satz 4.9 Die Matrix A R m n, m n, besitze vollen Rang n. x und x seien die Lösungen der Kleinsten-Quadrate-Probleme b Ax 2 min x R n bzw. b Ãx 2 min x R n. Es sei { A ε := max à 2, b b } 2 1 A 2 b 2 cond 2 (A) (diese Voraussetzung garantiert die Eindeutigkeit von x ). Dann gilt x x 2 x 2 ε κ LS + O ( ε 2) mit κ LS := 2cond 2(A) cos(θ) + tan(θ)cond 2 (A) 2. Der Winkel θ [0, π/2] ist durch sin(θ) = b Ax 2 / b 2 definiert. 4.6 Stabilität bei Kleinsten-Quadrate-Problemen Technische Universität Bergakademie Freiberg

188 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 188 Interpretation: Ist θ = 0 (oder sehr klein), d.h. der Kleinste-Quadrate-Fehler b Ax 2 ist sehr klein (im Verhältnis zu b 2 ), dann ist wegen cos(θ) 1 und tan(θ) 0 κ LS 2cond 2 (A). Ist θ weder sehr klein noch nahe bei π/2 (z.b. θ = π/4), dann ist die Konditionszahl κ LS sehr viel größer: Sie verhält sich ungefähr wie cond 2 (A) 2 (κ LS = 2cond 2 (A) + cond 2 (A) 2 für θ = π/4). Ist schließlich θ π/2, d.h. x 0, so ist κ LS praktisch unbeschränkt (tan(θ) für θ π/2). Im Grenzfall θ = π/2 ist x = 0 und (fast) jede beliebig kleine Störung von A bzw. b führt auf x 0 und damit zu einem unendlichen relativen Fehler. 4.6 Stabilität bei Kleinsten-Quadrate-Problemen Technische Universität Bergakademie Freiberg

189 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Interpolation und numerische Approximation 5.1 Polynominterpolation Das (allgemeine) Interpolationsproblem: Zu gegebener Funktion f : [a, b] C und gegebenen Stützstellen (Knoten) a x 0 < x 1 < x 2 < < x n b soll eine einfache Funktion p : [a, b] C konstruiert werden, die die Interpolationsbedingungen p(x i ) = f(x i ) (i = 0, 1,..., n) erfüllt. Warum? f ist nur an diskreten Punkten bekannt (Messwerte), aber eine geschlossenen Formel für f ist auf ganz [a, b] erwünscht (z.b. um f an Zwischenstellen x [a, b] \ {x 0, x 1,..., x n } auszuwerten), f ist kompliziert und soll durch eine einfache Funktion angenähert werden (z.b. um die Ableitung f (x), x [a, b], oder das Integral b a f(x)dx näherungsweise zu bestimmen). 5 Interpolation und numerische Approximation Technische Universität Bergakademie Freiberg

190 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 190 Das polynomiale Interpolationsproblem: Zu gegebenen (paarweise verschiedenen) Knoten a x 0 < x 1 < x 2 < < x n b und gegebenen Funktionswerten f 0, f 1,..., f n C soll ein Interpolationspolynom p(x) = π n x n + π n 1 x n π 1 x + π 0 P n (mit komplexen Koeffizienten π 0, π 1,..., π n = n + 1 Freiheitsgrade) vom Grad n konstruiert werden, das die n + 1 Interpolationsbedingungen erfüllt. p(x i ) = f i (i = 0, 1,..., n) 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

191 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 191 Satz 5.1 Die polynomiale Interpolationsaufgabe ist eindeutig lösbar. Mit den Lagrange-Grundpolynomen (Joseph Louis Lagrange, ) l i (x) := n j=0 j i x x j x i x j P n (beachte l i (x i ) = 1 und l i (x j ) = 0 für j i) lässt sich das Interpolationspolynom in der Lagrange-Form p(x) = n f i l i (x) i=0 darstellen. 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

192 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I L 0 L 1 L P Beispiel 1. Daten: (x 0, f 0 ) = ( 1, 1), (x 1, f 1 ) = (0, 1), (x 2, f 2 ) = (2, 2). Lagrange-Grundpolynome: l 0 (x) = x(x 2)/3, l 1 (x) = (x + 1)(x 2)/( 2), l 2 (x) = (x + 1)x/6. Interpolationspolynom: p(x) = l 0 (x) l 1 (x) + 2l 2 (x) = x 2 /2 + x/ Polynominterpolation Technische Universität Bergakademie Freiberg

193 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 193 Setze w n+1 (x) := n i=0 (x x i) (Knotenpolynom) und Damit gelten ω i := [ n j=0 j i (x i x j ) ] 1 = 1 w n+1 (x i) ω i (i = 0, 1,..., n). l i (x) = w n+1 (x) (i = 0, 1,..., n) x x i und folglich die erste baryzentrische Formel n p(x) = w n+1 (x) i=0 f i ω i x x i. Weil die konstante Funktion f(x) = 1 ohne Fehler interpoliert wird, ist 1 = w n+1 (x) n i=0 ω i x x i. 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

194 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 194 Bildet man den Quotienten der beiden letzten Formeln (und kürzt w n+1 (x)), so erhält man mit n p(x) = i=0 n f i ω i x x i ω i die zweite baryzentrische Formel. i=0 x x i Diese Formel erlaubt den Update des Interpolationspolynoms, falls ein zusätzlicher Knoten x n+1 berücksichtigt werden muss: 1. Update von ω 0, ω 1,..., ω n durch ω neu i = ωi alt /(x i x n+1 ) (2(n + 1) flops), 2. berechne ω n+1 über die Definitionsformel (n + 1 weitere flops, falls man sich die Größen x i x n+1 aus 1. merkt). 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

195 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 195 Die Berechnung von ω 0, ω 1,..., ω n erfordert also j=1 3j = 3 2 (n2 + n) = O(n 2 ) flops. Sind die baryzentrischen Gewichte ω i (i = 0, 1,..., n) bestimmt, so erfordert die Auswertung des Interpolationspolynoms an der Stelle x insgesamt 5n + 4 = O(n) weitere flops. Ein weiterer Vorteil ist, dass die Gewichte ω i nicht von den Daten f i abhängen. Damit ist es möglich, mehrere Funktionen f in den Knoten x i in O(n) flops zu interpolieren, wenn die ω i bekannt sind. Schließlich sind die ω i (im Gegensatz zu den dividierten Differenzen, siehe unten) unabhängig von der Nummerierung der Knoten. Ein Beispiel. Interpolation an äquidistanten Knoten in [α, β] liefert ( ) n ω i = ( 1) i (i = 0, 1,..., n) i (modulo des gemeinsamen Faktors ( 1)n n! ( n β α )n ). 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

196 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 196 Es gibt alternative rekursive Berechnungsmethoden: Lemma 5.2 Für eine beliebige Indexmenge 0 i 0 < i 1 < < i k n bezeichne p i0,i 1,...,i k das (nach Satz 1 eindeutig bestimmte) Polynom vom Grad k, das die Bedingungen erfüllt. Dann gilt die Rekursionsformel p i0,i 1,...,i k (x ij ) = f ij (j = 0, 1,..., k) p i (x) = f i, p i0,i 1,...,i k (x) = (x x i 0 )p i1,i 2,...,i k (x) (x x ik )p i0,i 1,...,i k 1 (x) x ik x i Polynominterpolation Technische Universität Bergakademie Freiberg

197 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 197 Rechenschema (Algorithmus von Neville-Aitken, Alexander Craig Aitken, ; Charles William Neville, 1941): x i k = 0 k = 1 k = 2 k = 3 k = 4 x 0 p 0 (x) = f 0 p 0,1(x) x 1 p 1 (x) = f 1 p 0,1,2 (x) p 1,2 (x) p 0,1,2,3 (x) x 2 p 2 (x) = f 2 p 1,2,3 (x) p 0,1,2,3,4 (x) p 2,3 (x) p 1,2,3,4 (x) x 3 p 3 (x) = f 3 p 2,3,4 (x) p 3,4 (x) x 4 p 4 (x) = f 4 (Berechnungsreihenfolge : p 0 p 1 p 0,1 p 2 p 1,2 p 0,1,2 ) 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

198 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 198 Beispiel 2 (vgl. Beispiel 1). x i k = 0 k = 1 k = (x ( 1))( 1) (x 0)( 1) 0 ( 1) = 1 (x ( 1))(3x/2 1) (x 2)( 1) 2 ( 1) (x 0)2 (x 2)( 1) 2 0 = 3 2 x 1 = 1 2 x x 1 Aufwand des Neville-Aitken Schemas (für Auswertung des Interpolationspolynoms vom Grad n an einer Stelle x): 5 2 n n + 1 Gleitpunktoperationen (falls die Differenzen x x i (0 i n) vorab bestimmt werden). 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

199 x 0 f 0 (x) = f 0 f 0,1(x) Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 199 Tableau der dividierten Differenzen von f: x i k = 0 k = 1 k = 2 k = 3 k = 4 mit x 1 f 1 (x) = f 1 f 0,1,2 (x) f 1,2 (x) f 0,1,2,3 (x) x 2 f 2 (x) = f 2 f 1,2,3 (x) f 0,1,2,3,4 (x) f 2,3 (x) x 3 f 3 (x) = f 3 f 2,3,4 (x) x 4 f 4 (x) = f 4 f 3,4 (x) f 1,2,3,4 (x) f i (x) := f i und f i0,i 1,...,i k (x) := f i 1,i 2,...,i k (x) f i0,i 1,...,i k 1 (x) x ik x i0 (k 1). 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

200 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 200 Satz 5.3 Mit Hilfe der dividierten Differenzen lässt sich das (nach Satz 5.1 eindeutig bestimmte) Interpolationspolynom p in Newton-Form darstellen. Rechenaufwand: p(x) = f 0 + f 0,1 (x x 0 ) + f 0,1,2 (x x 0 )(x x 1 ) + + f 0,1,...,n (x x 0 )(x x 1 ) (x x n 1 ) Zur Bestimmung der Differenzentafel: 3 2 (n2 + n) Gleitpunktoperationen. Zur Auswertung des Newtonschen Interpolationspolynoms mit dem Horner-Schema (William George Horner, ): 3n Gleitpunktoperationen (pro Auswertungspunkt). 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

201 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 201 Beispiel 3 (vgl. Beispiele 1 und 2). Dividierte Differenzen: x i k = 0 k = 1 k = f 0,1 = ( 1) ( 1) 0 ( 1) = f 0,1,2 = 3/2 0 2 ( 1) = Das bedeutet: f 1,2 = 2 ( 1) 2 0 = 3 2 p(x) = ( 1) + 0 (x ( 1)) (x ( 1))(x 0) = 1 2 x x Polynominterpolation Technische Universität Bergakademie Freiberg

202 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 202 Satz 5.4 (Fehler der Polynominterpolation) Für f C n+1 [a, b] sei p das Polynom vom Grad n, welches f an den Knoten a x 0 < x 1 < < x n b interpoliert. Außerdem bezeichne w n+1 (x) = n (x x i ) P n+1 i=0 das zugehörige Knotenpolynom. Dann gibt es zu jedem x [a, b] ein ξ = ξ(x) (a, b) mit f(x) p(x) = w n+1(x) (n + 1)! f (n+1) (ξ). Mit M n+1 := max a t b f (n+1) (t) gilt für alle x [a, b] die Fehlerabschätzung f(x) p(x) M n+1 (n + 1)! max w n+1(t). a t b 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

203 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 203 Optimale Knoten. Idee (motiviert durch Fehlerabschätzung): Wähle Knoten a x 0 < x 1 < < x n b so, dass so klein wie möglich wird. max w n+1(t) = max a t b a t b n t x i Lösung: Tschebyschow-Knoten (Pafnuti Lwowitsch Tschebyschow, ) x (T) i = b a ( ) 2(n i) + 1 cos π + a + b (i = 0, 1,..., n) 2 2n mit max a t b n i=0 t x (T) i = 2 ( b a für jede andere Wahl x 0,..., x n der Knoten. 4 i=0 ) n+1 < max a t b n t x i i=0 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

204 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 204 Knotenpolynome mit äquidistanten und Tschebyschow-Knoten: 0.8 aequidistante Knoten Tschebyscheff Knoten Polynominterpolation Technische Universität Bergakademie Freiberg

205 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 205 Beispiel 5. Interpoliere f(x) = x 2 ( 5 x 5) (Runge-Funktion) (Carl David Tolmé Runge, ) an n + 1 äquidistanten Stützstellen: 8 n=10 8 n= Polynominterpolation Technische Universität Bergakademie Freiberg

206 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 206 Beispiel 5. Interpoliere an n + 1 Tschebyschow-Knoten: f(x) = x 2 ( 5 x 5) 8 n=10 8 n= Polynominterpolation Technische Universität Bergakademie Freiberg

207 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 207 Fazit. Durch eine geeignete Knotenwahl (Tschebyschow-Knoten) lässt sich auch die Runge-Funktion durch Interpolationspolynome beliebig genau annähern. Prinzipiell ist eine Approximation durch Interpolationspolynome aber nur dann ratsam, wenn man mit wenigen Knoten (d.h. mit Polynomen niedrigen Grades) ausreichend gute Ergebnisse erzielen kann. Das ist i.a. nur bei extrem glatten Funktionen (wie etwa bei der Exponentialfunktion) gewährleistet. (Die Runge-Funktion ist zwar in ganz R beliebig oft differenzierbar, besitzt aber Pole in ± 1. Wie gut eine Funktion durch reelle Interpolationspolynome genähert werden kann, hängt auch von der Lage ihrer komplexen Singularitäten ab!) Polynome hohen Grades neigen zu Oszillationen und sind daher zur Approximation oft unbrauchbar. 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

208 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 208 Eine Anwendung: Numerische Differentiation. Naheliegende Idee, um die n-te Ableitung einer komplizierten Funktion f anzunähern: 1. Bestimme ein Interpolationspolynom p vom Grad n für f. 2. Differenziere p n-mal: p (n) (x) = n! f 0,1,...,n. Z.B.: a. Knoten: x 0 und x 1 = x 0 + h, d.h. f (x 0 ) p (x 0 ) = 1! f 0,1 = f(x 0 + h) f(x 0 ). h b. Knoten: x 0 = x 1 h, x 1 und x 2 = x 1 + h, d.h. f (x 1 ) p (x 1 ) = 2! f 0,1,2 = f(x 1 + h) 2f(x 1 ) + f(x 1 h) h Polynominterpolation Technische Universität Bergakademie Freiberg

209 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 209 Problematik: Numerische Auslöschung. Für f(x) = sinh(x) = (exp(x) exp( x))/2 approximiere = f(0.6) = f (0.6) für h = 10 e, e = 1, 2,..., im IEEE-double-Format (Maschinengenauigkeit: eps = ). f(0.6 h) 2f(0.6) + f(0.6 + h) h 2 e f (0.6) e f (0.6) Polynominterpolation Technische Universität Bergakademie Freiberg

210 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 210 Diskretisierungsfehler 1 12 f (4) (0.6) h e,. Rundungsfehler = 4h 2 eps 4 eps 10 2e Rundungsfehler optimale Schrittweite 10 5 Fehler Diskretisierungsfehler Schrittweite 5.1 Polynominterpolation Technische Universität Bergakademie Freiberg

211 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Spline-Interpolation Splines sind stückweise Polynome. (Eigentlich: Spezielle biegsame Kurvenlineale, die durch Halterungen gezwungen werden, auf dem Zeichenpapier gegebene Punkte zu verbinden; wurden im Schiffsbau verwendet.) Idee: Um die Güte der Approximation zu verbesseren, wird hier nicht der Polynomgrad erhöht, sondern die Unterteilung der Intervalls verfeinert. Seien n + 1 Knoten in [a, b] gegeben: a = x 0 < x 1 < < x n 1 < x n = b. Mit T := [x 0, x 1 ] [x 1, x 2 ] [x n 1, x n ] bezeichnene wir die zugehörige Zerlegung des Intervalls [a, b]. Ein Spline vom Grad k bez. T ist eine Funktion s C k 1 [a, b], die auf jedem Teilintervall von T mit einem Polynom vom Grad k übereinstimmt: s [xi 1, x i ] P k für i = 1, 2,..., n. 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

212 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 212 Satz 5.5 ST k, die Menge aller Splines vom Grad k bez. T, ist ein (n + k)-dimensionaler Raum. 1 Runge Funktion Knoten linearer Spline kubischer Spline Spline-Interpolation Technische Universität Bergakademie Freiberg

213 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 213 Einfachster Fall: k = 1. Splines vom Grad 1 oder lineare Splines. Die zwei charakteristischen Eigenschaften eines linearen Splines s: 1. Auf jedem Teilintervall [x i 1, x i ] von T ist s linear: s(x) = α i + β i x für alle x [x i 1, x i ] und i = 1, 2,..., n. 2. Auf ganz [a, b] ist s stetig, d.h. für i = 1, 2,..., n 1 lim s(x) = α i + β i x i = α i+1 + β i+1 x i = x x i lim s(x). x x i + Interpolationsaufgabe: Zu vorgebener Zerlegung T = [x 0, x 1 ] [x 1, x 2 ] [x n 1, x n ] von [a, b] und zu vorgegebenen Werten f 0, f 1,..., f n bestimme einen linearen Spline s S 1 T mit s(x i ) = f i für alle i = 0, 1,..., n. 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

214 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 214 Offensichtlich: Diese Aufgabe ist eindeutig lösbar: s(x) = f i 1 + f i f i 1 x i x i 1 (x x i 1 ) für x [x i 1, x i ] linearer Interpolationsspline x 0 x 1 x 2 x 3 x Spline-Interpolation Technische Universität Bergakademie Freiberg

215 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 215 Fehler des linearen Interpolationssplines: (f C 2 [a, b]) Lokal, d.h. für x [x i 1, x i ]: f(x) s(x) = 1 2 f (ζ) (x x i 1 )(x x i ) 1 8 M 2,i h 2 i mit M 2,i = max xi 1 ζ x i f (ζ) und h i = x i x i 1. Global, d.h. für x [x 0, x n ]: f(x) s(x) 1 8 M 2 h 2 max mit M 2 = max 1 i n M 2,i = max x0 ζ x n f (ζ) und h max = max 1 i n h i. Adaptive Knotenwahl. Stategie: Fehler etwa gleich auf jedem Teilintervall. D.h.: Wähle h i invers proportional zu M 2,i (viele Knoten dort, wo die Krümmung von f groß ist). 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

216 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 216 Zur Implementierung. Gegeben: x 0, x 1,..., x n und f 0, f 1,..., f n. Gesucht: Wert s(x) des linearen Interpolationssplines an der Stelle x. Bestimme g i 1 = (f i f i 1 )/(x i x i 1 ) für i = 1, 2,..., n. Falls x [x i 1, x i ], dann s(x) = f i 1 + g i 1 (x x i 1 ). Problem: Gegeben x, in welchem Teilintervall [x i 1, x i ] liegt x? Einfach, falls h i = h (äquidistante Knoten): { x x0 i = := min k N : k x x } 0. h h Schwieriger bei beliebigen Knoten: Binäres Suchen ergibt Komplexität von log 2 n. 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

217 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 217 Gesucht ist ein interpolierender kubischer Spline s S 3 T : Charakteristische Eigenschaften des kubischen Splines: 1. Auf jedem Teilintervall [x i 1, x i ] von T ist s kubisch: s(x) = p i (x) = α i + β i (x x i 1 ) + γ i (x x i 1 ) 2 + δ i (x x i 1 ) Auf ganz [a, b] ist s zweimal stetig differenzierbar, d.h.: p i (x i ) = p i+1 (x i ), p i(x i ) = p i+1(x i ), p i (x i ) = p i+1(x i ) für i = 1, 2,..., n Interpolationsbedingungen: s(x i ) = f i (i = 0, 1,..., n) (Also 3(n 1) + (n + 1) = 4n 2 Bedingungen, aber 4n Freiheitsgrade). 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

218 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 218 Drei Möglichkeiten für die erforderlichen zwei Zusatzbedingungen. Natürlicher Spline: s (x 0 ) = s (x n ) = 0 Hermitescher oder vollständiger Spline (Charles Hermite, ): s (x 0 ) = f 0 und s (x n ) = f n mit f 0, f n R. (N) (H) Periodischer Spline: Falls s(x 0 ) = s(x n ), s (x 0 ) = s (x n ) und s (x 0 ) = s (x n ). (P) 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

219 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 219 Berechnung des kubischen Interpolationssplines. Auf jedem Teilintervall [x i 1, x i ] hat der kubische Spline die Form s(x) = p i (x) = α i + β i (x x i 1 ) + γ i (x x i 1 ) 2 + δ i (x x i 1 ) 3. Die Koeffizienten lassen sich durch die Momente µ i := s (x i ) und die Funktionswerte f i (i = 0, 1,..., n) darstellen: α i = f i 1, γ i = 1 2 µ i 1, β i = f i f i 1 h i δ i = µ i µ i 1 6h i, h i 6 (µ i + 2µ i 1 ), wobei h i := x i x i 1. M. a. W.: Ein kubischer Spline ist durch die Funktionswerte f i und die Momente µ i (i = 0, 1,..., n) eindeutig bestimmt. 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

220 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 220 Die (n + 1) Momente µ i erfüllen die (n 1) linearen Gleichungen h i 6 µ i 1 + h i + h i+1 µ i + h i µ i+1 = f i+1 f i h i+1 f i f i 1 h i (i = 1, 2,..., n 1) und zwei Zusatzgleichungen: (N) µ 0 = 0, (H) h n µ n = 0, h 1 3 µ 0 + h 1 6 µ 1 = f 1 f 0 h 1 f 0, 6 µ n 1 + h n 3 µ n = f n f n f n 1, h n (P) µ 0 + µ n = 0, h 1 6 µ 1 + h 1 6 µ n 1 + h 1 + h n µ n = f 1 f n 3 h 1 f n f n 1 h n. 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

221 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 221 Sei H k T := { f C k 1 [a, b] : f [xi 1,x i ] C k [x i 1, x i ] } und f 2 := [ b a f (x) 2 dx] 1/2 = [ n i=1 ] 1/2 f (x) 2 dx (f HT k, k 2). x i 1 xi Lemma 5.6 Für f H 2 T und s S 3 T gilt f s 2 2 = f 2 2 s 2 2 [ 2 (f (x) s (x))s (x) b n a i=1 (f(x) s(x))s (x) x i+ x i 1 ]. Satz 5.7 (Minimierungseigenschaft kubischer Splines) Ist f HT 2 s ST 3 ein zugehöriger kubischer Interpolationsspline, der eine der drei Zusatzbedingungungen (N), (H) oder (P) erfüllt, dann folgt ( ) s 2 2 f 2 2 =: b a f (x) 2 dx. und 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

222 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 222 Interpretation von Satz 7. Die Biegeenergie E B (f) = b a f (x) 2 dx (1 + f (x) 2 ) 3/2 b a f (x) 2 dx wird näherungsweise durch den kubischen Interpolationsspline s minimiert. Im Folgenden werden nur vollständige kubische Splines (Bedingung (H)) betrachtet, analoge Aussagen gelten unter den Voraussetzungen (N) und (P). 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

223 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 223 Die Momente erfüllen das LGS (s.o.) h 1 h h 1 h 1 +h h h n 1 6 h n 1 +h n 3 h n6 h n6 h n3 µ 0 µ 1. µ n 1 µ n = d 0 d 1. d n 1 d n mit d 0 = f 1 f 0 h 1 d n = f n f n f n 1 h n. f 0, d j = f j+1 f j h j+1 f j f j 1 h j (1 j n) und Lemma 5.8 Für jede Wahl der Knoten a = x 0 < x 1 < < x n = b ist dieses Gleichungssystem eindeutig lösbar. D.h.: Zu jeder Knotenwahl gibt es genau einen vollständigen kubischen Interpolationsspline für f. 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

224 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 224 Satz 5.9 (Fehler bei kubischer Spline-Interpolation) Ist f C 4 [a, b] und s ST 3 der vollständige kubische Interpolationsspline für f, dann gelten 5 max f(x) s(x) x [a,b] 384 M 4 h 4 max, max f (x) s (x) 1 x [a,b] 24 M 4 h 3 max, max f (x) s (x) x [a,b] 3 8 M 4 h 2 max mit M 4 := max a x b f (4) (x) und h max = max 1 i n h i = max 1 i n (x i x i 1 ). 5.2 Spline-Interpolation Technische Universität Bergakademie Freiberg

225 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Trigonometrische Interpolation Seien f 0, f 1,..., f m 1 R und x j := 2π j/m (j = 0, 1,..., m 1), d.h. x 0 < x 1 < < x m 1 sind äquidistante Knoten aus [0, 2π). Gesucht ist ein reelles trigonometrisches Polynom t n (x) = α n [ ] α k cos(kx) + β k sin(kx) k=1 vom Grad n, das die m Interpolationsbedingungen t n (x j ) = f j (j = 0, 1,..., m 1) erfüllt. Hier ist m = 2n (wenn m gerade ist) bzw. m = 2n + 1 (wenn m ungerade ist). 5.3 Trigonometrische Interpolation Technische Universität Bergakademie Freiberg

226 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 226 Transformation auf den (komplexen) Einheitskreis: φ : [0, 2π) T := {z C : z = 1}, x z = exp(ix) = cos x + i sin x. Die Knoten x j gehen in die m-ten Einheitswurzeln über: φ(x j ) = exp(2πij/m) = [exp(2πi/m)] j = ωm j (j = 0, 1,..., m 1) mit ω m := exp(2πi/m) = cos(2π/m) + i sin(2π/m). Setzt man β 0 = 0 und für k = 0, 1,..., n [ ] [ 1 C 2 ak 2 := (α ] k iβ k ) 1 a k 2 (α = 1 k + iβ k ) 2 [ ] [ ] 1 i αk 1 i β k, d.h. 5.3 Trigonometrische Interpolation Technische Universität Bergakademie Freiberg

227 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 227 ] ] ] ] R 2 [ αk β k = i [ 1 1 i ] [ ak a k = [ ak + a k i(a k a k ) = [ 2 Real (ak ) 2 Imag(a k ), so folgt t n (x) = n a k exp(ikx) = n a k z k = z n n a k z k+n = z n p 2n (z) k= n k= n k= n mit p 2n (z) = n k= n a kz k+n = 2n j=0 a j nz j P 2n. Wegen p 2n (ω j m) = ω jn m t n (x j ) ist die trigonometrische Interpolationsaufgabe zurückgeführt auf ein (gewöhnliches) Interpolationsproblem für algebraische Polynome. 5.3 Trigonometrische Interpolation Technische Universität Bergakademie Freiberg

228 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 228 Satz 5.10 Zu beliebig vorgegebenen paarweise verschiedenen Knoten x 0, x 1,..., x 2n [0, 2π) und zu beliebigen Funktionswerten f 0, f 1,..., f 2n R gibt es genau ein reelles trigonometrisches Polynom t n T n mit t n (x j ) = f j (j = 0, 1,..., 2n). Lemma 5.11 Für die m-ten Einheitswurzeln ω k m (k Z, m N) gelten: a) [ω k m] j = ω kj m = [ω j m] k (j Z), b) ω kl ml = ωk m (l Z, l 0), c) ω k m = ω k d) m 1 j=0 m, ω kj m = { m, falls k = 0 (mod m), 0, falls k 0 (mod m). 5.3 Trigonometrische Interpolation Technische Universität Bergakademie Freiberg

229 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 229 Satz 5.12 Das komplexe (algebraische) Interpolationspolynom p m 1 (z) = m 1 k=0 c kz k P m 1 mit p m 1 (ωm) j = f j C (j = 0, 1,..., m 1) besitzt die Koeffizienten c k = 1 m m 1 j=0 f j ω kj m (k = 0, 1,..., m 1). In Matrix-Vektor-Schreibweise c 0 c 1. c m 1 = 1 m F m f 0 f 1. f m 1 mit der Fourier-Matrix 5.3 Trigonometrische Interpolation Technische Universität Bergakademie Freiberg

230 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 230 F m := [ ωm kj ] 0 k,j m 1 = ωm 1 ω m+1 m ωm m+1 ωm (m 1)2 Bemerkung. Seien m N, d N 0, d m 1, f 0, f 1,..., f m 1 C und z j = ω j m (j = 0, 1,..., m 1). Unter allen Polynomen q P d vom Grad d minimiert p m,d (z) = c 0 + c 1 z + + c d z d, also das abgeschnittene Interpolationspolynom, die Fehlerquadratsumme m 1 j=0 f j q(z j ) 2 : m 1 j=0 f j p m,d (z j ) 2 < m 1 j=0 f j q(z j ) 2 für alle q P d, q p m,d. 5.3 Trigonometrische Interpolation Technische Universität Bergakademie Freiberg

231 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 231 Satz 5.13 Für m = 2n oder m = 2n + 1 gibt es zu beliebigen f 0, f 1,..., f m 1 R ein reelles trigonometrisches Interpolationspolynom [ ] t n (x) = 1 n 2 α 0 + α k cos(kx) + β k sin(kx) T n k=1 vom Grad n, das die m Bedingungen t n (2πj/m) = f j (j = 0, 1,..., m 1) erfüllt. Seine Koeffizienten sind durch ( ) α k = 2 m 1 f j cos k 2πj bzw. β k = 2 m m m j=0 m 1 j=0 f j sin ( k 2πj m ) (k = 0, 1,..., n) gegeben. Im Fall m = 2n muß β n = 0 gesetzt und α n halbiert werden. 5.3 Trigonometrische Interpolation Technische Universität Bergakademie Freiberg

232 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Schnelle Fourier-Transformation (FFT) Seien ω j m (j = 0,..., m 1, ω m := exp(2πi/m)) die m-ten Einheitswurzeln. Diskrete Fourier-Analyse: Bestimme zu vorgebenen Funktionswerten f 0,..., f m 1 C die Koeffizienten c 0,..., c m 1 des Interpolationspolynoms P (z) = m 1 j=0 c jz j mit P (ωm) j = f j für j = 0,..., m 1. Wir wissen: Mit der Fourier-Matrix F m := [ωm kj ] 0 k,j m 1 C m m gilt c 0 c 1. = 1 m F m f 0 f 1.. c m 1 f m Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

233 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 233 Diskrete Fourier-Synthese: Inverse Aufgabe: Bestimme zu vorgebenen Koeffizienten c 0,..., c m 1 C die Funktionswerte f 0,..., f m 1 des Polynoms P (z) = m 1 j=0 c jz j an den m-ten Einheitswurzeln ωm, 0... ωm m 1. Offensichtlich: f 0 f 1. = W m c 0 c 1. f m 1 c m 1 mit der Matrix W m := [ω kj m ] 0 k,j m 1 = F m C m m. 5.4 Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

234 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 234 Lemma 5.14 Für die Fourier-Matrix F m = [ωm kj ] 0 k,j m 1 C m m gelten: (a) Fm T = F m (aber Fm H F m für m > 2!), (b) Fm H F m = mi m, d.h. die Spalten von F m sind orthogonal und besitzen alle die Euklid-Norm m. (c) Fm 1 = 1 m F m H = 1 F m m. Diskrete Fourier-Transformationen (d.h. diskrete Fourier-Analysen und Synthesen) müssen in der Praxis oft berechnet werden (Signalverarbeitung, Lösung der Poisson-Gleichung etc.). Die klassische Berechnung einer Fourier-Transformation (ein Matrix-Vektor-Produkt mit F m /m bzw. W m ) erfordert offenbar O(m 2 ) komplexe Multiplikationen. Bei Anwendung der schnellen Fourier-Transformation (FFT) reduziert sich dieser Aufwand auf O(m log 2 m) (James William Cooley ( 1926) and John Wilder Tuckey ( ): An algorithm for the machine calculation of complex Fourier series, Math. Comp. 19, (1965)). 5.4 Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

235 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 235 Diese Verbesserung kann nicht überbewertet werden: It [the FFT] has changed the face of science and engineering so much that it is not an exaggeration to say that life as we know it would be very different without the FFT. [Charles Van Loan, Computational Frameworks for the Fast Fourier Transform, SIAM, Philadelphia 1992, p. ix] Wir setzen (aus schreibtechnischen Gründen) im folgenden ( ζ m = ω m = exp 2πi ) ( ) 2π = cos i sin m m so dass F m = [ζ kj m ] 0 k,j m 1. Außerdem sei m gerade. ( 2π m ), 5.4 Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

236 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 236 Die Idee der FFT (für m = 8): Mit ζ := ζ 8 ist ζ ζ 2 ζ 3 ζ 4 ζ 5 ζ 6 ζ 7 1 ζ 2 ζ 4 ζ 6 ζ 8 ζ 10 ζ 12 ζ 14 1 ζ 3 ζ 6 ζ 9 ζ 12 ζ 15 ζ 18 ζ 21 F 8 =. 1 ζ 4 ζ 8 ζ 12 ζ 16 ζ 20 ζ 24 ζ 28 1 ζ 5 ζ 10 ζ 15 ζ 20 ζ 25 ζ 30 ζ 35 1 ζ 6 ζ 12 ζ 18 ζ 24 ζ 30 ζ 36 ζ 42 1 ζ 7 ζ 14 ζ 21 ζ 28 ζ 35 ζ 42 ζ Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

237 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 237 Wegen ζ 8 = 1, d.h. ζ j = ζ k, wenn j k (ohne Rest) durch 8 teilbar ist, folgt ζ ζ 2 ζ 3 ζ 4 ζ 5 ζ 6 ζ 7 1 ζ 2 ζ 4 ζ 6 1 ζ 2 ζ 4 ζ 6 1 ζ 3 ζ 6 ζ ζ 4 ζ 7 ζ 2 ζ 5 F 8 =. 1 ζ 4 1 ζ 4 1 ζ 4 1 ζ 4 1 ζ 5 ζ 2 ζ 7 ζ 4 ζ ζ 6 ζ 3 1 ζ 6 ζ 4 ζ 2 1 ζ 6 ζ 4 ζ 2 1 ζ 7 ζ 6 ζ 5 ζ 4 ζ 3 ζ 2 ζ Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

238 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 238 Jetzt nummerieren wir die Zeilen von F 8 um: zuerst werden die mit geradem (0,2,4,6), danach die mit ungeradem Index (1,3,5,7) gezählt. Die zugehörige Pemutationsmatrix wird mit P bezeichnet ζ 2 ζ 4 ζ 6 1 ζ 2 ζ 4 ζ 6 1 ζ 4 1 ζ 4 1 ζ 4 1 ζ 4 [ ] 1 ζ 6 ζ 4 ζ 2 1 ζ 6 ζ 4 ζ 2 B1,1 B 1,2 P F 8 = =: 1 ζ ζ 2 ζ 3 ζ 4 ζ 5 ζ 6 ζ 7 B 2,1 B 2,2 1 ζ 3 ζ 6 ζ ζ 4 ζ 7 ζ 2 ζ 5 1 ζ 5 ζ 2 ζ 7 ζ 4 ζ ζ 6 ζ 3 1 ζ 7 ζ 6 ζ 5 ζ 4 ζ 3 ζ 2 ζ Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

239 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 239 Wir untersuchen die einzelnen Blöcke: Wegen ζ = ζ 8 ist ζ 2 = ζ 4, d.h B 1,1 = B 1,2 = 1 ζ 4 ζ4 2 ζ ζ4 2 ζ4 4 ζ4 6 = F 4. 1 ζ4 3 ζ4 6 ζ4 9 Aus den Spalten 0,1,2 bzw. 3 von B 2,1 klammern wir ζ0, ζ 1, ζ 2 bzw. ζ 3 aus : B 2,1 = 1 ζ 2 ζ 4 ζ 6 0 ζ ζ 4 1 ζ ζ 2 0 = F 4D 4. 1 ζ 6 ζ 4 ζ ζ Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

240 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 240 Analog: B 2,2 = ζ ζ 2 ζ 4 ζ 6 0 ζ ζ 4 1 ζ ζ 6 0 = F 4(ζ 4 D 4 ) = F 4 D 4. 1 ζ 6 ζ 4 ζ ζ 7 Insgesamt erhalten wir [ ] F4 F 4 P F 8 = F 4 D 4 F 4 D 4 = [ ] [ ] F4 O I4 I 4. O F 4 D 4 D Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

241 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 241 Satz 5.15 Seien m gerade, σ die folgende (even/odd) Permutation σ = [0, 2..., m 2, 1, 3,..., m 1] und P = P σ die zugehörige Permutationsmatrix. Dann besitzt die zeilenpermutierte Fourier-Matrix F m die Zerlegung [ ] [ ] [ ] F m/2 F m/2 Fm/2 O Im/2 I m/2 P F m = =. F m/2 D m/2 F m/2 D m/2 O F m/2 D m/2 D m/2 Dabei bezeichnet D m/2 die Diagonalmatrix ( ) D m/2 = diag ζm, 0 ζm, 1..., ζm m/2 1 C (m/2) (m/2) mit ζ m = ω m = exp( 2πi/m). 5.4 Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

242 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 242 Berechne jetzt y = F m x für ein x C m (m gerade). Wegen der Zerlegung von F m aus Satz 5.15 unterteilen wir dies in zwei Schritte: 1. Reduktionsschritt: Berechne [ ] Im/2 I m/2 z = x. D m/2 D m/2 Für m = 8: z 0 = x 0 + x 4, z 1 = x 1 + x 5, z 2 = x 2 + x 6, z 0 = x 3 + x 7 z 4 = (x 0 x 4 ), z 5 = (x 1 x 5 )ζ m, z 6 = (x 2 x 6 )ζ 2 m, z 7 = (x 3 x 7 )ζ 3 m (m/2 komplexe Multiplikationen und m komplexe Additionen). 2. Berechne F m/2 z (0 : m/2 1) und F m/2 z (m/2 : m 1) (zwei Fourier-Transformationen der Dimension m/2). 5.4 Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

243 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 243 Ist m = 2 p eine Potenz von 2, so ist m/2 ebenfalls gerade und die beiden Fourier-Transformationen der Dimension m/2 können auf vier Fourier-Transformationen der Dimension m/4 reduziert werden. Der Aufwand zur Reduktion beträgt 2 m/4 = m/2 komplexe Multiplikationen (und 2 m/2 = m komplexe Additionen). Diese Prozess wird solange fortgesetzt bis man eine Multiplikation mit F m auf m Multiplikationen mit F 1 = [1] reduziert hat (eine Multiplikation mit F 1 erfordert offenbar keinen Aufwand). Dieses Reduktionsverfahren heißt schnelle Fourier-Transformation (FFT = Fast Fourier Transformation). Satz 5.16 Zur Durchführung einer schnellen Fourier-Transformation der Ordnung m = 2 p sind m 2 p = m 2 log 2(m) komplexe Multiplikationen und m log 2 (m) komplexe Additionen erforderlich. 5.4 Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

244 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 244 Die konventionelle Berechnung einer Fourier-Transformation der Länge m = 2 p durch F m x erfordert also 2 p+1 /p-mal mehr Multiplikationen als ihre Berechnung durch FFT. Wenn z.b. für p = 20 die FFT-Version eine Sekunde benötigt, so benötigt F m x etwa 29 Stunden. Verbleibendes Problem: Bestimmt man y = F m x durch FFT, so erhält man nicht y, sondern einen permutierte Version ỹ = Qy mit einer Permutationsmatrix Q R m m. Es gilt: Besitzt für m = 2 p der Index i {0, 1,..., m 1} die Binärdarstellung i = b p 1 2 p b b b 0 =: [b p 1... b 2 b 1 b 0 ] 2, und ist r(i) := [b 0 b 1 b 2... b p 1 ] 2 = b 0 2 p 1 + b 1 2 p 2 + b 2 2 p b p 1 (bit reversal), dann gelten y i = ỹ r(i) und ỹ i = y r(i). 5.4 Schnelle Fourier-Transformation (FFT) Technische Universität Bergakademie Freiberg

245 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Anwendungen der FFT Schnelle Berechnung einer Faltung: Sei S m := {x = {..., x 0, x 1,..., x m 1,...} : x j C} der Raum der doppelseitigen m-periodischen Folgen. S m ist isomorph zum C m. Auf S m sind zwei Multiplikationen definiert: Hadamard-Produkt: [x y] k = x k y k, Faltung oder Cauchy-Produkt: [x y] k = Lemma 5.17 (Faltungssatz) Für x, y S m gelten F m (x y) = (F m x ) (F m y), m F m (x y) = (F m x ) (F m y). m 1 j=0 x j y k j. 5.5 Anwendungen der FFT Technische Universität Bergakademie Freiberg

246 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 246 Ist m = 2 p, so kann die Faltung wegen x y = F 1 m [(F m x ) (F m y)] = 1 m F m [(F m x ) (F m y)] durch drei FFT s, also mit m(1.5 log 2 (m) + 1) komplexen Multiplikationen, bestimmt werden (konventionelle Berechnung erfordert m 2 Multiplikationen). Dies wird zur Multiplikation großer ganzer Zahlen und zur Multiplikation von Polynomen eingesetzt. Eine Matrix A C m m heißt zirkulant, wenn sie die Form a 0 a 1 a m 2 a m 1 a m 1 a 0 a m 3 a m 2 A = circul(a 0,..., a m 1 ) = a 2 a 3 a 0 a 1 besitzt. a 1 a 2 a m 1 a Anwendungen der FFT Technische Universität Bergakademie Freiberg

247 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 247 Lemma 5.18 Mit Hilfe der (zirkulanten) Shiftmatrix S m := circul(0, 1, 0..., 0) C m m kann jede zirkulante Matrix A = circul(a 0, a 1,..., a m 1 ) in der Form A = p(s m ) = a o I m + a 1 S m + a 2 S 2 m + a m 1 S m 1 m, d.h. als Polynom in S m, geschrieben werden. Die Eigenwerte λ j von A sind deshalb durch gegeben. λ j = p ( ω j m) = p (exp (2πij/m)) (j = 0, 1,..., m 1) v j = ist ein zugehöriger Eigenvektor. [ ] T ωm, 0 ωm, j ωm 2j,..., ω m (m 1)j 5.5 Anwendungen der FFT Technische Universität Bergakademie Freiberg

248 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 248 Lemma 5.19 Seien a = [a 0, a 1,..., a m 1 ] T C m, A = circul(a) und x C m. Dann ist A T x = a x. Satz 5.20 Seien a, b C m und A = circul(a). Dann gelten: (a) det(a) 0 alle Komponenten von F m a sind von 0 verschieden. (b) Das LGS A T x = b ist genau dann lösbar, wenn [F m a] j = 0 stets [F m b] j = 0 impliziert (j = 0, 1,..., m 1). (c) Ist A T x = b lösbar, so gilt für jede Lösung x : [F m x ] j = [F m b] j /[F m a] j für alle j {0, 1,..., m 1} mit [F m a] j 0. Ist [F m a] j = 0 (und folglich [F m b] j = 0), so kann [F m x ] j beliebig gewählt werden. 5.5 Anwendungen der FFT Technische Universität Bergakademie Freiberg

249 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 249 Mit Hilfe der FFT kann das Produkt einer zirkulanten Matrix der Dimension m mit einem Vektor also in nur m(1.5 log 2 (m) + 1) komplexen Multiplikationen berechnet werden (vgl. Lemma 5.19). Darüberhinaus kann ein m-dimensionales lineares Gleichungssystem A T x = b mit einer zirkulanten Koeffizientenmatrix A T, A = circul(a), i.w. durch 3 FFT s (in ebenfalls m(1.5 log 2 (m) + 1) komplexen Multiplikationen) gelöst werden (vgl. Satz 5.20): Ist A invertierbar, so gilt A T b = 1 m F m ((F m b)./ (F m a)), wobei./ komponentenweise Division bezeichnet. 5.5 Anwendungen der FFT Technische Universität Bergakademie Freiberg

250 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Mustererkennung Interpretiere die m Ecken eines Polygons, (x 0, y 0 ),..., (x m 1, y m 1 ), als komplexe Zahlen: f 0 = x 0 + iy 0,..., f m 1 = x m 1 + iy m 1 (i 2 = 1). Das Ergebnis einer diskreten Fourier-Analyse dieser Zahlen [c 0, c 1,..., c m 1 ] T = 1 m F m[f 0, f 1,..., f m 1 ] T nennt man diskretes komplexes Spektrum des Polygons. Es spiegelt geometrische Eigenschaften des Polygons wider und kann daher zur Klassifikation von Formen (Mustererkennung) verwendet werden. Lage- und größeunabhängig ist das normierte Amplitudenspektrum a k = c k+2 /c 1 (k = 0,..., m 3). 5.6 Mustererkennung Technische Universität Bergakademie Freiberg

251 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I a 1 < a 2, a 2 > a 3 ; a 1 > a 2, a 2 > a 3 ; a 1 > a 2, a 2 < a 3 ; 5.6 Mustererkennung Technische Universität Bergakademie Freiberg

252 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Polygon E F H Mustererkennung Technische Universität Bergakademie Freiberg

253 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Polygon E F H Mustererkennung Technische Universität Bergakademie Freiberg

254 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Polygon E F H Mustererkennung Technische Universität Bergakademie Freiberg

255 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 255 Gegeben: Signal f (Dimension m = 1024), k = 8 (16, 32). Aufgabe: Unterlege f mit Rauschen, bestimme die k groessten Fourier-Koeffizienten und rekonstruiere aus diesen das Signal. f_rausch = f +.1*randn(size(f)); c = fft(f_rausch); [ignore,j] = sort(abs(c)); ind = [m-k+1:m]; c_compr = zeros(size(c)); c_compr(j(ind)) = c(j(ind)); recon = ifft(c_compr); 5.6 Mustererkennung Technische Universität Bergakademie Freiberg

256 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Signal 10 Signal (verrauscht) Rekonstruktion mit 8 Fourier Koeffizienten 10 4 Fehler Mustererkennung Technische Universität Bergakademie Freiberg

257 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Signal 10 Signal (verrauscht) Rekonstruktion mit 16 Fourier Koeffizienten Fehler Mustererkennung Technische Universität Bergakademie Freiberg

258 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Signal 10 Signal (verrauscht) Rekonstruktion mit 32 Fourier Koeffizienten Fehler Mustererkennung Technische Universität Bergakademie Freiberg

259 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Numerische Integration Ziel numerischer Integration (Quadratur): Näherungswerte für b a f(t) dt. Wozu? Ein Beispiel: Eine Apparatur liefert Meßwerte x i = x i + ε i. Angenommen, die Meßfehler ε i sind standardnormalverteilt (wähle Einheiten entsprechend!): Wie groß ist die Wahrscheinlichkeit P, dass ein spezifischer Meßwert den wirklichen Wert um weniger als zwei Einheiten überschätzt? P = 1 2π 2 0 exp ( t2 2 ) dt = Φ(2) Φ(0) (.477). 6 Numerische Integration Technische Universität Bergakademie Freiberg

260 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I (2π) 1/2 exp( t 2 /2) 0.7 Φ(x) Aber: Es gibt keine geschlossene Formel für den Wert von Φ(x) = 1 x ( ) exp t2 dt 2π 2 (und vieler anderer Integrale). Selbst wenn geschlossenene Formeln bekannt sind, ist eine numerische Approximation oft ökonomischer. 6 Numerische Integration Technische Universität Bergakademie Freiberg

261 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Newton-Cotes-Formeln Gesucht: Wert von I := b a f(x) dx. Idee der interpolatorischen Quadraturformeln: Wähle (n + 1) Knoten a x 0 < x 1 < < x n 1 < x n b, bestimme das zugehörige Interpolationspolynom p n P n für f p n (x) = n f(x j )l j (x) mit l j (x) = j=0 (Lagrange-Form) und betrachte als Näherung für I n i=0 i j x x i x j x i b a p n (x)dx = n f(x j ) j=0 b l j (x)dx a } {{ } =:γ j = n γ j f(x j ). j=0 γ j bzw. x j heißen Gewichte bzw. Knoten der Integrationsformel. 6.1 Newton-Cotes-Formeln Technische Universität Bergakademie Freiberg

262 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 262 Newton-Cotes-Formeln (Roger Cotes, ) n I γ (n) j f(x j ) j=0 sind interpolatorische Quadraturformeln mit äquidistanten Knoten x j = a + jh (j = 0, 1,..., n), wobei h = (b a)/n. Bestimmung der Gewichte. Mit der Substitution x = a + ht, t [0, n]: b n γ (n) x x n i n t i j = dx = h dt =: hα(n) j x j x i j i a i=0 i j 0 i=0 i j (α (n) j sind unabhängig von f, a und b). Für jedes n gelten und α (n) 0 + α (n) α n (n) α (n) j = n = α (n) n j, j = 0, 1,..., n. 6.1 Newton-Cotes-Formeln Technische Universität Bergakademie Freiberg

263 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 263 Tabelle der Newton-Cotes-Gewichte: I b a n n j=0 α (n) j f(a + jh) n Name α (n) j (j = 0, 1,..., n) 1 Trapezregel Simpson-Regel /8-Regel Milne-Regel Weddle-Regel Für größere n treten negative Gewichte auf, die Newton-Cotes-Formeln werden numerisch unbrauchbar. 6.1 Newton-Cotes-Formeln Technische Universität Bergakademie Freiberg

264 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 264 Fehler der Newton-Cotes-Formeln: Ist f C (n+1) [a, b], so folgt aus der Fehlerformel für Interpolationspolynome E n (f) = b a f(x)dx h n j=0 α (n) j f(a + jh) = b a ω n+1 (x) (n + 1)! f (n+1) (ζ(x))dx. Insbesondere werden Polynome vom Grad n durch die n-te Newton-Cotes-Formel exakt integriert. Man kann zeigen: Ist n gerade, so werden sogar Polynome vom Grad n + 1 exakt integriert. Exaktheitsgrad der n-ten Newton-Cotes-Formel = { n, falls n ungerade, n + 1, falls n gerade. 6.1 Newton-Cotes-Formeln Technische Universität Bergakademie Freiberg

265 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 265 Fehlerschranken E n (f) = b a f(x)dx h n j=0 α (n) j f(a + jh) S n(f) n Name S n (f) 1 Trapezregel h M 2 2 Simpson-Regel h M 4 3 3/8-Regel h M 4 4 Milne-Regel h M Punkt-Regel h M 6 6 Weddle-Regel h M 8 mit M k := max a x b f (k) (x) und h = (b a)/n. (Thomas Simpson, ; Edward Arthur Milne, ; Thomas Weddle, ) 6.1 Newton-Cotes-Formeln Technische Universität Bergakademie Freiberg

266 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 266 Beispiel. 1 0 exp(x) dx = e n Name E n (f) S n (f) 1 Trapezregel Simpson-Regel /8-Regel Milne-Regel Punkt-Regel Weddle-Regel Newton-Cotes-Formeln Technische Universität Bergakademie Freiberg

267 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Zusammengesetzte Integrationsformeln Idee: Unterteile das Integrationsintervall [a, b] in N Teilintervalle der Länge H := (b a)/n und wende auf jedes Teilintervall [a + jh, a + (j + 1)H] (j = 0, 1, 2,..., N 1), d.h. zur näherungsweisen Berechnung von a+(j+1)h f(x) dx, die n-te a+jh Newton-Cotes-Formel (mit Schrittweite h = H/n) an: b a f(x) dx = = N 1 j=0 N 1 j=0 (j+1)h h jh n k=0 f(x) dx N 1 j=0 h n k=0 α (n) k f(a + (jn + k)h). α (n) k f(a + jh + kh) 6.2 Zusammengesetzte Integrationsformeln Technische Universität Bergakademie Freiberg

268 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 268 Beispiel für n = 1: zusammengesetzte Trapezregel. Hier H = (b a)/n = h, also N + 1 Stützstellen: x j = a + jh, j = 0, 1,..., N: b a f(x) dx h 2 [ N 1 f(x 0 ) + 2 j=1 ] f(x j ) + f(x N ) =: T (h). (6.1) Fehler: b a f(x) dx T (h) b a 12 M 2 h 2 mit M 2 := max f (x). a x b Aufwand zur Berechnung von T (h): N + 1 Funktionsauswertungen. 6.2 Zusammengesetzte Integrationsformeln Technische Universität Bergakademie Freiberg

269 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 269 Beispiel für n = 2: zusammengesetzte Simpson-Regel. Hier H = (b a)/n = 2h, d.h. h = (b a)/(2n), also 2N + 1 Stützstellen: x j = a + jh, j = 0, 1,..., 2N: b a f(x) dx h 3 [ N 1 f(x 0 ) + 4 j=0 f(x 2j+1 ) + 2 N 1 j=1 ] f(x 2j ) + f(x 2N ) =: S(h). Fehler: b a f(x) dx S(h) b a 180 M 4 h 4 = b a 2880 M 4 H 4 mit M 4 := max a x b f (iv) (x). Aufwand zur Berechnung von S(h): 2N + 1 Funktionsauswertungen. 6.2 Zusammengesetzte Integrationsformeln Technische Universität Bergakademie Freiberg

270 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Romberg-Extrapolation Idee der Extrapolation: Es bezeichne T (h) den Näherungswert für das Integral I = b f(x) dx, den die zusammengesetzte Trapezregel liefert. Ist f a genügend glatt, dann gilt lim T (h) = I. h 0 Wir interpretieren I als den Wert von T an der Stelle h = 0: I = T (0). Wir können T (h) nur für h > 0, aber nicht an der Stelle h = 0 auswerten. Um T (0) zu approximieren, interpolieren wir T an den Stützstellen h 0, h 1,..., h k > 0, d.h. wir bestimmen ein Polynom P k P k mit P k (h j ) = T (h j ) (j = 0, 1,..., k), und betrachten P k (0) als eine Näherung für T (0) = I. 6.3 Romberg-Extrapolation Technische Universität Bergakademie Freiberg

271 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 271 T(h 3 ) P 2 (0) T(h 2 ) T(h 1 ) P k (0) ist (hoffentlich) eine bessere Näherung für I = T (0) als T (h 0 ), T (h 1 ), T (h 2 ), Romberg-Extrapolation Technische Universität Bergakademie Freiberg

272 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Die Euler-Maclaurinsche Summenformel Die Konvergenz dieses Extrapolationsverfahrens wird wesentlich dadurch beschleunigt, dass T (h) eine asymptotische Entwicklung in h 2 besitzt. Dies ist eine Folgerung aus folgendem Ergebnis: Lemma 6.1 Ist g C 2m+2 [0, 1], so gilt 1 0 g(t) dt = 1 2 [g(0) + g(1)] + m k=1 B 2k (2k)! [g(2k 1) (0) g (2k 1) (1)] B 2m+2 (2m + 2)! g(2m+2) (ξ), ξ (0, 1). (6.2) Hierbei sind B k die Bernoulli-Zahlen (Jakob Bernoulli, ) B 2 = 1 6, B 4 = 1 30, B 6 = 1 42, B 8 = 1 30, Romberg-Extrapolation Technische Universität Bergakademie Freiberg

273 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 273 Lemma 6.1 enthält die einfachste Variante der Euler-Maclaurinschen Summenformel (Colin Maclaurin, ). Die allgemeinere Form erhält man durch Anwendung von (6.2) auf die Integrale und Aufsummieren: i+1 i g(t) dt (i = 0,..., N 1) N 1 2 g(0) + g(1) + + g(n 1) g(n) = + m k=1 mit einem ξ (0, 1). 0 g(t) dt B 2k (2k)! [g(2k 1) (N) g (2k 1) (0)] + B 2m+2 (2m + 2)! N g(2m+2) (ξ) (6.3) 6.3 Romberg-Extrapolation Technische Universität Bergakademie Freiberg

274 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 274 Anwendung auf beliebiges Intervall [a, b], äquidistante Knoten {x i = a + ih} N i=0, h = (b a)/n, f C 2m+2 [a, b] : Transformation von b a T (h) = b a f(t) dt + f(t) dt auf [0, N] und Anwendung von (6.3) liefert m k=1 h 2k B 2k (2k)! [f (2k 1) (b) f (2k 1) (a)] + h 2m+2 B 2m+2 (2m + 2)! (b a) f (2m+2) (ξ), ξ (a, b) (6.4) mit T (h) die Approximation der zusammengesetzten Trapezregel gemäß (6.1). Entscheidend: (6.4) stellt eine asymptotische Entwicklung von T (h) in Potenzen von h 2 dar. Auf diese Entwicklung wird das Extrapolationsverfahren angewandt. 6.3 Romberg-Extrapolation Technische Universität Bergakademie Freiberg

275 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Das Romberg-Verfahren Wähle Schrittweitenfolge h 0 = b a, h j = h j 1 /2 = (b a)/2 j und bestimme P k (0) mit dem Algorithmus von Neville-Aitken (die Abszissen sind hier h 2 j ): T 0,0 = T (h 0 ) = b a [f(a) + f(b)], 2 [ 2 j 1 f(a) + 2 T j,0 = T (h j ) = h j 2 i=1 = 1 j T j 1,0 + h j i=1 ] f(a + ih j ) + f(b) f(a + (2i 1)h j ), (j = 1, 2,...) T j,k = 22k T j,k 1 T j 1,k 1 2 2k 1 = 4k T j,k 1 T j 1,k 1 4 k 1 für k j, j Romberg-Extrapolation Technische Universität Bergakademie Freiberg

276 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 276 Die Rombergsche T-Tafel (Werner Romberg, ) T 0,0 T 1,0 T 1,1 T 2,0 T 2,1 T 2,2 T 3,0 T 3,1 T 3,2 T 3, wird in der Reihenfolge T 0,0, T 1,0, T 1,1, T 2,0, T 2,1, T 2,2, T 3,0,... berechnet. Praxis: Berechne nur wenige (etwa m) Spalten der T-Tafel und breche ab, wenn T j,m 1 T j+1,m 1 ε erfüllt ist. 6.3 Romberg-Extrapolation Technische Universität Bergakademie Freiberg

277 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 277 Beispiel. T-Tafel: dx x = log(2) = Romberg-Extrapolation Technische Universität Bergakademie Freiberg

278 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 278 Fehler beim Romberg-Verfahren: Ist f C 2m+2 [a, b], so besitzt die Trapezsumme T (h) zur Schrittweite h = (b a)/n gemäß (6.4) die asymptotische Entwicklung T (h) = I + α 1 h 2 + α 2 h α m h 2m + β m+1 (h)h 2m+2. Dabei sind I = b a f(x) dx das gesuchte Integral, α 1,..., α m von h unabhängige Konstanten und β m+1 (h) bleibt beschränkt für h 0. Die Fehler in der ersten Spalte der T-Tafel (d.h. die Fehler von {T j,0 } = {T (h j )}) streben also wie h 2 j gegen 0. Behauptung: Die Fehler in der k-ten Spalte der T-Tafel (d.h. die Fehler von {T j,k 1 } j k 1 ) streben wie h 2k j gegen Romberg-Extrapolation Technische Universität Bergakademie Freiberg

279 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 279 Aus der asymptotischen Entwicklung folgt T j 1,0 = T (2h j ) = I + α 1 (2h j ) 2 + O(h 4 j), T j,0 = T (h j ) = I + α 1 h 2 j + O(h 4 j). Multipliziert man die zweite Gleichung mit 4 und subtrahiert beide Gleichungen, so ergibt sich: T j,1 = 4T j,0 T j 1,0 4 1 = I + O(h 4 j), die Fehler in der zweiten Spalte der T-Tafel (d.h. die Fehler von {T j,1 } j 1 ) streben also wie h 4 j gegen Null. Auf ähnliche Weise lässt sich zeigen: T j,k = I + O ( h 2(k+1) ) j (k fest mit 0 k m). 6.3 Romberg-Extrapolation Technische Universität Bergakademie Freiberg

280 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Adaptive Integrationsverfahren Wendet man eine zusammengesetzte Quadraturformel auf I = b f(x) dx an, a so ist es nicht immer sinnvoll, das Integrationsintervall [a, b] in gleich lange Teilintervalle der Länge H zu unterteilen: Der Quadraturfehler hängt von einer (höheren) Ableitung von f ab, und diese kann in [a, b] stark variieren. Für f(x) = x/(x 2 1), x [1.001, 10], bewegt sich die vierte Ableitung (die den Fehler bei der zusammengesetzten Simpson-Regel kontrolliert) zwischen (am linken Rand) und (am rechten Rand). Man erwartet, dass man am rechten Ende des Intervalls mit wesentlich weniger Stützstellen (d.h. wesentlich geringerem Rechenaufwand) eine akzeptable Näherung des Integrals bestimmen kann als in der Umgebung von Adaptive Integrationsverfahren Technische Universität Bergakademie Freiberg

281 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 281 Gegeben ist eine Quadraturformel, z.b. die Simpson-Regel S(H), mit einer Fehlerabschätzung, hier: I S(H) = c H 4 + O(H 5 ). Gesucht ist eine Näherung für I, die sich zusammensetzt aus Näherungen I (j) 0 für x j+1 x j f(x) dx über Teilintervalle unterschiedlicher Länge H j = x j+1 x j, so dass N I j=0 I (j) 0 b ε := tol f(x) dx gilt. Weder die Anzahl (N + 1) der Teilintervalle noch die Unterteilungspunkte x j+1 := x j + H j (j = 0,..., N 1) sind bekannt. a 6.4 Adaptive Integrationsverfahren Technische Universität Bergakademie Freiberg

282 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 282 Wir wollen den Fehler gleichmäßig auf die Teilintervalle verteilen, d.h. H j soll so gewählt werden, dass xj +H j f(x) dx I (j) 0 H j b a ε erfüllt ist. x j Wichtige Beobachtung: Aus folgt I S(H) = c H 4 + O(H 5 ) und I S(H/2) = c (H/2) 4 + O(H 5 ) also, falls H genügend klein ist, S(H/2) S(H) = c (1 2 4 ) H 4 + O(H 5 ) I S(H) S(H/2) S(H) ( ) 6.4 Adaptive Integrationsverfahren Technische Universität Bergakademie Freiberg

283 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 283 Strategie zur Schrittweitenwahl (Schrittweitensteuerung): Angenommen H 0,..., H j 1 (d.h. x 0,... x j ) sind bereits bestimmt. Außerdem ist eine Vorschlagsschrittweite H j gegeben. 1. Setze H j = H j. Bestimme mit I (j) 0 = S(H j ) eine Näherung für xj +H j f(x) dx. x j 2. Bestimme mit I (j) 1 = S(H j /2) eine bessere Näherung für xj +H j f(x) dx. x j 3. Überprüfe, ob I (j) 1 I (j) 0 (1 2 4 ) H j b a ε erfüllt ist (vgl. ( )). Falls ja: Akzeptiere I (j) 1 als Näherung. Falls nein: Setze H j = H j /2, I (j) 0 = I (j) 1 und gehe zu Adaptive Integrationsverfahren Technische Universität Bergakademie Freiberg

284 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Überprüfe, ob I (j) 1 I (j) 0 (2.5) 4 (1 2 4 ) H j b a ε erfüllt ist (2.5 = Sicherheitsfaktor). Falls ja: Neue Vorschlagsschrittweite: Hj+1 = 2H j. Falls nein: Neue Vorschlagsschrittweite: Hj+1 = H j. Praxis: Unter- und Oberschranken für H j (zu kleine Schrittweiten führen zu verstärktem Rundungsfehlereinfluss, zu große Schrittweiten können dazu führen, dass Bereiche, in denen f stark variiert, übersprungen werden). 6.4 Adaptive Integrationsverfahren Technische Universität Bergakademie Freiberg

285 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 285 Beispiel: f(x) = 1 (x.3) (x.9) , a = 0, b = Integral = Adaptive Integrationsverfahren Technische Universität Bergakademie Freiberg

286 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Gauß-Quadratur Die in diesem Abschnitt behandelte Theorie der Gauß-Quadratur gilt allgemein für Integrale der Form I = f(x) dµ(x). R Hierbei ist µ ein positives Maß auf R und es wird lediglich gefordert, dass die sogenannten Momente µ k := x k dµ(x), k = 0, 1,... existieren. R 6.5 Gauß-Quadratur Technische Universität Bergakademie Freiberg

287 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 287 Wichtige Spezialfälle sind diskrete Maße, welche auf endlich viele Punkte x i konzentriert sind, R f(x) dµ(x) = N w i f(x i ), w i > 0, x i R, i=1 sowie absolutstetige Maße mit dµ(x) = w(x)dx mit Träger (a, b) = supp(µ) R b f(x) dµ(x) = f(x) dµ(x) = f(x)w(x) dx. R supp(µ) Im letzteren Fall, mit dem wir uns ausschließlich befassen, ist a = bzw. b = ausdrücklich zugelassen. a 6.5 Gauß-Quadratur Technische Universität Bergakademie Freiberg

288 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 288 Die Gewichtsfunktion w(x) muß dabei gewisse Bedingungen erfüllen (z.b. w(x) 0 für alle x [a, b]). Gebräuchliche Gewichtsfunktionen sind: [a, b] w(x) Bezeichnung [ 1, 1] 1 Gauß-Legendre [ 1, 1] (1 x 2 ) 1/2 Gauß-Tschebyschow [ 1, 1] (1 x) α (1 + x) β, α, β > 1 Gauß-Jacobi [0, ] exp( x) Gauß-Laguerre [, ] exp( x 2 ) Gauß-Hermite (Adrien-Marie Legendre, ; Carl Gustav Jacob Jacobi, ; Edmond Laguerre, ) 6.5 Gauß-Quadratur Technische Universität Bergakademie Freiberg

289 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 289 Prinzip: Gauß-Formeln sind interpolatorische Quadraturformeln b a f(x) w(x)dx = R n (f) bezeichnet den Quadraturfehler. n η j f(ξ j ) + R n (f). (6.5) Im Gegensatz zu den Newton-Cotes-Formeln wählt man die Knoten ξ j nicht äquidistant, sondern bestimmt Knoten ξ j und Gewichte η j so, dass sich ein möglichst hoher Exaktheitsgrad ergibt. Heuristik: b a xk w(x)dx = n j=1 η jξj k ist für jedes k = 0, 1,... eine nichtlineare Gleichung mit 2n freien Parametern ξ j, η j (j = 1,..., n). Es scheint möglich, diese Gleichung für k = 0,..., 2n 1 zu erfüllen (Exaktheitsgrad 2n 1). j=1 6.5 Gauß-Quadratur Technische Universität Bergakademie Freiberg

290 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 290 Es bezeichne P den Raum aller Polynome (beliebigen Grades) in einer Variablen. Satz 6.2 (Jacobi,1826) Sei m N 0. Die Quadraturformel (6.5) besitzt genau dann Exaktheitsgrad d = n 1 + m, wenn folgende beide Bedingungen erfüllt sind: (a) (6.5) ist interpolatorisch. (b) Das Knotenpolynom ω n (x) = n j=1 (x ξ j) ist orthogonal zu P m 1 bezüglich des Innenproduktes (p, q) = b a p(x)q(x) w(x)dx, p, q P. (6.6) Bemerkung 6.3 Der maximale Exaktheitsgrad ist d = 2n 1, also m = n 6.5 Gauß-Quadratur Technische Universität Bergakademie Freiberg

291 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 291 Satz 6.2 legt ein Konstruktionsprinzip nahe für (6.5) mit möglichst hohem Exaktheitsgrad: wähle als Knoten die Nullstellen des Orthogonalpolynoms vom Grad n bezüglich (6.6) und die Gewichte so, dass (6.5) interpolierend ist. Definition. Eine Folge {p k } k 0 von Polynomen heißt System von Orthogonalpolynomen bezüglich eines Innenproduktes (, ), falls (a) deg p k = k, k = 0, 1,... und (b) (p j, p k ) = 0 falls j k. Orthogonalpolynome sind bis auf einen konstanten Faktor eindeutig bestimmt. Als monisch bezeichnet man Polynome mit Höchstkoeffizient 1, Orthonormalpolynome sind durch (p k, p k ) = 1 charakterisiert. Satz 6.4 Die Nullstellen der Orthogonalpolynome bezüglich (6.6) sind reell, einfach und liegen in (a, b). 6.5 Gauß-Quadratur Technische Universität Bergakademie Freiberg

292 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 292 Lemma 6.5 Der Vektor [a (n) 0,..., a(n) n 1 ] der Koeffizienten des n-ten monischen Orthogonalpolynoms bezüglich (6.6) p n (x) = x n + a (n) n 1 xn a (n) 1 x + a(n) 0 ist die eindeutig bestimmte Lösung des linearen Gleichungssystems µ 0 µ 1... µ n 1 µ 1 µ 2... µ n M n x = m n, M n =, m n =.. µ n µ n+1. µ n 1 µ n... µ 2n 2 µ 2n 1 mit der Momentenmatrix M n gegeben durch [M n ] j,k = (x j, x k ) = b a x j+k w(x)dx = (x j+k, 1) =: µ j+k. 6.5 Gauß-Quadratur Technische Universität Bergakademie Freiberg

293 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 293 Satz 6.6 Ein System von Orthogonalpolynomen bezüglich (6.6) genügt einer dreistufigen Rekursionsformel γ n p n (x) = (x α n )p n 1 (x) β n p n 2 (x), n = 1, 2,... mit p 1 := 0 und p 0 (x) konstant ( 0). Die Koeffizienten sind gegeben durch α n = (xp n 1, p n 1 ), (p n 1, p n 1 ) n = 1, 2,... γ n = (xp n 1, p n ), (p n, p n ) n = 1, 2,... β n = (xp n 2, p n 1 ) (p n 2, p n 2 ) = γ (p n 1, p n 1 ) n 1 (p n 2, p n 2 ), n = 2, 3,..., β 1 beliebig. 6.5 Gauß-Quadratur Technische Universität Bergakademie Freiberg

294 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 294 Bemerkungen 6.7 (a) Mit {p k } k 0 sind auch p k = δ k p k, δ k 0, Orthogonalpolynome. Die zugehörigen Rekursionskoeffizienten lauten α k = α k, γ k = δ k 1 δ k γ k, k = 1, 2,..., β k = δ k 1 δ k 2 β k, k = 2, 3,.... (b) Für die monischen Orthogonalpolynome ergibt sich für die Rekursion γ k = 1 k. d.h. p 1 = 0, p 0 (x) = 1, p k (x) = (x α k )p k 1 (x) β k p k 2 (x). Ferner gilt β k = (p k 1, p k 1 ) (p k 2, p k 2 ) > 0, k 2. (c) Für Orthonormalpolynome ist β k = γ k 1, k Gauß-Quadratur Technische Universität Bergakademie Freiberg

295 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 295 Satz 6.8 Seien α k, β k, k 1 die Rekursionskoeffizienten der monischen Orthogonalpolynome bezüglich (6.6) und sei α 1 β2. β2 α.. 2 J n = R n n, βn βn α n (Jacobi-Matrix). Dann gilt. (a) Die Knoten der n-ten Gauß-Quadraturformel (6.5) bezüglich (6.6) sind die Eigenwerte von J n. (b) Sind u j die normalisierten Eigenvektoren von J n zu den Eigenwerten λ j, d.h. J n u j = λ j u j, u j 2 = 1 (j = 1,..., n) so sind die Gewichte η j von (6.5) gegeben durch η j = β 0 [u j ] 2 1 (j = 1,..., n), β 0 = b a w(x)dx. 6.5 Gauß-Quadratur Technische Universität Bergakademie Freiberg

296 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 296 Beispiel: Für die Gewichtsfunktion w(x) = (1 x 2 ) 1/2 erhält man Knoten: ξ j = cos (2j 1)π 2n, Gewichte: η j = π/n, j = 1, 2,..., n. (Dass die Gewichte unabhängig von j sind, trifft auf andere Gauß-Formeln nicht zu!) Gauß-Tschebyschow-Quadraturformel: 1 f(x) (1 x 2 ) 1/2 dx = π n ( ) (2j 1)π f cos + R n (f). 1 n 2n j=1 Satz 6.9 Ist f C 2n [a, b] und bezeichnen {p n } die monischen Orthogonalpolynome zu (6.6), so besitzt das Restglied der Gauß-Quadraturformal (6.5) die Darstellung R n (f) = f (2n) (ξ) (p n, p n ), ξ (a, b). (2n)! 6.5 Gauß-Quadratur Technische Universität Bergakademie Freiberg

297 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Kubatur Unter Kubatur versteht man Näherungsverfahren für mehrdimensionale Integrale, d.h. mit Teilgebieten des R m, m > 1 als Integrationsbereichen. Diese haben wie im Eindimensionalen die Form n I = f(x ) w(x )dx = γ i f(x i ) + R n (f). (6.7) Ω i=1 mit Knoten x i und Gewichten γ i, i = 1,..., n. Erwünschte Eigenschaften: 1. x i Ω, i = 1,..., n. 2. γ i > 0, i = 1,..., n. 6.6 Kubatur Technische Universität Bergakademie Freiberg

298 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 298 Die Theorie der numerischen Kubatur ist nicht annähernd so vollständig wie die der Quadraturverfahren. Dies hat im Wesentlichen zwei Ursachen: (i) Die Geometrie des R 1 ist entscheidend einfacher als die mehrdimensionaler Räume. So sind etwa alle kompakte und zusammenhängende Teilmengen im R 1 affin äquivalent. (ii) Die im Eindimensionalen so hilfreiche Theorie der Orthogonalpolynome ist im Mehrdimensionalen komplizierter. So gibt es ( ) m+k k Polynome vom Grad k in m Variablen, also ( ) m+k 1 k Polynome vom exakten Grad k. Hier kommen also nur gemeinsame Nullstellen von mehreren Orthogonalpolynomen als Knoten in Frage. Wir geben hier lediglich einen kurzen Überblick über Konstruktionsprinzipien von Kubaturformeln und beschränken uns einfachheitshalber auf den Fall m = Kubatur Technische Universität Bergakademie Freiberg

299 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 299 Eine Kubaturformel (6.7) besitzt den Exaktheitsgrad d, wenn sie für alle Polynome p(x, y) vom Grad d, d.h. für alle p Pd 2 := α i,j x i y j : α i.j R i+j d (z.b. P 2 1 = {α 0,0 + α 1,0 x + α 0,1 y}, P 2 2 = {α 0,0 + α 1,0 x + α 0,1 y + α 2,0 x 2 + α 1,1 xy + α 0,2 y}), den exakten Integralwert liefert. 6.6 Kubatur Technische Universität Bergakademie Freiberg

300 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Interpolatorische Quadraturformeln Wie im Eindimensionalen kann man bei n vorgegebenen verschiedenen Knoten x i die Gewichte w i zum Erreichen eines maximalen Exaktheitsgrades wählen. Im R 2 sind hierfür erforderlich ( ) d + 2 n = = d (d + 2)(d + 1) 2 Knoten für Exaktheitsgrad d. Satz 6.10 (Tchakaloff, 1957) Sei Ω R 2 kompakt, w eine nichtnegative, integrierbare Gewichtsfunktion mit 0 < w(x )dx < R 2 sowie d eine feste natürliche Zahl. Dann existiert eine Kubaturformal der Form (6.7) vom Exaktheitsgrad d mit n (d + 1)(d + 2)/2, positiven Gewichten γ i und x i Ω für alle i. 6.6 Kubatur Technische Universität Bergakademie Freiberg

301 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Produktformeln Ist es möglich eventuell nach geeigneter Substitution Integrale über Monome x i y j, i, j N 0, so umzuformen, dass 1 ( 1 ) x i y j w(x, y)dxdy = ξ i w 1 (ξ) η j w 2 (η)dη dξ, Ω 1 so kann man auf die eindimensionalen Integrale jeweils eine Quadraturformel 1 1 g(ζ) w s(ζ)dζ n s i=1 γ(s) i f(ζ (s) i ) (s = 1, 2) mit Exaktheitsgrad d s anwenden und erhält mit n 1 n 2 ( ) f(x, y) w(x, y)dxdy γ (1) i γ (2) j f ζ (1) i, ζ (2) j Ω i=1 eine Kubaturformel mit n 1 n 2 Knoten {(ζ (1) i, ζ (2) j )} und Gewichten {γ (1) i γ (2) j }, 1 i n 1, 1 j n 2 sowie Exaktheitsgrad d = min{d 1, d 2 } (eigentlich etwas mehr, wieso?). j= Kubatur Technische Universität Bergakademie Freiberg

302 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 302 Beispiel 1: Die Gauß-Legendre Formel (w(x) 1) mit zwei Knoten 1 1 f(ζ) dζ f(ζ 1 ) + f(ζ 2 ), ζ 1,2 = ±1 3, (γ 1 = γ 2 = 1), besitzt Exaktheitsgrad d = 3. Mittels der Substitution [ ] ([ ] [ ] [ ]) x(ξ, η) = ξ +, ξ, η [ 1, 1], y(ξ, η) η approximieren wir damit das Integral = i,j=1 exp(x 2 y 2 ) dxdy = exp ( x(ζ i, ζ j ) 2 y(ζ i, ζ j ) 2) = exp(x(ξ, η) 2 y(ξ, η) 2 ) dξdη 6.6 Kubatur Technische Universität Bergakademie Freiberg

303 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 303 Beispiel 2: Die Gauß-Hermite Formeln approximieren Integrale der Bauart f(ζ) exp( ζ 2 )dζ n 1 i=1 und lassen sich daher zu Produktformeln für Integrale kombinieren. γ i f(ζ i ) R 2 f(x, y) exp( x 2 y 2 )dxdy 6.6 Kubatur Technische Universität Bergakademie Freiberg

304 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 304 Beispiel 3: Das Integral I = f(x, y) dxdy, = {(x, y) : 0 x 1, 0 y x} über das Dreieck geht durch die Substitution x = u, y = uv über in I = f(u, uv) udvdu, was wie in Beispiel 1 durch eine Produktformel für ein Quadrat approximiert werden kann. Für die 3-Punkt Gauß-Legendre Formel erhalten wir rechtsstehende Knoten im Dreieck. 6.6 Kubatur Technische Universität Bergakademie Freiberg

305 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I Zusammengesetzte Kubaturformeln Hat man ein beschränktes Gebiet Ω R 2 vollständig oder näherungsweise in Dreiecke oder Rechtecke {K i } N i=1 zerlegt, so kann man gemäß I = Ω f(x, y) dxdy = N i=1 K i f(x, y) dxdy mit Hilfe einer Kubaturformel für Dreiecke bzw. Rechtecke I beliebig genau approximieren, sofern die Zerlegung nur hinreichend fein gewählt ist. Von einer zulässigen Zerlegung verlangt man, dass Ω = N i=1 K i und dass K i K j für i j entweder leer ist oder nur aus gemeinsamen Randpunkten besteht. Folgende Bilder zeigen Beispiele für Triangulierungen, d.h. Zerlegungen in Dreiecke. 6.6 Kubatur Technische Universität Bergakademie Freiberg

306 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 306 Triangulierung eines Polygons: 6.6 Kubatur Technische Universität Bergakademie Freiberg

307 Numerische Mathematik für natur- und ingenieurwissenschaftliche Studiengänge I 307 Triangulierung des Außengebiets eines Tragflächenquerschnitts. 6.6 Kubatur Technische Universität Bergakademie Freiberg

1 Einführung und Begriffe

1 Einführung und Begriffe Numerische Mathematik 5 1 Einführung und Begriffe 1.1 Mathematische Modellbildung und numerische Simulation am Beispiel eines Wasserkreislaufs Simulation ist die Nachbildung eines dynamischen Prozesses

Mehr

1 Einführung und Begriffe

1 Einführung und Begriffe Numerik 4 1 Einführung und Begriffe 1.1 Mathematische Modellbildung und numerische Simulation am Beispiel eines Wasserkreislaufs 1.2 Linearisierung und Iterationsverfahren am Beispiel des Newton-Verfahrens

Mehr

2 Gleitpunktarithmetik und Fehleranalyse

2 Gleitpunktarithmetik und Fehleranalyse Numerische Mathematik 47 2 Gleitpunktarithmetik und Fehleranalyse 2.1 Ein einführendes Beispiel Berechnung von π. π = Umfang eines Kreises mit Radius r = 1 2, U n = Umfang eines einbeschriebenen regelmäßigen

Mehr

Numerik für ingenieur- und naturwissenschaftliche. Antje Franke-Börner (Skript nach M. Eiermann und O. Ernst)

Numerik für ingenieur- und naturwissenschaftliche. Antje Franke-Börner (Skript nach M. Eiermann und O. Ernst) Numerik für ingenieur- und naturwissenschaftliche Studiengänge Antje Franke-Börner (Skript nach M. Eiermann und O. Ernst) Numerik f. Ingenieure und Naturwissenschaftler INHALT 1. Einleitung 2. Einführung

Mehr

2 Gleitpunktarithmetik und Fehleranalyse

2 Gleitpunktarithmetik und Fehleranalyse Numerik 47 2 Gleitpunktarithmetik und Fehleranalyse Einführendes Beispiel: Berechnung von π. y (cos(2π/n)/2, π = Umfang eines Kreises mit Radius r = 1 2, U n = Umfang eines einbeschriebenen regelmäßigen

Mehr

Numerische Mathematik

Numerische Mathematik Numerische Mathematik Oliver Ernst Professur Numerische Mathematik Sommersemester 2015 Inhalt I 1 Einführung und Begriffe 1.1 Mathematische Modellbildung und numerische Simulation am Beispiel eines Wasserkreislaufs

Mehr

Numerische Mathematik

Numerische Mathematik Numerische Mathematik Oliver Ernst Professur Numerische Mathematik Sommersemester 2015 Inhalt I 1 Einführung und Begriffe 1.1 Mathematische Modellbildung und numerische Simulation am Beispiel eines Wasserkreislaufs

Mehr

Gleitkommaarithmetik und Fehleranalyse

Gleitkommaarithmetik und Fehleranalyse Gleitkommaarithmetik und Fehleranalyse Olaf Schenk Departement Informatik, Universität Basel http://informatik.unibas.ch 8 Mai 2003 IEEE Gleitkommaarithmetik und Fehleranalyse 1 IEEE Gleitkommaarithmetik

Mehr

Numerische Lineare Algebra

Numerische Lineare Algebra Numerische Lineare Algebra Vorlesung 1 Prof. Dr. Klaus Höllig Institut für Mathematischen Methoden in den Ingenieurwissenschaften, Numerik und Geometrische Modellierung SS 2010 Prof. Dr. Klaus Höllig (IMNG)

Mehr

3 Numerisches Rechnen

3 Numerisches Rechnen E Luik: Numerisches Rechnen 65 3 Numerisches Rechnen 31 Zahlen und ihre Darstellung Grundlage der Analysis bilden die reellen Zahlen Wir sind heute daran gewöhnt, eine reelle Zahl im Dezimalsystem als

Mehr

Numerische Verfahren und Grundlagen der Analysis

Numerische Verfahren und Grundlagen der Analysis Numerische Verfahren und Grundlagen der Analysis Rasa Steuding Hochschule RheinMain Wiesbaden Wintersemester 2011/12 R. Steuding (HS-RM) NumAna Wintersemester 2011/12 1 / 19 Fehlerbetrachtung R. Steuding

Mehr

Rundungsfehler-Problematik bei Gleitpunktzahlen

Rundungsfehler-Problematik bei Gleitpunktzahlen Rundungsfehler-Problematik bei Gleitpunktzahlen 1 Rechnerzahlen 2 Die Rundung 3 Fehlerverstärkung bei der Addition Rundungsfehler-Problematik 1 1. Rechnerzahlen allgemeine Zahlendarstellung zur Basis b

Mehr

Numerische Mathematik I: Grundlagen

Numerische Mathematik I: Grundlagen Numerische Mathematik I: Grundlagen 09.10.2017 Inhalt der Lehrveranstaltung Inhaltlich sollen Sie in der Lehrveranstaltung Numerische Mathematik I insbesondere vertraut gemacht werden mit der Numerik linearer

Mehr

5 Numerische Mathematik

5 Numerische Mathematik 6 5 Numerische Mathematik Die Numerische Mathematik setzt sich aus mehreren Einzelmodulen zusammen Für alle Studierenden ist das Modul Numerische Mathematik I: Grundlagen verpflichtend In diesem Modul

Mehr

Mathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen

Mathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen Mathematische Werkzeuge für Computergrafik 2016/17 Gleitkommzahlen 1 Grundlagen 1 Da im Computer nur endliche Ressourcen zur Verfügung stehen, können reelle Zahlen in vielen Fällen nicht exakt dargestellt

Mehr

Numerik für Ingenieure I Wintersemester 2008

Numerik für Ingenieure I Wintersemester 2008 1 / 34 Numerik für Ingenieure I Wintersemester 2008 J. Michael Fried Lehrstuhl Angewandte Mathematik III 7.1.2009 2 / 34 Technisches Vorlesungswebsite: http://www.am.uni-erlangen.de/am3/de/lehre/ws08/numing1/

Mehr

1 Grundlagen der Numerik

1 Grundlagen der Numerik 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

Mehr

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

Unter den endlich vielen Maschinenzahlen gibt es zwangsläufig eine größte und eine kleinste: 1.1 Grundbegriffe und Gleitpunktarithmetik 11 Aufgaben 1.4 Bestimmen Sie alle dualen 3-stelligen Gleitpunktzahlen mit einstelligem Exponenten sowie ihren dezimalen Wert. Hinweis: Sie sollten 9 finden.

Mehr

Grundzüge der Informatik Tutorium Gruppe 6

Grundzüge der Informatik Tutorium Gruppe 6 Grundzüge der Informatik Tutorium Gruppe 6 Inhalt Einführung Numerik Fest- und Termin 5 07.2.2006 Apfelthaler Kathrin Test-Beispiel e0225369@student.tuwien.ac.at Numerik Festpunkt-Darstellung Berechnung

Mehr

1. Rechnerzahlen, Kondition, Stabilität

1. Rechnerzahlen, Kondition, Stabilität 1. Rechnerzahlen, Kondition, Stabilität 1 1.1. Rechnerzahlen 2 1.2. Kondition 3 1.3. Stabilität 1. Rechnerzahlen, Kondition, Stabilität 1 / 18 1.1. Rechnerzahlen allgemeine Zahlendarstellung zur Basis

Mehr

Computer-orientierte Mathematik

Computer-orientierte Mathematik Computer-orientierte Mathematik 3. Vorlesung - Christof Schuette 11.11.16 Memo: Rationale und reelle Zahlen Rationale Zahlen: Rationale Zahlen als Brüche ganzer Zahlen. q-adische Brüche, periodische q-adische

Mehr

2. Numerische Verfahren für AWPe 2.1 Das Euler-Verfahren

2. Numerische Verfahren für AWPe 2.1 Das Euler-Verfahren 2.1 Das Euler-Verfahren Wir betrachten das AWP y = f (t, y), y(t 0 ) = y 0. (AWP) Unter den Voraussetzungen von Satz 1.1 besitzt es eine eindeutige Lösung, sagen wir über dem Intervall I. Wir wollen diese

Mehr

Numerische Mathematik für ingenieurwissenschaftliche Studiengänge

Numerische Mathematik für ingenieurwissenschaftliche Studiengänge Institut für Numerische Mathematik und Optimierung Folien zur Vorlesung Numerische Mathematik für ingenieurwissenschaftliche Studiengänge Sommersemester 2010 Hörerkreis: 3./4. BEC, 3./4. BMB, 4. BAI, 4.

Mehr

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

(d) das zu Grunde liegende Problem gut konditioniert ist. Aufgabe 0: (6 Punkte) Bitte kreuzen Sie die richtige Lösung an. Es ist jeweils genau eine Antwort korrekt. Für jede richtige Antwort erhalten Sie einen Punkt, für jede falsche Antwort wird Ihnen ein Punkt

Mehr

1. Rechnerarithmetik und. Rundungsfehler

1. Rechnerarithmetik und. Rundungsfehler 1. Rechnerarithmetik und Rundungsfehler 1 Rundung (1) Die natürlichen Zahlen hat der liebe Gott gemacht, alles andere ist Menschenwerk, L. Kronecker Ohne Zahlendarstellung auf einem Rechner wiederholen

Mehr

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

Numerik für Informatiker, Elektrotechniker und Naturfreunde von Michael Lehn 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

Mehr

Darstellung rationaler und reeller Zahlen Vorlesung vom

Darstellung rationaler und reeller Zahlen Vorlesung vom Darstellung rationaler und reeller Zahlen Vorlesung vom 30.10.15 Rationale Zahlen: Rationale Zahlen als Brüche ganzer Zahlen. q-adische Brüche, periodische q-adische Brüche. Beispiele. Satz: Jede rationale

Mehr

Nichtlineare Gleichungssysteme

Nichtlineare Gleichungssysteme Nichtlineare Gleichungssysteme Jetzt: Numerische Behandlung nichtlinearer GS f 1 (x 1,..., x n ) =0. f n (x 1,..., x n ) =0 oder kurz f(x) = 0 mit f : R n R n Bemerkung: Neben dem direkten Entstehen bei

Mehr

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

bekannt Analog reduzieren wir die Randwerte im 2d-System. Man erhält dann eine Blocktridia- 3.. Jetzt: Eliminiere 1. und 2. wie folgt u 2 + 2u 1 = h 2 f 1 + α }{{} bekannt Nun: Au = b mit A R n,n, b R n, u R n und A hat die Gestalt 2 1 1 2 1 A =......... =: tridiag( 1, 2, 1)...... 1 1 2 Analog

Mehr

2.1.2 Gleitkommazahlen

2.1.2 Gleitkommazahlen .1. Gleitkommazahlen Überblick: Gleitkommazahlen Gleitkommadarstellung Arithmetische Operationen auf Gleitkommazahlen mit fester Anzahl von Mantissen- und Exponentenbits Insbesondere Rundungsproblematik:

Mehr

8 Dezimalzahlen und Fehlerfortpflanzung

8 Dezimalzahlen und Fehlerfortpflanzung 7 Dezimalzahlen und Fehlerfortpflanzung 29 8 Dezimalzahlen und Fehlerfortpflanzung Lernziele: Konzepte: Dezimalzahlen und Runden Methoden: spezielle Umrechungen Kompetenzen: Einschätzen von Fehlerfortpflanzungen

Mehr

Nichtlineare Gleichungssysteme

Nichtlineare Gleichungssysteme Kapitel 5 Nichtlineare Gleichungssysteme 51 Einführung Wir betrachten in diesem Kapitel Verfahren zur Lösung von nichtlinearen Gleichungssystemen Nichtlineares Gleichungssystem: Gesucht ist eine Lösung

Mehr

1. Anfangswertprobleme 1. Ordnung

1. Anfangswertprobleme 1. Ordnung 1. Anfangswertprobleme 1. Ordnung 1.1 Grundlagen 1.2 Euler-Vorwärts-Verfahren 1.3 Runge-Kutta-Verfahren 1.4 Stabilität 1.5 Euler-Rückwärts-Verfahren 1.6 Differentialgleichungssysteme Prof. Dr. Wandinger

Mehr

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

KLAUSUR zur Numerik I mit Lösungen. Aufgabe 1: (10 Punkte) [ wahr falsch ] 1. Die maximale Ordnung einer s-stufigen Quadraturformel ist s 2. MATHEMATISCHES INSTITUT PROF. DR. ACHIM SCHÄDLE 9.8.7 KLAUSUR zur Numerik I mit Lösungen Aufgabe : ( Punkte) [ wahr falsch ]. Die maximale Ordnung einer s-stufigen Quadraturformel ist s. [ ]. Der Clenshaw

Mehr

Numerische Mathematik

Numerische Mathematik Michael Knorrenschild Mathematik-Studienhilfen Numerische Mathematik Eine beispielorientierte Einführung 6., aktualisierte und erweiterte Auflage 1.1 Grundbegriffe und Gleitpunktarithmetik 15 second, also

Mehr

Nichtlineare Gleichungen

Nichtlineare Gleichungen Nichtlineare Gleichungen Ein wichtiges Problem in der Praxis ist die Bestimmung einer Lösung ξ der Gleichung f(x) =, () d.h. das Aufsuchen einer Nullstelle ξ einer (nicht notwendig linearen) Funktion f.

Mehr

5 Interpolation und Approximation

5 Interpolation und Approximation 5 Interpolation und Approximation Problemstellung: Es soll eine Funktion f(x) approximiert werden, von der die Funktionswerte nur an diskreten Stellen bekannt sind. 5. Das Interpolationspolynom y y = P(x)

Mehr

Inexakte Newton Verfahren

Inexakte Newton Verfahren Kapitel 3 Inexakte Newton Verfahren 3.1 Idee inexakter Newton Verfahren Wir betrachten weiterhin das nichtlineare Gleichungssystem F (x) = mit einer zumindest stetig differenzierbaren Funktion F : R n

Mehr

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Wie rechnet ein Computer? Ein Mikroprozessor ist ein

Mehr

Computergrundlagen Zahlensysteme

Computergrundlagen Zahlensysteme Computergrundlagen Zahlensysteme Institut für Computerphysik Universität Stuttgart Wintersemester 2012/13 Wie rechnet ein Computer? Ein Mikroprozessor ist ein Netz von Transistoren, Widerständen und Kondensatoren

Mehr

( ) Dann gilt f(x) g(x) in der Nähe von x 0, das heisst. Für den Fehler r(h) dieser Näherung erhält man unter Verwendung von ( )

( ) Dann gilt f(x) g(x) in der Nähe von x 0, das heisst. Für den Fehler r(h) dieser Näherung erhält man unter Verwendung von ( ) 64 Die Tangente in x 0 eignet sich also als lokale (lineare) Näherung der Funktion in der Nähe des Punktes P. Oder gibt es eine noch besser approximierende Gerade? Satz 4.9 Unter allen Geraden durch den

Mehr

HaDePrak WS 05/ Versuch

HaDePrak WS 05/ Versuch HaDePrak WS 05/06 10. Versuch 1 Das IEEE-Format Das Ziel dieser letzten Übung ist es, ein Fließkommapaket für die DLXzu implementieren. Der Einfachheit halber vernachlässigen wir hier im Praktikum jeglichen

Mehr

1 Fehleranalyse, Kondition, Stabilität

1 Fehleranalyse, Kondition, Stabilität Fehleranalyse, Kondition, Stabilität Fehlerquellen: Modellierungsfehler z.b. Ohmsches Gesetz u = Ri berücksichtigt nicht die Temperaturabhängigkeit des Widerstandes Messfehler z.b. digitaler Temperatursensor

Mehr

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

Grundlagen Kondition Demo. Numerisches Rechnen. (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang Numerisches Rechnen (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang Institut für Geometrie und Praktische Mathematik RWTH Aachen Wintersemester 2011/12 IGPM, RWTH Aachen Numerisches Rechnen

Mehr

Einführung in die Computerorientierte Mathematik

Einführung in die Computerorientierte Mathematik Einführung in die Computerorientierte Mathematik Wintersemester 2014/15 Thomas Gerstner Institut für Mathematik Goethe-Universität Frankfurt 17. Oktober 2014 Inhaltsverzeichnis Inhaltsverzeichnis ii 1

Mehr

Numerische Simulation mit finiten Elementen. O. Rheinbach

Numerische Simulation mit finiten Elementen. O. Rheinbach Numerische Simulation mit finiten Elementen O. Rheinbach Numerische Simulation mit finiten Elementen INHALT 0.1 Finite Differenzen in 2D 1. Einleitung 1.1 Vorbemerkungen 1.2 Rand- und Anfangswertaufgaben

Mehr

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

7. Übungs-/Wiederholungsblatt zu Einführung in die Numerik (SS 2012) Technische Universität München Zentrum Mathematik, M1 Prof. Dr. Boris Vexler Dr. Ira Neitzel Dipl.-Math. Alana Kirchner 7. Übungs-/Wiederholungsblatt zu Einführung in die Numerik (SS 2012) Diese Auswahl

Mehr

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.

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. NumaMB F14 Verständnisfragen-Teil (24 Punkte) Es gibt zu jeder der 12 Aufgaben vier Teilaufgaben. Diese sind mit wahr bzw. falsch zu kennzeichnen (hinschreiben). Bewertung: Vier Fragen richtig beantwortet

Mehr

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2011/12 Wie rechnet ein Computer? Ein Mikroprozessor ist ein

Mehr

Numerische Integration

Numerische Integration A1 Numerische Integration Einführendes Beispiel In einem Raum mit der Umgebungstemperatur T u = 21.7 C befindet sich eine Tasse heissen Kaffees mit der anfänglichen Temperatur T 0 80 C. Wie kühlt sich

Mehr

Einführung in numerische Methoden für Ingenieure (nach A. Quarteroni, F. Saleri: Wissenschaftliches Rechnen mit MATLAB)

Einführung in numerische Methoden für Ingenieure (nach A. Quarteroni, F. Saleri: Wissenschaftliches Rechnen mit MATLAB) Einführung in numerische Methoden für Ingenieure (nach A. Quarteroni, F. Saleri: Wissenschaftliches Rechnen mit MATLAB) Prof. R. Leithner, Dipl. Phys. E. Zander Wintersemester 2010/2011 Kapitel 8 Partielle

Mehr

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

Werkstatt Multiplikation Posten: Rundung im Quadrat. Informationsblatt für die Lehrkraft. Rundung im Quadrat Informationsblatt für die Lehrkraft Rundung im Quadrat Informationsblatt für die Lehrkraft Thema: Schultyp: Vorkenntnisse: Bearbeitungsdauer: Numerische Grenzen des Computers Mittelschule, technische Berufsschule,

Mehr

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

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { } Zur Einleitung: Lineare Gleichungssysteme Wir untersuchen zunächst mit Methoden, die Sie vermutlich aus der Schule kennen, explizit einige kleine lineare Gleichungssysteme. Das Gleichungssystem I wird

Mehr

Dipl.-Ing. Christoph Erath 10. November FVM-BEM Kopplung. Was gewinnen wir, wenn wir zwei numerische Methoden miteinander koppeln?

Dipl.-Ing. Christoph Erath 10. November FVM-BEM Kopplung. Was gewinnen wir, wenn wir zwei numerische Methoden miteinander koppeln? Dipl.-Ing. Christoph Erath 10. November 2007 FVM-BEM Kopplung Was gewinnen wir, wenn wir zwei numerische Methoden miteinander koppeln? Seite 2 FVM-BEM Kopplung 10. November 2007 Dipl.-Ing. Christoph Erath

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

Numerische Ableitung

Numerische Ableitung Numerische Ableitung Die Ableitung kann angenähert werden durch den Differentenquotient: f (x) f(x + h) f(x) h oder f(x + h) f(x h) 2h für h > 0, aber h 0. Beim numerischen Rechnen ist folgendes zu beachten:

Mehr

Ausgleichsproblem. Definition (1.0.3)

Ausgleichsproblem. Definition (1.0.3) Ausgleichsproblem Definition (1.0.3) Gegeben sind n Wertepaare (x i, y i ), i = 1,..., n mit x i x j für i j. Gesucht ist eine stetige Funktion f, die die Wertepaare bestmöglich annähert, d.h. dass möglichst

Mehr

Kapitel 4: Nichtlineare Nullstellenprobleme

Kapitel 4: Nichtlineare Nullstellenprobleme Vorlesung Höhere Mathematik: Numerik (für Ingenieure) Kapitel 4: Nichtlineare Nullstellenprobleme Jun.-Prof. Dr. Stephan Trenn AG Technomathematik, TU Kaiserslautern Sommersemester 2015 HM: Numerik (SS

Mehr

Numerische Methoden I Schriftliche Prüfung Gruppe A 23. Jan :00-14:00 (120 min)

Numerische Methoden I Schriftliche Prüfung Gruppe A 23. Jan :00-14:00 (120 min) Lehrstuhl für Angewandte Mathematik Montanuniversität Leoben 70 004 Numerische Methoden I Schriftliche Prüfung Gruppe A 23. Jan. 207 2:00-4:00 (20 min) Name Matrikelnummer Mündliche Prüfung: Bitte markieren

Mehr

Systemanalyse und Modellbildung

Systemanalyse und Modellbildung Systemanalyse und Modellbildung Universität Koblenz-Landau Fachbereich 7: Natur- und Umweltwissenschaften Institut für Umweltwissenschaften Dr. Horst Niemes(Lehrbeauftragter) 7. Zeitdiskrete Modelle 7.1

Mehr

MATHEMATIK 2 FÜR DIE STUDIENGÄNGE CHE- MIE UND LEBENSMITTELCHEMIE

MATHEMATIK 2 FÜR DIE STUDIENGÄNGE CHE- MIE UND LEBENSMITTELCHEMIE Mathematik und Naturwissenschaften Fachrichtung Mathematik, Institut für Numerische Mathematik MATHEMATIK 2 FÜR DIE STUDIENGÄNGE CHE- MIE UND LEBENSMITTELCHEMIE Differentialrechnung für Funktionen mehrerer

Mehr

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016 Institut für Analysis Prof Dr Michael Plum Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 0 0090 Aufgabe Punkte: Betrachten Sie das lineare Gleichungssystem Ax = b mit A = 0 und b

Mehr

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 25. April 2016 Die Dimensionsformel Definition 3.9 Sei f : V W eine lineare Abbildung zwischen zwei K-Vektorräumen. Der Kern

Mehr

Numerisches Programmieren, Übungen

Numerisches Programmieren, Übungen Technische Universität München SoSe 017 Institut für Informatik Prof Dr Thomas Huckle Michael Obersteiner, Michael Rippl Numerisches Programmieren, Übungen Musterlösung 1 Übungsblatt: Zahlendarstellung,

Mehr

Der Taylorsche Satz Herleitung und Anwendungen

Der Taylorsche Satz Herleitung und Anwendungen Der Taylorsche Satz Herleitung und Anwendungen Joachim Schneider Juni 2004 Zusammenfassung Es wird ein enfacher Beweis des Taylorsche Satz über die lokale Approximierbarkeit hinreichend glatter Funktionen

Mehr

SYSTEMANALYSE 2 Kapitel 7: Zeitdiskrete Modelle

SYSTEMANALYSE 2 Kapitel 7: Zeitdiskrete Modelle Universität Koblenz-Landau Fachbereich 7: Natur-und Umweltwissenschaften Institut für Umweltwissenschaften Dr. Horst Niemes(Lehrbeauftragter) SYSTEMANALYSE 2 Kapitel 7: Zeitdiskrete Modelle 1. Zeitdiskrete

Mehr

NEXTLEVEL im WiSe 2011/12

NEXTLEVEL im WiSe 2011/12 Fachbereich Mathematik der Universität Hamburg Dr. H. P. Kiani NEXTLEVEL im WiSe 2011/12 Vorlesung 5, Teil 2 Linearisierung, einige Eigenschaften differenzierbarer Funktionen Die ins Netz gestellten Kopien

Mehr

Übungen zu Splines Lösungen zu Übung 20

Übungen zu Splines Lösungen zu Übung 20 Übungen zu Splines Lösungen zu Übung 20 20.1 Gegeben seien in der (x, y)-ebene die 1 Punkte: x i 6 5 4 2 1 0 1 2 4 5 6 y i 1 1 1 1 1 + 5 1 + 8 4 1 + 8 1 + 5 1 1 1 1 (a) Skizzieren Sie diese Punkte. (b)

Mehr

Nichtlineare Gleichungssysteme

Nichtlineare Gleichungssysteme Kapitel 2 Nichtlineare Gleichungssysteme Problem: Für vorgegebene Abbildung f : D R n R n finde R n mit oder ausführlicher f() = 0 (21) f 1 ( 1,, n ) = 0, f n ( 1,, n ) = 0 Einerseits führt die mathematische

Mehr

WH: Arithmetik: Floating Point

WH: Arithmetik: Floating Point WH: Arithmetik: Floating Point Elmar Langetepe University of Bonn Robuste Implementierungen Floating Point Arithmetik Bonn 06 1 Real RAM Robuste Implementierungen Floating Point Arithmetik Bonn 06 2 Real

Mehr

2 Zahldarstellungen und Fehleranalyse *

2 Zahldarstellungen und Fehleranalyse * 5 2 Zahldarstellungen und Fehleranalyse * Im Rahmen der angewandten Mathematik wird, und das sollte nicht wirklich überraschen, der Computer als eines der zentralen Hilfsmittel eingesetzt und ist bei anspruchsvollen

Mehr

Explizite gewöhnliche Differentialgleichung 1. Ordnung mit Anfangsbedingung

Explizite gewöhnliche Differentialgleichung 1. Ordnung mit Anfangsbedingung Explizite gewöhnliche Differentialgleichung 1. Ordnung mit Anfangsbedingung Gesucht ist eine Funktion y(x), welche erfüllt y = f(x,y) y(x 0 ) = y 0 Differentialgleichung Anfangsbedingung Wenn f in x stetig

Mehr

Newton-Verfahren für ein Skalarfunktion

Newton-Verfahren für ein Skalarfunktion Newton-Verfahren für ein Skalarfunktion Für eine Näherungsberechnung von Nullstellen einer reellen Funktion f(x) : R R benutzt man das Newton-Verfahren: x (n+1) = x (n) f(x (n) )/f (x (n) ). Das Newton-Verfahren

Mehr

12 Gewöhnliche Differentialgleichungen

12 Gewöhnliche Differentialgleichungen 2 2 Gewöhnliche Differentialgleichungen 2. Einleitung Sei f : D R wobei D R 2. Dann nennt man y = f(x, y) (5) eine (gewöhnliche) Differentialgleichung (DGL) erster Ordnung. Als Lösung von (5) akzeptiert

Mehr

Nullstellenberechnung von nichtlinearen Funktionen

Nullstellenberechnung von nichtlinearen Funktionen Kapitel 3 Nullstellenberechnung von nichtlinearen Funktionen In dieser Vorlesung wird nur die Nullstellenberechnung reeller Funktionen einer reellen Variablen f : R R betrachtet. Man nennt die Nullstellen

Mehr

2. Spezielle anwendungsrelevante Funktionen

2. Spezielle anwendungsrelevante Funktionen 2. Spezielle anwendungsrelevante Funktionen (1) Affin-lineare Funktionen Eine Funktion f : R R heißt konstant, wenn ein c R mit f (x) = c für alle x R existiert linear, wenn es ein a R mit f (x) = ax für

Mehr

- 1 - angeführt. Die Beschleunigung ist die zweite Ableitung des Ortes x nach der Zeit, und das Gesetz lässt sich damit als 2.

- 1 - angeführt. Die Beschleunigung ist die zweite Ableitung des Ortes x nach der Zeit, und das Gesetz lässt sich damit als 2. - 1 - Gewöhnliche Differentialgleichungen Teil I: Überblick Ein großer Teil der Grundgesetze der Phsik ist in Form von Gleichungen formuliert, in denen Ableitungen phsikalischer Größen vorkommen. Als Beispiel

Mehr

Numerische Integration und Differentiation

Numerische Integration und Differentiation Einführung Grundlagen Bemerkung (Numerische Mathematik) a) Im engeren Sinn: zahlenmäßige Auswertung mathematischer Zusammenhänge z B Lösung von linearen und nichtlinearen Gleichungssystemen Numerische

Mehr

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 5. Juni 2016 Definition 5.21 Ist a R, a > 0 und a 1, so bezeichnet man die Umkehrfunktion der Exponentialfunktion x a x als

Mehr

Wertebereiche, Overflow und Underflow

Wertebereiche, Overflow und Underflow Wertebereiche, Overflow und Underflow s exponent fraction 1 Bit 8 Bits 23 Bits Kleinste darstellbare nicht negative Zahl annähernd 2,0 * 10 38 Größte darstellbare Zahl annähernd 2,0 * 10 38 Was, wenn die

Mehr

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

Numerische Verfahren zur Lösung unrestringierter Optimierungsaufgaben. Eine kurze Einführung in Quasi Newton Verfahren Ergänzungen zu dem Buch Numerische Verfahren zur Lösung unrestringierter Optimierungsaufgaben von Carl Geiger und Christian Kanzow (Springer Verlag, 1999) Eine kurze Einführung in Quasi Newton Verfahren

Mehr

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

Kurztest zur Numerik I WiR AG, Dep. Mathematik, NT-Fakultät, Universität Siegen Kurztest zur Numerik I WiR AG, Dep. Mathematik, NT-Fakultät, Universität Siegen Wintersemester 2012/201 Zwischentest Teil 1: 1. Was bedeuten die Bezeichnungen O(h) und o(h)? (Definition) (siehe Skript!)

Mehr

Numerische Methoden. Thomas Huckle Stefan Schneider. Eine Einführung für Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker.

Numerische Methoden. Thomas Huckle Stefan Schneider. Eine Einführung für Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker. Thomas Huckle Stefan Schneider Numerische Methoden Eine Einführung für Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker 2. Auflage Mit 103 Abbildungen und 9 Tabellen 4Q Springer Inhaltsverzeichnis

Mehr

Numerik. Festpunkt-Darstellung

Numerik. Festpunkt-Darstellung Numerik Ablauf: Festpunkt-Darstellung Gleitpunkt-Darstellung Runden Addition/Subtraktion Multiplikation Ausblick und Zusammenfassung Wolfgang Kastner, Institut für Rechnergestützte Automation, TU Wien

Mehr

Simulationstechnik V

Simulationstechnik V Simulationstechnik V Vorlesung/Praktikum an der RWTH Aachen Numerische Simulation von Strömungsvorgängen B. Binninger Institut für Technische Verbrennung Templergraben 64 2. Teil 2-1 1) Welche Garantie

Mehr

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

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen 3 Zahlendarstellung - Zahlensysteme - b-adische Darstellung natürlicher Zahlen - Komplementbildung - Darstellung ganzer und reeller Zahlen Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen......

Mehr

D - 2 Gleitkommadarstellung und -arithmetik

D - 2 Gleitkommadarstellung und -arithmetik Numerik im Überblick Was ist, was will Numerik Numerische Grundaufgaben und ihre Lösbarkeit Warnung Alles wird beliebig viel schwieriger wenn einige Variablen ganzzahlig sein müssen und / oder die Lösung

Mehr

9 Lineare Gleichungssysteme

9 Lineare Gleichungssysteme 9 Lineare Gleichungssysteme Eine der häufigsten mathematischen Aufgaben ist die Lösung linearer Gleichungssysteme In diesem Abschnitt beschäftigen wir uns zunächst mit Lösbarkeitsbedingungen und mit der

Mehr

Approximation von Nullstellen mit Hilfe der Ableitung Mit Tangenten geht es oft einfacher und schneller als mit Sehnen oder Sekanten

Approximation von Nullstellen mit Hilfe der Ableitung Mit Tangenten geht es oft einfacher und schneller als mit Sehnen oder Sekanten Gegeben ist die Funktion f mit f(x :' x 4 & 2@x 3 & 3@x 2 % 3@x % 2 Man erkennt leicht, dass es durch die Dominanz des vierten Potenzterms ( x 4 genügt, die Funktion über dem Intervall [ -3 ; 3 ] zu betrachten,

Mehr

Astrophysikalsiches Numerikum: Gewöhnliche Differentialgleichungen am Beispiel Weißer Zwerge

Astrophysikalsiches Numerikum: Gewöhnliche Differentialgleichungen am Beispiel Weißer Zwerge Astrophysikalsiches Numerikum: Gewöhnliche Differentialgleichungen am Beispiel Weißer Zwerge A. Schweitzer Wintersemester 2005/06 Links, Literatur und weitere Informationen Die Numerical Recepies sind

Mehr

1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen

1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen 1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen 1.5.1 Situation Manchmal möchte man in Programmen mit Kommazahlen rechnen. In der Mathematik Im der Wirtschaft, im kaufmännischen Bereich

Mehr

(x x j ) R m [x] (3) x x j x k x j. R m [x]. (4)

(x x j ) R m [x] (3) x x j x k x j. R m [x]. (4) 33 Interpolation 147 33 Interpolation In vielen praktischen Anwendungen der Mathematik treten Funktionen f auf, deren Werte nur näherungsweise berechnet werden können oder sogar nur auf gewissen endlichen

Mehr

bei Unterlauf wird stattdessen Hälfte des Divisors addiert Ersparnisse einer Addition bzw. Subtraktion

bei Unterlauf wird stattdessen Hälfte des Divisors addiert Ersparnisse einer Addition bzw. Subtraktion 6.2 Non-Restoring Division Restoring Division Divisor wird subtrahiert falls Unterlauf (Ergebnis negativ) Divisor wird wieder addiert im nächsten Durchlauf wird die Hälfte des Divisor subtrahiert (Linksshift

Mehr

Die Fakultät. Thomas Peters Thomas Mathe-Seiten 13. September 2003

Die Fakultät. Thomas Peters Thomas Mathe-Seiten  13. September 2003 Die Fakultät Thomas Peters Thomas Mathe-Seiten www.mathe-seiten.de 3. September 2003 Dieser Artikel gibt die Definition der klassischen Fakultät und führt von dort aus zunächst zu der Anwendung in Taylor-Reihen

Mehr

7.11. Extrema unter Nebenbedingungen

7.11. Extrema unter Nebenbedingungen 7.11. Extrema unter Nebenbedingungen Randextrema Wir haben schon bemerkt, daß die üblichen Tests mit Hilfe von (eventuell höheren) Ableitungen nur Kriterien für (lokale) Extrema im Inneren des Definitionsgebietes

Mehr

1 Lineare Gleichungssysteme und Matrizen

1 Lineare Gleichungssysteme und Matrizen 1 Lineare Gleichungssysteme und Matrizen Das Studium linearer Gleichungssysteme und ihrer Lösungen ist eines der wichtigsten Themen der linearen Algebra. Wir werden zunächst einige grundlegende Begriffe

Mehr

Gleitkommaarithmetik. Erhöhen der Genauigkeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 124

Gleitkommaarithmetik. Erhöhen der Genauigkeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 124 Gleitkommaarithmetik Erhöhen der Genauigkeit Grundlagen der Rechnerarchitektur Logik und Arithmetik 124 Guard Bit, Round Bit und Sticky Bit Bei der Darstellung der Addition und Multiplikation haben wir

Mehr