207 60 2MB
German Pages 446 [458] Year 2009
Numerik gewöhnlicher Differentialgleichungen Anfangs- und Randwertprobleme Von Prof. Dr. Martin Hermann
Oldenbourg Verlag München Wien
Prof. Dr. Martin Hermann lehrt an der Friedrich Schiller Universität Jena.
Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar.
© 2004 Oldenbourg Wissenschaftsverlag GmbH Rosenheimer Straße 145, D 81671 München Telefon: (089) 45051 0 www.oldenbourg verlag.de Das Werk einschließlich aller Abbildungen ist urheberrechtlich geschützt. Jede Ver wertung außerhalb der Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Über setzungen, Mikroverfilmungen und die Einspeicherung und Bearbeitung in elektroni schen Systemen. Lektorat: Margit Roth Herstellung: Rainer Hartl Umschlagkonzeption: Kraxenberger Kommunikationshaus, München Gedruckt auf säure und chlorfreiem Papier Druck: R. Oldenbourg Graphische Betriebe Druckerei GmbH ISBN 3 486 27606 9
Vorwort Systeme gew¨ ohnlicher Differentialgleichungen spielen eine fundamentale Rolle bei der Modellierung naturwissenschaftlicher, technischer und ¨okonomischer Prozesse genauso wie bei innermathematischen Fragestellungen. Beispielhaft seien hier die komplizierte Berechnung der Flugbahnen von Raumgleitern und Flugzeugen, Prognoseberechnungen zur Ausbreitung von AIDS sowie die Automatisierung des Einparkman¨overs von Straßenfahrzeugen auf der Basis mechatronischer Systeme genannt. In der Praxis ist die Dimension dieser Probleme oftmals sehr groß. Da geschlossene analytische L¨osungen von Systemen gew¨ ohnlicher Differentialgleichungen nur in wenigen Ausnahmef¨allen zur Verf¨ ugung stehen (man vergleiche hierzu zum Beispiel Eric Weisstein’s World of Mathematics 1 ), ist der Einsatz numerischer Techniken zu deren L¨osung unvermeidbar. Das vorliegende Lehrbuch verfolgt das Ziel, unter einem einheitlichen Gesichtspunkt sowohl die wichtigsten Klassen numerischer Integrationsverfahren f¨ ur Anfangswertprobleme als auch die Klasse der integrativen Verfahren (das sind Verfahren, die auf der Integration zugeordneter Anfangswertprobleme basieren) f¨ ur Zweipunkt-Randwertprobleme vorzustellen und mathematisch zu analysieren. Durch einen solchen einheitlichen Ansatz hebt sich der Text von vielen anderen B¨ uchern zur Numerik von Differentialgleichungen ab, die unter dieser Thematik ausschließlich die numerische Integration von Anfangswertproblemen verstehen. Es sei jedoch bemerkt, daß zur L¨ osung von Zweipunkt-Randwertproblemen neben den als Schießverfahren bezeichneten integrativen Techniken noch weitere numerische Verfahrensklassen zur Verf¨ ugung stehen. Insbesondere ist die Theorie der Differenzen- und der Kollokationsverfahren heute ebenfalls weit entwickelt. Wir verzichten aber hier auf die Darstellung solcher alternativen Verfahren, da sich bei diesen nur wenig Bez¨ uge zu den Integrationsverfahren f¨ ur Anfangswertprobleme herstellen lassen. Schwerpunktm¨ aßig werden im Buch diejenigen numerischen Techniken aus den oben genannten Verfahrensklassen betrachtet, die auf den heute u ¨ blichen Computern in Form von Software-Paketen implementiert vorliegen und in den Anwendungen tats¨achlich auch zum Einsatz kommen. Eine h¨ aufig genutzte Bibliothek numerischer Codes stellt zum Beispiel die Netlib2 dar. In diesem Text geht es insbesondere um • das Verst¨ andnis der mathematischen Prinzipien, die bei der Konstruktion der betrachteten N¨ aherungsverfahren zugrunde liegen, 1 URL:
2 URL:
http://mathworld.wolfram.com/OrdinaryDifferentialEquation.html http://www.netlib.org
Vorwort
VI
• das Kennenlernen der typischen Verfahrensklassen und ihrer Eigenschaften, insbesondere die Diskussion ihrer Vor-und Nachteile, • die Behandlung typischer Schwierigkeiten, wie Steifheit und das Auftreten von regul¨aren Singularit¨ aten, sowie • das Wissen u ugbare Software. ¨ ber die verf¨ Durch einen umfangreichen Anhang soll gew¨ahrleistet werden, daß der Text schon mit geringen Vorkenntnissen der Linearen Algebra und der Mathematischen Analysis verstanden werden kann. Er baut auf das Grundwissen der Numerischen Mathematik auf, wie es unter anderem in dem vom Autor im gleichen Verlag erschienenen Lehrbuch Numerische Mathematik 3 zu finden ist. Das hier vorliegende Buch ist aus Manuskripten zu Vorlesungen und Seminaren, die der Verfasser seit etwa 15 Jahren zu dieser Thematik an der Friedrich-SchillerUniversit¨at Jena und der Universit¨ at Dortmund abgehalten hat, hervorgegangen. Es richtet sich vorrangig an Studierende der Mathematik, Informatik, Physik und Technikwissenschaften. Die Themen wurden so ausgew¨ahlt, daß anhand dieses Buches der f¨ ur die deutschen Universit¨ aten typische Kurs Numerische Mathematik II“ studiert ” werden kann. Dieser findet je nach Universit¨atsprofil und Studiengang im 4. bis 6. Semester statt. Aber auch als begleitender Text f¨ ur die Mathematik-Ausbildung an Fachhochschulen ist das Buch geeignet. Schließlich sollte es als Nachschlagewerk f¨ ur Mathematiker, Naturwissenschaftler und Ingenieure in der Praxis n¨ utzlich sein. ¨ Ubersicht Das Buch besteht im wesentlichen aus zwei Teilen. Der erste Teil umfaßt die Kapitel 1 bis 5 und besch¨ aftigt sich mit der numerischen L¨osung von Anfangswertproblemen gew¨ohnlicher Differentialgleichungen. Im ersten Kapitel werden die Grundbegriffe f¨ ur das Arbeiten mit Differential- und Differenzengleichungen bereitgestellt. Das Kapitel 2 besch¨aftigt sich mit der numerischen Analyse von Einschrittverfahren. Im Mittelpunkt stehen hier die Verfahrensklassen der Runge-Kutta-Verfahren und der Extrapolationsverfahren. Neben der Untersuchung wichtiger numerischen Kenngr¨oßen, wie lokaler Diskretisierungsfehler, Konsistenz und Stabilit¨at, werden Sch¨atzungen f¨ ur den Fehler und basierend darauf Strategien zur automatischen Steuerung der Schrittweite hergeleitet. Ein Abschnitt u ur Differentialgleichungen 2. Ordnung ¨ ber numerische Verfahren f¨ schließt dieses Kapitel ab. Im Kapitel 3 wird die Klasse der Linearen Mehrschrittverfahren beschrieben und untersucht. Zu den im vorangegangenen Kapitel bereits betrachteten numerischen Kenngr¨ oßen kommt jetzt noch der Begriff der Wurzelstabilit¨at hinzu. Das wichtige Resultat Konvergenz = Wurzelstabilit¨at + Konsistenz“ wird be” wiesen. Ausf¨ uhrungen zu den in der Praxis h¨aufig verwendeten Pr¨adiktor-KorrektorTechniken runden das Kapitel ab. Das Kapitel 4 besch¨aftigt sich mit verschiedenen Stabilit¨atsbegriffen bei nichtverschwindenden Schrittweiten, wobei die A-Stabilit¨at und der Begriff der Steifheit ausf¨ uhrlich diskutiert werden. Zur Diskussion kommen dann zwei weitere Verfahrensklassen, und zwar die BDF- und die Rosenbrock-Verfahren. Im Mittelpunkt von Kapitel 5 stehen neuere Verfahrensentwicklungen aus der Schule um J. 3 M.
Hermann: Numerische Mathematik. Oldenbourg Verlag, M¨ unchen und Wien, 2001
Vorwort
VII
C. Butcher (The University of Auckland, New Zealand). Es handelt sich dabei um die sogenannten Allgemeinen Linearen Verfahren und um die Fast Runge-Kutta-Verfahren. Der zweite Teil des Buches umfaßt die Kapitel 6 bis 10 und besch¨aftigt sich mit der numerischen L¨ osung von Zweipunkt-Randwertproblemen gew¨ohnlicher Differentialgleichungen. Im Kapitel 6 werden die theoretischen Grundlagen bereitgestellt. Insbesondere geht es um die Darstellung der exakten L¨osung eines linearen Randwertproblems mittels der Greenschen Funktion. Weitere Begriffe sind hier Stabilit¨at, Dichotomie und Kondition. Das Kapitel 7 besch¨ aftigt sich mit den Einfach-Schießtechniken. F¨ ur lineare Probleme werden neben dem Einfach-Schießverfahren auch die Methode der komplement¨ aren Funktionen und die Methode der Adjungierten vorgestellt, die bei Vorliegen partiell separierter Randbedingungen sachgem¨aß sind. Zur Verbesserung der Stabilit¨at erweist sich ein zweiseitiges Schießverfahren als vorteilhaft. F¨ ur nichtlineare Randwertprobleme werden das entsprechende Einfach-Schießverfahren sowie eine nichtlineare Variante der Methode der komplement¨aren Funktionen diskutiert. Die numerische Analyse von Mehrfach-Schießtechniken steht im Mittelpunkt von Kapitel 8. F¨ ur lineare Zweipunkt-Randwertprobleme wird das Mehrfach-Schießverfahren einmal u ¨ ber ein Mehrpunkt-Randwertproblem und zum anderen auf direktem Wege hergeleitet. Basierend auf den Stabilit¨ atsuntersuchungen dieses Verfahrens werden sachgem¨aße numerische L¨osungstechniken f¨ ur die anfallenden linearen algebraischen Systeme vorgeschlagen. Im Falle partiell separierter Randbedingungen erweist sich im Hinblick auf den numerischen Aufwand (Anzahl der erforderlichen Integrationen) das Stabilized March Verfahren dem Mehrfach-Schießverfahren als u ur nichtlineare ¨ berlegen. F¨ Randwertprobleme wird das entsprechende Mehrfach-Schießverfahren entwickelt und ausf¨ uhrlich diskutiert. Die Beschreibung sogenannter Deflations-Schießtechniken zur Bestimmung weiterer L¨ osungen eines nichtlinearen Zweipunkt-Randwertproblems schließt sich daran an. Am Ende dieses Kapitels werden verschiedene nichtlineare Varianten des Stabilized March Verfahrens, die f¨ ur partiell separierte nichtlineare Randbedingungen sehr effektiv sind, vorgestellt. Das Kapitel 9 besch¨aftigt sich mit einigen Erweiterungen der Randwertproblem-Thematik und zwar mit der numerischen L¨osung von Eigenwertproblemen und von Randwertproblemen mit einer sogenannten regul¨aren Singularit¨at. Derartige Aufgabenstellungen sind in den Anwendungen h¨aufig anzutreffen. Im letzten Kapitel wird eine zu den Schießverfahren alternative numerische Technik hergeleitet. Es handelt sich dabei um eine Variante der Differenzenverfahren, und zwar um die sogenannten Exakten Differenzenschemata. Diese zeichnen sich dadurch aus, daß bei ihrer Realisierung wieder die Integrationsverfahren f¨ ur Anfangswertprobleme eingesetzt werden k¨onnen. Anhand des oft als Testaufgabe verwendeten Randwertproblems von B. A. Troesch wird die Leistungsf¨ ahigkeit dieser Verfahrensklasse demonstriert. Der sich daran anschließende Anhang besteht aus 4 Teilen. Im Teil A werden grundlegende Begriffe aus der Linearen Algebra bereitgestellt. Die analytischen Grundlagen f¨ ur die Theorie der Anfangswertprobleme gew¨ohnlicher Differentialgleichungen sind der Gegenstand von Teil B. Da die Integrationsverfahren f¨ ur Anfangswertprobleme auf numerischen Interpolations- und Integrationstechniken basieren, sind diese im Abschnitt C kurz dargestellt. Der Teil D ist der umfangreichste und besch¨aftigt sich mit speziellen numerischen Verfahren zur L¨ osung nichtlinearer algebraischer Gleichungssysteme. Insbesondere wird hier ein sogenanntes Verallgemeinertes Brent-Verfahren entwickelt, das
VIII
Vorwort
bei der nichtlinearen Variante des Stabilized March Verfahrens zum Einsatz kommt. Es ist mir ein Bed¨ urfnis, Herrn stud. math. Thomas Milde f¨ ur das Anfertigen von Mitschriften zu meinen Vorlesungen und das Korrigieren des Manuskriptes zu danken. Meinem Mitarbeiter, Herrn Dr. Dieter Kaiser m¨ochte ich f¨ ur die Hilfe bei der Erstellung der Abbildungen und des Titelbildes sowie f¨ ur zahlreiche Diskussionen und Verbesserungsvorschl¨ age ebenfalls meinen Dank aussprechen. Frau Margit Roth vom Oldenbourg Wissenschaftsverlag danke ich f¨ ur die freundliche Zusammenarbeit. Besonderer Dank gilt meiner Frau Gudrun, die durch ihr Verst¨andnis wesentlich zum Gelingen dieses Projektes beigetragen hat.
Jena
Martin Hermann
Inhaltsverzeichnis Vorwort
V
1 Anfangswertprobleme 1.1 Differentialgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Differenzengleichungen . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Diskretisierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Differenzengleichung als Diskretisierung einer Differentialgleichung
. . . .
. . . .
. . . .
1 1 8 12 15
2 Numerische Analyse von Einschrittverfahren 2.1 Runge-Kutta-Verfahren . . . . . . . . . . . . . . . . . . . . . 2.2 Lokaler Diskretisierungsfehler und Konsistenz . . . . . . . . . 2.3 Entwicklung von Runge-Kutta-Verfahren . . . . . . . . . . . . 2.3.1 Erzeugung der Ordnungsbedingungen . . . . . . . . . 2.3.2 Kollokations- und implizite Runge-Kutta-Verfahren . . 2.4 Monoton indizierte Wurzel-B¨ aume: eine Einf¨ uhrung . . . . . 2.5 Konvergenz von Einschrittverfahren . . . . . . . . . . . . . . 2.6 Asymptotische Entwicklung des globalen Fehlers . . . . . . . 2.7 Sch¨atzung des lokalen Fehlers . . . . . . . . . . . . . . . . . . 2.8 Schrittweitensteuerung . . . . . . . . . . . . . . . . . . . . . . 2.9 Extrapolationsverfahren . . . . . . . . . . . . . . . . . . . . . 2.10 Numerische Verfahren f¨ ur Differentialgleichungen 2. Ordnung
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
19 19 26 32 32 38 47 56 60 63 65 71 83
3 Numerische Analyse von linearen Mehrschrittverfahren 3.1 Lineare Mehrschrittverfahren . . . . . . . . . . . . . . . . . . . . . . 3.2 Lokaler Fehler und Konsistenz . . . . . . . . . . . . . . . . . . . . . . 3.3 Wurzelstabilit¨ at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Inh¨ arente Instabilit¨ at (Kondition) . . . . . . . . . . . . . . . 3.3.2 Wurzelstabilit¨ at (Nullstabilit¨at, D-Stabilit¨at) . . . . . . . . . 3.4 Konvergenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Starten, asymptotische Entwicklung des globalen Fehlers . . . . . . . 3.6 Implizite lineare Mehrschrittverfahren: Pr¨adiktor-Korrektor-Technik 3.7 Algorithmen mit variablem Schritt und variabler Ordnung . . . . . .
. . . . . . . . .
. . . . . . . . .
87 87 91 98 98 100 108 118 122 129
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
Inhaltsverzeichnis
X 4 Absolute Stabilit¨ at und Steifheit 4.1 Absolute Stabilit¨ at . . . . . . . . 4.2 Steife Differentialgleichungen . . 4.3 Weitere Stabilit¨ atsbegriffe . . . . 4.4 BDF-Verfahren . . . . . . . . . . 4.5 Rosenbrock-Verfahren . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
137 137 154 162 164 171
5 Allgemeine Lineare Verfahren und Fast Runge-Kutta Verfahren 177 5.1 Allgemeine Lineare Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 177 5.2 Fast Runge-Kutta Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . 185 6 Zweipunkt-Randwertprobleme 195 6.1 Definitionen und Notationen . . . . . . . . . . . . . . . . . . . . . . . . . 195 6.2 Existenz von L¨ osungen, Greensche Funktion . . . . . . . . . . . . . . . . 198 6.3 Stabilit¨ at, Dichotomie und Kondition . . . . . . . . . . . . . . . . . . . . 220 7 Numerische Analyse von Einfach-Schießtechniken 7.1 Einfach-Schießverfahren – lineare Probleme . . . . . . . . . . . . . 7.2 Methode der komplement¨ aren Funktionen . . . . . . . . . . . . . . 7.3 Methode der Adjungierten . . . . . . . . . . . . . . . . . . . . . . . 7.4 Analyse der Einfach-Schießtechniken . . . . . . . . . . . . . . . . . 7.5 Zweiseitiges Schießverfahren f¨ ur lineare Randwertprobleme . . . . . 7.5.1 St¨ orungen der Singul¨ arwert-Zerlegung einer Matrix . . . . . 7.5.2 Das zweiseitige Schießverfahren . . . . . . . . . . . . . . . . 7.6 Einfach-Schießverfahren – nichtlineare Probleme . . . . . . . . . . 7.7 Methode der komplement¨ aren Funktionen – nichtlineare Probleme
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
233 233 238 242 246 249 251 253 260 266
8 Numerische Analyse von Mehrfach-Schießtechniken 8.1 Lineare Mehrpunkt-Randwertprobleme . . . . . . . . . . . . . 8.1.1 Zur¨ uckf¨ uhrung auf ein Zweipunkt-Randwertproblem . 8.1.2 Direkte Behandlung mittels Schießverfahren . . . . . . 8.1.3 Ein Mehrpunkt-Randwertproblem der Elastomechanik 8.2 Mehrfach-Schießverfahren – lineare Probleme . . . . . . . . . 8.2.1 Herleitung aus einem Mehrpunkt-Randwertproblem . 8.2.2 Direkte Herleitung des Mehrfach-Schießverfahrens . . 8.3 Stabilit¨ at des Mehrfach-Schießverfahrens . . . . . . . . . . . . 8.4 Kompaktifikation oder LU-Faktorisierung . . . . . . . . . . . 8.5 Stabilisierende Transformation . . . . . . . . . . . . . . . . . 8.6 Stabilized March Verfahren . . . . . . . . . . . . . . . . . . . 8.7 Mehrfach-Schießverfahren – nichtlineare Probleme . . . . . . 8.8 Deflations-Schießverfahren . . . . . . . . . . . . . . . . . . . . 8.9 Nichtlineares Stabilized March Verfahren: Variante 1 . . . . . 8.10 Nichtlineares Stabilized March Verfahren: Variante 2 . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
271 271 271 272 273 275 275 277 281 284 288 292 299 309 318 326
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
Inhaltsverzeichnis 9 Eigenwertprobleme und singul¨ are Randwertprobleme 9.1 Lineare Zweipunkt-Eigenwertprobleme . . . . . . . . . . ¨ 9.2 Uberf¨ uhrung in ein nichtlineares Randwertproblem . . . 9.3 Ein Restgr¨ oßen-Verfahren . . . . . . . . . . . . . . . . . 9.4 Lineare Mehrpunkt-Eigenwertprobleme . . . . . . . . . . 9.5 Singul¨ are Anfangswertprobleme . . . . . . . . . . . . . . 9.6 Singul¨ are Randwertprobleme . . . . . . . . . . . . . . .
XI
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
339 340 340 341 345 346 353
10 Exakte Differenzenschemata 359 10.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 10.2 Existenz eines exakten Differenzenschemas . . . . . . . . . . . . . . . . . 360 10.3 Implementierung des exakten Differenzenschemas . . . . . . . . . . . . . 366 A Grundlegende Begriffe und Resultate aus der Linearen Algebra
381
B Einige S¨ atze aus der Theorie der Anfangswertprobleme
391
C Interpolation und numerische Integration
397
D Numerische L¨ osung nichtlinearer algebraischer Gleichungssysteme D.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2 Newton-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.3 Brown-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.4 Brent-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.5 Verallgemeinertes Brent-Verfahren . . . . . . . . . . . . . . . . . . . .
. . . . .
401 401 402 405 409 416
Literaturverzeichnis
427
Tabellenverzeichnis
438
Abbildungsverzeichnis
440
Index
441
Kapitel 1
Anfangswertprobleme 1.1
Differentialgleichungen
Im Mittelpunkt dieses Textes stehen Systeme von n gew¨ohnlichen Differentialgleichungen erster Ordnung f¨ ur n unbekannte Funktionen x1 (t), x2 (t), . . . , xn (t), die man ausf¨ uhrlich in der Form x˙ 1 (t)
=
f1 (t, x1 (t), ..., xn (t))
x˙ 2 (t)
=
f2 (t, x1 (t), ..., xn (t))
.. .
=
.. .
x˙ n (t) =
(1.1)
fn (t, x1 (t), ..., xn (t))
notiert. Dabei bezeichnet x˙ i (t) die Ableitung der Funktion xi (t) nach t, i = 1, . . . , n. Wird x ≡ x(t) = (x1 (t), ..., xn (t))T und f (t, x) ≡ (f1 (t, x), ..., fn (t, x))T gesetzt, so kann man ein solches System auch in Vektordarstellung wie folgt aufschreiben x(t) ˙ ≡
d x(t) = f (t, x(t)). dt
(1.2)
Wir gehen dabei stets davon aus, daß t ∈ J ⊂ R und x(t) ∈ Ω ⊂ Rn gilt. Bemerkung 1.1 a) Wenn wir die kompakte Schreibweise (1.2) verwenden, dann sprechen wir im folgenden von der Differentialgleichung“, obwohl es sich korrekt um ein System von ” Differentialgleichungen der Form (1.1) handelt. b) Anstelle des Wortes Differentialgleichung“ verwenden wir sehr h¨aufig auch die ” Abk¨ urzung DGL“. ”
Kapitel 1 Anfangswertprobleme
2
Die Abbildung f : J × Ω → Rn heißt Vektorfeld und x(t) wird L¨osung der DGL genannt. Wie man unmittelbar erkennt, tritt in (1.1) bzw. (1.2) nur die 1. Ableitung von x(t) nach t auf. Daher spricht man von einem System erster Ordnung. Treten in mathematischen Modellen skalare DGLn h¨oherer Ordnung u(n) = G(t, u, u, ˙ u ¨, ..., u(n−1) )
(1.3)
˙ u ¨, ..., u(n−1) )T , so daß das System auf, dann setze man x = (x1 , x2 , . . . , xn )T ≡ (u, u, (1.1) in diesem Fall die folgende Gestalt annimmt x˙ 1
=
x2
x˙ 2
=
x3
.. .
=
.. .
x˙ n−1
=
xn
x˙ n
=
G(t, x1 , x2 , ..., xn ).
(1.4)
In den Kapiteln 1 bis 5 werden wir numerische Verfahren zur Bestimmung von L¨osungen der DGL (1.2) untersuchen, die einer Anfangsbedingung x(t0 ) = x0 , t0 ∈ J, x0 ∈ Ω, gen¨ ugen, also ein Anfangswertproblem (AWP) der folgenden Form erf¨ ullen x(t) ˙ = f (t, x(t)), x(t0 ) = x0 .
t ∈ J,
(1.5)
Bemerkung 1.2 Wenn es inhaltlich eindeutig ist, lassen wir das Argument t der Funktion x(t) oftmals weg. Im allgemeinen unterscheidet man zwischen Anfangswertproblemen, bei denen die L¨osung nur am linken Rand t = t0 eines (i.allg. nach oben offenen) Intervalls [t0 , ∞) vorgegeben ist, Zweipunkt-Randwertproblemen, f¨ ur die an den zwei R¨andern t = a und t = b (a < b) eines Intervalls [a, b] Bedingungen an die L¨osung vorgegeben sind und Mehrpunkt-Randwertproblemen, bei welchen an mehr als zwei Stellen aus dem Intervall [a, b] Werte der L¨ osung vorgeschrieben sind. Anfangswertprobleme sind nach dieser Klassifikation auch Einpunkt-Randwertprobleme“. ” In der Regel ist die Variable t als physikalische Zeit interpretierbar. Anfangswertprobleme stellen dann reine Evolutionsprobleme dar, d.h., an sp¨ateren Zeitpunkten t > t0 h¨angt die L¨osung x(t) nur vom Zustand des Systems zum Anfangspunkt t0 ab. Hiervon unterscheiden sich die Randwertprobleme signifikant. Die zugeh¨origen L¨osungen in einem Zeitpunkt t, mit a < t < b, h¨ angen sowohl von der Vergangenheit t = a, als auch von der Zukunft t = b ab.
1.1 Differentialgleichungen
3
Voraussetzung 1.1 Im folgenden setzen wir stets voraus, daß die Funktion f (t, x) auf dem Streifen S ≡ {(t, x) : t0 ≤ t ≤ t0 + a, x ∈ Rn } stetig ist und dort ei¨ ner Lipschitz-Bedingung (B.1) gen¨ ugt. Ublicherweise wird diese Funktionenklasse mit Lip(S) bezeichnet, d.h., wir fordern in diesem Text durchgehend f ∈ Lip(S) ≡ {g : g ∈ C(S) und g gleichm¨aßig Lipschitz-stetig in S}.
(1.6)
Das AWP (1.5) besitzt unter dieser Voraussetzung nach dem Satz von Picard-Lindel¨of (siehe Satz B.2) auf dem abgeschlossenen Intervall [t0 , t0 + a] eine eindeutig bestimmte L¨osung x(t). Man k¨ onnte die Lipschitz-Stetigkeit auch nur in einer Umgebung der exakten L¨osung fordern (wie dies in Satz B.2 getan wurde), was aber die Darstellung unn¨otig kompliziert gestalten w¨ urde. Das AWP (1.5) l¨ aßt sich ¨ aquivalent in der Integralform x(t) = x0 +
t
f (τ, x(τ ))dτ
(1.7)
t0
darstellen, auf die wir h¨ aufig zur¨ uckgreifen werden. Die Menge {(t, x(t)), t ∈ J} definiert die zugeh¨origen Integralkurven der Differentialgleichung (1.2) im sogenannten Phasen-Zeit-Raum J × Ω. Zu verschiedenen Anfangswerten bei t = t0 erh¨ alt man verschiedene Integralkurven, siehe die Abbildung 1.1. H¨angt f nicht explizit von t ab, d.h. f (t, x(t)) = f (x(t)), dann nennt man die DGL autonom, h¨angt f linear von x ab, dann nennt man sie linear. Lineare DGLn k¨onnen in der Form x(t) ˙ = A(t) x(t) + b(t)
(1.8)
dargestellt werden, mit A(t) ∈ Rn×n und b(t) ∈ Rn . Gilt b(t) ≡ 0, dann ist die lineare DGL homogen und (1.8) geht u ¨ ber in x(t) ˙ = A(t) x(t).
(1.9)
Bekanntlich besitzt eine lineare homogene DGL mit einer regul¨aren Matrix A(t) eine n-dimensionale Basis von L¨ osungen, die man auch als Fundamentalsystem bezeichnet. Hieraus leitet sich der folgende Begriff ab. Definition 1.1 Unter einer Fundamentalmatrix Y (t) ∈ Rn×n versteht man eine nichtsingul¨are, mindestens einmal stetig differenzierbare Matrixfunktion, welche die MatrixDGL Y˙ (t) = A(t)Y (t) erf¨ ullt.
(1.10)
Kapitel 1 Anfangswertprobleme
4
(Ω = R) x
t0
t
Abbildung 1.1: Integralkurven zu verschiedenen Anfangswerten
Man beachte, daß es sich bei dem Problem (1.10) um die kompakte Schreibweise von n Systemen der Gestalt (1.1) handelt. Ist n¨ amlich Y (t) ≡ y (1) (t), y (2) (t), ..., y (n) (t) eine Darstellung der Matrix Y (t) mittels ihrer Spaltenvektoren (dem Fundamentalsystem), dann erf¨ ullt y (i) (t) das AWP y˙ (i) (t) = A(t)y (i) (t), i = 1, 2, ..., n. Gilt an einer festen Stelle t = t0 die Beziehung det(Y (t0 )) = 0, dann trifft dies auch f¨ ur alle t > t0 zu. Man erg¨ anzt deshalb u ¨ blicherweise (1.10) durch eine MatrixAnfangsbedingung Y (t0 ) = Y0 ∈ Rn×n , det(Y0 ) = 0.
(1.11)
Der Einfachheit halber wird die Anfangsmatrix Y0 oftmals in der Form Y0 = I gew¨ahlt, wobei I ≡ [e(1) , e(2) , . . . , e(n) ] die n-dimensionale Einheitsmatrix und e(i) den i-ten Einheitsvektor im Rn bezeichnen. Die allgemeine L¨ osung der homogenen DGL (1.9) bestimmt sich unter Verwendung der Fundamentalmatrix Y (t), mit Y (t0 ) = I, zu x(t)hom = Y (t)c, c ∈ Rn .
(1.12)
Um eine spezielle (partikul¨ are) L¨ osung p(t) der inhomogenen DGL (1.8) zu ermitteln, kann die Methode von Lagrange herangezogen werden. Sie wird auch Methode der Variation der Konstanten genannt. Hierbei verwendet man einen auf der Formel (1.12) basierenden Ansatz f¨ ur das partikul¨ are Integral, wobei aber jetzt c als eine Funktion
1.1 Differentialgleichungen
5
von t vorausgesetzt wird, d.h. p(t) ≡ Y (t)c(t).
(1.13)
Der Funktionenvektor p(t) muß nat¨ urlich zuerst einmal das lineare inhomogene AWP (1.8) verm¨oge p(t) ˙ = A(t)p(t) + b(t) erf¨ ullen. Differenziert man (1.13) entsprechend der Produktregel nach t, so resultiert p(t) ˙ = Y˙ (t)c(t) + Y (t)c(t). ˙ Mit Y˙ (t) = A(t)Y (t) (siehe Formel (1.10)) ergibt sich dann p(t) ˙ = A(t)Y (t)c(t) + Y (t)c(t) ˙ = A(t)p(t) + b(t) = A(t)Y (t)c(t) + b(t), woraus
˙ = b(t), bzw. c(t) ˙ = Y (t)−1 b(t) Y (t)c(t)
folgt. Durch Integration erh¨ alt man schließlich f¨ ur den zu bestimmenden Funktionenvektor c(t) t c(t) =
Y (τ )−1 b(τ )dτ + k,
k ∈ Rn Vektor der Integrationskonstanten.
t0
Setzt man dies in (1.13) ein, so resultiert t p(t) =
Y (t)Y (τ )−1 b(τ )dτ + Y (t)k.
(1.14)
t0
Verwendet man zur Festlegung des Vektors k die spezielle Anfangsbedingung p(t 0 ) = 0, dann folgt wegen Y (t0 ) = I unmittelbar k = 0. Man erh¨alt also das partikul¨are Integral t p(t) =
Y (t)Y (τ )−1 b(τ )dτ.
(1.15)
t0
Die allgemeine L¨ osung der linearen inhomogenen DGL (1.8) ergibt sich schließlich mit dem Superpositionsprinzip, das sich allgemein wie folgt formulieren l¨aßt: allgemeine L¨ osung des inhomogenen Problems = allgemeine L¨ osung des homogenen Problems + partikul¨ ares Integral
Somit erh¨alt man die allgemeine L¨ osung x(t) von (1.8) zu t x(t) = Y (t)c + t0
Y (t)Y (τ )−1 b(τ )dτ.
Kapitel 1 Anfangswertprobleme
6
Soll x(t) auch der Anfangsbedingung x(t0 ) = x0 gen¨ ugen, dann ist c = x0 , d.h., die L¨osung des AWPs f¨ ur die DGL (1.8) l¨ aßt sich in der Gestalt
x(t) = Y (t)x0 +
t
Y (t)Y (τ )−1 b(τ )dτ
(1.16)
t0
aufschreiben. Die Darstellung (1.16) ist f¨ ur theoretische Aussagen n¨ utzlich. Wir werden in diesem Text jedoch andere Techniken kennenlernen, mit denen die L¨osung eines AWPs f¨ ur die DGL (1.8) auf einem Computer wesentlich effektiver bestimmt werden kann. Lenken wir nun unser Augenmerk auf nichtlineare Probleme der Form (1.5) zur¨ uck. Da im nichtlinearen Fall das Superpositionsprinzip nicht gilt, kann man keine L¨osungsdarstellung der Form (1.16) erwarten. Unter Zuhilfenahme des lokalen Linearisierungsprinzips l¨aßt sich jedoch eine interessante Aussage ableiten. Hierbei spielt die JacobiMatrix eine wichtige Rolle, die wie folgt erkl¨art ist. Definition 1.2 Es sei x∗ (t) eine bekannte L¨osung von (1.2). Die Jacobi-Matrix von f in (t, x∗ (t)) ist definiert zu ⎛
∂f1 (t, x) ∂x1 ∂f2 (t, x) ∂x1 .. .
∂f1 (t, x) ∂x2 ∂f2 (t, x) ∂x2 .. .
⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ∗ J(t, x ) ≡ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ∂fn (t, x) ∂x1
∂fn (t, x) ∂x2
... ... ..
.
...
∂f1 (t, x) ∂xn ∂f2 (t, x) ∂xn .. .
⎞
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ∂fn (t, x) ⎠ ∂xn |x = x∗ .
(1.17)
Oftmals wird die explizite Abh¨ angigkeit der Jacobi-Matrix von t nicht angegeben, d.h., man schreibt J(x∗ ) bzw. J. Als n¨achstes ben¨ otigen wir die Linearisierung der DGL (1.2) in der N¨ahe einer als bekannt vorausgesetzten L¨ osung x∗ (t). Um diese Linearisierung herzuleiten, benutzen wir eine Operatordarstellung von (1.2). Es sei D der Differentialoperator D(·) ≡
d (·). dt
(1.18)
D ist offensichtlich linear, d.h., es gilt D(αx(t) + βy(t)) = αD(x(t)) + βD(y(t)), mit α, β ∈ R. Nun schreiben wir (1.2) in der Form x˙ − f (t, x) = 0 und definieren T (x) durch T (x) ≡ D(x) − f (t, x) = 0.
(1.19)
1.1 Differentialgleichungen
7
Die Taylorentwicklung von T an der Stelle x∗ ergibt T (x) = T (x∗ ) +T (x∗ ) (x − x∗ ) + O( x − x∗ 2 ),
(1.20)
=0
wobei T die Fr`echet-Ableitung von T nach x und O(·) das bekannte Landau-Symbol bezeichnen. Da D linear ist, gilt T (x∗ ) = D(·) − J(t, x∗ ). Mit ξ(t) ≡ x(t) − x∗ (t) und unter der Voraussetzung, daß x nahe bei x∗ liegt, d.h., der dritte Summand in (1.20) vernachl¨assigt werden kann, erh¨ alt man aus (1.20) die sogenannte Variationsgleichung. Definition 1.3 Unter der Variationsgleichung von (1.5) versteht man das AWP ˙ = J(t, x∗ )ξ(t), ξ(t) ξ(t0 ) = 0.
t ∈ J,
(1.21)
Wir wollen nun die folgende Fragestellung untersuchen: Wie ver¨andert sich die L¨osung des AWPs (1.5), wenn die Funktion f einer kleinen St¨orung unterworfen wird? Diese Fragestellung ist von Bedeutung, wenn man bei der Analyse des AWPs (1.5) diejenigen Rundungsfehler ber¨ ucksichtigen m¨ ochte, die bei der Auswertung der Funktion f auf einem Computer entstehen. Wir betrachten hierzu das gest¨orte AWP y˙ = f (t, y) + ε(t), y(t0 ) = x0 + ε0 ,
t ∈ J,
(1.22)
wobei ε(t) eine hinreichend kleine Fehlerfunktion und ε0 eine kleine St¨orung des Anfangsvektors bezeichnen. Falls das urspr¨ ungliche AWP gut konditioniert ist, wird sich die exakte L¨osung y(t) des gest¨ orten AWPs auch nur wenig von der exakten L¨osung des ungest¨orten AWPs unterscheiden. Eine Absch¨atzung f¨ ur den absoluten Fehler bekommt man, indem das AWP (1.5) von dem AWP (1.22) subtrahiert wird y˙ − x˙ = f (t, y) + ε(t) − f (t, x),
y(t0 ) − x(t0 ) = ε0 .
(1.23)
Entwickelt man f (t, y) an der Stelle (t, x) in eine Taylorreihe, so ergibt sich f (t, y) = f (t, x) + J(t, x)(y − x) + O(||y − x||2 ). Setzt man dies in (1.23) ein, dann resultiert y˙ − x˙ = J(t, x)(y − x) + ε(t) + O(||y − x||2 ),
y(t0 ) − x(t0 ) = ε0 .
Aus z(t) ≡ y(t) − x(t) folgt z(t) ˙ = y(t) ˙ − x(t). ˙ Man erh¨alt deshalb als Approximation f¨ ur den absoluten Fehler z(t) in erster N¨ aherung (d.h. Taylorentwicklung einschließlich der Terme erster Ordnung) einen Funktionenvektor ξ(t), der durch das folgende AWP bestimmt ist ˙ = J(t, x)ξ(t) + ε(t), ξ(t) ξ(t0 ) = ε0 .
t ∈ J,
(1.24)
Kapitel 1 Anfangswertprobleme
8
1.2
Differenzengleichungen
In den Anwendungen lassen sich oftmals mathematische Sachverhalte durch Beziehungen zwischen den Werten der L¨ osung eines Problems an diskreten Stellen, die in einem vorgegebenen Intervall J liegen, darstellen. Solche Relationen nennt man Differenzengleichungen. Analog zur Abk¨ urzung DGL f¨ ur eine Differentialgleichung verwenden wir f¨ ur eine Differenzengleichung das Symbol GL. Im Unterschied zum bisher betrachteten stetigen Fall wird nun anstelle der Variablen t ein diskreter Parameter i ∈ N0 verwendet. Es seien Ω ⊂ Rn und J ⊂ N0 . Wir betrachten die Folge von Vektorfeldern {fi (x)}i∈J , fi : Ω → Rn . Definition 1.4 Unter einer GL 1. Ordnung versteht man die Vorschrift xi+1 = fi (xi ),
(1.25)
mit xi ∈ Ω, i ∈ J.
ullt, heißt L¨osung der GL. Wie im stetigen Eine Vektorfolge {xi }i∈J , die (1.25) erf¨ Fall kann man zur Vorschrift (1.25) noch einen Anfangsvektor x0 = v ∈ Rn vorgeben. Es resultiert daraus das AWP xi+1 = fi (xi ),
i ∈ J,
x0 = v.
(1.26)
Wegen des rekursiven Charakters spricht man bei der Beziehung (1.25) auch von einer Einschritt-Rekursion. Unter einer station¨aren L¨osung von (1.25) versteht man eine konstante L¨osung x ˆ, f¨ ur die gilt x ˆ = fi (ˆ x), i ∈ J. (1.27) Eine GL heißt autonom, falls die Funktionen fi von i unabh¨angig sind, d.h., die Beziehung fi = f f¨ ur alle i ∈ J besteht. Ist fi (x) = Ai x + bi ,
Ai ∈ Rn×n , bi ∈ Rn ,
(1.28)
dann wird (1.25) zu einer linearen GL xi+1 = Ai xi + bi . (1.29) heißt homogen, falls bi = 0 f¨ ur alle i ∈ J gilt. Die L¨osung eines linearen AWPs xi+1 = Ai xi + bi , x0 = v,
i ∈ J,
(1.29)
1.2 Differenzengleichungen
9
ist formal durch x1 = A0 v + b0 x2 = A1 A0 v + A1 b0 + b1 .. . xi = Ai−1 Ai−2 · · · A0 v + bi−1 + Ai−1 bi−2 + · · · + Ai−1 · · · A1 b0 gegeben. Verm¨ oge folgender n¨ utzlicher Notationen ⎧ ⎧ q q ⎨Ap + · · · + Aq , q ≥ p ⎨Aq · · · Ap , q ≥ p Aj ≡ Aj ≡ , ⎩0, ⎩I, q
0 existiert, so daß f¨ ur die Komponenten gp (t, x) ∈ Ck,m−k ([0, 1] × Ω[0, 1], s(t) + Δ) gilt, mit k = 0, 1, ..., m − 1 and p = 1, 2, ..., n. Dann sind die folgenden Absch¨atzungen erf¨ ullt 3 3 3 (m) 3 , (10.19) 3U (tj ; tj−1 ) − U (tj ; tj−1 )3 ≤ Chm+1 j 3 3 3 (m) 3 (10.20) 3ϕ (tj , xj−1 ) − ϕ(tj , xj−1 )3 ≤ Chm j , 3 3 3 (m) 3 (10.21) 3ϕ (tj , yj−1 )3 ≤ K + Chj , 3 3 3 (m) 3 (10.22) 3ϕ (tj , xj−1 ) − ϕ(m) (tj , yj−1 )3 ≤ (L + Chj ) xj−1 − yj−1 , # $ N < wobei {xj }N angige Konstante j=0 , {yj }j=0 ∈ Ω ω h , s(t) + Δ und C eine von hj unabh¨ ist.
Kapitel 10 Exakte Differenzenschemata
368
Beweis: Im weiteren werden wir mit C verschiedene Konstanten bezeichnen, die unabh¨angig von h ≡ max hj sind. 1≤j≤N
Man beachte, daß sich die Ungleichungen (10.19) und (10.20) aus den Taylorentwicklungen der Funktionen U (t; tj−1 ) and wj (t, xj−1 ) an der Stelle tj ergeben, wenn man die Integraldarstellungen der Restterme
U (tj ; tj−1 ) = U
(m)
1 (tj ; tj−1 ) + m!
tj (tj − t)m
dm+1 U (t, tj−1 ) dt, dtm+1
tj−1
wj (tj , xj−1 ) = w(m)j (tj , xj−1 ) +
(10.23)
tj
1 m!
(tj − t)m
m+1
d
j
w (t, xj−1 ) dt dtm+1
tj−1
verwendet und die Voraussetzungen des Satzes ber¨ ucksichtigt. Es sollte unbedingt erw¨ ahnt werden, daß bei der Absch¨atzung der Restterme in ¨ (10.23) die gemischten Ableitungen der Vektorfunktion g(t, Y (t, x)) in Ubereinstimmung mit (10.4), (10.5) abzusch¨ atzen sind. Im weiteren ist es erforderlich, daß Y (t, x) # ∈ Ω ([t$j−1 , tj ], s(t)) gilt, was aber durch N < h , s(t) garantiert wird. unsere Standardvoraussetzung {xj }j=0 ∈ Ω ω Die Ungleichung (10.21) folgt aus (10.18), wenn man die Tatsache ber¨ ucksichtigt, daß alle gemischten Ableitungen der Vektor-Funktion g(t, y), die in dem Ausdruck ) dp wj (t, yj−1 ) )) enthalten sind, in dem Punkt (tj−1 , yj−1 ) berechnet werden, mit ) dtp # t=tj−1 $ < {yj }N j=0 ∈ Ω ω h , s(t) + Δ . Es verbleibt noch, die Ungleichung (10.22) zu zeigen. Wir berechnen 3 3 3 (m) 3 3ϕ (tj , xj−1 ) − ϕ(m) (tj , yj−1 )3 =
3 1 3 3 (m)j 3 (tj , xj−1 ) − w(m)j (tj , yj−1 )3 3w hj
= g(tj−1 , xj−1 ) − g(tj−1 , yj−1 ) +
3 p j ) m ) hj p−1 3 3 d w (t, xj−1 ) ) 3 ) p p! dt p=2
≤
L+
m hp−1 Cp j p=2
p!
− t=tj−1
) 3 3 dp wj (t, yj−1 ) )) 3 ) 3 p dt t=tj−1
xj−1 − yj−1
≤ (L + C |h|) xj−1 − yj−1 , womit der Beweis abgeschlossen ist.
# $ N < f¨ ur alle {xj }N j=0 , {yj }j=0 ∈ Ω ω h , s(t) + Δ ,
10.3 Implementierung des exakten Differenzenschemas
369
F¨ ur den einfachen Fall p = 2 wollen wir die Bedeutung der im Satz 10.5 verwendeten Konstanten Cp illustrieren. Es gilt hier ) ) 3 3 2 j 3 3 d w (t, xj−1 ) ) d2 wj (t, yj−1 ) )) ) 3 3 − ) ) 3 3 2 2 dt dt t=tj−1 t=tj−1 3 3 ∂g(tj−1 , xj−1 ) ∂g(tj−1 , yj−1 ) 3 = 3A(tj−1 ) [g(tj−1 , xj−1 ) − g(tj−1 , yj−1 )] + − ∂t ∂t ∂g(tj−1 , xj−1 ) ∂g(tj−1 , yj−1 ) − [A(tj−1 )xj−1 + g(tj−1 , xj−1 )] + ∂x ∂y 3 3 ∂g(tj−1 , yj−1 ) {A(tj−1 )(xj−1 − yj−1 ) + [g(tj−1 , xj−1 ) − g(tj−1 , yj−1 )]}3 + 3 ∂y ≤ C2 xj−1 − yj−1 , mit
n ∂gp (tj−1 , xj−1 ) ∂g(tj−1 , xj−1 ) = , ∂x ∂xν p,ν=1 3 3 " ! 3 1 C2 = n c1 C0,1 + n C1,1 + n 2 C0,2 c1 s(b) + Δ + 3x(0) (t)3∞ + n 2 C0,0
N {xj }N j=0 , {yj }j=0
# $ < h , s(t) + Δ , ∈Ω ω
+ n C0,1 (c1 + n C0,1 ), Ck,p =
max
max
n {xj }N j=0 ∈Ω(ω h ,s(t)) |α|= αν =p
) k+|α| ) )∂ gl (tj−1 , xj−1 ) )) ) . max α α 1≤l≤N ) ∂tk ∂x 1 · · · ∂xn n ) 1
ν=1
Wir sind jetzt in der Lage, das Hauptresultat dieses Abschnittes zu formulieren. Satz 10.6 Die Voraussetzungen der S¨atze 6.6 und 10.5 seien erf¨ ullt. Dann gibt es ein h0 > 0, so daß f¨ ur alle |h| ≤ h0 das m-TDS (10.17) eine eindeutige L¨osung besitzt, die mit der Fixpunkt-Iteration (m,k)
− Λj
(m,0)
= x(m,0) (tj ),
yt,j yj
(m) (m,k) yj−1
(m,k−1)
= ϕ(m) (tj , yj−1
),
(m,k)
Ba y 0
(m,k)
+ Bb y N
= β, (10.24)
j = 0, 1, . . . , N,
k = 1, 2, . . .
berechnet werden kann. Der Fehler der k-ten Iterierten l¨aßt sich dabei in der Form 3 (m,k) 3 ! m" 3y − x3∞ ≤ C q2k + |h| ,
(10.25)
absch¨atzen, wobei die Konstante C nicht von |h| abh¨angt und q2 ≡ q + C |h| < 1 ist.
Kapitel 10 Exakte Differenzenschemata
370
Beweis: Aus der Gleichung (10.17,a) erhalten wir sukzessive (m)
=U (m) (t1 ; t0 ) y0
(m)
=U (m) (t2 ; t1 )U (m) (t1 , t0 ) y0
y1 y2
(m)
(m)
+ h1 ϕ(m) (t1 , y0 (m)
), (m)
+ h1 U (m) (t2 ; t1 )ϕ(m) (t1 , y0
(m)
) + h2 ϕ(m) (t2 , y1
)
.. . (m)
yj
=
j
(m)
U (m) (tj−k+1 ; tj−k ) y0
+
(m)
Substituiert man yN
Ba + Bb
hi
i=1
k=1
j
N
j−i
(m)
U (m) (tj−k+1 ; tj−k )ϕ(m) (ti , yj−1 ).
k=1
in die Randbedingungen (10.17,b), so resultiert
(m) U (m) (tN −k+1 ; tN −k ) y0
k=1
= −Bb
N i=1
hi
N −i
(m)
U (m) (tN −k+1 ; tN −k )ϕ(m) (ti , yj−1 ) + β. (10.26)
k=1
In der Gleichung (10.26) ist die auf der linken Seite stehende Matrix in eckigen Klammern nichtsingul¨ ar. Um dies zu zeigen, verwenden wir die Ungleichung 3 3 3 3 3 (m) 3 3 3 , 3U (tj ; tj−1 )3 ≤ U (tj ; tj−1 ) + 3U (m) (tj ; tj−1 ) − U (tj ; tj−1 )3 ≤ exp(c1 hj )+ Chm+1 j (10.27) die man direkt aus der Absch¨ atzung (10.19) herleiten kann. Es ist nun N 3 3 3 Ba + Bb U (m) (tN −k+1 ; tN −k ) − Ba + Bb U (1; 0) 3 k=1
3 = 3Bb
N
U (m) (tN −k+1 ; tN −k ) −
k=1
3 = 3Bb
N
N
3 U (tN −k+1 ; tN −k ) 3
k=1
U (tN ; tN −j+1 ) U (m) (tN −j+1 ; tN −j ) − U (tN −j+1 ; tN −j ) ×
j=1
×
N
3 U (m) (tN −i+1 ; tN −i )3
i=j+1
≤ Bb
N j=1
≤ C |h|m ,
exp[(1 − tN −j+1 )c1 ] Chm+1 N −j+1
N i=j+1
exp[(c1 hN −i+1 ) + Chm+1 N −i+1 ]
10.3 Implementierung des exakten Differenzenschemas
371
d. h., N 3 3 3 Ba + B b U (m) (tN −k+1 ; tN −k ) − Ba + Bb U (1; 0) 3 < 1
(10.28)
k=1
f¨ ur hinreichend kleines h0 . Hierbei haben wir die Ungleichung $N −j # m+1 exp[(c1 hN −i+1 ) + Chm+1 N −i+1 ] ≤ exp(c1 ) 1 + C |h|
N i=j+1
≤ exp(c1 ) exp[C(N − j) |h|
m+1
m
] ≤ exp(c1 ) exp[C1 |h| ] ≤ exp(c1 ) + C |h|
m
ausgenutzt. Da M = [Ba + Bb U (1; 0)] nichtsingul¨ar ist, folgt aus (10.28), daß 8 Z ≡ B a + Bb
N
9−1 U
(m)
(tN −k+1 ; tN −k )
k=1
existiert und die folgende Absch¨ atzung gilt: N 3 3 3 3 3 −1 33 3 3Z Bb 3 ≤ 3M −1 Bb 3 + 3Z − Ba + Bb U (tN −k+1 ; tN −k ) 33Bb 3 k=1
(10.29)
m
≤ H + C |h| . Man berechnet nun (m)
yj
=−
j
U (m) (tj−k+1 ; tj−k ) Z Bb
i=1
k=1
+
j
N
j−i
hi
i=1
hi
N −i
(m)
U (m) (tN −k+1 ; tN −k )ϕ(m) (ti , yi−1 )
k=1 j
(m)
U (m) (tj−k+1 ; tj−k )ϕ(m) (ti , yi−1 ) +
k=1
U (m) (tj−k+1 ; tj−k ) Z β,
k=1
bzw. (m)
yj
(m)
= Rh (tj , {yν(m) }N ν=0 ) =
N
(m)
(m)
hi Gh (tj , ti )ϕ(m) (ti , yi−1 ) + x(m,0) (tj ).
i=1 (m)
Dabei sind Gh (t, τ ) die (diskrete) Greensche Funktion des Problems (10.17), d. h., (m)
Gh (tj , ti ) = −
j
U (m) (tj−k+1 ; tj−k ) Z Bb
k=1
⎧ ⎪ ⎨ 0, j−i + (m) ⎪ U (tj−k+1 ; tj−k ), ⎩ k=1
N −i
U (m) (tN −k+1 ; tN −k )
k=1
i ≥ j, i < j,
Kapitel 10 Exakte Differenzenschemata
372 und x(m,0) (tj ) =
j
U (m) (tj−k+1 ; tj−k ) Z β.
k=1
Aus (10.27) und (10.29) folgt ⎧ 3 3 ) )m i ≥ j, 3 (m) 3 ⎨ exp[c1 (1 + tj − ti )]3H 3 + C )h) , 3G (tj , ti )3 ≤ 3 3 ) ) h ⎩ exp[c (t − t )] 1 + 3H 3 exp(c ) + C )h)m , i < j. 1 j i 1
(10.30)
Wir wollen jetzt den Banachschen Fixpunkt-Satz anwenden. Zuerst zeigen wir, daß der (m) < Operator Rh (tj , {yk )N k=0 } die Menge Ω(ω h , s(t) + Δ) in sich selbst abbildet. Unter < Verwendung von (10.21) und (10.30) erh¨ alt man f¨ ur alle {yk }N k=0 ∈ Ω(ω h , s(t) + Δ) die Absch¨atzung 3 3 3 (m) 3 (0) (tj )3 3Rh (tj , {yk }N k=0 ) − x % ≤ (K + C |h|) exp[c1 (1 + tj ) H
N
hi exp(−c1 ti−1 )
i=1
+ exp(c1 tj )
j
&
hi exp(−c1 ti−1 ) + C |h|
m
i=1 m
≤ (K + C |h|) exp(c1 tj ) [tj + H exp(c1 ) + C |h| ] ≤ s(tj ) + C |h| ≤ s(tj ) + Δ. (m)
Nun hat man noch nachzuweisen, daß Rh (tj , {xν }N ν=0 ) ein kontrahierender Operator ist. Wegen (10.22) und (10.30) haben wir 3 (m) 3 3R (tj , {xν }N ) − R(m) (tj , {yν }N )3 ν=0 ν=0 ∞ h h
3 3 m ≤ [exp(c1 ) (1 + H exp(c1 )) + C |h| ] max 3ϕ(m) (tj , xj−1 ) − ϕ(m) (tj , yj−1 )3 1≤j≤N
m
≤ [exp(c1 ) (1 + H exp(c1 )) + C |h| ] [q + C |h|] x − y ∞ ≤ q2 x − y ∞ , N < wobei {xk }N ur hinreik=0 , {yk }k=0 ∈ Ω(ω h , s(t) + Δ) sind und q2 ≡ [q + C |h|] < 1 f¨ (m) N chend kleines h0 ist. Dies heißt aber, daß Rh (tj , {xν }ν=0 ) tats¨achlich eine Kontraktion ist. Folglich besitzt das Schema (10.17) eine eindeutige L¨osung, die mit der FixpunktIteration (10.24) bestimmt werden kann. Die zugeh¨orige Fehlerabsch¨atzung ist
3 (m,k) 3 3y − y (m) 3∞ ≤
q2k (s(1) + Δ). 1 − q2
(10.31)
10.3 Implementierung des exakten Differenzenschemas (m)
Der Fehler zj Gleichungen
(m)
≡ yj
(m)
− xj der L¨ osung yj
(m)
(m)
zt,j − Λj
(m)
373
des Differenzenschemas (10.17) erf¨ ullt die (m)
zj−1 = ψ (m) (tj , yj−1 ),
j = 1, 2, . . . , N, (10.32)
(m) Ba z 0
+
(m) Bb z N
= 0, (m)
wobei das Residuum (der Approximationsfehler) ψ (m) (tj , yj−1 ) zu $ # ' ( (m) (m) (m) ψ (m) (tj , yj−1 ) ≡ − Λj − Λj x(tj−1 ) + ϕ(m) (tj , yj−1 ) − ϕ(m) (tj , x(tj−1 )) ' ( + ϕ(m) (tj , x(tj−1 )) − ϕ(tj , x(tj−1 )) gegeben ist. Wir schreiben nun das Problem (10.32) in der ¨aquivalenten Form (m)
zj
=
N
(m)
(m)
hi Gh (tj , ti ) ψ (m) (ti , yi−1 ).
i=1
Dann implizieren (10.30) und der Satz 10.5 die Absch¨atzung N 3 3 3 3 (m) 3 (m) 3 m ≤ exp(c ) 1 + H exp(c ) + C |h| hi 3ψ (m) (ti , yi−1 )3 3zj 3 1 1 i=1
m ≤ exp(c1 ) 1 + H exp(c1 ) + C |h| ×
N 3 (m) 3 m m × C |h| max x(ti ) + hi (L + hi C)3zi−1 3 + C |h| 3 3 3 3 ≤ q2 3z (m) 3
∞
0≤i≤N
i=1
m
+ C |h| .
Die letzte Ungleichung ergibt 3 (m) 3 3z 3 ≤ C |h|m . ∞
(10.33)
Mit (10.31) und (10.33) erhalten wir schließlich 3 (m,k) 3 3 3 3 3 ! m" 3y − x3∞ ≤ 3y (m,k) − y (m) 3∞ + 3y (m) − x3∞ ≤ C q2k + |h| , womit die Fehlerabsch¨ atzung (10.25) gezeigt und der Beweis abgeschlossen ist.
Mit dem Satz 10.6 haben wir gezeigt, daß sich das nichtlineare algebraische Gleichungssystem (10.17) mit der Fixpunkt-Iteration l¨osen l¨aßt. In der Praxis wird man
Kapitel 10 Exakte Differenzenschemata
374
jedoch auf das Newton-Verfahren zur¨ uckgreifen, da dieses eine h¨ohere Konvergenzgeschwindigkeit besitzt. Das auf das System (10.17) angewendete Newton-Verfahren hat die Gestalt (m,k)
y t¯,j
( ' (m,k) (m) (m,k) (m,k−1) (m,k−1) (m) (m,k−1) y j−1 = ϕ(m) (tj , yj−1 − Jj + Λj ) − yt¯,j + Λj yj−1 ,
(m,k)
Ba y 0 (m,0)
yj
(m,k)
yj
(m,k)
+ Bb yN
= 0,
= x(m,0) (tj ), (m,k−1)
(m,n)
+ y j
= yj
(m)
(m,k)
#
∂ϕ
,
j = 0, 1, . . . , N,
(m,k−1) tj , yj−1
k = 1, 2, . . . , (10.34)
$
die Jacobi-Matrix der Vektorfunktion ϕ(m) (t, y) ∂y (m,k−1) ) bezeichnet. Dabei ist die Matrix an der Stelle (tj , yj−1
wobei Jj
≡
(m) Λj
) m m hp−1 dp U (t, tj−1 ) )) j = ≡ hp−1 Up , j ) p p! dt t=tj−1 p=1 p=1
(10.35)
zu berechnen. Die Matrizen Up sind u ¨ ber die Rekursion 1 Ap−1−ν Uν , p = 1, 2, . . . , m; p ν=0 p−1
Up =
U0 = I
(10.36)
bestimmt und die Matrizen Ap ≡ 1/(p!) A(p) (tj−1 ) hat man durch Differentiation zu berechnen (beispielsweise mit einem Computer-Algebra Programm). Unter der Annahme, daß sich die Funktion g(t, x) in der Formel (10.2,a) nur aus algebraischen Operationen und elementaren Funktionen zusammensetzt, kann der in Hairer et al. (1993), auf den Seiten 47 – 49, beschriebene rekursive Algorithmus dazu verwendet werden, die Vekto(m,k−1) (m,k−1) ren ϕ(m) (tj , yj−1 ) zu ermitteln. Liegen die ϕ(m) (tj , yj−1 ) vor, dann ergibt sich (m,k)
die Jacobi-Matrix Jj
durch Differentiation. Setzt man (m,k)
Sj ≡ I + hj [Jj
(m)
+ Λj
],
(10.37)
dann l¨aßt sich das System (10.34) in der a ¨quivalenten Form (m,k)
[Ba + Bb S] y0 (m,k)
y0
(m,k−1)
= y0
= −Bb Φ, (m,k)
+ y0
(10.38)
10.3 Implementierung des exakten Differenzenschemas
375
aufschreiben, mit S ≡ SN SN −1 · · · S1 , Φ ≡ ΦN , Φ0 = 0, ' ( (m,k−1) (m,n−1) (m) (m,k−1) Φj = Sj Φj−1 + hj ϕ(m) (tj , yj−1 , ) − yt¯,j + Λj yj−1
j = 1, 2, . . . , N.
(10.39) Da die Systemmatrix des Gleichungssystems (10.38) die Dimension n × n besitzt, wobei n klein im Vergleich zu N ist, werden zur Bestimmung der L¨osung dieses Systems O(N ) arithmetische Operationen ben¨ otigt. Liegt diese vor, dann ergibt sich die L¨osung des Systems (10.34) zu (m,k)
y j
(m,k)
yj
(m,k)
= Sj Sj−1 · · · S1 y 0 (m,k−1)
= yj
(m,k)
+ y j
+ Φj , (10.40)
,
j = 1, 2, . . . , N.
Bemerkung 10.2 Wie bei den numerischen Verfahren f¨ ur AWPe lassen sich durch die Verwendung von abgebrochenen Differenzenschemata mit unterschiedlicher Genauigkeitsordnung geeignete a posteriori Fehlerabsch¨atzungen und darauf basierend adaptive Gittersteuerungen konstruieren. Eine andere (klassische) M¨oglichkeit, so etwas zu realisieren, stellt ebenfalls die in Abschnitt 2.7 betrachtete lokale Extrapolation (RungePrinzip) dar, die von der Voraussetzung x(t) − ζ(t, h) = dp (t) hp + O(hp+1 )
(10.41)
ausgeht. Dabei bezeichnet ζ(t, h) das Ergebnis eines numerischen Verfahrens zur Berechnung der Funktion x(t) auf einem ¨ aquidistanten Gitter unter Verwendung der Schrittweite h. Die Voraussetzung (10.41) impliziert, daß bei der Verwendung von zwei Gittern mit den Schrittweiten h und rh (in Abschnitt 2.7 wurde r = 1/2 gesetzt) die Beziehung x(t) = ζ(t, h) +
ζ(t, h) − ζ(t, rh) + O(hp+1 ) rp − 1
(10.42)
gilt (siehe die Formeln (2.95) und (2.96)). Hieraus resultiert die folgende a posteriori Fehlerabsch¨atzung f¨ ur die L¨ osung auf dem feineren Gitter (siehe auch (2.96)) (l)
ESTt
=
ζ(t, h) − ζ(t, rh) ≈ dp (t)hp . rp − 1
(10.43)
Indem man drei unterschiedliche Gitter verwendet, l¨aßt sich die Genauigkeitsordnung p des numerischen Verfahrens bestimmen. Die lokale Extrapolation kann auch bei gewissen nicht-¨aquidistanten Gittern eingesetzt werden, n¨ amlich bei den sogenannten quasi-¨aquidistanten Gittern. Definition 10.1 Ein Gitter wird quasi-¨aquidistant genannt, wenn es eine Abbildung t = ξ(τ ) gibt, die das Intervall 0 ≤ τ ≤ 1 auf das urspr¨ ungliche Intervall a ≤ t ≤ b
Kapitel 10 Exakte Differenzenschemata
376
) < t,N ≡ {t(N so abbildet, daß jedem Gitter ω : i = 0, 1, . . . , N } auf a ≤ t ≤ b ein i (N ) = i/N : i = 0, 1, . . . , N } auf 0 ≤ τ ≤ 1 entspricht, ¨aquidistantes Gitter ω τ,N ≡ {τi wobei ξ (τ ) ≥ ε > 0 gilt und ξ (τ ) beschr¨ ankt ist.
Unter diesen Bedingungen gelten f¨ ur die Schrittweiten die Beziehungen hi ≈ ξ (τi )/N 2 und hi − hi−1 ≈ ξ (τi )/N . Dies bedeutet, daß benachbarte Intervalle fast gleich lang sind, w¨ahrend der Quotient hi /hj ≈ ξ (τi )/ξ (τj ) der Schrittweiten voneinander entfernter Intervalle groß sein kann. Um das quasi-¨aquidistante Gitter zu verfeinern, wird man zuerst das ¨aquidistante Gitter ω ¯ τ,N verfeinern und anschließend das quasi-¨aquidistante Gitter daraus neu berechnen. Unter der Voraussetzung, daß ξ(τ ) hinreichend glatt ist, behalten die Entwicklungen (10.41) und (10.42) ihre G¨ ultigkeit, wenn man N −1 anstelle h schreibt. Somit l¨aßt sich auch hier der Fehler mittels lokaler Extrapolation absch¨atzen. Nachdem mit einem solchen Sch¨atzer und der zugeh¨ origen Gittersteuerung ein Teilintervall gefunden wurde, auf dem die L¨ osung sehr stark anw¨ achst, kann nun auf diesem Teilintervall ein geeignetes quasi-¨aquidistantes Gitter angewendet werden. Will man beispielsweise das Verhalten der L¨osung x(t) in der N¨ahe der Randpunkte des Intervalls [a, b] untersuchen, dann erweist sich daf¨ ur die Transformation t = a + (b − a)(eατ − 1)/(eα − 1)
(10.44)
als geeignet. Die Schrittweiten dieses Gitters bilden eine geometrische Reihe mit dem Nenner q ≡ hi+1 /hi = eα/N . Der Quotient der ersten und der letzten Schrittweite ist ungef¨ahr eα . F¨ ur α > 0 entsteht ein feines Gitter in der N¨ahe von a und f¨ ur α < 0 ein feines Gitter in der N¨ ahe von b. Beispiel 10.1 Wir wollen hier die Anwendung des m-TDS (10.17) zur numerischen Approximation der L¨ osungen des Troesch-Problems (siehe das RWP (7.72)) beschreiben. In diesem Falle gilt ⎛ (m) yj
(m)
Λj
=⎝
(m)
⎞
(m)
(m) (m) ⎠ , mit y2,j = y˙ 1,j ,
y1,j y2,j
= A(tj−1 ) =
(m) ϕ(m) (tj , yj−1 )
0 0
1 , 0
Ba =
U
(m)
1 (t, τ ) = U (t, τ ) = 0
1 0 , 0 0
Bb =
0 0 , 1 0
) (m) m $ # dp wj (t, yj−1 ) )) hp−1 j (m) = g tj−1 , yj−1 + ) ) p! dtp p=2
t=tj−1
0 . λ sinh(λx)
g(t, x) =
t−τ 1
β=
,
,
0 , 1
(10.45)
10.3 Implementierung des exakten Differenzenschemas
377
(m)
Die Berechnung der Funktion ϕ(m) (tj , yj−1 ) kann nun wie folgt vorgenommen werden. ) (m) j 1 dp w1 (t, yj−1 ) )) , dann ist Setzt man w1,p ≡ ) ) p! dtp t=tj−1
) (m) 1 dp wj (t, yj−1 ) )) ) ) p! dtp
w1,p . (p + 1)w1,p+1
= t=tj−1
) (m) 1 dp wj (t, yj−1 ) )) Dies bedeutet aber, daß es zur Berechnung der Vektoren ) ) p! dtp
aus-
t=tj−1
(m)
reicht, w1,p als Taylor-Koeffizienten der Funktion w1j (t, yj−1 ) im Punkte t = tj−1 zu bestimmen. Diese Funktion erf¨ ullt das AWP # ! $ d2 w1j (t, yj−1 ) (m) (m) (m) " j = λ sinh λ y + (t − t )y + w (t, y ) , j−1 1 1,j−1 2,j−1 j−1 dt2 (m)
(m)
(m)
w1j (tj−1 , yj−1 ) = 0,
(10.46)
dw1j (tj−1 , yj−1 ) = 0. dt
Es sei ∞ $ # ! (m) (m) (m) " (t − tj−1 )i Ri . r˜(t) ≡ sinh λ y1,j−1 + (t − tj−1 )y2,j−1 + w1j (t, yj−1 ) = i=0
Substituiert man diese Reihe in die DGL (10.46,a), so ergibt sich w1,i+2 = Mit p˜(t) ≡ λ
#
(m) y1,j−1
+ (t −
λRi . (i + 1)(i + 2)
(m) tj−1 )y2,j−1
(10.47) $
+
(m) w1j (t, yj−1 )
=
∞
(t − tj−1 )i Pi
i=0
ist r˜(t) = sinh(˜ p(t)). Weiter sei s˜(t) ≡ cosh(˜ p(t)) =
∞
(t − tj−1 )i Si .
i=0
F¨ uhrt man jetzt die einfache Transformation p)˜ p = p˜ s˜, r˜ = cosh(˜
s˜ = sinh(˜ p)˜ p = p˜ r˜
durch und wendet die Formel (8.20b) aus der Monografie von Hairer et al. (1993), Seite 48, an, dann ergeben sich die folgenden Rekursionen: 1 (i − k)Sk Pi−k , i i−1
Ri =
k=0
Pi = λw1,i ,
i = 2, 3, . . . .
1 (i − k)Rk Pi−k , i i−1
Si =
k=0
i = 1, 2, . . . ,
(10.48)
Kapitel 10 Exakte Differenzenschemata
378 Die zugeh¨origen Anfangsbedingungen sind (m)
P0 = λ y1,j−1 ,
(m)
(m)
P1 = λ y2,j−1 ,
R0 = sinh(λ y1,j−1 ),
(m)
S0 = cosh(λ y1,j−1 ). (10.49)
Die Jacobi-Matrix von ϕ(m) lautet (m)
∂ϕ(m) (tj , yj−1 ) = ∂y
0 0 (m) λ2 cosh(λy1,j−1 ) 0
+
m hp−1 j p=2
mit
y1 , y≡ y2
p!
w1,p,y1 (p + 1)w1,p+1,y1
w1,p,y2 (p + 1)w1,p+1,y2
,
(m)
w1,p,yl
∂w1,p (tj , yj−1 ) ≡ , ∂yl
l = 1, 2.
(m)
Da die Funktionen
(m) w1,yl (t, yj−1 )
∂w1 (t, yj−1 ) = die DGLn ∂yl
d2 w1,y1 = λ2 cosh(˜ p(t))(1 + w1,y1 ), dt2
d2 w1,y2 = λ2 cosh(˜ p(t))((t − tj−1 ) + w1,y2 ) dt2
erf¨ ullen, ergibt sich zur Berechnung von w1,p,yl der rekursive Algorithmus w1,i+2,y1
=
8 9 i λ2 Si + w1,k,y1 Si−k , (i + 1)(i + 2)
i = 2, 3, . . .
k=2
w1,2,y1
=
w1,i+2,y2
=
λ2 S0 /2,
w1,3,y1 = λ2 S1 /6, 8 9 i λ2 Si−1 + w1,k,y2 Si−k , (i + 1)(i + 2)
i = 2, 3, . . .
k=2
w1,2,y2
=
0,
w1,3,y2 = λ2 S0 /6.
Orientiert man sich am Verhalten der exakten L¨osung von (7.72), dann bietet sich das Gitter exp(jα/N ) − 1 < ω h = tj = , j = 0, 1, 2, . . . , N (10.50) exp(α) − 1 an, wobei α < 0 zu setzten ist (das Gitter wird in diesem Falle f¨ ur x nahe bei 1 dicht; siehe hierzu die Bemerkung 10.2, insbesondere die Formel (10.44)). Die Schrittweiten dieses Gitters sind h1 = t1 , hj+1 = hj exp(α/N ), j = 1, 2, . . . , N − 1. W¨ urde man, wie dies u ¨ blich ist, die Schrittweiten nach der Formel hj = tj − tj−1 , j = 1, 2, . . . , N , w¨ahlen, dann resultiert f¨ ur j → N und |α| hinreichend groß (z. B. α = −26) ein sehr
10.3 Implementierung des exakten Differenzenschemas
379
großer absoluter Rundungsfehler, da in diesem Falle einige der tj , tj−1 extrem dicht beieinander liegen. Um abzusichern, daß der Verfahrensfehler auch am rechten Rand unterhalb einer vom Anwender vorgegebenen Fehlertoleranz T OL liegt, wurde bei den Testrechnungen die in der Bemerkung 10.2 beschriebene lokale Extrapolation verwendet. Man kann dabei voraussetzen, daß diese Toleranz eingehalten ist, falls die numerische L¨osung die Ungleichung ⎧ 3 3 3 3 ⎪ (m) (m) 3 ⎪ 3 dyN dy2N 3 ⎪ 3 3 ⎪ ⎨3 y (m) − y (m) 3 3 − 3 3 3 3 dt) dt ) 3 max 3 N !) (m)2N ) "3 , 3 3 3 (m) ) ) ⎪ ⎪3 max )y2N ), 1 3∞ 3 3 ) dy2N ) ⎪ ⎪ 3 3 , 1 max ) ) ⎩ 3 3 ) dt )
⎫ ⎪ ⎪ ⎪ ⎪ ⎬ ⎪ ⎪ ⎪ ⎪ ⎭
≤ (2m − 1) · T OL
(10.51)
∞
erf¨ ullt. Im gegenteiligen Fall wurde einfach die Anzahl der Gitterpunkte verdoppelt. In (m) (m) (10.51) bezeichnet yN die L¨ osung des m-TDS auf dem Gitter {t0 , . . . , tN } und y2N die L¨osung dieses Differenzenschemas auf dem Gitter {t0 , . . . , t2N }. Zur L¨osung der Differenzengleichungen (diese stellen hier ein System nichtlinearer algebraischer Gleichungen dar) wurde das Newton-Verfahren mit dem Abbruchkriterium ⎧ 3 3 ⎫ 3 (m,k) (m,k−1) 3 ⎪ ⎪ dy dy ⎪ 3 3 3 3 ⎪ ⎪ ⎨3 y (m,k) − y (m,k−1) 3 3 ⎬ 3 ⎪ − 3 3 3 dt 3 dt max 3 ≤ 0.25 · T OL !) (m,k) ) " 3 , 3 ) (m,k) ) 3 ), 1 3 3 ) ) dy 3 max )y ⎪ 3 ⎪ ⎪ ⎪ ) ) ⎪ 3 3 ⎪ ∞ ⎩ 3 max ) dt ) , 1 3 ⎭ ∞
(10.52)
verwendet, wobei k den Iterationsschritt des Verfahrens angibt, k = 1, 2, . . .. Beginnend mit dem Parameterwert λ = 1 haben wir die numerischen L¨osungen des Troesch-Problems (7.72) f¨ ur λ ∈ [1, 62] bei sukzessiver Vergr¨oßerung von λ um jeweils
λ = 0.5 bestimmt, wobei das Resultat des vorangegangenen Problems als Startwert f¨ ur das aktuelle Problem verwendet wurde. Die mit dem 6-TDS auf dem Gitter (10.50) mit α = −10 berechneten numerischen Resultate sind in der Tabelle 10.1 angegeben. Dabei ist ⎧ 3 3 ⎫ 3 3 ⎪ ⎪ dy (m) dx ⎪3 ⎪ 3 ⎪ 3 3 ⎪ ⎨3 y (m) − x 3 3 3 ⎬ − 3 3 3 3 dt dt ERR ≡ max 3 . (10.53) ! "3 , 3 ) (m) ) 3 ) ) dy ⎪3 max |y (m) |, 1 3 3 3 ⎪ ⎪ ⎪ ) ) ⎪ 3 3 ⎪ ∞ ⎩ 3 max ) dt ) , 1 3 ⎭ ∞
Um die exakte L¨ osung x(t) des Troesch-Problems (7.72) nach der Vorschrift (7.75), (7.76) auf dem Gitter ω ˆ h zu berechnen, ist es erforderlich, die Jacobi-Funktionen sn(tk) und cn(tk) auszuwerten. Dies wurde mit dem Computer-Algebra Programm Maple VII realisiert.
Kapitel 10 Exakte Differenzenschemata
380 λ
ε
N
ERR
5
10−2
8
0.667 · 10−3
5
10−4
16
0.282 · 10−4
5
10−6
32
0.586 · 10−6
5
10−8
128
0.756 · 10−10
10
10−2
8
0.110 · 10−2
10
10−4
16
0.719 · 10−4
10
10−6
64
0.192 · 10−7
10
10−8
128
0.530 · 10−9
Tabelle 10.1: Fehler der mit dem 6-TDS erzeugten N¨aherungen f¨ ur λ ≤ 10 Abschließend sollen noch die Ergebnisse einer Testrechnung f¨ ur die extremen Parameterwerte λ = 61 und λ = 62 angegeben werden. Um die exakte L¨osung x(t) hinreichend genau bestimmen zu k¨ onnen, ist es erforderlich, in Maple VII mindestens digits=80 zu setzen. Es ergeben sich dann als Approximationen f¨ ur die zugeh¨origen Anfangswerte s∗ im Falle von λ = 61 der Wert s61 = 2.577072228793720338185 · 10 −26 und im Falle λ = 62 der Wert s62 = 9.48051891387119532089349753 · 10 −27 . Diese Werte erf¨ ullen |u(1; s61 ) − 1| < 1.7 · 10−11 und |u(1; s62 ) − 1| < 3.15 · 10−16 . Die mit dem 10-TDS auf dem Gitter (10.50) mit α = −26 berechneten numerischen Resultate f¨ ur die Parameterwerte λ = 61 und λ = 62 sind in der Tabelle 10.2 angegeben (siehe auch Makarov et al. (2003)). λ
ε
N
ERR
61
10−2
32768
0.630 · 10−3
61
10−4
65536
0.860 · 10−5
61
10−6
131072
0.319 · 10−7
62
10−2
65536
0.240 · 10−3
62
10−4
131072
0.232 · 10−5
62
10−6
262144
0.675 · 10−8
Tabelle 10.2: Fehler der mit dem 10-TDS erzeugten N¨aherungen f¨ ur λ = 61, 62
Anhang A
Grundlegende Begriffe und Resultate aus der Linearen Algebra Im Anhang A wollen wir wichtige Bezeichnungen und Resultate aus der Linearen Algebra, die im Text h¨ aufig verwendet werden, summarisch aufz¨ahlen. Die zugeh¨origen theoretischen Grundlagen und Beweise findet der Leser in der sehr umfangreichen Standardliteratur. Wir wollen hier beispielhaft auf die Monografien von Kielbasinski und Schwetlick (1988), Golub und van Loan (1996), Stewart (1998) sowie Meyer (2000) verweisen. Zur Unterscheidung zwischen Vektoren und Matrizen verwenden wir im vorliegenden Text f¨ ur Vektoren kleine und f¨ ur Matrizen große Buchstaben. Vektoren werden dabei stets als Spaltenvektoren angesehen. Eine Diagonalmatrix D ∈ Rn×n kennzeichnen wir durch ihre Diagonalelemente d1 , . . . , dn in der Form D = diag(d1 , . . . , dn ). Gegeben sei eine Menge von m Vektoren a(1) , . . . , a(m) ∈ Rn . Unter dem Span dieser Vektoren versteht man den linearen Teilraum, der durch a(1) , . . . , a(m) aufgespannt“ ” wird. Der Span wird u ¨blicherweise durch die Schreibweise span{a(1) , . . . , a(m) } ≡ {x ∈ Rn : x = c1 a(1) + · · · + cm a(m) , ci ∈ R}
(A.1)
symbolisiert. Wenn wir (a(1) | · · · |a(m) ) schreiben, dann verstehen wir darunter diejenige Matrix aus dem Rn×m , deren i-te Spalte mit dem Vektor a(i) u ¨ bereinstimmt, i = 1, . . . , m. Es sei nun A = (a(1) | · · · |a(m) ) eine Matrix im Rn×m . Der Wertebereich von A ist durch R(A) ≡ span{a(1) , . . . , a(m) }
(A.2)
382
Anhang A Grundlegende Begriffe und Resultate aus der Linearen Algebra
definiert. Der Nullraum oder Kern von A ist durch N (A) ≡ {x ∈ Rm : Ax = 0}
(A.3)
erkl¨art. Der Rang einer Matrix ist gleich der maximalen Anzahl ihrer linear unabh¨angigen Spalten, d.h., rang(A) ≡ dim(R(A)).
(A.4)
Gilt f¨ ur eine Matrix A ∈ Rn×m die Beziehung rang(A) = min{n, m}, dann besitzt A Vollrang. Ist f¨ ur eine Matrix A ∈ Rn×n die Beziehung det(A) = 0 erf¨ ullt (d. h., rang(A) = n), dann sprechen wir von einer nichtsingul¨aren (regul¨aren) Matrix. Die Matrix A = (a(1) | · · · |a(m) ) ∈ Rn×m heißt spaltenorthogonal, wenn die Spalten von A paarweise orthonormal sind, d.h., !
a(i)
"T
a(j) = δij ,
i, j = 1, . . . , m.
Ist m = n, dann spricht man von einer orthogonalen Matrix. Gilt m > n und AT ist spaltenorthogonal, dann bezeichnet man die Matrix als zeilenorthogonal. Unter einer Zerlegung der Matrix A versteht man ihre Faktorisierung in das Produkt einfacherer Matrizen. Solche Zerlegungen sind bei praktischen Berechnungen mit Matrizen sehr n¨ utzlich, da durch sie die L¨ osung eines Problems sehr vereinfacht werden kann. L¨aßt sich zum Beispiel eine gegebene Matrix in das Produkt einer unteren und einer oberen Dreiecksmatrix zerlegen, dann reduziert sich die L¨osung eines linearen Gleichungssystems mit dieser Koeffizientenmatrix auf die Berechnung zweier zugeordneter Dreieckssysteme. Zu jeder nichtsingul¨ aren Matrix A ∈ Rn×n existieren zwei Permutationsmatrizen n×n (Einheitsmatrizen mit vertauschten Zeilen bzw. Spalten), so daß P, Q ∈ R P A QT = L U
(A.5)
gilt. Dabei sind 1) L ∈ Rn×n eine untere Dreiecksmatrix, auf deren Diagonale nur Einsen stehen, und 2) U ∈ Rn×n eine obere Dreiecksmatrix mit nichtverschwindenden Diagonalelementen. Die Faktorisierung (A.5) wird LU-Zerlegung mit vollst¨andiger Pivotisierung genannt. Bis auf die Permutationen P und Q ist die LU-Faktorisierung eindeutig bestimmt. Aus
383 Effektivit¨atsgr¨ unden berechnet man in der Praxis i.allg. nur die Faktorisierung von A in der Form P A = L U,
(A.6)
die man auch als LU-Zerlegung mit partieller Pivotisierung bezeichnet. Sie wird mit Hilfe sogenannter Gauß-Transformationen Lk ∈ Rn×n , k = 1, . . . , n− 1, erzeugt, die von links an die (permutierte) Matrix A multipliziert werden. Die Gauß-Transformationen sind von der Gestalt Lk ≡ I − l(k) (e(k) )T ,
(A.7)
wobei l (k) ≡ (0, . . . , 0, lk+1,k , . . . , ln,k )T den Vektor der Gaußschen Multiplikatoren bezeichnet und e(k) ∈ Rn der k-te Einheitsvektor ist. Bei dem Produkt in (A.7) handelt es sich um das dyadische Produkt zweier Vektoren. Um ein lineares Gleichungssystem Ax = b bei bekannter LU-Faktorisierung mit partieller Pivotisierung von A zu l¨ osen, geht man nun wie folgt vor: LU x = P b
(Permutation der Elemente von b),
Lz = P b
(unteres Dreieckssystem: L¨osung mit der Vorw¨arts-Substitution),
Ux=z
(oberes Dreieckssystem: L¨osung mit der R¨ uckw¨arts-Substitution).
Wir kommen nun zu einer anderen Faktorisierung. Jede Matrix A ∈ Rn×m , mit n ≥ m, l¨aßt sich wie folgt zerlegen R1 = Q1 R1 , A = QR = (Q1 |Q2 ) 0
(A.8)
wobei Q ∈ Rn×n eine orthogonale Matrix und R1 ∈ Rm×m eine obere Dreiecksmatrix ist. Den jeweiligen Zusammenhang ber¨ ucksichtigend, wird entweder die vollst¨andige Zerlegung A = QR oder aber die ¨ okonomischere“ Variante A = Q1 R1 die QR” Faktorisierung von A genannt. Die QR-Faktorisierung ist eindeutig, wenn A Vollrang besitzt und gefordert wird, daß R positive Diagonalelemente besitzt. Als eine Konsequenz aus der QR-Faktorisierung ergibt sich der folgende Sachverhalt. Zu jedem m-dimensionalen Teilraum S1 ∈ Rn existiert eine spaltenorthogonale Matrix Q1 , so daß S1 = R(Q1 ) ist. Ist A ∈ Rn×m , mit m > n, dann lautet die zugeh¨orige QR-Faktorisierung A Q = (0|R1 ),
(A.9)
wobei Q ∈ Rm×m eine orthogonale und R1 ∈ Rn×n eine obere Dreiecksmatrix ist.
384
Anhang A Grundlegende Begriffe und Resultate aus der Linearen Algebra
Die QR-Faktorisierung einer Matrix A ∈ Rn×n l¨aßt sich praktisch dadurch erzeugen, indem man von links an A eine Folge von Householder- oder Givens-Transformationsmatrizen multipliziert. Unter einer Householder-Transformation (Synonyme: HouseholderSpiegelung, Householder Matrix) versteht man eine Matrix H ∈ Rn×n der Form H ≡I−
2 vv T . vT v
(A.10)
Offensichtlich stellen Householder-Transformationen Rang-1 Modifikationen der Einheitsmatrix dar. Sie besitzen die Eigenschaften: Symmetrie (H T = H), Orthogonalit¨at (HH T = H T H = I) und Involution (H 2 = I). Der Vektor v ∈ Rn wird HouseholderVektor genannt und dabei so bestimmt, daß bei einer Multiplikation von H mit einem Vektor x ∈ Rn ein Vielfaches des ersten Einheitsvektors entsteht, d.h. Hx = α e(1) . Hierzu setzt man α ≡ sign(x1 ) x 2
(A.11)
und berechnet den Housholder-Vektor zu v ≡ x + α e(1) .
(A.12)
Oftmals wird v noch so normalisiert, daß v1 = 1 gilt. Dies ist f¨ ur eine effektive Speicherung des Householder-Vektors sinnvoll; der Teilvektor (v2 , . . . , vn )T wird dann als wesentlicher Teil von v bezeichnet. Eine andere Klasse von h¨ aufig verwendeten Transformationsmatrizen liegt mit den Givens-Transformationen (Synonym: Givens-Rotationen, Givens-Matrizen) Gkl ∈ Rn×n vor. Sie sind von der Form ⎞ ⎛ 1 ⎟ ⎜ .. ⎟ ⎜ . ⎟ ⎜ ⎟ ⎜ 1 ⎟ ⎜ ⎟ ⎜ c ··· ··· ··· s ⎟ ← Zeile k ⎜ .. .. ⎟ ⎜ ⎟ ⎜ . 1 . ⎟ ⎜ ⎟ ⎜ . . . .. .. .. Gkl ≡ ⎜ ⎟ ⎟ ⎜ (A.13) ⎟ ⎜ .. .. ⎟ ⎜ . 1 . ⎟ ⎜ ⎟ ← Zeile l ⎜ −s · · · · · · · · · c ⎟ ⎜ ⎟ ⎜ 1 ⎟ ⎜ ⎟ ⎜ .. ⎠ ⎝ . 1 ↑
Spalte k
↑
Spalte l
wobei die noch die frei w¨ ahlbaren reellen Zahlen c und s wie folgt in Relation stehen m¨ ussen: c2 + s2 = 1. Diese Beziehung garantiert, daß die Givens-Transformationen
385 orthogonale Matrizen sind. Ihre Bedeutung liegt darin begr¨ undet, daß man c und s so bestimmen kann, daß bei einer Multiplikation von Gkl mit einem Vektor x ∈ Rn ein Vektor resultiert, dessen l-te Komponente gleich Null ist. Die Givens-Transformationen kommen immer dann zum Einsatz, wenn in der zu transformierenden Matrix bereits eine große Anzahl von Nullen enthalten sind. Das trifft ganz besonders auf den Fall schwach besetzter Matrizen (engl.: sparse matrices) zu. Wir wollen noch auf eine weitere wichtige Faktorisierung der Matrix A eingehen, mit der sich die Struktur der Matrix sehr genau beschreiben l¨aßt. Zu jeder beliebigen Matrix A ∈ Rn×m vom Rang r existieren orthogonale Matrizen U ∈ Rn×n und V ∈ Rm×m , so daß Σ1 0 T , A = U ΣV , Σ = (A.14) 0 0 gilt, mit Σ ∈ Rn×m , Σ1 ≡ diag(σ1 , σ2 , . . . , σr ) und σ1 ≥ σ2 ≥ · · · ≥ σr > 0. Die Zerlegung (A.14) wird Singul¨arwert-Zerlegung der Matrix A genannt. Die positiven reellen Zahlen σi , i = 1, . . . , r, heißen die Singul¨arwerte von A. Es ist u ¨ blich, die folgende Bezeichnung zu verwenden: σmax (A) ≡ der gr¨ oßte Singul¨arwert von A, σmin (A) ≡ der kleinste Singul¨arwert von A. Es gilt nun rang(A) N (A) R(A)
= r,
(A.15)
= span{vr+1 , . . . , vn }, = span{u1 , . . . , ur }.
(A.16) (A.17)
Schließlich l¨aßt sich jede Matrix A ∈ Rn×m auch in der Form A=
r
σi ui viT
(A.18)
i=1
aufschreiben. Die Formel (A.18) stellt die Grundlage f¨ ur viele theoretische und praktische Resultate in der Linearen Algebra dar. F¨ ur Vektoren x ∈ Rn verwenden wir haupts¨achlich die folgenden drei Vektor-Normen:
x 1 ≡ x 2 ≡
n
|xi |,
i=1 n
1 -Norm, 1/2
x2i
= (xT x)1/2 ,
Euklidische Norm,
i=1
x ∞ ≡ max |xi |, 1≤i≤n
Maximum-Norm.
(A.19)
386
Anhang A Grundlegende Begriffe und Resultate aus der Linearen Algebra
Als Matrizen-Normen kommen die den oben aufgef¨ uhrten Vektor-Normen u ¨ ber die Beziehung A ≡ max x=0
Ax = max Ax x x=1
(A.20)
zugeordneten Normen zum Einsatz. So gilt f¨ ur A ∈ Rn×m :
A 1 = max
1≤j≤m
n
|aij |,
A 2 = σmax (A), A ∞ = max
1≤i≤n
Spaltensummen-Norm,
i=1
Spektral-Norm,
m
|aij |,
(A.21)
Zeilensummen-Norm.
j=1
Bezeichnet A ∈ Rn×n eine nichtsingul¨ are quadratische Matrix und · p eine der oben erkl¨arten Matrix-Normen, dann ist die zugeh¨orige Konditionszahl durch condp (A) ≡ A p A−1 p
(A.22)
definiert. Wird nicht auf eine spezielle Matrix-Norm bezug genommen, dann schreiben wir einfach cond(A) = A A−1 . Das von Kahan (1966) gefundene Resultat 1 A p = min condp (A) A+ A singul¨ar A p
(A.23)
zeigt, welche Bedeutung den Konditionszahlen zukommt. Die Gr¨oße condp (A) mißt damit den Abstand von A in der p-Norm zur Menge der singul¨aren Matrizen. Speziell gilt in der Spektral-Norm cond2 (A) = A 2 A−1 2 =
σmax (A) . σmin (A)
(A.24)
Die Definition der Inversen einer Matrix l¨aßt sich auf beliebige (rechteckige) Matrizen verallgemeinern. Ist die Singul¨ arwert-Zerlegung (A.14) einer Matrix A ∈ Rn×m gegeben, + m×n dann sei die Matrix A ∈ R durch die Beziehung A+ ≡ V Σ+ U T
(A.25)
387 gegeben, mit Σ+ ≡ diag
1 1 , . . . , , 0, . . . , 0 σ1 σr
∈ Rm×n ,
r ≡ rang(A).
Die so erzeugte Matrix A+ wird Pseudo-Inverse genannt. Genauer heißt sie MoorePenrose-Pseudo-Inverse, da sie die eindeutige L¨osung X ∈ Rm×n der 4 Moore-PenroseBedingungen darstellt: (i) (ii)
AXA = A XAX = X
(iii) (iv)
(AX)T = AX (XA)T = XA.
Durch Einsetzen in die Moore-Penrose-Bedingungen kann man sich von der Richtigkeit der folgenden Aussage u ¨ berzeugen. Es sei A ∈ Rn×m eine Matrix vom Rang r. Dann gilt ⎧ ⎪ ⎪ (AT A)−1 AT , falls m = r ≤ n, ⎪ ⎨ (A.26) A+ = AT (AAT )−1 , falls n = r ≤ m, ⎪ ⎪ ⎪ ⎩ A−1 , falls n = r = m. Stellt A = QR die QR-Faktorisierung von A ∈ Rn×m , n ≥ m = rang(A), dar (siehe Formel (A.8), dann ist die Pseudo-Inverse von A durch A+ = R−1 QT
(A.27)
gegeben. Da die Spalten von Q orthonormal sind, ergibt die Norm von Q eine Eins und es gilt folglich R−1 2 = A+ 2 . Definiert man die Konditionszahl einer beliebigen rechteckigen Matrix A zu cond2 (A) ≡ A 2 A+ 2 ,
(A.28)
dann ist in unserem Falle cond2 (A) = cond2 (R). Die Eigenwerte einer Matrix A ∈ Rn×n sind die n (m¨oglicherweise komplexen) Wurzeln des charakteristischen Polynoms χ(z) ≡ det(zI − A). Die Gesamtheit aller dieser Wurzeln wird Spektrum genannt und mit λ(A) bezeichnet. Ist λ ∈ λ(A), dann stellt jeder nichtverschwindende Vektor x ∈ Rn , der die Gleichung Ax = λ x erf¨ ullt, einen Eigenvektor der Matrix A dar. Allgemeiner nennt man einen Teilraum S ⊂ Rn mit der Eigenschaft x ∈ S ⇒ Ax ∈ S einen invarianten Teilraum f¨ ur A. Im Text verwenden wir die h¨ aufig folgenden Abk¨ urzungen: λmax ≡ max{Re(λ) : λ ∈ λ(A)}, λmin ≡ min{Re(λ) : λ ∈ λ(A)}.
388
Anhang A Grundlegende Begriffe und Resultate aus der Linearen Algebra
Ein wichtiges Resultat im Zusammenhang mit den Singul¨arwerten von A ist die Beziehung (vergleiche hierzu (A.21)) A 2 = λmax (AT A).
(A.29)
Zu jeder Matrix A ∈ Rn×n gibt es eine orthogonale Matrix U , so daß U T AU = T = D + N
(A.30)
gilt, wobei D ≡ diag(λ1 , . . . , λn ) und N ∈ Rn×n eine strikt obere Dreiecks-Matrix ist. Des weiteren kann U so gew¨ ahlt werden, daß die Eigenwerte λi von A in jeder beliebigen Anordnung entlang der Diagonalen auftreten. Die Faktorisierung (A.30) heißt SchurZerlegung der Matrix A. Ist die Matrix A symmetrisch, dann gilt λ(A) ⊂ R, woraus unmittelbar folgt, daß T = D ist, d.h., die Schur-Zerlegung ergibt eine Diagonalmatrix. ¨ Eine Transformation von A in Aˆ ≡ W −1 AW mit regul¨arem W wird als Ahnlichkeitsˆ transformation bezeichnet. Die Matrizen A und A heißen dann ¨ahnlich. Bei einer solchen Transformation ¨ andern sich die Eigenwerte nicht, d.h., A und Aˆ haben dieselben Eigenwerte λj . Man sagt, eine Matrix ist diagonalisierbar, falls sich eine nichtsingul¨are ¨ Matrix W finden l¨ aßt, mit der die Ahnlichkeitstransformation auf eine Diagonalmatrix f¨ uhrt, d.h. W −1 AW = diag(λ1 , . . . , λn ).
(A.31)
Wenn A symmetrisch ist, sollte Aˆ auch symmetrisch sein, also W −1 AW = Aˆ = AˆT = W T AT W −T = W T AW −T gelten. Dies ist der Fall, wenn W −1 = W T gilt, also W orthogonal ist. ¨ Eine Ahnlichkeitstransformation Aˆ = Q−1 AQ = QT AQ,
QT Q = I
¨ mit orthogonalem W = Q nennt man kurz orthogonale Ahnlichkeitstransformation. Die Eigenwerte und die Symmetrie bleiben dabei erhalten. Eine weitere wichtige Zerlegung einer Matrix A ist die Jordansche Normalform. Zu jeder Matrix A ∈ Rn×n existiert eine nichtsingul¨are Matrix W ∈ Rn×n , so daß W −1 AW = diag(J1 , . . . , Jt )
(A.32)
389 gilt. Die sogenannten Jordan-Bl¨ocke ⎛ λi ⎜ ⎜0 ⎜ ⎜ Ji ≡ ⎜ ⎜ ⎜. ⎝ .. 0
···
1 λi .. .
..
.
..
.
..
.
..
.. ···
.
. 0
⎞ 0 .. ⎟ .⎟ ⎟ ⎟ ⎟ ⎟ ⎟ 1⎠ λi
sind von der Dimension mi × mi und es ist n = m1 + · · · + mt . Die Faktorisierung (A.32) heißt Jordansche Normalform.
Anhang B
Einige S¨ atze aus der Theorie der Anfangswertprobleme Im Anhang B wollen wir die wichtigsten theoretischen Aussagen u ¨ber die Existenz und die Eindeutigkeit von L¨ osungen des AWPs (1.5), x(t) ˙ = f (t, x(t)),
x(t0 ) = x0 ,
kurz darstellen. Die zugeh¨ origen Beweise der in den folgenden S¨atzen postulierten Behauptungen k¨ onnen der Standardliteratur zur Theorie gew¨ohnlicher Differentialgleichungen, zum Beispiel den Monografien von Hartman (1982) sowie Boyce und DiPrima (1995) entnommen werden. Wir greifen auch auf Resultate aus dem Buch von Mattheij und Molenaar (1996) zur¨ uck. Eine wichtige Eigenschaft der rechten Seite f (t, x) der obigen DGL beschreibt die Definition B.1 Die Funktion f (t, x), t ∈ J ⊂ R, x(t) ∈ Ω ⊂ Rn , heißt gleichm¨aßig Lipschitz-stetig auf J × Ω bez¨ uglich x, falls eine Konstante L ≥ 0 existiert, so daß gilt ||f (t, x1 ) − f (t, x2 )|| ≤ L ||x2 − x1 ||
(B.1)
f¨ ur alle (t, xi ) ∈ J × Ω, i = 1, 2. Jede Konstante L, die der Ungleichung (B.1) gen¨ ugt, heißt Lipschitz-Konstante (f¨ ur f auf J × Ω). Wenn f auf J × Ω gleichm¨ aßig Lipschitz-stetig ist, dann schreiben wir dies in der Kurzform f ∈ Lip(J × Ω). Diese Eigenschaft sagt aus, daß die Funktion f durch eine lineare Funktion auf Ω f¨ ur alle t ∈ J beschr¨ankt werden kann. In der Praxis ist es oft schwierig und aufwendig, die Lipschitz-Stetigkeit von f tats¨achlich nachzuweisen. F¨ ur ein konvexes Gebiet Ω l¨ aßt sich jedoch ein n¨ utzliches Kriterium angeben. Dabei nennt man eine Menge Ω ∈ Rn konvex, wenn jede Verbindungslinie zwischen zwei beliebigen Punkten in Ω vollst¨ andig in Ω enthalten ist.
392
Anhang B Einige S¨atze aus der Theorie der Anfangswertprobleme
Satz B.1 Es sei f (t, x) auf J × Ω definiert, wobei Ω ⊂ Rn eine konvexe Menge ist, und partiell stetig differenzierbar bez¨ uglich x ∈ Ω. Des weiteren m¨oge gelten, daß die zugeh¨orige Jacobi-Matrix fx (t, x) ≡ (∂fi /∂xj ) auf J × Ω beschr¨ankt bleibt, d.h. L ≡ fx(t, x) J×Ω < ∞. Dann ist f ∈ Lip(J × Ω) mit der Lipschitz-Konstanten L. Der folgende Satz geh¨ ort zu den theoretischen Standardresultaten und wird mittels sukzessiver Approximationen bewiesen. Satz B.2 (Satz von Picard-Lindel¨ of) Es gelte: • f (t, x), x(t) ∈ Rn , • f (t, x) ist auf dem Parallelepiped S ≡ {(t, x) : t0 ≤ t ≤ t0 + a, ||x − x0 || ≤ b} stetig und gleichm¨aßig Lipschitz-stetig bez¨ uglich x, • ||f (t, x)|| ≤ M auf S. Dann existiert genau eine L¨osung des AWPs (1.5) im Intervall [t0 , t0 + α], mit der Konstanten α ≡ min(a, b/M ). Der n¨achste Satz zeigt, daß die Eindeutigkeit der L¨osung x(t) des AWPs (1.5) nicht mehr gew¨ahrleistet ist, wenn keine Lipschitz-Stetigkeit von f vorausgesetzt wird. Satz B.3 (Satz von Peano) Es gelte: • f (t, x), x(t) ∈ Rn , • f (t, x) ist stetig auf S, • ||f (t, x)|| ≤ M auf S. Dann existiert mindestens eine L¨osung des AWPs (1.5) im Intervall [t0 , t0 + α], mit der Konstanten α ≡ min(a, b/M ). Die S¨atze B.2 und B.3 enthalten lediglich Aussagen von lokalem Charakter. Sie postulieren, daß das AWP (1.5) unter den getroffenen Voraussetzungen eine L¨osung auf einem bestimmten (oftmals sehr kleinen) nichtleeren Intervall um die Stelle t = t0 besitzt. Es entsteht dann die Frage, ob sich diese L¨osung auf ein viel gr¨oßeres Intervall fortsetzen l¨aßt, bzw. ob sie global f¨ ur alle t ∈ R existiert. Der folgende Satz gibt eine Antwort darauf. Satz B.4 ( Fortsetzung der lokalen L¨ osungen) Es m¨oge f ∈ Lip(J × Ω) gelten, wobei J und Ω abgeschlossen und beschr¨ankt sind. Der Anfangspunkt (t0 , x0 ) liege im Inneren von J × Ω. Dann kann die L¨osung x(t) des AWPs (1.5) bis auf den Rand von J × Ω fortgesetzt werden.
393 Um zu Aussagen u ur J = R ¨ ber die globale Existenz von L¨osungen zu kommen (d.h., f¨ bzw. J = [t0 , ∞)) m¨ ussen bereits Kenntnisse u ¨ ber das allgemeine Verhalten dieser L¨osung vorliegen. In den folgenden S¨ atzen, die gewisse Folgerungen aus dem Satz B.4 darstellen, sind derartige Aussagen formuliert. Aus praktischen Gr¨ unden wird hierbei Ω = Rn gesetzt. Satz B.5 Die L¨osung x(t) des AWPs (1.5) mit f ∈ Lip(R × Rn ) existiert global, d.h., f¨ ur alle t ∈ R, wenn die folgende Eigenschaft a priori bekannt ist: x(t) existiert f¨ ur ein t ⇒ x(t) − x0 ≤ M f¨ ur eine Konstante M > 0 . Satz B.6 Die L¨osung des AWPs (1.5) existiert global, wenn die folgende Eigenschaft a priori bekannt ist: x(t) existiert f¨ ur ein t ⇒ x(t) − x0 ≤ g(t), mit g(t) > 0 stetige Funktion auf R . Satz B.7 Die L¨osung des AWPs (1.5) existiert global, wenn die Funktion f beschr¨ankt ist, d.h., wenn f (t, x) R×Rn = M < ∞ gilt. In vielen Untersuchungen und Beweisen bei AWPn gew¨ohnlicher DGLn spielt die Gronwallsche Ungleichung eine herausragende Rolle. Wir wollen sie in zwei unterschiedlichen Formulierungen hier angeben. Satz B.8 ( Gronwallsches Lemma – Variante 1) Es seien u(t) und v(t) zwei nichtnegative, stetige Funktionen auf dem Intervall [a, b]. C ≥ 0 sei eine Konstante und es gelte t v(t) ≤ C + v(τ )u(τ ) dτ, f¨ ur a ≤ t ≤ b. (B.2) a
Dann ist
v(t) ≤ C exp
t
u(τ ) dτ,
f¨ ur a ≤ t ≤ b.
(B.3)
a
Gilt speziell C = 0, so ist v(t) ≡ 0. Satz B.9 ( Gronwallsches Lemma – Variante 2) Die Funktion x(t) erf¨ ulle f¨ ur t ≥ t0 das lineare, skalare AWP x(t) ˙ = a(t)x(t) + b(t),
x(t0 ) = x0 ,
(B.4)
wobei a(t) und b(t) stetige Funktionen sind. Erf¨ ullt die Funktion y(t) f¨ ur t ≥ t0 die Ungleichungen y(t) ˙ ≤ a(t)y(t) + b(t), y(t0 ) ≤ x0 , (B.5)
394
Anhang B Einige S¨atze aus der Theorie der Anfangswertprobleme
dann gilt y(t) ≤ x(t),
t ≥ t0 .
(B.6)
Im vorliegenden Text ist die folgende Fragestellung von Bedeutung. Die rechte Seite der DGL sei mit einem Term ε : J ×Ω → Rn und die rechte Seite der Anfangsbedingung mit einem Term ε0 ∈ Rn gest¨ ort. Wie wirken sich diese St¨orungen auf die exakte L¨osung des AWPs (1.5) aus? Um diese Problematik zu studieren, sei x(t) die L¨osung des AWPs (1.5) und y(t) die L¨osung des gest¨ orten“ AWPs ” y(t) ˙ = f (t, y(t)) + ε(t, y(t)),
y(t0 ) = y0 ≡ x0 + ε0 .
(B.7)
Beide L¨osungen m¨ ogen existieren und auf einem Intervall [t0 , T ] ⊆ J eindeutig sein. Es werde weiter vorausgesetzt, daß mit einer Lipschitz-Konstanten L gilt f ∈ Lip(J × R n ). Gesucht ist eine obere Schranke f¨ ur den Abstand von x(t) und y(t). Offensichtlich ist die Differenz e(t) ≡ y(t) − x(t) die L¨ osung des AWPs e(t) ˙ = f (t, y(t)) − f (t, x(t)) + ε(t, y(t)),
e(t0 ) = ε0 .
Die Integraldarstellung dieses AWPs lautet t e(t) = ε0 + [f (τ, y(τ )) − f (τ, x(τ )) + ε(τ, y(τ ))] dτ. t0
F¨ ur ein fixiertes t ergibt sich daraus die Ungleichung t e(t) ≤ ε0 + L e(τ ) + ε(τ, y(τ )) dτ ≡ g(t). t0
Die rechte Seite dieser Ungleichung erf¨ ullt nun g(t) ˙ ≤ L g(t) + ε(t, y(t)) ,
g(t0 ) = ε0 .
Wendet man nun den Satz B.9 an, dann erh¨alt man das folgende Resultat. Satz B.10 Es seien x(t) und y(t) die L¨osungen des AWPs (1.5) beziehungsweise des gest¨orten AWPs (B.7) auf dem Intervall J ≡ [t0 , t0 + T ]. Weiter gelte f ∈ Lip(J × Rn ) mit der Lipschitz-Konstanten L. Dann besteht f¨ ur t ∈ J die Ungleichung t e(t) ≤ eL(t−t0 ) ε0 + ε(τ, y(τ )) eL(t−τ ) dτ. (B.8) t0
Ist dar¨ uber hinaus ε(t, y) beschr¨ankt, d.h. ||ε(t, y)||J×Rn ≤ ε f¨ ur eine Konstante ε, dann ist ' $( ⎧ ε# ⎨eL(t−t0 ) ||ε0 || + 1 − e−L(t−t0 ) , f¨ ur L = 0 L (B.9) ||e(t)|| ≤ ⎩ f¨ ur L = 0. ||ε0 || + ε(t − t0 ),
395 Wir kommen nun abschließend zur Darstellung der Fundamentall¨osung eines linearen AWPs mittels der sogenannten Matrix-Exponentialfunktion. Aus der Analysis ist bekannt, daß sich die skalare Exponentialfunktion exp(at) durch die Potenzreihe exp(at) = 1 +
∞ a k tk k=1
(B.10)
k!
darstellen l¨aßt, die f¨ ur alle t konvergiert. Ersetzt man nun formal den Skalar a durch eine konstante Matrix A ∈ Rn×n , dann resultiert die Reihe I+
∞ Ak tk k=1
k!
= I + At +
A2 t2 Ak tk + ···+ + ··· 2! k!
(B.11)
Jedes Glied der Reihe (B.11) ist eine n × n Matrix. Man kann nun zeigen, daß jede Komponente dieser Matrix-Summe f¨ ur alle t konvergiert, wenn k → ∞ geht. Die Reihe definiert deshalb mit ihrer Summe eine neue Matrix, die man u ¨ blicherweise mit exp(At) bezeichnet. Somit gilt exp(At) ≡ I +
∞ Ak tk k=1
k!
.
(B.12)
Die gliedweise Differentiation der Reihe (B.12) ergibt ∞ ∞ Ak tk−1 Ak tk d =A I+ = A exp(At). (exp(At)) = dt (k − 1)! k! k=1
k=1
Damit ist offensichtlich, daß exp(At) der DGL d exp(At) = A exp(At) dt
(B.13)
gen¨ ugt. F¨ ur t = 0 erf¨ ullt exp(At) die Anfangsbedingung ) exp(At))t=0 = I.
(B.14)
Es ist deshalb m¨ oglich, die Funktion exp(At) mit der Fundamentalmatrix U (t; 0) (siehe Formel (6.41)) zu identifizieren, die das gleiche AWP erf¨ ullt, n¨amlich U˙ (t; 0) = A U (t; 0),
U (0; 0) = I.
Dies wiederum f¨ uhrt zu dem Resultat, daß sich die L¨osung des AWPs x(t) ˙ = A x(t),
x(0) = x0 ,
in der Form x(t) = exp(At) x0 aufschreiben l¨ aßt.
(B.15)
Anhang C
Interpolation und numerische Integration Im Anhang C wollen wir diejenigen Formeln aus der numerischen Interpolationstheorie bereitstellen, die bei der Konstruktion der in diesem Text betrachteten numerischen Verfahren f¨ ur Anfangs- und Randwertprobleme unmittelbar ben¨otigt werden. Gegeben sei eine Funktion f (t), die auf dem Intervall [ti , ti+1 ] durch ein geeignetes Polynom P (t) approximiert werden soll. Bei der numerischen Interpolation w¨ahlt man m paarweise verschiedene Zahlen j , j = 1(1)m, mit der Eigenschaft 0 ≤ j ≤ 1. Es sei h ≡ ti+1 − ti die Intervall-L¨ ange. Unter Verwendung der j lassen sich im Intervall [ti , ti+1 ] die Menge der St¨ utzstellen tij ≡ ti + j h,
j = 1, . . . , m
(C.1)
sowie die Menge der St¨ utzwerte f (tij ), j = 1, . . . , m, berechnen. Die Interpolationsbedingungen P (tij ) = f (tij ),
j = 1, . . . , m
(C.2)
bestimmen nun ein Polynom P (t) vom Grad h¨ochstens m − 1, das sich nach Lagrange wie folgt aufschreiben l¨ aßt. Zuerst berechnet man die Lagrange-Faktoren
Lj (t) =
m k=1,k=j
t − tik tij − tik
,
j = 1, . . . , m.
(C.3)
Diese Faktoren erf¨ ullen offensichtlich die Beziehungen Lj (til ) = δjl ,
j, l = 1, . . . , m.
(C.4)
Anhang C Interpolation und numerische Integration
398
Das gesuchte Polynom P (t) ergibt sich damit zu m
P (t) =
Lj (t)f (tij ).
(C.5)
j=1
Bez¨ uglich der Eindeutigkeit des Interpolationspolynoms in der Lagrange-Darstellung (C.5) gilt der Satz C.1 Es seien m paarweise verschiedene St¨ utzstellen ti1 , ..., tim ∈ [ti , ti+1 ] sowie eine Funktion f (t), deren Werte f (ti1 ), ..., f (tim ) an diesen Stellen bekannt sind, gegeben. Dann existiert ein eindeutig bestimmtes Polynom P (t) vom Grad h¨ochstens m − 1, das den m Interpolationsbedingungen (C.2) gen¨ ugt. Dieses Polynom kann in der Form (C.5) dargestellt werden. Beweis: Siehe zum Beispiel Hermann (2001). ¨ Uber den Fehler bei der Ersetzung der Funktion f (t) durch das obige Interpolationspolynom P (t) gilt bei hinreichender Glattheit von f (t) die folgende Aussage. Satz C.2 Auf dem reellen Intervall [ti , ti+1 ] seien m paarweise verschiedene St¨ utzstellen ti1 , ..., tim vorgegeben. Des weiteren gelte f ∈ Cm [ti , ti+1 ]. Dann existiert zu jedem t ∈ [ti , ti+1 ] ein ξ(t) ∈ (ti , ti+1 ), so daß f (t) − P (t) =
f (m) (ξ(t)) (t − ti1 ) · · · (t − tim ). m!
Hierbei ist P (t) das durch die Gleichung (C.5) definierte Lagrangesche Interpolationspolynom. Beweis: Siehe zum Beispiel Hermann (2001). Soll nun eine Approximation f¨ ur das bestimmte Integral
I=
ti+h
f (t)dt
(C.6)
ti
berechnet werden, dann kann man unter Verwendung des Interpolationspolynoms P (t) wie folgt vorgehen. Es gilt: t i +h
t i +h
f (t)dt ≈ ti
P (t)dt =
m
t i +h
f (tij )
j=1
ti t i +h
f (t)dt ≈ h ·
I= ti
Lj (t)dt, d.h. ti
m j=1
βj f (tij ),
(C.7)
399 mit
t i +h
1 Lj (t)dt bzw. βj = h
hβj = ti
t i +h
Lj (t)dt. ti
Um eine einfachere Berechnungsvorschrift f¨ ur die Koeffizienten βj zu erhalten, werde eine Variablentransformation durchgef¨ uhrt. F¨ ur t = ti sei s = 0 und f¨ ur t = ti + h sei s = 1. Damit ist t = ti + hs und dt = h · ds. Folglich gilt
βj =
1 ·h h
1
m
0 k=1,k=j
ti + hs − ti − k h ti + j h − t i − k h
1 ds =
m
0 k=1,k=j
s − k j − k
ds.
(C.8)
F¨ ur den Approximationsfehler bei der numerischen Integration (C.7) erh¨alt man bei hinreichender Glattheit der Funktion f (t) und unter Verwendung des Satzes C.2 die folgende Absch¨ atzung
ti+h ti
f (t)dt −
ti+h ti
P (t)dt ≤ C · hm+1 .
(C.9)
Anhang D
Numerische L¨ osung nichtlinearer algebraischer Gleichungssysteme ¨ Im Anhang D geben wir einen Uberblick u ¨ ber numerische Techniken zur L¨osung endlichdimensionaler nichtlinearer Gleichungssysteme. Besondere Ber¨ ucksichtigung finden dabei die sogenannten Eliminationsverfahren, da deren Einsatz bei der numerischen L¨osung von RWPn mit Schießverfahren zu sehr effektiven Algorithmen f¨ uhrt. Neben den Klassikern“, wie den Verfahren von Brown und Brent, wird das von Hermann und ” Kaiser (1995) entwickelte Verallgemeinerte Brent-Verfahren (GBM) vorgestellt.
D.1
Problemstellung
Gegeben sei ein System von d nichtlinearen Gleichungen f1 (x1 , x2 , . . . , xd ) = 0 f2 (x1 , x2 , . . . , xd ) = 0 .. . fd (x1 , x2 , . . . , xd ) = 0
(D.1)
ogen die Funktionen fi : Rd → R, i = 1, . . . , d, in den d Unbekannten x1 , . . . , xd . Dabei m¨ als mindestens zweimal stetig differenzierbar vorausgesetzt werden. Des weiteren wollen wir hier stets davon ausgehen, daß das Gleichungssystem (D.1) mindestens eine L¨osung x∗ ∈ Rd besitzt. Da die Reihenfolge der Gleichungen im folgenden eine wesentliche Rolle spielen wird, sollten diese, soweit m¨ oglich, aufsteigend von linear, schwach nichtlinear bis stark nichtlinear sortiert werden.
402
Anhang D Numerische L¨osung nichtlinearer algebraischer Gleichungssysteme
F¨ uhrt man die Vektoren x ≡ (x1 , . . . , xd )T ,
! "T und F (x) ≡ f1 (x), . . . , fd (x)
ein, dann l¨aßt sich das Gleichungssystem (D.1) auch in der kompakten Form F (x) = 0,
F : R d → Rd
(D.2)
schreiben. Ausgehend von der Gleichung (D.2) kann mit Hilfe eines der nachfolgend beschriebenen Verfahren iterativ eine numerische L¨osung x ˜ ermittelt werden. Dabei gilt f¨ ur alle Verfahren, daß man beginnend mit einem Startvektor x(0) ∈ Rn eine Vektorfolge {x(k) }∞ k=0 anhand einer noch zu konkretisierenden Vorschrift x(k) = G(x(k−1) ),
k = 1, 2, . . . ,
(D.3)
erzeugt, die unter bestimmten Voraussetzungen gegen die L¨osung x∗ ∈ Rd von (D.2) konvergiert. Eine N¨ aherung x(i) wird dann als numerische L¨osung x ˜ von x∗ akzeptiert, falls x(i) − x(i−1) 22 < XT OL bzw.
F (x(i) ) 22 < F T OL
(D.4)
gilt. Dabei sind XT OL und F T OL vorgegebene Toleranzen. Bei der Wahl des Startvektors x(0) ist darauf zu achten, daß dieser bereits nahe bei der L¨osung x∗ liegt, da sonst das entsprechende (nur lokal konvergente) Verfahren i.allg. nicht konvergiert. Die einzelnen Verfahren unterscheiden sich in der Verfahrensfunktion G : Rd → Rd und daraus folgend, wie schnell und mit welchem Aufwand eine numerische L¨osung gefunden werden kann.
D.2
Newton-Verfahren
Bei dem Newton-Verfahren (siehe zum Beispiel Ortega und Rheinboldt (1970) oder Schwetlick (1979)) werden die durch den Funktionenvektor F gegebenen Gleichungen mit Hilfe der Taylorentwicklung an der Stelle x(k−1) linearisiert (Taylorpolynom ersten Grades). Man berechnet F (x) = F (x(k−1) ) + J(x(k−1) )(x − x(k−1) ) + O( x − x(k−1) 2 ),
D.2 Newton-Verfahren
403
wobei ⎛
∂f1 (x) ⎜ ∂x1 ⎜ ⎜ ⎜ ∂f (x) 2 ⎜ ⎜ ∂x ⎜ 1 J(x(k−1) ) ≡ F (x(k−1) ) = ⎜ ⎜ .. ⎜ ⎜ . ⎜ ⎜ ⎜ ⎝ ∂fd (x) ∂x1
∂f1 (x) ∂x2
···
∂f2 (x) ∂x2
···
.. . ∂fd (x) ∂x2
···
⎞ ∂f1 (x) ∂xd ⎟ ⎟ ⎟ ∂f2 (x) ⎟ ⎟ ⎟ ∂xd ⎟ ⎟ ⎟ .. ⎟ ⎟ . ⎟ ⎟ ⎟ ∂fd (x) ⎠ ) )x=x(k−1) ∂xd
die Jacobi-Matrix der Funktion F : Rd → Rd an der Stelle x(k−1) bezeichnet. Unter der Voraussetzung, daß x(k−1) bereits nahe bei der L¨osung x∗ liegt, gilt nach (D.2) 0 ≈ G(x) ≡ F (x(k−1) ) + J(x(k−1) )(x − x(k−1) ). Somit kann die Bestimmung der neuen (verbesserten) Iterierten x(k) nach der Vorschrift x(k) = G(x(k−1) ) = x(k−1) − J(x(k−1) )−1 F (x(k−1) ),
k = 1, 2, . . .
(D.5)
erfolgen. Wie aus der Iterationsvorschrift (D.5) zu ersehen ist, geht in die Berechnung von x(k) die Inverse der Jacobi-Matrix ein. Da die explizite Berechnung dieser Inversen i.allg. sehr aufwendig ist, bestimmt man x(k) nach der folgenden Vorschrift viel effektiver aus einem linearen Gleichungssystem: Basis-Schritt: Newton-Verfahren 1) Man l¨ ose das lineare Gleichungssystem J(x(k−1) ) y (k−1) = −F (x(k−1) )
(D.6)
mittels einer LU-Faktorisierung der Systemmatrix. 2) Man berechne die neue Iterierte x(k) = x(k−1) + y (k−1) . Damit der Algorithmus (D.6) wohldefiniert ist, muß die Nichtsingularit¨at von J(x∗ ) vorausgesetzt werden. Mit Hilfe von Stetigkeitsargumenten kann dann gezeigt werden, daß auch in einer Umgebung von x∗ die Jacobi-Matrix nichtsingul¨ar bleibt. L¨osungen x∗ des nichtlinearen Gleichungssystems (D.2) mit der Eigenschaft det(J(x∗ )) = 0 bezeichnet man auch als isolierte (lokal eindeutige) L¨ osungen. Bei der praktischen Realisierung des Newton-Verfahrens verwendet man i. allg. nur Approximationen der Jacobi-Matrix. Die einfachste, aber auch aufwendigste M¨oglichkeit
404
Anhang D Numerische L¨osung nichtlinearer algebraischer Gleichungssysteme
f¨ ur eine solche Approximation ergibt sich, wenn man die partiellen Ableitungen durch die zugeh¨origen Differenzenquotienten ann¨ahert, d. h. (k)
fi (x(k−1) + hl e(l) ) − fi (x(k−1) ) ∂fi (k−1) (x )≈ , (k) ∂xl hl
i, l = 1, . . . , d,
(D.7)
(k)
wobei e(j) den j-ten Einheitsvektor und hl die Diskretisierungsschrittweite bezeichnen. Bei der Implementierung des Verfahrens ist es nicht sinnvoll, immer die gleiche Schrittweite zu verwenden. Vielmehr wird man f¨ ur jeden Iterationsschritt k und f¨ ur (k−1) (k) jede Komponente xl eine eigene Diskretisierungsschrittweite hl benutzen. Diesbez¨ uglich machen Mor´e und Cosnard (1979) f¨ ur das Newton-Verfahren den Vorschlag, (k) (k) T (k) den Vektor h = (h1 , . . . , hd ) wie folgt zu bestimmen:
h(k)
⎡⎛ ⎞ ⎛ ⎞⎤ (k−1) 1 |x1 | ⎟⎥ √ ⎢⎜ . ⎟ ⎜ ⎜ . ⎟⎥ = ε⎢ ⎣⎝ .. ⎠ + ⎝ .. ⎠⎦ . 1
(D.8)
(k−1) |xd |
Der Parameter ε bezeichnet die relative Maschinengenauigkeit (siehe hierzu Hermann (2001)). Anschließend werden nach (D.6) die neue Iterierte x(k) bestimmt und die Abbruchbedingungen (D.4) u uft. ¨berpr¨ Effektivere Varianten f¨ ur die Approximation der Jacobi-Matrix sind in den Monografien von Ortega und Rheinboldt (1970), Schwetlick (1979) sowie Rheinboldt (1998) angegeben. Um die verschiedenen Verfahren miteinander vergleichen zu k¨onnen, ist es sinnvoll, den Rechenaufwand pro Iterationsschritt anzugeben. Das Newton-Verfahren ben¨otigt hierbei (siehe zum Beispiel Hermann (2001)): • d2 + d Funktionsauswertungen (bei der Differenzenapproximation (D.7) von J) • O(d3 ) arithmetische Operationen (flops) • d2 + O(d) Speicherpl¨ atze. Die Konvergenz des Newton-Verfahrens wird in dem folgenden Satz analysiert. Satz D.1 Die Funktion F : D ⊂ Rd → Rd besitze die regul¨are Nullstelle x∗ ∈ D (d.h., neben F (x∗ ) = 0 gelte auch S ∗ ≡ S(x∗ , δ ∗ ) ⊆ int(D) f¨ ur δ ∗ > 0 und J(x∗ ) existiert auf ∗ S , ist Lipschitz-stetig mit der Lipschitz-Konstanten L > 0 und nichtsingul¨ar). Dann existieren Zahlen δ > 0 und C > 0 mit δ C < 1, so daß das Newton-Verfahren f¨ ur jeden Startvektor x(0) ∈ S = S(x∗ , δ) durchf¨ uhrbar ist, die Iterierten in S verbleiben und gegen x∗ konvergieren. Des weiteren gilt die Fehlerabsch¨atzung x(k+1) − x∗ ≤ C x(k) − x∗ 2 f¨ ur alle k ≥ 0.
D.3 Brown-Verfahren
405
Beweis: Siehe Schwetlick (1979).
Ein entsprechendes Konvergenzresultat wurde bereits mit dem Satz von Newton-Kantorovich (siehe Satz 7.4) im Abschnitt 7.6 angegeben.
D.3
Brown-Verfahren
¨ Ahnlich wie beim Newton-Verfahren werden auch im Brown-Verfahren die Gleichungen des Systems (D.1) unter Verwendung der Taylorentwicklung linearisiert. Dies erfolgt jedoch nicht mehr simultan, sondern nacheinander, so daß in jedem Iterationsschritt zur Aufl¨osung der zweiten Gleichung des Systems (D.1) bereits eine, gegen¨ uber dem Newton-Verfahren (etwas) modifizierte Iterierte benutzt wird. Die folgende Darstellung orientiert sich an der von Gay (1975a,b) entwickelten Version des Brown-Verfahrens, die sich etwas von der Originalversion (siehe hierzu Brown (1969) oder Hermann (2001)) unterscheidet. Ist bereits eine Iterierte x(k−1) bestimmt worden, dann erzeugt das Brown-Verfahren die n¨achste Iterierte x(k) mit dem folgenden Algorithmus: Basis-Schritt: Brown-Verfahren 1) Man setze y (1) ≡ x(k−1) . 2) F¨ ur l = 1, . . . , d bestimme man y (l+1) als L¨osung der Gleichungen Gl (x) ≡ fj (y (j) ) + aTj (x − y (j) ) = 0,
1 ≤ j ≤ l,
(D.9)
wobei im Vektor y (l+1) −y (l) mindestens d−l Komponenten aus Nullen bestehen. 3) Man setze x(k) ≡ y (d+1) . Man bezeichnet die Vektoren x(k−1) und x(k) als die ¨außeren Iterierten und die Berechnung von x(k) aus x(k−1) als die a ¨ußere Iteration. Entsprechend handelt es sich bei der Berechnung von y (l+1) aus y (l) um eine innere Iteration und die Vektoren y (1) , . . . , y (d+1) werden deshalb innere Iterierte genannt. In Anlehnung an die GaußElimination f¨ ur lineare Gleichungssysteme werden wir bei der inneren Iteration auch von einer Elimination mit den zugeh¨ origen Eliminationsschritten sprechen. Der Vektor aj steht f¨ ur eine Approximation des Gradienten ∇fj (x(k−1) ), d.h., bei aTj handelt es sich n¨ aherungsweise um die j-te Zeile der Jacobi-Matrix J(x(k−1) ). Die obige Beschreibung des Verfahrens ist nat¨ urlich nicht vollst¨andig, denn es muß noch gezeigt werden, wie f¨ ur ein beliebiges l, mit 1 ≤ l ≤ d, der Vektor p(l) ≡ y (l+1) − y (l)
(D.10)
406
Anhang D Numerische L¨osung nichtlinearer algebraischer Gleichungssysteme
so bestimmt werden kann, daß mindestens d − l Komponenten Null sind. Des weiteren fehlt eine Vorschrift zur Berechnung der Approximationen aj . An dieser Stelle wollen wir jedoch annehmen, daß a1 , . . . , al bereits bekannt sind. Die Definition von y (l+1) und der Ausdruck (D.10) implizieren −aTj p(l) = fj (y (j) ) + aTj (y (l) − y (j) ), woraus dann wegen der Definition von y (l) % aTj p(l) =
0
f¨ ur
ur −fl (y (l) ) f¨
1≤j 0} stetig und nichtsingul¨ar in x∗ ist, dann existieren positive Konstanten r und ε, so daß f¨ ur einen Startvektor (k) x(0) ∈ S(x∗ ; r) und |hj | ≤ ε das Brown-Verfahren eine Folge {x(k) }∞ k=0 erzeugt, die gegen x∗ konvergiert. Erf¨ ullt J(x) auch die Bedingung J(x)−J(x∗ ) ∞ ≤ K x−x∗ ∞ f¨ ur alle x−x∗ ∞ ≤ R (k) und gilt hj = O(|f1 (x(k) )|), dann besitzt das Brown-Verfahren mindestens die Konvergenzordnung 2. Beweis: Siehe die Arbeit von Brown und Dennis (1971).
D.4
Brent-Verfahren
Das Brent-Verfahren (siehe z. B. Brent (1973)) geh¨ort genau wie das Brown-Verfahren zu den Newton-¨ ahnlichen Verfahren vom Eliminationstyp. Das heißt, auch hier werden die in (D.1) gegebenen Gleichungen mittels Taylorentwicklungen sukzessive linearisiert. Der Unterschied zum Brown-Verfahren besteht jedoch darin, daß der Vektor p (l) aus (D.10) nicht mehr d − l Nullen enthalten soll, sondern y (l+1) so gew¨ahlt wird, daß die l2 -Norm von p(l) minimal wird. Ist die (¨außere) Iterierte x(k−1) bereits ermittelt, dann erzeugt das Brent-Verfahren (siehe Mor´e und Cosnard (1979)) eine neue Iterierte x(k) nach der Vorschrift: Basis-Schritt: Brent-Verfahren 1) Man setze y (1) ≡ x(k−1) . 2) F¨ ur l = 1, . . . , d bestimme man y (l+1) als L¨osung der Gleichungen Gl (x) ≡ fj (y (j) ) + aTj (x − y (j) ) = 0,
1 ≤ j ≤ l,
(D.21)
wobei der Vektor y (l+1) − y (l) minimal bzgl. der l2 -Norm sein soll. 3) Man setze x(k) ≡ y (n+1) . aherung des Gradienten-Vektors ∇fj (x(k−1) ). Auch hier bezeichnet aj wieder eine N¨ Des weiteren m¨ ogen wie beim Brown-Verfahren die Beziehungen (D.10) und (D.11) gelten. Um nun p(l) zu bestimmen, verwendet man bei dieser Verfahrensvariante eine orthogonale Matrix Ql+1 , die analog zu (D.12) die Gleichung ⎛ ⎞ σ1 aT1 ⎜x ⎜aT2 ⎟ ⎜ ⎜ ⎟ ⎜ .. ⎟ Ql+1 = ⎜ .. ⎝. ⎝ . ⎠ T x al ⎛
0 σ2 .. . ···
⎞ ··· ··· ··· ··· 0 0 · · · · · · · · · 0⎟ ⎟ .. ⎟ .. .. . . .⎠ x σl 0 ··· 0
(D.22)
410
Anhang D Numerische L¨osung nichtlinearer algebraischer Gleichungssysteme
erf¨ ullt, mit σi = 0, 1 ≤ i ≤ l. An sp¨ aterer Stelle werden wir zeigen, wie man Ql+1 effektiv bestimmen kann. Unter Beachtung der Identit¨ at aTj p(l) = (aTj Ql+1 )(QTl+1 p(l) ) folgt wie beim BrownVerfahren, daß zur Erf¨ ullung von (D.11) die Beziehung
QTl+1 p(l) =
d
ηj e(j) ,
wobei
ηl ≡ −
j=l
fl (y (l) ) σl
(D.23)
gelten muß. Da die Zahlen ηl+1 , . . . , ηd wieder frei w¨ahlbar sind und die l2 -Norm von p(l) zu minimieren ist, setzt man ηl+1 , . . . , ηd gleich Null. Damit ergibt sich aus der Beziehung QTl+1 p(l) = ηl e(l) eine Bestimmungsgleichung f¨ ur p(l) der Form p(l) = ηl Ql+1 e(l) = −
fl (y (l) ) Ql+1 e(l) . σl
(D.24)
Hieraus folgt y (l+1) = y (l) − (fl (y (l) )/σl )Ql+1 e(l) . Somit ist gezeigt, wie man einen inneren Iterationsschritt zu realisieren hat, wenn eine orthogonale Matrix Q l+1 vorliegt, die (D.22) erf¨ ullt. Wir m¨ ussen nun noch darauf eingehen, wie Ql+1 zu bestimmen ist. Es werde dazu angenommen, daß am Beginn der l-ten inneren Iteration eine orthogonale Matrix Ql vorliegt, f¨ ur die eine Beziehung der Form (D.22) gilt, bei der l durch (l − 1) ersetzt ist. Insbesondere sei Q1 eine orthogonale Matrix. Um ein Ql+1 zu erhalten, das (D.22) erf¨ ullt, berechnet man zuerst eine orthogonale Matrix Ul der Form Ul =
Il−1 0
0 ˆl , U
(D.25)
so daß (aTl Ql )Ul = (x, . . . , x, σl , 0, . . . , 0)
(D.26)
gilt. Die Matrix Ul kann entweder durch eine einfache Householder-Matrix oder aber durch das Produkt von d − l Givens-Rotationen dargestellt werden (siehe dazu auch Anhang A, Formeln (A.10) und (A.13)). In jedem Falle ist klar, daß Ql+1 ≡ Ql Ul die Gleichung (D.22) erf¨ ullt. F¨ ur die folgenden Ausf¨ uhrungen wollen wir annehmen, daß Ul als eine HouseholderMatrix vorliegt, d.h., sie ist von der Form Ul = I −
2 (v (l) )(v (l) )T , (v (l) )T (v (l) )
mit v (l) ∈ Rd .
Offensichtlich h¨ angt die Matrix Ul nur von den letzten d − l + 1 Komponenten des Vektors a ˜l ≡ QTl al ab. Somit braucht man wie beim Brown-Verfahren nur die letzten
D.4 Brent-Verfahren
411
(d − l + 1) Komponenten der Approximation a ˜ l von QTl ∇fl (xk−1 ) zu berechnen. Dies l¨aßt sich wieder mit der Differenzenapproximation ⎞ ⎛ 0 ⎟ ⎜ .. ⎟ ⎜ . ⎟ ⎜ ⎟ ⎜ 0 ⎟ ⎜ ⎜ f (y (l) + h(k) Q e(l) ) − f (y (l) ) ⎟ ⎟ ⎜ l l l l ⎟ (D.27) a ˜l = QTl al = ⎜ (k) ⎟ ⎜ hl ⎟ ⎜ ⎟ ⎜ .. ⎟ ⎜ . ⎟ ⎜ (k) ⎜ (l) (d) (l) ⎟ ⎝ fl (y + hd Ql e ) − fl (y ) ⎠ (k) hd erreichen, bei der die ersten (l − 1) Komponenten willk¨ urlich gleich Null gesetzt wurden. Das in der Gleichung (D.24) enthaltene σl wird beim Brent-Verfahren wie folgt gew¨ahlt (siehe Schwetlick (1979)) % − ˜ al 2 , falls eTl al ≥ 0 σl = (D.28) ˜ al 2 , sonst. aßt sich der Algorithmus (D.21) f¨ ur das Brent-Verfahren Setzt man Q1 = I, dann l¨ unter Zuhilfenahme der obigen Erkenntnisse wie folgt erweitern: Erweiterter Basis-Schritt: Brent-Verfahren 1) Man setze y (1) ≡ x(k−1) . 2) F¨ ur l = 1, . . . , d bestimme man: 2.1) a ˜l nach (D.27), 2.2) σl nach (D.28), ˜Tl Ul = σl (e(l) )T gilt, 2.3) die Matrix Ul in (D.25) mit der Eigenschaft, daß a 2.4) die Matrix Ql+1 entsprechend Ql+1 = Ql Ul und 2.5) den Vektor y (l+1) entsprechend y (l+1) = y (l) −
fl (y (l) ) Ql+1 e(l) σl
3) Man setze x(k) ≡ y (d+1) . (D.29) Da die Bestimmung der Vektoren a ˜l sowohl im Brent- als auch im Brown-Algorithmus mit einem erheblichen Aufwand verbunden ist und diese Vektoren oftmals nahezu konstant sind, machen Mor´e und Cosnard (1979) den Vorschlag, die entsprechenden Algorithmen so zu modifizieren, daß neue Approximationen f¨ ur die zu berechnenden Ableitungen nur nach einer festen Anzahl von Iterationsschritten ermittelt werden. Dies f¨ uhrt auf den unten angegebenen Algorithmus, der sich gegen¨ uber dem Brown- und
412
Anhang D Numerische L¨osung nichtlinearer algebraischer Gleichungssysteme
dem Brent-Verfahren dadurch unterscheidet, daß die zus¨atzlichen Schritte 3) – 5) an die jeweilige Standardvariante angef¨ ugt sind: Modifizierter Basis-Schritt: Brown- bzw. Brent-Verfahren 1) Man setze y (1) ≡ x(k−1) . 2) F¨ ur l = 1, . . . , d bestimme man y (l+1) nach dem Algorithmus (D.20) bzw. (D.29). 3) Man setze z (1) ≡ y (d+1) .
(D.30)
4) F¨ ur r = 1, . . . , m bestimme man z (r+1) nach (D.20) bzw. (D.29) unter Verwendung der im zweiten Schritt bestimmten a ˜ l , σl und Rl bzw. Ql . 5) Man setze x(k) ≡ z (m+1) .
Man kann den Schritt 4) als eine Form der Nachiteration (engl.: iterative refinement) interpretieren, die aus der Numerik linearer Gleichungssysteme bekannt ist (siehe zum Beispiel Hermann (2001)). Mor´e und Cosnard warnen jedoch auch vor m¨oglichen negativen Folgen dieser Modifikation. W¨ ahrend das urspr¨ ungliche Brown- bzw. BrentVerfahren (der Fall m = 0) bei einem speziellen Problem konvergiert, kann es durchaus vorkommen, daß die zugeh¨ orige modifizierte Variante (m > 0) f¨ ur dieses Problem divergiert. Aus diesem Grunde verwendet man u blicherweise den Algorithmus (D.30) nur ¨ f¨ ur das Brent-Verfahren, so daß sich aus (D.29) und (D.30) der folgende modifizierte Brent-Algorithmus, welcher in der Literatur auch als BrentM-Verfahren bezeichnet wird (siehe Mor´e und Cosnard (1979, 1980)), ergibt: Modifizierter Basis-Schritt: BrentM-Verfahren 1) Man setze y (1) ≡ x(k−1) . 2) F¨ ur l = 1, . . . , d bestimme man: 2.1) a ˜l nach (D.27), 2.2) σl nach (D.28), 2.3) die Matrix Ul in (D.25) mit der Eigenschaft, daß a ˜ Tl Ul = σl (e(l) )T gilt, 2.4) die Matrix Ql+1 entsprechend Ql+1 = Ql Ul und 2.5) den Vektor y (l+1) entsprechend y (l+1) = y (l) −
fl (y (l) ) Ql+1 e(l) . σl
3) Man setze z (1) ≡ y (d+1) . 4) F¨ ur r = 1, . . . , m bestimme man z (r+1) aus z (r) mittels der Schrittfolge 4.1) Man setze y (1) ≡ z (r) , 4.2) F¨ ur l = 1, . . . , d berechne man y (l+1) = y (l) − 4.3) Man setze z (r+1) ≡ y (d+1) . 5) Man setze x(k) = z (m+1) .
fl (y (l) ) Ql+1 e(l) , σl
(D.31)
D.4 Brent-Verfahren
413
Der Rechenaufwand des Brent- und des BrentM-Verfahrens bestimmt sich pro Iterationsschritt zu (siehe hierzu Mor´e und Cosnard (1979)): •
d2 + 3d Funktionsauswertungen 2
• O(d3 ) arithmetische Operationen (flops) •
d2 + O(d) Speicherpl¨ atze. 4
Wir wollen abschließend noch einige Hinweise f¨ ur die Implementierung des BrentVerfahrens geben. Da aber das Brent-Verfahren ein Spezialfall (m = 0) des allgemeineren BrentM-Verfahrens ist, braucht hier nur das letztere betrachtet zu werden. Zu Beginn des BrentM-Verfahrens hat man den Parameter m f¨ ur die Nachiteration festzulegen. Brent (1973) definiert die Effektivit¨at E eines allgemeinen Iterationsverfahrens der Ordnung ρ > 1, das pro Iterationsschritt w Funktionswertberechnungen ben¨otigt, als E≡
log ρ . w
Darauf Bezug nehmend schl¨ agt Brent vor, ein solches m zu verwenden, welches E maximiert. Es kann gezeigt werden, daß im Falle des BrentM-Verfahrens
E(m) =
2 ln(m + 1) (d + 2m + 1)
gilt. Deshalb ist es sachgem¨ aß, ein m = mopt zu verwenden, mit
max E(m) =
1≤m≤d
2 ln(mopt + 1) . d + 2mopt + 1
(D.32)
ur einige Werte von d die Offensichtlich h¨ angt mopt nur von d ab. In Tabelle D.1 sind f¨ zugeh¨origen mopt -Werte aufgelistet. d
2
3
4
5
10
20
50
100
1000
mopt
2
3
3
3
5
7
14
22
128
Tabelle D.1: mopt f¨ ur verschiedene d Wir kommen jetzt zur Bestimmung der einzelnen Iterierten im BrentM-Verfahren. Ausgehend von der ¨ außeren Iterierten x(k−1) , welche gleich y (1) gesetzt wird, ermittelt
414
Anhang D Numerische L¨osung nichtlinearer algebraischer Gleichungssysteme
man in d Eliminationsschritten eine neue ¨außere Iterierte x(k) nach der folgenden Strategie. Im ersten Eliminationsschritt wird analog zum Brown-Verfahren die nichtlineare Funktion f1 (x) durch die lineare Funktion G1 (x) ≡ f1 (y (1) ) + f1 (y (1) )T (x − y (1) ) approximiert. Die L¨ osungsmenge X1 ≡ {x : G1 (x) = 0} dieser Gleichung besteht jedoch nicht nur aus einem Element, sondern es handelt sich dabei um eine (d − 1)dimensionale Mannigfaltigkeit des Rd . Aus diesem Grund f¨ ugt man die Zusatzbedingung x − y (1) 2 → min hinzu. Dies f¨ uhrt zu einer eindeutigen L¨osung y (2) . Analog zum ersten Eliminationsschritt bestimmt man im i-ten Eliminationsschritt aus der (i−1)-ten inneren Iterierten durch L¨ osen der Gleichung Gi (x) ≡ fi (y (i) ) + fi (y (i) )T (x − y (i) ) die L¨osungsmenge Xi ≡ {x : Gj (x) = 0 f¨ ur 1 ≤ j ≤ i} und berechnet daraus die ite innere Iterierte y (i+1) , welche die Zusatzbedingung x − y (i) 2 → min erf¨ ullt. Die Menge Xi ist dabei eine (d − i)-dimensionale lineare Mannigfaltigkeit des Rd . Im d-ten Eliminationsschritt weist man der neuen ¨außeren Iterierten x(k) den Wert der d-ten inneren Iterierten y (d+1) zu, d. h., man setzt x(k) ≡ y (d+1) . Es verbleibt noch die Frage, wie die inneren Iterierten y (i) , i = 2, . . . , d+1, konkret zu berechnen sind. Da y (i) nach der im Schritt 2.5) des Algorithmus (D.31) angegebenen Formel berechnet wird, ben¨ otigt man dazu in jedem Eliminationsschritt die Matrix Qi , ur den i-ten Eliminationswobei u ¨ blicherweise Q1 ≡ I gesetzt wird. Diese Matrix kann f¨ schritt durch die nachfolgend beschriebene Strategie bestimmt werden. Es seien dazu y (i) und Qi gegeben. Des weiteren m¨ ogen der Vektor a ˜i nach (D.27) sowie σi nach (D.28) bereits bestimmt sein. Da Ui eine Householder-Matrix sein soll, reicht die Bestimmung des Householder-Vektors v (i) ∈ Rd aus, um die Matrix Ui festzulegen. Dabei gilt ⎧ 0 f¨ ur j = 1, . . . , i − 1 ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ( ai 2 + |(e(j) )T ai |) f¨ ur j = i und (e(j) )T ai ≥ 0 (i) vj = (e(j) )T v (i) = (D.33) ⎪ ur j = i und (e(j) )T ai < 0 −( ai 2 + |(e(j) )T ai |) f¨ ⎪ ⎪ ⎪ ⎪ ⎩ ur j = i + 1, . . . , d, (e(j) )T ai f¨ und Ui bestimmt sich zu Ui = I −
2 (v (i) )(v (i) )T . (v (i) )T (v (i) )
(D.34)
Durch eine anschließende Matrizenmultiplikation ergibt sich die gesuchte Matrix Q i+1 (siehe Algorithmus (D.29)) und daraus auch y (i+1) . Wegen der speziellen Gestalt der Matrix Ui ist es bei der Realisierung dieser Schritte nicht erforderlich, die oben genannte Matrizenmultiplikation tats¨achlich auch auszuf¨ uhren, da die ersten i − 1 Spalten der Matrix Qi nicht ver¨andert werden und deshalb
D.4 Brent-Verfahren
415
f¨ ur Qi+1 einfach u onnen. Die restlichen d−i+1 Spalten lassen sich ¨bernommen werden k¨ direkt, d.h., ohne eine explizite Bestimmung der Matrix Ui , durch Addition bzw. Subtraktion unter Verwendung der Gleichungen (D.33) und (D.34) und den Regeln f¨ ur die Matrizenmultiplikation berechnen. Nach d Eliminationsschritten erh¨ alt man so die neue Iterierte x(k) . Anschließend werden, genau wie beim Brown-Verfahren, die Abbruchbedingungen (D.4) u uft. Falls ¨berpr¨ diese nicht erf¨ ullt sind, wird im Brent-Verfahren (D.29) die (¨außere) Iterationsschrittzahl um Eins erh¨ oht und es erfolgt die Bestimmung der neuen Iterierten x(k+1) wie oben beschrieben. Im BrentM-Verfahren wird vorher unter Verwendung der Matrizen Qi und der Zahlen σi die durch die Schritte 3)−5) des Algorithmus (D.31) erkl¨arte Nachiteration realisiert. Es ist jedoch sinnvoll, diese Schritte nur dann auszuf¨ uhren, falls eine Bedingung der Form y (d+1) − x(k−1) ∞ ≤ c y (d+1) ∞ ,
c ≈ 0.05,
(D.35)
erf¨ ullt ist. Da bei der Bestimmung von y (i) nur die Informationen der i-ten Spalte der Matrix Qi zur Berechnung verwendet werden und diese aufgrund der oben beschriebenen Konstruktionsvorschrift f¨ ur die Matrix Qi+1 immer noch in der i-ten Spalte stehen (die Spalten 1 bis i werden einfach u ¨ bernommen), enth¨alt die Matrix Qd+1 alle ben¨otigten Informationen, so daß eine Speicherung der zur¨ uckliegenden Matrizen unn¨otig ist. F¨ ur m wird der zu Beginn bestimmte Wert mopt verwendet. Im Schritt 5) des BrentMVerfahrens (D.31) erh¨ alt man die neue (¨ außere) Iterierte x(k) , f¨ ur welche wieder die Abbruchbedingungen (D.4) zu u ufen sind. Sind diese nicht erf¨ ullt, dann wird das ¨ berpr¨ Verfahren mit dem n¨ achsten Iterationsschritt fortgesetzt. (k) (k) F¨ ur die Bestimmung des Vektors h(k) ≡ (h1 , . . . , hd )T zur Berechnung der gen¨aherten Ableitungen a ˜i nach (D.27) gibt es auch f¨ ur dieses Verfahren in der Literatur verschiedene Vorschl¨ age. Mor´e und Cosnard (1979) bestimmen h(k) genau wie im BrownVerfahren nach Gleichung (D.19) zu
(k) hj
% √ ε x(k−1) ∞ , falls x(k−1) = 0 ≡ √ ε, sonst,
j = 1, . . . , d.
(D.36)
(k−1)
Brent (1973) bestimmt h(k) im Gegensatz dazu durch die Verwendung von σ1 dem vorhergehenden Iterationsschritt wie folgt
(k)
hj
) ) ⎧ ) f (x(k−1) ) ) (k−1) ⎪ f (x ) ) ) 1 1 ⎪ ⎨ − , falls ) ) ≥ xT OL (k−1) (k−1) ) ) σ1 σ1 ≡ ⎪ ⎪ ⎩ xT OL, sonst,
j = 1, . . . , d.
aus
(D.37)
416
Anhang D Numerische L¨osung nichtlinearer algebraischer Gleichungssysteme
Auch hier l¨aßt sich nicht ohne weiteres sagen, welcher der beiden Vorschl¨age f¨ ur ein spezielles Problem geeigneter ist. Dies kann nur durch entsprechende Tests herausgefunden werden (siehe zum Beispiel H¨ ohn (2002)).
D.5
Verallgemeinertes Brent-Verfahren
Beim Verallgemeinerten Brent-Verfahren (engl.: Generalized Brent Method; im weiteren kurz GBM genannt) wird das durch (D.1) gegebene Problem in μ Bl¨ocke unterteilt (siehe Hermann und Kaiser (1995)). Somit gilt
0 = F (x)
⇔
⎧ Fp1 (x) = 0 ⎪ ⎪ ⎪ ⎨ Fp2 (x) = 0 , .. ⎪ . ⎪ ⎪ ⎩ Fpμ (x) = 0
(D.38)
mit p1 +p2 +· · ·+pμ = d. Die Block-Gleichung Fpk (x) = 0 besteht dabei aus pk skalaren Gleichungen. Die Zahl μ wird als Stufenzahl des GBM bezeichnet. Das GBM bestimmt die neue Iterierte x(k) aus dem Vorg¨anger x(k−1) in μ Eliminationsschritten y (1) , y (2) , . . . , y (μ+1) nach dem folgenden Algorithmus Basis-Schritt: Verallgemeinertes Brent-Verfahren 1) Man setze y (1) ≡ x(k−1) . 2) F¨ ur l = 1, . . . , μ bestimme man y (l+1) als L¨osung der Gleichungen Gl (x) ≡ Aj (y (j) )F (y (j) )+Aj (y (j) )J(y (j) ) (x−y (j) ) = 0,
1 ≤ j ≤ l,
(D.39)
wobei der Vektor y (l+1) − y (l) minimal bzgl. der l2 -Norm sein soll. 3) Man setze x(k) ≡ y (μ+1) . Die Matrix Aj (y (j) ) ∈ Rpj ×d wird zu Beginn jedes Eliminationsschrittes so gew¨ahlt (siehe die Arbeit von Hermann und Kaiser (1995)), daß die folgenden zwei Bedingungen erf¨ ullt sind: 1) Rangbeziehung: rg(A(j) ) = lj , ⎛
mit A(j)
⎞ A1 (y (1) ) ⎜ ⎟ .. ≡⎝ ⎠ ∈ Rlj ×d , . Aj (y
(j)
)
lj ≡
j i=1
pi .
(D.40)
D.5 Verallgemeinertes Brent-Verfahren
417
2) Normbeziehung: Wird (A(j) )T orthogonal in der Form (j) T
(A
) =
(j) [Qj |(QA )T ]
UA 0
Qj ∈ Rd×lj , UA ∈ Rlj ×lj ,
,
⎛ ⎞ A1 (y (1) ) .. ⎜ ⎟ ⎜ ⎟ . zerlegt, dann erf¨ ulle die Matrix Aj ≡ ⎜ ⎟ ∈ Rn×n die Ungleichungen ⎝Aj (y (j) )⎠ (j)
QA
Aj 2 ≤ λ und A−1 j 2 ≤ ω,
λ, ω ∈ [1, ∞).
(D.41)
Die Parameter λ und ω d¨ urfen im Verfahren nicht ver¨andert werden, w¨ahrend sowohl μ als auch die Dimensionen pj f¨ ur jeden Iterationsschritt unterschiedlich sein k¨onnen. Analog zum Brent-Verfahren sind auch im GBM (D.39) f¨ ur p(l) ≡ y (l+1) − y (l)
(D.42)
die Gleichungen % Aj (y
(j)
)J(y
(j)
)p
(l)
=
f¨ ur 1 ≤ j < l,
0 (l)
(l)
ur j = l −Al (y )F (y ) f¨
(D.43)
g¨ ultig. Um nun p(l) zu bestimmen, w¨ ahlt man analog zur Gleichung (D.22) eine orthogonale Matrix Ql+1 so, daß ⎛ ⎞ A1 (y (1) )J(y (1) ) U1 ⎜X ⎜A2 (y (2) )J(y (2) )⎟ ⎜ ⎜ ⎟ ⎜ ⎟ Ql+1 = ⎜ .. .. ⎝ . ⎝ ⎠ . (l) (l) X Al (y )J(y ) ⎛
0 U2 .. . ···
⎞ ··· ··· ··· ··· 0 0 · · · · · · · · · 0⎟ ⎟ .. ⎟ .. .. . . .⎠ X Ul 0 · · · 0
(D.44)
gilt. Da im GBM die Gleichungen nicht mehr einzeln, sondern in Bl¨ocken abgearbeitet werden, muß f¨ ur die unteren Dreiecksmatrizen Ui ∈ Rpi ×pi aus (D.44) die Bedingung det(Ui ) = 0 f¨ ur 1 ≤ i ≤ l gelten.
418
Anhang D Numerische L¨osung nichtlinearer algebraischer Gleichungssysteme
Schreibt man (Aj (y (j) )J(y (j) )) p(l) = (Aj (y (j) )J(y (j) )Ql+1 )(QTl+1 p(l) ), dann ergibt sich mit (D.43) ⎛ ⎞ 0 ⎜ .. ⎟ ⎜ . ⎟ ⎜ ⎟ ⎜ 0 ⎟ # $ ⎜ ⎟ ⎜U −1 ⎟ −Al (y (l) )F (y (l) ) . QTl+1 p(l) = (D.45) l ⎜ ⎟ ⎜ 0 ⎟
⎜ ⎟ pl ×1 ⎜ . ⎟ ⎝ .. ⎠ 0
(ll−1 +pl +(d−ll ))×pl
Die Komponenten unterhalb der Matrix Ul−1 k¨onnen beliebig gew¨ahlt werden. Da aber die l2 -Norm von p(l) minimal sein soll, ist es sachgem¨aß, diese gleich Null zu setzen. Somit ergibt sich mit (D.45) eine Gleichung zur Bestimmung von p(l) zu ⎛
0 .. .
⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 0 # $ ⎜ ⎟ −1 −1 (l) (l) (l) (l) ⎟ = Q p(l) = Ql+1 ⎜ (:, l + 1 : l ) −U A (y )F (y ) . −U A (y )F (y ) l+1 l−1 l l l l ⎜ l ⎟
⎜ ⎟ 0 ⎜ ⎟ (ll−1 +1)-te bis ll -te Spalte von Ql+1 ⎜ ⎟ .. ⎝ ⎠ . 0 (D.46) Es verbleibt noch zu zeigen, wie die Matrix Ql+1 aus Ql berechnet werden kann. Dazu liege bereits eine Matrix Ql vor, welche eine Gleichung der Form (D.44) erf¨ ullt, bei der l durch l − 1 ersetzt ist. Analog zum Brent-Verfahren bestimmt man nun eine orthogonale Matrix Ul ∈ Rd×d (z. B. eine Householder-Matrix) der Gestalt
Ul =
Il−1 0
0 ˆl , U
(D.47)
welche die Beziehung !
" Al (y (l) )J(y (l) )Ql Ul = (X, . . . , X, Ul , 0, . . . , 0)
erf¨ ullt. Offensichtlich ist dann mit Ql+1 ≡ Ql Ul die Gleichung (D.44) erf¨ ullt. Beim GBM setzt man analog zum Brent-Verfahren A˜l ≡ Al (y (l) )J(y (l) )Ql ,
(D.48)
D.5 Verallgemeinertes Brent-Verfahren
419
wobei die Matrix A˜l mittels Richtungsableitungen berechnet wird. Dazu werden genau wie in den bisher beschriebenen Verfahren keine Ableitungen sondern Differenzenapproximationen benutzt. Um nun Ql+1 berechnen zu k¨ onnen, muß zuvor die Matrix Ul bestimmt werden. Diese ergibt sich (siehe Hermann und Kaiser (1995)) aus der folgenden Orthogonalzerlegung der Matrix ⎛ ⎞ X ··· X ⎜ .. ⎟ .. # $ ⎜ . . ⎟ ˜⎜0 ⎟. A˜T1 | . . . |A˜Tl = Q (D.49) ⎜. . ⎟ .. UT ⎠ ⎝ .. l 0 ··· 0
(ll−1 +pl +(d−ll ))×d
Ber¨ ucksichtigt man die oben dargestellten Resultate, dann l¨aßt sich der Algorithmus (D.39) wie folgt erweitern: Erweiterter Basis-Schritt: Verallgemeinertes Brent-Verfahren 1) Man setze y (1) ≡ x(k−1) . 2) Man w¨ ahle die Gr¨ oßen μ, p1 , p2 , . . . , pμ . 3) F¨ ur l = 1, . . . , μ bestimme man: 3.1) die Matrix Al (y (l) ) mit der Eigenschaft, daß die Bedingungen (D.40) und (D.41) erf¨ ullt sind, 3.2) die Matrix A˜l nach (D.48) mittels Richtungsableitungen, 3.3) die Matrix Ul nach (D.49), 3.4) die Matrix Ul nach (D.47), so daß A˜l Ul = (0, . . . , 0, Ul , 0, . . . , 0) gilt, ll−1
d−ll
3.5) die Matrix Ql+1 entsprechend Ql+1 = Ql Ul , und 3.6) den Vektor y (l+1) entsprechend der Vorschrift # $ y (l+1) = y (l) − Ql+1 (:, ll−1 + 1 : ll ) Ul−1 Al (y (l) )F (y (l) ) 4) Man setze x(k) ≡ y (μ+1) . (D.50) Der Rechenaufwand des GBM liegt in der Gr¨oßenordnungen des Aufwandes vom Brent-Verfahren. Wie wir bisher gesehen haben, wird beim GBM, im Unterschied zum Brown- als auch zum Brent-Verfahren, die neue (¨ außere) Iterierte x(k) aus x(k−1) nicht mehr in d, sondern in μ (inneren) Eliminationsschritten berechnet. Dies l¨aßt sich dadurch erreichen, indem
420
Anhang D Numerische L¨osung nichtlinearer algebraischer Gleichungssysteme
man die durch (D.1) gegebenen d skalaren Gleichungen nicht mehr einzeln, sondern in Bl¨ocken abarbeitet. Die Gr¨ oße der Bl¨ ocke wird durch die Zahlen p1 , . . . , pμ bestimmt. Wir wollen jetzt darauf eingehen, wie sich die einzelnen Schritte des Verfahrens bei einer konkreten Implementierung umsetzen lassen. Den Ausgangspunkt hierf¨ ur stellt die Linearisierung der durch die Gleichung (D.38) gegebenen Bl¨ocke Fp1 (x), . . . , Fpμ (x) dar. Die Einteilung der Funktion F (x) in die gew¨ unschten Bl¨ocke erfolgt mit Hilfe der zu Beginn jedes Eliminationsschrittes zu w¨ahlenden Matrizen Ai , f¨ ur welche die Bedingungen (D.40) und (D.41) gelten sollen. Im ersten Eliminationsschritt entwickelt man F (x) an der Stelle y (1) ≡ x(k−1) in eine Taylorreihe unter Vernachl¨ assigung aller nichtlinearen Terme und multipliziert die erhaltene Gleichung mit A1 (y (1) ). Daraus ergibt sich G1 (x) ≡ A1 (y (1) )F (y (1) ) + A1 (y (1) )J(y (1) )(x − y (1) ). Die L¨osungsmenge X1 ≡ {x : G1 (x) = 0} ist analog zum Brent-Verfahren eine (d − p1 )dimensionale Mannigfaltigkeit des Rd . Um zu einer eindeutigen L¨osung y (2) zu kommen, fordert man, daß die Zusatzbedingung y (2) − y (1) 2 = min x − y (1) 2 f¨ ur alle x ∈ X1 erf¨ ullt ist. Man l¨ ost also f¨ ur y (2) ≡ y (1) + p(1) das lineare Gleichungssystem ! " A1 (y (1) )J(y (1) ) p(1) = −A1 (y (1) )F (y (1) ) mit der Zusatzbedingung p(1) 2 → min. Analog zum ersten Schritt bildet man im i-ten Eliminationsschritt unter Verwendung der im vorangegangenen Schritt berechneten inneren Iterierten y (i) die lineare Funktion Gi (x) ≡ Ai (y (i) )F (y (i) ) + Ai (y (i) )J(y (i) )(x − y (i) ). Die zugeh¨orige L¨ osungsmenge sei Xi ≡ {x : Gj (x) = 0 f¨ ur 1 ≤ j ≤ i}. Auch hier fordert man zus¨atzlich y (i+1) − y (i) 2 = min x − y (i) 2 f¨ ur alle x ∈ Xi . Wovon man sich direkt u ¨berzeugen kann, ist y (i) ∈ Xi , so daß die Beziehung Gj (y (i) ) = Aj (y (j) )F (y (j) ) + Aj (y (j) )J(y (j) )(y (i) − y (j) ) = 0 f¨ ur j = 1, 2, . . . , i − 1, gilt. Die Gleichungen G1 (x) = 0, . . . , Gi (x) = 0 lassen sich als Block-Gleichungssystem in der Form ! " ⎛ ⎛ ⎞ ⎞ A1 (y (1) ) J(y (1) )y (1) − F (y (1) ) A1 (y (1) )J(y (1) ) ⎜ ⎜ ⎟ ⎟ .. .. ⎜ ⎜ ⎟ ⎟ . . ⎜ ⎟x = ⎜ ! " ⎟ ⎝ Ai−1 (y (i−1) ) J(y (i−1) )y (i−1) − F (y (i−1) ) ⎠ ⎝ Ai−1 (y (i−1) )J(y (i−1) ) ⎠ ! " Ai (y (i) )J(y (i) ) Ai (y (i) ) J(y (i) )y (i) − F (y (i) ) ⎛
A1 (y (1) )J(y (1) ) .. .
⎜ ⎜ =⎜ ⎝ Ai−1 (y (i−1) )J(y (i−1) ) Ai (y (i) )J(y (i) )
⎞
⎛
⎜ ⎟ ⎟ (i) ⎜ ⎟y −⎜ ⎝ ⎠
0 .. . 0 Ai (y )F (y (i) )
⎞ ⎟ ⎟ ⎟ ⎠
(i)
(D.51)
D.5 Verallgemeinertes Brent-Verfahren
421
aufschreiben. Mit p(i) ≡ x − y (i) vereinfacht sich dieses System zu ⎛
⎞
A1 (y (1) )J(y (1) ) .. .
⎜ ⎜ ⎜ ⎝ Ai−1 (y (i−1) )J(y (i−1) ) Ai (y (i) )J(y (i) )
⎛
⎜ ⎟ ⎟ (i) ⎜ ⎟p = ⎜ ⎝ ⎠
⎞
0 .. .
⎟ ⎟ ⎟, ⎠
0 −Ai (y (i) )F (y (i) )
mit p(i) 2 → min .
(D.52) Nach der Aufl¨ osung von (D.52) bestimmt sich y (i+1) zu y (i+1) = y (i) + p(i) . Im μ-ten Eliminationsschritt setzt man schließlich x(k) ≡ y (μ+1) . Im folgenden soll die konkrete Bestimmung der p(1) , . . . , p(μ) f¨ ur den Fall μ = 3 ausf¨ uhrlich erl¨ autert werden (siehe Hermann und Kaiser (1995) sowie J¨ager und G¨orsch (1996)). Die Iterierte y (1) ≡ x(k−1) liege bereits berechnet vor. Nach (D.52) werden nun nacheinander die minimalen 2-Norm-L¨ osungen der folgenden Systeme bestimmt A1 p(1) = −A1 (y (1) )F (y (1) )
(D.53)
0 A1 (2) p = A2 −A2 (y (2) )F (y (2) )
(D.54)
⎛
⎛ ⎞ ⎞ 0 A1 ⎝A2 ⎠ p(3) = ⎝ ⎠, 0 (3) (3) A3 −A3 (y )F (y )
(D.55)
wobei f¨ ur i = 1, 2, 3 die Beziehungen Ai = Ai (y (i) )J(y (i) ),
y (i+1) = y (i) + p(i)
und x(k) = y (4)
gelten. Die L¨osung der Gleichung (D.53) l¨ asst sich in der Form (1) p(1) = −A+ )F (y (1) ) 1 A1 (y
(D.56)
darstellen, wobei A+ 1 die Moore-Penrose Pseudo-Inverse der Matrix A1 bezeichnet (siehe hierzu Anhang A, Formel (A.25)). Unter der Voraussetzung, daß die Matrix A1 Vollrang besitzt, d.h. rg(A1 ) = p1 , und die QR-Faktorisierung der Matrix AT1 durch $ # U11 (1) (1) (1) = Q1 U11 AT1 = Q1 |Q2 0
(D.57)
422
Anhang D Numerische L¨osung nichtlinearer algebraischer Gleichungssysteme
gegeben ist, bestimmt sich die Pseudo-Inverse nach (A.27) zu (1)
−T A+ 1 = Q1 U11
(D.58)
und die L¨osung (D.56) nimmt die Gestalt (1)
−T p(1) = −Q1 U11 A1 (y (1) )F (y (1) )
(D.59)
an. Falls auch die Matrizen der linearen Systeme (D.54) bzw. (D.55) Vollrang besitzen, ergibt sich mit den orthogonalen Zerlegungen ⎛ $ U11 # " (1) (2) (2) AT1 |AT2 = Q1 |Q1 |Q2 ⎝ 0 0
!
⎛ $ U11 # " (1) (2) (3) AT1 |AT2 |AT3 = Q1 |Q1 |Q1 ⎝ 0 0
!
⎞ U12 U22 ⎠ 0
U12 U22 0
und
(D.60)
⎞ U13 U23 ⎠ U33
(D.61)
analog die folgende Darstellung der minimalen 2-Norm-L¨osungen p(2) und p(3) zu
p
(2)
# =
(1) (2) Q1 |Q1
$ U
11
0
U12 U22
0 −A2 (y (2) )F (y (2) )
−T
(D.62)
(2)
−T = −Q1 U22 A2 (y (2) )F (y (2) ),
p(3) =
#
(1) (2) (3) Q1 |Q1 |Q1
$
⎛
U11 ⎝ 0 0
U12 U22 0
⎞−T ⎛ ⎞ 0 U13 ⎠ 0 U23 ⎠ ⎝ (3) (3) U33 −A3 (y )F (y )
(D.63)
(3)
−T A3 (y (3) )F (y (3) ). = −Q1 U33
Mit dem so bestimmten p(3) berechnet man die letzte innere Iterierte y (4) = y (3) +p(3) und erh¨alt daraus schließlich die neue a ¨ußere Iterierte x(k) = y (4) . ¨ Bei der Implementierung des GBM ber¨ ucksichtigt man noch einige Uberlegungen, die es erm¨oglichen x(k) numerisch g¨ unstiger als mit den oben beschriebenen Formeln zu (2) (3) berechnen. Da in den Formeln (D.62) und (D.63) nur die Matrizen Q1 , U22 bzw. Q1 , U33 aus den QR-Faktorisierungen (D.60) bzw. (D.61) eine Rolle spielen, liegt es nahe,
D.5 Verallgemeinertes Brent-Verfahren
423
diese Matrizen ohne die Durchf¨ uhrung der vollst¨andigen Faktorisierung zu erzeugen. (1) (1) Multipliziert man n¨ amlich die Faktorisierung (D.60) von links mit Q2 (Q2 )T , so ergibt sich (1)
(1)
Q2 (Q2 )T
⎞ U12 $ # (2) U22 ⎠ = 0 |Q1 U22 . 0
⎛ $ U11 # " (2) (2) AT1 |AT2 = 0 |Q1 |Q2 ⎝ 0 0
!
(D.64)
(2)
Will man f¨ ur die L¨ osungsdarstellung (D.62) die Matrizen Q1 und U22 berechnen, dann gen¨ ugt es, anstelle der QR-Zerlegung (D.60) die folgende Faktorisierung zu verwenden (1)
(1)
(T )
Q2 (Q2 )T A2
(1)
(2)
= Q1 U22 . (T )
(D.65)
(1)
Die Matrix J(y (2) ) tritt hierbei wegen (Q2 )T A2 = (Q2 )T J(y (2) )T A2 (y (2) )T nur in (1) (1) Verbindung mit Q2 auf, so daß der Ausdruck J(y (2) )Q2 kosteng¨ unstig u ¨ ber Richtungsableitungen unter Verwendung von Differenzenapproximationen bestimmt werden kann. Um in analoger Weise die QR-Faktorisierung (D.61) zu vereinfachen, muß als erstes