Institut für Numerische Mathematik und Optimierung Numerik für Techniker Michael Eiermann Sommersemester 2016
Numerk für Techniker 1 Abschlüsse (Klausuren): Die Prüfungsklausuren dauern 120 Minuten und finden nach jedem Semester statt. Die genauen Termine werden im Prüfungsplan verö entlicht (und in den Übungen bekannt gegeben). Zugelassene Hilfsmittel sind Taschenrechner sowie eine Hardcopy dieser Folien. Weitere Hilfsmittel sind nicht erlaubt. Klausuren
Numerk für Techniker 2 In der Vergangenheit war die Durchfallquote bei den Klausuren zum Teil erschreckend hoch ( 50%). Gründe dafür sind u.a. die naive Vorstellung, dass der Besuch der Vorlesung/Übung ausreicht, um (gewissermaßen durch Beschallung) den Sto zu beherrschen, der ungerechtfertigte Glaube, dass ein Auswendiglernen gewisser Techniken das tiefere Verständnis der Inhalte und Zusammenhänge ersetzt, der leider weit verbreitete Irrtum, dass man sich durch intensive Arbeit in wenigen Wochen (oder gar Tagen), den Sto eines Semesters aneignen kann, das naive Vertrauen darauf, nichts lernen bzw. üben zu müssen, weil zur Klausur Hilfsmittel (diese Folien, Taschenrechner) zugelassen sind. Beobachtungen
Numerk für Techniker 3 Empfehlungen: Arbeiten Sie von Anfang an intensiv mit. Arbeiten Sie die Vorlesungen nach. Stellen Sie Fragen bei sich ergebenden Unklarheiten. Bearbeiten Sie die Übungsaufgaben, Beispiele und Übungsklausuren selbstständig. Bilden Sie Arbeitsgruppen. Lesen Sie dem Stand der Vorlesung entsprechende Kapitel in der Literatur, umandereaspektekennenzulernen. Rechnen Sie damit, dass Sie mindestens den doppelten Zeitaufwand, den Sie in Vorlesung/Übung verbringen, für das Nacharbeiten der Vorlesung bzw. Bearbeiten der Übungsaufgaben benötigen. Empfehlungen
Numerk für Techniker 4 Die Aufgabe der Numerik ist die Konstruktion und Analyse von Algorithmen zur Lösung mathematischer Probleme (mehr zu diesem Thema in ersten Kapitel). Diese Probleme stammen ursprünglich aus Technik, Naturwissenschaften, Sozial- oder Wirtschaftswissenschaften, liegen aber in mathematischer Form, z.b. als Di erentialgleichungen, 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 auf Einsatzgebiete hinweisen.) Inhalt der Vorlesung
Numerk für Techniker 5 Themen dieser Vorlesung sind das Lösen von Gleichungen bzw. Gleichungssystemen (linear oder nichtlinear), Ausgleichsrechnung, Eigenwertprobleme, die Approximation komplizierter Funktionen durch einfachere, die näherungsweise Berechnung eines Integrals, die Lösung von Anfangs- und Randwertproblemen bei gewöhnlichen Di erentialgleichungen. Inhalt der Vorlesung
Numerk für Techniker 6 Literatur: Günter Bärwol. Numerik für Ingenieure, Physiker und Informatiker. Spektrum Akademischer Verlag, Heidelberg 2007. Wolfgang Dahmen, Arnold Reusken. Numerik für Ingenieure und Naturwissenschaftler. 2. Auflage, Springer, Berlin 2008. James W. Demmel. Applied Numerical Linear Algebra. SIAM, Philadelphia 1997. Richard Mohr. Numerische Methoden in der Technik. Vieweg, Braunschweig 1998. Alfio Quateroni, Riccardo Sacco, Fausto Saleri. Numerische Mathematik 1und2. Springer, Berlin, 2002. Willi Törnig, Peter Spellucci. Numerische Mathematik für Ingenieure und Techniker, Band 1 und 2. Springer, Berlin 1990.... Literatur
Numerk für Techniker 7 1 Einführung 1.1 Versuch einer Definition Everyone knows that when scientists and engineers need numerical answers to mathematical problems, they turn to computers. Nevertheless, there is a widespread misconception about this process.... The day has long since passed when an advance in the physical sciences could be achieved, or a significant engineering product developed, without numerical mathematics. Computers certainly play a part in this story, yet there is a misunderstanding about what their role is. Many people imagine that scientists and mathematicians generate formulas, and then, by inserting numbers into these formulas, computers grind out the necessary results. The reality is nothing like this. What really goes on is a far more interesting process of execution of algorithms. Einführung Versuch einer Definition
Numerk für Techniker 8 In most cases the job could not be done even in principle by formulas, for most mathematical problems cannot be solved by a finite sequence of elementary operations. What happens instead is that fast algorithms quickly converge to approximate answers that are accurate to three or ten digits of precision, or a hundred. For a scientific or engineering application, such an answer may be as good as exact.... Einführung Versuch einer Definition
Numerk für Techniker 9 Computers do not merely represent numbers, of course; they perform operations on them such as addition, subtraction, multiplication, and division, and more complicated results are obtained from sequences of these elementary operations. In floating-point arithmetic, the computed result of each elementary operation is almost exactly correct in the following sense: if is one of these four operations in its ideal form and ~ is the same operation as realized on the computer, then for any floating-point numbers x and y, assuming that there is no underflow or overflow, x ~ y =(x y)(1 + "). Here " is a very small quantity, no greater in absolute value than a number known as machine epsilon, denoted by " mach, that measures the accuracy of the computer. In the IEEE system, " mach =2 53 1.1 10 16.... Einführung Versuch einer Definition
Numerk für Techniker 10 Another comparison with physics concerns the precision to which fundamental constants are known, such as (roughly) 4 digits for the gravitational constant G, 7 digits for Planck s constant h and the elementary charge e, and 12 digits for the ratio µ e /µ B of the magnetic moment of the electron to the Bohr magneton. At present, almost nothing in physics is known to more than 12 digits of accuracy. Thus IEEE numbers are orders of magnitude more precise than almost any number in science.... It is a curious phenomenon that, nevertheless, it is floating-point arithmetic rather than the laws of physics that is widely regarded as an ugly and dangerous compromise. Numerical analysts themselves are partly to blame for this perception. In the 1950s and 1960s, the founding fathers of the field discovered that inexact arithmetic can be a source of danger, causing results to be in error that ought to be right. Einführung Versuch einer Definition
Numerk für Techniker 11 The source of such problems is numerical instability: that is, the amplification of rounding errors from microscopic to macroscopic scale by certain modes of computation. These men, including von Neumann, Wilkinson, Forsythe, and Henrici, took great pains to publicize the risks of careless reliance on machine arithmetic. These risks are very real, but the message was communicated all too successfully, leading to the current widespread impression that the main business of numerical analysis is coping with rounding errors. In fact, the main business of numerical analysis is designing algorithms that converge quickly; rounding-error analysis, while often a part of the discussion, is rarely the central issue. If rounding errors vanished, 90% of numerical analysis would remain.... Lloyd N. Trefethen, Numerical analysis, http://www.comlab.ox.ac.uk./nick.trefethen/naessay.pdf Einführung Versuch einer Definition
Numerk für Techniker 12 1.2 Beispiel 1: Der Aktienindex der Börse in Vancouver Im Januar 1982 wurde an der Börse in Vancouver ein Aktienindex eingeführt, der mit 1000 Punkten startete, ca. N = 1500 verschiedene Aktien umfasste, die alle gleich gewichtet wurden. Aktie 1 2 N Kurs k 1 k 2 k N,d.h.index = C mit dem festen Normierungsfaktor C (der so gewählt wurde, dass index = 1000 zum Einführungszeitpunkt gilt, und den wir obda auf C =1setzen). Im November 1983 lag der Index bei 524.811 Punkten, obwohl die Aktienkurse sich durchschnittlich positiv entwickelt hatten. NX j=1 k j Einführung Beispiel 1
Numerk für Techniker 13 Zur Berechnung des Index: Immer wenn ein Aktienkurs sich änderte (zwischen 2800 und 3000 Mal pro Tag), wurde der Börsenindex auf 4 Stellen hinter dem Komma neu berechnet und nach 3 Stellen hinter dem Komma abgeschnitten. Ändert sich etwa der Kurs der Aktie m von km alt auf km neu,sowurdeder neue Indexwert statt mit der Definitionsgleichung index neu = k neu m + X j6=m k j (N 1 Operationen), mit einer Update-Formel index neu = k neu m k alt m +index alt (2 Operationen) (Fehlerfortpflanzung!) berechnet (und dann auf 3 Nachkommastellen abgeschnitten). Einführung Beispiel 1
Numerk für Techniker 14 Erklärung: Der Wert eines Kurses wurde auf 4 Stellen genau angegeben. Die Berechnung des Index erfolgte auch mit dieser Genauigkeit, danach wurde die vierte Stelle einfach abgeschnitten. Der minimale Fehler hierbei liegt bei 0.0000, dermaximalebei0.0009, derdurchschnittlichealsobei 0.00045 = (0.0000 + 0.0001 + 0.0009)/10. Bei durschschnittlich 2900 Transaktionen pro Tag, ergibt sich ein täglicher Fehler von 0.00045 2900 = 1.305. Bei 20 Arbeitstagen pro Monat ergibt sich ein monatlicher Fehler von 1.305 20 = 26.1. Der Index wurde 22 Monate lang falsch berechnet, was zu einem Gesamtfehler von 26.1 22 = 574.2 führt. Einführung Beispiel 1
Numerk für Techniker 15 Quintessenz: Erstmalig im Februar 1983 wurden Nachforschungen angestellt, warum der Börsenindex ständig fällt. Trotzdem blieb der Fehler bis November 1983 unentdeckt und der Index wurde weiterhin falsch berechnet. Nachdem der Fehler von Beratern aus Toronto und Kalifornien innerhalb von 3 Wochen entdeckt und korrigiert worden war, erö nete die Vancouver Börse am Montag, dem 28. November 1983, mit dem Index von 1098.892. Der alte Börsenindex von 524.811 Punkten wurde also um mehr als 100%, genau um 574.081 Punkte, aufgewertet (was ziemlich genau unserer Prognose von 574.2 entspricht). Hier wurde sehr oft in eine Formel eingesetzt, bei der neue Fehler entstehen und (wichtiger!) die alten Fehler fortgepflanzt werden, was schließlich zu einem gewaltigen Gesamtfehler führte. Mit numerischer Mathematik hat das (fast) nichts zu tun. http://www5.informatik/tu-muenchen.de/persons/huckle/bugse.html Einführung Beispiel 1
Numerk für Techniker 16 1.3 Beispiel 2: Die Bohrplattform Sleipner A Die norwegische Bohrplattform Sleipner A fördert Öl und Gas in der Nordsee (82 m über dem Meeresgrund). Sie besitzt eine Basis aus Beton, die aus 24 Zellen mit einer Gesamtfläche von 16000 m 2 besteht. Vier Zellen sind zu Säulen verlängert, die das Deck tragen. Einührung Beispiel 2
Numerk für Techniker 17 Die erste Basisstruktur der Sleipner A sank während eines kontrollierten Belastungstests am 23. August 1991. Der Verlust belief sich auf 700 Millionen Dollar. Die anschließende Untersuchung kam zum Schluss, dass das Unglück durch ein Nachgeben der Zellenwand verursacht wurde, das schließlich zu einem Leck führte. Der Fehler in der Zellenwand konnte zu einer sogenannten Trizelle zurückverfolgt werden. Es handelt sich hier um einem dreieckigen Betonrahmen, der an den Punkten platziert wird, wo die Zellen zusammenstoßen. Einührung Beispiel 2
Numerk für Techniker 18 Dass die Betonwände zu dünn geplant worden waren, lag an einer inkorrekten Finite-Element-Simulation (NASTRAN) der Trizelle, bei der die Scherkräfte um 47% unterschätzt wurden. Eine genauere Finite-Elemente-Analyse (nach dem Unglück) ergab, dass bei der realisierten Wanddicke ein Leck in einer Tiefe von 62 m auftritt, was dem tatsächlichen Auftreten in einer Tiefe von 65 m sehr nahe kommt. Merke: Es genügt nicht, ein Finites-Element-Programm zu kaufen! Um es richtig einzusetzen, muss man etwas von numerischer Mathematik verstehen. http://www.ima.umn.edu/~arnold/disasters/sleipner.html Einührung Beispiel 2
Numerk für Techniker 19 2 Interpolation Das Interpolationsproblem: Zu gegebener Werten f i 2 R (i =0, 1,...,n) und gegebenen Stützstellen (Knoten) a apple x 0 <x 1 <x 2 < <x n apple b [möglicherweise gilt f i = f(x i ) für eine Funktion f :[a, b]! R] soll eine einfache Funktion p :[a, b]! C konstruiert werden, die die Interpolationsbedingungen p(x i )=f 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 2 [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 0 (x), x 2 [a, b], oder das Integral R b f(x)dx näherungsweise zu bestimmen). a Interpolation
Numerk für Techniker 20 2.1 Polynominterpolation Problemstellung: Zu gegebenen (paarweise verschiedenen) Knoten a apple x 0 <x 1 <x 2 < <x n apple b und gegebenen Funktionswerten f 0,f 1,...,f n 2 R soll ein Interpolationspolynom p(x) = n x n + n 1 x n 1 + + 1 x + 0 2 P n (mit reellen Koe zienten 0, 1,..., n = n +1Freiheitsgraden) vom Grad n konstruiert werden, das die n +1Interpolationsbedingungen p(x i )=f i (i =0, 1,...,n) erfüllt (= n +1Bedingungen). Man kann diese Aufgabe als lineares Gleichungssystem (n +1lineare Gleichungen für n +1Unbekannte) formulieren. Wie? Interpolation Polynominterpolation
Numerk für Techniker 21 Satz 2.1 (Existenz und Eindeutigkeit der Lösung) Die polynomiale Interpolationsaufgabe ist eindeutig lösbar. Mit den Lagrange-Grundpolynomen `i(x) := ny j=0 j6=i x x i x j x j 2 P n (beachte `i(x i )=1und `i(x j )=0für j 6= i) lässt sich das Interpolationspolynom in der Lagrange-Form darstellen. p(x) = nx f i`i(x) i=0 Interpolation Polynominterpolation
Numerk für Techniker 22 2 l 0 Beispiel 2.2 Daten: (x 0,f 0 )=( 1, 1), (x 1,f 1 )=(0, 1), (x 2,f 2 )=(2, 2). 1 0 1 l 2 l 1 p 1 0 1 2 Lagrange-Grundpolynome: `0(x) =x(x 2)/3, `1(x) =(x + 1)(x 2)/( 2), `2(x) =(x + 1)x/6. Interpolationspolynom: p(x) = `0(x) `1(x)+2`2(x) = x 2 /2+x/2 1. Interpolation Polynominterpolation
Numerk für Techniker 23 Tableau der dividierten Di erenzen von f: x i k =0 k =1 k =2 k =3 k =4 x 0 f 0 (x) =f 0 f 0,1(x) 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). Interpolation Polynominterpolation
Numerk für Techniker 24 Satz 2.3 (Newton-Form des Interpolationspolynoms) Mit Hilfe der dividierten Di erenzen lässt sich das (nach Satz 2.1 eindeutig bestimmte) Interpolationspolynom p in Newton-Form darstellen. 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 ) Rechenaufwand: Zur Bestimmung der Di erenzentafel: 3 2 (n2 + n) Gleitpunktoperationen. Zur Auswertung des Newtonschen Interpolationspolynoms mit dem Horner-Schema: 3n Gleitpunktoperationen (pro Auswertungspunkt). Interpolation Polynominterpolation
Numerk für Techniker 25 Beispiel 2.4 (vgl. Beispiel 2.1). Dividierte Di erenzen: x i k =0 k =1 k =2 1 1 f 0,1 = ( 1) ( 1) 0 ( 1) = 0 0 1 f 0,1,2 = 3/2 0 2 ( 1) = 1 2 2 2 Das bedeutet: f 1,2 = 2 ( 1) 2 0 = 3 2 p(x) = ( 1) + 0 (x ( 1)) + 1 2 (x ( 1))(x 0) = 1 2 x2 + 1 2 x 1. Interpolation Polynominterpolation
Numerk für Techniker 26 2.2 Approximationseigenschaften des Interpolationspolynoms Satz 2.5 (Fehler der Polynominterpolation) Für f 2 C n+1 [a, b] sei p das Polynom vom Grad n, welchesf an den Knoten a apple x 0 <x 1 < <x n apple b interpoliert. Außerdem bezeichne w n+1 (x) := Q n i=0 (x x i) 2 P n+1 das zugehörige Knotenpolynom. Dann gibt es zu jedem x 2 [a, b] ein = (x) 2 (a, b) mit f(x) p(x) = w n+1(x) (n + 1)! f (n+1) ( ). Mit M n+1 := max aappletappleb f (n+1) (t) gilt für alle x 2 [a, b] die Fehlerabschätzung f(x) p(x) apple M n+1 (n + 1)! max w n+1(t). aappletappleb Interpolation Approximationseigenschaften des Interpolationspolynoms
Numerk für Techniker 27 Optimale Knoten. Idee (motiviert durch Fehlerabschätzung): Wähle Knoten a apple x 0 <x 1 < <x n apple b so, dass so klein wie möglich wird. max w n+1(t) = max aappletappleb aappletappleb Lösung: Tschebysche -Knoten x (T) i = b a 2(n i)+1 cos 2 2n +2 mit max aappletappleb ny i=0 t x (T) b i =2 für jede andere Wahl x 0,...,x n der Knoten. 4 a ny t x i i=0 + a + b 2 n < max aappletappleb (i =0, 1,...,n) ny t x i i=0 Interpolation Approximationseigenschaften des Interpolationspolynoms
Numerk für Techniker 28 Knotenpolynome mit äquidistanten und Tschebysche -Knoten (n = 10): 20 15 10 5 0 5 10 aequidistant Tschebyscheff 15 20 2 1.5 1 0.5 0 0.5 1 1.5 2 Interpolation Approximationseigenschaften des Interpolationspolynoms
Numerk für Techniker 29 Beispiel 4. Interpoliere f(x) = 1 1+x 2 ( 5 apple x apple 5) (Runge-Funktion) an n +1(n = 10 und n = 14) äquidistanten Stützstellen: 2 2 1.5 1.5 1 1 0.5 0.5 0 0 0.5 0.5 1 5 0 5 1 5 0 5 Interpolation Approximationseigenschaften des Interpolationspolynoms
Numerk für Techniker 30 Beispiel 5. Interpoliere f(x) = 1 1+x 2 ( 5 apple x apple 5) an n +1(n = 10 und n = 14) Tschebysche -Knoten: 2 2 1.5 1.5 1 1 0.5 0.5 0 0 0.5 0.5 1 5 0 5 1 5 0 5 Interpolation Approximationseigenschaften des Interpolationspolynoms
Numerk für Techniker 31 Fazit. Durch eine geeignete Knotenwahl (Tschebysche -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 di erenzierbar, besitzt aber Pole in ± p 1. Wie gut eine Funktion durch Interpolationspolynome in reellen Intervallen angenähert werden kann, hängt auch von der Lage ihrer komplexen Singularitäten ab!) Interpolationspolynome hohen Grads neigen zu Oszillationen und sind daher zur Approximation meistens unbrauchbar. Interpolation Approximationseigenschaften des Interpolationspolynoms
Numerk für Techniker 32 2.3 Eine Anwendung: Numerische Di erentiation 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. Di erenziere pn-mal: p (n) (x) =n! f 0,1,...,n (Newton-Form!). a. Für n =1: Knoten: x 0 und x 1 = x 0 + h, d.h. f 0 (x 0 ) p 0 (x 0 ) = 1! f 0,1 = f(x 0 + h) f(x 0 ). h b. Für n =2: Knoten: x 0 = x 1 h, x 1 und x 2 = x 1 + h, d.h. f 00 (x 1 ) p 00 (x 1 ) = 2! f 0,1,2 = f(x 1 + h) 2f(x 1 )+f(x 1 h) h 2. Interpolation Eine Anwendung: Numerische Di erentiation
Numerk für Techniker 33 Problematik: Numerische Auslöschung (dazu mehr in der Übung). Für f(x) =sinh(x) =(exp(x) exp( x))/2 approximiere 0.636653582...= f(0.6) = f 00 (0.6) für h = 10 e, e =1, 2,..., im IEEE-double-Format (Maschinengenauigkeit: eps =2 52 2.2 10 16 ). f(0.6 h) 2f(0.6) + f(0.6+h) h 2 e f 00 (0.6) e f 00 (0.6) 1 0.63718430367986 5 0.63665517302525 2 0.63665888761277 6 0.63682392692499 3 0.63665363525534 7 0.64392935428259 4 0.63665358540632 8 2.22044604925031 Interpolation Eine Anwendung: Numerische Di erentiation
Numerk für Techniker 34 Diskretisierungsfehler apple 1 12 f (4) (0.6) h 2 1 20 10 2e,. Rundungsfehler = 2 f(0.6) 2 f 0 h 2 eps 1.2 eps 10 2e. (0.6) 10 5 10 0 Rundungsfehler optimale Schrittweite 10 5 Fehler 10 10 10 15 10 20 Diskretisierungsfehler 10 8 10 6 10 4 10 2 Schrittweite Interpolation Eine Anwendung: Numerische Di erentiation
Numerk für Techniker 35 2.4 Splineinterpolation Splines sind stückweise Polynome. (Eigentlich: Spezielle biegsame Kurvenlineale, die durch Halterungen gezwungen werden, auf dem Zeichenpapier gegebene Punkte zu verbinden. Wurde im Schi sbau verwendet.) Um die Güte der Approximation zu verbesseren, wird hier nicht der Polynomgrad erhöht, sondern die Unterteilung der Intervalls verfeinert. Seien n +1Knoten 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]. EinSpline vom Grad k bez. T ist eine Funktion s 2 C k 1 [a, b], die auf jedem Teilintervall von T mit einem Polynom vom Grad k übereinstimmt: s [xi 1, x i ] 2 P k für i =1, 2,...,n. Interpolation Splineinterpolation
Numerk für Techniker 36 ST k, die Menge aller Splines vom Grad k bez. T,istein (n + k)-dimensionaler Raum. 1 Runge Funktion Knoten linearer Spline kubischer Spline 0.8 0.6 0.4 0.2 0 5 4 3 2 1 0 1 2 3 4 5 Interpolation Splineinterpolation
Numerk für Techniker 37 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 2 [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 = lim s(x). x!x i 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 2 S 1 T mit s(x i )=f i für alle i =0, 1,...,n. Interpolation Splineinterpolation
Numerk für Techniker 38 O ensichtlich: 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 2 [x i 1,x i ]. 1.2 1 linearer Interpolationsspline 0.8 0.6 0.4 0.2 0 x 0 x 1 x 2 x 3 x 4 0.2 0.4 0.6 0.8 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Interpolation Splineinterpolation
Numerk für Techniker 39 Fehler des linearen Interpolationssplines: (f 2 C 2 [a, b]) Lokal, d.h.für x 2 [x i 1,x i ]: f(x) s(x) = 1 2 f 00 ( ) (x x i 1 )(x x i ) apple 1 8 M 2,i h 2 i mit M 2,i = max xi 1 apple applex i f 00 ( ) und h i = x i x i 1. Global, d.h.für x 2 [x 0,x n ]: f(x) s(x) apple 1 8 M 2 h 2 max mit M 2 = max 1appleiapplen M 2,i = max x0 apple applex n f 00 ( ) und h max = max 1appleiapplen h i. Adaptive Knotenwahl. Stategie: Fehler etwa gleich auf jedem Teilintervall. D.h.: Wähle h i invers proportional zu p M 2,i (viele Knoten dort, wo die Krümmung von f groß ist). Interpolation Splineinterpolation
Numerk für Techniker 40 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 2 [x i 1,x i ],danns(x) =f i 1 + g i 1 (x x i 1 ). Problem: Gegeben x, inwelchemteilintervall[x i 1,x i ] liegt x? Einfach, falls h i = h (äquidistante Knoten): x i = := min x0 h k 2 N : k Schwieriger bei beliebigen Knoten: Binäres Suchen ergibt Komplexität von log 2 n. x x 0 h. Interpolation Splineinterpolation
Numerk für Techniker 41 Gesucht ist ein interpolierender kubischer Spline s 2 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 ) 3. 2. Auf ganz [a, b] ist s zweimal stetig di erenzierbar, d.h.: p i (x i )=p i+1 (x i ),p 0 i(x i )=p 0 i+1(x i ),p 00 i (x i )=p 00 i+1(x i ) für i =1, 2,...,n 1. 3. Interpolationsbedingungen: s(x i )=f i (i =0, 1,...,n) (Also 3(n 1) + (n + 1) = 4n 2 Bedingungen, aber 4n Freiheitsgrade). Interpolation Splineinterpolation
Numerk für Techniker 42 Drei (von vielen) Möglichkeiten für die erforderlichen zwei Zusatzbedingungen. Natürlicher Spline: s 00 (x 0 )=s 00 (x n )=0 Hermitescher oder vollständiger Spline: s 0 (x 0 )=f0 0 und s 0 (x n )=fn 0 mit f0,f 0 n 0 2 R. (N) (H) Periodischer Spline: Fallss(x 0 )=s(x n ), s 0 (x 0 )=s 0 (x n ) und s 00 (x 0 )=s 00 (x n ). (P) Interpolation Splineinterpolation
Numerk für Techniker 43 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 Koe zienten lassen sich durch die Momente µ i := s 00 (x i ) und die Funktionswerte f i (i =0, 1,...,n)darstellen: i = f i 1, i = f i f i 1 h i i = 1 2 µ i 1, 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)eindeutigbestimmt. Interpolation Splineinterpolation
Numerk für Techniker 44 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+1 3 6 µ i+1 = f i+1 f i f i f i 1 h 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 0, 6 µ n 1 + h n 3 µ n = fn 0 (P) µ 0 µ n =0, f n f n 1 h n, h 1 6 µ 1 + h 1 6 µ n 1 + h 1 + h n µ n = f 1 f n f n f n 1. 3 h 1 h n Interpolation Splineinterpolation
Numerk für Techniker 45 In Falle von natürlichen Splines (N) mit äquidistanten Knoten, d.h. konstantem h, ergibt sich (nach Multiplikation mit 6/h): 2 3 2 3 2 3 4 1 µ 1 f 0 2f 1 + f 2 1 4 1 µ 2 f.......... = 6 1 2f 2 + f 3 h 6 7 6 7 2. 6 7 4 1 4 15 4µ n 2 5 4f n 3 2f n 1 + f n 1 5 und µ 0 = µ n =0. 1 4 µ n 1 f n 2 2f n 1 + f n Lemma 2.6 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. Interpolation Splineinterpolation
Numerk für Techniker 46 Satz 2.7 (Fehler bei kubischer Splineinterpolation) Ist f 2 C 4 [a, b] und s 2 ST 3 der vollständige kubische Interpolationsspline für f, dann gelten 5 max f(x) s(x) apple x2[a,b] 384 M 4 h 4 max, max f 0 (x) s 0 (x) apple 1 x2[a,b] 24 M 4 h 3 max, max x2[a,b] f 00 (x) s 00 (x) apple 3 8 M 4 h 2 max mit M 4 := max aapplexappleb f (4) (x) und h max = max 1appleiapplen h i = max 1appleiapplen (x i x i 1 ). Für natürliche und periodische kubische Interpolationssplines gelten ähnliche Fehlerabschätzungen (die Faktoren 5 384, 1 24 und 3 8 müssen durch andere Konstanten ersetzt werden). Interpolation Splineinterpolation
Numerk für Techniker 47 Ziele von Kapitel 2 Sie sollten, bei gegeben Daten, das Interpolationspolynom sowohl in der Form von Lagrange (Satz 2.1) als auch in der Form von Newton (Satz 2.3) berechnen können. Sie sollten die Fehlerabschätzung für die Polynomnterpolation (Satz 2.5) anwenden können und in der Lage sein, mit Hilfe dieser Fehlerabschätzung zu beweisen, dass gewisse Interpolationsprozesse konvergieren. Sie sollten die Nachteile der Polynominterpolation kennen. Sie sollten wissen, was ein Spline vom Grad k ist. Sie sollten, bei gegeben Daten, den linearen Interpolationsspline und (unter gewissen Vereinfachungen) den natürlichen kubischen Interpolationsspline berechnen können. Interpolation Ziele
Numerk für Techniker 48 3 Numerische Integration Ziel numerischer Integration (Quadratur): Näherungswerte für Z b a f(t) dt. Wozu? Ein Beispiel: Eine Apparatur liefert Messwerte ex i = x i + " i. Angenommen, die Messfehler " i sind standardnormalverteilt (wähle Einheiten entsprechend!): Wie groß ist die Wahrscheinlichkeit P, dasseinspezifischer Messwert den wirklichen Wert um weniger als zwei Einheiten überschätzt? P = p 1 Z 2 t 2 exp dt = (2) (0) (.477). 2 2 0 Numerische Integration
Numerk für Techniker 49 1 1 0.9 0.9 0.8 0.8 0.7 (2π) 1/2 exp( t 2 /2) 0.7 Φ(x) 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 4 3 2 1 0 1 2 3 4 0 4 3 2 1 0 1 2 3 4 Aber: Es gibt keine geschlossene Formel für den Wert von (x) = p 1 Z x t 2 exp dt 2 1 2 (und vieler anderer Integrale). Selbst wenn geschlossenene Formeln bekannt sind, ist eine numerische Approximation oft ökonomischer. Numerische Integration
Numerk für Techniker 50 3.1 Newton-Cotes-Formeln Gesucht: Wert von I := R b a f(x) dx. Idee der interpolatorischen Quadraturformeln: Wähle (n + 1) Knoten a apple x 0 <x 1 < <x n 1 <x n apple b, bestimme das zugehörige Interpolationspolynom p n 2 P n für f p n (x) = nx f(x j )`j(x) mit `j(x) = j=0 (Lagrange-Form) und betrachte als Näherung für I ny i=0 i6=j x x j x i x i Z b a p n (x)dx = nx f(x j ) j=0 Z b `j(x)dx a {z } =: j = nx j=0 jf(x j ). j bzw. x j heißen Gewichte bzw. Knoten der Integrationsformel. Numerische Integration Newton-Cotes-Formeln
Numerk für Techniker 51 Newton-Cotes-Formeln I nx j=0 (n) j f(x j ) 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 2 [0,n]: (n) j = Z b a ny i=0 i6=j x x j x i x i dx = h Z n 0 ny i=0 i6=j t j i i dt =: h (n) j ( (n) j sind unabhängig von f, a und b). Für jedes n gelten und (n) 0 + (n) 1 + + n (n) (n) j = n = (n) n j, j =0, 1,...,n. Numerische Integration Newton-Cotes-Formeln
Numerk für Techniker 52 Tabelle der Newton-Cotes-Gewichte: I b n a nx j=0 (n) j f(a + jh) n Name (n) j 1 Trapezregel 1 2 2 Simpson-Regel 1 3 3 3/8-Regel 3 8 4 Milne-Regel 14 45 5 95 288 6 Weddle-Regel 41 140 1 2 4 3 9 8 64 45 375 288 216 140 1 3 9 8 24 45 250 288 27 140 (j =0, 1,...,n) 3 8 64 45 250 288 272 140 14 45 375 288 27 140 95 288 216 140 41 140 Für größere n treten negative Gewichte auf, die Newton-Cotes-Formeln werden numerisch unbrauchbar. Numerische Integration Newton-Cotes-Formeln
Numerk für Techniker 53 Fehler der Newton-Cotes-Formeln: Ist f 2 C (n+1) [a, b], so folgt aus der Fehlerformel für Interpolationspolynome E n (f) = Z b a f(x)dx h nx j=0 (n) j f(a + jh)= Z b a! n+1 (x) (n + 1)! f (n+1) ( (x))dx. Insbesondere werden Polynome vom Grad apple 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. Numerische Integration Newton-Cotes-Formeln
Numerk für Techniker 54 Fehlerschranken E n (f) = Z b a f(x)dx h nx j=0 (n) j f(a + jh) apple S n (f) n Name S n (f) 1 Trapezregel h 3 1 12 M 2 2 Simpson-Regel h 5 1 90 M 4 3 3/8-Regel h 5 3 80 M 4 4 Milne-Regel h 7 8 945 M 6 5 h 7 275 12096 M 6 6 Weddle-Regel h 9 9 1400 M 8 mit M k := max aapplexappleb f (k) (x) und h =(b a)/n. Numerische Integration Newton-Cotes-Formeln
Numerk für Techniker 55 Beispiel. R 1 0 exp(x) dx = e 1 1.7183 n Name E n (f) S n (f) 1 Trapezregel 1.409 10 1 2.265 10 1 2 Simpson-Regel 5.793 10 4 9.438 10 4 3 3/8-Regel 2.583 10 4 4.195 10 4 4 Milne-Regel 8.595 10 7 1.405 10 6 5 4.845 10 7 7.910 10 7 6 Weddle-Regel 1.059 10 9 1.734 10 9 Numerische Integration Newton-Cotes-Formeln
Numerk für Techniker 56 3.2 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 R a+(j+1)h f(x) dx, dien-te a+jh Newton-Cotes-Formel (mit Schrittweite h = H/n) an: Z b a f(x) dx = = NX 1 j=0 NX 1 j=0 Z (j+1)h h jh nx k=0 f(x) dx NX 1 j=0 h nx k=0 (n) k f(a +(jn + k)h). (n) k f(a + jh + kh) Numerische Integration Zusammengesetzte Integrationsformeln
Numerk für Techniker 57 Beispiel für n =1: zusammengesetzte Trapezregel. Hier H =(b a)/n = h, also N +1Stützstellen: Fehler: Z b a f(x) dx h 2 x j = a + jh, j =0, 1,...,N: apple NX 1 f(x 0 )+2 j=1 f(x j )+f(x N ) =: T (h). (3.1) Z b a f(x) dx T (h) apple b a 12 M 2 h 2 mit M 2 := max aapplexappleb f 00 (x). Aufwand zur Berechnung von T (h): N +1Funktionsauswertungen. Numerische Integration Zusammengesetzte Integrationsformeln
Numerk für Techniker 58 Beispiel für n =2: zusammengesetzte Simpson-Regel. Hier H =(b a)/n =2h, d.h.h =(b a)/(2n), also 2N +1Stützstellen: x j = a + jh, j =0, 1,...,2N: Z b a f(x) dx h 3 apple NX 1 f(x 0 )+4 j=0 f(x 2j+1 )+2 NX 1 j=1 f(x 2j )+f(x 2N ) =: S(h). Fehler: Z b a f(x) dx S(h) apple b a 180 M 4 h 4 = b a 2880 M 4 H 4 mit M 4 := max aapplexappleb f (iv) (x). Aufwand zur Berechnung von S(h): 2N +1Funktionsauswertungen. Numerische Integration Zusammengesetzte Integrationsformeln
Numerk für Techniker 59 3.3 Adaptive Integrationsverfahren Wendet man eine zusammengesetzte Quadraturformel auf I = R 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 2 [1.001, 10], bewegt sich die vierte Ableitung (die den Fehler bei der zusammengesetzten Simpson-Regel kontrolliert) zwischen 1.2 10 8 (am linken Rand) und 2.7 10 4 (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 1.001. Numerische Integration Adaptive Integrationsverfahren
Numerk für Techniker 60 Gegeben ist eine Quadraturformel, z.b. die Simpson-Regel S(H), mit einer Fehlerabschätzung, hier: I S(H) =ch 4 + O(H 5 ). Gesucht ist eine Näherung für I, diesichzusammensetztausnäherungen I (j) 0 für R x j+1 x j f(x) dx über Teilintervalle unterschiedlicher Länge H j = x j+1 x j, so dass I NX j=0 I (j) 0 apple " := tol Z b a 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) sindbekannt. Numerische Integration Adaptive Integrationsverfahren
Numerk für Techniker 61 Wir wollen den Fehler gleichmäßig auf die Teilintervalle verteilen, d.h. H j soll so gewählt werden, dass erfüllt ist. Z xj +H j Wichtige Beobachtung: Aus folgt x j f(x) dx I (j) 0 apple H j b a " I S(H) =ch 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) 1 2 4. ( ) Numerische Integration Adaptive Integrationsverfahren
Numerk für Techniker 62 Strategie zur Schrittweitenwahl (Schrittweitensteuerung): Angenommen H 0,...,H j 1 (dh. x 0,...x j )sindbereitsbestimmt.außerdem ist eine Vorschlagsschrittweite H e j gegeben. 1. Setze H j = H e j.bestimmemiti (j) 0 = S(H j ) eine Näherung für 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 R xj +H j f(x) dx. x j 3. Überprüfe, ob I (j) 1 I (j) 0 apple(1 2 4 ) H j b a " erfüllt ist (vgl. ( )). Falls ja: AkzeptiereI (j) 1 als Näherung. Falls nein: SetzeH j = H j /2, I (j) 0 = I (j) 1 und gehe zu 2. Numerische Integration Adaptive Integrationsverfahren
Numerk für Techniker 63 4. Überprüfe, ob I (j) 1 I (j) 0 apple(2.5) 4 (1 2 4 ) H j b a " erfüllt ist (2.5 = Sicherheitsfaktor). Falls ja: Neue Vorschlagsschrittweite: e Hj+1 =2H j. Falls nein: Neue Vorschlagsschrittweite: e Hj+1 = H j. Praxis: Unter-undOberschrankenfü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). Numerische Integration Adaptive Integrationsverfahren
Numerk für Techniker 64 Beispiel: f(x) = 1 (x.3) 2 +.01 + 1 (x.9) 2 +.04 6, a =0,b=1. 100 90 80 70 Integral = 29.8583 60 50 40 30 20 10 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Numerische Integration Adaptive Integrationsverfahren
Numerk für Techniker 65 3.4 Gauß-Quadratur Die Gauß-Quadratur wird allgemein angewandt auf Integrale der Form I = Z b a f(x)w(x) dx. Die Gewichtsfunktion w(x) muss dabei gewisse Bedingungen erfüllen (z.b. w(x) 0 für alle x 2 [a, b]). a = 1 bzw. b = 1 ist ausdrücklich zugelassen. [a, b] w(x) Bezeichnung [ 1, 1] 1 Gauß-Legendre [ 1, 1] (1 x 2 ) 1/2 Gauß-Tschebysche [ 1, 1] (1 x) (1 + x),, > 1 Gauß-Jacobi [0, 1] exp( x) Gauß-Laguerre [ 1, 1] exp( x 2 ) Gauß-Hermite Numerische Integration Gauß-Quadratur
Numerk für Techniker 66 Prinzip: Gauß-Formeln sind interpolatorische Quadraturformeln Z b a f(x) w(x)dx = R n (f) bezeichnet den Quadraturfehler. nx j f( j )+R n (f). (3.2) 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: R b a xk w(x)dx = P 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 Man kann beweisen: Der maximale Exaktheitsgrad ist tatsächlich d =2n 1. Numerische Integration Gauß-Quadratur
Numerk für Techniker 67 Zur Konstruktion der Gauß-Knoten und Gewichte Es bezeichne P den Raum aller Polynome (beliebigen Grades). (p, q) = Z b ist ein Innenprodukt auf P 1. a p(x)q(x) w(x)dx, p, q 2 P (3.3) Mit dem Orthogonalisierungsverfahren nach Schmidt kann man ein System {p k } k=0,1,2,... von monischen Orthogonalpolynomen bez. (3.3) konstruieren, d.h. (a) p k besitzt Grad k, (b) p k besitzt Höchstkoe zienten 1 (monisch), (c) p j und p k sind zueinander senkrecht (orthogonal): (p j,p k )= Z b a p j (x)p k (x) w(x)dx =0 für alle k 6= j. Numerische Integration Gauß-Quadratur
Numerk für Techniker 68 Die monische Orthogonalpolynome {p k } sind durch das Innenprodukt (3.3) eindeutig bestimmt. Die n Nullstellen des n-ten monischen Orthogonalpolynoms p n (n 1) sind reell, einfach und liegen in (a, b). Sie sind die Knoten j der n-ten Gauß-Formel (3.2). Tatsächlich werden die Knoten j aber auf eine andere Art bestimmt: Die monischen Orthogonalpolynome genügen einer dreistufigen Rekursionsformel: p 1 =0, p 0 (x) =1, p k (x) =(x k )p k 1 (x) kp k 2 (x) mit k = (xp k 1,p k 1 ) (p k 1,p k 1 ), k 1, und k = (p k 1,p k 1 ) (p k 2,p k 2 ) > 0, k 2. Numerische Integration Gauß-Quadratur
Numerk für Techniker 69 Satz 3.1 Seien k,k 1) und k,k 2 die Rekursionskoe zienten der monischen Orthogonalpolynome bez. (3.3) und sei 2 p 3 J n = 1 p 6 4 2 2 2......... p p n n n 2 R n n. 7 5 (a) Die Knoten j der n-ten Gauß-Quadraturformel (3.2) sind die Eigenwerte von J n. (b) Sind u j die normierten Eigenvektoren von J n zu den Eigenwerten j,d.h. J n u j = j u j, ku j k 2 =1(j =1,...,n) so sind die Gewichte j von (3.2) gegeben durch j = 0 [u j ] 2 1 (j =1,...,n), 0 = Z b a w(x)dx. Numerische Integration Gauß-Quadratur
Numerk für Techniker 70 Beispiel 3.2 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, tri t auf andere Gauß-Formeln nicht zu!) Gauß-Tschebysche -Quadraturformel: Z 1 f(x)(1 x 2 ) 1/2 dx = nx (2j 1) f cos + R n (f). 1 n 2n j=1 Satz 3.3 Ist f 2 C 2n [a, b] und bezeichnen {p n } die monischen Orthogonalpolynome zu (3.3), so besitzt das Restglied der Gauß-Quadraturformal (3.2) die Abschätzung R n (f) apple (n!) 4 ((2n)!) 3 (2n + 1) (b a)2n+1 M 2n mit M 2n := max aapplexappleb f (2n) (x). Numerische Integration Gauß-Quadratur
Numerk für Techniker 71 Beispiel 3.4 I = Z /2 0 (x cos(x)+exp(x)) dx = 2 +exp 2 Zusammengesetzte Simpson-Regel S(h) mit N Teilintervallen (2N +1Funktionsauswertungen): 2 = 4.38127370776025... N S(h) I S(h) Fehlerschranke 4 4.38134302240142 6.9e 05 1.1e 04 8 4.38127803491002 4.3e 06 7.1e 06 16 4.38127397813005 2.7e 07 4.65e 07 32 4.38127372465716 1.7e 08 2.8e 08 (M 4 = max 0applexapple /2 f (4) (x) = f (4) ( /2) = 8.81047738096535...) Numerische Integration Gauß-Quadratur
Numerk für Techniker 72 Gauß-Legendre-Quadraturformeln Q(N) mit N Knoten/Gewichten (N Funktionsauswertungen): Beachte (Substitutionsregel) N Q(N) I Q(N) 2 4.369064319644488 1.2e 02 4 4.381273435207492 2.7e 07 6 4.381273707759505 7.4e 13 8 4.381273707760246 1.8e 15 10 4.381273707760248 < eps =2.2e 16 Z b a f(x) dx = b a 2 Z 1 1 f b a 2 x + a+b 2 dx. Numerische Integration Gauß-Quadratur
Numerk für Techniker 73 3.5 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 Z nx I = f(x ) w(x )dx = if(x i )+R n (f). (3.4) mit Knoten x i und Gewichten Erwünschte Eigenschaften: 1. x i 2, i =1,...,n. 2. i > 0, i =1,...,n. i=1 i, i =1,...,n. Numerische Integration Kubatur
Numerk für Techniker 74 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. (ii) Die im Eindimensionalen so hilfreiche Theorie der Orthogonalpolynome ist im Mehrdimensionalen komplizierter (eigentlich nicht existent). Wir beschränken uns hier einfachheitshalber auf den Fall m =2. Eine Kubaturformel (3.4) besitzt den Exaktheitsgrad d, wennsiefür alle Polynome p(x, n y) vom Grad apple d, d.h.für alle P o p 2 Pd 2 := i+jappled i,jx i y j : i.j 2 R (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. Numerische Integration Kubatur
Numerk für Techniker 75 Produktformeln Ist es möglich eventuell nach geeigneter Substitution Integrale über Monome x i y j, i, j 2 N 0,soumzuformen,dass Z Z 1 Z 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 R 1 1 g( ) w s( )d P n s (s) i=1 i f( (s) i )(s =1, 2) mit Exaktheitsgrad d s anwenden und erhält mit Z Xn 1 Xn 2 (1) (2) f(x, y) w(x, y)dxdy i j f (1) i, (2) j i=1 j=1 1 eine Kubaturformel mit n 1 n 2 Knoten {( (1) i, (2) j )} und Gewichten { (1) i 1 apple i apple n 1, 1 apple j apple n 2 sowie Exaktheitsgrad d =min{d 1,d 2 }. (2) j }, Numerische Integration Kubatur
Numerk für Techniker 76 Beispiel 3.5 Die Gauß-Legendre Formel (w(x) 1) mit zwei Knoten Z 1 1 f( ) d f( 1 )+f( 2 ), 1,2 = ±1 p 3, ( 1 = 2 = 1), besitzt Exaktheitsgrad d =3. Mittels der Substitution " # " # " #" #! x(, ) = 1 1 1 0 +,, 2 [ 1, 1], y(, ) 2 1 0 1 approximieren wir damit das Integral 1.135... = 1 4 Z 1 Z 1 0 0 2X i,j=1 exp(x 2 y 2 ) dxdy = 1 4 Z 1 1 Z 1 exp x( i, j ) 2 y( i, j ) 2 =1.133... 1 exp(x(, ) 2 y(, ) 2 ) d d Numerische Integration Kubatur
Numerk für Techniker 77 Beispiel 3.6 Das Integral I = Z f(x, y) dxdy, ={(x, y) :0apple x apple 1, 0 apple y apple x} über das Dreieck geht durch die Substitution x = u, y = uv über in I = Z 1 Z 1 0 0 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. Numerische Integration Kubatur
Numerk für Techniker 78 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äß Z NX Z I = f(x, y) dxdy = 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 6= j entweder leer ist oder nur aus gemeinsamen Randpunkten besteht. Folgende Bilder zeigen Beispiele für Triangulierungen, d.h. Zerlegungen in Dreiecke. Numerische Integration Kubatur
Numerk für Techniker 79 Triangulierung eines Polygons: Numerische Integration Kubatur
Numerk für Techniker 80 Triangulierung des Außengebiets eines Tragflächenquerschnitts. Numerische Integration Kubatur
Numerk für Techniker 81 Durch die a " ne Transformation # " # x(, ) " x1 # " x2 x 1 x 3 x 1 #" # ' : 7! y(, ) = y 1 + y 2 y 1 y 3 y 1 wird das gleichschenklig rechtwinklige Referenzdreieck b K bijektiv auf ein bel. Dreieck K abgebildet mit (0, 0) 7! P 1 =(x 1,y 1 ), (1, 0) 7! P 2 =(x 2,y 2 ), (0, 1) 7! P 3 =(x 3,y 3 ). 6 1 @ @ bk @ @@ - 0 1 ' - y 6 P 3 A A K A A A A P - 1 x P 2 Numerische Integration Kubatur
Numerk für Techniker 82 Mit Hilfe der Substitutionsregel Z Z f(x, y) dxdy = f('(, )) det ' 0 d d = D K wobei bk D = det ' 0 := det Z " x2 x 1 x 3 x 1 y 2 y 1 y 3 y 1 bk f('(, )) d d, die Funktionaldeterminante von ' ist, lassen sich alle Einzelintegrale R K i f(x, y) dxdy auf Integrale über b K zurückführen. Es genügt daher, Integrale der Bauart Z g(, ) d d zu approximieren. bk # Numerische Integration Kubatur
Numerk für Techniker 83 Wir betrachten einige Kubaturformeln Z g(, ) d d für das Referenzdreieck b K. bk nx i=1 ig( i, i ) Beispiel 3.7 Die Schwerpunktregel Z bk g(, ) d d 1 2 g 1 3, 1 3 besitzt den Exaktheitsgrad 1. Numerische Integration Kubatur
Numerk für Techniker 84 Beispiel 3.8 Die Formel Z bk g(, ) d d 1 6 g(0, 1 2 )+g( 1 2, 1 2 )+g(0, 1 2 ), kompakter: i i i i 1 1/2 0 1/6 2 0 1/2 1/6 3 1/2 1/2 1/6, besitzt den Exaktheitsgrad 2. Symbolisch: 1/6 @ 1/6 r @ r @ r @@ 1/6 Numerische Integration Kubatur
Numerk für Techniker 85 Beispiel 3.9 Die Formel R b K g(, ) d d P 7 k=1 ig( i, i ) mit i i i i 1 0 0 1/40 2 1 0 1/40 3 0 1 1/40 4 1/2 0 1/15 5 1/2 1/2 1/15 6 0 1/2 1/15 7 1/3 1/3 27/120 besitzt den Exaktheitsgrad 3. r @ r @ r r @ r r @@ r Numerische Integration Kubatur
Numerk für Techniker 86 Die Monte-Carlo Methode Bei der Approximation sehr hochdimensionaler mehrfacher Integrale sind die bisher beschriebenen Methoden zu aufwendig. Hier hat sich ein stochastisches Simulationsverfahren, die sog. Monte-Carlo Methode, als letztes Mittel bewährt. Hierbei wird der Integrand an einer großen Zahl N Stützstellen mit konstantem Gewicht 1/Volumen( ) ausgewertet, wobei die Stützstellen durch einen Zufallsgenerator erzeugt werden. Man kann Aussagen beweisen über die Wahrscheinlichkeit, dass der Wert des Integrals innerhalb einer vorgegebenen Schranke von der so berechneten Approximation liegt. Typisches Verhalten des Fehlers ist, unabhängig von der Raumdimension, eine Konvergenzrate von I N I = O(N 1/2 ). Numerische Integration Kubatur
Numerk für Techniker 87 Ziele von Kapitel 3 Sie sollten einfache Newton-Cotes-Formeln und die zugehörigen zusammengesetzten Integrationsregeln anwenden können. Außerdem sollten Sie die Qualität dieser Quadraturformeln in konkreten Anwendungen abschätzen können. Sie sollten die wesentlichen Unterschiede zwischen Newton-Cotes- und Gauß-Formeln kennen. Sie sollten verstanden haben, was man unter einer zusammengesetzten Kubaturformel versteht und wie eine solche Formel bei gegebener Triangulierung eingesetzt wird. Numerische Integration Ziele
Numerk für Techniker 88 4 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Eine Di erentialgleichung (DG) beschreibt eine Beziehung zwischen einer gesuchten Funktion y und ihren Ableitungen. Ist dabei y = y(t) eine Funktion, die nur von einer Variablen hier t abhängt, so spricht man von einer gewöhnlichen Di erentialgleichung (gdg). Da explizite Lösungen nur in wenigen Ausnahmefällen zur Verfügung stehen, ist der Einsatz numerischer Methoden zur Lösung von DGen unvermeidbar. Wir befassen uns hier ausschließlich mit numerischen Verfahren zur Lösung gewöhnlicher DGen: Zum Einen wegen der überragenden Rolle, die sie in vielen Anwendungen spielen, zum Zweiten aber auch wegen ihrer Bedeutung für die Entwicklung und Analyse von numerischen Methoden zur Lösung partieller DGen (das sind DGen für Funktionen mehrerer Variablen), die sehr viel schwieriger zu lösen sind und hier leider nur an einem Beispiel behandelt werden können. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen
Numerk für Techniker 89 4.1 Ein Beispiel Wir betrachten einen Satellit im Kraftfeld von Erde und Mond unter den Annahmen, dass die drei Körper sich in einer festen Ebene bewegen und die beiden großen Körper mit konstanter Winkelgeschwindigkeit und konstantem Abstand um ihren gemeinsamen Schwerpunkt rotieren. Der Satellit hat also keinerlei Einfluss auf die Bahnen von Erde und Mond. In einem mitrotierenden Koordinatensystem (bezüglich dem Erde und Mond ruhend sind) mit dem gemeinsamen Schwerpunkt von Erde und Mond als Ursprung wird die Bahn (x, y) =(x(t),y(t)) des Satelliten durch ein System von DGen zweiter Ordnung beschrieben: Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Ein Beispiel
Numerk für Techniker 90 x 00 = x +2y 0 µ 0 x + µ x µ 0 µ [(x + µ) 2 + y 2 ] 3/2 [(x µ 0 ) 2 + y 2 ], 3/2 y 00 = y 2x 0 µ 0 y y µ [(x + µ) 2 + y 2 ] 3/2 [(x µ 0 ) 2 + y 2 ]. 3/2 Hier ist µ = 1/82.45 das Verhältnis zwischen der Masse des Mondes zur Gesamtmasse von Erde und Mond und µ 0 =1 µ. DieLängeneinheit ist so gewählt, dass der Abstand zwischen Erde und Mond 1 ist, wobei der Mond auf der positiven reellen Achse und die Erde auf der negativen reellen Achse plaziert werden. Die Zeiteinheit ist so gewählt, dass die Winkelgeschwindigkeit der Rotation ebenfalls 1 beträgt, d.h. der Mond die Erde in 2 Zeiteinheiten umrundet. Man spricht von einem restringierten Dreikörperproblem ( restringiert, weil der dritte Körper die beiden anderen nicht beeinflusst). Außerdem sind Anfangsbedingungen erforderlich: Der Satellit möge sich zur Zeit t =0in der Position (x(0),y(0)) = (1.2, 0) befinden und die Geschwindigkeit (x 0 (0),y 0 (0)) = (0, 1.05) besitzen. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Ein Beispiel
Numerk für Techniker 91 Wir transformieren dieses System in ein System erster Ordnung und setzen dazu y 1 = x, y 2 = y, y 3 = x 0, y 4 = y 0. Damit ergibt sich y 0 1 = y 3, y 0 2 = y 4, y3 0 = y 1 +2y 4 µ 0 y 1 + µ y 1 µ 0 [(y 1 + µ) 2 + y2 2 µ ]3/2 [(y 1 µ 0 ) 2 + y2 2, ]3/2 y4 0 = y 2 + 2y 3 µ 0 y 2 [(y 1 + µ) 2 + y2 2 µ ]3/2 [(y 1 µ 0 ) 2 + y2 2]3/2 mit den Anfangsbedingungen y 1 (0) = 1.2, y 2 (0) = y 3 (0) = 0 und y 4 (0) = 1.05. Die Lösung (x(t),y(t)) = (y 1 (t),y 2 (t)) ist eine geschlossene Bahn mit Periode T =6.19... y 2 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Ein Beispiel
Numerk für Techniker 92 0.8 0.6 0.4 0.2 0 E M 0.2 0.4 0.6 0.8 1 0.5 0 0.5 1 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Ein Beispiel
Numerk für Techniker 93 8 6 Geschwindigkeit in x Richtung Geschwindigkeit in y Richtung 4 2 0 2 4 6 8 0 1 2 3 4 5 6 t Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Ein Beispiel
Numerk für Techniker 94 4.2 Definitionen und theoretischer Hintergrund Ein Gleichungssystem der Form y1 0 = f 1 (x, y 1,y 2,...,y n ) y2 0 = f 2 (x, y 1,y 2,...,y n ). =. yn 0 = f n (x, y 1,y 2,...,y n ) (DG) heißt explizites System gewöhnlicher Di erentialgleichungen (gdg) erster Ordnung in den n unbekannten Funktionen y 1,y 2,...,y n. Jedes System von n Funktionen y 1 = y 1 (x),...,y n = y n (x) 2 C 1 [a, b], das(dg)für alle x 2 [a, b] erfüllt, heißt Lösung von (DG) über [a, b]. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Definitionen
Numerk für Techniker 95 ( ) y 0 Beispiel. Das System 1 =1 besitzt die Lösungen y2 0 =2y 1 y 1 (x) =x +, y 2 (x) =x 2 +2 x + (, 2 R) über ( 1, 1). Für eine eindeutige Lösung: Zusatzbedingungen, etwa Anfangsbedingungen, z.b. y 1 (0) = 1, y 2 (0) = 2. Dann ist y 1 (x) =x +1,y 2 (x) =x 2 +2x +2die einzige Lösung. Allgemein: Das Problem, eine Lösung von (DG) zu finden, die die Anfangsbedingung y 1 (x 0 )=y 0,1,...,y n (x 0 )=y 0,n (AB) erfüllt, heißt Anfangswertproblem (AWP) für die gdg (DG). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Definitionen
Numerk für Techniker 96 Mit y := 2 6 4 y 1. 3 7 5, f := 2 6 4 f 1. 3 7 5, y 0 := 2 6 4 y 0,1. 3 7 5, y n f n y 0,n Kurzschreibweise: y 0 = f (x, y), (DG ) y(x 0 ) = y 0. (AB ) Bemerkung. gdgen höhere Ordnung lassen sich auf Systeme von gdgen erster Ordnung umschreiben: Aus y 000 +3y 00 + y 0 =sin(x) wird etwa 2 3 2 3 y3 0 3y 3 y 2 +sin(x) 6 4y2 0 7 5 = 6 4 y 3 7 5 y 0 1 (y 1 = y, y 2 = y 0 1 = y 0, y 3 = y 0 2 = y 00 ). y 2 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Definitionen
Numerk für Techniker 97 Existenz und Eindeutigkeit der Lösung: Satz 4.1 (Satz von Picard-Lindelöf) Gegeben ist das AWP y 0 = f (x, y), y(x 0 )=y 0. (AWP) f sei stetig im Quader Q := {(x, y) : x x 0 applea, ky y 0 kappleb} R n+1 und es sei M := max{kf (x, y)k :(x, y) 2 Q}. Außerdemerfülle f in Q die Lipschitzbedingung kf (x, y) f (x, ey)k applelky eyk 8(x, y), (x, ey) 2 Q. (Lip) Dann besitzt das Problem (AWP) genau eine Lösung über I := [x 0, x 0 + ], wobei =min{a, b/m}. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Definitionen
Numerk für Techniker 98 Stetige Abhängigkeit von den Daten: Die Voraussetzungen von Satz 1 seien erfüllt. Sind y, z Lösungen der AWPe y 0 = f (x, y), y(x 0 )=y 0 bzw. z 0 = g(x, z ), z (x 0 )=z 0 über I (g sei stetig in Q) und gilt ky 0 z 0 kapple sowie kf (x, y) g(x, y)k apple (8 (x, y) 2 Q), dann folgt für x 2 I ky(x) z (x)k apple e L(x x 0) + L e L(x x 0) 1. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Definitionen
Numerk für Techniker 99 4.3 Euler-Verfahren Gesucht: Lösung eines AWP im Intervall I =[x 0,x end ]: y 0 = f (x, y), y(x 0 )=y 0. Diskretisiere I durch (der Einfachheit halber) äquidistantes Gitter mit Schrittweite h =(x end x 0 )/m, h = {x 0 <x 1 <...<x m = x end } mit x j := x 0 + jh (j =0,...,m) Es bezeichne y j einen Näherungswert für y(x j ), j =1,...,m.Dann y j+1 y(x j+1 ) = y(x j + h) = y(x j )+hy 0 (x j )+ 1 2 h2 y 00 ( ) y(x j )+hy 0 (x j ) = y(x j )+hf (x j, y(x j )) y j + hf (x j, y j ). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Euler-Verfahren
Numerk für Techniker 100 Eulersches Polygonzugverfahren oder explizites Euler-Verfahren: y 0 ist gegeben, y j+1 = y j + hf (x j, y j ) (j =0, 1,...) Aufwand pro Schritt: Eine Auswertung von f. Beispiel. AWP: " # y 0 1 (x) " #.5 y2 (x) y 1 (x)y 2 (x) " # y1 (.5) " # 1 y 0 2(x) =.5 y 1 (x) 2 +5x, y 2 (.5) = 2. Rechenvorschrift des Eulerschen Polygonzugverfahrens (x j =.5+jh): " # " # " # " # " # (1) (1) (1) (2) y 0 1 y j+1 y j.5 y j y (1) j y (2) j y (2) =, 0 2 y (2) = j+1 y (2) + h j.5[y (1) (j =0, 1,...). j ] 2 +5x j Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Euler-Verfahren
Numerk für Techniker 101 4 Richtungsfeld von y =t(y 2) 3 2 1 0 3 2 1 0 1 2 3 und Loesungen mit Anfangswerten y(0) = 1:0.5:1 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Euler-Verfahren
Numerk für Techniker 102 Zur Veranschaulichung einer GDG 1. Ordnung y 0 = f(t, y) wird oft das assoziierte Richtungsfeld herangezogen: In jedem Punkt von (t, y) wird ein Pfeil gezeichnet, der in die Richtung y 0 = f(t, y) weist. Der Graph der Lösung des AWPs y 0 = f(t, y),y(t 0 )=y 0,musseinerseitsdas Richtungsfeld respektieren (d.h. die Tangenten an den Graphen sind Elemente des Richtungsfelds), andererseits den Punkt (t 0,y 0 ) enthalten. Die nächste Abbildung zeigt, wie das Euler-Verfahren die logistische Gleichung y 0 = y(1 y) mit AB y(0) = 1/10 löst. Statt der exakten Trajektorie zu folgen (was natürlich unmöglich ist), produziert das Euler-Verfahren eine stückweise lineare Lösung (einen Polygonzug). An der Stelle t 0 =0arbeitet das Euler-Verfahren mit der richtigen Steigung f(t 0,y 0 )=9/100, bereitsan der Stelle t =1ist die Steigung falsch. In späteren Schritten entfernt man sich (potentiell) immer weiter von der exakten Lösung. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Euler-Verfahren
Numerk für Techniker 103 0.9 Euler Verfahren 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 2.5 3 3.5 4 y =y(1 y), y(0)=1/10 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Euler-Verfahren
Numerk für Techniker 104 Varianten des Polygonzugverfahrens Modifiziertes Polygonzugverfahren: y 0 ist gegeben, y j+1 = y j + hf (x j + h 2, y j + h 2 f (x j, y j )) (j =0, 1,...). Aufwand pro Schritt: Zwei Auswertungen von f. Verbessertes Polygonzug-Verfahren: y 0 ist gegeben, y j+1 = y j + h 2 [f (x j, y j )+f(x j + h, y j + hf (x j, y j ))] (j =0, 1,...). Aufwand pro Schritt: Zwei Auswertungen von f. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Euler-Verfahren
Numerk für Techniker 105 Beispiel. AWP y 0 (x) =y(x) 2, y(0) = 4 besitzt in I =[0, 1) die Lösung y(x) = 1/(x +.25). Polygonzugverfahren: y 0 = 4, y j+1 = y j + hyj 2 (j =0, 1,...). Modifiziertes Polygonzugverfahren: y 0 = 4, y j+1 = y j + h(y j +.5 hyj 2 ) 2 (j =0, 1,...). Verbessertes Polygonzugverfahren: y 0 = 4, y j+1 = y j +.5 h[yj 2 +(y j + hyj 2 ) 2 ] (j =0, 1,...). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Euler-Verfahren
Numerk für Techniker 106 Eine weitere wichtige Variante ist das implizite Euler-Verfahren: y 0 ist gegeben, y j+1 = y j + hf (x j+1, y j+1 ) (j =0, 1,...). Aufwand pro Schritt: Lösung des i.a. nichtlinearen Gleichungssystems y j+1 hf (x j+1, y j+1 )=y j. Im Beispiel: y 0 = 4, y j+1 löst y j+1 = y j + hy 2 j+1 (j =0, 1,...). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Euler-Verfahren
Numerk für Techniker 107 h = 10 1 : x j exakt E-Euler modifiziert verbessert I-Euler 0.0-4.0000-4.0000-4.0000-4.0000-4.0000 0.1-2.8571-2.4000-2.9760-2.9120-3.0623 0.2-2.2222-1.8240-2.3343-2.2750-2.4581 0.3-1.8182-1.4913-1.9092-1.8618-2.0413 0.4-1.5385-1.2689-1.6110-1.5737-1.7390 0.5-1.3333-1.1079-1.3916-1.3619-1.5107 0.6-1.1765-0.9851-1.2239-1.2000-1.3330 0.7-1.0526-0.8881-1.0919-1.0722-1.1911 0.8-0.9524-0.8092-0.9853-0.9689-1.0755 0.9-0.8696-0.7437-0.8976-0.8837-0.9795 1.0-0.8000-0.6884-0.8241-0.8122-0.8988 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Euler-Verfahren
Numerk für Techniker 108 h = 10 2 : x j exakt E-Euler modifiziert verbessert I-Euler 0.0-4.0000-4.0000-4.0000-4.0000-4.0000 0.1-2.8571-2.8286-2.8579-2.8576-2.8837 0.2-2.2222-2.1925-2.2229-2.2227-2.2596 0.3-1.8182-1.7916-1.8187-1.8186-1.8438 0.4-1.5385-1.5155-1.5389-1.5388-1.5608 0.5-1.3333-1.3136-1.3337-1.3336-1.3527 0.6-1.1765-1.1594-1.1768-1.1767-1.1933 0.7-1.0526-1.0377-1.0529-1.0528-1.0673 0.8-0.9524-0.9393-0.9526-0.9525-0.9653 0.9-0.8696-0.8580-0.8698-0.8697-0.8810 1.0-0.8000-0.7896-0.8002-0.8001-0.8102 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Euler-Verfahren
Numerk für Techniker 109 4.4 Runge-Kutta-Verfahren Konstruktion. Es bezeichne y(x) die Lösung von (AWP) an der Stelle x 2 I. Gesucht: Näherung für y(x + h). y(x + h) = y(x)+[y(x + h) y(x)] = y(x)+ Z x+h x y 0 (s) ds (Substitution: s = x + th, 0 apple t apple 1) = y(x)+h Z 1 Approximiere durch Quadraturformel Z 1 0 0 y 0 (x + th) dt. g(t) dt mx i=1 ig( i ). Damit zumindest g 1 exakt integriert wird, fordern wir P m i=1 i =1. ( ) Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Runge-Kutta-Verfahren
Numerk für Techniker 110 Damit ergibt sich y(x + h) y(x)+h = y(x)+h mx i=1 mx i=1 iy 0 (x + i h) if (x + i h, y(x + i h)) (RK-1) Problem: y(x + i h)=y(x)+h R i 0 y 0 (x + th) dt sind unbekannt. Näherungen wieder durch Quadraturformeln, aber mit den alten Knoten j (j =1,...,m)aus( ) (sonst würden sich neue Unbekannte der Form y(x + Knoten h) ergeben). Z i 0 g(t) dt mx `=1 i,`g( `) (i =1,...,m). ( ) Damit zumindest g 1 exakt integriert wird, fordern wir P m `=1 i,` = i 8 i =1,...,m. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Runge-Kutta-Verfahren
Numerk für Techniker 111 Damit ergibt sich mx y(x + i h) y(x)+h i,`y 0 (x + `h) = y(x)+h `=1 mx `=1 i,`f (x + `h, y(x + `h)) Abkürzung: k i := f (x + i h, y(x + i h)) (i =1,...,m). (RK-1): y(x + h) y(x)+h P m i=1 ik i. (RK-2): k i f (x + i h, y(x)+h P m `=1 i,`k`) (i =1,...,m). m-stufiges Runge-Kutta-Verfahren (R-K-V): mx y j+1 = y j + h ik i (j =0, 1,...) mit i=1 k i = f (x j + i h, y j + h mx `=1 i,`k`) (i =1,...,m). (RK-2) (RK) Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Runge-Kutta-Verfahren
Numerk für Techniker 112 1 1,1 1,m Runge-Kutta-Abc:... m m,1 m,m 1 m Beispiele. 0 0 0 1/2 1/2 0 1/2 1/2 symbolisiert ein zweistufiges explizites R-K-V (ein R-K-V heißt explizit, wenn verbesserten Euler-Verfahrens. i,` =08i apple ` gilt), nämlich eine Variante des Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Runge-Kutta-Verfahren
Numerk für Techniker 113 0 1/4 1/4 2/3 1/4 5/12 1/4 3/4 symbolisiert ein zweistufiges implizites R-K-V: k 1 = f (x j, y j + hk 1 /4 hk 2 /4), k 2 = f (x j +2h/3, y j + hk 1 /4+5hk 2 /12) ( zwei i.a. nichtlineare Gleichungen für k 1 und k 2 ), y j+1 = y j + h(k 1 /4+3k 2 /4). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Runge-Kutta-Verfahren
Numerk für Techniker 114 0 0 0 0 1/2 1/2 0 0 1 1 2 0 1/6 2/3 1/6 symbolisiert ein dreistufiges explizites R-K-V, das Verfahren von Heun: k 1 = f (x j, y j ), k 2 = f (x j + h/2, y j + hk 1 /2), k 3 = f (x j + h, y j hk 1 +2hk 2 ), y j+1 = y j + h(k 1 +4k 2 + k 3 )/6. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Runge-Kutta-Verfahren
Numerk für Techniker 115 0 0 0 0 0 1/2 1/2 0 0 0 1/2 0 1/2 0 0 1 0 0 1 0 1/6 1/3 1/3 1/6 symbolisiert ein vierstufiges explizites R-K-V, das klassische Runge-Kutta-Verfahren: k 1 = f (x j, y j ), k 2 = f (x j + h/2, y j + hk 1 /2), k 3 = f (x j + h/2, y j + hk 2 /2), k 4 = f (x j + h, y j + hk 3 ), y j+1 = y j + h(k 1 +2k 2 +2k 3 + k 4 )/6. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Runge-Kutta-Verfahren
Numerk für Techniker 116 Beispiel. AWP y 0 (x) =y(x) 2, y(0) = 4 besitzt in I =[0, 1) die Lösung y(x) = 1/(x +.25). Verfahren von Heun: y 0 = 4, k 1 = yj 2,k 2 =(y j +.5 hk 1 ) 2,k 3 =(y j + h( k 1 +2k 2 )) 2, y j+1 = y j + h(k 1 +4k 2 + k 3 )/6 (j =0, 1,...). Klassisches Runge-Kutta-Verfahren: y 0 = 4, k 1 = yj 2,k 2 =(y j +.5 hk 1 ) 2,k 3 =(y j +.5 hk 2 ) 2,k 4 =(y j + hk 3 ) 2, y j+1 = y j + h(k 1 +2k 2 +2k 3 + k 4 )/6 (j =0, 1,...). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Runge-Kutta-Verfahren
Numerk für Techniker 117 h = 10 1 : x j exakt verb. Euler Heun klass. RKV 0.0-4.0000-4.0000-4.0000-4.0000 0.1-2.8571-2.9120-2.8404-2.8573 0.2-2.2222-2.2750-2.2092-2.2224 0.3-1.8182-1.8618-1.8086-1.8183 0.4-1.5385-1.5737-1.5313-1.5386 0.5-1.3333-1.3619-1.3278-1.3334 0.6-1.1765-1.2000-1.1721-1.1765 0.7-1.0526-1.0722-1.0491-1.0527 0.8-0.9524-0.9689-0.9495-0.9524 0.9-0.8696-0.8837-0.8671-0.8696 1.0-0.8000-0.8122-0.7979-0.8000 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Runge-Kutta-Verfahren
Numerk für Techniker 118 4.5 Einschrittverfahren Ein Einschrittverfahren (ESV) hat die Form y n+1 = y n + h f (y n+1, y n,t n ; h). (ESV) Wir werden ausschließlich Verfahren untersuchen, bei denen die Verfahrensfunktion f die folgenden beiden Eigenschaften besitzt: f 0 (y n+1, y n,t n ; h) 0 (V 1 ) und k f (y n+1, y n,t n ; h) f (y n+1, y n,t n ; h)k applem 1X ky n+j yn+jk. (V 2 ) j=0 Bei vernünftigen ESV ist (V 2 ) eine Folge der Lipschitz-Stetigkeit von f (vgl. Satz 4.1), die immer vorausgesetzt wird. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 119 Beispiele für etwas kompliziertere ESV: y n+1 y n = 1 4 h(k 1 +3k 3 ) mit k 1 = f (t n, y n ), k 2 = f (t n + 1 3 h, y n + 1 3 hk 1), k 3 = f (t n + 2 3 h, y n + 2 3 hk 2), (Beispiel 1) ein explizites ESV, das zur Klasse der Runge-Kutta-Verfahren gehört, und ein implizites ESV der Runge-Kutta-Klasse, y n+1 y n = 1 2 h(k 1 + k 2 ) mit k 1 = f (t n, y n ), k 2 = f (t n + h, y n + 1 2 hk 1 + 1 2 hk (Beispiel 2) 2). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 120 Das Verfahren (ESV) heißt konvergent, wenn lim h!0 t=t 0 +nh y n = lim h!0 t=t 0 +nh y n (h) =y(t) gilt und zwar für alle AWPe, die den Voraussetzungen von Satz 4.1 genügen (y(t) bezeichnet die Lösung eines solchen AWPs), gleichmäßig für alle t 2 [t 0,t end ], für alle Lösungen {y n (h)} = {y n } von (ESV) mit Anfangswert y 0 (h), derlim h!0 y 0 (h) =y 0 erfüllt. Äquivalent: Der globale Diskretisierungsfehler e n = e n (h) :=y(t n ) y n (h) strebt gleichmäßig gegen 0 (für h! 0): lim max ke n(h)k =lim max ky(t n) y n (h)k =0. h!0 0applenappleN h!0 0applenappleN Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 121 exakte Loesung Schrittweite h 0 Schrittweite h 1 Schrittweite h 2 t_0 t Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 122 Setzt man die exakte Lösung in (ESV) ein, so werden linke und rechte Seite nicht übereinstimmen. Es ergibt sich ein Residuum R n+1 (h) =R n+1 := y(t n+1 ) y(t n ) h f (y(t n+1 ), y(t n ),t n ; h). R n+1 ist eng verknüpft mit dem lokalen Diskretisierungsfehler T n+1.gilt y n = y(t n ) (Lokalisierungsannahme), so liefert (ESV) in Schritt n +1: Für die exakte Lösung gilt by n+1 (h) =y(t n )+h f (by n+1, y(t n ),t n ; h). y(t n+1 )=y(t n )+h f (y(t n+1 ), y(t n ),t n ; h)+r n+1. Wir definieren nun den lokalen Diskretisierungsfehler durch T n+1 (h) =T n+1 := y(t n+1 ) by n+1 (h) (Vorsicht: die Definition ist nicht einheitlich in der Literatur). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 123 Es folgt T n+1 = h [ f (y(t n+1 ), y(t n ),t n ; h) f (by n+1, y(t n ),t n ; h]+r n+1 und mit (V 2 ) kt n+1 kapplehmkt n+1 k + kr n+1 k, d.h. (1 hm)kt n+1 kapplekr n+1 k. Das Verfahren (ESV) heißt konsistent, wenn lim h!0 t=t 0 +nh 1 h T n+1(h) =0 gilt für alle AWPe, die den Voraussetzungen von Satz 1.1 genügen, und für alle t 2 [t 0,t end ]. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 124 y(t n+1 ) globaler DF y(t n ) z(t n+1 ) lokaler DF y n+1 y n t n t n+1 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 125 Die anschauliche Bedeutung der Konsistenz ergibt sich aus der o ensichtlichen Identität 1 h T n+1(h) = 1 h (y(t n+1) y(t n )) {z } Sekantensteigung der Lösung f (by n+1, y(t n ),t n ; h). {z } Näherung dieser Steigung Wir wollen eine Beziehung zwischen lokalem und globalem Diskretisierungsfehler beweisen. Dazu ein Hilfssatz Satz 4.2 (Wachstumsverhalten rekursiv definierter Folgen) Es gelte y n+1 apple(1 + K n ) y n + M n (n =0, 1,...,n 0 ) mit M n,k n 0. Dann gilt auch die Abschätzung 0 1 0 1 nx nx y n+1 apple@ y 0 + A exp @ A (n =0, 1,...,n 0 ). j=1 M j j=1 K n Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 126 Satz 4.3 (Beziehung zwischen lokalem und globalem Dis.-Fehler) Unter den gebenen Voraussetzungen (vgl. Satz 4.1 sowie (V 2 )) gilt ke n kapple (ke 0 k +(t n t 0 ) 1 h max kt jk exp(m(t n t 0 )). 1applejapplen Insbesondere ist ein ESV genau dann konvergent, wenn es konsistent ist. Ein ESV heißt konsistent von der Ordnung p, wenn 1 h T n(h) =O(h p ) für h! 0 gilt für alle AWPe mit genügend glattem f und alle t = t 0 + nh 2 [t 0,t end ]. Satz 4.3 besagt, dass bei ESV der Konsistenzordnung p der globale Diskretisierungsfehler wie h p gegen 0 strebt (für h! 0). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 127 Ist f p-mal stetig di erenzierbar, so kann man sich Einschrittverfahren der Konsistenzordnung p mit der Methode des Taylor-Abgleichs konstruieren: Man entwickelt die (unbekannte) Lösung y(t n + h) formal nach Potenzen von h, y(t n + h) =y(t n )+hy 0 (t n )+ 1 2 h2 y 00 (t n )+, und nutzt aus, dass y 0 (t) =f (t, y(t)) gilt, z.b. y 0 (t n )=f (t n, y(t n )), y 00 (t n )=f t (t, y(t)) t=tn + f y (t, y(t))y 0 (t) t=tn = f t (t n, y(t n )) + f y (t n, y(t n ))f (t n, y(t n )). Bricht man etwa nach dem zweiten Term ab, so ergibt sich mit y n+1 = y n + h f (t n, y n )+ 1 2 h (f t(t n, y n )+f y (t n, y n )f (t n, y n )) ein Verfahren zweiter Ordnung. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 128 Es ist klar, dass man dieses Verfahren (oder gar die analogen Verfahren für p>2) nurdannverwendenkann,wennf einfach zu di erenzieren ist (automatische Di erentiation). Für die skalare GDG y 0 (t) =ty(t) ergibt sich z.b. y n+1 = y n 1+ 1 2 h2 + ht n + 1 2 h2 t 2 n im Fall von p =2und y n+1 = y n 1+ 1 2 h2 + ht n + 1 2 h2 t 2 n + 1 2 h3 t n + 1 6 h3 t 3 n im Fall von p =3. Für p =1erhält man stets das Euler-Verfahren. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 129 In diesem Beispiel (mit AB y(0) = 1, dh.mitexakterlösung y(t) =exp(0.5t 2 )) ergibt sich als (normalisierter) globaler Diskretisierungsfehler h p max y(t n) y n 0applenappleN für die Taylor-Verfahren der Ordnung p 2{1, 2, 3}: N h p =1 p =2 p =3 10 1.e-1 1.016e+0 4.301e-1 3.267e-1 100 1.e-2 1.090e+0 4.757e-1 3.541e-1 1000 1.e-3 1.098e+0 4.804e-1 3.569e-1 10000 1.e-4 1.099e+0 4.808e-1 3.548e-1 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 130 Satz 4.4 (Gesamtfehler bei expliziten ESV) Das explizite ESV (ESV) werde auf einem Rechner durch ey n+1 = ey n + h f (ey n,t n ; h)+" n+1, ey 0 = y 0 + " 0, realisiert. Ist k" n kapple" und 1 h kt nkapplet für alle n =0, 1,..., so folgt ky(t n ) ey n kapple k" 0 k +(t n t 0 )(T + " h ) exp(m(t n t 0 )). Dilemma: Bei großer Schrittweite h ist (üblicherweise) T groß; wählt man h sehr klein, so ist zwar T klein, aber " h groß, dh. der Anteil der Rundungsfehler dominiert den Gesamtfehler. Wichtig sind also Verfahren hoher Ordnung, weil bei dort T schon bei moderater Größe von h klein wird. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Einschrittverfahren
Numerk für Techniker 131 4.6 Schrittweitensteuerung Kein Verfahren zur Lösung von AWPen arbeitet in der Praxis mit einer konstanten Schrittweite. Man wird vielmehr versuchen, die Schrittweite an das Verhalten der Lösung y anzupassen (ändert sich y in einem Bereich schnell, so ist dort eine kleine Schrittweite angebracht; in Bereichen, in den y kaum variiert, ist eine größere Schrittweite ausreichend). Wir werden hier eine Schrittweitensteuerung vorstellen, die zum Ziel hat, den lokalen Disktretisierungsfehler K n+1 := 1 h T n+1 (und damit den globalen Diskretisierungsfehler) zu kontrollieren: kk n k tol, n =1, 2,..., mit einer vorgebenen Toleranz tol. Bei Systemen von DGen (insbesondere dann, wenn die Lösungskomponenten von unterschiedlicher Größenordnung sind) wird man für jede Kopmponente eine eigene absolute Fehlertoleranz und global eine relative Fehlertoleranz festsetzen, Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Schrittweitensteuerung
Numerk für Techniker 132 Um den lokalen Diskretisierungsfehler zu schätzen, verwendet man zwei Methoden unterschiedlicher Konsistenzordnungen (sagen wir p und q mit p<q), um y n aus y n 1 zu berechnen: y n = y n 1 + h f (y n 1,t n 1 ; h) bzw. by n = y n 1 + h b f (y n 1,t n 1 ; h) Für die zugehörigen lokalen Diskretisierungsfehler gelten: Daraus folgt K n = y(t n) y(t n 1 ) h ck n = y(t n) y(t n 1 ) h (y n 1,t n 1 ; h) =O(h p ), b (yn 1,t n 1 ; h) =O(h q ). K n c Kn = b (y n 1,t n 1 ; h) (y n 1,t n 1 ; h) = 1 h (by n y n ). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Schrittweitensteuerung
Numerk für Techniker 133 Wegen K n c Kn = K n (1 + O(h q p )) K n erhalten wir aus 1 h ky n by n k kk n k eine (grobe) Schätzung für kk n k. Ist 1 h ky n by n k > tol, sowirddieschrittweiteh verworfen und mit p e h = h! h tol ky n by n k ( ) eine neue Schrittweite e h bestimnmt ( ist hier ein Sicherheitsfaktor, etwa =0.9). Ausgehend von y n 1 werden jetzt neue Näherungen y n und by n (an der Stelle t n 1 + e h) berechnet. Diesen Prozess wiederholt man solange bis 1 h ky n by n kappletol erfüllt ist. Dann wird ( ) verwendet,umeineneue (größere) Schrittweite für den nächsten Schritt (n! n +1) vorzuschlagen. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Schrittweitensteuerung
Numerk für Techniker 134 Die Wahl von e h nach ( ) motiviert sich folgendermaßen: benutzte Schrittweite h: 1 h ky n by n k kk n k = ch p + O(h p+1 ) ch p, erwünschte Schrittweite e h: tol = kk n k = c e h p + O( e h p+1 ) c e h p. Um den Aufwand in Grenzen zu halten, verwendet man zur Berechnung von y n und by n zwei RKV (verschiedener Ordnungen), deren Butcher-Matrizen sich nur in b unterscheiden (d.h. A und c sind gleich, so dass die k j nur einmal berechnet werden müssen). Man spricht von eingebetteten RKV und schreibt c A b > bb > z.b. 0 0 0 1 0 0 1 0 1/2 1/2. Hier wird das Euler-Verfahren (p =1)indasverbesserteEuler-Verfahren (p =2) eingebettet. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Schrittweitensteuerung
Numerk für Techniker 135 Ein populäres Beispiel ist die Fehlberg 4(5)-Formel: 0 0 0 0 0 0 0 1 1 4 3 3 9 8 32 12 1932 7200 7296 13 2197 2197 439 3680 1 216 8 513 1 8 3544 2 27 2 2565 25 1408 216 0 2565 16 6656 135 0 12825 4 0 0 0 0 0 32 0 0 0 0 2197 0 0 0 845 4104 0 0 1859 4104 2197 4104 28561 56430 11 40 0 1 5 0 9 2 50 55 Hier werden zwei sechsstufige RKV der Ordnungen 4 bzw. 5 kombiniert. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Schrittweitensteuerung
Numerk für Techniker 136 Ein weiteres Beispiel ist die Dormand-Prince 4(5)-Formel: 0 0 0 0 0 0 0 0 1 5 3 10 4 5 8 9 1 5 0 0 0 0 0 0 3 40 44 45 19372 6561 1 9017 3168 9 40 0 0 0 0 0 56 15 25360 2187 355 33 32 9 0 0 0 0 64448 6561 46732 5247 1 35 384 0 500 1113 35 500 384 0 1113 5179 7571 57600 0 16695 212 729 0 0 0 49 176 125 192 125 192 393 640 5103 18656 0 0 2187 6784 2187 6784 92097 339200 11 84 0 11 84 0 187 2100 Hier wird ein sechsstufiges RKV der Ordnung 4 in ein siebenstufiges der Ordnung 5 eingebettet. 1 40 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Schrittweitensteuerung
Numerk für Techniker 137 4.7 Absolute Stabilität Bekanntlich streben die Lösungen y(t) von y 0 = Ay, A 2 R n n (konstant) gegen 0 (für t!1), wenn Re( ) < 0 für alle Eigenwerte von A gilt. Wir suchen Bedingungen an ein ESV, so dass die Näherungslösungen dasselbe asymptotische Verhalten besitzen. Wir wenden z.b. ein m-stufiges RKV auf die Testgleichung y 0 = erhalten mit b h = h h y n+1 = 1+ b i hb > (I m b ha) 1 e y n =: R( b h)y n, y an und so dass (bei festem h) lim n!1 y n =0(für alle y 0 ) genau dann gilt, wenn R( b h) < 1 erfüllt ist. Allgemein gilt für jedes ESV (angewandt auf die Testgleichung) y n+1 = R( b h)y n mit einer verfahrensspezifischen Funktion R von b h = h. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Absolute Stabilität
Numerk für Techniker 138 Wir definieren den Stabilitätsbereich eines ESVs durch R A := { b h 2 C : R( b h) < 1}. Ein ESV heißt absolut stabil, wennr A { b h : Real( b h) < 0} gilt. Für ein beliebiges m-stufiges RKV gilt R( b h)=1+ b hb > (I m b ha) 1 e =1+ P 1 b j=1 h j b T A j 1 e. Besitzt das Verfahren die Ordnung p, so folgt R( b h)= P p j=0 1 b j! h j + P 1 b j=p+1 h j b > A j 1 e. Ist das RKV explizit, so folgt R( b h)=1+ P m b j=1 h j b T A j 1 e. Insbesondere hängt der Stabilitätsbereich eines m-stufigen expliziten RKVs der Ordnung m (1 apple m apple 4) wegen R( b h)= P m j=0 1 b j! h j nicht von den Koe zienten des Verfahrens ab. Außerdem besitzt kein explizites RKV einen unbeschränkten Stabilitätsbereich (denn R ist ein Polynom). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Absolute Stabilität
Numerk für Techniker 139 3 Verfahren dritter Ordnung von Heun 3 klassisches Rung Kutta Verfahren 2 2 1 1 0 0 1 1 2 2 3 4 3 2 1 0 1 2 3 4 3 2 1 0 1 2 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Absolute Stabilität
Numerk für Techniker 140 Beim impliziten Euler-Verfahren ist R( b h)=1/(1 b h), sodasshier R A = { b h : 1 b h > 1} (Außengebiets des Kreises um 1 mit Radius 1) gilt. Bei der Trapezregel ist R( b h)=(2+ b h)/(2 b h), sodasshier R A = { b h : Real b h<0} (linke Halbebene) gilt. Beide Verfahren sind damit absolut stabil. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Absolute Stabilität
Numerk für Techniker 141 4.8 Was sind steife Di erentialgleichungen? Es gibt keine zufriedenstellende Definition der Bauart eine DG heißt steif, wenn... Wir beschreiben verschiedene Aspekte des Phänomens Steifheit einer DG an Beispielen: Beispiel 1. Die beiden AWPe " # " # " # 2 1 y 0 2sint 2 = y +, y(0) =, (AWP 1 ) 1 2 2(cos t sin t) 3 " # " # " # 2 1 y 0 2sint 2 = y +, y(0) =, (AWP 2 ) 998 999 999(cos t sin t) 3 haben dieselbe Lösung Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 142 " # 2 y(t) =exp( t) 2 + " # sin t. cos t 3 2.5 y 2 2 1.5 1 y 1 0.5 0 0.5 1 0 2 4 6 8 10 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 143 Wir lösen beide Probleme für t 2 [0, 10] mit der Matlab-Routine ode45 (die ein eingebettetes RKV, das Verfahren von Dormand-Prince, verwendet, bei dem zwei RKV der Ordnungen 4 bzw. 5 kombiniert werden), wobei wir eine relative Toleranz von 0.01 vorgeben. 3 System 1: 64 Schritte (ode45) 3 System 2: 12044 Schritte (ode45) 2.5 2.5 y 2 y 2 2 2 1.5 1.5 1 1 y 1 y 1 0.5 0.5 0 0 0.5 0.5 1 0 2 4 6 8 10 1 0 2 4 6 8 10 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 144 Obwohl die exakte Lösung in beiden Fällen dieselbe ist, erfordert die Lösung von (AWP 2 ) etwa 200-mal mehr Aufwand als die von (AWP 1 ): AWP h min h max h? Schritte (AWP 1 ) 2.27e-2 2.03e-1 1.56e-1 64 (AWP 2 ) 5.98e-4 2.88e-3 8.30e-3 12044 Lösen wir die beiden Probleme mit der Matlab-Routine ode23tb (die die Trapezregel mit der Gear-Formel der Ordnung 2 kombiniert), so ergibt sich (relative Toleranz wie oben = 0.01): AWP h min h max h? Schritte (AWP 1 ) 2.13e-1 5.81e-1 5.26e-1 19 (AWP 2 ) 2.13e-1 7.36e-1 5.00e-1 20 Beide Probleme werden ohne Schwierigkeiten gelöst. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 145 3 System 1: 19 Schritte (ode23tb) 3 System 2: 20 Schritte (ode23tb) 2.5 2.5 y 2 y 2 2 2 1.5 1.5 1 1 y 1 y 1 0.5 0.5 0 0 0.5 0.5 1 0 2 4 6 8 10 1 0 2 4 6 8 10 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 146 Die Unterschiede zwischen den beiden AWPen werden sichtbar, wenn wir alle Lösungen der zugehörigen Systeme betrachten. Im ersten Fall ergibt sich " # " # " # 1 1 sin t y = apple 1 exp( t) + apple 2 exp( 3t) +, 1 1 cos t während im zweiten Fall " # 1 " 1 # " # sin t y = apple 1 exp( t) 1 + apple 2 exp( 1000t) 998 + cos t die allgemeine Lösung ist. (Beide Systeme sind inhomogene lineare Systeme mit konstanten Koe zienten, wobei die Eigenwerte der Koe zientenmatrix im ersten Fall 1 = 1, 2 = 3 und im zweiten Fall 1 = 1, 2 = 1000 sind.) Die Lösungen der konkreten AWPe sind jeweils durch apple 1 =2und apple 2 =0(!) gegeben. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 147 In beiden Fällen ist die Lösung aus einem Gleichgewichtsanteil, nämlich [sin t, cos t] >,undeinemtransientenanteilderform exp( 1 t)a 1 +exp( 2 t)a 2 zusammengesetzt. Die Unterschiede liegen in der Geschwindigkeit, mit der der transiente Teil (für t!1) verschwindet. Obwohl in der exakten Lösung der AWPe gar nicht erkennbar ist, wie schnell der abklingende Anteil verschwindet (apple 2 =0), bestimmt sie die erforderliche Schrittweite. Würde man in (AWP 2 )dieabiny(0) = [0, 1] > ändern, so würde apple 1 = apple 2 =0folgen, d.h. der transiente Teil ist in der Lösung y(t) =[sint, cos t] > vollständig unsichtbar. Selbst dann wäre ode45 nur mit extrem kleiner Schrittweite in der Lage, die Aufgabe zu lösen. Wir betrachten die Stabilitätsbereiche R A :Für ode45 kann man zeigen, dass R A \ R [ 3, 0] (Stabilitätsintervall). Will man für (AWP 1 )also h 2 R A (für alle Eigenwerte ) garantieren, genügt es, h<1 zu fordern (die durchschnittliche Schrittweite von h? 0.156 resultiert aus der geforderten Genauigkeit!). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 148 Dagegen muss für (AWP 2 ) h<0.003 gefordert werden, damit h 2 R A für alle folgt und es sind Stabilitätsprobleme, die zu der kleinen durchschnittlichen Schrittweite von h? 0.008 führen. Das Verfahren ode23tb ist absolut stabil, so dass hier h für alle h>0 (in jedem der beiden Fälle (AWP 1 )und(awp 2 )) im Stabilitätsbereich liegt. Für y 0 = Ay + b(t) heißt max Re 2 (A) / min Re 2 (A) Steifigkeitsquotient des linearen DG Systems. Ein lineares DG System mit konstanten Koe zienten heißt steif, wenn seine Eigenwerte alle negativen Realteil besitzen und sein Steifigkeitsquotient groß ist. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 149 Um die Problematik dieser gebräuchlichen Definition zu erläutern, betrachten wir ein weiteres AWP (mit derselben Lösung): " # " # " # y 0 2 1 2sint 2 = y +, y(0) =. (AWP 3 ) 1.999 0.999 0.999(cos t sin t) 3 Die Matrix dieses Systems besitzt die Eigenwerte 1 = 1, 2 = 0.001 und sein Steifigkeitsquotient beträgt 1000 (wie bei (AWP 2 )). Trotzdem hat ode45 keine ernsten Probleme: AWP h min h max h? Schritte (AWP 3 ) 1.19e-1 2.50e-1 2.27e-1 44 (ode45) (AWP 3 ) 1.25e-1 4.92e-1 4..55e-1 22 (ode23tb) Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 150 Ob ein System steif ist oder nicht kann also nicht immer aus dem Steifigkeitsquotienten abgelesen werden. Auch Definitionen wie ein System ist steif, wenn max Re groß ist (etwa max Re 1) sind natürlich wenig hilfreich (die Variablentransformation t 7! 0.001t macht aus (AWP 2 )ein Problem, das dieselbe Steifigkeit besitzt, bei dem aber max Re = 1gilt). Pragmatische Definitionen für Steifigkeit sind: Ein System ist steif, wenn Stabilitätsanforderungen und nicht Genauigkeitsanforderungen die Größe der Schrittweite bestimmen. Ein System heißt steif, wenn gewisse Komponenten der Lösung sehr viel schneller abklingen als andere. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 151 Beispiel 2. Die Di erentialgleichung y 0 (t) = (y(t) g(t)) + g 0 (t) ( ) besitzt die allgemeinen Lösung y(t) = exp( t) +g(t) ( 2 R). Wir wählen g als glatte Funktion, z.b. g(t) = arctan t und = 10. Auchhiersetztsichdie Lösung aus einem glatten (g(t) = Gleichgewichtsanteil) und einem schnell abklingenden Teil ( exp( t) = transienter Anteil)zusammen. Wir wählen die AB y(0) = 0 und approximieren die exakten Lösung y(t) = arctan t für t 2 [0, 5] mit dem expliziten Euler-Verfahren (R A = { b h : b h +1 < 1}) unddemimpliziteneuler-verfahren (R A = C \{ b h : b h 1 apple1}). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 152 3 2 1 0 1 2 3 5 4 3 2 1 0 1 2 3 4 5 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 153 2 h=0.3 1 0 1 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 h=0.2 2 1 0 1 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 h=0.1 2 1 0 1 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 154 2 h=0.3 1 0 1 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 h=0.5 2 1 0 1 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 h=1 2 1 0 1 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Steife Di erentialgleichungen
Numerk für Techniker 155 4.9 Die Wärmeleitungsgleichung Problem. Die Temperatur u(x, t), 0 apple x apple, in einem homogenen Stab mit konstantem Querschnitt habe zur Zeit t =0den Wert u(x, 0) = f(x). Der Stab sei wärmeisoliert außer an den Rändern x =0und x =, wodie Temperatur konstant auf u(0,t)=u(, t) =0gehalten wird (t >0). Bestimme die Wärmeverteilung u(x, t ), 0 apple x apple, imstabzurzeitt > 0. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 156 Mathematisches Modell. Energieerhaltungssatz und Fouriersches Gesetz (Jean-Baptiste-Joseph Fourier, 1768-1830), Wärme fließt in Richtung abfallender Temperatur und zwar umso intensiver, je größer die Temperaturdi erenzen sind, führen auf die Aufgabe: Gesucht ist eine Funktion u :[0, ] [0, 1)! R, (x, t) 7! u(x, t), die die folgenden Eigenschaften besitzt: @u (x, t) = 2 @t mit einer Materialkonstanten @2 u (x, t), 0 <x<, t>0 (WLG) @x2 ( 1). Außerdem u(x, 0) = f(x), 0 apple x apple, (Anfangsbedingung) (AB) z.b. f(x) =3sin(x) sin(2x)+sin(3x), u(0,t)=u(, t) =0, t 0, (Randbedingungen). (RB) Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 157 4 3.5 3 2.5 Waerme 2 1.5 1 0.5 0 1 0.8 0.6 Zeit 0.4 0.2 0 0 0.5 1 1.5 Ort 2 2.5 3 3.5 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 158 (WLG) 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 (WLG), (AB), (RB) auch dann ein sachgemäß gestelltes Problem (im Sinne von Jacques Salomon Hadamard (1865 1963)) 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! Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 159 Diskretisierung durch finite Di erenzen: Bestimme u nur noch auf den Linien (Linienmethode) i = {(x i,t):x i = ih und t 0}, i =1, 2,...,n. Dabei ist h := /(n + 1) die Schrittweite (Gitterweite) in x-richtung. Unsere Näherungen für u(x i,t) werden wir mit u i (t) :[0, 1)! R bezeichnen (wir wissen: u i (0) = f(x i )). Dazu müssen wir die partiellen Ableitungen @ 2 u/@x 2 aus (WLG) durch Ausdrücke annähern, die wir auf den Gitterlinien bestimmen können. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 160 Dazu betrachten wir zuerst eine Funktion in einer Variablen, f : R I =[, ]! R, x 7! f(x), und nehmen an, dass f in x 0 2 I di erenzierbar ist. Weil f 0 (x 0 )= lim h!0 f(x 0 + h) f(x 0 ) h gilt, liegt es nahe, f 0 (x 0 ) etwa durch eine der drei Formeln f(x 0 + h) f(x 0 ) h (Vorwärtsdi erenz) f(x 0 ) f(x 0 h) h (Rückwärtsdi erenz) f(x 0 + h) f(x 0 h) 2h (zentrale Di erenz) anzunähern. Dabei soll die Schrittweite h natürlich klein sein. (Vorw-Di ) (Rück-Di ) (Zent-Di ) Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 161 Die zweite Ableitung f 00 (x 0 ) approximieren wir durch eine zentrale Di erenz zweiter Ordnung f 00 (x 0 ) f 0 (x 0 + h) f 0 (x 0 ) h f(x 0 +h) f(x 0 ) h h f(x 0 ) f(x 0 h) h = f(x 0 + h) 2f(x 0 )+f(x 0 h) h 2. (Zent-Di -2) Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 162 Diskretisierungsfehler: a) Ist f in I zweimal stetig di erenzierbar, so gilt f(x 0 + h) f(x 0 ) h = f 0 (x 0 )+C 1 h mit C 1 apple 1 2 max x2i f 00 (x) (analog für Rückwärtsdi erenz). b) Ist f in I dreimal stetig di erenzierbar, so gilt mit C 3 apple 1 6 max x2i f 000 (x). f(x 0 + h) f(x 0 h) 2h c) Ist f in I viermal stetig di erenzierbar, so gilt = f 0 (x 0 )+C 3 h 2 f(x 0 + h) 2f(x 0 )+f(x 0 h) h 2 = f 00 (x 0 )+C 4 h 2 mit C 4 apple 1 12 max x2i f (4) (x). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 163 Analog bei partiellen Ableitungen, z.b.: und @u + h, t) u(x, t) (x, t) =u(x @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, 1877 1938) und wie folgt definiert: f(y) =O(g(y)) für y! a :, f(y)/g(y) ist beschränkt für y! a. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 164 Also: Approximiere @u 2 /@x 2 (x, t 0 ) durch eine zentrale Di erenz zweiter Ordnung. Für n =4ergibt sich dann (mit u 0 (t) =u 5 (t) 0). u 0 1(t) = u 0(t) 2u 1 (t)+u 2 (t) h 2, u 0 2(t) = u 1(t) 2u 2 (t)+u 3 (t) h 2, u 0 3(t) = u 2(t) 2u 3 (t)+u 4 (t) h 2, u 0 4(t) = u 3(t) 2u 4 (t)+u 5 (t) h 2. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 165 Alternativ: u 0 (t) = 1 h 2 A 4u(t) mit A 4 = 2 6 4 2 1 0 0 1 2 1 0 0 1 2 1 0 0 1 2 3 7 5. Bekannt sind die Anfangsbedingungen 2 u(0) = 6 4 f(h) f(2h) f(3h) f(4h) 3 7 5. Es handelt sich also um ein AWP für ein System gdgn (semi-diskrete Form der Wärmeleitungsgleichung). Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 166 Explizites Euler-Verfahren (Leonhard Euler, 1707 1783): Ziel: Berechne Näherungen u i,j für die Lösung u(ih, jk) von (WLG), (AB), (RB), wobei 1 apple i apple n, 1 apple j apple 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 n ] u (j 1). (4.6) Dabei bezeichnen I die (n n)-einheitsmatrix, = k/h 2, A n die Tridiagonalmatrix A n = tridiag(1, 2, 1) 2 R n n (s.o.) und u (j) den Vektor, der die Näherungen für die Temperatur zur Zeit t = jk enthält. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 167 Für k =1/11, h = /30: 8 6 4 Waerme 2 0 2 4 6 1 0.8 0.6 Zeit 0.4 0.2 0 0 0.5 1 1.5 Ort 2 2.5 3 3.5 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 168 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/11 3.7 10 0 3.1 10 0-6.3 10 0-1.3 10 0 1/50-2.7 10 23-3.7 10 23 8.5 10 23-2.7 10 23 1/100 1.4 10 24-6.1 10 25 1.1 10 26-3.5 10 25 1/150 6.5 10 6-1.2 10 7 1.2 10 7-3.3 10 6 1/200 7.2 10 1 1.1 10 0 9.1 10 1 2.4 10 1 1/250 7.2 10 1 1.1 10 0 9.1 10 1 2.4 10 1 0 7.2 10 1 1.1 10 0 9.1 10 1 2.4 10 1 (h = /30, k =0bedeutet hier, dass es sich bei den zugehörigigen u-werten um die Funktionswerte der exakten Lösung handelt.) Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 169 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) 2 3 2 3 2 3 2 3 u 1,1 u 1,0 2 1 0 0 u 1,1 u 2,1 6 4 u 7 3,1 5 = u 2,0 6 4 u 7 3,0 5 + 1 2 1 0 u 2,1 6 4 0 1 2 1 7 6 5 4 u 7 3,1 5. u 4,1 u 4,0 0 0 1 2 u 4,1 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 170 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.injedemZeitschrittdesimplizitenEuler-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 n )u (j) = u (j 1). (4.7) Für k =1/11 und h = /30 ergibt sich: Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 171 5 Anfangswert (t=0) 1.5 exakte Loesung (t=1) 4 3 1 2 0.5 1 0 0 1 2 3 0 0 1 2 3 1.5 numerische Loesung (t=1) 0.06 Fehler 1 0.04 0.5 0.02 0 0 1 2 3 0 0 1 2 3 4 Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 172 Warum verhalten sich explizites und implizites Euler-Verfahren so unterschiedlich? Die Eigenwerte der Matrix 2 2 1 1 2 1 1 h 2 A n = 1 h 2......... 6 4 1 2 1 1 2 3 7 5 2 R n n, h = n +1, sind bekannt: j = 4 h 2 sin2 j 2(n + 1) = 2 h 2 apple j 1 cos n +1 (j =1, 2,...,n). Insbesondere sind alle Eigenwerte von A n /h 2 negativ. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 173 Für die exakte Lösung von u 0 (t) = 1 h 2 Au(t), nämlich u(t) =exp(ta/h 2 )u(0), gilt daher: lim t!1 u(t) =0. Will man die gleiche Eigenschaft für die diskrete Lösung, min j!1 u (j) = 0, so muss man die Schrittweite k so wählen, dass b k j = k j im Stabilitätsbereich R A des Verfahrens liegt (für alle j =1, 2,...,n). Für das implizite Euler-Verfahren ist R A (imp) ={ b k : b k 1 > 1} (Außengebiet des Kreises um 1 mit Radius 1), so dass b k j für beliebiges k>0 im Stabilitätsbereich liegt: das implizite Euler-Verfahren ist unbedingt stabil. Für das explizite Euler-Verfahren ist R A (exp) ={ b k : b k +1 < 1} (o ene Kreisscheibe um 1 mit Radius 1). Die Bedingung b k j 2 R A (exp) ist damit äquivalent zu 4 h 2 k> 2 oder k h 2 < 1 2. Das explizite Euler-Verfahren ist nur bedingt stabil, d.h.unterder angegebenen Bedingung. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Die Wärmeleitungsgleichung
Numerk für Techniker 174 Ziele von Kapitel 4 Sie sollten einfache Einschrittverfahren auf gegebene Anfangswertprobleme (auch Systeme) anwenden können. Sie sollten die Begri e lokaler und globaler Diskretisierungsfehler erläutern können und die Beziehung zwischen beiden Fehlertypen kennen. Sie sollten wissen, was man unter der (Konsistenz)Ordnung eines Einschrittverfahrens versteht. Sie sollten wissen, was man unter absoluter Stabiltitt versteht, und den Stabiltiätsbereich einfacher Methoden kennen. Insbesondere sollten Sie wissen, wie sich die Stabiltät expliziter Verfahren prinzipiell von der impliziter Verfahren unterscheidet. Sie sollten (etwa am Beispiel der Wärmeleitungsgleichung) erklären können, was steife Di erentialgleichungen sind. Anfangswertprobleme bei gewöhnlichen Di erentialgleichungen Ziele
Numerk für Techniker 175 5 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. Numerische Verfahren zur Lösung linearer Gleichungssysteme
Numerk für Techniker 176 5.1 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 2 + + a 1,n x n = b 1 a 2,1 x 1 + a 2,2 x 2 + + a 2,n x n = b 2... a m,1 x 1 + a m,2 x 2 + + a m,n x n = b m ist ein System von m linearen Gleichungen in den n Unbekannten x 1,x 2,...,x n. Numerische Verfahren zur Lösung linearer Gleichungssysteme Was ist ein lineares Gleichungssystem?
Numerk für Techniker 177 Kurzschreibweise: 2 bzw. 6 4 1 1 0 3 2 1 3 7 5 " x1 x 2 Ax = b mit A =[a i,j ] 1appleiapplem,1applejapplen 2 R m n, x =[x 1,...,x n ] T 2 R n, b =[b 1,...,b m ] T 2 R m. A ist die Koe zientenmatrix und b die rechte Seite des linearen Gleichungssystems. # = 2 6 4 0 1 1 3 7 5 Numerische Verfahren zur Lösung linearer Gleichungssysteme Was ist ein lineares Gleichungssystem?
Numerk für Techniker 178 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 Koe zienten x j,mitderenhilfemandierechte Seite b als Linearkombination der Spalten von A darstellen kann. Definiert man das Bild von A (engl. range) durch nx R(A) :={y 2 R m : 9 x 1,x 2,...,x n mit y = x j A(:,j)}, dann folgt Ax = b besitzt genau dann (mindestens) eine Lösung, wenn b 2 R(A). j=1 Numerische Verfahren zur Lösung linearer Gleichungssysteme Was ist ein lineares Gleichungssystem?
Numerk für Techniker 179 In unserem Beispiel, d.h. für A = = 82 >< 6 4 >: h 1 1 0 2 3 1 i, gilt 82 >< R(A) = span {Ae 1,Ae 2 } = span 6 4 >: 3 9 >= 3 2 + 7 5 :, 2 R. >; 1 0 2 3 2 7 5, 6 4 3 1 1 39 >= 7 5 >; D.h. dass unser Beispielsystem lösbar ist ( = Ax =[1, 0, 0] T keine Lösung besitzt. =1/3), während etwa Numerische Verfahren zur Lösung linearer Gleichungssysteme Was ist ein lineares Gleichungssystem?
Numerk für Techniker 180 Der Kern oder Nullraum von A ist durch definiert. Es gelten: N (A) :={z 2 R n : Az = 0 } Ax = b und z 2 N (A) =) A(x + z )=b, Ax = b und Aex = b =) A(x ex )=0, dh. x ex 2 N (A). Das bedeutet: Ax = b besitzt genau dann höchstens eine Lösung, wenn N (A) ={0 }. Für A = h 1 1 0 2 3 1 i ist N (A) ={[ 0 0 ]}. Das bedeutet: Ist Ax = b für ein b 2 R 3 lösbar, dann ist es eindeutig lösbar. Numerische Verfahren zur Lösung linearer Gleichungssysteme Was ist ein lineares Gleichungssystem?
Numerk für Techniker 181 Für quadratische Matrizen A 2 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 (dh. wenn A 1 existiert bzw. det(a) 6= 0bzw. 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. Numerische Verfahren zur Lösung linearer Gleichungssysteme Was ist ein lineares Gleichungssystem?
Numerk für Techniker 182 5.2 Das Lösen von Dreieckssystemen Ein lineares Gleichungssystem der Form r 1,1 x 1 + r 1,2 x 2 + + r 1,n x n = c 1 r 2,2 x 2 + + r 2,n x n = c 2............ r n,n x n = c n oder kurz: Rx = c mit einer oberen Dreiecksmatrix R =[r i,j ] 1applei,japplen 2 R n n (r i,j =08i >j)heißt(oberes) Dreieckssystem. Untere Dreieckssysteme Lx = d mit unteren Dreiecksmatrizen L =[`i,j ] 1applei,japplen 2 R n n (`i,j =08i <j) werden analog definiert. Numerische Verfahren zur Lösung linearer Gleichungssysteme Das Lösen von Dreieckssystemen
Numerk für Techniker 183 Ist det(r) 6= 0,d.h.r i,i 6=08i =1, 2,...,n,sobesitztRx = 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) 6= 0 analog durch Vorwärts-Substitution, x j = 1 `j,j (d j `j,1 x 1 `j,j 1 x j 1 ) (j =1, 2,...,n), in n 2 Gleitpunktoperationen gelöst. Numerische Verfahren zur Lösung linearer Gleichungssysteme Das Lösen von Dreieckssystemen
Numerk für Techniker 184 5.3 Gauß-Elimination Idee: Transformiere Ax = b, A 2 R n n mit det(a) 6= 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). Numerische Verfahren zur Lösung linearer Gleichungssysteme Gauß-Elimination
Numerk für Techniker 185 Beispiel. 2 6 4 2 1 3 3 4 0 3 1 6 1 1 6 2 5 4 1 3 2 7 6 5 4 x 1 x 2 x 3 x 4 3 2 7 5 = 6 4 1. 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 2 3 2 3 2 3 2 1 3 3 x 1 1 0 2 3 5 x 2 6 4 0 4 8 3 7 6 5 4 x 7 3 5 = 10 6 4 19 7 5. 0 6 1 4 x 4 1 8 16 12 11 3 7 5. Numerische Verfahren zur Lösung linearer Gleichungssysteme Gauß-Elimination
Numerk für Techniker 186 2. 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 2 3 2 3 2 3 2 1 3 3 x 1 1 0 2 3 5 x 2 6 4 0 0 2 7 7 6 5 4 x 7 3 5 = 10 6 4 1 7 5. 0 0 10 11 3. 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). Hierl 4,3 =5: x 4 41 Numerische Verfahren zur Lösung linearer Gleichungssysteme Gauß-Elimination
Numerk für Techniker 187 2 6 4 2 1 3 3 0 2 3 5 0 0 2 7 0 0 0 46 3 2 7 6 5 4 x 1 x 2 x 3 x 4 3 7 5 = 2 6 4 1 10 1 46 3 7 5. 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. Numerische Verfahren zur Lösung linearer Gleichungssysteme Gauß-Elimination
Numerk für Techniker 188 In unserem Beispiel: 2 6 4 2 1 3 3 1 4 0 3 1 8 6 1 1 6 16 2 5 4 1 12 3 7 5 1.! 2 6 4 2 1 3 3 1 2 2 3 5 10 3 4 8 3 19 1 6 1 4 11 3 7 5 2.! 2 6 4 2 1 3 3 1 2 2 3 5 10 3 2 2 7 1 1 3 10 11 41 3 7 5 3.! 2 6 4 2 1 3 3 1 2 2 3 5 10 3 2 2 7 1 1 3 5 46 46 3 7 5 Numerische Verfahren zur Lösung linearer Gleichungssysteme Gauß-Elimination
Numerk für Techniker 189 Das Gaußsche Eliminationsverfahren bestimmt eine LR-Zerlegung von A, d.h. es gilt A = LR.InunseremBeispiel 2 3 2 3 1 0 0 0 2 1 3 3 L = 2 1 0 0 6 4 3 2 1 0 7 5 und R = 0 2 3 5 6 4 0 0 2 7 7 5. 1 3 5 1 0 0 0 46 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) Numerische Verfahren zur Lösung linearer Gleichungssysteme Gauß-Elimination
Numerk für Techniker 190 5.4 Pivotisierung Das Eliminationsverfahren bricht (bereits im ersten Schritt) zusammen, wenn es auf die Matrix A =[ 01 11 ] angewandt wird (obwohl det(a) 6= 0). Einfache Abhilfe: Vertausche die Zeilen (Gleichungen) von A, damitdas Pivotelement a 1,1 von 0 verschieden ist. Kleine Pivotelemente können zu ungenauen Ergebnissen führen: Beispiel: " # " # " # " 10 20 1 1 1 1 x =, Lösung x = 1 1 0 1 10 20 1 Gauß-Elimination (mit Machinengenauigkeit eps =2 52 10 16 ): 10 20 x 1 + x 2 =1 (1 10 20 )x 2 = 10 20, gerundet 10 20 ex 2 = 10 20, d.h. ex 2 =1, ex 1 =0. 1 1 #. Numerische Verfahren zur Lösung linearer Gleichungssysteme Pivotisierung
Numerk für Techniker 191 bzw. " # " # 1 0 el = und e 10 20 1 R = 10 20 1 0 10 20 statt " # " # 1 0 10 20 1 L = und R =. 10 20 1 0 1 10 20 Das bedeutet " # " # el R e 10 20 1 10 20 1 = statt LR = = A. 1 0 1 1 Numerische Verfahren zur Lösung linearer Gleichungssysteme Pivotisierung
Numerk für Techniker 192 Standard Abhilfe: Spaltenpivotsuche: Bestimme im j-ten Eliminationsschritt den Index j 0 2{j, j +1,...,n} mit a j0,j = max japplekapplen a k,j und vertausche die Zeilen (Gleichungen) j und j 0. Obiges Beispiel: " 1 1 10 20 1 #" x1 x 2 # = " 0 1 # bzw. " 1 1 0 1 #" ex1 ex 2 # = " 0 1 # liefert ex 2 =1und ex 1 = 1. Numerische Verfahren zur Lösung linearer Gleichungssysteme Pivotisierung
Numerk für Techniker 193 Diese Pivotstrategie kann leicht ad absurdum geführt werden, wenn man die verschiedenen Gleichungen unterschiedlich wichtet: Beispiel (wie oben, nur erste Gleichung wurde mit 10 20 multipliziert) " #" # " # 1 10 20 x1 10 20 führt bei Rechnung = 1 1 0 (mit Spaltenpivotsuche), eps 10 16, x 2 wie oben auf ex 2 =1und ex 1 =0. A heißt zeilenäquilibriert, wenn in jeder Zeile die Betragssumme der Einträge gleich ist, nx 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/ P n j=1 a i,j multipliziert. Numerische Verfahren zur Lösung linearer Gleichungssysteme Pivotisierung
Numerk für Techniker 194 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 Numerische Verfahren zur Lösung linearer Gleichungssysteme Pivotisierung
Numerk für Techniker 195 (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 Numerische Verfahren zur Lösung linearer Gleichungssysteme Pivotisierung
Numerk für Techniker 196 In der Praxis häufig: Löse mehrere (etwa m) SystemeAx 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 Numerische Verfahren zur Lösung linearer Gleichungssysteme Pivotisierung
Numerk für Techniker 197 Ergänzungen: 1. Ist A (streng) diagonaldominant, a i,i > P j6=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 ex durch Nachiteration verbessern: a) Berechne Residuum r = b Aex (doppelt genau). b) Löse Ah = r (verwende LR-Zerlegung). c) Setze x = ex + h. Numerische Verfahren zur Lösung linearer Gleichungssysteme Pivotisierung
Numerk für Techniker 198 5.5 Vektor- und Matrixnormen Um die Länge von Vektoren (und damit den Abstand zweier Vektoren) zu messen, definieren wir Normen, das sind Abbildungen k k: R n! R + 0, x 7! kx k, die positiv definit, d.h. kx k > 0 8 x 2 R n, x 6= 0,sowie homogen, d.h. k x k = kx k8 2 R, x 2 R n,sindundaußerdemder Dreiecksungleichung, dh. kx + yk applekx k + kyk 8x, y 2 R n, genügen. Abstand zweier Vektoren x, y 2 R n (bez. der Norm k k): kx yk. Numerische Verfahren zur Lösung linearer Gleichungssysteme Matrix- und Vektornormen
Numerk für Techniker 199 Die wichtigsten Normen im R n sind: kx k 1 := kx k 2 := (x =[x 1,x 2,...,x n ] > ). nx x i (Summennorm), j=0 2 4 3 nx x i 2 5 j=0 kx k 1 := max 1applejapplen x i 1/2 (Euklid-Norm), (Maximumnorm) Numerische Verfahren zur Lösung linearer Gleichungssysteme Matrix- und Vektornormen
Numerk für Techniker 200 Obwohl alle Normen im R n äquivalent sind (hier: kx k 2 applekx k 1 apple p n kx k 2, kx k 1 applekx k 2 apple p n kx k 1, und kx k 1 applekx k 1 apple n kx k 1 für alle x 2 R n ), d.h. sie erzeugen dieselbe Topologie (Grenzwerte, Stetigkeit), gibt es deutliche Unterschiede: Einheitskreisscheibe {x 2 R 2 : kx kapple1} bez. k k 1, k k 2 und k k 1 : 1 1 1 Numerische Verfahren zur Lösung linearer Gleichungssysteme Matrix- und Vektornormen
Numerk für Techniker 201 Eine Matrixnorm ist eine Abbildung k k: R n n! R + 0,A7! kak, die positiv definit, d.h.kak > 0 8 A 2 R n n, A 6= O, sowie homogen, d.h.k Ak = kak 8 2 R, A2 R n n,istundder Dreiecksungleichung, d.h.ka + Bk applekak + kbk 8A, B 2 R n n, genügt. Zusätzlich soll sie submultiplikativ sein, d.h. kabk applekakkbk 8A, B 2 R n n. Beispiel: Frobenius-Norm (A =[a i,j ] 1applei,japplen 2 R n n ) kak F := 2 4 nx i,j=0 3 a i,j 2 5 1/2 = spur(a T A) 1/2. Numerische Verfahren zur Lösung linearer Gleichungssysteme Matrix- und Vektornormen
Numerk für Techniker 202 Jede Vektornorm k k V im R n induziert durch kak M := max kax k V = max kx k V =1 x 6=0 kax k V kx k V eine Matrixnorm in R n n, die von k k V induzierte Matrixnorm. Es ist üblich, für k k V und k k M das gleiche Symbol zu verwenden: k k 1 induziert die Spaltensummennorm kak 1 = max 1applejapplen P n i=1 a i,j. k k 2 induziert die Spektralnorm kak 2 = p max(a T A). k k 1 induziert die Zeilensummennorm kak 1 = max 1appleiapplen P n j=1 a i,j. Numerische Verfahren zur Lösung linearer Gleichungssysteme Matrix- und Vektornormen
Numerk für Techniker 203 Eine Vektornorm k k V und eine Matrixnorm k k M sind miteinander verträglich (oder passen zueinander), wenn kax k V applekak M kx k V 8 x 2 R n,a2 R n n gilt. Bezeichnet k k M die von der Vektornorm k k V induzierte Matrixnorm, so sind k k V und k k M miteinander verträglich. k k M ist die kleinste Matrixnorm, die mit k k V verträglich ist: Für alle A 2 R n n gilt kak M =min{kak : k kist mit k k V verträglich}. Die Euklidsche Vektornorm k k 2 ist mit der Frobenius-Norm k k F verträglich. Numerische Verfahren zur Lösung linearer Gleichungssysteme Matrix- und Vektornormen
Numerk für Techniker 204 5.6 Stabiltät bei der Gauß-Elimination 1. 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 6= 0 : Seien x bzw. ex die (exakten) Lösungen von Ax = b und Aex e = b. e Dann: " kx ex k ka / cond (A) e # Ak + kb bk e mit cond(a) :=kak ka 1 k kx k kak kbk (falls die beteiligten Vektor- und Matrixnormen zueinander passen). Interpretation: RelativeFehlerindenDatenAund b verstärken sich mit dem Faktor cond(a) ins Ergebnis x = A 1 b.aufeinemrechnermit 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. Numerische Verfahren zur Lösung linearer Gleichungssysteme Stabilität bei der Gauß-Elimination
Numerk für Techniker 205 Die Hilbert-Matrix der Dimension n 2 H n = 6 4. 1 1 2 1 1 2 3 1 1 3 4 1 n. 1 n+1 1 1 3 n 1 1 4 1 1 5..... n+1 n+2 1 1 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 4 6 8 10 12 14 cond 2 (H n ) 1.6 10 4 1.5 10 7 1.5 10 10 1.6 10 13 1.7 10 16 1.9 10 19 cond 1 (H n ) 2.8 10 4 2.9 10 7 3.4 10 10 3.5 10 13 4.1 10 16 4.5 10 19 3 7 5 Numerische Verfahren zur Lösung linearer Gleichungssysteme Stabilität bei der Gauß-Elimination
Numerk für Techniker 206 Wir lösen H 12 x = b mit Maschinengenauigkeit eps =2 52 2 10 16 (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 1 0.8 0.6 1 2 3 4 5 6 7 8 9 10 11 12 j Numerische Verfahren zur Lösung linearer Gleichungssysteme Stabilität bei der Gauß-Elimination
Numerk für Techniker 207 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 2 R n n invertierbar und b 2 R n.ingleitpunktarithmetik(mit Maschinengenauigkeit eps) werde durch Gauß-Elimination (mit Spaltenpivotsuche) eine Näherung ex der Lösung des Systems Ax = b berechnet. Dann gilt: Dabei ist (A + A)ex = b mit k Ak 1 / 3 n 3 kak 1 eps. := max 1applei,japplen r i,j max 1applei,japplen a i,j der sog. Wachstumsfaktor bei Gauß-Elimination mit Spaltenpivotsuche. Numerische Verfahren zur Lösung linearer Gleichungssysteme Stabilität bei der Gauß-Elimination
Numerk für Techniker 208 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: apple 2 n 1 (!!). Diese obere Schranke wird angenommen für 2 3 2 3 1 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 2 A = 1 1 1 0 1, d.h. R = 0 0 1 0 4. 6 4 1 1 1 1 1 7 6 5 4 0 0 0 1 8 7 5 1 1 1 1 1 0 0 0 0 16 Numerische Verfahren zur Lösung linearer Gleichungssysteme Stabilität bei der Gauß-Elimination
Numerk für Techniker 209 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 apple 2, falls A tridiagonal ist. In der Praxis beobachtet man i.a. ein Anwachsen von wie bei n 2/3. Numerische Verfahren zur Lösung linearer Gleichungssysteme Stabilität bei der Gauß-Elimination
Numerk für Techniker 210 Rückwärtsanalyse (interpretiere Rundefehler als Datenfehler) (A + A)ex = b mit k Ak 1 / 3 n 3 kak 1 eps und Konditionsanalyse (wie wirken sich Datenfehler in exakter Arithmetik auf das Ergebnis aus) " kx ex k ka / cond (A) e # Ak + kb bk e mit cond(a) :=kak ka 1 k kx k kak kbk liefern insgesamt kx ex k 1 kx k 1 / 3 n 3 cond 1 (A) eps. Gauß-Elimination mit Spaltenpivotsuche ist stabil, wenn Wachstumsfaktor und Konditionszahl cond(a) klein sind. Numerische Verfahren zur Lösung linearer Gleichungssysteme Stabilität bei der Gauß-Elimination
Numerk für Techniker 211 Wir haben gesehen, dass apple 2 n 1 für alle A 2 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. Numerische Verfahren zur Lösung linearer Gleichungssysteme Stabilität bei der Gauß-Elimination
Numerk für Techniker 212 5.7 Die Cholesky-Zerlegung Eine symmetrische Matrix A 2 R n n heißt positiv definit, wennx T Ax > 0 8x 6= 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 6= 0 ). Jede positiv definite Matrix besitzt eine Cholesky-Zerlegung 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. Numerische Verfahren zur Lösung linearer Gleichungssysteme Die Cholesky-Zerlegung
Numerk für Techniker 213 Für A = 2 6 4 2 6 2 6 21 0 2 0 16 liefert Gauß-Elimination z.b. die LR-Zerlegung A = LR mit 2 3 1 0 0 L = 6 4 3 1 0 7 5 und 1 2 1 2 3 2 3 2 R = 6 4 2 6 2 0 3 6 0 0 2 7 5 = 6 4 2 0 0 0 3 0 0 0 2 7 5 6 4 3 7 5 1 3 1 0 1 2 0 0 1 3 7 5 =: DLT Numerische Verfahren zur Lösung linearer Gleichungssysteme Die Cholesky-Zerlegung
Numerk für Techniker 214 bzw. A = GG T mit G = LD 1/2 = 2 6 4 1 0 0 3 1 0 1 2 1 3 2 7 6 5 4 p 2 0 0 p 0 3 0 p 0 0 2 3 7 5 = 2 6 4 p 2 0 0 3 p p 2 3 0 p p p 2 2 3 2 3 7 5. Durch Ausnutzung der Symmetrie von A lässt sich der Rechenaufwand der Cholesky-Zerlegung auf n 3 /3 Gleitpunktoperationen reduzieren: Numerische Verfahren zur Lösung linearer Gleichungssysteme Die Cholesky-Zerlegung
Numerk für Techniker 215 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 4-Anteil von A wird mit L überschrieben. Der (echte) obere 4-Anteil von A wird im Algorithmus nicht verwendet. Numerische Verfahren zur Lösung linearer Gleichungssysteme Die Cholesky-Zerlegung
Numerk für Techniker 216 Ziele von Kapitel 5 Sie sollten die Bedeutung erkannt haben, die dem Lösen linearer Gleichungssysteme innerhalb der angewandten Mathematik zukommt. Sie sollten wissen, unter welchen Bedingungen ein lineares Gleichungssystem lösbar bzw. eindeutig lösbar ist. Sie sollten in der Lage sein, die LR-Zerlegung (mit und ohne Spaltenpivotsuche) bzw. die Cholesky-Zerlegung einer gegebenen Matrix zu berechnen. Sie sollten am Beispiel von Ax = b erklären können, was man unter der Kondition eines mathematischen Problems versteht. Sie sollten am Beispiel der Gauß-Elimination erklären können, was man unter der Kondition eines numerischen Algorithmus versteht. Insbesondere sollten den Unterschied zwischen der Kondition eines mathematischen Problems und der Kondition eines numerischen Algorithmus verstanden haben. Numerische Verfahren zur Lösung linearer Gleichungssysteme Ziele
Numerk für Techniker 217 6 Lineare Ausgleichsrechnung Problem. Lege durch m Punkte (x i,y i ), i =1, 2,...,m,(näherungsweise) ein Polynom vom Grad n p n (x) = 0 + 1 x + + n x n (wobei n + 1(= Anzahl der Koe Ansatz. zienten) apple m). 0 + 1 x 1 + 2 x 2 1 + + n x n 1 = y 1 0 + 1 x 2 + 2 x 2 2 + + n x n 2 = y 2. +. =. 0 + 1 x m + 2 x 2 m + + n x n m = y m oder kürzer A = y Lineare Ausgleichsrechnung
Numerk für Techniker 218 mit der Vandermonde-Matrix (Alexandre Théophile Vandermonde, 1735 1796) 2 3 1 x 1 x 2 1 x n 1 1 x 2 x 2 2 x n 2 A = 2 R m (n+1). 6 4.. 7 5 1 x m x 2 m x n m A besitzt Rang n +1,wennx 1,x 2,...,x m verschieden sind. Dann ist das Ausgleichspolynom eindeutig bestimmt. Seine Koe zienten sind die Lösungen des Kleinsten-Quadrate-Problems ka yk 2! min. Beachte: Ist m = n +1,dannistA 2 R (n+1) (n+1) quadratisch und invertierbar. Das Polynom p n interpoliert in diesem Fall sämtliche Punkte (x i,y i ). Lineare Ausgleichsrechnung
Numerk für Techniker 219 6.1 Die Normalgleichungen Das lineare Ausgleichsproblem (kleinste-quadrate-problem): Gegeben sind A 2 R m n und b 2 R m. Gesucht ist ein Vektor x 2 R n mit kb Ax k 2 =min x 2R n kb Ax k 2. (LS) Andere Formulierung: Bei gegebenen A und b können wir jedem x 2 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. Lineare Ausgleichsrechnung Die Normalgleichungen
Numerk für Techniker 220 Satz 6.1 1. Ein Vektor x 2 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 P m i=1 p 0(x i ) y i 2 durch p 0 (x) = 1 P m m i=1 y i minimiert. Lineare Ausgleichsrechnung Die Normalgleichungen
Numerk für Techniker 221 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 2 R 2 mit 2 3 2 3 y 1 1 x 1 " # 6 7 6 7 4. 5 4.. 5 0! min. 1 0, 1 y m 1 x m Zugehörige Normalgleichungen: 2 mx m i=1 6 4 mx X m i=1 x i i=1 x i x 2 i 3 2 6 7 4 5 0 1 3 7 5 = 2 6 4 2 mx i=1 y i mx x i y i i=1 3 7 5. Lineare Ausgleichsrechnung Die Normalgleichungen
Numerk für Techniker 222 Dieses Gleichungssystem kann (wie jedes 2 2-System) explizit gelöst werden: 2 3 2 3 2 3 mx mx mx 0 6 7 4 5 = 1 x 2 i x i y i i=1 i=1 i=1 D 6 4 mx 7 6 5 4 mx 7 5 1 x i m x i y i mit D = m i=1 mx i=1 x 2 i " X m # 2 x i. i=1 i=1 Lineare Ausgleichsrechnung Die Normalgleichungen
Numerk für Techniker 223 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 2 3 2 3 0 1 0 " # 6 4 2 7 6 5 4 1 1 7 0 5! min. 1 1 1 2 2 Lineare Ausgleichsrechnung Die Normalgleichungen
Numerk für Techniker 224 1. Normalgleichungen: [ 33 35 ][ 0 1 ]=[ 3 4 ]. 2. Cholesky-Zerlegung: [ 33 35 ]=GGT mit G = Löse G =[3, 4] T und G T =. Ergebnis: =[ 0, 1 ] T =[.5,.5] T h p3 0 p 3 p 2 i. (die Ausgleichsgerade ist also y =.5 +.5x) mit dem Kleinsten-Quadrate-Fehler " 3X # 1/2 y i ( 0 + 1 x i ) 2 = (0.5) 2 +(2 1) 2 +(1 1.5) 2 1/2 =.5 p 6. i=1 Lineare Ausgleichsrechnung Die Normalgleichungen
Numerk für Techniker 225 Weil die Konditionszahl der Koe sehr groß werden kann, zientenmatrix A T A der Normalgleichungen cond 2 (A T A) = cond 2 (A) 2, ist dieses Verfahren i.a. nicht zu empfehlen: 2 3 2 1 1 A = 6 4 0.001 0 7 5, b = 6 4 0 0.001 2 0.001 0.001 3 7 5, x = " 1 1 #. Erstellt man die Normalgleichungen in sechsstelliger Dezimalarithmetik, so ist A T A =[ 11 11 ] singulär (obwohl A vollen Rang 2 besitzt und nicht extrem schlecht konditioniert ist, cond 2 (A) = p 2 10 3 ). Lineare Ausgleichsrechnung Die Normalgleichungen
Numerk für Techniker 226 6.2 Orthogonale Matrizen und QR-Zerlegung Eine Matrix Q 2 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. kqx k 2 = kx 2 k 2 8x 2 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 2 R m n beliebig und Q 1 2 R m m, Q 2 2 R n n orthogonal, so gilt und folglich: kq 1 Ak 2 = kaq 2 k 2 = kak 2 cond 2 (Q 1 A) = cond 2 (AQ 2 ) = cond 2 (A). (Durch orthogonale Transformationen wird die Kondition eines Gleichungssystems nicht verschlechtert!) Lineare Ausgleichsrechnung Orthogonale Matrizen und QR-Zerlegung
Numerk für Techniker 227 Satz 6.2 Zu jeder Matrix A 2 R m n mit m n und rank(a) =n gibt es eine orthogonale Matrix Q 2 R m m und eine invertierbare obere Dreiecksmatrix R 2 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: 2 3 2 1 0 6 41 17 5 = 1 6 6 4 1 2 2 p 3 3 p p 3 2 2 6 2 p 3 0 2 p 67 6 2 p 3 3 p p 5 4 2 6 {z } Q p p 3 3 p 0 2 3 7 5 0 {z 0 } [ O R ] Lineare Ausgleichsrechnung Orthogonale Matrizen und QR-Zerlegung
Numerk für Techniker 228 Wie hilft eine QR-Zerlegung bei der Lösung des Ausgleichsproblems? " # " # R R kb Ax k 2 = b Q x = Q T b x. O O Setze c = Q T b =[ c 1 c 2 ] mit c 1 2 R n und c 2 2 R m kb Ax k 2 = " c1 c 2 2 # " # R x O 2 = n,dann " # c1 Rx Das bedeutet: 1. Das Kleinste-Quadrate-Problem kb Ax k 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 kb Ax k 2 = kc 2 k 2. In Beispiel 3: c = Q T b =.5[2 p 3, p 2, p 6] T.D.h.:c 1 =.5[2 p 3, p 2] T und c 2 =.5 p 6. Also ist x =[ 0, 1 ] T = R 1 c 1 =[.5,.5] T und kb Ax k 2 =.5 p 6. c 2 2 2. Lineare Ausgleichsrechnung Orthogonale Matrizen und QR-Zerlegung
Numerk für Techniker 229 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.) Lineare Ausgleichsrechnung Orthogonale Matrizen und QR-Zerlegung
Numerk für Techniker 230 Als elementare orthogonale Matrizen werden eingesetzt: Householder-Transformationen Q = Q(u) =I m 2uu T 2 R m m mit u 2 R m, kuk 2 =1(Spiegelung an der Hyperebene u? ), mit der ganze Spalten (unterhalb der Hauptdiagonalen) vernullt werden können. Givens-Rotationen Q = Q i,j (') 2 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 ' 2 [0, 2 )), mit der einzelnen Einträge vernullt werden können. x j Lineare Ausgleichsrechnung Orthogonale Matrizen und QR-Zerlegung
Numerk für Techniker 231 6.3 Die Singulärwertzerlegung Satz 6.3 Sei A 2 R m n eine Matrix vom Rang r. Dann gibt es orthogonale Matrizen U 2 R m m und V 2 R n n sowie eine Diagonalmatrix = r O O O 2 R m n mit r = diag( 1, 2,..., r) 2 R r r und 1 2 r > 0, sodassa 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. Schreibtman U =[u 1, u 2,...,u m ] und V =[v 1, v 2,...,v n ],soheißenu i 2 R m bzw. v i 2 R n zugehörige linke bzw. rechte Singulärvektoren. Lineare Ausgleichsrechnung Die Singulärwertzerlegung
Numerk für Techniker 232 Bemerkungen. 1. A = U V T =[u 1, u 2,...,u r ] r [v 1, v 2,...,v r ] T = P 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 = ( ( iu i (i =1, 2,...,r), 0 (i = r +1,r+2,...,n) iv 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). Lineare Ausgleichsrechnung Die Singulärwertzerlegung
Numerk für Techniker 233 h i h i 4. A T A = V T V T = V 2 r O V T, AA T = U T U T = U 2 r O U T. O O O O 2 2 1,..., r 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 = ( 2i 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 = ( 2i u i (i =1, 2,...,r), 0 (i = r +1,r+2,...,m). Lineare Ausgleichsrechnung Die Singulärwertzerlegung
Numerk für Techniker 234 5. Ist A 2 R n n symmetrisch mit von Null verschiedenen Eigenwerten 1,..., r, 1 r > 0, dannsind 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 2 R m n gilt kak 2 = 1.IstA 2 R n n invertierbar, gilt außerdem ka 1 k 2 = 1 n und cond 2 (A) = 1 / n. 8. Besitzt A 2 R n n die SVD A = U V T,dannbesitzt H = OA T A O 2 R (m+n) (m+n) die von Null verschiedenen Eigenwerte ± i mit zugehörigen (normierten) Eigenvektoren p 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!) Lineare Ausgleichsrechnung Die Singulärwertzerlegung
Numerk für Techniker 235 Die geometrische Interpretation der SVD. BesitztA 2 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 )leichtbeschreiben (vgl. Bemerkung 2). Z.B.: 2 3 2 3 2 3 1 0 0.22 0.89 0.41 2.68 0 " # T 6 41 17 5 = 6 40.52 0.25 0.827 6 5 4 0 0.927 0.58 0.81 5 0.81 0.58 1 2 0.82 0.39 0.41 0 0 (Werte auf 2 Dezimalstellen gerundet). Lineare Ausgleichsrechnung Die Singulärwertzerlegung
Numerk für Techniker 236 1 v 1 1 u 1 v 2 x 2 0 x 3 0 u 2 u 3 1 1 1 0 0 x 2 1 1 x 1 1 1 0 1 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 = 0. Lineare Ausgleichsrechnung Die Singulärwertzerlegung
Numerk für Techniker 237 Satz 6.4 Es sei A 2 R m n eine Matrix vom Rang r mit SVD A = U V T = U r O O O V T.Dannlö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 6.5 Es sei A 2 R m n eine Matrix vom Rang r mit SVD A = U V T. Die Approximationsaufgabe min{ka A k k 2 : A k 2 R m n und rank(a k ) apple k} besitzt für k apple r die Lösung A k = kx i=1 iu i v T i mit ka A k k 2 = k+1. Lineare Ausgleichsrechnung Die Singulärwertzerlegung
Numerk für Techniker 238 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 359 371 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 = 133189 für X) erforderlich. Lineare Ausgleichsrechnung Die Singulärwertzerlegung
Numerk für Techniker 239 Lineare Ausgleichsrechnung Die Singulärwertzerlegung
Numerk für Techniker 240 k Relativer Fehler k+1/ 1 Kompressionsrate 10 0.0666 0.055 20 0.0528 0.110 40 0.0382 0.219 Lineare Ausgleichsrechnung Die Singulärwertzerlegung
Numerk für Techniker 241 6.4 Stabilität bei Kleinsten-Quadrate-Problemen Satz 6.6 Die Matrix A 2 R m n, m n, besitze vollen Rang n. x und ex seien die Lösungen der Kleinsten-Quadrate-Probleme kb Ax k 2! min x 2R n bzw. kb e Ax e k2! min x 2R n.essei " := max ( ka e Ak 2 kak 2, kb e bk2 kbk 2 ) apple 1 cond 2 (A) (diese Voraussetzung garantiert die Eindeutigkeit von ex ). Dann gilt kx ex k 2 kx apple "apple LS + O " 2 mit apple LS := 2cond 2(A) k 2 cos( ) + tan( )cond 2 (A) 2. Der Winkel 2 [0, /2] ist durch sin( ) =kb Ax k 2 /kbk 2 definiert. Lineare Ausgleichsrechnung Stabilität bei Kleinsten-Quadrate-Problemen
Numerk für Techniker 242 Interpretation: Ist =0(oder sehr klein), d.h. der Kleinste-Quadrate-Fehler kb Ax k 2 ist sehr klein (im Verhältnis zu kbk 2 ), dann ist wegen cos( ) 1 und tan( ) 0 apple LS 2cond 2 (A). Ist weder sehr klein noch nahe bei /2 (z.b. = /4), dann ist die Konditionszahl apple LS sehr viel größer: Sie verhält sich ungefähr wie cond 2 (A) 2 (apple LS = 2cond 2 (A) + cond 2 (A) 2 für = /4). Ist schließlich /2, d.h.x 0,soistapple LS praktisch unbeschränkt (tan( )!1für! /2). Im Grenzfall = /2 ist x = 0 und (fast) jede beliebig kleine Störung von A bzw. b führt auf ex 6= 0 und damit zu einem unendlichen relativen Fehler. Lineare Ausgleichsrechnung Stabilität bei Kleinsten-Quadrate-Problemen
Numerk für Techniker 243 Ziele von Kapitel 6 Sie sollten wissen, was man unter einem linearen Ausgleichsproblem und seiner kleinsten-quadrate-lösung versteht. Sie sollten die Beziehung zwischen dem linearen Ausgleichsproblem und den Normalgleichungen kennen. Sie sollten in der Lage sein, ein Ausgleichspolynom vom Grad n durch eine Punktwolke (x j,y j ) (j =1, 2,...,m mit m>n) zu legen. Sie sollten erklären können, warum man in der numerischen Praxis, lineare Ausgleichsprobleme oft nicht mit Hilfe der Normalgleichungen löst. Sie sollten wissen, wie ein lineares Ausgleichsproblem mit Hilfe einer QR-Zerlegung gelöst werden kann. Sie sollten wissen, unter welchen Bedingungen ein lineares Ausgleichsproblem eine eindeutige Lösung besitzt. Lineare Ausgleichsrechnung Ziele
Numerk für Techniker 244 7 Iterationsverfahren zur Lösung von Gleichungssystemen Nichtlineare Gleichungssysteme (sogar eine nichtlineare Gleichung in einer Unbekannten) müssen fast immer iterativ gelöst werden. Große dünnbesetzte lineare Gleichungssysteme müssen iterativ gelöst werden, weil direkte Verfahren wie die Gauß-Elimination sowohl bez. Rechenaufwand (Komplexität n 3 ) als auch bez. Speicherbedarf ( fill-in ) in der Regel zu kostspielig sind. Iterationsverfahren zur Lösung von Gleichungssystemen
Numerk für Techniker 245 7.1 Der Banachsche Fixpunktsatz Satz 7.1 (Banachscher Fixpunktsatz) Es sei k keine beliebige Norm im R n. Außerdem gelte: D R n ist abgeschlossen, f : D! D (Selbstabbildung), f ist stark kontrahierend, d.h.9 L < 1 mit kf(x ) f(y)k applelkx yk 8x, y 2 D. Dann folgt: f besitzt genau einen Fixpunkt x in D (f(x )=x ), für jeden Startvektor x 0 2 D konvergiert die Folge {x m } m 0, x m+1 := f(x m ) (m =0, 1, 2,...) (Fixpunktiteration), gegen x, kx m x kapple Lm 1 L kx 0 x 1 k (a-priori-abschätzung), kx m x kapple L 1 L kx m x m 1 k (a-posteriori-abschätzung). Iterationsverfahren zur Lösung von Gleichungssystemen Der Banachsche Fixpunktsatz
Numerk für Techniker 246 Der Spezialfall n =1: Satz 7.2 (Banachscher Fixpunktsatz im R 1 ) I R sei ein abgeschlossenes Intervall, f : I! I sei stark kontrahierend, d.h. 9 L<1 mit f(x) f(y) applel x y 8x, y 2 I. Dann besitzt f genau einen Fixpunkt x in I. Die Iterationsfolge {x m } m 0, x m+1 := f(x m ) (m =0, 1, 2,...), konvergiert für beliebiges x 0 2 I gegen x. Es gelten die Abschätzungen x x m apple Lm 1 L x 0 x 1 sowie x x m apple L 1 L x m x m 1. Iterationsverfahren zur Lösung von Gleichungssystemen Der Banachsche Fixpunktsatz
Numerk für Techniker 247 Ein Kriterium für starke Kontraktion: Ist f : D! D aus C 1 (D), d.h.für die Komponentenabbildungen f i : D! R sind alle partiellen Ableitungen @f i @x j : D! R stetig (1 apple i, j apple n), und gibt es eine Matrixnorm k k M,sodassfür die Funktionalmatrix von f, 2 3 @f 1 @f @x 1 (x ) 1 @x n (x ) f 0 (x )= 6 4. @f n @x 1 (x ). @f n @x n (x ) L := max x 2D kf 0 (x )k M < 1 gilt, dann folgt 7 5 2 Rn n (eigentlich f 0 : D! R n n ), kf(x ) f(y)k applelkx yk 8x, y 2 D, d.h. f ist stark kontrahierend bez. jeder Vektornorm k k,diemitk k M verträglich ist. Iterationsverfahren zur Lösung von Gleichungssystemen Der Banachsche Fixpunktsatz
Numerk für Techniker 248 Für den Spezialfall n =1bedeutet das: Ist f : I! I aus C 1 (I) mit L := max x2i f 0 (x) < 1, dann folgt f(x) f(y) = f 0 ( ) x y applel x y 8x, y 2 I, d.h.f ist stark kontrahierend. Beispiel 1. Gesucht ist eine Lösung x =[, ] T des Gleichungssystems x 1 =0.7sinx 1 +0.2 cos x 2, x 2 =0.7 cos x 1 0.2sinx 2. Äquivalent: Gesucht ist ein Fixpunkt x der Abbildung " # " f : R 2! R 2 x1 0.7sinx1 +0.2cos x 2, 7! x 2 0.7 cos x 1 0.2sinx 2 #. Iterationsverfahren zur Lösung von Gleichungssystemen Der Banachsche Fixpunktsatz
Numerk für Techniker 249 Die Frobenius-Norm der Funktionalmatrix von f, " #! " f 0 (x )=f 0 x1 0.7 cos x 1 0.2sinx 2 = x 2 0.7sinx 1 0.2 cos x 2 # ist (für alle x 2 R 2 )durch kf 0 (x )k F = (0.49 cos 2 x 1 +0.04 sin 2 x 2 +0.49 sin 2 x 2 +0.04 cos 2 x 2 ) 1/2 = (0.49 + 0.04) 1/2 =: L 0.729 gegeben. Also ist f auf ganz R 2 stark kontrahierend (mit der Kontraktionskonstanten L). f besitzt deshalb in R 2 genau einen Fixpunkt x und die Fixpunktiteration " x (m+1) 1 x (m+1) 2 # := f " x (m) 1 x (m) 2 #! = " 0.7sinx1 +0.2 cos x 2 0.7 cos x 1 0.2sinx 2 konvergiert für jeden Startvektor (x (0) 1,x(0) 1 )T 2 R 2 gegen x. # Iterationsverfahren zur Lösung von Gleichungssystemen Der Banachsche Fixpunktsatz
Numerk für Techniker 250 Wir wählen x 0 =[x (0) 1,x(0) 2 ]T =[0, 0] T. Frage: Wieviele Iterationsschritte m sind erforderlich, um kx x m k 2 apple 10 4 garantieren zu können? Die a-priori-abschätzung liefert kx x m k 2 apple Lm 1 L kx 0 x 1 k 2 = 0.53m/2 0.531/2 1 0.531/2 was auf! apple 10 4, m +1 ( 4 + log 10 (1 0.53 1/2 ))/ log 10 (0.53 1/2 ) = 33.11... führt. Nach 33 Iterationsschritten ist also kx x m k 2 apple 10 4 garantiert. Die numerische Rechnung zeigt, dass dieser Fehler schon nach 21 Schritten erreicht wird. Man wird die Fixpunktiteration in der Praxis dann abbrechen, wenn die a-posteriori-schranke unter 10 4 liegt, was hier nach 22 Schritten der Fall ist. Iterationsverfahren zur Lösung von Gleichungssystemen Der Banachsche Fixpunktsatz
Numerk für Techniker 251 m x (m) 1 x (m) 2 a-priori a-posteriori tats. Fehler 0 0 0 7.3158e-01 1 2.0000e-01 7.0000e-01 1.9486e+00 1.9486e+00 3.7883e-01 2 2.9204e-01 5.5720e-01 1.4186e+00 4.5472e-01 2.3961e-01 3 3.7128e-01 5.6460e-01 1.0328e+00 2.1303e-01 1.6527e-01. 20 5.2642e-01 5.0796e-01 4.6811e-03 1.6374e-04 1.1206e-04 21 5.2646e-01 5.0795e-01 3.4079e-03 1.0592e-04 7.2487e-05 22 5.2648e-01 5.0794e-01 2.4810e-03 6.8518e-05 4.6889e-05. 32 5.2652e-01 5.0792e-01 1.0375e-04 8.7864e-07 6.0124e-07 33 5.2652e-01 5.0792e-01 7.5533e-05 5.6834e-07 3.8891e-07 Iterationsverfahren zur Lösung von Gleichungssystemen Der Banachsche Fixpunktsatz
Numerk für Techniker 252 7.2 Das Newton-Verfahren in R Problem. Bestimme die Nullstelle(n) einer Funktion f : R D! R, x 7! f(x), bzw. die Lösung(en) der Gleichung f(x) =0,x2D. Konkreter: Bestimme p a, a>0, d.h. die positive Nullstelle der Funktion f : R! R, x 7! x 2 a, mit Hilfe der Grundrechenarten. Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren in R
Numerk für Techniker 253 Mathematischer Hintergrund. Niels Henrik Abel (1802-1829), Everiste Galois (1811 1832): 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 1 + + a 1 x + a 0 =0 können für n>4 i.a. nicht mit Hilfe der Grundrechenarten und der Wurzelfunktionen durch die Koe zienten dargestellt werden. Für n =2: x 1,2 = a 1 ± p a 2 1 4a 0 2 Für n =3und n =4gibt 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!. Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren in R
Numerk für Techniker 254 Angenommen, x 0 ist Näherung für p a mit dem Fehler e: p a = x0 + e (z.b. x 0 = a). Gesucht ist eine bessere Näherung x 1. Taylor-Entwicklung: 0=f( p a)=f(x 0 + e) =f(x 0 )+f 0 (x 0 ) e {z } Taylor-Polynom + 1 2 f 00 ( ) e 2 mit 2 (x 0, p a), fallsx 0 < p a,bzw. 2 ( p a, x 0 ),fallsx 0 > p a. Man kann die Gleichung 0=f(x 0 )+f 0 (x 0 ) e + 1 2 f 00 ( ) 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.wirbetrachtendielineare Gleichung 0=f(x 0 )+f 0 (x 0 ) e mit der Lösung e = f(x 0) f 0 (x 0 ) (falls f 0 (x 0 ) 6= 0). Dann ist x 1 := x 0 + e = x 0 f(x 0 )/f 0 (x 0 ) zwar keine Nullstelle von f, aber (ho entlich) eine bessere Näherung für eine Nullstelle von f als x 0. Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren in R
Numerk für Techniker 255 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 0 (x m 1 ). Für f(x) =x 2 a ergibt sich als Iterationsvorschrift x m := 1 x m 1 + a (m =1, 2,...). 2 x m 1 Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren in R
Numerk für Techniker 256 3 2.5 2 1.5 1 0.5 0 x 2 x 1 x 0 0.5 1 1 1.2 1.4 1.6 1.8 2 2.2 Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren in R
Numerk für Techniker 257 Man ersetzt das komplizierte Problem f(x) =0durch das lineare Problem f(x m 1 )+f 0 (x m 1 )e =0und 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 0 (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) =0durch eine Folge linearer Gleichungen, nämlich der Tangentengleichungen, ersetzt. Eine Linearisierung führt fast immer zu einem Iterationsverfahren, weileinkorrekturschritti.a.nichtausreicht,umeine brauchbare Näherung für die Lösung des komplizierten Ausgangsproblems zu bestimmen. Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren in R
Numerk für Techniker 258 Für f(x) =x 2 a mit a =2: x 0 x 1 x 2 x 3 x 4 2 1.5 1.41... 1.41421... 1.41421356237... (Nur die korrekten Zi ern von x 2, x 3 und x 4 sind angeben.) Es stellen sich folgende Fragen: 1. Konvergiert das Verfahren, d.h. gilt lim m!1 x m = p a,für jede Wahl des Startwerts x 0? O enbar nicht, z.b. für x 0 =0ist x 1 noch nicht einmal definiert. 2. Also, für welche x 0 konvergiert die Folge {x m } m 0 gegen p a? 3. Wann bricht man das Verfahren ab? Schranken für den Abbruchfehler x m p a sind erforderlich. Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren in R
Numerk für Techniker 259 7.3 Konvergenzordnung Definition: f : D! R n, D R n,seieineabbildungmitdemfixpunkt x 2 D (f(x )=x ). Der Fixpunkt x heisst anziehend (attraktiv), wenn es eine Kugel K " (x ):={x 2 R n : kx x k <"} mit ">0 gibt, so dass die Fixpunktiteration für jeden Startvektor aus K " (x ) \ D gegen x strebt (die Fixpunktiteration ist lokal konvergent). Kriterium: x 2 D ist ein anziehender Fixpunkt der stetig di erenzierbaren Abbildung f 2 C 1 (D), wenn (a) f(x )=x und (b) (f 0 (x )) := max{ : ist Eigenwert von f 0 (x )} < 1 gelten. Hinreichend für (b) ist die Existenz einer Matrixnorm k k M mit kf 0 (x )k M < 1. Iterationsverfahren zur Lösung von Gleichungssystemen Konvergenzordnung
Numerk für Techniker 260 Im Spezialfall n =1ist x ein anziehender Fixpunkt der stetig di erenzierbaren Funktion f : I! R, wennf(x )=x und f 0 (x ) < 1 erfüllt sind. 4 3 2 1 0 0<f (x)<1 1 3 4 2 0 1<f (x)<0 01 2 3 f (x) >1 Iterationsverfahren zur Lösung von Gleichungssystemen Konvergenzordnung
Numerk für Techniker 261 Es sei {a m } m 0 eine Nullfolge positiver reeller Zahlen. Die Folge {a m } m 0 besitzt (mindestens) die Konvergenzordnung p 1, wenneseinc>0gibt mit a m+1 apple Ca p m für alle m m 0. Für p = 1(lineare Konvergenz) wirdzusätzlich C < 1 gefordert. Die konvergente Vektorfolge {x m } m 0 R n (x =lim m!1 x m )besitzt (mindestens) die Konvergenzordnung p, wenndiesfürdie Fehlerfolge {kx x m k} m 0 gilt (dabei ist es irrelevant, in welcher Norm die Fehler gemessen werden). Eine Folge wie a m =1/(m + 1) konvergiert sublinear (langsamer als linear). Gilt lim m!1 a m+1 /a m =0, so spricht man von superlinearer Konvergenz (schneller als linear). Jede Folge mit Konvergenzordnung p>1 konvergiert superlinear. Iterationsverfahren zur Lösung von Gleichungssystemen Konvergenzordnung
Numerk für Techniker 262 Faustregel: Eine Folge konvergiert umso schneller, je größer ihre Konvergenzordnung ist. 10 0 10 2 10 4 sublineare Konv. 10 6 lineare Konv. 10 8 10 10 10 12 10 14 10 16 10 18 quadratische Konv. 10 20 0 5 10 15 20 25 30 35 40 45 50 Iterationsverfahren zur Lösung von Gleichungssystemen Konvergenzordnung
Numerk für Techniker 263 Kriterium (für n =1): f :[a, b]! R sei aus C p [a, b] (p-mal stetig di erenzierbar). Es sei f(x )=x für ein x 2 [a, b]. Gilt 0=f 0 (x )=f 00 (x )=...= f (p 1) (x ), dann konvergiert die Fixpunktiteration x m+1 = f(x m ) (m =0, 1, 2,...) lokal mit (mindestens) der Ordnung p. Beispiel. Die Iterationsvorschrift des Newton-Verfahrens zur Bestimmung einer Nullstelle von f 2 C 2 [a, b] lautet: x m+1 = x m f(x m )/f 0 (x m )=: (x m ) mit der Iterationsfunktion (x) :=x f(x)/f 0 (x). Sei f 0 (x ) 6= 0:Dannistx Nullstelle von f, x ist Fixpunkt von. 0 (x) =1 f 0 (x)f 0 (x) f(x)f 00 (x) f 0 (x) 2 = f(x)f 00 (x) f 0 (x) 2 ) 0 (x )=0. Für einfache Nullstellen konvergiert das Newton-Verfahren lokal (mindestens) quadratisch, d.h. mit der Ordnung p =2. Iterationsverfahren zur Lösung von Gleichungssystemen Konvergenzordnung
Numerk für Techniker 264 7.4 Nullstellen reellwertiger Funktionen Gesucht sind Nullstellen einer (zumindest) stetigen Funktion g :[a, b]! R. Gilt g(a)g(b) < 0, dannbesitztg in (a, b) (mindestens) eine Nullstelle (Zwischenwertsatz). Wir beschreiben und vergleichen drei Verfahren zur näherungsweisen Berechnung einer Nullstelle von g: das Intervallhalbierungsverfahren, das Newton-Verfahren, das Sekantenverfahren. Iterationsverfahren zur Lösung von Gleichungssystemen Nullstellen reellwertiger Funktionen
Numerk für Techniker 265 Intervallhalbierungsverfahren: Setze a_0 = a und b_0 = b m = 0 while b_m-a_m > tol x =.5*(a_m+b_m) m = m+1 if g(x)*g(a_{m-1}) < 0 a_m = a_{m-1} b_m = x else a_m = x b_m = b_{m-1} end if end while Iterationsverfahren zur Lösung von Gleichungssystemen Nullstellen reellwertiger Funktionen
Numerk für Techniker 266 Das Intervallhalbierungsverfahren konvergiert linear mit dem Konvergenzfaktor 1/2. Pro Iterationsschritt ist eine Funktionsauswertung erforderlich. Ist g di erenzierbar, so können wir das Newton-Verfahren einsetzen (vgl. Abschnitt 7.2): x m+1 = x m g(x m ) g 0 (x m ) (m =0, 1, 2,...). Wir wissen bereits, dass es bei einfachen Nullstellen lokal quadratisch konvergiert. Der Rechenaufwand beträgt i.w. zwei Funktionsauswertungen pro Schritt (insbesondere die Auswertung der Ableitung ist in der Praxis problematisch, da g 0 nur in Ausnahmefällen explizit bekannt ist). Iterationsverfahren zur Lösung von Gleichungssystemen Nullstellen reellwertiger Funktionen
Numerk für Techniker 267 Ersetzt man im Newton-Verfahren die Tangentensteigung g 0 (x m ) durch die Sekantensteigung g(x m) g(x m 1 ) x m x m 1,soerhält man das Sekantenverfahren x m+1 = x m x m x m 1 g(x m ) g(x m 1 ) g(x m) = x m 1g(x m ) x m g(x m 1 ) g(x m ) g(x m 1 ) (m =0, 1, 2,...). Hier sind zwei Startwerte erforderlich. Ist g 2 C 2 [a, b] und besitzt g eine einfache Nullstelle 2 [a, b], so konvergiert das Sekantenverfahren lokal gegen mit der Konvergenzordnung (1 + p 5)/2 =1.61... Jeder Iterationsschritt erfordert eine Funktionsauswertung. Beispiel. g(x) = x exp(.5x) besitzt wegen g(.6) =.14... und g(.8) =.12... eine Nullstelle in [.6,.8]. Iterationsverfahren zur Lösung von Gleichungssystemen Nullstellen reellwertiger Funktionen
Numerk für Techniker 268 Intervallhalbierungsverfahren: m a m b m 0 5.9999999999999998e-001 8.0000000000000004e-001 1 7.0000000000000000e-001 8.0000000000000004e-001 2 7.0000000000000000e-001 7.5000000000000000e-001. 10 7.0332031250000004e-001 7.0351562500000000e-001. 20 7.0346736907958984e-001 7.0346755981445308e-001. 30 7.0346742235124116e-001 7.0346742253750572e-001 Iterationsverfahren zur Lösung von Gleichungssystemen Nullstellen reellwertiger Funktionen
Numerk für Techniker 269 Erwartungsgemäss konvergieren Sekantenverfahren (Startwerte x 0 =.6, x 1 =.8) und Newton-Verfahren (Startwert x 0 =.6) wesentlichschneller.wir tabellieren die resultierenden Fehler: m Sekantenverfahren Newton-Verfahren 0 1.0346742249839169e-001 1.0346742249839169e-001 1 9.6532577501608374e-002 7.1108527096874763e-004 2 6.5026396360778893e-004 3.2897961022015920e-008 3 4.0432478531915450e-006 < eps = 2.220446048e-016 4 1.7102297356075269e-010 5 < eps = 2.220446048e-016 Iterationsverfahren zur Lösung von Gleichungssystemen Nullstellen reellwertiger Funktionen
Numerk für Techniker 270 7.5 Das Newton-Verfahren im R n Gesucht: Nullstellex einer stetig di erenzierbaren Funktion f : R n D! R n,d.h.f(x )=0. Iterationsvorschrift: x m+1 = x m [f 0 (x m )] 1 f(xm ) (m =0, 1, 2,...) mit der Funktionalmatrix f 0 (x )=[@f i /@(x j )(x )] 1applei,japplen. Praxis. Die Inverse von f 0 (x m ) wird nicht berechnet, sondern: a. löse das n n lineare Gleichungssystem f 0 (x m )h = f(x m ), b. setze x m+1 = x m + h. Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren im R n
Numerk für Techniker 271 Beispiel 2 (vgl. Beispiel 1). Um die Lösung x 2 R n von " # " #! " x1 x1 0.7sinx1 +0.2cos x 2 = f := x 2 x 2 0.7 cos x 1 0.2sinx 2 # mit dem Newton-Verfahren berechnen zu können, müssen wir das Problem zuerst in Nullstellenform formulieren. x ist Nullstelle von etwa g(x )=x f(x ), " # " # g : R 2! R 2 x1 x1 0.7sinx 1 0.2 cos x 2, 7!. x 2 x 2 0.7 cos x 1 +0.2sinx 2 Es gilt: " x1 #! " 1 0.7 cos x1 0.2sinx 2 # g 0 (x )=g 0 x 2 = 0.7sinx 1 1+0.2 cos x 2. Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren im R n
Numerk für Techniker 272 Folglich [g 0 (x )] 1 = "g 0 " x1 x 2 #!# 1 = 1 D " 1+0.2 cos x2 0.2sinx 2 0.7sinx 1 1 0.7 cos x 1 # mit der Funktionaldeterminanten D =detg 0 (x )=(1 0.7 cos x 1 )(1 + 0.2 cos x 2 ) 0.14 sin x 1 sin x 2 (beachte D 0.3 0.8 0.14 = 0.1 > 0 8x 2 R 2, so dass g 0 (x ) für jedes x 2 R 2 invertierbar ist). Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren im R n
Numerk für Techniker 273 Iterationsvorschrift in unserem Beispiel: " # " # (m+1) (m) x 1 x 1 x (m+1) = 2 x (m) 2 1 D " (m) 1+0.2cos x 2 0.2sinx (m) 2 0.7sinx (m) 1 1 0.7 cos x (m) 1 #" (m) x 1 0.7sinx (m) 1 0.2 cos x (m) 2 x (m) 2 0.7 cos x (m) 1 +0.2sinx (m) 2 # (wir weisen noch einmal darauf hin, dass die Invertierung von g 0 (x m ) nur im Ein- oder Zweidimensionalen durchgeführt werden kann i.a. wird man, wie oben beschrieben, ein lineares Gleichungssystem mit der Matrix g 0 (x m ) lösen). Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren im R n
Numerk für Techniker 274 Die numerische Rechnung liefert: m x (m) 1 x (m) 2 kx x m k 2 0 0 0 7.3158e-01 1 0.66666666666667 0.58333333333333 1.5915e-01 2 0.53623996436649 0.50884900677977 9.7617e-03 3 0.52656199042839 0.50793192959763 4.1219e-05 4 0.52652262259473 0.50791971922729 7.0284e-10 5 0.52652262191818 0.50791971903685 < eps = 2.2204e-16 (vgl. die Konvergenzgeschwindigkeit der gewöhnlichen Fixpunktiteration). Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren im R n
Numerk für Techniker 275 Satz 7.3 k kund k k M seien verträgliche Vektor- und Matrixnormen. f besitze eine Nullstelle x und sei in einer Kugel K " (x ) stetig di erenzierbar. f 0 (x ) sei für jedes x 2 K " (x ) invertierbar und es existiere ein L>0 mit k [f 0 (x )] 1 (f 0 (y) f 0 (x )) k M apple Lky x k 8y, x 2 K " (x ). Dann gelten: Wählt man x 0 2 K " (x ) und ist := kx x 0 k < 2 L, so liegen alle Iterierten x m des Newton-Verfahrens in K (x ).Die Newton-Folge konvergiert quadratisch gegen x : kx x m+1 kapple L 2 kx x m k 2. Außerdem besitzt f nur eine Nullstelle in K (x ). Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren im R n
Numerk für Techniker 276 Einfache (eindimensionale) Beispiele zeigen, dass das Newton-Verfahren nur in Ausnahmefällen global konvergiert: Eine Menge D R n heisst konvex, wennsiemitzweipunktenx, y auch deren Verbindungsstrecke enthält: x, y 2 D ) x +(1 )y 2 D 8 2 [0, 1]. Die Abbildung f : R n D! R n, D konvex, heisst konvex in D, wenn f( x +(1 )y) apple f(x )+(1 )f(y) für alle x, y 2 D und alle 2 [0, 1] gilt. Die Relation apple ist hier komponentenweise zu verstehen. (Interpretation im Eindimensionalen: Der Graph von f liegt unterhalb aller Sekanten.) Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren im R n
Numerk für Techniker 277 Ist f stetig di erenzierbar in der konvexen Menge D, so ist f genau dann konvex, wenn für alle x, y 2 D f(y) f(x ) f 0 (x )(y x ) gilt. (Interpretation im Eindimensionalen: Der Graph von f liegt oberhalb aller Tangenten.) 0.8 0.6 0.4 0.2 0 0.2 0 0.5 1 1.5 Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren im R n
Numerk für Techniker 278 Satz 7.4 Es sei f : R n! R n di erenzierbar und konvex. f 0 (x ) sei invertierbar mit [f 0 1 (x )] O (komponentenweise) für alle x 2 R n. Außerdem besitze f(x )=0 eine Lösung x. Dann ist x die einzige Lösung von f(x )=0. Die Newton Folge konvergiert für beliebiges x 0 2 R n gegen x (globale Konvergenz!). Es gilt (komponentenweise monotone Konvergenz) 1-D: x apple x m+1 apple x m für m =1, 2,... ex x (((((((( 0 x x 1 ex 1 0 - x Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren im R n
Numerk für Techniker 279 Bemerkung. Genügt f zusätzlich der Monotoniebedingung f 0 (x ) apple f 0 (y) falls x apple y, so lässt sich eine Einschließung von x konstruieren: Neben der Newton-Folge wird noch die Folge bx m+1 := bx m f 0 (x m ) 1 f(bx m ) (m =1, 2,...) (Funktionalmatrix an der Stelle x m,nichtanderstellebx m!) berechnet. Ist bx 1 2 D so gewählt, dass f(bx 1 ) apple 0 gilt, so folgt bx m apple bx m+1 apple x apple x m+1 apple x m (m =1, 2,...) und lim bx m = lim x m = x. m!1 m!1 Iterationsverfahren zur Lösung von Gleichungssystemen Das Newton-Verfahren im R n
Numerk für Techniker 280 7.6 Modifikationen des Newton-Verfahrens Problem beim Newton-Verfahren: Nur lokale Konvergenz. Idee des gedämpften Newton-Verfahrens: Iteriere gemäß x m+1 = x m m [f 0 (x m )] 1 f(xm ) (m =0, 1, 2,...), dabei ist m 2 (0, 1] ein Dämpfungsfaktor, der so gewählt wird, dass erfüllt ist. kf(x 0 )k kf(x 1 )k kf(x 2 )k Iterationsverfahren zur Lösung von Gleichungssystemen Modifikationen des Newton-Verfahrens
Numerk für Techniker 281 Programmentwurf: m = 0 while norm(f(x_m)) > tol Loese f (x_m)* h = -f(x_m) alpha = 1 x = x_m + alpha*h while norm(f(x)) > (1-0.25*alpha)*norm(f(x_m)) alpha = 0.5*alpha if alpha < 2^(-10), break, end if x = x_m + alpha*h end while m = m+1 x_m = x end while Iterationsverfahren zur Lösung von Gleichungssystemen Modifikationen des Newton-Verfahrens
Numerk für Techniker 282 Problem beim Newton-Verfahren: Berechnung von f 0 (x m ) teuer. Idee der Quasi-Newton-Verfahren: Iteriere gemäß x m+1 = x m A 1 m f(x m ) (m =0, 1, 2,...), dabei ist A m eine Näherung an f 0 (x m ),diederquasi-newton-bedingung genügt. Populär ist der Ansatz A m (x m x m 1 )=f(x m ) f(x m 1 ) A m = A m 1 + u m v T m (Rang-Eins-Verfahren), weil sich A 1 m dann leicht aus A 1 m 1 berechnen lässt: Iterationsverfahren zur Lösung von Gleichungssystemen Modifikationen des Newton-Verfahrens
Numerk für Techniker 283 Satz 7.5 (Sherman-Morrison-Formel) Sind u, v 2 R n und A 2 R n n invertierbar. Dann ist A + uv T genau dann invertierbar, wenn 1+v T A 1 u 6= 0gilt. In diesem Fall ist Beim Broyden-Verfahren wird neben A + uv T 1 = A 1 A 1 uv T A 1 1+v T A 1 u. (A m A m 1 )(x m x m 1 )=f(x m ) f(x m 1 ) A m 1 (x m x m 1 ) (folgt aus der Quasi-Newton-Bedingung) noch (A m A m 1 )h = 0 für alle h? x m x m 1 gefordert. Damit ist A m eindeutig bestimmt. Es ergibt sich A m = A m 1 + u m v T m Iterationsverfahren zur Lösung von Gleichungssystemen Modifikationen des Newton-Verfahrens
Numerk für Techniker 284 mit v m := x m x m 1, u m := (f(x m) f(x m 1 ) Av m )v T m v T mv m. Satz 7.6 Die Abbildung f : R n D! R n besitze eine Nullstelle x 2 D. f sei di erenzierbar in einer Umgebung U von x und f 0 sei in U Lipschitz-stetig. Außerdem sei f 0 (x ) invertierbar. Dann gibt es positive Konstanten und mit den folgenden Eigenschaften: Für alle Startwerte x 0 mit kx 0 x kapple und alle Näherungen A 0 (für f 0 (x 0 )) mit ka 0 f 0 (x 0 )kapple konvergiert das Broyden-Verfahren superlinear gegen x. Iterationsverfahren zur Lösung von Gleichungssystemen Modifikationen des Newton-Verfahrens
Numerk für Techniker 285 7.7 Nichtlineare Ausgleichsprobleme Gegeben sind f : R n D! R m (m n) undy 2 R m. Gesucht ist ein Vektor x 2 R n mit ky f(x )k 2 =min x 2D ky f(x )k 2 ( ) (In Kapitel 6 wurde der lineare Spezialfall dieses Problems behandelt.) Beispiel. n Parameter einer Modellfunktion ' sollen an m Messwerte angepasst werden. Etwa: '(t) =' x1,x 2,x 3 (t) =x 1 exp( x 2 t)+x 3, fünf Messungen: i 1 2 3 4 5 t i 0 1 2 3 5 y i 3 2 1.5 1 0.5. Iterationsverfahren zur Lösung von Gleichungssystemen Nichtlineare Ausgleichsrechnung
Numerk für Techniker 286 Hier: f =(f 1,...,f 5 ):R 3! R 5 mit f k (x 1,x 2,x 3 )=x 1 exp( x 2 t k )+x 3 (k =1,...,5). Setzt man F : R n D! R, x!kf(x ) yk 2 2,soist 1 2 rf (x )=f 0 (x ) T [f(x ) y] =0 eine notwendige Bedingung für die Lösung x von ( ) (fallsf 2 C 1 (D)). Man könnte dieses Gleichungssystem mit dem Newton-Verfahren attackieren. Dies ist i.a. zu kompliziert (um F 0 zu bestimmen, benötigt man f 00 )undman linearisiert ( ) direkt. Ausgangspunkt ist die Taylorreihe von f (f 2 C 2 (D)) f(x )=f(x 0 )+f 0 (x 0 )[x x 0 ]+o(kx x 0 k) Iterationsverfahren zur Lösung von Gleichungssystemen Nichtlineare Ausgleichsrechnung
Numerk für Techniker 287 Ist x 0 eine gute Näherung von x,soerwartetman,dassdielösung x 1 von min ky f(x 0) f 0 (x 0 )[x x 0 ]k 2 min ky f(x )k x 2R n x 2R n 2 ( ) eine bessere Approximation an x ist. ( ) isteinlineares Ausgleichsproblem, kann also mit den Methoden aus Kapitel 5 gelöst werden. Gauß-Newton-Verfahren: Waehle x_0. for k = 0,1,2,...: Berechne A = f (x_k) und b = y - f(x_k), bestimme die Loesung h_k des linearen Ausgleichsproblems \ b - A h_k \ _2 = min, setze x_{k+1} = x_k + h_k. end for Iterationsverfahren zur Lösung von Gleichungssystemen Nichtlineare Ausgleichsrechnung
Numerk für Techniker 288 In der Praxis muss dieses Verfahren gedämpft werden (x k+1 = x k + h k, vgl. Abschnitt 8.5). Die folgende Tabelle zeigt für unser Beispiel das Residuum ky f(x k )k 2 der Iterierten x k des Gauß-Newton-Verfahrens mit und ohne Dämpfung (x 0 = 0,inKlammern:Dämpfungsfaktoren): k ohne Dämpfung mit Dämpfung 0 4.0620 4.0620 1 1.9235 1.9235 [1.0] 2 1.1281 1.1281 [1.0] 3 1.7878 0.8317 [0.5] 4 3.8386 0.0937 [1.0] 5 2.3371 0.0931 [1.0] 6 10 10!! 0.0931 [1.0] Iterationsverfahren zur Lösung von Gleichungssystemen Nichtlineare Ausgleichsrechnung
Numerk für Techniker 289 Man kann zeigen, dass die Gauß-Newton-Korrektur h k eine Abstiegsrichtung ist, d.h. es gibt ein t 0 > 0, sodassky f(x k + th k )k 2 als Funktion von t 2 [0,t 0 ] streng monoton fällt. Ein geeignet gedämpftes Gauß-Newton-Verfahren führt also immer zu einer monoton abnehmenden Residualnorm der Iterierten. Das Marquardt-Verfahren (auch Levenberg-Marquardt-Verfahren) wählt bei gegebenem k > 0 die Korrekturrichtung h k für x k als die Lösung von k[y f(x k )] f 0 (x k )h k k 2 2 + 2 kkh k k 2 2! min h k 2R n ( ) Die Idee ist, k klein zu wählen, wenn x k weit von einer Lösung entfernt ist (erleichtere große Korrekturen) und k groß zu wählen, wenn x k eine gute Näherung für die Lösung ist. Iterationsverfahren zur Lösung von Gleichungssystemen Nichtlineare Ausgleichsrechnung
Numerk für Techniker 290 Eine äquivalente Formulierung von ( )ist " y f(xk ) 0 # " f 0 (x k ) # 2 ki n h k 2! min h k 2R n. Es handelt sich also um ein lineares Ausgleichsproblem der Dimension (m + n) n, dessen Koe zientenmatrix stets vollen Rang n besitzt. Die sehr spezielle Struktur dieses Kleinsten-Quadrate-Problems muss bei der Rechnung ausgenutzt werden. Auch die Korrektur h k des Marquardt-Verfahrens ist eine Abstiegsrichtung. Iterationsverfahren zur Lösung von Gleichungssystemen Nichtlineare Ausgleichsrechnung
Numerk für Techniker 291 Marquardt-Verfahren: Waehle x_0 und lambda_0 > 0. for k = 0,1,2,...: Berechne A = f (x_k) und b = y - f(x_k), bestimme die Loesung h_k des linearen Ausgleichsproblems \ b - A h_k \ ^2 + lambda_k^2 \ h_k \ ^2 = min, setze x_{test} = x_k + h_k. while \ y - f(x_{test}) \ >= \ y - f(x_k) \ Setze lambda_k = 2 lambda_k und loese \ b - A h_k \ ^2 + lambda_k^2 \ h_k \ ^2 = min, setze x_{test} = x_k + h_k. end while Setze x_{k+1} = x_{test} und lambda_{k+1} = 0.5 lambda_k. end for Iterationsverfahren zur Lösung von Gleichungssystemen Nichtlineare Ausgleichsrechnung
Numerk für Techniker 292 In unserem Beispiel ist das Marquardt-Verfahren etwa so schnell wie das gedämpfte Gauß-Newton-Verfahren (r k := y f(x k ), x 0 = 0, 0 =1): k 0 1 2 3 4 5 6 kr k k 2 4.0620 1.9508 1.0737 0.5059 0.0983 0.0933 0.0931 k 1 1/2 1/4 1/8 1/16 1/32 1/64 Iterationsverfahren zur Lösung von Gleichungssystemen Nichtlineare Ausgleichsrechnung
Numerk für Techniker 293 4 3.5 3 2.5 x 1 =2.9145 x 2 =0.3769 x 3 =0.0662 2 1.5 1 0.5 0 1 0 1 2 3 4 5 6 Iterationsverfahren zur Lösung von Gleichungssystemen Nichtlineare Ausgleichsrechnung
Numerk für Techniker 294 7.8 Klassische Iterationsverfahren für lineare Systeme Zu lösen: Ax = b, A 2 R n n invertierbar, aber n so groß, dass Gauß-Elimination nicht durchführbar ist. Mit einer Zerlegung von A, A = M N (M,N 2 R n n,m invertierbar), lässt sich das LGS äquivalent als Fixpunktaufgabe schreiben: Zugehörige Fixpunktiteration Mx = Nx + b oder x = M 1 Nx + M 1 b. Mx m+1 = Nx m + b oder x m+1 = M 1 Nx m + M 1 b (m =0, 1, 2...). Iterationsverfahren zur Lösung von Gleichungssystemen Klassische Iterationsverfahren für lineare Systeme
Numerk für Techniker 295 Bezeichnungen: e m = A 1 b x m (Fehler), r m = b Ax m (Residuum), er m = M 1 (b Mit T = M 1 N (Iterationsmatrix) folgt Ax m ) (Pseudo-Residuum). e m = T e m 1 = = T m e 0 und er m = T er m 1 = = T m er 0. Satz 7.7 Das Iterationsverfahren x m+1 = M 1 Nx m + M 1 b (m =0, 1, 2,...) konvergiert genau dann für jeden Startvektor x 0 2 R n gegen A 1 b, wenn es eine Matrixnorm k k M gibt mit kt k M = km 1 Nk M < 1. Iterationsverfahren zur Lösung von Gleichungssystemen Klassische Iterationsverfahren für lineare Systeme
Numerk für Techniker 296 Es gilt: M wird i.a. nicht invertiert: x m+1 = M 1 Nx m + M 1 b = x m + M 1 r m m = 0 r_0 = b - A*x_0 while norm(r_m) > tol*norm(b) m = m+1 Loese M*h = r_{m-1} x_m = x_{m-1}+h r_m = b-a*x_m end while Lineare Gleichungssysteme mit Koe zientenmatrix M müssen sehr viel kostengünstiger zu lösen sein als solche mit A! Iterationsverfahren zur Lösung von Gleichungssystemen Klassische Iterationsverfahren für lineare Systeme
Numerk für Techniker 297 Die Wahl M = diag(a) führt zum Jacobi- oder Gesamtschrittverfahren: 2 x (m) j = 1 X (m 4b j a j,k x k a j,j 3 1) 5 (1 apple j apple n, m > 0). k6=j Die Wahl M =tril(a) führt zum Gauß-Seidel- oder Einzelschrittverfahren: 2 x (m) j = 1 X X 4b j a j,k x (m) (m k a j,k x k a j,j 3 1) 5 (1 apple j apple n, m > 0). k<j k>j Unterschied: Beim Jacobi-Verfahren wird x m ausschließlich aus Komponenten von x m 1 berechnet. Beim Gauß-Seidel-Verfahren werden zur Berechnung von x (m) j alle verfügbaren Komponenten von x m,d.h.x (m) k für k<j,verwendet. Iterationsverfahren zur Lösung von Gleichungssystemen Klassische Iterationsverfahren für lineare Systeme
Numerk für Techniker 298 Zwei Konvergenzkriterien für Gesamt- und Einzelschrittverfahren zur Lösung von Ax = b: 1. Ist A strikt diagonaldominant, d.h. gilt X a j,k < a j,j 8j =1, 2,...,n, k6=j dann konvergiert sowohl das Gesamt- als auch das Einzelschrittverfahren für jeden Startvektor. 2. Ist a j,k apple 0 für alle j 6= k und sind sämtliche Einträge von A 1 nichtnegativ (solche Matrizen heissen M-Matrizen), dann konvergiert sowohl das Gesamtals auch das Einzelschrittverfahren für jeden Startvektor. Iterationsverfahren zur Lösung von Gleichungssystemen Klassische Iterationsverfahren für lineare Systeme
Numerk für Techniker 299 Zur Illustration lösen wir das lineare Gleichungssysteme Ax = b, dasbeider Diskretisierung der Wärmeleitungsgleichung (implizites Euler-Verfahren, vgl. Kapitel 3.3) entsteht, durch Gesamt- und Einzelschrittverfahren. Bis auf einen skalaren Vorfaktor ist 2 3 2 1 1 2 1. 1 2.. A =.... 2 R n n... 1 6 4 1 2 17 5 1 2 Hier muss allerdings bemerkt werden, dass man dieses System in der Praxis durch Gauß-Elimination (Cholesky-Zerlegung) sehr viel e zienter lösen würde. Iterationsverfahren zur Lösung von Gleichungssystemen Klassische Iterationsverfahren für lineare Systeme
Numerk für Techniker 300 10 0 Jacobi 10 1 Gauss Seidel 10 2 0 20 40 60 80 100 120 140 160 180 200 Hier: n = 20. Die Konvergenz ist in beiden Fällen linear mit den Konvergenzfaktoren.989... (Jacobi) bzw..978... (Gauß-Seidel). Vergrößert man n, so konvergieren beide Verfahren (noch) langsamer. Iterationsverfahren zur Lösung von Gleichungssystemen Klassische Iterationsverfahren für lineare Systeme
Numerk für Techniker 301 7.9 Gradientenverfahren In diesem Abschnitt sei A 2 R n n stets symmetrisch und positiv definit. Grundlegendes Resultat: Unter dieser Voraussetzung löst x 2 R n das Gleichungssystem Ax = b genau dann, wenn x die Funktion f : R n! R, x 7! f(x ):= 1 2 x T Ax x T b minimiert, d.h. wenn gilt. f(x )=min x 2R n f(x ) Iterationsverfahren zur Lösung von Gleichungssystemen Gradientenverfahren
Numerk f ur Techniker 302 Graph und Niveaulinien der Funktion f (fu r n = 2): Iterationsverfahren zur L osung von Gleichungssystemen Gradientenverfahren Technische Universit at Bergakademie Freiberg
Numerk für Techniker 303 Idee: Löse das Gleichungssystem Ax = b durch Anwendung eines Minimierungsverfahrens auf die Funktion f. Einfache Stategie: Ist x m 1 eine Näherung für x,sobestimmtmaneine Suchrichtung p m 2 R n \{0 } und minimiert f entlang der Geraden {x m 1 + p m : 2 R}. Dieses Problem besitzt die Lösung x m = x m 1 + r T m 1p m p T map m p m (ersetze die n dimensionale Minimierungsaufgabe f(x )=min x 2R n Folge eindimensionaler Probleme f(x m 1 + p m )=min 2R ). durch eine Iterationsverfahren zur Lösung von Gleichungssystemen Gradientenverfahren
Numerk für Techniker 304 Verfahren des steilsten Abstiegs: Wähle p m als diejenige Richtung, in der die Funktion f ausgehend von x m amsteilstenfällt. D.h.: p m = rf(x m )=b Ax m 1 = r m 1. Es zeigt sich allergings, dass diese (lokal optimale) Wahl der Suchrichtung i.a. zu einem sehr langsam konvergenten Verfahren führt. Iterationsverfahren zur Lösung von Gleichungssystemen Gradientenverfahren
Numerk für Techniker 305 Konvergenz beim Verfahren des steilsten Abstiegs: Iterationsverfahren zur Lösung von Gleichungssystemen Gradientenverfahren
Numerk für Techniker 306 Neuer (erfolgversprechenderer) Ansatz: Bestimme in Schritt m den Vektor x m so, dass x m 2 x 0 + span {p 1,...,p m } mit f (x m )=min x 2x0 +span{p 1,...,p m } f(x ). Wählt man außerdem A-konjugierte Suchrichtungen, d.h. mit p T j Ap k =0 8j 6= k, p 0 = r 0 /kr 0 k 2 und span{p 1,...,p m 1, p m } = span{p 1,...,p m 1, r m 1 }, so gelangt man zum Verfahren der konjugierten Gradienten (cg-verfahren). Iterationsverfahren zur Lösung von Gleichungssystemen Gradientenverfahren
Numerk für Techniker 307 m = 0 r_0 = b - A*x_0 while norm(r_m) > tol*norm(b) m = m+1 if m=1, p_1 = r_0 else beta_m = (r_{m-1}^t*r_{m-1})/(r_{m-2}^t*r_{m-2}) p_m = r_{m-1} + beta_m*p_{m-1} end if alpha_m = (r_{m-1}^t*r_{m-1})/(p_m^t*a*p_m) x_m = x_{m-1} + alpha_m*p_m r_m = r_{m-1} - alpha_m*a*p_m end while Aufwand pro Schritt: 1 Matrix-Vektor-Mult., 2 Innenprodukte, 3 saxpys. Iterationsverfahren zur Lösung von Gleichungssystemen Gradientenverfahren
Numerk für Techniker 308 Fehlerabschätzung: Für die Iterierten des cg Verfahrens gilt die Fehlerabschätzung kx p m x m k A apple 1 kx apple 2 p. x 0 k A apple +1 Dabei ist apple = cond 2 (A) = max (A)/ min (A) die Konditionszahl von A bez. der Euklid-Norm. Die A-Norm (Energienorm) kx k A eines Vektors ist durch kx k A := x T Ax 1/2 definiert. In der Praxis wird das cg-verfahren häufig auf das vorkonditionierte Gleichungssystem L 1 AL T y = L 1 b mit y = L T x angewandt. Dabei ist L eine invertierbare untere Dreiecksmatrix mit (im Idealfall) cond 2 (L 1 AL T )=cond 2 ((LL T ) 1 A) cond 2 (A). Iterationsverfahren zur Lösung von Gleichungssystemen Gradientenverfahren
Numerk für Techniker 309 Abschließend illustrieren wir beide Gradientenverfahren am Testbeispiel Ax = b mit A = tridiag( 1, 2, 1) 2 R 20 20 : 10 0 10 2 steilster Abstieg 10 4 10 6 10 8 10 10 konjugierte Gradienten 10 12 0 5 10 15 20 25 30 35 40 45 50 (Bei exakter Rechnung liefert das cg-verfahren nach n =dim(a) Schritten immer die exakte Lösung.) Iterationsverfahren zur Lösung von Gleichungssystemen Gradientenverfahren
Numerk für Techniker 310 Ziele von Kapitel 7 Sie sollten wissen, unter welchen Voraussetzungen die Fixpunktiteration konvergiert (Banachscher Fixpunktsatz). Sie sollten sowohl die a-priori als auch die a-posteriori Fehlerabschätzung aus dem Fixpunktsatz anwenden können. Sie sollten die Iterationsvorschrift des Newton-Verfahrens kennen und diese (für den Fall einer Gleichung in einer Unbekannten) entweder durch geometrische Überlegungen oder mit Hilfe einer Taylor-Reihe herleiten können. Sie sollten den Unterschied zwischen lokaler und globaler Konvergenz eines Iterationsverfahrens kennen. Außerdem sollten Sie in der Lage sein, den Unterschied zwischen linearer und quadratischer Konvergenz zu erklären. Iterationsverfahren zur Lösung von Gleichungssystemen Ziele
Numerk für Techniker 311 Sie sollten das Intervallhalbierungs- und das Sekantenverfahren anwenden können und wissen, wie sich diese Methoden bezüglich ihrer Konvergenzgeschwindigkeit unterscheiden. Sie sollten das Newton-Verfahren zur Lösung n nichtlinearer Gleichungen in n Unbekannten anwenden können. Sie sollten wissen, was man unter einem Quasi-Newton-Verfahren versteht. Sie sollten erklären können, was ein nichtlineares Ausgleichsproblem ist. Sie sollten wissen, wie ein nichtlineares Ausgleichsproblem mit Hilfe des gedämpften Gauß-Newton-Verfahrens gelöst werden kann. Sie sollten das Konstruktionsprinzip des Jacobi- und des Gauß-Seidel-Verfahrens erklären können. Sie sollten das Verfahren der konjugierten Gradienten anwenden können und wissen, was man unter dem Begri Vorkonditionierung versteht. Iterationsverfahren zur Lösung von Gleichungssystemen Ziele