Hans Rudolf Schwarz, Norbert Köckler
Numerische Mathematik
Hans Rudolf Schwarz, Norbert Köckler
Numerische Mathemati...
142 downloads
1911 Views
6MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Hans Rudolf Schwarz, Norbert Köckler
Numerische Mathematik
Hans Rudolf Schwarz, Norbert Köckler
Numerische Mathematik 6., überarbeitete Auflage
Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar. Prof. Dr. Hans Rudolf Schwarz Geboren 1930 in Zürich. Von 1949 bis 1953 Studium der Mathematik und Diplom an der ETH Zürich. Von 1953 bis 1957 Mathematiker bei den Flug- und Fahrzeugwerken Altenrhein (Schweiz). 1957 Promotion, ab 1957 wissenschaftlicher Mitarbeiter an der ETH Zürich. 1962 Visiting Associate Professor an der Brown University in Providence, Rhode Island, USA. 1964 Habilitation an der ETH Zürich und von 1964 bis 1972 dort Lehrbeauftragter. 1972 Assistenzprofessor, 1974 a.o. Professor, seit 1983 ord. Professor für angewandte Mathematik an der Universität Zürich, Emeritierung 1994. Prof. Dr. Norbert Köckler Geboren 1944 in Detmold. Studium der Mathematik, Physik und Betriebswirtschaft von 1964 bis 1969 an der Johannes-Gutenberg-Universität in Mainz. Nach ersten Industrieprojekten dort fünf Jahre als wissenschaftlicher Mitarbeiter, 1976 Promotion. Von 1976 bis 1978 Leiter der technisch-wissenschaftlichen Datenverarbeitung bei der Karrena GmbH in Düsseldorf. Seit 1978 Universitätsprofessor für numerische Mathematik an der Universität Paderborn. Entwickelte zwischen 1990 und 1994 die Problemlöseumgebung PAN, in deren Rahmen das erste elektronische Buch seines Fachgebietes erschien.
1. Auflage 1986 6., überarbeitete Auflage Oktober 2006 Alle Rechte vorbehalten © B.G. Teubner Verlag / GWV Fachverlage GmbH, Wiesbaden 2006 Lektorat: Ulrich Sandten / Kerstin Hoffmann Der B.G. Teubner Verlag ist ein Unternehmen von Springer Science+Business Media. www.teubner.de Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Umschlaggestaltung: Ulrike Weigel, www.CorporateDesignGroup.de Druck und buchbinderische Verarbeitung: Strauss Offsetdruck, Mörlenbach Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier. Printed in Germany
ISBN-10 3-8351-0114-5 ISBN-13 978-3-8351-0114-2
Vorwort Mit großer Freude habe ich die Bearbeitung und Fortf¨ uhrung dieses klassischen Lehrbuchs u ¨ ber die numerische Mathematik u ¨bernommen. Ich habe versucht, den Inhalt des Buches an die Entwicklung anzupassen, ohne den Anspruch meiner Vorg¨anger, der Herren Kollegen Prof. Dr. R. Stiefel und Prof. Dr. H. R. Schwarz, auf Vollst¨andigkeit, Rigorosit¨at bei den mathematischen Grundlagen und algorithmische Orientierung bei der Darstellung der Verfahren aufzugeben. ¨ Inhaltlich habe ich eine Reihe von Anderungen durchgef¨ uhrt. Das Kapitel u ¨ ber lineare Optimierung ist weggefallen, weil dies heute kaum noch in den Kanon der numerischen Ausbildung geh¨ ort und es gute Lehrb¨ ucher gibt, die sich ausschließlich diesem Thema widmen. Ein Kapitel u ¨ber Fehlertheorie ist hinzugekommen. Die Kapitel u ¨ber Interpolation und Funktionsapproximation habe ich zusammengelegt, weil ich glaube, dass in den Anwendungen von der Aufgabe ausgegangen wird Daten oder Funktionen zu approximieren, und erst dann die Entscheidung f¨ ur die Interpolation oder f¨ ur die Approximation gef¨allt wird. Die anderen Kapitel haben sich mal mehr, mal weniger ver¨andert, der Leser der fr¨ uheren Auflagen sollte insgesamt keine großen Umstellungsprobleme haben. Am Ende der Kapitel gibt es manchmal einen Abschnitt u uhrlicher behandelt werden als die ¨ ber Anwendungen, die ausf¨ Beispiele innerhalb des Textes, und immer einen Abschnitt u ¨ber Software, deren Gebrauch f¨ ur uns Numeriker unerl¨ asslich ist und die in verwirrender Vielfalt u ¨ber das Internet oder andere Quellen erreichbar ist. Herrn Schwarz danke ich f¨ ur seine kollegiale Unterst¨ utzung, den Herren Sandten und Spuhler vom Teubner-Verlag f¨ ur ihre professionelle und verst¨andnisvolle Betreuung. Frau Karin Senske hat die typographische Umsetzung und manche Durchsicht mit Sorgfalt, Fleiß und Verst¨ andnis f¨ ur mich erledigt; daf¨ ur bin ich ihr außerordentlich dankbar. Meiner Bitte um Hinweise auf Fehler und Unstimmigkeiten sind viele Leser nachgekommen; ihnen allen bin ich sehr dankbar. Besonders bedanke ich mich bei meinem lieben Kollegen Prof. Dr. Gisbert Stoyan von der ELTE in Budapest; seine akribische Durchsicht hat zur Korrektur zahlreicher kleiner Fehler, aber auch zu besserer Verst¨andlichkeit einiger Formulierungen gef¨ uhrt. Anregungen zu inhaltlichen Erg¨anzungen konnte ich nur teilweise nachkommen, es wird hoffentlich die M¨ oglichkeit dazu in weiteren Auflagen geben. Es gibt eine elektronische Version dieses Lehrbuchs. Darin findet man den vollst¨andigen Text im pdf-Format, erg¨ anzt um Links zu Programm-Masken, die die L¨osung von Basisproblemen der Numerik erm¨ oglichen. Zus¨ atzlich soll das elektronische Buch um multimediale Teile erg¨ anzt werden. Die elektronische Fassung kann kapitelweise bezogen werden. F¨ ur Dozenten gibt es von den meisten Kapiteln eine Kurzfassung zur Verwendung als ProjektionsManuskript. Eine spezielle Internet-Seite erm¨ oglicht den Zugriff auf die Programm-Masken und enth¨ alt alle aktuellen Informationen zum Stand dieses Projektes: www.uni-paderborn.de/SchwarzKoeckler/. Paderborn, im Sommer 2006
Norbert K¨ockler
Aus dem Vorwort zur 4. Auflage Das Buch entstand auf den seinerzeitigen ausdr¨ ucklichen Wunsch meines verehrten Lehrers, Herrn Prof. Dr. E. Stiefel, der mich im Sinne eines Verm¨achtnisses beauftragte, sein w¨ahrend vielen Jahren wegweisendes Standardwerk [Sti 76] von Grund auf neu zu schreiben und den modernen Erkenntnissen und Bed¨ urfnissen anzupassen. Klarheit und Ausf¨ uhrlichkeit waren stets die Hauptanliegen von Herrn Professor Stiefel. Ich habe versucht, in diesem Lehrbuch dieser von ihm gepr¨ agten Philosophie zu folgen, und so werden die grundlegenden Methoden der numerischen Mathematik in einer ausf¨ uhrlichen Darstellung behandelt. Das Buch ist entstanden aus Vorlesungen an der Universit¨at Z¨ urich. Der behandelte Stoff umfasst im Wesentlichen das Wissen, das der Verfasser seinen Studenten in einem viersemestrigen Vorlesungszyklus zu je vier Wochenstunden vermittelte. Sie sollen damit in die Lage versetzt werden, Aufgaben der angewandten Mathematik mit numerischen Methoden erfolgreich zu l¨ osen oder zumindest die Grundlagen f¨ ur das Studium von weiterf¨ uhrender spezialisierter Literatur zu haben. Das Buch richtet sich an Mathematiker, Physiker, Ingenieure, Informatiker und Absolventen naturwissenschaftlicher Richtungen. Vorausgesetzt wird diejenige mathematische Vorbildung, die in den unteren Semestern eines Hochschulstudiums oder an Ingenieurschulen vermittelt wird. Die Darstellung des Stoffes ist algorithmisch ausgerichtet. Zur Begr¨ undung einer numerischen Methode werden zuerst die theoretischen Grundlagen vermittelt, soweit sie erforderlich sind, um anschließend das Verfahren so zu formulieren, dass seine Realisierung in einem Programm einfach ist. Um die speziellen Kenntnisse auf dem Gebiet der numerischen Integralberechnung, die Herr Dr. J. Waldvogel an der ETH Z¨ urich erarbeitet hat, in das Buch einfließen zu lassen, hat er die Abschnitte 7.1 und 7.3 sowie die zugeh¨ origen Aufgaben verfasst. F¨ ur diese wertvolle Mitarbeit danke ich ihm hiermit bestens. Meinen beiden Assistenten, den Herren Dipl-Math. W. Businger und H. P. M¨ archy verdanke ich viele Anregungen und die kritische Durchsicht des Manuskripts. Schließlich danke ich dem Verlag B. G. Teubner f¨ ur die Herausgabe des Buches und f¨ ur die stets freundliche und entgegenkommende Zusammenarbeit. Mit der vierten Auflage des Buches wurde versucht, eine Aktualisierung des Stoffumfangs zu erreichen, indem in verschiedener Hinsicht Erg¨anzungen eingef¨ ugt wurden. Um eine oft bem¨ angelte L¨ ucke zu schließen, wurden grundlegende Methoden zur Behandlung von Randwertaufgaben bei gew¨ ohnlichen Differenzialgleichungen aufgenommen. Weiter wurde im gleichen Zug die f¨ ur die Computergraphik zentrale B´ezier-Technik zur Darstellung von Kurven und Fl¨ achen ber¨ ucksichtigt. Schließlich fanden die modernen Aspekte der Vektorisierung und Parallelisierung von Algorithmen Aufnahme im Buch. Das notwendige Vorgehen zur Vektorisierung wird am Beispiel der effizienten L¨ osung von linearen Gleichungssystemen mit vollbesetzter und tridiagonaler Matrix dargelegt. Desgleichen werden die wesentliche Idee und Techniken der Parallelisierung am Beispiel der L¨osung von linearen Gleichungssystemen entwickelt und die einschl¨ agigen Algorithmen dargestellt. Z¨ urich, im Herbst 1996
H. R. Schwarz
Inhalt
Einleitung
13
1
Fehlertheorie
15
1.1
Fehlerarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
1.2
Zahldarstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
1.3
Rundungsfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
1.4
Differenzielle Fehleranalyse . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
1.5 1.5.1 1.5.2
Erg¨ anzungen und Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . R¨ uckw¨ arts-Fehleranalyse (backward analysis) . . . . . . . . . . . . . . . . . Numerische Stabilit¨ at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24 24 25
1.6
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
1.7
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
2
Lineare Gleichungssysteme, direkte Methoden
30
2.1 2.1.1 2.1.2 2.1.3
Der Gauß-Algorithmus . . . . . . . . . . . . . . . . . . . . . . Elimination, Dreieckszerlegung und Determinantenberechnung Pivotstrategien . . . . . . . . . . . . . . . . . . . . . . . . . . . Erg¨ anzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
30 30 38 43
2.2 2.2.1 2.2.2
Genauigkeitsfragen, Fehlerabsch¨ atzungen . . . . . . . . . . . . . . . . . . . Normen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fehlerabsch¨ atzungen, Kondition . . . . . . . . . . . . . . . . . . . . . . . .
47 47 52
2.3 2.3.1 2.3.2 2.3.3
Systeme mit speziellen Eigenschaften . Symmetrische, positiv definite Systeme Bandgleichungen . . . . . . . . . . . . . Tridiagonale Gleichungssysteme . . . .
. . . .
56 56 62 64
2.4 2.4.1 2.4.2
Verfahren f¨ ur Vektorrechner und Parallelrechner . . . . . . . . . . . . . . . Voll besetzte Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tridiagonale Gleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . .
67 68 73
2.5 2.5.1 2.5.2
Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schaltkreistheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fluss durch ein Rohrnetz mit Pumpe . . . . . . . . . . . . . . . . . . . . .
82 82 84
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
8
Inhalt
2.5.3
Ebenes Fachwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
2.6
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87
2.7
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
3
Interpolation und Approximation
91
3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6
Polynominterpolation . . . . . . . . . . Problemstellung . . . . . . . . . . . . . Lagrange-Interpolation . . . . . . . . . Newton-Interpolation . . . . . . . . . . Hermite-Interpolation . . . . . . . . . . Inverse Interpolation . . . . . . . . . . . Anwendung: Numerische Differenziation
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. 92 . 92 . 95 . 95 . 98 . 100 . 101
3.2 3.2.1 3.2.2 3.2.3
Splines . . . . . . . Kubische Splines . . B-Splines 1. Grades Kubische B-Splines .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. 106 . 107 . 112 . 114
3.3 3.3.1 3.3.2
Zweidimensionale Splineverfahren . . . . . . . . . . . . . . . . . . . . . . . Bilineare Tensorsplines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bikubische Tensorsplines . . . . . . . . . . . . . . . . . . . . . . . . . . . .
119 120 123
3.4 3.4.1 3.4.2
Kurveninterpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Numerische L¨ osung mit Splines . . . . . . . . . . . . . . . . . . . . . . . . .
125 125 126
3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5
Kurven und Fl¨ achen mit B´ezier-Polynomen Bernstein-Polynome . . . . . . . . . . . . . B´ezier-Darstellung eines Polynoms . . . . . Der Casteljau-Algorithmus . . . . . . . . . B´ezier-Kurven . . . . . . . . . . . . . . . . B´ezier-Fl¨ achen . . . . . . . . . . . . . . . .
3.6 3.6.1 3.6.2
Gauß-Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diskrete Gauß-Approximation . . . . . . . . . . . . . . . . . . . . . . . . . Kontinuierliche Gauß-Approximation . . . . . . . . . . . . . . . . . . . . .
3.7 3.7.1 3.7.2
Trigonometrische Approximation . . . . . . . . . . . . . . . . . . . . . . . . 145 Fourier-Reihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Effiziente Berechnung der Fourier-Koeffizienten . . . . . . . . . . . . . . . . 154
3.8 3.8.1 3.8.2 3.8.3
Orthogonale Polynome . . . . . . . . . . . . Approximation mit Tschebyscheff-Polynomen Interpolation mit Tschebyscheff-Polynomen . Die Legendre-Polynome . . . . . . . . . . . .
3.9
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
179
3.10
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
180
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. 127 . 127 . 129 . 130 . 131 . 137 140 142 144
. 161 . 162 . 170 . 174
9
Inhalt
4
Nichtlineare Gleichungen
183
4.1 4.1.1 4.1.2 4.1.3
Theoretische Grundlagen . . . . . . . . . . . . . . Problemstellung . . . . . . . . . . . . . . . . . . . Konvergenztheorie und Banachscher Fixpunktsatz Stabilit¨ at und Kondition . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
183 183 185 189
4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5
Gleichungen in einer Unbekannten Das Verfahren der Bisektion . . . Das Verfahren von Newton . . . . Die Sekantenmethode . . . . . . . Brents Black-box-Methode . . . . Verfahrensvergleich . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
190 190 192 195 196 198
4.3 4.3.1 4.3.2
Gleichungen in mehreren Unbekannten . . . . . . . . . . . . . . . . . . . . . 199 Fixpunktiteration und Konvergenz . . . . . . . . . . . . . . . . . . . . . . . 199 Das Verfahren von Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
4.4 4.4.1 4.4.2
Nullstellen von Polynomen . . . . . . . . . . . . . . . . . . . . . . . . . . . Reelle Nullstellen: Das Verfahren von Newton-Maehly . . . . . . . . . . . . Komplexe Nullstellen: Das Verfahren von Bairstow . . . . . . . . . . . . . .
207 207 211
4.5
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
215
4.6
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
215
5
Eigenwertprobleme
218
5.1 5.1.1 5.1.2 5.1.3 5.1.4
Theoretische Grundlagen . . . . . Das charakteristische Polynom . . ¨ Ahnlichkeitstransformationen . . . Symmetrische Eigenwertprobleme Elementare Rotationsmatrizen . .
. . . . .
219 219 219 220 220
5.2
Das klassische Jacobi-Verfahren . . . . . . . . . . . . . . . . . . . . . . . .
222
5.3 5.3.1 5.3.2
Die Vektoriteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die einfache Vektoriteration nach von Mises . . . . . . . . . . . . . . . . . . Die inverse Vektoriteration . . . . . . . . . . . . . . . . . . . . . . . . . . .
229 229 231
5.4 5.4.1 5.4.2 5.4.3
Transformationsmethoden . . . . . . . Transformation auf Hessenberg-Form Transformation auf tridiagonale Form Schnelle Givens-Transformation . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. 232 . 233 . 237 . 239
5.5 5.5.1 5.5.2 5.5.3 5.5.4 5.5.5
QR-Algorithmus . . . . . . . . . . . . . . . Grundlagen zur QR-Transformation . . . . Praktische Durchf¨ uhrung, reelle Eigenwerte QR-Doppelschritt, komplexe Eigenwerte . . QR-Algorithmus f¨ ur tridiagonale Matrizen Zur Berechnung der Eigenvektoren . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. 243 . 243 . 248 . 253 . 256 . 260
. . . . . .
. . . . .
. . . . . .
. . . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . . . .
. . . . .
. . . . . .
. . . . .
. . . . . .
. . . . .
. . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
10
Inhalt
5.6 5.6.1
Das allgemeine Eigenwertproblem . . . . . . . . . . . . . . . . . . . . . . . Der symmetrisch positiv definite Fall . . . . . . . . . . . . . . . . . . . . . .
261 261
5.7
Eigenwertschranken, Kondition, Stabilit¨at . . . . . . . . . . . . . . . . . . .
264
5.8
Anwendung: Membranschwingungen . . . . . . . . . . . . . . . . . . . . . .
268
5.9
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
270
5.10
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
271
6
Ausgleichsprobleme, Methode der kleinsten Quadrate
274
6.1
Lineare Ausgleichsprobleme, Normalgleichungen . . . . . . . . . . . . . . .
274
6.2 6.2.1 6.2.2 6.2.3
Methoden der Orthogonaltransformation Givens-Transformation . . . . . . . . . . Spezielle Rechentechniken . . . . . . . . . Householder-Transformation . . . . . . .
6.3
Singul¨ arwertzerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
292
6.4 6.4.1 6.4.2
Nichtlineare Ausgleichsprobleme . . . . . . . . . . . . . . . . . . . . . . . . Gauß-Newton-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Minimierungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
296 297 300
6.5
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
304
6.6
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
305
7
Numerische Integration
307
7.1 7.1.1 7.1.2
Newton-Cotes-Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konstruktion von Newton-Cotes-Formeln . . . . . . . . . . . . . . . . . . . Verfeinerung der Trapezregel . . . . . . . . . . . . . . . . . . . . . . . . . .
308 308 310
7.2
Romberg-Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
313
7.3 7.3.1 7.3.2 7.3.3
Transformationsmethoden Periodische Integranden . Integrale u ¨ber Ê . . . . . Variablensubstitution . .
. . . .
315 316 318 320
7.4 7.4.1
Gauß-Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eingebettete Gauß-Regeln . . . . . . . . . . . . . . . . . . . . . . . . . . . .
323 331
7.5
Adaptive Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
332
7.6 7.6.1 7.6.2
Mehrdimensionale Integration . . . . . . . . . . . . . . . . . . . . . . . . . . Produktintegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Integration u ¨ber Standardgebiete . . . . . . . . . . . . . . . . . . . . . . . .
336 336 337
7.7
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
338
7.8
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
339
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. 278 . 279 . 284 . 286
11
Inhalt
8
Anfangswertprobleme
342
8.1 8.1.1 8.1.2
Einf¨ uhrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problemklasse und theoretische Grundlagen . . . . . . . . . . . . . . . . . . M¨ oglichkeiten numerischer L¨ osung . . . . . . . . . . . . . . . . . . . . . . .
343 343 345
8.2 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5
Einschrittverfahren . . . . . . . . . . . Konsistenz . . . . . . . . . . . . . . . Runge-Kutta-Verfahren . . . . . . . . Explizite Runge-Kutta-Verfahren . . . Halbimplizite Runge-Kutta-Verfahren Schrittweitensteuerung . . . . . . . . .
. . . . . .
350 350 353 354 358 359
8.3 8.3.1 8.3.2
Mehrschrittverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verfahren vom Adams-Typ . . . . . . . . . . . . . . . . . . . . . . . . . . . Konvergenztheorie und Verfahrenskonstruktion . . . . . . . . . . . . . . . .
363 363 368
8.4 8.4.1 8.4.2 8.4.3 8.4.4
Stabilit¨ at . . . . . . . . . . . . . . . . . . . . Inh¨ arente Instabilit¨ at . . . . . . . . . . . . . Absolute Stabilit¨ at bei Einschrittverfahren . Absolute Stabilit¨ at bei Mehrschrittverfahren Steife Differenzialgleichungen . . . . . . . . .
. . . . .
376 376 378 380 384
8.5
Anwendung: Lotka-Volterras Wettbewerbsmodell . . . . . . . . . . . . . . .
388
8.6
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
391
8.7
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
392
9
Rand- und Eigenwertprobleme
395
9.1
Problemstellung und Beispiele . . . . . . . . . . . . . . . . . . . . . . . . .
395
9.2 9.2.1 9.2.2 9.2.3
Lineare Randwertaufgaben . . . . . . . . . . . Allgemeine L¨ osung . . . . . . . . . . . . . . . . Analytische Methoden . . . . . . . . . . . . . . Analytische Methoden mit Funktionenans¨atzen
9.3 9.3.1 9.3.2
Schießverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 Das Einfach-Schießverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 408 Das Mehrfach-Schießverfahren . . . . . . . . . . . . . . . . . . . . . . . . . 413
9.4 9.4.1 9.4.2
Differenzenverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dividierte Differenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diskretisierung der Randwertaufgabe . . . . . . . . . . . . . . . . . . . . .
418 418 419
9.5
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
424
9.6
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
425
10
Partielle Differenzialgleichungen
427
10.1 10.1.1
Differenzenverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
427 427
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. . . . . .
. . . . .
. . . .
. 399 . 399 . 401 . 404
12
Inhalt
10.1.2 10.1.3 10.1.4 10.1.5
Diskretisierung der Aufgabe . . . . . . . . . . . . . . . Randnahe Gitterpunkte, allgemeine Randbedingungen Diskretisierungsfehler . . . . . . . . . . . . . . . . . . Erg¨ anzungen . . . . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
10.2 10.2.1 10.2.2 10.2.3 10.2.4
Parabolische Anfangsrandwertaufgaben . . . . Eindimensionale Probleme, explizite Methode . Eindimensionale Probleme, implizite Methode Diffusionsgleichung mit variablen Koeffizienten Zweidimensionale Probleme . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. 448 . 448 . 454 . 459 . 461
10.3 10.3.1 10.3.2 10.3.3 10.3.4 10.3.5
Methode der finiten Elemente . . . . . . . . . . . . Grundlagen . . . . . . . . . . . . . . . . . . . . . . Prinzip der Methode der finiten Elemente . . . . . Elementweise Bearbeitung . . . . . . . . . . . . . . Aufbau und Behandlung der linearen Gleichungen Beispiele . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
466 466 469 471 477 477
10.4
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
482
10.5
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
483
11
Lineare Gleichungssysteme, iterative Verfahren
487
11.1
Diskretisierung partieller Differenzialgleichungen . . . . . . . . . . . . . . .
487
11.2 11.2.1 11.2.2 11.2.3
Gesamtschritt- und Einzelschrittverfahren . . . . Konstruktion der Iterationsverfahren . . . . . . . Einige Konvergenzs¨ atze . . . . . . . . . . . . . . ¨ Optimaler Relaxationsfaktor der Uberrelaxation
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
489 489 494 506
11.3 11.3.1 11.3.2 11.3.3 11.3.4
Methode der konjugierten Gradienten . . . . . . . . . . Herleitung des Algorithmus . . . . . . . . . . . . . . . . Eigenschaften der Methode der konjugierten Gradienten Konvergenzabsch¨ atzung . . . . . . . . . . . . . . . . . . Vorkonditionierung . . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
513 513 518 521 525
11.4 11.4.1 11.4.2
Methode der verallgemeinerten minimierten Residuen . . . . . . . . . . . . Grundlagen des Verfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . . Algorithmische Beschreibung und Eigenschaften . . . . . . . . . . . . . . .
531 531 535
11.5
Speicherung schwach besetzter Matrizen . . . . . . . . . . . . . . . . . . . .
540
11.6
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
543
11.7
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
543
. . . . .
. . . .
. . . .
. . . .
429 434 444 446
Literaturverzeichnis
547
Sachverzeichnis
560
Einleitung
Gegenstand und Ziel Numerische Mathematik befasst sich damit, f¨ ur mathematisch formulierte Probleme einen rechnerischen L¨ osungsweg zu finden. (H. Rutishauser) Da die meisten Probleme der Natur-, Ingenieur- und Wirtschaftswissenschaften vor ihrer rechnerischen L¨ osung mathematisch modelliert werden, entwickelt die numerische Mathematik f¨ ur eine Vielzahl von Problemstellungen rechnerische L¨osungswege, so genannte Algorithmen, siehe Definition 1.1. Sie muss sich daher neben der Mathematik auch mit der Auswahl von Hard- und Software besch¨ aftigen. Damit ist die numerische Mathematik Teil des Gebietes wissenschaftliches Rechnen (Scientific Computing), das Elemente der Mathematik, der Informatik und der Ingenieurwissenschaften umfasst. Die Entwicklung immer leistungsf¨ ahigerer Rechner hat dazu gef¨ uhrt, dass heute Probleme aus Luft- und Raumfahrt, Physik, Meteorologie, Biologie und vielen anderen Gebieten rechnerisch gel¨ ost werden k¨ onnen, deren L¨ osung lange als unm¨oglich galt. Dabei gehen die Entwicklung von Algorithmen und Rechnern Hand in Hand. Ziel der Ausbildung in numerischer Mathematik ist deshalb auch die Erziehung zu algorithmischem Denken, d.h. zur Kreativit¨ at beim Entwurf von Rechnerl¨ osungen f¨ ur Anwendungsprobleme.
Vom Problem zur L¨osung Folgende Schritte f¨ uhren von einem Anwendungsproblem zu seiner numerischen L¨osung: Modellierung: Ein Anwendungsproblem muss zun¨achst in die Form eines mathematischen Modells gegossen werden. Dies geschieht meistens auf der Grundlage idealisierter Annahmen. Es findet also schon die erste Ann¨ aherung statt, damit eine L¨osung – exakt analytisch oder angen¨ ahert numerisch – m¨ oglich wird. Realisierung: F¨ ur das mathematische Modell muss eine L¨osungsmethode gefunden werden. Ist diese numerisch, so kann in der Regel zwischen mehreren Verfahren gew¨ahlt werden. Zum Verfahren passend wird ein Programm oder ein ganzes Softwaresystem gesucht oder selbst entwickelt, um damit das Problem zu l¨ osen. Dabei entstehen besonders bei gr¨oßeren Problemen zus¨ atzliche Aufgaben wie Benutzerf¨ uhrung, Datenorganisation und Darstellung der L¨ osung oft in Form einer Visualisierung.
14
Einleitung
Validierung: Auf dem Weg vom Anwendungsproblem zu seiner numerischen L¨osung sind mehrfach Fehler im Sinne von Ann¨ aherungen gemacht worden, zuletzt durch das Rechnen auf einem Rechner mit endlicher Stellenzahl, siehe Kapitel 1. Deswegen m¨ ussen das Modell auf seine G¨ ultigkeit, das Programm auf seine Zuverl¨assigkeit und schließlich das numerische Verfahren auf seine Stabilit¨ at, also Fehleranf¨ alligkeit, u uft werden. Wenn dann mit ¨ berpr¨ konkreten Zahlen gerechnet wird, sollte jede einzelne Rechnung von einer Fehleranalyse begleitet werden unbeschadet davon, dass dies in der Praxis nicht immer durchf¨ uhrbar ist. F¨ ur ein Problem aus der Technik k¨ onnen diese Schritte etwa wie folgt aussehen. Problemschritte 1. 2. 3. 4. 5. 6. 7. 8.
Physikalisches Problem Physikalisches Modell Mathematisches Modell Numerisches Verfahren Algorithmus Programm Rechnung Fehlertheorie
Physikalisches Beispiel – – – – – – – –
Br¨ uckenbau Spannungstheorie Differenzialgleichung Auswahl: z.B. Finite Elemente Methode Genauer Rechenablauf, auch die Ein- und Ausgabe Eigene oder Fremdsoftware (Auswahl) Datenorganisation Absch¨ atzung mit den konkreten Daten
Hardware, Software, Pakete, Bibliotheken, Werkzeuge Die Realisierung numerischer Methoden erfordert eine leistungsf¨ahige Hardware. Oft werden spezielle Rechner wie Vektor- oder Parallelrechner eingesetzt. Dem m¨ ussen die numerischen Verfahren und damit auch die Software angepasst werden. Die zuverl¨assigsten Programme findet man in großen Bibliotheken wie denen der Firmen Nag und Imsl und in Probleml¨ oseumgebungen wie Matlab. Sie verwenden Algorithmen, die sorgf¨altig entwickelt und getestet wurden. Auf solche Pakete wird in den Software-Abschnitten der einzelnen Kapitel Bezug genommen. Gute M¨ oglichkeiten zur Programm-Suche bieten die Internet-Seiten des Zuse-Instituts in Berlin http://elib.zib.de, der AMS-Guide to mathematical software http://gams.nist.gov oder die Netlib-Liste, die auch u ¨ber das ZIB zu erreichen ist. Dar¨ uberhinaus gibt es Programmsammlungen, die oft im Zusammenhang mit Lehrb¨ uchern entwickelt werden, und so genannte Templates, denen wir zuerst in Abschnitt 5.9 begegnen. Objekt-orientierte Numerik findet man u ¨ ber http://www.oonumerics.org/oon/.
Literaturhinweise F¨ ur die numerische Mathematik gibt es eine große Zahl von Lehrb¨ uchern. Einige sind st¨arker theoretisch orientiert [Col 68, H¨ am 94, Hen 82, Hen 72, Lin 01, Stu 82, Sch 92], w¨ahrend andere das wissenschaftliche Rechnen in den Vordergrund stellen [Dew 86, Gol 95, Gol 96a, K¨ oc 90] oder sogar konsequent die Software-Realisierung mit der Vermittlung der numeri¨ 97]. Die u schen Methoden verkn¨ upfen [EM 90, Gan 92, Hop 88, Ske 01, Ube ¨berwiegende Zahl der neueren Lehrb¨ ucher bietet neben einer fundierten Mathematik praktische Anwendungen und den Bezug auf m¨ ogliche Software-L¨ osungen [Atk 89, Bec 93, Dah 74, Deu 02b, Roo 99, Sto 99, Sto 00]. Diesen Weg versuchen wir mit diesem Lehrbuch auch zu gehen.
1
Fehlertheorie
Die numerische Mathematik l¨ ost mathematische Probleme durch die Anwendung von Rechenverfahren (Algorithmen) auf Daten. Dabei entsteht eine vorgegebene Menge von Zahlenwerten als Ergebnis. Die Daten k¨ onnen – z.B. auf Grund von Messungen – fehlerhaft sein, und die Ergebnisse der Rechenoperationen werden durch die endliche Stellenzahl bei der Rechnung ebenfalls verf¨ alscht. Deshalb ist es eine wichtige Aufgabe der Numerik, neben den Methoden, mit denen ein mathematisches Problem numerisch gel¨ost werden kann, auch die Entstehung von Fehlern bei der konkreten Berechnung von Ergebnissen zu untersuchen. Definition 1.1. 1. Ein Algorithmus ist eine f¨ ur jeden m¨oglichen Fall eindeutig festgelegte Abfolge von elementaren Rechenoperationen unter Einbeziehung mathematischer Funktionen und Bedingungen. 2. Zu den elementaren Rechenoperationen geh¨ oren die Grundrechenarten, logische Operationen sowie (rechnerabh¨ angig) weitere Operationen wie die Auswertung von Standardfunktionen, etwa der e-Funktion oder der Wurzelfunktion.
1.1
Fehlerarten
Datenfehler sind Fehler, die auf Grund fehlerhafter Eingabedaten in den Algorithmus einfließen. Sind Messungen der Grund, dann werden sie auch Messfehler genannt. Diskretisierungsfehler, historisch auch Abbruchfehler, werden Fehler genannt, die dadurch entstehen, dass ein kontinuierliches mathematisches Problem “diskretisiert”, d.h. endlich bzw. diskret gemacht wird. Dabei wird z. B. die Berechnung unendlicher Summen nach endlich vielen Summanden “abgebrochen”. Rundungsfehler sind die beim Rechnen mit reellen Zahlen durch Rundung der (Zwischen)Ergebnisse entstehenden Fehler. Dabei setzen wir voraus, dass alle elementaren Operationen denselben maximalen Standardfehler haben. Die Fortpflanzung der Rundungsfehler von Rechenoperation zu Rechenoperation ist die h¨ aufigste Quelle f¨ ur numerische Instabilit¨at, d.h. f¨ ur Ergebnisse, die durch Fehlerverst¨ arkung unbrauchbar werden k¨onnen. ur x. Dann heißen Definition 1.2. Es sei x eine reelle Zahl, x ˜ ∈ Ê ein N¨aherungswert f¨ δx := x ˜−x
(1.1)
16
1 Fehlertheorie
absoluter Fehler von x und, falls x = 0, x˜ − x εx := x relativer Fehler von x.
1.2
(1.2)
Zahldarstellung
Auf einer Rechenanlage ist nur eine Teilmenge M der Menge Ê der reellen Zahlen darstellbar. Nach dem IEEE-Standard wird eine reelle Zahl x ∈ M dargestellt als x = sign (x) · a · E e−k .
(1.3)
Das Zahlensystem M ist durch vier ganzzahlige Parameter bestimmt:
• die Basis E ∈ , E > 1, meistens E = 2, • die Genauigkeit k ∈ und • den Exponenten-Bereich emin ≤ e ≤ emax , emin , emax ∈ . Die Mantisse a ∈ a = a1 E
0 k−1
ist definiert als
+ a2 E k−2 + · · · + ak−1 E 1 + ak E 0 ;
(1.4)
k
f¨ ur sie gilt also 0 ≤ a ≤ E − 1. Dabei ist k die Mantissenl¨ange und die ai sind Ziffern des Zahlensystems , also 0 oder 1 im Dualsystem mit der Basis 2. Die Zahl Null ist ein Sonderfall; ist x = 0, so soll auch die erste Ziffer ungleich null sein, d.h. es ist E k−1 ≤ a < E k , falls x = 0.
(1.5)
1
x heißt dann k-stellige normalisierte Gleitpunktzahl zur Basis E. Das Rechnen mit solchen Zahlen heißt Rechnung mit k wesentlichen Stellen. Damit ergibt sich als Bereich der normalisierten Gleitpunktzahlen x = 0: E emin −1 ≤ |x| ≤ E emax (1 − E −k ).
(1.6)
Eine wichtige Eigenschaft des Zahlensystems M ist, dass die Zahlen in ihm nicht den gleichen Abstand haben, also nicht ¨ aquidistant sind. Im Dualsystem springt ihr Abstand mit jeder Zweierpotenz um den Faktor 2, siehe Abb. 1.1 und Aufgabe 1.1.
0
0.5
1
2
3
4
5
6
7
Abb. 1.1 Verteilung der Gleitpunktzahlen f¨ ur E = 2, k = 3, emin = −1 und emax = 3.
Nach jeder arithmetischen Rechenoperation wird das Ergebnis x auf einen eindeutig definierten Wert rd(x) gerundet. Außerdem definieren wir die Maschinengenauigkeit: E τ := E −k . (1.7) 2 1 Wir
schreiben diesen Begriff wie im Angels¨ achsichen. Im Deutschen ist auch Gleitkommazahl gebr¨ auchlich.
17
1.2 Zahldarstellung
Lemma 1.3. Wenn x = 0 im Bereich der normalisierten Gleitpunktzahlen liegt und rd(x) in M, dann gilt |rd(x) − x|
≤
|rd(x) − x| |x|
≤
E e−k 2 1 1−k E =τ 2
(max. absoluter Fehler bei Rundung), (1.8) (max. relativer Fehler bei Rundung).
Beweis. Sei o.B.d.A. x > 0. Dann kann x geschrieben werden als x = µE e−k ,
E k−1 ≤ µ ≤ E k − 1.
Also liegt x zwischen den benachbarten Gleitpunktzahlen2 y1 = ⌊µ⌋E e−k und y2 = ⌈µ⌉E e−k . Also ist entweder rd(x) = y1 oder rd(x) = y2 , und es gilt bei korrektem Runden |rd(x) − x| ≤
E e−k y2 − y1 ≤ . 2 2
Daraus folgt e−k
E |rd(x) − x| 1 2 ≤ = E 1−k = τ. |x| µE e−k 2
Beispiel 1.1. Wir wollen f¨ur x = π den Wert y = x2 = 9.8696044 . . . in zweistelliger dezimaler und in f¨ unfstelliger dualer Gleitpunktdarstellung (mit den Dualziffern 0 und 1) berechnen. (a) F¨ ur E = 10 und k = 2 ist die Maschinengenauigkeit τ = 0.05 und rd(π)
=
rd(π) rd(π)
=
y10,2
=
y10,2 − π 2
≈
rd(π)
=
rd(π) rd(π)
=
y2,5
=
2
≈
3.1 = 0.31 · 101 0.961 · 101
rd{rd(π) rd(π)} = 0.96 · 101 = 9.6 0.27.
(b) F¨ ur E = 2 und k = 5 ist die Maschinengenauigkeit τ = 2−5 = 0.03125 und
y2,5 − π
rd(21 + 20 + 2−3 + 2−5 + · · ·) = 21 + 20 + 2−3 = 0.11001 · 22 0.1001110001 · 24
rd{rd(π) rd(π)} = 0.10100 · 24 = 10 0.13.
△
Die Parameter der im IEEE-Standard vorgesehenen Gleitpunktzahlen-Systeme werden in Tabelle 1.1 wiedergegeben. 2 ⌊µ⌋
ist die gr¨ oßte ganze Zahl kleiner gleich µ, ⌈µ⌉ ist die kleinste ganze Zahl gr¨ oßer gleich µ.
18
1 Fehlertheorie
Tab. 1.1 Die Parameter der IEEE Standard-Arithmetik zur Basis E = 2
Genauigkeit Einfach Doppelt Erweitert
1.3
t 24 53 64
emin −125 −1021 -16381
emax 128 1024 16384
−24
2 2−53 2−64
τ ≈ 6 × 10−8 ≈ 1 × 10−16 ≈ 5 × 10−20
Rundungsfehler
Aus Lemma 1.3 folgt Lemma 1.4. 1. Es gilt (mit der Maschinengenauigkeit τ ) rd(x) = x(1 + ε) mit |ε| ≤ τ. 2. Es sei ∗ eine der elementaren Operationen. Dann gilt: rd(x ∗ y) = (x ∗ y)(1 + ε) mit |ε| ≤ τ. 3. Die Maschinengenauigkeit τ ist die kleinste positive Zahl g f¨ ur die gilt: rd(1 + g) > 1.
(1.9) (1.10) (1.11)
Definition 1.5. 1. Die wesentlichen Stellen einer Zahl sind ihre Mantissenstellen bei normalisierter Gleitpunktdarstellung. 2. Beim Rechnen mit k wesentlichen Stellen m¨ ussen alle Eingabegr¨oßen auf k wesentliche Stellen gerundet werden, anschließend werden die Ergebnisse jeder elementaren Operation vor dem Weiterrechnen sowie das Endergebnis auf k wesentliche Stellen gerundet. 3. Ausl¨oschung nennt man das Annullieren f¨ uhrender Mantissenstellen bei der Subtraktion zweier Zahlen gleichen Vorzeichens. Wird ein numerischer Algorithmus instabil, so hat das in den meisten F¨allen seinen Grund im Informationsverlust durch Subtraktion, also in der Ausl¨oschung. Wir wollen den Einfluss von Rundungsfehlern an zwei Beispielen verdeutlichen: Beispiel 1.2. Es seien a := 1.2 und b := 1.1. Wir wollen zwei Algorithmen zur Berechnung von a2 − b2 = (a + b) (a − b) in zweistelliger dezimaler Gleitpunktrechnung vergleichen. Es ist a2 = 1.44
=⇒
rd(a2 ) = 1.4
2
=⇒
rd(b2 ) = 1.2
rd(a2 ) − rd(b2 )
=
b = 1.21
0.2
(Fehler 13 %).
Mit ebenfalls drei Rechenoperationen berechnet man a + b = rd(a + b)
=
2.3
a − b = rd(a − b)
=
0.10
=
0.23
(a + b)(a − b)
(Fehler 0 %).
Beispiel 1.3. Es ist √ √ √ 99 − 70 2 = 9801 − 9800 = √
1 √ = 0.005050633883346584 . . . . 9801 + 9800
△
19
1.3 Rundungsfehler
Diese drei Formeln f¨ ur einen Zahlenwert sind drei Algorithmen. Ihre unterschiedliche Stabilit¨ at zeigt eine Berechnung in k-stelliger dezimaler Gleitpunktrechnung f¨ ur verschiedene Werte von k. √ √ √ √ √ Anzahl wesentlicher Stellen 99 − 70 2 9801 − 9800 1/( 9801 + 9800) 2 4 6 10
1.0 0.02000 0.00530000 0.005050660000
0.0 0.01000 0.00510000 0.005050640000
0.0050 0.005051 0.00505063 0.005050633884
Der Grund f¨ ur die numerische Instabilit¨ at der ersten beiden Algorithmen ist die Subtraktion der beiden fast gleichen Zahlen, also Ausl¨ oschung. Es gehen alle bzw. 3 bzw. 4 Stellen verloren, was auch durch die abschließenden Nullen deutlich wird. △
Zur systematischen Untersuchung wird der Algorithmus als Funktion dargestellt: Eingabedaten: Ergebnisse: Algorithmus:
x ∈ Êm y ∈ Ên
y = ϕ(x)
(1.12)
Die exakte Analyse des Algorithmus mit Ber¨ ucksichtigung der Eingabe- oder Datenfehler, der Rundungsfehlerfortpflanzung von Rechenschritt zu Rechenschritt und der Ergebnisrundung wird differenzielle Fehleranalyse genannt, siehe Abschnitt 1.4. Hier soll zun¨achst eine einfachere Modellsituation betrachtet werden3 Lemma 1.6. Seien δx ∈ Êm der absolute Datenfehler von x und ⎛ ⎞ ∂ϕ1 ∂ϕ1 ··· ⎜ ∂x1 ∂xm ⎟ ⎜ . .. ⎟ n,m . ⎜ ⎟ .. Dϕ = ⎜ .. . ⎟∈Ê ⎝ ∂ϕ ⎠ ∂ϕn n ··· ∂x1 ∂xm die Funktionalmatrix der Funktion ϕ.
(1.13)
Dann gilt unter der Voraussetzung, dass exakt, also ohne den Einfluss von Rundungsfehlern, gerechnet wird, f¨ ur die Ergebnisfehler des Algorithmus y = ϕ(x) in erster N¨aherung: . (1.14) δy = Dϕ δx εyi
. =
m
k=1
Kik εxk ,
i = 1, · · · , n.
Dabei sind Kik die Konditionszahlen ∂ϕi (x) xk Kik = , i = 1, · · · , n, k = 1, · · · , m. ∂xk ϕi (x)
(1.15)
(1.16)
Beweis. Die Aussage (1.14) f¨ ur δy ergibt sich sofort aus dem Satz von Taylor. Die Aussage (1.15) f¨ ur εy entsteht durch arithmetische Erweiterung von (1.14). . verwenden das Zeichen = f¨ ur Gleichheit bis auf Glieder zweiter Ordnung, also bis auf Terme, in denen Quadrate oder h¨ ohere Potenzen einer Fehlergr¨ oße auftreten (in (1.14) und (1.15) sind das δx bzw. εxk ). 3 Wir
20
1 Fehlertheorie
Die Konditionszahlen sind die Verst¨ arkungsfaktoren der relativen Fehler eines Eingabedatums in einem Ergebnis. Lemma 1.7. ˙ |δyi | ≤
m
˙ |εyi | ≤
m
k=1
k=1
∂ϕi (x) , |δxk | ∂xk
(1.17) i = 1, · · · , n,
|Kik | |εxk |.
(1.18)
Beispiel 1.4. Sei y = ϕ(x1 , x2 , x3 ) = x1 + x2 + x3 , also ϕ : Ê3 → Ê. Es sind ∂y = 1 j = 1, 2, 3. ∂xj Also sind die Konditionszahlen gegeben als xj K1j = , j = 1, 2, 3. x1 + x2 + x3 P Das Problem ist deshalb dann gut konditioniert, wenn xi ≫ xj . Es gilt δy = δx1 + δx2 + δx3
und x2 x3 x1 εx + εx + εx . x1 + x2 + x3 1 x1 + x2 + x3 2 x1 + x2 + x3 3 Unter der Annahme |εxj | ≤ τ gilt εy =
|x1 | + |x2 | + |x3 | τ. |x1 + x2 + x3 | Die Fehler werden also nur dann sehr verst¨ arkt, wenn die Summe x1 + x2 + x3 klein ist relativ zu den Summanden, und das kann nur durch Ausl¨ oschung entstehen. △ |εy | ≤
F¨ ur die elementaren Operationen ergibt sich der Satz 1.8. (a) Absoluter Fehler: y = x1 ± x2
y = x1 · x2 x1 y= x2
⇒
⇒
⇒
δy = δx 1 ± δx 2
. δy = x2 δx1 + x1 δx2 + δx1 δx2 = x2 δx1 + x1 δx2 . x2 δx1 − x1 δx2 δy = (x2 = 0) x22
(1.19) (1.20) (1.21)
(b) Relativer Fehler: εx1 ±x2 εx1 ·x2
= . =
x1 x2 εx ± εx x1 ± x2 1 x1 ± x2 2 εx1 + εx2
(x1 ± x2 = 0)
(1.22) (1.23)
21
1.4 Differenzielle Fehleranalyse
εx1 /x2
. =
εxn
. =
εx1 − εx2 n εx ,
(1.24)
n ∈ Q,
. 1 (z.B. ε√x = εx ) 2
(1.25)
¨ Beweis. Ubung. Ausl¨ oschung entsteht, wenn zwei Zahlen x1 , x2 mit x1 ≈ x2 voneinander abgezogen werden, weil dann nach (1.22) εx1 −x2 ≫ εxi .
1.4
Differenzielle Fehleranalyse
Wir lassen jetzt die Voraussetzung des exakten Rechnens fallen und ber¨ ucksichtigen alle Fehler, vom Eingangsfehler (Datenfehler) bis zur Rundung der errechneten Ergebnisse einschließlich aller fortgepflanzten Rundungsfehler. Wir betrachten den in elementare Rechenoperationen zerlegten Algorithmus: x = x(0) −→ ϕ(0) (x(0) ) =: x(1) → · · · → ϕ(r) (x(r) ) =: x(r+1) ≡ y x∈Ê
m
−→ y = ϕ(x) ∈ Ê
(1.26)
n
Dabei sind im Allgemeinen alle Zwischenergebnisse Vektoren; die elementaren Rechenoperationen sind elementweise zu verstehen. Wir definieren so genannte Restabbildungen ψ (k) ψ
(k−1)
:= =
ϕ(r) ◦ ϕ(r−1) ◦ .. ◦ ϕ(k) : Êmk → Ên , ψ
(k)
(k−1)
◦ϕ
,
(1.27)
k = 2, . . . , r.
Satz 1.9. Der beim Algorithmus (1.26) aus Datenfehler δx und Rundung beim Rechnen mit k wesentlichen Stellen fortgepflanzte Fehler δy ergibt sich als . δy = Dϕ(x) δx + Dψ (1) (x(1) ) E1 x(1) + · · · + Dψ (r) (x(r) )Er x(r) + Er+1 y oder
. δy = Dϕ(x) δx + Datenfehler
r i=1
Dψ (i) (x(i) )Ei x(i)
fortgepflanzte Rundungsfehler
+
Er+1 y . Resultatrundung
(1.28)
Dabei sind Dϕ, Dψ (i) die Funktionalmatrizen der entsprechenden Abbildungen und Ei diagonale Rundungsfehlermatrizen ⎛ (i) ⎞ ε1 ⎜ ⎟ (i) ⎜ ⎟ (i) ε2 Ei := ⎜ (1.29) ⎟ mit |εj | ≤ τ. . .. ⎝ ⎠ (i) ε mi
Beweis. (nach [Sto 99]): Aus der Kettenregel f¨ ur Funktionalmatrizen D(f ◦ g)(x) = Df (g(x)) Dg(x) folgen Dϕ(x)
= Dϕ(r) (x(r) ) Dϕ(r−1) (x(r−1) ) · · · Dϕ(0) (x),
22
1 Fehlertheorie
Dψ (k) (x(k) )
(1.30)
= Dϕ(r) (·) · · · Dϕ(k) (·).
Wir m¨ ussen jetzt Schritt f¨ ur Schritt je zwei Fehleranteile ber¨ ucksichtigen: (a) Die Fortpflanzung der aufgelaufenen Fehler mit Dϕ(i) , (b) die Rundung des gerade berechneten Zwischenergebnisses. 1. Schritt: δx(1) α(1) (1)
αj
(1)
| εj |
. = Dϕ(0) (x) δx + α(1) mit := rd (ϕ(0) (˜ x)) − ϕ(0) (˜ x) oder komponentenweise (1)
(1) (1)
(0)
=
x) = εj xj εj ϕj (˜
≤
τ.
mit
(1)
(1)
(1)
Fasst man diese εj zu einer Diagonalmatrix E1 = diag (ε1 , ε2 , . . . , ε(1) m1 ) ∈ zusammen, so bekommt man m1 ,m1 . α(1) , x(1) ∈ Êm 1 , E1 ∈ Ê
α(1) = E1 x(1) , 2. Schritt:
. δx(2) = Dϕ(1) (x(1) )[ Dϕ(0) (x) δx + α(1) ] + α(2) ,
Fehler aus 1. Schritt neue Rundung
fortgepflanzter Fehler
oder mit der Abk¨ urzung Dk := Dϕ(k) (x(k) ) . δx(2) = D1 D0 δx + D1 α(1) + α(2) . Entsprechend ergibt sich
. δx(3) = D2 D1 D0 δx + D2 D1 α(1) + D2 α(2) + α(3) . Schließlich bekommt man insgesamt δy = δx(r+1)
. =
Dr Dr−1 · · · D0 δx + + + + +
} fortgepfl. Datenfehler ⎫ Dr Dr−1 · · · D1 α(1) ⎪ ⎪ ⎬ Dr Dr−1 · · · D2 α(2) fortgepfl. Rundungsfehler ⎪ ··· ⎪ ⎭ Dr α(r) α(r+1) Ergebnisrundung
mit α(r+1) = Er+1 x(r+1) = Er+1 y. Mit (1.30) beweist das (1.28).
Êm
1 ,m1
23
1.4 Differenzielle Fehleranalyse
Der Satz gibt in 1. N¨ aherung die exakte Darstellung des Gesamtfehlers, aber nicht in bere(k) chenbarer Form, da die Zahlen εj in den Diagonalmatrizen Ek nicht bekannt sind. Sch¨atzt man den Betrag dieser Zahlen durch die Maschinengenauigkeit τ ab, so ergibt sich r ˙ τ |Dψ (i) (x(i) )| |x(i) | + |Dϕ(x)| |δx | + τ |y|. (1.31) |δy |≤ i=1
Dabei sind die Betr¨ age komponenten- bzw. elementweise zu verstehen. Wird ein Element (i) xk in einem Rechenschritt nur u ¨ bernommen, so ist das k-te Diagonalelement der Run(i+1) (i+1) (i) = 0. dungsfehlermatrix Ei gleich null, oder: aus xk = xj folgt εk
Bei l¨ angeren Algorithmen f¨ uhrt die differenzielle Fehleranalyse zu einer großen Anzahl von Einzeltermen, die in (1.31) alle nach oben abgesch¨atzt werden. Dabei k¨onnen sich Fehler mit verschiedenem Vorzeichen teilweise gegenseitig aufheben. Das kann nur in einer Fehlersch¨atzung ber¨ ucksichtigt werden, bei der z.B. stochastische Methoden angewendet werden. 1−x 2x = . 1+x 1+x Welche der beiden Berechnungsformeln ist numerisch stabiler?
Beispiel 1.5. Es ist 1 −
Algorithmus 1: x(0) (1)
=
x(2)
=
x(3)
=
x
x ∈Ê ! (1) x1 = ϕ(0) (x) = (1) x2
=
1−x 1+x
!
:
Ê → Ê2
(1)
x1
: Ê2 → Ê (1) x2 ϕ(2) (x(2) ) = 1 − x(2) : Ê → Ê. ϕ(1) (x(1) ) =
Daraus ergeben sich als Funktionalmatrizen 1 0 ! (1) −x 1 −1 , Dϕ(1) = @ (1) , (1)1 A, Dϕ(0) = +1 x2 (x2 )2 2 , Dϕ = (1 + x)2 Dψ (2) Dψ (1)
= = (j)
Dϕ(2) = −1,
0
Dϕ(2) Dϕ(1) = @−
1 (1)
x2
(1)
,
x1
(1)
(x2 )2
Dϕ(2) = −1,
1
A.
Setzen wir f¨ ur die xk die Ausdr¨ ucke in x ein, so ergibt das mit (1.28) . (1) δy = Dϕ δx + Dψ E1 x(1) + Dψ (2) E2 x(2) + E3 y ! ! « „ (1) 2δx 1 1−x 1−x 0 ε1 = + − , (1) (1 + x)2 1 + x (1 + x)2 1+x 0 ε2 « „ 1−x (3) (2) 1 − x + ε1 + (−1) ε1 1− 1+x 1+x „ « −(1 − x) (1) 2δx 1 − x2 (1) 1−x (2) 1 − x (3) = ε + ε + − ε + ε 1 − . 1 1 2 1 (1 + x)2 1+x (1 + x)2 1+x 1+x
24
1 Fehlertheorie
Unter der Annahme |x| ≪ 1, τ ≪ |x| , |δx | ≤ τ kann man 1 − x ≈ 1 + x ≈ 1 setzen und bekommt ˙ <
|δy | ≈ 5τ.
Algorithmus 2: 0
=
x,
y
=
x(2) = ϕ(1) (x(1) ) =
x
x
(1)
(0)
=ϕ
2x 1+x
(x) = (1)
x1
(1)
x2
!
: Ê → Ê2 ,
: Ê2 → Ê.
Das ergibt die Funktionalmatrizen 0 1 1 0 ! (1) x −2x 1 1 2 (1) (0) 1 A, A=@ , Dϕ = @ (1) , − (1) = , Dϕ 1 + x (1 + x)2 1 x2 (x2 )2 Dψ (1)
=
Dϕ(1) ,
Dϕ
=
2 . (1 + x)2
(1.28) liefert jetzt δy
. = =
0 1 (1) 2δx −x 1 + @ (1) , (1)1 A (1 + x)2 x2 (x2 )2
(1)
ε1 0
0 (1) ε2
!
2x 1+x
!
(2)
+ ε1
2x 1+x
2δx (1) 2x (1) (−2x) (2) 2x + ε1 + ε2 + ε1 (1 + x)2 1+x 1+x 1+x
Mit denselben Annahmen wie beim Algorithmus 1 ergibt das ˙ <
|δy | ≈ 2τ.
F¨ ur x = 1 · 10−3 ergibt sich yexakt = 1.998001998 · 10−3 . E = 10, k = 8 :
Algorithmus 1: y = 1.9980000 · 10−3 , Algorithmus 2: y = 1.9980020 · 10−3 .
Algorithmus 2 liefert also ein auf acht Stellen korrektes Ergebnis, das um zwei Stellen genauer ist als das von Algorithmus 1. Das verst¨ arkt noch den in den differenziellen Fehleranalysen fest gestellten Unterschied zwischen den beiden Algorithmen. △
1.5
Erg¨anzungen und Beispiele
1.5.1
Ru ¨ckw¨arts-Fehleranalyse (backward analysis)
Die differentielle Fehleranalyse ist eine Vorw¨ artsuntersuchung der Fehlerentwicklung. Eine andere Idee ist die R¨ uckw¨ artsuntersuchung. Der Algorithmus y = ϕ(x) wird mit Datenfehler und Rundungsfehlerfortpflanzung zu y˜ = ϕ(˜ ˜ x)
1.5 Erg¨ anzungen und Beispiele
25
Problem: Finde ein δx so, dass y˜ = ϕ(x + δx ) Hier wird versucht, ausgehend vom erhaltenen Ergebnis y˜ ein x + δx zu finden, das mit dem exakten Algorithmus ϕ das Ergebnis y˜ liefert. Auch hier bekommt man in der Regel nur Absch¨ atzungen f¨ ur ||δx ||. Kann man zeigen, dass das so gesch¨atzte δx in der Gr¨oßenordnung des tats¨ achlichen Datenfehlers liegt, also ||δx || ≈ ||x|| τ
gilt, so ist der Algorithmus gutartig. Viele Beispiele zu dieser Betrachtungsweise findet man in [Wil 94] und [Wil 65].
1.5.2
Numerische Stabilit¨at
In der Literatur ist dieser Begriff nicht eindeutig definiert, da er immer nur relativ zur Genauigkeit ist. Ein Versuch: Ist bei einem numerischen Verfahren der zu erwartende Genauigkeitsverlust (Konditionszahlen!) durch Rundungsfehlerfortpflanzung groß relativ zur Genauigkeit der Daten und zur Genauigkeitsanforderung (-erwartung) an das mathematische Problem, so spricht man von numerischer Instabilit¨ at. Besser l¨ asst sich numerische Stabilit¨ at komparativ erkl¨aren (nach [Sto 99]): “Ein Algorithmus I zur L¨ osung eines Problems ist numerisch stabiler als ein Algorithmus II zur L¨ osung desselben Problems, wenn der Gesamteinfluss der Rundungsfehler bei I kleiner ist als bei II.” Beispiel 1.6. Numerische 0/0-Situationen Von numerischer 0/0-Situation spricht man, wenn sowohl Z¨ ahler als auch Nenner eines Quotienten von sehr kleinem Betrage sind. Es gibt zwei typische Situationen f¨ ur solche F¨ alle, die sich aber bez¨ uglich ihrer numerischen Stabilit¨ at stark unterscheiden. (1) x1 · x2 mit x1 · x2 und x3 · x4 klein . x3 · x4 Mit Satz 1.8 ergibt sich als relativer Fehler . εy = (εx1 + εx2 ) − (εx3 + εx4 ). y=
Dies ist also eine v¨ ollig harmlose Situation! (2) x1 − x2 mit x1 ≈ x2 , x3 ≈ x4 . x3 − x4 Jetzt ergibt Satz 1.8 „ « „ « x1 x3 x2 x4 . εy = ε x1 − ε x2 − ε x3 − ε x4 . x1 − x2 x1 − x2 x3 − x4 x3 − x4 y=
26
1 Fehlertheorie
Wegen x1 ≈ x2 und x3 ≈ x4 wird der relative Fehler hier groß relativ zu den Eingangsdaten. Im Gegensatz zu (1) ist dies deshalb die schlimme Situation der Ausl¨ oschung, die in einem Algorithmus unbedingt vermieden werden sollte! △
Beispiel 1.7. Rundungsfehler bei Summation S=
n X
ai
i=0
Algorithmus: S0
:=
a0 ,
Si
:=
Si−1 + ai f¨ ur i = 1, . . . , n,
S
:=
Sn .
Absoluter Fehler: δSi = δSi−1 + δai + τi mit |τi | ≤ τ |Si | =⇒
δS = δSn =
n X
δai +
i=0
n X
τi .
i=1
Sei jetzt noch |δai | ≤ τ |ai | (Summanden nur gerundet), dann ist „X « n n X |δS | ≤ τ |ai | + |Si | . i=0
i=1
Daraus ergibt sich der relative Fehler n X
τ |εS | ≤ |S|
i=0
|ai | +
n X i=1
!
|Si | .
Der Rundungsfehler bei Summation wird also besonders groß bei betragsm¨ aßig großen Summanden, aber kleiner Summe (Ausl¨ oschung!). Der Fehler bleibt kleiner bei kleineren Zwischensummen, ist z.B. a0 > a1 > a2 · · · > 0, so liefert folgender Algorithmus kleinere Fehler: S0
:=
an ,
Si
:=
Si−1 + an−i f¨ ur i = 1, . . . , n,
S
:=
Sn .
△
Beispiel 1.8. Berechnung der e-Funktion f¨ur sehr kleine negative Werte: e−x ≈
N X i=0
(−1)i
xi . i!
Dabei seien x ≫ 0 und N so groß, dass der Abbruchfehler vernachl¨ assigt werden kann. Die Summanden wachsen betragsm¨ aßig zun¨ achst an bis x ≈ i, dann w¨ achst i! st¨ arker als xi . Sei k der Index zum betragsgr¨ oßten Term, dann gilt xk+1 x xk ≥ ⇒ ≤ 1 ⇒ x ≈ k. k! (k + 1)! k+1
27
1.5 Erg¨ anzungen und Beispiele Dieser Term hat also etwa die Gr¨ oßenordnung ex xx ≈ √ x! 2πx
(Stirling’sche Formel).
Allein dieser Term liefert also einen relativen Fortpflanzungsfehler-Anteil von „ «ffi τ e2x ex τ √ e−x = √ 2πx 2πx Wegen x ≫ 0 ist dieser Ausdruck sehr groß! Berechnen wir mit demselben x statt e−x das Reziproke ex , dann sind alle Fortpflanzungsfehlerfaktoren ≤ 1 : ffi xk ex < τ τ k! Das kann man ausnutzen, indem man algorithmisch 1/ex statt e−x berechnet. Wir wollen den Effekt an einem Beispiel demonstrieren. Sei x = 10, τ = 5 · 10−10 . Dann ist e2x . √ = 6.1 · 107 2πx
Deshalb erwarten wir einen relativen Fehler von etwa 3%. Einige Zwischensummen sind in Tab. 1.2 zu finden, die Endwerte mit acht wesentlichen Stellen; der entsprechend gerundete exakte Wert ist e−10 = 4.5399930 · 10−5 . Die Originalsumme f¨ ur e−x links ver¨ andert sich nach 47 Summanden nicht mehr. Der Wert hat andert sich schon nach 32 den erwarteten relativen Fehler von etwa 3%. Die Summe f¨ ur ex ver¨ Summanden nicht mehr. Ihr Reziprokwert stimmt in allen angezeigten Stellen mit dem exakten Wert u ur die mangelnde numerische Stabilit¨ at der Originalsumme liegt wieder ¨ berein. Der Grund f¨ in der Ausl¨ oschung, die durch das Summieren von betragsm¨ aßig großen Summanden zu einem kleinen Summenwert entsteht. △
Tab. 1.2 Zwischensummen der Reihenentwicklung f¨ ur e−x und ex . k 0 1 2 3 4 10 20 30 32 40 47
exp(−x) ≈
k X
(−1)i
i=0
1.0 –9.0 41.0 –125.6667 291.0 1342.587 54.50004 0.0009717559 0.0001356691 0.000046816665 0.000046814252
xi i!
exp(x) ≈
k X xi i! i=0
1.0 11.0 61.0 227.6667 644.3333 12842.31 21991.48 22026.464 22026.466
28
1.6
1 Fehlertheorie
Software
Software zur Fehlertheorie? Nicht unbedingt, aber es gibt wichtige Funktionen in den guten, großen Bibliotheken wie Nag oder Imsl, die sich auf den Bereich der Rechengenauigkeit beziehen. So liefert ein Funktionsaufruf den genauest m¨oglichen N¨aherungswert f¨ ur die nicht exakt berechenbare Zahl π, ein anderer gibt die Maschinengenauigkeit τ (1.7) aus. Diese und andere Maschinenkonstanten findet man bei Nag im Kapitel X. Die meisten Programmiersprachen kennen f¨ ur den Bereich der reellen Zahlen unterschiedliche Genauigkeiten, meistens spricht man von einfacher Genauigkeit, wenn τ ≈ 10−8 , und von doppelter Genauigkeit, wenn τ ≈ 10−16 ist.
Auch in Matlab gibt es vordefinierte Maschinenkonstanten, u.a. die Maschinengenauigkeit τ = eps sowie die gr¨ oßte und die kleinste positive Gleitpunktzahl realmax und realmin.
1.7
Aufgaben
Aufgabe 1.1. Der Abstand zwischen einer normalisierten Gleitpunktzahl x und einer benachbarochstens 2 τ |x| ten normalisierten Gleitpunktzahl y, (x, y ∈ M) betr¨ agt mindestens 2 E −1 τ und h¨ mit der Maschinengenauigkeit τ . Aufgabe 1.2. Gegeben seien die mathematisch ¨ aquivalenten Ausdr¨ ucke 1−x 2x f (x) = 1 − und g(x) = 1+x 1+x Werten Sie diese Ausdr¨ ucke an der Stelle x = 1/7654321 aus, wobei Sie mit 5 wesentlichen Stellen rechnen. Bestimmen Sie jeweils die Gr¨ oßenordnung der relativen Fehler. F¨ uhren Sie anschließend das gleiche nochmal mit 8 wesentlichen Stellen durch.
Ê
arte Funktion f sind Aufgabe 1.3. F¨ ur die durch f (x) := ex , x ∈ , erkl¨ 1 1+h 1 1+h d1 (h) = (e (e − e) und d2 (h) = − e1−h ) h 2h N¨ aherungen f¨ ur die Ableitung f ′ (1) (0 = h ∈ ). Schreiben Sie eine Prozedur, um d1 (h) und d2 (h) zu berechnen. Lassen Sie d1 (h), d2 (h) und die absoluten Fehler |d1 (h) − f ′ (1)|, |d2 (h) − f ′ (1)| ausgeben f¨ ur
Ê
h := 10−i ,
i = 0, 1, 2, . . . , 18,
und wagen Sie eine Erkl¨ arung. (Hinweis: Betrachten Sie die Taylorentwicklung von f und dr¨ ucken Sie d1 und d2 damit aus.) Aufgabe 1.4. Albert E. m¨ ochte ein Tafelwerk erstellen, das Cosinus-Werte f¨ ur alle Argumente { x ∈ [0, 2π] | x hat drei Stellen nach dem Komma } enth¨ alt. Diese Cosinus-Werte sollen auf vier Stellen nach dem Komma gerundet sein. Er will dazu alle Werte zun¨ achst mit doppelter Genauigkeit (acht Stellen) berechnen, und anschließend auf vier Stellen runden.
29
1.7 Aufgaben Erkl¨ aren Sie Albert am Beispiel cos(0.614) = 0.8173499969 . . . , dass sein Vorgehen schief gehen kann, indem Sie rdt (cos(0.614))
und
rd4 (rdt (cos(0.614)))
f¨ ur t = 4, . . . , 9 berechnen. Aufgabe 1.5. Es soll eine N¨ aherung f¨ ur π ≈ 3.141592653589793238462643383305 u ¨ ber die Beziehung π = lim 3 · 2n−1 sn = lim 3 · 2n−1 tn n−→∞
n−→∞
mit (⋆)
s1 := 1
und
sn+1 :=
bzw. t1 := 1
(⋆⋆) bestimmt werden.
und
q
2−
tn+1 := p
p
2+
4 − s2n
tn √
4 − t2n
n = 1, 2, . . . , n = 1, 2, . . .
a) Beweisen Sie Rekursionsformel (⋆) mit Hilfe des Satzes von Pythagoras. (Hinweis: sn ist die L¨ ange einer Seite eines regelm¨ aßigen 3 · 2n –Ecks, das dem Einheitskreis einbeschrieben ist.) ur alle n ∈ . b) Zeigen Sie sn = tn f¨ c) Betrachten Sie q die Funktion p ϕ(x) := 2 − 4 − x2 . Wie ist das Problem der Berechnung von ϕ(x) konditioniert, insbesondere f¨ ur kleine Werte x = 0? d) Schreiben Sie ein Programm, das die Werte 3 · 2n−1 sn
3 · 2n−1 tn
und
f¨ ur n = 1, . . . , 35 ausgibt und u ur das unterschiedliche Verhalten der ¨ berlegen Sie sich den Grund f¨ beiden Berechnungsarten.
Ê
Aufgabe 1.6. Es sei p ein reelles Polynom mit der einfachen Nullstelle ξ0 ∈ , und g ein reelles orte Polynom St¨ orpolynom f¨ ur p, d.h. f¨ ur kleines ǫ ∈ betrachten wir das gest¨
Ê
pǫ := p + ǫ g. a) Zeigen Sie, dass es eine (Intervall-)Umgebung U von Null und eine stetig differenzierbare Funktion ξ : U −→ gibt mit • ξ(0) = ξ0 , ur alle ǫ ∈ U , also • ξ(ǫ) ist Nullstelle von pǫ f¨
Ê
p(ξ(ǫ)) + ǫ g(ξ(ǫ)) = 0
f¨ ur alle ǫ ∈ U .
• ξ(ǫ) ist einfache Nullstelle von pǫ f¨ ur alle ǫ ∈ U . b) Zeigen Sie, dass f¨ ur ξ(·) auf U in erster N¨ aherung die Formel .
ξ(ǫ) = ξ0 − gilt.
g(ξ0 ) ǫ p′ (ξ0 )
2
Lineare Gleichungssysteme, direkte Methoden
Die numerische L¨ osung von linearen Gleichungssystemen spielt eine zentrale Rolle in der Numerik. Viele Probleme der angewandten Mathematik f¨ uhren fast zwangsl¨aufig auf diese Aufgabe, oder sie wird als Hilfsmittel ben¨ otigt im Rahmen anderer Methoden. Deshalb stellen wir im Folgenden direkte L¨ osungsverfahren f¨ ur lineare Gleichungssysteme bereit und beachten die Tatsache, dass jede Rechnung nur mit endlicher Genauigkeit erfolgt. Zuerst wird ein allgemeiner Algorithmus entwickelt, f¨ ur dessen Anwendbarkeit nur die Regularit¨at der Koeffizientenmatrix vorausgesetzt wird. F¨ ur Gleichungssysteme mit speziellen Eigenschaften, die h¨ aufig anzutreffen sind, ergeben sich Modifikationen und Vereinfachungen des Rechenverfahrens. Ist die Koeffizientenmatrix eines linearen Gleichungssystems nicht regul¨ar oder liegt ein u ¨ ber- oder unterbestimmtes System vor, bei dem also die Koeffizientenmatrix auch nicht mehr quadratisch ist, wird im Allgemeinen auf die Methode der kleinsten Quadrate zur¨ uckgegriffen, siehe Kapitel 6. Eine andere Spezialsituation ist die sehr großer linearer Gleichungssysteme, deren Koeffizientenmatrix aber viele Nullen enth¨ alt; sie ist schwach besetzt. In diesem Fall werden meistens iterative Methoden verwendet, siehe Kapitel 11.
2.1
Der Gauß-Algorithmus
2.1.1
Elimination, Dreieckszerlegung und Determinantenberechnung
Es sei ein lineares Gleichungssystem n aik xk = bi , i = 1, 2, . . . , n,
(2.1)
k=1
mit n Gleichungen in n Unbekannten xk zu l¨ osen. Dabei seien die Koeffizienten aik und die Konstanten bi als Zahlen vorgegeben und die numerischen Werte der Unbekannten xk gesucht. Das Gleichungssystem (2.1) l¨ asst sich in Matrizenform kurz als Ax = b
(2.2)
mit der quadratischen (n × n)-Matrix A, der rechten Seite b und dem Vektor x der Unbekannten schreiben. F¨ ur das Folgende setzen wir voraus, dass die Koeffizientenmatrix A regul¨ ar sei, so dass die Existenz und Eindeutigkeit der L¨osung x von (2.2) gesichert ist [Bun 95, Sta 94].
31
2.1 Der Gauß-Algorithmus
Zur Vereinfachung der Schreibweise und im Hinblick auf die praktische Durchf¨ uhrung auf einem Rechner benutzen wir f¨ ur die zu l¨ osenden Gleichungen (2.1) eine schematische Darstellung, die im konkreten Fall n = 4 die folgende selbsterkl¨arende Form besitzt. x1
x2
x3
x4
1
a11 a21 a31 a41
a12 a22 a32 a42
a13 a23 a33 a43
a14 a24 a34 a44
b1 b2 b3 b4
(2.3)
Im Schema (2.3) erscheinen die Koeffizienten aik der Matrix A und die Komponenten bi ¨ der rechten Seite b. Auf das Schema (2.3) d¨ urfen die folgenden drei Aquivalenzoperationen angewandt werden, welche die im gegebenen Gleichungssystem (2.1) enthaltene Information nicht ver¨ andern: 1. Vertauschung von Zeilen; 2. Multiplikation einer Zeile mit einer Zahl = 0; 3. Addition eines Vielfachen einer Zeile zu einer anderen. Unter der Annahme a11 = 0 subtrahieren wir von den i-ten Zeilen mit i ≥ 2 das (ai1 /a11 )fache der ersten Zeile und erhalten aus (2.3) x1
x2
x3
x4
1
a11
a12
a13
a14
b1
0
a22
0
a32
0
a42
(1)
b2
(1)
b3
(1)
b4
(1)
a24
(1)
a34
(1)
a44
(1)
a23
(1)
a33
(1)
a43
(1)
(2.4)
(1) (1)
Mit den Quotienten li1 = ai1 /a11 ,
i = 2, 3, . . . , n,
(2.5)
sind die Elemente in (2.4) gegeben durch (1)
aik = aik − li1 a1k , (1)
bi
= bi − li1 b1 ,
i, k = 2, 3, . . . , n,
i = 2, 3, . . . , n.
(2.6) (2.7)
Das Schema (2.4) entspricht einem zu (2.1) ¨ aquivalenten Gleichungssystem. Die erste Gleichung enth¨ alt als einzige die Unbekannte x1 , die sich somit durch die u ¨ brigen Unbekannten ausdr¨ ucken l¨ asst gem¨ aß n (2.8) a1k xk /a11 . x1 = b1 − k=2
Weiter enth¨ alt (2.4) im allgemeinen Fall ein reduziertes System von (n − 1) Gleichungen ¨ von (2.3) nach (2.4) entspricht f¨ ur die (n − 1) Unbekannten x2 , x3 , . . . , xn . Der Ubergang
32
2 Lineare Gleichungssysteme, direkte Methoden
somit einem Eliminationsschritt, mit welchem die Aufl¨osung des gegebenen Systems (2.1) in n Unbekannten auf die L¨ osung eines Systems in (n − 1) Unbekannten zur¨ uckgef¨ uhrt ist. Wir werden dieses reduzierte System analog weiterbehandeln, wobei die erste Zeile in (2.4) unver¨ andert bleibt. Man bezeichnet sie deshalb als erste Endgleichung, und a11 , um welches sich der beschriebene Eliminationsschritt gewissermaßen dreht, als Pivotelement. (1)
Unter der weiteren Annahme a22 = 0 ergibt sich aus (2.4) als Resultat eines zweiten Eliminationsschrittes x1
x2
x3
x4
1
a11
a12
a13
a14
b1
0
a22
a23
0
0
a33
0
0
a43
(1)
(1)
a24
(1)
b2
(2)
a34
(2)
a44
(1)
(2)
b3
(2)
b4
(2.9)
(2) (2)
Mit den Hilfsgr¨ oßen (1)
(1)
li2 = ai2 /a22 ,
i = 3, 4, . . . , n,
(2.10)
lauten die neuen Elemente in (2.9) (2)
(1)
(1)
(1)
− li2 b2 ,
aik = aik − li2 a2k , (2)
bi
= bi
(1)
i, k = 3, 4, . . . , n, i = 3, 4, . . . , n.
Das Schema (2.9) enth¨ alt die zweite Endgleichung f¨ ur x2 n (1) (1) (1) a2k xk /a22 . x2 = b2 −
(2.11) (2.12)
(2.13)
k=3
Die konsequente Fortsetzung der Eliminationsschritte f¨ uhrt nach (n − 1) Schritten zu einem Schema, welches lauter Endgleichungen enth¨ alt. Um die Koeffizienten der Endgleichungen einheitlich zu bezeichnen, definieren wir (0)
aik := aik ,
(0)
:= bi , i = 1, 2, . . . , n, ⎫ (i−1) rik := aik , k = i, i + 1, . . . , n, ⎬ i = 1, 2, . . . , n. (i−1) ⎭ , ci := bi i, k = 1, 2, . . . , n;
bi
(2.14) (2.15)
Damit lautet das Schema der Endgleichungen x1
x2
x3
x4
1
r11 0 0 0
r12 r22 0 0
r13 r23 r33 0
r14 r24 r34 r44
c1 c2 c3 c4
(2.16)
33
2.1 Der Gauß-Algorithmus
Aus (2.16) lassen sich die Unbekannten in der Reihenfolge xn , xn−1 , . . ., x2 , x1 gem¨aß der Rechenvorschrift n xi = ci − (2.17) rik xk /rii , i = n, n − 1, . . . , 2, 1, k=i+1
berechnen. Man nennt den durch (2.17) beschriebenen Prozess R¨ ucksubstitution, da die Endgleichungen in umgekehrter Reihenfolge ihrer Entstehung verwendet werden. Mit dem dargestellten Rechenverfahren sind die wesentlichen Elemente des Gaußschen Algorithmus erkl¨ art. Er leistet die Reduktion eines gegebenen linearen Gleichungssystems Ax = b auf ein System Rx = c gem¨ aß (2.16), wo R eine Rechtsdreiecksmatrix ⎛
⎜ ⎜ ⎜ R=⎜ ⎜ ⎝
r11 0 0 .. .
r12 r22 0 .. .
r13 r23 r33 .. .
0
0
0
··· ··· ···
r1n r2n r3n .. .
· · · rnn
⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
(2.18)
mit von null verschiedenen Diagonalelementen ist, aus dem sich die Unbekannten unmittelbar ermitteln lassen.
Beispiel 2.1. Zu l¨osen sei das Gleichungssystem 2x1 4x1 −6x1
+ + +
3x2 8x2 x2
− − +
5x3 3x3 4x3
= = =
−10 −19 −11
Der Gauß-Algorithmus liefert in zwei Eliminationsschritten x1 2 4 −6
x2 3 8 1
x3 −5 −3 4
1 −10 −19 −11
x1 2 0 0
x2 3 2 10
x3 −5 7 −11
1 −10 1 −41
x1 2 0 0
x2 3 2 0
x3 −5 7 −46
1 −10 1 −46
Die R¨ ucksubstitution ergibt f¨ ur die Unbekannten gem¨ aß (2.17) x3 = 1, x2 = (1 − 7 · 1)/2 = −3 und x1 = (−10 − 3 · (−3) + 5)/2 = 2. △
Bei rechnerischer Durchf¨ uhrung des Gaußschen Algorithmus werden die Zahlenwerte der sukzessiven Schemata selbstverst¨ andlich in einem festen Feld gespeichert, so dass am Schluss das System der Endgleichungen (2.16) verf¨ ugbar ist. Es ist dabei nicht sinnvoll, das Feld unterhalb der Diagonale mit Nullen aufzuf¨ ullen. Aus einem bald ersichtlichen Grund ist es angezeigt, an den betreffenden Stellen die Werte der Quotienten lik zu speichern, sodass
34
2 Lineare Gleichungssysteme, direkte Methoden
wir anstelle von (2.16) das folgende Schema erhalten. x1
x2
x3
x4
1
r11
r12
r13
r14
c1
l21
r22
r23
r24
c2
l31
l32
r33
r34
c3
l41
l42
l43
r44
c4
(2.19)
Nun wollen wir die im Schema (2.19) enthaltenen Gr¨oßen mit denjenigen des Ausgangssystems (2.3) in Zusammenhang bringen, wobei die Entstehungsgeschichte zu ber¨ ucksichtigen ist. Der Wert rik in der i-ten Zeile mit i ≥ 2 und k ≥ i entsteht nach (i − 1) Eliminationsschritten gem¨ aß (2.6), (2.11) etc. und (2.15) (i−1)
rik = aik
(0)
= =
Daraus folgt die Beziehung aik =
i−1
(1)
(i−2)
aik − li1 a1k − li2 a2k − . . . − li,i−1 ai−1,k
aik − li1 r1k − li2 r2k − . . . − li,i−1 ri−1,k ,
lij rjk + rik ,
j=1
i ≥ 2, k ≥ i.
(k ≥ i ≥ 1),
(2.20)
die auch f¨ ur i = 1 G¨ ultigkeit beh¨ alt, weil dann die Summe leer ist. Der Wert lik in der k-ten (k−1) Spalte mit k ≥ 2 und i > k wird im k-ten Eliminationsschritt aus aik erhalten gem¨aß lik
(k−1)
(k−1)
/akk
(0)
(1)
=
aik
=
[aik − li1 r1k − li2 r2k − . . . − li,k−1 rk−1,k ]/rkk .
(k−2)
(k−1)
= [aik − li1 a1k − li2 a2k − . . . − li,k−1 ak−1,k ]/akk
L¨ osen wir diese Gleichung nach aik auf, so folgt die Beziehung aik =
k
lij rjk ,
j=1
(i > k ≥ 1),
(2.21)
die wegen (2.5) auch f¨ ur k = 1 g¨ ultig ist. Die beiden Relationen (2.20) und (2.21) erinnern uns an die Regeln der Matrizenmultiplikation. Neben der Rechtsdreiecksmatrix R (2.18) definieren wir noch die Linksdreiecksmatrix L mit Einsen in der Diagonale ⎛ ⎞ 1 0 0 ... 0 ⎜ l21 1 0 ... 0 ⎟ ⎜ ⎟ ⎜ l31 l32 1 ... 0 ⎟ L=⎜ (2.22) ⎟. ⎜ . ⎟ . . . . . . . ⎝ . . . . ⎠ ln1
ln2
ln3
... 1
Dann sind (2.20) und (2.21) tats¨ achlich gleichbedeutend mit der Matrizengleichung A = LR.
(2.23)
35
2.1 Der Gauß-Algorithmus
Satz 2.1. Es sei vorausgesetzt, dass f¨ ur die Pivotelemente (1)
(2)
(n−1) = 0 a11 = 0, a22 = 0, a33 = 0, . . . , ann
(2.24)
gilt. Dann leistet der Gaußsche Algorithmus die Produktzerlegung (Faktorisierung) einer regul¨aren Matrix A in eine Linksdreiecksmatrix L und eine Rechtsdreiecksmatrix R. F¨ ur die ci -Werte mit i ≥ 2 gelten mit (2.7), (2.12) und (2.15) (i−1)
ci = b i
(1)
(i−2)
= bi − li1 b1 − li2 b2 − . . . − li,i−1 bi−1 = bi − li1 c1 − li2 c2 − . . . − li,i−1 ci−1 , (i ≥ 2).
Daraus erhalten wir die Beziehungen bi =
i−1
lij cj + ci ,
i = 1, 2, . . . , n,
(2.25)
j=1
die sich mit der Linksdreiecksmatrix L in folgender Form zusammenfassen lassen Lc = b.
(2.26)
Der Vektor c im Schema (2.16) kann somit als L¨osung des Gleichungssystems (2.26) interpretiert werden. Da L eine Linksdreiecksmatrix ist, berechnen sich die Unbekannten ci in oge des Prozesses der Vorw¨artssubstitution gem¨aß der Reihenfolge c1 , c2 , . . . , cn verm¨ ci = b i −
i−1
lij cj ,
i = 1, 2, . . . , n.
(2.27)
j=1
Auf Grund dieser Betrachtung kann die L¨ osung x eines linearen Gleichungssystems Ax = b unter der Voraussetzung (2.24) des Satzes 2.1 vermittels des Gaußschen Algorithmus mit den drei L¨ osungsschritten berechnet werden: 1. A = LR ( Zerlegung von A) 2. Lc = b ( Vorw¨ artssubstitution → c) 3. Rx = c ( R¨ ucksubstitution → x)
(2.28)
Wir wollen nun zeigen, dass die Voraussetzung (2.24) durch geeignete Zeilenvertauschungen, die allenfalls vor jedem Eliminationsschritt auszuf¨ uhren sind, erf¨ ullt werden kann, so dass das Verfahren theoretisch durchf¨ uhrbar ist. Satz 2.2. F¨ ur eine regul¨are Matrix A existiert vor dem k-ten Eliminationsschritt des GaußAlgorithmus stets eine Zeilenpermutation derart, dass das k-te Diagonalelement von null verschieden ist. Beweis. Die vorausgesetzte Regularit¨ at der Matrix A bedeutet, dass ihre Determinante |A| = 0 ist. Die im Gauß-Algorithmus auf die Koeffizienten der Matrix A angewandten Zeilenoperationen bringen wir in Verbindung mit elementaren Operationen f¨ ur die zugeh¨orige Determinante. Angenommen, es sei a11 = 0. Dann existiert mindestens ein ai1 = 0 in der ersten Spalte, denn andernfalls w¨ are die Determinante von A im Widerspruch zur Voraussetzung gleich
36
2 Lineare Gleichungssysteme, direkte Methoden
null. Die Vertauschung der betreffenden i-ten Zeile mit der ersten Zeile erzeugt an der Stelle (1, 1) ein Pivotelement ungleich null. Eine Zeilenvertauschung in einer Determinante hat einen Vorzeichenwechsel ihres Wertes zur Folge. Wir setzen deshalb v1 = 1, falls vor dem ersten Eliminationsschritt eine Vertauschung von Zeilen n¨otig ist, und v1 = 0, falls a11 = 0 ist. Die Addition von Vielfachen der ersten Zeile zu den folgenden Zeilen ¨andert bekanntlich den Wert einer Determinante nicht. Wenn wir zur Entlastung der Schreibweise die Matrixelemente nach einer eventuellen Zeilenvertauschung wieder mit aik bezeichnen, gilt (wieder f¨ ur n = 4)
|A| =
(−1)v1
=
v1
a11 a21 a31 a41
a12 a22 a32 a42 (1)
(−1) a11
a22 (1) a32 (1) a42
a13 a23 a33 a43 (1)
a23 (1) a33 (1) a43
a14 a24 = (−1)v1 a34 a44
a11 0 0 0
a12 (1) a22 (1) a32 (1) a42
a13 (1) a23 (1) a33 (1) a43
a14 (1) a24 (1) a34 (1) a44
(1)
a24 (1) a34 (1) a44
(2.29)
mit den in (2.6) definierten Gr¨ oßen. ¨ Die Uberlegungen f¨ ur den ersten Eliminationsschritt u ¨ bertragen sich sinngem¨aß auf die folgenden, reduzierten Systeme, bzw. ihre zugeh¨ origen Determinanten. So existiert mindestens (1) ein aj2 = 0, da andernfalls die dreireihige Determinante in (2.29) und damit |A| verschwinden w¨ urde. Eine Vertauschung der j-ten Zeile mit der zweiten Zeile bringt an der Stelle (2,2) ein Pivotelement ungleich null. Falls wir unter rkk , k = 1, 2, . . . , n − 1, das nach einer eventuellen Zeilenvertauschung im k-ten Eliminationsschritt verwendete, in der Diagonale stehende Pivotelement verstehen, ur den leeren n-ten Schritt bezeichnen, dann gilt als unmittelbare Folge und rnn als Pivot f¨ der Beweisf¨ uhrung f¨ ur den Satz 2.2 der Satz 2.3. Erfolgen im Verlauf des Gauß-Algorithmus insgesamt V =
n−1
vi Zeilenvertau-
i=1
schungen, dann ist die Determinante |A| gegeben durch n |A| = (−1)V rkk .
(2.30)
k=1
Die Determinante |A| der Systemmatrix A ist, abgesehen vom Vorzeichen, gleich dem Produkt der n Pivotelemente des Gauß-Algorithmus. Sie kann somit sozusagen als Nebenprodukt bei der Aufl¨ osung eines linearen Gleichungssystems bestimmt werden. Falls keine Zeilenvertauschungen notwendig sind, kann diese Aussage auch direkt aus der Zerlegung (2.23) mit |L| = 1 gefolgert werden, denn dann gilt n rkk . |A| = |LR| = |L| |R| = k=1
37
2.1 Der Gauß-Algorithmus
Der Gauß-Algorithmus stellt ganz unabh¨ angig von der Aufl¨osung eines Gleichungssystems ein zweckm¨ aßiges und effizientes Verfahren zur Berechnung einer Determinante dar. Aus (2.30) folgt noch die wichtige Tatsache, dass das Produkt der Betr¨age der Pivotelemente f¨ ur ein gegebenes Gleichungssystem Ax = b im Gauß-Algorithmus eine feste Gr¨oße, d.h. eine Invariante ist. Der Satz 2.2 stellt die Durchf¨ uhrbarkeit des Gaußschen Algorithmus f¨ ur eine regul¨are Matrix A sicher, falls in seinem Verlauf geeignete Zeilenvertauschungen vorgenommen werden. Die Zeilenvertauschungen, die ja erst auf Grund der anfallenden Zahlenwerte ausgef¨ uhrt werden, k¨ onnen wir uns schon vor Beginn der Rechnung durchgef¨ uhrt denken, so dass vor jedem Eliminationsschritt in der Diagonale ein von null verschiedenes Pivotelement verf¨ ugbar ist. Diese vorg¨ angigen Zeilenoperationen lassen sich formal durch eine geeignete Permutationsmatrix P beschreiben. Dies ist eine quadratische Matrix, welche in jeder Zeile und in jeder Spalte genau eine Eins und sonst nur Nullen enth¨alt, und deren Determinante |P | = ±1 ist. Auf Grund dieser Betrachtung gilt als Folge der S¨atze 2.1 und 2.2 der Satz 2.4. Zu jeder regul¨aren Matrix A existiert eine Permutationsmatrix P , so dass P A in das Produkt einer Linksdreiecksmatrix L (2.22) und einer Rechtsdreiecksmatrix R (2.18) zerlegbar ist gem¨aß P A = LR.
(2.31)
Die Aussage von Satz 2.4 ist selbstverst¨ andlich im Algorithmus (2.28) zu ber¨ ucksichtigen. Das gegebene Gleichungssystem Ax = b ist von links mit der Permutationsmatrix P zu multiplizieren: P Ax = P b, so dass die L¨ osung x vermittels des Gaußschen Algorithmus wie folgt berechnet werden kann: 1. P A = LR 2. Lc = P b 3. Rx = c
(Zerlegung von P A) (Vorw¨ artssubstitution → c) (R¨ ucksubstitution → x)
(2.32)
Die Zeilenpermutationen der Matrix A sind vor dem Prozess der Vorw¨artssubstitution auf die gegebene rechte Seite b anzuwenden. Abschließend wollen wir den Rechenaufwand zur Aufl¨osung eines Systems von n linearen Gleichungen in n Unbekannten mit dem Gaußschen Algorithmus bestimmen. Dabei werden wir nur die Multiplikationen und Divisionen als wesentliche, ins Gewicht fallende Operationen ansehen und die Additionen vernachl¨ assigen. Im allgemeinen j-ten Eliminationsschritt zur Berechnung der Zerlegung P A = LR werden (j) gem¨ aß (2.5) und (2.6) die (n − j) Quotienten lij und die (n − j)2 Werte aik berechnet. 2 Dazu sind offensichtlich [(n − j) + (n − j) ] wesentliche Operationen erforderlich, so dass der Rechenaufwand f¨ ur die Zerlegung ZLR
= {(n − 1) + (n − 2) + . . . + 1} + {(n − 1)2 + (n − 2)2 + . . . + 12 } =
1 1 1 n(n − 1) + n(n − 1)(2n − 1) = (n3 − n) 2 6 3
(2.33)
38
2 Lineare Gleichungssysteme, direkte Methoden
betr¨ agt. Im Prozess der Vorw¨ artssubstitution ben¨otigt die Berechnung von ci auf Grund von (2.27) (i − 1) Multiplikationen, so dass sich der totale Rechenaufwand f¨ ur die Vorw¨artssubstitution zu 1 1 ZV = {1 + 2 + . . . + (n − 1)} = n(n − 1) = (n2 − n) (2.34) 2 2 ergibt. Schließlich erfordert die Berechnung der xi nach (2.17) (n − i) Multiplikationen und eine Division, weshalb der Rechenaufwand f¨ ur die R¨ ucksubstitution 1 2 1 ZR = {1 + 2 + . . . + n} = n(n + 1) = (n + n) (2.35) 2 2 betr¨ agt. Somit bel¨ auft sich der Rechenaufwand f¨ ur die beiden, in der Regel zusammen geh¨ origen Prozesse der Vorw¨ arts- und R¨ ucksubstituion auf Z V R = n2
(2.36)
wesentliche Operationen. Der vollst¨ andige Gauß-Algorithmus zur L¨osung von n linearen Gleichungen erfordert somit ZGauß =
1 3 1 n + n2 − n = O(n3 ) 3 3
(2.37)
wesentliche Rechenoperationen. O(n3 ) bedeutet, dass sich der Aufwand und damit die Rechenzeit asymptotisch wie die dritte Potenz der Zahl der Unbekannten verhalten.
2.1.2
Pivotstrategien
Die S¨ atze 2.2 und 2.4 gew¨ ahrleisten die Existenz eines von null verschiedenen Pivotelementes f¨ ur die sukzessiven Eliminationsschritte. Sie lassen aber die konkrete Wahl offen. F¨ ur die numerische Durchf¨ uhrung des Gauß-Algorithmus ist die zweckm¨aßige Auswahl des Pivots von entscheidender Bedeutung f¨ ur die Genauigkeit der berechneten L¨osung. Zudem ben¨otigt jedes Programm eine genau definierte Regel zur Bestimmung der Pivotelemente, die man als Pivotstrategie bezeichnet. Werden die Pivotelemente sukzessive in der Diagonale gew¨ahlt, spricht man von Diagonalstrategie. In dieser einfachen Strategie werden keine Zeilenvertauschungen in Betracht gezogen. Dabei kann einerseits der Gauß-Algorithmus abbrechen, obwohl die Matrix A regul¨ ar ist, andererseits ist zu erwarten, dass diese Strategie nicht in jedem Fall numerisch brauchbar ist, obwohl die Pivotelemente theoretisch zul¨assig sind. Beispiel 2.2. Zur Illustration der numerischen Konsequenzen, die ein betragsm¨aßig kleines Pivotelement nach sich zieht, betrachten wir ein Gleichungssystem in zwei Unbekannten. Es soll mit Diagonalstrategie gel¨ ost werden, wobei die Rechnung mit f¨ unf wesentlichen Dezimalstellen durchgef¨ uhrt wird, siehe Definition 1.5. Ein Eliminationsschritt des Gauß-Algorithmus liefert x1 x2 1 x2 1 −→ 1.2654 3.5267 0.00035 1.2654 3.5267 1.3182 6.8541 0 −4535.0 −12636 . Mit l21 = 1.2547/0.00035 = 3584.9 ergeben sich die beiden Zahlenwerte der zweiten Zeile des zwei. . ten Schemas zu r22 = 1.3182 − 3584.9 × 1.2654 = 1.3182 − 4536.3 = −4535.0 und x1 0.00035 1.2547
39
2.1 Der Gauß-Algorithmus
. . c2 = 6.8541 − 3584.9 × (3.5267) = 6.8541 − 12643 = −12636. Der Prozess der R¨ ucksubstitu. . tion liefert x2 = −12636/(−4535.0) = 2.7863 und x1 = (3.5267 − 1.2654 × 2.7863)/0.00035 = . (3.5267 − 3.5258)/0.00035 = 0.0009/0.00035 = 2.5714. Durch das kleine Pivotelement sind im (1) (1) einzigen Eliminationsschritt große Zahlen r22 = a22 und c2 = b2 entstanden. Ihre Division zur Berechnung von x2 ist numerisch stabil, siehe Satz 1.8. Bei der Berechnung von x1 ist eine Differenz von zwei fast gleich großen Zahlen zu bilden; hier tritt Ausl¨ oschung auf. Die Berechnung von atigt der Vergleich mit den auf f¨ unf Stellen gerundeten x1 ist daher numerisch instabil. Dies best¨ . . exakten Werten x1 = 2.5354 und x2 = 2.7863; x2 stimmt in allen wesentlichen Stellen mit der exakten L¨ osung u ahrend x1 auf Grund der Ausl¨ oschung einen relativen Fehler von 1.5 % ¨ berein, w¨ aufweist. △
In einem Spezialfall von allgemeinen linearen Gleichungssystemen ist die Diagonalstrategie immer anwendbar und sogar numerisch sinnvoll. Definition 2.5. Eine Matrix A heißt (strikt) diagonal dominant , falls in jeder Zeile der Betrag des Diagonalelementes gr¨ oßer ist als die Summe der Betr¨age der u ¨brigen Matrixelemente derselben Zeile, falls also gilt n |aik |, i = 1, 2, . . . , n. (2.38) |aii | > k=1 k = i
Sie heißt schwach diagonal dominant , wenn n |aii | ≥ |aik |, i = 1, 2, . . . , n,
(2.39)
k=1 k = i
wobei aber f¨ ur mindestens einen Index i0 in (2.39) strikte Ungleichheit gilt. Satz 2.6. Zur L¨osung eines regul¨aren Gleichungssystems mit schwach diagonal dominanter Matrix A ist die Diagonalstrategie anwendbar. Beweis. Sei ohne Einschr¨ ankung die erste Zeile diejenige, f¨ ur die die strikte Ungleichheit n |a11 | > |a1k | ≥ 0 gilt. Folglich ist a11 = 0 ein zul¨assiges Pivotelement f¨ ur den ersten k=2
Eliminationsschritt. Wir zeigen nun, dass sich die Eigenschaft der diagonalen Dominanz auf das reduzierte Gleichungssystem u agt. Nach Substitution von (2.5) in (2.6) gilt f¨ ur die ¨ bertr¨ reduzierten Elemente (1)
aik = aik −
ai1 a1k , a11
i, k = 2, 3, . . . , n.
(2.40)
F¨ ur die Diagonalelemente folgt daraus die Absch¨atzung (1) |aii |
ai1 a1i ai1 a1i , ≥ |aii | − = aii − a11 a11
i = 2, 3, . . . , n.
(2.41)
40
2 Lineare Gleichungssysteme, direkte Methoden
Die Summe der Betr¨ age der Nicht-Diagonalelemente der i-ten Zeile, i = 2, 3, . . . , n, des reduzierten Systems erf¨ ullt unter Verwendung der Voraussetzung (2.38) und der Absch¨atzung (2.41) in der Tat die Ungleichung n
k=2 k = i
=
(1) |aik |
n
k=1 k = i
=
n aik − ai1 a1k ≤ a11
k=2 k = i
n
k=2 k = i
n ai1 |a1k | |aik | + a11 k=2 k = i
n ai1 |aik | − |ai1 | + |a1k | − |a1i | a11 k=2
ai1 ai1 a1i ≤ |a(1) |. {|a11 | − |a1i |} = |aii | − ≤ |aii | − |ai1 | + ii a11 a11
(1)
Wegen |a22 | ≥
n
k=3
(1)
(1)
|a2k | ≥ 0 ist |a22 | > 0, denn sonst w¨aren alle Elemente der zweiten Zeile
gleich null, und das widerspr¨ ache der vorausgesetzten Regularit¨at des Systems. Also kann (1) ahlt werden, und die Diagonalstrategie ist tats¨achlich m¨oglich. a22 als Pivotelement gew¨ Da das Pivotelement von null verschieden sein muss, besteht eine naheliegende Auswahlregel darin, unter den in Frage kommenden Elementen das absolut gr¨osste als Pivot zu w¨ahlen. Man spricht in diesem Fall von Spaltenmaximumstrategie. Vor Ausf¨ uhrung des k-ten Eliminationsschrittes bestimmt man den Index p so, dass gilt (k−1)
max |aik i≥k
(k−1)
| = |apk
|.
(2.42)
Falls p = k ist, so ist die p-te Zeile mit der k-ten zu vertauschen. Mit dieser Strategie erreicht (k−1) (k−1) man, dass die Quotienten lik = aik /akk (i > k) betragsm¨aßig durch Eins beschr¨ankt sind. Folglich sind die Faktoren, mit denen die aktuelle k-te Zeile zu multiplizieren ist, dem Betrag nach kleiner oder gleich Eins, was sich auf die Fortpflanzung von Rundungsfehlern g¨ unstig auswirken kann. Beispiel 2.3. Wenn wir das Gleichungssystem vom Beispiel 2.2 mit der Spaltenmaximumstrategie behandeln, so muss vor dem ersten Schritt eine Zeilenvertauschung vorgenommen werden. Bei f¨ unfstelliger Rechnung lauten die Schemata x1 1.2547 0.00035
x2 1.3182 1.2654
1 6.8541 3.5267
−→
x1 1.2547 0
x2 1.3182 1.2650
1 6.8541 3.5248
¨ Der Quotient l21 = 0.00027895 ist sehr klein und bewirkt nur geringe Anderungen in den Ele. menten des reduzierten Schemas. Die R¨ ucksubstitution ergibt nacheinander x2 = 2.7864 und . . x1 = (6.8541 − 1.3182 × 2.7864)/1.2547 = (6.8541 − 3.6730)/1.2547 = 3.1811/1.2547 = 2.5353. Die beiden L¨ osungswerte weichen nur um je eine Einheit in der letzten Stelle von den richtigen, gerundeten Werten ab. Die Spaltenmaximumstrategie hat die Situation tats¨ achlich verbessert. △
41
2.1 Der Gauß-Algorithmus
Beispiel 2.4. Um eine Schw¨ache der Spaltenmaximumstrategie aufzuzeigen, betrachten wir das folgende Gleichungssystem, das mit f¨ unfstelliger Rechnung gel¨ ost wird und dessen Zeilen so angeordnet wurden, dass die Spaltenmaximumstrategie zur Diagonalstrategie wird. Im zweiten und dritten Schema sind anstelle der Nullen die l-Werte eingesetzt. x1 2.1 −1.3 0.9
x2 2512 8.8 −6.2
x3 −2516 −7.6 4.6
x1 2.1 −0.61905 0.42857
1 6.5 −5.3 2.9
−→
x1 2.1 −0.61905 0.42857
x2 2512 1563.9 −1082.8
x3 −2516 −1565.1 1082.9
1 6.5 −1.2762 0.11430
x2 2512 1563.9 −0.69237
x3 1 −2516 6.5 −→ −1565.1 −1.2762 −0.70000 −0.76930 . . . Daraus berechnen sich sukzessive die L¨ osungen x3 = 1.0990, x2 = 1.0990, x1 = 5.1905, w¨ ahrend die aren sich mit der Feststellung, exakten Werte x3 = x2 = 1 und x1 = 5 sind. Die Abweichungen erkl¨ (1) dass der erste Eliminationsschritt betragsm¨ aßig große Koeffizienten aik des reduzierten Schemas erzeugt, womit bereits ein Informationsverlust infolge Rundung eingetreten ist. Zudem ist im zwei(2) oschung festzustellen. Der Grund ten Schritt bei der Berechnung von a33 eine katastrophale Ausl¨ f¨ ur das schlechte Ergebnis liegt darin, dass das Pivotelement des ersten Eliminationsschrittes klein ist im Vergleich zum Maximum der Betr¨ age der u ¨brigen Matrixelemente der ersten Zeile. Nach (2.40) gehen die Elemente ai1 und a1k in symmetrischer Weise in die Reduktionsformel ein. Dieser Feststellung muss Rechnung getragen werden. △
Eine einfache Maßnahme, die Situation zu verbessern, besteht darin, die gegebenen Gleichungen so zu skalieren, dass f¨ ur die neuen Koeffizienten a ˜ik gilt n |˜ aik | ≈ 1, i = 1, 2, . . . , n. (2.43) k=1
Um zus¨ atzliche Rundungsfehler zu vermeiden, w¨ahlen wir f¨ ur die Skalierung nur Faktoren, die Potenzen der Zahlenbasis des Rechners sind, im Dualsystem also Zweierpotenzen. Durch die Skalierung mit |˜ aik | ≤ 1, i, k = 1, 2, . . . , n, werden bei der anschließenden Spaltenmaximumstrategie andere Pivotelemente ausgew¨ahlt, und diese Auswahl f¨ uhrt zu einer numerisch stabileren Rechnung, wie in Beispiel 2.5 zu sehen ist. Beispiel 2.5. Die Gleichungen von Beispiel 2.4 lauten nach ihrer Skalierung bei f¨unfstelliger Rechengenauigkeit x1 0.00041749 −0.073446 0.076923
x2 0.49939 0.49718 −0.52991
x3 −0.50019 −0.42938 0.39316
1 0.0012922 −0.29944 0.24786
Die Spaltenmaximumstrategie bestimmt a31 zum Pivot. Nach entsprechender Zeilenvertauschung lautet das Schema nach dem ersten Eliminationsschritt x1 0.076923 −0.95480 0.0054274
x2 −0.52991 −0.0087800 0.50227
x3 0.39316 −0.053990 −0.50232
1 0.24786 −0.062780 −0.000053000
42
2 Lineare Gleichungssysteme, direkte Methoden
Die Spaltenmaximumstrategie verlangt eine zweite Zeilenvertauschung. Der Eliminationsschritt ergibt x1 0.076923 0.0054274 −0.95480
x2 −0.52991 0.50227 −0.017481
x3 0.39316 −0.50232 −0.062771
1 0.24786 −0.000053000 −0.062781
. . . Die R¨ ucksubstitution liefert mit x3 = 1.0002, x2 = 1.0002 und x1 = 5.0003 recht gute N¨ aherungswerte f¨ ur die exakten L¨ osungen. Die Spaltenmaximumstrategie in Verbindung mit der Skalierung der gegebenen Gleichungen hat sich somit in diesem Beispiel bew¨ ahrt. △
Die Skalierung der Ausgangsgleichungen gem¨ aß (2.43) u urlich nicht auf die ¨bertr¨agt sich nat¨ Gleichungen der reduzierten Systeme (vgl. Beispiel 2.5), so dass der f¨ ur den ersten Schritt g¨ unstige Einfluss der Pivotwahl nach der Spaltenmaximumstrategie in den sp¨ateren Eliminationsschritten verloren gehen kann. Somit sollten auch die reduzierten Systeme stets wieder skaliert werden. Das tut man aber nicht, weil dadurch der Rechenaufwand auf das Doppelte ansteigt. Um dennoch das Konzept beizubehalten, wird die Skalierung nicht explizit vorgenommen, sondern nur implizit als Hilfsmittel zur Bestimmung eines geeigneten Pivots verwendet, wobei die Spaltenmaximumstrategie auf die skaliert gedachten Systeme Anwendung findet. Unter den in Frage kommenden Elementen bestimmt man dasjenige zum Pivot, welches dem Betrag nach relativ zur Summe der Betr¨age der Elemente der zugeh¨origen Zeile am gr¨ oßten ist. Man spricht deshalb von relativer Spaltenmaximumstrategie. Vor Ausf¨ uhrung des k-ten Eliminationsschrittes ermittelt man den Index p so, dass gilt ⎧ ⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ (k−1) ⎨ |a(k−1) | ⎪ ⎬ |apk | ik = . (2.44) max n n ⎪ k≤i≤n ⎪ ⎪ ⎪ (k−1) (k−1) ⎪ ⎪ ⎪ |⎪ |aij |apj | ⎭ ⎩ j=k
j=k
Ist p = k, wird die p-te Zeile mit der k-ten Zeile vertauscht. Bei dieser Strategie sind selbstverst¨ andlich die Quotienten lik (i > k) betragsm¨aßig nicht mehr durch Eins beschr¨ankt.
Beispiel 2.6. Das Gleichungssystem von Beispiel 2.4 wird jetzt bei f¨unfstelliger Rechnung nach der relativen Spaltenmaximumstrategie gel¨ ost. Zur Verdeutlichung des Rechenablaufs sind neben n X (k−1) |aij | und dem ersten und zweiten Schema die Summen der Betr¨ age der Matrixelemente si = j=k
(k−1)
die f¨ ur die Pivotwahl ausschlaggebenden Quotienten qi = |aik |/si aufgef¨ uhrt. Es ist klar, dass im ersten Schritt wie im Beispiel 2.5 das Element a31 zum Pivot wird. Dies ist jetzt das absolut kleinste unter den Elementen der ersten Spalte. Im zweiten Schritt ist nochmals eine Zeilenvertauschung notwendig. x1 2.1 −1.3 0.9
x2 2512 8.8 −6.2
x3 −2516 −7.6 4.6
1 6.5 −5.3 2.9
si 5030.1 17.7 11.7
qi 0.00041749 0.073446 0.076923
43
2.1 Der Gauß-Algorithmus x1 0.9 −1.4444 2.3333
x2 −6.2 −0.15530 2526.5
x3 4.6 −0.95580 −2526.7
x1 0.9 2.3333 −1.4444
x2 −6.2 2526.5 −0.000061468
1 2.9 −1.1112 −0.26660
x3 4.6 −2526.7 −1.1111
si − 1.1111 5053.2
qi − 0.13977 0.49998
1 2.9 −0.26660 −1.1112
. . . Die Unbekannten berechnen sich daraus sukzessive zu x3 = 1.0001, x2 = 1.0001, x1 = 5.0001. Die . ergibt sich nach (2.30) zu | | = (−1)2 × 0.9 × 2526.5 × (−1.1111) = Determinante der Matrix −2526.5. Der exakte Wert ist | | = −2526.504. △
Nachdem das Gaußsche Eliminationsverfahren mit einer brauchbaren Pivotstrategie vervollst¨ andigt worden ist, wollen wir es in Tab. 2.1 algorithmisch so zusammenfassen, dass es leicht auf einem Rechner durchgef¨ uhrt werden kann. Die Zerlegung, die Vorw¨artssubstitution und die R¨ ucksubstitution werden als in sich geschlossene Prozesse getrennt dargestellt. Die Zahlenwerte der aufeinander folgenden Schemata werden im Computer in einem festen (k−1) von dem Moment an Feld gespeichert. Dies ist deshalb m¨ oglich, weil der Wert von aij (k)
nicht mehr ben¨ otigt wird, wo entweder lij oder aij berechnet ist. So werden in der algorithmischen Formulierung die Werte von lij an die Stelle von aij gesetzt, und die Koeffizienten der Endgleichungen werden stehen gelassen, genau so, wie es in den Beispielen bereits geschehen ist. Nach beendeter Zerlegung werden somit aij = lij f¨ ur i > j, und aij = rij f¨ ur i ≤ j bedeuten. Die Information u ¨ ber erfolgte Zeilenvertauschungen wird im Vektor p = (p1 , p2 , . . . , pn )T aufgebaut. Die k-te Komponente enth¨alt den Index derjenigen Zeile, welche vor dem k-ten Eliminationsschritt mit der k-ten Zeile vertauscht worden ist. Es erfolgte keine Vertauschung, falls pk = k ist. In allen folgenden Beschreibungen sind die Anweisungen stets im dynamischen Sinn zu verstehen, und leere Schleifenanweisungen sollen u ¨ bersprungen werden. Bei der Vorw¨ artssubstitution kann der Hilfsvektor c mit b identifiziert werden, da bi nicht mehr ben¨ otigt wird, sobald ci berechnet ist. Dies ist auch deshalb angezeigt, weil der gegebene Vektor b ohnehin durch die Permutationen ver¨andert wird. Die analoge Feststellung gilt f¨ ur die R¨ ucksubstitution, wo der L¨ osungsvektor x mit c (und dann mit b!) identifizierbar ist. Am Schluss steht dann an der Stelle von b der gesuchte L¨osungsvektor x.
2.1.3
Erg¨anzungen
Mehrere rechte Seiten, Inversion In bestimmten Anwendungen sind mehrere Gleichungssysteme mit derselben Koeffizientenmatrix A, aber verschiedenen rechten Seiten b entweder gleichzeitig oder nacheinander zu l¨ osen. Die drei L¨ osungsschritte (2.32) des Gaußschen Algorithmus erweisen sich in dieser Situation als sehr geeignet. Denn die Zerlegung P A = LR braucht offenbar nur einmal ausgef¨ uhrt zu werden, weil dann zusammen mit der Information u ¨ber die Zeilenvertauschungen
44
2 Lineare Gleichungssysteme, direkte Methoden
Tab. 2.1 Der vollst¨ andige Gauß-Algorithmus.
Gauß-Elimination mit relativer Spaltenmaximumstrategie und Berechnung der Determinante
Vertauschungen in b und Vorw¨artssubstitution
det = 1 f¨ ur k = 1, 2, . . . , n − 1 : max = 0; pk = 0
f¨ ur k = 1, 2, . . . , n − 1 : falls pk = k :
f¨ ur i = k, k + 1, . . . , n : s=0 f¨ ur j = k, k + 1, . . . , n : s = s + |aij | q = |aik |/s falls q > max : max = q; pk = i falls max = 0 : STOP falls pk = k : det = − det f¨ ur j = 1, 2, . . . , n : h = akj ; akj = apk ,j ; apk ,j = h det = det ×akk f¨ ur i = k + 1, k + 2, . . . n : aik = aik /akk f¨ ur j = k + 1, k + 2, . . . , n : aij = aij − aik × akj det = det ×ann
h = bk ; bk = bpk ; bpk = h f¨ ur i = 1, 2, . . . , n : ci = b i f¨ ur j = 1, 2, . . . , i − 1 : ci = ci − aij × cj R¨ ucksubstitution f¨ ur i = n, n − 1, . . . , 1 : s = ci f¨ ur k = i + 1, i + 2, . . . , n : s = s − aik × xk xi = s/aii
alle notwendigen Zahlenwerte f¨ ur die Vorw¨ arts- und R¨ ucksubstitution vorhanden sind. Diese beiden Prozesse sind dann auf die einzelnen rechten Seiten anzuwenden. Sind etwa gleichzeitig m Gleichungssysteme mit den rechten Seiten b1 , b2 , . . ., b werden sie zweckm¨ aßigerweise zur Matrix
zu l¨osen,
B = (b1 , b2 , . . . , bm ) ∈ Ên,m
(2.45)
AX = B
(2.46)
zusammengefasst. Dann ist eine Matrix X ∈ Ên,m gesucht als L¨osung der Matrizengleichung
Die Spalten von X sind die L¨ osungsvektoren x zu den entsprechenden rechten Seiten b .
2.1 Der Gauß-Algorithmus
45
Nach (2.33) und (2.36) betr¨ agt der Rechenaufwand zur L¨osung von (2.46) 1 Z = (n3 − n) + mn2 . (2.47) 3 Eine spezielle Anwendung der erw¨ ahnten Rechentechnik besteht in der Inversion einer regul¨ aren Matrix A. Die gesuchte Inverse X = A−1 erf¨ ullt die Matrizengleichung AX = I,
(2.48)
wo I die Einheitsmatrix bedeutet. Die Berechnung der Inversen A−1 ist damit auf die gleichzeitige L¨ osung von n Gleichungen mit derselben Matrix A zur¨ uckgef¨ uhrt. Der Rechenaufwand an multiplikativen Operationen bel¨auft sich nach (2.47) auf 1 4 (2.49) ZInv = n3 − n. 3 3 Dabei ist allerdings nicht ber¨ ucksichtigt, dass auch nach Zeilenpermutationen in I oberhalb der Einselemente Nullen stehen. Der Prozess der Vorw¨artssubstitution hat deshalb im Prinzip erst beim jeweiligen Einselement zu beginnen, womit eine Reduktion der Rechenoperationen verbunden w¨ are. Diese M¨ oglichkeit ist in Rechenprogrammen aber kaum vorgesehen. Die Berechnung von A−1 nach der beschriebenen Art erfordert neben dem Speicherplatz f¨ ur A auch noch denjenigen f¨ ur I, an deren Stelle sukzessive die Inverse aufgebaut wird. atze. Der Speicherbedarf betr¨ agt folglich 2n2 Pl¨ Nachiteration L¨ ost man das Gleichungssystem Ax = b numerisch mit dem Gauß-Algorithmus, so erh¨alt man auf Grund der unvermeidlichen Rundungsfehler anstelle des exakten L¨osungsvektors ˜ . Die Einsetzprobe in den gegebenen Gleichungen ergibt im Allgemeinen x eine N¨ aherung x anstelle des Nullvektors einen Residuenvektor r := A˜ x − b.
(2.50)
x=x ˜+z
(2.51)
˜ soll die exakte L¨osung x mit Hilfe des KorAusgehend vom bekannten N¨ aherungsvektor x rekturansatzes ermittelt werden. Der Korrekturvektor z ist so zu bestimmen, dass die Gleichungen erf¨ ullt sind, d.h. dass gilt Ax − b = A(˜ x + z) − b = A˜ x + Az − b = 0.
(2.52)
Az = −r
(2.53)
Beachtet man in (2.52) die Gleichung (2.50), so erkennt man, dass der Korrekturvektor z das Gleichungssystem mit derselben Matrix A, aber der neuen rechten Seite −r erf¨ ullen muss. Die Korrektur z ergibt sich somit durch die Prozesse der Vorw¨ arts- und R¨ ucksubstitution aus dem Residuenvektor r, der mit doppelter Genauigkeit berechnet werden muss, siehe Beispiel 2.7.
46
2 Lineare Gleichungssysteme, direkte Methoden
Beispiel 2.7. Die Nachiteration einer N¨aherungsl¨osung soll am folgenden Gleichungssystem mit vier Unbekannten illustriert werden. Gleichzeitig soll das Beispiel die weiteren Untersuchungen aktivieren. 0.29412x1 0.42857x1 0.36842x1 0.38462x1
+ 0.41176x2 + 0.57143x2 + 0.52632x2 + 0.53846x2
+ 0.52941x3 + 0.71429x3 + 0.42105x3 + 0.46154x3
+ 0.58824x4 + 0.64286x4 + 0.36842x4 + 0.38462x4
= 0.17642 = 0.21431 = 0.15792 = 0.15380
mit der relativen SpaltenmaIn einem ersten Schritt wird nur die Dreieckszerlegung der Matrix ximumstrategie bei f¨ unfstelliger Rechengenauigkeit ausgef¨ uhrt. Neben den aufeinander folgenden Schemata sind die Summen si der Betr¨ age der Matrixelemente und die Quotienten qi angegeben. x1
x2
x3
x4
0.29412 0.42857 0.36842 0.38462
0.41176 0.57143 0.52632 0.53846
0.52941 0.71429 0.42105 0.46154
0.58824 0.64286 0.36842 0.38462
si 1.8235 2.3572 1.6842 1.7692
x1
x2
x3
x4
0.36842
0.52632
0.42105
0.36842
1.1633 0.79833 1.0440
−0.040840 −0.0084200 −0.011020
0.22448 0.19327 0.021960
x1 0.36842 1.0440 0.79833 1.1633 x1 0.36842 1.0440 1.1633 0.79833
x2 0.52632 −0.011020 0.76407 3.7060 x2 0.52632 −0.011020 3.7060 0.76407
x3 0.42105 0.021960 0.17649 0.14310 x3 0.42105 0.021960 0.14310 1.2333
0.21428 0.29412 −0.00001 x4
0.36842 −0.00001 0.29413 0.21432
si − 0.47960 0.49581 0.032980 si − − 0.47062 0.35742
qi 0.16129 0.18181 0.21875 0.21740 qi − 0.085154 0.016982 0.33414 qi − − 0.37502 0.40037
x4 0.36842 −0.00001 0.21432 0.029810
(2.54)
. Bei drei Zeilenvertauschungen ist der N¨ aherungswert f¨ ur die Determinante | | = (−1)3 × 0.36842 × . −5 (−0.011020) × 0.14310 × 0.029810 = 1.7319 × 10 . In der rechten Seite sind die drei Zeilenvertauschungen entsprechend auszuf¨ uhren. F¨ ur die Vorw¨ artssubstitution ist der Vektor = (0.15792, . 0.15380, 0.21431, 0.17642)T zu verwenden. Es resultiert der Vektor = (0.15792, −0.011070, . T ˜ = (−7.9333, ucksubstitution liefert die N¨ aherungsl¨ osung 0.071625, −0.029527) , und die R¨ T 4.9593, 1.9841, −0.99051) . . ˜ = (2, 3, −3, 7)T × 10−5 , Die Einsetzprobe mit f¨ unfstelliger Rechnung ergibt den Residuenvektor w¨ ahrend zehnstellige Genauigkeit den auf f¨ unf wesentliche Ziffern gerundeten Residuenvektor . = (2.3951, 7.1948, −4.5999, 5.0390)T × 10−5
47
2.2 Genauigkeitsfragen, Fehlerabsch¨ atzungen
liefert. Da die Ergebnisse recht unterschiedlich sind, indem in ˜ meistens bereits die erste Ziffer ur eine Nachiteration nicht brauchbar. Der Residuenvektor = ˜ − muss stets falsch ist, ist ˜ f¨ mit h¨ oherer Genauigkeit berechnet werden, damit eine Nachiteration u ¨ berhaupt sinnvoll sein kann [Wil 69]. Aus der Vorw¨ artssubstitution mit dem permutierten Vektor resultiert
= (−4.5999, 5.0390, 7.1948, 2.3951)T × 10−5 .
= (4.5999, −9.8413, 23.926, −28.056)T × 10−5 ,
und daraus liefert die R¨ ucksubstitution den Korrekturvektor . = (0.066142, 0.040360, 0.015768, −0.0094116)T .
˜ ˜ mit Fehlern behaftet ist, erh¨ Da genau so wie alt man mit ˜+ = ˜ nur eine weitere N¨ aherungsl¨ osung, die unter bestimmten Voraussetzungen die L¨ osung besser approximiert. In unserem Beispiel ist dies tats¨ achlich der Fall, denn . ˜ ˜ = (−7.9994, 4.9997, 1.9999, −0.99992)T
ist eine bessere N¨ aherung f¨ ur = (−8, 5, 2, −1)T . Eine weitere Nachiteration mit dem Residuen. osung mit f¨ unfstelliger vektor = (4.7062, 6.5713, 5.0525, 5.3850)T × 10−5 ergibt die gesuchte L¨ Genauigkeit. Man beachte u ¨ brigens in diesem Zahlenbeispiel die oft typische Situation, dass die Residuenvektoren zwar betragsm¨ aßig recht kleine Komponenten aufweisen, dass dies aber nichts u ute ¨ber die G¨ ˜ ˜ bzw. ˜ auszusagen braucht. Ferner k¨ onnen, wie dies im der zugeh¨ origen N¨ aherungsl¨ osungen ersten Schritt der Nachiteration zutrifft, betragsm¨ aßig kleine Residuenvektoren bedeutend gr¨ oßere Korrekturen bewirken. △
2.2
Genauigkeitsfragen, Fehlerabsch¨atzungen
Wir wollen nun die Genauigkeit einer numerisch berechneten N¨aherungsl¨osung x ˜ des Systems Ax = b untersuchen und insbesondere nach den Gr¨ unden forschen, die f¨ ur die Gr¨oße der Abweichung verantwortlich sind. Um Aussagen u ˜ −x machen zu k¨onnen, ¨ ber den Fehler x ben¨ otigen wir einerseits eine Maßzahl f¨ ur die Gr¨oße eines Vektors und andererseits eine analoge Maßzahl f¨ ur die Gr¨ oße einer Matrix.
2.2.1
Normen
Wir betrachten nur den praktisch wichtigen Fall von reellen Vektoren x ∈ reellen Matrizen A ∈ Ên,n .
Ên
und von
Definition 2.7. Unter der Vektornorm x eines Vektors x ∈ Ên versteht man eine reelle Funktion seiner Komponenten, welche die drei Eigenschaften besitzt: a) b) c)
x ≥ 0 f¨ ur alle x, und x = 0 nur f¨ ur x = 0;
cx = |c| · x f¨ ur alle c ∈ Ê und alle x; x + y ≤ x + y f¨ ur alle x, y (Dreicksungleichung).
(2.55) (2.56) (2.57)
48
2 Lineare Gleichungssysteme, direkte Methoden
Beispiele von Vektornormen sind x∞ := max |xk |,
(Maximumnorm)
(2.58)
, (euklidische Norm)
(2.59)
k
x2 := x1 :=
n
x2k
k=1
n
k=1
21
|xk |,
(L1 -Norm).
(2.60)
Man u ullt sind. Die ¨berzeugt sich leicht davon, dass die Eigenschaften der Vektornorm erf¨ drei Vektornormen sind in dem Sinn miteinander ¨aquivalent, dass zwischen ihnen f¨ ur alle Vektoren x ∈ Ên die leicht einzusehenden Ungleichungen gelten √ 1 √ x2 ≤ x∞ ≤ x2 ≤ nx∞ , n 1 x1 ≤ x∞ ≤ x1 ≤ nx∞ , n √ 1 √ x1 ≤ x2 ≤ x1 ≤ nx2 . n Definition 2.8. Unter der Matrixnorm A einer Matrix A ∈ Ên,n versteht man eine reelle Funktion ihrer Elemente, welche die vier Eigenschaften aufweist: a) b) c) d)
A ≥ 0 f¨ ur alle A, und A = 0 f¨ ur A = 0; cA = |c| · A f¨ ur alle c ∈ Ê und alle A;
A + B ≤ A + B f¨ ur alle A, B (Dreiecksungleichung); A · B ≤ A · B.
(2.61) (2.62) (2.63) (2.64)
Die geforderte Eigenschaft (2.64) schr¨ ankt die Matrixnormen auf die f¨ ur die Anwendungen wichtige Klasse der submultiplikativen Normen ein. Beispiele von gebr¨auchlichen Matrixnormen sind AG := n · max |aik |,
(Gesamtnorm)
(2.65)
|aik |,
(Zeilensummennorm)
(2.66)
|aik |,
(Spaltensummennorm)
(2.67)
i,k
Az := max i
As := max k
⎡
AF := ⎣
n
k=1 n i=1
n
i,k=1
⎤ 21
a2ik ⎦ ,
(Frobenius-Norm).
(2.68)
Dass die angegebenen Matrixnormen die ersten drei Eigenschaften (2.61), (2.62) und (2.63) erf¨ ullen, ist offensichtlich. Die vierte Eigenschaft (2.64) wollen wir nur f¨ ur die Gesamtnorm
49
2.2 Genauigkeitsfragen, Fehlerabsch¨ atzungen
nachweisen. F¨ ur die anderen Matrixnormen verl¨auft die Verifikation analog. n n A · BG = n · max aij bjk ≤ n · max |aij | · |bjk | i,k i,k j=1 j=1 n
{max |alm |} · {max |brs |}
≤
n · max
=
n2 · {max |alm |} · {max |brs |} = AG · BG .
i,k
j=1
r,s
l,m
r,s
l,m
Die vier Matrixnormen sind ebenfalls miteinander ¨aquivalent. Denn es gelten beispielsweise f¨ ur alle Matrizen A ∈ Ên,n die Ungleichungen 1 AG ≤ Az,s ≤ AG ≤ nAz,s , n 1 AG ≤ AF ≤ AG ≤ nAF . n Da in den nachfolgenden Betrachtungen Matrizen und Vektoren gemeinsam auftreten, m¨ ussen die verwendeten Matrixnormen und Vektornormen in einem zu pr¨azisierenden Zusammenhang stehen, damit man geeignet damit operieren kann. Definition 2.9. Eine Matrixnorm A heißt kompatibel oder vertr¨aglich mit der Vektornorm x, falls die Ungleichung gilt Ax ≤ A x f¨ ur alle x ∈ Ên und alle A ∈ Ên,n .
(2.69)
Kombinationen von vertr¨ aglichen Normen sind etwa AG oder Az sind kompatibel mit x∞ ;
(2.70)
AG oder As sind kompatibel mit x1 ;
(2.71)
AG oder AF sind kompatibel mit x2 .
(2.72)
Die Vertr¨ aglichkeit von Normenpaaren soll in zwei F¨allen verifiziert werden. So ist wegen n n Ax∞ = max aik xk ≤ max |aik | · |xk | i i k=1 k=1 n ≤ max [max |ars |] · [max |xl |] = AG · x∞ i
k=1
r,s
l
die Gesamtnorm mit der Maximumnorm kompatibel. Desgleichen ist die Frobenius-Norm mit der euklidischen Vektornorm vertr¨ aglich. Unter Anwendung der Schwarzschen Ungleichung gilt ⎡ 21 n n n n 2 ⎤ 12 n x2k a2ik aik xk ⎦ ≤ Ax2 = ⎣ i=1
=
i=1
k=1
n n
i=1 k=1
a2ik
21
n
k=1
x2k
12
k=1
= AF · x2 .
k=1
50
2 Lineare Gleichungssysteme, direkte Methoden
Im Allgemeinen wird die rechte Seite der Ungleichung (2.69) echt gr¨oßer sein als die linke Seite. Deshalb ist es sinnvoll eine Matrixnorm zu definieren, f¨ ur die in (2.69) mindestens f¨ ur einen Vektor x = 0 Gleichheit gilt. Das gelingt mit der folgenden Definition einer so genannten zugeordneten Norm. Definition 2.10. Der zu einer gegebenen Vektornorm definierte Zahlenwert A := max =0
Ax = max Ax x =1
(2.73)
heißt die zugeordnete oder nat¨ urliche Matrixnorm. . Sie wird auch als Grenzennorm oder lub-Norm (lowest upper bound) bezeichnet. Satz 2.11. Der gem¨aß (2.73) erkl¨arte Zahlenwert stellt eine Matrixnorm dar. Sie ist mit der zu Grunde liegenden Vektornorm kompatibel. Sie ist unter allen mit der Vektornorm x vertr¨aglichen Matrixnormen die kleinste. Beweis. Wir verifizieren die Eigenschaften einer Matrixnorm. a) Mit x = 0 gelten Ax ≥ 0 f¨ ur alle A ∈ Ên,n und x > 0. Folglich ist max Ax/x ≥ x=0 0. Weiter ist zu zeigen, dass aus A = 0 A = 0 folgt. Wir nehmen das Gegenteil an, ur x w¨ahlen wir den q-ten d.h. es sei A = 0. Dann existiert mindestens ein apq = 0. F¨ Einheitsvektor eq = 0, f¨ ur den Aeq = 0 ist. F¨ ur diesen Vektor ist Aeq /eq > 0. Damit ist das Maximum in (2.73) erst recht gr¨ oßer als null, womit ein Widerspruch vorliegt. b) Auf Grund der zweiten Eigenschaft der Vektornorm gilt cA := max cAx = max {|c| · Ax} = |c| · A. =1
=1
c) Unter Benutzung der Dreiecksungleichung f¨ ur Vektornormen folgt A + B
:= ≤
max (A + B)x ≤ max {Ax + Bx}
=1
=1
max Ax + max Bx = A + B.
=1
=1
d) Um die Submultiplikativit¨ at der Norm nachzuweisen, setzen wir A = 0 und B = 0 voraus. Andernfalls ist die Ungleichung (2.64) trivialerweise erf¨ ullt. Dann gelten A · B := ≤ ≤
ABx = x
A(Bx) Bx max = 0 Bx x = 0 A(Bx) Bx · max max =0 Bx =0 x Ay Bx max · max = A · B. =0 y =0 x max =0
51
2.2 Genauigkeitsfragen, Fehlerabsch¨ atzungen
Die Kompatibilit¨ at der so erkl¨ arten Matrixnorm mit der gegebenen Vektornorm ist eine unmittelbare Folge der Definition (2.73), und die letzte Aussage von Satz 2.11 ist offensichtlich, da ein Vektor x = 0 so existiert, dass Ax = A · x gilt.
Gem¨ aß Definition 2.10 ist die der Maximumnorm x∞ zugeordnete Matrixnorm A∞ gegeben durch n A∞ := max Ax∞ = max max aik xk i Ü=1 Ü=1 k=1 n n = max max aik xk = max |aik | = Az . i i Ü=1 k=1
k=1
Der Betrag der Summe wird f¨ ur festes i dann am gr¨oßten, falls xk = sign (aik ) ist. Auf Grund von Satz 2.11 ist deshalb die Zeilensummennorm die kleinste, mit der Maximumnorm vertr¨ agliche Matrixnorm.
urliche Matrixnorm A2 herzuleiUm die zur euklidischen Vektornorm x2 zugeh¨orige nat¨ ten, sind einige fundamentale Kenntnisse aus der Theorie der linearen Algebra erforderlich. 1
1
A2 := max Ax2 = max {(Ax)T (Ax)} 2 = max {xT AT Ax} 2 Ü2 =1 Ü2 =1 Ü2 =1 Die im letzten Ausdruck auftretende Matrix AT A ist offenbar symmetrisch und positiv ur alle semidefinit, weil f¨ ur die zugeh¨ orige quadratische Form Q(x) := xT (AT A)x ≥ 0 f¨ x = 0 gilt. Folglich sind die Eigenwerte µi von AT A reell und nicht negativ, und die n Eigenvektoren x1 , x2 , . . . , xn bilden eine vollst¨ andige, orthonormierte Basis im Ên . µi ∈ Ê,
AT Axi = µi xi ,
µi ≥ 0;
xTi xj = δij
(2.74)
Mit der eindeutigen Darstellung eines beliebigen Vektors x ∈ Ên als Linearkombination der Eigenvektoren xi x=
n
ci x i
(2.75)
i=1
ergibt sich einmal unter Ber¨ ucksichtigung von (2.74) ⎞ ⎛ T n n AT A ⎝ cj xj ⎠ ci xi xT AT Ax = j=1
i=1
=
⎞ T ⎛ n n n ⎝ c2i µi . cj µj xj ⎠ = ci xi i=1
j=1
i=1
Die Eigenwerte µi seien der Gr¨ oße nach nummeriert, so dass µ1 ≥ µ2 ≥ . . . ≥ µn ≥ 0 gilt.
52
2 Lineare Gleichungssysteme, direkte Methoden
Aus der Bedingung x2 = 1 folgt noch trixnorm A2 = max Ü2 =1
n i=1
c2i µi
12
n
c2i = 1, und somit f¨ ur die zugeordnete Ma-
i=1
n
≤ max µ1 Ü2 =1 i=1
c2i
12
=
√ µ1 .
√ Der maximal m¨ ogliche Wert µ1 wird f¨ ur x = x1 mit c1 = 1, c2 = . . . = cn = 0 angenommen. Damit haben wir das Ergebnis √ (2.76) A2 := max Ax2 = µ1 , Ü2 =1 wobei µ1 der gr¨ oßte Eigenwert von AT A ist. Man bezeichnet die der euklidischen Vektornorm zugeordnete Matrixnorm A2 auch als Spektralnorm. Nach Satz 2.11 ist sie die kleinste, mit der euklidischen Vektornorm vertr¨ agliche Matrixnorm. Die Bezeichnung als Spektralnorm wird verst¨ andlich im Spezialfall einer symmetrischen Matrix A. Bedeuten λ1 , λ2 , . . . , λn die reellen Eigenwerte von A, dann besitzt die Matrix AT A = AA = A2 bekanntlich die Eigenwerte µi = λ2i ≥ 0, so dass aus (2.76) folgt A2 = |λ1 |,
|λ1 | = max |λi |.
(2.77)
i
Die Spektralnorm einer symmetrischen Matrix A ist durch ihren betragsgr¨oßten Eigenwert λ1 gegeben. Als Vorbereitung f¨ ur die nachfolgende Anwendung soll die Spektralnorm√der Inversen A−1 einer regul¨ aren Matrix A angegeben werden. Nach (2.76) ist A−1 2 = ψ1 , wo ψ1 gleich T dem gr¨ oßten Eigenwert von A−1 A−1 = (AAT )−1 ist. Da aber die inverse Matrix C −1 bekanntlich die reziproken Eigenwerte von C besitzt, ist ψ1 gleich dem reziproken Wert des kleinsten (positiven) Eigenwertes der positiv definiten Matrix AAT . Die letzte Matrix ist aber a ¨hnlich zur Matrix AT A, denn es gilt A−1 (AAT )A = AT A, so dass AAT und AT A die gleichen Eigenwerte haben. Deshalb gilt √ (2.78) A−1 2 = 1/ µn , wo µn der kleinste Eigenwert der positiv definiten Matrix AT A ist. F¨ ur eine symmetrische, regul¨ are Matrix ist weiter A−1 2 = 1/|λn |,
2.2.2
AT = A,
|λn | = min |λi |. i
(2.79)
Fehlerabsch¨atzungen, Kondition
Wir wollen nun zwei Fragestellungen untersuchen, welche die Genauigkeit einer berechneten N¨ aherung x ˜ der L¨ osung x des quadratischen, regul¨aren Systems Ax = b betreffen. Zuerst wollen wir das Problem betrachten, welche R¨ uckschl¨ usse aus der Gr¨oße des Residuenvektors r = A˜ x − b auf den Fehler z := x ˜ − x gezogen werden k¨onnen. Dazu sei A eine beliebige Matrixnorm und x eine dazu vertr¨agliche Vektornorm. Da nach (2.53) der Fehlervektor z das Gleichungssystem Az = −r erf¨ ullt, folgt aus den Beziehungen b = Ax ≤ A x,
z = − A−1 r ≤ A−1 r
(2.80)
2.2 Genauigkeitsfragen, Fehlerabsch¨ atzungen
53
die Absch¨ atzung f¨ ur den relativen Fehler ˜ x − x r z r = ≤ A A−1 =: κ(A) . x x b b
(2.81)
Definition 2.12. Die Gr¨ oße κ(A) := A A−1
(2.82)
heißt Konditionszahl f¨ ur die L¨ osung des linearen Gleichungssystems Ax = b mit der Matrix A als Koeffizientenmatrix. κ(A) ist abh¨ angig von der verwendeten Matrixnorm. Die Konditionszahl κ(A) ist mindestens gleich Eins, denn es gilt stets 1 ≤ I = AA−1 ≤ A A−1 = κ(A).
Die Absch¨ atzung (2.81) bedeutet konkret, dass neben einem kleinen Residuenvektor r, bezogen auf die Gr¨ oße der rechten Seite b die Konditionszahl ausschlaggebend f¨ ur den relativen Fehler der N¨ aherung x ˜ ist. Nur bei kleiner Konditionszahl kann aus einem relativ kleinen Residuenvektor auf einen kleinen relativen Fehler geschlossen werden! Beispiel 2.8. Wir betrachten das System von linearen Gleichungen von Beispiel 2.7, und wollen die Fehlerabsch¨ atzung (2.81) anwenden. Als Normen sollen der Einfachheit halber die Maximumnorm ∞ und die ihr zugeordnete Zeilensummennorm ∞ = z verwendet werden. Zur Bestimmung der Konditionszahl ben¨ otigen wir die Inverse −1 . 1 0 168.40 −235.80 −771.75 875.82 C B −101.04 138.68 470.63 −528.07 C −1 =. B C B @ −50.588 69.434 188.13 −218.89 A 33.752 −41.659 −112.88 128.73 . . . −1 Somit sind ∞ = 2.3572, ∞ = 2051.77 und κ∞ () = 4836.4. Mit ∞ = 8, ∞ = −5 und ∞ = 0.21431 sch¨ atzt (2.81) den absoluten Fehler ab zu ˜ − ∞ ≤ 12.99. 7.1948 · 10 △ Tats¨ achlich ist ˜ − ∞ = 0.0667, also wesentlich kleiner.
Das Rechnen mit endlicher Genauigkeit hat zur Folge, dass in der Regel bereits die Koefosenden Gleichungssystems im Rechner nicht exakt darstellbar fizienten aik und bi des zu l¨ sind. Sie sind zudem oft mit Rundungsfehlern behaftet, falls sie ihrerseits das Ergebnis einer Rechnung sind. Deshalb soll nun der m¨ ogliche Einfluss von Fehlern in den Ausgangsdaten auf die L¨ osung x untersucht werden, d.h. die Empfindlichkeit der L¨osung x auf St¨orungen ¨ in den Koeffizienten. Unsere Fragestellung lautet deshalb: Wie groß kann die Anderung δx der L¨ osung x von Ax = b sein, falls die Matrix A um δA und die rechte Seite b um δb ge¨ andert werden? Dabei sollen δA und δb kleine St¨orungen bedeuten derart, dass auch die Matrix A + δA regul¨ ar ist. Der Vektor x + δx soll also L¨osung von (A + δA)(x + δx) = (b + δb) sein. Nach Ausmultiplikation ergibt sich Ax + A δx + δAx + δA δx = b + δb, und wegen Ax = b erhalten wir weiter
(2.83)
54
2 Lineare Gleichungssysteme, direkte Methoden
A δx = δx =
δb − δAx − δA δx,
A−1 {δb − δAx − δA δx}.
F¨ ur vertr¨ agliche Normen folgt daraus δx ≤ und weiter
≤
A−1 δb − δAx − δA δx
A−1 {δb + δA x + δA δx}
(1 − A−1 δA)δx ≤ A−1 {δb + δA x}.
(2.84)
An dieser Stelle treffen wir die Zusatzannahme, dass die St¨orung δA so klein sei, dass ¨ ur die Norm der Anderung A−1 δA < 1 gilt. Dann folgt aus (2.84) die Absch¨atzung f¨ δx: A−1 δx ≤ {δb + δA x}. (2.85) 1 − A−1 δA Anstelle der absoluten Fehlerabsch¨ atzung sind wir mehr an einer relativen Absch¨atzung interessiert. Aus Ax = b folgt aber b = Ax ≤ A x
oder
und somit erhalten wir aus (2.85) δx x
x ≥ b/A, !
≤
A−1 1 − A−1 δA
δb + δA x
≤
A−1 A 1 − A−1 δA
δb δA + b A
!
.
Mit A−1 δA = κ(A)δA/A < 1 lautet das Ergebnis ! δA δb κ(A) δx ≤ + x A b 1 − κ(A) δA A
(2.86)
Die Konditionszahl κ(A) der Koeffizientenmatrix A ist die entscheidende Gr¨oße, welche die ¨ Empfindlichkeit der L¨ osung x gegen¨ uber Anderungen δA und δb beschreibt. Wir wollen nun die praktische Bedeutung und die numerischen Konsequenzen dieser Absch¨atzungen darlegen. Bei einer d-stelligen dezimalen Gleitpunktrechnung k¨onnen die relativen Fehler der Ausgangsdaten f¨ ur beliebige, kompatible Normen von der Gr¨oßenordnung δA/A ≈ 5 · 10−d,
δb/b ≈ 5 · 10−d
sein. Ist die Konditionszahl κ(A) ≈ 10α mit 5 · 10α−d ≪ 1, so ergibt (2.86) die qualitative Absch¨ atzung δx/x ≤ 10α−d+1 .
Mit dieser Sch¨ atzung der Empfindlichkeit gelangen wir zu folgender Daumenregel. Wird ein lineares Gleichungssystem Ax = b mit d-stelliger dezimaler Gleitpunktrechnung gel¨ost, und betr¨agt die Konditionszahl κ(A) ≈ 10α , so sind auf Grund der
55
2.2 Genauigkeitsfragen, Fehlerabsch¨ atzungen
im Allgemeinen unvermeidlichen Eingangsfehler in der berechneten L¨osung x ˜, bezogen auf die betragsgr¨oßte Komponente, nur d − α − 1 Dezimalstellen sicher. Auch wenn diese Regel oft eine pessimistische Aussage liefert, so ist ein weiterer wesentlicher ¨ Punkt zu beachten. Da die Absch¨ atzung (2.86) die Normen betrifft, kann die Anderung δx alle Komponenten von x betreffen. Falls die Werte der Unbekannten starke Gr¨oßenunterschiede aufweisen, k¨ onnen die betragskleinsten bedeutend gr¨oßere relative Fehler enthalten, die so groß sein k¨ onnen, dass nicht einmal das Vorzeichen richtig ist. Beispiel 2.9. Wir betrachten ein lineares Gleichungssystem
=
0.99 0.98
0.98 0.97
!
=
,
1.97 1.95
!
,
=
1 1
!
= in zwei Unbekannten mit .
uglich der Spektralnorm berechnet sich nach Die Konditionszahl der symmetrischen Matrix bez¨ (2.77) und (2.79) als Quotient des betragsgr¨ oßten und betragskleinsten Eigenwertes von zu . . . κ() = |λ1 |/|λ2 | = 1.96005/0.000051019 = 38418 = 3.8 · 104 . Sind die angegebenen Zahlenwerte bei f¨ unfstelliger Rechnung mit entsprechenden Rundungsfehlern behaftet, so sind nach der Daumenregel mit d = 5, α = 4 gar keine richtigen Dezimalstellen zu erwarten. Dies ist auch tats¨ achlich der Fall, denn das gest¨ orte Gleichungssystem ( + Æ)( + Æ ) = ( + Æ) mit ! ! 0.990005 0.979996 1.969967 + Æ = , + Æ = 0.979996 0.970004 1.950035 besitzt die L¨ osung +Æ
. =
1.8072 0.18452
!
,
also
Æ
. =
0.8072 −0.81548
!
.
. Die Absch¨ atzung (2.86) ist in diesem konstruierten Beispiel sehr realistisch. Denn mit Æ 2 = . . . 8.531 · 10−6 , 2 = 1.960, Æ 2 = 4.810 · 10−5 , 2 = 2.772 liefert sie 3.842 · 104 Æ 2 ≤ {4.353 · 10−6 + 1.735 · 10−5 } = 1.001, 2 1 − 0.1672 . w¨ ahrend tats¨ achlich Æ 2 / 2 = 0.8114 ist.
△
Die Absch¨ atzung (2.86) f¨ ur den relativen Fehler besitzt auch dann eine Anwendung, wenn die Ausgangsdaten als exakt anzusehen sind. Die numerisch berechneten Koeffizienten des ersten reduzierten Systems k¨ onnen als die exakten Werte eines gest¨orten Ausgangssystems betrachtet werden. Diese Betrachtungsweise l¨ asst sich auf die weiteren Eliminationsschritte fortsetzen. So kann die resultierende Dreieckszerlegung als die exakte Zerlegung einer ˜ R, ˜ wo L ˜ und ge¨ anderten Ausgangsmatrix aufgefasst werden, so dass gilt P (A + δA) = L ˜ R die mit Gleitpunktarithmetik erhaltenen Dreiecksmatrizen bedeuten. Die Analyse der Rundungsfehler gestattet, die Betr¨ age der Elemente von δA abzusch¨atzen. Die Idee dieser R¨ uckw¨arts-Fehleranalyse l¨ asst sich auch auf die Prozesse der Vorw¨arts- und R¨ ucksubstitution ausdehnen,und liefert Absch¨ atzungen f¨ ur δb. Leider sind die theoretischen Ergebnisse im allgemeinen Fall allzu pessimistisch und entsprechen nicht den praktischen Erfahrungen ¨ [Sto 99, Stu 82, Wil 65, Wil 69]. Die tats¨ achlichen Anderungen δA und δb einer R¨ uckw¨artsfehlerrechnung sind im allgemeinen Fall bei kleinen Systemen etwa von der Gr¨oßenordnung der unvermeidbaren Eingangsfehler und sind bei gr¨oßeren Systemen nur um Faktoren von
56
2 Lineare Gleichungssysteme, direkte Methoden
wenigen Zehnerpotenzen gr¨ oßer. Da die Absch¨ atzung (2.86) auf Grund ihrer allgemeinen G¨ ultigkeit oft zu pessimistisch ist, so bleibt die oben formulierte Daumenregel zumindest als Richtlinie auch unter Ber¨ ucksichtigung der R¨ uckw¨arts-Fehleranalyse anwendbar. Zur Nachiteration kann auf Grund der obigen Betrachtungen noch eine heuristisch g¨ ultige Aussage hinzugef¨ ugt werden. Damit jeder Nachiterationsschritt wenigstens eine Verbesserung der N¨ aherungsl¨ osung bringt, muss mindestens eine Ziffer, immer bezogen auf die absolut gr¨ oßte Komponente des Korrekturvektors, richtig sein. Damit dies bei d-stelliger dezimaler Gleitpunktrechnung zutrifft, muss α < d − 1 sein. Dann wird die Nachiteration in jedem Schritt weitere (d − α − 1) Dezimalstellen richtigstellen, und die Folge von N¨aherungsl¨ osungen konvergiert tats¨ achlich. Beispiel 2.7 illustriert diese Tatsache sehr sch¨on. Bei . uglich der Spektralnorm sind in x ˜ sogar zwei weeiner Konditionszahl κ(A) = 2.82 · 103 bez¨ sentliche Dezimalstellen richtig, und die Nachiteration liefert zwei weitere richtige Stellen. Soll etwa ein Computerprogramm zu einer berechneten N¨aherungsl¨osung x ˜ eine pr¨azise Angabe u ¨ ber die Genauigkeit mitliefern, oder soll es entscheiden k¨onnen, ob eine Nachiteration notwendig oder u ¨ berhaupt sinnvoll ist, ist die Kenntnis der Konditionszahl κ(A) erforderlich. Dazu braucht man aber entweder die Inverse von A oder den gr¨oßten und kleinsten Eigenwert von AT A. Um diese im Vergleich zur Gleichungsaufl¨osung recht aufw¨andigen Prozesse zu vermeiden, sind Verfahren entwickelt worden, die mit vertretbarem Rechenaufwand einen brauchbaren Sch¨ atzwert f¨ ur κ(A) liefert [Cli 79, For 77, Hig 02, Kie 88].
2.3
Systeme mit speziellen Eigenschaften
In vielen Anwendungen sind lineare Gleichungssysteme mit besonderen Strukturen zu l¨osen. Deren Ber¨ ucksichtigung kann Rechen- und Speicheraufwand reduzieren und die Stabilit¨at erh¨ ohen. Wir betrachten einige wichtige F¨ alle solcher Gleichungssysteme, die in verschiedenen Zusammenh¨ angen als Teilaufgabe zu l¨ osen sind, so z.B. in den Kapiteln 10 und 11. Wir stellen die einschl¨ agigen Algorithmen und die zweckm¨aßigen Maßnahmen f¨ ur eine geeignete Realisierung auf einem Rechner zusammen.
2.3.1
Symmetrische, positiv definite Systeme
Oft ist die Koeffizientenmatrix A in Ax = b nicht nur symmetrisch, sondern auch positiv definit. Diese Eigenschaft ist z.B. typisch f¨ ur Anwendungen, denen ein Energieerhaltungssatz zu Grunde liegt. Definition 2.13. Eine symmetrische Matrix A ∈ Ên,n heisst positiv definit, falls die zugeh¨ orige quadratische Form positiv definit ist; d.h. falls gilt n n Q(x) := xT Ax = (2.87) aik xi xk ≥ 0 f¨ ur alle x ∈ Ên , i=1 k=1
=
0
nur f¨ ur x = 0.
57
2.3 Systeme mit speziellen Eigenschaften
Satz 2.14. Ist eine symmetrische Matrix A ∈ Ên,n positiv definit, so erf¨ ullen ihre Elemente notwendigerweise die Bedingungen ur i = 1, 2, . . . , n; aii > 0 f¨ 2 aik < aii akk f¨ ur i = k; i, k = 1, 2, . . . n;
a) b) c)
es existiert ein k mit max |aij | = akk . i,j
(2.88) (2.89) (2.90)
Beweis. Die beiden ersten Eigenschaften zeigen wir auf Grund von (2.87) durch spezielle Wahl von x = 0. So folgt (2.88) mit x = ei (i-ter Einheitsvektor) wegen Q(x) = aii > 0. W¨ ahlen wir x = ξei +ek , ξ ∈ Ê beliebig, i = k, so reduziert sich die quadratische Form Q(x) ur alle ξ ∈ Ê. Die quadratische Gleichung aii ξ 2 + 2aik ξ + akk = 0 auf aii ξ 2 + 2aik ξ + akk > 0 f¨ hat keine reellen L¨ osungen in ξ, folglich ist ihre Diskriminante 4a2ik − 4aii akk < 0, woraus sich (2.89) ergibt. Nimmt man schließlich an, das betragsgr¨oßte Matrixelement liege nicht in der Diagonale, so steht diese Annahme im Widerspruch zu (2.89). Eine notwendige und hinreichende Bedingung f¨ ur die positive Definitheit einer symmetrischen Matrix gewinnt man mit der Methode der Reduktion einer quadratischen Form auf eine Summe von Quadraten. Wir d¨ urfen a11 > 0 annehmen, denn andernfalls w¨are A nach Satz 2.14 nicht positiv definit. Folglich lassen sich alle Terme in (2.87), welche x1 enthalten, zu einem vollst¨ andigen Quadrat erg¨ anzen: n n n Q(x) = a11 x21 + 2 aik xi xk ai1 x1 xi + i=2 k=2
i=2
=
=
2 # n n " n √ ai1 a1k ai1 xi xk xi + aik − a11 x1 + √ a11 a11 i=2 k=2 i=2 2 n 2 n n n (1) li1 xi + aik xi xk = li1 xi + Q(1) (x(1) ) i=1
Dabei bedeuten l11
=
(1)
=
aik
i=2 k=2
(2.91)
i=1
ai1 ai1 √ a11 ; li1 = √ = , i = 2, 3, . . . , n; a11 l11 ai1 a1k = aik − li1 lk1 , i, k = 2, 3, . . . , n. aik − a11
(2.92) (2.93)
Q(1) (x(1) ) ist eine quadratische Form in den (n − 1) Variablen x2 , x3 , . . . , xn mit den Koeffi(1) zienten aik (2.93), wie sie sich im Gaußschen Algorithmus im ersten Eliminationsschritt mit ort zur Matrix des reduzierten Gleichungssystems. dem Pivotelement a11 ergeben. Sie geh¨ Satz 2.15. Die symmetrische Matrix A = (aik ) mit a11 > 0 ist genau dann positiv definit, (1) (1) falls die reduzierte Matrix A(1) = (aik ) ∈ Ê(n−1),(n−1) mit den Elementen aik gem¨aß (2.93) positiv definit ist. Beweis. a) Notwendigkeit: Es sei A positiv definit. Zu jedem Vektor x(1) = (x2 , x3 , . . . , xn )T = 0 kann der Wert x1
58
2 Lineare Gleichungssysteme, direkte Methoden
wegen a11 > 0 und damit l11 = 0 so bestimmt werden, dass
n
li1 xi = 0 ist. F¨ ur den
i=1
zugeh¨ origen Vektor x = (x1 , x2 , . . . , xn )T = 0 ist dann wegen (2.91) 0 < Q(1) (x(1) ), und folglich muss A(1) notwendigerweise positiv definit sein. b) Hinl¨anglichkeit: Es sei A(1) positiv definit. Somit gilt f¨ ur alle x = 0 wegen (2.91) Q(x) ≥ 0. Es kann Q(x) = 0 nur dann sein, falls in (2.91) beide Summanden gleichzeitig verschwinden. Aus Q(1) (x(1) ) = 0 folgt jetzt aber x2 = x3 = . . . = xn = 0, und der erste Summand verschwindet wegen l11 = 0 dann nur f¨ ur x1 = 0. Die Matrix A ist somit notwendigerweise positiv definit. Aus Satz 2.15 folgen unmittelbar weitere Aussagen, die f¨ ur die praktische L¨osung von symmetrischen, positiv definiten Systemen bedeutungsvoll sind. Satz 2.16. Eine symmetrische Matrix A = (aik ) ∈ Ên,n ist genau dann positiv definit, wenn der Gaußsche Eliminationsprozess mit Diagonalstrategie durchf¨ uhrbar ist und die Pivotelemente positiv sind. Beweis. Ist A positiv definit, so steht notwendigerweise mit a11 > 0 ein erstes Pivotelement in der Diagonale zur Verf¨ ugung. Die reduzierte Matrix A(1) ist dann nach Satz 2.15 wieder (1) positiv definit, und es ist a22 > 0 das zweite zul¨assige Pivotelement. Das gilt analog f¨ ur (k) alle weiteren reduzierten Matrizen A , k = 2, 3, . . . , n − 1, und es ist insbesondere auch (n−1) ann als letztes Pivot positiv. (1)
(n−1)
> 0, so ist die Matrix Sind umgekehrt alle Pivotelemente a11 > 0, a22 > 0, . . . , ann (n−1) A(n−1) = (ann ) positiv definit und deshalb sind dann unter sukzessiver und sinngem¨aßer Anwendung von Satz 2.15 auch die Matrizen A(n−2) , . . . , A(1) , A positiv definit. Nach Satz 2.16 ist f¨ ur die Klasse der symmetrischen und positiv definiten Matrizen A die Dreieckszerlegung mit dem Gauß-Algorithmus ohne Zeilenvertauschungen durchf¨ uhrbar. Da aber nach (2.93) die Matrizen der reduzierten Gleichungssysteme wieder symmetrisch sind, bedeutet dies f¨ ur die Rechenpraxis eine Reduktion des Rechenaufwandes f¨ ur die Zerlegung auf etwa die H¨ alfte. Satz 2.17. Eine symmetrische Matrix A = (aik ) ∈ Ên,n ist genau dann positiv definit, falls die Reduktion der quadratischen Form Q(x) auf eine Summe von n Quadraten 2 n n n n Q(x) = aik xi xk = (2.94) lik xi i=1 k=1
k=1
i=k
im K¨orper der reellen Zahlen vollst¨andig durchf¨ uhrbar ist.
Beweis. Auf Grund von Satz 2.16 ist die Behauptung offensichtlich, falls wir in Erg¨anzung zu (2.92) und (2.93) die folgenden Gr¨ oßen erkl¨ aren, die im allgemeinen k-ten Reduktionsschritt
59
2.3 Systeme mit speziellen Eigenschaften
anfallen: $ (k−1) akk ;
lkk
=
(k)
= aij
aij
(k−1)
(k−1)
lik =
− lik ljk ,
aik , lkk
i = k + 1, k + 2, . . . , n,
i, j = k + 1, k + 2, . . . , n.
(2.95) (2.96)
Die Radikanden in (2.95) sind nach Satz 2.16 genau dann positiv, falls A positiv definit ist. Mit den Gr¨ oßen lik , welche durch (2.92) und (2.95) f¨ ur i ≥ k eingef¨ uhrt worden sind, definieren wir die Linksdreiecksmatrix ⎛ ⎞ l11 0 0 ... 0 ⎜ l21 l22 0 ... 0 ⎟ ⎜ ⎟ ⎜ l31 l32 l33 . . . 0 ⎟ L=⎜ (2.97) ⎟ ⎜ . ⎟ .. .. .. ⎝ .. ⎠ . . . ln1
ln2
ln3
. . . lnn
Satz 2.18. Die Reduktion einer positiv definiten quadratischen Form auf eine Summe von Quadraten (2.94) leistet die Produktzerlegung der zugeh¨origen Matrix A in A = LLT .
(2.98)
Beweis. Nach (2.94) besitzt die quadratische Form Q(x) zwei verschiedene Darstellungen, die mit der Linksdreiecksmatrix L (2.97) lauten Q(x) = xT Ax = (LT x)T (LT x) = xT LLT x.
(2.99)
Wegen der Eindeutigkeit der Darstellung gilt (2.98). Man nennt (2.98) die Cholesky-Zerlegung der symmetrischen, positiv definiten Matrix A. Sie geht auf den Geod¨ aten Cholesky [Ben 24] zur¨ uck. Mit Hilfe der Cholesky-Zerlegung (2.98) lassen sich symmetrische, positiv definite Gleichungssysteme wie folgt l¨ osen: Durch Substitution von A = LLT in Ax = b ergibt sich LLT x = b
oder
L(LT x) = b.
(2.100)
T
Mit dem Hilfsvektor c = L x kann somit die Aufl¨osung von Ax = b vermittels der Methode von Cholesky in den drei Schritten erfolgen: 1. A = LLT 2. Lc = b 3. LT x = c
(Cholesky-Zerlegung) (Vorw¨ artssubstitution → c) (R¨ ucksubstitution → x)
(2.101)
Obwohl die Cholesky-Zerlegung zur L¨ osung von linearen Gleichungssystemen n Quadratwurzeln ben¨ otigt, die man im Gauß-Algorithmus nicht braucht, da ja bekanntlich die Berechnung der L¨ osung ein rationaler Prozess ist, hat sie den Vorteil, dass die Zerlegung unter Wahrung der Symmetrie erfolgt.
60
2 Lineare Gleichungssysteme, direkte Methoden (k)
Beachtet man, dass in (2.96) nur die Matrixelemente aij in und unterhalb der Diagonale zu berechnen sind, setzt sich der Rechenaufwand im k-ten Reduktionsschritt zusammen aus einer Quadratwurzelberechnung, (n − k) Divisionen und (1 + 2 + . . . + (n − k)) = 1 (n − k + 1)(n − k) Multiplikationen. Die vollst¨andige Cholesky-Zerlegung erfordert somit 2 neben der nicht ins Gewicht fallenden Berechnung von n Quadratwurzeln T ZLL
=
{(n − 1) + (n − 2) + . . . + 1} 1 + {n(n − 1) + (n − 1)(n − 2) + . . . + 2 · 1} 2 ! 1 1 1 1 n(n − 1) + n(n − 1)(2n − 1) + n(n − 1) = 2 2 6 2 1 3 (n + 3n2 − 4n) = 6 wesentliche Operationen. Die Prozesse der Vorw¨ arts- und R¨ ucksubstitution erfordern je den gleichen Rechenaufwand, weil die Diagonalelemente lii = 1 sind, n¨amlich 1 ZV = ZR = (n2 + n) 2 multiplikative Operationen. Damit betr¨ agt der Rechenaufwand zur L¨osung von n linearen Gleichungen nach der Methode von Cholesky ZCholesky =
1 3 3 2 1 n + n + n = 0(n3 ) 6 2 3
(2.102)
wesentliche Operationen. F¨ ur gr¨ oßere n ist dieser Aufwand im Vergleich zu (2.37) etwa halb so groß. Die detaillierte, algorithmische Zusammenfassung der drei L¨osungsschritte (2.101) lautet wie folgt, wobei vorausgesetzt wird, dass nur die Elemente aik in und unterhalb der Diagonale vorgegeben sind. Die gegebenen Ausgangswerte werden durch den Algorithmus ver¨andert. f¨ ur k = 1, 2, . . . , n : falls akk ≤ 0 : STOP √ lkk = akk f¨ ur i = k + 1, k + 2, . . . , n : lik = aik /lkk f¨ ur j = k + 1, k + 2, . . . , i : aij = aij − lik × ljk
(2.103)
f¨ ur i = 1, 2, . . . , n : s = bi f¨ ur j = 1, 2, . . . , i − 1 : s = s − lij × cj ci = s/lii
(2.104)
61
2.3 Systeme mit speziellen Eigenschaften
f¨ ur i = n, n − 1, . . . , 1 : s = ci f¨ ur k = i + 1, i + 2, . . . , n : s = s − lki × xk xi = s/lii
(2.105)
Da die gegebenen Matrixelemente aik in (2.103) ver¨andert werden, und da der Wert von aik zuletzt bei der Berechnung von lik ben¨ otigt wird, kann die Matrix L an der Stelle von A aufgebaut werden. Dazu gen¨ ugt es, das Feld l mit a zu identifizieren. Desgleichen kann in (2.104) der Vektor b mit c identifiziert werden, und in (2.105) ist der L¨osungsvektor x mit c identifizierbar, so dass an der Stelle von b die L¨osung x steht. Um auch im Rechner von der Tatsache Nutzen zu ziehen, dass in der Methode von Cholesky nur mit der unteren H¨ alfte der Matrizen A und L gearbeitet wird, sind die relevanten Matrixelemente zeilenweise aufeinanderfolgend in einem eindimensionalen Feld zu speichern, wie dies in (2.106) angedeutet ist. Das Matrixelement aik findet sich als r-te Komponente in dem eindimensionalen Feld mit r = 12 i(i − 1) + k. Der Speicherbedarf betr¨agt jetzt nur alfte im Vergleich zur normalen Speicherung einer Matrix. S = 12 n(n + 1), also gut die H¨ A:
a11
a21
a22
a31
a32
a33
a41
a42
a43
a44
· · ·
(2.106)
Speicherung der unteren H¨ alfte einer symmetrischen, positiv definiten Matrix.
Beispiel 2.10. Das Cholesky-Verfahren f¨ur 0
=B @
5 7 3
7 11 2
1
3 C 2 A, 6
0
=B @
1
= mit
0 C 0 A 1
liefert bei f¨ unfstelliger, dezimaler Gleitpunktarithmetik die beiden reduzierten Matrizen ! 1.2000 −2.1999 (1) , = (2) = (0.16680) −2.1999 4.2001
artssubstitution und die N¨ aheund die Linksdreiecksmatrix , den Vektor als Ergebnis der Vorw¨ rungsl¨ osung ˜ 1 1 1 0 0 0 2.2361 0 0 0 −18.984 C C C B B =B 1.0954 0 A, = @ 0 A , ˜ = @ 10.991 A . @ 3.1305 1.3416 −2.0083 0.40841 2.4485 5.9952
uglich Die Einsetzprobe ergibt den Residuenvektor = (2.6, 3.4, 1.2)T ·10−3 . Die Konditionszahl bez¨ . der Spektralnorm betr¨ agt κ() = 1.50 · 103 . Ein Nachiterationsschritt liefert mit der Korrektur =. (−15.99, 8.99, 4.80)T · 10−3 eine verbesserte N¨aherung, die auf f¨unf wesentliche Stellen mit der aherungsl¨ osung ˜ ist bedeutend genauer exakten L¨ osung = (−19, 11, 6)T u ¨ bereinstimmt. Die N¨ ausgefallen, als die Daumenregel erwarten ließe. △
62
2.3.2
2 Lineare Gleichungssysteme, direkte Methoden
Bandgleichungen
Man spricht von einer Bandmatrix A, falls alle von null verschiedenen Elemente aik in der Diagonale und in einigen dazu benachbarten Nebendiagonalen liegen. F¨ ur die Anwendungen sind die symmetrischen, positiv definiten Bandmatrizen besonders wichtig. Definition 2.19. Unter der Bandbreite m einer symmetrischen Matrix A ∈ Ên,n versteht man die kleinste nat¨ urliche Zahl m < n, so dass gilt aik = 0 f¨ ur alle i und k mit |i − k| > m.
(2.107)
Die Bandbreite m gibt somit die Anzahl der Nebendiagonalen unterhalb, bzw. oberhalb der Diagonalen an, welche die i.a. von null verschiedenen Matrixelemente enthalten. Satz 2.20. Die Linksdreiecksmatrix L der Cholesky-Zerlegung A = LLT (2.98) einer symmetrischen, positiv definiten Bandmatrix mit der Bandbreite m besitzt dieselbe Bandstruktur, denn es gilt lik = 0 f¨ ur alle i und k mit i − k > m.
(2.108)
Beweis. Es gen¨ ugt zu zeigen, dass der erste Reduktionsschritt, beschrieben durch (2.92) und (2.93), in der ersten Spalte von L unterhalb der Diagonale nur in den m Nebendiagonalen (1) von null verschiedene Elemente produziert, und dass die reduzierte Matrix A(1) = (aik ) dieselbe Bandbreite m aufweist. Die erste Behauptung ist offensichtlich wegen (2.92) richtig, ur alle i mit i − 1 > m, da dann nach Voraussetzung ai1 = 0 ist. F¨ ur denn es ist li1 = 0 f¨ (1) die zweite Behauptung brauchen wir aus Symmetriegr¨ unden nur Elemente aik unterhalb der Diagonale zu betrachten. F¨ ur eine beliebige Stelle (i, k) mit i ≥ k ≥ 2 und i − k > m ist einerseits nach Voraussetzung aik = 0 und anderseits auf Grund der eben gemachten Feststellung li1 = 0, denn es ist i − 1 > i − k > m. Damit gilt wegen (2.93) in der Tat (1) aik = 0 f¨ ur alle i, k ≥ 2 mit |i − k| > m. Nach Satz 2.20 verl¨ auft die Cholesky-Zerlegung einer symmetrischen, positiv definiten Bandmatrix vollst¨ andig innerhalb der Diagonale und den m unteren Nebendiagonalen, so dass die Matrix L genau den Platz des wesentlichen gegebenen Teils der Matrix A einnehmen kann. Zudem ist klar, dass jeder Reduktionsschritt nur die Elemente im Band innerhalb eines dreieckigen Bereiches erfasst, der h¨ ochstens die m nachfolgenden Zeilen umfasst. Zur Verdeutlichung ist in Abb. 2.1 ein allgemeiner Reduktionsschritt im Fall einer Bandmatrix mit m = 4 schematisch dargestellt. Der Rechenaufwand f¨ ur einen allgemeinen Reduktionsschritt setzt sich zusammen aus einer Quadratwurzelberechnung f¨ ur lkk , m Divisionen f¨ ur die Werte lik und 21 m(m + 1) Multiplikationen f¨ ur die eigentliche Reduktion der Elemente. Der totale Aufwand f¨ ur die CholeskyZerlegung einer Bandmatrix der Ordnung n und der Bandbreite m betr¨agt also n Quadratwurzelberechnungen und weniger als 12 nm(m + 3) wesentliche Operationen. Er ist somit nur noch proportional zur Ordnung n und zum Quadrat der Bandbreite m. Die Prozesse der
63
2.3 Systeme mit speziellen Eigenschaften
0 0 0 0 (5,1) (6,2) (7,3) (8,4) (9,5) (10,6) (11,7) (12,8) (13,9) (14,10) (15,11)
0 0 0 (4,1) (5,2) (6,3) (7,4) (8,5) (9,6) (10,7) (11,8) (12,9) (13,10) (14,11) (15,12)
0 0 (3,1) (4,2) (5,3) (6,4) (7,5) (8,6) (9,7) (10,8) (11,9) (12,10) (13,11) (14,12) (15,13)
0 (2,1) (3,2) (4,3) (5,4) (6,5) (7,6) (8,7) (9,8) (10,9) (11,10) (12,11) (13,12) (14,13) (15,14)
(1,1) (2,2) (3,3) (4,4) (5,5) (6,6) (7,7) (8,8) (9,9) (10,10) (11,11) (12,12) (13,13) (14,14) (15,15)
Abb. 2.1 Zur Reduktion und Speicherung einer symmetrischen, positiv definiten Bandmatrix.
Vorw¨ arts- und R¨ ucksubstitution sind mit je h¨ ochstens n(m + 1) multiplikativen Operationen durchf¨ uhrbar. Es gilt folglich die Absch¨ atzung des Aufwands zur L¨osung von n linearen Gleichungen mit symmetrischer, positiv definiter Bandmatrix der Bandbreite m (Band)
ZCholesky ≤
1 nm(m + 3) + 2n(m + 1) = O(nm2 ) 2
(2.109)
Um die Speicherung der Bandmatrix zu optimieren, wird ihre untere H¨alfte in der Art von Abb. 2.1 in einem rechteckigen Feld von n Zeilen und (m + 1) Spalten gespeichert. Dabei soll vereinbart werden, dass die einzelnen Nebendiagonalen von A als Spalten erscheinen und zwar so, dass der i-ten Zeile von A auch die i-te Zeile in dem Feld entspricht. Die Diagonalelemente von A sind in der (m+1)-ten Spalte des Feldes zu finden, und das Element aik von A mit max(i−m, 1) ≤ k ≤ i steht in der (k −i+m+1)-ten Spalte des Feldes. Die im linken oberen Dreiecksbereich des Feldes undefinierten Elemente k¨onnen zweckm¨aßigerweise gleich null gesetzt werden. Rechts in Abb. 2.1 findet sich am Speicherplatz des Elementes aik der entsprechende Doppelindex. Die algorithmische Fassung der Cholesky-Zerlegung A = LLT einer Bandmatrix der Ordnung n und der Bandbreite m in der Speicherung nach Abb. 2.1 lautet: f¨ ur k = 1, 2, . . . , n : falls ak,m+1 ≤ 0 : STOP √ lk,m+1 = ak,m+1 p = min(k + m, n) f¨ ur i = k + 1, k + 2, . . . , p : li,k−i+m+1 = ai,k−i+m+1 /lk,m+1 f¨ ur j = k + 1, k + 2, . . . , i : ai,j−i+m+1 = ai,j−i+m+1 − li,k−i+m+1 × lj,k−j+m+1
64
2.3.3
2 Lineare Gleichungssysteme, direkte Methoden
Tridiagonale Gleichungssysteme
Als besonders einfach zu behandelnde Gleichungssysteme werden wir in verschiedenen Anwendungen solche mit tridiagonaler Koeffizientenmatrix A antreffen. Die allgemeine i-te Gleichung enth¨ alt nur die Unbekannten xi−1 , xi und xi+1 . Um der sehr speziellen Struktur der Matrix Rechnung zu tragen, und um auch die Realisierung auf einem Rechner zu vereinfachen, gehen wir von folgendem Gleichungssystem mit n = 5 Unbekannten aus. x1 a1 c2
x2 b1 a2 c3
x3 b2 a3 c4
x4
x5
b3 a4 c5
b4 a5
1 d1 d2 d3 d4 d5
(2.110)
Wir setzen zun¨ achst voraus, der Gauß-Algorithmus sei mit Diagonalstrategie, d.h. ohne Zeilenvertauschungen durchf¨ uhrbar, weil A beispielsweise diagonal dominant oder symmetrisch und positiv definit ist. Dann existiert also die Dreieckszerlegung A = LR, und man verifiziert leicht, dass L eine bidiagonale Linksdreiecksmatrix und R eine bidiagonale Rechtsdreiecksmatrix ist. Wir k¨ onnen deshalb f¨ ur die Dreieckszerlegung direkt den Ansatz verwenden. ⎛
a1 ⎜ c2 ⎜ ⎜ ⎜ ⎝
b1 a2 c3
b2 a3 c4
b3 a4 c5
⎞ b4 a5
⎛
1 ⎟ ⎜ l1 ⎟ ⎜ ⎟=⎜ ⎟ ⎜ ⎠ ⎝
1 l2
1 l3
⎞ ⎛ 1 l4
1
⎟ ⎜ ⎟ ⎜ ⎟·⎜ ⎟ ⎜ ⎠ ⎝
m1
r1 m2
r2 m3
r3 m4
⎞ r4 m5
⎟ ⎟ ⎟, ⎟ ⎠
(2.111) und die unbekannten Gr¨ oßen li , mi , ri durch Koeffizientenvergleich bestimmen. Man erh¨alt die Bestimmungsgleichungen c2 c3 c4 c5
= l 1 m1 , = l 2 m2 , = l 3 m3 , = l 4 m4 ,
a1 a2 a3 a4 a5
= m1 , = l1 r1 + m2 , = l2 r2 + m3 , = l3 r3 + m4 , = l4 r4 + m5 .
b1 b2 b3 b4
= r1 , = r2 , = r3 , = r4 ,
(2.112)
Aus (2.112) bestimmen sich die Unbekannten sukzessive in der Reihenfolge m1 ; r1 , l1 , m2 ; ur alle i gilt, lautet der Algorithmus zur Zerlegung r2 , l2 , m3 ; . . . ; r4 , l4 , m5 . Da ri = bi f¨ der tridiagonalen Matrix A (2.110) f¨ ur allgemeines n : m 1 = a1 f¨ ur i = 1, 2, . . . , n − 1 : li = ci+1 /mi mi+1 = ai+1 − li × bi
(2.113)
65
2.3 Systeme mit speziellen Eigenschaften
Die Vorw¨ arts- und R¨ ucksubstitution Ly = d und Rx = y lassen sich in den folgenden einfachen Rechenvorschriften zusammenfassen: y1 = d1 f¨ ur i = 2, 3, . . . , n : yi = di − li−1 × yi−1
(2.114)
xn = yn /mn f¨ ur i = n − 1, n − 2, . . . , 1 : xi = (yi − bi × xi+1 )/mi
(2.115)
Ein Programm zur L¨ osung eines tridiagonalen Gleichungssystems mit dem Gaußschen Algorithmus mit Diagonalstrategie besteht also im Wesentlichen aus drei simplen Schleifenanweisungen. Die Zahl der wesentlichen Rechenoperationen betr¨agt f¨ ur die drei L¨osungsschritte insgesamt (trid)
ZGauss = 2(n − 1) + (n − 1) + 1 + 2(n − 1) = 5n − 4 = O(n)
(2.116)
Der Rechenaufwand ist somit nur proportional zur Zahl der Unbekannten. Selbst große tridiagonale Gleichungssysteme lassen sich mit relativ kleinem Rechenaufwand l¨osen. Dasselbe gilt auch, falls der Gauß-Algorithmus mit Zeilenvertauschungen durchgef¨ uhrt werden muss. Wir erkl¨ aren das Prinzip wieder am System (2.110) und legen den Betrachtungen die relative Spaltenmaximumstrategie zu Grunde. Als Pivotelemente f¨ ur den ersten Eliminationsschritt kommen nur die beiden Matrixelemente a1 und c2 in Betracht. Wir berechnen die beiden Hilfsgr¨ oßen α := |a1 | + |b1 |,
β := |c2 | + |a2 | + |b2 |.
(2.117)
Falls |a1 |/α ≥ |c2 |/β gilt, ist a1 Pivotelement, andernfalls ist eine Zeilenvertauschung erforderlich. In diesem Fall entsteht an der Stelle (1,3) ein im Allgemeinen von null verschiedenes Element, das außerhalb des tridiagonalen Bandes zu liegen kommt. Um den Eliminationsschritt einheitlich beschreiben zu k¨ onnen, werden die folgenden Gr¨oßen definiert. Falls a1 Pivot :
r1 := a1 , s1 := b1 , t1 := 0, u := c2 , v := a2 , w := b2 ,
f1 := d1 z := d2
Falls c2 Pivot :
r1 := c2 , s1 := a2 , t1 := b2 , f1 := d2 u := a1 , v := b1 , w := 0, z := d1
(2.118)
Mit diesen Variablen erh¨ alt (2.110) die Gestalt x1 r1 u
x2 s1 v c3
x3 t1 w a3 c4
x4
b3 a4 c5
x5
b4 a5
1 f1 z d3 d4 d5
(2.119)
66
2 Lineare Gleichungssysteme, direkte Methoden
Der erste Eliminationsschritt ergibt x1 r1 l1
x2 s1 a′2 c3
x3 t1 b′2 a3 c4
x4
b3 a4 c5
x5
b4 a5
1 f1 d′2 d3 d4 d5
(2.120)
mit den Zahlenwerten l1 := u/r1 ;
a′2 := v − l1 s1 ,
b′2 := w − l1 t1 ,
d′2 := z − l1 f1 .
(2.121)
F¨ ur das reduzierte System ergibt sich damit die gleiche Situation, denn die reduzierte Matrix ¨ ist wiederum tridiagonal. Die Uberlegungen f¨ ur den ersten Schritt lassen sich sinngem¨aß anwenden. Damit die Formeln (2.117) und (2.118) ihre G¨ ultigkeit auch f¨ ur den letzten (n − 1)-ten Eliminationsschritt behalten, muss bn = 0 vereinbart werden. Die konsequente Fortsetzung der Elimination f¨ uhrt zum Schlussschema x1 r1 l1
x2 s1 r2 l2
x3 t1 s2 r3 l3
x4
x5
t2 s2 r4 l4
t3 s4 r5
1 f1 f2 f3 f4 f5
(2.122)
Der Gauß-Algorithmus f¨ ur ein tridiagonales Gleichungssystem (2.110) unter Verwendung der relativen Spaltenmaximumstrategie lautet auf Grund der Formeln (2.117), (2.118) und (2.121) unter Einschluss der Vorw¨ artssubstitution: f¨ ur i = 1, 2, . . . , n − 1 : α = |ai | + |bi |; β = |ci+1 | + |ai+1 | + |bi+1 | falls |ai |/α ≥ |ci+1 |/β : ri = ai ; si = bi ; ti = 0; fi = di ; u = ci+1 ; v = ai+1 ; w = bi+1 ; z = di+1 ; sonst ri = ci+1 ; si = ai+1 ; ti = bi+1 ; fi = di+1 ; u = ai ; v = bi ; w = 0; z = di li = u/ri ; ai+1 = v − li × si bi+1 = w − li × ti ; di+1 = z − li × fi rn = an ; fn = dn
(2.123)
In der algorithmischen Beschreibung (2.123) sind die Bezeichnungen der Rechenschemata (2.119) und (2.122) verwendet worden. Da die Koeffizienten ai , bi , ci , di der gegebenen Gleichungen ver¨ andert werden, k¨ onnen in (2.123) die folgenden Variablen gleichgesetzt werden: ri = ai , si = bi , li = ci+1 , fi = di . Damit kann Speicherplatz gespart werden, und (2.123) kann etwas vereinfacht werden.
2.4 Verfahren f¨ ur Vektorrechner und Parallelrechner
67
Die Unbekannten xi werden durch R¨ ucksubstitution wie folgt geliefert: xn = fn /rn xn−1 = (fn−1 − sn−1 × xn )/rn−1 f¨ ur i = n − 2, n − 3, . . . , 1 : xi = (fi − si × xi+1 − ti × xi+2 )/ri
(2.124)
Der totale Rechenaufwand an multiplikativen Operationen zur Aufl¨osung eines allgemeinen tridiagonalen Gleichungssystems in n Unbekannten betr¨agt unter Einschluss der beiden Divisionen f¨ ur die Pivotbestimmung (trid,allg)
ZGauss
= 5(n − 1) + (n − 1) + 3(n − 1) = 9(n − 1) = O(n).
Im Vergleich zu (2.116) verdoppelt sich der Rechenaufwand etwa, falls eine Pivotierung notwendig ist. Die Linksdreiecksmatrix L der Zerlegung P A = LR ist zwar noch bidiagonal, aber R ist eine Rechtsdreiecksmatrix, in der zwei obere Nebendiagonalen im Allgemeinen von null verschiedene Matrixelemente enthalten.
2.4
Verfahren fu ¨r Vektorrechner und Parallelrechner
Die in den vorangegangenen Abschnitten behandelten klassischen Verfahren zur L¨osung von linearen Gleichungssystemen sind f¨ ur sequentiell arbeitende Skalarrechner konzipiert worden und eignen sich deshalb schlecht f¨ ur eine Implementierung auf modernen Superrechnern, weil sie ihrer sehr speziellen Arbeitsweise nicht Rechnung tragen. Deshalb mussten f¨ ur Vektor- und Parallelrechner verschiedener Architekturen angepasste Rechenverfahren entwickelt werden, um die technischen M¨ oglichkeiten der Computer effizient auszunutzen. Auf die wichtigsten Software-Pakete gehen wir in Abschnitt 2.6 ein. Das Kunstst¨ uck besteht darin, die wichtigsten Algorithmen-Teile so zu formulieren, dass sie f¨ ur die allgemeine Anwendung auf Rechnern stark unterschiedlicher Charakteristik geeignet sind, und diese Teile von den speziellen rechnerabh¨ angigen Teilen zu trennen. Die Zusammenh¨ange zwischen Architektur-Parametern wie Cache-Gr¨ oße, Anzahl der Prozessoren, optimale Feldgr¨oße bei Vektorprozessoren und den algorithmischen Parametern wie der gew¨ahlten Methode (z.B. Zeilen- oder Spalten-orientiert) oder der m¨ oglichen Blockgr¨oße sind sehr komplex. Andererseits ist die Portabilit¨ at von guten Softwaresystemen von großer Bedeutung. Wie viele technische Details von Software und Hardware dabei eine Rolle spielen, ist z.B. gut nachvollziehen beim Studium der Lapack Working Note 100 [Cho 95]. Mehr u ochstleistungsrechnern sowie u ¨ ber die Architektur von H¨ ¨ ber parallele und VektorAlgorithmen findet man in [Ale 02, Bre 92, Cos 95, Cul 99, Fre 92, Fro 90, Don 93, Gal 90a, Hoc 88, Lei 97, Ort 88, vdV 90]. Im Folgenden sollen an zwei typischen Aufgabenstellungen die notwendigen Modifikationen oder aber grunds¨atzlich neue L¨osungswege beschrieben werden. Auf den Gauß-Algorithmus f¨ ur parallele und Vektorrechner gehen die meisten der genannten Referenzen ein, einen ganzen Band widmet ihm Robert [Rob 91].
68
2 Lineare Gleichungssysteme, direkte Methoden
2.4.1
Voll besetzte Systeme
Voll besetzte Systeme auf Parallelrechnern Um die g¨ angigen Algorithmen zu Matrix-Zerlegungen und zur L¨osung linearer Gleichungssysteme mit Hilfe dieser Zerlegungen an die Architekturen von Parallelrechnern anzupassen, muss besonders auf effizienten Speicherzugriff geachtet werden. Die Erweiterung ScaLapack der Programmbibliothek Lapack [And 99], siehe auch Abschnitt 2.6, tut dies, indem sie die Algorithmen so reorganisiert, dass in den innersten Schleifen des Algorithmus Blockmatrix-Operationen wie Matrix-Multiplikation verwendet werden. Diese Operationen k¨onnen dann auf den verschiedenen Architekturen unabh¨angig von den Lapack-Routinen optimiert werden. F¨ ur diese Reorganisation wollen wir ein Beispiel geben, in dem wir die LR-Zerlegung mit dem Gauß-Algorithmus nach [Cho 96] betrachten. Zu Grunde gelegt wird ein Gitter von P × Q Prozessoren mit eigenem Speicherplatz und der M¨ oglichkeit zur Kommunikation untereinander. Wie sehr Einzelheiten dieser Struktur den algorithmischen Ablauf und seine Effizienz bestimmen, wurde schon erw¨ahnt. Hier soll deshalb nur ein Algorithmus beschrieben werden, der die Gauß-Elimination blockweise durchf¨ uhrt und die Daten zyklisch verteilt. oße der Untermatrizen. Bl¨ocke mit einem festen Abstand in SpaltenSei mb × nb die Blockgr¨ und Zeilenrichtung werden demselben Prozessor zugeordnet. Die Zuordnung wird f¨ ur ein 2 × 3-Prozessoren-Gitter und eine Matrix mit 12 × 12 Bl¨ocken in Abb. 2.2 beschrieben. Die kursiv gedruckten Zahlen links und oben bezeichnen die Block-Indizes der entsprechenden Zeilen und Spalten. Die kleinen Rechtecke in der linken Abbildung enthalten die Nummern der Prozessoren, denen die entsprechenden Bl¨ ocke zugeordnet sind. Die rechte Abbildung zeigt diese Verteilung aus der Sicht der Prozessoren; jedem sind 6 × 4 Bl¨ocke zugeordnet. Diese zyklische Verteilung ist die einzige, die ScaLapack unterst¨ utzt. Sie kann die meisten Datenverteilungen in Algorithmen der numerischen linearen Algebra reproduzieren. F¨ ur P = Q = 1 kehrt sie zur normalen Zeilen-Spalten-Struktur einer Matrix zur¨ uck. 0 3 6 9 1 4 7 10 2 5 8 11
0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11
0 3 0 3 0 3 0 3 0 3 0 3
1 4 1 4 1 4 1 4 1 4 1 4
2 5 2 5 2 5 2 5 2 5 2 5
0 3 0 3 0 3 0 3 0 3 0 3
1 4 1 4 1 4 1 4 1 4 1 4
2 5 2 5 2 5 2 5 2 5 2 5
0 3 0 3 0 3 0 3 0 3 0 3
1 4 1 4 1 4 1 4 1 4 1 4
2 5 2 5 2 5 2 5 2 5 2 5
0 3 0 3 0 3 0 3 0 3 0 3
1 4 1 4 1 4 1 4 1 4 1 4
2 5 2 5 2 5 2 5 2 5 2 5
0 2 4 6 8 10 1 3 5 7 9 11
P0
P1
P2
P3
P4
P5
Abb. 2.2 Beispiel f¨ ur die zyklische Verteilung der Matrix-Block-Daten.
Abh¨ angig von den schon erw¨ ahnten Architektur-Parametern gibt es jetzt verschiedene Versionen des Gauß-Algorithmus, [Gal 90b, Cho 96, Fro 90]. Hier soll nur eine dieser Versionen
69
2.4 Verfahren f¨ ur Vektorrechner und Parallelrechner
0 11
0 11
12
12
11
0
0
21
22
21
˜22
Abb. 2.3 Ein Block-Eliminationsschritt.
vorgestellt werden, wobei die eventuell notwendigen Zeilenvertauschungen im Nachhinein behandelt werden. Der Block-Algorithmus besteht im Wesentlichen aus den Schritten des skalaren Gauß-Algorithmus, jetzt f¨ ur Bl¨ ocke aufgeschrieben; er soll aber hier rekursiv definiert werden. Sei dazu A ∈ Ên,n , sei n durch nb teilbar, m = n/nb , weiter sei P = Q und P durch m teilbar. Abb. 2.3 symbolisiert den k-ten Block-Eliminationsschritt; dazu sind die schon behandelten Matrixteile schattiert; sie a ¨ndern sich allenfalls noch durch Zeilenvertauschungen. Links sieht man die Matrix A nach k−1 Block-Eliminationsschritten, der k-te Eliminationsschritt erzeugt Abb. 2.3 rechts. A(k) sei die im k-ten Schritt noch zu behandelnde Matrix. F¨ ur sie und ihre LR-Zerlegung gilt " # #" # " 0 A11 A12 R11 R12 L11 (k) A = (2.125) = 0 R22 A21 A22 L21 L22 # " L11 R11 L11 R12 . = L21 R11 L21 R12 + L22 R22 Dabei sind A11 ∈ dementsprechend.
Ên
b ,nb
und A22 ∈
Ên−kn
b ,n−knb
; die anderen Dimensionen ergeben sich
F¨ ur den k-ten Zerlegungsschritt ergeben sich nach (2.125) folgende Teilschritte: (1) Zerlege A11 = L11 R11 −→ A11 . (2) L¨ ose RT11 LT21 = AT21 nach L21 −→ A21 . (3) L¨ ose L11 R12 = A12 nach R12 −→ A12 . (4) Passe an A22 − L21 R12 −→ A22 . Der angepasste Block A22 ist der weiter zu behandelnde Teil A(k+1) .
70
2 Lineare Gleichungssysteme, direkte Methoden
Wir betrachten jetzt die parallele Verarbeitung der Schritte (1)–(4) bei zyklischer Verteilung der Bl¨ ocke nach Abb. 2.2. Dabei wird zus¨ atzlich mit Spaltenpivotisierung gearbeitet. Dies macht entsprechende Zeilenvertauschungen auch in L0 (Abb. 2.3) notwendig. (a) Finde das absolute Maximum in der ersten Spalte von A(k) . Dazu sucht jeder beteiligte Prozessor das absolute Maximum in seinem Teil dieser Spalte und durch Versenden von Wert und Ort wird das Maximum und sein Prozessor-Ort bestimmt. (b) Vertausche die entsprechenden Zeilen durch Versenden der Pivot-Information und der Zeileninhalte durch alle beteiligten Prozessoren. (c) F¨ uhre den Zerlegungsschritt (1) durch und l¨ose (verteilt) die Gleichungssysteme aus Schritt (2) in der aktuellen (n − (k − 1)nb ) × nb -Prozessoren-Spalte. (d) Versende L11 in der aktuellen nb × (n − (k − 1)nb )-Prozessoren-Zeile, l¨ose (verteilt) die Gleichungssysteme aus Schritt (3). (e) Verteile die Spaltenbl¨ ocke von L21 zeilenweise, die Zeilenbl¨ocke von R12 spaltenweise und bilde (verteilt) das neue A22 nach Schritt (4). Es ist zu sehen, dass die Zeilenvertauschungen einen wesentlichen zus¨atzlichen Kommunikationsbedarf zwischen den Prozessoren erzeugen. In [Cho 96] wird dieser Algorithmus mit dem Paket ScaLapack, basierendend auf PBlas und kommunizierend mit Blacs auf verschiedenen Parallelrechnern realisiert. Auf einem Paragon-System mit 50 MHz i860XP Prozessoren wurde bei einer Blockgr¨oße nb = 8 auf einem 16 × 32-Prozessorfeld schon 1994 eine Rechenleistung von mehr als 15 Gigaflops bei Matrixgr¨ oßen zwischen n = 20 000 und n = 35 000 erreicht (engl. flops = floating point operations). Diese Leistung kann gesteigert werden, wenn auf die Modularit¨at der genannten Programme und ihre leichte Portabilit¨ at auf andere Parallelrechner verzichtet wird.
Voll besetzte Systeme auf Vektorrechnern Der Gauß-Algorithmus zur L¨ osung eines linearen Gleichungssystems mit voll besetzter Matrix in vielen Unbekannten von Abschnitt 2.1 kann im Prinzip auf einfache Weise so modifiziert werden, dass Operationen f¨ ur Vektoren ausf¨ uhrbar werden. Zur Vereinfachung der Notation soll die rechte Seite b als (n + 1)-te Spalte einer n × (n + 1)-Matrix A aufgefasst werden, so dass das zu l¨ osende System n
aik xk = ai,n+1 ,
i = 1, 2, . . . , n,
k=1
lautet. Die Rechenvorschrift (2.5) ist bereits eine typische Vektoroperation f¨ ur die (n − 1) Matrixelemente der ersten Spalte von A, welche mit dem reziproken Wert des Pivotelementes a11 zu multiplizieren sind. Dieser Teilschritt wird zur vektorisierbaren Vorschrift h = 1/a11 f¨ ur i = 2, 3, . . . , n :
li1 = h × ai1 .
(2.126)
2.4 Verfahren f¨ ur Vektorrechner und Parallelrechner
71
Die Formeln (2.6) und (2.7) lassen sich wie folgt zusammenfassen, falls die Operationen spaltenweise ausgef¨ uhrt werden: f¨ ur
k = 2, 3, . . . , n + 1 : (1) f¨ ur i = 2, 3, . . . , n : aik = aik − li1 × a1k
(2.127)
Die zweite Zeile von (2.127) ist eine typische Triade, bei der von den letzten (n − 1) Elementen der k-ten Spalte das a1k -fache der entsprechenden l-Werte zu subtrahieren sind. Wenn wir davon ausgehen, dass die Matrix A spaltenweise gespeichert ist, und wenn die (1) li1 anstelle der ai1 und die Werte aik anstelle von aik gespeichert werden, so betreffen die beiden Vektoroperationen (2.126) und (2.127) aufeinanderfolgend im Speicher angeordnete Zahlenwerte. Dies ist f¨ ur eine optimale Ausf¨ uhrung der Operationen wichtig. Die Fortsetzung des Gauß-Algorithmus betrifft in den weiteren Eliminationsschritten kleiner werdende, reduzierte Systeme, und die Vektoroperationen betreffen Vektoren mit abnehmender Anzahl von Komponenten. Dies ist f¨ ur eine effiziente Ausf¨ uhrung ein Nachteil, weil ab einer kritischen L¨ ange der Vektoroperationen infolge der notwendigen Aufstartzeit die Rechenzeit gr¨ oßer wird im Vergleich zur skalaren Ausf¨ uhrung. In der Rechenvorschrift (2.17) der R¨ ucksubstitution zur Berechnung der Unbekannten xi n xi = ci − rik xk /rii , i = n, n − 1, . . . , 1, k=i+1
tritt zwar ein vektorisierbares Skalarprodukt auf, jedoch mit Matrixelementen rik der i-ten Zeile, die im Speicher nicht aufeinanderfolgend angeordnet sind, so dass die Ausf¨ uhrung der Operation infolge von so genannten Bankkonflikten eine erhebliche Erh¨ohung der Rechenzeit zur Folge haben kann. Aus diesem Grund ist der Prozess der R¨ ucksubstitution so zu modifizieren, dass nach Berechnung der Unbekannten xi das xi -fache der i-ten Teilspalte von R zur Konstantenspalte addiert wird, was auf eine Triade f¨ uhrt, die auf je aufeinanderfolgend gespeicherte Vektorelemente auszuf¨ uhren ist. In der Notation (2.16) der Endgleichungen erh¨ alt die R¨ ucksubstitution die folgende vektorisierbare Form: f¨ ur i = n, n − 1, . . . , 2 :
xi = ci /rii f¨ ur j = 1, 2, . . . , i − 1 :
x1 = c1 /r11
cj = cj − xi × rji
(2.128)
Auch in (2.128) nimmt die L¨ ange der Vektoroperationen von (n − 1) auf 1 ab. Diesen Nachteil von Vektoroperationen abnehmender L¨ange kann man durch die Modifikation des Gauß-Algorithmus zum Gauß-Jordan-Verfahren vermeiden. Dazu wird die Gleichung, mit welcher eine Elimination der betreffenden Unbekannten erfolgt, durch den Koeffizienten (= Pivotelement) dividiert; außerdem wird im p-ten Eliminationsschritt mit p ≥ 2 die Unbekannte xp in allen anderen Gleichungen eliminiert. Aus (2.3) entsteht so mit den anders
72
2 Lineare Gleichungssysteme, direkte Methoden
bezeichneten Konstanten unter der Annahme a11 = 0 das Schema x1
x2
x3
x4
1
1
(1) a12
(1) a13
(1) a14
a15
0
a22
a23
a24
(1)
a25
0
(1) a32 (1) a42
(1) a33 (1) a43
(1) a34 (1) a44
(1) a35 (1) a45
(1)
0
(1)
(1) (1)
(2.129)
Die Elemente von (2.129) sind wie folgt definiert: (1)
a1k = a1k /a11 , (1) aik (p−1)
Sei app
k = 2, 3, . . . , n + 1,
= aik − ai1 ·
(1) a1k ,
(2.130)
i = 2, 3, . . . , n; k = 2, 3, . . . , n + 1.
= 0. Dann lautet die Vorschrift f¨ ur den p-ten Eliminationsschritt mit p ≥ 2 (p)
(p−1)
(p)
(p−1)
apk = apk aik = aik
(p−1)
/app
,
(p−1)
− aip
k = p + 1, p + 2, . . . , n + 1, (p)
· apk , i = 1, 2, . . . , p − 1, p + 1, . . . , n; k = p + 1, p + 2, . . . , n + 1.
(2.131)
Als Folge dieser Modifikation steht im resultierenden Endschema die Einheitsmatrix, und die Unbekannten sind gegeben durch (n)
xk = ak,n+1 ,
k = 1, 2, . . . , n.
Bei dieser Varianten der Gleichungsl¨ osung ist keine R¨ ucksubstitution erforderlich, doch steigt die Anzahl der wesentlichen Rechenoperationen auf rund 0.5n3 an, so dass der Rechenaufwand im Vergleich zum Gauß-Algorithmus etwa 50% gr¨oßer ist. Da aber die Vektoroperationen in der Form von Triaden die konstante L¨ange n aufweisen, ist trotz des h¨oheren Rechenaufwandes die Rechenzeit des Gauß-Jordan-Verfahrens dank der besseren Vektorisierbarkeit schon f¨ ur relativ kleine n kleiner als diejenige des Gauß-Algorithmus. In einer zweckm¨ aßigen algorithmischen Formulierung von (2.131) wird der Ausnahmeindex i = p so (p) behandelt, dass zun¨ achst der falsche Wert apk = 0 berechnet wird, um ihn anschließend durch den richtigen Wert zu ersetzen. So ergibt sich der Algorithmus f¨ ur p = 1, 2, . . . , n : f¨ ur k = p + 1, p + 2, . . . , n + 1 : h = apk /app f¨ ur i = 1, 2, . . . , n : apk = h f¨ ur k = 1, 2, . . . , n :
aik = aik − h × aip
(2.132)
xk = ak,n+1
Der Algorithmus (2.132) arbeitet mit Diagonalstrategie. Muss eine andere Pivotstrategie verwendet werden, so ist das Pivotelement aus der p-ten Zeile zu bestimmen, und es sind Spaltenvertauschungen vorzunehmen, um so die Ausf¨ uhrung verlangsamende Bankkonflikte zu vermeiden.
73
2.4 Verfahren f¨ ur Vektorrechner und Parallelrechner
2.4.2
Tridiagonale Gleichungssysteme
Tridiagonale Gleichungssysteme auf Vektorrechnern Wir betrachten im Folgenden den f¨ ur viele Anwendungen wichtigen Fall, große tridiagonale Gleichungssysteme zu l¨ osen, f¨ ur welche Diagonalstrategie m¨oglich ist. Dies trifft zu f¨ ur Systeme mit diagonal dominanter oder symmetrischer und positiv definiter Matrix. Sowohl der Zerlegungsalgorithmus (2.113) wie auch die Prozesse der Vorw¨arts- und R¨ ucksubstitution (2.114) und (2.115) sind in dem Sinn rekursiv, dass beispielsweise in (2.113) der Wert mi+1 von mi abh¨ angt. Aus diesem Grund k¨onnen diese drei Prozesse nicht vektorisiert werden. Um solche Gleichungssysteme auf Vektorrechnern effizient l¨osen zu k¨onnen, wird das Prinzip der zyklischen Reduktion angewandt [Hoc 65]. Wir betrachten ein tridiagonales Gleichungssystem der Gestalt a1 x1 ci xi−1
+ +
b1 x2 ai xi cn xn−1
+ bi xi+1 + an xn
= d1 , = di , = dn .
i = 2, 3, . . . , n − 1,
(2.133)
Die Idee besteht darin, aus je drei aufeinander folgenden Gleichungen zwei der f¨ unf Unbekannten so zu eliminieren, dass in der resultierenden Gleichung nur Unbekannte mit Indizes derselben Parit¨ at auftreten. Wir wollen das prinzipielle Vorgehen unter der Annahme darlegen, dass n gerade sei, also n = 2m, m ∈ ∗ . Sei i ∈ ∗ mit 2 < i < n gerade. Aus den drei Gleichungen ci−1 xi−2 + ai−1 xi−1 + bi−1 xi = di−1 ci xi−1 + ai xi + bi xi+1 = di ci+1 xi + ai+1 xi+1 + bi+1 xi+2 = di+1 eliminieren wir xi−1 und xi+1 , indem wir zur mittleren Gleichung das (−ci /ai−1 )-fache der ersten und das (−bi /ai+1 )-fache der dritten Gleichung addieren. Das Ergebnis lautet ! bi bi+1 bi−1 ci bi ci+1 ci−1 ci xi − xi−2 + − + ai − xi+2 − ai−1 ai−1 ai+1 ai+1 (2.134) bi di+1 di−1 ci + di − , i = 2, 4, . . . , n. = − ai−1 ai+1 Damit (2.134) auch f¨ ur i = 2 und i = n gilt, definiert man die zus¨atzlichen Werte c1 = cn+1 = bn = bn+1 = dn+1 = 0,
an+1 = 1.
(2.135)
Mit dieser Vereinbarung f¨ uhren wir die Koeffizienten der neuen Gleichungen f¨ ur gerade Indexwerte i ein: ⎫ (1) ⎪ ci := −ci−1 ci /ai−1 ⎪ ⎪ ⎪ ⎪ ⎪ (1) ai := −bi−1 ci /ai−1 + ai − bi ci+1 /ai+1 ⎬ i = 2, 4, . . . , n. (2.136) (1) ⎪ ⎪ bi := −bi bi+1 /ai+1 ⎪ ⎪ ⎪ ⎪ (1) ⎭ di := −di−1 ci /ai−1 + di − bi di+1 /ai+1
74
2 Lineare Gleichungssysteme, direkte Methoden
Das System (2.133) hat nach diesen Operationen im Fall n = 8 die Gestalt x1 a1 0
x2 b1 (1) a2 c3 (1) c4
x3
x4
0 a3 0
b2 b3 (1) a4 c5 (1) c6
x5
x6
x7
0 a5 0
b4 b5 (1) a6 c7 (1) c8
x8
1 d1 (1) d2 d3 (1) d4 d5 (1) d6 d7 (1) d8
(1)
(1)
0 a7 0
(1)
b6 b7 (1) a8
(2.137)
Aus (2.137) erkennt man einerseits, dass die Gleichungen mit geraden Indizes ein lineares Gleichungssystem mit tridiagonaler Matrix f¨ ur die geradzahlig indizierten Unbekannten darstellt, und dass sich andererseits die Unbekannten x1 , x3 , x5 , . . . in der angegebenen Reihenfolge bei bekannten Werten f¨ ur x2 , x4 , x6 , . . . aus den anderen Gleichungen berechnen lassen. Das durch zyklische Reduktion resultierende Gleichungssystem der halben Ordnung m lautet im Fall m = 4 x4 x6 x8 1 x2 (1)
b2
(1)
a4
b4
(1) c6
(1) a6
a2
(1) (1)
c4
(1)
d2 (1)
(1)
c8
(1)
d4 (1) b6
(2.138)
(1) d6
(1)
(1)
a8
d8
Die Formeln (2.136) des Reduktionsschrittes lassen sich mit Operationen an geeignet definierten Vektoren realisieren. Dazu f¨ uhren wir die folgenden Teilvektoren der gegebenen Koeffizienten ein. ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ c1 a1 b1 d1 ⎜ c3 ⎟ ⎜ a3 ⎟ ⎜ b3 ⎟ ⎜ d3 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ c5 ⎟ (u) ⎜ a5 ⎟ (u) ⎜ b5 ⎟ (u) ⎜ d5 ⎟ (u) c := ⎜ ⎟ , a := ⎜ ⎟ , b := ⎜ ⎟ , d := ⎜ ⎟ ∈ Êm+1 ⎜ . ⎟ ⎜ . ⎟ ⎜ . ⎟ ⎜ . ⎟ ⎝ .. ⎠ ⎝ .. ⎠ ⎝ .. ⎠ ⎝ .. ⎠ cn+1 an+1 bn+1 dn+1
c(g)
⎛
⎜ ⎜ ⎜ := ⎜ ⎜ ⎝
c2 c4 c6 .. . cn
⎞
⎛
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎟ , a(g) := ⎜ ⎜ ⎟ ⎝ ⎠
a2 a4 a6 .. . an
⎞
⎛
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ (g) ⎟ , b := ⎜ ⎜ ⎟ ⎝ ⎠
b2 b4 b6 .. . bn
⎞
⎛
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ (g) ⎟ , d := ⎜ ⎜ ⎟ ⎝ ⎠
d2 d4 d6 .. . dn
⎞
⎟ ⎟ ⎟ ⎟ ∈ Êm . ⎟ ⎠
Daraus bilden wir die Hilfsvektoren unter der Vereinbarung, dass ⊗ die komponentenweise Multiplikation zweier Vektoren und der Index +1 eine Verschiebung des Anfangsindexwertes
75
2.4 Verfahren f¨ ur Vektorrechner und Parallelrechner
um 1 bedeuten:
r
q
:=
:=
⎛ ⎜ ⎜ ⎜ ⎝
⎞
−1/a1 −1/a3 .. . −1/an+1
b(g) ⊗ r +1
⎟ ⎟ ⎟ ∈ Êm+1 ; ⎠ ⎛
⎜ ⎜ =⎜ ⎝
−b2 /a3 −b4 /a5 .. .
⎜ ⎜ p := c(g) ⊗ r = ⎜ ⎝
−bn /an+1
Mit den Vektoren f¨ ur das reduzierte ⎛ (1) ⎞ ⎛ c2 ⎜ (1) ⎟ ⎜ ⎜ c4 ⎟ ⎜ ⎜ ⎟ c1 := ⎜ . ⎟ , a1 := ⎜ ⎜ . ⎝ . ⎠ ⎝ (1) cm
lautet (2.136) in vektorisierter Form
⎛
⎞
−c2 /a1 −c4 /a3 .. . −cn /an−1
⎞ ⎟ ⎟ ⎟ ⎠
⎟ ⎟ ⎟ ∈ Êm . ⎠
System (2.138) ⎞ ⎛ (1) (1) a2 b2 ⎜ (1) (1) ⎟ a4 ⎟ ⎜ b4 ⎜ .. ⎟ ⎟ , b1 := ⎜ .. ⎝ . . ⎠ (1) (1) am bm
⎞
⎛
⎟ ⎜ ⎟ ⎜ ⎟ , d1 := ⎜ ⎟ ⎜ ⎠ ⎝
(1)
d2 (1) d4 .. . (1)
dm
c1 = c(u) ⊗ p ; (u) a1 = a(g) + b(u) ⊗ p + c+1 ⊗ q ; (u) b1 = b+1 ⊗ q ; (u) d1 = d(g) + d(u) ⊗ p + d+1 ⊗ q.
⎞
⎟ ⎟ ⎟ ∈ Êm ⎟ ⎠
(2.139)
Dieser Reduktionsschritt erfordert somit m Divisionen, 8m Multiplikationen und 4m Additionen, insgesamt also 13m arithmetische Operationen mit Gleitpunktzahlen (flops). Untersuchen wir an dieser Stelle noch das R¨ uckw¨artsrechnen der ungerade indizierten Unbekannten x1 , x3 , . . . , xn−1 aus den als bekannt vorausgesetzten Werten f¨ ur x2 , x4 , . . . , xn . Das zust¨ andige Gleichungssystem lautet nach (2.137) a1 x1 + b1 x2 c2i+1 x2i + a2i+1 x2i+1 + b2i+1 x2i+2
= d1 = d2i+1 ,
Daraus folgt x2i+1 = (d2i+1 − c2i+1 x2i − b2i+1 x2i+2 )/a2i+1 ,
i = 1, 2, . . . , m − 1. i = 0, 1, 2, . . . , m − 1,
(2.140)
wenn man c1 = 0 beachtet und zus¨ atzlich x0 = xn+1 = xn+2 := 0 festsetzt. Um auch diese Vorschrift in vektorieller Form korrekt formulieren zu k¨onnen, f¨ uhren wir die beiden erweiterten Vektoren x(g) x(u)
:= :=
(x0 , x2 , x4 , . . . , xn , xn+2 )T ∈ Êm+2 , (x1 , x3 , x5 , . . . , xn−1 , xn+1 )T ∈ Êm+1
ein. Dann lautet (2.140)
(g)
x(u) = (c(u) ⊗ x(g) + b(u) ⊗ x+1 − d(u) ) ⊗ r.
(2.141)
Hier weisen alle Vektoroperationen die gleiche L¨ ange (m+1) auf, und es gehen entsprechende
76
2 Lineare Gleichungssysteme, direkte Methoden
Teilvektoren von x(g) in die Rechnung ein. Der Rechenaufwand f¨ ur diesen Schritt bel¨auft sich auf 3(m + 1) Multiplikationen und 2(m + 1) Additionen, zusammen also rund 5m flops. Wir halten fest, dass der Reduktionsschritt und die Berechnung der eliminierten Unbekannten insgesamt einen Rechenaufwand von etwa 18m flops erfordert. Ist m wieder eine gerade Zahl, so kann der Prozess der Reduktion auf das erste reduzierte tridiagonale Gleichungssystem analog weitergef¨ uhrt werden. Ist im besonderen n = 2q , q ∈ ∗ , so endet die zyklische Reduktion nach q Schritten mit einem Gleichungssystem mit der einzigen Unbekannten xn , die jetzt trivialerweise berechnet werden kann. Jetzt setzt der Prozess der R¨ ucksubstitution ein, welcher sukzessive die Unbekannten liefert. Da jeder weitere Reduktionsschritt und das R¨ uckw¨ artsrechnen den halben Rechenaufwand im Vergleich zum vorangehenden erfordert, ergibt die Summation im Fall n = 2q einen Rechenaufwand von insgesamt rund 18n flops. Im Vergleich dazu ben¨otigt der Gauß-Algorithmus (2.113), (2.114), (2.115) etwa 8n arithmetische Operationen, so dass der Aufwand der vektorisierbaren Methode der zyklischen Reduktion etwa 2.25mal gr¨oßer ist. Eine effiziente Implementierung des Algorithmus auf einem Vektorrechner erfordert eine sehr geschickte Datenstruktur derart, dass die Komponenten der zu verarbeitenden Vektoren entweder aufeinanderfolgend oder wenigstens nur mit einer Indexdifferenz zwei angeordnet sind. Zudem sind auch die sehr spezifischen Eigenschaften des Vektorrechners zu beachten und geeignet auszunutzen, um eine Verk¨ urzung der Rechenzeit im Vergleich zur skalaren Ausf¨ uhrung zu erreichen. Auch kann es n¨otig sein, Modifikationen am Prozess vorzunehmen, um speziellen Gegebenheiten des Rechners gerecht zu werden [Reu 88]. Weiter ist zu beachten, dass die L¨ angen der Vektoroperationen im Prozess der zyklischen Reduktion wie eine geometrische Folge rasch abnehmen. Es ist deshalb sinnvoll, den Prozess abzubrechen, sobald die Ordnung des letzten reduzierten tridiagonalen Gleichungssystems eine vom Rechner abh¨ angige kritische Grenze unterschritten hat, f¨ ur welche die L¨osung des Systems mit dem Gauß-Algorithmus in skalarer Weise schneller ist als die weitere vektorielle Bearbeitung.
Tridiagonale Gleichungssysteme auf Parallelrechnern Um tridiagonale lineare Gleichungssysteme auf einem Parallelrechner mit mehreren Recheneinheiten effizient zu l¨ osen, sind andere Methoden entwickelt worden. Das Prinzip dieser Divide-and-Conquer-Methoden besteht darin, das gegebene Problem in einem ersten Schritt in Teilprobleme zu zerlegen, welche unabh¨ angig voneinander, d.h. parallel auf den einzelnen Recheneinheiten, gel¨ ost werden k¨ onnen, um schließlich die Teill¨osungen zur Gesamtl¨osung des gegebenen Problems zusammenzusetzen. Eine erste Idee solcher Divide-and-Conquer-Methoden geht auf Van der Vorst [vdV 87a, vdV 87b] zur¨ uck unter der Annahme, dass der Parallelrechner zwei Recheneinheiten besitze. Anstelle der LR-Zerlegung (2.111) der tridiagonalen Matrix A kann sie ebenso gut auf Grund einer RQ-Zerlegung in das Produkt von zwei Matrizen R und Q zerlegt werden, wobei je zwei Untermatrizen von R und Q bidiagonal sind.
77
2.4 Verfahren f¨ ur Vektorrechner und Parallelrechner
Im Fall n = 8 lautet der Ansatz [Bon 91] ⎛ 1 ⎜ r2 1 ⎜ ⎜ r3 1 ⎜ ⎜ r4 1 r5 ⎜ R := ⎜ ⎜ 1 r6 ⎜ ⎜ 1 r7 ⎜ ⎝ 1 r8 1
⎞
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟, ⎟ ⎟ ⎟ ⎟ ⎠
⎛
q1 b1 ⎜ q2 b2 ⎜ ⎜ q3 b3 ⎜ ⎜ q4 ⎜ Q := ⎜ ⎜ c5 q5 ⎜ ⎜ c6 q6 ⎜ ⎝ c7 q7 c8 q8
⎞
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟. ⎟ ⎟ ⎟ ⎟ ⎠
(2.142)
Aus der Bedingung A = RQ ergeben sich folgende wesentliche Bedingungsgleichungen f¨ ur die unbekannten Nebendiagonalelemente von R und f¨ ur die Diagonalelemente von Q: q1 = a1 ; r2 q1 = c2 , r3 q2 = c3 , r4 q3 = c4 ,
r2 b1 + q2 = a2 ; r3 b2 + q3 = a3 ; r4 b3 + q4 + r5 c5 = a4 ;
r5 q5 q5 + r6 c6 = a5 , r6 q6 q6 + r7 c7 = a6 , r7 q7 q7 + r8 c8 = a7 , r8 q8 q8 = a8 .
= b4 ; = b5 ; = b6 ; = b7 ;
(2.143)
Aus (2.143) lassen sich aus dem ersten Satz von Gleichungen sukzessive die Matrixelemente q1 , r2 , q2 , r3 , q3 , r4 vollst¨ andig berechnen, w¨ ahrend sich die Elemente q8 , r8 , q7 , r7 , q6 , r6 , q5 , r5 in absteigender Reihenfolge bestimmen. Dann kann noch der letzte Wert q4 berechnet werden. Die RQ-Zerlegung kann unter der vereinfachenden Annahme, dass n = 2m, m ∈ ∗ gilt, wie folgt zusammengefasst werden: q1 = a1 f¨ ur i = 2, 3, . . . , m : ri = ci /qi−1 qi = ai − ri × bi−1
(2.144)
qn = an f¨ ur i = n − 1, n − 2, . . . , m + 1 : ri+1 = bi /qi+1
(2.145)
qi = ai − ri+1 × ci+1 rm+1 = bm /qm+1 qm = qm − cm+1 × rm+1
(2.146)
78
2 Lineare Gleichungssysteme, direkte Methoden
Die Rechenschritte (2.144) und (2.145) sind unabh¨angig voneinander auf zwei verschiedenen Recheneinheiten durchf¨ uhrbar, wobei beiden Prozessoren die gleiche Arbeitslast zugeteilt wird. Die Zerlegung wird durch (2.146) vervollst¨ andigt, wobei das Teilresultat qm aus (2.144) und der Wert rm+1 aus (2.145) verwendet werden. F¨ ur ungerades n = 2m + 1, m ∈ ∗ , kann die RQ-Zerlegung analog mit Untermatrizen der Ordnungen m und (m + 1) in der Diagonale von R und Q durchgef¨ uhrt werden. In [Bon 91] wird die Existenz der RQ-Zerlegung f¨ ur diagonal dominante tridiagonale Matrizen gezeigt. Die RQ-Zerlegung existiert auch f¨ ur symmetrische, positiv definite Matrizen oder f¨ ur so genannte M -Matrizen [vdV 87a, vdV 87b]. Der Rechenaufwand der RQ-Zerlegung setzt sich aus je (n − 1) Divisionen, Multiplikationen und Additionen zusammen und entspricht somit demjenigen einer LR-Zerlegung. Auf Grund der RQ-Zerlegung der tridiagonalen Matrix A geht das gegebene Gleichungssystem Ax = d u osung x berechnet sich aus den beiden sukzessive zu ¨ ber in RQx = d. Die L¨ l¨ osenden Systemen Ry = d,
Qx = y.
(2.147)
Wegen der besonderen Struktur von R ist eine Vorw¨arts- und R¨ ucksubstitution f¨ ur je einen Teil der Komponenten von y auszuf¨ uhren. y1 = d1 f¨ ur i = 2, 3, . . . , m − 1 : yi = di − ri × yi−1
yn = dn f¨ ur i = n − 1, n − 2, . . . , m + 1 : yi = di − ri+1 × yi+1
(2.148)
Aus der m-ten Gleichung rm ym−1 + ym + rm+1 ym+1 = dm ergibt sich mit den aus den beiden Teilprozessen bekannten Werten ym−1 und ym+1 noch ym = dm − rm × ym−1 − rm−1 × ym+1 .
(2.149)
Die R¨ ucksubstitution des Gauß-Algorithmus wird ersetzt durch die R¨ uck- und Vorw¨artssubstitution f¨ ur je einen Teil der Unbekannten xi , sobald die Unbekannte xm als gemeinsamer Startwert f¨ ur diese beiden Prozesse als L¨ osung der trivialen m-ten Gleichung von Qx = y vorliegt. xm = ym /qm f¨ ur
i = m − 1, m − 2, . . . , 1 : xi = (yi − bi × xi+1 )/qi
(2.150) f¨ ur
i = m + 1, m + 2, . . . , n : xi = (yi − ci × xi−1 )/qi
(2.151)
Die L¨ osung der beiden Systeme (2.147) geschieht wiederum durch je zwei weitgehend unabh¨ angige Prozesse, wobei der Rechenaufwand mit n Divisionen und je (2n − 2) Multiplikationen und Additionen gleich demjenigen der Vorw¨arts- und R¨ ucksubstitution des GaußAlgorithmus ist. Die Parallelisierung ist also mit keiner Erh¨ohung der Zahl der arithmetischen Operationen verbunden. Zudem best¨ atigen Experimente auf Parallelrechnern mit zwei
2.4 Verfahren f¨ ur Vektorrechner und Parallelrechner
79
Prozessoren, dass diese in der Tat optimal eingesetzt werden k¨onnen und sich die Rechenzeit halbiert [Bon 91]. Die numerische Stabilit¨ at des Verfahrens der RQ-Zerlegung ist f¨ ur eine Klasse von tridiagonalen Gleichungssystemen gleich derjenigen des Gauß-Algorithmus [vdV 87a, vdV 87b].
Die bestechend einfache Idee der Zerlegung l¨ asst sich leider nicht in dem Sinn verallgemeinern, dass eine feinere Aufteilung in mehr Teilaufgaben und damit eine h¨ohere Parallelisierung erzielt werden kann. Falls u ¨berdies die Prozessoren des Parallelrechners auch Vektorarithmetik anbieten, so kann davon kein direkter Gebrauch gemacht werden, weil die einzelnen Teilprozesse rekursiven Charakter haben und in dieser Form nicht vektorisierbar sind.
Um die Aufl¨ osung von großen tridiagonalen Gleichungssystemen auf mehr als zwei Recheneinheiten verteilen zu k¨ onnen, sind verschiedene Methoden entwickelt worden. Wir behandeln die Odd-Even-Eliminationsmethode (Odd-Even Reduction), welche dem Divide-andConquer-Konzept entspricht. Die Anzahl n = 2m, m ∈ ∗ , der Unbekannten sei gerade. In einem vorbereitenden Schritt werden im gegebenen linearen Gleichungssystem (2.133) die Gleichungen und die Unbekannten so vertauscht, dass zuerst jene mit ungeraden Indizes und dann jene mit geraden Indizes aufgeschrieben werden. Im Fall n = 8 erh¨alt das Gleichungssystem die folgende Gestalt:
x1 a1
x3
x5
x7
a3
x2 b1 c3
a5
x4 b3 c5
a7 c2
b2 c4
x6
x8
b5 c7
b7
a2 b4 c6
a4 b6 c8
a6 a8
1 d1 d3 d5 d7 d2 d4 d6 d8
(2.152)
Mit der zugeh¨ origen Permutationsmatrix P ∈ Ên,n geht das gegebene Gleichungssystem Ax = d u ¨ ber in P AP T (P x) = P d, wobei die zeilen- und spaltenpermutierte Matrix T P AP die spezielle Blockstruktur
P AP T =
"
A1 C
B A2
#
(2.153)
aufweist, in der A1 , A2 ∈ Êm,m je Diagonalmatrizen, B eine untere bidiagonale und C eine
80
2 Lineare Gleichungssysteme, direkte Methoden
obere bidiagonale (m × m)-Matrix sind. Bezeichnen wir weiter mit ⎞ ⎛ ⎞ ⎛ x2 x1 ⎜ x4 ⎟ ⎟ ⎜ x3 ⎟ ⎜ ⎟ ⎜ y 1 := ⎜ . ⎟ , y 2 := ⎜ . ⎟ , ⎝ .. ⎠ ⎠ ⎝ .. xn−1 d1 d3 .. .
⎛
⎜ ⎜ v 1 := ⎜ ⎝
dn−1
⎞
⎛
⎟ ⎜ ⎟ ⎜ ⎟ , v 2 := ⎜ ⎠ ⎝
xn d2 d4 .. . dn
⎞
(2.154)
⎟ ⎟ ⎟ ∈ Êm ⎠
die Teilvektoren, so gelten die Beziehungen A1 y 1 + B y 2 C y 1 + A2 y 2
= =
v1 , v2 .
(2.155) (2.156)
F¨ ur diagonal dominante oder symmetrische, positiv definite Matrizen A sind A1 und A2 regul¨ ar, so dass aus (2.155) und (2.156) folgen −1 y 1 = A−1 1 v 1 − A1 B y 2 ,
−1 y 2 = A−1 2 v 2 − A2 C y 1 .
(2.157)
Wir setzen y 2 aus (2.157) in (2.155) und y 1 aus (2.157) in (2.156) ein und erhalten −1 (A1 − B A−1 2 C)y 1 = (v 1 − B A2 v 2 ),
(A2 − C
A−1 1 B)y 2
= (v 2 − C
A−1 1 v 1 ).
(2.158) (2.159)
(2.158) ist ein Gleichungssystem f¨ ur die m Unbekannten x1 , x3 , . . . , xn−1 , und (2.159) eines f¨ ur die m Unbekannten x2 , x4 , . . . , xn . Die Matrizen (1)
(1)
A1 := A1 − B A−1 2 C,
A2 := A2 − C A−1 1 B
(2.160)
sind wieder tridiagonal, weil das Produkt einer unteren und einer oberen Bidiagonalmatrix eine Tridiagonalmatrix ergibt. Diese beiden tridiagonalen Gleichungssysteme in je n/2 Unbekannten k¨ onnen unabh¨ angig voneinander in paralleler Weise auf zwei Prozessoren gel¨ost werden, womit die Zielsetzung der Divide-and-Conquer-Methode erreicht ist. Mit ⎛ (1) (1) ⎞ a1 b1 (1) (1) ⎜ (1) ⎟ a3 b3 ⎜ c3 ⎟ ⎜ ⎟ (1) (1) (1) (1) ⎟, b a c A1 := ⎜ 5 5 5 ⎜ ⎟ ⎜ ⎟ .. .. .. ⎝ . . . ⎠ (1)
(1)
d1
⎛
⎜ ⎜ ⎜ −1 := v 1 − BA2 v 2 = ⎜ ⎜ ⎜ ⎝ (1)
(1)
cn−1
(1)
d1 (1) d3 (1) d5 .. . (1)
dn−1
(1)
⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
an−1
und analog f¨ ur A2 und d2 mit den geradzahlig indizierten Koeffizienten lauten die beiden
81
2.4 Verfahren f¨ ur Vektorrechner und Parallelrechner
tridiagonalen Gleichungssysteme (1)
(1)
A1 y 1 = d1 ,
(1)
(1)
A2 y 2 = d2 .
Die Matrix- und Vektorelemente von
(1) A1
und
(2.161) (1) d1
sind gegeben durch ⎫ (1) ⎪ ai = ai − bi−1 ci /ai−1 − bi ci+1 /ai+1 ⎪ ⎪ ⎪ ⎬ (1) (1) bi = −bi bi+1 /ai+1 , ci = −ci−1 ci /ai−1 i = 1, 3, . . . , n − 1, ⎪ ⎪ ⎪ ⎪ (1) ⎭ di = di − di−1 ci /ai−1 − bi di+1 /ai+1
falls man die zus¨ atzlichen Werte a0 = 1, b0 = bn = c0 = c1 = d0 = 0 festlegt. Diese Formeln sind identisch mit jenen von (2.136), welche f¨ ur das zweite System von (2.161) g¨ ultig bleiben, falls noch die weiteren Werte an+1 = 1, bn+1 = cn+1 = dn+1 = 0 vereinbart werden. Wie im Abschnitt 2.4.2 beschrieben ist, kann die Berechnung der Koeffizienten der Systeme (2.161) vektorisiert und f¨ ur die ungeraden und geraden Indexwerte unabh¨angig voneinander parallel auf zwei Prozessoren ausgef¨ uhrt werden. Die beiden Gleichungssysteme (2.161) k¨ onnen aber auf die gleiche Weise in je zwei Teilprobleme aufgeteilt werden, und diese Aufteilung kann so oft wiederholt werden, bis entweder ein bestimmter Grad der Parallelisierung erreicht ist oder die Teilprobleme keine weitere Aufspaltung mehr zulassen. Da bei diesem Vorgehen die Zahl der Teilprobleme sukzessive verdoppelt wird, spricht man vom Prinzip der rekursiven Verdoppelung. Das Prinzip ist in Abb. 2.4 anhand der Baumstruktur veranschaulicht. =
(1) (1) 1 1 = 1
(1) (1) 2 2 = 2
(2) (2) (2) (2) (2) (2) (2) (2) 1 1 = 1 2 2 = 2 3 3 = 3 4 4 = 4
Abb. 2.4 Prinzip der rekursiven Verdoppelung.
Sind nach gen¨ ugend vielen Verdoppelungsschritten die L¨osungen der vielen kleinen tridiagonalen Teilgleichungssysteme berechnet, dann sind die Teill¨osungen nur noch durch eine einfache Umordnung zur Gesamtl¨ osung zusammenzusetzen. Ist im speziellen n = 2p , p ∈ ∗ , so kann die rekursive Verdoppelung p mal fortgesetzt werden, so dass am Schluss nur noch je eine Gleichung f¨ ur eine Unbekannte u ¨brig bleibt, aus der die betreffende Unbekannte resultiert. Der Rechenaufwand an arithmetischen Operationen betr¨ agt (4np − 4n + 4) Additionen, (6np − 8n + 8) Multiplikationen und (2np − n + 2) Divisionen [Bon 91]. F¨ ur den Odd-Even-Eliminationsalgorithmus ist in [Bon 91] ein Matlab-Programm angegeben und es werden auch Varianten der Methode diskutiert.
82
2 Lineare Gleichungssysteme, direkte Methoden
Zur Parallelisierung der L¨ osung von tridiagonalen Gleichungssystemen sind zahlreiche andere Methoden und davon abgeleitete Varianten entwickelt worden. Zu erw¨ahnen w¨are das Verfahren von Stone [Bon 91, Hoc 88, Sto 73, Sto 75], welches darauf beruht, die rekursiven Formeln des Gauß-Algorithmus in lineare Differenzengleichungen zweiter Ordnung zu transformieren, die sodann mit der Methode der zyklischen Reduktion gel¨ost werden. Soll die Behandlung des Problems auf eine bestimmte Zahl p von Prozessoren aufgeteilt werden, so eignen sich Partitionsverfahren gut. Nach dem Vorschlag von Wang [Wan 81] wird die tridiagonale Matrix A l¨ angs der Diagonale in p etwa gleich große Bl¨ocke unterteilt. Zuerst werden in jedem Diagonalblock die Elemente der unteren Nebendiagonale eliminiert und anschließend diejenigen der oberen Nebendiagonale. In zwei weiteren Schritten wird die Matrix auf obere Dreiecksgestalt und schließlich auf Diagonalform gebracht, so dass jetzt die L¨ osung berechnet werden kann. Alle Operationen sind parallel ausf¨ uhrbar. F¨ ur Details vergleiche man etwa [Bon 91, Fro 90, Ort 88]. Das Verfahren hat in den letzten Jahren verschiedene Erweiterungen erfahren zur GECR-Methode [Joh 87] der WraparoundPartitionierungsmethode [Heg 91] und Verfeinerungen der Divide-and-Conquer-Methoden [Bon 91].
2.5
Anwendungen
2.5.1
Schaltkreistheorie
Auf Grund der Gesetze von Kirchhoff und Ohm ergeben sich f¨ ur ein Netzwerk von elektrischen Verbindungen mit Spannungsquellen und Widerst¨anden verschiedene Beziehungen, die man in ein symmetrisches, positiv definites Gleichungssystem mit den Potenzialen als Unbekannten umformen kann. Ein Zweig Zj in einem solchen Netzwerk besteht aus einer ur einen Widerstand Rj ohne Stromquelle setzt Stromquelle Uj und einem Widerstand Rj . F¨ man Uj = 0V . Aus den berechneten Potenzialen kann man dann auch die Stromst¨arken und Spannungen in allen Zweigen des Netzes berechnen. Die technischen Einzelheiten findet man z.B. in [Mag 85]. Wir betrachten als Beispiel das Netzwerk der Abb. 2.5. Gegeben seien die Spannungen (unter Ber¨ ucksichtigung der Polung) U1 = 10V, U2 = −15V, U3 = 20V, U4 = U5 = U6 = 0V und die elektrischen Widerst¨ ande R1 = R2 = · · · = R6 = 10Ω.
ur jeden Knoten Ki der Jetzt stellt man die Inzidenzmatrix T = (tij ) ∈ Ê4,6 auf, in der f¨ Beginn eines Zweiges (Zj ) mit −1 und das Ende eines Zweiges mit +1 gekennzeichnet wird, also f¨ ur unser Beispiel: ⎛ ⎞ 1 0 −1 −1 0 0 ⎜ 0 −1 0 1 0 1 ⎟ ⎟. T =⎜ ⎝ −1 1 0 0 1 0 ⎠ 0 0 1 0 −1 −1
83
2.5 Anwendungen
U1
K1 R1
?U3 6 R4 U2
K3
R2
?
R3
R6
K4
K2
R5
Abb. 2.5 Stromkreis mit vier Knoten und sechs Zweigen.
Dann wird die Inverse der Diagonalmatrix der Widerst¨ande aufgestellt: R−1 := diag(R1−1 , · · · , R6−1 ) = diag(0.1, · · · , 0.1), R−1 ∈ Ê6,6 . Wenn man mit den Gesetzen von Kirchhoff und Ohm die Str¨ome berechnet, die im Stromkreis fließen, erh¨ alt man ein lineares Gleichungssystem mit den Potenzialen Pj in den Knoten Kj als Unbekannten. Die Matrix des gesuchten Gleichungssystems ergibt sich aus B = T · R−1 · T T ,
indem man f¨ ur den Bezugspunkt, hier Knoten K4 , das Potenzial null setzt und die entsprechende Zeile und Spalte der Matrix B streicht. Das ergibt ⎛ ⎞ 0.3 −0.1 −0.1 A = ⎝ −0.1 0.3 −0.1 ⎠ . −0.1 −0.1 0.3
Mit U := (U1 , . . . , U6 )T ergibt sich die rechte Seite als b = −T R−1 U mit anschließender Streichung der letzten Komponente: b = (1.0, −1.5, 2.5)T .
Entsprechend kann man bei komplizierteren Netzen vorgehen. Es ist auch leicht m¨oglich, ein Programm zur Konstruktion solcher Netze (z.B. im Dialog) mit L¨osung der entstehenden Gleichungssysteme schreiben. Die Matrix muss dabei symmetrisch und positiv definit werden, sonst hat man etwas falsch gemacht, z.B. einen Widerstand null gesetzt.
84
2 Lineare Gleichungssysteme, direkte Methoden
Die L¨ osung des Gleichungssystems sind die Potenziale P1 = 7.5V , P2 = 1.25V , P3 = 11.25V ; das Bezugs-Potenzial ist P4 = 0V . Verschiedene Spannungen Uj f¨ ur dasselbe Netz ergeben ein Gleichungssystem mit mehreren rechten Seiten.
2.5.2
Fluss durch ein Rohrnetz mit Pumpe
Der Fluss durch ein Pumpen-Netzwerk (siehe [Hil 88]) gehorcht unter gewissen Voraussetzungen den Gesetzen f¨ ur laminare Str¨ omung: 1. An Verzweigungen ist das Volumen der einstr¨omenden Fl¨ ussigkeit gleich dem der ausstr¨ omenden Fl¨ ussigkeit. 2. Der Druckverlust ∆p entlang eines Rohres der L¨ange l ist gegeben als 8ηl ∆p = 4 q. πr Dabei sind r der Radius des Rohres, η die Viskosit¨at der Fl¨ ussigkeit und q die unbekannte Durchflussleistung. 3. Der Druckverlust in geschlossenen Schleifen ist null. 4. Entgegen der Fließrichtung erh¨ oht sich der Druck, also ist der entsprechende Druckverlust negativ. In Abb. 2.6 betrachten wir ein einfaches Rohrnetz mit drei Verzweigungen A, B und C und acht Rohren 1 bis 8 . Seien ri , li , qi und ki , i = 1, 2, . . . , 8, Radius, L¨ange, Durchflussleistung und effektiver Widerstand im i-ten Rohr, wobei 8ηli . ki := πri4 Die Zisterne in Abb. 2.6 ist ein Fl¨ ussigkeitsreservoir, welches das Pumpennetzwerk mit neuer Fl¨ ussigkeit versorgt; die Zisterne ist ausreichend gef¨ ullt. Dann kann man das Pumpennetzwerk als einen geschlossenen Fl¨ ussigkeitskreislauf betrachten. Dabei wird neben der Pumpe P auch die Zisterne Z zu einem Verzweigungsknoten. Außerdem muß man sich die Abfl¨ usse des Pumpennetzwerks mit der Zisterne verbunden denken. Unter diesen Voraussetzungen gilt q1 = q8 . Es entstehen die inneren Schleifen PAZP, AZBA, BZCB und CZC. In der Schleife PAZP baut die Pumpe einen Druck P auf. Weitere Schleifen liefern zus¨atzliche, aber redundante Gleichungen, die nicht ber¨ ucksichtigt werden m¨ ussen. Die Anwendung der Gesetze f¨ ur laminare Str¨ omung unter Beachtung von q1 = q8 erm¨oglicht die Aufstellung eines Systems von sieben linearen Gleichungen f¨ ur die Unbekannten qi : q1 −
q2 −
q3 q3 −
(k1 + k8 )q1 + k2 q2 k2 q2 − k3 q3
q4 − q4
q5
− k5 q5 − k4 q4 + k5 q5
−
q6 −
q7
− k7 q7 k6 q6 − k7 q7
= = = = = = =
0 0 0 P 0 0 0
85
2.5 Anwendungen
Pumpe
P
2
1 A 3 B
C 4
5
7
6
Zisterne Z
8
Abb. 2.6 Fluß durch ein Pumpennetzwerk.
Dabei ist P die Druckerh¨ ohung durch die Pumpe P. F¨ ur die Zahlenwerte P = 350 000, η = 0.015, ri ≡ r = 0.06 und li = (2, 21, 3, 4, 6, 10, 6, 34) l¨asst sich das System mit dem Gauß-Algorithmus l¨ osen. Die auf vier wesentliche Stellen gerundeten Ergebnisse lauten: q1 = q8 = 2.904, q2 = 0.6768, q3 = 2.227, q4 = 0.9718, q5 = 1.255, q6 = 0.3644, q7 = 0.6074.
2.5.3
Ebenes Fachwerk
Die Berechnung der Kr¨ afte in einem ebenen Fachwerk f¨ uhrt unter gewissen Voraussetzungen auf ein System von linearen Gleichungen in Bandform, da f¨ ur jeden Knoten im Fachwerk nur Beziehungen zu den Nachbarknoten ber¨ ucksichtigt werden. Die Bandbreite h¨angt von der Nummerierung der Knoten ab. Wir wollen ein Beispiel mit sechs Knoten durchrechnen, das in Abb. 2.7 dargestellt ist. Wir nehmen an, dass das Fachwerk reibungsfrei verbunden ist. Ein Satz der Mechanik besagt, dass das Fachwerk statisch bestimmt ist, wenn die Anzahl der Verbindungen m und die Anzahl der Knoten j die Gleichung 2j − 3 = m erf¨ ullen; das ist hier der Fall. Die Kr¨ afte sind dann u ¨ ber statische Gleichgewichtsbedingungen determiniert. Ihre horizontalen und vertikalen Komponenten seien Fx bzw. Fy . Um die Kr¨afte u ¨ ber schiefe Verbindungen in ihre horizontalen und vertikalen Komponenten zerlegen zu k¨onnen, ben¨otigt man cos ϕ und sin ϕ, wobei der Winkel ϕ die Neigung der schiefen Komponente angibt. Da in diesem √ Beispiel ϕ = π/4 gilt, verwenden wir folgende Abk¨ urzung: t := sin π/4 = cos π/4 = 1/ 2. Wir stellen nun die Gleichgewichtsgleichungen f¨ ur die nicht abgest¨ utzten Knoten 2 bis 5 und den vertikal abgest¨ utzten Knoten 6 auf. Da der Knoten 1 vollst¨andig abgest¨ utzt ist, findet dort kein Kr¨ afteausgleich statt. Die Summe aller Kr¨afte in einem nicht abgest¨ utzten Knoten muß sowohl in horizontaler als auch in vertikaler Richtung gleich null sein, da sich
86
2 Lineare Gleichungssysteme, direkte Methoden
2
1
1
4
3
2
3
4
5
6 f¯ = 4N
7
8
9
5
6
f¯ = 9N
Abb. 2.7 Ein ebenes Fachwerk mit sechs Knoten.
das Fachwerk in einem stabilen Gleichgewichtszustand befindet. Mit den Kr¨aften fi , die jeweils entlang der i-ten Verbindung wirken, erh¨alt man folgende Gleichungen (beachte: f7 kann direkt berechnet werden): −tf1 + f4 = 0 −tf1 − f3 = 0
Knoten 2:
f2 − tf5 − f6 = 0 f3 + tf5 − 4 = 0
Knoten 3:
−f4 − tf5 + tf8 = 0 −tf5 − f7 − tf8 = 0
Knoten 4: Knoten 5: Knoten 6:
%
−f6 + f9 = 0 =0 f7 − 9
−tf8 − f9 = 0
Wenn die Kraft f7 , die direkt ausgerechnet werden kann, weggelassen wird, lassen sich die Gleichgewichtskr¨ afte als L¨ osungen des linearen Gleichungssystems Af˜ = b darstellen mit ⎛ ⎞ −t 0 0 1 0 0 0 0 ⎜ −t 0 −1 0 0 0 0 0 ⎟ ⎜ ⎟ ⎜ 0 1 0 0 −t −1 0 0 ⎟ ⎟ ⎜ ⎜ ⎟ 1 0 t 0 0 0 ⎟ ⎜ 0 0 A = ⎜ ⎟ ⎜ 0 0 0 −1 −t 0 t 0 ⎟ ⎜ ⎟ ⎜ 0 0 0 0 −t 0 −t 0 ⎟ ⎜ ⎟ ⎝ 0 0 0 0 0 −1 0 1 ⎠ 0 0 0 0 0 0 −t −1 T ˜ f = (f1 , f2 , f3 , f4 , f5 , f6 , f8 , f9 ) b =
(0, 0, 0, 4, 0, 9, 0, 0)T .
2.6 Software
87
Die Matrix A ist schwach besetzt und hat die Bandbreite m = 3. Die L¨osungen des Gleichgewichtsproblems sind – wieder auf vier wesentliche Stellen gerundet – die Kr¨afte f = (−8.014, 5.667, 5.667, −5.667, −2.357, 7.333, 9, −10.37, 7.333)T .
Dabei ist f um die direkt berechnete Kraft f7 erg¨anzt worden.
2.6
Software
Historische Quelle aller Software zur numerischen linearen Algebra ist das Handbuch von Wilkinson und Reinsch, [Wil 71], das bez¨ uglich u ¨ bersichtlicher Programmierung und umfassender Dokumentation Maßst¨ abe setzt. Es ist insofern ein fr¨ uhes (erstes) Template, siehe Abschnitt 5.9. Die Algorithmen dieses Bandes, seine Algol-Programme und seine Vorgehensweise bei Erstellung und Dokumentation eines Programmpaketes sind Grundlage der Fortran-Bibliotheken Linpack [Don 79] zur L¨osung von linearen Gleichungssystemen und Eispack [Smi 88] zur L¨ osung von Matrix-Eigenwertproblemen, die in Kapitel 5 behandelt werden. Diese Bibliotheken haben ihrerseits Eingang in die wichtigen großen Numerik-Bibliotheken Nag [NAGb, NAGa] und Imsl [Imsl] sowie in Matlab [Mol] gefunden. Weiterentwicklungen von Linpack und Eispack, die sich auch besonders f¨ ur Vektorund Parallelrechner eignen, finden sich in dem viel benutzten Paket Lapack [And 99] (A Portable Linear Algebra Library for High-Performance Computers). Dazu wurden zun¨achst die Grundoperationen der linearen Algebra vom Skalarprodukt u ¨ber ebene Rotation bis zum Matrixprodukt im Unterprogramm-Paket Blas (Basic Linear Algebra Subprograms) zusammengefasst. Blas besteht aus drei Stufen, den Vektor-Vektor-, Matrix-Vektor- und den Matrix-Matrix-Operationen. Blas wurde weiterentwickelt zu PBlas (A Set of Parallel BLAS ), PB-Blas (A Set of Parallel Block BLAS ) erg¨anzt um Blacs (Basic Linear Algebra Communication Subprograms), das f¨ ur die Kommunikation auf Parallelrechnern oder in verteilten Systemen verantwortlich ist. Zu demselben Zweck wurde Lapack weiterentwickelt zu ScaLapack (A Portable Linear Algebra Library for Distributed Memory Computers). Statt zu all diesen Entwicklungen und den dazu entwickelten Algorithmen einzelne Literaturhinweise zu geben, verweisen wir auf die instruktiven und st¨andig erg¨anzten Lapack Working Notes (http://www.netlib.org/lapack/lawns/). Unsere Probleml¨ oseumgebung Pan (http://www.upb.de/SchwarzKoeckler/) verf¨ ugt u ¨ ber drei Programme zur L¨ osung linearer Gleichungssysteme mit regul¨arer Matrix, symmetrisch positiv-definiter Matrix und mit einer Bandmatrix als Koeffizientenmatrix.
88
2.7
2 Lineare Gleichungssysteme, direkte Methoden
Aufgaben
Aufgabe 2.1. Man l¨ ose mit dem Gauß-Algorithmus 2x1 − 4x2 + 6x3 − 2x4
=
3
=
x1 + 3x2 + 13x3 − 6x4
=
−2
3x1 − 6x2 + 10x3 − 4x4 5x2 + 11x3 − 6x4
=
3
−5.
Wie lautet die LR-Zerlegung der Systemmatrix? Aufgabe 2.2. Das lineare Gleichungssystem 6.22x1 + 1.42x2 − 1.72x3 + 1.91x4
=
1.59x1 − 1.23x2 − 5.24x3 − 1.42x4
7.53
1.44x1 + 5.33x2 + 1.11x3 − 1.82x4
=
6.06
=
1.75x1 − 1.69x2 + 1.57x3 + 6.55x4
=
−8.05
8.10
ist unter Ausnutzung der diagonalen Dominanz mit dem Gauß-Algorithmus bei f¨ unfstelliger Rechnung zu l¨ osen. Aufgabe 2.3. Man berechne den Wert der Determinante ˛ ˛ ˛ 0.596 0.497 0.263 ˛ ˛ ˛ ˛ ˛ 3.21 1.39 ˛ . ˛ 4.07 ˛ ˛ ˛ 0.297 0.402 0.516 ˛
a) Zun¨ achst benutze man dazu die Definitionsgleichung (Regel von Sarrus), einmal mit voller und dann mit dreistelliger Rechengenauigkeit. Im zweiten Fall h¨ angt das numerische Ergebnis von der Reihenfolge der Operationen ab. Um das unterschiedliche Resultat erkl¨ aren zu k¨ onnen, sind alle Zwischenergebnisse zu vergleichen. b) Jetzt rechne man mit dem Gauß-Algorithmus bei dreistelliger Rechnung unter Verwendung der Diagonalstrategie und der relativen Spaltenmaximumstrategie. Aufgabe 2.4. Das lineare Gleichungssystem 10x1 + 14x2 + 11x3
=
1
13x1 − 66x2 + 14x3
=
1
=
1
11x1 − 13x2 + 12x3
ist mit dem Gauß-Algorithmus und relativer Spaltenmaximumstrategie bei f¨ unfstelliger Rechnung und die Matrizen und der Zerlegung? Mit den zu l¨ osen. Wie lauten die Permutationsmatrix mit h¨ oherer Genauigkeit berechneten Residuen f¨ uhre man einen Schritt der Nachiteration durch. ur die Gesamtnorm, die ZeilensummenWie groß sind die Konditionszahlen der Systemmatrix f¨ norm und die Frobenius-Norm Aufgabe 2.5. Man zeige die Submultiplikativit¨ at F ≤ F F der Frobenius-Norm. Aufgabe 2.6. Man verifiziere, dass sowohl die Frobenius-Norm als auch die Gesamtnorm mit der euklidischen Vektornorm kompatibel sind.
89
2.7 Aufgaben Aufgabe 2.7. Welches ist die der L1 -Vektornorm (2.152) zugeordnete Matrixnorm?
Aufgabe 2.8. Man zeige, dass f¨ ur die Konditionszahlen folgende Beziehungen gelten: a) b) c) d) e)
) ≤ κ()κ( ) f¨ ur alle Matrixnormen; ur eine orthogonale Matrix ; κ () = 1 f¨ κ () ≤ κ () ≤ κ () ≤ n κ (); κ () = κ (), falls eine orthogonale Matrix ist. κ(
κ(c ) = κ( ) f¨ ur alle c ∈ Ê; 2
2
2
F
2
G
∞
2
Aufgabe 2.9. Das folgende Gleichungssystem mit symmetrischer und positiv definiter Matrix soll mit dem Gauß-Algorithmus (Diagonalstrategie und Spaltenmaximumstrategie) und nach der Methode von Cholesky bei f¨ unfstelliger Rechnung gel¨ ost werden. 5x1 + 7x2 + 6x3 + 5x4
=
12
7x1 + 10x2 + 8x3 + 7x4
=
19
6x1 + 8x2 + 10x3 + 9x4
=
17
5x1 + 7x2 + 9x3 + 10x4
=
25
Man f¨ uhre einen Schritt Nachiteration aus und bestimme die Konditionszahl von Erkl¨ arung der gemachten Feststellungen.
Aufgabe 2.10. Welche der symmetrischen Matrizen 1 0 0 2 −1 0 −2 4 C B B −1 3 −2 4 −2 C B B =B =B C, @ 0 −2 @ 4 4 −3 A −2 4 −3 5 −6
−2 2 −2 5
4 −2 13 −18
ist positiv definit?
Aufgabe 2.11. Man zeige, dass die Hilbert-Matrix 1 0 1 1/2 1/3 1/4 . . . B 1/2 1/3 1/4 1/5 . . . C C B C B 1/3 1/4 1/5 1/6 . . . C ∈ Ên,n , := B C B C B 1/4 1/5 1/6 1/7 A @ .. .. .. .. . . . .
hik =
−6 5 −18 33
zur qualitativen
1 C C C A
1 , i+k−1
f¨ ur beliebige Ordnung n positiv definit ist.
Dann berechne man ihre Inverse f¨ ur n = 3, 4, 5, . . . , 12, welche ganzzahlige Matrixelemente besitzt, mit der Methode von Cholesky. Daraus bestimme man das Wachstum der Konditionszahl κ( ) f¨ ur zunehmendes n.
Mit Verfahren von Kapitel 5 ermittle man die Konditionszahl κ2 (
).
90
2 Lineare Gleichungssysteme, direkte Methoden
Aufgabe 2.12. Das symmetrische, tridiagonale System −0.24x1 −1.05x1
+1.76x2 +1.26x2 1.12x2
−0.69x3 −2.12x3 1.34x3
+0.76x4 +0.36x4 1.29x4
−0.30x5 +1.05x5 0.96x5
+0.66x6 +2.04x6
= 1.28 = 0.48 = 1.16 = −0.46 = −0.66 = −0.57
ist mit der relativen Spaltenmaximumstrategie und f¨ unfstelliger Rechnung zu l¨ osen. Welches sind die Matrizen und der zeilenpermutierten Matrix des Systems? Aufgabe 2.13. Das tridiagonale Gleichungssystem 0
1 B 1 B B B B =B B B B B B @
1 2 1
1 3 1
1 4 1
1
1 4 1
1 3 1
1 2 1
C C C C C C C, C C C C 1 A 1
= mit 0
B B B B B =B B B B B B @
1 0 0 0 0 0 0 0
1 C C C C C C C C C C C A
ist nach dem Prinzip der zyklischen Reduktion f¨ ur Vektorrechner, auf Grund der RQ-Zerlegung und der Odd-Even-Elimination f¨ ur Parallelrechner zu l¨ osen.
3
Interpolation und Approximation
Dieses Kapitel soll die wichtigsten M¨ oglichkeiten beschreiben, mit denen eine reellwertige Funktion f (x) der reellen Variablen x oder eine vorliegende Datentabelle (xi , yi ) durch eine einfache Funktion – sagen wir g(x) – in geschlossener Form angen¨ahert werden k¨onnen. Bei der Approximation wird diese Funktion so bestimmt, dass eine Norm der Differenz zwischen den Werten der gesuchten Funktion g(xi ) und der gegebenen Datentabelle g − y mit den Vektoren g = {g(xi )} und y = {yi } bzw. zwischen der gesuchten und der gegebenen Funktion g(x) − f (x) minimal wird. Bei der Interpolation wird die approximierende Funktion so konstruiert, daß sie an vorgegebenen Stellen mit der gegebenen Funktion oder den Daten der Tabelle u ¨ bereinstimmt: g(xi ) = f (xi ) bzw. g(xi ) = yi . Dar¨ uber hinaus hat die Interpolation eine gewisse Bedeutung als Hilfsmittel zur Entwicklung numerischer Verfahren, so bei der numerischen Differenziation, siehe Abschnitt 3.1.6, oder bei der numerischen Integration von Funktionen, siehe Kapitel 7. Die Qualit¨ at der Approximation oder Interpolation h¨angt von der Entscheidung f¨ ur eine der Methoden und von der Wahl des approximierenden Funktionensystems ab, also von der Frage, ob z.B. g(x) ein Polynom oder eine trigonometrische Funktion ist. Deshalb sollen die unterschiedlichen Verfahren in einem Kapitel behandelt werden. Alle Methoden lassen sich von einer auf mehrere Dimensionen u ¨bertragen. Auf mehrdimensionale Aufgaben werden wir auch kurz eingehen. Zun¨ achst lautet die wichtigste Frage Interpolation oder Approximation ? F¨ ur die Approximation einer Tabelle von Daten (xi , yi ), i = 0, 1, . . . , n, gibt es zwei typische Situationen: 1. Es sind sehr viele Daten gegeben, d.h. n ist sehr groß. Dann ist Interpolation nicht sinnvoll, besonders dann nicht, wenn die Daten Mess- und Beobachtungsfehlern unterliegen. Es sollte dann eine m¨ oglichst glatte Kurve durch die “Datenwolke” gelegt werden wie in Abb. 3.1 links. 2. Es sind nur wenige Daten gegeben, und es ist sinnvoll oder sogar wichtig, dass die approximierende Funktion an den gegebenen Stellen xi die gegebenen Funktionswerte yi bzw. f (xi ) auch annimmt. Dann wird man ein Interpolationsverfahren w¨ahlen wie in Abb. 3.1 rechts.
92
3 Interpolation und Approximation yi
g(x) 0
f (xi )
g(x) 0
−0.5
−0.5
x −1
−1
0
1
x −1
−1
0
1
Abb. 3.1 Polynomapproximation und Interpolation mit kubischen Splines.
3.1
Polynominterpolation
3.1.1
Problemstellung
Gegeben seien n + 1 voneinander verschiedene reelle St¨ utzstellen x0 , x1 , . . . , xn und zugeh¨ orige beliebige St¨ utzwerte y0 , y1 , . . . , yn . Gesucht ist ein Polynom n-ten Grades Pn (x) := a0 + a1 x + · · · + an xn ,
(3.1)
Pn (xi ) = yi , i = 0, 1, . . . , n
(3.2)
welches die Interpolationsbedingung erf¨ ullt.
Satz 3.1. Zu n+1 beliebigen Wertepaaren (xi , yi ), i = 0, 1, . . . , n, mit paarweise verschiedenen reellen St¨ utzstellen xi = xj f¨ ur alle i = j existiert genau ein Interpolationspolynom Pn (x) mit der Eigenschaft (3.2), dessen Grad h¨ochstens gleich n ist. Beweis. Die Aussage dieses Satzes ergibt sich aus der Konstruktion der in Abschnitt 3.1.2 vorgestellten Lagrange-Interpolation. Die gegebenen St¨ utzwerte yi k¨ onnen Werte einer gegebenen Funktion f sein, die an den St¨ utzstellen xi interpoliert werden soll, f (xi ) = yi ,
i = 0, 1, . . . , n,
(3.3)
oder diskrete Daten einer Tabelle (xi , yi ), i = 0, 1, . . . , n. Im ersten Fall sind gute Aussagen u ¨ber den Fehler bei der Interpolation der Daten m¨oglich. Im anderen Fall ben¨ otigt man gewisse Annahmen u ¨ ber den zu Grunde liegenden Prozess, um entsprechende Aussagen zu bekommen. Diese sind dann nat¨ urlich nicht mit derselben
93
3.1 Polynominterpolation
Sicherheit zu treffen. F¨ ur den Fehler ist auch die St¨ utzstellenverteilung von großem Einfluss. Ist eine gegebene Funktion zu interpolieren, die u ¨ berall im Intervall [a, b] ausgewertet werden kann, so besteht die M¨ oglichkeit, eine optimale St¨ utzstellenverteilung zu w¨ahlen. Satz 3.2. Alle St¨ utzstellen liegen im Intervall [a, b]. f sei eine im Intervall [a, b] (n + 1) mal stetig differenzierbare Funktion: f ∈ C n+1 [a, b], und es sei yi := f (xi ) , i = 0, 1, . . . , n. Sei Pn das die Tabelle (xi , yi ) interpolierende Polynom und ω(x) := (x − x0 )(x − x1 ) · · · (x − xn ) .
(3.4)
Dann gibt es zu jedem x ˜ ∈ [a, b] ein ξ ∈ (a, b) mit f (˜ x) − Pn (˜ x) =
ω(˜ x)f (n+1) (ξ) . (n + 1)!
(3.5)
Damit gilt x)| ≤ |f (˜ x) − Pn (˜
|ω(˜ x)| max |f (n+1) (ξ)| . (n + 1)! ξ∈[a,b]
(3.6)
ur ein k ∈ {0, 1, . . . , n}, dann verschwindet der Fehler. Beweis. Wenn x ˜ = xk f¨ ur alle i, sei Sei deshalb x ˜ = xi f¨
F (x) := f (x) − Pn (x) − K ω(x),
F ∈ C n+1 [a, b]
und K so bestimmt, dass F (˜ x) = 0. Das geht, weil ω(˜ x) = 0 ⇒ K =
f (˜ x) − Pn (˜ x) . ω(˜ x)
Dann besitzt F (x) in [a, b] mindestens die (n + 2) verschiedenen Nullstellen x0 , . . . , xn , x ˜. Daraus folgt mit dem Satz von Rolle: F ′ (x) F ′′ (x) F
···
(n+1)
(x)
hat mindestens n + 1 Nullstellen. hat mindestens n Nullstellen. ··· hat mindestens 1 Nullstelle.
F¨ ur jede Nullstelle ξ von F (n+1) gilt: 0 = F (n+1) (ξ)
=
f (n+1) (ξ) − (n+1)
⇒ K=
0
P (n+1) (x)
(ξ) f (n + 1)!
−K (n + 1)!
⇒ f (˜ x) − Pn (˜ x) = ω(˜ x)
ω (n+1) (x)
f (n+1) (ξ) (n + 1)!
94
3 Interpolation und Approximation
Der Satz zeigt, dass man den Fehlerverlauf im Intervall [a, b] gut studieren kann, wenn man sich den Funktionsverlauf von ω ansieht. ω wird bei ¨aquidistanten St¨ utzstellen in den Randintervallen sehr viel gr¨ oßer als in der Mitte des St¨ utzstellenbereichs. Einen gleichm¨ aßigeren Verlauf der Fehlerkurve erh¨alt man, wenn statt ¨aquidistanter St¨ utzstellen die so genannten Tschebyscheff-Punkte als St¨ utzstellen gew¨ahlt werden: " # i a+b b−a + cos π , i = 0, 1, . . . , n. (3.7) xi = 2 2 n
Dies sind die Extremalstellen der Tschebyscheff-Polynome, siehe Abschnitt 3.8.1. Die Tschebyscheff-Punkte sind zum Rand des Intervalls [x0 , xn ] hin dichter verteilt als in der Mitte. Deshalb ist der Verlauf der Fehlerkurve ω ausgeglichener siehe Abb. 3.2.
0.02
ω(x)
x −1
−0.5
0.5
1
−0.02
Abb. 3.2 ω f¨ ur ¨ aquidistante (—) und Tschebyscheff-Punkte (- -), n=8.
Numerische Verfahren Wir wollen die folgenden Verfahren behandeln: • Die Lagrange-Interpolation zeigt am sch¨ onsten, dass immer ein Polynom nach Satz 3.1 konstruiert werden kann. Numerisch ist sie nicht empfehlenswert, da die Auswertung des berechneten Polynoms aufw¨ andiger ist als bei der Newton-Interpolation. • Die Newton-Interpolation konstruiert mit geringem Aufwand und numerisch stabil das Interpolationspolynom. Das rekursive Berechnungsschema ist sowohl f¨ ur eine rasche manuelle Berechnung als auch f¨ ur eine elegante rechnerische Umsetzung besonders geeignet. • Bei der Hermite-Interpolation werden zus¨ atzlich zu Funktionswerten auch Ableitungswerte interpoliert. Das Schema der Newton-Interpolation l¨asst sich leicht auf die L¨osung dieser Aufgabe verallgemeinern.
95
3.1 Polynominterpolation
3.1.2
Lagrange-Interpolation
Das Interpolationspolynom P l¨ asst sich mit Hilfe der n + 1 Lagrange-Polynome Li (x)
n
:=
j=0 j = i
= angeben: Pn (x) :=
(x − xj ) (xi − xj )
(3.8)
(x − x0 ) · · · (x − xi−1 )(x − xi+1 ) · · · (x − xn ) (xi − x0 ) · · · (xi − xi−1 )(xi − xi+1 ) · · · (xi − xn )
n
yi Li (x).
(3.9)
i=0
Es erf¨ ullt (3.2), da ja f¨ ur die Lagrange-Polynome gilt Li (xk ) = δik =
1, falls i = k, 0, falls i = k.
(3.10)
Das Polynom Pn (x) nach (3.9) ist auch eindeutig bestimmt. G¨abe es n¨amlich ein zweites Polynom Qn (x) vom H¨ ochstgrad n mit Pn (xk ) = Qn (xk ) = yk , k = 0, 1, . . . , n,
(3.11)
dann w¨ are auch das Differenzpolynom D(x) := Pn (x) − Qn (x) h¨ochstens vom Grad n und bes¨ aße die n + 1 paarweise verschiedenen Nullstellen x0 , x1 , . . . , xn . Nach dem Fundamentalsatz der Algebra muss damit D(x) = 0 und damit Pn (x) = Qn (x) sein.
3.1.3
Newton-Interpolation
Die Idee zu diesem Verfahren geht von einer anderen Darstellung des Interpolationspolynoms aus: Pn (x) := c0
+ c1 (x − x0 ) + c2 (x − x0 )(x − x1 ) + · · · + cn (x − x0 )(x − x1 ) · · · (x − xn−1 ).
(3.12)
Die Koeffizienten ci dieser mit (3.1) ¨ aquivalenten Darstellung lassen sich sukzessive berechnen, wenn nacheinander die St¨ utzstellen und St¨ utzwerte eingesetzt werden: Pn (x0 ) = c0
=⇒ c0 = y0 y1 − y0 Pn (x1 ) = c0 + c1 (x1 − x0 ) =⇒ c1 = x1 − x0 ··· Bei der Fortf¨ uhrung dieser rekursiven Aufl¨ osung entstehen weiterhin Br¨ uche von Differenzen von vorher berechneten Br¨ uchen. Diese so genannten dividierten Differenzen lassen sich rekursiv berechnen: 0. dividierte Differenz: [yk ] := yk ,
k = 0, 1, . . . , n.
96
3 Interpolation und Approximation
1. dividierte Differenz f¨ ur k = 0, 1, . . . , n − 1: [yk , yk+1 ] :=
[yk+1 ] − [yk ] yk+1 − yk = . xk+1 − xk xk+1 − xk
Dies wird entsprechend fortgef¨ uhrt mit den j-ten dividierten Differenzen [yk , yk+1 , . . . , yk+j ] := j = 2, 3, . . . , n,
[yk+1 , . . . , yk+j ] − [yk , . . . , yk+j−1 ] , xk+j − xk k = 0, 1, . . . , n − j.
(3.13)
Die dividierten Differenzen werden jetzt mit gewissen Interpolationspolynomen in Verbin∗ das Interpolationspolynom j-ten Grades zu den dung gebracht. Wenn wir mit Pk,k+1,...,k+j (j + 1) St¨ utzstellen xk , xk+1 , . . . , xk+j bezeichnen, dann gilt definitionsgem¨aß ∗ (xk+i ) = yk+i , i = 0, 1, . . . , j, Pk,k+1,...,k+j
(3.14)
und speziell ist mit dieser Bezeichnungsweise Pk∗ (xk ) = yk = [yk ].
(3.15)
Satz 3.3. F¨ ur 1 ≤ j ≤ n gilt die Rekursionsformel ∗ Pk,k+1,...,k+j (x) =
∗ ∗ (x − xk )Pk+1,...,k+j (x) − (x − xk+j )Pk,...,k+j−1 (x)
xk+j − xk
(3.16)
∗ ∗ Beweis. Die Interpolationspolynome Pk+1,...,k+j (x) und Pk,...,k+j−1 (x) sind vom H¨ochstgrad (j − 1). Es ist zu zeigen, dass die rechte Seite von (3.16) die St¨ utzwerte yk , . . . , yk+j an den St¨ utzstellen xk , . . . , xk+j interpoliert. Wegen der Interpolationseigenschaften der Polynome rechts in (3.16) gilt trivialerweise
∗ Pk,k+1,...,k+j (xk ) = yk
∗ und Pk,k+1,...,k+j (xk+j ) = yk+j ,
und weiter f¨ ur i = 1, 2, . . . , j − 1 ∗ Pk,k+1,...,k+j (xk+i ) =
(xk+i − xk )yk+i − (xk+i − xk+j )yk+i = yk+i . xk+j − xk
Nach Satz 3.1 stellt damit die rechte Seite von (3.16) das eindeutig bestimmte Interpolati∗ onspolynom Pk,k+1,...,k+j (x) dar. Wegen (3.13) ist eine unmittelbare Folge von Satz 3.3, dass die dividierten Differenzen [y0 , y1 , . . . , yj ] mit den Koeffizienten cj in (3.12) identisch sind, da ja cj H¨ochstkoeffizient ∗ des Interpolationspolynoms P0,1,...,j (x) zu den (j + 1) St¨ utzpunkten (xi , yi ), i = 0, 1, . . . , j ist.
97
3.1 Polynominterpolation
Jetzt kann die Berechnung der Koeffizienten in dem so genannten Newton-Schema zusammengefasst werden, das wir nur f¨ ur n = 3 angeben wollen: x0
y 0 = c0
x1
y1
x2
y2
x3
y3
[y0 , y1 ] = c1 [y1 , y2 ]
[y0 , y1 , y2 ] = c2 [y1 , y2 , y3 ]
[y2 , y3 ]
[y0 , y1 , y2 , y3 ] = c3
(3.17)
Diese rekursive Berechnung der Koeffizienten cj stellt den ersten Schritt des Algorithmus Tab. 3.1 dar. Dabei wird von Spalte zu Spalte von unten nach oben gerechnet, damit die nicht mehr ben¨ otigten Werte u ¨berschrieben werden k¨onnen. F¨ ur die Berechnung von Polynomwerten eignet sich auch die Form (3.12) besonders gut, da gemeinsame Faktoren ausgeklammert werden k¨ onnen: Pn (x)
= c0 + c1 (x − x0 ) + · · · + cn (x − x0 )(x − x1 ) · · · (x − xn−1 )
= c0 + (x − x0 ) {c1 + (x − x1 ) [c2 + (x − x2 ) ( · · · cn−1 + (x − xn−1 )cn )]} .
(3.18)
Diese Art der Polynomwertberechnung wird Horner-Schema genannt. Das Horner-Schema stellt den zweiten Schritt des Algorithmus Tab. 3.1 dar. Tab. 3.1 Algorithmus zur Newton-Interpolation.
1. Berechnung der Koeffizienten F¨ ur k = 0, 1, . . . , n: ck := yk F¨ ur k = 1, 2, . . . , n: f¨ ur i = n, n − 1, . . . , k: ci − ci−1 ci := xi − xi−k
2. Horner-Schema: Berechnung von Polynomwerten p := cn F¨ ur k = n − 1, n − 2, . . . , 0: p := ck + (x − xk )p F¨ ur den so berechneten Wert p gilt p = Pn (x).
Beispiel 3.1. Berechnet werden soll p := ln(1.57). Es liegt eine Tafel f¨ur den nat¨urlichen Logarithmus vor mit folgenden Werten: x
1.4
1.5
1.6
1.7
ln(x)
0.3364722366
0.4054651081
0.4700036292
0.5306282511
98
3 Interpolation und Approximation
F¨ ur diese Tabelle erstellen wir das Newton-Schema: 1.4
0.3364722366 0.689928715
1.5
0.4054651081 0.645385211
1.6
0.4700036292
1.7
0.5306282511
0.606246219
−0.22271752
0.0900752
−0.19569496
Aus diesem Schema k¨ onnen wir die Koeffizienten mehrerer Interpolationspolynome mit St¨ utzstellen, die den Punkt 1.57 umgeben, ablesen. Da ist zun¨ achst das lineare Polynom mit den eingek¨ astelten Koeffizienten P1 (x) = 0.4054651081 + 0.645385211(x − 1.5). Bei Ber¨ ucksichtigung der ersten drei Tabellenwerte ergibt sich das quadratische Polynom mit den doppelt unterstrichenen Koeffizienten P2 (x)
= =
0.3364722366 + 0.689928715(x − 1.4) − 0.22271752(x − 1.4)(x − 1.5)
0.3364722366 + (x − 1.4)[0.689928715 − (x − 1.5)0.22271752].
Alle unterstrichenen Werte in der oberen Schr¨ agzeile sind schließlich die Koeffizienten des gesuchten Polynoms dritten Grades P3 (x)
= = =
0.3364722366 + 0.689928715(x − 1.4) − 0.22271752(x − 1.4)(x − 1.5) +0.0900752(x − 1.4)(x − 1.5)(x − 1.6)
0.3364722366 + (x − 1.4)[0.689928715
+(x − 1.5){−0.22271752 + 0.0900752(x − 1.6)}] P2 (x) + 0.0900752(x − 1.4)(x − 1.5)(x − 1.6).
Man sieht an der letzten Zeile, dass man durch Hinzuf¨ ugen eines Tabellenwertpaares und Nachberechnung einer unteren Schr¨ agzeile im Newton-Schema das Polynom des n¨ achsth¨ oheren Grades erh¨ alt. Auch das liegt an der Form (3.12) der Interpolationspolynome. Wir wollen jetzt die Genauigkeit der drei Polynome vergleichen. Es ist (auf zehn Stellen genau) ln(1.57) = 0.4510756194. Damit ergibt sich: P1 (1.57) = 0.4506420729 , P2 (1.57) = 0.4511097797 , P3 (1.57) = 0.4510776229 ,
Fehler : Fehler : Fehler :
4.3 · 10−4 , −3.4 · 10−5 , −2.0 · 10−6 .
△
Sind die St¨ utzstellen ¨ aquidistant wie in diesem Beispiel, so kann das Schema der dividierten Differenzen zu einem reinen Differenzenschema reduziert werden, wobei die dann berechneten Koeffizienten c˜j noch durch j! hj dividiert werden m¨ ussen. Insgesamt ergibt sich eine vereinfachte Darstellung [Sch 97].
3.1.4
Hermite-Interpolation
Zus¨atzlich zu den St¨ utzwerten sollen jetzt an den St¨ utzstellen noch Ableitungswerte interpoliert werden. Das k¨ onnen Ableitungen verschiedener Ordnung, gegeben an unterschiedlichen St¨ utzstellen, sein. Das Schema der dividierten Differenzen kann weiterhin angewendet werden, wenn wir uns bei mehrfachen St¨ utzstellen einen Grenz¨ ubergang vorstellen, etwa bei
99
3.1 Polynominterpolation
einer doppelten St¨ utzstelle xk mit dem St¨ utzwert yk := f (xk ) f (xk + h) − f (xk ) f (xk + h) − f (xk ) = f ′ (xk ). = (xk + h) − xk h Allgemein ergibt sich bei m-facher St¨ utzstelle xk 1 f (m−1) (xk ). [yk , yk , . . . , yk ] := (m − 1)! Wir wollen aber diese Aufgabe nur in folgender spezieller Form behandeln: [yk , yk ] = lim
h→0
(3.19)
(3.20)
Gegeben seien n + 1 voneinander verschiedene St¨ utzstellen x0 , x1 , . . . , xn , diesen zugeordnete St¨ utzwerte y0 , y1 , . . . , yn und Ableitungswerte y0′ , y1′ , . . . , yn′ . Gesucht ist ein Polynom P2n+1 vom H¨ ochstgrad 2n + 1, f¨ ur das gilt P2n+1 (xi ) =
yi , i = 0, 1, . . . , n,
′ P2n+1 (xi )
yi′ , i = 0, 1, . . . , n.
=
(3.21)
Die L¨ osung dieser Aufgabe ergibt sich aus (3.19), indem das Newton-Schema (3.17) entsprechend erweitert wird. Das ergibt f¨ ur n = 1 das folgende Schema: y 0 = c0 y0 y1 y1
x0 x0 x1 x1
[y0 , y0 ] := y0′ = c1 [y0 , y1 ] [y1 , y1 ] := y1′
[y0 , y0 , y1 ] = c2 [y0 , y1 , y1 ]
[y0 , y0 , y1 , y1 ] = c3
Das Interpolationspolynom enth¨ alt entsprechend quadratische Terme: P3 (x) = c0 + c1 (x − x0 ) + c2 (x − x0 )2 + c3 (x − x0 )2 (x − x1 )
oder allgemein
P2n+1 (x) = + +
c0 + c1 (x − x0 ) + c2 (x − x0 )2 + c3 (x − x0 )2 (x − x1 ) c4 (x − x0 )2 (x − x1 )2 + · · · c2n+1 (x − x0 )2 (x − x1 )2 · · · (x − xn−1 )2 (x − xn ).
Beispiel 3.2. Wir wollen die Funktion f (x)
=
ex sin(5x)
f ′ (x)
=
ex (sin(5x) + 5 cos(5x))
mit
im Intervall [0, 1] nach Hermite interpolieren und die Genauigkeit mit der der Newton-Interpolation ur n = 1 ergibt sich mit vergleichen. Wir w¨ ahlen als St¨ utzpunkte n + 1 ¨ aquidistante Punkte xi . F¨ auf vier Stellen hinter dem Komma gerundeten Werten folgendes Hermite-Schema 0 0 1 1
0 = c0 0 −2.6066 −2.6066
5 = c1 −2.6066 1.2487
−7.6066 = c2 3.8554
11.4620 = c3
Das ergibt ein Polynom, das die Funktion und ihre Ableitung an den R¨ andern des Intervalls [0, 1] interpoliert. PH (x) = 5 x − 7.6066 x2 + 11.4620 x2 (x − 1).
100 1.5
3 Interpolation und Approximation f f (x) x 1
0.5
PH (x)
−1.5
PN (x)
−3
Abb. 3.3 Hermite- (- -) und Newton-Interpolation (· −) 3. Grades. In Abb. 3.3 sehen wir diese naturgem¨ aß schlechte Approximation der Funktion f neben der Newtonutzstellen. Interpolierenden PN (x) gleichen Grades, also mit doppelt so vielen St¨ Wegen der Auswertung von Funktion und Ableitung ist der Aufwand der Hermite-Interpolation f¨ ur n + 1 St¨ utzstellen etwa so groß wie der der Newton-Interpolation mit 2n + 2 St¨ utzstellen. Deshalb wollen wir die entsprechenden Interpolationspolynome gleichen Grades mit wachsendem n u ¨ ber den maximalen Fehler in [0, 1] vergleichen. n+1 2 3 4 5
Hermite-Fehler 1.8 0.077 0.0024 0.000043
2n + 2 4 6 8 10
Newton-Fehler 0.40 0.038 0.0018 0.000044
Die Entscheidung zwischen Newton- und Hermite-Interpolation sollte also nicht nach Genauigkeitsgesichtspunkten, sondern nach Datenlage erfolgen. △
3.1.5
Inverse Interpolation
Die Aufgabe, zu der Datentabelle (xi , yi = f (xi )), i = 0, 1, . . . , n, einer vorgegebenen Funktion f eine Stelle x ¯ zu finden, f¨ ur die n¨ aherungsweise f (¯ x) = y¯ gilt mit gegebenem y¯, kann mit inverser Interpolation gel¨ ost werden. Das Vorgehen kann aber nur dann aus Gr¨ unden der Eindeutigkeit sinnvoll sein, falls die Funktion f (x) im Interpolationsintervall monoton ist und dementsprechend alle yi voneinander verschieden sind. Unter dieser Voraussetzung ist der Newtonsche Algorithmus geeignet. Im Unterschied zur normalen Polynominterpolation bezeichnen wir das Interpolationspolynom der inversen Aufgabe mit x = Q(y). F¨ ur sie werden einfach im Interpolationsschema die Werte (Spalten im Newton-Schema) f¨ ur xi und yi ausgetauscht. Diese Methode ist bei der Suche nach Nullstellen y¯ = 0 hilfreich, wie wir in Abschnitt 4.2.4 sehen werden. Wir wollen ein einf¨ uhrendes Beispiel rechnen.
101
3.1 Polynominterpolation 2
y
1
Q(y)
P (x)
−1
x 1
2
3
−1
Abb. 3.4 Inverse Interpolation und Interpolation.
Beispiel 3.3. F¨ur drei Punkte (n = 2) soll die direkte der inversen Interpolation gegen¨ubergestellt werden. xi −1 1 3
yi −1 1 2
1 1/2
−1/8
Dieses normale Newton-Schema ergibt das interpolierende Polynom 1 y = P2 (x) = −1 + (x + 1) − (x + 1)(x − 1). 8 Inverse Interpolation ergibt yi −1 1 2
xi −1 1 3
1 2
1/3
1 (y + 1)(y − 1). 3 Beide Funktionen interpolieren dieselbe Tabelle, siehe auch Abb. 3.4, aber nur in die der inversen y) = Interpolation kann ein y-Wert wie y¯ = 0 eingesetzt werden, um den zugeh¨ origen Wert x ¯ = Q2 (¯ −1/3 zu finden. △ x = Q2 (y) = −1 + (y + 1) +
3.1.6
Anwendung: Numerische Differenziation
Interpolationspolynome zu tabellarisch gegebenen Funktionen stellen gleichzeitig die Grundlage dar, Ableitungen der Funktionen n¨ aherungsweise zu berechnen. Die auf diese Weise gewonnenen Formeln zur numerischen Differenziation sind dann selbstverst¨andlich auch zur gen¨ aherten Berechnung von Ableitungen analytisch berechenbarer Funktionen anwendbar. Die Darstellung des Interpolationspolynoms nach Lagrange (3.9) eignet sich besonders gut
102 a = x0
a
3 Interpolation und Approximation x2
x1
ξ
x3 = b
x
Nullstellen von g(x)
x
Nullstellen von g ′ (x)
x
Nullstellen von g ′′ (x)
x
Nullstellen von g (3) (x)
b
Abb. 3.5 Existenz von Nullstellen nach dem Satz von Rolle.
zur Herleitung der gew¨ unschten Differenziationsregeln. Differenzieren wir (3.9) n mal nach x und definieren noch den Nenner des i-ten Lagrange-Polynoms als 1 λi := , (xi − x0 ) · · · (xi − xi−1 )(xi − xi+1 ) · · · (xi − xn ) dann ist allgemein n dn Pn (x) yi n!λi ≈ f (n) (x) (3.22) = dxn i=0 eine m¨ ogliche Approximation der n-ten Ableitung f (n) (x). Es gilt dazu der
Satz 3.4. Sei f (x) im Intervall [a, b] mit a = min(xi ), b = max(xi ) eine mindestens n mal i
i
stetig differenzierbare Funktion, dann existiert ein ξ ∈ (a, b) so, dass n (n) yi n!λi . f (ξ) =
(3.23)
i=0
Beweis. Wir betrachten die Funktion g(x) := f (x) − Pn (x), wo Pn (x) das Interpolationspolynom zu den St¨ utzstellen xi , i = 0, 1, . . . , n, mit den St¨ utzwerten yi = f (xi ) sei. Dann hat aber g(x) wegen der Interpolationseigenschaft mindestens die (n + 1) Nullstellen x0 , x1 , . . . , xn . Wenden wir auf g(x) n mal den Satz von Rolle an, folgt die Existenz einer Stelle ξ im Innern des kleinstm¨ oglichen Intervalls, das alle St¨ utzstellen enth¨alt derart, (n) dass g (n) (ξ) = f (n) (ξ) − Pn (ξ) = 0. Das ist aber wegen (3.22) die Behauptung (3.23). In Abb. 3.5 ist die Situation im konkreten Fall n = 3 dargestellt. Die durch (3.22) erkl¨ arte Regel der numerischen Differenziation zur Approximation der n-ten Ableitung einer (tabellarisch) gegebenen Funktion wird im Allgemeinen nur f¨ ur ¨aquidistante St¨ utzstellen xi = x0 + ih, i = 0, 1, . . . , n, verwendet. Dann wird 1 λi = (3.24) (xi − x0 ) · · · (xi − xi−1 )(xi − xi+1 ) · · · (xi − xn ) =
" # 1 (−1)n−i n = , (−1)n−i hn [i(i − 1) · · · 1][1 · 2 · · · (n − i)] hn n! i
103
3.1 Polynominterpolation
und es ergibt sich f¨ ur (3.22) speziell & " # 1 n (n) n n−1 f (x) ≈ n (−1) y0 + (−1) y1 + (−1)n−2 h 1 " # " # ' n n y2 + . . . − yn−1 + yn . n−1 2
(3.25)
Die Approximation der n-ten Ableitung f (n) (x) berechnet sich nach (3.25) als eine durch utzwerte yi , die mit den Binomialkoeffizienten hn zu dividierende Linearkombination der St¨ alternierenden Vorzeichens multipliziert werden, wobei der letzte positiv ist. Der Ausdruck (3.25) wird als der n-te Differenzenquotient der (n+1) St¨ utzwerte yi bezeichnet. F¨ ur n = 1, 2 und 3 lauten die entsprechenden Formeln der numerischen Differenziation f ′ (x) ≈
y1 − y0 h
1. Differenzenquotient
f ′′ (x) ≈
y2 − 2y1 + y0 h2
2. Differenzenquotient
f (3) (x) ≈
y3 − 3y2 + 3y1 − y0 h3
(3.26)
3. Differenzenquotient
Die Stelle ξ, an welcher der n-te Differenzenquotient die n-te Ableitung einer mindestens n mal stetig differenzierbaren Funktion f (x) exakt liefert, liegt oft in der N¨ahe des Mittelpunktes xM = (x0 +xn )/2. Im Fall von rein tabellarisch definierten Funktionen wird deshalb ein Differenzenquotient (3.26) die entsprechende Ableitung in der Regel in der Mitte des Interpolationsintervalls am besten approximieren. Die p-te Ableitung einer Funktion kann aber ebenso gut auf Grund eines h¨ohergradigen Interpolationspolynoms Pn (x) mit n > p approximiert werden. Da jetzt die p-te Ableitung (p) Pn (x) nicht konstant ist, muss die Stelle x genau definiert werden. Zur Illustration soll die erste Ableitung f ′ (x) auf Grund eines quadratischen Interpolationspolynoms approximiert werden. Mit (3.8)/(3.9) und (3.24) ergibt sich y0 (x − x1 )(x − x2 ) − 2y1 (x − x0 )(x − x2 ) + y2 (x − x0 )(x − x1 ) , 2h2 y0 (2x − x1 − x2 ) − 2y1 (2x − x0 − x2 ) + y2 (2x − x0 − x1 ) . P2′ (x) = 2h2 F¨ ur die erste Ableitung zu den St¨ utzstellen x0 , x1 und x2 ergeben sich daraus P2 (x)
=
f ′ (x0 ) ≈ f ′ (x1 ) ≈ f ′ (x2 ) ≈
1 [−3y0 + 4y1 − y2 ] 2h 1 [−y0 + y2 ] 2h 1 [y0 − 4y1 + 3y2 ] 2h
(3.27) (3.28) (3.29)
Der Ausdruck (3.28) heißt zentraler Differenzenquotient. Er stellt die Steigung der Sekanten der Interpolationsparabel P2 (x) durch die beiden St¨ utzpunkte (x0 , y0 ), (x2 , y2 ) dar. Sie ist bekanntlich gleich der Steigung der Tangente an die Parabel im mittleren St¨ utzpunkt
104
3 Interpolation und Approximation
(x1 , y1 ). Der zentrale Differenzenquotient (3.29) zeichnet sich dadurch aus, dass er die erste Ableitung tats¨ achlich besser approximiert als der erste Differenzenquotient (3.26). Desgleichen k¨ onnen die erste und zweite Ableitung an bestimmten Stellen mit dem kubischen Interpolationspolynom angen¨ ahert werden. Die betreffende Rechnung ergibt die folgenden ausgew¨ ahlten Formeln der numerischen Differenziation: 1 [−11y0 + 18y1 − 9y2 + 2y3 ] 6h 1 [−2y0 − 3y1 + 6y2 − y3 ] f ′ (x1 ) ≈ 6h 1 [y0 − 27y1 + 27y2 − y3 ] f ′ (xM ) ≈ 24h 1 f ′′ (xM ) ≈ 2 [y0 − y1 − y2 + y3 ] 2h 1 xM = (x0 + x3 ) 2
f ′ (x0 ) ≈
(3.30)
Beispiel 3.4. Um eine Problematik der numerischen Differenziation aufzuzeigen, wollen wir die zweite Ableitung der hyperbolischen Sinusfunktion f (x) = sinh(x) an der Stelle x = 0.6 auf Grund des zweiten Differenzenquotienten (3.26) berechnen, und zwar f¨ ur eine Folge von Schrittweiten h, die gegen null strebt. Wir verwenden auf neun Stellen gerundete Funktionswerte, und die Auswertung des zweiten Differenzenquotienten erfolgt mit zehnstelliger Gleitpunktrechnung. In der folgenden aherung f¨ ur Tabelle sind die sich ¨ andernden Zahlenwerte h, x0 , x2 , y0 , y2 und die resultierende N¨ f ′′ (0.6) = sinh(0.6) = 0.636653582 zusammengefasst. h
x0
x2
y0
y2
f ′′ (x1 ) ≈
0.1 0.01 0.001 0.0001 0.00001
0.50 0.59 0.599 0.5999 0.59999
0.7 0.61 0.601 0.6001 0.60001
0.521095305 0.624830565 0.635468435 0.636535039 0.636641728
0.758583702 0.648540265 0.637839366 0.636772132 0.636665437
0.637184300 0.636660000 0.637000000 0.700000000 10.00000000
Mit abnehmender Schrittweite h wird die Ausl¨ oschung immer katastrophaler, so dass f¨ ur das kleinste h = 0.00001 ein ganz falscher N¨ aherungswert resultiert. △
Die numerische Differenziation ist ganz allgemein ein gef¨ahrlicher Prozess, der infolge der Ausl¨ oschung bei kleiner werdender Schrittweite Ergebnisse mit wachsenden relativen Fehlern liefert. Um genauere Werte von Ableitungen zu bekommen, kann die Methode der Extrapolation angewendet werden. Um das Prinzip darzulegen, ben¨otigt man eine Analyse des Fehlers. Dazu muss vorausgesetzt werden, dass die Funktion f (x), deren p-te Ableitung durch numerische Differenziation zu berechnen ist, beliebig oft stetig differenzierbar ist in dem in Betracht kommenden abgeschlossenen Intervall, und dass sie sich dort in konvergente Taylor-Reihen entwickeln l¨ asst.
105
3.1 Polynominterpolation
Beginnen wir mit dem 1. Differenzenquotienten (3.26), in welchem wir f¨ ur y1 = f (x1 ) = f (x0 + h) die Taylor-Reihe h2 ′′ h3 h4 f (x0 ) + f (3) (x0 ) + f (4) (x0 ) + . . . 2! 3! 4! einsetzen und erhalten mit y0 = f (x0 ) y1 = f (x0 ) + hf ′ (x0 ) +
h h2 h3 y1 − y0 = f ′ (x0 ) + f ′′ (x0 ) + f (3) (x0 ) + f (4) (x0 ) + . . . (3.31) h 2! 3! 4! Der Differenzenquotient stellt f ′ (x0 ) dar mit einem Fehler, der sich als Potenzreihe in h erfassen l¨ asst. F¨ ur den zentralen Differenzenquotienten (3.29) erhalten wir mit den TaylorReihen y2
y0
=
f (x2 ) = f (x1 + h)
=
f (x1 ) + hf ′ (x1 ) +
=
f (x0 ) = f (x1 − h)
h2 ′′ h3 h4 f (x1 ) + f (3) (x1 ) + f (4) (x1 ) + + . . . 2! 3! 4!
h3 h4 h2 ′′ f (x1 ) − f (3) (x1 ) + f (4) (x1 ) − + . . . 2! 3! 4! 2 4 6 1 h h h (3.32) [y2 − y0 ] = f ′ (x1 ) + f (3) (x1 ) + f (5) (x1 ) + f (7) (x1 ) + . . . 2h 3! 5! 7! Der zentrale Differenzenquotient (3.29) liefert nach (3.32) den Wert der ersten Ableitung f ′ (x1 ) mit einem Fehler, der sich in eine Potenzreihe nach h entwickeln l¨asst, in der nur gerade Potenzen auftreten. Der Fehler ist hier von zweiter Ordnung, w¨ahrend der Fehler (3.31) im ersten Differenzenquotienten von erster Ordnung ist. Der Approximationsfehler des zentralen Differenzenquotienten ist somit kleiner. =
f (x1 ) − hf ′ (x1 ) +
Desgleichen erhalten wir f¨ ur den 2. Differenzenquotienten (3.26) das Resultat 2h2 (4) 2h4 (6) 2h6 (8) y2 − 2y1 + y0 ′′ = f (x ) + (x ) + (x ) + f f f (x1 ) + . . . (3.33) 1 1 1 h2 4! 6! 8! Den drei Ergebnissen (3.31), (3.32) und (3.33) ist gemeinsam, dass eine berechenbare Gr¨oße B(t), die von einem Parameter t abh¨ angt, einen gesuchten Wert A (hier ein Ableitungswert) approximiert mit einem Fehler, der sich als Potenzreihe in t darstellt, so dass mit festen Koeffizienten a1 , a2 , . . . gilt B(t) = A + a1 t + a2 t2 + a3 t3 + . . . + an tn + . . .
(3.34)
Aus numerischen Gr¨ unden oder aber aus Gr¨ unden des Aufwands ist es oft nicht m¨oglich, die berechenbare Gr¨ oße B(t) f¨ ur einen so kleinen Parameterwert t zu bestimmen, dass B(t) eine hinreichend gute Approximation f¨ ur A darstellt. Das Prinzip der Extrapolation besteht nun darin, f¨ ur einige Parameterwerte t0 > t1 > t2 > . . . > tn > 0 die Werte B(tk ) zu berechnen und dann die zugeh¨ origen Interpolationspolynome Pk (t) sukzessive an der außerhalb der St¨ utzstellen liegenden Stelle t = 0 auszuwerten. Mit zunehmendem k stellen die Werte aherungswerte f¨ ur den gesuchten Wert B(0) = A dar. Die Extrapolation Pk (0) bessere N¨ wird abgebrochen, sobald die extrapolierten Werte Pk (0) den gesuchten Wert A mit der vorgegebenen Genauigkeit darstellen. Die Durchf¨ uhrung des Extrapolationsprozesses kann mit der Newton-Interpolation erfolgen.
106
3 Interpolation und Approximation
Beispiel 3.5. Die zweite Ableitung der Funktion f (x) = sinh(x) an der Stelle x = 0.6 soll mit der Methode der Extrapolation m¨ oglichst genau berechnet werden. Wegen (3.33) ist der Parameter oglichst kleinen relat = h2 . Damit die berechenbaren Werte B(tk ) := [y2 − 2y1 + y0 ]/tk einen m¨ tiven Fehler aufweisen, darf die Schrittweite nicht zu klein sein. In der nachfolgenden Tabelle sind die wesentlichen Zahlenwerte zusammengestellt. Als Funktionswerte yi = sinh(xi ) wurden auf neun wesentliche Stellen gerundete Zahlenwerte verwendet. Das Newton-Schema wurde mit sechzehnstelliger Genauigkeit durchgerechnet ebenso wie die Berechnung der Werte Pk (0). Die Vorgehensweise entspricht der von Beispiel 3.1. hk
tk = h2k
0.30 0.20 0.15 0.10
0.09 0.04 0.0225 0.01
Newton-Schema f¨ ur tk und B(tk ) 0.6414428889 0.6387786000 0.6378482222 0.6371843000
0.05328577800 0.05316444571 0.05311377600
0.001797515344 0.001688990476
0.001356560849
In der oberen Schr¨ agzeile stehen die Koeffizienten cj , j = 0, 1, 2, 3, der Polynome Pk (t), k = 0, 1, 2, 3. Es ist f ′′ (0.6) = sinh(0.6) = 0.6366535821482413. Damit ergibt sich k
1
2
3
Pk (0) |Pk (0) − sinh(0)|
0.6366471689 6.4133 · 10−6
0.6366536399 5.7787 · 10−8
0.6366535300 5.2094 · 10−8
Alle extrapolierten Werte Pk (0) sind bedeutend bessere N¨ aherungen als die Ausgangsdaten B(tk ). Im letzten Wert P3 (0) macht sich bereits die begrenzte Stellenzahl bei der Berechnung der y-Werte bemerkbar. △
3.2
Splines
Die Polynominterpolation ist ein klassisches Verfahren f¨ ur Aufgaben kleinen Umfangs. F¨ ur zu große Polynomgrade weisen die interpolierenden Polynome Oszillationen auf, sie werden unbrauchbar f¨ ur den Zweck der Interpolation. Die Interpolationsqualit¨at kann auch durch das Aneinanderst¨ uckeln einer einfachen Vorschrift verbessert werden. Das entspricht der u ¨ blichen Vorgehensweise bei der Bestimmung eines Funktionswertes mit Hilfe einer “Logarithmentafel”. Ist man aber nicht nur an einzelnen Werten, sondern an der approximierenden Funktion interessiert, so f¨ allt negativ auf, dass diese an den St¨ uckelungsstellen Knicke aufweist; sie ist dort nicht differenzierbar, nicht glatt. Ein Ausweg aus dieser Zwickm¨ uhle sind die Splinefunktionen, kurz Splines genannt. In ihrer allgemeinen Definition erf¨ ullen sie drei Bedingungen: • Sie sind st¨ uckweise Polynome vom H¨ ochstgrad k. • Sie sind p mal stetig differenzierbar. • Unter den Funktionen, die die ersten beiden Bedingungen erf¨ ullen und eine gegebene Tabelle interpolieren, sind sie die “glattesten” (s.u.). Am h¨ aufigsten werden die kubischen Splines mit k = 3 und p = 2 benutzt.
107
3.2 Splines f 1.5
1
0.5
x
0 0
1
2
3
4
5
6
−0.5
Abb. 3.6 St¨ uckweise Interpolation: Zwei Polynome (—) oder ein Spline (- -).
3.2.1
Kubische Splines
Physikalisch: Schon zu Beginn des 20. Jahrhunderts benutzte man im Schiffs- und etwas sp¨ ater im Flugzeugbau so genannte Straklatten (d¨ unne Balsaholzst¨abe, engl. splines), um glatte Fl¨ achen f¨ ur den Schiffs- oder Flugzeugk¨ orper oder die Fl¨ ugelform zu konstruieren. An vorgegebenen (Interpolations-) Punkten werden die Straklatten fixiert. Auf Grund des nat¨ urlichen Energieminimierungsprinzips ist dann die Form der Latte praktisch identisch mit der Kurve kleinster Kr¨ ummung, die diese Punkte interpoliert.
Abb. 3.7 Straklatte = Spline.
Wir wollen diese physikalische Aufgabe mathematisch formulieren: Gegeben seien n + 1 voneinander verschiedene St¨ utzstellen im Intervall [a, b] a = x0 < x1 < · · · < xn = b
und diesen zugeordnete St¨ utzwerte y0 , y1 , . . . , yn .
(3.35)
108
3 Interpolation und Approximation
Gesucht ist eine Funktion s, die folgende Forderungen erf¨ ullt: (i) s interpoliert die gegebene Tabelle: s(xi ) = yi i = 0, 1, . . . , n. (3.36) (ii) s ist im Intervall [a, b] mindestens einmal stetig differenzierbar. (iii) Im Innern jeden Teilintervalls (xi , xi+1 ), i = 0, 1, . . . , n − 1, ist s mindestens viermal stetig differenzierbar. F¨ ur die Ableitungen existieren links- und rechtsseitige Grenzwerte an ussen. den St¨ utzstellen xi , die aber nicht notwendig u ¨ bereinstimmen m¨ (iv) s minimiert das Funktional ( 1 b ′′ 2 J[s] := s (x) dx. (3.37) 2 a Dies entspricht f¨ ur kleine Kr¨ ummungen der Minimierung der Energie, die die Straklatte zum Verbiegen verbraucht und ist damit eine nat¨ urliche Bedingung im Gegensatz z.B. zu ) b ′′ der auch vorstellbaren Minimierung von a |s (x)| dx. Satz 3.5. Es existiert genau eine Funktion s, die die Bedingungen (i)–(iv) erf¨ ullt.
Wir folgen dem sch¨onen Beweis in [Hen 82], der die klassische Variationsrechnung benutzt. Sie liefert die notwendigen Bedingungen, die s als L¨osung erf¨ ullen muss. Die Eindeutigkeit folgt dann aus der Eindeutigkeit der Hermite-Interpolation, siehe 3.1.4, weil die Forderungen zu eindeutig festgelegten Ableitungen in den St¨ utzstellen f¨ uhren. Algorithmisch wollen wir uns auf die Konstruktion von Splinefunktion aus Basisfunktionen, den so genannten B-Splines, beschr¨ anken, siehe die Abschnitte 3.2.2 und 3.2.3. Beweis. Zun¨ achst wollen wir voraussetzen, dass eine Funktion s existiert, die die Forderungen (i)–(iv) erf¨ ullt. Die Variationstechnik, die auf Euler zur¨ uckgeht, liefert damit andere Bedingungen, die s eindeutig charakterisieren. Damit konstruieren wir ein s und zeigen, dass es die Forderungen (i)–(iv) erf¨ ullt. ullt. Sei s also eine Funktion, die (i)–(iv) erf¨ ullt. Sei s1 eine andere Funktion, die (i)–(iii) erf¨ Dann gilt f¨ ur s1 J[s] ≤ J[s1 ].
(3.38)
F¨ ur s1 w¨ ahlen wir die spezielle Form s1 (x) = s(x) + ε h(x).
(3.39)
ullt, gelten f¨ ur h Dabei ist ε ein reeller Parameter, und weil s1 die Bedingungen (i)–(iii) erf¨ die Eigenschaften (ii), (iii) und statt (i) die Gleichungen h(xi ) = 0,
i = 0, 1, . . . , n.
(3.40)
Jedes h, das diese Bedingungen erf¨ ullt, heißt zul¨assig, weil es ein s1 liefert, das (i)–(iii) erf¨ ullt. Sei nun ( 1 b ′′ 2 (s (x) + εh′′ (x)) dx. (3.41) J(ε) := J[s1 ] = 2 a
109
3.2 Splines
J(ε) ist ein quadratisches Polynom in ε. Wegen (3.38) nimmt dieses Polynom sein Minimum f¨ ur ε = 0 an. Eine notwendige Bedingung daf¨ ur ist, dass dJ J (0) = =0 dε ε=0 ′
f¨ ur jede zul¨ assige Funktion h.
(3.42)
Es ist leicht nachzurechnen, dass J ′ (0) =
(
b
s′′ (x)h′′ (x) dx.
(3.43)
a
Dieser Ausdruck wird zweimal partiell integriert, was wegen (iii) getrennt in jedem Teilintervall geschehen muss. Es sind (
(
xi+1
xi xi+1
′′
′′
s (x)h (x) dx s(3) (x)h′ (x) dx
xi
xi+1 ( xi+1 = s (x)h (x) s(3) (x)h′ (x) dx, − xi xi xi+1 ( xi+1 (3) = s (x)h(x) s(4) (x)h(x) dx. − ′′
′
xi
xi
utzstellen und summieren alle Teilsummen Beachten wir jetzt, dass h(xi ) = 0 an allen St¨ auf, dann bekommen wir J ′ (0)
= −s′′ (x0 +)h′ (x0 ) + (s′′ (x1 −) − s′′ (x1 +)) h′ (x1 ) + (s′′ (x2 −) − s′′ (x2 +)) h′ (x2 ) + · · · + s′′ (xn −)h′ (xn ) ( b + s(4) (x)h(x) dx.
(3.44)
a
Dabei sind s′′ (xi +) bzw. s′′ (xi −) die Grenzwerte von s′′ , wenn x von rechts bzw. von links auft. gegen xi l¨ Da h eine beliebige zul¨ assige Funktion sein kann, folgen aus J ′ (0) = 0 zwei Bedingungen, erstens s(4) (x) = 0 f¨ ur alle x = x0 , x1 , . . . , xn .
(3.45)
W¨ are dies nicht so, w¨ are also z.B. s(4) (ξ) > 0 an einem inneren Punkt eines Teilintervalls, dann k¨ onnten wir ein zul¨ assiges h finden mit h(ξ) > 0 nur in einer kleiner Umgebung des Punktes ξ. Dann w¨ urde nur das entsprechende Teilintervall einen positiven Anteil im Integral in (3.44) liefern und damit w¨ are J ′ (0) > 0 im Widerspruch zu (3.42). Zweitens folgt s′′ (x0 +) = s′′ (xi −) =
s′′ (xn −) = 0 und s′′ (xi +), i = 1, 2, . . . , n − 1;
(3.46) (3.47)
110
3 Interpolation und Approximation
d.h. s′′ ist stetig und verschwindet an den Endpunkten1 . W¨are dies nicht so, w¨are also z.B. s′′ (xk −) − s′′ (xk +) = 0 f¨ ur irgendein k, dann g¨abe es ein zul¨assiges h mit h′ (xi ) = 0 an allen Punkten außer f¨ ur xk , was wiederum J ′ (0) = 0 zur Folge h¨atte im Widerspruch zu (3.42). Aus der ersten Bedingung (3.45) folgt, dass s in jedem Teilintervall [xi , xi+1 ] als Polynom dritten Grades si (x) dargestellt werden kann. Aus (i), (ii) und (3.47) folgt, dass diese Polynome sowie ihre ersten und zweiten Ableitungen an den inneren St¨ utzstellen stetig ineinander u ¨ bergehen: si (xi ) s′i (xi ) s′′i (xi )
⎫ = si−1 (xi ), ⎪ ⎪ ⎬ ′ i = 1, 2, . . . , n − 1. = si−1 (xi ), ⎪ ⎪ ⎭ = s′′i−1 (xi ),
(3.48)
Außerdem folgt aus (3.47)
s′′0 (x0 ) = s′′n−1 (xn ) = 0.
(3.49)
Damit sind die Eigenschaften der Splinefunktion s hergeleitet. Jetzt ist noch zu zeigen, dass genau eine solche Funktion s bzw. eine Menge kubischer Polynome {s0 , s1 , . . . , sn−1 } existiert, die diese Eigenschaften besitzen. Da ein Polynom dritten Grades vier Koeffizienten besitzt, liegen vier Freiheitsgrade pro Teilintervall vor, die durch die Bedingungen benutzt werden k¨ onnen, um si eindeutig festzulegen. Zwei Bedingungen sind die aus Forderung (i): si (xi ) = yi ,
si (xi+1 ) = yi+1 .
(3.50)
Um zwei weitere Bedingungen zu formulieren, f¨ uhren wir die Gr¨oßen ci := s′ (xi )
(3.51)
ein. Sie stellen zun¨achst unsere Unbekannten dar und liefern die beiden Bedingungen s′i (xi ) = ci ,
s′i (xi+1 ) = ci+1 .
(3.52)
Wir transformieren jetzt mit t :=
x − xi , hi
hi := xi+1 − xi
(3.53)
das Teilintervall [xi , xi+1 ] auf das Intervall [0, 1] und damit si auf qi (t) = si (x) = si (xi + hi t).
(3.54)
1 F¨ ur die Straklatte ist dies ohnehin klar: Wenn sie sich an den Enden frei verbiegen kann, wird sie das ungekr¨ ummt tun.
111
3.2 Splines
Auch die qi sind kubische Polynome und unsere vier Bedingungen werden zu qi (0) = yi , ′ qi (0) = hi ci ,
qi (1) = yi+1 ,
(3.55)
qi′ (1)
(3.56)
= hi ci+1 .
Dies sind die Daten, die eine Hermite-Interpolation an zwei Punkten erfordert, siehe Abschnitt 3.1.4. Es ist leicht zu sehen, dass die L¨ osung das kubische Polynom qi (t) =
(1 − t)2 yi + t2 yi+1 + t(1 − t) {(1 − t)(2yi + hi ci ) + t(2yi+1 − hi ci+1 }
(3.57)
ist. Durch die Interpolation ist die Stetigkeit der Funktion s und ihrer ersten Ableitung s′ gesichert. Deshalb betrachten wir noch die zweite Ableitung an den Intervallenden qi′′ (0) = 6(yi+1 − yi ) − 2hi (2ci + ci+1 ), qi′′ (1) = −6(yi+1 − yi ) + 2hi (ci + 2ci+1 ).
(3.58) (3.59)
ur das Verschwinden der zweiten Mit s′′i (x) = qi′′ (t)(dt/dx)2 = qi′′ (t)hi−2 ergeben sich f¨ Ableitung von s an den Endpunkten und f¨ ur ihre Stetigkeit an den inneren St¨ utzstellen die Bedingungen (2c0 + c1 )/h0 (cn−1 + 2cn )/hn−1
= =
und f¨ ur i = 1, . . . , n − 1 : (ci−1 + 2ci )/hi−1 + (2ci + ci+1 )/hi =
3(y1 − y0 )/h20 , 3(yn − yn−1 )/h2n−1 ,
(3.60)
3(yi − yi−1 )/h2i−1 + 3(yi+1 − yi )/h2i .
Diese Beziehungen stellen ein System von n + 1 linearen Gleichungen f¨ ur die n + 1 Unbekannten c0 , c1 , . . . , cn dar. Seine Koeffizientenmatrix ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝
2 h0 1 h0
0
1 h0 2 2 + h0 h1 1 h1 .. .
0 1 h1 2 2 + h1 h2 .. .
1 h2
1 hn−2
2 2 + hn−2 hn−1 1 hn−1
..
. 1 hn−1 2 hn−1
⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
(3.61)
ist symmetrisch und diagonal dominant. Folglich ist sie nach dem Kreise-Satz von Gerschgorin 5.17 nicht singul¨ ar, sie ist sogar positiv definit. Also hat das Gleichungssystem (3.60)
112
3 Interpolation und Approximation
eine eindeutige L¨ osung. Daraus folgt, dass es genau eine Funktion s gibt, die die Forderungen (i)–(iv) erf¨ ullt. In jedem Teilintervall [xi , xi+1 ] wird diese Funktion durch ein kubisches Polynom si (x) repr¨ asentiert. Die Funktion s heißt nat¨ urliche Spline-Interpolierende. Die durch die Minimierung des Funktionals (3.37) entstehenden nat¨ urlichen Randbedingungen sind nicht f¨ ur jede Anwendung der Spline-Interpolation passend. Sie k¨ onnen leicht durch zwei andere Bedingungen ersetzt werden. Damit ergeben sich die drei am h¨ aufigsten benutzten Formen: Nat¨ urlicher Spline: Vollst¨ andiger Spline: Periodischer Spline:
s′′ (x0 ) = 0 s′′ (xn ) = 0, s′ (xn ) = yn′ , s′ (x0 ) = y0′ , ′ ′ s (x0 ) = s (xn ) s′′ (x0 ) = s′′ (xn ).
Die zus¨ atzlichen Randbedingungen k¨ onnen vermieden werden, wenn als Basis einer Interpolations- oder Approximationsaufgabe die so genannten B-Splines gew¨ahlt werden, mit denen wir uns in den n¨ achsten Abschnitten besch¨ aftigen wollen. Sie eignen sich als Funktionensystem und durch die M¨ oglichkeit rekursiver Konstruktion auch besser f¨ ur die algorithmische Darstellung der L¨ osung von Spline-Aufgaben wie Interpolation oder Approximation.
3.2.2
B-Splines 1. Grades
Die beste algorithmisch zu verarbeitende Form einer Splinefunktion ist ihr Aufbau aus sehr einfachen Basisfunktionen, den B-Splines. Leider ist deren allgemeine Darstellung etwas komplex und nicht sehr anschaulich. Wir wollen deshalb den Begriff der B-Splines an einem Beispiel mit wenigen St¨ utzstellen und in ihrer einfachsten Form kennen lernen, den BSplines 1. Grades, die anschaulicher auch Hutfunktionen genannt werden. Es handelt sich um stetige, st¨ uckweise lineare Funktionen. Beispiel 3.6. Zu den St¨utzstellen x0 < x1 < x2 < x3
(3.62)
suchen wir die vier Funktionen, die • in jedem der Intervalle [x0 , x1 ], [x1 , x2 ] und [x2 , x3 ] lineare Polynome sind, • in genau einer der vier St¨ utzstellen den Wert 1 annehmen, und • in den anderen St¨ utzstellen verschwinden. Offensichtlich sind das die vier Funktionen der Abb. 3.8. 1
Bi (x) B0
0 x0
B2
B1
x1
x2
B3
x x3
Abb. 3.8 Lineare B-Splines f¨ ur vier St¨ utzstellen.
113
3.2 Splines
Diese vier einfachen Funktionen wollen wir jetzt genauso (kompliziert) herleiten, wie das bei allgemeinen B-Splines getan wird. Zun¨ achst werden die B-Splines nicht u utzstellen ¨ ber der Menge der St¨ (auf der man z.B. interpolieren will), erkl¨ art, sondern u ¨ ber einer Knotenpunktmenge, die wir hier f¨ ur die Interpolation speziell festlegen wollen als t0 := t1 := x0 , t2 := x1 , t3 := x2 , t4 := t5 := x3 . Außerdem definieren wir die abgeschnittene Potenzfunktion 1. Grades ( (t − x) falls t ≥ x Fx (t) := 0 falls t < x
(3.63)
(3.64)
Fx (t) ist f¨ ur jedes (feste) x eine Funktion von t. Ihre Werte in den Knotenpunkten ti seien die St¨ utzwerte fi := Fx (ti ). Die B-Splines werden jetzt mit Hilfe der dividierten Differenzen definiert, die wir in Abschnitt 3.1.3 kennen gelernt haben. Wir wollen das nur f¨ ur B0 genauer aufschreiben: B0 (x) := (t2 − t0 )[f0 , f1 , f2 ] .
(3.65)
Hier sind noch zwei Besonderheiten zu beachten. Einmal sind die dividierten Differenzen ja noch Funktionen von x, denn sie werden mit t-Werten gebildet, die fi h¨ angen aber noch von x ab, also auch die Bi . Zum anderen gibt es wieder gleiche St¨ utzstellen und Werte im Newton-Schema, die wie bei der Hermite-Interpolation in Abschnitt 3.1.4 durch Ableitungswerte ersetzt werden. F¨ ur B0 ergibt sich folgendes Newton-Schema:
Also ist
ti x0
Fx (ti ) 0
x0
0
x1
x1 − x
0
x1 −x x1 −x0
x1 − x x1 − x0
8 < x1 − x x1 − x0 B0 (x) = : 0
x1 − x0
falls
x ∈ [x0 , x1 ]
.
(3.66)
sonst
Noch umst¨ andlicher wird die Bestimmung von B1 (x) := (t3 − t1 )[f1 , f2 , f3 ] , weil man jetzt wegen der Fallunterscheidung in der Definition der abgeschnittenen Potenzfunktion zwei Newton-Schemata braucht. Anschaulich ergibt sich ja ganz leicht, dass 8 x1 − x x − x0 > falls x ∈ [x0 , x1 ] > > 1 − x1 − x0 = x1 − x0 > < x2 − x B1 (x) = falls x ∈ [x1 , x2 ] > > x 2 − x1 > > : 0 sonst
sein muss. Die komplizierte Definition ist nur f¨ ur allgemeine Aufgaben von Vorteil, wie wir noch sehen werden. △
Hat man die B-Splines f¨ ur gegebene St¨ utzstellen und f¨ ur eine Knotenpunktmenge einmal berechnet, so l¨ asst sich die folgende Interpolationsaufgabe leicht l¨osen:
114
3 Interpolation und Approximation
Bestimme Koeffizienten αi , i = 0, . . . , n, so, dass n
αi Bi (xk ) = yk , k = 0, 1 . . . , n.
i=0
Wegen
Bi (xk ) =
1 0
falls i = k falls i = k
ist einfach (wie bei der Lagrange-Interpolation, siehe Abschnitt 3.1.2) αi := yi .
3.2.3
Kubische B-Splines
B-Splines h¨ oherer Ordnung sind von Hand kaum noch zu berechnen. Sie eignen sich aber um so besser f¨ ur die Computer-Berechnung, weil sie sich aus B-Splines niedrigerer Ordnung rekursiv berechnen lassen. F¨ ur zweimal stetig differenzierbare Splinefunktionen dritten Grades begn¨ ugen wir uns damit ihre rekursive Definition anzugeben und ihre wesentlichen Eigenschaften ohne Beweise zusammenzustellen. Dazu definieren wir zun¨achst wieder mit Hilfe der St¨ utzstellenmenge {xi } eine spezielle Knotenpunktmenge {ti } : {t0 , t1 , t2 , t3 , t4 , t5 , . . . , {x0 , x0 , x0 , x0 , x2 , x3 , . . . ,
tn , tn+1 , tn+2 , tn+3 , tn+4 } xn−2 , xn , xn , xn , xn } .
F¨ ur diese Knotenpunkte t0 , t1 , . . . , tn+4 definieren wir die B-Splines 0. Grades ⎫ ⎧ ⎨ 1 falls ti ≤ x < ti+1 ⎬ Bi,0 (x) = i = 0, 1, . . . , n + 3. 1 falls x = ti+1 = xn ⎭ ⎩ 0 sonst
:=
(3.67)
Es ist also Bi,0 (x) ≡ 0, falls ti = ti+1 . Die B-Splines h¨oheren Grades ergeben sich aus denen 0. Grades rekursiv: x − ti ti+k+1 − x Bi,k (x) =∗ Bi,k−1 (x) + Bi+1,k−1 (x). (3.68) ti+k − ti ti+k+1 − ti+1
(=∗ bedeutet, dass Terme mit Nenner null weggelassen werden.)
Aus der oben angegebenen Knotenpunktmenge und den B-Splines 0. Grades lassen sich also folgende B-Splines rekursiv berechnen B0,0 ↓ B0,1 ↓ B0,2 ↓ B0,3
B1,0 B2,0 . . . ւ ↓ ւ ... B1,1 ... ... ւ ↓ ... ... B1,2 ... ... ւ ↓ ... ... B1,3 ... ...
Bn,0 ↓ Bn,1 ↓ Bn,2 ↓ Bn,3
Bn+1,0 ւ ↓ Bn+1,1 ւ ↓ Bn+1,2 ւ
Bn+2,0 ւ ↓ Bn+2,1 ւ
Bn+3,0 ւ (3.69)
115
3.2 Splines
Zu einem Punkt x ∈ [ti , ti+1 ] mit ti < ti+1 ben¨ otigt man zur Berechnung einer Splinesumme mit den kubischen B-Splines alle B-Spline-Werte Bi,k (x) f¨ ur k = 0, 1, 2, 3, die in x einen Wert ungleich null haben. Diese kann man in einem Dreiecksschema anordnen und mit rekursiven Algorithmen elegant berechnen:
0 Bi,0 0
0 Bi−1,1 Bi,1 0
0 Bi−2,2 Bi−1,2 Bi,2 0
0 Bi−3,3 Bi−2,3 Bi−1,3 Bi,3 0
(3.70)
Die B-Splines werden also nur in den entsprechenden Teilintervallen berechnet. Da die Konstruktion der B-Splines nicht besonders anschaulich ist, wollen wir die Funktionen durch ihre Eigenschaften n¨ aher charakterisieren. Die B-Splines Bi (x) := Bi,3 (x) erf¨ ullen folgende Bedingungen : 1. Sie haben kleinstm¨ ogliche Tr¨ agerintervalle: B0 (x) > 0 falls x ∈ [x0 , x2 ), B1 (x) > 0 falls x ∈ (x0 , x3 ), B2 (x) > 0 B3 (x) > 0
Bi (x) > 0 Bn−3 (x) > 0 Bn−2 (x) > 0 Bn−1 (x) > 0
falls x ∈ (x0 , x4 ), falls x ∈ (x0 , x5 ),
falls x ∈ (xi−2 , xi+2 ), falls x ∈ (xn−5 , xn ),
i = 4, . . . , n − 4,
(3.71)
falls x ∈ (xn−4 , xn ), falls x ∈ (xn−3 , xn ),
Bn (x) > 0 falls x ∈ (xn−2 , xn ]. Außerhalb dieser Intervalle sind die B-Splines identisch null. n 2. Bi (x) = 1 ∀x ∈ [x0 , xn ] i=0
3. Die Matrix B mit den Koeffizienten bik := Bk (xi ) (3.72) hat F¨ unfbandgestalt und ist regul¨ ar. Oft ist sie symmetrisch und dann auch positiv definit. Sie kann (bis zu) Siebenbandgestalt haben, wenn die Knotenpunkte ti beliebig, d.h. unabh¨ angig von den St¨ utzstellen xi gew¨ ahlt werden. 4. Die Werte der B-Splines wie die ihrer Ableitungen und ihrer Integrale lassen sich rekursiv und numerisch stabil berechnen. Auf Grund dieser positiven Eigenschaften eignen sich B-Splines auch gut als Ansatzfunktionen bei der L¨ osung von Differenzial- und Integralgleichungen. F¨ ur ¨ aquidistante St¨ utzstellen wollen wir die inneren kubischen B-Splines angeben. Sei also xi := x0 + ih, i = 0, 1, . . . , n.
116
3 Interpolation und Approximation
B0 1/8
1
B1 37/72
1/9
B2 23/72
5/9
1/8
B3 1/24
1/3
17/24
1/6
B4 1/6 × × × × x0
x1
2/3
1/6
×
×
×
×
x2
x3
x4
x5
×
x6
Abb. 3.9 Kubische B-Splines bei ¨ aquidistanten St¨ utzstellen.
Dann ist f¨ ur i = 4, 5, . . . , n − 4: 1 Bi (x) = 3 · 6h ⎧ (x − xi−2 )3 , x ∈ [xi−2 , xi−1 ], ⎪ ⎪ ⎪ 3 2 2 3 ⎪ + 3h (x − x ) + 3h(x − x ) − 3(x − x ) , x ∈ [xi−1 , xi ], h ⎨ i−1 i−1 i−1 3 2 2 3 h + 3h (xi+1 − x) + 3h(xi+1 − x) − 3(xi+1 − x) , x ∈ [xi , xi+1 ], ⎪ ⎪ ⎪ (xi+2 − x)3 , x ∈ [xi+1 , xi+2 ], ⎪ ⎩ 0, sonst.
In Abb. 3.9 sind die ersten f¨ unf kubischen B-Splines bei mindestens neun St¨ utzstellen dargestellt. Die Knotenpunkte sind mit × gekennzeichnet. Der einzige “innere” B-Spline mit einem Tr¨ ager von vier Intervallen und symmetrischem Verlauf ist B4 . Diese inneren B-Splines sind interpolierende nat¨ urliche kubische Splines mit ¨aquidistanten St¨ utzstellen {xi−2 , . . . , xi+2 } zu der Wertetabelle yi = {0, 1/6, 2/3, 1/6, 0} .
117
3.2 Splines
F¨ ur die Konstruktion der B-Splines haben wir bisher die Knotenpunkte sehr speziell festgelegt. Werden die Knotenpunkte freier festgelegt, so wird eine große Flexibilit¨at bei der Definition der Basisfunktionen erreicht. Diese Flexibilit¨at soll noch an einem gegen¨ uber dem allgemeinen Fall stark vereinfachten Lemma und an einer Beispiel-Zeichnung deutlich gemacht werden:
Lemma 3.6. Ist tj ein m-facher innerer Knoten, dann ist ein kubischer B-Spline Bi an der Stelle tj mindestens (3 − m) mal stetig differenzierbar. Durch diese Eigenschaft k¨ onnen Splines mit gew¨ unschten Ecken oder Spr¨ ungen konstruiert werden, wie Abb. 3.10 zeigt. 1
f
x 0 0 × × × ×
1 ×
2 × ×
3 × × ×
4 ×
5 ×
Abb. 3.10 Kubische B-Splines mit mehrfachen inneren Knoten.
Interpolation Die gesuchte Splinefunktion s(x) wird als Linearkombination der B-Splines dargestellt: s(x) =
n
αk Bk (x).
(3.73)
k=0
Dies ist ein Ansatz mit n+1 Freiheitsgraden. F¨ ur n+1 Interpolationsbedingungen ergibt sich daher eine eindeutige L¨ osung. Zus¨ atzliche Bedingungen am Rand sind nicht zu erf¨ ullen. Das ist ein Vorteil des B-Spline-Ansatzes gegen¨ uber der u ¨blichen kubischen Spline-Interpolation (Abschnitt 3.2.1).
118
3 Interpolation und Approximation
Durch L¨ osung des linearen Gleichungssystems Bα = y werden die unbekannten Koeffizienten αk bestimmt; α und y sind die Vektoren mit den αk bzw. yi als Komponenten, also: n αk Bk (xi ) = yi , i = 0, 1, . . . , n. (3.74) k=0
Diese L¨ osung ist auf Grund der oben genannten Eigenschaften stabil und schnell m¨oglich. Weitere Einzelheiten zu B-Splines findet man in [Boo 01]. Approximation
Sollen m St¨ utzwerte ausgeglichen werden mit m > n + 1, so ist eine diskrete GaußApproximation durchzuf¨ uhren, siehe Abschnitt 3.6. Es ergibt sich das entsprechende Gleichungssystem Bα = y, wo allerdings B jetzt eine rechteckige Matrix ist. Dieses wird mit der Methode der kleinsten Quadrate, siehe Kapitel 6, gel¨ost: 2 n m (3.75) → min αk Bk (xi ) − yi i=0
αi
k=0
20
P (x)
15
10
f (x)
5
0
10
20
30
40
50
60
20
30
40
50
60
10 8 6 4 2 0
f (x) s(x) 10
Abb. 3.11 Vergleich der Interpolationsmethoden.
119
3.3 Zweidimensionale Splineverfahren Tab. 3.2 Werte im Vergleich. x
P (x)
s(x)
f (x) =
0.1 0.3 0.5 0.7 0.9 51.0 53.0 55.0 57.0 59.0 61.0 63.0
0.128820 0.364987 0.574768 0.760697 0.925141 18.501183 35.466596 56.773501 78.917289 94.778908 92.051716 51.276268
0.124346 0.355691 0.564967 0.753454 0.922429 7.141938 7.281021 7.417362 7.551075 7.682272 7.811066 7.937570
√
x
0.316227 0.547722 0.707106 0.836660 0.948683 7.141428 7.280109 7.416198 7.549834 7.681145 7.810249 7.937253
Beispiel 3.7. Die Interpolation mit Polynomen oder mit Splines soll an einem Beispiel verglichen werden. Die Funktion √ f (x) = x soll im Intervall [0, 64] an folgenden Stellen interpoliert werden: x y
0 0
1 1
4 2
9 3
16 4
25 5
36 6
49 7
64 8
Nat¨ urlich ist dies ein sehr k¨ unstliches Beispiel, aber es verdeutlicht den Qualit¨ atsunterschied der betrachteten Interpolationsverfahren bei sehr schwach variierenden Tabellenwerten sehr sch¨ on. Uns interessieren besonders die Werte der Interpolationsfunktionen in den √ Randintervallen (0, 1) und (49, 64). In Tab. 3.2 stellen wir die Werte der Funktion f (x) = x den Werten aus der Polynom- und der Splineinterpolation gegen¨ uber. In Abb. 3.11 finden wir oben die Funktion f und das interpolierende Polynom P . P oszilliert stark und verschwindet bei x ≈ 50 sogar aus der Zeichnung, weil es Werte bis zu 100 annimmt. Im unteren Teil sind f und die interpolierende Splinefunktion s eingezeichnet. Sie stimmen bis auf ganz leichte Oszillationen von s am Anfang des Intervalls gut u △ ¨ berein.
3.3
Zweidimensionale Splineverfahren
Wir betrachten zwei Problemstellungen: Interpolation Gegeben sei eine Tabelle mit Daten (xk , yk , fk ) k = 1, 2, . . . , m.
(3.76)
120
3 Interpolation und Approximation
Gesucht ist eine Funktion S(x, y) :=
l n
cνµ sν (x)tµ (y) mit l n = m und
(3.77)
ν=1 µ=1
S(xk , yk ) = fk , k = 1, 2, . . . , m. Dabei sind die Funktionen sν und tµ die eindimensionalen Ansatzfunktionen. Approximation Gegeben sei eine Tabelle mit Daten (xk , yk , fk ) k = 1, 2, . . . , m.
(3.78)
Gesucht ist eine Funktion S(x, y) :=
n l
cνµ sν (x)tµ (y) mit l n < m und
(3.79)
ν=1 µ=1 m
k=1
(S(xk , yk ) − fk )2 → min . cνµ
Bei der Interpolation wird die L¨ osung stark vereinfacht, wenn man sich auf die Gitterpunkte eines Rechteckgitters beschr¨ ankt: Gegeben seien zwei Koordinatenlisten und eine Liste mit Funktionswerten: xi , i = 1, 2, . . . , n und yj , j = 1, 2, . . . , l fij , i = 1, 2, . . . , n, j = 1, 2, . . . , l. Gesucht ist eine Funktion n l S(x, y) := cνµ sν (x)tµ (y)
(3.80)
(3.81)
ν=1 µ=1
mit S(xi , yj )
=
fij , i = 1, 2, . . . , n, j = 1, 2, . . . , l.
(3.82)
In den folgenden Unterabschnitten wollen wir f¨ ur bilineare und bikubische Tensorsplines zwei Konstruktionsprinzipien kennen lernen.
3.3.1
Bilineare Tensorsplines
Hier wollen wir Fl¨ achen im Ê3 durch Produkte st¨ uckweise linearer Polynome konstruieren (nach [Loc 92]). Dieses Prinzip l¨ asst sich auf bikubische Splines u ¨ bertragen, die wir allerdings nach einem etwas anderen Konstruktionsprinzip im n¨achsten Unterabschnitt herleiten wollen. Sei eine Funktion f : Qk → Ê gegeben. Dabei ist Qk = {(x, y)| − k ≤ x, y ≤ k} ein Quadrat mit der Seitenl¨ ange 2k.
121
3.3 Zweidimensionale Splineverfahren
Wir bilden jetzt mit der Grundfunktion ⎧ ⎨ 1 + t −1 ≤ t < 0 B1 (t) := 1−t 0≤t<1 ⎩ 0 sonst die zweidimensionale Produktfunktion D11 (x, y) := B1 (x)B1 (y),
(x, y) ∈ Ê2 ,
die ungleich null nur f¨ ur −1 < x, y < 1 ist. H¨ alt man eine Variable fest, so entsteht eine st¨ uckweise lineare Funktion der anderen Variablen. Insgesamt erh¨alt man also eine auf der Ebene z = 0 aufsitzende Pyramide. Die Seitenfl¨achen sind allerdings nicht eben, sondern leicht gekr¨ ummt, siehe Abb. 3.12.
Abb. 3.12 Bilinearer Basisspline.
Satz 3.7. Zu den Daten fij , bilinearer Spline S mit S(i, j) = fij , S hat die Darstellung S(x, y) =
k
−k ≤ i, j ≤ k,
k ∈ Æ ∗ , existiert ein eindeutig bestimmter
−k ≤ i, j ≤ k. k
i=−k j=−k
fij D11 (x − i, y − j),
(x, y) ∈ Ê2 .
Diesen Satz kann man leicht in allgemeiner Form beweisen:
Satz 3.8. Das Interpolationsproblem n aν ϕν (k) = fk , k = 0, . . . , n, ν=0
122
3 Interpolation und Approximation
sei f¨ ur jeden Datensatz (fk )k=0,...,n ∈ Ên+1 eindeutig l¨osbar. Dann hat auch das durch Tensorproduktbildung definierte Interpolationsproblem n m k = 0, . . . , n aνµ Dνµ (k, l) = fkl l = 0, . . . , m ν=0 µ=0
mit
ν = 0, . . . , n µ = 0, . . . , m
Dνµ (x, y) := ϕν (x)ϕµ (y)
f¨ ur jeden Datensatz (fkl ) ∈ Ê(n+1)(m+1) eine eindeutig bestimmte L¨osung. Beweis. n m
aνµ Dνµ (k, l) =
ν=0 µ=0
m n "
ν=0
µ=0
# aνµ ϕµ (l) ϕν (k).
Setzen wir τνl :=
m
ν = 0, . . . , n l = 0, . . . , m,
aνµ ϕµ (l),
µ=0
dann muß gelten n
τνl ϕν (k) = fkl
ν=0
k = 0, . . . , n . l = 0, . . . , m
Das sind m + 1 eindeutig l¨ osbare eindimensionale Interpolationsprobleme. Mit den τνl bekommt man die n + 1 ebenfalls eindeutig l¨ osbaren Interpolationsprobleme m
aνµ ϕµ (l) = τνl
µ=0
l = 0, . . . , m, ν = 0, . . . , n,
die die gesuchten Koeffizienten eindeutig liefern. Durch die Tensorproduktbildung, d.h. durch den Aufbau der mehrdimensionalen Interpolation als Produkt aus eindimensionalen Interpolationen wird eine Aufwandsersparnis erreicht, ebenfalls dadurch, dass die B-Splines minimalen Tr¨ager haben. Beispiel 3.8. Interpoliere bilinear mit k = 10, also auf dem Quadrat [−10, 10] × [−10, 10] die
Funktion
f (x, y) = exp
x 10
!
exp
! |y| . 10
p
Das Ergebnis sehen wir in Abb. 3.13.
△
123
3.3 Zweidimensionale Splineverfahren
x Abb. 3.13 Bilineare Spline-Interpolation von f (x, y) = exp 10
3.3.2
!
exp
! |y| . 10
p
Bikubische Tensorsplines
Sei jetzt in (3.77) sν (x)
:=
tµ (y) :=
Bν (x),
ν = 1, 2, . . . , n,
(3.83)
Bµ (y), µ = 1, 2, . . . , l.
Dabei sind Bν (x) bzw. Bµ (y) die in Abschnitt 3.2.3 eingef¨ uhrten kubischen B-Splines, jetzt u utzstellenmengen {xi } bzw. {yj } definiert2 und in der Nummerierung um ¨ ber den zwei St¨ Eins verschoben. Einen typischen zweidimensionalen B-Spline auf einem 10×10-Gitter kann man in Abb. 3.14 sehen. Mit (3.83) ergeben sich die zweidimensionalen Ansatzfunktionen ˆνµ (x, y) := Bν (x)Bµ (y). B
(3.84)
In jedem Rechteck Rη des Gitters sind dies Polynome vom H¨ochstgrad 6: ˆνµ (x, y) = B
3 3 i=0 j=0
aij xi y j , falls (x, y) ∈ Rη .
(3.85)
Dabei h¨ angen die Koeffizienten aij noch von den Spline-Indizes (ν, µ) und dem Rechteck Rη ab, m¨ ussten also eigentlich f¨ unf Indizes haben. Die Funktionen gehen an den Rechteckseiten zweimal stetig differenzierbar ineinander u ¨ ber, wenn alle inneren Knotenpunkte verschieden sind. Das entspricht dem eindimensionalen Fall. Die L¨ osung des Interpolationsproblems (3.77) auf dem Rechteckgitter (3.80) liefert jetzt das 2 Wir
wollen beide mit B bezeichnen, da uns das anschaulicher und weniger verwirrend erscheint als eine ˜ korrektere Bezeichnung wie etwa B und B.
124
3 Interpolation und Approximation
Abb. 3.14 Zweidimensionaler bikubischer B-Spline.
lineare Gleichungssystem n l
cνµ Bν (xi )Bµ (yj ) = fij , i = 1, 2, . . . , n, j = 1, 2, . . . , l.
(3.86)
ν=1 µ=1
Dies ist ein System von n × l linearen Gleichungen mit ebenso vielen Unbekannten. Es ist schwach besetzt und hat Block-Band-Struktur. Zur L¨osung wird man dementsprechend ein spezielles Verfahren verwenden, z.B. eine spezielle QR-Zerlegung (siehe Kapitel 6). Aus Satz 3.8 folgt, dass die L¨ osung eindeutig bestimmt ist. Ein lineares Gleichungssystem kann man auch bei beliebiger St¨ utzstellenvorgabe ohne Kopplung an ein Gitter aufstellen. Seien also die Daten wie in (3.76) gegeben: (xi , yi , fi ), i = 1, 2, . . . , m. Dann wird (3.86) zu n l
cνµ Bν (xi )Bµ (yi ) = fi , i = 1, 2, . . . , m.
(3.87)
ν=1 µ=1
Nun wird man aber die B-Splines nicht mehr u utzstellen {xi } und {yi } kon¨ ber die St¨ struieren, sondern mit einer nur noch vom Gesamtgebiet, in dem die St¨ utzstellen liegen, abh¨ angigen Knotenpunktmenge. Dabei sollte die Verteilung der Knotenpunkte abh¨angen von der Dichte der St¨ utzstellen und der Variation der St¨ utzwerte. Die Struktur des linearen Gleichungssystems (3.87) ist nicht mehr so klar vorher bestimmbar wie die von (3.86). Entsprechend wachsen Zeit- und Speicheraufwand. Das Gleichungssystem (3.87) ist nur f¨ ur m = n l quadratisch und regul¨ ar. Um diese Bedingung nicht einhalten zu m¨ ussen, l¨ost man es nach der Methode der kleinsten Quadrate und bekommt f¨ ur m ≤ n l eine Interpolationsl¨osung und f¨ ur m > n l eine Approximationsl¨osung. Beispiel 3.9. In Abb. 3.15 stellt die zweidimensionale Funktion F (x, y) zwei zusammentreffende Flachwasserwellen dar. Mathematisch handelt es sich um die L¨ osung einer Korteveg-de VriesGleichung, die 2-Soliton genannt wird. Die Korteveg-de Vries-Gleichung ist eine partielle Differenzialgleichung, die in gewissen Spezialf¨ allen analytisch l¨ osbar ist, [Fuc 87]. Die in Abb. 3.15 dargestellte
125
3.4 Kurveninterpolation F (x, y)
S(x, y)
Abb. 3.15 2-Soliton und seine Splineapproximation.
L¨ osung hat die Form (hier ist y die Zeitvariable): F (x, y) := −2
1 8 5 a12 )2 a + 65 a2 + 12 a12 (a1 + a2 + 168 5 1 +2 5 5 25 5 5 25 2 (1 + 8 a1 + 6 a2 + 2352 a12 ) 1 + 8 a1 + 6 a2 + 2352 a12
(3.88)
mit 54 182 8 6 14 128 y − x), a2 := exp( y − x), a12 := exp( y− x). 125 5 125 5 125 5 Diese Funktion soll im Rechteck [−8, 7] × [−8, 7] von einer bikubischen Splinefunktion interpoliert werden. Wir geben die Funktionswerte auf allen ganzzahligen Gitterpunkten dieses Rechtecks vor. Die Knotenpunkte w¨ ahlen wir in x- und y-Richtung entsprechend Abschnitt 3.2.3 (vierfache Randpunkte und alle inneren St¨ utzstellen außer der zweiten und der zweitletzten). Das ergibt zusammen 20 × 20 = 400 Knotenpunkte. Die interpolierende Splinefl¨ ache werten wir auf 31 × 31 Punkten aus und zeichnen sie (Abb. 3.15 rechts). Diese Interpolation ist mit einem maximalen Fehler von etwa 10% in der unteren linken Ecke behaftet. Der mittlere Fehler ist wesentlich kleiner. △ a1 := exp(
3.4
Kurveninterpolation
3.4.1
Problemstellung
Gegeben seien n + 1 Punkte x(i) ∈ Êm (i)
(i)
x(i) = (x1 , x2 , . . . , x(i) m ), i = 0, 1, . . . , n.
(3.89)
Sie sollen durch eine Kurve verbunden werden. Diese wird in Abh¨angigkeit von einem Paange der Kurve, dargestellt. rameter t ∈ Ê , z.B. der Bogenl¨ Gesucht sind also m Parameterfunktionen
x1 (t), x2 (t), . . . , xm (t), t ∈ [0, 1],
(3.90)
die die zugeh¨ origen Komponenten der gegebenen Punkte an den Stellen ti interpolieren, f¨ ur die gilt: (i)
xk (ti ) = xk , i = 0, 1, . . . , n, k = 1, 2, . . . , m.
(3.91)
126
3 Interpolation und Approximation
Den n + 1 Punkten x(i) k¨ onnen folgende Parameterwerte ti zugeordnet werden: t0
:=
ti
:=
0
* +m + (i) (i−1) 2 ti−1 + , (xk − xk ) , i = 1, . . . , n.
(3.92)
k=1
Meistens werden die ti noch auf das Intervall [0, 1] normiert: ti :=
3.4.2
ti , i = 1, . . . , n. tn
(3.93)
Numerische L¨osung mit Splines
Es werden m eindimensionale Splineinterpolationen durchgef¨ uhrt. St¨ utzstellen sind immer (i) die Parameterwerte ti , St¨ utzwerte f¨ ur den k-ten Spline xk (t) die Werte xk . Dann ist die m Gleichung (3.91) erf¨ ullt. Die Kurve im Ê ist festgelegt durch ihre Parameterdarstellung (x1 (t), x2 (t), . . . , xm (t)),
t ∈ [0, 1].
(3.94)
Beispiel 3.10. Der Effekt glatter Splineinterpolation soll an einem “sch¨onen” Beispiel demonstriert werden. Wir wollen eine verzerrte Archimedesspirale zeichnen: r(t) = c t (1 +
bct sin(a t) ). d
(3.95)
Dabei sind (r, t) Polarkoordinaten, d.h. der Kurvenparameter t ist hier identisch mit dem Winkel ϕ der u ahlt: ¨ blichen Polarkoordinatendarstellung. Als Zahlen wurden gew¨ d = 500 : c=2: b = 0.2 : a = 5.03 :
Verzerrungsverh¨ altnis Spiralen¨ offnung ¨ Uberlagerungsfaktor ¨ Uberlagerungsfrequenz
Die Parameterdarstellung ergibt sich als x(t) y(t)
= =
r cos(t) , r sin(t) .
(3.96)
Es sollen 32 Umdrehungen dieser Spirale gezeichnet werden. Das haben wir mit 503 und 1006 Punkten versucht. Die Ergebnisse sind in Abb. 3.16 festgehalten. Die beiden unteren Kurven sind durch 503 Punkte gezeichnet, die oberen durch 1006 Punkte. Die linken beiden Kurven wurden als Polygonzug gezeichnet, also als gerade Verbindung der St¨ utzpunkte, die beiden rechten mit Splines. An dem Unterschied kann man erkennen, wie wichtig eine gute Zeichen-Software in einem GraphikPaket ist. In diesem Zusammenhang seien noch folgende Stichworte erw¨ ahnt: CAD, B´ezier-Kurven und -Fl¨ achen (siehe Abschnitt 3.5), Beta-Splines und Coons-Fl¨ achen. △
3.5 Kurven und Fl¨ achen mit B´ezier-Polynomen
127
Abb. 3.16 Polygonzug und Spline durch 503 und 1006 Kurvenpunkte.
3.5
Kurven und Fl¨achen mit B´ezier-Polynomen
3.5.1
Bernstein-Polynome
Nach dem binomischen Lehrsatz gilt n " # n 1 = ((1 − t) + t)n = (1 − t)n−i ti . i i=0
Die Bernstein-Polynome n-ten Grades in t bez¨ uglich des Intervalls [0, 1] " # n Bin (t) := (1 − t)n−i ti , i = 0, 1, . . . , n, i
(3.97)
(3.98)
bilden deshalb eine Zerlegung der Eins. Der Mathematiker S. Bernstein hat mit ihnen 1912 den Weierstraßschen Approximationssatz konstruktiv bewiesen.
128
3 Interpolation und Approximation
Das i-te Bernstein-Polynom vom Grad n bez¨ uglich des Intervalls [a, b] ist dann verm¨oge der Transformation u−a u ∈ [a, b] → t ∈ [0, 1] : t = b−a f¨ ur i = 0, 1, . . . , n gegeben durch " " # # u−a n 1 Bin (u; a, b) := Bin (3.99) (b − u)n−i (u − a)i . = b−a (b − a)n i Wir werden mit wenigen Ausnahmen und ohne wesentliche Einschr¨ankung auf dem Intervall [0, 1] arbeiten. F¨ ur die meisten S¨ atze wollen wir auf die Beweise verzichten und verweisen auf [Deu 02b, Loc 92]. y 1
B66 (t)
B06 (t)
0.5
B16 (t)
B36 (t)
B56 (t)
t
0 0
0.5
1
Abb. 3.17 Bernstein-Polynome 6. Grades.
ur Bin (t): Satz 3.9. Sei n ∈ ∗ , 0 ≤ i ≤ n, dann gilt f¨ t = 0 ist i-fache Nullstelle von Bin .
(3.100)
t = 1 ist (n − i)-fache Nullstelle von Bin . Bin (t) = Bn−i,n (1 − t) (Symmetrie).
(3.101) (3.102)
0 ≤ Bin (t) ≤ 1 ∀t ∈ [0, 1], Bin (t) > 0 ∀t ∈ (0, 1).
(3.103)
Satz 3.10. Das Bernstein-Polynom Bin hat in [0, 1] genau ein Maximum, und zwar bei tmax = i/n. Satz 3.11. Die Bernstein-Polynome gen¨ ugen der Rekursionsformel Bin (t) B0n (t) Bnn (t)
= t Bi−1,n−1 (t) + (1 − t) Bi,n−1 (t), = (1 − t) B0,n−1 (t), = t Bn−1,n−1 (t).
i = 1, . . . , n − 1,
(3.104)
129
3.5 Kurven und Fl¨ achen mit B´ezier-Polynomen
Satz 3.12. Die {Bin (t)}ni=0 sind linear unabh¨angig und bilden eine Basis des Raumes Πn der Polynome n-ten Grades. Satz 3.13. Die Ableitungen der Bernstein-Polynome ⎧ f¨ ur ⎨ −n B0,n−1 (t) ′ Bin (t) = ur n [Bi−1,n−1 (t) − Bi,n−1 (t)] f¨ ⎩ f¨ ur n Bn−1,n−1 (t)
3.5.2
(n ≥ 1) sind gegeben durch i = 0, i = 1, 2, . . . , n − 1, i = n.
(3.105)
B´ezier-Darstellung eines Polynoms
Da die Bernstein-Polynome eine Basis des Raumes Πn bilden, l¨asst sich jedes Polynom p ∈ Πn darstellen als n βi Bin (t). (3.106) p(t) = i=0
Dies nennt man die B´ezier3 -Darstellung von p. Die βi heißen B´ezier-Koeffizienten und die Punkte (i/n, βi )T ∈ Ê2 , i = 0, 1, . . . , n,
B´ezier-Punkte.
Die Verbindung der B´ezier-Punkte durch Geraden heißt B´ezier-Polygon. p(t) 1
0.5
t
0 0
1/3
2/3
1
−0.5
−1
Abb. 3.18 B´ezier-Polygon mit B´ezier-Polynom vom Grad 3.
Beispiel 3.11. Abb. 3.18 zeigt das B´ezier-Polynom zu den B´ezier-Punkten (0, 0), (1/3, −1),
(2/3, −1), (1, 1)
p(t) = 0 · B03 (t) − B13 (t) − B23 (t) + B33 (t) = t3 + 3t2 − 3t
zusammen mit seinem B´ezier-Polygon. 3 B´ ezier:
zeitgen¨ ossischer franz¨ osischer Industrie-Mathematiker
△
130
3 Interpolation und Approximation
Satz 3.14. 1. Der Graph eines Polynoms liegt in der konvexen H¨ ulle seiner B´ezier-Punkte. 2. Der Graph eines Polynoms und sein B´ezier-Polygon ber¨ uhren sich tangential in t = 0 und in t = 1. 3. F¨ ur die Ableitungen eines Polynoms mit B´ezier-Koeffizienten βi gilt: n−k ∆k βi Bi,n−k (t), (3.107) p(k) (t) = n(n − 1) · · · (n − k + 1) i=0
wenn ∆k die Vorw¨artsdifferenzen ∆βi := βi+1 − βi , ∆k βi := ∆k−1 βi+1 − ∆k−1 βi sind.
3.5.3
Der Casteljau-Algorithmus
Die Rekursionsformel (3.104) f¨ uhrt f¨ ur ein B´ezier-Polynom (3.106) im ersten Schritt zu p(t) =
β0 (1 − t)B0,n−1 (t) + β1 [(1 − t)B1,n−1 (t) + tB0,n−1 (t)] + · · · · · · + βn tBn−1,n−1 (t)
=
[β0 (1 − t) + β1 t]B0,n−1 (t) + · · · + [βn−1 (1 − t) + βn t]Bn−1,n−1 (t),
also p(t)
n−1
=
(1)
βi
Bi,n−1 (t) mit
i=0
(1)
βi
= βi (1 − t) + βi+1 t, i = 0, . . . , n − 1,
(1)
βi
(1)
= βi (t).
F¨ uhrt man das rekursiv fort, kommt man zu (n)
p(t) = β0 .
(3.108)
Diese rekursive Berechnung eines Polynomwertes p(t) entspricht dem Dreiecksschema β0 .. .
=
(0)
β0
.. .
.. .
=
(0) βn
(1)
β0
.. . (1)
βn
βn−1
..
. (n)
· ··
β0
und heißt Algorithmus von de Casteljau. (1)
Die Koeffizienten βi des Algorithmus von de Casteljau besitzen folgende geometrische Bedeutung. Der Punkt (xi , yi ) mit i+1 i+t i = xi = (1 − t) + t n n n (3.109) (1) βi = yi = (1 − t)βi + tβi+1 , i = 0, . . . , n − 1 liegt auf der Geraden " # " # (i + 1)/n i/n → , βi βi+1
131
3.5 Kurven und Fl¨ achen mit B´ezier-Polynomen
also auf dem B´ezier-Polygon. (k)
Rekursiv entsteht ein System von Zahlen βi , k = 1, . . . , n, i = 0, . . . , n − k, die durch (n) (k−1) entstehen, bis der Punkt p(t) = β0 erreicht lineare Interpolation aus den Zahlen βi ist. Dieser Prozess kann am Beispiel 3.12 nachvollzogen werden. Beispiel 3.12. Wir wollen f¨ur t = 0.5 den Polynomwert des B´ezier-Polynoms p(t) = 0 · B03 (t) − B13 (t) − B23 (t) + B33 (t) aus Beispiel 3.11 berechnen. In Abb. 3.19 sind die Punkte verschieden markiert, die innerhalb des Casteljau-Algorithmus f¨ ur den Wert t = 0.5 entstehen. Aus den vier B´ezier-Punkten (0, 0), (1/3, −1), (2/3, −1), (1, 1) werden wegen t = 0.5 die drei Mittelpunkte (1) (xi , βi ) der Teilgeraden des B´ezier-Polygons (◦). Die beiden Geraden, die diese Punkte verbinden, werden wieder mittig geteilt (+). Der Mittelpunkt der verbleibenden Verbindungsstrecke (•) ist der gesuchte Punkt auf dem Polynom p(0.5). △ p(t) 1
0.5
t
0 1/3
2/3
1
−0.5
−1
Abb. 3.19 Der Casteljau-Algorithmus geometrisch.
3.5.4
B´ezier-Kurven
In der graphischen Datenverarbeitung ist die Einschr¨ankung einer Kurve auf eine Funktion nicht sinnvoll, da Kurven unabh¨ angig von ihrer Darstellung bez¨ uglich eines Koordinatensystems sein sollten. ¨ Der Ubergang von B´ezier-Polynomen zu B´ezier-Kurven geschieht u ¨ ber einen Parameter (hier ¨ einfach wieder t) wie beim Ubergang von Splines zu Parameter-Splines in Abschnitt 3.4. Definition 3.15. Seien f¨ ur 0 ≤ t ≤ 1 die Funktionen xk (t), k = 1, 2, . . . , d, B´ezierPolynome. Dann ist (x1 (t), x2 (t), . . . , xd (t))T eine B´ezier-Kurve im Raum Êd . Wir werden uns auf d = 2 beschr¨ anken und die B´ezier-Kurve vereinfachend mit P (t) = (x(t), y(t))T bezeichnen. Bei der geometrischen Konstruktion kann man weiterhin den deCasteljau-Algorithmus verwenden, die Kurvendarstellung geschieht jetzt allerdings u ¨ ber die
132
3 Interpolation und Approximation
B´ezier-Punkte
" # xi ∈ Ê2 , yi deren x-Werte nicht mehr ¨ aquidistant sein m¨ ussen.
(3.110)
Pi =
Satz 3.16. P 0 , . . . , P n ∈ Ê2 seien n + 1 Punkte in der Ebene. Dann ist die B´ezier-Kurve mit diesen Punkten als B´ezier-Punkten gegeben als " # n x(t) Bin (t)P i . (3.111) = P (t) = y(t) i=0 x(t) und y(t) sind B´ezier-Polynome.
Der Algorithmus von de Casteljau l¨ asst sich vollst¨andig u ur ¨bertragen. Wir tun dies nur f¨ n = 3. Sei also " # xi P i0 := P i = ∈ Ê2 , i = 0, 1, 2, 3. yi Dann werden wie oben f¨ ur einen festen Wert t folgende Punkte berechnet: P i1
:= (1 − t) P i0 + t P i+1,0 , i = 0, 1, 2
P i2 P 03
:= (1 − t) P i1 + t P i+1,1 , i = 0, 1 := (1 − t) P 02 + t P 12 .
P 03
= (1 − t) P 02 + t P 12 = (1 − t)((1 − t) P 01 + t P 11 ) + t((1 − t) P 11 + t P 21 )
oder
(3.112)
= (1 − t)3 P 00 + 3(1 − t)2 tP 10 + 3(1 − t)t2 P 20 + t3 P 30
Ein Beispiel f¨ ur die geometrische Konstruktion der Kurve f¨ ur den Punkt t = 1/2 ist in Abb. 3.20 zu sehen. Aus den Eigenschaften der Bernstein- und B´ezier-Polynome kann jetzt auf entsprechende Eigenschaften der B´ezier-Kurven geschlossen werden. So folgt aus Satz 3.14 der Satz 3.17. Die Menge der Punkte einer B´ezier-Kurve n Bin (t)P i , t ∈ [0, 1] M := P (t) =
(3.113)
i=0
liegt in der konvexen H¨ ulle der n + 1 B´ezier-Punkte P 0 , P 1 , . . ., P n . Aus (3.100), (3.101) und Satz 3.13 folgt der Satz 3.18. F¨ ur die Randpunkte einer B´ezier-Kurve P (t) = P (0) = P 0 , ¼
P (0) = n (P 1 − P 0 ),
P (1) = P n , ¼
-n
P (1) = n (P n − P n−1 ).
i=0
Bin (t)P i , n ≥ 2, gelten:
(3.114)
(3.115)
133
3.5 Kurven und Fl¨ achen mit B´ezier-Polynomen
1 = 10
3
11
2.5
2 = 20 12
02
2
03 = (t) 01
1.5
21
1
3 = 30
0.5
0
0 = 00 0
0.5
1
1.5
2
Abb. 3.20 Punktweise Kurven-Konstruktion, hier f¨ ur t = 1/2.
Die Berechnung von P (t) mit dem Casteljau-Algorithmus kann f¨ ur festes n algorithmisch besonders g¨ unstig als Matrix∗Matrix∗Vektor dargestellt werden.
Lemma 3.19. F¨ ur die B´ezier-Kurve P (t) =
P (t) = (P 0 P 1 . . . P n ) B n
⎛
tn tn−1 .. .
⎜ ⎜ ⎜ ⎜ ⎜ ⎝ t 1
" # x(t) , 0 ≤ t ≤ 1, n-ten Grades gilt y(t) ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
(3.116)
mit der f¨ ur jedes n konstanten Matrix B n der Ordnung n + 1 mit den Elementen " #" # ⎧ i = 0, 1, . . . , n, ⎨ (−1)i+k+n n − i n f¨ ur bi+1,k+1 = (3.117) k i k = 0, 1, . . . n − i ⎩ 0 sonst
134
3 Interpolation und Approximation
Beispiel 3.13.
3 (t) =
! x(t) = y(t)
x0 y0
x1 y1
x2 y2
x3 y3
!
0 B B B @
−1 3 −3 1
3 −6 3 0
−3 3 0 0
1 0 0 0
10 CB CB CB A@
t3 t2 t 1
1
C C C. A
△
Zur Darstellung einer Kurve mit gewissen erw¨ unschten Eigenschaften reicht eine B´ezierKurve nicht aus, sondern die Kurve wird st¨ uckweise aus B´ezier-Kurvensegmenten zusammengesetzt. Entsprechend der Zielsetzung soll die zusammengesetzte Kurve neben der Stetigkeit an den Segmentteilpunkten gegebenenfalls auch bestimmte Glattheitseigenschaften besitzen. Die Stetigkeit ist gew¨ ahrleistet, wenn der Endpunkt des einen Kurvensegments mit dem Anfangspunkt des n¨ achsten Segmentes u ¨bereinstimmt, d.h. wenn die B´ezier-Punkte zusammenfallen. Nach Satz 3.18 wird die Stetigkeit der ersten Ableitung dadurch erreicht, dass der vorletzte B´ezier-Punkt, der erste nachfolgende B´ezier-Punkt und der gemeinsame B´ezier-Punkt in einem bestimmten Abstandsverh¨altnis auf einer Geraden liegen. An dieser Stelle kommen die Parameterintervalle der Kurvensegmente, die der Situation problemgerecht angepasst werden sollten, ins Spiel. Ihre L¨angen sollten ungef¨ahr den L¨angen der Kurvenst¨ ucke entsprechen. Die ganze Kurve werde mit dem Parameter u parametrisiert, sie sei aus m B´ezier-Kurvensegmenten zusammengesetzt, und die Segmente sollen eine polynomiale Parameterdarstellung vom gleichen Grad n aufweisen. Das Parameterintervall sei unterteilt durch u0 < u1 < u2 < u3 < . . . um−1 < um ,
(3.118)
und das j-te B´ezier-Kurvensegment habe die Darstellung n P ij Bin (u; uj−1 , uj ), u ∈ [uj−1 , uj ], P j (u) =
(3.119)
i=0
mit den B´ezier-Punkten P 0j , P 1j , . . . , P nj , j = 1, 2, . . . , m. Die L¨ange des j-ten Parameterintervalls [uj−1 , uj ] sei hj := uj − uj−1 . Das j-te und (j + 1)-te B´ezier-Kurvensegment sind an der Stelle u = uj stetig, wenn P n,j = P 0,j+1
(3.120) 1
P ′j (uj )
gilt. F¨ ur u = uj besteht C -Stetigkeit genau dann, wenn = Wegen (3.99) gilt f¨ ur die Ableitung der Bernstein-Polynome " # u − uj−1 d 1 d d Bin (u; uj−1 , uj ) = Bin = Bin (t) · , du du uj − uj−1 dt hj
P ′j+1 (uj )
erf¨ ullt ist.
und das f¨ uhrt zusammen mit (3.115) auf die Bedingungsgleichung n(P n,j − P n−1,j )/hj = n(P 1,j+1 − P 0,j+1 )/hj+1 .
(3.121)
Weil aus Stetigkeitsgr¨ unden P n,j = P 0,j+1 ist, so kann die Bedingung (3.121) der C 1 Stetigkeit f¨ ur u = uj wie folgt formuliert werden: P n,j =
hj+1 hj P n−1,j + P 1,j+1 hj + hj+1 hj + hj+1
(3.122)
135
3.5 Kurven und Fl¨ achen mit B´ezier-Polynomen
Der dem j-ten und (j + 1)-ten B´ezier-Kurvensegment gemeinsame B´ezier-Punkt P n,j = P 0,j+1 muss eine bestimmte lineare Konvexkombination der beiden benachbarten B´ezierPunkte P n−1,j und P 1,j+1 des B´ezier-Polygons sein. Geometrisch bedeutet (3.122), dass die Strecke von P n−1,j nach P 1,j+1 durch P n,j im Verh¨altnis hj : hj+1 unterteilt sein muss. Mit zus¨ atzlichen Bedingungen an die B´ezier-Punkte kann f¨ ur die Kurve sogar zweimalige stetige Differenzierbarkeit erreicht werden; hierauf wollen wir nicht eingehen. Zur datenm¨ aßigen Erfassung einer B´ezier-Kurve, die aus m Kurvensegmenten n-ten Grades zusammengesetzt ist, werden m·n+1 B´ezier-Punkte, d.h. d-dimensionale Vektoren ben¨otigt. Um in der bisherigen Indizierung drei Indizes zu vermeiden und um der Stetigkeitsbedingung (3.120) einfach Rechnung zu tragen, werden die Daten in einer d-zeiligen Matrix mit m·n+1 Spalten gespeichert. B := (P 0 , P 1 , P 2 , P 3 , P 4 , . . . , P m·n−1 , P m·n )
(3.123)
Das j-te Kurvensegment besitzt dann zu den ebenfalls vorgegebenen Parameterwerten uj (3.118) die B´ezier-Darstellung P j (u) =
n
P (j−1)·n+i Bin (u; uj−1 , uj ),
j = 1, 2, . . . , m.
(3.124)
i=0
Erf¨ ullen die Spalten von B die einschl¨ agigen Bedingungen der C p -Stetigkeit mit p ≥ 1, so ist die resultierende B´ezier-Kurve bez¨ uglich des Kurvenparameters u p-mal stetig differenzierbar. Dies kann etwa bei der Steuerung einer Werkzeugmaschine wichtig sein, wenn durch ¨ gleichm¨ aßige Anderung von u eine Bewegung mit stetiger Geschwindigkeit erzielt werden soll. Ist man hingegen nur an der B´ezier-Kurve als solche interessiert, dann kann anstelle von (3.124) die einfachere Form P j (t) =
n i=0
P (j−1)·n+i Bin (t),
t ∈ [0, 1],
j = 1, 2, . . . , m.
(3.125)
verwendet werden, welche die gleiche Punktmenge definiert. Beispiel 3.14. Es soll ein Viertelkreis vom Radius r = 1 durch eine B´ezier-Kurve dritten Grades approximiert werden unter der Bedingung, dass die Tangenten der B´ezier-Kurve in den Endpunkten mit den Tangenten an den Kreis u ¨ bereinstimmen. Dadurch ist die Lage der B´ezier-Punkte 1 und 2 bereits auf die Tangenten festgelegt, und aus Symmetriegr¨unden ist die B´ezier-Kurve bis auf einen freien Parameter ξ bestimmt (siehe Abb. 3.21). Der Ansatz lautet somit f¨ ur die gesuchte B´ezier-Kurve ! ! 3 X 1 1 3 (t) = i Bi3 (t) = 0 (1 − t) + ξ 3t(1 − t)2 + i=0
ξ 1
!
2
3t (1 − t) +
0 1
!
t3 .
Zur Bestimmung von ξ fordern wir beispielsweise, dass der Punkt (0.5) der B´ezier-Kurve auf dem Kreis liegt. Dies liefert den Wert ξ = 0.552285. Die in Abb. 3.21 dargestellte B´ezier-Kurve weicht vom Kreis um maximal 0.00027 ab und stellt somit f¨ ur zeichnerische Zwecke eine hervorragende N¨ aherung dar. . Mit diesem Kurvensegment l¨ asst sich eine Ellipse mit den Halbachsen a = 1/ξ = 1.81066 und b = 1 durch den folgenden Satz von 13 B´ezier-Punkten mit derselben Genauigkeit und C 1 -Stetigkeit
136 y 1
3 Interpolation und Approximation
3 =
„
0 1
2 =
«
„
ξ 1
«
1
0
1 =
„
1 ξ
«
0 =
„
1 0
«
x
Abb. 3.21 B´ezier-Kurve f¨ ur den Viertelkreis.
Abb. 3.22 Ellipse aus vier kubischen Segmenten.
approximieren (siehe Abb. 3.22). =
a 0
a ξ
1 1
0 1
−1 1
−a ξ
−a 0
−a −ξ
−1 −1
0 −1
1 −1
a −ξ
a 0
! △
Beispiel 3.15. Das Profil eines Tragfl¨ugels l¨asst sich etwa durch sechs kubische B´ezier-Kurvensegmente mit C 1 -Stetigkeit recht gut approximieren. Die unterschiedlich langen Segmente sind bei der Festlegung der B´ezier-Punkte zu beachten, um die C 1 -Stetigkeit sicherzustellen. Die B´ezierPunkte sind auf Grund der Unterteilung in u0 = 0, u1 = 1.6, u2 = 2.6, u3 = 3.1, u4 = 3.6, u5 = 4.6, u6 = 6.2 festgelegt worden. Abb. 3.23 zeigt das aus sechs Segmenten bestehende B´ezier-Polygon (gepunktet) und die zugeh¨ orige B´ezier-Kurve. △ Beispiel 3.16. B´ezier-Kurven finden auch Anwendung beim Zeichenentwurf f¨ur Textverarbeitungsprogramme, um auf diese Weise den Umriss von Zeichen zu definieren.
3.5 Kurven und Fl¨ achen mit B´ezier-Polynomen
137
Abb. 3.23 Tragfl¨ ugelprofil.
Abb. 3.24 Zeichenentwurf: Der Buchstabe S. In Abb. 3.24 sind das B´ezier-Polygon und der Umriss f¨ ur den Großbuchstaben S wiedergegeben. Dieses Beispiel zeigt, wie flexibel die Konstruktion von B´ezier-Kurven ist. Sie eignen sich deshalb sehr gut zum Zeichnen von Kurven, die sowohl glatte Verl¨ aufe als auch Ecken enthalten m¨ ussen. △
3.5.5
B´ezier-Fl¨achen
Der Schritt von den B´ezier-Kurven zu B´ezier-Fl¨ achen ist auf Grund der bekannten Tatsachen einfach. Die zwei Parameter, die f¨ ur eine Parameterdarstellung einer Fl¨ache erforderlich sind, bezeichnen wir im Folgenden mit s und t, wenn sie im Einheitsintervall variieren, und mit u und v f¨ ur allgemeinere Intervalle. Die Grundidee zur Definition von B´ezier-Fl¨achen besteht darin, dass man von zwei r¨ aumlichen Kurven ausgeht, welche B´ezier-Darstellungen vom gleichen Grad m und mit demselben Parameterintervall haben. L¨angs dieser B´ezier-Kurven l¨ asst man zu gleichen Parameterwerten eine zweite B´ezier-Kurve vom Grad n gleiten, deren Verlauf durchaus vom ersten Parameter abh¨ angen kann. Das so erzeugte Fl¨achenst¨ uck besitzt eine Parameterdarstellung, die als Tensorprodukt von Bernstein-Polynomen dargestellt
138
3 Interpolation und Approximation
werden kann, ganz entsprechend dem Vorgehen bei Tensorsplines in Abschnitt 3.3.1. n m x(s, t) := P ij Bin (s)Bjm (t), s, t ∈ [0, 1]. (3.126) i=0 j=0
Darin stellen die P ij , i = 0, 1, . . . , n; j = 0, 1, . . . , m, dreidimensionale Koordinatenvektoren ¨ dar, die man die B´ezier-Punkte der B´ezier-Fl¨ache x(s, t) nennt. Ublicherweise fasst man diese (n + 1)(m + 1) B´ezier-Punkte P ij in einer B´ezier-Punktematrix ⎛ ⎞ P 00 P 01 . . . P 0m ⎜ P 10 P 11 . . . P 1m ⎟ ⎜ ⎟ (3.127) ⎜ . ⎟ .. . . .. ⎝ .. ⎠ . . . P n0
P n1
. . . P nm
ur eine rechnerische Verarbeitung ein dritter zusammen mit Elementen P ij ∈ Ê3 , so dass f¨ Index k = 1, 2, 3 hinzukommt. Eine unmittelbare Folge von (3.100) und (3.101) ist der Satz 3.20. F¨ ur eine B´ezier-Fl¨ache x(s, t) (3.126) gelten x(0, 0) = P 00 , x(0, t) =
m
x(0, 1) = P 0m ,
P 0j Bjm (t),
x(1, 0) = P n0 ,
x(1, t) =
n
x(1, 1) = P nm ,
(3.128)
P nj Bjm (t),
(3.129)
P im Bim (s).
(3.130)
j=0
j=0
x(s, 0) =
m
P i0 Bin (s),
i=0
x(s, 1) =
n i=0
Geometrisch bedeuten (3.128), dass die B´ezier-Punkte P 00 , P 0m , P n0 und P nm die Ecken des B´ezier-Fl¨ achenst¨ uckes x(s, t) sind. Die vier durch (3.129) und (3.130) definierten, das Fl¨ achensegment x(s, t) (3.126) begrenzenden Randkurven sind B´ezier-Kurven. Dabei sind die erste bzw. die letzte Zeile der B´ezier-Punktematrix (3.127) die B´ezier-Punkte der Randkurven (3.129), und die erste und letzte Spalte von (3.127) sind die B´ezier-Punkte der Randkurven (3.130). Auf Grund dieser Feststellung wird das stetige Zusammensetzen von Fl¨ achensegmenten einfach sein. Satz 3.21. Die Menge der Punkte der B´ezier-Fl¨ache (3.126) M := {x(s, t)|s, t ∈ [0, 1]}
liegt in der konvexen H¨ ulle ihrer (n+1)(m+1) B´ezier-Punkte. Wegen Satz 3.13 u ur die ersten partiellen ¨ ber die Ableitungen der Bernstein-Polynome gilt f¨ Ableitungen n−1 m ∂x =n (P i+1,j − P i,j )Bi,n−1 (s)Bjm (t), ∂s i=0 j=0
139
3.5 Kurven und Fl¨ achen mit B´ezier-Polynomen n m−1 ∂x =m (P i,j+1 − P i,j )Bin (s)Bj,m−1 (t), ∂t i=0 j=0
und daraus erhalten wir wegen (3.100), (3.101) den f¨ ur die glatte Zusammensetzung von Fl¨ achensegmenten bedeutsamen Satz 3.22. F¨ ur die partiellen Ableitungen einer B´ezier-Fl¨ache x(s, t) (3.126) l¨angs der Randkurven gelten m ∂x(0, t) =n (P 1j − P 0j )Bjm (t), ∂s j=0 (3.131) m ∂x(1, t) =n (P n,j − P n−1,j )Bjm (t), ∂s j=0 n ∂x(s, 0) =m (P i1 − P i0 )Bin (s), ∂t i=0 n ∂x(s, 1) =m (P i,m − P i,m−1 )Bin (s). ∂t i=0
(3.132)
Schließlich erfolgt die effiziente und numerisch stabile Berechnung eines Wertes x(s, t) grunds¨ atzlich durch zweimaliges Anwenden des Algorithmus von de Casteljau. Soll etwa die Kurve der B´ezier-Fl¨ ache f¨ ur s =const bestimmt und dargestellt werden, so erhalten wir mit n m m Qj (s)Bjm (t) (3.133) P ij Bin (s) Bjm (t) =: x(s, t) = j=0
j=0
i=0
ihre B´ezier-Darstellung mit den (m + 1) von s abh¨angigen B´ezier-Punkten n Qj (s) := P ij Bin (s), j = 0, 1, . . . , m.
(3.134)
i=0
Diese erh¨ alt man dadurch, dass der Algorithmus von de Casteljau f¨ ur den festen Wert s auf die (m + 1) Spalten der B´ezier-Punktematrix angewendet wird. Mit diesen Hilfspunkten Qj (s) ergibt sich die gesuchte Fl¨ achenkurve, indem man f¨ ur jedes t den Algorithmus von de Casteljau durchf¨ uhrt. Analoges gilt f¨ ur die Berechnung der Kurven x(s, t) f¨ ur t =const. Jetzt wird der Algorithmus von de Casteljau zuerst auf die (n+1) Zeilen der B´ezier-Punktematrix ausgef¨ uhrt, um so die B´ezier-Punkte der Fl¨ achenkurve t =const zu erhalten. Beispiel 3.17. Wir wollen eine einfache glatte B´ezier-Fl¨ache f¨ur 5 × 4 B´ezier-Punkte erzeugen. Die drei Komponenten der B´ezier-Punktematrix 10 0 0.0 0.0 0.333 0.666 1.0 B 0.0 0.333 0.666 1.0 C B 0.25 CB B CB B B 0.0 0.333 0.666 1.0 C B 0.5 CB B @ 0.0 0.333 0.666 1.0 A @ 0.75 1.0 0.0 0.333 0.666 1.0
sind
0.0 0.25 0.5 0.75 1.0
0.0 0.25 0.5 0.75 1.0
0.0 0.25 0.5 0.75 1.0
10 CB CB CB CB CB A@
0.0 1.0 2.2 1.9 1.7
0.9 2.4 3.4 2.9 2.4
0.7 2.2 3.1 2.7 2.3
0.0 1.0 2.1 1.9 1.8
1
C C C C. C A
140
3 Interpolation und Approximation
In Abb. 3.25 sind die B´ezier-Punkte zusammen mit dem zugeh¨ origen B´ezier-Netz und die Fl¨ achenkurven f¨ ur s = 0, 1/15, 2/15, . . . , 1.0 sowie f¨ ur t = 0, 1/11, 2/11, . . . , 1.0 des resultierenden B´ezierFl¨ achensegments dargestellt. Die Aussagen von Satz 3.20 wie auch die fr¨ uheren Aussagen u ¨ ber Tangentenrichtungen an die B´ezier-Kurven des Randes werden ersichtlich. △
Abb. 3.25 B´ezier-Fl¨ achensegment zu den 5 × 4-Punktematrizen.
Gr¨ oßere Fl¨ achen mit vorgegebenen Eigenschaften werden aus einzelnen B´ezier-Fl¨achenseg¨ menten geeignet zusammengesetzt. Hier sind – insbesondere f¨ ur einen glatten C 1 -Ubergang – eine Reihe von Bedingungen zu erf¨ ullen, auf die wir nicht mehr eingehen wollen. Dies und manches mehr zu Kurven und Fl¨ achen findet sich in B¨ uchern zur geometrischen Datenverarbeitung (computational geometry), etwa in [Bar 88b, Bar 90, Bun 02, Dew 88, Enc 96, Far 94, Hos 93].
3.6
Gauß-Approximation
Der wahrscheinlichste Wert einer beobachteten Gr¨ oße hat die Eigenschaft, dass die Summe der quadratischen Abweichungen der Beobachtungen von diesem Wert in ihm ihr Minimum findet. (Legendre, 1752–1833) Zun¨ achst wird die allgemeine Gauß-Approximation hergeleitet, die dann sowohl diskret, d.h. auf Datentabellen, als auch kontinuierlich, d.h. auf Funktionen, angewendet wird. Wir formulieren die Aufgabe in einem Hilbert-Raum H. Das ist ein Raum, in dem ein Skalarprodukt (·, ·) und eine zugeh¨ orige Norm · definiert sind. Zugeh¨orig ist eine Norm, f¨ ur die (f, f ) = f 2 ∀f ∈ H gilt. Wir betrachten ein in H linear unabh¨angiges Funktionensystem {ϕ0 , ϕ1 , . . . , ϕn }. Gegeben sei ein Element f ∈ H.
141
3.6 Gauß-Approximation
Gesucht ist eine lineare Approximation g von f im quadratischen Mittel mit Hilfe des gegebenen Funktionensystems. Die gesuchte Funktion g wird repr¨asentiert durch ihre Koeffizienten αj in der Linearkombination g(x) := g(x; α0 , α1 , . . . , αn ) :=
n
αj ϕj (x).
(3.135)
j=0
Approximation im quadratischen Mittel heißt dann: Bestimme die Koeffizienten αj so, dass F (α0 , α1 , . . . , αn ) := f − g2 → min .
(3.136)
αj
Satz 3.23. Die Ansatzfunktionen ϕj , j = 0, . . . , n, seien linear unabh¨angig. Dann ist die Minimalaufgabe (3.136) eindeutig l¨osbar und ihre L¨osung ist die L¨osung des linearen Gleichungssystems ⎛ ⎞⎛ ⎞ ⎛ ⎞ (ϕ0 , ϕ0 ) (ϕ0 , ϕ1 ) · · · (ϕ0 , ϕn ) α0 (f, ϕ0 ) ⎜ ⎟ . .. ⎜ ⎟ .. α1 ⎟ ⎜ (ϕ1 , ϕ0 ) ⎟⎜ . ⎟ ⎜ (f, ϕ1 ) ⎟ ⎜ ⎟⎜ = (3.137) ⎜ ⎟ ⎜ ⎟. . . ⎜ ⎟⎝ . ⎠ ⎝ .. .. .. .. ⎠ . ⎝ ⎠ . . . αn (f, ϕn ) (ϕn , ϕ0 ) ··· · · · (ϕn , ϕn )
Es wird Normalgleichungssystem (NGS) genannt.
Seine Koeffizientenmatrix ist positiv definit und symmetrisch. Beweis. Notwendig f¨ ur ein Minimum ist, dass die Ableitungen der Funktion F aus (3.136) nach den αj verschwinden. Es ist F (α0 , . . . , αn )
= ||f − g||22 = (f − g, f − g) n n αj ϕj ) αj ϕj , f − = (f − j=0
= (f, f ) − 2
j=0
αj (f, ϕj ) +
j
j
αj αk (ϕj , ϕk ).
k
Die notwendigen Bedingungen f¨ ur ein Minimum sind also n 1 ∂F αj (ϕj , ϕk ) = 0, = −(f, ϕk ) + 2 ∂αk j=0
k = 0, 1, . . . , n.
Hinreichend f¨ ur die Existenz eines Minimums ist, dass die Matrix der zweiten Ableitungen . / ∂2F = (ϕj , ϕk ) ∂αj ∂αk positiv definit ist. Dazu wird zun¨ achst gezeigt:
142
3 Interpolation und Approximation
Lemma 3.24. Das Funktionensystem {ϕj }nj=0 ist genau dann linear abh¨angig, wenn die Determinante der Matrix aus (3.137) gleich null ist: det (ϕj , ϕk ) = 0 Beweis. Wenn die ϕj linear abh¨ angig sind, dann gibt es einen Koeffizientensatz αj , sodass α ϕ = 0 (Nullelement in H) mit mindestens einem αk = 0. Das heißt, dass das j j j homogene lineare Gleichungssystem
(αj ϕj , ϕk ) =
j
αj (ϕj , ϕk ) = 0, k = 0, . . . , n
(3.138)
j
/ . eine nicht-triviale L¨osung hat. Daraus folgt det (ϕj , ϕk ) = 0.
Ist umgekehrt diese Determinante gleich null, dann - hat das homogene lineare Gleichungssystem (3.138) eine nicht-triviale L¨ osung {αj }: j αj (ϕj , ϕk ) = 0. Somit folgt: j
k
αj ϕj , αk ϕk ) = αk ϕk 2 = 0, αj (ϕj , ϕk ) αk = (
und daraus folgt sind.
j
-
k
k
k
αk ϕk = 0 in H. Das bedeutet, dass die {ϕj }nj=0 linear abh¨angig
Aus der linearen Unabh¨ angigkeit des Funktionensystems {ϕj } folgt also, dass die Matrix (ϕj , ϕk ) regul¨ ar ist. Deshalb gibt es genau eine L¨osung des NGS. Da die Matrix dar¨ uber ¨ hinaus positiv definit ist (Ubung!), repr¨ asentiert die L¨osung des NGS ein Minimum, d.h. das Minimalproblem (3.136) ist eindeutig l¨ osbar. Trotz der eindeutigen Existenz eines Minimums kann die numerische L¨osung der Approximationsaufgabe noch instabil sein, siehe dazu die Bemerkung am Ende des Abschnitts 3.6.2.
3.6.1
Diskrete Gauß-Approximation
Wenn eine Datentabelle (xi , fi ), i = 1, 2, . . . , m, approximiert werden soll, dann ist der Hilbert-Raum H = Êm und als Skalarprodukt wird ein gewichtetes euklidisches Skalarprodukt gew¨ ahlt m fi g(xi ) ωi , ωi > 0. (3.139) (f, g) := i=1
Hier ist zu beachten, dass jede Funktion g(x), die an allen Stellen xi , i = 1, 2, . . . , m verschwindet, das Nullelement in H darstellt. Die Aufgabe lautet also jetzt: Gegeben seien St¨ utzstellen xi , Funktionswerte fi und positive Gewichte ωi : (xi , fi , ωi ), i = 1, . . . , m.
143
3.6 Gauß-Approximation
Gesucht sind die Koeffizienten αj , j = 0, 1, . . . , n, des linearen Ansatzes g(x) := g(x; α0 , α1 , . . . , αn ) :=
n
αj ϕj (x),
(3.140)
j=0
so dass F (α0 , α1 , . . . , αn ) :=
m i=1
(fi − g(xi ))2 ωi → min . αj
(3.141)
Die gesuchte L¨ osung ist die L¨ osung des NGS (3.137). Die Skalarprodukte, die die Elemente der Koeffizientenmatrix des NGS darstellen, sind die Summen m ϕj (xi ) ϕk (xi ) ωi . (3.142) (ϕj , ϕk ) = i=1
Die Punktmenge {xi } kann oft so gew¨ ahlt werden, dass die Orthogonalit¨at des Funktionenur das eingef¨ uhrte Skalarprodukt gilt: systems {ϕk } f¨ m i=1
ϕj (xi ) ϕk (xi ) ωi = 0 f¨ ur alle j, k = 0, . . . , n mit j = k.
Beispiel 3.18. Lineare Ausgleichung wird die diskrete Gauß-Approximation mit einem linearen Polynom genannt. g(x; α0 , α1 ) = α0 + α1 x,
ωi = 1.
(3.143)
Hier sind also ϕ0 (x) = 1, ϕ1 (x) = x und F (α0 , α1 ) =
m X i=1
(fi − α0 − α1 xi )2 ,
und es ergibt sich mit (3.142) das Normalgleichungssystem 1 0 1 0 P 1 0 P α0 fi m xi A @ A=@ A. @ P P 2 P α1 xi xi xi fi
Es ist regul¨ ar, wenn m ≥ 2 ist und es mindestens zwei Werte xi , xj mit xi = xj gibt. Dann ist P 2 “P ”2 n¨ amlich m xi > xi (Cauchy-Schwarzsche Ungleichung). Beispiel
xi 0 0.1 0.2 0.3 0.4 0.5 fi 0 0.11 0.22 0.28 0.315 0.565 P P P 2 P ergeben sich mit m = 6, xi = 1.5, fi = 1.49, xi = 0.55 und xi fi = 0.5475 die Koeffizi6 und α1 = 1.00000. Also ist die approximierende Funktion enten α0 = −0.001¯
Aus der Datentabelle
g(x) = −0.001¯ 6 + x.
Die Approximationsg¨ ute kann durch die Fehlerquadratsumme X (fi − g(xi , α0 , α1 ))2 = 0.0123
beschrieben werden. Datenpunkte (×) und Ausgleichsgerade sind in Abb. 3.26 zu sehen.
△
144
3 Interpolation und Approximation g
0.5
0.4
0.3
0.2
0.1
x 0 0
0.2
0.1
0.5
0.4
0.3
Abb. 3.26 Lineare Ausgleichsrechnung.
3.6.2
Kontinuierliche Gauß-Approximation
Hier wird eine Funktion f in einem Intervall (a, b) durch das Funktionensystem {ϕi } approximiert. Der Hilbert-Raum H wird zum Funktionenraum L2 , der durch das Skalarprodukt ( b f (x) g(x)w(x) dx (3.144) (f, g) := a
festgelegt wird. Dabei ist w eine gegebene positive Gewichtsfunktion: w(x) > 0 in (a, b). Genauer lautet die Approximationsaufgabe: Gegeben seien eine auf (a, b) quadratintegrierbare, st¨ uckweise stetige Funktion f , und eine in (a, b) integrierbare, positive Gewichtsfunktion w. Gesucht sind die Koeffizienten αi , i = 0, 1, . . . , n, des Funktionenansatzes g(x) := g(x; α0 , α1 , . . . , αn ) :=
n
αi ϕi (x),
(3.145)
i=0
so dass F (α0 , α1 , . . . , αn ) :=
(
a
b
(f (x) − g(x))2 w(x) dx → min . αi
(3.146)
L¨ osung ist wieder die L¨ osung des NGS (3.137). Allerdings sind jetzt die Elemente der Koeffizientenmatrix des NGS Integrale ( b (ϕi , ϕj ) := ϕi (x) ϕj (x)w(x) dx (3.147) a
145
3.7 Trigonometrische Approximation
ebenso wie die rechten Seiten ( b f (x) ϕj (x)w(x) dx. (f, ϕj ) :=
(3.148)
a
Die Auswertung dieser Integrale stellt einen wesentlichen Teil der Arbeit zur L¨osung der Approximationsaufgabe dar. Diese ist besonders dann aufw¨andig und rundungsfehleranf¨allig, wenn die Koeffizientenmatrix voll besetzt ist. Deshalb wird fast ausschließlich mit orthogonalen Funktionensystemen gearbeitet. F¨ ur sie gilt bekanntlich (ϕi , ϕj ) = 0, falls i = j.
(3.149)
Dadurch wird das NGS ein Diagonalsystem mit den L¨osungen αi =
(f, ϕi ) , i = 0, 1, . . . , n. (ϕi , ϕi )
(3.150)
Wir werden die kontinuierliche Gauß-Approximation mit Polynomen in Abschnitt 3.8 und die mit trigonometrischen Funktionen in Abschnitt 3.7 kennen lernen. Beispiel 3.19. Wie wichtig der Einsatz orthogonaler Funktionensysteme ist, kann man leicht sehen, wenn man als Funktionensystem die Grundpolynome ϕj (x) := xj ,
x ∈ [0, 1],
j = 0, 1, . . . , n,
und als Gewichtsfunktion die Konstante w(x) ≡ 1 w¨ ahlt. F¨ ur die Elemente der Koeffizientenmatrix des NGS ergibt sich damit Z 1 Z 1 1 xi+j dx = ϕi (x) ϕj (x)w(x) dx = . i+j+1 0 0
Das sind aber gerade die Elemente der Hilbert-Matrix, von der wir in Aufgabe 2.11 gesehen haben, wie sehr schlecht sie konditioniert ist. △
3.7
Trigonometrische Approximation
3.7.1
Fourier-Reihen
Gegeben sei eine st¨ uckweise stetige Funktion f : Ê → Ê mit der Periode 2π f (x + 2π) = f (x)
f¨ ur alle x ∈ Ê.
(3.151)
Die Funktion f (x) darf Sprungstellen aufweisen, wenn f¨ ur eine Unstetigkeitsstelle x0 die Grenzwerte y0− und y0+ lim f (x0 − h) = y0− ,
h→+0
lim f (x0 + h) = y0+
h→+0
(3.152)
existieren und endlich sind. Die Funktion f (x) soll durch eine Linearkombination der (2π)periodischen trigonometrischen Funktionen 1, cos(x), sin(x), cos(2x), sin(2x), . . . , cos(nx), sin(nx)
(3.153)
146
3 Interpolation und Approximation
in der Form n
gn (x) =
1 a0 + {ak cos(kx) + bk sin(kx)} 2
(3.154)
k=1
im quadratischen Mittel approximiert werden, so dass gilt ⎫1/2 ⎧ π ⎬ ⎨( → min {gn (x) − f (x)}2 dx gn (x) − f (x)2 := ⎭ ⎩
(3.155)
−π
Das entspricht bis auf die Nummerierung der Koeffizienten der kontinuierlichen GaußApproximation (3.146). Satz 3.25. Die trigonometrischen Funktionen (3.153) bilden f¨ ur das Intervall [−π, π] ein System von paarweise orthogonalen Funktionen. Es gelten folgende Beziehungen ⎧ (π f¨ ur alle j = k ⎨ 0 cos(jx) cos(kx) dx = (3.156) 2π f¨ ur j = k = 0 ⎩ π f¨ ur j = k > 0 −π (π
sin(jx) sin(kx) dx =
(π
cos(jx) sin(kx) dx = 0
0 π
f¨ ur alle j = k, j, k > 0 f¨ ur j = k > 0
(3.157)
−π
f¨ ur alle j ≥ 0, k > 0
(3.158)
−π
Beweis. Auf Grund von bekannten trigonometrischen Identit¨aten gilt (π
−π
1 cos(jx) cos(kx) dx = 2
(π
[cos{(j + k)x} + cos{(j − k)x}] dx.
−π
F¨ ur j = k ergibt sich daraus 'π & 1 1 1 sin{(j + k)x} + sin{(j − k)x} =0 2 j+k j−k −π die erste Relation (3.156). F¨ ur j = k > 0 folgt aus (3.159) 'π & 1 1 sin{(j + k)x} + x =π 2 j+k −π
(3.159)
147
3.7 Trigonometrische Approximation
der dritte Fall von (3.156), w¨ ahrend die zweite Beziehung von (3.156) trivial ist. Die Aussage (3.157) zeigt man v¨ ollig analog auf Grund der Identit¨at (π
sin(jx) sin(kx) dx = −
1 2
(π
[cos{(j + k)x} − cos{(j − k)x}] dx,
−π
−π
w¨ ahrend (3.158) aus der Tatsache folgt, dass der Integrand als Produkt einer geraden und einer ungeraden Funktion ungerade ist, so dass der Integralwert verschwindet. Die Orthogonalit¨ atsrelationen (3.156) bis (3.158) gelten wegen der Periodizit¨at der trigonometrischen Funktionen selbstverst¨ andlich f¨ ur irgendein Intervall der L¨ange 2π. F¨ ur ein beliebiges endliches Intervall [a, b] f¨ uhrt die lineare Transformation t = 2π (x − a)/(b − a) auf das Funktionensystem 1, cos(kt), sin(kt), . . .. Wegen der Orthogonalit¨ at ist das NGS diagonal und seine L¨osungen sind die Koeffizienten αi = (f, ϕi )/(ϕi , ϕi ) aus (3.150). Das ergibt hier mit (3.156) bis (3.158) auf Grund der anderen Bezeichnungsweise und Nummerierung die gesuchten Koeffizienten 1 ak = π 1 bk = π
(π
−π (π
f (x) cos(kx) dx,
k = 0, 1, . . . , n, (3.160)
f (x) sin(kx) dx,
k = 1, 2, . . . , n.
−π
Sie heißen die Fourier-Koeffizienten der (2π)-periodischen Funktion f (x) und die mit ihnen gebildete Funktion gn (x) (3.154) das Fourier-Polynom. Die Fourier-Koeffizienten und das zugeh¨ orige Fourier-Polynom k¨ onnen f¨ ur beliebig großes n definiert werden, so dass zu jeder (2π)-periodischen, st¨ uckweise stetigen Funktion f (x) durch Grenz¨ ubergang die unendliche Fourier-Reihe ∞ 1 {ak cos(kx) + bk sin(kx)} (3.161) g(x) := a0 + 2 k=1
formal gebildet werden kann. Ohne Beweis [Cou 68, Heu 04b, Smi 90] zitieren wir den
Satz 3.26. Es sei f (x) eine (2π)-periodische, st¨ uckweise stetige Funktion mit st¨ uckweise stetiger erster Ableitung. Dann konvergiert die zugeh¨orige Fourier-Reihe g(x) (3.161) gegen a) den Wert f (x0 ), falls f (x) an der Stelle x0 stetig ist, 1 b) {y0− + y0+ } mit den Grenzwerten (3.152), falls f (x) an der Stelle x0 eine Sprungstelle 2 besitzt. Die Voraussetzungen des Satzes 3.26 schließen solche st¨ uckweise stetigen 0 Funktionen aus, ur x = 0. deren Graph eine vertikale Tangente aufweist wie beispielsweise f (x) = |x| f¨
148
3 Interpolation und Approximation y
x −π
π
0
2π
Abb. 3.27 Periodische Dachkurve mit approximierendem Fourier-Polynom g3 (x).
Beispiel 3.20. Die (2π)-periodische Funktion f (x) sei im Grundintervall [−π, π] definiert als f (x) = |x|,
−π ≤ x ≤ π.
(3.162)
Sie wird wegen ihres Graphen als Dachfunktion bezeichnet (vgl. Abb. 3.27). Sie ist eine stetige Funktion, und da sie gerade ist, sind alle Koeffizienten bk = 0. Zudem kann die Berechnung der ak vereinfacht werden. Zπ Zπ 1 2 a0 = |x| dx = x dx = π π π −π 0 3 2 ˛π Zπ Zπ ˛ 2 2 41 1 ˛ ak = x cos(kx) dx = x sin(kx)˛ − sin(kx) dx5 ˛ π π k k 0 0 0 ˛π ˛ 2 2 ˛ cos(kx) [(−1)k − 1], k > 0 = ˛ = ˛ πk2 πk2 0
Die zugeh¨ orige Fourier-Reihe lautet deshalb j ff 4 cos(x) 1 cos(3x) cos(5x) g(x) = π − + + + ... . 2 π 12 32 52
(3.163)
In Abb. 3.27 ist das Fourier-Polynom g3 (x) eingezeichnet. Es approximiert die Funktion f (x) bereits recht gut. Da f die Voraussetzungen des Satzes 3.26 erf¨ ullt, gilt nach Satz 3.26 g(0) = 0 und es ergibt sich 1 1 1 1 π2 = 2 + 2 + 2 + 2 + ... 8 1 3 5 7
△
Beispiel 3.21. Die (2π)-periodische Funktion f (x) sei im Intervall (0, 2π) definiert durch f (x) = x2 ,
0 < x < 2π.
(3.164)
ullt aber die Voraussetzungen von Satz 3.26. Sie besitzt f¨ ur xk = 2πk, (k ∈ ) Sprungstellen, erf¨ Die zugeh¨ origen Fourier-Koeffizienten erh¨ alt man mit Hilfe partieller Integration. a0 =
1 π
Z2π 0
x2 dx =
8π 2 3
149
3.7 Trigonometrische Approximation y 4π 2
f (x)
g4 (x)
2π 2
x −π
π
0
2π
Abb. 3.28 Periodische Funktion mit Sprungstellen.
1 ak = π
Z2π
x2 cos(kx) dx =
4 , k2
k = 1, 2, . . .
0
1 bk = π
Z2π
x2 sin(kx) dx = −
4π , k
k = 1, 2, . . .
0
Als Fourier-Reihe ergibt sich damit ff ∞ j 4π 4π 2 X 4 cos(kx) − g(x) = + sin(kx) . 3 k2 k
(3.165)
k=1
In Abb. 3.28 ist zur Illustration der Approximation von f (x) das Fourier-Polynom g4 (x) angegeben. Die vorhandenen Sprungstellen bewirken eine lokal schlechtere Konvergenz als bei Beispiel 3.20. △
Im allgemeinen Fall ergeben sich f¨ ur die Fourier-Koeffizienten ak und bk nach (3.160) keine geschlossenen Formeln. Dann m¨ ussen sie durch numerische Integration bestimmt werden. Dazu w¨ ahlen wir als Integrationsformel die Trapezregel, denn sie liefert bei ¨aquidistanten, fest vorgegebenen Integrationsst¨ utzstellen einen verschiebungsinvarianten Wert des Integrals. Zudem besitzt sie zur approximativen Berechnung eines Integrals einer periodischen Funktion u ¨ber ein Periodenintervall besondere Eigenschaften (vgl. Abschnitt 7.3). Wird das Intervall [0, 2π] in N Teilintervalle unterteilt, so dass f¨ ur die Schrittweite h und die Integrationsst¨ utzstellen xj h=
2π , N
xj = hj =
2π j, N
j = 0, 1, 2, . . . , N
gelten, dann erhalten wir aus der Trapezregel (7.13) ak
=
1 π
(2π 0
f (x) cos(kx) dx
(3.166)
150
3 Interpolation und Approximation
≈
⎫ ⎧ N −1 ⎬ 1 2π ⎨ f (x0 ) cos(kx0 ) + 2 f (xj ) cos(kxj ) + f (xN ) cos(kxN ) . ⎭ π 2N ⎩ j=1
Ber¨ ucksichtigen wir die (2π)-Periodizit¨ at von f (x) cos(kx), so ergeben sich f¨ ur die ak und analog f¨ ur die bk die N¨ aherungswerte a∗k := b∗k
N 2 f (xj ) cos(kxj ), N j=1
N 2 f (xj ) sin(kxj ), := N j=1
k = 0, 1, 2, . . . , (3.167) k = 1, 2, 3, . . . .
Fourier-Polynome, welche mit den Koeffizienten a∗k und b∗k gebildet werden, haben Eigenschaften, die wir jetzt herleiten wollen. Als Vorbereitung dazu ben¨otigen wir die zu (3.156) bis (3.158) analogen diskreten Orthogonalit¨ atsrelationen der trigonometrischen Funktionen. Satz 3.27. F¨ ur die diskreten St¨ utzstellen xj (3.166) gelten N
cos(kxj ) =
N
sin(kxj ) = 0
j=1
j=1
0 N
falls k/N ∈ / falls k/N ∈
f¨ ur alle k ∈
(3.168)
.
(3.169)
Beweis. Wir betrachten die komplexe Summe
S :=
N N N eijkh , eikxj = {cos(kxj ) + i sin(kxj )} = j=1
j=1
(3.170)
j=1
welche eine endliche geometrische Reihe mit dem (komplexen) Quotienten q := eikh = otig, um ihren Wert zu bestimmen. e2πik/N darstellt. Eine Fallunterscheidung ist n¨ Ist k/N ∈ /
, dann ist q = 1, und die Summenformel ergibt
S = eikh
e2πki − 1 eikhN − 1 = eikh ikh = 0, ikh e −1 e −1
k/N ∈ /
.
Ist hingegen k/N ∈ , so folgt wegen q = 1, dass S = N ist. Aus diesen beiden Ergebnissen folgen aus dem Realteil und dem Imagin¨ arteil von S (3.170) die Behauptungen (3.168) und (3.169).
3.7 Trigonometrische Approximation
151
Satz 3.28. Die trigonometrischen Funktionen (3.153) erf¨ ullen f¨ ur die ¨aquidistanten St¨ utzstellen xj (3.166) die diskreten Orthogonalit¨atsrelationen ⎧ k−l k+l ⎪ ⎪ 0, falls ∈ / und ∈ / ⎪ ⎪ N N ⎪ ⎪ N ⎨ k−l k+l N (3.171) cos(kxj ) cos(lxj ) = , falls entweder ∈ oder ∈ ⎪ 2 N N ⎪ j=1 ⎪ ⎪ ⎪ k+l k−l ⎪ ⎩ N, ∈ und ∈ falls N N ⎧ k−l k+l ⎪ ⎪ ∈ und ∈ / 0, falls ⎪ ⎪ N N ⎪ ⎪ ⎪ ⎪ k+l k−l ⎪ N ⎨ ∈ und ∈ oder N N sin(kxj ) sin(lxj ) = (3.172) ⎪ ⎪ k+l N k−l j=1 ⎪ ⎪ ∈ und ∈ / − , falls ⎪ ⎪ 2 N N ⎪ ⎪ k+l k−l ⎪ ⎩ N, falls ∈ / und ∈ 2 N N N cos(kxj ) sin(lxj ) = 0, f¨ ur alle k, l ∈ (3.173) j=1
Beweis. Zur Verifikation der Behauptungen sind die Identit¨aten f¨ ur trigonometrische Funktionen cos(kxj ) cos(lxj ) =
1 [cos{(k + l)xj } + cos{(k − l)xj }] 2
sin(kxj ) sin(lxj ) =
1 [cos{(k − l)xj } − cos{(k + l)xj }] 2
cos(kxj ) sin(lxj ) =
1 [sin{(k + l)xj } − sin{(k − l)xj }] 2
und dann die Aussagen von Satz 3.27 anzuwenden, um die Beziehungen (3.171) bis (3.173) zu erhalten. Die angen¨ aherte Bestimmung der Fourier-Koeffizienten ak und bk mit der Trapezregel hat zu der Formel (3.167) f¨ ur die N¨ aherungen a∗k und b∗k gef¨ uhrt. Wenn wir (3.167) als Skalarprodukte (f, ϕj ) auffassen mit ϕ2k (x) = cos(kx) bzw. ϕ2k+1 (x) = sin(kx), k = 0, 1, 2, . . ., und wenn wir die in den S¨ atzen 3.27 und 3.28 gezeigte diskrete Orthogonalit¨at der Ansatzfunktionen f¨ ur dieses Skalarprodukt ber¨ ucksichtigen, dann hat sich mit der numerischen ¨ Integration mit der Trapezregel der Ubergang von der kontinuierlichen zur diskreten trigonometrischen Approximation ergeben, und das unter Beibehaltung der Orthogonalit¨at. ¨ Uber die Approximationsqualit¨ at bei Verwendung der angen¨aherten Fourier-Koeffizienten atze und Beispiele Auskunft. a∗k und b∗k geben die folgenden S¨
152
3 Interpolation und Approximation y 4π 2
f (x)
g3∗ (x)
2π 2
x −π
π
0
2π
Abb. 3.29 Approximation im diskreten quadratischen Mittel.
Satz 3.29. Es sei N = 2n, n ∈ ∗ . Das Fourier-Polynom m
∗ gm (x) :=
1 ∗ ∗ a + {ak cos(kx) + b∗k sin(kx)} 2 0
(3.174)
k=1
vom Grad m < n mit den Koeffizienten (3.167) approximiert die Funktion f (x) im diskreten quadratischen Mittel der N St¨ utzstellen xj (3.166) derart, dass die Summe der Quadrate der Abweichungen F :=
N j=1
minimal ist.
∗ {gm (xj ) − f (xj )}2
(3.175)
Beispiel 3.22. F¨ur die (2π)-periodisch fortgesetzte Funktion f (x) = x2 , 0 < x < 2π, f¨ur welche ur N = 12 die Koeffizienten an den Sprungstellen f (0) = f (2π) = 2π 2 festgesetzt sei, ergeben sich f¨ ∗ . ∗ . ∗ . ∗ . 4.092652, a2 = 1.096623, a3 = 0.548311, a0 = 26.410330, a1 = . . . b∗1 = −12.277955, b∗2 = −5.698219, b∗3 = −3.289868.
Das zugeh¨ orige Fourier-Polynom g3∗ (x) ist zusammen mit f (x) in Abb. 3.29 dargestellt.
△
F¨ ur eine bestimmte Wahl von m wird die Approximation zur Interpolation. Dieses Ergebnis wollen wir noch ohne Beweis anf¨ ugen (siehe [Sch 97]). Satz 3.30. Es sei N = 2n, n ∈ ∗ . Das spezielle Fourier-Polynom n−1
gn∗ (x) :=
1 1 ∗ ∗ a0 + {ak cos(kx) + b∗k sin(kx)} + a∗n cos(nx) 2 2
(3.176)
k=1
mit den Koeffizienten (3.167) ist das eindeutige, interpolierende Fourier-Polynom zu den St¨ utzstellen xj (3.166) mit den St¨ utzstellen f (xj ), j = 1, 2, . . . , N .
153
3.7 Trigonometrische Approximation y π
x x1
0
x2
x3
π = x4
x5
x6
x7
2π
Abb. 3.30 Periodische Dachkurve mit interpolierendem Fourier-Polynom g4 (x).
Als Erg¨ anzung zu Satz 3.30 sei noch bemerkt, dass der Funktionswert f (xj ) in Anlehnung an Satz 3.26 im Fall einer Sprungstelle xj als das arithmetische Mittel der beiden Grenzwerte yj− und yj+ festzulegen ist. Auch f¨ ur ungerades N kann ein interpolierendes Fourier-Polynom mit den Koeffizienten a∗k und b∗k gebildet werden [You 90]. Beispiel 3.23. F¨ur die Dachfunktion f (x) (3.162) ergeben sich f¨ur N = 8, h = π/4, xj = πj/4, j = 1, 2, . . . 8, die Werte . . a∗0 = π, a∗1 = −1.34076, a∗2 = 0, a∗3 = −0.230038, a∗4 = 0, b∗1 = b∗2 = b∗3 = 0. Das interpolierende Fourier-Polynom g4∗ (x) lautet . g4∗ (x) = 1.57080 − 1.34076 cos(x) − 0.230038 cos(3x)
und ist in Abb. 3.30 dargestellt. Die Approximation der Dachkurve ist im Vergleich zu Abb. 3.27 wegen der Interpolationseigenschaft nat¨ urlich verschieden. △
Es bleibt die Frage des Unterschiedes zwischen kontinuierlicher und diskreter trigonometrischer Approximation bzw. nach den Fehlern |a∗k − ak | und |b∗k − bk |. Die Antwort findet sich im folgenden Satz, auf dessen Beweis wir verzichten wollen. Satz 3.31. Es sei f (x) eine 2π-periodische Funktion. Sie erf¨ ulle die Voraussetzungen von Satz 3.26. Weiter sei N = 2n, n ∈ ∗ . Wird f (xj ) an einer Sprungstelle xj als arithmetisches Mittel der beiden Grenzwerte (3.152) definiert, dann gelten f¨ ur die Koeffizienten a∗k und b∗k die Darstellungen a∗k b∗k
= ak + aN −k + aN +k + a2N −k + a2N +k + . . . , (0 ≤ k ≤ n), = bk − bN −k + bN +k − b2N −k + b2N +k + . . . , (1 ≤ k ≤ n − 1),
|a∗k − ak | ≤
∞
{|aµN −k | + |aµN +k |},
µ=1
(0 ≤ k ≤ n),
(3.177) (3.178) (3.179)
154
3 Interpolation und Approximation
|b∗k − bk | ≤
∞
{|bµN −k | + |bµN +k |},
(1 ≤ k ≤ n − 1).
µ=1
(3.180)
Die Fehler lassen sich daher zu gegebenem N absch¨atzen, falls bekannt ist, wie die FourierKoeffizienten ak und bk f¨ ur eine gegebene Funktion f (x) gegen null konvergieren. Umgekehrt l¨ asst sich in diesem Fall der Wert N sch¨ atzen, der n¨otig ist, damit zu vorgegebenem ε > 0 ur k = 0, 1, 2, . . . , m < n gelten. |a∗k − ak | ≤ ε und |b∗k − bk | ≤ ε f¨ Beispiel 3.24. F¨ur die Dachfunktion f (x) (3.162) wurde f¨ur die Fourier-Koeffizienten im Beispiel 3.20 gefunden ( 4 − 2 , falls k ungerade, a0 = π; ak = (3.181) πk 0, falls k > 0 gerade. Mit N = 8 (vgl. Beispiel 3.23) gelten beispielsweise a∗0 = a0 + 2(a8 + a16 + a24 + a32 + . . .) = a0 , a∗1 = a1 + a7 + a9 + a15 + a17 + . . . = a1 −
4 π
j
ff 1 1 1 1 + + + + ... . 49 81 225 289
Es soll nun der Wert von N abgesch¨ atzt werden, so dass die ersten von null verschiedenen Koeffizienten ak durch die entsprechenden a∗k mit einem maximalen, absoluten Fehler von ε = 10−6 approximiert werden. F¨ ur k ungerade und k ≪ N gilt ff j 1 1 1 4 1 ∗ + + + + ... ak − ak = − π (N − k)2 (N + k)2 (2N − k)2 (2N + k)2 j ff 4 2N 2 + 2k2 8N 2 + 2k2 = − + + ... 2 2 2 π (N − k ) (4N 2 − k2 )2 ff j 1 1 1 8 + + + . . . ≈ − π N2 (2N )2 (3N )2 j ff 8 1 1 1 8 π2 4π = − + + + . . . =− · =− . πN 2 12 22 32 πN 2 6 3N 2 Die Summe der Kehrwerte der Quadrate der ganzen Zahlen ergibt sich aus der Fourier-Reihe (3.165) f¨ ur x = 0. Aus der Bedingung |a∗k − ak | ≤ ε = 10−6 folgt N > 2046. △
3.7.2
Effiziente Berechnung der Fourier-Koeffizienten
Wir haben die Formeln (3.167) zur gen¨ aherten Berechnung der Fourier-Koeffizienten ak und bk einer (2π)-periodischen Funktion f (x) verwendet. Die Summen (3.167) treten auch im Zusammenhang mit der diskreten Fourier-Transformation auf, die von großer Bedeutung ist beispielsweise in der Physik, Elektrotechnik, Bildverarbeitung und Statistik, siehe etwa [Bri 95, Pic 86]. Dabei ist N oft sehr groß, und deshalb ist es besonders wichtig, diese Summen mit m¨ oglichst geringem Rechenaufwand zu bestimmen. Die nahe liegende, direkte Realisierung der Berechnung der Summen erfordert f¨ ur die Bestimmung der N = 2n Koeffizienten a∗k , k = 0, 1, . . . , n, und b∗k , k = 1, 2, . . . , n − 1, etwa N 2 Multiplikationen und N 2 trigonometrische Funktionsauswertungen. F¨ ur gr¨oßere Werte von N (N ≫ 1000) wird der Rechenaufwand prohibitiv groß. Wir werden einen Algorithmus darstellen, der
155
3.7 Trigonometrische Approximation
die diskrete Fourier-Transformation sehr effizient durchf¨ uhrt. Interessant ist auch der Algorithmus von Reinsch [Sau 68, Sto 99], welcher die Fourier-Koeffizienten etwas weniger effizient, jedoch numerisch stabil und mit minimalem Speicherbedarf liefert. Hinweisen wollen wir noch auf einen historischen Algorithmus, den Runge schon 1903 und 1905 vorstellte, [Run 03, Run 05, Run 24, JE 82, Sch 97]. Die schnelle Fourier-Transformation Zur Berechnung der Summen a′k := b′k
:=
N −1
j=0 N −1
N , 2
f (xj ) cos(kxj ),
k = 0, 1, 2, . . . ,
f (xj ) sin(kxj ),
N k = 1, 2, . . . , − 1, 2
j=0
(3.182)
2π j kann im Spezialfall, in dem N eine Potenz von 2 ist, ein sehr effizienter mit xj = N Algorithmus entwickelt werden, falls man zu einer komplexen Fourier-Transformation u ¨ bergeht. Unter Ausnutzung der Periodizit¨ at l¨ auft in (3.182) der Summationsindex j von 0 bis N − 1. Aus je zwei aufeinander folgenden St¨ utzwerten bilden wir die n = N/2 komplexen Zahlenwerte yj := f (x2j ) + if (x2j+1 ),
j = 0, 1, . . . , n − 1,
n=
N . 2
(3.183)
Zu diesen komplexen Daten yj definieren wir die diskrete, komplexe Fourier-Transformation der Ordnung n ck :=
n−1
yj e−ijk
j=0
mit wn := e
−i 2π n
2π n
n−1
yj wnjk , k = 0, 1, . . . , n − 1 j=0 " # " # 2π 2π − i sin . = cos n n =
(3.184)
Die komplexe Gr¨ oße wn stellt eine n-te Einheitswurzel dar. Der Zusammenhang zwischen den komplexen Fourier-Transformierten ck und den gesuchten reellen Gr¨oßen a′k und b′k folgt aus dem Satz 3.32. Die reellwertigen trigonometrischen Summen a′k und b′k sind gegeben durch die komplexen Fourier-Transformierten ck gem¨aß 1 1 a′k − ib′k = (ck + c¯n−k ) + (ck − c¯n−k )e−ikπ/n (3.185) 2 2i 1 1 a′n−k − ib′n−k = (¯ ck + cn−k ) + (¯ ck − cn−k )eikπ/n (3.186) 2 2i f¨ ur k = 0, 1, . . . , n, falls b′0 = b′n = 0 und cn = c0 gesetzt wird.
156
3 Interpolation und Approximation
Beweis. F¨ ur den ersten Summanden von (3.185) erhalten wir n−1 n−1 1 1 1 j(n−k) (ck + c¯n−k ) = {yj wnjk + y¯j wn (yj + y¯j )wnjk , }= 2 2 j=0 2 j=0
und f¨ ur den Klammerausdruck des zweiten Summanden n−1 n−1 1 1 1 j(n−k) jk (ck − c¯n−k ) = }= {yj wn − y¯j wn (yj − y¯j )wnjk . 2i 2i j=0 2i j=0
Verwenden wir die Definition (3.183), so ergibt sich
=
1 1 (ck + c¯n−k ) + (ck − c¯n−k )e−ikπ/n 2 2i n−1 2 1 f (x2j )e−ijk2π/n + f (x2j+1 )e−ik(2j+1)π/n j=0
=
n−1 j=0
% f (x2j )[cos(kx2j ) − i sin(kx2j )]
+ f (x2j+1 )[cos(kx2j+1 ) − i sin(kx2j+1 )] = a′k − ib′k .
Damit ist (3.185) verifiziert. (3.186) ergibt sich aus (3.185), indem k durch n−k substituiert wird. Zur Berechnung der reellen Werte a′k und b′k k¨ onnen f¨ ur einen festen Index k durch Addition und Subtraktion der Gleichungen (3.185) und (3.186) einfache Beziehungen f¨ ur die Summen und Differenzen der Wertepaare a′k und a′n−k , bzw. b′k und b′n−k gewonnen werden. Wir wollen jetzt das Grundprinzip des effizienten Algorithmus zur Durchf¨ uhrung der diskreten Fourier-Transformation (3.184) schrittweise darstellen. Da wn eine n-te Einheitswurzel darstellt, liegen die Potenzen wnjk auf dem Einheitskreis der komplexen Ebene und bilden die Eckpunkte eines regelm¨ aßigen n-Ecks. Die Exponenten lassen sich deshalb mod n reduzieren. Nach dieser Vorbemerkung betrachten wir den Fall n = 4. Die Fourier-Transformation (3.184) stellen wir mit einer Matrix W4 ∈ 4,4 als lineare Transformation dar. ⎞ ⎛ ⎞ ⎛ ⎞⎛ 1 1 1 1 c0 y0 ⎜ c1 ⎟ ⎜ 1 w 1 w 2 w 3 ⎟ ⎜ y 1 ⎟ ⎟ ⎜ ⎟ , w = w4 ; c = W4 y ⎜ ⎟⎜ (3.187) ⎝ c2 ⎠ = ⎝ 1 w 2 1 w 2 ⎠ ⎝ y2 ⎠ c3 y3 1 w3 w2 w1 Vertauschen wir in (3.187) die zweite und dritte Komponente im Vektor c und damit auch die zweite und dritte Zeile in W4 , so l¨ asst sich diese zeilenpermutierte Matrix offensichtlich
157
3.7 Trigonometrische Approximation
als Produkt von zwei Matrizen schreiben. Aus (3.187) erhalten wir ⎛ ⎞ ⎞⎛ ⎞ ⎛ ⎞ ⎛ 1 1 1 1 c˜0 y0 c0 ⎜ c˜1 ⎟ ⎜ c2 ⎟ ⎜ 1 w2 1 ⎟ ⎜ w2 ⎟ ⎟ ⎜ y1 ⎟ = ⎟=⎜ ⎟=⎜ ⎜ 2 3 ⎝ c˜2 ⎠ ⎝ c1 ⎠ ⎝ 1 w w w ⎠ ⎝ y2 ⎠ c˜3 1 ⎜ 1 ⎜ ⎝ 0 0 ⎛
1 w2 0 0
0 0 1 1
c3 0 0 1 w2
⎞⎛
1 ⎟⎜ 0 ⎟⎜ ⎠⎝ 1 0
1
w3
0 1 0 w1
w2
1 0 w2 0
w1 ⎞⎛
y3 ⎞
0 y0 ⎜ y1 ⎟ 1 ⎟ ⎟. ⎟⎜ 0 ⎠ ⎝ y2 ⎠ y3 w3
(3.188)
Die erste Faktormatrix der Produktzerlegung, unterteilt in vier Untermatrizen der Ordnung zwei, hat Block-Diagonalgestalt, wobei die beiden Untermatrizen in der Diagonale identisch sind. Die zweite Faktormatrix baut sich aus vier Diagonalmatrizen je der Ordnung zwei auf, wobei zweimal die Einheitsmatrix vorkommt. Auf Grund der Darstellung (3.188) f¨ uhren wir die lineare Transformation auch in zwei Teilschritten aus. Wir multiplizieren den Vektor y mit der zweiten Faktormatrix und erhalten als Ergebnis den Vektor z mit den Komponenten z0 = y0 + y2 ,
z1 = y1 + y3 , 0
(3.189) 1
z2 = (y0 − y2 )w ,
z3 = (y1 − y3 )w ,
(3.190)
wenn wir ber¨ ucksichtigen, dass w2 = −1 und w3 = −w1 gelten. Im Hinblick auf die Verallgemeinerung ist in (3.190) die triviale Multiplikation mit w0 = 1 aufgef¨ uhrt. Im zweiten Teilschritt wird der Hilfsvektor z mit der ersten Faktormatrix multipliziert. Wir erhalten c˜1 = c2 = z0 + w2 z1 ,
c˜0 = c0 = z0 + z1 ,
(3.191)
2
c˜2 = c1 = z2 + z3 ,
c˜3 = c3 = z2 + w z3 .
(3.192)
Die Formels¨ atze (3.191) und (3.192) sind identisch gebaut. Im Hinblick auf die Verallgemeinerung wird die triviale Multiplikation mit w2 = −1 mitgef¨ uhrt. Wenn wir w42 = w21 ber¨ ucksichtigen, erkennt man, dass (3.191) und (3.192) je eine komplexe Fourier-Transformation der Ordnung zwei darstellen. Die Fourier-Transformation (3.187) der Ordnung vier wurde somit vermittels (3.189) und (3.190) auf zwei Fourier-Transformationen der Ordnung zwei zur¨ uckgef¨ uhrt. Die Reduktion einer komplexen Fourier-Transformation von gerader Ordnung auf zwei Fourier-Transformationen je der halben Ordnung ist stets m¨oglich. Das kann vermittels einer analogen Faktorisierung der zeilenpermutierten Transformationsmatrix gezeigt werden. Statt dessen zeigen wir dies mit Hilfe von algebraischen Umformungen. Es sei n = 2m, m ∈ ∗ . Dann gilt f¨ur die komplexen Transformierten ck (3.184) mit geraden Indizes k = 2l, l = 0, 1, . . . , m − 1, c2l =
2m−1
yj wn2lj =
j=0
m−1
(yj + ym+j )wn2lj =
2l(m+j)
zj := yj + ym+j ,
(yj + ym+j )(wn2 )lj .
j=0
j=0
Dabei wurde die Identit¨ at wn
m−1
= wn2lj wn2lm = wn2lj verwendet. Mit den m Hilfswerten
j = 0, 1, . . . , m − 1,
(3.193)
158
3 Interpolation und Approximation
und wegen wn2 = wm sind die m Koeffizienten c2l =
m−1
jl zj wm ,
j=0
l = 0, 1, . . . , m − 1,
(3.194)
gem¨ aß (3.184) die Fourier-Transformierten der Ordnung m der Hilfswerte zj (3.193). F¨ ur die ck mit ungeraden Indizes k = 2l + 1, l = 0, 1, . . . , m − 1, gilt c2l+1
=
2m−1
yj wn(2l+1)j =
j=0
=
j=0
m−1 j=0
m−1
{yj wn(2l+1)j + ym+j wn(2l+1)(m+j) }
{yj − ym+j }wn(2l+1)j =
m−1 j=0
{(yj − ym+j )wnj }wn2lj .
Mit den weiteren m Hilfswerten zm+j := (yj − ym+j )wnj ,
j = 0, 1, . . . , m − 1,
(3.195)
sind die m Koeffizienten c2l+1 =
m−1
jl zm+j wm ,
j=0
l = 0, 1, . . . , m − 1,
(3.196)
die Fourier-Transformierten der Ordnung m der Hilfswerte zm+j (3.195). Die Zur¨ uckf¨ uhrung einer komplexen Fourier-Transformation der Ordnung n = 2m auf zwei komplexe FourierTransformationen der Ordnung m erfordert wegen (3.195) als wesentlichen Rechenaufwand m komplexe Multiplikationen. Ist die Ordnung n = 2γ , γ ∈ ∗ , so k¨onnen die beiden FourierTransformationen der Ordnung m selbst wieder auf je zwei Fourier-Transformationen der halben Ordnung zur¨ uckgef¨ uhrt werden, so dass eine systematische Reduktion m¨oglich ist. Im Fall n = 32 = 25 besitzt dieses Vorgehen die formale Beschreibung 16
2·8
4·4
8·2
16·1
F T32 → 2(F T16 ) → 4(F T8 ) → 8(F T4 ) → 16(F T2 ) → 32(F T1 ),
(3.197)
in welcher F Tk eine Fourier-Transformation der Ordnung k bedeutet, und die Zahl der erforderlichen komplexen Multiplikationen f¨ ur die betreffenden Reduktionsschritte angegeben ist. Da die Fourier-Transformierten der Ordnung Eins mit den zu transformierenden Werten u ¨ bereinstimmen, stellen die nach dem letzten Reduktionsschritt erhaltenen Zahlenwerte die gesuchten Fourier-Transformierten ck dar. Eine komplexe Fourier-Transformation (3.184) der Ordnung n = 2γ , γ ∈ ∗ ist in Verallgemeinerung von (3.197) mit γ Reduktionsschritten auf n Fourier-Transformationen der Ordnung Eins zur¨ uckf¨ uhrbar. Da jeder Schritt n/2 komplexe Multiplikationen erfordert, betr¨ agt der totale Rechenaufwand ZF T n =
1 1 nγ = n log2 n 2 2
(3.198)
159
3.7 Trigonometrische Approximation
komplexe Multiplikationen. Der Rechenaufwand nimmt somit nur etwa linear mit der Ordnung n zu. Deshalb wird die skizzierte Methode als schnelle Fourier-Transformation (fast Fourier transform=FFT) bezeichnet. Sie wird Cooley und Tukey [Coo 65] zugeschrieben. Sie wurde aber bereits von Good formuliert [Goo 60]. Die hohe Effizienz der schnellen FourierTransformation ist in der Zusammenstellung (3.199) illustriert, wo f¨ ur verschiedene Ordnungen n die Anzahl n2 der komplexen Multiplikationen, die bei der direkten Berechnung ubergestellt ist. der Summen (3.184) erforderlich ist, dem Aufwand ZF T n (3.198) gegen¨ γ= n= n2 = ZF T n =
5 32 1024 80
6 64 4096 192
8 256 65536 1024
9 512 2.62 · 105 2304
10 1024 1.05 · 106 5120
11 2048 4.19 · 106 11264
12 4096 1.68 · 107 24576
Faktor
12.8
21.3
64
114
205
372
683
(3.199)
Der Rechenaufwand der schnellen Fourier-Transformation wird gegen¨ uber n2 um den Faktor in der letzten Zeile von (3.199) verringert. Eine m¨ogliche algorithmische Realisierung der schnellen Fourier-Transformation, welche auf den vorhergehenden Betrachtungen beruht, besteht aus einer sukzessiven Transformation der gegebenen y-Werte in die gesuchten c-Werte. Die erforderlichen Rechenschritte sind in Tab. 3.3 f¨ ur den Fall n = 16 = 24 dar−i2π/16 −iπ/8 gestellt. F¨ ur das ganze Schema gilt w := e =e = cos(π/8) − i sin(π/8). Die zu berechnenden Hilfsgr¨ oßen zj (3.193) und zm+j (3.195) werden wieder mit yj und ym+j bezeichnet, wobei die Wertzuweisungen so zu verstehen sind, dass die rechts stehenden Gr¨oßen stets die Werte vor dem betreffenden Schritt bedeuten. Im ersten Schritt sind gem¨ aß (3.193) und (3.195) gleichzeitig Summen und Differenzen von y-Werten zu bilden, wobei die letzteren mit Potenzen von w zu multiplizieren sind. Aus der ersten Gruppe von acht y-Werten resultieren die Fourier-Transformierten ck mit geraden Indizes und aus der zweiten Gruppe die restlichen ck . Die betreffenden c-Werte sind zur Verdeutlichung des Prozesses angegeben. Im zweiten Schritt sind f¨ ur jede der beiden Gruppen von y-Werten entsprechende Summen und Differenzen zu bilden, wobei wegen 2 = w2 nur gerade Potenzen von w als Multiplikatoren auftreten. Zudem sind auch w8 = w16 die Fourier-Transformierten ck den entsprechenden Permutationen innerhalb jeder Gruppe zu unterwerfen. Im dritten Schritt sind die vier Gruppen analog mit der Einheitswurzel 4 = w4 zu behandeln, wobei die Fourier-Transformierten ck entsprechend zu (3.188) w4 = w16 zu permutieren sind. Im vierten und letzten Schritt erfolgen noch die letzten Reduktionen 8 = w8 . mit w2 = w16 Die resultierenden y-Werte sind identisch mit den c-Werten, wobei allerdings die Zuordnung der Indexwerte eine zus¨ atzliche Betrachtung erfordert. Den Schl¨ ussel f¨ ur die richtige Zuordnung liefert die bin¨ are Darstellung der Indexwerte. In Tab. 3.4 sind die Bin¨ardarstellungen der Indizes der c-Werte nach den einzelnen Reduktionsschritten zusammengestellt. Die Bin¨ ardarstellungen der letzten Spalte sind genau umgekehrt zu denjenigen der ersten Spalte. Ein Beweis dieser Feststellung beruht darauf, dass die Permutation der Indexwerte im ersten Schritt einer zyklischen Vertauschung der γ Bin¨arstellen entspricht. Im zweiten Schritt ist die Indexpermutation in den beiden Gruppen ¨aquivalent zu einer zyklischen Vertauschung der ersten (γ − 1) Bin¨ arstellen und so fort. Die eindeutige Wertzuordnung
160
Tab. 3.3 Eine algorithmische Realisierung der schnellen Fouriertransformation
y0 := y0 + y8 y1 := y1 + y9 y2 := y2 + y10 y3 := y3 + y11 y4 := y4 + y12 y5 := y5 + y13 y6 := y6 + y14 y7 := y7 + y15 y8 := (y0 − y8 )w0 y9 := (y1 − y9 )w1 y10 := (y2 − y10 )w2 y11 := (y3 − y11 )w3 y12 := (y4 − y12 )w4 y13 := (y5 − y13 )w5 y14 := (y6 − y14 )w6 y15 := (y7 − y15 )w7
FT16 → 2(FT8 )
c0 c2 c4 c6 c8 c10 c12 c14 c1 c3 c5 c7 c9 c11 c13 c15
y0 := y0 + y4 y1 := y1 + y5 y2 := y2 + y6 y3 := y3 + y7 y4 := (y0 − y4 )w0 y5 := (y1 − y5 )w2 y6 := (y2 − y6 )w4 y7 := (y3 − y7 )w6 y8 := y8 + y12 y9 := y9 + y13 y10 := y10 + y14 y11 := y11 + y15 y12 := (y8 − y12 )w0 y13 := (y9 − y13 )w2 y14 := (y10 − y14 )w4 y15 := (y11 − y15 )w6
2(FT8 ) → 4(FT4 )
c0 c4 c8 c12 c2 c6 c10 c14 c1 c5 c9 c13 c3 c7 c11 c15
y0 := y0 + y2 y1 := y1 + y3 y2 := (y0 − y2 )w0 y3 := (y1 − y3 )w4 y4 := y4 + y6 y5 := y5 + y7 y6 := (y4 − y6 )w0 y7 := (y5 − y7 )w4 y8 := y8 + y10 y9 := y9 + y11 y10 := (y8 − y10 )w0 y11 := (y9 − y11 )w4 y12 := y12 + y14 y13 := y13 + y15 y14 := (y12 − y14 )w0 y15 := (y13 − y15 )w4
4(FT4 ) → 8(FT2 )
c0 c8 c4 c12 c2 c10 c6 c14 c1 c9 c5 c13 c3 c11 c7 c15
y0 := y0 + y1 = c0 y1 := (y0 − y1 )w0 = c8 y2 := y2 + y3 = c4 y3 := (y2 − y3 )w0 = c12 y4 := y4 + y5 = c2 y5 := (y4 − y5 )w0 = c10 y6 := y6 + y7 = c6 y7 := (y6 − y7 )w0 = c14 y8 := y8 + y9 = c1 y9 := (y8 − y9 )w0 = c9 y10 := y10 + y11 = c5 y11 := (y10 − y11 )w0 = c13 y12 := y12 + y13 = c3 y13 := (y12 − y13 )w0 = c11 y14 := y14 + y15 = c7 y15 := (y14 − y15 )w0 = c15 8(FT2 ) → 16(FT1 )
3 Interpolation und Approximation
y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15
161
3.8 Orthogonale Polynome
der resultierenden yi zu den gesuchten Fourier-Transformierten ck erfolgt somit auf Grund einer Bitumkehr der Bin¨ ardarstellung von j. Man sieht u ¨ brigens noch leicht ein, dass es gen¨ ugt, die Werte yi und yk zu vertauschen, falls auf Grund der Bitumkehr k > j gilt, um die richtige Reihenfolge der ck zu erhalten. Tab. 3.4 Folge der Bin¨ ardarstellungen der Indexwerte. j 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
(1)
(2)
(3)
(4)
yi
ck
ck
ck
ck
0000 000L 00L0 00LL 0L00 0L0L 0LL0 0LLL L000 L00L L0L0 L0LL LL00 LL0L LLL0 LLLL
0000 00L0 0L00 0LL0 L000 L0L0 LL00 LLL0 000L 00LL 0L0L 0LLL L00L L0LL LL0L LLLL
0000 0L00 L000 LL00 00L0 0LL0 L0L0 LLL0 000L 0L0L L00L LL0L 00LL 0LLL L0LL LLLL
0000 L000 0L00 LL00 00L0 L0L0 0LL0 LLL0 000L L00L 0L0L LL0L 00LL L0LL 0LLL LLLL
0000 L000 0L00 LL00 00L0 L0L0 0LL0 LLL0 000L L00L 0L0L LL0L 00LL L0LL 0LLL LLLL
k 0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15
Beispiel 3.25. Die schnelle Fourier-Transformation wird angewandt zur Berechnung der approximativen Fourier-Koeffizienten a∗k und b∗k der (2π)-periodischen Funktionen f (x) = x2 , 0 < x < 2π von Beispiel 3.21. Bei N = 16 St¨ utzstellen ist eine FFT der Ordnung n = 8 auszuf¨ uhren. Die aus (0) den reellen St¨ utzwerten f (xl ) gebildeten komplexen Werte werden mit yj bezeichnet. In Tab. 3.5 sind die gerundeten Zahlenwerte im Verlauf der FFT zusammengestellt sowie die aus den Fourier△ Transformierten ck berechneten reellen Fourier-Koeffizienten a∗k und b∗k . Eine effiziente Realisierung der komplexen Fourier-Transformation (3.184) ist auch f¨ ur eine allgemeinere Ordnung n m¨ oglich [Boo 80, Bri 95, Win 78]. Softwarebibliotheken erlauben nahezu alle Zahlen f¨ ur N . Der Aufwand h¨ angt dann von der Primfaktorzerlegung von N ab. Die entsprechende Nag-Routine, [NAGa, NAGb], ist besonders schnell f¨ ur Vielfache von 2, 3 und 5, erlaubt aber bis zu 20 Faktoren aus Primzahlen nicht gr¨oßer als 19.
3.8
Orthogonale Polynome
Wir betrachten im Folgenden zwei Systeme von orthogonalen Polynomen, die f¨ ur bestimmte Anwendungen von Bedeutung sind. Wir stellen die Eigenschaften nur soweit zusammen, wie sie f¨ ur die sp¨ateren Zwecke ben¨ otigt werden. Die sehr speziellen Eigenschaften der
162
3 Interpolation und Approximation
Tab. 3.5 Schnelle Fourier-Transformation. (0)
j 0 1 2 3 4 5 6 7
19.73921 0.61685 2.46740 5.55165 9.86960 15.42126 22.20661 30.22566
+ + + + + + + +
0.15421i 1.38791i 3.85531i 7.55642i 12.49122i 18.65972i 26.06192i 34.69783i
29.60881 16.03811 24.67401 35.77732 9.86960 −22.68131 −22.20661 −1.74472
yj 106.09825 2.46740 −17.27181 27.14141 −36.76303 12.08902 −6.30754 70.45997
(2)
yj
(3)
j, k 0 1 2 3 4 5 6 7 8
(1)
yj
+ 104.86455i − 19.73921i + 2.46740i − 37.01102i + 42.29652i − 27.49212i − 11.13962i − 53.01281i —
+ + + + − − + +
yj 12.64543i 20.04763i 29.91724i 42.25424i 12.33701i 1.74472i 19.73921i 36.63904i
54.28282 51.81542 4.93480 −22.20661 −12.33701 −24.42602 32.07621 −38.38375
+ 104.86455i + 42.29652i + 2.46740i − 11.13962i − 19.73921i − 27.49212i − 37.01102i − 53.01281i —
42.56267i 62.30188i 17.27181i 19.73921i 7.40220i 34.89432i 32.07621i 20.93659i
a∗k
b∗k
26.370349 4.051803 1.053029 0.499622 0.308425 0.223063 0.180671 0.160314 0.154213
— −12.404463 −5.956833 −3.692727 −2.467401 −1.648665 −1.022031 −0.490797 —
ck 106.09825 −36.76303 −17.27181 −6.30754 2.46740 12.08902 27.14141 70.45997
+ + − + + + − +
Tschebyscheff-Polynome machen diese geeignet zur Approximation von Funktionen, wobei sich eine Beziehung zu den Fourier-Reihen ergeben wird. Die Legendre-Polynome werden haupts¨ achlich die Grundlage bilden f¨ ur die Herleitung von bestimmten Quadraturformeln in Kapitel 7.
3.8.1
Approximation mit Tschebyscheff-Polynomen
Satz 3.33. F¨ ur n ∈ ist cos(nϕ) als Polynom n-ten Grades in cos(ϕ) darstellbar. Beweis. F¨ ur n = 0 und n = 1 ist die Aussage trivial. Aus dem Additionstheorem f¨ ur die Kosinusfunktion folgt cos[(n + 1)ϕ] + cos[(n − 1)ϕ] =⇒ cos[(n + 1)ϕ]
= 2 cos(ϕ) cos(nϕ), n ∈ ∗ , = 2 cos(ϕ) cos(nϕ) − cos[(n − 1)ϕ].
(3.200)
Damit bekommt man sukzessive cos(2ϕ) cos(3ϕ) cos(4ϕ)
= 2 cos2 (ϕ) − 1,
= 2 cos(ϕ) cos(2ϕ) − cos(ϕ) = 4 cos3 (ϕ) − 3 cos(ϕ), = 2 cos(ϕ) cos(3ϕ) − cos(2ϕ) = 8 cos4 (ϕ) − 8 cos2 (ϕ) + 1.
(3.201)
163
3.8 Orthogonale Polynome
x
x −1
−0.5
0.5
0
1
−1
−0.5
0
0.5
1
Abb. 3.31 Extremal- und Nullstellen von T8 (x).
Ein Beweis der Behauptung ist jetzt durch vollst¨ andige Induktion nach n offensichtlich. Das n-te Tschebyscheff-Polynom Tn (x) wird auf der Grundlage von Satz 3.33 definiert durch cos(nϕ) =: Tn (cos(ϕ)) = Tn (x), x = cos(ϕ), x ∈ [−1, 1], n ∈ .
(3.202)
Der wegen x = cos(ϕ) zun¨ achst nur f¨ ur das Intervall [−1, 1] g¨ ultige Definitionsbereich der urlich auf ganz Ê erweitert werden. Die lineare Transformation Polynome Tn (x) kann nat¨ t = a + (b − a)(x + 1)/2 f¨ uhrt auf ein beliebiges Intervall [a, b]. Wir werden aber die TPolynome nur im Intervall [−1, 1] betrachten. Die ersten T-Polynome lauten gem¨aß (3.201) T0 (x) = 1,
T1 (x) = x,
T3 (x) = 4x3 − 3x,
T2 (x) = 2x2 − 1,
T4 (x) = 8x4 − 8x2 + 1.
Aus der Definition (3.202) folgt sofort die Eigenschaft |Tn (x)| ≤ 1
f¨ ur
x ∈ [−1, 1],
n ∈ Æ.
(3.203)
Das n-te Polynom Tn (x) nimmt die Extremalwerte ±1 dann an, falls nϕ = kπ, k = 0, 1, . . . , n, gilt. Deshalb sind die (n + 1) Extremalstellen von Tn (x) gegeben durch (e) xk
= cos
"
kπ n
#
, k = 0, 1, 2, . . . , n, n ≥ 1.
(3.204)
Sie sind nicht ¨ aquidistant im Intervall [−1, 1], sondern liegen gegen die Enden des Intervalls dichter. Geometrisch k¨ onnen sie als Projektionen von regelm¨aßig auf dem Halbkreis mit Radius Eins verteilten Punkten interpretiert werden. In Abb. 3.31 links ist die Konstruk(e) tion f¨ ur n = 8 dargestellt. Die Extremalstellen xk liegen im Intervall [−1, 1] symmetrisch bez¨ uglich des Nullpunktes. Wegen des oszillierenden Verhaltens von cos(nϕ) werden die Extremalwerte mit alternierendem Vorzeichen angenommen, falls x und damit auch ϕ das Intervall monoton durchl¨ auft. Zwischen zwei aufeinander folgenden Extremalstellen von Tn (x) liegt notwendigerweise je π eine Nullstelle. Aus der Bedingung cos(nϕ) = 0 ergibt sich nϕ = (2k − 1) , k = 1, 2, . . . , n. 2
164
3 Interpolation und Approximation
T4
T3
T5
T6 T2
x −1
1
Abb. 3.32 Tschebyscheff-Polynome T2 (x) bis T6 (x).
Folglich sind die n Nullstellen von Tn (x) xk = cos
"
2k − 1 π n 2
#
,
k = 1, 2, . . . , n,
n ≥ 1.
(3.205)
Die Nullstellen von Tn (x) sind reell und einfach und liegen im Innern des Intervalls [−1, 1] symmetrisch zum Nullpunkt. Sie sind gegen die Enden des Intervalls dichter verteilt. Ihre geometrische Konstruktion ist in Abb. 3.31 rechts f¨ ur n = 8 dargestellt. Wegen ihrer Bedeutung im Zusammenhang mit der Approximation von Funktionen bezeichnet man sie als die Tschebyscheff-Abszissen zum n-ten T-Polynom. Wegen (3.200) und (3.202) erf¨ ullen die T-Polynome die Drei-Term-Rekursion Tn+1 (x) = 2xTn (x) − Tn−1 (x), n ≥ 1; T0 (x) = 1, T1 (x) = x.
(3.206)
Mit vollst¨ andiger Induktion nach n zeigt man mit Hilfe von (3.206), dass der Koeffizient von xn des Polynoms Tn (x) f¨ ur n ≥ 1 gleich 2n−1 ist. Analog folgt aus (3.206) die Eigenschaft Tn (−x) = (−1)n Tn (x),
n ≥ 0.
(3.207)
at von n ein gerades oder ungerades Polynom. In Somit ist Tn (x) entsprechend der Parit¨ Abb. 3.32 sind die Tschebyscheff-Polynome T2 (x) bis T6 (x) dargestellt. Satz 3.34. Die Polynome Tn (x), (n = 0, 1, 2, . . .) bilden ur das Intervall [−1, 1] mit dem √ f¨ L2 -Skalarprodukt und der Gewichtsfunktion w(x) = 1/ 1 − x2 ein System von orthogonalen
165
3.8 Orthogonale Polynome
Polynomen. Es gelten die Beziehungen (1
−1
⎧ ⎪ ⎨ 0 dx 1 Tk (x)Tj (x) √ = π ⎪ 2 1 − x2 ⎩ π
falls k = j
falls k = j > 0 falls k = j = 0
⎫ ⎪ ⎬ ⎪ ⎭
,
k, j ∈
(3.208)
Beweis. Mit den Substitutionen x = cos(ϕ), Tk (x) = cos(kϕ), Tj (x) = cos(jϕ) und dx = − sin(ϕ)dϕ ergibt sich (1
dx Tk (x)Tj (x) √ =− 1 − x2
=
(π
−1
(0
1 cos(kϕ) cos(jϕ)dϕ = 2
cos(kϕ) cos(jϕ)
π
(π
sin(ϕ)dϕ sin(ϕ)
cos(kϕ) cos(jϕ)dϕ.
−π
0
Wenden wir auf das letzte Integral die Relationen (3.156) an, so erhalten wir die Aussage (3.208). Jetzt betrachten wir die Aufgabe, eine im Intervall [−1, 1] gegebene, stetige Funktion f (x) im quadratischen Mittel durch ein Polynom gn (x) n-ten Grades in der Darstellung mit T-Polynomen n
gn (x) =
1 c0 T0 (x) + ck Tk (x) 2
(3.209)
k=1
zu approximieren. Dies stellt eine kontinuierliche Gauß-Approximation dar mit dem Skalarprodukt (f, g) :=
(1
f (x)g(x)w(x) dx :=
(1
−1
−1
f (x)g(x) √
dx . 1 − x2
(3.210)
Die gesuchten Koeffizienten ck sind deshalb wegen der Orthogonalit¨atsbeziehungen (3.208) und des Ansatzes (3.209) gegeben durch 2 ck = π
(1
−1
f (x)Tk (x) √
dx , 1 − x2
k = 0, 1, 2, . . . , n.
(3.211)
Die Integraldarstellung (3.211) vereinfacht sich stark, falls wir die Variablensubstitution x = cos(ϕ) durchf¨ uhren und (3.202) ber¨ ucksichtigen. Nach elementaren Umformungen ergibt
166
3 Interpolation und Approximation
sich aus (3.211) 2 ck = π
(π
f (cos ϕ) cos(kϕ)dϕ,
(3.212)
k = 0, 1, . . . , n.
0
Nun ist aber F (ϕ) := f (cos ϕ) offensichtlich eine gerade und (2π)-periodische Funktion des Arguments ϕ. Deshalb gilt auch 1 ck = π
(π
f (cos ϕ) cos(kϕ)dϕ,
(3.213)
k = 0, 1, 2, . . . , n.
−π
Folgerung. Die Koeffizienten ck in der Entwicklung (3.209) der approximierenden Funktion gn (x) sind die Fourier-Koeffizienten ak (3.160) der geraden, (2π)-periodische Funktion F (ϕ) := f (cos ϕ). Damit ist die betrachtete Aufgabe auf die Berechnung von Fourier-Koeffizienten zur¨ uckgef¨ uhrt worden, und die im Abschnitt 3.7 entwickelten Methoden sind anwendbar. Die orige Polynom gn (x) k¨onnen f¨ ur beliebig großes n definiert Koeffizienten ck und das zugeh¨ werden, und zu jeder im Intervall [−1, 1] stetigen Funktion f (x) kann durch Grenz¨ ubergang die unendliche Tschebyscheff-Entwicklung (kurz: T-Entwicklung) g(x) =
∞
1 c0 T0 (x) + ck Tk (x) 2
(3.214)
k=1
gebildet werden. Die Frage der Konvergenz der Reihe (3.214) l¨asst sich mit Hilfe von Satz 3.26 beantworten. Dazu stellen wir fest, dass die (2π)-periodische Funktion F (ϕ) als Zusammensetzung von zwei stetigen Funktionen stetig ist. Besitzt die gegebene Funktion f (x) im Intervall [−1, 1] eine st¨ uckweise stetige erste Ableitung, dann trifft dies auch f¨ ur F (ϕ) zu. Unter dieser Zusatzvoraussetzung konvergiert die zu f (x) geh¨orige T-Entwicklung (3.214) f¨ ur alle x ∈ [−1, 1] gegen den Wert f (x).
Der Approximationsfehler f (x) − gn (x) kann unter einer zus¨atzlichen Voraussetzung abgesch¨ atzt werden. Satz 3.35. Es seien ck die Koeffizienten der T-Entwicklung einer stetigen und einmal ∞ |ck | konvergiert, dann st¨ uckweise stetig differenzierbaren Funktion f (x). Falls die Reihe k=1
konvergiert die T-Entwicklung (3.214) f¨ ur alle x ∈ [−1, 1] gleichm¨aßig gegen f (x) und es gilt |f (x) − gn (x)| ≤
∞
k=n+1
|ck |
f¨ ur x ∈ [−1, 1].
(3.215)
Beweis. Nach Voraussetzung konvergiert die unendliche T-Reihe (3.214) punktweise gegen f (x) f¨ ur |x| ≤ 1. F¨ ur den Beweis der gleichm¨ aßigen Konvergenz benutzen wir die Tatsache,
167
3.8 Orthogonale Polynome
dass zu jedem ε > 0 ein N existiert mit ∞
k=n
|ck | < ε
f¨ ur alle n > N.
(3.216)
Dann gilt f¨ ur jedes n > N und |x| ≤ 1 wegen |Tk (x)| ≤ 1
∞ ∞ |f (x) − gn (x)| = ck Tk (x) ≤ |ck | < ε. k=n+1
(3.217)
k=n+1
Damit ist auch die Fehlerabsch¨ atzung (3.215) gezeigt.
Beispiel 3.26. Die Funktion f (x) = ex soll im Intervall [−1, 1] durch ein Polynom gn (x) (3.209) approximiert werden. Die Entwicklungskoeffizienten sind nach (3.212) gegeben durch Zπ 2 ck = ecos ϕ cos(kϕ)dϕ = 2Ik (1), k = 0, 1, 2, . . . , π
(3.218)
0
ur wo Ik (x) die modifizierte k-te Bessel-Funktion darstellt [Abr 71]. Auf Grund der Potenzreihe f¨ Ik (x) erhalten wir . . . c0 = 2.5321317555, c1 = 1.1303182080, c2 = 0.2714953395, . . . c3 = 0.0443368498, c4 = 0.0054742404, c5 = 0.0005429263, (3.219) . . . c8 = 0.0000001992, c6 = 0.0000449773, c7 = 0.0000031984, . . c9 = 0.0000000110, c10 = 0.0000000006. Die Koeffizienten ck bilden eine rasch konvergente Nullfolge, und die zugeh¨ orige Reihe ist gleichm¨ aßig konvergent. Die zu approximierende Funktion f (x) ist beliebig oft stetig differenzierbar, so dass die Voraussetzungen von Satz 3.35 erf¨ ullt sind. F¨ ur g6 (x) erhalten wir nach (3.215) als Schranke f¨ ur den Approximationsfehler |f (x) − g6 (x)| ≤ 3.409 · 10−6
f¨ ur alle |x| ≤ 1.
Die Approximation ist so gut, dass nur bis n = 2 graphisch ein Unterschied zwischen Funktion und Approximation zu sehen ist, siehe Abb. 3.33. Der Fehlerverlauf ist im Intervall [−1, 1] sehr gleichm¨ aßig. △
Die Entwicklungskoeffizienten ck k¨ onnen nur in seltenen F¨allen explizit dargestellt werden, und so sind sie n¨ aherungsweise zu berechnen. Da die ck gleich den Fourier-Koeffizienten ak der (2π)-periodischen Funktion F (ϕ) = f (cos ϕ) sind, stehen im Prinzip die Formeln (3.167) zur Verf¨ ugung. In jenen Formeln ist x durch ϕ zu ersetzten, und so erhalten wir N N −1 2 2 F (ϕj ) cos(kϕj ) = f (cos ϕj ) cos(kϕj ), N j=1 N j=0 & ' 2π N j, N ∈ ∗ , k = 0, 1, 2, . . . , ϕj = . (3.220) N 2 Die N¨ aherungswerte c∗k lassen sich mit der schnellen Fourier-Transformation effizient berechur nicht zu großes N = 2m, m ∈ ∗ , nen. Zur direkten Berechnung der Koeffizienten c∗k f¨
c∗k =
168
3 Interpolation und Approximation f
2.5
n=2 2
1.5
1
exp(x) 0.5
1 c T 2 0 0
+ c1 T1 + c2 T2 x
−1
1
0
Abb. 3.33 Tschebyscheff-Approximation der Exponentialfunktion, n = 2.
kann die Summation vereinfacht werden, indem die Symmetrie der cos-Funktion ausgenutzt wird. Es ergibt sich die Darstellung ⎫ ⎧ " ## " #⎬ m−1 ⎨1 " jπ kjπ 2 (f (1) + f (−1) cos(kπ)) + f cos c∗k = , cos m ⎩2 m m ⎭ j=1
k = 0, 1, 2, . . . , n,
n ≤ m.
(3.221)
Die Rechenvorschrift (3.221) ist interpretierbar als summierte Trapezregel zur gen¨aherten Berechnung des Integrals in (3.212) bei Unterteilung des Integrationsintervalls [0, π] in m Teilintervalle.
Falls die im Intervall [−1, 1] stetige Funktion f (x) auch eine st¨ uckweise stetige erste Ableitung besitzt, so besteht zwischen den N¨ aherungen c∗k und den exakten Koeffizienten ck nach (3.177) die Beziehung c∗k
=
ck + cN −k + cN +k + c2N −k + c2N +k + . . . , k = 0, 1, . . . , n ≤ m, N = 2m.
(3.222)
Unter der Voraussetzung, dass das asymptotisch g¨ ultige Gesetz u ¨ber das Verhalten der Koeffizienten ck einer gegebenen Funktion bekannt ist, kann der Fehler |c∗k − ck | bei gegebenem N abgesch¨ atzt werden oder der erforderliche Wert von N bestimmt werden, um den Fehler hinreichend klein zu machen. Beispiel 3.27. Die Koeffizienten ck der T-Entwicklung der Funktion f (x) = ex konvergieren
. . rasch gegen null. Da c11 = 2.50 · 10−11 und c12 = 1.04 · 10−12 sind und f¨ ur die weiteren Koeffizienten −13 , k ≥ 13 gilt, folgt aus (3.222), dass bereits f¨ ur m = 12, d.h. N = 24 die Formel (3.221) |ck | < 10 die ersten elf Entwicklungskoeffizienten mit einer Genauigkeit von zehn Dezimalstellen nach dem Komma liefert. Es gilt sogar |c∗k − ck | ≤ |c24−k | + |c24+k | + . . . < 10−13
f¨ ur k = 0, 1, . . . , 10.
△
3.8 Orthogonale Polynome
169
Wir betrachten noch die Aufgabe, den Wert eines approximierenden Polynoms gn (x) in der Darstellung (3.209) effizient und numerisch stabil zu berechnen. Die nahe liegende Idee, zu gegebenem x die Werte der T-Polynome mit Hilfe der Rekursionsformel (3.206) sukzessive zu ermitteln und damit die Partialsummen zu bilden, f¨ uhrt zu einer instabilen Methode. Es zeigt sich, dass es besser ist, die endliche T-Reihe (3.209) unter Verwendung der Rekursionsformel (3.206) r¨ uckw¨ arts abzubauen, d.h. mit dem letzten Term zu beginnen. Wir stellen den Algorithmus im Fall n = 5 dar. 1 c0 T 0 + c1 T 1 + c2 T 2 + c3 T 3 + c4 T 4 + c5 T 5 g5 (x) = 2 1 c0 T0 + c1 T1 + c2 T2 + (c3 − c5 )T3 + (c4 + 2xc5 )T4 = 2 Mit der Substitution d4 := c4 + 2xc5 ergibt der nachfolgende Schritt 1 g5 (x) = c0 T0 + c1 T1 + (c2 − d4 )T2 + (c3 + 2xd4 − c5 )T3 . 2 Jetzt setzen wir d3 := c3 + 2xd4 − c5 und erhalten in analoger Fortsetzung mit den entsprechenden Definitionen weiter 1 c0 T0 + (c1 − d3 )T1 + (c2 + 2xd3 − d4 )T2 g5 (x) = 2 " # 1 = c0 − d2 T0 + (c1 + 2xd2 − d3 )T1 2 # " 1 c0 − d2 T0 + d1 T1 . = 2 Wegen T0 (x) = 1 und T1 (x) = x erhalten wir schließlich 1 1 1 g5 (x) = c0 + xd1 − d2 = {(c0 + 2xd1 − d2 ) − d2 } = (d0 − d2 ). 2 2 2 Aus den gegebenen T-Koeffizienten c0 , c1 , . . ., cn sind die Werte dn−1 , dn−2 , . . ., d0 rekursiv zu berechnen. Der Wert des Polynoms gn (x) ergibt sich dann als halbe Differenz von d0 und d2 . Dieser Algorithmus von Clenshaw [Cle 55] zur Berechnung des Wertes gn (x) zu gegebenem x lautet zusammengefasst: dn = cn ; y = 2 × x; dn−1 = cn−1 + y × cn f¨ ur k = n − 2, n − 3, . . . , 0 : dk = ck + y × dk+1 − dk+2 gn (x) = (d0 − d2 )/2
(3.223)
Der Rechenaufwand zur Auswertung von gn (x) f¨ ur einen Argumentwert x betr¨agt nur (n+2) Multiplikationen. Der Algorithmus (3.223) ist stabil, da gezeigt werden kann, dass der totale ochstens gleich der Summe der Betr¨age der Rundungsfehler ist, die bei der Fehler in gn (x) h¨ Berechnung der dk auftreten [Fox 79]. Beispiel 3.28. Wir wollen noch ein Beispiel durchrechnen, das zeigt, dass die Konvergenz der T-Entwicklung und die Genauigkeit der Approximation stark von der Glattheit der Funktion f abh¨ angen. Wir wollen die stetige, aber nicht differenzierbare Dachkurve f (x) = 1 − |x|,
−1 ≤ x ≤ 1
170
3 Interpolation und Approximation f
f 1
1
n = 16 N →∞
n = 16 N = 32
0.5
0.5
x
0 −1
−0.5
0
0.5
1
x
0 −1
−0.5
0
0.5
1
Abb. 3.34 Tschebyscheff-Approximation der Dachfunktion mit ck (links) und c∗k (rechts).
mit Tschebyscheff-Polynomen approximieren. Die Koeffizienten ck gehen nur langsam mit N gegen null. Wir k¨ onnen sie nicht exakt berechnen, sondern m¨ ussen mit den diskret angen¨ aherten Koeffiur n = 16 (N = 32) zienten c∗k arbeiten. Die Funktion f ist gerade, deshalb sind alle c2k+1 = 0. F¨ sind die Koeffizienten auf f¨ unf wesentliche Stellen . . . c∗0 = 0.73085, c∗2 = −0.42854, c∗4 = 0.089106, . . . ∗ ∗ ∗ = −0.040773, c8 = 0.024864, c10 = −0.017885, c6 . . . c∗12 = 0.014448, c∗14 = −0.012803, c∗16 = 0.012311. Wegen (3.222) ist klar, dass bei langsamer Konvergenz der T-Entwicklung auch der Fehler |ck − c∗k | nur langsam mit N gegen null geht. Das l¨ asst sich feststellen durch Rechnen mit sehr großem N . F¨ ur N → ∞ ergeben sich die ersten neun Koeffizienten ungleich null als . . . = 0.72676, c2 = −0.42441, c4 = 0.084883, c0 . . . = 0.020210, c10 = −0.012861, = −0.036378, c8 c6 . . . c12 = 0.0089038, c14 = −0.0065294, c16 = 0.0049931. Entsprechend unterschiedlich sind die Approximationen, siehe Abb. 3.34.
3.8.2
△
Interpolation mit Tschebyscheff-Polynomen
Zur Funktionsapproximation mit Hilfe von T-Polynomen ist ein bestimmtes Interpolationspolynom im Vergleich zur endlichen T-Reihe oft ebenso zweckm¨aßig. Um das Vorgehen zu motivieren, ben¨ otigen wir folgenden Satz 3.36. Unter allen Polynomen Pn (x) von Grad n ≥ 1, deren Koeffizient von xn gleich Eins ist, hat Tn (x)/2n−1 die kleinste Maximumnorm im Intervall [−1, 1], d.h. es gilt ! 1 1 max |Pn (x)| = max n−1 Tn (x) = n−1 . (3.224) min 2 x∈[−1,1] 2 Pn (x) x∈[−1,1]
171
3.8 Orthogonale Polynome
Beweis. Die Minimax-Eigenschaft (3.224) des n-ten T-Polynoms Tn (x) zeigen wir indirekt. Deshalb nehmen wir an, es existiere ein Polynom Pn (x) mit H¨ochstkoeffizient Eins, so dass |Pn (x)| < 1/2n−1 f¨ ur alle x ∈ [−1, 1] gilt. Unter dieser Annahme gelten f¨ ur die (n + 1) (e) Extremstellen xk (3.204) von Tn (x) die folgenden Ungleichungen (e)
Tn (x0 )/2n−1 = 1/2n−1 ,
(e)
Tn (x1 )/2n−1 = −1/2n−1,
Pn (x0 ) < Pn (x1 ) > (e)
Pn (x2 ) <
(e)
(e)
(e)
Tn (x2 )/2n−1 = 1/2n−1 ,
usw.
Folglich nimmt das Differenzpolynom Q(x) := Pn (x) − Tn (x)/2n−1 (e)
(e)
an den in abnehmender Reihenfolge angeordneten (n + 1) Extemalstellen x0 > x1 > (e) . . . > xn Werte mit alternierenden Vorzeichen an. Aus Stetigkeitsgr¨ unden besitzt Q(x) (mindestens) n verschiedene Nullstellen. Da aber sowohl Pn (x) als auch Tn (x)/2n−1 den H¨ ochstkoeffizienten Eins haben, ist der Grad von Q(x) h¨ochstens gleich (n − 1). Wegen des Hauptsatzes der Algebra ist dies ein Widerspruch. Die Minimax-Eigenschaft der T-Polynome besitzt eine wichtige Anwendung im Zusammenhang mit der Polynominterpolation. Wird eine mindestens (n+1)-mal stetig differenzierbare Funktion f (x) im Intervall [−1, 1] durch ein Polynom Pn (x) interpoliert, so gilt nach (3.6) ur den Interpolationsfehler die Ungleichung mit Mn+1 := max |f (n+1) (ξ)| f¨ −1≤ξ≤1
|f (x) − Pn (x)| ≤
Mn+1 |(x − x0 )(x − x1 ) . . . (x − xn )|, (n + 1)!
x ∈ [−1, 1].
Die (n + 1) St¨ utzstellen x0 , x1 , . . . , xn sollen jetzt so gew¨ahlt werden, dass max |(x − x0 )(x − x1 ) . . . (x − xn )| = Min!
−1≤x≤1
gilt. Die Funktion ω(x) := (x − x0 )(x − x1 ) . . . (x − xn ) stellt ein Polynom vom Grad (n + 1) mit dem H¨ ochstkoeffizienten Eins dar. Nach Satz 3.36 ist sein Betrags-Maximum f¨ ur alle x ∈ [−1, 1] genau dann minimal, falls die (n + 1) St¨ utzstellen gleich den (n + 1) Nullstellen ur das Interpolationspolynom Pn∗ (x), von Tn+1 (x) sind. Es gilt dann max |ω(x)| = 2−n . F¨ dessen St¨ utzstellen gleich den Tschebyscheff-Abszissen zum (n + 1)-ten T-Polynom sind, erh¨ alt man somit die kleinstm¨ ogliche Schranke f¨ ur den Interpolationsfehler |f (x) − Pn∗ (x)| ≤
Mn+1 , 2n · (n + 1)!
x ∈ [−1, 1].
(3.225)
Das Ergebnis (3.225) bedeutet aber nicht, dass das Interpolationspolynom Pn∗ (x) das Polynom bester Approximation im Tschebyscheffschen Sinn darstellt, denn in der jetzt g¨ ultigen Darstellung des Interpolatonsfehlers (3.5) ist ξ von x abh¨angig: f (x) − Pn∗ (x) =
f (n+1) (ξ) Tn+1 (x), 2n · (n + 1)!
x ∈ [−1, 1]
(3.226)
172
3 Interpolation und Approximation
Im Abschnitt 3.1 sind wir bereits ausf¨ uhrlich auf die Polynominterpolation eingegangen. F¨ ur das Polynom Pn∗ (x) zu den Tschebyscheff-Abszissen ist jetzt die folgende Darstellung als Linearkombination von T-Polynomen besonders vorteilhaft: n 1 γk Tk (x). (3.227) Pn∗ (x) = γ0 T0 (x) + 2 k=1
Zur Bestimmung der Koeffizienten γ0 , γ1 , . . . , γn aus den (n + 1) Interpolationsbedingungen n 1 γk Tk (xl ) = f (xl ), l = 1, 2, . . . , n + 1, (3.228) γ0 T0 (xl ) + 2 k=1 " # 2l − 1 π von Tn+1 (x) ben¨otigen wir eine disan den Tschebyscheff-Abszissen xl = cos n+1 2 krete Orthogonalit¨ atseigenschaft der T-Polynome. Satz 3.37. Es seien xl die (n + 1) Nullstellen von Tn+1 (x). Dann gelten ⎧ ⎪ ⎨ 0 1 Tk (xl )Tj (xl ) = (n + 1) ⎪ ⎩ 2 l=1 n+1
falls k = j
n+1
falls k = j > 0
falls k = j = 0
⎫ ⎪ ⎬ ⎪ ⎭
0 ≤ k, j ≤ n
(3.229)
Beweis. Wegen (3.202) und (3.205) sind die Werte der T-Polynome an den TschebyscheffAbszissen mit h := π/(n + 1) "
2l − 1 π Tk (xl ) = cos(k · arccos(xl )) = cos k n+1 2
#
" " # # 1 = cos k l − h . 2
Aus bekannten trigonometrischen Identit¨ aten folgt damit " " ## " " ## 1 1 cos kh l − cos jh l − 2 2 l=1 l=1 " " ## " " ##! n+1 1 1 1 cos (k − j)h l − + cos (k + j)h l − = 2 2 2 l=1 n+1 n+1 1 1 1 ei(k−j)h(l− 2 ) + ei(k+j)h(l− 2 ) . = Re 2
n+1
Tk (xl )Tj (xl ) =
n+1
l=1
(3.230)
l=1
Die beiden Summen stellen je endliche geometrische Reihen mit den Quotienten q1 = ei(k−j)h beziehungsweise q2 = ei(k+j)h dar. Wir betrachten zuerst den Fall k = j. Da 0 ≤ k ≤ n und 0 ≤ j ≤ n gelten, folgen die Ungleichungen 0 < |k−j| ≤ n und 0 < k+j < 2n. Deshalb sind wegen nπ π ≤ |(k − j)h| ≤ , n+1 n+1
π 2πn ≤ (k + j)h < n+1 n+1
173
3.8 Orthogonale Polynome
q1 = 1 und q2 = 1. F¨ ur die erste Summe ergibt sich somit n+1 l=1
ei(k−j)h(l− 2 ) = e 2 i(k−j)h · 1
1
(−1)k−j − 1 ei(k−j)h(n+1) − 1 . / = i(k−j)h π e −1 2i sin 21 (k − j) n+1
ein rein imagin¨ arer oder verschwindender Wert. Dasselbe gilt f¨ ur die zweite Summe, so dass der Realteil in (3.230) auf jeden Fall gleich null ist. Damit ist die erste Zeile von (3.229) gezeigt. F¨ ur k = j > 0 ist die erste Summe in (3.230) gleich (n + 1), w¨ahrend die zweite den Wert null hat. Im Fall k = j = 0 sind alle Summanden der beiden Summen in (3.230) gleich Eins. Damit sind die beiden letzten Aussagen von (3.229) gezeigt. Die Relationen (3.229) bedeuten f¨ ur die Matrix des linearen Gleichungssystems (3.228), dass ihre Spaltenvektoren paarweise orthogonal sind. Die Unbekannten γ0 , γ1 , . . . , γn lassen sich aus diesem Grund explizit als L¨ osung von (3.228) angeben. Dazu multiplizieren wir die l-te Gleichung von (3.228) mit Tj (xl ), wo j ein fester Index mit 0 ≤ j ≤ n sein soll. Dann addieren wir alle (n + 1) Gleichungen und erhalten unter Ber¨ ucksichtigung von (3.229) nach einer Indexsubstitution f¨ ur die Koeffizienten γk die Darstellung γk
= =
n+1 2 f (xl )Tk (xl ) n+1 l=1 " ## " # n+1 " 2l − 1 π 2 2l − 1 π f cos cos k , n+1 n+1 2 n+1 2
(3.231)
l=1
k = 0, 1, . . . , n.
Die Entwicklungskoeffizienten γk des interpolierenden Polynoms Pn∗ (x) bez¨ uglich der Tschebyscheff-Abszissen von Tn+1 (x) unterscheiden sich von den angen¨aherten Koeffizienten c∗k (3.221). Auch mit diesen Koeffizienten kann ein Polynom n-ten Grades n−1
gn∗ (x) :=
1 1 ∗ c0 T0 (x) + c∗k Tk (x) + c∗n Tn (x) 2 2
(3.232)
k=1
N wegen Satz 3.30 die interpolierende Eigen2 " # jπ (e) schaft an den (n + 1) Extremalstellen xj = cos von Tn (x) hat. In diesem Fall bilden n die Intervallendpunkte ±1 St¨ utzstellen des Interpolationspolynoms gn∗ (x). F¨ ur gn∗ (x) gilt die Absch¨ atzung (3.225) des Interpolationsfehlers nicht. gebildet werden, welches im Fall n = m =
Beispiel 3.29. F¨ur die Funktion f (x) = ex erhalten wir f¨ur die Koeffizienten γk des an den Tschebyscheff-Abszissen interpolierenden Polynoms P6∗ (x) nach (3.231) die Werte . . . γ0 = 2.5321317555, γ1 = 1.1303182080, γ2 = 0.2714953395, . . . γ3 = 0.0443368498, γ4 = 0.0054742399, γ5 = 0.0005429153, . γ6 = 0.0000447781.
174
3 Interpolation und Approximation ε
4·10−6
ε∗ (x)
ε(x)
x −1
0
−0.5
0.5
1
Abb. 3.35 Approximationfehler der T-Polynome f¨ ur ex .
-4·10−6
Im Vergleich zu den Entwicklungskoeffizienten ck (3.219) unterscheiden sich nur die letzten drei Koeffizienten γ4 , γ5 und γ6 von c4 , c5 und c6 innerhalb von zehn Dezimalstellen nach dem Komma. Der maximale Interpolationsfehler von P6∗ (x) betr¨ agt nach (3.225) wegen M7 = max |f (7) (x)| = −1≤x≤1 . ochstens max |ex | = 2.7183 h¨ −1≤x≤1
|ex − P6∗ (x)| ≤ 8.43 · 10−6
f¨ ur alle |x| ≤ 1.
Der Interpolationsfehler wird naturgem¨ aß etwas u atzt. Der maximale Betrag der Abweichung ¨ bersch¨ betr¨ agt tats¨ achlich 3.620 · 10−6 . Das Interpolationspolynom P6∗ (x) liefert eine vergleichbar gute Approximation wie g6 (x). In Abb. 3.35 sind die beiden Fehlerfunktionen ε∗ (x) := ex − P6∗ (x) und △ ε(x) := ex − g6 (x) dargestellt.
3.8.3
Die Legendre-Polynome
In diesem Abschnitt bedeutet Pn (x) das n-te Legendre-Polynom, welches definiert ist durch Pn (x) :=
dn 1 [(x2 − 1)n ], 2n · n! dxn
n ∈ .
(3.233)
Da der Ausdruck in der eckigen Klammer ein Polynom vom echten Grad 2n ist, stellt seine n-te Ableitung ein Polynom vom Grad n dar. ur das Intervall [−1, 1] Satz 3.38. Die Legendre-Polynome Pn (x), n = 0, 1, 2, . . . bilden f¨ mit dem L2 -Skalarprodukt und der Gewichtsfunktion w(x) = 1 ein Orthogonalsystem. Es gilt ⎫ ⎧ (1 ⎨ 0 falls m = n ⎬ m, n ∈ . (3.234) Pm (x)Pn (x) dx = 2 ⎩ falls m = n ⎭ 2n + 1 −1
175
3.8 Orthogonale Polynome
Beweis. Wir zeigen zuerst die Orthogonalit¨ at der Legendre-Polynome und setzen ohne Einschr¨ ankung m < n voraus. Dann gilt f¨ ur das Integral nach partieller Integration
Im,n
:=
m
n
2 m! 2 n!
(1
Pm (x)Pn (x) dx =
−1
−1
dn dm 2 m [(x − 1) ] · [(x2 − 1)n ] dx dxm dxn
1 d d 2 m 2 n [(x − 1) ] · n−1 [(x − 1) ] m dx dx −1 n−1
m
=
(1
(1
−
−1
(3.235)
dm+1 dn−1 2 m [(x − 1) ] · [(x2 − 1)n ] dx. dxm+1 dxn−1
ur x = ±1 je eine n-fache Nullstelle Nun ist zu beachten, dass das Polynom (x2 − 1)n f¨ besitzt. Demzufolge gilt dn−k [(x2 − 1)n ] = 0 f¨ ur x = ±1 und f¨ ur k = 1, 2, . . . , n. dxn−k
(3.236)
Nach weiteren (n − 1) analogen partiellen Integrationen erh¨alt man, da die ausintegrierten Teile jeweils gleich null sind
Im,n = (−1)n
(1
−1
dm+n [(x2 − 1)m ] · (x2 − 1)n dx. dxm+n
(3.237)
Nach unserer Annahme ist m + n > 2m, und somit verschwindet der erste Faktor des Integranden, und es gilt Im,n = 0. Der zweite Teil der Behauptung (3.234) folgt aus der Darstellung (3.237) des Integrals, welche auch f¨ ur m = n g¨ ultig ist. Mit d2n [(x2 − 1)n ] = (2n)! dx2n ergibt sich aus (3.237) durch n-malige partielle Integration
In,n
n
= (−1) (2n)!
(1
−1
n
(x − 1)n (x + 1)n dx
= (−1) (2n)! (x − 1)n n − n+1
(1
−1
1 1 (x + 1)n+1 n+1 −1 ⎤
(x − 1)n−1 (x + 1)n+1 dx⎦ = · · ·
176
3 Interpolation und Approximation
n(n − 1)(n − 2) . . . 1 = (−1) (2n!) (n + 1)(n + 2)(n + 3) . . . (2n) 2n
(1
(x + 1)2n dx
−1
22n+1 . = (n!)2 · 2n + 1 Wegen (3.235) folgt daraus die zweite Aussage von (3.234).
Aus der Definition (3.233) der Legendre-Polynome ist klar, dass Pn (x) eine gerade oder ungerade Funktion in x ist entsprechend der Parit¨at von n. Denn der Ausdruck in der eckigen Klammer von (3.233) ist eine gerade Funktion in x. Da die Ableitung einer geraden Funktion ungerade ist und umgekehrt, hat die n-te Ableitung die genannte Eigenschaft und es gilt Pn (−x) = (−1)n Pn (x),
n ∈ .
(3.238)
Satz 3.39. Das Legendre-Polynom Pn (x), n ≥ 1, besitzt im Intervall (−1, 1) n einfache Nullstellen. Beweis. Ausgehend von der Tatsache, dass (x2 − 1)n f¨ ur x = ±1 je eine n-fache Nullstelle besitzt, folgt die Aussage durch n-malige Anwendung des Satzes von Rolle. Dabei ist zu dk [(x2 − 1)n ] f¨ ur x = ±1 und k = 1, 2, . . . , n − 1 je eine (n − k)-fache beachten, dass dxk Nullstelle aufweist. Daraus folgt die Existenz von mindestens n paarweise verschiedenen Nullstellen im Innern von [−1, 1]. Da ein Polynom n-ten Grades genau n Nullstellen (unter Ber¨ ucksichtigung ihrer Vielfachheiten) besitzt, folgt die Behauptung. Die Nullstellen von Pn (x) k¨ onnen f¨ ur allgemeines n nicht wie im Fall der T-Polynome durch eine geschlossene Formel angegeben werden. Ihre Werte findet man beispielsweise in [Abr 71, Sch 76, Str 74] tabelliert. Satz 3.40. F¨ ur die Legendre-Polynome gilt die Drei-Term-Rekursion P0 (x)
=
1,
P1 (x) = x,
Pn+1 (x)
=
n 2n + 1 x Pn (x) − Pn−1 (x), n+1 n+1
(3.239) n = 1, 2, . . . .
Beweis. Es kann allgemeiner gezeigt werden, dass es zu jedem gewichteten L2 -Skalarprodukt ein System orthogonaler Polynome gibt. Alle diese Systeme gen¨ ugen einer Drei-TermRekursion Die Systeme sind unter gewissen Zusatzbedingungen eindeutig bestimmt, siehe etwa [Deu 02b]. Auf Grund der Rekursionsformel (3.239) ergeben sich die weiteren Legendre-Polynome 1 1 P3 (x) = (5x3 − 3x), P2 (x) = (3x2 − 1), 2 2
177
3.8 Orthogonale Polynome P (x) 1
P2
P4
P3
P5
P6 x
0 −1
0
1
−1
Abb. 3.36 Legendre-Polynome P2 (x) bis P6 (x).
1 1 (35x4 − 30x2 + 3), P5 (x) = (63x5 − 70x3 + 15x), 8 8 1 (231x6 − 315x4 + 105x2 − 5). P6 (x) = 16 In Abb. 3.36 sind die Legendre-Polynome P2 (x) bis P6 (x) dargestellt. Ohne Beweis sei erw¨ahnt, dass die Legendre-Polynome im Intervall [−1, 1] betragsm¨aßig durch Eins beschr¨ ankt sind. Zur weiteren Charakterisierung der Legendre-Polynome zeigt man mit vollst¨ andiger Induktion nach n mit Hilfe von (3.239) P4 (x) =
Pn (−1) = (−1)n ,
Pn (1) = 1,
n = 0, 1, 2, . . . .
Die kontinuierliche Gauß-Approximation mit Legendre-Polynomen n gn (x) = ck Pk (x)
(3.240)
(3.241)
k=0
ergibt analog zu der entsprechenden Aufgabe mit T-Polynomen wegen (3.234) die Koeffizienten 2k + 1 ck = 2
(1
f (x)Pk (x) dx,
k = 0, 1, . . . , n.
(3.242)
−1
Die exakte, analytische Berechnung der Integrale (3.242) ist meistens nicht m¨oglich, und die erhaltenen Formeln unterliegen bei ihrer numerischen Auswertung oft einer starken Ausl¨ oschung. Zur gen¨ aherten Berechnung der Integrale ist die Gaußquadratur (vgl. Abschnitt 7.4) gut geeignet, die auf den Legendre-Polynomen beruht.
178
3 Interpolation und Approximation
Beispiel 3.30. Es soll die Funktion f (x) = ex im Intervall [−1, 1] durch ein Polynom sechsten Grades g6 (x) im quadratischen Mittel approximiert werden. Die Entwicklungskoeffizienten ck des Polynoms g6 (x) nach den Legendre-Polynomen sind gegeben durch (3.242) ck =
2k + 1 2
Z1
ex Pk (x) dx,
k = 0, 1, 2, . . . , 6.
(3.243)
−1
Um diese Integrale zu berechnen, bestimmen wir zur Vorbereitung die Hilfsintegrale Z1 In := xn ex dx, n = 0, 1, 2, . . . , 6,
(3.244)
−1
aus denen sich die ck durch Linearkombinationen ergeben. Durch partielle Integration erhalten wir die Rekursionsformel ˛1 « „ Z1 ˛ 1 n x˛ In = x e ˛ − n xn−1 ex dx = e − (−1)n − nIn−1 , n ≥ 1, ˛ e −1
also
−1
« 8 „ 1 > > < e − e − nIn−1 , « „ In = > 1 > : e+ − nIn−1 , e
falls n gerade,
(3.245) falls n ungerade.
F¨ ur gr¨ oßere Werte von n ist (3.245) f¨ ur numerische Zwecke hoffnungslos instabil, da sich ein Anarkungsfaktor n! auf den Wert von In auswirkt! Die Rekursionsfangsfehler in I0 mit einem Verst¨ formel (3.245) wird numerisch stabil, falls man sie in der umgekehrten Form « ff 8 j„ 1 > > e − falls n gerade, − I n /n, < e j„ ff « (3.246) In−1 = > 1 > : e+ falls n ungerade, − In /n, e
anwendet und f¨ ur ein hinreichend großes N mit IN = 0 startet. Um die gew¨ unschten Integrale mit vierzehnstelliger Genauigkeit zu erhalten, gen¨ ugt es N = 24 zu w¨ ahlen. In Tab. 3.6 sind die Werte der Integrale I0 bis I6 zusammengestellt mit den daraus resultierenden Koeffizienten c0 bis c6 . Tab. 3.6 Integrale und Entwicklungskoeffizienten. k
Ik
ck
0 1 2 3 4 5 6
2.35040238729 0.73575888234 0.87888462260 0.44950740182 0.55237277999 0.32429736969 0.40461816913
1.1752011936 1.1036383235 0.3578143506 0.0704556337 0.0099651281 0.0010995861 0.0000994543
Der Verlauf der Fehlerfunktion ε(x) := ex − g6 (x) ist in Abb. 3.37 dargestellt. Im Vergleich zur entsprechenden Approximation mit T-Polynomen ist der Betrag des Fehlers an den Enden des Intervalls gut zweimal gr¨ oßer, w¨ ahrend er im Innern des Intervalls vergleichbar ist. Das unterschiedliche
179
3.9 Software
3 · 10−6
−1
ε(x)
0.5
−0.5
1
−3 · 10−6
Abb. 3.37 Gauß-Approximation mit Legendre-Polynomen, Approximationsfehler f¨ ur ex .
Verhalten der Fehlerfunktion ist auf die Gewichtsfunktionen zur¨ uckzuf¨ uhren.
3.9
△
Software
Unterprogramme zu allen geschilderten Methoden finden sich in den großen numerischen Software-Bibliotheken, bei Nag [NAGa, NAGb] in den Kapiteln C06 (Tschebyscheff-Reihen, FFT, auch zwei- und dreidimensional), E01 (ein- und mehrdimensionale Interpolation mit Polynomen und Splines) und E02 (die entsprechenden Approximations-Verfahren). Ein bekanntes Fortran-Paket zur ein- und mehrdimensionalen Interpolation und Approximation ist Fitpack von Dierckx4 [Die 89]. Auch in Matlab sind die Standardverfahren zur ein- und mehrdimensionalen Interpolation und Approximation enthalten. Matlab hat dar¨ uber hinaus eine Werkzeugkiste f¨ ur spezielle Splinemethoden (Spline Toolbox). Ein Programm zum dargestellten Algorithmus der schnellen Fourier-Transformation findet man in [Sch 77], andere Realisierungen beispielsweise in [Bri 88, Coo 65, Sau 68, Sin 69]. Der Prozess der Bitumkehr kann durch eine andere Organisation der einzelnen Transformationsschritte eliminiert werden, doch erfordert die entsprechende Durchf¨ uhrung zus¨atzlichen Speicherplatz f¨ ur n komplexe Zahlenwerte. Programme f¨ ur die allgemeine schnelle FourierTransformation findet man auch in [Boo 80, Sin 69]. Unsere Probleml¨ oseumgebung Pan (http://www.upb.de/SchwarzKoeckler/) verf¨ ugt u ¨ ber vier Programme zur ein- und zweidimensionalen Interpolation, zur Kurveninterpolation und zur Approximation mit trigonometrischen Funktionen und mit Tschebyscheff-Polynomen. 4 http://gams.nist.gov/serve.cgi/PackageModules/DIERCKX
180
3.10
3 Interpolation und Approximation
Aufgaben
3.1. Auf Grund des kubischen Interpolationspolynoms P3 (x) f¨ ur die ¨ aquidistanten St¨ utzstellen x0 , x1 = x0 + h, x2 = x0 + 2h, x3 = x0 + 3h leite man die Formeln (3.30) zur angen¨ aherten Berechnung der ersten und zweiten Ableitung an den Stellen x0 , x1 und xM = (x0 + x3 )/2 her. Mit den aherungen f¨ ur die erste und zweiDifferenziationsformeln berechne man an der Stelle xM = 0.4 die N¨ te Ableitung der Funktion f (x) = e−x f¨ ur die Folge der Schrittweiten h = 0.1, 0.01, 0.001, . . . , 10−8 . Die berechneten Werte sind mit den exakten Werten der Ableitungen zu vergleichen. 3.2. F¨ ur die Funktion f (x) = ln(x) − 2(x − 1)/x sind zu den nicht ¨ aquidistanten St¨ utzstellen x0 = 1, x1 = 2, x2 = 4, x3 = 8, x4 = 10 mit dem Interpolationspolynom P4 (x) an den beiden Stellen x = 2.9 und x = 5.25 die interpolierten Werte zu berechnen. Wie groß sind der Interpolationsfehler und die Fehlerschranke? ur 3.3. Mit einem Computerprogramm bestimme man die Fehlerfunktion r(x) = f (x) − P10 (x) f¨ die Funktion f (x) = e−3x im Intervall [0, 5] unter Verwendung der elf ¨ aquidistanten St¨ utzstellen xk = 0.5k, k = 0, 1, . . . , 10. 3.4. Mit der Methode der Extrapolation ist der Wert der ersten Ableitung der Funktion f (x) = oglichst genau zu ermitteln auf Grund des ersten Differenzenquotienten e−x an der Stelle x = 0.4 m¨ und des zentralen Differenzenquotienten unter Verwendung der Schrittweiten h0 = 0.2, h1 = 0.15, ur lineare, quadratische h2 = 0.10, h3 = 0.05 und h4 = 0.02. Welches sind die extrapolierten Werte f¨ und kubische Interpolation? 3.5. Man berechne die Hermiteschen Interpolationspolynome dritten und f¨ unften Grades, die die utzstellen x0 = 0.3, x1 = 0.4 bzw. Funktion f (x) = e−x und seine erste Ableitung an den St¨ x0 = 0.2, x1 = 0.3, x2 = 0.4 interpoliert. Man berechne die interpolierten Werte an der Stelle x = 0.34 und bestimme den Interpolationsfehler. 3.6. Man versuche mit der Methode der inversen Interpolation eine N¨ aherung der kleinsten positiven Nullstelle der Funktion f (x) = cos(x) cosh(x) + 1 zu bestimmen. Die gesuchte Nullstelle liegt im Intervall [1.8, 1.9]. urliche Spline-Interpolierende und 3.7. Zur Funktion f (x) = 1/(1 + x2 ) bestimme man die nat¨ die B-Spline-Interpolierende zu den sechs ¨ aquidistanten St¨ utzstellen xk = k, k = 0, 1, . . . , 5. Man stelle die beiden kubischen Spline-Interpolierenden graphisch dar, bestimme die Abweichungen in aren. den Punkten xk = k + 0.5, k = 0, 1, . . . , 4, und versuche diese Abweichungen zu erkl¨ 3.8. Zu einer Datentabelle (xi , yi ), i = 0, 1, . . . , n, mit x0 < x1 < · · · < xn sei s(x) : [x0 , xn ] → Ê die st¨ uckweise lineare Funktion, die die Werte yi interpoliert. s(x) ist also eine Linearkombination von Hutfunktionen. Man zeige, dass s(x) die einzige Funktion ist, die folgende Bedingungen erf¨ ullt: a) s(x) ist stetig im Intervall [x0 , xn ] und stetig differenzierbar in jedem Teilintervall (xi , xi+1 ), i = 0, 1, . . . , n − 1. b) s(xi ) = yi , i = 0, 1, . . . , n.
181
3.10 Aufgaben
c) Unter allen Funktionen r(x), die die beiden ersten Bedingungen erf¨ ullen minimiert s(x) als einzige das Funktional Z xn ` ′ ´2 r (t) dt. F (r) = x0
3.9. Das vollst¨ andige Profil eines K¨ orpers ist durch die zw¨ olf Punkte P0 , P1 , . . ., P10 , P11 = P0 in der Ebene beschrieben, wobei das Profil im Punkt P0 eine Spitze aufweist. Die Koordinaten der Punkte Pk (xk , yk ) sind k
0
1
2
3
4
5
6
7
8
9
10
11
xk yk
25 5
19 7.5
13 9.1
9 9.4
5 9
2.2 7.5
1 5
3 2.1
8 2
13 3.5
18 4.5
25 5
Gesucht ist die Parameterdarstellung der Kurve auf Grund von zwei Spline-Interpolationen. Das resultierende Profil soll graphisch dargestellt werden. 3.10. Man ermittle die f¨ unf B´ezier-Punkte zur Approximation eines Viertelkreises vom Radius r = 1 durch eine B´ezier-Kurve vierten Grades so, dass die Tangenten der B´ezier-Kurve in den Endpunkten mit denjenigen des Kreises u ur λ = 0.25 ¨ bereinstimmen, und dass die Punkte (λ) f¨ und λ = 0.5 auf dem Kreis liegen. Es ist zu beachten, dass die drei zu bestimmenden B´ezier-Punkte symmetrisch verteilt sind. Welche maximale Abweichung der B´ezier-Kurve vom Kreis resultiert? 3.11. Ein Halbkreis vom Radius r = 1 soll durch eine B´ezier-Kurve vierten Grades so approximiert werden, dass die Tangenten der B´ezier-Kurve in den Endpunkten mit denjenigen des Kreises u ¨ bereinstimmen. Bei der Festlegung der B´ezier-Punkte achte man auf die Symmetrie der Kurve ur t = 0.25 und t = 0.5 auf und versuche zus¨ atzlich, diese so festzulegen, dass die Punkte (t) f¨ dem Kreis liegen. Wie groß ist die maximale Distanz der B´ezier-Kurve vom Halbkreis? 3.12. Man bestimme geeignete B´ezier-Punkte, um den Umriss eines Großbuchstabens zu definieren. Wie ist vorzugehen, um den Umriss eines Großbuchstabens vermittels einer einzigen B´ezier-Kurve festzulegen? 3.13. Wie lauten die Fourier-Reihen von folgenden (2π)-periodischen Funktionen, die in der Elektrotechnik bedeutungsvoll sind? a) b) c) d)
f1 (x) = | sin(x)|, ( sin(x), 0 ≤ x ≤ π, f2 (x) = 0, π ≤ x ≤ 2π, ( 1, 0 < x < π, f3 (x) = −1, π < x < 2π, f4 (x) = x − π,
0 < x < 2π,
(kommutierte Sinusfunktion) (gleichgerichtete Sinusfunktion) (Rechteckfunktion) (S¨ agezahnfunktion)
Aus den Fourier-Reihen leite man auf Grund von Satz 3.26 f¨ ur geeignete Wahl von x die Werte von speziellen Reihen her. Um das Konvergenzverhalten der Fourier-Reihen zu studieren, stelle man ur 3 ≤ n ≤ 8 graphisch dar. den Verlauf von Fourier-Polynomen gn (x) f¨ 3.14. Zu den Funktionen fi (x), i = 1, 2, 3, 4, von Aufgabe 3.13 berechne man die N¨ aherungswerte (3.167) der Fourier-Koeffizienten f¨ ur N = 8, 16, 32, 64 mit der schnellen Fourier-Transformation. An den erhaltenen N¨ aherungswerten verifiziere man die Relationen (3.179) und (3.180). Wie groß
182
3 Interpolation und Approximation
muss N gew¨ ahlt werden, damit die N¨ aherungswerte a∗k und b∗k die Fourier-Koeffizienten ak und bk −6 h¨ ochstens mit einem Fehler von 10 approximieren? 3.15. Mit den N¨ aherungen a∗k und b∗k der Fourier-Koeffizienten der Funktionen fi (x) von Aufgabe 3.13 f¨ ur N = 16 stelle man die zugeh¨ origen Fourier-Polynome g4∗ (x) und g8∗ (x) zusammen mit den Funktionen fi (x) graphisch dar. In welchem Sinn approximieren die Fourier-Polynome die gegebenen Funktionen? 3.16. Es sei N = 2n + 1, n ∈ ∗ . Man zeige, dass n X 1 gn∗ (x) := a∗0 + {a∗k cos(kx) + b∗k sin(kx)} 2 k=1
mit den Koeffizienten (3.167) das eindeutige, interpolierende Fourier-Polynom zu den St¨ utzstellen utzwerten f (xj ), j = 0, 1, . . . , N, ist. xj (3.166) mit den St¨ “π ” x ist im Intervall [−1, 1] durch eine Entwicklung nach Tsche2 byscheff-Polynomen gn (x) (3.209) f¨ ur n = 3, 5, 7, 9, 11 zu approximieren. Man berechne die Entwicklungskoeffizienten ck n¨ aherungsweise als Fourier-Koeffizienten mit N = 32 und sch¨ atze auf Grund der erhaltenen Resultate den Fehler in den Koeffizienten c∗k ab. Wie groß sind die Schranken der Approximationsfehler |gn (x) − f (x)|? Welches ist der qualitative Verlauf der Fehlerfunktionen εn (x) = gn (x) − f (x)? 3.17. Die Funktion f (x) = sin
“π ” x ist f¨ ur n = 3, 5, 7, 9 im Intervall [−1, 1] durch ein Polynom 3.18. Die Funktion f (x) = sin 2 n-ten Grades in der Form einer Entwicklung nach Legendre-Polynomen im quadratischen Mittel zu onnen unter Verwendung von Rekursionsformeln approximieren. Die Entwicklungskoeffizienten ck k¨ f¨ ur Integrale explizit angegeben werden. Sind die resultierenden Formeln f¨ ur die numerische Auswertung besonders gut geeignet? Man vergleiche die Koeffizienten der approximierenden Polynome gn (x) mit den entsprechenden der abgebrochenen Taylor-Reihen tn (x) von f (x). Schließlich stelle man die Fehlerfunktionen εn (x) = gn (x) − f (x) und δn (x) = tn (x) − f (x) dar und bestimme daraus das Verh¨ altnis der maximalen Fehlerbetr¨ age. 3.19. Die Laguerre-Polynome Ln (x) k¨ onnen definiert werden durch dn n −x (x e ), n = 0, 1, 2, . . . . dxn a) Wie lauten die Laguerre-Polynome L0 (x), L1 (x), . . . , L6 (x)? Man zeige, dass Ln (x) auf Grund der Definition ein Polynom vom ! echten Grad n ist, und dass die allgemeine Darstellung gilt n X (−x)j n , n = 0, 1, 2, . . . . Ln (x) = n! j! j j=0 Ln (x) := ex
b) Man zeige die Orthogonalit¨ atseigenschaft der Ln (x) Z∞ e−x Li (x)Lj (x) dx = 0 f¨ ur alle i = j, i, j ∈ . 0
c) Man beweise, dass das Laguerre-Polynom Ln (x) im Intervall (0, ∞) n einfache Nullstellen besitzt. d) Man zeige, dass die Rekursionsformel gilt Ln+1 (x) = (2n + 1 − x)Ln (x) − n2 Ln−1 (x), n = 1, 2, 3, . . . .
4
Nichtlineare Gleichungen
Eines der Grundprobleme der Mathematik, dem wir schon in der Schule begegnen, ist die Bestimmung von Nullstellen einer gegebenen Funktion. Es entspricht der L¨osung einer nichtlinearen Gleichung. In Anwendungsproblemen ist die L¨ osung einer solchen Gleichung oder eines Systems von nichtlinearen Gleichungen oft Teilaufgabe einer komplexeren Problemstellung. Eine exakte analytische L¨ osung dieser Aufgabe wird selten m¨oglich sein. Deshalb werden iterative Verfahren verwendet, welche eine gesuchte L¨ osung als Grenzwert einer Folge von N¨aherungen liefern. Als theoretische Grundlage f¨ ur das Studium der Konvergenzeigenschaften werden wir zuerst den Banachschen Fixpunktsatz in allgemeiner Formulierung bereitstellen. F¨ ur die Brauchbarkeit und Effizienz eines Verfahrens ist das Konvergenzverhalten der N¨aherungsfolge gegen die L¨ osung entscheidend. Unter diesem Gesichtspunkt werden einige Methoden zur Bestimmung einer L¨ osung einer nichtlinearen Gleichung in einer Unbekannten entwickelt und betrachtet. Dabei werden wir neben Standard-Verfahren auch solche kennen lernen, die sich als Black-box-Verfahren eignen und deshalb gern in Softwarepaketen Verwendung fin¨ den. Anschließend werden die Uberlegungen auf Systeme u ¨ bertragen. Als wichtigen Spezialfall und teilweise als Anwendung der Methoden behandeln wir abschließend die Berechnung von Polynom-Nullstellen.
4.1
Theoretische Grundlagen
4.1.1
Problemstellung
Gegeben sei eine stetige Vektorfunktion f : Ên → Ên .
Gesucht ist eine Nullstelle von f (x), d.h. ein fester Vektor s ∈ Ên mit f (s) = 0.
(4.1)
(4.1) ist ein System von n nichtlinearen Gleichungen mit n Unbekannten: f1 (s1 , s2 , · · · , sn ) fn (s1 , s2 , · · · , sn )
= 0, ··· =
(4.2)
0.
Um dieses Problem der iterativen L¨ osung zug¨ anglich zu machen, wird es zun¨achst in ein
184
4 Nichtlineare Gleichungen
aquivalentes Fixpunktproblem ¨ x = F (x)
(4.3)
umgeformt, f¨ ur das gilt f (s) = 0
⇐⇒
s = F (s).
(4.4)
s heißt dann Fixpunkt von F . Eine große Klasse von Iterationsverfahren zur L¨ osung solcher nichtlinearen Gleichungssysteme hat die Form x(k+1) = F (x(k) ),
k = 0, 1, 2, . . . ,
(4.5)
wo x(k) eine reelle Zahl, ein Vektor oder auch eine Funktion mit bestimmten Eigenschaften sein kann und F (x) eine Abbildung der betreffenden Menge in sich darstellt. Mit (4.5) wird zu einem gegebenen Startwert x(0) eine Folge von Iterierten x(k) definiert mit dem Ziel, die Gleichung zu l¨ osen. Die Iterationsvorschrift (4.5) nennt man Fixpunktiteration, oder man spricht auch von der Methode der sukzessiven Approximation. Da in (4.5) zur Definition des otigt wird, und da die angewandte RechenFolgeelementes x(k+1) nur das Element x(k) ben¨ vorschrift von k unabh¨ angig sein soll, findet man in der Literatur auch die pr¨azisierende Bezeichnung als einstufiges, station¨ ares Iterationsverfahren. Beispiel 4.1. Gesucht ist die L¨osung des Gleichungssystems x21 + x2 − 4 x2 e
x1
−2
=
0,
=
0.
Hier sind also offenbar f1 (x1 , x2 )
=
f2 (x1 , x2 )
=
x21 + x2 − 4,
x2 ex1 − 2.
Beide Gleichungen k¨ onnen nach x2 aufgel¨ ost werden: x2
=
x2
=
4 − x21 =: g1 (x1 ),
2 e−x1 =: g2 (x1 ).
Gesucht sind also Schnittpunkte dieser beiden Funktionen gk (x1 ), k = 1, 2. Deshalb kann man sich eine N¨ aherung durch eine Zeichnung verschaffen, siehe Abb. 4.1 Man erkennt an der Zeichnung, dass es zwei L¨ osungen des Problems gibt, da die Funktionen zwei Schnittpunkte haben. F¨ ur beide bekommt man auch recht gute N¨ aherungsl¨ osungen durch Ablesen der Werte aus der Zeichnung. ost: Eine Fixpunktgleichung bekommt man, wenn man die erste Gleichung nach x1 aufl¨ √ 4 − x2 =: F1 (x1 , x2 ), x1 = x2
=
2 e−x1 =: F2 (x1 , x2 ).
Geht man jetzt mit irgendwelchen Startwerten in das Iterationsverfahren (4.5), so stellt sich schnell Konvergenz gegen den rechten Schnittpunkt ein. Das liegt daran, dass der linke Schnittpunkt ein abstoßender Fixpunkt ist. F¨ ur seine Bestimmung ist die Iteration also nicht geeignet. Das Beispiel zeigt, dass die Eindeutigkeit von L¨ osungen bei nichtlinearen Problemen selbst bei einfachen Aufgaben oft nicht gegeben ist. Das gilt auch f¨ ur die Existenz und f¨ ur die Konvergenz einfacher Iterationsverfahren.
185
4.1 Theoretische Grundlagen
6
x2
5 g1 (x1 )
4
3
2 g2 (x1 ) 1 x1
0 −1
−0.5
0
0.5
1
1.5
2
Abb. 4.1 Schnittpunkte zweier Funktionen.
△
4.1.2
Konvergenztheorie und Banachscher Fixpunktsatz
Zur einheitlichen theoretischen Behandlung der Iterationsverfahren (4.5) wird den Betrachtungen ein Banach-Raum zu Grunde gelegt. Definition 4.1. Ein Banach-Raum B ist ein normierter, linearer Vektorraum u ¨ ber einem Zahlenk¨ orper ( oder ), in dem jede Cauchy-Folge x(k) von Elementen aus B gegen ein Element in B konvergiert. Dabei hat eine Norm in B die Eigenschaften x ≥ 0 x = 0 ⇔ x = 0, γx = |γ| · x x + y ≤ x + y
f¨ ur alle x ∈ B, f¨ ur alle γ ∈ , x ∈ B, f¨ ur alle x, y ∈ B.
Der K¨ orper der reellen Zahlen mit dem Betrag als Norm ist ein Banach-Raum. Allgemeiner ist der n-dimensionale reelle Vektorraum n mit irgendeiner Vektornorm x ein Banach-Raum. Schließlich bildet auch die Menge der stetigen Funktionen u ¨ ber einem abgeschlossenen Intervall I = [a, b], d.h. C(I) mit der Norm f := max |f (x)|, x∈I
einen Banach-Raum.
f (x) ∈ C(I)
(4.6)
186
4 Nichtlineare Gleichungen
Definition 4.2. Die Folge {x(k) } mit dem Grenzwert s hat mindestens die Konvergenzordnung p ≥ 1, wenn es eine von k unabh¨ angige Konstante K > 0 gibt, so dass x(k+1) − s ≤ K x(k) − sp ∀k ≥ 0
(4.7)
mit K < 1, falls p = 1. K wird Konvergenzrate oder Fehlerkonstante genannt. Die Konvergenz heißt linear, falls p = 1, sie heißt quadratisch , falls p = 2, und kubisch, falls p = 3 ist. Eine h¨ ohere als kubische Konvergenz kommt nur sehr selten vor. K und p bestimmen die Konvergenzgeschwindigkeit der Folge. Je kleiner K und je gr¨oßer p sind, desto schneller ist die Konvergenz. Dabei bestimmt die Ordnung das Verhalten wesentlich st¨ arker als die Konstante K. Diese ist wichtig beim Vergleich linear konvergenter Verfahren. Definition 4.3. F¨ ur eine abgeschlossene Teilmenge A ⊂ B eines Banach-Raumes B sei eine Abbildung F : A → A von A in A gegeben. Die Abbildung F heißt Lipschitz-stetig auf A mit der Lipschitz-Konstanten 0 < L < ∞, wenn gilt F (x) − F (y) ≤ Lx − y
f¨ ur alle x, y ∈ A.
(4.8)
Die Abbildung F nennt man kontrahierend auf A, falls die Lipschitz-Konstante in (4.8) L < 1 ist. Satz 4.4. (Banachscher Fixpunktsatz) Sei A eine abgeschlossene Teilmenge eines BanachRaumes B und sei F : A → A eine kontrahierende Abbildung. Dann gilt: 1. Die Abbildung F besitzt genau einen Fixpunkt s ∈ A. 2. F¨ ur jeden Startwert x(0) ∈ A konvergiert die durch x(k+1) = F (x(k) ), k = 0, 1, 2, . . . , definierte Folge gegen den Fixpunkt s ∈ A. 3. x(k) − s ≤ Lk x(0) − s. 4. A priori Fehlerabsch¨atzung : Lk x(1) − x(0) . x(k) − s ≤ 1−L 5. A posteriori Fehlerabsch¨atzung : L x(k) − s ≤ x(k) − x(k−1) . 1−L
(4.9)
(4.10) (4.11) (4.12)
Beweis. Als erstes wird die Differenz zweier aufeinander folgender Iterierter abgesch¨atzt: x(k+1) − x(k)
= F (x(k) ) − F (x(k−1) ) ≤ L x(k) − x(k−1) = LF (x(k−1) ) − F (x(k−2) ) ≤ L2 x(k−1) − x(k−2) ≤ · · ·
oder allgemein x(k+1) − x(k) ≤ Lk−l x(l+1) − x(l) f¨ ur 0 ≤ l ≤ k.
(4.13)
187
4.1 Theoretische Grundlagen
Wegen der Voraussetzung F : A → A liegt mit x(0) ∈ A auch jedes x(k) ∈ A. Jetzt zeigen wir, dass die durch (4.9) definierte Folge x(k) f¨ ur jedes x(0) ∈ A konvergiert. Wegen (4.13) (k) mit l = 0 bilden die x eine Cauchy-Folge, denn es gilt f¨ ur beliebige m ≥ 1 und k ≥ 1 x(k+m) − x(k) = ≤ ≤ =
x(k+m) − x(k+m−1) + x(k+m−1) − + . . . − x(k)
k+m−1 µ=k
x(µ+1) − x(µ)
Lk (Lm−1 + Lm−2 + . . . + L + 1) x(1) − x(0) 1 − Lm (1) x − x(0) . Lk 1−L
(4.14)
Wegen L < 1 existiert somit zu jedem ε > 0 ein N ∈ ∗ , so dass x(k+m) − x(k) < ε f¨ ur k ≥ N und m ≥ 1 ist. Deshalb besitzt die Folge x(k) in der abgeschlossenen Teilmenge A einen Grenzwert s := lim x(k) , k→∞
s ∈ A.
Wegen der Stetigkeit der Abbildung F gilt weiter F (s) = F ( lim x(k) ) = lim F (x(k) ) = lim x(k+1) = s. k→∞
k→∞
k→∞
Damit ist nicht allein die Existenz eines Fixpunktes s ∈ A nachgewiesen, sondern gleichzeitig auch die Konvergenz der Folge x(k) gegen einen Fixpunkt. Die Eindeutigkeit des Fixpunktes zeigen wir indirekt. Es seien s1 ∈ A und s2 ∈ A zwei Fixpunkte der Abbildung F mit s1 − s2 > 0. Da s1 = F (s1 ) und s2 = F (s2 ) gelten, f¨ uhrt dies wegen s1 − s2 = F (s1 ) − F (s2 ) ≤ Ls1 − s2 auf den Widerspruch L ≥ 1.
In (4.14) halten wir k fest und lassen m → ∞ streben. Wegen lim x(k+m) = s und L < 1 m→∞
ergibt sich dann die Fehlerabsch¨ atzung (4.11). (4.10) ergibt sich aus x(k) − s = = ≤
F (x(k−1) ) − F (s) ≤ Lx(k−1) − s
LF (x(k−2) ) − F (s) ≤ L2 x(k−2) − s = · · · Lk x(0) − s.
(4.12) folgt schließlich aus (4.11) durch Umnummerierung k → 1, d.h. es wird x(k−1) als Startwert x(0) interpretiert, dann wird x(k) zu x(1) und die beiden Absch¨atzungen werden identisch. Die a priori Fehlerabsch¨ atzung gestattet, nach Berechnung von x(1) aus dem Startwert x(0) (k) den Fehler von x gegen¨ uber s mit einer absoluten Schranke vorherzusagen. Gleichzeitig besagt (4.11), dass die Norm des Fehlers x(k) − s mindestens wie eine geometrische Folge mit dem Quotienten L abnimmt. Je kleiner die Lipschitz-Konstante ist, desto besser ist die
188
4 Nichtlineare Gleichungen
Konvergenz der Folge x(k) gegen s. Mit der a posteriori Fehlerabsch¨atzung kann nach k ausgef¨ uhrten Iterationsschritten die Abweichung von x(k) gegen¨ uber s abgesch¨atzt werden. Die Aussage von Satz 4.4 hat in vielen praktischen Anwendungen nur lokalen Charakter, denn die abgeschlossene Teilmenge A kann sehr klein sein. Auch wird es h¨aufig schwierig sein, im konkreten Fall die Menge A quantitativ zu beschreiben, und man wird sich mit der Existenz zufrieden geben m¨ ussen. Ist f¨ ur n = 1 die Funktion F mindestens einmal stetig differenzierbar, dann kann nach dem Mittelwertsatz die Lipschitz-Konstante durch das Betragsmaximum der ersten Ableitung in A ersetzt werden. Diese Aussage wird im folgenden Satz, dessen Beweis wir als ¨ Ubungsaufgabe stellen wollen, verallgemeinert. Satz 4.5. Es sei n = 1. In der abgeschlossenen Umgebung A des Fixpunktes s sei die Iterationsfunktion F p + 1 mal stetig differenzierbar. Dann ist das Verfahren mindestens linear konvergent, falls |F ′ (s)| < 1.
(4.15)
F (k) (s) = 0 f¨ ur k = 1, 2, · · · , p − 1.
(4.16)
Das Verfahren ist von mindestens p-ter Ordnung, p ≥ 2, falls Beispiel 4.2. Gesucht sei die L¨osung der nichtlinearen Gleichung x ∈ Ê,
x = e−x =: F (x),
(4.17)
onnen, ben¨ otid.h. der Fixpunkt der Abbildung F : Ê → Ê>0 . Um den Fixpunktsatz anwenden zu k¨ ur welches die Voraussetzungen gen wir im Banach-Raum B = Ê ein abgeschlossenes Intervall A, f¨ zutreffen. Beispielsweise wird A := [0.5, 0.69] durch die Abbildung F (4.17) in sich abgebildet. Nach Satz 4.5 ist die Lipschitz-Konstante L f¨ ur die stetig differenzierbare Funktion F gegeben durch . ′ L = max |F (x)| = max | − e−x | = e−0.5 = 0.606531 < 1. x∈A
x∈A
Folglich ist F in A eine kontrahierende Abbildung, und es existiert in A ein eindeutiger Fixpunkt s. Das Ergebnis der Fixpunktiteration ist in Tab. 4.1 f¨ ur den Startwert x(0) = 0.55 ∈ A auszugsweise bei achtstelliger Dezimalrechnung wiedergegeben. Tab. 4.1 Fixpunktiteration. k
x(k)
k
x(k)
k
x(k)
0 1 2 3 4
0.55000000 0.57694981 0.56160877 0.57029086 0.56536097
10 11 12 13 14
0.56708394 0.56717695 0.56712420 0.56715412 0.56713715
20 21 22 23 24
0.56714309 0.56714340 0.56714323 0.56714332 0.56714327
Auf Grund der beiden ersten Werte x(0) und x(1) kann mit der a priori Fehlerabsch¨ atzung (4.11) die Zahl k der Iterationen gesch¨ atzt werden, die n¨ otig sind, damit die Abweichung |x(k) −s| ≤ ε = 10−6 ist. Man erh¨ alt aus (4.11) « „ ε(1 − L) . / ln(L) = 22.3 (4.18) k ≥ ln |x(1) − x(0) |
189
4.1 Theoretische Grundlagen f (x)
f (x)
x
x
Abb. 4.2 Unterschiedlich konditionierte Nullstellen. ¨ eine leichte, zu erwartende Ubersch¨ atzung, wie aus Tab. 4.1 ersichtlich ist. F¨ ur den iterierten Wert x(12) liefert (4.11) die a priori Fehlerschranke |x(12) − s| ≤ 1.70 · 10−4 , w¨ ahrend (4.12) die bessere a posteriori Fehlerschranke |x(12) − s| ≤ 8.13 · 10−5 ergibt. Da der . . Fixpunkt s = 0.56714329 ist, betr¨ agt die Abweichung tats¨ achlich |x(12) − s| = 1.91 · 10−5 . F¨ ur x(23) (23) −7 erhalten wir nach (4.12) die sehr realistische Absch¨ atzung |x − s| ≤ 1.4 · 10 , die nur etwa f¨ unfmal zu groß ist. Sie zeigt, dass nicht 23 Iterationen n¨ otig sind, um die oben geforderte absolute Genauigkeit zu erreichen. △
4.1.3
Stabilit¨at und Kondition
Wir wollen an verschiedenen eindimensionalen Beispielen auf typische Stabilit¨atsunterschiede beim Nullstellenproblem hinweisen. Neben der Schwierigkeit, im allgemeinen Fall Konvergenz zu erzielen, kann es aus Stabilit¨ atsgr¨ unden auch schwierig sein die gew¨ unschte Genauigkeit bei der Lokalisierung von Nullstellen zu erreichen. In Abb. 4.2 sehen wir links vier verschiedene Parabeln. Wir wollen die unterschiedliche Situation f¨ ur die Nullstellenbestimmung dieser Funktionen von links nach rechts beschreiben: 1. Stabile Situation mit zwei gut getrennten und leicht zu berechnenden Nullstellen. 2. Doppelte Nullstelle, hier gilt also (4.19) f (s) = f ′ (s) = 0 . Die numerische Berechnung einer doppelten Nullstelle ist immer schlecht konditioniert, weil eine leichte Verschiebung nach oben oder unten – z.B. durch Rundungsfehler – zu zwei oder keiner reellen Nullstelle f¨ uhrt, siehe 3. und 4. 3. Eng beieinander liegende Nullstellen f¨ uhren leicht zu numerischen Schwierigkeiten, besonders, wenn man nicht irgendeine Nullstelle, sondern mehrere oder alle Nullstellen sucht.
190
4 Nichtlineare Gleichungen
4. Diese Funktion hat nur komplexe Nullstellen. Um sie zu finden, muss komplex gerechnet werden, oder es muss ein spezieller Algorithmus angewendet werden, der Realteil und Imagin¨ arteil eines solchen Nullstellenpaares im Reellen berechnet, siehe Abschnitt 4.4. Auch dann kann die Aufgabe der Berechnung noch schlecht konditioniert sein, weil die beiden komplexen Nullstellen nahe bei einer doppelten reellen Nullstelle liegen. Wilkinson untersucht in [Wil 94] die unterschiedlichsten Situationen bei der Bestimmung von Polynomnullstellen. Er definiert Konditionszahlen f¨ ur die Nullstellen und bestimmt sie f¨ ur verschiedene Probleme. Dabei sieht man, dass gewisse Nullstellen selbst bei einer scheinbar harmlosen Verteilung schlecht konditioniert sein k¨onnen. Ein solches Beispiel sehen wir in Abb. 4.2 rechts. Die Nullstellen der beiden Funktionen haben den gleichen Abstand voneinander. Betrachtet man aber ein Intervall [x− , x+ ] um jede dieser Nullstellen, so dass |f (x)| < ε ∀x ∈ [x− , x+ ] ,
(4.20)
so bekommt man f¨ ur die linke Funktion bei kleinem ε zwei kleine und deutlich getrennte Intervalle f¨ ur die Nullstellen. Die entsprechenden Intervalle bei der rechten Funktion sind viel gr¨ oßer und gehen schon f¨ ur nicht gar zu kleines ε ineinander u ¨ ber.
4.2
Gleichungen in einer Unbekannten
Wir betrachten die Aufgabe, zu einer stetigen, nichtlinearen Funktion f (x) mit f : L¨osungen der Gleichung f (x) = 0
Ê→Ê (4.21)
zu berechnen. Wir behandeln haupts¨ achlich den Fall von reellen L¨osungen von (4.21), werden aber an einigen Stellen darauf hinweisen, wie auch komplexe L¨osungen gefunden werden k¨ onnen.
4.2.1
Das Verfahren der Bisektion
f (x)
a
x0 x2 x3
b x1
x Abb. 4.3 Das Verfahren der Bisektion.
191
4.2 Gleichungen in einer Unbekannten
¨ Die Bisektion ist durch Uberlegungen der Analysis motiviert, die reelle L¨osung einer Gleichung (4.21) durch systematisch kleiner werdende Intervalle einzuschließen. Dazu geht man von der Annahme aus, es sei ein Intervall I = [a, b] bekannt, so dass f (a) · f (b) < 0 gilt. Aus Stetigkeitsgr¨ unden existiert eine L¨ osung s im Innern von I mit f (s) = 0. F¨ ur den Mittelpunkt µ = (a + b)/2 wird der Funktionswert f (µ) berechnet. Ist f (µ) = 0, entscheidet sein Vorzeichen, in welchem der beiden Teilintervalle [a, µ] und [µ, b] die gesuchte L¨osung s ist. Die Lage der L¨osung s ist auf das Innere eines gegen¨ uber I halb so langen Intervalls eingeschr¨ ankt, und das Verfahren kann fortgesetzt werden, bis s im Innern eines hinreichend kleinen Intervalls liegt. Bezeichnen wir mit L0 := b − a die L¨ange des Startintervalls, so bildet die Folge der L¨ angen Lk := (b − a)/2k , k = 0, 1, 2, . . . eine Nullfolge. Der Mittelpunkt (k) x des Intervalls nach k Intervallhalbierungen stellt f¨ ur s eine N¨aherung dar mit der a priori Fehlerabsch¨ atzung |x(k) − s| ≤
b−a , 2k+1
k = 0, 1, 2, . . . .
(4.22)
1 Da diese Fehlerschranke wie eine geometrische Folge mit dem Quotienten q = abnimmt, 2 ist die Konvergenzordnung p = 1.
Beispiel 4.3. Die Berechnung der kleinsten positiven L¨osung der Gleichung f (x) := cos(x) cosh(x) + 1 = 0
(4.23)
werden wir mit verschiedenen Verfahren durchf¨ uhren, die wir dadurch vergleichen k¨ onnen. Wir . beginnen mit der Bisektion. Als Startintervall verwenden wir I = [0, 3], f¨ ur welches f (0) = 2, f (3) = −9 und damit f (0) f (3) < 0 gilt. Die Ergebnisse sind auszugsweise in Tab. 4.2 zusammengestellt. Wir haben mit 16 wesentlichen Dezimalstellen gerechnet und die Iteration abgebrochen, wenn die Intervallbreite kleiner als 2.0 · 10−9 oder der Funktionswert im Mittelpunkt dem Betrage nach ullt, da 3 · 2−31 ≈ 1.4 · 10−9 kleiner als 1.0 · 10−9 war. Das erste Kriterium ist nach 31 Schritten erf¨ ist. △ Tab. 4.2 Bisektion. k 0 1 2 3 4 5 .. . 30 31
a
b
µ
f (µ)
0.0 1.5 1.5 1.875 1.875 1.875 .. . 1.8751040669 1.8751040683
3.0 3.0 2.25 2.25 2.0625 1.96875 .. . 1.8751040697 1.8751040697
1.5 2.25 1.875 2.0625 1.96875 1.921875 .. . 1.8751040683 1.8751040690
>0 <0 >0 <0 <0 <0 .. . >0 −1.2 · 10−9
192
4 Nichtlineare Gleichungen f (x)
x(3)
x
x(2)
x(1)
x(0)
Abb. 4.4 Konvergente Folge des Newton-Verfahrens.
4.2.2
Das Verfahren von Newton
Ist die Funktion f (x) der zu l¨ osenden Gleichung f (x) = 0 stetig differenzierbar, und ist u ¨ berdies die erste Ableitung ohne großen Rechenaufwand berechenbar, so wird im Verfahren von Newton die Funktion f (x) im allgemeinen N¨aherungswert x(k) linearisiert und der iterierte Wert x(k+1) als Abszisse des Schnittpunktes der Tangente mit der x-Achse definiert, es wird sozusagen f¨ ur die Bestimmung einer N¨ aherung x(k+1) der Nullstelle die Funktion (k) (k) durch ihre Tangente in (x , f (x )) ersetzt, siehe Abb. 4.4. Aus der Tangentengleichung t(x) = f (x(k) ) + (x − x(k) )f ′ (x(k) )
und der Forderung t(x(k+1) ) = 0 ergibt sich so die Iterationsvorschrift x(k+1) = x(k) −
f (x(k) ) , f ′ (x(k) )
k = 0, 1, 2, . . . .
(4.24)
Die Methode von Newton geh¨ ort zur Klasse der Fixpunktiterationen mit der Funktion F (x) := x −
f (x) , f ′ (x)
(4.25)
¨ und f¨ ur den Fixpunkt s = F (s) gilt offenbar f (s) = 0. Uber die Konvergenzbedingung und die Konvergenzordnung der Folge (4.24) gibt der folgende Satz Auskunft. Satz 4.6. Die Funktion f (x) sei dreimal stetig differenzierbar in einem Intervall I1 = [a, b] mit a < s < b, und es sei f ′ (s) = 0, d.h. s sei eine einfache Nullstelle von f (x). Dann existiert ein Intervall I = [s − δ, s + δ] mit δ > 0, f¨ ur welches F : I → I eine kontrahierende Abbildung ist. F¨ ur jeden Startwert x(0) ∈ I ist die Folge x(k) des Newtonschen Verfahrens (4.24) mindestens quadratisch konvergent.
193
4.2 Gleichungen in einer Unbekannten
Beweis. Um die kontrahierende Eigenschaft der Abbildung F (4.25) in einer nicht leeren Umgebung von s nachzuweisen, zeigen wir, dass der Betrag der ersten Ableitung von F in einer Umgebung von s kleiner Eins ist. F¨ ur die erste Ableitung erhalten wir F ′ (x) = 1 −
f ′ (x)2 − f (x)f ′′ (x) f (x)f ′′ (x) = , ′ 2 f (x) f ′ (x)2
(4.26)
und deshalb ist wegen f (s) = 0 unter Ber¨ ucksichtigung der vorausgesetzten Differenzierbarunden existiert dann in der keitseigenschaften von f (x) auch F ′ (s) = 0. Aus Stetigkeitsgr¨ Tat ein δ > 0, so dass −1 < F ′ (x) < 1
f¨ ur alle x ∈ [s − δ, s + δ] =: I
gilt. F¨ ur das Intervall I sind die Voraussetzungen des Banachschen Fixpunktsatzes erf¨ ullt, und die Konvergenz der Folge x(k) gegen s ist damit gezeigt. Nach Satz 4.5 ist die Konvergenzordnung des Verfahrens von Newton mindestens p = 2. Das Newton-Verfahren kann auch noch bei einer doppelten Nullstelle, an der ja f ′ (s) = 0 gilt, konvergieren, aber nicht mehr quadratisch, sondern nur noch linear bzw. superlinear. Die L¨ ange des Intervalls I, dessen Existenz im Satz 4.6 gezeigt worden ist, und f¨ ur welches Konvergenz herrscht, kann in manchen F¨ allen sehr klein sein. Die praktische Bestimmung von I aus der Darstellung (4.26) ist entsprechend kompliziert. Das Newton-Verfahren ist damit weit entfernt davon, zu den Black-box-Methoden gez¨ahlt werden zu d¨ urfen. Eine solche Methode werden wir im n¨ achsten Abschnitt darstellen. Die beiden in Abb. 4.5 dargestellten F¨ alle zeigen zwei unterschiedliche M¨oglichkeiten von divergenten Folgen des Newton-Verfahrens. Die linke Abbildung zeigt eine gegen −∞ divergente Folge, weil der Startwert x(0) nicht im Konvergenzbereich liegt. Die rechte Abbildung zeigt den Fall alternierender Divergenz: Auf Grund der Tangentensteigung im Punkt (x(0) , f (x(0) )) wird ein Punkt x(1) berechnet, der im n¨achsten Schritt wieder zu x(0) zur¨ uckf¨ uhrt. Dieser Fall ist sicher sehr selten, der Grund f¨ ur diese Art der Divergenz ist aber auch der, dass x(0) nicht im Konvergenzbereich liegt. Beispiel 4.4. Die m-te Wurzel aus einer positiven Zahl a ist die L¨osung der Gleichung f (x) = xm − a = 0,
a > 0.
(4.27) ′
Das Verfahren von Newton ergibt mit f (x) = mx x(k+1) = x(k) − x(k+1) =
1 m
j
m−1
die Vorschrift
a + (m − 1)(x(k) )m (x ) − a = (k) m−1 m(x ) m(x(k) )m−1 (k) m
ff a (k) + (m − 1)x , (x(k) )m−1
oder
k = 0, 1, 2, . . . .
(4.28)
194
4 Nichtlineare Gleichungen f (x) f (x)
x(3) x(2) x(1)
x(0) x(1)
x
x
(0)
x x(2)
Abb. 4.5 Divergierende Folgen des Newton-Verfahrens.
Daraus leiten sich die folgenden Spezialf¨ alle ab: h a i 1 + x(k) Quadratwurzel x(k+1) = (k) 2 x – » 1 a + 2x(k) x(k+1) = Kubikwurzel 3 (x(k) )2 x(k+1) =
′′
(2 − ax(k) )x(k)
m−2
m = −1, Kehrwert
(4.29) (4.30) (4.31)
= 0 ist, ist die Konvergenzordnung f¨ ur das Iterationsverfahren (4.28) Da f (s) = m(m − 1)s genau p = 2. (4.29) wird in Rechnern zur Bestimmung der Quadratwurzel verwendet. Um die √ Fehlerkonstante K = |f ′′ (s)/(2 f ′ (s))| = 1/(2 a) in Grenzen zu halten, wird aus a durch Multiplikation mit einer geraden Potenz der Zahlenbasis des Rechners ein Hilfswert a′ gebildet, der angiger Startwert x(0) so gew¨ ahlt, in einem bestimmten Intervall liegt. Dann wird ein von a′ abh¨ dass eine bestimmte Zahl von Iterationsschritten die Quadratwurzel mit voller Rechnergenauigkeit liefert. Die Iteration (4.31) erm¨ oglichte f¨ ur erste Computer ohne eingebaute Division die Zur¨ uckf¨ uhrung dieser Operation auf Multiplikationen und Subtraktionen. Die Division von zwei Zahlen wurde so ausgef¨ uhrt, dass der Kehrwert des Divisors bestimmt und dieser dann mit dem Dividenden multipliziert wurde. △
Beispiel 4.5. Wir wollen die Berechnung der kleinsten positiven L¨osung der Gleichung f (x)
=
cos(x) cosh(x) + 1 = 0
f ′ (x)
=
cos(x) sinh(x) − sin(x) cosh(x)
mit
jetzt mit der Methode von Newton durchf¨ uhren. Als Startwert nehmen wir den Mittelpunkt des Startintervalls aus Beispiel 4.3. Die Iteration wurde auf Grund des Kriteriums eines betragsm¨ aßig unf Schritten abgebrochen. Es hinreichend kleinen Funktionswertes |f (x(5) )| < 1 · 10−15 nach f¨ wurden je f¨ unf Auswertungen von f (x) und f ′ (x) ben¨ otigt. Die Korrekturen bilden offensichtlich eine quadratisch konvergente Nullfolge. △
195
4.2 Gleichungen in einer Unbekannten Tab. 4.3 Methode von Newton. k 0 1 2 3 4 5
x(k) 1.5 2.031173635 1.890537993 1.875276323 1.875104090 1.875104069
f (x(k) )
f ′ (x(k) )
1.16640287 −0.72254393 −0.06459399 −0.00071290 −0.00000009 0.00000000
−2.1958975 −5.1377014 −4.2324326 −4.1391805 −4.1381341 —
f (x(k) )/f ′ (x(k) ) −0.5311736 0.14063564 0.01526163 0.00017225 0.00000002 —
Es gibt verschiedene Varianten des Newton-Verfahrens, die hier nur kurz beschrieben werden sollen. • Das vereinfachte Newton-Verfahren f (x(k) ) (4.32) x(k+1) = x(k) − ′ (0) , k = 0, 1, 2, . . . . f (x ) H¨ aufig a ¨ndert sich der Wert der ersten Ableitung im Verfahren von Newton nicht mehr stark in den letzten Iterationsschritten. Um dieser Feststellung Rechnung zu tragen, und um gleichzeitig die Zahl der oft aufw¨ andigen Berechnungen der ersten Ableitung zu reduzieren, wird die erste Ableitung einmal f¨ ur den (guten!) Startwert x(0) berechnet und f¨ ur die weiteren Iterationen beibehalten. Die Konvergenzordnung f¨ ur das vereinfachte Verfahren (4.32) ist zwar nur p = 1, doch ist die Fehlerkonstante K := |F ′ (s)| = |1 − f ′ (s)/f ′ (x(0) )| meistens sehr klein. • Das modifizierte Newton-Verfahren f (x(k) ) x(k+1) = x(k) − λk ′ (k) , k = 0, 1, 2, . . . . (4.33) f (x ) Um Schwierigkeiten mit der Konvergenz des Newton-Verfahrens zu vermeiden, kann die Korrektur mit einem Faktor λk versehen werden, der solange halbiert wird, bis der Absolutbetrag des Funktionswertes verkleinert wird |f (x(k+1) )| < |f (x(k) )|. Dieses Verfahren eignet sich in leichter Abwandlung auch besonders f¨ ur Systeme von nichtlinearen Gleichungen, vgl. Abschnitt 4.3.2.
4.2.3
Die Sekantenmethode
Soll die Berechnung der Ableitung vermieden werden, so kann statt der Nullstelle der Tangente, die das Newton-Verfahrens verwendet, die Nullstelle einer Sekante berechnet werden. otigt, die aber nicht wie bei der Bisektion die Dazu werden zwei Startwerte x(0) und x(1) ben¨ gesuchte Nullstelle einschließen m¨ ussen. Der allgemeine iterierte Wert x(k+1) wird als Nullstelle der Sekanten des Graphen der Funktion berechnet, die durch die Punkte (x(k) , f (x(k) )) und (x(k−1) , f (x(k−1) )) verl¨ auft. Dies f¨ uhrt zur Sekantenmethode x(k+1) = x(k) − f (x(k) )
x(k) − x(k−1) . f (x(k) ) − f (x(k−1) )
(4.34)
Die Sekantenmethode ist ein zweistufiges Iterationsverfahren. Um jeden Schritt durchf¨ uhren zu k¨ onnen, muss offensichtlich f (x(k) ) = f (x(k−1) ) sein.
196
4 Nichtlineare Gleichungen
Satz 4.7. Falls f ′ (s) = 0 und f ′′ (s) = 0 gelten, ist die Konvergenzordnung der Sekanten√ . 1 methode p = (1 + 5) = 1.618. 2 Beweis. Siehe [Sch 97]. Leider gibt es bei der Sekantenmethode F¨ alle sehr langsamer Konvergenz, bei denen also die superlineare Konvergenz, die ja nur asymptotisch gilt, erst sehr sp¨at eintritt, siehe Beispiel 4.6 und Abschnitt 4.2.5. Beispiel 4.6. Zur Berechnung der kleinsten positiven L¨osung der Gleichung f (x) = cos(x) cosh(x) + 1 = 0 wird die Sekantenmethode angewandt. Wir verwenden jetzt das Startintervall I = [1.5, 3.0] bzw. x(0) = 3.0 und x(1) = 1.5. In diesem Intervall hat f einen Vorzeichenwechsel. Auch das gr¨ oßere Intervall I = [0, 3.0] erzeugt Konvergenz, die aber auf Grund großer Spr¨ unge in den ersten Werten von x(k) sehr langsam ist, vgl. Tab. 4.6. Es wurde wieder mit sechzehnstelliger Dezimalrechnung gerechnet. Die Iteration wurde abgebrochen, sobald |f (µ)| ≤ 10−9 galt. Das Verfahren liefert die L¨ osung in acht Iterationsschritten gem¨ aß Tab. 4.4. Tab. 4.4 Sekantenmethode. k
x(k)
f (x(k) )
|x(k) − s|
0 1 2 3 4 5 6 7 8
3.0 1.5 1.6726587 1.7712715 1.8931365 1.8736712 1.8750852 1.87510409 1.8751040687
−8.967 1.166 0.7196 0.3978 −0.07561 0.005923 7.785 · 10−5 −8.194 · 10−8 1.131 · 10−12
1.125 0.375 0.202 0.104 0.0180 0.00143 2 · 10−5 2 · 10−8 1 · 10−13
. Die superlineare Konvergenz mit p = 1.618 und K ≈ 1 ist etwa ab dem 3. oder 4. Schritt gut zu erkennen. △
4.2.4
Brents Black-box-Methode
Methoden, die garantiert konvergieren, werden auch Black-box-Verfahren genannt. Zu ihnen geh¨ ort die Bisektion, die aber zu langsam konvergiert. Es gibt eine Reihe von Methoden, die versuchen, die Sicherheit der Bisektion mit der gr¨oßeren Konvergenzgeschwindigkeit des Newton-Verfahrens zu verbinden. Sie entstehen durch Kombination verschiedener Verfahrenskomponenten und sind deshalb in ihrer Definition komplexer als die Verfahren, die wir bisher kennen gelernt haben. Wir wollen hier kurz das Verfahren von Brent vorstellen; wegen weiterer Einzelheiten verweisen wir auf die Originalarbeit [Bre 71].
197
4.2 Gleichungen in einer Unbekannten
Brents Algorithmus Brent versucht, die Einschließungseigenschaft und sichere Konvergenz der Bisektion zu erhalten, aber schneller zu sein, wenn die Verh¨ altnisse es erlauben. Dazu benutzt er inverse quadratische Interpolation, siehe Abschnitt 3.1.5. F¨ ur diese werden drei Vorg¨angerpunkte a := xi−2 , b := xi−1 und c := xi benutzt, durch die das quadratische Interpolationspolynom als Funktion von y gelegt wird. Dann wird dessen Wert bei y = 0 als neuer Wert x := xi+1 genommen. Das ergibt folgenden Algorithmus: Mit R := P Q wird
x
f (c) , f (b)
S :=
f (c) , f (a)
T :=
f (a) f (b)
und
:= S{T (R − T )(b − c) − (1 − R)(c − a)},
:= (T − 1)(R − 1)(S − 1) P := c + . Q
(4.35)
¨ Die Ubereinstimmung dieses Algorithmus mit der inversen Interpolation f¨ ur drei Wertepaare wollen wir nicht zeigen, da er die Interpolationsmethode von Neville, siehe etwa [Sch 97], benutzt, die wir nicht behandelt haben. Es l¨ asst sich aber leicht nachrechnen, dass dieser Algorithmus f¨ ur das Beispiel 3.3 denselben Wert x = −1/3 liefert.
In gutartigen F¨ allen ist c eine N¨ aherung der gesuchten Nullstelle, die durch die Korrektur P/Q verbessert wird. Dann ist die Konvergenz des Verfahrens superlinear. Jetzt wird der neue Wert x mit den alten Werten a, b und c so angeordnet, dass drei neue Werte f¨ ur a, b und c entstehen, die die Einschließungseigenschaft erf¨ ullen. Wenn Division durch null auftritt, oder wenn der Korrekturterm P/Q zu einem Wert außerhalb des alten Intervalls f¨ uhrt, so wird statt des dargestellten Schritts ein Schritt des Sekantenverfahrens durchgef¨ uhrt. Liefert dieses kein Einschließungsintervall, so wird stattdessen das Bisektionsverfahren durchgef¨ uhrt. Auf diese Weise wird sichere Konvergenz erreicht, die in den allermeisten F¨ allen wesentlich schneller als Bisektion oder Sekantenverfahren und nur etwas langsamer als das Newton-Verfahren ist, wie wir am folgenden Beispiel sehen werden. Beispiel 4.7. Die kleinste positive L¨osung der Gleichung f (x) = cos(x) cosh(x) + 1 = 0 soll jetzt mit der Methode von Brent bestimmt werden. Wir nehmen wieder das Startintervall aus Beispiel 4.3 und seinen Mittelpunkt als dritten Wert c. Im ersten Schritt liegt die Brent. N¨ aherung x = 3.25 außerhalb des Startintervalls, und es wird auf das Sekantenverfahren f¨ ur das Halb-Intervall mit dem Vorzeichenwechsel [1.5, 3] gewechselt. Es liefert einen neuen N¨ aherungswert . x = 1.67 innerhalb dieses Intervalls. Damit konvergiert jetzt die Iterationsfolge der Methode von Brent und die Iteration wird nach weiteren f¨ unf Iterationsschritten auf Grund eines betragsm¨ aßig . hinreichend kleinen Funktionswertes |f (x(6) )| = 3 · 10−14 abgebrochen. Insgesamt werden also neun Funktionsauswertungen ben¨ otigt, vgl. Tab. 4.5. △
Das Verfahren von Brent ben¨ otigt ein Einschließungsintervall. F¨ ur die Bestimmung eines solchen gibt es auch Verfahren, die man Finde-Routinen nennt. Erst mit ihrer Hilfe wird
198
4 Nichtlineare Gleichungen
Tab. 4.5 Methode von Brent. k
a
b
c
x(k+1)
0 0 1 2 3 4 5
0.0 1.5 1.5 1.67265867 1.67265867 1.86892123 1.86892123
3.0 3.0 3.0 3.0 1.93012033 1.93012033 1.87517286
1.5 — 1.67265867 1.93012033 1.86892123 1.87517286 1.87510405
3.25 (Brent versagt) 1.67 (Sekante) 1.93012033 1.86892123 1.87517286 1.87510405 1.87510407
die gesamte Methode zu einer wirklichen Black-box-Routine. Auf ihre Schilderung wollen wir verzichten; wir verweisen hierzu auf [Swi 78].
4.2.5
Verfahrensvergleich
Beispiele k¨ onnen nichts beweisen. Sie stellen nur mathematische Experimente dar, die Erfahrungen im Umgang mit numerischen Verfahren belegen oder widerlegen. In Tab. 4.6 wird deshalb ohne jeden Anspruch auf Allgemeing¨ ultigkeit die Anwendung der verschiedenen Verfahren auf das Beispiel f (x) := cos(x) cosh(x) + 1 = 0 noch einmal zusammengefasst. Alle Verfahren liefern eine L¨ osung hoher Genauigkeit, ausgehend von dem relativ großen Startintervall [0, 3] bzw. dessen Mittelpunkt. Sie ben¨ otigen dazu unterschiedlichen Aufwand. Der Aufwand wird in diesem Zusammenhang gemessen als Zahl der ben¨otigten Funktionsauswertungen. Wir f¨ ugen dem Vergleich noch eine Fixpunktiteration an. Sie entspricht der Vorgehensweise von Beispiel 4.2. Als Fixpunktfunktion haben wir # " 1 (4.36) F (x) := π − arccos cosh(x) gew¨ ahlt. Die Fixpunktiteration liefert eine linear konvergente Folge f¨ ur jeden Startwert aus dem Intervall [1.5, 3] mit einer Konvergenzrate K = 0.425. Tab. 4.6 Aufwandsvergleich f¨ ur die eindimensionalen Verfahren. Verfahren Fixpunktiteration Bisektion Sekantenverfahren Sekantenverfahren Newton Brent
Start x(0) = 2 [0, 3] [1.5, 3] [0, 3] x(0) = 1.5 [0, 1.5, 3]
Anz. Schritte
Anz. f -Auswertungen
17 32 8 15 5 6
17 34 9 16 11 9
199
4.3 Gleichungen in mehreren Unbekannten
4.3
Gleichungen in mehreren Unbekannten
Gegeben sei ein System von n nichtlinearen Gleichungen in n Unbekannten, und gesucht seien seine L¨ osungen. Die Aufgabe l¨ asst sich mit einer stetigen, nichtlinearen Funktion f (x) mit f :Ên → Ên allgemein so formulieren, dass L¨osungen x ∈ Ên der Gleichung f (x) = 0
(4.37)
zu bestimmen sind. Um die Darstellung zu vereinfachen, werden wir die grundlegenden Ideen und Prinzipien an einem System von zwei nichtlinearen Gleichungen in zwei Unbekannten darlegen. Sie lassen sich in offenkundiger Weise verallgemeinern.
4.3.1
Fixpunktiteration und Konvergenz
Als Grundlage f¨ ur die Diskussion des Konvergenzverhaltens der nachfolgend dargestellten Iterationsverfahren zur L¨ osung von (4.37) betrachten wir zwei nichtlineare Gleichungen in zwei Unbekannten in der Fixpunktform x = F (x, y),
y = G(x, y).
(4.38)
Jedes Wertepaar (s, t) mit der Eigenschaft s = F (s, t),
t = G(s, t)
(4.39)
heißt Fixpunkt der Abbildung F : Ê → Ê , welche definiert ist durch & ' & ' F (x, y) x F (x) := , x := ∈ Ê2 . G(x, y) y 2
2
(4.40)
Um den Banachschen Fixpunktsatz anwenden zu k¨onnen, muss f¨ ur die Abbildung F : → Ê2 ein abgeschlossener Bereich A ⊂ Ê2 (beispielsweise ein Rechteck oder ein Kreis) angegeben werden k¨ onnen, f¨ ur den mit einer beliebigen Vektornorm
Ê2
F : A → A mit F (x) − F (x ) ≤ Lx − x ,
L < 1;
x, x ∈ A
(4.41)
gilt. Unter der zus¨ atzlichen Voraussetzung, dass die Funktionen F (x, y) und G(x, y) in A stetige partielle Ableitungen nach x und y besitzen, lassen sich hinreichende Kriterien f¨ ur die Lipschitz-Bedingung (4.41) angeben. Die Jacobi-Matrix oder Funktionalmatrix der Abbildung F : Ê2 → Ê2 ist gegeben durch ⎡ ⎤ ∂F ∂F ⎢ ∂x ∂y ⎥ ⎢ ⎥ J (x, y) := ⎢ . (4.42) ⎥ ⎣ ∂G ∂G ⎦ ∂x ∂y (x,y)
Falls f¨ ur irgendeine Matrixnorm J(x, y) ≤ L < 1 f¨ ur alle x ∈ A gilt und A konvex ist, dann ist f¨ ur eine mit ihr vertr¨ aglichen Vektornorm (4.41) erf¨ ullt. Mit feineren Hilfsmitteln der linearen Algebra kann gezeigt werden, dass folgende Bedingung notwendig und hinreichend ist (vgl. Abschnitt 11.2.2). Es seien λi (J ) die Eigenwerte einer Matrix J ∈ Ên,n . Man bezeichnet mit ̺(J ) := max |λi (J )| i
(4.43)
200
4 Nichtlineare Gleichungen
den Spektralradius der Matrix J . Dann ist F : A → A genau dann kontrahierend, falls f¨ ur alle x ∈ A der Spektralradius ̺(J ) < 1 ist.
Es ist oft schwierig, den Bereich A f¨ ur eine Abbildung F konkret anzugeben, f¨ ur den eine der genannten Bedingungen f¨ ur die Anwendung des Fixpunktsatzes von Banach auf die Iteration x(k+1) = F (x(k) ), k = 0, 1, 2, . . ., erf¨ ullt ist. Wir wollen annehmen, dass die Voraussetzungen des Banachschen Fixpunktsatzes erf¨ ullt sind. Dann kann in Verallgemeinerung von Satz 4.5 gezeigt werden, dass die Fixpunktiteration linear konvergiert, die Konvergenzordnung also p = 1 ist mit der Konvergenzrate K = ̺(J ). Die Folge x(k) konvergiert deshalb linear gegen den Fixpunkt s. Eine h¨ ohere Konvergenzordnung kann nur vorliegen, wenn die Funktionalmatrix J (s, t) im Fixpunkt gleich der Nullmatrix ist.
4.3.2
Das Verfahren von Newton
Zur iterativen Bestimmung einer L¨ osung (s, t) eines Systems von zwei nichtlinearen Gleichungen f (x, y) = 0,
g(x, y) = 0
(4.44)
ist das Verfahren von Newton oder eine seiner Varianten oft recht geeignet. Die Funktionen f (x, y) und g(x, y) seien im Folgenden als mindestens einmal stetig differenzierbar vorausgesetzt. Ausgehend von einer geeigneten Startn¨aherung x(0) = (x(0) , y (0) )T f¨ ur eine gesuchte L¨ osung s = (s, t)T von (4.44) arbeitet man im allgemeinen k-ten Schritt mit dem Korrekturansatz s = x(k) + ξ (k) ,
t = y (k) + η (k) ,
(4.45)
mit welchem das gegebene nichtlineare System linearisiert wird. f (s, t) =
f (x(k) + ξ (k) , y (k) + η (k) )
≈ g(s, t) =
f (x(k) , y (k) ) + ξ (k) fx (x(k) , y (k) ) + η (k) fy (x(k) , y (k) ) = 0 g(x(k) + ξ (k) , y (k) + η (k) )
≈
g(x(k) , y (k) ) + ξ (k) gx (x(k) , y (k) ) + η (k) gy (x(k) , y (k) ) = 0
(4.46)
Auf diese Weise ist f¨ ur die Korrekturen ξ (k) , η (k) ein lineares Gleichungssystem entstanden. (4.46) lautet mit den Vektoren & (k) ' & (k) ' & ' x ξ f (x(k) , y (k) ) (k) (k) (k) x := := , ξ := , f y (k) η (k) g(x(k) , y (k) ) Φ(x(k) , y (k) ) ξ (k) = −f (k) , wo wir im Unterschied zu (4.42) die Funktionalmatrix & ' fx fy Φ(x, y) := gx gy (x,y)
(4.47)
(4.48)
zugeh¨ orig zu den Funktionen f (x, y) und g(x, y) des Systems (4.44) eingef¨ uhrt haben. Unter der Voraussetzung, dass die Jacobi-Matrix Φ (4.48) f¨ ur die N¨aherung x(k) regul¨ar ist, besitzt das lineare Gleichungssystem (4.47) eine eindeutige L¨osung ξ (k) . Dieser Korrekturvektor
201
4.3 Gleichungen in mehreren Unbekannten
ξ (k) liefert nat¨ urlich nicht die L¨ osung s, sondern eine neue N¨aherung x(k+1) = x(k) + ξ (k) , welche die formale Darstellung (k)
x(k+1) = x(k) − Φ−1 (x(k) )f (k) =: F (x
),
k = 0, 1, 2, . . . ,
(4.49)
bekommt. (4.49) stellt eine Fixpunktiteration dar. Sie kann als direkte Verallgemeinerung der Iterationsvorschrift (4.24) angesehen werden. Sie darf aber nicht dazu verleiten, die Inverse von Φ zu berechnen, vielmehr soll die Korrektur ξ (k) als L¨osung des linearen Gleichungssystems (4.47) bestimmt werden, z.B. mit dem Gauß-Algorithmus, siehe Kapitel 2. Im Fall eines Systems von zwei nichtlinearen Gleichungen (4.44) kann das lineare Gleichungssystem (4.48) explizit mit der Cramerschen Regel gel¨ost werden: x(k+1) = x(k) + ξ (k) = x(k) + y (k+1) = y (k) + η (k) = y (k) +
gfy − f gy =: F (x(k) , y (k) ) fx gy − fy gx
f gx − gfx =: G(x(k) , y (k) ) fx gy − fy gx
(4.50)
Satz 4.8. Die Funktionen f (x, y) und g(x, y) von (4.44) seien in einem Bereich A, welcher die L¨osung s im Innern enth¨alt, dreimal stetig differenzierbar. Die Funktionalmatrix Φ(s, t) (4.48) sei regul¨ar. Dann besitzt die Methode von Newton mindestens die Konvergenzordnung p = 2. Beweis. Die Jacobi-Matrix der Fixpunktiteration (4.49) ist gegeben durch J (x, y) =
&
1 + ξx ηx
ξy 1 + ηy
'
.
(4.51)
(x,y)
In [Sch 97] wird gezeigt, dass J (s, t) im L¨ osungspunkt gleich der Nullmatrix ist. Beispiel 4.8. Gesucht sei die L¨osung (s, t) der beiden quadratischen Gleichungen x2 + y 2 + 0.6y x2 − y 2 + x − 1.6y
= =
0.16 0.14
(4.52)
f¨ ur die s > 0 und t > 0 gilt. Im Verfahren von Newton sind somit f (x, y) = x2 + y 2 + 0.6y − 0.16 und g(x, y) = x2 − y 2 + x − 1.6y − 0.14, und die ben¨ otigten ersten partiellen Ableitungen sind fx = 2x,
fy = 2y + 0.6,
F¨ ur die Startn¨ aherungen x (0)
(0)
gx = 2x + 1,
= 0.6, y
(0)
gy = −2y − 1.6.
= 0.25 lautet (4.47)
(0)
1.2 ξ + 1.1 η = −0.4125 2.2 ξ (0) − 2.1 η (0) = −0.3575
(4.53)
0.690081 ξ (1) + 0.906275 η (1) = −0.0743867 1.690081 ξ (1) − 1.906275 η (1) = −0.0556220.
(4.54)
. . mit den resultierenden Korrekturen ξ (0) = −0.254960, η (0) = −0.096862 und den neuen N¨ aherungen (1) . (1) . = 0.345040, y = 0.153138. Das Gleichungssystem f¨ ur die neuen Korrekturen lautet mit x gerundeten Zahlenwerten
202
4 Nichtlineare Gleichungen
Der weitere Rechenablauf der Methode von Newton ist bei zehnstelliger Rechnung in Tab. 4.7 zusammengestellt. Die euklidische Norm des nachtr¨ aglich berechneten Fehlers (k) − nimmt quadratisch gegen null ab (p = 2, K ≈ 1). △ Tab. 4.7 Methode von Newton f¨ ur ein System nichtlinearer Gleichungen. (k)
−
k
x(k)
y (k)
ξ (k)
η (k)
0 1 2 3 4 5
0.6000000000 0.3450404858 0.2775310555 0.2718851108 0.2718445085 0.2718445063
0.2500000000 0.1531376518 0.1224629827 0.1196643843 0.1196433787 0.1196433776
−2.54960 · 10−1 −6.75094 · 10−2 −5.64594 · 10−3 −4.06023 · 10−5 −2.1579 · 10−9
−9.68623 · 10−2 −3.06747 · 10−2 −2.79860 · 10−3 −2.10056 · 10−5 −1.1043 · 10−9
3.531 · 10−1 8.050 · 10−2 6.347 · 10−3 4.572 · 10−5 2.460 · 10−9
(k)
Die Berechnung der Funktionalmatrix Φ(x ) kann in komplizierteren F¨allen aufw¨andig sein, da f¨ ur ein System von n nichtlinearen Gleichungen n2 partielle Ableitungen auszuwerten sind. Aus diesem Grund existieren eine Reihe von vereinfachenden Varianten, die skizziert werden sollen. Das vereinfachte Newton-Verfahren In diesem Verfahren, das dem eindimensionalen Verfahren (4.32) entspricht, wird die Funk(0) ur einen m¨ oglichst guten Startvektor x(0) berechnet, und tionalmatrix Φ(x ) nur einmal f¨ (k) die Korrekturen ξ werden an Stelle von (4.47) aus dem Gleichungssystem Φ(x
(0)
) ξ (k) = −f (k) ,
k = 0, 1, 2, . . . ,
(4.55)
(0)
mit der gleich bleibenden Matrix Φ(x ) bestimmt. Dies verringert den Aufwand auch dadurch, dass bei Anwendung des Gauß-Algorithmus die LR-Zerlegung der Matrix nur einmal erfolgen muss und f¨ ur alle Iterationsschritte nur die Vorw¨arts- und R¨ ucksubstitution auszuf¨ uhren sind. Die vereinfachte Methode (4.55) hat die Konvergenzordnung p = 1, da die Jacobi-Matrix J (s, t) (4.51) nicht die Nullmatrix ist. Eine zum Beweis von Satz 4.8 analoge Analyse zeigt, dass f¨ ur eine gute Startn¨ aherung x(0) die Matrixelemente von J(s, t) betragsm¨ aßig klein sind, so dass wegen einer entsprechend kleinen Lipschitz-Konstante L die Folge x(k) doch relativ rasch konvergiert. Beispiel 4.9. Das Gleichungssystem (4.52) wird mit dem vereinfachten Verfahren von Newton mit den guten N¨ aherungen x(0) = 0.3 und y (0) = 0.1 behandelt. Mit der Funktionalmatrix ! 0.6 0.8 (0) (0) Φ(x , y ) = (4.56) 1.6 −1.8 konvergiert die Folge der N¨ aherungen (k) linear mit einer Konvergenzrate K ≈ 0.06, so dass unfzehnten Teil die euklidische Norm des Fehlers (k) := (k) − in jedem Schritt etwa auf den f¨
203
4.3 Gleichungen in mehreren Unbekannten Tab. 4.8 Vereinfachte Methode von Newton f¨ ur ein System. k
x(k)
y (y)
ξ (k)
η (k)
0 1 2 3 4 5 6 7
0.3000000000 0.2728813559 0.2718958608 0.2718477167 0.2718446841 0.2718445169 0.2718445070 0.2718445064
0.1000000000 0.1203389831 0.1196417355 0.1196446620 0.1196434072 0.1196433808 0.1196433777 0.1196433777
−2.71186 · 10−2 −9.85495 · 10−4 −4.81441 · 10−5 −3.03256 · 10−6 −1.67246 · 10−7 −9.9322 · 10−9 −6.1017 · 10−10
2.03390 · 10−2 −6.97248 · 10−4 2.92648 · 10−6 −1.25483 · 10−6 −2.64407 · 10−8 −3.0508 · 10−9 −4.2373 · 10−11
(k)
3.433 · 10−2 1.249 · 10−3 5.138 · 10−5 3.458 · 10−6 1.802 · 10−7 1.107 · 10−8 7.07 · 10−10
verkleinert wird. Deshalb sind nur sieben Iterationsschritte n¨ otig, um die L¨ osung mit zehnstelliger Genauigkeit zu erhalten. Die Ergebnisse sind in Tab. 4.8 zusammengefasst. Benutzt man im vereinfachten Verfahren von Newton die gleichen Startwerte wie im Beispiel 4.8, so stellt sich eine langsame lineare Konvergenz ein mit einer Konvergenzrate K ≈ 0.45. Es sind 27 Iterationsschritte erforderlich, um die L¨ osung mit zehnstelliger Genauigkeit zu berechnen. △
Einzelschritt- und SOR-Verfahren (k)
Eine andere Variante, in welcher die Berechnung der Funktionalmatrix Φ(x ) teilweise vermieden wird, besteht darin, die L¨ osung eines Systems von n nichtlinearen Gleichungen in n Unbekannten auf die sukzessive L¨ osung von nichtlinearen Gleichungen in einer Unbekannten zur¨ uckzuf¨ uhren. Wir betrachten das System von n Gleichungen fi (x1 , x2 , . . . , xn ) = 0,
i = 1, 2, . . . , n.
(4.57)
Wir setzen voraus, dass sie so angeordnet seien, dass ∂fi (x1 , x2 , . . . , xn ) = 0 f¨ ur i = 1, 2, . . . , n (4.58) ∂xi gilt, was nur bedeutet, dass die i-te Gleichung die i-te Unbekannte xi enth¨alt. (k) (k) (k) Es sei x(k) = (x1 , x2 , . . . , xn )T der k-te N¨ aherungsvektor. In Anlehnung an das Einzelschrittverfahren zur iterativen L¨ osung von linearen Gleichungssystemen (vgl. Abschnitt 11.2) soll die i-te Komponente des (k + 1)-ten N¨aherungsvektors als L¨osung der i-ten Gleichung wie folgt bestimmt werden. (k+1)
fi (x1
(k+1)
(k+1)
, . . . , xi−1 , xi
(k)
, xi+1 , . . . , x(k) n ) = 0,
i = 1, 2, . . . , n.
(4.59)
F¨ ur die ersten (i − 1) Variablen werden in (4.59) die bereits bekannten Komponenten von x(k+1) eingesetzt, f¨ ur die letzten (n − i) Variablen die entsprechenden Komponenten von (k+1) dar, x(k) . F¨ ur jeden Index i stellt somit (4.59) eine Gleichung f¨ ur die Unbekannte xi welche mit dem Verfahren von Newton bestimmt werden kann. Zur Durchf¨ uhrung dieser inneren Iteration werden nur die partiellen Ableitungen ∂fi /∂xi ben¨otigt. Insgesamt sind dies nur die n Diagonalelemente der Funktionalmatrix Φ, aber nat¨ urlich mit wechselnden (k) ur die Iteration dar. Argumenten. Der Wert xi stellt einen geeigneten Startwert f¨
204
4 Nichtlineare Gleichungen
Das nichtlineare Einzelschrittverfahren f¨ ur ein System (4.57) zu gegebenem Startvektor x(0) ist in (4.60) algorithmisch beschrieben. F¨ ur k = 0, 1, 2, . . . : s= 0 f¨ ur i = 1, 2, . . . , n : (k)
ξi = xi (k) (k) (k+1) (k+1) , . . . , xi−1 , ξi , xi+1 , . . . , xn ) ∂fi (x1 t := ∂xi (k+1)
A
∆ξi = fi (x1
(k)
(k+1)
, . . . , xi−1 , ξi , xi+1 , . . . , x(k) n )/t
(4.60)
ξi = ξi − ∆ξi
falls |∆ξi | > tol1 : gehe zu A (k)
(k+1)
s = s + |ξi − xi |; xi
= ξi
falls s < tol2 : STOP
Das nichtlineare Einzelschrittverfahren auf der Basis des Verfahrens von Newton zur L¨osung der i-ten Gleichung (4.59) besitzt mehrere Modifikationsm¨oglichkeiten. So braucht die i-te (k+1) aufgel¨ ost zu werden, da dieser Wert ohnehin nur eine Gleichung nicht exakt nach xi neue N¨ aherung darstellt. Deshalb verzichtet man auf die innere Iteration und f¨ uhrt nur (k+1) einen einzigen Schritt der Newton-Korrektur zur Bestimmung von xi mit Hilfe der i-ten Gleichung aus. So entsteht das Newtonsche Einzelschrittverfahren mit F¨ ur i = 1, 2, . . . , n : (k) (k) (k) (k+1) (k+1) , . . . , xi−1 , xi , xi+1 , . . . , xn ) ∂fi (x1 t := ∂xi (k+1)
xi
(k)
= xi
(k+1)
− fi (x1
(k+1)
(k)
(4.61)
(k)
, . . . , xi−1 , xi , xi+1 , . . . , x(k) n )/t
Die lineare Konvergenz des Newtonschen Einzelschrittverfahrens l¨asst sich in der Regel ¨ dadurch verbessern, dass in Analogie zur Methode der sukzessiven Uberrelaxation (vgl. Ab(k) schnitt 11.2) die Korrektur der i-ten Komponente xi mit einem konstanten, geeignet gew¨ ahlten Relaxationsfaktor ω ∈ (0, 2) multipliziert wird. Das so entstehende SOR-NewtonVerfahren lautet somit F¨ ur i = 1, 2, . . . , n : (k) (k) (k+1) (k+1) , . . . , xi−1 , xi , . . . , xn ) ∂fi (x1 t := ∂xi (k+1)
xi
(k)
= xi
(k+1)
− ωfi (x1
(k+1)
(k)
(4.62) (k)
, . . . , xi−1 , xi , . . . , xn )/t
Das SOR-Newton-Verfahren wird sehr erfolgreich zur L¨osung von großen Systemen von nichtlinearen Gleichungen eingesetzt, welche die Eigenschaft besitzen, dass die i-te Gleichung nur wenige der Unbekannten miteinander verkn¨ upft (schwach gekoppelte Systeme).
4.3 Gleichungen in mehreren Unbekannten
205
Diese Situation tritt bei der numerischen Behandlung von nichtlinearen Randwertaufgaben mit Differenzenmethoden oder mit der Methode der finiten Elemente auf. In diesen wichtigen Spezialf¨ allen existieren Aussagen u unstige Wahl des Relaxationsfaktors ω zur ¨ ber die g¨ Erzielung optimaler Konvergenz [Ort 00]. Powell beschreibt in [Rab 88] eine Methode zur L¨osung eines nichtlinearen Gleichungssystems, die ein typisches Beispiel f¨ ur ein auf Softwarezwecke zugeschnittenes Black-boxVerfahren darstellt. Es werden n¨ amlich wie beim Algorithmus von Brent (vgl. Abschnitt 4.2.4) verschiedene Verfahren so miteinander kombiniert, dass f¨ ur m¨oglichst alle F¨alle Konvergenz gezeigt werden kann. Dabei wird zus¨ atzlich der Aufwand bei den aufw¨andigsten Teilen des Algorithmus minimiert. Wir wollen die Schritte, die zum Entstehen eines solchen Verfahrens f¨ uhren, hier nachzeichnen, verweisen aber zum Nachlesen aller Details – von den mathematischen Beweisen bis zur Genauigkeitssteuerung im Flußdiagramm – auf die beiden Beitr¨ age von Powell in [Rab 88]. Ausgangspunkt ist das Gleichungssystem (4.47) f¨ ur das Newton-Verfahren Φ(x(k) , y (k) ) ξ (k)
=
x(k+1)
=
−f (k)
x(k) + ξ (k) .
Garantierte Konvergenz kann mit dem Newton-Verfahren aber nicht erzielt werden. Eine Modifizierung des Newton-Verfahrens besteht nun darin, dass man zwar in Richtung ξ (k) verbessert, aber die L¨ ange der Verbesserung steuert: x(k+1) = x(k) + λξ (k) .
(4.63)
Die Werte λ := λk werden in jedem Schritt so festgelegt, dass F (x(k+1) ) < F (x(k) )
(4.64)
mit der Funktion F (x) =
n . /2 fi (x(k) ) .
(4.65)
i=1
F ist genau dann gleich null, wenn alle fi gleich null sind, und jedes lokale Minimum von F mit dem Wert null ist auch globales Minimum. Wenn die Jacobi-Matrix J nicht singul¨ar ist, erh¨ alt man mit diesem Verfahren eine monoton fallende Folge von Werten F (x(k) ) mit dem Grenzwert null. Ist aber J in der Nullstelle singul¨ar und besitzt F ein lokales Minimum mit einem Wert ungleich null, dann kann auch dieses Verfahren gegen einen falschen Grenzwert konvergieren; ein Beispiel findet man in [Rab 88]. Ein anderer Ansatz zur Modifikation des Newton-Verfahrens ist der folgende: Die Minimierung der Funktion F (x) wird auf die Aufgabe zur¨ uckgef¨ uhrt, eine Folge von L¨osungen kleinster Quadrate (kurz: lss) der linearen Gleichungssysteme Φ(x(k) , y (k) ) ξ(k) = −f (k) zu bestimmen. Dies wollen wir f¨ ur das Folgende abgek¨ urzt schreiben als Φ ξ = −f . Die lss ist aber L¨ osung des Normalgleichungssystems (vgl. Kapitel 6) ΦT Φ ξ = −ΦT f .
(4.66)
206
4 Nichtlineare Gleichungen
Dieses wird mit einem Parameter µ := µk versehen1 : . / ΦT Φ + µI η = −ΦT f , x
(k+1)
= x
(k)
(4.67)
+ η.
η ist von µ abh¨ angig: η = η(µ), und es gilt η(0) = ξ. L¨aßt man µ → ∞ wachsen, so gilt µ η → −ΦT f ,
(4.68)
d.h. das Verfahren wird zur klassischen Methode des steilsten Abstiegs mit einem gegen null ¨ gehenden L¨ angenfaktor 1/µ. Mit Hilfe dieser Uberlegungen kann nun gezeigt werden, dass man immer einen Wert µ bestimmen kann mit F (x(k+1) ) < F (x(k) ) .
(4.69)
Das Verfahren kann nur versagen, wenn die Vektorfunktion f keine beschr¨ankten ersten Ableitungen besitzt, oder in Extremf¨ allen durch den Einfluß von Rundungsfehlern. F¨ ur die Implementierung in einem Softwaresystem m¨ ussen ohnehin in ein Verfahren Abfragen ¨ (z.B. gegen unendliche Schleifen oder ein Ubermaß an Funktionsauswertungen) eingebaut werden, die den Algorithmus in gewissen Extremf¨allen abbrechen lassen, obwohl theoretisch Konvergenz vorliegt. Hier sollte f¨ ur den Fall, dass die Funktionswerte F (x(k) ) wesentlich gr¨ oßer sind als die Werte der Ableitungen von F , eine Abfrage mit einer Konstanten M vorgesehen werden: F (x(k) )
>
mit (k) gj
:=
M g (k)
∂ F (x) . ∂xj x=x(k)
(4.70)
Wird bei gen¨ ugend großem M diese Abfrage bejaht, so ist die Wahrscheinlichkeit groß, dass das Verfahren nicht gegen eine Nullstelle von f , sondern gegen ein lokales Minimum von F konvergiert. Bei der Konstruktion von Verfahren zur L¨osung nichtlinearer Gleichungssysteme muß man auch an den Fall denken, dass es gar keine L¨osung gibt. Auch f¨ ur diesen Fall sind eine solche Abfrage und das Festsetzen einer Maximalzahl von Funktionsauswertungen wichtig. Der vollst¨ andige Algorithmus von Powell enth¨ alt noch weitere Anteile wie z.B. die Unterscheidung zwischen funktionaler und diskretisierter Jacobi-Matrix. Auf ihre Darstellung wollen wir ebenso verzichten wie auf ein Beispiel. Es m¨ usste sehr schlecht konditioniert sein, um den Unterschied zum normalen oder vereinfachten Newton-Verfahren zu verdeutlichen, so wie etwa das ‘Trog-Beispiel’, das in Abschnitt 4.4.2 von [K¨oc 94] zu finden ist. 1 Diese
Idee verwendet man auch bei Regularisierungsmethoden f¨ ur inkorrekt gestellte Probleme oder bei der L¨ osung schlecht konditionierter Gleichungssysteme. Marquardt wendet eine fast identische Idee bei der Entwicklung einer effizienten Methode zur L¨ osung nichtlinearer Ausgleichsprobleme an, siehe Abschnitt 6.4.2.
207
4.4 Nullstellen von Polynomen
4.4
Nullstellen von Polynomen
4.4.1
Reelle Nullstellen: Das Verfahren von Newton-Maehly
Zur Berechnung der Nullstellen eines Polynoms n-ten Grades Pn (x) = a0 xn + a1 xn−1 + a2 xn−2 + . . . + an−1 x + an ,
a0 = 0
(4.71)
stellt die Methode von Newton ein zweckm¨ aßiges, effizientes und einfach zu programmierendes Verfahren dar. Wir betrachten haupts¨ achlich den Fall von Polynomen mit reellen ¨ bleiben ohne Einschr¨ankung auch f¨ ur PolynoKoeffizienten aj . Die meisten Uberlegungen me mit komplexen Koeffizienten g¨ ultig. Als Grundlage f¨ ur die Anwendung der Methode von Newton wenden wir uns der Aufgabe zu, den Wert des Polynoms Pn (x) und denjenigen seiner ersten Ableitung f¨ ur einen gegebenen Wert des Argumentes x effizient und auf einfache Art zu berechnen. Der zu entwickelnde Algorithmus beruht auf der Division mit Rest eines Polynoms durch einen linearen Faktor Pn (x) = (x − p)Pn−1 (x) + R,
p gegeben.
(4.72)
Das Quotientenpolynom Pn−1 (x) habe die Darstellung Pn−1 (x) = b0 xn−1 + b1 xn−2 + b2 xn−3 + . . . + bn−2 x + bn−1 ,
(4.73)
und der Rest wird aus bald ersichtlichen Gr¨ unden R = bn gesetzt. Dann folgt aus (4.72) a0 xn + a1 xn−1 + a2 xn−2 + . . . + an−2 x2 + an−1 x + an = (x − p)(b0 xn−1 + b1 xn−2 + b2 xn−3 + . . . + bn−2 x + bn−1 ) + bn
durch Koeffizientenvergleich
a0 = b0 , a1 = b1 − pb0 , . . . , an−1 = bn−1 − pbn−2 , an = bn − pbn−1 .
Daraus resultiert der folgende Algorithmus zur rekursiven Berechnung der Koeffizienten bj b0 = a0 ; bj = aj + pbj−1 , j = 1, 2, . . . , n; R = bn .
(4.74)
Die praktische Bedeutung des Divisionsalgorithmus (4.74) wird deutlich durch ur x = p ist gleich dem Rest R bei der Lemma 4.9. Der Wert des Polynoms Pn (x) f¨ Division von Pn (x) durch (x − p). Beweis. Setzen wir in (4.72) x = p ein, so folgt in der Tat Pn (p) = R. Der einfach durchf¨ uhrbare Algorithmus (4.74) liefert somit den Wert des Polynoms Pn (x) f¨ ur einen gegebenen Wert x mit einem Rechenaufwand von je n Multiplikationen und Additionen. Um auch f¨ ur die Berechnung der ersten Ableitung eine ¨ahnliche Rechenvorschrift zu erhalten, differenzieren wir (4.72) nach x und erhalten die Beziehung ′ (x). Pn′ (x) = Pn−1 (x) + (x − p)Pn−1
(4.75)
F¨ ur x = p folgt daraus
Pn′ (p) = Pn−1 (p).
(4.76)
208
4 Nichtlineare Gleichungen
Der Wert der ersten Ableitung von Pn (x) f¨ ur einen bestimmten Argumentwert x = p ist gleich dem Wert des Quotientenpolynoms Pn−1 (x) f¨ ur x = p. Nach Satz 4.9 kann sein Wert mit Hilfe des Divisionsalgorithmus berechnet werden. Setzen wir Pn−1 (x) Pn−2 (x)
= (x − p)Pn−2 (x) + R1 n−2
= c0 x
n−3
+ c1 x
und
+ . . . + cn−3 x + cn−2 ,
cn−1 = R1 ,
dann sind die Koeffizienten cj rekursiv gegeben durch c0 = b0 ; cj = bj + pcj−1 , j = 1, 2, . . . , n − 1; R1 = cn−1 .
(4.77)
Die erste Ableitung Pn′ (p) ist wegen (4.76) und (4.77) mit weiteren (n − 1) Multiplikationen berechenbar. Obwohl im Zusammenhang mit der Methode von Newton die h¨oheren Ableitungen nicht ben¨ otigt werden, sei doch darauf hingewiesen, dass sie durch die analoge Fortsetzung des Divisionsalgorithmus berechnet werden k¨ onnen. Die im Divisionsalgorithmus anfallenden Gr¨ oßen werden zweckm¨aßigerweise im HornerSchema zusammengestellt, das sich insbesondere f¨ ur die Handrechnung gut eignet. Das Horner-Schema ist in (4.78) im Fall n = 6 f¨ ur die ersten beiden Divisionsschritte mit erg¨ anzenden Erkl¨ arungen wiedergegeben. P6 (x) :
a0 p:
P5 (x) :
b0 p:
P4 (x) :
c0
a1
a2
a3
a4
a5
a6
pb0
pb1
pb2
pb3
pb4
pb5
b1
b2
b3
b4
b5
pc0
pc1
pc2
pc3
pc4
c1
c2
c3
c4
b6 = P6 (p)
(4.78)
c5 = P6′ (p)
Jede weitere Zeile verk¨ urzt sich um einen Wert entsprechend der Abnahme des Grades des Quotientenpolynoms. Ist man nur am Wert eines Polynoms n-ten Grades (n > 2) und seiner ersten Ableitung f¨ ur gegebenes p interessiert, kann dies in einem Rechner ohne indizierte Variablen b und c realisiert werden. Es gen¨ ugt dazu die Feststellung, dass der Wert von bj−1 nicht mehr ben¨otigt wird, sobald zuerst cj−1 und dann bj berechnet sind. Der entsprechende Algorithmus lautet deshalb b = a0 ; c = b; b = a1 + p · b f¨ ur j = 2, 3, . . . , n : c = b + p · c; b = aj + p · b Pn (p) = b; Pn′ (p) = c Beispiel 4.10. F¨ur das Polynom f¨unften Grades P5 (x) = x5 − 5x3 + 4x + 1
(4.79)
209
4.4 Nullstellen von Polynomen
soll eine Nullstelle berechnet werden, f¨ ur welche die N¨ aherung x(0) = 2 bekannt ist. Das HornerSchema lautet 1
0 2
−5 4
0 −2
4 −4
1
2
−1
−2
0
14
24
7
12
24 = P5′ (2)
2:
2:
2 1
8
4
1 0 1 = P5 (2)
1 . = 1.95833. Das 24 lautet bei Rechnung mit sechs wesentlichen Dezimalstellen
Mit diesen Werten erh¨ alt man mit dem Verfahren von Newton x(1) = 2 −
n¨ achste Horner-Schema f¨ ur x(1) 1 1.95833 : 1 1.95833 : 1
0 1.95833 1.95833 1.95833 3.91666
−5 3.83506 −1.16494 7.67011 6.50517
0 −2.28134 −2.28134 12.7393 10.4580
4 −4.46762 −0.467620 20.4802 20.0126
1 −0.915754 0.084246
. . Daraus ergibt sich der zweite N¨ aherungswert x(2) = 1.95833 − 0.00420965 = 1.95412. Ein weiterer (3) . = 1.95408, und dies ist der auf sechs Stellen gerundete Wert einer Iterationsschritt ergibt x ersten Nullstelle. △
F¨ ur eine Nullstelle z1 des Polynoms Pn (x) ist (x − z1 ) ein Teiler von Pn (x), so dass diese Nullstelle abgespalten werden kann. Division von Pn (x) durch den Linearfaktor (x − z1 ) liefert das Quotientenpolynom Pn−1 (x), dessen Nullstellen die restlichen Nullstellen von Pn (x) sind. Die Koeffizienten von Pn−1 (x) berechnen sich nach dem Divisionsalgorithmus (4.74), wobei der resultierende Rest R verschwinden muss und somit als Rechenkontrolle dienen kann. Man f¨ ahrt mit Pn−1 (x) analog weiter, dividiert einen weiteren Linearfaktor (x − z2 ) ab und reduziert auf diese Weise sukzessive den Grad des Polynoms, f¨ ur welches eine n¨ achste Nullstelle zu berechnen ist. Diese Vorgehensweise nennt man Deflation von Nullstellen. Die sukzessive Deflation von Nullstellen kann sich auf die nachfolgend zu bestimmenden Nullstellen der Polynome von kleinerem Grad aus zwei Gr¨ unden ung¨ unstig auswirken. Einerseits ist die berechnete Nullstelle im allgemeinen nur eine N¨aherung der exakten Nullstelle, und andererseits entstehen bei der Berechnung der Koeffizienten bj von Pn−1 (x) unvermeidliche Rundungsfehler. Deshalb berechnet man eine Nullstelle z2∗ eines gef¨alsch∗ ¨ (x), die bei entsprechender Empfindlichkeit auf kleine Anderungen in ten Polynoms Pn−1 den Koeffizienten eine große Abweichung gegen¨ uber der exakten Nullstelle z2 von Pn (x) aufweisen kann. Um die erw¨ ahnten Schwierigkeiten zu vermeiden, existiert nach einer Idee von Maehly [Mae 54] eine einfache Modifikation des Verfahrens von Newton. Die bekannten Nullstellen von Pn (x) werden implizit abgespalten, so dass mit den unver¨anderten Koeffizienten von Pn (x) gearbeitet werden kann. Wir bezeichnen mit z1 , z2 , . . . , zn die Nullstellen von Pn (x).
210
4 Nichtlineare Gleichungen
Dann gelten Pn (x)
=
n
aj xn−j = a0
j=1
j=0
Pn′ (x)
= a0
n
(x − zj ),
(4.80)
n
n n (x − zj ), i=1
a0 = 0,
Pn′ (x) 1 . = Pn (x) x − zi i=1
j=1
j =i
(4.81)
Die Korrektur eines N¨ aherungswertes x(k) im Verfahren von Newton ist gegeben durch den Kehrwert der formalen Partialbruchzerlegung (4.81) des Quotienten Pn′ (x(k) )/Pn (x(k) ). Nun nehmen wir an, es seien bereits die m Nullstellen z1 , z2 , . . . , zm , (1 ≤ m < n) berechnet worden, so dass nach ihrer Deflation das Polynom 5m n (x − zi ) = a0 Pn−m (x) := Pn (x) (x − zj ) (4.82) i=1
j=m+1
im Prinzip f¨ ur die Bestimmung der n¨ achsten Nullstelle zu verwenden ist. F¨ ur Pn−m (x) gilt wegen (4.81) n m ′ Pn−m (x) 1 P ′ (x) 1 = − = n , (4.83) Pn−m (x) j=m+1 x − zj Pn (x) i=1 x − zi und folglich lautet die modifizierte Rechenvorschrift des Verfahrens von Newton mit impliziter Deflation der bereits berechneten Nullstellen z1 , z2 , . . . , zm x(k+1) = x(k) −
Pn′ (x(k) ) Pn (x(k) )
−
1 m i=1
1 (k) (x − zi )
,
k = 0, 1, 2, . . . .
(4.84)
Der Rechenaufwand f¨ ur einen Iterationsschritt (4.84) betr¨agt f¨ ur die (m + 1)-te Nullstelle ZN = 2n + m + 1 multiplikative Operationen. Er nimmt mit jeder berechneten Nullstelle zu. Tab. 4.9 Methode von Newton mit impliziter Deflation. k
x(k)
P5 (x(k) )
P5′ (x(k) )
(x(k) − z1 )−1
∆x(k) := x(k+1) − x(k)
0 1 2 3 4 5
2.00000 1.55016 1.28411 1.17220 1.15164 . 1.15098 = z2
1.00000 −2.47327 −0.95915 −0.15139 −0.00466
24.000 −3.17298 −7.13907 −7.17069 −7.09910
21.7770 −2.47574 −1.49260 −1.27897 −1.24620
−4.49843 · 10−1 −2.66053 · 10−1 −1.11910 · 10−1 −2.05572 · 10−2 −6.55884 · 10−4
Beispiel 4.11. F¨ur das Polynom von Beispiel 4.10 und der n¨aherungsweise bekannten Nullstelle z1 = 1.95408 wird mit der Technik der impliziten Deflation eine zweite Nullstelle bestimmt. Bei sechsstelliger Rechnung erhalten wir Werte, die in Tab. 4.9 wiedergegeben sind. Es wurde absichtlich
211
4.4 Nullstellen von Polynomen
die gleiche Startn¨ aherung x(0) = 2 wie im Beispiel 4.10 gew¨ ahlt, um zu illustrieren, dass die Folge achlich gegen eine andere Nullstelle z2 konvergiert. △ der iterierten Werte x(k) tats¨
4.4.2
Komplexe Nullstellen: Das Verfahren von Bairstow
¨ Das Verfahren von Newton zur Berechnung der Nullstellen von Polynomen ist ohne Anderung auch dann durchf¨ uhrbar, wenn entweder die Koeffizienten des Polynoms komplex sind oder bei reellen Koeffizienten paarweise konjugiert komplexe Nullstellen auftreten. Die Rechenschritte sind mit komplexen Zahlen und Operationen durchzuf¨ uhren, wobei im zweiten genannten Fall der Startwert komplex zu w¨ ahlen ist, da andernfalls die Folge der Iterierten x(k) reell bleibt. Das Rechnen mit komplexen Zahlen kann aber im Fall von Polynomen Pn (x) mit reellen Koeffizienten vollst¨ andig vermieden werden. Ist n¨amlich z1 = u + iv, v = 0, eine komplexe Nullstelle von Pn (x), dann ist bekanntlich auch der dazu konjugiert komplexe Wert z2 = u − iv Nullstelle von Pn (x). Somit ist das Produkt der zugeh¨origen Linearfaktoren (x − z1 )(x − z2 ) = (x − u − iv)(x − u + iv) = x2 − 2ux + (u2 + v 2 )
(4.85)
ein quadratischer Teiler von Pn (x), dessen Koeffizienten nach (4.85) reell sind. Auf Grund dieser Feststellung formulieren wir als neue Zielsetzung die Bestimmung eines quadratischen Teilers mit reellen Koeffizienten von Pn (x). Ist ein solcher quadratischer Teiler gefunden, folgen daraus entweder ein Paar von konjugiert komplexen Nullstellen oder zwei reelle Nullstellen des Polynoms Pn (x). Die u ¨ brigen (n − 2) Nullstellen werden anschließend als Nullstellen des Quotientenpolynoms Pn−2 (x) ermittelt. Als Vorbereitung ist der Divisionsalgorithmus mit Rest f¨ ur einen quadratischen Faktor zu formulieren. Das gegebene Polynom sei wieder Pn (x) = a0 xn + a1 xn−1 + . . . + an−2 x2 + an−1 x + an ,
aj ∈ Ê,
a0 = 0.
Den quadratischen Faktor setzen wir wie folgt fest x2 − px − q,
p, q ∈ Ê.
(4.86)
Gesucht sind die Koeffizienten des Quotientenpolynoms Pn−2 (x) = b0 xn−2 + b1 xn−3 + . . . + bn−4 x2 + bn−3 x + bn−2 ,
(4.87)
so dass gilt Pn (x) = (x2 − px − q)Pn−2 (x) + bn−1 (x − p) + bn .
(4.88)
Das lineare Restpolynom R1 (x) = bn−1 (x−p)+bn in (4.88) wird in dieser unkonventionellen Form angesetzt, damit die resultierende Rechenvorschrift zur Berechnung der Koeffizienten bj systematisch f¨ ur alle Indizes gilt. Der Koeffizientenvergleich liefert die Beziehungen a0 = b 0 xn : xn−1 : a1 = b1 − pb0 xn−j : aj = bj − pbj−1 − qbj−2 ,
j = 2, 3, . . . , n.
Die gesuchten Koeffizienten von Pn−2 (x) und des Restes R1 (x) lassen sich somit rekursiv
212
4 Nichtlineare Gleichungen
berechnen mit dem einfachen Divisionsalgorithmus b 0 = a0 ; b1 = a1 + pb0 bj = aj + pbj−1 + qbj−2 , j = 2, 3, . . . , n.
(4.89)
Ein Faktor x2 − px − q ist genau dann Teiler von Pn (x), falls der Rest R1 (x) identisch verschwindet, d.h. falls in (4.88) die beiden Koeffizienten bn−1 = bn = 0 sind. Zu gegebenen Werten p und q sind sowohl die Koeffizienten von Pn−2 (x) als auch die Koeffizienten des onnen somit als Funktionen der beiden Variablen Restes R1 (x) eindeutig bestimmt. Sie k¨ p und q aufgefasst werden. Die oben formulierte Aufgabe, einen quadratischen Teiler von Pn (x) zu bestimmen, ist deshalb ¨ aquivalent damit, das nichtlineare Gleichungssystem bn−1 (p, q) = 0,
bn (p, q) = 0
(4.90)
nach den Unbekannten p und q zu l¨ osen. Die Funktionen bn−1 (p, q) und bn (p, q) sind durch den Algorithmus (4.89) definiert. Entsprechend unserer Zielsetzung interessieren allein die reellen L¨ osungen von (4.90), und diese sollen mit der Methode von Newton iterativ berechnet werden. Dazu werden die partiellen Ableitungen der beiden Funktionen bn−1 (p, q) otigt. Diese k¨ onnen mit Hilfe einer einzigen Rekursionsformel und bn (p, q) nach p und q ben¨ berechnet werden, die zu (4.89) analog gebaut ist. Aus (4.89) folgt ∂bj−2 ∂bj−1 ∂bj = bj−1 + p +q , j = 2, 3, . . . n, (4.91) ∂p ∂p ∂p und zus¨ atzlich ∂b0 ∂b1 = 0, = b0 . (4.92) ∂p ∂p Die Struktur von (4.91) legt es nahe, die Hilfsgr¨oßen cj−1 :=
∂bj , ∂p
j = 1, 2, . . . , n,
(4.93)
zu definieren. Denn so wird (4.91) unter Ber¨ ucksichtigung von (4.92) zur Rechenvorschrift c0 = b 0 ; c1 = b1 + pc0 cj = bj + pcj−1 + qcj−2 , j = 2, 3, . . . , n − 1. Partielle Differenziationen von (4.89) nach q gibt die Identit¨at ∂bj ∂bj−2 ∂bj−1 = bj−2 + p +q , j = 2, 3, . . . , n, ∂q ∂q ∂q wobei jetzt zu beachten ist, dass zus¨ atzlich ∂b0 ∂b1 ∂b2 ∂b3 ∂b2 = 0, = 0, = b0 , = b1 + p ∂q ∂q ∂q ∂q ∂q gelten. Damit wird offensichtlich, dass mit der Identifikation ∂bj = cj−2 , ∂q
j = 2, 3, . . . , n,
(4.94)
(4.95)
(4.96)
213
4.4 Nullstellen von Polynomen
diese partiellen Ableitungen dieselbe Rekursionsformel (4.94) erf¨ ullen; damit gilt ∂bj+1 ∂bj = = cj−1 , j = 1, 2, . . . , n − 1. ∂p ∂q Im Speziellen erhalten wir nach (4.93) und (4.96) f¨ ur die im Verfahren von Newton wichtigen Ableitungen ∂bn−1 = cn−2 ; ∂p
∂bn−1 = cn−3 ; ∂q
∂bn = cn−1 ; ∂p
∂bn = cn−2 . ∂q
(4.97)
Damit sind alle Elemente bereitgestellt, die f¨ ur einen Iterationsschritt zur L¨osung des Systems (4.90) n¨ otig sind. Durch (4.97) sind die vier Matrixelemente der Funktionalmatrix Φ gegeben. Aus der allgemeinen Rechenvorschrift (4.50) erhalten wir durch entsprechende Substitution bn cn−3 − bn−1 cn−2 , c2n−2 − cn−1 cn−3 bn−1 cn−1 − bn cn−2 = q (k) + 2 . cn−2 − cn−1 cn−3
p(k+1) = p(k) + q (k+1)
(4.98)
In (4.98) sind die auftretenden b- und c-Werte f¨ ur p(k) und q (k) zu berechnen. Der Nenner 2 cn−2 − cn−1 cn−3 ist gleich der Determinante der Funktionalmatrix Φ. Ist die Determinante gleich null, so ist (4.98) nicht anwendbar. In diesem Fall sind die N¨aherungen p(k) und q (k) beispielsweise durch Addition von Zufallszahlen zu a¨ndern. Weiter ist es m¨oglich, dass die Determinante zwar nicht verschwindet, aber betragsm¨aßig klein ist. Das hat zur Folge, dass dem Betrag nach sehr große Werte p(k+1) und q (k+1) entstehen k¨onnen, welche unm¨oglich brauchbare N¨ aherungen f¨ ur die Koeffizienten eines quadratischen Teilers des Polynoms darstellen k¨ onnen. Denn es ist zu beachten, dass die Betr¨age der Nullstellen eines Polynoms ankt sind beispielsweise durch Pn (x) (4.71) beschr¨ ! a1 a2 an−1 an . (4.99) |zi | ≤ R := max , 1 + , 1 + , . . . , 1 + a0 a0 a0 a0
Die Schranke (4.99) l¨ asst sich mit der so genannten Begleitmatrix, [Zur 65], deren charakteristisches Polynom a−1 alt in der letzten Spalte im 0 Pn (x) ist, herleiten. Diese Matrix enth¨ Wesentlichen die Koeffizienten von a−1 0 Pn (x), in der Subdiagonalen Elemente gleich Eins und sonst lauter Nullen. Die Zeilensummennorm dieser Matrix stellt eine obere Schranke f¨ ur die Betr¨ age der Eigenwerte und somit f¨ ur die Nullstellen von Pn (x) dar. Nach (4.85) und (4.86) ist insbesondere q = −(u2 + v 2 ) = −|z1 |2 im Fall eines konjugiert komplexen Nullstellenpaares oder aber es ist |q| = |z1 | · |z2 | f¨ ur zwei reelle Nullstellen. Deshalb ist es angezeigt zu pr¨ ufen, ob |q (k+1) | ≤ R2 gilt. Andernfalls muss f¨ ur p(k+1) und q (k+1) eine entsprechende Reduktion vorgenommen werden. Die Methode von Bairstow zur Bestimmung eines quadratischen Teilers x2 − px − q eines Polynoms Pn (x) mit reellen Koeffizienten vom Grad n > 2 besteht zusammengefasst aus den folgenden Teilschritten einer einzelnen Iteration: 1. Zu gegebenen N¨ aherungen p(k) und q (k) berechne man die Werte bj nach (4.89) und die Werte cj nach (4.94).
214
4 Nichtlineare Gleichungen
2. Falls die Determinante der Funktionalmatrix Φ von null verschieden ist, k¨onnen die iterierten Werte p(k+1) und q (k+1) gem¨ aß (4.98) bestimmt werden. 3. Die Iteration soll abgebrochen werden, sobald die Werte bn−1 und bn dem Betrag nach in Relation zu den an−1 und an , aus denen sie gem¨aß (4.89) entstehen, gen¨ ugend klein sind. Wir verwenden deshalb die Bedingung |bn−1 | + |bn | ≤ ε(|an−1 | + |an |). (4.100) Darin ist ε > 0 eine Toleranz, die gr¨ oßer als die Maschinengenauigkeit τ ist. 4. Es sind die beiden Nullstellen z1 und z2 des gefundenen quadratischen Teilers zu bestimmen. Erst an dieser Stelle tritt im Fall eines konjugiert komplexen Nullstellenpaares eine komplexe Zahl auf. 5. Die Deflation der beiden Nullstellen erfolgt durch Division von Pn (x) durch den zuletzt erhaltenen Teiler. Die Koeffizienten des Quotientenpolynoms sind durch (4.89) gegeben. Das Verfahren von Bairstow besitzt die Konvergenzordnung p = 2, denn das zu l¨osende System von nichtlinearen Gleichungen (4.90) wird mit der Methode von Newton behandelt. Die im Verfahren zu berechnenden Gr¨ oßen des Divisionsalgorithmus werden zweckm¨aßigerweise in einem doppelzeiligen Horner-Schema zusammengestellt, welches sich f¨ ur eine u ¨bersichtliche Handrechnung gut eignet. Im Fall n = 6 ist das Schema in (4.101) angegeben. a0 q) p)
a1
a2 qb0 pb1
a3 qb1 pb2
a4 qb2 pb3
a5 qb3 pb4
a6 qb4 pb5
b3 qc1 pc2
b4 qc2 pc3
b5 qc3 pc4
b6
pc0
b2 qc0 pc1
c1
c2
c3
c4
c5
pb0 b0
q) p) c0
b1
(4.101)
Beispiel 4.12. F¨ur das Polynom f¨unften Grades P5 (x) = x5 − 2x4 + 3x3 − 12x2 + 18x − 12
lautet das doppelzeilige Horner-Schema (4.101) f¨ ur die Startwerte p(0) = −2, q (0) = −5 −5) −2) −5) −2)
1
−2
1
−2 −4
1
−2 −6
3 −5 8 6 −5 12 13
−12 20 −12 −4 30 −26 0
18 −30 8 −4 −65 0 −69
−12 20 8 16
Der Verlauf des Verfahrens von Bairstow ist bei Rechnung mit acht wesentlichen Dezimalstellen in Tab. 4.10 dargestellt. Der quadratische Teiler x2 + 1.7320508x + 4.7320507 ergibt das konjugiert komplexe Nullstellenpaar z1,2 = −0.86602540 ± 1.9955076i. Mit dem Quotientenpolynom P3 (x) = x3 − 3.7320508x2 + 4.7320509x − 2.5358990 kann mit der Methode von Bairstow ein weiterer quadratischer Teiler x2 − 1.7320506x + 1.2679494 ermittelt werden mit dem zweiten konjugiert unfte Nullstelle ist z5 = 2. △ komplexen Nullstellenpaar z3,4 = 0.86602530 ± 0.71968714i. Die f¨
215
4.5 Software Tab. 4.10 Methode von Bairstow. k
0
1
2
−1.7681159 −4.6923077
−1.7307716 −4.7281528
−1.7320524 −4.7320527
−1.7320508 −4.7320508
0.0457260 −0.0455520
−0.000029 0.000077
−1.0 · 10−6 0.0
9.4641203 6.9281770 −56.784711
9.4641012 6.9282040 −56.784610
p(k) q (k)
−2 −5
b4 b5
−4 16
c2 c3 c4
13 0 −69
10.066549 5.0722220 −56.032203
9.4534922 6.9160820 −56.621988
∆p(k) ∆q (k)
0.232 0.308
0.037344 −0.035845
−0.0012808 −0.0038999
4.5
0.17141800 2.2742990
3
1.5880 · 10−6 1.9017 · 10−6
4
1.1835 · 10−8 9.6999 · 10−8
Software
Die Nag-Bibliotheken enthalten im Kapitel C02 Routinen zur Bestimmung s¨amtlicher Nullstellen eines Polynoms und im Kapitel C05 zur L¨osung nichtlinearer Gleichungen. Kann der Benutzer bei einer einzelnen Gleichung ein Intervall mit Vorzeichenwechsel angeben, so findet er Routinen mit garantierter Konvergenz gegen eine einzelne Nullstelle. Die anderen Routinen k¨ onnen auch versagen bzw. verlangen dem Benutzer etwas Experimentierfreude ab. F¨ ur Systeme von nichtlinearen Gleichungen gibt es Routinen, welche die Jacobi-Matrix verwenden, und solche, die die Ableitungen nur angen¨ahert berechnen. Wann immer es geht, sollte man erstere benutzen, weil sie zuverl¨assiger Nullstellen finden k¨onnen. Da ein nichtlineares Gleichungssystem als Spezialfall eines Problems kleinster Quadrate betrachtet werden kann, kommen auch die Routinen des entsprechenden Kapitels E04 in Betracht. Die zuletzt genannte M¨ oglichkeit muss in Matlab gew¨ahlt werden zur L¨osung eines Systems von nichtlinearen Gleichungen. F¨ ur eine einzelne Gleichung gibt es einen einfachen Befehl. Das Ergebnis der Nullstellensuche h¨ angt vom Startwert oder -intervall ab, welches der Benutzers eingibt. Unsere Probleml¨ oseumgebung Pan (http://www.upb.de/SchwarzKoeckler/) verf¨ ugt u ¨ ber zwei Programme zur L¨ osung einer nichtlinearer Gleichung und eines nichtlinearen Gleichungssystems.
4.6
Aufgaben
4.1. Eine Fixpunktiteration x(n+1) = F (x(n) ) ist definiert durch F (x) = 1 +
1 + x
„ «2 1 . x
a) Man verifiziere, dass F (x) f¨ ur das Intervall [1.75, 2.0] die Voraussetzungen des Fixpunktsatzes von Banach erf¨ ullt. Wie groß ist die Lipschitz-Konstante L?
216
4 Nichtlineare Gleichungen
b) Mit x(0) = 1.825 bestimme man die Iterierten bis x(20) . Welche a priori und a posteriori Fehlerschranken ergeben sich? Wie groß ist die Anzahl der erforderlichen Iterationsschritte zur Gewinnung einer weiteren richtigen Dezimalstelle? 4.2. Die nichtlineare Gleichung 2x−sin(x) = 0.5 kann in die Fixpunktform x = 0.5 sin(x)+0.25 =: F (x) u uhrt werden. Man bestimme ein Intervall, f¨ ur welches F (x) die Voraussetzungen des ¨ bergef¨ Fixpunktsatzes von Banach erf¨ ullt. Zur Bestimmung des Fixpunktes s verfahre man wie in Aufgabe 4.1. 4.3. Man berechne die positive Nullstelle von f (x) = e2x − sin(x) − 2
a) b) c) d)
mit der Sekantenmethode, x(0) = 0.25, x(1) = 0.35; mit der Methode von Newton, x(0) = 0.25; mit der vereinfachten Methode von Newton, x(0) = 0.25; mit der Methode von Brent, x(0) = 0, x(1) = 1, x(2) = 0.5.
4.4. Wie in Aufgabe 4.3 bestimme man die kleinsten positiven L¨ osungen der Gleichungen a) tan(x) − tanh(x) = 0; b) tan(x) − x − 4x3 = 0; c) (1 + x2 ) tan(x) − x(1 − x2 ) = 0. 4.5. Zur Bestimmung einer L¨ osung der Gleichung f (x) = 0 kann die Iterationsvorschrift x(k+1) = x(k) −
f (x(k) )f ′ (x(k) ) , − 0.5f (x(k) )f ′′ (x(k) )
f ′ (x(k) )2
k = 0, 1, 2, . . .
verwendet werden unter der Voraussetzung, dass f (x) mindestens zweimal stetig differenzierbar ist. Man zeige, dass die Konvergenzordnung (mindestens) p = 3 ist. Wie lauten die daraus resultie√ √ 3 renden Iterationsformeln zur Berechnung von a als L¨ osung von f (x) = x2 − a = 0 und von √ a √ 3 zur L¨ osung von f (x) = x − a = 0? Man berechne mit diesen Iterationsvorschriften 2 und 3 2 mit den Startwerten x(0) = 1. 4.6. Das lineare Gleichungssystem 8x1 x1 2x1
+ + +
x2 18x2 x2
− − +
2x3 6x3 16x3
− + +
8 10 2
= = =
0 0 0
mit diagonal dominanter Matrix kann in folgende Fixpunktform u uhrt werden: ¨ bergef¨ x1 x2 x3
= = =
0.2x1 −0.05x1 −0.1x1
− + −
0.1x2 0.1x2 0.05x2
+ + +
0.2x3 0.3x3 0.2x3
+ − −
0.8 0.5 0.1
Man verifiziere, dass die beiden Systeme ¨ aquivalent sind. Dann zeige man, dass die so definierte Abbildung in ganz Ê3 kontrahierend ist und bestimme die Lipschitz-Konstante L und den Spektralradius der Jacobi-Matrix. Mit dem Startwert Ü(0) = (1, −0.5, −0.3)T f¨ uhre man (mindestens) zehn Iterationsschritte durch und gebe die a priori und a posteriori Fehlerschranken an. An der Folge der iterierten Vektoren verifiziere man die Konvergenzrate. 4.7. Das nichtlineare Gleichungssystem exy x2
+ +
x2 y2
+ +
y x
− −
1.2 0.55
= =
0 0
217
4.6 Aufgaben
ist zu l¨ osen. Mit den Startwerten x(0) = 0.6, y (0) = 0.5 wende man die Methode von Newton ose man das Gleichungssystem mit Hilfe an. F¨ ur die besseren Startwerte x(0) = 0.4, y (0) = 0.25 l¨ des vereinfachten Newton-Verfahrens. Wie groß ist die Konvergenzrate der linear konvergenten Iterationsfolge auf Grund des Spektralradius der zugeh¨ origen Jacobi-Matrix? 4.8. Zur L¨ osung des nichtlinearen Gleichungssystems 4.72 sin(2x) 3.61 cos(3x)
− +
3.14ey sin(y)
− −
0.495 0.402
= =
0 0
verwende man mit den Startwerten x(0) = 1.5, y (0) = −4.7 das Verfahren von Newton, das vereinfachte Verfahren von Newton, das Newtonsche Einzelschrittverfahren und das SOR-NewtonVerfahren f¨ ur verschiedene Werte von ω. 4.9. Die Nullstellen der Polynome P5 (x) = x5 − 2x4 − 13x3 + 14x2 + 24x − 1, P8 (x) = x8 − x7 − 50x6 + 62x5 + 650x4 − 528x3 − 2760x2 + 470x + 2185
sollen mit der Methode von Newton-Maehly bestimmt werden.
4.10. Mit der Methode von Bairstow berechne man die (komplexen) Nullstellen der Polynome P6 (x) = 3x6 + 9x5 + 9x4 + 5x3 + 3x2 + 8x + 5, P8 (x) = 3x8 + 2x7 + 6x6 + 4x5 + 7x4 + 3x3 + 5x2 + x + 8. 4.11. Effektiver Jahreszins: Gegeben sei folgender Kreditvertrag: Am Anfang erhalte der Kunde K . Nach einem, zwei, . . . , n Jahren muss der Kunde eine gleich bleibende Rate von R zahlen, welche sich aus der Tilgung und den Zinsen zusammensetzt: R = Tilgung + Zinsen = K/n + Kq/100; der Nominalzinssatz des Kreditvertrages ist also q (Prozent). Gesucht ist nun der effektive Jahreszins p¯, welcher wie folgt definiert ist: Am Anfang wird ein (fiktives) Konto eingerichtet und der Auszahlungsbetrag von K eingezahlt. Nach einem, zwei, . . . , n Jahren wird der Kontostand mit p% verzinst und jeweils unmittelbar danach die Rate von R abgebucht. Der effektive Jahreszins ist nun der Zinssatz p, bei dem nach n Jahren der Kontostand gleich null ist, also: Sei f (p) der Kontostand nach n Jahren. Dann ist p¯ > 0 definiert durch f (¯ p) = 0. a) Man zeige: f (p)
= =
wobei p∗ = p/100.
∗ n
(1 + p ) K − (1 + p∗ )n K −
n−1 X j=0
∗ j
(1 + p )
!
R
(1 + p∗ )n − 1 R, p∗
b) Man formuliere das Newton-Verfahren f¨ ur das Problem f (p) = 0. c) Man berechne p¯ f¨ ur K = 100000, n = 10 und q = 8.
5
Eigenwertprobleme
Es wird zun¨ achst das spezielle Eigenwertproblem betrachtet, d.h. die Aufgabe die Eigenwerte und Eigenvektoren einer reellen, quadratischen Matrix A zu berechnen: Ax = λx.
(5.1)
Daneben wird kurz auf das allgemeine Eigenwertproblem Ax = λBx,
(5.2)
eingegangen, das in der Regel auf das spezielle Eigenwertproblem zur¨ uckgef¨ uhrt werden kann. Beide Aufgabenstellungen treten insbesondere in der Physik und den Ingenieurwissenschaften bei der Behandlung von Schwingungsproblemen auf. Auch ist etwa in der Statistik im Zusammenhang mit der Varianzanalyse eine Eigenwertaufgabe zu l¨osen. Dem Eigenwertproblem sind wir auch schon im Kapitel 2 begegnet, wo zur Berechnung der Spektralnorm (2.77) Eigenwerte ben¨ otigt werden. Die Bestimmung der Konditionszahl einer Matrix mit der Spektralnorm (Abschnitt 2.12) erfordert den gr¨oßten und den kleinsten Eigenwert der Matrix. Auch bei der L¨ osung von gew¨ ohnlichen Differenzialgleichungssystemen und von partiellen Differenzialgleichungen ist die Bestimmung der Eigenwerte von Matrizen f¨ ur die Untersuchung des stabilen Verhaltens der Verfahren maßgebend (vgl. dazu die Kapitel 8 und 10). Die Wahl des numerischen Verfahrens zur Behandlung des Eigenwertproblems h¨angt davon ab, ob alle oder nur wenige Eigenwerte bestimmt werden sollen und ob die Eigenvektoren zus¨ atzlich berechnet werden m¨ ussen. Dar¨ uber hinaus sollte die Verfahrenswahl vom Matrixtyp abh¨ angig gemacht werden (symmetrisch oder unsymmetrisch, voll oder schwach besetzt). Wir werden uns auf einige geeignete Methoden zur Eigenwertbestimmung beschr¨ anken, die Grundlage der in Bibliotheken verwendeten Algorithmen sind. F¨ ur ausf¨ uhrlichere und umfassendere Darstellungen von Eigenwertmethoden verweisen wir auf [Bun 95, Gol 96b, Jen 77, Par 98, Ste 83, T¨ or 88, Wil 65, Zur 97, Zur 86].
219
5.1 Theoretische Grundlagen
5.1
Theoretische Grundlagen
5.1.1
Das charakteristische Polynom
Gegeben sei eine reelle, quadratische Matrix A der Ordnung n. Gesucht sind ihre (i.a. origen Eigenvektoren xk = 0, so dass komplexen) Eigenwerte λk und die zugeh¨ Axk = λk xk
oder
(A − λk I)xk = 0
(5.3)
gilt. Da der Eigenvektor xk nicht der Nullvektor sein darf, muss notwendigerweise die Determinante der Matrix A − λk I verschwinden. Folglich muss der Eigenwert λk Nullstelle des charakteristischen Polynoms P (λ) := (−1)n |A − λI| = λn + pn−1 λn−1 + pn−2 λn−2 + . . . + p1 λ + p0
(5.4)
sein. Da das charakteristische Polynom den echten Grad n besitzt, hat es n Nullstellen, falls sie mit der entsprechenden Vielfachheit gez¨ ahlt werden. Auf Grund dieser Betrachtung scheint die Aufgabe der Bestimmung der Eigenwerte bereits gel¨ ost, denn man braucht dazu nur die Koeffizienten des charakteristischen Polynoms zu berechnen, um anschließend seine Nullstellen nach einer der Methoden aus Kapitel 4 zu ermitteln. Die Eigenvektoren xk zu den Eigenwerten λk ergeben sich dann als nichttriviale L¨ osungen der homogenen Gleichungssysteme (5.3). Das durch die Theorie vorgezeichnete L¨ osungsverfahren ist aber aus numerischen Gr¨ unden f¨ ur gr¨ oßere Ordnungen n ungeeignet, da die Bestimmung der Nullstellen dieses Polynoms instabil sein kann. Deshalb werden im Folgenden nur solche Verfahren zur Behandlung der Eigenwertaufgabe betrachtet, welche die Berechnung der Koeffizienten des charakteristischen Polynoms nicht erfordern.
5.1.2
¨ Ahnlichkeitstransformationen
are Matrix, dann heißt Definition 5.1. 1. Ist T ∈ n,n eine regul¨ (5.5) T −1 A T ¨ Ahnlichkeitstransformation. 2. Eine Matrix A ∈ n,n heißt diagonal¨ahnlich , wenn es eine regul¨are Matrix T ∈ n,n gibt, so dass Λ := T −1 A T (5.6) eine Diagonalmatrix ist: Λ := diag (λ1 , λ2 , · · · , λn ), Λ ∈ n,n . Die Zahlen λi sind dann gerade die Eigenwerte von A. Lemma 5.2. Ist T ∈ n,n eine regul¨are Matrix und C := T −1 A T ,
dann haben A und C dieselben Eigenwerte und zu einem Eigenvektor y ∈ der Eigenvektor x := T y von A: Cy = λy ⇒ Ax = λx mit x := T y.
(5.7) n
von C geh¨ort (5.8)
220
5 Eigenwertprobleme
Beweis. PC (λ)
= =
|λI − C| = |λI − T −1 AT | = |T −1 (λI − A)T | |T −1 | |λI − A| |T | = |λI − A| = PA (λ).
Dabei haben wir die Determinantenrelationen |XY | = |X| |Y | und |T −1 | = |T |−1 verwendet. Aus T −1 AT y = λy folgt AT y = λT y und daraus x = T y.
5.1.3
Symmetrische Eigenwertprobleme
Oft sind die Matrizen des Eigenwertproblems symmetrisch. Dies ist ein großer Vorteil, da dann alle Eigenwerte reell sind und ihre numerische Berechnung gut konditioniert ist, siehe Abschnitt 5.7. Satz 5.3. Sei A eine symmetrische Matrix der Ordnung n. Dann besitzt A nur reelle Eigenwerte, und die Eigenvektoren sind orthogonal. Ist also X die Matrix mit den Eigenvektoren als Spalten und sind diese normiert auf xi 2 = 1, so ist X T X = I =⇒ X T = X −1 .
(5.9)
Dies bedeutet auch, dass A sich mit der Matrix der Eigenvektoren vermittels X −1 AX = D.
(5.10)
auf Diagonalgestalt ¨ ahnlich transformieren l¨asst, wobei die Diagonalmatrix D gerade die Eigenwerte als Diagonalelemente enth¨alt. Dieses so genannte Hauptachsentheorem bildet die Motivation f¨ ur die folgenden Verfahren, in denen die Matrix A mit orthogonalen Transformationen ¨ahnlich auf Diagonalgestalt transformiert wird.
5.1.4
Elementare Rotationsmatrizen
Zur Transformation einer Matrix auf eine bestimmte Form benutzt man oft m¨oglichst einfache Transformationsmatrizen, deren Effekt u ¨ bersichtlich ist. Zu dieser Klasse geh¨oren die orthogonalen Matrizen U (p, q; ϕ) (5.11), f¨ ur die gilt: uii upq uij
= = =
1, i = p, q, sin ϕ, 0 sonst.
upp uqp
= =
uqq = cos ϕ, − sin ϕ,
Die Orthogonalit¨ at der Matrix U (p, q; ϕ) ist offenkundig, so dass aus U T U = I sofort −1 T U = U folgt. Wenn wir U (p, q; ϕ) als Darstellungsmatrix einer linearen Transformation im Ên auffassen, entspricht sie einer Drehung um den Winkel −ϕ in der zweidimensionalen Ebene, die durch die p-te und q-te Koordinatenrichtung aufgespannt wird. Das Indexpaar (p, q) mit 1 ≤ p < q ≤ n heißt das Rotationsindexpaar und die Matrix U (p, q; ϕ) eine (p, q)-Rotationsmatrix.
221
5.1 Theoretische Grundlagen
⎛
⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U (p, q; ϕ) := ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝
⎞
1 ..
. 1 cos ϕ
sin ϕ 1 ..
. 1
− sin ϕ
cos ϕ 1 ..
. 1
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ←p ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ←q ⎟ ⎟ ⎟ ⎟ ⎠
(5.11)
¨ Die Wirkung einer (p, q)-Rotationsmatrix (5.11) auf eine Matrix A im Fall einer Ahn′′ −1 T lichkeitstransformation A = U AU = U AU stellen wir in zwei Schritten fest. Die Multiplikation der Matrix A von links mit U T zur Matrix A′ = U T A bewirkt nur eine Linearkombination der p-ten und q-ten Zeilen von A, w¨ahrend die u ¨ brigen Matrixelemente unver¨ andert bleiben. Die Elemente von A′ = U T A sind gegeben durch a′pj = apj cos ϕ − aqj sin ϕ a′qj = apj sin ϕ + aqj cos ϕ a′ij = aij f¨ ur i = p, q
⎫ ⎪ ⎬ ⎪ ⎭
j = 1, 2, . . . , n.
(5.12)
Die anschließende Multiplikation der Matrix A′ von rechts mit U zur Bildung von A′′ = A¼ U bewirkt jetzt nur eine Linearkombination der p-ten und q-ten Spalten von A′ , w¨ahrend alle anderen Spalten unver¨ andert bleiben. Die Elemente von A′′ = A¼ U = U T AU sind gegeben durch ⎫ ⎪ a′′ip = a′ip cos ϕ − a′iq sin ϕ ⎬ a′′iq = a′ip sin ϕ + a′iq cos ϕ ⎪ ⎭ a′′ij = a′ij f¨ ur j = p, q
i = 1, 2, . . . , n.
(5.13)
¨ Zusammenfassend k¨ onnen wir festhalten, dass eine Ahnlichkeitstransformation der Matrix A mit einer (p, q)-Rotationsmatrix U nur die Elemente der p-ten und q-ten Zeilen und Spalten ver¨ andert, wie dies in Abb. 5.1 anschaulich dargestellt ist. Die Matrixelemente in den vier Kreuzungspunkten werden sowohl nach (5.12) als auch nach (5.13) transformiert. Bevor wir die entsprechenden Formeln angeben, halten wir noch fest, ¨ dass bei einer orthogonalen Ahnlichkeitstransformation die Symmetrie erhalten bleibt. In der Tat gilt mit AT = A und U −1 = U T allgemein T
A¼¼ = (U −1 AU )T = (U T AU )T = U T AT U = U T AU = A¼¼ .
222
5 Eigenwertprobleme
00 11 00 11 00 11 00 11 111111111111111111111 000000000000000000000 00 11 00 11 111111111111111111111 000000000000000000000 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 000000000000000000000 111111111111111111111 00 11 00 11 000000000000000000000 111111111111111111111 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11
p
q
Abb. 5.1 ¨ Wirkung der Ahnlichkeitstransformation.
Nach Substitution von (5.12) in (5.13) sind die Elemente an den Kreuzungsstellen definiert durch a′′pp a′′qq a′′pq
= app cos2 ϕ − 2apq cos ϕ sin ϕ + aqq sin2 ϕ 2
(5.14)
2
= app sin ϕ + 2apq cos ϕ sin ϕ + aqq cos ϕ =
a′′qp
2
(5.15) 2
= (app − aqq ) cos ϕ sin ϕ + apq (cos ϕ − sin ϕ)
(5.16)
¨ Solche elementaren orthogonalen Ahnlichkeitstransformationen wurden von Jacobi 1846 [Jac 46] zur sukzessiven Diagonalisierung einer symmetrischen Matrix verwendet. Sie werden deshalb Jacobi-Rotationen genannt oder, um das Rotationsindexpaar hervorzuheben, (p, q)-Drehungen. Die tats¨ achliche Ausf¨ uhrung einer Jacobi-Rotation kann unter Ber¨ ucksichtigung der Symmetrie mit den Matrixelementen in und unterhalb der Diagonalen erfolgen. Deshalb sind nach Abb. 5.1 insgesamt 2(n−2) Elemente gem¨ aß (5.12) und (5.13) und dazu die drei Elemente an den Kreuzungsstellen umzurechnen. Beachtet man noch die Relation a′′pp + a′′qq = app + aqq , so sind nur etwas mehr als 4n Multiplikationen erforderlich.
5.2
Das klassische Jacobi-Verfahren
In diesem Abschnitt betrachten wir das Problem, f¨ ur eine reelle symmetrische Matrix A alle Eigenwerte und die zugeh¨ origen Eigenvektoren zu berechnen. Auf Grund des Hauptachsentheorems l¨ asst sich jede symmetrische Matrix A durch eine ¨ orthogonale Ahnlichkeitstransformation diagonalisieren. Die Idee von Jacobi besteht darin, diese Transformation durch eine Folge von elementaren Rotationen durchzuf¨ uhren. Eine naheliegende Strategie besteht darin, in einem einzelnen Transformationsschritt das momentan absolut gr¨ oßte Paar von Außendiagonalelementen apq = aqp zum Verschwinden zu bringen. Dies soll durch eine (p, q)-Drehung erfolgen, so dass also apq und aqp in den
223
5.2 Das klassische Jacobi-Verfahren
außendiagonalen Kreuzungsstellen liegen (vgl. Abb. 5.1). Um unn¨otige Indizes zu vermeiden, betrachten wir einen Schritt der Transformationsfolge. Nach (5.16) ergibt sich folgende Bedingungsgleichung f¨ ur den Drehwinkel ϕ (app − aqq ) cos ϕ sin ϕ + aqp (cos2 ϕ − sin2 ϕ) = 0.
(5.17)
In (5.17) ist mit aqp ber¨ ucksichtigt, dass nur mit der unteren H¨alfte der Matrix A gearbeitet werden soll. Mit den trigonometrischen Identit¨ aten sin(2ϕ) = 2 cos ϕ sin ϕ lautet (5.17) cot(2ϕ) =
und
cos(2ϕ) = cos2 ϕ − sin2 ϕ
aqq − app cos2 ϕ − sin2 ϕ = =: Θ. 2 cos ϕ sin ϕ 2aqp
(5.18)
Da aqp = 0 ist, hat der Quotient Θ stets einen endlichen Wert. F¨ ur die Jacobi-Rotation werden aber nur die Werte von cos ϕ und sin ϕ ben¨otigt, nicht der des Winkels ϕ. Diese Werte k¨ onnen aus (5.18) numerisch sicher wie folgt berechnet werden. Mit t := tan ϕ ergibt sich aus (5.18) 1 − t2 = Θ oder t2 + 2Θt − 1 = 0 2t eine quadratische Gleichung f¨ ur t mit den beiden L¨osungen 0 1 √ t1,2 = −Θ ± Θ2 + 1 = . Θ ± Θ2 + 1 Wir w¨ ahlen die betragskleinere der beiden L¨ osungen und setzen fest ⎧ 1 ⎨ √ f¨ ur Θ = 0 t = tan ϕ = Θ + sgn(Θ) Θ2 + 1 ⎩ 1 f¨ ur Θ = 0
(5.19)
(5.20)
(5.21)
Damit wird erreicht, dass einerseits im Nenner von (5.21) keine Ausl¨oschung stattfindet und dass andererseits −1 < tan ϕ ≤ 1 gilt, so dass der Drehwinkel ϕ auf das Intervall −π/4 < ϕ ≤ π/4 beschr¨ ankt ist. Aus dem jetzt bekannten Wert f¨ ur tan ϕ ergeben sich schließlich 1 cos ϕ = √ , 1 + t2
sin ϕ = t cos ϕ
(5.22)
Damit sind die Elemente der Jacobi-Rotation festgelegt, und die Transformation der Matrix ur die DiagonalA in A¼¼ = U T AU kann nach den Formeln (5.12) und (5.13) erfolgen. F¨ elemente der transformierten Matrix A¼¼ ergeben sich infolge des aus der Gleichung (5.17) bestimmten Drehwinkels ϕ bedeutend einfachere Darstellungen. Aus (5.14) folgt n¨amlich mit (5.18) a′′pp
= app − 2aqp cos ϕ sin ϕ + (aqq − app ) sin2 ϕ
! cos2 ϕ − sin2 ϕ 2 sin ϕ = app − aqp 2 cos ϕ sin ϕ − cos ϕ sin ϕ = app − aqp tan ϕ.
224
5 Eigenwertprobleme
Also gelten die beiden Darstellungen a′′pp = app − aqp tan ϕ,
a′′qq = aqq + aqp tan ϕ
(5.23)
Mit den Formeln (5.23) wird nicht nur die Zahl der Multiplikationen verkleinert, sondern es wird vor allem auch der Rundungsfehler in den Diagonalelementen verringert. Desgleichen lassen sich die Formeln (5.12) und (5.13) so umformen, dass sie bessere Eigenschaften hinsichtlich Rundungsfehlern aufweisen [Rut 66]. Dies gilt insbesondere f¨ ur betragskleine Drehwinkel ϕ. Um die modifizierten Darstellungen der transformierten Matrixelemente zu erhalten, verwenden wir die Identit¨ at f¨ ur cos ϕ =
cos ϕ + cos2 ϕ 1 + cos ϕ − sin2 ϕ sin2 ϕ = =1− . 1 + cos ϕ 1 + cos ϕ 1 + cos ϕ
Mit dem Wert r :=
. ϕ // sin ϕ . = tan 1 + cos ϕ 2
(5.24)
ergeben sich aus (5.12) und (5.13) a′pj = apj − sin ϕ[aqj + rapj ] a′qj = aqj + sin ϕ[apj − raqj ] a′′ip = a′ip − sin ϕ[a′iq + ra′ip ] a′′iq = a′iq + sin ϕ[a′ip − ra′iq ]
j = 1, 2, . . . , n,
(5.25)
i = 1, 2, . . . , n.
(5.26)
Man beachte, dass die Zahl der Multiplikationen gegen¨ uber (5.12)/(5.13) unver¨andert bleibt. Im klassischen Jacobi-Verfahren wird mit A(0) = A eine Folge von orthogonal¨ahnlichen Matrizen A(k) = U Tk A(k−1) U k ,
k = 1, 2, . . .
(5.27) (k−1)
gebildet, so dass im k-ten Schritt das absolut gr¨oßte Nicht-Diagonalelement aqp Matrix A(k−1) (k−1)
(k−1) |aqp | = max |aij i>j
|
der
(5.28)
durch eine Jacobi-Rotation mit U k = U (p, q; ϕ) zu null gemacht wird. Obwohl die NichtDiagonalelemente, die mit einer bestimmten Jacobi-Rotation zum Verschwinden gebracht werden, im Allgemeinen in einem nachfolgenden Transformationsschritt wieder ungleich null werden, gilt der Satz 5.4. Die Folge der zueinander ¨ ahnlichen Matrizen A(k) (5.27) des klassischen JacobiVerfahrens konvergiert gegen eine Diagonalmatrix D.
225
5.2 Das klassische Jacobi-Verfahren
Beweis. F¨ ur die Summe der Quadrate der Nicht-Diagonalelemente der Matrix A(k) (k)
S(A
)=
n n i=1
j=1
(k)
{aij }2 ,
k = 1, 2, . . . ,
(5.29)
j =i
zeigen wir, dass S(A(k) ) mit wachsendem k eine monotone Nullfolge bildet. Dazu untersu¨ chen wir vorbereitend die Anderung von S(A) im Fall einer allgemeinen Jacobi-Rotation mit dem Rotationsindexpaar (p, q). Die Summe S(A′′ ) = S(U T AU ) wird dazu in Teilsummen aufgeteilt. S(A′′ ) =
n n i=1
=
a′′2 ij
j =i
n n i=1
(5.30)
j=1
a′′2 ij +
n
′′2 (a′′2 ip + aiq ) +
i=1
j=1
i=p,q j =i,p,q
n
′′2 ′′2 (a′′2 pj + aqj ) + 2aqp
j=1
i=p,q
j =p,q
Einerseits ¨ andern sich bei einer (p, q)-Drehung nur die Elemente in den p-ten und q-ten Zeilen und Spalten, so dass a′′ij = aij f¨ ur alle i = p, q und alle j = i, p, q gilt, und andererseits gelten wegen der Orthogonalit¨ at der Transformation ′′2 2 2 a′′2 ip + aiq = aip + aiq
(i = p, q),
′′2 2 2 a′′2 pj + aqj = apj + aqj
(j = p, q).
Deshalb folgt aus (5.30) f¨ ur eine allgemeine Jacobi-Rotation S(A′′ ) = S(U T AU ) = {S(A) − 2a2qp } + 2a′′2 qp .
(5.31) (k)
Im klassischen Jacobi-Verfahren gilt nach dem k-ten Schritt aqp = 0, so dass aus (5.31) folgt 2
(k−1) S(A(k) ) = S(A(k−1) ) − 2aqp ,
k = 1, 2, . . . .
(5.32)
Die Werte S(A(k) ) bilden mit zunehmendem k eine streng monoton abnehmende Folge, (k−1) solange maxi=j |aij |= 0 ist. Die Abnahme des Wertes S(A(k−1) ) in der k-ten JacobiRotation ist sogar maximal. Es bleibt noch zu zeigen, dass S(A(k) ) eine Nullfolge bildet. Wegen (5.28) gilt 2
(k−1) , S(A(k−1) ) ≤ (n2 − n)aqp
und deshalb folgt f¨ ur S(A(k) ) aus (5.32) die Absch¨atzung ! 2 (k) (k−1) (k−1)2 S(A(k−1) ). S(A ) = S(A ) − 2aqp ≤ 1− 2 n −n
(5.33)
226
5 Eigenwertprobleme (k−1)
Da die Absch¨ atzung (5.33) unabh¨ angig von aqp (k)
S(A
)≤
2 1− 2 n −n
!k
2
ist, ergibt ihre rekursive Anwendung
S(A(0) ).
(5.34)
F¨ ur n = 2 ist 1 − 2/(n2 − n) = 0 im Einklang mit der Tatsache, dass mit S(A(1) ) = 0 eine einzige Jacobi-Rotation in diesem Fall zur Diagonalisierung der Matrix der Ordnung zwei gen¨ ugt. F¨ ur n > 2 ist 1 − 2/(n2 − n) < 1 und somit gilt lim S(A(k) ) = 0.
k→∞
Das Produkt der Rotationsmatrizen V k := U 1 U 2 · · · U k ,
k = 1, 2, . . . ,
(5.35)
ist eine orthogonale Matrix, f¨ ur die A(k) = U Tk U Tk−1 . . . U T2 U T1 A(0) U 1 U 2 . . . U k−1 U k = V Tk AV k
(5.36)
(k)
gilt. Nach Satz 5.4 stellt die Matrix A f¨ ur hinreichend großes k mit beliebiger Genauigkeit eine Diagonalmatrix D dar, d.h. es gilt A(k) = V Tk AV k ≈ D.
Die Diagonalelemente von A(k) stellen Approximationen der Eigenwerte λj von A dar. Die Spalten von V k sind N¨ aherungen der zugeh¨origen orthonormierten Eigenvektoren xj . Insbesondere erh¨ alt man auch im Fall von mehrfachen Eigenwerten ein vollst¨andiges System von orthonormierten N¨ aherungen der Eigenvektoren. Auf Grund der Absch¨atzung (5.34) nimmt die Wertefolge S(A(k) ) mindestens wie eine geometrische Folge mit dem Quotienten q = 1 − 2/(n2 − n) ab, d.h. die Konvergenz ist mindestens linear. Damit l¨asst sich die Anzahl der erforderlichen Jacobi-Rotationen zumindest absch¨atzen, um etwa die Bedingung S(A(k) )/S(A(0) ) ≤ ε2
(5.37) 2
zu erf¨ ullen. Bezeichnen wir mit N = (n − n)/2 die Anzahl der Nicht-Diagonalelemente der unteren H¨ alfte der Matrix A, so ist (5.37) sicher erf¨ ullt, falls gilt 'k & 1 ≤ ε2 . 1− N Aufgel¨ ost nach k erhalten wir daraus mit dem nat¨ urlichen Logarithmus f¨ ur gr¨oßere Werte von N " # " # 2 ln(ε) 1 1 2 " # k≥ = (n − n) ln . (5.38) ≈ 2N ln 1 ε ε ln 1 − N
Da eine Jacobi-Rotation rund 4n Multiplikationen erfordert, liefert (5.38) mit ε = 10−α eine Sch¨ atzung des Rechenaufwandes ZJacobi zur Diagonalisierung einer symmetrischen Matrix A der Ordnung n mit dem klassischen Jacobi-Verfahren von ZJacobi = 4nk ≈ 4n(n2 − n)α ln(10) ≈ 9.21α(n3 − n2 )
(5.39)
5.2 Das klassische Jacobi-Verfahren
227
Multiplikationen. Der Aufwand steigt mit der dritten Potenz der Ordnung n, wobei der Faktor 9.21α von der geforderten Genauigkeit abh¨angt. Die Sch¨atzung des Rechenaufwandes (5.39) ist zu pessimistisch, denn die Wertefolge der S(A(k) ) konvergiert sogar quadratrisch gegen null, sobald die Nicht-Diagonalelemente betragsm¨aßig gen¨ ugend klein bez¨ uglich der minimalen Differenz von zwei Eigenwerten geworden sind [Hen 58, Sch 61, Sch 64]. Falls f¨ ur die Eigenwerte min |λi − λj | =: 2δ > 0
(5.40)
i=j
gilt, und im klassischen Jacobi-Verfahren der Zustand erreicht worden ist, dass 1 S(A(k) ) < δ 2 4 zutrifft, dann ist nach N = (n2 − n)/2 weiteren Jacobi-Rotationen # " 1 (k+N ) n − 1 S(A(k) )2 /δ 2 . )≤ S(A 2
(5.41)
(5.42)
Eine zu (5.42) analoge Aussage u ur den Fall ¨ber die quadratische Konvergenz kann auch f¨ von doppelten Eigenwerten gezeigt werden [Sch 61, Sch 64]. Die asymptotisch quadratische Konvergenz reduziert selbstverst¨ andlich den totalen Rechenaufwand wesentlich. Er bleibt aber doch proportional zu n3 , wobei aber der Proportionalit¨atsfaktor im Vergleich zu (5.39) kleiner ist. Eine Aussage u ¨ ber den absoluten Fehler der Approximation der Eigenwerte λj von A durch (k) die Diagonalelemente aii der Matrix A(k) liefert der in [Hen 58] bewiesene Satz 5.5. Die Eigenwerte λj der symmetrischen Matrix A = A(0) seien in aufsteigender Reihenfolge λ1 ≤ λ2 ≤ . . . ≤ λn angeordnet. Die der Gr¨oße nach geordneten Diagonalele(k) (k) (k) (k) (k) ullen die mente aii bezeichnen wir mit dj , so dass d1 ≤ d2 ≤ . . . ≤ dn gilt. Dann erf¨ Eigenwerte λj die Fehlerabsch¨atzung $ (k) (5.43) |dj − λj | ≤ S(A(k) ), j = 1, 2, . . . , n; k = 0, 1, 2, . . . . Um die aufw¨ andige Berechnung von S(A(k) ) zu vermeiden, sch¨atzen wir die Summe mit (k) Hilfe des absolut gr¨ oßten Nicht-Diagonalelementes aqp von A(k) durch S(A(k) ) ≤ (n2 − (k) 2 (k) n){aqp } < n2 {aqp }2 ab. Dies liefert die gegen¨ uber (5.43) im Allgemeinen bedeutend schlechtere Absch¨ atzung (k)
|dj
− λj | < n|a(k) qp |,
j = 1, 2, . . . , n; k = 0, 1, 2, . . . .
(5.44)
Sie ist als einfaches Abbruchkriterium anwendbar. Die gleichzeitige Berechnung der Eigenvektoren der Matrix A ist bereits durch (5.35) und (5.36) vorgezeichnet. Die j-te Spalte von V k enth¨alt eine N¨aherung des normierten Eigen(k) vektors zur Eigenwertn¨ aherung ajj . Die so erhaltenen Approximationen der Eigenvektoren bilden innerhalb der numerischen Genauigkeit stets ein System von paarweise orthogonalen und normierten Vektoren. Dies trifft auf Grund der Konstruktion auch im Fall von mehrfachen Eigenwerten zu. Da die Konvergenz der Matrixfolge V k komplizierteren Gesetzen
228
5 Eigenwertprobleme (k)
gehorcht als die Konvergenz der Diagonalelemente ajj gegen die Eigenwerte, werden die Eigenvektoren in der Regel weniger gut approximiert [Wil 65]. Die Matrixfolge V k berechnet sich rekursiv durch sukzessive Multiplikation der Rotationsmatrizen gem¨aß der Vorschrift V 0 = I;
V k = V k−1 U k
k = 1, 2, . . . .
(5.45)
F¨ ur die Matrizen V k ist eine volle (n × n)-Matrix vorzusehen, weil sie ja nicht symmetrisch sind. Ist U k eine (p, q)-Rotationsmatrix, bewirkt die Multiplikation V k−1 U k nur eine Linearkombination der p-ten und q-ten Spalten von V k−1 gem¨aß den Formeln (5.13) oder (5.26). Der Rechenaufwand f¨ ur diese Operation betr¨ agt 4n wesentliche Operationen. Werden also die Eigenvektoren mitberechnet, so verdoppelt sich der Gesamtaufwand des klassischen Jacobi-Verfahrens. Beispiel 5.1. Die Eigenwerte und Eigenvektoren der Matrix (0)
0
B B =B @
20 −7 3 −2
−7 5 1 4
3 1 3 1
−2 4 1 2
1 C C C A
mit S(
(0)
) = 160
werden mit dem klassischen Jacobi-Verfahren berechnet. Da die Matrix sechs Elemente unterhalb der Diagonale enth¨ alt, sollen immer sechs Schritte ohne Zwischenergebnis ausgef¨ uhrt werden. Nach sechs Rotationen lautet die resultierende Matrix 1 0 23.524454 0.000000 −0.005235 0.268672 C B 0.000000 6.454132 −0.090526 −0.196317 C (6) . B =B C @ −0.005235 −0.090526 1.137646 −0.288230 A 0.268672 −0.196317 −0.288230 −1.116232 . Die Summe der Quadrate der Nicht-Diagonalelemente ist S( (6) ) = 0.404. In den nachfolgenden . . . (12) −6 (18) drei×sechs Rotationen werden S( ) = 3.648 · 10 , S( ) = 9.0 · 10−23 und S( (24) ) = −32 . Die sehr rasche Konvergenz ist deutlich erkennbar und setzt in diesem Beispiel sehr fr¨ uh 1.5 · 10 . . ein, weil die Eigenwerte, entnommen aus der Diagonale von (24) , λ1 = 23.527386, λ2 = 6.460515, . . . λ3 = 1.173049 und λ4 = −1.160950 mit min |λi − λj | = 2.334 gut getrennt sind. Die Matrix i=j
Î 24 = Á Í 1 Í 2 . . . Í 24 mit den N¨aherungen der Eigenvektoren lautet 0 B
Î 24 =. B B @
0.910633 −0.370273 0.107818 −0.148394
0.260705 0.587564 0.549910 0.533292
−0.269948 −0.249212 0.819957 −0.438967
−0.172942 −0.674951 0.116811 0.707733
1
C C C. A
Eigenwerte und Eigenvektoren ¨ andern sich in den letzten sechs Schritten innerhalb der gezeigten Stellen nicht mehr. △
Das zyklische Jacobi-Verfahren erspart sich den aufw¨andigen Suchprozess zur Ermittlung des absolut gr¨ oßten Nicht-Diagonalelementes, der N = (n2 − n)/2 Vergleichsoperationen erfordert. Da eine Jacobi-Rotation nur 4n Multiplikationen ben¨otigt, steht der Aufwand des Suchprozesses, zumindest f¨ ur gr¨ oßere Ordnungen n, in einem ung¨ unstigen Verh¨altnis zu demjenigen der eigentlichen Transformation. Deswegen werden beim zyklischen Jacobi-Verfahren die N Nicht-Diagonalelemente unterhalb der Diagonale in systematischer und immer gleich
5.3 Die Vektoriteration
229
bleibender Reihenfolge in einem Zyklus von N Rotationen je einmal zum Verschwinden gebracht. Auch das zyklische Jacobi-Verfahren erzeugt eine Folge von Matrizen A(k) , die gegen die Diagonalmatrix der Eigenwerte konvergiert. Der Nachweis der Konvergenz ist aber bei weitem nicht mehr so elementar wie im Fall des klassischen Jacobi-Verfahrens.
5.3
Die Vektoriteration
5.3.1
Die einfache Vektoriteration nach von Mises
Es soll nur der einfachste Fall beschrieben werden: A sei eine regul¨are Matrix der Ordnung n mit nur reellen Eigenwerten und einem System von n linear unabh¨angigen Eigenvektoren xi , i = 1, . . . n. λ1 sei ein einfacher Eigenwert mit |λ1 | > |λ2 | ≥ · · · ≥ |λn |.
(5.46)
Im Algorithmus (5.47) wird die Bestimmung des betragsgr¨oßten Eigenwertes λ1 und des zugeh¨ origen Eigenvektors x1 beschrieben. (1) W¨ ahle ein z (0) ∈ Ên mit z (0) 2 = 1, setze i := 0. (2) Berechne u(i) := Az (i) , den Index k mit (i) (i) |uk | = max |uj |, j (i) zk si := sign (i) uk u(i) z (i+1) := si (i) und u 2 (i) λ1 := si u(i) 2 (3) Wenn z (i+1) − z (i) 2 < ε , dann gehe nach (5). (4) Setze i := i + 1 und gehe nach (2). (5) Setze ˜ 1 := λ(i) λ 1 ˜ 1 = z (i+1) . x ˜1 und x ˜ 1 sind N¨ λ aherungen f¨ ur den gesuchten Eigenwert und zugeh¨ origen Eigenvektor.
(5.47)
Wann, warum und wie dieses Verfahren konvergiert, sagt Satz 5.6. F¨ ur den Startvektor z (0) der Vektoriteration gelte: n z (0) = cj xj mit c1 = 0, j=1
(5.48)
230
5 Eigenwertprobleme
wo {xj } das System der linear unabh¨angigen Eigenvektoren ist. Dann konvergieren nach Algorithmus (5.47) si u(i) 2
und
z
−→ λ1 mit i → ∞
(i)
(5.49)
−→ x1 mit i → ∞.
Die Konvergenz ist linear mit der Konvergenzrate |λ2 |/|λ1 |. Im Algorithmus verursachen die Matrix-Vektor-Multiplikationen in (2) den Hauptaufwand. Dieser Aufwand kann bei schwach besetztem A stark verringert werden, wenn die Elemente von A entsprechend gespeichert sind. Deswegen ist dieser Algorithmus f¨ ur den Fall großer, schwach besetzter Matrizen geeignet, einen oder mehrere Eigenwerte zu berechnen. Im Fall mehrerer Eigenwerte wird der Algorithmus nach einer Idee von F. L. Bauer verallgemeinert, siehe [Rut 69] oder [K¨ oc 94].
Beispiel 5.2. Sei 0
+ B× B B · B B B · B B · B B× =B B · B B · B B B · B B · B @ · ·
× + × · · · × · · · · ·
· × + × · · · × · · · ·
· · × + × · · · × · · ·
· · · × + · · · · × · ·
× · · · · + × · · · × ·
· × · · · × + × · · · ×
· · × · · · × + × · · ·
· · · × · · · × + × · ·
· · · · × · · · × + · ·
· · · · · × · · · · + ×
1 · · C C · C C C · C C · C C · C C ×C C · C C C · C C · C C ×A +
mit den folgenden Abk¨ urzungen: + ≡ 0.1111, × ≡ −0.0278, · ≡ 0. Von einer solchen Matrix w¨ urde man normalerweise nur die Elemente ungleich null in der Form (i, j, a(i,j)) speichern. Wir suchen den absolut gr¨ oßten Eigenwert und den zugeh¨ origen Eigenvektor. Wir erwarten auf Grund von Problem-Vorkenntnissen, dass aufeinander folgende Komponenten dieses Eigenvektors entgegengesetzte Vorzeichen aufweisen. Deshalb w¨ ahlen wir als Startvektor (0)
1 := √ (−1, 1, −1, 1, −1, 1, −1, 1, −1, 1, −1, 1)T , 12
(0)
2 = 1.
Er liefert die Folge von iterierten Vektoren
(0) :=
(0)
→
(1)
=
(0) → (1) := (0) 2
(1)
→
(2)
=
(1) → ···, (1) 2
deren Zahlenwerte in Tab. 5.1 stehen. (i)
ur den gr¨ oßten Eigenwert λ1 nach Schritt (2) des Algorithmus Die Folge λ1 der Approximationen f¨ (5.47) konvergiert nach Satz 5.6 linear mit der asymptotischen Konvergenzrate |λ2 |/|λ1 | = 0.9065, also sehr langsam:
231
5.3 Die Vektoriteration Tab. 5.1 Vektorsequenz zur Potenzmethode.
Ù(0)
Þ(1)
Ù(1)
Þ(2)
−0.0481 0.0561 −0.0561 0.0561 −0.0481 0.0561 −0.0642 0.0561 −0.0561 0.0481 −0.0481 0.0481
−0.2587 0.3018 −0.3018 0.3018 −0.2587 0.3018 −0.3449 0.3018 −0.3018 0.2587 −0.2587 0.2587
−0.0455 0.0587 −0.0587 0.0575 −0.0443 0.0575 −0.0707 0.0599 −0.0575 0.0443 −0.0443 0.0455
−0.2418 0.3119 −0.3119 0.3055 −0.2354 0.3055 −0.3755 0.3182 −0.3055 0.2354 −0.2354 0.2418
Þ(12)
Ü1
··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ···
−0.2235 0.3482 −0.3510 0.2858 −0.1632 0.2916 −0.4277 0.3734 −0.2919 0.1647 −0.1790 0.2133
−0.2290 0.3569 −0.3527 0.2742 −0.1489 0.2961 −0.4361 0.3749 −0.2804 0.1505 −0.1795 0.2158
···
Schritt Nr.
1
2
3
4
5
6
(i) λ1
0.1860
0.1882
0.1892
0.1897
0.1900
0.1901
7 0.1902
8 0.1903
9 0.1903
10 0.1903
11 0.1904
12 0.1904
Nach zw¨ olf Schritten bekommen wir eine auf 4 wesentliche Stellen genaue Approximation des (12) orige Eigenvektorapproximation Þ(12) und der korrekte Eigenwerts λ1 ≈ λ1 = 0.1904. Die zugeh¨ Eigenvektor Ü1 sind auch in Tab. 5.1 zu finden. Die Konvergenz w¨ are noch langsamer gewesen, wenn wir einen anderen Startvektor gew¨ ahlt h¨ atten wie z.B. √ △ Þ(0) := (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)T / 12.
5.3.2
Die inverse Vektoriteration
Soll nicht der gr¨ oßte Eigenwert, sondern irgendein Eigenwert λk und der zugeh¨orige Eigenvektor xk bestimmt werden, so k¨ onnen diese mit Hilfe der inversen Vektoriteration ¯ ein N¨ berechnet werden. Ist λ aherungswert f¨ ur den Eigenwert λk mit ¯ =: ε ≪ δ := min |λi − λ|, ¯ (5.50) 0 < |λk − λ| i=k
dann wird ausgehend von einem geeigneten Startvektor z (0) die Folge von Vektoren z (ν) auf Grund der Vorschrift (ν) ¯ (A − λI)z = z (ν−1) , ν = 1, 2, . . . , (5.51) gebildet. Wenn wir wieder voraussetzen, dass die Matrix A ein System von n linear unabh¨ angigen Eigenvektoren x1 , x2 , . . . , xn besitzt, hat z (0) die eindeutige Darstellung n ci x i . (5.52) z (0) = i=1
232
5 Eigenwertprobleme
¯ ¯ F¨ ur die iterierten Vektoren z (ν) gilt dann wegen (A − λI)x i = (λi − λ)xi z (ν) =
n i=1
ci ¯ ν xi . (λi − λ)
(5.53)
ur z (ν) aus (5.53) Ist weiter in der Entwicklung (5.52) der Koeffizient ck = 0, dann folgt f¨ ⎡ ⎤ " n ¯ #ν ⎥ λk − λ 1 ⎢ x + c xi ⎦ c (5.54) z (ν) = ⎣ k k i ¯ ν ¯ (λk − λ) λi − λ i=1
i=k
eine rasche lineare Konvergenz mit der Konvergenzrate K = ε/δ gegen den Eigenvektor xk , falls wie im Algorithmus (5.47) nach jedem Iterationsschritt der resultierende Vektor aß (5.50) und (5.54) durch die gegenseitige z (ν) normiert wird. Die Konvergenz wird gem¨ ¯ bestimmt. Außerdem h¨angt sie vom Lage der Eigenwerte und die G¨ ute der N¨ aherung λ Startvektor z (0) ab. Die L¨ osung des linearen Gleichungssystems (5.51) nach z (ν) erfolgt mit dem Gauß-Algorith¯ mus unter Verwendung der relativen Spaltenmaximumstrategie. Wenn es sich bei A − λI um eine Hessenberg-Matrix handelt wie in Abschnitt 5.4.1, wird mit Vorteil die im Abschnitt 2.3.3 entwickelte Rechentechnik f¨ ur tridiagonale Gleichungssysteme angewandt. Werden die Zeilenvertauschungen wie dort vor Ausf¨ uhrung des betreffenden Eliminationsschrittes vorgenommen, dann entsteht in Analogie zu (2.122) ein Schlussschema mit HessenbergStruktur. Die resultierende Rechtsdreiecksmatrix ist selbstverst¨andlich ausgef¨ ullt mit von null verschiedenen Elementen. Das Vorgehen vereinfacht sowohl die Eliminationsschritte, d.h. im Wesentlichen die Zerlegung, als auch die Vorw¨artssubstitution. ¯ ist fast singul¨ ¯ eine gute N¨aherung eines Eigenwertes darstellt. Die Matrix A − λI ar, weil λ Folglich ist das Gleichungssystem (5.51) schlecht konditioniert. Deshalb ist zu erwarten, dass uber dem exakten Vektor z (ν) der berechnete Vektor z˜(ν) einen großen relativen Fehler gegen¨ (ν) (ν) aufweist. Es zeigt sich, dass der Fehler z˜ − z eine dominante Komponente in Richtung ¯ der betragskleinste ¯ besitzt. Nun ist aber λk − λ des betragskleinsten Eigenwertes von A− λI ¯ Eigenwert von A− λI; deshalb ist der Fehler in der L¨osung im Wesentlichen proportional zu xk , d.h. in der gew¨ unschten Richtung. Diese Feststellung macht die inverse Vektoriteration u ¨ berhaupt erst zu einem brauchbaren Verfahren zur Eigenvektorberechnung.
5.4
Transformationsmethoden
Die numerische Behandlung der Eigenwertaufgabe wird stark vereinfacht, falls die gegebe¨ ne Matrix A durch eine orthogonale Ahnlichkeitstransformation zuerst auf eine geeignete Form gebracht wird. Im Folgenden behandeln wir diesen vorbereitenden Schritt, wobei wir in erster Linie die Transformation einer unsymmetrischen Matrix A auf Hessenberg-Form betrachten; das ist eine um eine Nebendiagonale erweiterte Dreiecksmatrix. Die Anwendung derselben Transformation auf eine symmetrische Matrix liefert eine Tridiagonalmatrix. Auf die Matrizen in der einfacheren Form werden dann andere Verfahren zur Berechnung von Eigenwerten und Eigenvektoren angewendet.
233
5.4 Transformationsmethoden
5.4.1
Transformation auf Hessenberg-Form
¨ Eine gegebene unsymmetrische Matrix A der Ordnung n soll durch eine Ahnlichkeitstransformation auf eine obere Hessenberg-Matrix ⎛
⎜ ⎜ ⎜ ⎜ H =⎜ ⎜ ⎜ ⎜ ⎝
h11 h21 0 0 .. .
h12 h22 h32 0 .. .
h13 h23 h33 h43 .. .
h14 h24 h34 h44 .. .
... ... ... ... .. .
h1n h2n h3n h4n .. .
0
0
...
0
hn,n−1
hnn
⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
(5.55)
gebracht werden, f¨ ur deren Elemente gilt hij = 0
f¨ ur alle i > j + 1.
(5.56)
Die gew¨ unschte Transformation wird erreicht durch eine geeignete Folge von Jacobi-Rotationen, wobei in jedem Schritt ein Matrixelement zu null gemacht wird. Dabei wird darauf geachtet, dass ein einmal annuliertes Matrixelement durch nachfolgende Drehungen den Wert null beibeh¨ alt. Im Gegensatz zu den Jacobi-Verfahren m¨ ussen die Rotationsindexpaare so gew¨ ahlt werden, dass das zu annullierende Element nicht im außendiagonalen Kreuzungspunkt der ver¨ anderten Zeilen und Spalten liegt. Zur Unterscheidung spricht man deshalb auch von Givens-Rotationen [Par 98]. Zur Durchf¨ uhrung der Transformation existieren zahlreiche M¨ oglichkeiten. Es ist naheliegend, die Matrixelemente unterhalb der Nebendiagonale spaltenweise in der Reihenfolge a31 , a41 , . . . , an1 , a42 , a52 , . . . , an2 , . . . , an,n−2
(5.57)
zu eliminieren. Mit den korrespondierenden Rotationsindexpaaren (2, 3), (2, 4), . . . , (2, n), (3, 4), (3, 5), . . . , (3, n), . . . , (n − 1, n)
(5.58)
und noch geeignet festzulegenden Drehwinkeln ϕ wird das Ziel erreicht werden. Zur Elimination des aktuellen Elementes aij = 0 mit i ≥ j + 2 wird gem¨aß (5.57) und (5.58) eine (j + 1, i)-Drehung angewandt. Das Element aij wird durch diese Rotation nur von der Zeilenoperation betroffen. Die Forderung, dass das transformierte Element a′ij verschwinden soll, liefert nach (5.12) wegen p = j + 1 < i = q die Bedingung a′ij = aj+1,j sin ϕ + aij cos ϕ = 0.
(5.59)
Zusammen mit der Identit¨ at cos2 ϕ+sin2 ϕ = 1 ist das Wertepaar cos ϕ und sin ϕ, abgesehen von einem frei w¨ ahlbaren Vorzeichen, bestimmt. Aus einem bald ersichtlichen Grund soll der Drehwinkel ϕ auf das Intervall [−π/2, π/2] beschr¨ankt werden. Deshalb werden die Werte
234
5 Eigenwertprobleme
wie folgt festgelegt. Falls
Falls
aj+1,j = 0 :
−sgn (aj+1,j ) aij |aj+1,j | , sin ϕ = $ cos ϕ = $ a2j+1,j + a2ij a2j+1,j + a2ij
(5.60)
aj+1,j = 0 : cos ϕ = 0,
sin ϕ = 1
Nun bleibt noch zu verifizieren, dass mit der Rotationsreihenfolge (5.58) die Transformation einer Matrix A auf Hessenberg-Form (5.55) erreicht wird. Dazu ist zu zeigen, dass die bereits erzeugten Nullelemente durch sp¨ atere Drehungen unver¨andert bleiben. F¨ ur die erste Spalte ist dies offensichtlich, denn jede der (2, i)-Rotationen betrifft nur die zweiten und i-ten Zeilen und Spalten, wobei genau das Element ai1 eliminiert wird. F¨ ur die Transformation der weiteren Spalten zeigen wir dies durch einen Induktionsschluss. Dazu nehmen wir an, dass die ersten r Spalten bereits auf die gew¨ unschte Form gebracht worden seien. Zur Elimination der Elemente ai,r+1 der (r + 1)-ten Spalte mit i ≥ r + 3 werden sukzessive (r + 2, i)-Drehungen angewandt. Unter der getroffenen Voraussetzung werden in den ersten r Spalten durch die Zeilenoperation nur Nullelemente miteinander linear kombiniert, so dass diese unver¨ andert bleiben. Da i > r + 2 ist, werden in der Spaltenoperation nur Spalten mit Indizes gr¨ oßer als (r + 1) ver¨ andert. Somit wird mit insgesamt N ∗ = (n − 1)(n − 2)/2 ¨ Givens-Rotationen die Ahnlichkeitstransformation von A auf eine obere Hessenberg-Matrix H erzielt. Um den dazu erforderlichen Rechenaufwand zu bestimmen, sehen wir uns noch aher an. Nach (5.12) und mit (5.60) ergibt sich die Transformation des Elementes aj+1,j n¨ $ aj+1,j |aj+1,j | + sgn(aj+1,j )a2ij $ a′j+1,j = = sgn(aj+1,j ) a2j+1,j + a2ij . a2j+1,j + a2ij Werden die Formeln (5.60) modifiziert zu Falls
Falls
$ aj+1,j = 0 : w := sgn(aj+1,j ) a2j+1,j + a2ij , −aij aj+1,j , sin ϕ = cos ϕ = w w aj+1,j = 0 : w := −aij , cos ϕ = 0,
(5.61)
sin ϕ = 1,
dann ist a′j+1,j = w, und die Berechnung dieses neuen Elementes erfordert keine Operation. Eine Givens-Rotation zur Elimination des Elementes aij der j-ten Spalte ben¨otigt vier multiplikative Operationen und eine Quadratwurzel gem¨aß (5.61), dann 4(n−j) Multiplikationen f¨ ur die Zeilenoperation (5.12) und schließlich 4n Multiplikationen f¨ ur die Spaltenoperation (5.13). Zur Behandlung der j-ten Spalte sind somit 4(n − j − 1)(2n − j + 1) Multiplikationen und (n − j − 1) Quadratwurzeln erforderlich. Die Summation u ¨ ber j von 1 bis (n − 2) ergibt einen Rechenaufwand von " # 10 10 3 2 n+2 = n − 8n2 + n + 4 (5.62) ZHessG = (n − 2)(n − 1) 3 3 3
235
5.4 Transformationsmethoden
Multiplikationen und N ∗ = (n − 1)(n − 2)/2 Quadratwurzeln. Da wir im Folgenden die Eigenwertaufgabe f¨ ur die Hessenberg-Matrix H l¨osen werden, m¨ ussen wir uns dem Problem zuwenden, wie die Eigenvektoren von A aus denjenigen von H erhalten werden k¨ onnen. F¨ ur H gilt die Darstellung H
= U TN ∗ . . . U T2 U T1 AU 1 U 2 . . . U N ∗ = QT AQ,
Q
= U 1U 2 . . . U N ∗ .
Darin ist U k die k-te Jacobi-Rotationsmatrix, und Q ist als Produkt der N ∗ orthogonalen Matrizen U k selbst orthogonal. Die Eigenwertaufgabe Ax = λx geht mit der Matrix Q u ¨ ber in QT AQQT x = H(QT x) = λ(QT x), d.h. zwischen den Eigenvektoren xj von A und y j von H besteht die Beziehung y j = QT xj ,
oder
xj = Qy j = U 1 U 2 . . . U N ∗ y j .
(5.63)
Ein Eigenvektor xj berechnet sich somit aus y j durch sukzessive Multiplikation des letzteren mit den Jacobi-Rotationsmatrizen U k , jedoch in umgekehrter Reihenfolge, wie sie bei der Transformation von A auf Hessenberg-Form zur Anwendung gelangten. Dazu muss die Information u ugung stehen. Es ist naheliegend, ¨ ber die einzelnen Jacobi-Matrizen zur Verf¨ die Werte cos ϕ und sin ϕ abzuspeichern, doch sind dazu (n − 1)(n − 2) ≈ n2 Speicherpl¨atze erforderlich. Nach einem geschickten Vorschlag [Ste 76] gen¨ ugt aber ein einziger Zahlenwert, aus dem sich cos ϕ und sin ϕ mit geringem Rechenaufwand und vor allem numerisch genau wieder berechnen lassen. Man definiert den Zahlenwert ⎧ ⎨ 1, ̺ := sin ϕ, ⎩ sgn(sin ϕ)/ cos ϕ,
falls sin ϕ = 1, falls | sin ϕ| < cos ϕ, falls | sin ϕ| ≥ cos ϕ und sin ϕ = 1.
(5.64)
Hier wird wesentlich von der oben getroffenen Begrenzung des Drehwinkels Gebrauch gemacht, denn dadurch ist sichergestellt, dass cos ϕ ≥ 0 gilt. Die Berechnung von cos ϕ und sin ϕ aus ̺ erfolgt durch entsprechende Fallunterscheidungen. Der die Rotation vollkommen charakterisierende Wert ̺ kann an die Stelle des eliminierten Matrixelementes aij gespeichert werden. Nach ausgef¨ uhrter Transformation von A auf Hessenbergform H ist die Information f¨ ur die R¨ ucktransformation der Eigenvektoren unterhalb der Nebendiagonale vorhanden. Die Transformation einer unsymmetrischen Matrix A der Ordnung n auf Hessenberg-Form besitzt die einfache algorithmische Beschreibung (5.65). Die Bereitstellung der Werte ̺ ist
236
5 Eigenwertprobleme
allerdings nicht ber¨ ucksichtigt. Dabei stellt τ die Maschinengenauigkeit dar, siehe (1.7). f¨ ur j = 1, 2, . . . , n − 2: f¨ ur i = j + 2, j + 3, . . . , n: falls aij = 0: falls |aj+1,j | < τ × |aij |: w = −aij ; c = 0; s = 1 sonst $ w = sgn(aj+1,j ) a2j+1,j + a2ij
(5.65)
c = aj+1,j /w; s = −aij /w aj+1,j = w; aij = 0 f¨ ur k = j + 1, j + 2, . . . , n: h = c × aj+1,k − s × aik aik = s × aj+1,k + c × aik ; aj+1,k = h f¨ ur k = 1, 2, . . . , n: h = c × ak,j+1 − s × aki aki = s × ak,j+1 + c × aki ; ak,j+1 = h
Beispiel 5.3. Die Matrix 0
B B B B =B B B @
7 −6 −1 −8 −4 6
3 4 −9 0 3 1
4 −5 2 −1 −5 4
−11 7 2 5 7 −11
−9 1 9 0 2 −7
−2 12 1 8 10 −1
1 C C C C C C C A
(5.66)
¨ wird vermittels einer orthogonalen Ahnlichkeitstransformation auf Hessenberg-Form transformiert. Nach vier Givens-Transformationen zur Elimination der Elemente der ersten Spalte lautet die zu ahnliche Matrix (4) , falls die Matrixelemente auf sechs Dezimalstellen nach dem Komma gerundet ¨ werden. 0
(4)
7.000000 B −12.369317 B B 0 . B =B B 0 B @ 0 0
−7.276069 3.452379 −9.536895 −5.933434 4.130719 −6.658726 8.223249 0.509438 −0.571507 4.324324 7.618758 9.855831 −0.821267 3.340098 −0.512443 −0.698839 1.384035 −3.643194 0.745037 −0.162309 −6.953693 0.630344 −4.548600 −3.872656
Die Fortsetzung der Transformation liefert die Hessenberg-Matrix
1 −6.323124 19.209667 C C C −1.445000 C C −5.843013 C C 5.627779 A 4.219708
, in welcher unterhalb der
237
5.4 Transformationsmethoden
Subdiagonale die Werte ̺ (5.64) anstelle der Nullen eingesetzt sind. 1 0 7.000000 −7.276069 −5.812049 0.139701 9.015201 −7.936343 B −12.369317 4.130719 18.968509 −1.207073 −10.683309 2.415951 C C B C B 4.181396 −3.250955 C . B −0.164399 −7.160342 2.447765 −0.565594 =B C (5.67) B −1.652189 −1.750721 −8.598771 2.915100 3.416858 5.722969 C B C @ −0.369800 1.706882 −1.459149 −1.046436 −2.835101 10.979178 A 0.485071 −4.192677 4.429714 1.459546 −1.414293 5.341517
△
5.4.2
Transformation auf tridiagonale Form
¨ Wird die Folge der im letzten Abschnitt beschriebenen Ahnlichkeitstransformationen auf eine symmetrische Matrix A angewendet, so ist die resultierende Matrix J = QT AQ infolge der Bewahrung der Symmetrie tridiagonal. ⎛ ⎞ α1 β1 ⎜ β α ⎟ β2 ⎜ 1 2 ⎟ ⎜ ⎟ β2 α3 β3 ⎜ ⎟ ⎜ ⎟ J =⎜ (5.68) .. .. .. ⎟ . . . ⎜ ⎟ ⎜ ⎟ ⎝ βn−2 αn−1 βn−1 ⎠ βn−1 αn
Den Prozess bezeichnet man als Methode von Givens [Giv 54, Giv 58]. Unter Ber¨ ucksichtigung der Symmetrie vereinfacht sich der oben beschriebene Algorithmus, da allein mit den Matrixelementen in und unterhalb der Diagonale gearbeitet werden kann. Die typische Situation ist in Abb. 5.2 zur Elimination eines Elementes aij (•) , (i ≥ j + 2) dargestellt. Aus Abb. 5.2 ergibt sich folgender Ablauf f¨ ur die Durchf¨ uhrung der Givens-Rotation:
1. In der j-ten Spalte ist nur das Element aj+1,j (×) zu ersetzen. 2. Es werden die drei Matrixelemente in den Kreuzungspunkten umgerechnet. 3. Behandlung der Matrixelemente zwischen den Kreuzungspunkten in der (j + 1)-ten Spalte und der i-ten Zeile. 4. Transformation der Elemente unterhalb der i-ten Zeile, die in der i-ten und in der (j + 1)-ten Spalte liegen. Zur Reduktion des Rechenaufwandes schreiben wir die Formeln (5.14), (5.15) und (5.16) mit z := (app − aqq ) sin ϕ + 2apq cos ϕ in der Form a′′pp = app − (z sin ϕ),
a′′qq = aqq + (z sin ϕ),
a′′qp = −aqp + z cos ϕ. Damit betr¨ agt der Rechenaufwand zur Elimination von aij nur 4 + 5 + 4(n − j − 2) = 4(n − j) + 1 Multiplikationen und eine Quadratwurzel. Zur Behandlung der j-ten Spalte sind somit (n − j − 1)(4n − 4j + 1) Multiplikationen und (n − j − 1) Quadratwurzeln n¨otig. Nach Summation u ¨ ber j von 1 bis (n − 2) ergibt sich der Rechenaufwand der Methode von
238
5 Eigenwertprobleme j
j+1 0 0
i
11 00 00 11 00 11 00 11 00 11 00 11 00 11 0011111111 11 00000000 0000000011 11111111 00 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11
0 0
Abb. 5.2 Givens-Rotation f¨ ur eine symmetrische Matrix.
Givens zu 4 3 7 2 7 n − n + n+1 3 2 6 Multiplikationen und N ∗ = (n − 1)(n − 2)/2 Quadratwurzeln. ZGivens =
(5.69)
Die algorithmische Beschreibung der Transformation auf tridiagonale Gestalt geht aus (5.65) dadurch hervor, dass dort die beiden letzten Schleifenanweisungen ersetzt werden durch die Anweisungen in (5.70). d = aj+1,j+1 − aii ; z = d × s + 2 × c × ai,j+1 ;
h = z × s; aj+1,j+1 = aj+1,j+1 − h; aii = aii + h; ai,j+1 = z × c − ai,j+1
f¨ ur k = j + 2, j + 3, . . . , i − 1: h = c × ak,j+1 − s × aik
aik = s × ak,j+1 + c × aik ; ak,j+1 = h
f¨ ur k = i + 1, i + 2, . . . , n:
h = c × ak,j+1 − s × aki
aki = s × ak,j+1 + c × aki ; ak,j+1 = h
Beispiel 5.4. Die Transformation der symmetrischen Matrix 0
B B B =B B @
5 4 3 2 1
4 6 0 4 3
3 0 7 6 5
2 4 6 8 7
1 3 5 7 9
1 C C C C C A
(5.70)
239
5.4 Transformationsmethoden auf tridiagonale Form ergibt 0 5.000000 B 5.477226 B . B = B −0.600000 B @ −0.371391 −0.182574
5.477226 13.933333 9.298506 −3.758508 −1.441553
0 9.298506 9.202474 −2.664957 0.312935
0 0 −2.664957 4.207706 2.154826
0 0 0 2.154826 2.656486
1
C C C C. C A
(5.71)
Unterhalb der Subdiagonale sind wieder die Werte ̺ (5.64) der Givens-Rotationen eingesetzt, die allenfalls f¨ ur eine R¨ ucktransformation der Eigenvektoren von in diejenigen von gebraucht werden. △
5.4.3
Schnelle Givens-Transformation
Wir betrachten die Multiplikation einer Matrix A mit einer (p, q)-Rotationsmatrix U (p, q; ϕ) T (5.11) A¼ = U A. Da nur die Matrixelemente der p-ten und q-ten Zeilen ge¨andert werden, richten wir unser Augenmerk darauf und schreiben zur Vereinfachung c = cos ϕ, s = sin ϕ. Nach den Formeln (5.12) sind zur Berechnung eines Paares von ge¨anderten Matrixelementen a′pj = capj − saqj a′qj = sapj + caqj
(5.72)
vier Multiplikationen erforderlich. Es gelingt aber nach einer Idee von Gentleman [Gen 73, Ham 74, Rat 82] die Zahl der Operationen im Wesentlichen auf die H¨alfte zu reduzieren, indem man sowohl die Matrix A als auch die transformierte Matrix A′ mit geeignet zu w¨ ahlenden regul¨ aren Diagonalmatrizen D und D ′ in der faktorisierten Form ansetzt ˜ A = D A,
˜¼ , A¼ = D ¼ A
D = diag (d1 , d2 , . . . , dn ). (0)
(1)
(5.73)
(2)
Dabei wird f¨ ur den Iterationsprozess A → A → A · · · die Diagonalmatrix D = D 0 = I gesetzt. Aus (5.72) erhalten wir so die neue Darstellung d′p a ˜′pj = c dp a ˜pj − s dq a ˜qj d′q a ˜′qj = s dp a ˜pj + c dq a ˜qj
(5.74)
Um die Elemente a ˜′pj und a ˜′qj mit nur zwei Multiplikationen berechnen zu k¨onnen, existieren im Wesentlichen die folgenden vier M¨ oglichkeiten zur Festlegung der Diagonalelemente d′p ′ und dq . a) d′p = c dp b) d′p = s dq c) d′p = c dp d) d′p = s dq
und und und und
d′q d′q d′q d′q
= c dq = s dp = s dp = c dq
(5.75)
Im Folgenden verwenden wir den Fall a) von (5.75), falls |c| ≥ |s| ist, sonst den Fall b). Dies geschieht im Hinblick darauf, dass stets eine Folge von Multiplikationen mit Rotationsmatrizen anzuwenden sein wird, so dass entsprechende Diagonalelemente in D mit c oder s zu multiplizieren sein werden. Wir erhalten somit
240
5 Eigenwertprobleme
Fall a)
a ˜′pj a ˜′qj
Fall b)
a ˜′pj a ˜′qj
"
# sdq =a ˜pj − a ˜qj # cdp " sdp a ˜pj + a ˜qj = cdq "
# cdp = a ˜pj − a ˜qj sdq " # cdq =a ˜pj + a ˜qj sdp
(5.76)
(5.77)
Mit(5.76) oder (5.77) ist bereits der entscheidende Schritt vollzogen worden, die neuen Ele˜′ nach Vorbereitung der einschl¨agigen mente a ˜′pj und a ˜′qj der diagonalskalierten Matrix A Multiplikatoren mit zwei Multiplikationen zu berechnen. Wir gehen noch einen Schritt weiter und beachten, dass eine Multiplikation von A mit U T das Ziel hat, das Matrixelement aqk = 0 mit einem bestimmten Index k zum Verschwinden zu bringen. Nach (5.74) soll dann d′q a ˜′qk = s dp a ˜pk + c dq a ˜qk = 0 sein, also T := cot ϕ =
c dp a ˜pk =− . s dq a ˜qk
(5.78)
Mit (5.78) gilt dann aber f¨ ur die beiden Multiplikatoren in (5.77) −
d2p a ˜pk cdp = 2 =: f1 , sdq dq a ˜qk
−
cdq a ˜pk = =: f2 , sdp a ˜qk
(5.79)
w¨ ahrend die beiden Multiplikatoren in (5.76) die Kehrwerte von (5.79) sind. Aus (5.79) erkennt man aber, dass zur Bestimmung der Multiplikatoren f1 und f2 gar nicht die Diagonalelemente dp und dq ben¨ otigt werden, sondern ihre Quadrate d2p und d2q . Deshalb f¨ uhrt man diese Werte mit und ersetzt (5.75) durch a) (d′p )2 = c2 (dp )2
und
(d′q )2 = c2 (dq )2
b) (d′p )2 = s2 (dq )2
und
(d′q )2 = s2 (dp )2
(5.80)
Die in (5.80) ben¨ otigten Werte c2 oder s2 lassen sich entweder aus T 2 = cot2 ϕ oder aus seinem Kehrwert t2 = tan2 ϕ auf Grund von trigonometrischen Identit¨aten berechnen. Die Entscheidung, ob Fall a) oder b) vorliegt, erfolgt auf Grund des nach (5.79) berechneten Wertes von T 2 = f1 f2 , welcher unter der getroffenen Voraussetzung a ˜qk = 0 problemlos ur die jetzt g¨ ultigen gebildet werden kann. Mit T 2 ≥ 1 liegt der Fall a) vor, und es sind f¨
241
5.4 Transformationsmethoden
Multiplikatoren die Kehrwerte zu bilden. Mit dieser Fallunterscheidung erhalten wir a) t2 = 1/T 2; 2
b) T = f1 f2 ;
1 1 + t2 1 s2 = sin2 ϕ = 1 + T2
c2 = cos2 ϕ =
(5.81)
Mit dieser Modifikation ist gleichzeitig die Berechnung der Quadratwurzel in (5.61) eliminiert worden. Die schnelle Givens-Transformation beruht also darauf, die Quadrate der ˜ nachzuf¨ Diagonalelemente von D der faktorisierten Matrix A = D A uhren und die Matrix ¼ ˜¼ ˜ A umzurechnen, so dass D A gleich der transformierten Matrix A′ ist. Wird die transformierte Matrix nach einer Folge von Givens-Transformationen ben¨otigt, ist die faktorisierte Darstellung noch auszumultiplizieren. Dazu sind n Quadratwurzeln und eine der Form der transformierten Matrix entsprechende Zahl von Multiplikationen n¨otig. ¨ Nun wenden wir uns den Givens-Rotationen als Ahnlichkeitstransformationen zu. Da sowohl eine Multiplikation von links als auch eine Multiplikation von rechts erfolgt, sind die Matrizen in der folgenden faktorisierten Form anzusetzen ˜¼¼ D ¼ , D = diag(d1 , d2 , . . . , dn ). ˜ (5.82) A = D AD, A¼¼ = D ¼ A ˜¼ D, Den ersten Teilschritt der Transformation A′ = U T A mit der Darstellung A¼ = D ¼ A wo die rechts stehende Diagonalmatrix D diejenige aus der Faktorisierung von A ist, k¨onnen wir von oben unver¨ andert u ¨ bernehmen. Denn die Diagonalelemente von D treten in den zu (5.74) analogen Formeln beidseitig auf und k¨ urzen sich deshalb weg. F¨ ur den zweiten Teilschritt erhalten wir aus (5.13) und (5.82) a′′ip = d′i a ˜′ip dp − s d′i a ˜′iq dq ˜′′ip d′p = c a′ip − s a′iq = c d′i a a′′iq = d′i a ˜′′iq d′q = s a′ip + c a′iq = s d′i a ˜′ip dp + c d′i a ˜′iq dq Hier k¨ urzen sich f¨ ur jeden Index i die Diagonalelemente d′i weg, so dass sich daraus f¨ ur die beiden F¨ alle a) und b) die zu (5.76) und (5.77) analogen Formeln ergeben. " # sdq ′ ′′ Fall a) a ˜ip = a ˜ip − ˜′ip + f1 a ˜′iq a ˜′iq = a cdp " # sdp ′′ a ˜iq = ˜′iq = −f2 a ˜′ip + a ˜′iq a ˜′ip + a cdq (5.83) # " cdp ˜′iq = −f1 a ˜′ip − a ˜′iq Fall b) a ˜′′ip = a ˜′ip − a sdq # " cdq ′′ ′ ˜′ip − f2 a ˜′iq a ˜iq = a ˜ip + a ˜′iq = a sdp Die schnelle Version der Givens-Rotationen wenden wir an, um eine unsymmetrische Matrix A auf Hessenberg-Form zu transformieren. Die Behandlung des Elementes aij mit i ≥ j + 2 der j-ten Spalte ben¨ otigt die aufeinander folgende Berechnung der Werte f1 und f2 nach (5.79) und von T 2 = f1 f2 (vier wesentliche Operationen). Nach einer Fallunterscheidung sind allenfalls die Kehrwerte dieser drei Werte zu bilden (drei wesentliche Operationen).
242
5 Eigenwertprobleme
Die Berechnung von c2 oder s2 und die Nachf¨ uhrung der beiden Diagonalelemente nach (5.80) erfordert drei Operationen. Bis zu dieser Stelle betr¨agt die Zahl der multiplikativen Rechenoperationen entweder 7 oder 10. Unter der Annahme, die beiden F¨alle seien etwa gleich h¨ aufig, setzen wir die Zahl der Operationen f¨ ur das Folgende mit 9 fest. Eine weitere Multiplikation tritt auf zur Berechnung von a˜′j+1,j nach (5.76) oder (5.77), und die Zeilenund Spaltenoperationen ben¨ otigen zusammen 2(n − j + n) Multiplikationen. F¨ ur die Elimination der Elemente aij der j-ten Spalte ist der Aufwand (n − j − 1)(4n − 2j + 10), und nach 35 5 Summation u ¨ ber j von 1 bis (n − 2) ergibt sich so die Zahl von n3 − n + 10 Operationen. 3 3 Aus der faktorisierten Darstellung erhalten wir die gesuchte Hessenberg-Matrix H bei (n2 + 3n − 2)/2 von null verschiedenen Matrixelementen mit weiteren (n2 + 3n − 2) Multiplikationen und n Quadratwurzeln. Der totale Rechenaufwand zur Transformation von A auf Hessenberg-Form mit den schnellen Givens-Rotationen betr¨agt damit 26 5 3 n + n2 − n + 8. (5.84) 3 3 Im Vergleich zu (5.62) reduziert sich die Zahl der Multiplikationen f¨ ur große Ordnungen n tats¨ achlich auf die H¨ alfte, und die Anzahl der Quadratwurzeln sinkt von N ∗ = (n − 1)(n − 2)/2 auf n. ZHessSG =
Die schnelle Givens-Transformation hat den kleinen Nachteil, dass die Information u ¨ ber die ausgef¨ uhrten Rotationen nicht mehr in je einer einzigen Zahl ̺ (5.64) zusammengefasst werden kann, vielmehr sind jetzt zwei Werte n¨ otig. ˜ angewandten Transformationen nicht mehr orObwohl die auf die skalierten Matrizen A thogonal sind, zeigt eine Analyse der Fehlerfortpflanzung, dass die schnelle Version der Givens-Rotationen im Wesentlichen die gleichen guten Eigenschaften hat wie die normale Givens-Transformation [Par 98, Rat 82]. Die algorithmische Beschreibung der schnellen Givens-Transformation ist weitgehend analog zu (5.65). Die Bestimmung der Faktoren f1 und f2 und die problemgerechte Wahl und Ausf¨ uhrung der F¨ alle a) oder b) erfordern entsprechende Erweiterungen. Beispiel 5.5. Die Matrix (5.66) der Ordnung n = 6 soll mit Hilfe der schnellen GivensTransformation auf Hessenberg-Form transformiert werden. Zur Elimination von a31 ist wegen = gem¨ aß (5.79) f1 = f2 = 6, und da T 2 = f1 f2 = 36 > 1 ist, liegt Fall a) vor, d.h. es gelten . f1 = f2 = 1/6 und c2 = 0.97297297. Nach der betreffenden Transformation ist
0
B B B . B ˜1 = B B B @
7.00000 −6.16667 0 −8.00000 −4.00000 6.00000
3.66667 1.72222 −9.19444 −0.16667 2.16667 1.66667
3.50000 −5.08333 4.44444 −1.00000 −5.50000 3.83333
−11.00000 7.33333 0.83333 5.00000 7.00000 −11.00000
−9.00000 2.50000 8.83333 0 2.00000 −7.00000
−2.00000 12.16667 −1.00000 8.00000 10.00000 −1.00000
1 C C C C C C C A
. (1) und 21 = diag(1, 0.97297297, 0.97297297, 1, 1, 1). Die Elimination von a ˜ 41 erfolgt mit Multipli. katoren von Fall b), n¨ amlich f1 = 0.75 und f2 = 0.770833, und somit sind T 2 = 0.578125 und
243
5.5 QR-Algorithmus
. s2 = 0.63366337. Die transformierte Matrix ist 1 0 7.00000 8.25000 3.50000 12.14583 −9.00000 −2.00000 B 12.62500 11.34375 4.81250 6.96875 −1.87500 −17.12500 C C B C B 0 6.06250 4.44444 −9.83681 8.83333 −1.00000 . C B ˜2 = B C B 0 −4.86719 −4.31250 −0.83116 2.50000 6.00000 C C B @ −4.00000 −8.62500 −5.50000 −3.22917 2.00000 10.00000 A 6.00000 9.75000 3.83333 10.14583 −7.00000 −1.00000 2 . mit 2 = diag(1, 0.633663, 0.972973, 0.616537, 1, 1). Nach zehn Transformationsschritten erh¨ alt man die gesuchte Matrix in faktorisierter Form mit 1 0 7.00000 11.25000 6.84385 −0.19611 −33.40105 −18.47911 B 19.12500 9.87500 34.53504 −2.61995 −61.19928 −8.69770 C C B C B −13.03649 3.39400 −0.93493 18.24220 8.91338 C . B 0 ˜10 = C B B 0 0 −14.21384 5.74463 17.77116 −18.70622 C C B @ 0 0 0 −5.44254 −38.91688 −94.71419 A 0 0 0 0 12.20070 28.95913 . 2 und 10 = diag(1, 0.418301, 0.721204, 0.507448, 0.072850, 0.184450). Daraus ergibt sich die Hessen˜ = berg-Matrix ¨ bereinstimmt. Die beiden 10 10 10 , welche im Wesentlichen mit (5.67) u resultierenden Matrizen unterscheiden sich nur dadurch, dass die Vorzeichen der Elemente einer Zeile und der entsprechenden Spalte verschieden sein k¨ onnen. △
5.5
QR-Algorithmus
Die numerisch zuverl¨ assigste Methode zur Berechnung der Eigenwerte einer HessenbergMatrix H oder einer symmetrischen, tridiagonalen Matrix J besteht darin, eine Folge von orthogonal-¨ ahnlichen Matrizen zu bilden, die gegen eine Grenzmatrix konvergieren, welche die gesuchten Eigenwerte liefert.
5.5.1
Grundlagen zur QR-Transformation
Zur Begr¨ undung und anschließenden praktischen Durchf¨ uhrung des Verfahrens stellen wir einige Tatsachen zusammen. Satz 5.7. Jede quadratische Matrix A l¨asst sich als Produkt einer orthogonalen Matrix Q und einer Rechtsdreiecksmatrix R in der Form A = QR
(5.85)
darstellen. Man bezeichnet die Faktorisierung (5.85) als QR-Zerlegung der Matrix A. Beweis. Die Existenz der QR-Zerlegung zeigen wir auf konstruktive Art. Zu diesem Zweck wird die Matrix A sukzessive mit geeignet zu w¨ahlenden Rotationsmatrizen U T (p, q; ϕ)
244
5 Eigenwertprobleme
von links so multipliziert, dass die Matrixelemente unterhalb der Diagonale fortlaufend eliminiert werden. Die Elimination erfolgt etwa spaltenweise in der Reihenfolge a21 , a31 , . . . , an1 , a32 , a42 , . . . , an2 , a43 , . . . , an,n−1
(5.86)
mit (p, q)-Rotationsmatrizen und den entsprechenden Rotationsindexpaaren (1, 2), (1, 3), . . . , (1, n), (2, 3), (2, 4), . . . , (2, n), (3, 4), . . . , (n − 1, n).
(5.87)
(k−1)
in A(k−1) wird eine (j, i)-Rotationsmatrix Zur Elimination des Matrixelementes aij T T U k = U (j, i; ϕk ) angewandt zur Bildung von A(k) = U Tk A(k−1) ,
A(0) = A,
1 k = 1, 2, . . . , n(n − 1). 2
(5.88)
Bei dieser Multiplikation werden nach Abschnitt 5.1.4 nur die j-te und i-te Zeile linear kombiniert. Insbesondere soll nach (5.12) (k)
(k−1)
aij = ajj
(k−1)
sin ϕk + aij
cos ϕk = 0
(5.89) (k−1)
sein, woraus sich die Werte cos ϕk und sin ϕk analog zu (5.61) bestimmen lassen. Ist aij 0, so erfolgt selbstverst¨ andlich keine Multiplikation, und es ist U k = I zu setzen.
=
Nun bleibt zu verifizieren, dass die in (5.88) erzeugte Folge von Matrizen A(k) f¨ ur N = n(n − 1)/2 eine Rechtsdreiecksmatrix A(N ) = R liefert. Die ersten (n − 1) Multiplikationen eliminieren in offensichtlicher Weise die Elemente ai1 mit 2 ≤ i ≤ n. Wir nehmen jetzt an, dass die ersten (j − 1) Spalten bereits die gew¨ unschte Form aufweisen. Die Elimination irgendeines Elementes aij der j-ten Spalte mit i > j geschieht durch Linksmultiplikation mit einer (j, i)-Rotationsmatrix. In den ersten (j − 1) Spalten werden nur Matrixelemente linear kombiniert, die nach Annahme verschwinden. Die bereits erzeugten Nullelemente bleiben tats¨ achlich erhalten, und es gilt U TN U TN −1 . . . U T2 U T1 A(0) = R. Die Matrix QT := U TN U TN −1 . . . U T2 U T1 ist als Produkt von orthogonalen Matrizen orthogonal, und somit ist die Existenz der QR-Zerlegung A(0) = A = QR nachgewiesen. Eine unmittelbare Folge des Beweises von Satz 5.7 ist der Satz 5.8. Die QR-Zerlegung einer Hessenberg-Matrix H oder einer tridiagonalen Matrix J der Ordnung n ist mit (n − 1) Rotationsmatrizen durchf¨ uhrbar. Beweis. Ist die gegebene Matrix A entweder von Hessenberg-Form oder tridiagonal, erfolgt die Elimination des einzigen, eventuell von null verschiedenen Elementes a21 der ersten Spalte unterhalb der Diagonale durch Linksmultiplikation mit der Matrix U T (1, 2; ϕ1 ) = U T1 . Dadurch bleibt die Struktur der Matrix A f¨ ur die (n − 1)-reihige Untermatrix erhalten, welche durch Streichen der ersten Zeile und Spalte von A(1) = U T1 A entsteht. Diese
245
5.5 QR-Algorithmus
Feststellung gilt dann zwangsl¨ aufig auch f¨ ur die folgenden Eliminationsschritte. Die Linksmultiplikation von A mit der Folge von (n − 1) Rotationsmatrizen mit den Indexpaaren (1, 2), (2, 3), . . . , (n − 1, n) leistet die QR-Zerlegung A = QR mit Q := U 1 U 2 . . . U n−1 . Im Fall einer tridiagonalen Matrix J enth¨ alt die Rechtsdreiecksmatrix R in den beiden der Diagonale benachbarten oberen Nebendiagonalen im Allgemeinen von null verschiedene Elemente, denn jede Linksmultiplikation mit U T (i, i + 1; ϕi ) erzeugt einen in der Regel nichtverschwindenden Wert an der Stelle (i, i + 2) f¨ ur i = 1, 2, . . . , n − 2. Die Aussage des Satzes 5.8 ist f¨ ur den nachfolgend beschriebenen Algorithmus von entscheidender Bedeutung, da die Berechnung der QR-Zerlegung einer Hessenberg-Matrix wesentlich weniger aufw¨ andig ist als diejenige einer voll besetzten Matrix. Eine QR-Transformation entsteht, wenn der QR-Zerlegung einer quadratischen Matrix A eine Multiplikation der Matrizen R und Q folgt: QR-Transformation: A = QR → A¼ = RQ
(5.90)
Satz 5.9. Die Matrix A′ = RQ nach (5.90) ist orthogonal-¨ahnlich zur Matrix A = QR. Beweis. Da die Matrix Q der QR-Zerlegung von A orthogonal und somit regul¨ar ist, exi¨ stiert ihre Inverse Q−1 = QT . Aus (5.90) folgt die orthogonale Ahnlichkeit der Matrizen ′ A und A gem¨ aß R = Q−1 A
und
−1
A¼ = RQ = Q
AQ.
Satz 5.10. Die Hessenberg-Form einer Matrix H der Ordnung n bleibt bei einer QR-Transformation erhalten. Beweis. Nach Satz 5.8 ist die Matrix Q der QR-Zerlegung einer Hessenberg-Matrix H der Ordnung n gegeben als Produkt der (n − 1) Rotationsmatrizen Q = U (1, 2; ϕ1 ) U (2, 3; ϕ2 ) . . . U (n − 1, n; ϕn−1 ).
(5.91)
Die QR-Transformierte H ¼ = RQ ergibt sich mit (5.91) durch fortgesetzte Multiplikation der Rechtsdreiecksmatrix R von rechts mit den Rotationsmatrizen. Die Matrix R U (1, 2; ϕ1 ) ist keine Rechtsdreiecksmatrix mehr, denn die Linearkombinationen der ersten und zweiten Spalten erzeugt genau an der Stelle (2, 1) ein von null verschiedenes Matrixelement unterhalb der Diagonale. Die darauffolgende Multiplikation mit U (2, 3; ϕ2 ) liefert durch die Spaltenoperation genau ein weiteres von null verschiedenes Element an der Position (3, 2). Allgemein erzeugt die Rechtsmultiplikation mit U (k, k + 1; ϕk ) an der Stelle (k + 1, k) ein Matrixelement ungleich null, ohne dabei die vorhergehenden Spalten zu ver¨andern. H ′ ist somit eine Hessenberg-Matrix. Der Rechenaufwand einer QR-Transformation f¨ ur eine Hessenberg-Matrix H der Ordnung n setzt sich zusammen aus demjenigen f¨ ur die Bildung der Rechtsdreiecksmatrix R und demjenigen f¨ ur die Berechnung von H ′ . Der allgemeine j-te Schritt des ersten Teils ben¨otigt
246
5 Eigenwertprobleme
unter Verwendung von (5.61) und (5.12) insgesamt 4 + 4(n − j) Multiplikationen und eine Quadratwurzel. Die Matrixmultiplikation mit U (j, j + 1; ϕj ) im zweiten Teil erfordert 4j + 2 Multiplikationen, falls man ber¨ ucksichtigt, dass das Diagonalelement und das neu entstehende Nebendiagonalelement nur je eine Operation ben¨otigen. Nach Summation u ¨ ber j von 1 bis (n − 1) betr¨ agt der Aufwand ZQR-Hess = (4n + 6)(n − 1) = 4n2 + 2n − 6
(5.92)
Multiplikationen und (n − 1) Quadratwurzeln.
Satz 5.11. Die QR-Transformierte einer symmetrischen tridiagonalen Matrix ist wieder symmetrisch und tridiagonal. Beweis. Da nach Satz 5.7 die Matrix A′ orthogonal-¨ahnlich zu A ist, bleibt die Symmetrie T wegen A′ = (Q−1 AQ)T = QT AT Q−1T = Q−1 AQ = A¼ erhalten. Weiter ist eine tridiagonale Matrix eine spezielle Hessenberg-Matrix, und folglich ist A′ nach Satz 5.10 von Hessenberg-Form. Unter Ber¨ ucksichtigung der Symmetrie muss A′ demzufolge tridiagonal sein. Als motivierende Grundlage des QR-Algorithmus dient der folgende Satz von Schur [Sch 09]. Da wir die Eigenwerte von reellen Matrizen berechnen wollen, wird der Satz nur in seiner reellen Form formuliert. Satz 5.12. Zu jeder reellen Matrix A der Ordnung n existiert eine orthogonale Matrix U der Ordnung n, so dass die zu A ¨ ahnliche Matrix R := U −1 AU die Quasidreiecksgestalt ⎞ ⎛ R11 R12 R13 · · · R1m ⎜ 0 R22 R23 · · · R2m ⎟ ⎟ ⎜ ⎜ 0 R33 · · · R3m ⎟ R := U −1 AU = ⎜ 0 (5.93) ⎟ ⎟ ⎜ . .. .. . . .. ⎠ ⎝ .. . . . . 0
0
0
...
Rmm
hat. Die Matrizen Rii , (i = 1, 2, . . . , m) besitzen entweder die Ordnung eins oder die Ordnung zwei und haben im letzten Fall ein Paar von konjugiert komplexen Eigenwerten. Beweis. Der Nachweis der Existenz einer orthogonalen Matrix U erfolgt in drei Teilen.
1) Es sei λ ein reeller Eigenwert von A und x ein zugeh¨origer, normierter Eigenvektor mit x2 = 1. Zu x gibt es im Ên weitere (n − 1) normierte, paarweise und zu x orthogonale Vektoren, welche die Spalten einer orthogonalen Matrix U 1 bilden sollen. Der Eigenvektor ˜ 1 ), wo U ˜ 1 ∈ Ên,(n−1) eine Matrix mit (n − 1) x stehe in der ersten Spalte von U 1 = (x, U ˜ 1 ) und weiter orthonormierten Vektoren darstellt. Dann gilt AU 1 = (λx, AU xT −1 T ˜ 1) U 1 AU 1 = U 1 AU 1 = (λx, AU (5.94) ˜ T1 U ⎞ ⎛ .. T ˜1 λ . x A U = ⎝ . . . . . . . . . . . . . . . ⎠ =: A1 . . ˜ T1 AU ˜1 0 .. U
247
5.5 QR-Algorithmus
In der zu A orthogonal-¨ ahnlichen Matrix A1 (5.94) steht der Eigenwert λ in der linken oberen Ecke. In der ersten Spalte steht darunter der Nullvektor auf Grund der Orthogonalit¨at ˜ 1 , und U ˜ T1 AU ˜ 1 ist eine reelle Matrix der Ordnung (n − 1). von x zu den Spalten von U
2) Ist λ = α+iβ mit β = 0 ein komplexer Eigenwert von A mit dem zugeh¨origen Eigenvektor ¯ = α − iβ der dazu konjugiert komplexe Eigenwert x = u + iv, dann ist notwendigerweise λ mit dem zugeh¨ origen konjugiert komplexen Eigenvektor x ¯ = u − iv. Es gilt also A(u ± iv) = (α ± iβ)(u ± iv), und damit f¨ ur Real- und Imagin¨ arteil Au = αu − βv,
Av = βu + αv.
(5.95)
Weil Eigenvektoren zu verschiedenen Eigenwerten linear unabh¨angig sind, trifft dies f¨ ur x und x ¯ zu, so dass auch die beiden Vektoren u und v linear unabh¨angig sind und folglich einen zweidimensionalen Unterraum im Ên aufspannen. Bildet man mit u und v die Matrix Y := (u, v) ∈ Ên,2 , so gilt nach (5.95) AY = Y
"
α β −β α
#
=: Y Γ.
(5.96)
In dem von u und v aufgespannten Unterraum gibt es zwei orthonormierte Vektoren x1 und x2 , welche wir zur Matrix X ∈ Ên,2 zusammenfassen, und es besteht eine Beziehung Y = XC
ar. mit C ∈ Ê2,2 regul¨
Die Matrizengleichung (5.96) geht damit u ¨ ber in AXC = XCΓ
oder
AX = XCΓC −1 =: XS.
(5.97)
Die Matrix S = CΓC −1 ∈ Ê2,2 ist ¨ ahnlich zu Γ und besitzt folglich das Paar von konjugiert ¯ = α − iβ. komplexen Eigenwerten λ = α + iβ und λ
Im Ên gibt es (n−2) weitere orthonormierte Vektoren, die zu x1 und x2 orthogonal sind. Mit ˜ 2) = diesen n orthonormierten Vektoren bilden wir die orthogonale Matrix U 2 := (x1 , x2 , U ˜ 2 ∈ Ên,n−2 eine Matrix mit orthonormierten Spaltenvektoren ist. Wegen ˜ 2 ), wo U (X, U (5.97) gilt dann U −1 2 AU 2
=
U T2 AU 2
=
XT ˜ T2 U
˜ ) A(X, U 2
⎞ .. T ˜2 S . X A U = ⎝ . . . . . . . . . . . . . . . ⎠ =: A2 . . ˜ T2 AU ˜2 0 .. U ⎛
(5.98)
248
5 Eigenwertprobleme
In der zu A orthogonal-¨ ahnlichen Matrix A2 (5.98) steht links oben die Matrix S. Darunter T T ˜ ˜ ist U 2 AX = U 2 XS = 0 ∈ Ê(n−2),2 eine Nullmatrix wegen der Orthogonalit¨at der Vek˜ 2 . Schließlich ist U ˜ T2 AU ˜ 2 eine reelle Matrix toren x1 und x2 zu den Spaltenvektoren von U der Ordnung (n − 2).
3) Auf Grund der Gestalt der Matrizen A1 (5.94) und A2 (5.98) besteht die Gesamtheit der ˜ T1 AU ˜ 1 und im zweiten Eigenwerte von A im ersten Fall aus λ und den Eigenwerten von U T
˜ 2 AU ˜ 2. Fall aus dem konjugiert komplexen Eigenwertpaar von S und den Eigenwerten von U T ˜i := U ˜ i AU ˜i Die orthogonal-¨ ahnliche Transformation kann analog auf die Untermatrix A der Ordnung (n − i) mit i = 1 oder i = 2 mit einem weiteren Eigenwert oder Eigenwertpaar ˜i in die Form ˜ i ∈ Ê(n−i),(n−i) die orthogonale Matrix, welche A angewandt werden. Ist V von (5.94) oder (5.98) transformiert, so ist ⎞ .. . 0 I i V := ⎝ . . . . . . . . . . ⎠ ∈ Ên,n . 0 .. V˜ i ⎛
diejenige orthogonale Matrix, welche mit V T Ai V die gegebene Matrix A einen Schritt weiter auf Quasidreiecksgestalt transformiert. Die konsequente Fortsetzung der Transformation liefert die Aussage des Satzes, wobei U als Produkt der orthogonalen Matrizen gegeben ist. Der Satz von Schur gilt unabh¨ angig von der Vielfachheit der Eigenwerte der Matrix A. Die Eigenwerte von A sind aus den Untermatrizen Rii der Quasidreiecksmatrix R entweder direkt ablesbar oder leicht berechenbar. Satz 5.12 enth¨alt eine reine Existenzaussage, und der Beweis ist leider nicht konstruktiv, da er von der Existenz eines Eigenwertes und eines zugeh¨ origen Eigenvektors Gebrauch macht, die ja erst zu bestimmen sind. Um Fehlinterpretationen vorzubeugen, sei darauf hingewiesen, dass die Spalten der orthogonalen Matrix U in (5.93) im Allgemeinen nichts mit den Eigenvektoren von A zu tun haben. F¨ ur einen komplexen Eigenwert von A ist dies ganz offensichtlich, da die aus (5.93) hervorgehende Matrizengleichung AU = U R reelle Matrizen enth¨alt.
5.5.2
Praktische Durchfu ¨hrung, reelle Eigenwerte
Durch sukzessive Anwendung der QR-Transformation (5.90) bilden wir nach Satz 5.9 eine Folge von orthogonal-¨ ahnlichen Matrizen mit dem Ziel, die Aussage des Satzes von Schur konstruktiv zu realisieren. Um den Rechenaufwand zu reduzieren und wegen Satz 5.10 wird die QR-Transformation nur auf eine Hessenberg-Matrix H = H 1 angewandt und die Folge der ¨ ahnlichen Matrizen gem¨ aß folgender Rechenvorschrift konstruiert. H k = Qk Rk ,
H k+1 = Rk Qk ,
k = 1, 2, . . .
(5.99)
Mit (5.99) ist der einfache QR-Algorithmus von Francis [Fra 62] erkl¨art. F¨ ur die Folge der Matrizen H k kann folgende Konvergenzeigenschaft gezeigt werden [Fra 62, Par 98, Wil 65].
249
5.5 QR-Algorithmus
Satz 5.13. Es seien λi die Eigenwerte von H mit der Eigenschaft |λ1 | > |λ2 | > . . . > |λn |. Weiter seien xi die Eigenvektoren von H, die als Spalten in der regul¨aren Matrix X ∈ Ên,n zusammengefasst seien. Falls f¨ ur X −1 die LR-Zerlegung existiert, dann konvergieren die (k) Matrizen H k f¨ ur k → ∞ gegen eine Rechtsdreiecksmatrix, und es gilt lim hii = λi , k→∞
i = 1, 2, . . . , n.
Hat die Matrix H Paare von konjugiert komplexen Eigenwerten, derart dass ihre Betr¨age und die Betr¨age der reellen Eigenwerte paarweise verschieden sind, und existiert die (komplexe) LR-Zerlegung von X −1 , dann konvergieren die Matrizen H k gegen eine Quasidreiecksmatrix (5.93). Satz 5.13 garantiert zwar unter den einschr¨ ankenden Voraussetzungen die Konvergenz der Matrizenfolge H k (5.99) gegen eine Quasidreiecksmatrix, doch kann die Konvergenz der(k) jenigen Matrixelemente hi+1,i , die u ¨berhaupt gegen null konvergieren, sehr langsam sein. Somit kann der einfache QR-Algorithmus wegen der großen Zahl von Iterationsschritten zu aufw¨ andig sein. Der QR-Algorithmus steht in enger Beziehung zur inversen Vektoriteration, siehe Abschnitt 5.3.2, und eine darauf beruhende Analyse des Konvergenzverhaltens der Subdiagonalelemente zeigt, dass asymptotisch f¨ ur hinreichend großes k gilt k λi+1 (k) , i = 1, 2, . . . , n − 1. (5.100) |hi+1,i | ≈ λi (k)
Die Betr¨ age der Subdiagonalelemente hi+1,i konvergieren f¨ ur |λi+1 /λi | < 1 wie geometrische Folgen gegen null. Die lineare Konvergenz wird bestimmt durch den Quotienten der Betr¨age aufeinanderfolgender Eigenwerte, welcher nat¨ urlich beliebig nahe bei Eins sein kann. F¨ ur ¯i kann h(k) wegen (5.100) nicht gegen null ein konjugiert komplexes Paar λi , λi+1 = λ i+1,i konvergieren.
Die Konvergenzaussage (5.100) liefert aber den Hinweis, dass die lineare Konvergenz f¨ ur bestimmte Subdiagonalelemente durch eine geeignete Spektralverschiebung wesentlich verbessert werden kann. Wir wollen vorerst den Fall betrachten, dass H nur reelle Eigenwerte hat und das Vorgehen im Fall von komplexen Eigenwerten sp¨ater behandeln. Mit σ ∈ Ê hat die Matrix H − σI die um σ verschobenen Eigenwerte λi − σ, i = 1, 2, . . . , n. Sie seien ˜k ur die Matrizenfolge H jetzt so indiziert, dass |λ1 − σ| > |λ2 − σ| > . . . > |λn − σ| gilt. F¨ ˜ (5.99) mit H 1 = H − σI folgt aus (5.100) k ˜ (k) | ≈ λi+1 − σ , i = 1, 2, . . . , n − 1. |h (5.101) i+1,i λi − σ
Ist σ eine gute N¨ aherung f¨ ur λn mit |λn − σ| ≪ |λi − σ|, i = 1, 2, . . . , n − 1, dann konvergiert (k) ˜ ˜ k zerf¨allt nach wenigen Iterationsschritten. hn,n−1 sehr rasch gegen null, und die Matrix H
Die Technik der Spektralverschiebung wird nicht nur einmal angewandt, sondern vor Ausf¨ uhrung eines jeden Schrittes des QR-Algorithmus, wobei die Verschiebung σk auf Grund der vorliegenden Information in H k geeignet gew¨ahlt wird. Anstelle von (5.99) definiert man mit H k − σk I = Qk Rk , H k+1 = Rk Qk + σk I, k = 1, 2, . . .
(5.102)
250
5 Eigenwertprobleme
den QR-Algorithmus mit expliziter Spektralverschiebung. Da die Spektralverschiebung in H k bei der Berechnung von H k+1 wieder r¨ uckg¨ angig gemacht wird, sind die Matrizen H k+1 und H k orthogonal-¨ ahnlich zueinander. Auf Grund der oben erw¨ahnten Verwandtschaft des QR-Algorithmus mit der Vektoriteration ist die Wahl der Verschiebung σk gem¨aß (k) σk = hnn ,
k = 1, 2, . . .
(5.103)
als letztes Diagonalelement von H k angezeigt [Ste 83]. Mit dieser Festsetzung von σk wird (k) erreicht, dass die Folge der Subdiagonalelemente hn,n−1 schließlich quadratisch gegen null konvergiert [Ste 83]. ¨ Die praktische Durchf¨ uhrung des QR-Algorithmus (5.102) ist durch die Uberlegungen in den Beweisen der S¨ atze 5.8 und 5.10 vollkommen vorgezeichnet, falls man zuerst die QRZerlegung von H k − σk I mit Hilfe von (n − 1) Rotationsmatrizen durchf¨ uhrt und anschließend die Matrix H k+1 bildet. Bei diesem Vorgehen sind die (n − 1) Wertepaare ci := cos ϕi und si := sin ϕi der Matrizen U (i, i + 1; ϕi ) =: U i abzuspeichern. Das ist aber nicht n¨otig, wie die folgende Betrachtung zeigt. F¨ ur eine QR-Transformation gelten ja U Tn−1 H k+1
. . . U T3 U T2 U T1 (H k − σk I) = QTk (H k − σk I) = Rk = =
Rk Qk + σk I = Rk U 1 U 2 U 3 . . . U n−1 + σk I U Tn−1 . . . U T3 U T2 U T1 (H k − σk I)U 1 U 2 U 3 . . . U n−1 + σk I
(5.104)
Infolge der Assoziativit¨ at der Matrizenmultiplikation k¨onnen wir die Reihenfolge der Operationen zur Bildung von H k+1 gem¨ aß (5.104) geeignet w¨ahlen. Nach Ausf¨ uhrung der beiden Matrizenmultiplikationen U T2 U T1 (H k − σk I) im Verlauf der QR-Zerlegung hat die resultierende Matrix f¨ ur n = 6 die folgende Struktur: ⎛ ⎞ × × × × × × ⎜ 0 × × × × ×⎟ ⎟ ⎜ ⎟ ⎜ ⎜ 0 0 × × × × ⎟ ⎟ ⎜ ⎜ 0 0 × × × × ⎟ ⎜ ⎟ ⎝ 0 0 0 × × × ⎠ 0 0 0 0 × ×
Nun ist zu beachten, dass die weiteren Multiplikationen von links mit U T3 , U T4 , . . . nur noch die dritte und die folgenden Zeilen betreffen, d.h. dass die ersten beiden Zeilen und damit auch die ersten beiden Spalten in der momentanen Matrix durch die QR-Zerlegung nicht mehr ver¨ andert werden. Die Multiplikation mit U 1 von rechts, die ja Linearkombinationen der ersten und zweiten Spalten bewirkt, operiert folglich mit den hier vorhandenen, bereits endg¨ ultigen Werten der Matrix Rk der QR-Zerlegung. Sobald die Multiplikation mit U T3 erfolgt ist, ist aus dem analogen Grund die Multiplikation mit U 2 von rechts ausf¨ uhrbar. Bei dieser gestaffelten Ausf¨ uhrung der QR-Transformation (5.104) wird im i-ten Schritt (2 ≤ i ≤ n − 1) in der i-ten und (i + 1)-ten Zeile die QR-Zerlegung weitergef¨ uhrt, w¨ahrend in der (i − 1)-ten und i-ten Spalte bereits im Wesentlichen die Hessenberg-Matrix H k+1 aufgebaut wird. Die Subtraktion von σk in der Diagonale von H k und die sp¨atere Addition von σk zu den Diagonalelementen kann fortlaufend in den Prozess einbezogen werden. Falls wir die Matrix H k+1 am Ort von H k aufbauen und die sich laufend ver¨andernde Matrix mit
251
5.5 QR-Algorithmus
H bezeichnen, k¨ onnen wir den QR-Schritt (5.104) zu gegebenem Wert von σ algorithmisch in (5.106) formulieren. Es ist τ wieder die Maschinengenauigkeit, siehe (1.7). Da die Subdiagonalelemente von H k gegen null konvergieren, ist ein Kriterium notwendig, (k) ugend klein betrachtet werden darf, um um zu entscheiden, wann ein Element |hi+1,i | als gen¨ es gleich null zu setzen. Ein sicheres, auch betragskleinen Eigenwerten von H 1 Rechnung tragendes Kriterium ist (k)
(k)
(k)
|hi+1,i | < τ max{|hii |, |hi+1,i+1 |}.
(5.105)
(k) hi+1,i
Sobald ein Subdiagonalelement die Bedingung (5.105) erf¨ ullt, zerf¨allt die HessenbergMatrix H k . Die Berechnung der Eigenwerte von H k ist zur¨ uckgef¨ uhrt auf die Aufgabe, die Eigenwerte der beiden Untermatrizen von Hessenberg-Form zu bestimmen. QR-Transformation ¨ mit Shift σ und Uberspeicherung der H k . h11 = h11 − σ f¨ ur i = 1, 2, . . . , n: falls i < n: falls |hii | < τ × |hi+1,i |:
w = |hi+1,i |; c = 0; s = sgn(hi+1,i )
sonst
w=
$ h2ii + h2i+1,i ; c = hii /w; s = −hi+1,i /w
hii = w; hi+1,i = 0; hi+1,i+1 = hi+1,i+1 − σ
f¨ ur j = i + 1, i + 2, . . . , n:
(5.106)
g = c × hij − s × hi+1,j
hi+1,j = s × hij + c × hi+1,j ; hij = g
falls i > 1:
f¨ ur j = 1, 2, . . . , i: g = c˜ × hj,i−1 − s˜ × hji
hji = s˜ × hj,i−1 + c˜ × hji ; hj,i−1 = g
hi−1,i−1 = hi−1,i−1 + σ c˜ = c; s˜ = s hnn = hnn + σ
Im betrachteten Fall von reellen Eigenwerten von H 1 und unter der angewendeten Strategie der Spektralverschiebungen ist es am wahrscheinlichsten, dass das Subdiagonalelement (k) hn,n−1 zuerst die Bedingung (5.105) erf¨ ullt. Die Matrix H k zerf¨allt dann in eine Hessenbergˆ Matrix H der Ordnung (n− 1) und eine Matrix der Ordnung Eins, welche notwendigerweise
252
5 Eigenwertprobleme
als Element einen Eigenwert λ enthalten muss; sie hat also die Form ⎛ ⎞ .. ⎜ × × × × × .. × ⎟ ⎜ ⎟ ⎜ × × × × × .. × ⎟ ⎜ ⎟ .. ⎜ 0 × × × × ... × ⎟ ˆ ˆ H . h ⎜ ⎟ Hk = ⎜ (5.107) ⎟ = . .T. .... . . . ⎜ 0 0 × × × ... × ⎟ . λ 0 ⎜ ⎟ .. ⎜ ⎟ ⎝ .0. . 0. . . 0. . .× × . × ......... ⎠ . 0 0 0 0 0 .. λ Sobald die Situation (5.107) eingetreten ist, kann der QR-Algorithmus mit der Untermatrix ˆ ∈ Ê(n−1),(n−1) fortgesetzt werden, die ja die u H ¨ brigen Eigenwerte besitzt. Darin zeigt sich ein wesentlicher Vorteil des QR-Algorithmus: Mit jedem berechneten Eigenwert reduziert sich die Ordnung der noch weiter zu bearbeitenden Matrix. Beispiel 5.6. Zur Berechnung von Eigenwerten der Hessenberg-Matrix (5.67) aus Beispiel 5.3 ur die QR-Schritte wird der QR-Algorithmus (5.106) angewandt. Die Spektralverschiebungen σk f¨ werden dabei nach der Vorschrift (5.109) des folgenden Abschnittes festgelegt. Die ersten sechs QR-Schritte ergeben folgende Werte. (k+1)
(k+1)
(k+1)
k
σk
h66
h65
h55
1 2 3 4 5 6
2.342469183 2.357470399 2.780738412 2.969415975 2.999618708 3.000000026
2.358475293 2.894439187 2.984399174 2.999399624 2.999999797 3.000000000
−1.65619 · 10−1 −4.69253 · 10−2 −7.64577 · 10−3 −1.04138 · 10−4 −3.90852 · 10−8 1.15298 · 10−15
5.351616732 0.304289831 1.764372360 5.056039373 3.998363523 3.871195470
(k+1)
die Konvergenz gegen einen Eigenwert λ1 = 3 und Man erkennt an den Werten σk und h66 (k+1) gegen null. Nach dem sechsten QR-Schritt ist das quadratische Konvergenzverhalten von h65 unf in 7 lautet die Bedingung (5.105) mit τ = 10−12 erf¨ ullt. Die Untermatrix ˆ der Ordnung f¨ n¨ aherungsweise 1 0 4.991623 5.988209 −3.490458 −5.233181 1.236387 B −5.982847 5.021476 6.488094 7.053759 −16.317615 C C B . C B ˆ =B 0 −0.033423 0.160555 5.243584 11.907163 C . C B @ 0 0 −0.870774 1.955150 −1.175364 A 0 0 0 −0.107481 3.871195
Wir stellen fest, dass die Subdiagonalelemente von ˆ im Vergleich zur Matrix (5.67) betragsm¨ aßig ur den n¨ achsten QR-Schritt bereits eine abgenommen haben. Deshalb stellt die Verschiebung σ7 f¨ gute N¨ aherung f¨ ur einen weiteren reellen Eigenwert dar. Die wichtigsten Werte der drei folgenden QR-Schritte f¨ ur ˆ sind (k+1)
(k+1)
k
σk
h55
h54
7 8 9
3.935002781 4.000557588 4.000000053
4.003282759 4.000000470 4.000000000
−2.36760 · 10−3 2.91108 · 10−7 −2.29920 · 10−15
(k+1)
h44
0.782074 −0.391982 −1.506178
253
5.5 QR-Algorithmus
Die Bedingung (5.105) ist bereits erf¨ ullt, und wir erhalten den Eigenwert λ2 = 4 und die Untermatrix der Ordnung vier 0 1 4.993897 5.997724 −10.776453 2.629846 B C 4.999678 −1.126468 −0.830809 C . B −6.000388 ˆ ˆ = B C. @ 0 −0.003201 3.512604 2.722802 A 0 0 −3.777837 −1.506178 ˆ sind paarweise konjugiert komplex. Ihre Berechnung wird im folgenden Die Eigenwerte von ˆ Abschnitt im Beispiel 5.7 erfolgen. △
5.5.3
QR-Doppelschritt, komplexe Eigenwerte
Die reelle Hessenberg-Matrix H = H 1 besitze jetzt auch Paare von konjugiert komplexen (k) Eigenwerten. Da mit den Spektralverschiebungen (5.103) σk = hnn keine brauchbaren N¨aherungen f¨ ur komplexe Eigenwerte zur Verf¨ ugung stehen, muss ihre Wahl angepasst werden. Man betrachtet deshalb in H k die Untermatrix der Ordnung zwei in der rechten unteren Ecke (k) (k) hn−1,n−1 hn−1,n . (5.108) C k := (k) (k) hn,n−1 hn,n (k)
(k)
Sind die Eigenwerte µ1 und µ2 von C k reell, so wird die Verschiebung σk anstelle von (k) (k) (5.103) h¨ aufig durch denjenigen Eigenwert µ1 festgelegt, welcher n¨aher bei hnn liegt, d.h. (k) σk = µ1 ∈ Ê mit |µ1 − h(k) nn | ≤ |µ2 − hnn |, k = 1, 2, . . . (k)
(k)
(k)
(5.109)
Falls aber die Eigenwerte von C k konjugiert komplex sind, sollen die Spektralverschiebungen f¨ ur die beiden folgenden QR-Transformationen durch die konjugiert komplexen Werte festgelegt werden. (k)
σk = µ1 ,
(k)
(k)
σk+1 = µ2 = σ ¯k ,
µ1 ∈
(5.110)
Die Matrix H k − σk I ist mit (5.110) eine Matrix mit komplexen Diagonalelementen. Nun sind aber wegen (5.110) die beiden Werte (k)
(k)
s
:= σk + σk+1 = hn−1,n−1 + hn,n
t
:= σk σk+1 = hn−1,n−1 hn,n − hn−1,n hn,n−1
(k)
(k)
(k)
(k)
(5.111)
reell, und deshalb ist auch die Matrix X := H 2k − sH k + tI
(5.112)
reell. Damit gelingt es, einen Doppelschritt H k → H k+2 mit reeller Rechnung und vertretbarem Aufwand durchzuf¨ uhren. Auf Details wollen wir verzichten, sondern nur die algorithmischen Schritte angeben. H k+2 ist orthogonal-¨ahnlich zu H k . F¨ ur die Berechnung von H k+2 = QT H k Q sind die folgenden Tatsachen wesentlich. Erstens ist die orthogonale
254
5 Eigenwertprobleme
Matrix Q durch die QR-Zerlegung von X definiert. Die erste Spalte von Q ist im Wesentlichen durch die erste Spalte von X festgelegt. Dann sei Q0 diejenige orthogonale Matrix, welche in der QR-Zerlegung von X nur die erste Spalte auf die gew¨ unschte Form bringt, so dass gilt ⎞ ⎛ .. T r . g 11 (5.113) QT0 X = ⎝ . . . . . . . . . . ⎠ . .. ˆ 0 . X
Im weiteren Verlauf der QR-Zerlegung mit der Folge von Givens-Rotationen (5.87) ¨andert ˜ welche sich die erste Spalte von Q0 nicht mehr. Zweitens hat die orthogonale Matrix Q, eine beliebige Matrix A auf Hessenberg-Form transformiert, die Eigenschaft, dass ihre erste Spalte q˜1 gleich dem ersten Einheitsvektor e1 ist. In der Tat folgt dies auf Grund der ˜ = U 1 U 2 . . . U N ∗ als Produkt der Rotationsmatrizen U k unter Ber¨ uckDarstellung von Q sichtigung der Rotationsindexpaare (5.58), unter denen der Index Eins nie vorkommt. Dann ist aber in der Matrix ˜ Q := Q0 Q
(5.114)
die erste Spalte q 1 gleich der ersten Spalte von Q0 . Wenn wir also die gegebene HessenbergMatrix H k in einem ersten Teilschritt mit der Matrix Q0 orthogonal-¨ahnlich in B = QT0 H k Q0
(5.115)
˜ wieder auf Hessenberg-Form gem¨aß transformieren, und anschließend B vermittels Q ˜ = QT H k Q ˜T BQ ˜=Q ˜ T QT0 H k Q0 Q H k+2 = Q
(5.116)
bringen, dann ist auf Grund der wesentlichen Eindeutigkeit die gew¨ unschte Transformation erreicht. Zur Durchf¨ uhrung des skizzierten Vorgehens ist zuerst die Matrix Q0 durch die Elemente der ersten Spalte von X (5.112) festzulegen. Da H k eine Hessenberg-Matrix ist, sind in der ersten Spalte von X nur die ersten drei Elemente, die wir mit x1 , x2 und x3 bezeichnen, ungleich null. Sie sind wegen (5.112) wie folgt definiert. x1 = h211 + h12 h21 − sh11 + t x2 = h21 [h11 + h22 − s] x3 = h21 h32
(5.117)
Die Matrix Q0 ist infolge dieser speziellen Struktur als Produkt von zwei Rotationsmatrizen darstellbar Q0 = U (1, 2; ϕ1 )U (1, 3; ϕ2 )
(5.118)
mit Winkeln ϕ1 und ϕ2 , die sich nacheinander aus den Wertepaaren (x1 , x2 ) und (x′1 , x3 ) nach (5.89) bestimmen, wobei x′1 der durch die erste Transformation ge¨anderte Wert von x1 ist. ¨ Die Ahnlichkeitstransformation (5.115) von H k mit Q0 betrifft in H k nur die ersten drei Zeilen und Spalten, so dass die Matrix B eine spezielle Struktur erh¨alt. Sie ist beispielsweise
255
5.5 QR-Algorithmus
f¨ ur n = 7:
⎛
× ⎜× ⎜× ⎜ T B = Q0 H k Q0 = ⎜ ⎜× ⎜ 0 ⎝ 0
× × × 0 0 0 0 0
× × × × 0 0 0
× × × × × 0 0
× × × × × × 0
× × × × × × ×
⎞ × ×⎟ ×⎟ ⎟ ×⎟ ⎟ ×⎟ ×⎠
(5.119)
×
Die Hessenberg-Form ist nur in der ersten Spalte von B verloren gegangen, da dort zwei im Allgemeinen von null verschiedene Matrixelemente unterhalb der Subdiagonalen entstanden sind. Es gilt nun, die Matrix B a ¨hnlich auf Hessenberg-Form zu transformieren, was mit geeigneten Givens-Rotationen mit Matrizen U 23 = U (2, 3; ϕ3 ) und U 24 = U (2, 4; ϕ4 ) erfolgt. Da dabei zuerst nur die zweiten und dritten Zeilen und Spalten und dann nur die zweiten und vierten Zeilen und Spalten linear kombiniert werden, erh¨alt die so transformierte Matrix f¨ ur n = 7 folgende Struktur. ⎞ ⎛ × × × × × × × ⎜× × × × × × ×⎟ ⎜ 0 × × × × × ×⎟ ⎟ ⎜ ⎟ (5.120) B 1 := U T24 U T23 BU 23 U 24 = ⎜ ⎜ 0 × × × × × ×⎟ ⎜ 0 × 0 × × × ×⎟ ⎝ 0 0 0 0 × × ×⎠ 0 0 0 0 0 × ×
Die beiden von null verschiedenen Matrixelemente in der ersten Spalte unterhalb der Subdiagonalen von B sind durch die Transformation (5.120) in zwei andere, von null verschiedene Matrixelemente in der zweiten Spalte unterhalb der Subdiagonalen von B 1 u ¨ bergegangen. Mit Ausnahme der zweiten Spalte hat B 1 Hessenberg-Gestalt. Mit Paaren von analogen Givens-Transformationen werden die zwei die Hessenberg-Form st¨orenden Elemente sukzessive nach rechts unten verschoben, bis die Hessenberg-Gestalt wieder hergestellt ist. Die Behandlung der (n−2)-ten Spalte erfordert selbstverst¨andlich nur eine Givens-Transformation. ur einen QRDamit sind die rechentechnischen Details zur Berechnung von H k+2 aus H k f¨ Doppelschritt mit den zueinander konjugiert komplexen Spektralverschiebungen σk und σk+1 = σ ¯k nach (5.110) vollst¨ andig beschrieben, mehr Einzelheiten finden sich in [Sch 97]. Die beiden Verschiebungen mit σk und σk+1 werden bei diesem Vorgehen gar nicht explizit vorgenommen, vielmehr sind sie nur durch die Werte s und t (5.111) und dann durch die Werte x1 , x2 und x3 (5.117) zur Festlegung der ersten Spalte von Q verwendet worden, d.h. sie sind implizit in der orthogonalen Matrix Q0 enthalten. Deshalb nennt man den ¨ Ubergang von H k nach H k+2 einen QR-Doppelschritt mit impliziter Spektralverschiebung [Fra 62]. Der Rechenaufwand f¨ ur einen solchen QR-Doppelschritt setzt sich im Wesentlichen aus demjenigen zur Berechnung von B (5.119) und demjenigen zur Transformation von B in H k+2 zusammen. Die Bereitstellung der Werte c = cos ϕ und s = sin ϕ der beiden Rotaotigt acht multiplikative Operationen und zwei Quadratwurzeln. tionsmatrizen f¨ ur Q0 ben¨ Die Ausf¨ uhrung der beiden Givens-Transformationen erfordert 8n + 24 Multiplikationen. Dasselbe gilt f¨ ur die beiden Transformationen, die zur Behandlung der j-ten Spalte n¨otig sind, unabh¨ angig von j, falls die Struktur beachtet wird. Da der letzte Schritt nur halb so
256
5 Eigenwertprobleme
aufw¨ andig ist, betr¨ agt der Rechenaufwand f¨ ur den QR-Doppelschritt etwa 2 ZQR-Doppel ∼ = 8n + 20n − 44
(5.121)
multiplikative Operationen und (2n − 3) Quadratwurzeln. Er verdoppelt sich gegen¨ uber dem Aufwand (5.92) f¨ ur einen einzelnen QR-Schritt mit expliziter Spektralverschiebung f¨ ur gr¨ oßere n. Der Rechenaufwand f¨ ur den Doppelschritt reduziert sich, falls entweder die schnelle Givens-Transformation [Rat 82] oder die Householder-Transformation [Gol 96b, Ste 83, Wil 71] angewandt wird. Im besten Fall wird der Aufwand ZQR-Doppel ≈ 5n2 .
ˆ Beispiel 5.7. Die beiden Eigenwerte der Untermatrix k (5.108) der Hessenberg-Matrix ˆ . . von Beispiel 5.6 sind konjugiert komplex. Mit s1 = 2.006425 und t1 = 4.995697 liefert der QRDoppelschritt mit impliziter Spektralverschiebung die Matrix 0 1 4.999999 −5.999999 −3.368568 2.979044 B C 5.000002 −9.159566 4.566268 C . B 5.999997 ˆ = ˆ B C. 2 −6 @ 0 1.775362 −5.690920 A 2.292 · 10 0 0 0.808514 0.224637 . . allt die HessenNach einem weiteren QR-Doppelschritt mit s2 = 1.999999 und t2 = 5.000001 zerf¨ berg-Matrix 1 0 5.000000 −6.000000 −6.320708 5.447002 C B 5.000000 4.599706 −5.847384 C . B 6.000000 ˆ = ˆ C. B 3 @ 0 0 0.296328 −5.712541 A 0 0 0.786892 1.703672
Daraus berechnen sich die beiden Paare von konjugiert komplexen Eigenwerten λ3,4 = 1 ± 2i und △ λ5,6 = 5 ± 6i.
5.5.4
QR-Algorithmus fu ¨r tridiagonale Matrizen
Im Abschnitt 5.4.1 wurde gezeigt, wie eine symmetrische Matrix A orthogonal-¨ahnlich auf eine symmetrische, tridiagonale Matrix ⎛ ⎞ α1 β1 ⎜ β α ⎟ β2 2 ⎜ 1 ⎟ ⎜ ⎟ β2 α3 β3 ⎜ ⎟ ⎟ J =⎜ (5.122) .. .. .. ⎜ ⎟ . . . ⎜ ⎟ ⎜ ⎟ ⎝ βn−2 αn−1 βn−1 ⎠ βn−1 αn
transformiert werden kann. Wir setzen voraus, dass die Matrix J nicht zerf¨allt, so dass also βi = 0 f¨ ur i = 1, 2, . . . , (n − 1) gilt. Da nach Satz 5.11 der QR-Algorithmus eine Folge von orthogonal-¨ ahnlichen tridiagonalen Matrizen J k+1 = QTk J k Qk , k = 1, 2, . . ., mit J 1 = J erzeugt, ergibt sich ein sehr effizienter Algorithmus zur Berechnung aller Eigenwerte von J . (k) Als Spektralverschiebung σk k¨ onnte nach (5.103) σk = αn gew¨ahlt werden. Doch bietet die Festsetzung der Verschiebung σk durch denjenigen der beiden reellen Eigenwerte der
257
5.5 QR-Algorithmus
Untermatrix C k :=
(k)
αn−1 (k) βn−1
(k)
βn−1 (k) αn
,
(5.123)
(k)
welcher n¨ aher bei αn liegt, Vorteile bez¨ uglich der Konvergenzeigenschaften des Algorithmus. Die Eigenwerte von C k sind gegeben durch (k)
µ1,2
$ (k) (k) αn−1 + αn (k)2 ± d2 + βn−1 2 $ (k) (k) − αn α (k)2 = αn(k) + d ± d2 + βn−1 mit d = n−1 . 2 =
(k)
aher gelegenen Eigenwert, wenn man das Vorzeichen der Wurzel Man erh¨ alt den zu αn n¨ gleich dem entgegengesetzten von d setzt. Ist zuf¨allig d = 0, dann sind beide Eigenwerte (k) (k) (k) (k) ahlt σk = αn , falls αn = 0 ist. Damit erh¨alt µ1,2 gleich weit von αn entfernt, und man w¨ die Spektralverschiebung im Normalfall die Darstellung $ (k)2 σk = α(k) + d − sgn(d) d2 + βn−1 , n
d=
1 (k) (α − α(k) n ). 2 n−1
(5.124)
Zur praktischen Durchf¨ uhrung des QR-Schrittes J k − σk I = Qk Rk , J k+1 = Rk Qk + σk I mit J k+1 = QTk J k Qk soll die Technik der impliziten Spektralverschiebung angewandt ¨ werden. Die Uberlegungen von Abschnitt 5.5.3 werden sinngem¨aß und in vereinfachter Form u bernommen. ¨ Die Matrix Q0 , welche in der QR-Zerlegung von J k − σk I die erste Spalte transformiert, ist im vorliegenden Fall eine Jacobi-Matrix U (1, 2; ϕ0 ), deren Werte c = cos ϕ0 und s = sin ϕ0 durch die beiden Elemente α1 − σk und β1 bestimmt sind. Mit Q0 bilden wir die orthogonal-¨ ahnliche Matrix B = QT0 J k Q0 , die anschließend durch weitere orthogonale ¨ Ahnlichkeitstransformationen auf tridiagonale Form gebracht werden muss. Die Matrix B besitzt eine besonders einfache Struktur, da nur die ersten beiden Zeilen und Spalten von andert werden. Ohne den oberen Indexwert k lautet B f¨ ur n = 6 J k ver¨ ⎞ ⎛ α′1 β1′ y ⎟ ⎜ β ′ a′ β ′ ⎟ ⎜ 1 2 2 ⎟ ⎜ ′ β2 α3 β3 ⎟ ⎜ y T (5.125) B = Q0 J k Q0 = ⎜ ⎟. ⎟ ⎜ β3 α4 β4 ⎟ ⎜ ⎝ β4 α5 β5 ⎠ β5 α6 Die tridiagonale Gestalt ist nur in der ersten Spalte und ersten Zeile zerst¨ort worden. Eine erste Givens-Rotation mit einer Jacobi-Matrix U 1 = U (2, 3; ϕ1 ) eliminiert mit geeignetem Winkel ϕ1 das Element y in (5.125), erzeugt aber ein neues, von null verschiedenes Paar
258
5 Eigenwertprobleme
von Matrixelementen außerhalb ⎛ α′1 β1′′ ⎜ β ′′ α′′ ⎜ 1 2 ⎜ β2′′ ⎜ T U 1 BU 1 = ⎜ ⎜ y′ ⎜ ⎝
der drei Diagonalen. Das Resultat ist ⎞ β2′′ α′3 β3′
y′ β3′ α4 β4
β4 α5 β5
β5 α6
⎟ ⎟ ⎟ ⎟ ⎟. ⎟ ⎟ ⎠
(5.126)
Durch jede weitere Givens-Rotation wird das st¨ orende Element nach rechts unten verschoben. Nach (n − 2) Transformationsschritten ist B auf tridiagonale Form gebracht und stellt damit die Matrix J k+1 dar.
F¨ ur die praktische Realisierung eines QR-Schrittes mit impliziter Spektralverschiebung σ f¨ ur eine tridiagonale Matrix J werden die Elemente der beiden Diagonalen zweckm¨aßigerweise als zwei Vektoren α = (α1 , α2 , . . . , αn )T und β = (β1 , β2 , . . . , βn−1 )T vorgegeben, mit denen die Transformation von J k in J k+1 vorgenommen wird. Weiter ist zu beachten, dass alle auszuf¨ uhrenden (n − 1) Givens-Transformationen zwei aufeinanderfolgende Zeilen und Spalten betreffen, so dass die Diagonalelemente und die zugeh¨origen Nebendiagonalelemente nach den Formeln (5.14), (5.15) und (5.16) umzurechnen sind. Die Darstellung (5.23) ist nicht anwendbar, da der Drehwinkel ϕ anders bestimmt wird. Die erw¨ahnten Formeln werden zur Reduktion der Rechenoperationen mit c = cos ϕ, s = sin ϕ und q = p + 1 wie folgt umgeformt. α′′p = αp − 2βp cs − (αp − αp+1 )s2 = αp − z, α′′p+1 = αp+1 + 2βp cs + (αp − αp+1 )s2 = αp+1 + z, βp′′ = (αp − αp+1 )cs + βp (c2 − s2 ), mit z = [2βp c + (αp − αp+1 )s]s. x = α1 − σ; y = β1 f¨ ur p = 1, 2, . . . , n − 1: falls |x| ≤ τ × |y|: w = −y; c = 0; s = 1 sonst 0 w = x2 + y 2 ; c = x/w; s = −y/w d = αp − αp+1 ; z = (2 × c × βp + d × s) × s αp = αp − z; αp+1 = αp+1 + z βp = d × c × s + (c2 − s2 ) × βp ; x = βp falls p > 1: βp−1 = w falls p < n − 1: y = −s × βp+1 ; βp+1 = c × βp+1
(5.127)
Schließlich unterscheidet sich die Bestimmung des Drehwinkels f¨ ur die Transformation mit Q0 von derjenigen f¨ ur die nachfolgenden Givens-Rotationen mit U k . Dies wird durch eine geeignete Definition von Variablen x und y im Algorithmus (5.127) erreicht. Die Spektralverschiebung σ sei nach (5.124) vorgegeben. Ein QR-Schritt f¨ ur eine symmetrische, tridiagonale
259
5.5 QR-Algorithmus
Matrix J k erfordert mit dem Algorithmus (5.127) etwa ZQR,trid ∼ = 15(n − 1)
(5.128)
multiplikative Operationen und (n − 1) Quadratwurzeln. Die hohe Effizienz des Verfahrens (k) beruht darauf, dass das letzte Außendiagonalelement βn−1 kubisch gegen null konvergiert [Gou 73, Wil 68]. Das hat zur Folge, dass f¨ ur gr¨oßere Ordnung n im Durchschnitt zur Berechnung aller Eigenwerte nur zwei bis drei QR-Schritte n¨otig sind, da mit fortschreitender Rechnung die Spektralverschiebungen (5.124) hervorragende N¨aherungen f¨ ur den n¨achsten Eigenwert liefern. Zudem nimmt die Ordnung der zu bearbeitenden tridiagonalen Matrizen ab.
Beispiel 5.8. Der QR-Algorithmus zur Berechnung der Eigenwerte der tridiagonalen Matrix (5.71) aus Beispiel 5.4 ist sehr effizient. Mit den Spektralverschiebungen σk (5.124) liefern drei QR-Schritte Werte gem¨ aß folgender Zusammenstellung. (k+1)
(k+1)
k
σk
α5
β4
1 2 3
1.141933723 1.323643137 1.327045590
1.330722500 1.327045601 1.327045600
−0.148259790 1.46939 · 10−4 −4.388 · 10−13
(k)
Die kubische Konvergenz von β4 gegen null ist deutlich erkennbar. Nach diesen drei QR-Schritten . (4) zerf¨ allt die tridiagonale Matrix. Mit α5 ist der erste Eigenwert λ1 = 1.327045600 gefunden. Die reduzierte Matrix der Ordnung vier lautet 0 1 22.354976 0.881561 B C 0.881561 7.399454 0.819413 C ˆ =. B B C. @ 0.819413 1.807160 3.010085 A 3.010085 2.111365
Die wichtigsten Werte der weiteren QR-Schritte f¨ ur ˆ sind in der folgenden Tabelle zusammengestellt. (k+1)
(k+1)
k
σk
α4
β3
4 5 6
4.973188459 4.849265094 4.848950120
4.846875984 4.848950120 4.848950120
0.116631770 6.52773 · 10−6 −1.2 · 10−16
. Der zweite berechnete Eigenwert ist λ2 = 4.848950120, und die verbleibende Untermatrix der Ordnung drei ist 1 0 22.406874 0.003815 C ˆˆ =. B @ 0.003815 3.850210 4.257076 A , 4.257076 2.566920
. aus der sich die weiteren Eigenwerte mit zwei, bzw. einem QR-Schritt in der Reihenfolge λ3 = . . △ −1.096595182, λ4 = 7.513724154 und λ5 = 22.406875308 bestimmen.
260
5.5.5
5 Eigenwertprobleme
Zur Berechnung der Eigenvektoren
Der QR-Algorithmus, wie er oben dargestellt worden ist, liefert die Eigenwerte einer Hessenberg-Matrix H oder einer tridiagonalen, symmetrischen Matrix J. Wir behandeln jetzt noch die Aufgabe, die zugeh¨ origen Eigenvektoren zu bestimmen. Das Produkt von allen orthogonalen Matrizen Qk , k = 1, 2, . . . , M , die im Verlauf des QRAlgorithmus auftreten, ist eine orthogonale Matrix Q := Q1 Q2 . . . QM ,
(5.129) T
welche H auf eine Quasidreiecksmatrix R = Q HQ (5.93), bzw. J auf eine Diagonalmatrix D = QT JQ transformiert. Mit dieser Matrix Q wird die Eigenwertaufgabe Hx = λx, bzw. Jx = λx u uhrt in ¨ bergef¨ Ry = λy,
bzw.
Dy = λy
mit
y = QT x.
(5.130)
Bei bekanntem Eigenwert λk ist der zugeh¨ orige Eigenvektor y k von R einfach berechenbar. Im Fall der Matrix D ist y k = ek , falls λk das k-te Diagonalelement von D ist. Der Eigenvektor xk von H ist wegen (5.130) gegeben durch xk = Qy k , derjenige von J ist gleich der k-ten Spalte von Q. Eine erste Methode zur Berechnung der Eigenvektoren besteht darin, die Matrix Q (5.129) explizit als Produkt von s¨ amtlichen Qk zu bilden. Jede der Matrizen Qk ist selbst wieder das Produkt von einfachen Rotationsmatrizen, so dass sich Q analog zu (5.45) rekursiv aufbauen l¨asst. Der Rechenaufwand f¨ ur einen einzelnen QR-Schritt erh¨oht sich sehr stark, denn die Multiplikation von rechts mit einer Rotationsmatrix ist stets f¨ ur die ganzen Spalten von Q auszuf¨ uhren, auch dann, wenn nach Berechnung von einigen Eigenwerten die Ordnung der zu behandelnden Matrix H oder J kleiner als n ist. Das skizzierte Vorgehen hat den Vorteil, dass in Q f¨ ur die tridiagonale, symmetrische Matrix J stets n orthonormierte Eigenvektoren geliefert werden. Um die aufw¨ andige Berechnung der Matrix Q zu vermeiden, k¨onnen die Eigenvektoren xk auch mit der inversen Vektoriteration nach Abschnitt 5.3.2 bestimmt werden. Der Startvektor z (0) kann nach einem Vorschlag von Wilkinson als L¨osung des Gleichungssystems ˜ (0) = e, Rz
e = (1, 1, . . . , 1)T
(5.131)
¯ f¨ gefunden werden mit der vom N¨ aherungswert λ ur λk abh¨angigen Rechtsdreiecksmatrix ¯ ¯ unter ˜ welche im Gauß-Algorithmus bei der Zerlegung von (H − λI), R, bzw. von (J − λI) Verwendung der relativen Spaltenmaximumstrategie entsteht. Der Vektor z (0) wird aus (5.131) durch R¨ ucksubstitution gewonnen. Dies entspricht einem halben Iterationsschritt der inversen Vektoriteration. Die Eigenvektorbestimmung nach der zweiten Methode erfordert im Wesentlichen eine Zer¯ f¨ legung von (H − λI) ur jeden Eigenwert. Eine Zerlegung f¨ ur eine Hessenberg-Matrix H artssubstitution etwa n und die R¨ ucksubstituder Ordnung n erfordert etwa n2 /2, die Vorw¨ tion etwa n2 /2 multiplikative Operationen. Unter der meistens zutreffenden Annahme, dass zwei Iterationsschritte der inversen Vektoriteration gen¨ ugen, betr¨agt der Rechenaufwand zur Bestimmung von allen n Eigenvektoren etwa 2n3 Operationen. F¨ ur eine tridiagonale Matrix J ist der Rechenaufwand sogar nur proportional zu n2 .
5.6 Das allgemeine Eigenwertproblem
261
¨ Ist die Matrix H bzw. J durch eine Ahnlichkeitstransformation aus einer Matrix A entstanden, sind die Eigenvektoren gem¨ aß Abschnitt 5.4.1 in diejenigen von A zur¨ uckzutransformieren.
5.6
Das allgemeine Eigenwertproblem
Wir betrachten jetzt f¨ ur zwei Matrizen A, B der Ordnung n das Problem Ax = λBx.
(5.132)
Dieses Problem kann auf das spezielle Eigenwertproblem zur¨ uckgef¨ uhrt werden, wenn B regul¨ ar, also invertierbar ist: Ax = λBx ⇐⇒ B −1 Ax = λx.
(5.133)
Diese Vorgehensweise ist aber bei schlecht konditioniertem B nicht empfehlenswert. Sind A und B symmetrisch, so kann außerdem die Symmetrie bei B −1 A verlorengehen. Eine symmetrie- und stabilit¨ atserhaltende Transformation ist m¨oglich, wenn A oder B symmetrisch und positiv definit ist, siehe Abschnitt 5.6.1. Sind beide Matrizen symmetrisch, aber nicht notwendig positiv definit, so hilft der folgende Satz, dessen konstruktiver Beweis einen Algorithmus liefert, der mehrere Singul¨ arwertzerlegungen benutzt, [Rao 71]: Satz 5.14. Sind A, B zwei symmetrische, positiv semidefinite Matrizen der Ordnung n, dann gibt es eine regul¨are Matrix T derart, dass T −1 AT und T −1 BT diagonal sind. F¨ ur den unsymmetrischen Fall ohne Regularit¨ atsvoraussetzung an A oder B ist der QZAlgorithmus zu empfehlen, siehe etwa [Mol 73]. Die numerische Beschreibung der vollst¨ andigen Eigenraumstruktur inklusive Null- und Unendlich-Eigenwerten gelingt mit dem Guptri-Algorithmus von K˚ agstrøm, [K˚ ag 86]. Diese Problemstellung u ¨ bersteigt aber den Rahmen dieses Bandes bei weitem.
5.6.1
Der symmetrisch positiv definite Fall
Bei vielen Anwendungen sind beide Matrizen A und B symmetrisch und mindestens eine ist positiv definit. Dann l¨ asst sich das allgemeine Eigenwertproblem numerisch stabil auf das spezielle Eigenwertproblem zur¨ uckf¨ uhren. Hier soll o.B.d.A. diese Eigenschaften f¨ ur B vorausgesetzt werden. Dann existiert die Cholesky-Zerlegung (siehe Abschnitt 2.3.1) von B B = LLT .
(5.134)
Die Zerlegung (5.134) von B wird in (5.132) eingesetzt, die Gleichung von links mit L−1 multipliziert und noch die Identit¨ at I = L−T LT eingef¨ ugt: (L−1 AL−T )(LT x) = λ(L−1 L)(LT x)
(5.135)
Mit den Substitutionen C = L−1 AL−T ,
y = LT x
(5.136)
262
5 Eigenwertprobleme
wird (5.135) in der Tat ein spezielles Eigenwertproblem Cy = λy
(5.137)
mit der symmetrischen Matrix C, deren Eigenvektoren y j wegen (5.136) mit den Eigenvekangen. Die Symmetrie von C best¨atigt man unter Benuttoren xj von (5.132) zusammenh¨ zung der Symmetrie von A durch C T = (L−1 AL−T )T = L−1 AT L−T = L−1 AL−T = C.
(5.138)
Die Eigenvektoren y j einer symmetrischen Matrix C bilden bei entsprechender Normierung ein Orthonormalsystem, d.h. y Tj y k = δjk ,
j, k = 1, 2, . . . , n.
(5.139)
Wegen der Relation (5.136) bilden die Eigenvektoren xj der allgemeinen Eigenwertaufgabe (5.132) ein System von orthonormierten Vektoren im verallgemeinerten Sinn bez¨ uglich der positiv definiten Matrix B. Sie erf¨ ullen die Beziehungen y Tj y k = xTj LLT xk = xTj Bxk = δjk ,
j, k = 1, 2, . . . , n.
(5.140)
Mit dieser Normierung der Eigenvektoren xj folgt aus der Eigenwertbeziehung Axk = λk Bxk nach Multiplikation mit xTj von links unter Benutzung von (5.140) u ¨ berdies xTj Axk = λk δjk ,
j, k = 1, 2, . . . n.
(5.141)
Das bedeutet, dass die Eigenvektoren zu verschieden indizierten Eigenwerten - die Eigenwerte d¨ urfen dabei gleich sein - sowohl bez¨ uglich B als auch bez¨ uglich A im verallgemeinerten Sinn orthogonal sind. Die tats¨ achliche Reduktion von (5.132) in (5.137) erfordert nach erfolgter Cholesky-Zerlegung von B die Berechnung der Matrix C nach (5.136). Dazu sind die Inversion der Linksdreiecksmatrix L und die beiden Matrizenmultiplikationen gar nicht n¨otig. Vielmehr l¨ asst sich die Matrix C am effizientesten und mit kleinstem Speicherbedarf wie folgt berechur n = 4 nen. Die Hilfsmatrix H = AL−T wird aus HLT = A spaltenweise bestimmt. F¨ lautet diese Matrizengleichung in reduzierter Form ⎞ ⎞ ⎛ ⎞⎛ ⎛ a11 l11 l21 l31 l41 h11 ⎟ ⎜ ⎟⎜ ⎜ h21 h22 l22 l32 l42 ⎟ ⎟. ⎟ = ⎜ a21 a22 ⎟⎜ ⎜ (5.142) ⎠ ⎠ ⎝ ⎠⎝ ⎝ h31 h32 h33 a31 a32 a33 l33 l43 h41 h42 h43 h44
l44
a41 a42 a43 a44
In (5.142) wurde in der Matrix A angedeutet, dass aus Symmetriegr¨ unden nur die u ¨ bliche untere H¨ alfte von A gespeichert und verwendet wird. Obwohl die Matrix H nicht symmetrisch ist, gen¨ ugt es, wie im zweiten Teilschritt der Reduktion ersichtlich sein wird, nur die Elemente in und unterhalb der Diagonale wirklich zu berechnen. F¨ ur diese Elemente ergibt sich wie bei der Vorw¨ artssubstitution -k−1 aik − j=1 hij lkj hik = (5.143) lkk k = 1, 2, . . . , n; i = k, k + 1, . . . , n. F¨ ur k = 1 ist selbstverst¨ andlich die Summe leer.
263
5.6 Das allgemeine Eigenwertproblem
Die gesuchte Matrix C = L−1 H ist symmetrisch, weshalb nur die eine H¨alfte aus der Matrizengleichung LC = H berechnet werden muss. F¨ ur n = 4 lautet die Bestimmungsgleichung ⎛ ⎞⎛ ⎞ ⎛ ⎞ l11 c11 h11 ⎜ l21 l22 ⎟ ⎜ c21 c22 ⎟ ⎜ h21 h22 ⎟ ⎜ ⎟⎜ ⎟=⎜ ⎟. (5.144) ⎝ l31 l32 l33 ⎠ ⎝ c31 c32 c33 ⎠ ⎝ h31 h32 h33 ⎠ l41 l42 l43 l44 c41 c42 c43 c44 h41 h42 h43 h44
In (5.144) ist in H angedeutet, dass nur die Elemente in und unterhalb der Diagonale bekannt sind. Diese gen¨ ugen aber vollkommen, um die wesentlichen Elemente von C in und unterhalb der Diagonale zeilenweise sukzessive zu berechnen, wobei im Prozess der Vorw¨ artssubstitution zu ber¨ ucksichtigen ist, dass die Elemente von C oberhalb der Diagonale nicht verf¨ ugbar sind und durch die dazu symmetrischen Elemente zu ersetzen sind. -i−1 hik − k−1 j=1 lij ckj − j=k lij cjk cik = (5.145) lii i = 1, 2, . . . , n;
k = 1, 2, . . . , i.
Hier sind wieder einige Summen leer. Was den Speicherbedarf anbetrifft, kann die Cholesky-Matrix L am Platz von B aufgebaut und gespeichert werden. Die Hilfsmatrix H kann nach (5.143) genau so an die Stelle von A gespeichert werden, da das Element aik nur zur Berechnung des betreffenden Elementes ur (5.145), so dass hik mit den gleichen Indizes gebraucht wird. Dieselbe Bemerkung gilt f¨ die Matrix C, genauer gesagt ihre untere H¨ alfte, am Platz von H und damit von A aufgebaut werden kann. Damit ben¨ otigt der ganze Reduktionsalgorithmus u ¨ berhaupt keinen zus¨ atzlichen Speicherplatz. Beispiel 5.9. =
0
192 B @ −56 −80
−56 75 −34
1 −80 C −34 A , 165
0
64 B = @ −8 −8
−8 17 −3
ist symmetrisch positiv definit und die Cholesky-Zerlegung 0 1 8 0 0 B C = @ −1 4 0 A −1 −1 8
1 −8 C −3 A . 66 =
T
ergibt
Die L¨ osung der Gleichung (5.142)/(5.143) ergibt die untere H¨ alfte von 1 0 24 C B = @ −7 17 A. −10 −11 18
Jetzt liefert die L¨ osung von (5.144)/(5.145) f¨ ur das spezielle Eigenwertproblem 1 0 3 −1 −1 C B = −1 ( T )−1 = @ −1 4 −1 A . −1 −1 2
= λ die Matrix
△
264
5.7
5 Eigenwertprobleme
Eigenwertschranken, Kondition, Stabilit¨at
Definition 5.15. 1. Als Spektralradius ρ(A) bezeichnet man den betragsm¨aßig gr¨oßten Eigenwert von A . 2. Als Spektrum σ(A) bezeichnet man die Menge aller Eigenwerte von A (5.146) σ(A) := {λ1 , λ2 , . . . , λn } 3. Als Modalmatrix wird eine Matrix mit Eigenvektoren als Spalten bezeichnet. Lemma 5.16. Ist die Matrixnorm · submultiplikativ, so gilt f¨ ur jeden Eigenwert λ von A |λ| ≤ A
und damit
ρ(A) ≤ A.
Satz 5.17. Satz von Gerschgorin: Sei n Ki := {z ∈ |z − aii | ≤ ri := |aik |}.
(5.147)
(5.148)
k=1
k=i
Dann gilt:
n 6
(i) Jeder Eigenwert von A liegt in
Ki .
i=1
(ii) Sei J6⊂ {1, . . . , n} eine Indexmenge, f¨ ur die gilt: |J| = m < n, 6 sei K = Ki und es gelte K ∩ Ki = φ. i∈J
i∈J
Dann enth¨alt K genau m Eigenwerte von A unter Ber¨ ucksichtigung ihrer Vielfachheiten.
In (5.148) k¨onnen Zeilensummen durch Spaltensummen ersetzt werden, da σ(A) = σ(AT ). Beweis. (i) Sei λ ∈ σ(A), x zugeh¨ origer Eigenvektor: Ax = λx. Das lautet komponentenweise (λ − aii )xi =
n
aik xk ,
i = 1, . . . , n,
k=1
i=k
⇒ |λ − aii | |xi | ≤ ri max |xk |, i=k
i = 1, . . . , n.
W¨ ahle jetzt ein i, f¨ ur das gilt |xi | := max |xk | k=1,...,n
⇒ |λ − aii | ≤ ri ,
⇒ ⇒
|xi | ≥ max |xk | k=i
λ ∈ Ki ⇒ λ ∈ ∪Ki .
D.h. f¨ ur jedes Eigenpaar (λ, x) gibt es mindestens ein i mit |λ − aii | ≤ ri . Der Index i h¨angt von der Betrags-maximalen Komponente xi des Eigenvektors x ab.
265
5.7 Eigenwertschranken, Kondition, Stabilit¨ at
(ii) Sei D = diag(a11 , a22 , . . . , ann ), E := A − D. Sei weiter A(ε) := D + εE
(A(1) = A),
und p(λ, ε) := det(A(ε) − λI) das charakteristische Polynom von A(ε). Die Koeffizienten von p sind offensichtlich stetig von ε abh¨ angig, damit auch die Nullstellen λi (ε). Also bilden angende Kurve in . F¨ ur ε = 0 ist A(0) = D, die Werte λi (ε), 1 ≥ ε ≥ 0, eine zusammenh¨ d.h. λ = aii und der Kreis Ki schrumpft zum Punkt aii zusammen. Die m Eigenwerte λi zu der Indexmenge, die K bildet, bleiben in den entsprechenden6Kreisen Ki , i ∈ J, mit wachsendem ε > 0 und k¨ onnen K nicht verlassen, da K(ε) mit Ki (ε) disjunkt bleibt i∈J
∀ε ≤ 1. Also gilt λi (1) ∈ K f¨ ur i ∈ J.
Beispiel 5.10. Gegeben sei die symmetrische Tridiagonalmatrix 0
4 B 1 B B =B B B @
1 4 1
..
1
1 4 .
.. 1
1 .
..
.
4 1
1 4
C C C C. C C A
besitzt nur reelle Eigenwerte und diese liegen nach dem Satz von Gerschgorin alle im Intervall n S [2, 6], das ja die reelle Teilmenge von Ki ist. i=1
Nun sind aber (λi )
−1
die Eigenwerte von – 1 1 , σ( −1 ) ⊂ . 6 2 »
−1
, also gilt f¨ ur deren Spektrum
Mit diesen beiden Aussagen kann jetzt die Kondition der Matrix chungssystems = abgesch¨ atzt werden:
zur L¨ osung des linearen Glei-
cond2 () ≤ 3 Also ist das Problem gut konditioniert.
△
Satz 5.18. Die Matrix A sei diagonal¨ahnlich, · sei eine zugeordnete Norm und T die Modalmatrix von A: T −1 AT = D = diag(λ1 , λ2 , . . . , λn ).
(5.149)
Sei λ ∈ σ(A + E) ein Eigenwert der gest¨orten Matrix A + E.
Dann gilt
min |λi − λ| ≤ T T −1 E
λi ∈σ( )
Beweis. Sei λ = λi f¨ ur alle i, sonst ist (5.150) trivial.
(5.150)
266
5 Eigenwertprobleme
Sei x Eigenvektor zu λ von A + E: (A + E)x = λx ⇒ (A − λI)x = −Ex ⇒ (T DT −1 − λI)x = −Ex ⇒ T (D − λI)T −1 x = −Ex
−1 ⇒ (D − λI)T −1 x = −T −1 E T
x. T
I
Wegen λ = λi ist (D − λI) regul¨ ar:
(D − λI)−1 = diag{(λ1 − λ)−1 , . . . , (λn − λ)−1 }
⇒ T −1 x = −(D − λI)−1 (T −1 ET )T −1 x ⇒ T −1 x ≤ (D − λI)−1 T −1 ET T −1 x ⇒ 1 ≤ max |(λi − λ)−1 | T −1 E T i
⇒ min |λi − λ| ≤ T −1 E T . i
Es ist also folgende Definition sinnvoll: Definition 5.19. Sei A diagonal¨ ahnlich, T Modalmatrix von A. Dann heißt EW-cond(A) := T −1 T (= cond(T ))
(5.151)
Konditionszahl des Eigenwertproblems von A.
Lemma 5.20. Wenn A eine symmetrische Matrix ist, dann ist ihre Modalmatrix orthogonal, und es folgt mit (5.151) aus (5.150) EW-cond2 (A) = 1, =⇒
min |λi − λ| ≤ E2
λi ∈σ( )
(5.152)
F¨ ur eine symmetrische Matrix ist daher das Eigenwertproblem immer gut konditioniert. Die Absch¨ atzungen (5.150) und (5.152) sind Aussagen u ¨ ber den absoluten Fehler der Eigenwerte auf Grund von Datenfehlern in der Matrix A. Bei stark unterschiedlich großen Eigenwerten bewirken diese Datenfehler einen gr¨oßeren relativen Fehler bei den kleineren Eigenwerten. Hinzu kommen Rundungsfehlereinfl¨ usse, deshalb sind numerisch stabile Verfahren ¨ außerst wichtig. Beispiel 5.11. Hilbert-Matrix, n = 3 0
1 B = @ 1/2 1/3 +
0
1/2 1/3 1/4
1.000 B = @ 0.5000 0.3333
1 1/3 C 1/4 A 1/5
0.5000 0.3333 0.2500
1 0.3333 C 0.2500 A 0.2000
267
5.7 Eigenwertschranken, Kondition, Stabilit¨ at Also
0
B =@
0 0 −0.00003
σ( )
σ(
+
) ˜ λi − λi
. = . = . =
0 −0.00003 0
{1.408319,
{1.408294,
1 −0.00003 C 0 A , 2 = 0.00003 0
0.1223271, 0.002687340} 0.1223415, 0.002664489}
0.000025, −0.000014,
0.000023
d.h. die absoluten Fehler liegen alle in derselben Gr¨ oßenordnung wie 2 . F¨ ur die relativen Fehler gilt das nat¨ urlich nicht: ˜i λi − λ = 0.000018, −0.00012, 0.0085. λi
△
Lemma 5.21. F¨ ur eine orthogonale Matrix U gilt U x2 = x2 .
(5.153)
Satz 5.22. Sei A symmetrisch, (λ, x) eine Eigenpaar-N¨aherung mit x2 = 1 und dem Residuum η := Ax − λx. Dann gilt:
min |λ − λi | ≤ η2
λi ∈σ( )
(5.154)
Beweis. Sei λ = λi f¨ ur i = 1, . . . , n, sonst ist der Beweis trivial. Da A symmetrisch ist, gibt es nach Satz 5.3 eine orthogonale Matrix U derart, dass U T AU = diag(λ1 , . . . , λn ) =: D. Damit folgt U T η = U T Ax − λU T x = U T U DU T x − λU T x = (D − λI)U T x. Wegen λ = λi ist also (D − λI)−1 U T η = U T x. Mit x2 = 1 und Lemma 5.21 folgt = x2 = U T x2 = (D − λI)−1 U T η2 ≤ (D − λI)−1 2 η2 1 1 η2 = η2 = max minλi ∈σ( ) |λ − λi | λi ∈σ( ) |λ − λi |
1
Daraus folgt min |λ − λi | ≤ η2 .
λi ∈σ( )
¨ Viele numerische Verfahren zur Eigenwertbestimmung arbeiten mit orthogonalen Ahnlichkeitstransformationen. Deshalb ist es wichtig, dass dadurch die Kondition des Eigenwertproblems nicht verschlechtert wird. Das zeigt das folgende Lemma.
268
5 Eigenwertprobleme
Lemma 5.23. Sei A diagonal¨ahnlich, seien weiter U eine orthogonale Matrix, λ ein einfacher Eigenwert von A und x der zugeh¨orige Eigenvektor mit x2 = 1. Dann gilt: 1. λ ist auch einfacher Eigenwert von U T AU und y = U T x Eigenvektor zu λ von U T AU und es gilt y2 = 1. 2. EW-cond2 (A) = EW-cond2 (U T AU ) ¨ Beweis. Ubung.
5.8
Anwendung: Membranschwingungen
Wir betrachten ein Gebiet G in der Ebene Ê2 , in welchem eine ideal elastische Membran liegen soll, die am Rand dieses Gebietes fest eingespannt ist. Wir wollen die beiden kleinsten Eigenfrequenzen dieser Membran angen¨ ahert berechnen. Wenn wir uns die Membran als ein u ¨ ber eine Trommel gespanntes Fell vorstellen, dann entsprechen diese Eigenfrequenzen dem Grund- und dem ersten Oberton. Zur Berechnung diskretisieren wir die zugeh¨orige partielle Differenzialgleichung −
∂ 2 u ∂ 2u − 2 ∂x2 ∂y
=
u(x, y) =
λu f¨ ur (x, y) ∈ G,
(5.155)
0 f¨ ur (x, y) ∈ Γ.
Dabei ist G das Gebiet der Membran, Γ sein Rand. Als Kochrezept f¨ ur die Diskretisierung kann folgende Vorgehensweise gew¨ ahlt werden (Einzelheiten findet man in Kapitel 10): Die inneren Punkte der Diskretisierung werden durchnummeriert, z.B. von links nach rechts und von oben nach unten wie in unserem Beispiel, siehe Abb. 5.3. Jeder innere Punkt bestimmt die Elemente einer Zeile von A. Wenn seine Nummer k ist mit den inneren Nachbarpunkten p, q, r and s, dann bekommen wir den so genannten Differenzenstern: q akk
=
4
akp
=
akq = akr = aks = −1
akj
=
0 , sonst.
r
k
p
s Nachbarpunkte auf dem Rand werden wegen der Null-Randwerte in (5.155) nicht ber¨ ucksichtigt. Sie bekommen auch keine Nummer zugeteilt. Die Matrix wird dann noch durch h2 , das Quadrat der Gitterweite, dividiert. Als Beispiel wollen wir das Gebiet aus Abb. 5.3 nehmen. Die dort dargestellte Diskretisierung (Gitterweite h = 1) f¨ uhrt auf das Eigenwertproblem Ax = λx mit der in (5.156) symbolisch dargestellten Matrix A (mit × ≡ −1, + ≡ 4 und · ≡ 0).
269
5.8 Anwendung: Membranschwingungen
2
1
3
6
9
13
18
24
29
4
7
10
14
19
25
30
5
8
11
15
20
26
31
12
16
21
27
32
17
22
28
23
Abb. 5.3 Eine grob diskretisierte Membran.
⎛+ × ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝
× · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
+ · · × · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · + × · × · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · × + × · × · · · · · · · · · · · · · · · · · · · · · · · · ·
· × · × + · · × · · · · · · · · · · · · · · · · · · · · · · · ·
· · × · · + × · × · · · · · · · · · · · · · · · · · · · · · · ·
· · · × · × + × · × · · · · · · · · · · · · · · · · · · · · · ·
· · · · × · × + · · × · · · · · · · · · · · · · · · · · · · · ·
· · · · · × · · + × · · × · · · · · · · · · · · · · · · · · · ·
· · · · · · × · × + × · · × · · · · · · · · · · · · · · · · · ·
· · · · · · · × · × + × · · × · · · · · · · · · · · · · · · · ·
· · · · · · · · · · × + · · · × · · · · · · · · · · · · · · · ·
· · · · · · · · × · · · + × · · · × · · · · · · · · · · · · · ·
· · · · · · · · · × · · × + × · · · × · · · · · · · · · · · · ·
· · · · · · · · · · × · · × + × · · · × · · · · · · · · · · · ·
· · · · · · · · · · · × · · × + × · · · × · · · · · · · · · · ·
· · · · · · · · · · · · · · · × + · · · · × · · · · · · · · · ·
· · · · · · · · · · · · × · · · · + × · · · · × · · · · · · · ·
· · · · · · · · · · · · · × · · · × + × · · · · × · · · · · · ·
· · · · · · · · · · · · · · × · · · × + × · · · · × · · · · · ·
· · · · · · · · · · · · · · · × · · · × + × · · · · × · · · · ·
· · · · · · · · · · · · · · · · × · · · × + × · · · · × · · · ·
· · · · · · · · · · · · · · · · · · · · · × + · · · · · · · · ·
· · · · · · · · · · · · · · · · · × · · · · · + × · · · × · · ·
· · · · · · · · · · · · · · · · · · × · · · · × + × · · · × · ·
· · · · · · · · · · · · · · · · · · · × · · · · × + × · · · × ·
· · · · · · · · · · · · · · · · · · · · × · · · · × + × · · · ×
· · · · · · · · · · · · · · · · · · · · · × · · · · × + · · · ·
· · · · · · · · · · · · · · · · · · · · · · · × · · · · + × · ·
· · · · · · · · · · · · · · · · · · · · · · · · × · · · × + × ·
· · · · · · · · · · · · · · · · · · · · · · · · · × · · · × + ×
· · · · · · · · · · · · · · · · · · · · · · · · · · × · · · × +
⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
(5.156)
Wir haben das Beispiel f¨ ur drei Gitter mit h = 1, h = 1/2 und h = 1/4 durchgerechnet. Das ergibt schwach besetzte Matrizen mit den Ordnungen n = 32 f¨ ur h = 1 wie in (5.156), n = 153 f¨ ur h = 1/2 und n = 665 f¨ ur h = 1/4. ¨ Die folgende Tabelle gibt eine Ubersicht u ¨ber die drei gerechneten Beispiele:
270
5 Eigenwertprobleme
Abb. 5.4 Eigenschwingungsformen einer Membran.
h
Ordnung n
Anzahl Matrixelemente =0
λ1
λ2
1 1/2 1/4
32 153 665
130 701 3193
0.5119 0.5220 0.5243
1.0001 1.0344 1.0406
Die Eigenwerte ¨ andern sich noch stark mit kleiner werdender Gitterweite; also ist die Genauigkeit der Eigenwerte noch nicht zufriedenstellend. F¨ ur eine h¨ohere Genauigkeit w¨are eine weitere Verfeinerung des Gitters notwendig gewesen. Die Eigenfunktionen zu diesen zwei Eigenwerten sehen wir in Abb. 5.4. Dargestellt sind die linear verbundenen diskreten Werte zu h = 1/4.
5.9
Software
¨ Uber die historische Quelle aller Software zur numerischen linearen Algebra und ihre Weiter¨ entwicklungen haben wir schon in Abschnitt 2.6 berichtet. Uber diese wichtigsten SoftwareQuellen hinaus gibt es spezielle Software im Wesentlichen im Zusammenhang mit der L¨osung von Eigenwertproblemen bei gew¨ ohnlichen und partiellen Differenzialgleichungen, siehe Kapitel 8 und 10. Einzeln erw¨ ahnt wurde schon das Programm Rgsvd von K˚ agstrøm [K˚ ag 86], das die Eigenraumstruktur des allgemeinen Eigenwertproblems vollst¨andig berechnet. Die Nag-Bibliotheken enthalten Routinen f¨ ur alle wichtigen F¨alle im Kapitel F02. Dazu geh¨ ort auch die Berechnung von Singul¨ arwerten und -vektoren. Das gilt entsprechend f¨ ur Matlab. Ein spezielles Fortran-Paket f¨ ur Eigenwertprobleme von großen, schwach besetzten Matrizen ist Arpack. Es benutzt ein iteratives Verfahren von Arnoldi, [Leh 96, Leh 98].
271
5.10 Aufgaben
Der Matlab-Befehl eigs verwendet dieses Paket1. Dar¨ uber hinaus verf¨ ugt Matlab u ¨ ber einige Befehle zur Berechnung von Eigen- und Singul¨arwerten und -vektoren von schwach besetzten Matrizen, siehe auch Abschnitt 11.6. Eine Gruppe von Autoren, darunter einige der Lapack-Autoren, hat so genannte Templates f¨ ur Eigenwertprobleme [Bai 00] entwickelt. Templates, deutsch auch Masken genannt, sind makrosprachlich beschriebene Algorithmen. Vorbildliche Templates beschreiben neben dem Algorithmus die F¨ alle f¨ ur seinen effizienten Einsatz, die notwendigen Eingabeparameter, eine Sch¨ atzung der Rechenzeit und des Speicherplatzbedarfs sowie alternative Verfahren. Hinzu sollten Beispiele f¨ ur einfache und schwierige F¨ alle kommen, Hinweise auf Implementierungen in verschiedenen Programmiersprachen und Literaturhinweise. Unsere Probleml¨ oseumgebung Pan (http://www.upb.de/SchwarzKoeckler/) verf¨ ugt u ¨ ber vier Programme zur L¨ osung von nicht notwendig symmetrischen, von symmetrischen, von symmetrischen, schwach besetzten und von allgemeinen Eigenwertproblemen.
5.10
Aufgaben
5.1. Die Matrix =
1 −6
−6 −4
!
soll durch eine Jacobi-Rotation auf Diagonalgestalt transformiert werden. Welches sind die Eigenwerte und Eigenvektoren? 5.2. An der symmetrischen Matrix 0 1 2 3 −4 B C =@ 3 6 2 A −4 2 10
f¨ uhre man einen Schritt des klassischen Jacobi-Verfahren aus. Um welchen Wert nimmt S( ) ab? ist sodann mit dem Verfahren von Givens auf tridiagonale Form zu transformieren. Die Matrix Warum entsteht im Vergleich zum vorhergehenden Ergebnis eine andere tridiagonale Matrix? Wie groß ist in diesem Fall die Abnahme von S( )? Zur Transformation von auf tridiagonale Gestalt wende man auch noch die schnelle Givens-Transformation an. 5.3. Programmieren Sie die wichtigsten Algorithmen dieses Kapitels. Bestimmen Sie mit dem klassischen Jacobi-Verfahren, dann mit Hilfe der Transformation auf tridiagonale Form und mit dem QR-Algorithmus sowie inverser Vektoriteration die Eigenwerte und Eigenvektoren von folgenden symmetrischen Matrizen. 1 1 0 0 3 −2 4 5 5 −5 5 0 C C B B 7 3 8 C 7 C B −2 B −5 16 −8 C, 2 = B C 1 = B @ 4 @ 5 −8 16 3 10 1 A 7 A 5 8 1 6 0 7 7 21 1 http://www.mathworks.com/access/helpdesk/help/techdoc/ref/eigs.shtml
272 0
3
B B B B =B B B @
1 1 1 1 1 1
1 2 3 4 5 6
1 3 6 10 15 21
1 4 10 20 35 56
1 5 15 35 70 126
0
1
1 6 21 56 126 262
C C C C C, C C A
4
19 B 5 B B B −12 =B B 6 B @ 7 16
5 13 9 −18 12 4
−12 9 18 4 6 14
5 Eigenwertprobleme 1 6 7 16 −18 12 4 C C C 4 6 14 C C 19 2 −16 C C 2 5 15 A −16 15 13
5.4. F¨ ur die Hessenberg-Matrix 0 1 2 −5 −13 −25 B C 29 60 C B 4 13 =B C @ 0 −2 −15 −48 A 0 0 5 18
berechne man mit der inversen Vektoriteration zwei reelle Eigenwerte und die zugeh¨ origen Eigenvektoren. Dazu verwende man einmal den Startwert λ(0) = 2.5, im anderen Fall den Startwert λ(0) = 7.5. 5.5. Man bestimme mit der Transformation auf Hessenberg-Form, der QR-Transformation und der inversen Vektoriteration die Eigenwerte und Eigenvektoren von folgenden unsymmetrischen Matrizen. 1 0 1 2 3 4 5 6 1 0 B 6 1 2 3 4 5 C −3 9 0 1 C B C C B B 1 6 0 0 C B 5 6 1 2 3 4 C B C, C, 2 = B 1 = B B 4 5 6 1 2 3 C @ −23 23 4 3 A C B @ 3 4 5 6 1 2 A −12 15 1 3 2 3 4 5 6 1 1 0 28 17 −16 11 9 −2 −27 B −1 29 7 −6 −2 28 1 C C B C B −11 −1 12 3 −8 10 11 C B C B −6 −11 12 8 −12 −5 6 C, 3 = B C B B −3 1 −4 3 8 4 3 C C B @ 14 16 −7 6 2 4 −14 A
4
0
−37
3 B 4 B B −5 B B = B −6 B B 1 B @ 8 −1
−18
−5 2 8 −4 −2 1 −8
Die Eigenwerte der Matrizen
−9
4 −1 −2 2 7 −7 −9
1
5
−2 7 3 5 5 6 −1
und
0 6 1 −8 2 4 3
3
7
8 2 4 1 8 0 −3
26
1 9 2 −3 4 −1 2
38
1
C C C C C C. C C C A
sind s¨ amtlich reell.
eine nichtreduzierte Hessenberg-Matrix der Ordnung n. Man zeige mit Hilfe der 5.6. Es sei Transformationsformeln der einzelnen Schritte, dass in der QR-Zerlegung = f¨ ur die Diagonalelemente von
|rii | ≥ |hi+1,i |
f¨ ur i = 1, 2, . . . , n − 1
273
5.10 Aufgaben
¯ eine gute N¨ gilt. Falls λ aherung eines Eigenwertes von ist, folgere man daraus, dass in der ¯ ) = h¨ ochstens rnn betragsm¨ aßig sehr klein sein kann. QR-Zerlegung von ( − λ 5.7. F¨ ur die Matrizen der Aufgaben 5.3 und 5.5 untersuche man experimentell den Einfluss der reellen Spektralverschiebungen σk nach (5.103) oder (5.109) auf die Zahl der Iterationsschritte des QR-Algorithmus. 5.8. Man entwickle den Algorithmus f¨ ur einen QR-Schritt mit impliziter, reeller Spektralverschiebung σ f¨ ur eine Hessenberg-Matrix und schreibe dazu ein Programm. 5.9. Man beweise Lemma 5.23. 5.10. Man benutze 0 3 B =@ 1 2
ur alle drei Eigenwerte der Matrix Satz 5.22, um Absch¨ atzungen |λ − λi | f¨ 1 1 2 C 3.5 2 A 2 4
zu finden. F¨ ur die Modalmatrix 0 −0.58 −0.62 B ˜ = @ −0.36 0.77 0.73 −0.15
von liegt eine N¨ aherung vor: 1 0.48 C 0.55 A . 0.68
5.11. Der Klang der Trommel Man bestimme wie in der Anwendung 5.8 die Matrix (der Ordnung n = 21) zu der in Abb. 5.5 gezeichneten Trommel.
7
6y @ @ @
6 5 4 3
@ @ @
2 1 Abb. 5.5 Eine diskretisierte Trommel.
x -
0 0
1
2
3
4
5
6
7
Der Grundton der Trommel ist n¨ aherungsweise proportional zum kleinsten Eigenwert von . Bei der L¨ osung des Problems k¨ onnen alle Symmetrien des Problems ausgenutzt werden. Das f¨ uhrt schließlich zu einem Eigenwertproblem der Ordnung n = 5. Schreiben Sie ein Programm, das das Eigenwertproblem f¨ ur die diskretisierte Trommel f¨ ur verschieost. Wie klein muss die Gitterweite sein, damit der dene Gitterweiten hi := 2−i , i = 0, 1, 2, . . ., l¨ kleinste Eigenwert sich in drei wesentlichen Stellen nicht mehr ¨ andert?
6
Ausgleichsprobleme, Methode der kleinsten Quadrate
In manchen Wissenschaftszweigen, wie etwa Experimentalphysik und Biologie, stellt sich die Aufgabe, unbekannte Parameter einer Funktion, die entweder auf Grund eines Naturgesetzes oder von Modellannahmen gegeben ist, durch eine Reihe von Messungen oder Beobachtungen zu bestimmen. Die Anzahl der vorgenommenen Messungen ist in der Regel bedeutend gr¨ oßer als die Zahl der Parameter, um dadurch den unvermeidbaren Beobachtungsfehlern Rechnung zu tragen. Die resultierenden, u ¨berbestimmten Systeme von linearen oder nichtlinearen Gleichungen f¨ ur die unbekannten Parameter sind im Allgemeinen nicht exakt l¨ osbar, sondern man kann nur verlangen, dass die in den einzelnen Gleichungen auftretenden Abweichungen oder Residuen in einem zu pr¨azisierenden Sinn minimal sind. In der betrachteten Situation wird aus wahrscheinlichkeitstheoretischen Gr¨ unden nur die Methode der kleinsten Quadrate von Gauß der Annahme von statistisch normalverteilten Messfehlern gerecht [Lud 71]. F¨ ur die Approximation von Funktionen kommt auch noch ¨ 97]. Das die Minimierung der maximalen Abweichung nach Tschebyscheff in Betracht [Ube Gaußsche Ausgleichsprinzip f¨ uhrt allerdings auf einfacher durchf¨ uhrbare Rechenverfahren als das Tschebyscheffsche Prinzip.
6.1
Lineare Ausgleichsprobleme, Normalgleichungen
Wir betrachten ein u ¨ berbestimmtes System von N linearen Gleichungen in n Unbekannten Cx = d,
C ∈ ÊN,n , d ∈ ÊN , x ∈ Ên , N > n.
(6.1)
Da wir dieses System im Allgemeinen nicht exakt l¨osen k¨onnen, f¨ uhren wir das Residuum r ∈ ÊN ein, um die so genannten Fehlergleichungen Cx − d = r,
C ∈ ÊN,n , x ∈ Ên , d, r ∈ ÊN
(6.2)
zu erhalten, die komponentenweise n
k=1
cik xk − di = ri ,
i = 1, 2, . . . , N, n < N,
(6.3)
lauten. F¨ ur das Folgende setzen wir voraus, dass die Matrix C den Maximalrang n besitzt, d.h. dass ihre Spalten linear unabh¨ angig sind. Die Unbekannten xk der Fehlergleichungen sollen nach dem Gaußschen Ausgleichsprinzip so bestimmt werden, dass die Summe der Quadrate der Residuen ri minimal ist. Diese Forderung ist ¨aquivalent dazu, das Quadrat
6.1 Lineare Ausgleichsprobleme, Normalgleichungen
275
der euklidischen Norm des Residuenvektors zu minimieren. Aus (6.2) ergib sich daf¨ ur rT r
= (Cx − d)T (Cx − d) = xT C T Cx − xT C T d − dT Cx + dT d = xT C T Cx − 2(C T d)T x + dT d.
(6.4)
Das Quadrat der euklidischen L¨ ange von r ist nach (6.4) darstellbar als quadratische Funktion F (x) der n Unbekannten xk . Zur Vereinfachung der Schreibweise definieren wir A := C T C,
b := C T d,
A ∈ Ên,n , b ∈ Ên .
(6.5)
Weil C Maximalrang hat, ist die symmetrische Matrix A positiv definit, denn f¨ ur die zugeh¨ orige quadratische Form gilt Q(x) = Q(x) =
xT Ax = xT C T Cx = (Cx)T (Cx) ≥ 0 f¨ ur alle x ∈ Ên , 0 ⇔ (Cx) = 0 ⇔ x = 0.
Mit (6.5) lautet die zu minimierende quadratische Funktion F (x) F (x) := r T r = xT Ax − 2bT x + dT d.
(6.6)
Die notwendige Bedingung daf¨ ur, dass F (x) ein Minimum annimmt, besteht darin, dass ihr Gradient ∇F (x) verschwindet. Die i-te Komponente des Gradienten ∇F (x) berechnet sich aus der expliziten Darstellung von (6.6) zu n
∂F (x) =2 aik xk − 2bi , ∂xi
i = 1, 2, . . . , n.
(6.7)
k=1
Nach Division durch 2 ergibt sich somit aus (6.7) als notwendige Bedingung f¨ ur ein Minimum von F (x) das lineare Gleichungssystem Ax = b
(6.8)
f¨ ur die Unbekannten x1 , x2 , . . . , xn . Man nennt (6.8) die Normalgleichungen zu den Fehlergleichungen (6.2). Da die Matrix A wegen der getroffenen Voraussetzung f¨ ur C positiv definit ist, sind die Unbekannten xk durch die Normalgleichungen (6.8) eindeutig bestimmt und lassen sich mit der Methode von Cholesky berechnen. Die Funktion F (x) wird durch diese Werte auch tats¨ achlich minimiert, denn die Hessesche Matrix von F (x), gebildet aus den zweiten partiellen Ableitungen, ist die positiv definite Matrix 2A. Die klassische Behandlung der Fehlergleichungen (6.2) nach dem Gaußschen Ausgleichsprinzip besteht somit aus den folgenden, einfachen L¨osungsschritten. 1. A = 2. A = 7 Ly = 3. r =
C T C, b = C T d LLT b, LT x = y Cx − d
(Normalgleichungen Ax = b) (Cholesky-Zerlegung) (Vorw¨arts-/R¨ ucksubstitution) 8 (Residuenberechnung)
(6.9)
F¨ ur die Berechnung der Matrixelemente aik und der Komponenten bi der Normalgleichungen erh¨ alt man eine einpr¨ agsame Rechenvorschrift, falls die Spaltenvektoren ci der Matrix C
276
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
eingef¨ uhrt werden. Dann gelten die Darstellungen aik = cTi ck ,
bi = cTi d,
i, k = 1, 2, . . . , n,
(6.10)
so dass sich aik als Skalarprodukt des i-ten und k-ten Spaltenvektors von C und bi als Skalarprodukt des i-ten Spaltenvektors ci und der rechten Seite d der Fehlergleichungen bestimmt. Aus Symmetriegr¨ unden sind in A nur die Elemente in und unterhalb der Diagonalen zu berechnen. Der Rechenaufwand zur Aufstellung der Normalgleichungen betr¨agt somit ZNormgl = nN (n + 3)/2 Multiplikationen. Zur L¨osung von N Fehlergleichungen (6.3) in n Unbekannten mit dem Algorithmus (6.9) einschließlich der Berechnung der Residuen sind wegen (2.102) ZFehlergl =
1 n2 N 3 1 1 nN (n + 5) + n3 + n2 + n ≈ + O(n3 ) 2 6 2 3 2
(6.11)
multiplikative Operationen und n Quadratwurzeln erforderlich.
Beispiel 6.1. Zu bestimmten, nicht ¨aquidistanten Zeitpunkten ti wird eine physikalische Gr¨oße z gem¨ aß (6.12) beobachtet. i =
1
2
3
4
5
6
7
ti =
0.04
0.32
0.51
0.73
1.03
1.42
1.60
zi =
2.63
1.18
1.16
1.54
2.65
5.41
7.67
(6.12)
Es ist bekannt, dass z eine quadratische Funktion der Zeit t ist, und es sollen ihre Parameter nach der Methode der kleinsten Quadrate bestimmt werden. Mit dem Ansatz z(t) = α0 + α1 t + α2 t2
(6.13)
lautet die i-te Fehlergleichung α0 + α1 ti + α2 t2i − zi = ri ,
i = 1, 2, . . . , 7,
und damit das Gleichungssystem (6.1) 1 1 0 0 1 0.04 0.0016 2.63 C B 1 0.32 0.1024 C B C0 B 1 B 1.18 C C B 1 0.51 0.2601 C B α0 C B B 1.16 C C CB B C B B 1 0.73 0.5329 C @ α1 A = B 1.54 C C C B B B 1 1.03 1.0609 C B 2.65 C α2 C C B B @ 1 1.42 2.0164 A @ 5.41 A 1 1.60 2.5600 7.67
Daraus ergeben sich bei sechsstelliger Rechnung die Normalgleichungen 10 0 1 1 0 α0 7.00000 5.65000 6.53430 22.2400 CB B C C B 8.60652 A @ α1 A = @ 24.8823 A @ 5.65000 6.53430 6.53430 8.60652 12.1071 34.6027 α2
(6.14)
(6.15)
277
6.1 Lineare Ausgleichsprobleme, Normalgleichungen Die Cholesky-Zerlegung und 0 2.64575 Ä=B @ 2.13550 2.46973 0 2.74928 «=B @ −5.95501 5.60745
die Vorw¨ arts- und R¨ ucksubstitution ergeben 1 1 0 8.40593 C C B 1.40497 A , Ý = @ 4.93349 A , 2.37187 0.617867 3.46466 1
(6.16)
C A.
Die resultierende quadratische Funktion
z(t) = 2.74928 − 5.95501 t + 5.60745 t2 (6.17) . T hat den Residuenvektor Ö = (−0.1099, 0.2379, 0.0107, −0.1497, −0.0854, 0.1901, −0.0936) . Die Messpunkte und der Graph der quadratischen Funktion sind in Abb. 6.1 dargestellt. Die Residuen onnen als ri sind die Ordinatendifferenzen zwischen der Kurve z(t) und den Messpunkten und k¨ Korrekturen der Messwerte interpretiert werden, so dass die korrigierten Messpunkte auf die Kurve zu liegen kommen. △ z 8
4
t
0 0
0.5
1
1.5
Abb. 6.1 Ausgleichung mit quadratischer Funktion.
F¨ ur die L¨ osungsmethode der Normalgleichungen besteht eine numerische Problematik darin, dass die Konditionszahl der Matrix A der Normalgleichungen sehr groß sein kann. Die berechnete L¨ osung x ˜ kann in diesem Fall einen entsprechend großen relativen Fehler aufweisen (vgl. Abschnitt 2.2.1). Da die Matrixelemente aik und die Komponenten bi des Konstantenvektors als Skalarprodukte (6.10) zu berechnen sind, sind Rundungsfehler unvermeidlich. Die Matrix A der Normalgleichungen (6.15) besitzt die Konditionszahl . . κ2 (A) = λmax /λmin = 23.00/0.09000 = 256. Bei sechsstelliger Rechnung sind nach Abschnitt 2.2.1 in der L¨ osung α ˜ nur die drei ersten Ziffern garantiert richtig. Eine zw¨olfstellige Rechnung liefert in der Tat f¨ ur z(t) mit den auf sieben Ziffern gerundeten Koeffizienten . (6.18) z(t) = 2.749198 − 5.954657 t + 5.607247 t2.
278
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
Beispiel 6.2. Zur Illustration der m¨oglichen schlechten Kondition von Normalgleichungen betrachten wir ein typisches Ausgleichsproblem. Zur analytischen Beschreibung der Kennlinie eines ¨ nichtlinearen Ubertragungselementes y = f (x) sind f¨ ur exakte Eingangsgr¨ oßen xi die Ausgangsgr¨ oßen yi beobachtet worden. x=
0.2
0.5
1.0
1.5
2.0
3.0
y=
0.3
0.5
0.8
1.0
1.2
1.3
(6.19) ¨ Das Ubertragungselement verh¨ alt sich f¨ ur kleine x linear, und die Kennlinie besitzt f¨ ur große x eine horizontale Asymptote. Um diesem Verhalten Rechnung zu tragen, soll f¨ ur f (x) der Ansatz x f (x) = α1 + α2 (1 − e−x ) (6.20) 1+x mit den beiden zu bestimmenden Parametern α1 und α2 verwendet werden. Bei sechsstelliger Rechnung lauten das u ¨berbestimmte System (6.1), die Normalgleichungen und die Linksdreiecksmatrix der Cholesky-Zerlegung 0 0 1 1 0.166667 0.181269 0.3 B 0.333333 0.393469 C B C B C ! B 0.5 C B B C C α1 B 0.500000 0.632121 C B 0.8 C =B (6.21) B C, C B 0.600000 0.776870 C B 1.0 C α2 B B C C @ 0.666667 0.864665 A @ 1.2 A 1.3 0.750000 0.950213 ! ! ! ! 1.32508 2.99167 α1 1.75583 2.23266 . = , = 1.68492 0.0487852 3.80656 α2 2.23266 2.84134 Vorw¨ arts- und R¨ ucksubstitution liefern mit α1 = 0.384196 und α2 = 1.03782 die gesuchte Darstellung f¨ ur die Kennlinie x (6.22) + 1.03782 (1 − e−x ) f (x) = 0.384196 1+x . mit dem Residuenvektor = (−0.0478, 0.0364, 0.0481, 0.0368, −0.0465, −0.0257)T . Aus den bei. . den Eigenwerten λ1 = 4.59627 und λ2 = 0.0009006 der Matrix der Normalgleichungen folgt die . Konditionszahl κ2 () = 5104. Da die berechneten Werte der Parameter α1 und α2 einen entsprechend großen relativen Fehler aufweisen k¨ onnen, wurde das Fehlergleichungssystem mit zw¨ olfstel. . ur welche die liger Rechnung behandelt. Sie lieferte die Werte α1 = 0.382495 und α2 = 1.03915, f¨ Residuen aber mit den oben angegebenen Werten u ¨ bereinstimmen. Das Resultat zeigt die große △ Empfindlichkeit der Parameter α1 und α2 .
6.2
Methoden der Orthogonaltransformation
Die aufgezeigte Problematik der Normalgleichungen infolge m¨oglicher schlechter Kondition verlangt nach numerisch sicheren Verfahren zur L¨osung der Fehlergleichungen nach der Methode der kleinsten Quadrate. Die Berechnung der Normalgleichungen ist zu vermeiden, und die gesuchte L¨ osung ist durch eine direkte Behandlung der Fehlergleichungen zu bestimmen. Im Folgenden werden zwei Varianten beschrieben.
279
6.2 Methoden der Orthogonaltransformation
6.2.1
Givens-Transformation
Als wesentliche Grundlage f¨ ur die Verfahren dient die Tatsache, dass die L¨ange eines Vektors unter orthogonalen Transformationen invariant bleibt, siehe Lemma 5.21. Zur L¨osung der Fehlergleichungen Cx − d = r nach dem Gaußschen Ausgleichsprinzip d¨ urfen sie mit einer orthogonalen Matrix Q ∈ ÊN,N transformiert werden, ohne dadurch die Summe der Quadrate der Residuen zu ver¨ andern. Somit wird das Fehlergleichungssystem (6.2) ersetzt durch das ¨ aquivalente System ˆ. QT Cx − QT d = QT r =: r
(6.23) T
Die orthogonale Matrix Q wird in (6.23) so gew¨ahlt werden, dass die Matrix Q C eine spezielle Gestalt aufweist. In Verallgemeinerung des Satzes 5.7 gilt der Satz 6.1. Zu jeder Matrix C ∈ ÊN,n mit Maximalrang n < N existiert eine orthogonale Matrix Q ∈ ÊN,N derart, dass " # R ˆ ˆ (6.24) C = QR mit R = , R ∈ Ên,n , 0 ∈ Ê(N −n),n 0 gilt, wo R eine regul¨are Rechtsdreiecksmatrix und 0 eine Nullmatrix darstellen. Beweis. Analog zur Beweisf¨ uhrung von Satz 5.7 erkennt man, dass die sukzessive Multiplikation der Matrix C von links mit Rotationsmatrizen U T (p, q; ϕ) mit den Rotationsindexpaaren (1, 2), (1, 3), . . . , (1, N ), (2, 3), (2, 4), . . . , (2, N ), (3, 4), . . . , (n, N )
(6.25)
und nach (5.89) gew¨ ahlten Drehwinkeln die aktuellen Matrixelemente in der Reihenfolge c21 , c31 , . . . , cN 1 , c32 , c42 , . . . , cN 2 , c43 , . . . , cN n
(6.26)
eliminiert. Nach N ∗ = n(2N − n − 1)/2 Transformationsschritten gilt (6.24) mit ˆ U TN ∗ . . . U T2 U T1 C = QT C = R,
oder
ˆ C = QR.
(6.27)
ˆ gleich n, und Da die orthogonale Matrix Q regul¨ ar ist, sind der Rang von C und von R folglich ist die Rechtsdreiecksmatrix R regul¨ ar. Mit der nach Satz 6.1 gew¨ ahlten Matrix Q lautet (6.23) ˆ − dˆ = rˆ, Rx
dˆ = QT d.
(6.28)
280
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
Das orthogonal transformierte Fehlergleichungssystem (6.28) hat wegen (6.24) die Form r11 x1 + r12 x2 + . . . + r1n xn − dˆ1 r22 x2 + . . . + r2n xn − dˆ2 .. .. .. . . . rnn xn − dˆn − dˆn+1 .. . − dˆN
= rˆ1 = rˆ2 .. . = rˆn = rˆn+1 .. .
(6.29)
= rˆN
Die Methode der kleinsten Quadrate verlangt nun, dass die Summe der Quadrate der transformierten Residuen rˆi minimal sei. Die Werte der letzten (N − n) Residuen sind durch die zugeh¨ origen dˆi unabh¨ angig von den Unbekannten xk vorgegeben. Die Summe der Residuenquadrate ist genau dann minimal, falls rˆ1 = rˆ2 = . . . = rˆn = 0 gilt, und sie ist gleich der Summe der Quadrate der letzten (N − n) Residuen rˆj . Folglich sind die Unbekannten xk gem¨ aß (6.29) gegeben durch das lineare Gleichungssystem (6.30) Rx = dˆ1 , worin dˆ1 ∈ Ên den Vektor bedeutet, welcher aus den n ersten Komponenten von dˆ = QT d gebildet wird. Den L¨ osungsvektor x erh¨ alt man aus (6.30) durch R¨ ucksubstitution. Falls man sich nur f¨ ur die Unbekannten xk des Fehlergleichungssystems Cx − d = r interessiert, ist der Algorithmus bereits vollst¨ andig beschrieben. Sollen auch die Residuen ri berechnet werden, k¨ onnen dieselben im Prinzip durch Einsetzen in die gegebenen Fehlergleichungen ermittelt werden. Dieses Vorgehen erfordert, dass die Matrix C und der Vektor d noch verf¨ ugbar sind. Es ist in Bezug auf den Speicherbedarf ¨okonomischer, den Residuenvektor r wegen (6.23) und (6.27) aus rˆ gem¨ aß r = Qˆ r = U 1 U 2 . . . U N ∗ rˆ
(6.31)
zu berechnen. Die Information f¨ ur die einzelnen Rotationsmatrizen U k kann in den ̺-Werten (5.64) an der Stelle der eliminierten Matrixelemente cij gespeichert werden. Die ersten n Komponenten des Residuenvektors rˆ sind gleich null, und die letzten (N − n) Komponenten sind durch die entsprechenden dˆj definiert. Der gesuchte Residuenvektor r entsteht somit aus rˆ durch sukzessive Multiplikation mit den Rotationsmatrizen U k in der umgekehrten Reiˆ angewandt wurden. Zusammenfassend henfolge wie sie bei der Transformation von C in R besteht die Behandlung von Fehlergleichungen (6.2) nach dem Gaußschen Ausgleichsprinzip mit Hilfe der Orthogonaltransformation mit Givens-Rotationen aus folgenden Schritten. ˆ 1. C = QR 2. dˆ = QT d 3. Rx = dˆ1 [ 4. r = Qˆ r
(QR-Zerlegung, Givens-Rotationen) (Transformation von d) (R¨ ucksubstitution) (R¨ ucktransformation von rˆ) ]
(6.32)
Der erste und der zweite Schritt von (6.32) werden im Allgemeinen gleichzeitig ausgef¨ uhrt, falls nur ein Fehlergleichungssystem zu l¨ osen ist. Sobald aber mehrere Systeme (6.2) mit derselben Matrix C, aber verschiedenen Vektoren d nacheinander zu behandeln sind, so
281
6.2 Methoden der Orthogonaltransformation
ist es zweckm¨ aßig die beiden Schritte zu trennen. F¨ ur die Ausf¨ uhrung des zweiten Schrittes muss die Information u ugbar sein. Der Rechenaufwand f¨ ur den ¨ ber die Rotationen verf¨ Rechenprozess (6.32) betr¨ agt 2 13 35 ZFGlGivens = 2nN (n + 6) − n3 − n2 − n 3 2 6
(6.33)
multiplikative Operationen und n(2N − n − 1) Quadratwurzeln. Im Vergleich zu (6.11) ist er um einen Faktor zwischen 2 und 4 gr¨ oßer, abh¨angig vom Verh¨altnis von N zu n. Der Mehraufwand rechtfertigt sich dadurch, dass die berechnete L¨osung x ˜ der Fehlergleichungen bei gleicher Rechengenauigkeit einen bedeutend kleineren relativen Fehler aufweist. Ausgleichsl¨osung der Fehlergleichungen (6.3) mit Givens-Rotationen F¨ ur j = 1, 2, . . . , n : f¨ ur i = j + 1, j + 2, . . . , N : falls cij = 0 : falls |cjj | < τ × |cij | : w = −cij ; γ = 0; σ = 1; ̺ = 1, sonst $ w = sgn(cjj ) ×
c2jj + c2ij
γ = cjj /w; σ = −cij /w falls |σ| < γ : ̺ = σ, sonst ̺ = sgn(σ)/γ cjj = w; cij = ̺ f¨ ur k = j + 1, j + 2, . . . , n : h = γ × cjk − σ × cik cik = σ × cjk + γ × cik ; cjk = h h = γ × dj − σ × di ; di = σ × dj + γ × di ; dj = h F¨ ur i = n, n − 1, . . . , 1 : s = di ; ri = 0 f¨ ur k = i + 1, i + 2, . . . , n : s = s − cik × xk xi = s/cii F¨ ur i = n + 1, n + 2, . . . , N : ri = −di F¨ ur j = n, n − 1, . . . , 1 : f¨ ur i = N, N − 1, . . . , j + 1 : ̺ = cij falls ̺ = 1 : γ = 0; σ = 1, sonst √ σ2 , falls |̺| < 1 : σ = ̺; γ = 1 −0 sonst γ = 1/|̺|; σ = sgn(̺) × 1 − γ 2 h = γ × rj + σ × ri ; ri = −σ × rj + γ × ri ; rj = h
(6.34)
282
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
Die Berechnung der L¨ osung x eines Fehlergleichungssystems Cx − d = r mit dem Verfahren (6.32) besitzt die algorithmische Beschreibung (6.34). Dabei wird angenommen, dass ˆ an der Stelle von C aufgebaut wird und die Werte ̺ (5.64) am Platz der die Matrix R eliminierten Matrixelemente cij gespeichert werden. Die beiden Schritte 1 und 2 von (6.32) werden gleichzeitig ausgef¨ uhrt. Zur Vermeidung eines Namenkonfliktes bedeuten γ = cos ϕ und σ = sin ϕ. Schließlich ist τ die Maschinengenauigkeit, also die kleinste positive Zahl des Rechners mit 1 + τ = 1. Beispiel 6.3. Das Fehlergleichungssystem (6.14) von Beispiel 6.1 wird mit der Methode der Orthogonaltransformation (6.32) behandelt. Bei sechsstelliger Rechnung lauten die Matrix ˆ der mit den ̺-Werten anstelle der Nullen, der transformierte Vektor ˆ und der QR-Zerlegung von Residuenvektor
0
B B B B ˆ=B B B B B @
2.64575 −1.41421 −0.577351 −0.500000 −0.447213 −0.408248 −0.377965
2.13549 1.40497 −1.68878 −1.51616 −1.49516 −1.46945 −0.609538
2.46973 2.37187 0.617881 −2.53186 −2.19433 −1.98963 −0.635138
1
0
C B C B C B C B C ˆ B C, = B C B C B B C A @
8.40594 4.93353 3.46460 −0.128686 −0.234145 −0.211350 0.165290
1
C C C C C C, C C C A
0
B B B B B =B B B B @
−0.110017 0.237881 0.0108260 −0.149594 −0.0853911 0.190043 −0.0937032
1 C C C C C C C C C A
Der L¨ osungsvektor = (2.74920, −5.95463, 5.60723)T ergibt sich aus der R¨ ucksubstitution mit der und den ersten drei Komponenten von ˆ. Er stimmt mit der exakten L¨ osung (6.18) bis Matrix auf h¨ ochstens drei Einheiten der letzten Ziffer u ¨ berein und weist einen um den Faktor 9 kleineren relativen Fehler auf als (6.17). △
Beispiel 6.4. Die Methode der Orthogonaltransformation liefert auch f¨ur das Fehlergleichungssystem (6.21) von Beispiel 6.2 eine N¨ aherungsl¨ osung mit kleinerem Fehler. Die wesentlichen Ergebnisse sind bei sechsstelliger Rechnung 0
B B B ˆ=B B B B @
1.32508 −2.23607 −1.67332 −0.693334 −0.610277 −0.566004
1.68492 0.0486849 −2.47237 −0.653865 −0.403536 0.0862074
1
0
C B C B C B C ˆ B C, = B C B C B A @
2.25773 0.0505901 0.0456739 0.0314087 0.0778043 0.0313078
1
C C C C C, C C A
0
B B B B =B B B @
−0.0478834 0.0363745 0.0481185 0.0367843 −0.0464831 −0.0257141
1
C C C C C. C C A
Die resultierenden Parameter α1 = 0.382528 und α2 = 1.03913 sind jetzt auf vier Dezimalstellen nach dem Komma richtig. △
Wie die Zahlenbeispiele vermuten lassen, besteht zwischen der klassischen Methode der Normalgleichungen und der Methode der Orthogonaltransformation ein Zusammenhang. ˆ und somit gilt So wird die Matrix C der Fehlergleichungen nach (6.24) zerlegt in C = QR, f¨ ur die Matrix A der Normalgleichungen wegen der Orthogonalit¨at von Q und der Struktur ˆ von R ˆ T QT QR ˆ=R ˆT R ˆ = RT R. A = CT C = R (6.35)
6.2 Methoden der Orthogonaltransformation
283
Die Cholesky-Zerlegung A = LLT einer symmetrischen, positiv definiten Matrix ist eindeutig, falls die Diagonalelemente von L positiv gew¨ahlt werden. Folglich muss wegen (6.35) die Matrix R im Wesentlichen mit LT u ¨bereinstimmen, d.h. bis auf eventuell verschiedene Vorzeichen von Zeilen in R. Obwohl theoretisch die beiden Verfahren im Wesentlichen die gleichen Dreiecksmatrizen liefern, besteht numerisch doch ein entscheidender Unterschied f¨ ur deren Berechnung. Um eine plausible Erkl¨ arung daf¨ ur zu erhalten, betrachten wir zuerst die Entstehung der Diagonalelemente von R. Die Folge von orthogonalen Givens-Transformationen l¨asst die euklidischen Normen der Spaltenvektoren cj von C invariant. Nach Elimination der Elemente der ersten Spalte gilt somit |r11 | = c1 2 . Weil das ge¨anderte Element c′12 w¨ahrend der Elimination der Elemente der zweiten Spalte unver¨andert stehen bleibt, folgt f¨ ur das zweite Diagonalelement |r22 | = c′2 − c′12 e1 2 ≤ c2 2 . Allgemein gilt |r jj | ≤ cj 2 , j = 1, 2, . . . , n. Wichtig ist nun die Tatsache, dass die Diagonalelemente r jj aus den Vektoren cj als euklidische Normen von Teilvektoren nach orthogonalen Transformationen entstehen. Die Diagonalelemente ljj von L der Cholesky-Zerlegung von A = C T C entstehen aus den Diagonalelementen ajj , nachdem von ajj Quadrate von Matrixelementen ljk subtrahiert worden sind. Nach (6.10) ist aber ajj = cTj cj = cj 22 gleich dem Quadrat der euklidischen Norm des Spaltenvektors cj . Im Verlauf der Cholesky-Zerlegung von A wird folglich solange mit den Quadraten der Norm gerechnet, bis mit dem Ziehen der Quadratwurzel mit ljj die Norm eines Vektors erscheint. Da nun das Quadrat der Norm im Verfahren von Cholesky verkleinert wird, kann bei endlicher Rechengenauigkeit im Fall einer starken Reduktion des Wertes der relative Fehler infolge Ausl¨ oschung bedeutend gr¨oßer sein als im Fall der Orthogonaltransformation, bei der mit den Vektoren cj selbst gearbeitet wird. Deshalb ist die Matrix R numerisch genauer als die Matrix L der Cholesky-Zerlegung. Schließlich berechnet sich die L¨ osung x der Fehlergleichungen aus dem Gleichungssystem (6.30) mit der genaueren Rechtsdreiecksmatrix R und dem Vektor dˆ1 . Dieser ist aus d durch eine Folge von Orthogonaltransformationen entstanden, die sich durch gute numerische Eigenschaften auszeichnen. Der Vektor dˆ1 ist theoretisch im Wesentlichen gleich dem Vektor y, der sich durch Vorw¨ artssubstitution aus Ly = b ergibt, der aber mit L bereits ungenauer ist als dˆ1 . Der Rechenaufwand des Verfahrens (6.32) kann reduziert werden, falls die schnelle GivensTransformation von Abschnitt 5.4.3 angewandt wird. Nach der dort ausf¨ uhrlich dargestellˆ als auch die ten Methode erhalten wir wegen (6.28) sowohl die transformierte Matrix R transformierten Vektoren dˆ und rˆ in faktorisierter Form ˆ ˆ ˜ rˆ = D˜ ˆ ˜ ˆ = DR, (6.36) r , D ∈ ÊN,N . dˆ = D d, R
Da die Matrix D regul¨ ar ist, ist sie f¨ ur die Berechnung der L¨osung x aus dem zu (6.29) ˆ und dˆ nicht analogen Fehlergleichungssystem irrelevant, so dass die explizite Bildung von R ˆ ˆ ˜ ˜ ˜ n¨ otig ist. Ist R die Rechtsdreiecksmatrix in R und d1 der Vektor, gebildet aus den n ersten ˆ ˜ so berechnet sich x aus Komponenten von d, ˆ ˜ =d ˜ . Rx (6.37) 1
Zur Bestimmung des Residuenvektors r aus rˆ in Analogie zu (6.31) w¨are die Information u ¨ ber die Transformationen erforderlich. Da aber pro Schritt zwei Zahlenwerte n¨otig sind,
284
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
ist es wohl sinnvoller, r aus den gegebenen Fehlergleichungen Cx − d = r zu berechnen. Falls man sich nur f¨ ur die Summe der Quadrate der Residuen interessiert, kann sie direkt ˆ ˜ und den zugeh¨origen Diagonalelementen von auf den letzten (N − n) Komponenten von d D bestimmt werden. Der Rechenaufwand zur Elimination der aktuellen Matrixelemente cij , i = j+1, j+2, . . . , N , der j-ten Spalte betr¨ agt nach Abschnitt 5.4.3 unter Einschluss der Transformation der beiden Komponenten im Vektor d insgesamt (N − j)(2n − 2j + 12) Operationen. Nach Summation u ¨ber j von 1 bis n ergibt sich der totale Rechenaufwand zur Bestimmung der L¨osung x und des Residuenvektors r zu 1 11 31 ZFGlSG = nN (n + 12) − n3 − n2 − n. 3 2 6
(6.38)
Im Vergleich zu (6.33) reduziert sich die Zahl der multiplikativen Operationen f¨ ur große Werte von n und N tats¨ achlich auf die H¨ alfte. Zudem entfallen im Fall der schnellen GivensTransformationen alle Quadratwurzeln. F¨ ur kleine n und N u ¨ berwiegt der Term 12nN so stark, dass die schnelle Version sogar aufw¨ andiger sein kann. Dies trifft zu in den Beispielen 6.3 und 6.4.
6.2.2
Spezielle Rechentechniken
Fehlergleichungssysteme aus der Landes- oder Erdvermessung haben die Eigenschaft, dass die Matrix C schwach besetzt ist, denn jede Fehlergleichung enth¨alt nur wenige der Unbekannten, und ihre Anzahl ist klein im Verh¨ altnis zu n. Die Methode der Orthogonaltransformation in der normalen oder schnellen Version der Givens-Transformation nutzt die schwache Besetzung von C sicher einmal dadurch aus, dass Rotationen zu verschwindenden Matrixelementen cij unterlassen werden. Dann ist aber auf Grund der Reihenfolge (6.26) offensichtlich, dass die Matrixelemente cij der i-ten Zeile mit i > j, welche in der gegebenen Matrix C gleich null sind und links vom ersten, von null verschiedenen Matrixelement liegen, im Verlauf des Eliminationsprozesses unver¨andert bleiben. Um diese Tatsache zu verwerten, bezeichnen wir mit fi (C) := min{j | cij = 0, j = 1, 2, . . . , n},
i = 1, 2, . . . , N,
(6.39)
den Index des ersten von null verschiedenen Matrixelementes von C in der i-ten Zeile. Da in den ersten n Zeilen von C die regul¨ are Rechtsdreiecksmatrix R entsteht, setzen wir voraus, dass fi (C) ≤ i
f¨ ur i = 1, 2, . . . , n
(6.40)
gilt. Durch geeignete Vertauschungen der Fehlergleichungen und allenfalls durch eine Umnummerierung der Unbekannten kann (6.40) stets erf¨ ullt werden. Unter dieser Voraussetuhrzung ist die orthogonale Transformation von C mit denjenigen Matrixelementen cij ausf¨ bar, deren Indexpaare (i, j) der H¨ ulle von C angeh¨oren, welche wie folgt definiert ist, Env(C) := {(i, j) | fi (C) ≤ j ≤ n; i = 1, 2, . . . , N }.
(6.41)
Zur ¨ okonomischen Speicherung der relevanten Matrixelemente ist es naheliegend, dieselben zeilenweise in einem eindimensionalen Feld anzuordnen, wobei die einzelnen Zeilen je mit
285
6.2 Methoden der Orthogonaltransformation
dem ersten, von null verschiedenen Element beginnen. F¨ ur die Matrix C ∈ Ê6,4 ⎞ ⎛ f1 = 1 c11 0 c13 c14 ⎟ ⎜ 0 c22 0 c24 ⎟ f2 = 2 ⎜ ⎟ ⎜ c32 c33 0 f3 = 2 ⎟ ⎜ 0 C =⎜ ⎟ mit ⎜ 0 0 c43 c44 ⎟ f4 = 3 ⎟ ⎜ ⎝ 0 0 c53 c54 ⎠ f5 = 3 c61 0 0 c64 f6 = 1
(6.42)
sieht diese Anordnung konkret so aus: C:
c11 c12 c13 c14
c22 c23 c24
c32 c33 c34
c43 c44
c53 c54
c61 c62 c63 c64
(6.43)
F¨ ur die in C verschwindenden Matrixelemente, deren Indizes der H¨ ulle angeh¨oren, sind Pl¨ atze vorzusehen, da sie im Verlauf des Rechenprozesses ungleich null werden k¨onnen. Um den Zugriff zu den Matrixelementen cij in der Anordnung (6.43) zu erm¨oglichen, ist ein otig, dessen i-te Komponente den Platz des letzten Matrixelementes Zeigervektor z ∈ ÊN n¨ cin der i-ten Zeile angibt. F¨ ur (6.43) lautet er z = (4, 7, 10, 12, 14, 18)T . Das Matrixelement cij mit (i, j) ∈ Env (C) steht in einer allgemeinen Anordnung der Art (6.43) am Platz k mit der Zuordnung (6.44) (i, j) ∈ Env (C) → k = zi + j − n. ˆ ist ohne Test durchf¨ Die Transformation von C in die Matrix R uhrbar, falls die Matrixelemente cij mit (i, j) ∈ Env (C) zeilenweise anstatt spaltenweise eliminiert werden. Man verifiziert analog zum Beweis von Satz 5.7, dass die entsprechende Folge von Rotationen zur zeilenweisen Elimination die gew¨ unschte Transformation leistet. Der ben¨otigte Index des ersten von null verschiedenen Matrixelementes der i-ten Zeile ist gegeben durch fi (C) = n − zi + zi−1 + 1,
i = 2, 3, . . . , N.
(6.45)
Mit diesen Angaben kann der Algorithmus (6.34) leicht der neuen Situation angepasst werden. Die Schleifenanweisungen f¨ ur i und j sind zu vertauschen, der Startwert f¨ ur j ist durch fi (C) (6.45) und die Indizes der Matrixelemente cij sind gem¨aß (6.44) zu ersetzen. Wir wollen noch eine Variante der Methode der Orthogonaltransformation [Geo 80] beschreiben, bei der nicht die ganze Matrix C gespeichert werden muss. Sie minimiert insofern den Speicherplatzbedarf f¨ ur F¨ alle, bei denen entweder die Fehlergleichungen sukzessive gebildet oder von einem externen Speichermedium abgerufen werden. ˆ zeilenweise erfolgen, und Um das Vorgehen zu erkl¨ aren, soll die Transformation von C in R der Vektor dˆ soll gleichzeitig aus d berechnet werden. Wir untersuchen die Behandlung der i-ten Fehlergleichung und ihren Beitrag zum schließlich resultierenden Gleichungssystem (6.30). Die erste Fehlergleichung liefert die Startwerte der ersten Zeile von R und der ersten ur 2 ≤ i ≤ n sind h¨ ochstens (i − 1) Rotationen zur Elimination der Komponente von dˆ1 . F¨ ersten (i − 1) Elemente cij , j = 1, 2, . . . , i − 1, auszuf¨ uhren. Die verbleibende transformierte Gleichung ergibt die Startwerte der i-ten Zeile von R und der i-ten Komponente von dˆ1 . In den weiteren Fehlergleichungen (i > n) sind alle n Koeffizienten cij durch entsprechende Rotationen zu eliminieren mit Hilfe der n Zeilen der entstehenden Matrix R. Da eine solche
286
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
i-te Fehlergleichung nach ihrer Bearbeitung unver¨andert bleibt, wird sie nicht mehr ben¨otigt. Der (transformierte) konstante Term dˆi liefert gem¨aß (6.29) h¨ochstens seinen Beitrag zur Summe der Residuenquadrate. Somit lassen sich die einzelnen Fehlergleichungen unabh¨angig voneinander bearbeiten, und das Gleichungssystem (6.30) wird sukzessive aufgebaut. F¨ ur die Realisierung ben¨ otigt man nur den Speicherplatz f¨ ur die Rechtsdreiecksmatrix R, den Vektor dˆ1 und eine Fehlergleichung. Bei entsprechender Speicherung von R betr¨agt der 1 Speicherbedarf also nur etwa S ≈ n(n + 1) + 2n Pl¨atze. 2 Der Algorithmus (6.46) f¨ ur diese Methode legt fest, dass f¨ ur die Matrix R = (rij ) zur besseren Verst¨ andlichkeit die u ¨ bliche Indizierung verwendet wird, die Komponenten des Vektors dˆ mit di bezeichnet werden und in der i-ten Fehlergleichung c1 x1 + c2 x2 + . . . + cn xn − d˜ = r der Index i weggelassen wird, da ihre Koeffizienten sukzessive zu definieren sind. Die R¨ ucksubstitution zur L¨ osung von Rx = dˆ1 kann aus (6.34) u bernommen werden. ¨ F¨ ur i = 1, 2, . . . , N : Eingabe von c1 , c2 , . . . , cn , d˜ f¨ ur j = 1, 2, . . . , min(i − 1, n) : falls cj = 0 : falls |rjj | < τ × |cj | : w = −cj ; γ = 0; σ = 1 sonst $ 2 + c2 w = sgn (rjj ) × rjj j
γ = rjj /w; σ = −cj /w rjj = w f¨ ur k = j + 1, j + 2, . . . , n : h = γ × rjk − σ × ck ck = σ × rjk + γ × ck ; rjk = h ˜ d˜ = σ × dj + γ × d; ˜ dj = h h = γ × dj − σ × d; falls i ≤ n : f¨ ur k = i, i + 1, . . . , n : rik = ck di = d˜
6.2.3
(6.46)
Householder-Transformation
Zur orthogonalen Transformation des Fehlergleichungssystems Cx − d = r in das dazu ˆ − dˆ = rˆ werden anstelle der Rotationsmatrizen auch so aquivalente System (6.28) Rx ¨ genannte Householder-Matrizen [Hou 58] U := I − 2wwT
mit w T w = 1, w ∈ ÊN , U ∈ ÊN,N
(6.47)
287
6.2 Methoden der Orthogonaltransformation
verwendet. Die in (6.47) definierte Matrix U ist symmetrisch und involutorisch, denn es gilt unter Benutzung der Normierungseigenschaft von w U U = (I − 2wwT )(I − 2wwT ) = I − 2wwT − 2wwT + 4ww T ww T = I.
Daraus folgt mit U T = U , dass U orthogonal ist. Die Householder-Matrix U , aufgefasst als Darstellung einer linearen Abbildung im ÊN , entspricht einer Spiegelung an einer bestimmten Hyperebene. Um dies einzusehen, sei s ∈ ÊN ein beliebiger Vektor, der orthogonal zu w ist. Sein Bildvektor s′ := U s = (I − 2wwT )s = s − 2w(wT s) = s ist identisch mit s. Der Bildvektor eines Vektors z ∈ w ist,
ÊN , der mit z = cw proportional zu
z ′ := U z = cU w = c(I − 2ww T )w = c(w − 2w(w T w)) = −cw = −z
ist entgegengesetzt zu z. Ein beliebiger Vektor x ∈ ÊN ist eindeutig als Summe x = s + z eines Vektors s und eines Vektors z mit den genannten Eigenschaften darstellbar. F¨ ur sein Bild gilt deshalb x′ := U x = U (s + z) = s − z, d.h. der Vektor x wird an der zu w orthogonalen Hyperebene durch den Nullpunkt gespiegelt. Mit Householder-Matrizen (6.47) k¨ onnen bei entsprechender Wahl des normierten Vektors w im Bildvektor x′ = U x eines beliebigen Vektors x ∈ ÊN bestimmte Komponenten gleichzeitig gleich null gemacht werden. Selbstverst¨ andlich ist das Quadrat der euklidischen L¨ange der beiden Vektoren x und x′ gleich. Auf Grund dieser Tatsache wird es m¨oglich sein, verunschte mittels einer Folge von n Transformationsschritten die Matrix C ∈ ÊN,n in die gew¨ ˆ (6.24) zu u Form R uhren, wobei in jedem Schritt mit Hilfe einer Householder-Matrix ¨berf¨ eine ganze Spalte behandelt wird. Im ersten Transformationssschritt soll eine Householder-Matrix U 1 := I − 2w1 w T1 so angewandt werden, dass in der Matrix C ′ = U 1 C die erste Spalte gleich einem Vielfachen des ersten Einheitsvektors e1 ∈ ÊN wird. Bezeichnen wir den ersten Spaltenvektor von C mit c1 , dann soll U 1 c1 = γe1
(6.48)
gelten, wobei f¨ ur die Konstante γ infolge der Invarianz der euklidischen L¨ange der Vektoren |γ| = c1 2
(6.49)
gilt. Da der Bildvektor c′1 = γe1 aus c1 durch Spiegelung an der zu w1 orthogonalen Hyperebene hervorgeht, muss der Vektor w1 die Richtung der Winkelhalbierenden der Vektoren c1 und −c′1 = −γe1 aufweisen, und somit muss w 1 proportional zum Vektor c1 − γe1 sein. Das Vorzeichen von γ ist aber durch (6.49) nicht festgelegt, und so kann als Richtung von w1 ebenso gut der Vektor c1 + γe1 verwendet werden, der zum erstgenannten orthogonal ist. Der gespiegelte Bildvektor von c1 ist in diesem Fall entgegengesetzt zu demjenigen des ersten Falles. Die Freiheit in der Wahl der Richtung von w 1 wird so ausgenutzt, dass bei
288
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
der Berechnung der ersten Komponente des Richtungsvektors h := c1 + γe1
(6.50)
keine Ausl¨ oschung stattfindet. Dies f¨ uhrt zu folgender Festsetzung von γ in (6.50) c1 2 −c1 2
γ :=
falls c11 ≥ 0 falls c11 < 0
(6.51)
Zur Normierung von h zum Vektor w1 ben¨ otigen wir sein L¨angenquadrat. Daf¨ ur gilt nach (6.50) und wegen (6.49) und (6.51) hT h =
cT1 c1 + 2γcT1 e1 + γ 2 eT1 e1 = γ 2 + 2γc11 + γ 2 2γ(γ + c11 ) =: β 2 > 0.
=
(6.52)
Mit der Normierungskonstanten β > 0 ergibt sich so der Vektor w1 = h/β,
(6.53)
wobei zu beachten sein wird, dass sich h von c1 nur in der ersten Komponente unterscheidet. Die Berechnung der Komponenten von w 1 fassen wir wie folgt zusammen: * +N + γ=, c2i1 ; 0 i=1
β=
falls c11 < 0 : γ = −γ (6.54)
2γ(γ + c11 )
w1 = (c11 + γ)/β f¨ ur k = 2, 3, . . . , N :
wk = ck1 /β
Damit ist die Householder-Matrix U 1 = I − 2w1 wT1 festgelegt, und die Berechnung der im ersten Schritt transformierten Matrix C ′ = U 1 C kann erfolgen. F¨ ur die erste Spalte von C ′ ergibt sich (I − 2w1 w T1 )c1 = c1 − 2w1 w T1 c1 c1 − 2(c1 + γe1 )(c1 + γe1 )T c1 /β 2
= =
U 1 c1
2
=
(6.55)
2
c1 − 2(c1 + γe1 )(γ + γc11 )/β = −γe1 .
Somit gilt f¨ ur die erste Komponente c′11 = −γ und f¨ ur die u ¨ brigen der ersten Spalte c′k1 = 0 f¨ ur k = 2, 3, . . . , N . Die anderen Elemente der transformierten Matrix C ′ sind gegeben durch c′ij =
N
(δik − 2wi wk )ckj = cij − 2wi
k=1
i = 1, 2, . . . , N ;
N
k=1
wk ckj =: cij − wi pj ,
(6.56)
j = 2, 3, . . . , n,
mit den nur von j abh¨ angigen Hilfsgr¨ oßen pj := 2
N
k=1
wk ckj ,
j = 2, 3, . . . , n.
(6.57)
289
6.2 Methoden der Orthogonaltransformation
Die Elemente ungleich null von C ′ berechnen sich damit gem¨aß c′11 = −γ N pj = 2 wk ckj k=1
c′ij = cij − wi pj ,
i = 1, 2, . . . , N,
⎫ ⎪ ⎬ ⎪ ⎭
j = 2, 3, . . . n.
(6.58)
Die Transformation der Matrix C ′ wird mit einer Householder-Matrix U 2 := I − 2w2 wT2 fortgesetzt mit dem Ziel, die Matrixelemente c′k2 mit k ≥ 3 zu null zu machen und dabei die erste Spalte unver¨ andert zu lassen. Beide Forderungen erreicht man mit einem Vektor w2 = (0, w2 , w3 , . . . , wN )T , dessen erste Komponente gleich null ist. Die Matrix U 2 hat dann die Gestalt ⎛ ⎞ 1 0 0 ... 0 ⎜ 0 1 − 2w22 −2w2 w3 . . . −2w2 wN ⎟ ⎜ ⎟ ⎜ 0 −2w2 w3 1 − 2w2 T . . . −2w3 wN ⎟ U 2 = I − 2w2 w 2 = ⎜ (6.59) 3 ⎟, ⎜ . . ⎟ . . . . . . ⎝ . . ⎠ . . 0 −2w2 wN
−2w3 wN
2 . . . 1 − 2wN
so dass in der Matrix C ′′ = U 2 C ′ nicht nur die erste Spalte von C ′ unver¨andert bleibt sondern auch die erste Zeile. Die letzten (N − 1) Komponenten von w 2 werden analog zum ersten Schritt aus der Bedingung bestimmt, dass der Teilvektor (c′22 , c′32 , . . . , c′N 2 )T ∈ ÊN −1 in ein Vielfaches des Einheitsvektors e1 ∈ ÊN −1 transformiert wird. Die sich ¨andernden Matrixelemente ergeben sich mit entsprechenden Modifikationen analog zu (6.58). Sind allgemein die ersten (l − 1) Spalten von C mit Hilfe von Householder-Matrizen U 1 , U 2 , . . . U l−1 auf die gew¨ unschte Form transformiert worden, erfolgt die Behandlung der l-ten Spalte mit U l = I − 2wl wTl , wo in wl = (0, 0, . . . , 0, wl , wl+1 , . . . , wN )T die ersten (l − 1) Komponenten gleich null sind. Im zugeh¨origen Transformationsschritt bleiben die ersten (l − 1) Spalten und Zeilen der momentanen Matrix C deshalb unver¨andert. Nach n Transformationssschritten ist das Ziel (6.28) mit ˆ U n U n−1 . . . U 2 U 1 d = dˆ U n U n−1 . . . U 2 U 1 C = R,
(6.60)
erreicht. Der gesuchte L¨ osungsvektor x ergibt sich aus dem System (6.30) durch R¨ ucksubstitution. Ist auch der Residuenvektor r gew¨ unscht, so gilt zun¨achst U n U n−1 . . . U 2 U 1 r = rˆ = (0, 0, . . . , 0, dˆn+1 , dˆn+2 , . . . , dˆN )T .
(6.61)
Infolge der Symmetrie und Orthogonalit¨ at der Householder-Matrizen U l folgt daraus r = U 1 U 2 . . . U n−1 U n rˆ.
(6.62)
Der bekannte Residuenvektor rˆ ist sukzessive mit den Matrizen U n , U n−1 , . . ., U 1 zu multiplizieren. Die typische Multiplikation eines Vektors y ∈ ÊN mit U l erfordert gem¨aß y ′ = U l y = (I − 2wl w Tl )y = y − 2(wTl y)w l w Tl y
(6.63)
die Bildung des Skalarproduktes =: a und die anschließende Subtraktion des (2a)fachen des Vektors w l von y. Da in wl die ersten (l − 1) Komponenten gleich null sind,
290
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
erfordert dieser Schritt 2(N − l + 1) Multiplikationen. Die R¨ ucktransformation von rˆ in r nach (6.62) ben¨ otigt also insgesamt ZR¨uck = n(2N − n + 1) Operationen.
Zur tats¨ achlichen Ausf¨ uhrung der Berechnung von r sind die Vektoren w1 , w 2 , . . . , w n n¨otig, welche die Householder-Matrizen definieren. Die Komponenten von wl k¨onnen in der Matrix C in der l-ten Spalte an die Stelle von cll und an Stelle der eliminierten Matrixelemente cil gesetzt werden. Da die Diagonalelemente rii = cii der Rechtsdreiecksmatrix R ohnehin bei der R¨ ucksubstitution eine spezielle Rolle spielen, werden sie in einem Vektor t ∈ Ên gespeichert.
In der algorithmischen Formulierung (6.65) der Householder-Transformation zur L¨osung eines Fehlergleichungssystems Cx − d = r sind die orthogonale Transformation von C ˆ des L¨osungsvektors x und des Residuenvektors und dann die sukzessive Berechnung von d, r getrennt nebeneinander dargestellt. Das erlaubt, nacheinander verschiedene Fehlergleichungen mit derselben Matrix C, aber unterschiedlichen Vektoren d zu l¨osen. Die von null verschiedenen Komponenten der Vektoren w l werden in den entsprechenden Spalten von C gespeichert. Deshalb ist einerseits kein Vektor w n¨otig, andererseits erfahren die Formeln (6.58) eine Modifikation. Weiter ist es nicht n¨ otig, die Werte pj in (6.58) zu indizieren. Die Berechnung des Vektors dˆ aus d gem¨ aß (6.60) erfolgt nach den Formeln (6.63). Dasselbe gilt nat¨ urlich f¨ ur den Residuenvektor r.
Die Methode der Householder-Transformation l¨ ost die Aufgabe mit dem kleinsten Rechenaufwand. Im Algorithmus (6.65) links erfordert der l-te Schritt (N − l + 1) + 3 + (N − l) + 2(n − l)(N − l + 1) = 2(N − l + 1)(n − l + 1) + 2 multiplikative Operationen und 2 Quadratwurzeln. Summation u ur die orthogonale ¨ ber l von 1 bis n ergibt als Rechenaufwand f¨ Transformation von C 1 ZHouseholder = N n(n + 1) − n(n2 − 7) 3 multiplikative Operationen und 2n Quadratwurzeln. Der Aufwand zur Berechnung von dˆ ist gleich groß wie zur R¨ ucktransformation des Residuenvektors. Deshalb werden im Algorithmus (6.65) rechts 3 5 1 2n(2N − n + 1) + n(n + 1) = 4N n − n2 + n 2 2 2 Multiplikationen ben¨ otigt, und der Gesamtaufwand betr¨agt 1 3 35 ZFGlHouseholder = nN (n + 5) − n3 − n2 + n 3 2 6
(6.64)
multiplikative Operationen und 2n Quadratwurzeln. Im Vergleich zu (6.33) ist der Aufwand an wesentlichen Operationen tats¨ achlich nur etwa halb so groß, und die Zahl der Quadratwurzeln ist bedeutend kleiner. Auch im Vergleich zur Methode der schnellen GivensTransformation ist die Zahl der Operationen g¨ unstiger. Die praktische Durchf¨ uhrung der Householder-Transformation setzt voraus, dass die Matrix C gespeichert ist. Die Behandlung von schwach besetzten Fehlergleichungssystemen ¨ erfordert aber zus¨ atzliche Uberlegungen, um das Auff¨ ullen der Matrix mit Elementen ungleich null (fill-in) gering zu halten [Duf 76, Gil 76, Gol 80, Gol 96b]. Schließlich ist es mit dieser Methode – im Gegensatz zur Givens-Transformation – nicht m¨oglich die Matrix R
291
6.2 Methoden der Orthogonaltransformation
Die Methode der Householder-Transformation F¨ ur l = 1, 2, . . . , n :
F¨ ur l = 1, 2, . . . , n :
s=0
γ=0
f¨ ur k = l, l + 1, . . . , N : s = s + ckl × dk
f¨ ur i = l, l + 1, . . . , N : γ = γ + c2il √ γ= γ
s=s+s f¨ ur k = l, l + 1, . . . , N :
falls cll < 0 : γ = −γ 0 β = 2 × γ × (γ + cll )
dk = dk − s × ckl f¨ ur i = n, n − 1, . . . , 1 :
s = di ; ri = 0 f¨ ur k = i + 1, i + 2, . . . , n :
tl = −γ
cll = (cll + γ)/β
(6.65)
s = s − cik × xk xi = s/ti
f¨ ur k = l + 1, l + 2, . . . , N : ckl = ckl /β
f¨ ur i = n + 1, n + 2, . . . , N : ri = di
f¨ ur j = l + 1, l + 2, . . . , n :
f¨ ur l = n, n − 1, . . . , 1 : s=0
p=0 f¨ ur k = l, l + 1, . . . , N :
f¨ ur k = l, l + 1, . . . , N :
p = p + ckl × ckj
s = s + ckl × rk s=s+s
p=p+p f¨ ur i = l, l + 1, . . . , N :
f¨ ur k = l, l + 1, . . . , N : rk = rk − s × ckl
cij = cij − p × cil
sukzessive durch Bearbeitung der einzelnen Fehlergleichungen aufzubauen. Beispiel 6.5. Die Householder-Transformation liefert f¨ur das Fehlergleichungssystem (6.21) bei enth¨ alt und das sechsstelliger Rechnung die transformierte Matrix ˜ , welche die Vektoren Nebendiagonalelement von ˆ , den orthogonal transformierten Vektor ˆ und den Vektor mit den Diagonalelementen von . 1 1 0 0 0.750260 −1.68491 −2.25773 B 0.0505840 C B 0.167646 −0.861177 C C B C B ! C B C B −0.0684838 0.251470 0.0789376 −1.32508 C B C B ˜=B = C C, C , ˆ= B B −0.0731628 C B 0.301764 0.313223 C 0.0486913 C B C B @ 0.00510470 A @ 0.335293 0.365641 A −0.00616310 0.377205 0.142624
R¨ ucksubstitution ergibt die Parameterwerte α1 = 0.382867 und α2 = 1.03887, welche nur auf drei Dezimalstellen nach dem Komma richtig sind. Die Abweichungen haben eine Gr¨ oße, die auf Grund einer Fehleranalyse zu erwarten ist [Kau 79, Law 66]. △
292
6.3
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
Singul¨arwertzerlegung
Im Satz 6.1 wurde mit (6.24) eine Zerlegung der Matrix C ∈ ÊN,n unter der Voraussetzung, dass C den Maximalrang n < N hat, eingef¨ uhrt, um sie zur L¨osung der Fehlergleichungen anzuwenden. Wir werden jetzt eine allgemeinere orthogonale Zerlegung einer Matrix kennenlernen, wobei die Voraussetzung u ¨ ber den Maximalrang fallengelassen wird. Diese Zerlegung gestattet, die L¨ osungsmenge des Fehlergleichungssystems in dieser allgemeineren Situation zu beschreiben und insbesondere eine L¨ osung mit einer speziellen Eigenschaft zu charakterisieren und festzulegen. Als Vorbereitung verallgemeinern wir die Aussage des Satzes 6.1, die wir im Hinblick auf ihre Anwendung nur f¨ ur die betreffende Situation Rang(C) = r < n < N formulieren. Die Aussagen der folgenden S¨ atze gelten auch f¨ ur r = n oder n = N , wobei dann Matrizenbl¨ ocke dementsprechend entfallen k¨onnen. Satz 6.2. Zu jeder Matrix C ∈ ÊN,n mit Rang r < n < N existieren zwei orthogonale Matrizen Q ∈ ÊN,N und W ∈ Ên,n derart, dass ⎞ ⎛ R 01 ˆ ∈ ÊN,n , R ∈ Êr,r ˆ mit R ˆ=⎝ ⎠, R QT CW = R (6.66) 02 03 gilt, wo R eine regul¨are Rechtsdreiecksmatrix der Ordnung r und die 0i , i = 1, 2, 3, Nullmatrizen darstellen mit 01 ∈ Êr,n−r , 02 ∈ ÊN −r,r , 03 ∈ ÊN −r,n−r .
Beweis. Es sei P ∈ ÊN,N eine Permutationsmatrix, so dass in C ′ = P C die ersten r Zeilenvektoren linear unabh¨ angig sind. Wird die Matrix C ′ sukzessive von rechts mit Rotationsmatrizen U (p, q; ϕ) ∈ Ên,n mit den Rotationsindexpaaren (1, 2), (1, 3), . . . , (1, n), (2, 3), (2, 4), . . . , (2, n), . . . , (r, r + 1), . . . , (r, n) mit geeignet, analog zu (5.89) bestimmten Drehwinkeln multipliziert, so werden die aktuellen Matrixelemente der ersten r Zeilen in der Reihenfolge c′12 , c′13 , . . . , c′1n , c′23 , c′24 , . . . , c′2n , . . . , c′r,r+1 , . . . , c′rn eliminiert. Bezeichnen wir das Produkt dieser Rotationsmatrizen mit W ∈ Ên,n , so besitzt die transformierte Matrix die Gestalt ⎞ ⎛ L 01 ⎠, C ′ W = P CW = C ′′ = ⎝ (6.67) X 02 01 ∈ Êr,(n−r) ,
02 ∈ Ê(N −r),(n−r) ,
are Linksdreiecksmatrix, X ∈ Ê(N −r),r eine im Allgemeinen von null wo L ∈ Êr,r eine regul¨ verschiedene Matrix und 01 , 02 Nullmatrizen sind. Auf Grund der getroffenen Annahme f¨ ur C ′ m¨ ussen auch in C ′′ die ersten r Zeilen linear unabh¨angig sein, und folglich ist L regul¨ar. Da der Rang von C ′′ gleich r ist, muss notwendigerweise 02 eine Nullmatrix sein.
293
6.3 Singul¨ arwertzerlegung
ˆ Nach Satz 6.1 existiert zu C ′′ eine orthogonale Matrix Q1 ∈ ÊN,N , so dass QT1 C ′′ = R die Eigenschaft (6.66) besitzt. Auf Grund jener konstruktiven Beweisf¨ uhrung gen¨ ugt es, die ersten r Spalten zu behandeln, und die Nullelemente in den letzten (n − r) Spalten von C ′′ werden nicht zerst¨ ort. Die orthogonale Matrix Q ist gegeben durch QT = QT1 P . Satz 6.3. Zu jeder Matrix C ∈ ÊN,n mit Rang r ≤ n < N existieren zwei orthogonale Matrizen U ∈ ÊN,N und V ∈ Ên,n derart, dass die Singul¨arwertzerlegung " # T S ˆ ˆ ˆ ∈ ÊN,n , S ∈ Ên,n (6.68) C = U SV mit S = , S 0 gilt, wo S eine Diagonalmatrix mit nichtnegativen Diagonalelementen si ist, die eine nichtzunehmende Folge mit s1 ≥ s2 ≥ . . . ≥ sr > sr+1 = . . . = sn = 0 bilden, und 0 eine Nullmatrix darstellt. Beweis. Wir betrachten zuerst den Fall r = n, um anschließend die allgemeinere Situation r < n zu behandeln. F¨ ur r = n ist die Matrix A := C T C ∈ Ên,n symmetrisch und positiv definit. Ihre reellen und positiven Eigenwerte s2i seien in nicht zunehmender Reihenfolge s21 ≥ s22 ≥ . . . ≥ s2n > 0 indiziert. Nach dem Hauptachsentheorem existiert eine orthogonale Matrix V ∈ Ên,n , so dass V T AV = V T C T CV = D mit D = diag(s21 , s22 , . . . , s2n )
(6.69)
gilt. Weiter sei S die regul¨ are Diagonalmatrix mit den positiven Werten si in der Diagonale. Dann definieren wir die Matrix ˆ := CV S −1 ∈ÊN,n , U
(6.70)
ˆTU ˆ = S −1 V T C T CV S −1 = I n orthodie unter Ber¨ ucksichtigung von (6.69) wegen U normierte Spaltenvektoren enth¨ alt. Im ÊN lassen sie sich zu einer orthonormierten Basis ˆ ˆ , Y ) ∈ ÊN,N erweierg¨ anzen, und so k¨ onnen wir U zu einer orthogonalen Matrix U := (U T ˆ T −1 tern, wobei Y U = Y CV S = 0 ist. In diesem Fall erhalten wir mit T
U CV =
S −1 V T C T YT
CV =
S −1 V T C T CV Y T CV
=
S 0
ˆ =S
(6.71)
die Aussage (6.68). Dieses Teilresultat wenden wir an, um (6.68) im Fall r < n zu zeigen. ˆ gilt mit Nach Satz 6.2 existieren orthogonale Matrizen Q und W , so dass QT CW = R ˆ ˆ der Marix R gem¨ aß (6.66). Die Teilmatrix R von R, gebildet aus den ersten r Spalten, hat ˜ und V˜ , so dass den Maximalrang r, und folglich existieren zwei orthogonale Matrizen U "
R 0
#
˜S ˜V˜ =U
T
˜ =U
"
S1 0
#
T V˜ ,
˜ ∈ ÊN,N , V˜ ∈ Êr,r , S ˜ ∈ ÊN,r , S 1 ∈ Êr,r U
294
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
˜ erweitern wir durch (n − r) Nullvektoren und die Matrix V˜ zu einer gilt. Die Matrix S orthogonalen Matrix gem¨ aß ⎛
ˆ := ⎝ S
S1
0
0
0
⎞
⎠ ∈ ÊN,n ,
⎛
Vˆ := ⎝
V˜
0
0
I n−r
⎞
⎠ ∈ Ên,n ,
wo I n−r die (n − r)-reihige Einheitsmatrix darstellt. Mit den orthogonalen Matrizen ˜ ∈ ÊN,N U := QU
und
V := W Vˆ ∈ Ên,n
ergibt sich T
˜ QT CW V ˆ U T CV = U
⎛
˜T ⎝ U
=
⎛ ⎝
=
0
R 0
S1
0
0
0
0 ⎞
⎞⎛ ⎠⎝
˜ V 0
0 I
⎞ ⎠
(6.72)
ˆ ⎠ = S.
Dies ist im Wesentlichen die Behauptung (6.68), die aus (6.72) durch eine entsprechende ˆ hervorgeht. Partitionierung von S Die si heißen die singul¨aren Werte der Matrix C. Bezeichnen wir weiter mit ui ∈ ÊN und v i ∈ Ên die Spaltenvektoren von U und V , so folgen aus (6.68) die Relationen Cv i = si ui
C T ui = si v i ,
und
i = 1, 2, . . . , n.
(6.73)
Die v i heißen Rechtssingul¨arvektoren und die ui Linkssingul¨arvektoren der Matrix C. Die Singul¨ arwertzerlegung (6.68) er¨ offnet eine weitere M¨oglichkeit, ein System von Fehlergleichungen Cx − d = r durch ein orthogonal transformiertes, ¨aquivalentes System zu ersetzen. Mit V V T = I k¨ onnen wir schreiben U T CV V T x − U T d = U T r = rˆ.
(6.74)
Dann f¨ uhren wir die Hilfsvektoren y := V T x ∈ Ên ,
b := U T d ∈ ÊN
mit bi = uTi d
(6.75)
ein. Dann lautet aber (6.74) auf Grund der Singul¨arwertzerlegung sehr speziell si yi − bi = rˆi , i = 1, 2, . . . , r, −bi = rˆi , i = r + 1, r + 2, . . . , N.
(6.76)
Da die letzten (N − r) Residuen rˆi unabh¨ angig von den (neuen) Unbekannten sind, ist die Summe der Quadrate der Residuen genau dann minimal, falls rˆi = 0, i = 1, 2, . . . , r, gilt, und sie hat folglich den eindeutigen Wert T
̺min := r r =
N
i=r+1
rˆi2
=
N
i=r+1
b2i
=
N
(uTi d)2 .
i=r+1
(6.77)
295
6.3 Singul¨ arwertzerlegung
Die ersten r Unbekannten yi sind nach (6.76) gegeben durch yi = bi /si ,
i = 1, 2, . . . , r,
(6.78)
w¨ahrend die restlichen (n − r) Unbekannten frei w¨ahlbar sind. Der L¨osungsvektor x der Fehlergleichungen besitzt nach (6.75) somit die Darstellung x=
r uT d i
si
i=1
n
vi +
yi v i
(6.79)
i=r+1
mit den (n − r) freien Parametern yr+1 , yr+2 , . . . , yn . Hat die Matrix C nicht Maximalrang, ist die allgemeine L¨osung als Summe einer partikul¨aren L¨osung im Unterraum der r Rechtsaren Werten si und einem beliebigen Vektor aus singul¨ arvektoren v i zu den positiven singul¨ dem Nullraum der Matrix C darstellbar. Denn nach (6.73) gilt f¨ ur die verschwindenden singul¨ aren Werte Cv i = 0, i = r + 1, r + 2, . . . , n. In der L¨ osungsmenge des Fehlergleichungssystems existiert eine spezielle L¨osung x∗ mit minimaler euklidischer Norm. Infolge der Orthogonalit¨at der Rechtssingul¨arvektoren vi ist sie durch yr+1 = yr+2 = . . . = yn = 0 gekennzeichnet und ist gegeben durch x =
r uT d i
i=1
si
v,
x 2 =
min
−=
x2 .
(6.80)
Die Singul¨ arwertzerlegung der Matrix C liefert einen wesentlichen Einblick in den Aufbau ur die problemgeder allgemeinen L¨ osung x (6.79) oder der speziellen L¨osung x , der f¨ rechte Behandlung von heiklen Fehlergleichungen wegweisend sein kann. In statistischen Anwendungen treten h¨ aufig Fehlergleichungen auf, deren Normalgleichungen eine extrem schlechte Kondition haben. Da ja im Fall r = n die singul¨aren Werte si die Quadratwurzeln der Eigenwerte der Normalgleichungsmatrix A = C T C sind, existieren sehr kleine singul¨are Werte. Aber auch im Fall r < n stellt man oft fest, dass sehr kleine positive singul¨are Werte auftreten. Da sie in (6.80) im Nenner stehen, k¨ onnen die kleinsten der positiven singul¨aren Werte sehr große und eventuell unerw¨ unschte Beitr¨age zum L¨osungsvektor x bewirken. Anstelle von (6.80) kann es deshalb sinnvoll sein, die Folge von Vektoren x(k) :=
k uT d i
i=1
si
vi,
(6.81)
k = 1, 2, . . . , r,
zu betrachten. Man erh¨ alt sie formal mit yk+1 = . . . = yr = 0, so dass wegen (6.76) die zugeh¨ origen Summen der Quadrate der Residuen ̺(k) :=
N
i=k+1
rˆi2 = ̺min +
r
i=k+1
b2i = ̺min +
r
(uTi d)2
(6.82)
i=k+1
mit zunehmendem k eine monotone, nichtzunehmende Folge bildet mit ̺(r) = ̺min . Die euklidische Norm x(k) 2 hingegen nimmt mit wachsendem k zu. Die Vektoren x(k) k¨onnen deshalb als N¨ aherungen f¨ ur x∗ betrachtet werden. Je nach Aufgabenstellung oder Zielsetzung ist entweder jene N¨ aherung x(k) problemgerecht, f¨ ur welche ̺(k) −̺min eine vorgegebene Schranke nicht u ¨bersteigt, oder in welcher alle Anteile weggelassen sind, die zu singul¨aren
296
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
Werten geh¨ oren, die eine Schranke unterschreiten [Gol 96b, Law 95]. Dies stellt auch eine M¨oglichkeit zur Regularisierung inkorrekt gestellter Probleme dar. Eine andere M¨oglichkeit haben wir in (4.67) kennen gelernt. ˆ T (6.68) durch Das Rechenverfahren ist bei bekannter Singul¨ arwertzerlegung von C = U SV (6.80) oder (6.81) vorgezeichnet. Die algorithmische Durchf¨ uhrung der Singul¨arwertzerlegung kann hier nicht im Detail entwickelt werden. Sie besteht im Wesentlichen aus zwei Schritten. Zuerst wird die Matrix C in Analogie zu (6.66) mit zwei orthogonalen Matrizen Q und W so transformiert, dass R nur in der Diagonale und in der Nebendiagonale von ˆ wird null verschiedene Elemente aufweist, also eine bidiagonale Matrix ist. Die Matrix R ˆ dann mit einer Variante des QR-Algorithmus weiter iterativ in die Matrix S u uhrt ¨ bergef¨ [Cha 82, Gol 65, Gol 96b, Kie 88, Law 95]. ∈ Ê7,3 in (6.14) besitzt eine Singul¨ arwertzerlegung in den Matrizen
Beispiel 6.6. Die Matrix 0
B B B B . B =B B B B @
0.103519 0.149237 0.193350 0.257649 0.368194 0.551347 0.650918
und
−0.528021 −0.485300 −0.426606 −0.328640 −0.143158 0.187483 0.374216
0
0.474170 . B = @ 0.530047 0.703003
−0.705006 −0.074075 0.213222 0.403629 0.417248 0.010556 −0.338957
−0.845773 0.052392 0.530965
0.089676 −0.259334 −0.003650 0.513837 −0.597155 0.496511 −0.239885
1 −0.244605 C 0.846348 A −0.473142
0.307578 −0.694518 0.430267 −0.295124 0.297387 0.152325 −0.197914
0.171692 −0.430083 −0.101781 0.544000 0.046476 −0.589797 0.359493
−0.285166 0.046303 0.734614 −0.125034 −0.471858 −0.207770 0.308912
1 C C C C C C C C C A
. . . und den singul¨ aren Werten s1 = 4.796200, s2 = 1.596202, s3 = 0.300009. Der Vektor (6.75) . ist = (−10.02046, −0.542841, 2.509634, 0.019345, −0.128170, −0.353416, 0.040857)T , so dass . . . sich mit y1 = 2.089251, y2 = 0.340083, y3 = −8.365203 die Komponenten des L¨ osungsvektors . . berechnen lassen. Ihre Werte sind α0 = 2.749198, α1 = −5.954657 und aus den Spalten von . α2 = 5.607247. △
6.4
Nichtlineare Ausgleichsprobleme
Zur Behandlung von u ¨berbestimmten Systemen nichtlinearer Gleichungen nach der Methode der kleinsten Quadrate existieren zwei grundlegend verschiedene Verfahren, deren Prinzip dargestellt werden wird. Zahlreiche Varianten sind f¨ ur spezielle Problemstellungen daraus entwickelt worden.
297
6.4 Nichtlineare Ausgleichsprobleme
6.4.1
Gauß-Newton-Methode
Wir betrachten das u ¨ berbestimmte System von N nichtlinearen Gleichungen zur Bestimmung der n Unbekannten x1 , x2 , . . . , xn aus den beobachteten N Messwerten l1 , l2 , . . . , lN fi (x1 , x2 , . . . , xn ) − li = ri ,
i = 1, 2, . . . , N,
(6.83)
wo ri wieder die Residuen-Werte sind. In (6.83) ist angenommen, dass die in den Unbekannten xj nichtlinearen Funktionen fi vom Index i der Fehlergleichung abh¨angig seien, obwohl dies in vielen F¨ allen nicht zutrifft. Die notwendigen Bedingungen zur Minimierung der Funktion F (x) := r T r =
N i=1
sind f¨ ur j = 1, 2, . . . , n
[fi (x1 , x2 , . . . , xn ) − li ]2
(6.84)
N
1 ∂F (x) ∂fi (x1 , x2 , . . . , xn ) [fi (x1 , x2 , . . . , xn ) − li ] = = 0. 2 ∂xj ∂xj i=1
(6.85)
Sie ergeben ein System von n nichtlinearen Gleichungen f¨ ur die Unbekannten x1 , x2 , . . . xn . Seine analytische L¨ osung ist meistens unm¨ oglich und seine numerische L¨osung aufw¨andig. Deshalb werden die nichtlinearen Fehlergleichungen (6.83) zuerst linearisiert. Wir nehmen (0) (0) (0) an, f¨ ur die gesuchten Werte der Unbekannten seien N¨aherungen x1 , x2 , . . . , xn geeignet vorgegeben. Dann verwenden wir den Korrekturansatz (0)
xj = xj + ξj ,
j = 1, 2, . . . , n,
(6.86)
so dass die i-te Fehlergleichung von (6.83) im Sinn einer Approximation ersetzt werden kann durch n (0) (0) (0) ∂fi (x1 , x2 , . . . , xn ) (0) (0) (0) (6.87) ξj + fi (x1 , x2 , . . . , x(0) n ) − l i = ̺i . ∂x j j=1 Da in den linearisierten Fehlergleichungen andere Residuenwerte auftreten, bezeichnen wir sie mit ̺i . Wir definieren die Gr¨ oßen (0)
cij :=
(0)
(0)
(0)
∂fi (x1 , x2 , . . . , xn ) (0) (0) (0) (0) , di := li − fi (x1 , x2 , . . . , xn ), ∂xj i = 1, 2, . . . , N ; j = 1, 2, . . . , n,
(6.88)
so dass (6.87) mit C (0) = (cij ) ∈ ÊN,n , d(0) = (d1 , d2 , . . . , dN )T ein lineares Fehlergleichungssystem C (0) ξ − d(0) = ̺(0) f¨ ur den Korrekturvektor ξ = (ξ1 , ξ2 , . . . , ξn )T darstellt. Dieser kann mit den Verfahren von Abschnitt 6.2 oder 6.3 bestimmt werden. Der Korrekturosung des linearisierten Fehlergleichungssystems (6.87) vektor ξ (1) als kleinste-Quadrate-L¨ kann im Allgemeinen nach (6.86) nicht zu der L¨ osung des nichtlinearen Fehlergleichungssystems (6.83) f¨ uhren. Vielmehr stellen die Werte (0)
(1)
xj
(0)
(1)
:= xj + ξj ,
j = 1, 2, . . . , n,
(0)
(0)
(0)
(6.89)
298
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
im g¨ unstigen Fall bessere N¨ aherungen f¨ ur die Unbekannten xj dar, die iterativ weiter verbessert werden k¨ onnen. Das Iterationsverfahren bezeichnet man als Gauß-Newton-Methode, da die Korrektur ξ (1) aus (6.87) nach dem Gaußschen Prinzip ermittelt wird und sich die Fehlergleichungen (6.87) im Sonderfall N = n auf die linearen Gleichungen reduzieren, die in der Methode von Newton zur L¨ osung von nichtlinearen Gleichungen auftreten. Die art sind, ist die Jacobi-Matrix der Funktionen Matrix C (0) , deren Elemente in (6.88) erkl¨ fi (x1 , x2 , . . . , xn ) am Punkt x(0) ∈ Ên .
Beispiel 6.7. Zur Bestimmung der Abmessungen einer Pyramide mit quadratischem Grundriss sind die Seite a der Grundfl¨ ache, ihre Diagonale d, die H¨ ohe H, die Pyramidenkante s und die H¨ ohe h einer Seitenfl¨ ache gemessen worden, siehe Abb. 6.2. Die Messwerte sind (in L¨ angeneinheiten) a = 2.8, d = 4.0, H = 4.5, s = 5.0 und h = 4.7. Die Unbekannten des Problems sind die L¨ ange ohe x2 der Pyramide. Das System von f¨ unf teilweise nichtlinearen x1 der Grundkante und die H¨ Fehlergleichungen lautet hier √
x 2 − H = r3 ,
r
r
x 1 − a = r1 ,
2x1 − d = r2 ,
f1 (x1 , x2 ) := x1 √ 2x1
f2 (x1 , x2 ) :=
f3 (x1 , x2 ) := x2 r
1 2 x + x22 − s = r4 , 2 1
f4 (x1 , x2 ) :=
1 2 x + x22 − h = r5 , 4 1
f5 (x1 , x2 ) :=
(6.90) 1 2 x + x22 2 1
r
1 2 x + x22 4 1
Die Messwerte a und H stellen brauchbare N¨ aherungen der Unbekannten dar, und wir setzen (0) (0) x1 = 2.8, x2 = 4.5. Mit diesen Startwerten erhalten wir bei sechsstelliger Rechnung
(0)
0
B B . B =B B @
1.00000 1.41421 0 0.284767 0.148533
0 0 1.00000 0.915322 0.954857
1
C C C C, C A
(0)
0
B B . B =B B @
0 0.04021 0 0.08370 −0.01275
1
C C C C=− C A
(0)
,
. daraus mit der Methode von Householder den Korrekturvektor (1) = (0.0227890, 0.0201000)T und (1) . (1) . die N¨ aherungen x1 = 2.82279, x2 = 4.52010. Mit diesen Werten resultieren die Matrix (1) und
H
s
h
d a
Abb. 6.2 Pyramide.
299
6.4 Nichtlineare Ausgleichsprobleme der Konstantenvektor (1) 0 1.00000 B 1.41421 B (1) =. B B 0 B @ 0.285640 0.149028
0 0 1.00000 0.914780 0.954548
1
C C C C, C A
(1)
0
B B . B =B B @
−0.02279 0.00798 −0.02010 0.05881 −0.03533
1
C C C (1) C = − . C A
. (2) . Der resultierende Korrekturvektor ist (2) = (0.00001073, −0.00001090)T , so dass x1 = 2.82280, (2) . x2 = 4.52009 sind. Die begonnene Iteration wird solange fortgesetzt, bis eine Norm des Korrekugend klein ist. Wegen der raschen Konvergenz bringt der n¨ achste Schritt in turvektors (k) gen¨ ¨ diesem Beispiel bei der verwendeten Rechengenauigkeit keine Anderung der N¨ aherungsl¨ osung. Die Vektoren − (k) sind gleich den Residuenvektoren des nichtlinearen Fehlergleichungssystems (6.90). . . . Ihre euklidischen Normen (0) = 9.373 · 10−2 , (1) = 7.546 · 10−2 und (2) = 7.546 · 10−2 nehmen nur innerhalb der angegebenen Ziffern monoton ab. △
Beispiel 6.8. Die Standortbestimmung eines Schiffes kann beispielsweise durch Radiopeilung erfolgen, indem die Richtungen zu bekannten Sendestationen ermittelt werden. Zur Vereinfachung der Aufgabenstellung wollen wir annehmen, dass die Erdkr¨ ummung nicht zu ber¨ ucksichtigen und dass eine feste Richtung bekannt sei. In einem rechtwinkligen Koordinatensystem sind somit die unbekannten Koordinaten x und y eines Punktes P zu bestimmen, falls mehrere Winkel αi gemessen werden, unter denen Sender Si mit bekannten Koordinaten (xi , yi ) angepeilt werden (vgl. Abb. 6.3). Die i-te Fehlergleichung f¨ ur die Unbekannten x und y lautet « „ y − yi − αi = ri . arctan x − xi y S2 (x2 , y2 )
S1 (x1 , y1 )
5 α2 α1 α3 1
P (x, y) 5
1
x
S3 (x3 , y3 )
Abb. 6.3 Ortsbestimmung durch Radiopeilung. F¨ ur die Linearisierung ist zu beachten, dass die Winkel im Bogenmaß zu verstehen sind, und dass sie zudem auf das Intervall des Hauptwertes der arctan-Funktion reduziert werden. Mit den ur die Korrekturen ξ und η N¨ aherungen x(k) , y (k) lautet die i-te linearisierte Fehlergleichung f¨ „ (k) « −(y (k) − yi ) y − yi x(k) − xi ξ + η + arctan − αi = ̺i (x(k) − xi )2 + (y (k) − yi )2 (x(k) − xi )2 + (y (k) − yi )2 x(k) − xi
300
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
Die Daten, die der Abb. 6.3 zu Grunde liegen, sind i 1 2 3
xi 8 −4 1
yi
α1
6 5 −3
◦
Hauptwert
42 158◦ 248◦
0.733038 −0.383972 1.18682
F¨ ur die gesch¨ atzten Standortkoordinaten x(0) (0) bei sechsstelliger Rechnung Vektor 0 0.0975610 −0.121951 (0) . B = @ 0.0517241 0.120690 −0.172414 0.0689655
= 3, y (0) = 2 resultieren die Matrix 1
C A,
(0)
(0)
und der
0
1 0.058297 . B C = @ 0.020919 A . −0.003470
Der weitere Verlauf der Iteration ist in der folgenden Tabelle dargestellt. k
x(k)
y (k)
0 1 2 3 4
3.00000 3.14863 3.15584 3.15605 3.15605
2.00000 1.93519 1.94353 1.94338 1.94340
3.84819 · 10−3 2.42227 · 10−3 2.42007 · 10−3 2.42029 · 10−3
(k)T
(k)
ξ (k+1)
η (k+1)
0.148633 0.00721119 0.00021494 0.00000367
−0.0648092 0.00834256 −0.00014632 0.00001563 △
6.4.2
Minimierungsverfahren
Die mit der Gauß-Newton-Methode gebildete Folge der Vektoren x(k) braucht bei ungeeigneter Wahl des Startvektors x(0) oder bei kritischen Ausgleichsproblemen nicht gegen die gesuchte L¨ osung x des nichtlinearen Fehlergleichungssystems zu konvergieren. Um stets eine gegen x konvergente Folge von Vektoren x(k) zu konstruieren, soll sie, geleitet durch das Gaußsche Prinzip, die Eigenschaft haben, dass die Summe der Quadrate der Residuen F (x) = rT r (6.84) die Bedingung F (x(k) ) < F (x(k−1) ),
(k = 1, 2, . . .)
(6.91)
erf¨ ullt. Dies ist die Forderung eines Minimierungsverfahrens und bedeutet, das Minimum einer Funktion F (x) aufzufinden. Dazu muss eine so genannte Abstiegsrichtung v (k) bekannt sein, f¨ ur welche positive Werte t existieren, so dass mit x(k) = x(k−1) + tv (k) ,
t>0
(6.92) (k)
die Bedingung (6.91) erf¨ ullt ist. Eine Abstiegsrichtung v stellt der negative Gradient der Funktion F (x) im Punkt x(k−1) dar. Nach (6.85), (6.83) und (6.88) ist diese Richtung berechenbar als v (k) = −C (k−1)T r(k−1) ,
(k−1)
wo C die Jacobi-Matrix und r der Parameter t so bestimmt, dass
(6.93) (k−1)
F (x(k) ) = min F (x(k−1) + tv (k) ) t
den Residuenvektor f¨ ur x
(k−1)
darstellen. Wird (6.94)
301
6.4 Nichtlineare Ausgleichsprobleme
gilt, spricht man von der Methode des steilsten Abstiegs. Die in (6.94) zu minimierende Funktion ist nichtlinear in der Unbekannten t. Der Wert von t wird aus Gr¨ unden des Rechenaufwandes in der Regel nur n¨ aherungsweise mit Hilfe eines Suchverfahrens ermittelt [Bre 73, Jac 72]. Die lokal optimale Suchrichtung (6.93) liefert eine Folge von N¨aherungen x(k) , welche in der Regel sehr langsam gegen die L¨osung x konvergiert. Aus diesem Grund erweist sich die Methode des steilsten Abstiegs oft als sehr ineffizient. Satz 6.4. Der Korrekturvektor ξ(k+1) der Gauß-Newton-Methode f¨ ur die N¨aherung x(k) (k) stellt stets eine Abstiegsrichtung dar, solange ∇F (x ) = 0 ist. Beweis. Es ist zu zeigen, dass der Korrekturvektor ξ(k+1) als L¨osung der linearisierten Fehlergleichungen C (k) ξ(k+1) − d(k) = ̺(k) mit dem Gradienten ∇F (x(k) ) einen stumpfen Winkel bildet. Zur Vereinfachung der Schreibweise lassen wir im Folgenden die oberen Indizes weg. Somit ist zu zeigen, dass (∇F )T ξ < 0 gilt. Wir verwenden die Singul¨arwertˆ T , um den allgemeinen Fall zu erfassen. Da d = −r zerlegung (6.68) der Matrix C = U SV ist, hat der Gradient ∇F die Darstellung ˆT U T d) = −2 ∇F = −2C T d = −2V (S
r
sj (uTj d)v j .
(6.95)
j=1
Der Korrekturvektor ξ∗ mit minimaler euklidischer L¨ange ist nach (6.80) ξ∗ =
r (uT d) i
i=1
si
vi,
und somit ist wegen der Orthonormierung der Vektoren v i (∇F ) ξ = −2 T
r
(uTj d)2 < 0,
j=1
da in (6.95) nicht alle Skalare uTj d verschwinden k¨onnen, solange ∇F = 0 ist. Mit der Gauß-Newton-Methode ergibt sich auf Grund von Satz 6.4 ein Minimierungsaluhren wir f¨ ur k = 0, 1, . . . die folgenden gorithmus. Nach Wahl eines Startvektors x(0) f¨ Schritte durch: Aus den linearisierten Fehlergleichungen C (k) ξ (k+1) − d(k) = ̺(k) wird der Korrekturvektor ξ (k+1) als Abstiegsrichtung berechnet. Um eine Abnahme des Funktionswertes F (x(k+1) ) gegen¨ uber F (x(k) ) zu erzielen, pr¨ uft man f¨ ur die Folge der Parameterwerte (k+1) (k) t = 1, 1/2, 1/4, . . . mit den Vektoren y := x + tξ , ob die Bedingung F (y) < F (x(k) ) (k+1) = y, und es folgt ein Test auf Konvererf¨ ullt ist. Ist dies der Fall, dann setzen wir x genz. Man beachte, dass zur Berechnung von F (y) der zu y geh¨orende Residuenvektor r berechnet werden muss. Sobald y ein akzeptabler Vektor ist, ist f¨ ur die Fehlergleichungen des n¨ achsten Iterationsschrittes bereits d(k+1) = −r(k+1) bekannt.
302
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
Durch die garantierte Abnahme der nach unten beschr¨ankten Summe der Quadrate der Residuen ist die Konvergenz der Folge x(k) sichergestellt. Bei ung¨ unstiger Wahl des Startvektors x(0) kann die Konvergenz zu Beginn der Iteration sehr langsam sein. In der N¨ahe des L¨ osungsvektors x ist die Konvergenz ann¨ ahernd quadratisch [Fle 00]. Eine effizientere Methode stammt von Marquardt [Mar 63]. Um eine g¨ unstigere Abstiegs(k) und d = d(k) den Vektor richtung zu bestimmen, betrachtet er die Aufgabe, mit C = C v als L¨ osung des Extremalproblems Cv − d22 + λ2 v22 = Min!,
λ > 0,
(6.96)
zu bestimmen. Bei gegebenem Wert des Parameters λ ist v die L¨osung des Systems von Fehlergleichungen nach der Methode der kleinsten Quadrate " # C ˜ − d˜ = ̺˜ mit C˜ := Cv ∈ Ê(N +n),n , λI " # (6.97) d ˜ d := ∈ ÊN +n , ̺˜ ∈ ÊN +n . 0 ˜ den Maximalrang n unabh¨angig von Rang C. Im Vergleich F¨ ur jedes λ > 0 hat die Matrix C zur Gauß-Newton-Methode wurde jenes Fehlergleichungssystem (6.87) um n Gleichungen erweitert und auf diese Weise regularisiert. Der L¨osungsvektor v besitzt folgende Eigenschaften. Satz 6.5. Der Vektor v = v (k+1) als L¨osung von (6.96) ist eine Abstiegsrichtung, solange ∇F (x(k) ) = 0 ist. ˜ Maximalrang hat, kann v als L¨ Beweis. Da C osung von (6.97) formal mit Hilfe der zugeh¨ origen Normalgleichungen dargestellt werden in der Form ˜ = (C ˜ T C) ˜ −1 (∇F ). ˜ T C) ˜ −1 (C ˜ T d) ˜ −1 (C T d) = − 1 (C ˜ T C) v = (C 2
(6.98)
Folglich ist 1 ˜ T C) ˜ −1 (∇F ) < 0, (∇F )T v = − (∇F )T (C 2
falls ∇F = 0,
˜ T C) ˜ −1 ist symmetrisch und positiv definit, und somit bilden ∇F und denn die Matrix (C v einen stumpfen Winkel. Satz 6.6. Die euklidische Norm v2 des Vektors v als L¨osung von (6.96) ist mit zunehmendem λ eine monoton abnehmende Funktion. Beweis. Die Matrix A der Normalgleichungen zu (6.97) ist wegen der speziellen Struktur ˜ gegeben durch von C ˜T C ˜ = C T C + λ2 I. A=C
303
6.4 Nichtlineare Ausgleichsprobleme
Zur symmetrischen, positiv semidefiniten Matrix C T C existiert eine orthogonale Matrix U ∈ Ê n,n , so dass gelten U T C T CU = D und U T AU = D + λ2 I, D = diag (d1 , d2 , . . . , dn ), di ≥ 0.
(6.99)
Aus (6.98) und (6.99) folgt f¨ ur das Quadrat der euklidischen Norm v22
= v T v = dT CU (D + λ2 I)−1 U T U (D + λ2 I)−1 U T C T d n h2j = mit h := U T C T d = (h1 , h2 , . . . , hn )T 2 )2 (d + λ j j=1
und damit die Behauptung. Im Verfahren von Marquardt zur Minimierung der Summe der Quadrate der Residuen wird die euklidische Norm des Vektors v (k+1) durch den Parameter λ so gesteuert, dass mit x(k+1) = x(k) + v (k+1) ,
F (x(k+1) ) < F (x(k) ),
k = 0, 1, 2, . . . ,
(6.100)
gilt. Die Wahl des Wertes λ erfolgt auf Grund des Rechenablaufes. Ist die Bedingung (6.100) f¨ ur das momentane λ erf¨ ullt, dann soll λ f¨ ur den nachfolgenden Schritt verkleinert werden, beispielsweise halbiert. Ist aber (6.100) f¨ ur das momentane λ nicht erf¨ ullt, soll λ solange vergr¨ oßert, beispielsweise verdoppelt werden, bis ein Vektor v (k+1) resultiert, f¨ ur den die Bedingung gilt. Selbstverst¨ andlich muss mit dem Startvektor x(0) auch ein Startwert λ(0) vorgegeben werden. Ein problemabh¨ angiger Vorschlag ist 9 √ 1 (0) 2 λ(0) = C (0) F / nN = (c ) nN i,j ij mit der Frobenius-Norm der Matrix C (0) zum Startvektor x(0) . Ein Iterationsschritt des Verfahrens von Marquardt erfordert die Berechnung des Vektors v (k+1) aus dem Fehlergleichungssystem (6.97) f¨ ur m¨oglicherweise mehrere Werte des Parameters λ. Um diesen Schritt m¨ oglichst effizient zu gestalten, erfolgt die Behandlung von (6.97) in zwei Teilen [Gol 73]. In einem vorbereitenden Teilschritt werden die ersten N , von λ unabh¨ angigen Fehlergleichungen mit einer orthogonalen Matrix Q1 so transformiert, dass ⎛ ⎞ ⎛ ⎞ dˆ1 R1 ˜ = ⎝ 01 ⎠ , QT1 d˜ = ⎝ dˆ2 ⎠ , QT1 C (6.101) λI 0 R1 ∈ Ên,n , 01 ∈ Ê(N −n),n gilt. Unter der Annahme, dass C Maximalrang hat, ist R1 eine regul¨are Rechtsdreiecksmatrix, und die Transformation kann entweder mit der Methode von Givens oder Householder erfolgen. Auf jeden Fall bleiben die letzten n Fehlergleichungen unver¨andert. Ausgehend
304
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
von (6.101) wird zu gegebenem λ mit einer orthogonalen Matrix Q2 die Transformation beendet, um die Matrizen und Vektoren ⎞ ⎛ ⎞ ⎛ ˆ ˆ1 R2 d ⎟ ˜ = ⎝ 01 ⎠ , QT2 QT1 d˜ = ⎜ QT2 QT1 C ⎝ dˆ2 ⎠ , (6.102) 02 dˆ3 R2 , 02 ∈ Ên,n ˆ ˆ1 = 0 mit der stets zu erhalten. Der gesuchte Vektor v (k+1) ergibt sich aus R2 v (k+1) − d regul¨ aren Rechtsdreiecksmatrix R2 durch R¨ ucksubstitution. Muss der Wert λ vergr¨oßert werden, so ist nur der zweite Teilschritt zu wiederholen. Dazu sind R1 und dˆ1 als Ergebnis des ersten Teils abzuspeichern. Da die Nullmatrix 01 und der Teilvektor dˆ2 (6.101) f¨ ur den zweiten Teilschritt bedeutungslos sind, kann er sowohl speicher¨okonomisch als auch sehr effizient durchgef¨ uhrt werden. Die sehr spezielle Struktur der noch zu behandelnden Fehlergleichungen des zweiten Teilschrittes weist auf die Anwendung der Givens-Transformation hin. Die im Abschnitt 6.2.2 dargelegte Rechentechnik erfordert den kleinsten Speicherbedarf. Soll hingegen die Householder-Transformation angewandt werden, ist der zweite Teilschritt uhrbar, wobei mit einer Hilfsmatrix C H ∈ Ê(2n),n und einem Hilfsvektor dH ∈ Ê2n durchf¨ auch hier die sehr spezielle Struktur zur Erh¨ ohung der Effizienz ber¨ ucksichtigt werden kann. In manchen praktischen Aufgabenstellungen der Naturwissenschaften liegt den Fehlergleichungen eine bestimmte Funktion f (x) =
µ
aj ϕj (x; α1 , α2 , . . . , αν )
j=1
zu Grunde, in welcher die unbekannten Parameter a1 , a2 , . . ., aµ ; α1 , α2 , . . ., αν aus einer Anzahl von N Beobachtungen der Funktion f (x) f¨ ur N verschiedene Argumente xi zu bestimmen sind. Dabei sind die Funktionen ϕj (x; α1 , α2 , . . . , αν ) in den αk nichtlinear. In den resultierenden Fehlergleichungen verhalten sich die aj bei festen αk linear und umgekehrt die αk bei festgehaltenen aj nichtlinear. In diesem Sinn existieren zwei Klassen von unbekannten Parametern, und zur effizienten Behandlung solcher Probleme ist ein spezieller Algorithmus entwickelt worden [Gol 73].
6.5
Software
Die Themen dieses Kapitels sind einerseits dem Bereich Numerische lineare Algebra, andererseits dem der Optimierung bzw. genauer dem der Minimierung positiver Funktionen zuzuordnen. Software zu den Verfahren findet man dementsprechend in unterschiedlichen Bereichen. Alle beschriebenen Methoden sind wieder in den großen numerischen Bibliotheken realisiert. In der Nag-Bibliothek sind die Verfahren, die mit orthogonalen Transformationen arbeiten, in den Kapiteln F02 und F08 zu finden, in F02 auch Black-box-Routinen zur Singul¨ arwertzerlegung (SVD). Verfahren zum Minimieren und Maximieren von Funktionen und damit auch zur Methode der kleinsten Quadrate sind im Kapitel E04 zusammengefasst.
305
6.6 Aufgaben
In Matlab wird ein lineares Gleichungssystem Ax = b durch den einfachen Befehl x=A\b gel¨ ost. Ist das Gleichungssystem unter- oder u ¨ berbestimmt, dann wird automatisch die L¨osung kleinster Quadrate berechnet. Mit dem Befehl lsqnonneg berechnet Matlab eine nicht negative L¨ osung des Problems kleinster Quadrate. Die L¨osungen der beiden zuletzt genannten Probleme k¨ onnen sich stark unterscheiden. Eine spezielle Sammlung von Fortran90-Routinen zum Problem der kleinsten Quadrate ist im Zusammenhang mit [Law 95] erschienen1 . Unsere Probleml¨ oseumgebung Pan (http://www.upb.de/SchwarzKoeckler/) verf¨ ugt u ¨ ber ein Programm zur Singul¨ arwertzerlegung und eines zur L¨osung allgemeiner linearer Gleichungssysteme, deren Koeffizientenmatrix singul¨ar oder rechteckig sein kann, mit der Methode der kleinsten Quadrate.
6.6
Aufgaben
Aufgabe 6.1. An einem Quader werden die L¨ angen seiner Kanten und die Umf¨ ange senkrecht zur ersten und zweiten Kante gemessen. Die Messwerte sind: Kante 1: 26 mm; Kante 2: 38 mm; Kante 3: 55 mm; Umfang ⊥ Kante 1: 188 mm; Umfang ⊥ Kante 2: 163 mm.
Wie groß sind die ausgeglichenen Kantenl¨ angen nach der Methode der kleinsten Quadrate? Aufgabe 6.2. Um Amplitude A und Phasenwinkel φ einer Schwingung x = A sin(2t + φ) zu bestimmen, sind an vier Zeitpunkten tk die Auslenkungen xk beobachtet worden. tk =
0
π/4
π/2
3π/4
xk =
1.6
1.1
−1.8
−0.9
Um ein lineares Fehlergleichungssystem zu erhalten, sind auf Grund einer trigonometrischen Formel neue Unbekannte einzuf¨ uhren. Aufgabe 6.3. Die Funktion y = sin(x) ist im Intervall [0, π/4] durch ein Polynom P (x) = a1 x + a3 x3 zu approximieren, das wie sin(x) ungerade ist. Die Koeffizienten a1 und a3 sind nach der Methode der kleinsten Quadrate f¨ ur die diskreten St¨ utzstellen xk = kπ/24, k = 1, 2, . . . , 6, zu bestimmen. Mit dem gefundenen Polynom P (x) zeichne man den Graphen der Fehlerfunktion r(x) := P (x) − sin(x). Aufgabe 6.4. Man schreibe oder benutze Programme zur L¨ osung von linearen Fehlergleichungssystemen, um mit Hilfe der Normalgleichungen und der beiden Varianten der Orthogonaltransformation die Funktionen a) f (x) = cos(x), x ∈ [0, π/2];
b) f (x) = ex , x ∈ [0, 1]
durch Polynome n−ten Grades Pn (x) = a0 + a1 x + a2 x2 + . . . + an xn f¨ ur n = 2, 3, . . ., 8 so zu approximieren, dass die Summe der Quadrate der Residuen an N = 10, 20 a utz¨quidistanten St¨ stellen minimal ist. Zur Erkl¨ arung der verschiedenen Ergebnisse berechne man Sch¨ atzwerte der 1 http://www.math.iastate.edu/burkardt/f
src/lawson/lawson.html
306
6 Ausgleichsprobleme, Methode der kleinsten Quadrate
Konditionszahlen der Normalgleichungsmatrix unter Benutzung von −1 F ≤ −1 F bedeutet.
mit Hilfe der Inversen der Rechtsdreiecksmatrix F = −1 2F , wo · F die Frobenius-Norm
−T
Aufgabe 6.5. An einem Quader misst man die Kanten der Grundfl¨ ache a = 21 cm, b = 28 cm und die H¨ ohe c = 12 cm. Weiter erh¨ alt man als Messwerte f¨ ur die Diagonale der Grundfl¨ ache d = 34 cm, f¨ ur die Diagonale der Seitenfl¨ ache e = 24 cm und f¨ ur die K¨ orperdiagonale f = 38 cm. Zur Bestimmung der L¨ angen der Kanten des Quaders nach der Methode der kleinsten Quadrate verwende man das Verfahren von Gauß-Newton und Minimierungsmethoden. Aufgabe 6.6. Um den Standort eines illegalen Senders festzustellen, werden f¨ unf Peilwagen eingesetzt, mit denen die Richtungen zum Sender ermittelt werden. Die Aufstellung der Peilwagen ist in einem (x, y)-Koordinatensystem gegeben, und die Richtungswinkel α sind von der positiven x-Achse im Gegenuhrzeigersinn angegeben. Peilwagen x-Koordinate y-Koordinate Richtungswinkel α
1
2
3
4 1 45◦
18 0 120◦
26 15 210◦
4
5
13 16 270◦
0 14 330◦
Die Situation ist an einer großen Zeichnung darzustellen. Welches sind die mutmaßlichen Koordinaten des Senders nach der Methode der kleinsten Quadrate? Als Startwert f¨ ur das Verfahren von Gauß-Newton und f¨ ur Minimierungsmethoden w¨ ahle man beispielsweise P0 (12.6, 8.0). Aufgabe 6.7. Die Konzentration z(t) eines Stoffes in einem chemischen Prozess gehorcht dem Gesetz z(t) = a1 + a2 eα1 t + a3 eα2 t ,
a1 , a2 , a3 , α1 , α2 ∈ Ê, α1 , α2 < 0.
Zur Bestimmung der Parameter a1 , a2 , a3 , α1 , α2 liegen f¨ ur z(t) folgende Messwerte zk vor. tk =
0
0.5
1.0
1.5
2.0
3.0
5.0
8.0
10.0
zk =
3.85
2.95
2.63
2.33
2.24
2.05
1.82
1.80
1.75
(0)
(0)
(0)
(0)
Als Startwerte verwende man beispielsweise a1 = 1.75, a2 = 1.20, a3 = 0.8, α1 = −0.5, (0) α2 = −2 und behandle die nichtlinearen Fehlergleichungen mit dem Verfahren von Gauß-Newton und mit Minimierungsmethoden.
7
Numerische Integration
Integralberechnungen sind meistens Teil einer umfassenderen mathematischen Problemstellung. Dabei sind die auftretenden Integrationen oft nicht analytisch ausf¨ uhrbar, oder ihre analytische Durchf¨ uhrung stellt im Rahmen der Gesamtaufgabe eine praktische Schwierigkeit dar. In solchen F¨ allen wird der zu berechnende Integralausdruck angen¨ahert ausgewertet durch numerische Integration, die auch numerische Quadratur genannt wird. Zu den zahlreichen Anwendungen der numerischen Quadratur geh¨oren die Berechnung von Oberfl¨achen, Volumina, Wahrscheinlichkeiten und Wirkungsquerschnitten, die Auswertung von Integraltransformationen und Integralen im Komplexen, die Konstruktion von konformen Abbildungen f¨ ur Polygonbereiche nach der Formel von Schwarz-Christoffel [Hen 93], die Behandlung von Integralgleichungen etwa im Zusammenhang mit der Randelementemethode und schließlich die Methode der finiten Elemente, siehe etwa [Sch 91b] oder Abschnitt 10.3. Wir behandeln in diesem Kapitel die Berechnung eines bestimmten Integrals I, das durch eine Summe – die numerische Quadraturformel I˜ – approximiert wird ( b n wi f (xi ), (7.1) f (x) dx −→ I˜ = I= a
i=1
wobei die Wahl der Koeffizienten oder Integrationsgewichte wi und der St¨ utzstellen xi die Regel festlegen. F¨ ur einige Regeln wird von 0 bis n summiert.
Es gibt numerische Verfahren, die als Ergebnis die Entwicklung des Integranden in eine Potenzreihe liefern. Die Potenzreihe kann dann analytisch integriert werden. Dadurch ist auch die unbestimmte Integration m¨ oglich. Sie entspricht der L¨osung einer Differenzialgleichung, siehe Lemma 8.3. Eine Stammfunktion kann daher auch mit den Methoden des Kapitels 8 berechnet werden. Die “Integration von Tabellendaten” wird hier nicht behandelt. Durch eine Wertetabelle kann eine interpolierende oder approximierende Funktion gelegt werden, die dann exakt integriert wird, siehe Kapitel 3. Zur Berechnung bestimmter Integrale stehen mehrere Verfahrensklassen zur Verf¨ ugung. Das einfachste und bekannteste Verfahren ist sicher die Trapezregel, die zur Klasse der Newton-Cotes-Regeln geh¨ ort. Die Trapezregel ist eine einfache Quadraturmethode mit niedriger Genauigkeitsordnung, die aber f¨ ur spezielle Integranden, etwa periodische Funktionen, durchaus gut geeignet ist. Die Romberg-Quadratur nutzt die Fehlerentwicklung der Trapezregel zur Genauigkeitssteigerung aus. Am wichtigsten f¨ ur das Verst¨andnis der Algorithmen, die in Softwaresystemen verwendet werden, ist die Klasse der Gauß-Regeln. In dieser Klasse k¨ onnen auch viele Spezialf¨ alle wie Singularit¨aten behandelt werden. Die Integration von Funktionen mit Singularit¨ aten oder u ¨ ber unbeschr¨ankte Bereiche kann auch mit
308
7 Numerische Integration
Hilfe von Transformationen erleichtert werden. Optimale Black-box-Methoden mit automatischer Steuerung der Genauigkeit erh¨ alt man durch adaptive Methoden, die meistens zwei Verfahren einer Klasse kombinieren. Auch auf mehrdimensionale Integrationen gehen wir kurz ein. Sollen numerische Integrationsregeln verglichen werden, so wird der Aufwand in Anzahl Funktionsauswertungen gemessen, da dieser rechnerische Aufwand den der anderen Rechenoperationen in allen wichtigen F¨ allen dominiert.
7.1
Newton-Cotes-Formeln
Dies ist die einfachste Idee: Um das Integral I zu berechnen, wird die Funktion f durch ein interpolierendes Polynom p ersetzt und dieses wird exakt integriert.
7.1.1
Konstruktion von Newton-Cotes-Formeln
Zu m+1 St¨ utzstellen werden die Werte (xi , f (xi )), i = 0, 1, . . . , m, mit Lagrange interpoliert m f (xi )Li (x). (7.2) pm (x) = i=0
Dabei sind Li (x) die Lagrange-Polynome der Ordnung m, siehe Abschnitt 3.1.2. Damit wird als Integraln¨ aherung m ˜ Im = (b − a) wi f (xi ) mit ( i=0 b 1 Li (x) dx wi = b−a a berechnet. F¨ ur den Fall a utzstellen ¨quidistanter St¨ b−a xi = a + i h mit h = m ergeben sich die wi mit der Substitution s = (x − a)/h zu ( b ( m m 1 1 m (s − j) (x − xj ) dx = ds. wi = b − a a j=0 (xi − xj ) m 0 j=0 (i − j) j =i
(7.3)
(7.4)
(7.5)
j =i
Beispiel 7.1. Konstruktion der Simpson-Regel Hier sind m = 2, x0 = a, x1 = (a + b)/2, x2 = b, h = (b − a)/2. Damit ergeben sich die Koeffizienten wi zu Z 1 2 (s − 1) (s − 2) 1 w0 = ds = , 2 0 2 6 Z 4 1 2 s (s − 2) ds = , (7.6) w1 = 2 0 −1 6
309
7.1 Newton-Cotes-Formeln Z 1 1 2 s (s − 1) ds = . w2 = 2 0 2 6
Das ergibt die unten aufgef¨ uhrte Simpson-Regel.
△
Auf Grund der Definition (7.3) ist klar, dass I˜m den exakten Wert des Integrals liefert, falls ur I mit einem f ein Polynom vom H¨ ochstgrad m ist. Andernfalls stellt I˜m eine N¨aherung f¨ vom Integranden abh¨ angigen Fehler ( b m f (x) dx (7.7) wi f (xi ) − Em [f ] := I˜m − I = (b − a) i=0
a
dar. In bestimmten F¨ allen ist die Quadraturformel (7.3) auch noch exakt f¨ ur Polynome h¨ oheren Grades. Als Maß f¨ ur die G¨ ute der Genauigkeit einer Quadraturformel wird folgender Begriff eingef¨ uhrt. Definition 7.1. Eine Quadraturformel besitzt den Genauigkeitsgrad m ∈ ∗ , wenn sie alle Polynome vom H¨ ochstgrad m exakt integriert, und m die gr¨oßtm¨ogliche Zahl mit dieser Eigenschaft ist. Da Em [f ] ein lineares Funktional in f ist, besitzt eine Quadraturformel genau dann den Genauigkeitsgrad m, wenn E[xj ] = 0
f¨ ur j = 0, 1, . . . , m
und E[xm+1 ] = 0
(7.8)
gilt. Aus den bisherigen Betrachtungen folgt zusammenfassend Satz 7.2. Zu beliebig vorgegebenen (m + 1) paarweise verschiedenen St¨ utzstellen xi ∈ [a, b] existiert eine eindeutig bestimmte Newton-Cotes-Formel (7.3), deren Genauigkeitsgrad mindestens m ist. Der Quadraturfehler Em [f ] := I˜m − I einer Newton-Cotes-Formel m-ten Grades zu m + 1 St¨ utzstellen hat f¨ ur eine (m + 1) mal stetig differenzierbare Funktion f (x) wegen (3.5) die Darstellung ( b m 1 (x − xi ). (7.9) f (m+1) (ξ(x)) ω(x) dx mit ω(x) = Em [f ] = (m + 1)! a i=0
Die Methode der Newton-Cotes-Regeln ist nur f¨ ur kleine Werte von m stabil; es werden deshalb hier nur die Formeln f¨ ur m = 1 und m = 2 angegeben: ( b b−a Trapezregel : (f (a) + f (b)), (7.10) f (x) dx ≈ 2 a ( b b−a a+b Simpson-Regel : f (x) dx ≈ (f (a) + 4f ( ) + f (b)). (7.11) 6 2 a Soll die Genauigkeit erh¨ oht werden, so werden diese einfachen N¨aherungsformeln mehrfach aneinandergesetzt. Sei zu gegebenem n b−a und xj = a + j h, j = 0, 1, . . . , n. (7.12) h= n
310
7 Numerische Integration
Dann liefert das Aneinanderh¨ angen von n Trapezregeln die N¨aherungsformel I˜ = T (h) =
h [f (x0 ) + 2f (x1 ) + · · · 2f (xn−1 ) + f (xn )] , 2
(7.13)
F¨ ur gerades n k¨ onnen n/2 Simpson-Regeln zusammengef¨ ugt werden: I˜ = S(h) =
h [f (x0 ) + 4f (x1 ) + 2f (x2 ) + · · · + 3 + 2f (xn−2 ) + 4f (xn−1 ) + f (xn )] .
(7.14)
Sind Schranken f¨ ur die 2. bzw. 4. Ableitung der zu integrierenden Funktion bekannt, so l¨ asst sich der Fehler dieser Regeln absch¨ atzen |b − a| 2 |I − T (h)| ≤ h max |f ′′ (x)|, (7.15) 12 x∈[a,b] |b − a| 4 |I − S(h)| ≤ h max |f (4) (x)|. (7.16) 180 x∈[a,b] Der Beweis dieser Absch¨ atzungen erfordert umfangreiche Hilfsmittel, man findet ihn etwa in [H¨ am 91]. Beispiel 7.2.
Z
π/2
5.0 exp(2x) cos(x) dx = 1.0. (7.17) eπ − 2 Abb. 7.1 links zeigt den Integranden und die Trapezfl¨ ache als N¨ aherung f¨ ur das Integral mit n = 4. Die Ergebnisse f¨ ur Trapez- und Simpson-Regel sind in der folgenden Tabelle festgehalten: I=
0
Regel
h
I˜
I˜ − I
(7.15)/(7.16)
Trapez
π/8
0.926
−0.074
0.12
Simpson
π/8
0.9925
−0.0075
0.018 △
7.1.2
Verfeinerung der Trapezregel
Eine anschauliche Approximation des Integrals (7.1), welche der Riemannschen Summe entspricht, bildet die Mittelpunktsumme M (h) := h
n−1 j=0
.
/
f xj+ 12 ,
xj+ 12
" # 1 := a + j + h. 2
(7.18)
M (h) stellt die Fl¨ ache unterhalb der Treppenkurve in Abb. 7.1 rechts dar. Aus (7.13) und (7.18) folgt unmittelbar die Relation 1 T (h/2) = [T (h) + M (h)]. (7.19) 2
311
7.1 Newton-Cotes-Formeln f (x)
f (x)
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
x 0.3927
0.7854
1.1781
1.5708
x
0 0
0.3927
0.7854
1.1781
1.5708
Abb. 7.1 Trapez- und Mittelpunktregel f¨ ur Beispiel 7.2 (n = 4).
Die Beziehung (7.19) erlaubt die Verbesserung der Trapezapproximationen durch sukzessive Halbierung der Schrittl¨ ange in der Weise, dass zur bereits berechneten N¨aherung T (h) noch M (h) berechnet wird. Bei jeder Halbierung der Schrittweite wird der Rechenaufwand, gemessen mit der Anzahl der Funktionsauswertungen, etwa verdoppelt, doch werden die schon berechneten Funktionswerte auf ¨ okonomische Weise wieder verwendet. Die sukzessive Halbierung der Schrittweite kann beispielsweise dann abgebrochen werden, wenn sich T (h) und M (h) um weniger als eine gegebene Toleranz ε > 0 unterscheiden. Dann ist der Fehler |T (h/2) − I| im Allgemeinen h¨ ochstens gleich ε. Die Berechnung der Trapezsummen T (h) bei sukzessiver Halbierung der Schrittweite h fassen wir im folgenden Algorithmus zusammen. Es sind ε die vorzugebende Toleranz, f (x) der Integrand und a, b die Integrationsgrenzen. h = b − a; n = 1; T = h × (f (a) + f (b))/2 f¨ ur k = 1, 2, . . . , 10 : M =0 f¨ ur j = 0, 1, . . . , n − 1 : M = M + f (a + (j + 0.5) × h) M = h × M ; T = (T + M )/2; h = h/2; n = 2 × n falls |T − M | < ε : STOP
(7.20)
Ohne weitere Maßnahmen konvergieren die Trapezsummen im Allgemeinen recht langsam gegen den Integralwert I. Falls aber f (x) periodisch und analytisch auf Ê ist, und falls (b−a) gleich der Periode ist, dann bedarf der Algorithmus (7.20) keiner weiteren Verbesserung mehr (vgl. Abschnitt 7.3). Die Trapezregel erweist sich auch als g¨ unstig zur gen¨aherten Berechnung von Integralen ugend rasch abklingenden Funktionen f (x). Dazu werden die Definitionen u ¨ ber Ê von gen¨ (7.13) und (7.18) f¨ ur das beidseitig unbeschr¨ ankte Intervall verallgemeinert, und es wird zus¨ atzlich eine frei w¨ ahlbare Verschiebung s eingef¨ uhrt.
312
7 Numerische Integration
Mit dieser Verallgemeinerung werden die Trapez- und Mittelpunktsummen definiert als ∞ T (h, s) := h f (s + jh); M (h, s) :=
h
j=−∞ ∞
j=−∞
In Analogie zu (7.19) gilt
f
"
" # # 1 s+ j+ h = T (h, s + h/2). 2
(7.21)
T (h/2, s) = [T (h, s) + M (h, s)]/2. Wegen der sich ins Unendliche erstreckenden Summen ist die Anwendung von (7.21) nur f¨ ur gen¨ ugend rasch, beispielsweise exponentiell abklingende Integranden praktikabel. Ausgehend von einer geeignet gew¨ ahlten Verschiebung s, welche dem Verlauf des Integranden f (x) Rechnung tr¨ agt, und einem Anfangsschritt h0 werden die Werte T und M zweckm¨aßig mit j = 0 beginnend und dann mit zunehmendem |j| nach jeder Seite hin aufsummiert. Die (unendliche) Summation u ¨ber j muss abgebrochen werden, sobald die Betr¨age der Funktionswerte kleiner als eine vorgegebene Abbruchtoleranz δ werden. Damit ergibt sich der folgende modifizierte Algorithmus zur Berechnung der Trapezsummen f¨ ur das uneigentliche Integral (∞ I= f (x) dx −∞
einer gen¨ ugend rasch abklingenden Funktion f (x). h = h0 ; T = f (s); j = 1; z = 0 f 1 = f (s + j × h); f 2 = f (s − j × h); T = T + f 1 + f 2; j = j + 1 falls |f 1| + |f 2| > δ : z = 0; gehe nach ST z = z + 1; falls z = 1 : gehe nach ST T =h×T f¨ ur k = 1, 2, . . . , 10 : M = f (s + 0.5 × h); j = 1; z = 0 SM : f 1 = f (s + (j + 0.5) × h); f 2 = f (s − (j − 0.5) × h) M = M + f 1 + f 2; j = j + 1 falls |f 1| + |f 2| > δ : z = 0; gehe nach SM z = z + 1; falls z = 1 : gehe nach SM M = h × M ; T = (T + M )/2; h = h/2 falls |T − M | < ε : STOP
ST:
(7.22)
Um unn¨ otige Funktionsauswertungen im Fall eines asymmetrisch abklingenden Integranden zu vermeiden, k¨ onnte der Algorithmus (7.22) so verbessert werden, dass die Summationen nach oben und unten getrennt ausgef¨ uhrt werden.
313
7.2 Romberg-Integration
Beispiel 7.3. Zur gen¨aherten Berechnung von I=
Z∞
2
e−0.25x cos(2x) dx
−∞
mit oszillierendem, aber rasch abnehmendem Integranden mit dem Algorithmus (7.22) ergeben sich Trapezsummen gem¨ aß Tab. 7.1. Mit der Startschrittweite h0 = 2 ist die Zahl Z der Funktionsauswertungen f¨ ur drei verschiedene Werte von s angegeben. Die verwendeten Toleranzen sind δ = 10−14 und ε = 10−8 . Das Verhalten des Algorithmus ist von der Wahl von s praktisch unabh¨ angig. In allen drei F¨ allen stimmen bei Rechnung mit sechzehn wesentlichen Dezimalstellen die letzten Werte f¨ ur die Trapez- und die Mittelpunktregel in vierzehn wesentlichen Stellen u △ ¨berein. Tab. 7.1 Uneigentliches Integral mit oszillierenden Integranden. s=0
Z
s = 0.12
Z
s = 0.3456
Z
T
1.0279082242
15
0.9602843084
15
0.5139297286
15
M T
−0.8980536479 0.0649272881
17
−0.8304297538 0.0649272773
17
−0.3840752730 0.0649272278
17
M T
0.0649272112 0.0649272494
27
0.0649272215 0.0649272494
27
0.0649272710 0.0649272494
29
M T
0.0649272494 0.0649272494
51
0.0649272494 0.0649272494
51
0.0649272494 0.0649272494
51
7.2
Romberg-Integration
Eine erhebliche Verkleinerung des Fehlers von Trapez- oder Simpson-Regel hat Romberg erreicht, indem er Richardsons Extrapolation auf h2 = 0 anwandte. Er hat ausgenutzt, dass sich der Fehler (7.9) f¨ ur die Trapezregel T (h) in eine Potenzreihe in h2 (statt nur in h) entwickeln l¨asst. Mit den Bernoulli-Zahlen Bk (B0 = 1, B1 = −1/2, B2 = 1/6, B3 = B5 = B7 = . . . = 0, B4 = −1/30, B6 = 1/42, B8 = −1/30, B10 = 5/66, . . .) ergibt sich ∞ B2k 2k (2k−1) h [f (b) − f (2k−1) (a)]. (7.23) T (h) − I = (2k)! k=1
Wegen des oft starken Wachstums der Ableitungen f (2k−1) (x) mit zunehmendem k konvergiert diese Reihe im Allgemeinen nicht, sodass (7.23) ung¨ ultig ist. In den meisten F¨allen kann jedoch gezeigt werden, dass jede endliche Partialsumme in (7.23) f¨ ur h → 0 zu T (h)−I asymptotisch ist. In diesen F¨ allen gilt die so genannte Euler-MacLaurinsche Summenformel in der Form T (h) − I = c1 h2 + c2 h4 + · · · + cN h2N + RN +1 (h)
(7.24)
314
7 Numerische Integration
f¨ ur jedes feste N . Dabei sind die Koeffizienten dieser Fehlerentwicklung unabh¨angig von h und es ist RN +1 (h) = O(h2N +2 ). Das bedeutet, dass f¨ ur Trapezregelauswertungen mit verschiedenen Schrittweiten die Koeffizienten der Fehlerentwicklung gleich bleiben. Rechnet man z.B. mit zwei Schrittweiten h und H, so k¨ onnen die Werte T (h) und T (H) so kombiniert ur werden, dass in der Fehlerentwicklung der Kombination der h2 -Term verschwindet. F¨ H = 2h entsteht die Regel 1 (7.25) I˜ := (4 T (h) − T (H)) mit I˜ − I = O(h4 ). 3 Offenbar ergibt diese Kombination gerade die Simpson-Regel. Das Verfahren kann systematisch fortgesetzt werden. Werden mehr als zwei Schrittweiten benutzt, dann ergibt sich ein ur Dreiecksschema. Dazu werden zun¨ achst die Trapezregeln definiert als Tk,0 := T (hk ). F¨ die Schrittweitenwahl b−a (7.26) hk := k , k = 0, 1, · · · , m, 2 lassen sich die Trapezregeln Tk,0 , k > 0, mit Hilfe der Vorg¨angerregel Tk−1,0 leicht rekursiv berechnen: 1 Tk,0 = Tk−1,0 + hk [f (a + hk ) + f (a + 3hk ) + · · · + f (b − 3hk ) + f (b − hk )](7.27) 2 Extrapolation auf h2 = 0 ergibt das rekursive Dreiecksschema Tk,j :=
4j Tk,j−1 − Tk−1,j−1 4j − 1
j = 1, 2, . . . , m, k = j, j + 1, . . . , m.
(7.28)
Der zuletzt berechnete Wert Tm,m ist in der Regel am genauesten, es gilt die Fehlerabsch¨ atzung |Tk,j − I| ≤
(b − a)2j+3 |B2j+2 | 4k−j 2j(j+1) (2j + 2)!
max |f (2j+2) (x)|
x∈[a,b]
(7.29)
mit den Bernoulli-Zahlen B2j+2 wie in (7.23). Beispiel 7.4. Anwendung dieses Algorithmus auf Beispiel 7.2 ergibt das Schema k
hk
Tk,0
Tk,1
Tk,2
Tk,3
0 1 2 3
π/2 π/4 π/8 π/16
0.18 0.72 0.93 0.98
0.9044 0.9925 0.9995
0.998386 0.999974
0.999999
F¨ ur den auf sechs Stellen genauen Wert T3,3 liefert die Fehlerabsch¨ atzung die obere Schranke |T3,3 − I| ≤ 3 · 10−5 . Der Wert T2,2 = 0.998386, der sich aus den ersten drei Zeilen des Dreiecksschemas ergibt, ben¨ otigt ebenso f¨ unf Funktionsauswertungen wie die Simpson-Regel in Beispiel 7.2, die aber einen fast f¨ unfmal so großen Fehler aufweist. Bei neun Funktionsauswertungen ist der Fehler der Simpson△ Regel T3,1 500 mal so groß wie der der Romberg-Integration T3,3 .
315
7.3 Transformationsmethoden
Zur Genauigkeitssteuerung wird oft die obere Diagonale mit den Werten Tk,k benutzt, indem f¨ ur eine vorgegebene Toleranz ε auf |Tk,k − Tk−1,k−1 | < ε abgefragt wird. Im Allgemeinen konvergiert diese Diagonale superlinear. Wegen (7.23)/(7.24) geht dem RombergAlgorithmus bei Funktionen mit Singularit¨ aten, Sprungstellen oder Spr¨ ungen in einer Ableitung die Grundlage verloren. Dementsprechend schlechter sind dann die Ergebnisse.
Beispiel 7.5. Die zweite Ableitung des scheinbar harmlosen Integranden von I=
Z
1
x3/2 dx = 0.4
(7.30)
0
besitzt an der Stelle x = 0 eine Singularit¨ at. Die Romberg-Quadratur ergibt das Schema k
hk
Tk,0
Tk,1
Tk,2
Tk,3
Tk,4
0 1 2 3 4
1 0.5 0.25 0.125 0.0625
0.50000000 0.42677670 0.40701811 0.40181246 0.40046340
0.40236893 0.40043191 0.40007724 0.40001371
0.40030278 0.40005361 0.40000948
0.40004965 0.40000878
0.40000862
Hier bringt nur die zweite Spalte mit den Tk,1 – das sind die Simpson-Regeln – noch eine wesentliche Verbesserung gegen¨ uber den Trapezregeln Tk,0 , allerdings auch nicht mit einem Fehler O(h4 ) wie bei mindestens viermal stetig differenzierbaren Funktionen. Das liegt daran, dass wegen der Singularit¨ at ultig wird. △ der zweiten Ableitung die Reihenentwicklung des Fehlers (7.24) nach c1 h2 ung¨
Das Romberg-Verfahren besitzt den Vorteil einfach durchf¨ uhrbar zu sein, doch es ist zu aufw¨ andig, wenn Integrale mit hoher Genauigkeit berechnet werden m¨ ussen. Beim RombergVerfahren verdoppelt sich der Aufwand bei jedem Halbierungsschritt. Die Situation kann etwas verbessert werden, wenn andere Schrittweitenfolgen benutzt werden, siehe etwa [Sto 02]. Der damit erzielbare Genauigkeitsgewinn wird aber von anderen Verfahrensklassen wie z.B. den Gauß-Regeln weit u ¨ bertroffen, siehe Abschnitt 7.4.
7.3
Transformationsmethoden
In diesem Abschnitt behandeln wir solche Integrale, f¨ ur welche im Fehlergesetz (7.24) der Trapezregel alle Terme endlicher Ordnung verschwinden. Das u ¨brig bleibende Restglied ist dann exponentiell klein. Integrale mit dieser Eigenschaft treten nicht allzu selten auf und haben wichtige Anwendungen. Zudem k¨ onnen Integrale mit analytischen Integranden f (x) durch geeignete Transformationen auf die erw¨ ahnten F¨alle zur¨ uckgef¨ uhrt werden.
316
7.3.1
7 Numerische Integration
Periodische Integranden
Ein erster Fall, wo in (7.24) alle ck verschwinden, liegt vor, wenn der in Integrand f (x) τ -periodisch ist, f (x + τ ) = f (x)
Ê
analytische
f¨ ur alle x ∈ Ê,
und sich die Integration u ¨ ber eine volle Periode erstreckt. Ohne Einschr¨ankung der Allgemeinheit setzen wir a = 0, b = τ . Dann gilt f (2k−1) (b) − f (2k−1) (a) = 0,
k = 1, 2, . . . .
(7.31)
F¨ ur jedes N ist im Fehlergesetz (7.24) nur das Restglied vorhanden. Anstatt das Restglied in (7.24) f¨ ur periodische Funktionen zu untersuchen, ist es einfacher, direkt den Fehler der Trapezsummen durch die Fourier-Reihe von f (x) auszudr¨ ucken. In komplexer Schreibweise mit i2 = −1 sei also ∞ 2π (7.32) fk eikx τ f (x) = k=−∞
mit den komplexen Fourier-Koeffizienten (τ 2π 1 fk := f (x)e−ikx τ dx. τ
(7.33)
0
Wegen f (τ ) = f (0) schreibt sich die Trapezsumme (7.13) bei n Teilintervallen als T (h) = h
n−1
f (jh),
h=
j=0
τ , n
n∈
∗
.
(7.34)
Setzen wir die Fourier-Reihe (7.32) in (7.34) ein und vertauschen die Summations-Reihenfolge, ergibt sich T (h) =
∞ n−1 τ 2π eijk n . fk n j=0 k=−∞
Von der Summe u ¨ ber k bleiben nur die Terme mit k = nl, l ∈ , u ¨brig, weil n−1
eijk
2π n
=
j=0
n, f¨ ur k ≡ 0 (mod n) , 0, sonst
und wir erhalten T (h) = τ
∞
fnl .
(7.35)
l=−∞
Speziell gilt gem¨ aß (7.33) τ f0 = gesetz
)τ
f (x) dx = I, und somit ergibt sich aus (7.35) das Fehler-
0
T (h) − I = τ (fn + f−n + f2n + f−2n + . . .).
(7.36)
Zur weiteren Diskussion benutzen wir aus der komplexen Analysis den folgenden [Hen 91]
317
7.3 Transformationsmethoden
Satz 7.3. Sei f (z) τ -periodisch und analytisch im Streifen |Im(z)| < ω, 0 < ω < ∞, wobei der Rand des Streifens Singularit¨aten von f (z) enth¨alt. Dann klingen die FourierKoeffizienten fk (7.33) von f (z) ab wie eine geometrische Folge gem¨aß . / 2π |fk | = O e−|k|(ω−ε) τ , k → ∞, ε > 0. F¨ ur Funktionen f (x), welche die Voraussetzungen des Satzes 7.3 erf¨ ullen, folgt aus (7.36) wegen h = τ /n / . 2π |T (h) − I| = O e−(ω−ε) h ,
h > 0, ε > 0.
(7.37)
Somit nimmt der Fehler der Trapezsumme T (h) mit abnehmender Schrittl¨ange h exponentiell ab. F¨ ur hinreichend kleines h bewirkt die Halbierung der Schrittl¨ange etwa die Quadrierung des Fehlers. Die Anzahl der richtigen Dezimalstellen nimmt also etwa proportional zum geleisteten Rechenaufwand zu. Der Algorithmus (7.20) eignet sich gut zur gen¨ aherten Berechnung von solchen Integralen. Um dem Konvergenzverhalten Rechnung zu tragen, kann als Abbruchkriterium in (7.20) √ die Bedingung |T − M | < ε verwendet werden, falls die zuletzt berechnete Trapezsumme etwa den Fehler ε gegen¨ uber I aufweisen darf. Integrale der diskutierten Art treten in der Praxis recht h¨aufig auf. Zu nennen w¨aren beispielsweise die Berechnung der Oberfl¨ ache eines Ellipsoides, die Integraldarstellung der Bessel-Funktionen, die Berechnung der reellen Fourier-Koeffizienten und die Bestimmung von Mittelwerten und Perioden.
Beispiel 7.6. Der Umfang U einer Ellipse mit den Halbachsen A und B mit 0 < B < A ist gegeben durch U=
Z2πq
A2 sin2 ϕ + B 2 cos2 ϕ dϕ = 4A
0
√
A2
π/2 Z p
1 − e2 cos2 ϕ dϕ.
(7.38)
0
B 2 /A
− ihre Exzentrizit¨ at ist. Wir berechnen die Trapezsummen mit den Schrittl¨ anwo e := . gen h = 2π/n, (n = 8, 16, 24, . . . , 64) f¨ ur A = 1, B = 0.25 und damit e = 0.968246. In Tab. 7.2 sind die Ergebnisse zusammengestellt. Die q-Werte sind die Quotienten von aufeinander folgenden Fehlern. Zur besseren Illustration des Konvergenzverhaltens wurde die Zahl n der Teilintervalle in arithmetischer Folge mit der Differenz d = 8 erh¨ oht. Gem¨ aß (7.37) verhalten sich dann die Fehler etwa wie eine geometrische Folge √ mit dem Quotienten e−dω = e−8ω . Der Integrand (7.38) hat bei ϕ = ±iω mit cosh(ω) = 4/ 15 Verzweigungspunkte und ist damit nur analytisch im Streifen |Im(ϕ)| < 0.2554128. Nach Satz 7.3 . ¨ mit den festgestellten und (7.37) folgt daraus lim |qn | = e−8ω = 0.1296 in guter Ubereinstimmung n→∞
Quotienten in Tab. 7.2. Infolge des kleinen Wertes von ω f¨ ur das gew¨ ahlte Achsenverh¨ altnis ist die Konvergenz der Trapezsummen relativ langsam. F¨ ur ein Achsenverh¨ altnis A/B = 2 liefern bereits n = 32 Teilintervalle, d.h. acht Teilintervalle der Viertelperiode zehnstellige Genauigkeit. △
318
7 Numerische Integration
Tab. 7.2 Trapezsummen f¨ ur periodischen Integranden. n 8 16 24 32 40 48 56 64
7.3.2
T
„
2π n
«
qn
4.2533048630 4.2877583000 4.2891119296 4.2892026897 4.2892101345 4.2892108138 4.2892108800 4.2892108868
0.0405 0.0681 0.0828 0.0919 0.0980 0.1024 0.1057
Integrale u ¨ber
Ê
Den zweiten Spezialfall des Fehlergesetzes (7.24) erhalten wir f¨ ur uneigentliche Integrale der Form (∞ I= f (x) dx. (7.39) −∞
Dabei sei f (x) absolut integrierbar und auf der ganzen reellen Achse analytisch. Zudem soll f (k) (a) → 0 f¨ ur a → ±∞, k = 0, 1, 2, . . . , gelten. Der formale Grenz¨ ubergang a → −∞ und b → ∞ in (7.23) l¨ asst erwarten, dass die Trapezintegration (7.22) f¨ ur die Berechnung des Integrals (7.39) ebenfalls besonders gute Approximationen liefert. Dies ist in der Tat der Fall, denn das Fehlergesetz wird jetzt durch die Poissonsche Summenformel geliefert. Wir begn¨ ugen uns mit einer formalen Diskussion und verweisen f¨ ur eine strenge Behandlung auf [Hen 91]. Die zu (7.39) definierte Trapezsumme (7.21) ∞ f (jh + s) (7.40) T (h, s) := h j=−∞
ist als Funktion von s periodisch mit der Periode h und kann deshalb als Fourier-Reihe ∞ 2π (7.41) T (h, s) = tk eiks h k=−∞
mit den Fourier-Koeffizienten (h 2π 1 tk = T (h, s)e−iks h ds h
(7.42)
0
geschrieben werden. Einsetzen von (7.40) in (7.42) ergibt nach Vertauschung von Integration und Summation (∞ ∞ (h 2π −iks 2π h tk = ds = f (s)e−iks h ds. f (jh + s)e j=−∞ 0
−∞
319
7.3 Transformationsmethoden
F¨ uhren wir das Fourier-Integral (∞ f (s)e−ist ds g(t) :=
(7.43)
−∞
des Integranden f (s) ein, so erhalten wir aus (7.41) die Poissonsche Summenformel ∞ " 2π # isk 2π h T (h, s) = HW g k e , (7.44) h k=−∞
wobei HW f¨ ur den Hauptwert steht, der bei symmetrischer Bildung der unendlichen Summe resultiert. Nun ist speziell g(0) = I, und somit folgt aus (7.44) ⎧ ⎫ ⎨ " 2π # ⎬ 2π (7.45) T (h, s) − I = HW g k eisk h . ⎭ ⎩ h k=0
F¨ ur das Verhalten des Fehlers bei h → 0 ist das Verhalten des Fourier-Integrals (7.43) bei t → ∞ maßgebend. Dazu gilt Satz 7.4. Sei f (z) eine ¨ uber Ê integrierbare, im Streifen |Im(z)| < ω, 0 < ω < ∞, analytische Funktion, wobei der Rand des Streifens Singularit¨aten von f (z) enth¨alt. Dann gilt ur |t| → ∞ und jedes f¨ ur das Fourier-Integral (7.43) asymptotisch |g(t)| = O(e−|t|(ω−ε) ) f¨ ε > 0. Auf Grund von Satz 7.4 folgt aus (7.45) / . 2π |T (h, s) − I| = O e−(ω−ε) h ,
h > 0, ε > 0.
(7.46)
¨ In formaler Ubereinstimmung mit (7.37) ist der Fehler der Trapezsumme wiederum f¨ ur h → 0 exponentiell klein. Beispiel 7.7. F¨ur f (x) = e−x I=
Z∞
e−x
2
/2
dx =
2
√
/2
sind
. 2π = 2.50662827463,
g(t) =
√
2πe−t
2
/2
.
−∞
(7.47)
« 1 ,0 = 2 2.506628275. Da der Integrand sehr rasch abklingt, liefert die Summation im Intervall [−7, 7] schon zehnstellige Genauigkeit. are gem¨ aß (7.45) und (7.47) « Bei hinreichend hoher Rechengenauigkeit w¨ „ 1 −34 . △ , 0 betragsm¨ aßig kleiner als 3 · 10 der Fehler in T 2
Mit dem Verfahren (7.22) erhalten wir T (2, 0) = 2.542683044, T (1, 0) = 2.506628288, T
„
Die rasche Konvergenz von T (h, s) bez¨ uglich Verkleinerung von h besteht nach (7.46) auch in F¨allen von langsam abklingendem f (x). Allerdings wird dann die Berechnung von T (h, s) nach (7.22) sehr aufw¨ andig.
320
7 Numerische Integration
Beispiel 7.8. F¨ur die Funktion f (x) = 1/(1 + x2 ) ist das Fourier-Integral (7.43) g(t) = πe−|t| . Somit besitzen die Trapezsummen f¨ ur das uneigentliche Integral nach (7.44) die explizite Darstellung „ « ∞ X 2π 2π e−k h cos sk T (h, s) = π + 2π . h k=1
Aus berechnen sich die Werte T (2, 0) = 3.4253772, T (1, 0) = 3.1533481, « expliziten Formel „ « „ dieser 1 1 , 0 = 3.141614566, T , 0 = 3.141592654. Die rasche Konvergenz der Trapezsummen T 2 4 gegen den Wert I = π besteht auch hier, doch w¨ aren zur Berechnung von T (h, 0) nach (7.22) mit otig. △ derselben Genauigkeit rund 1010 Terme n¨
7.3.3
Variablensubstitution
Die klassische Technik der Variablensubstitution soll im folgenden dazu eingesetzt werden, das Integral (7.1) so zu transformieren, dass es mit einer schnell konvergenten Quadraturmethode ausgewertet werden kann. Wir definieren die Substitution durch x = ϕ(t),
ϕ′ (t) > 0,
(7.48)
wo ϕ(t) eine geeignet gew¨ ahlte, einfach berechenbare und streng monotone, analytische Funktion ist. Ihre Inverse bildet das Integrationsintervall [a, b] bijektiv auf das Intervall [α, β] mit ϕ(α) = a, ϕ(β) = b ab. Damit erhalten wir I=
(b
f (x) dx =
a
(β
F (t)dt
mit F (t) := f (ϕ(t))ϕ′ (t).
(7.49)
α
Hauptanwendungen der Variablensubstitution sind die Behandlung von Integralen mit singul¨ arem Integranden und von Integralen u ¨ber unbeschr¨ankte Intervalle mit schwach abklingenden Integranden. Die ersten Ans¨ atze dieser Methoden gehen zur¨ uck auf [Goo 49, Sag 64, Sch 69, Ste 73a, Tak 73]. Im Folgenden stellen wir einige der wichtigsten Substitutionen vor. a) Algebraische Substitution. Als Modell eines Integrals mit einer algebraischen Randsingularit¨ at betrachten wir (1 I = xp/q f (x) dx, q = 2, 3, . . . ; p > −q, p ∈ , (7.50) 0
wobei f (x) in [0, 1] analytisch sei. Die Bedingung f¨ ur p und q garantiert die Existenz von I. Die Variablensubstitution x = ϕ(t) = tq ,
ϕ′ (t) = qtq−1 > 0 in (0, 1)
f¨ uhrt (7.50) u ¨ ber in das Integral (1 I = q tp+q−1 f (tq )dt, 0
welches wegen p + q − 1 ≥ 0 existiert und keine Singularit¨at aufweist. Es kann mit dem Romberg-Verfahren oder der Gauß-Integration (vgl. Abschnitt 7.4) effizient ausgewertet
321
7.3 Transformationsmethoden
(
1
x3/2 dx von Beispiel 7.5 geht durch die Substitution x = t2 werden. Das Integral I = 0 ( 1 in das Integral I = 2 t4 dt mit polynomialem Integranden u ¨ ber, das auch numerisch 0
problemlos zu berechnen ist. b) tanh-Substitution. Sind integrierbare Singularit¨aten von unbekannter, eventuell von logarithmischer Natur an den beiden Intervallenden vorhanden, soll ϕ(t) in (7.48) so gew¨ahlt werden, dass das Integrationsintervall auf die ganze reelle Achse (α = −∞, β = ∞) abgebildet wird. Um exponentielles Abklingen des transformierten Integranden zu beg¨ unstigen, soll ϕ(t) asymptotisch exponentiell gegen die Grenzwerte a und b streben. F¨ ur das Integral (1 I = f (x) dx −1
erf¨ ullt beispielsweise die Substitution
1 cosh2 (t) die gestellten Bedingungen. Das transformierte Integral ist (∞ f (tanh(t)) I= . F (t)dt mit F (t) = cosh2 (t) x = ϕ(t) = tanh(t),
ϕ′ (t) =
(7.51)
(7.52)
−∞
Wegen des sehr rasch anwachsenden Nenners wird der Integrand F (t) f¨ ur t → ±∞ meistens exponentiell abklingen, so dass das Integral (7.52) mit der Trapezregel (7.22) effizient berechnet werden kann. Die numerische Auswertung von F (t) muss aber sehr sorgf¨altig erfolgen. Denn f¨ ur große Werte von |t| kann im Rahmen der Genauigkeit des Rechners tanh(t) = ±1 resultieren. Hat f (x) Randsingularit¨aten, k¨onnte F (t) f¨ ur große |t| aus diesem Grund nicht berechnet werden. Um diese numerische Schwierigkeit zu beheben, k¨onnen beispielsweise die Relationen tanh(t) = −1 + et / cosh(t) = −1 + ξ, t ≤ 0, tanh(t) = 1 − e−t / cosh(t) = 1 − η, t ≥ 0. zusammen mit lokal g¨ ultigen Entwicklungen f¨ ur f (−1 + ξ) und f (1 − η) verwendet werden. Eine weitere Schwierigkeit der tanh-Substitution besteht darin, dass sehr große Zahlen erzeugt werden, so dass sie auf Rechnern mit kleinem Exponentenbereich versagen kann. Durch die Substitution (7.51) wird nicht in jedem Fall garantiert, dass der transformierte Integrand F (t) beidseitig exponentiell abklingt. Ein Beispiel dazu ist x2 tanh2 (t) . mit F (t) = f (x) = 2 t2 (1 − x2 )Artanh (x) c) sinh-Substitution. Wir betrachten Integrale mit unbeschr¨anktem Integrationsintervall, die wegen zu langsamen Abklingens von f (x) die Berechnung von zu vielen Termen in der Trapezregel erfordern. In diesen F¨ allen eignet sich die Variablensubstitution x = ϕ(t) = sinh(t), (7.53) so dass wir (∞ (∞ f (x) dx = F (t)dt mit F (t) = f (sinh(t)) cosh(t) (7.54) I= −∞
−∞
erhalten. Nach einer endlichen Anzahl von sinh-Substitutionen nach (7.53) resultiert ein
322
7 Numerische Integration
beidseitig exponentiell abklingender Integrand, auf den die Trapezregel (7.22) effizient anwendbar ist. Meistens gen¨ ugt ein Substitutionsschritt. Nur in sehr speziellen F¨allen von integrierbaren Funktionen kann die gew¨ unschte Eigenschaft nicht mit einer endlichen Anzahl von sinh-Substitutionen erreicht werden [Sze 62].
Beispiel 7.9. Mit der sinh-Substitution ergibt sich f¨ur das Integral von Beispiel 7.8 I=
Z∞
dx = 1 + x2
−∞
Z∞
dt = π. cosh(t)
−∞
Die Trapezsummen sind T (2, 0)
T (1, 0)
T (1/2, 0)
T (1/4, 0)
3.232618532
3.142242660
3.141592687
3.141592654
Um die Trapezsummen mit zehnstelliger Genauigkeit zu erhalten, sind nur Werte |t| ≤ 23 zu ber¨ ucksichtigen. Die Trapezsumme T (1/2, 0) ist bereits eine in acht Stellen genaue N¨ aherung f¨ ur I, und T (1/4, 0) w¨ are bei hinreichend genauer Rechnung sogar in sechzehn Stellen genau. △
d) exp-Substitution. Integrale mit halbunendlichen Intervallen (a, ∞) lassen sich vermittels der einfachen Substitution x = ϕ(t) = a + et u uhren in ¨ berf¨ (∞ (∞ I = f (x) dx = f (a + et )et dt. a
−∞
Ein Nachteil der Substitutionsmethode mag sein, dass ein Quadraturverfahren erst angewendet werden kann, nachdem von Hand Umformungen ausgef¨ uhrt worden sind. Wir zeigen nun, dass bei gegebener Abbildung x = ϕ(t) die Substitution rein numerisch, d.h. mit Werten von ϕ(t) und ϕ′ (t) ausgef¨ uhrt werden kann. Zu diesem Zweck nehmen wir an, dass die gen¨aherte Berechnung des transformierten Integrals (7.49) mit einer n-Punkte-Quadraturformel (7.1) mit Knoten tj , Gewichten vj und Restglied Rn+1 erfolgt. (β n I = F (t)dt = vj F (tj ) + Rn+1 (7.55) α
j=1
Auf Grund der Definition von F (t) in (7.49) l¨ asst sich (7.55) auch als Quadraturformel f¨ ur das urspr¨ ungliche Integral interpretieren mit Knoten xj und Gewichten wj , n¨amlich n ˜ wj f (xj ), xj := ϕ(tj ), wj := vj ϕ′ (tj ), j = 1, 2, . . . , n. (7.56) I= j=1
Am einfachsten ist es, die Werte von xj und wj direkt zu berechnen, wenn sie gebraucht werden. Dies ist wegen der Wahl von ϕ(t) als einfache Funktion meistens sehr effizient m¨ oglich. Um die Rechnung noch effizienter zu gestalten, kann aber auch eine Tabelle xj und wj bereitgestellt werden, auf die bei der Anwendung der Quadraturformel (7.56) zugegriffen wird. Weitere und insbesondere speziellere Realisierungen dieser Idee findet man in [Iri 70, Mor 78, Tak 74].
323
7.4 Gauß-Integration
7.4
Gauß-Integration
Bei den bisher betrachteten Quadraturformeln sind wir stets von vorgegebenen (meistens aquidistanten) St¨ utzstellen ausgegangen. Ein Ansatz, der auf Gauß zur¨ uckgeht, benutzt ¨ sowohl die Integrationsgewichte als auch die St¨ utzstellen zur Konstruktion der Quadraturformel und u ur glatte Funktionen noch den hohen Genauigkeitsgrad der ¨bertrifft damit f¨ Romberg-Integration. In seiner allgemeinen Formulierung erlaubt er dar¨ uberhinaus die Entwicklung von Quadraturformeln f¨ ur spezielle Klassen von Integranden. Wir beschr¨anken uns zun¨achst auf das Intervall [−1, 1]. Diese Festlegung geschieht wegen gewisser Eigenschaften der Legendre-Polynome, die hier ausgenutzt werden. Jedes endliche Intervall [a, b] l¨asst sich mit Hilfe einer linearen Transformation auf das Intervall [−1, 1] transformieren, sodass die Entwicklung der Quadraturformeln f¨ ur [−1, 1] keine Einschr¨ankung darstellt. Bestimme f¨ ur die numerische Integrationsformel ( 1 n wi f (xi ) + En [f ] = Qn + En [f ], f (x) dx = −1
i=1
xi ∈ [−1, 1]
(7.57)
die Integrationsgewichte wi und die St¨ utzstellen xi so, dass ein Polynom m¨oglichst hohen Grades exakt integriert wird. Die Newton-Cotes-Formeln integrieren bei n St¨ utzstellen ein Polynom (n − 1)-ten H¨ochstgrades exakt; die Gauß-Integration schafft das bis zum Polynomgrad 2n − 1. Beispiel 7.10. : Z
n=2
1 −1
f (x) dx ≈
2 X
wi f (xi ).
(7.58)
i=1
ur Zur Konstruktion dieser Gauß-Formel m¨ ussen x1 , x2 , w1 und w2 so bestimmt werden, dass f¨ jedes Polynom 3. Grades p(x) Z 1 Z 1 p(x) dx = (a0 + a1 x + a2 x2 + a3 x3 ) dx = w1 p(x1 ) + w2 p(x2 ) (7.59) −1
−1
gilt. Integration und Koeffizientenvergleich ergeben w1 = 1, w2 = 1, 1 −1 x2 = √ . x1 = √ , 3 3 Das ergibt die Quadraturformel Z 1 1 −1 f (x) dx ≈ f ( √ ) + f ( √ ). 3 3 −1
Diese Formel l¨ asst sich leicht auf ein allgemeines Intervall transformieren: Z b b−a f (x) dx ≈ (f (u1 ) + f (u2 )) mit 2 a a+b b−a ui = + xi , i = 1, 2. 2 2
(7.60)
(7.61) △
324
7 Numerische Integration
Satz 7.5. Der Genauigkeitsgrad einer Quadraturformel (7.57) mit n Knoten ist h¨ochstens (2n − 1). Beweis. Wir betrachten das Polynom vom Grad 2n
q(x) :=
n
k=1
(x − xk )2 ,
welches mit den n paarweise verschiedenen Integrationsst¨ utzstellen der Quadraturformel gebildet wird. F¨ ur das nicht identisch verschwindende Polynom gilt q(x) ≥ 0 f¨ ur alle x ∈ [−1, 1], und folglich ist
I=
(1
q(x) dx > 0.
−1
Die Quadraturformel (7.57) ergibt jedoch wegen q(xk ) = 0, k = 1, 2, . . . , n, den Wert Q = 0, d.h. es ist E[q] = 0, und ihr Genauigkeitsgrad muss kleiner als 2n sein. Satz 7.6. Es existiert genau eine Quadraturformel n Q= wk f (xk ), xk ∈ [−1, 1],
(7.75)
#2 (1 n " x − xj dx > 0, wk = xk − xj j=1
(7.76)
k=1
mit n Integrationsst¨ utzstellen xk , die den maximalen Genauigkeitsgrad (2n − 1) besitzt. Die St¨ utzstellen xk sind die Nullstellen des n-ten Legendre-Polynoms Pn (x) (3.233), und die Integrationsgewichte sind gegeben durch k = 1, 2, . . . , n.
−1 j =k
Beweis. Die verschiedenen Aussagen beweisen wir in drei Teilen. a) Zuerst befassen wir uns mit der Existenz einer Quadraturformel vom Genauigkeitsgrad (2n − 1). Zu diesem Zweck benutzen wir die Tatsache, dass das Legendre-Polynom Pn (x) nach Satz 3.39 n einfache Nullstellen x1 , x2 , . . . , xn im Innern des Intervalls [−1, 1] besitzt. Zu diesen n paarweise verschiedenen St¨ utzstellen existiert nach Satz 7.2 eine eindeutig bestimmte Newton-Cotes-Formel, deren Genauigkeitsgrad mindestens gleich (n − 1) ist.
Es sei p(x) ein beliebiges Polynom, dessen Grad h¨ochstens gleich (2n−1) ist. Wird p(x) durch das n-te Legendre-Polynom Pn (x) dividiert mit Rest, so erhalten wir folgende Darstellung p(x) = q(x)Pn (x) + r(x)
(7.77)
325
7.4 Gauß-Integration
mit Grad (q(x)) ≤ n − 1 und Grad (r(x)) ≤ n − 1. Damit ergibt sich (1
p(x) dx =
(1
q(x)Pn (x) dx +
r(x) dx =
(1
r(x) dx,
(7.78)
−1
−1
−1
−1
(1
da ja das Legendre-Polynom Pn (x) auf Grund der Orthogonalit¨atseigenschaften (3.234) zu allen Legendre-Polynomen kleineren Grades P0 (x), P1 (x), . . ., Pn−1 (x) und folglich zu q(x) orthogonal ist. F¨ ur die Newton-Cotes-Formel zu den St¨ utzstellen xk mit den zugeh¨origen Gewichten wk gilt f¨ ur das Polynom p(x) wegen (7.77), wegen Pn (xk ) = 0 und gem¨aß (7.78) n
wk p(xk )
=
k=1
=
n
wk q(xk )Pn (xk ) +
k=1 (1
r(x) dx =
−1
n
k=1
(1
wk r(xk ) =
n
wk r(xk )
k=1
p(x) dx.
(7.79)
−1
Die zweitletzte Gleichung in (7.79) beruht auf der Tatsache, dass die Newton-Cotes-Formel mindestens den Genauigkeitsgrad (n − 1) besitzt. Somit ist gezeigt, dass die Quadraturformel (7.75) f¨ ur jedes Polynom vom Grad kleiner 2n exakt ist. Wegen Satz 7.5 ist der Genauigkeitsgrad maximal. b) Die Integrationsgewichte wk der Newton-Cotes-Formel sind wegen des gegen¨ uber (7.3) leicht ge¨ anderten Ansatzes gegeben durch
wk =
(1
−1
# (1 n " x − xj dx, Lk (x) dx = xk − xj j=1
k = 1, 2, . . . , n,
(7.80)
−1 j =k
wo Lk (x) das Lagrange-Polynom zu den St¨ utzstellen x1 , . . ., xn mit Lk (xj ) = δkj vom Grad (n − 1) darstellt. Diese Darstellung f¨ uhrt nicht weiter. Deshalb nutzen wir die bereits bewiesene Tatsache aus, dass die zu den St¨ utzstellen xk geh¨orige Newton-Cotes-Formel den Genauigkeitsgrad (2n − 1) besitzt, und deshalb f¨ ur das Polynom L2k (x) vom Grad (2n − 2) den exakten Wert liefert. Folglich gilt f¨ ur k = 1, 2, . . ., n
0<
(1
−1
L2k (x) dx
#2 (1 n n " x − xj = dx = wµ L2k (xµ ) = wk . x − x k j j=1 µ=1
(7.81)
−1 j =k
Damit ist (7.76) bewiesen. Insbesondere folgt aus dieser Darstellung, dass die Gewichte wk f¨ ur jedes n ∈ ∗ positiv sind.
326
7 Numerische Integration
c) Um die Eindeutigkeit der Quadraturformel zu beweisen, nehmen wir an, es existiere eine weitere Formel Q∗ :=
n
wk∗ f (x∗k ),
k=1
x∗k = x∗j f¨ ur alle k = j,
(7.82)
deren Genauigkeitsgrad ebenfalls gleich (2n−1) ist. Auf Grund der Betrachtungen im Teil b) gilt auch f¨ ur (7.82), dass die Gewichte wk∗ > 0, k = 1, 2, . . . , n, sind. Wir wollen zeigen, dass die Integrationsst¨ utzstellen x∗k unter den genannten Bedingungen bis auf eine Permutation mit den xk von (7.75) u ¨ bereinstimmen. Dazu betrachten wir das Hilfspolynom n x − x∗j ∗ ∗ , Grad(h(x)) = 2n − 1. h(x) := Lk (x)Pn (x), Lk (x) := x∗k − x∗j j=1 j =k
Wegen unserer Annahme liefert die Quadraturformel (7.82) den exakten Wert des Integrals f¨ ur h(x), und somit gilt f¨ ur k = 1, 2, . . . , n 0=
(1
h(x) dx =
(1
L∗k (x)Pn (x) dx
n
wµ∗ L∗k (x∗µ )Pn (x∗µ )
µ=1
−1
−1
= =
wk∗ Pn (x∗k ),
(7.83)
denn das zweite Integral ist infolge der Orthogonalit¨at von Pn (x) zu allen Polynomen vom Grad kleiner als n gleich null. Da aber wk∗ > 0 ist, muss Pn (x∗k ) = 0, k = 1, 2, . . . , n, gelten, d.h. die Integrationsst¨ utzstellen x∗k von (7.82) m¨ ussen notwendigerweise die Nullstellen des ur die zugeh¨orige n-ten Legendre-Polynoms Pn (x) sein. Sie sind damit eindeutig festgelegt. F¨ Quadraturformel sind auch die Gewichte durch (7.80) eindeutig bestimmt. Die nach Satz 7.6 charakterisierten Integrationsmethoden mit maximalem Genauigkeitsgrad heißen Gaußsche Quadraturformeln. F¨ ur ihre hohe Genauigkeit muss man zwei Nachteile in Kauf nehmen: • Die Bestimmung der Koeffizienten und St¨ utzstellen h¨angt vom Integrationsintervall ab. • Es ergeben sich f¨ ur jedes n andere Koeffizienten und St¨ utzstellen.
Der erste Nachteil l¨asst sich leicht durch die lineare Transformation a+b b−a x+ t= 2 2 ausr¨ aumen. Es ist # (1 " (b b−a a+b b−a x+ f I = f (t)dt = dx, 2 2 2 a
(7.84)
−1
und die Quadraturformel erh¨ alt damit die Gestalt " # n b−a a+b b−a xk + wk f . Q= 2 2 2 k=1
(7.85)
327
7.4 Gauß-Integration
Die Rechenschritte fassen wir im Algorithmus Tab. 7.3 zusammen. Tab. 7.3 Gauß-Legendre-Integration u ¨ ber das Intervall [a, b] .
(1) St¨ utzstellen-Transformation F¨ ur i = 1, · · · , n a+b b−a ti = + xi 2 2 (2) Transformiertes Integral n Iˆ := wi f (ti ) i=1
(3) Transformation auf [−1, 1] b−a I˜ = Iˆ 2
Der zweite Nachteil wiegt schwerer. Zur rechnerischen Anwendung der Gaußschen Quadraturformeln werden die f¨ ur jedes n unterschiedlichen St¨ utzstellen xk und Gewichte wk als Zahlen in ausreichender Genauigkeit (meist 15 Dezimalstellen) ben¨otigt. Um die Genauigkeit u onnen, m¨ ussen also sehr viele Zahlen verwaltet oder jeweils ¨ ber n steuern zu k¨ neu berechnet werden werden. Sie sind in einschl¨agigen Tabellen oder Programmbibliotheken enthalten. Nun kann zun¨ achst ber¨ ucksichtigt werden, dass die von null verschiedenen St¨ utzstellen xk paarweise symmetrisch zum Nullpunkt liegen. Wegen (7.76) sind die Gewichte f¨ ur diese Paare gleich. Deshalb gen¨ ugt die Angabe der nichtnegativen Knoten xk und ihrer Gewichte wk . In der Regel werden die St¨ utzstellen xk in absteigender Reihenfolge 1 > x1 > x2 > . . . tabelliert [Abr 71, Sch 76, Str 74, Str 66]. Wir wollen aber hier noch eine numerisch stabile Methode darstellen, um die Nullstellen xk des n-ten Legendre-Polynoms und die Integrationsgewichte wk zu berechnen [Gau 70, Gol 69]. Als Grundlage dient der Satz 7.7. Das n-te Legendre-Polynom nung a x b 1 1 b a2 x b2 1 b2 a3 x Pn (x) = .. .. . . b n−2
Pn (x), n ≥ 1 ist gleich der Determinante n-ter Ord-
b3 ..
. an−1 x bn−1
, bn−1 an x
2k − 1 , k : k , bk = k+1 n = 1, 2, 3, . . . .
ak =
(7.86)
Beweis. Wir zeigen, dass die Determinanten f¨ ur drei aufeinanderfolgende Werte von n die Rekursionsformel (3.239) der Legendre-Polynome erf¨ ullen. Dazu wird die Determinante
328
7 Numerische Integration
(7.86) nach der letzten Zeile entwickelt und wir erhalten Pn (x) = an xPn−1 (x) − b2n−1 Pn−2 (x),
n ≥ 3.
(7.87)
Ersetzen wir darin n durch (n + 1) und beachten die Definition der ak und bk , folgt in der Tat die bekannte Rekursionsformel (3.239), die mit P0 (x) = 1 auch f¨ ur n = 1 gilt. Nach Satz 7.6 sind die xk die Nullstellen der Determinante (7.86). Diese k¨onnen als Eigenwerte einer symmetrischen, tridiagonalen Matrix J n erhalten werden. Um dies einzusehen, eliminieren wir die verschiedenen Koeffizienten ai in der Diagonale derart, dass die Symmetrie 0 der Determinante erhalten bleibt. Dazu werden die k-te Zeile und Spalte durch √ ak = (2k − 1)/k dividiert, und aus (7.86) folgt x β 1 β x β2 1 β2 x β3 n · Pn (x) = ak . (7.88) .. .. .. . . . k=1 βn−2 x βn−1 βn−1 x Die Nebendiagonalelemente in (7.88) sind f¨ ur k = 1, 2, . . ., n − 1 9 k k · k · (k + 1) bk = √ = . βk = √ ak ak+1 (k + 1)(2k − 1)(2k + 1) 4k 2 − 1
(7.89)
Da die Nullstellen xk = 0 von Pn (x) paarweise entgegengesetztes Vorzeichen haben, sind sie die Eigenwerte der symmetrischen, tridiagonalen Matrix ⎛ ⎞ 0 β1 ⎜ β 0 ⎟ β2 ⎜ 1 ⎟ ⎜ ⎟ β2 0 β3 ⎜ ⎟ ⎜ ⎟ ∈ Ên,n , (7.90) Jn = ⎜ .. .. .. ⎟ . . . ⎜ ⎟ ⎜ ⎟ ⎝ βn−2 0 βn−1 ⎠ βn−1 0
die mit dem QR-Algorithmus (vgl. Abschnitt 5.5) stabil und effizient berechnet werden k¨ onnen. Aber auch die Integrationsgewichte wk lassen sich mit Hilfe der Eigenwertaufgabe f¨ ur J n berechnen. Um diese Verbindung herzustellen, verifizieren wir, dass √ √ √ √ z (k) := (α0 a1 P0 (xk ), α1 a2 P1 (xk ), α2 a3 P2 (xk ), . . . , αn−1 an Pn−1 (xk ))T ∈ Ên ; j mit α0 := 1, αj := 1 bl , j = 1, 2, . . . , n − 1, (7.91) l=1
f¨ ur k = 1, 2, . . . , n Eigenvektor von J n zum Eigenwert xk ist. F¨ ur die erste Komponente von J n z (k) gilt wegen (7.86), (7.89) und (7.91) √ √ α1 β1 a2 P1 (xk ) = xk = xk {α0 a1 P0 (xk )}.
329
7.4 Gauß-Integration
F¨ ur die i-te Komponente, 1 < i < n, erhalten wir nach mehreren Substitutionen und wegen (7.87) √ √ αi−2 βi−1 ai−1 Pi−2 (xk ) + αi βi ai+1 Pi (xk ) √ αi−1 = √ {Pi (xk ) + b2i−1 Pi−2 (xk )} = xk {αi−1 ai Pi−1 (xk )}. ai Diese Beziehung bleibt auch f¨ ur die letzte Komponente mit i = n wegen Pn (xk ) = 0 g¨ ultig. Weiter benutzen wir die Tatsachen, dass die Legendre-Polynome P0 (x), P1 (x), . . ., Pn−1 (x) durch die Gaußsche Quadratformel exakt integriert werden und dass die Orthogonalit¨atseigenschaft (3.234) gilt. (1 (1 Pi (x) dx P0 (x)Pi (x) dx = −1
=
−1 n
wk Pi (xk ) =
k=1
2 f¨ ur i = 0, 0 f¨ ur i = 1, 2, . . . , n − 1.
(7.92)
Die Gewichte wk erf¨ ullen somit das Gleichungssystem (7.92). Wenn wir die erste Gleichung √ √ mit α0 a1 = 1, und die j-te Gleichung, j = 2, 3, . . . , n, mit αj−1 aj = 0 multiplizieren, dann enth¨ alt die Matrix C des resultierenden Systems Cw = 2e1 ,
w := (w1 , w2 , . . . , wn )T ,
e1 = (1, 0, 0, . . . , 0)T
(7.93)
(k)
als Spalten die Eigenvektoren z (7.91). Als Eigenvektoren der symmetrischen Matrix J n zu paarweise verschiedenen Eigenwerten sind sie paarweise orthogonal. Multiplizieren wir T (7.93) von links mit z (k) , so ergibt sich T
T
(k)
(z (k) z (k) )wk = 2z (k) e1 = 2z1
= 2,
(k) z1
= 1 die erste Komponente des nicht normierten Eigenvektors z wo ˜ (k) folgt aus (7.94) dem normierten Eigenvektor z (k)
wk = 2(˜ z1 )2 ,
(7.94) (k)
(7.91) ist. Mit
k = 1, 2, . . . , n.
(7.95)
Aus (7.94) oder (7.95) folgt wiederum, dass die Gewichte wk der Gaußschen Quadraturformel f¨ ur alle n ∈ ∗ positiv sind. In Tab. 7.4 sind f¨ ur n = 1, 2, 3, 4, 5 die St¨ utzstellen und Gewichte angegeben.
Beispiel 7.11. Um den hohen Genauigkeitsgrad der Gaußschen Quadraturformel darzulegen, berechnen wir I1 =
Z1 0
4 dx = π, 1 + x2
π/2 Z π x cos(x) dx = − 1 I2 = 2 0
f¨ ur einige Werte von n. In Tab. 7.5 sind die Ergebnisse mit den Quadraturfehlern zusammengestellt. Die Rechnung erfolgte vierzehnstellig mit entsprechend genauen Knoten xk und Gewichten wk . △
Beispiel 7.12. Wir wollen Beispiel 7.2 aufgreifen, mit der Gauß-Legendre-Regel zwei N¨aherungen f¨ ur das Integral berechnen und dann in einer Tabelle die Integrationsregeln vergleichen, die wir
330
7 Numerische Integration
Tab. 7.4 Knoten und Gewichte der Gaußschen Integration. n=2
. x1 = 0.57735026918963,
w1 = 1
n=3
. x1 = 0.77459666924148, x2 = 0,
. w1 = 0.55555555555556 . w2 = 0.88888888888889
n=4
. x1 = 0.86113631159405, . x2 = 0.33998104358486,
. w1 = 0.34785484513745 . w2 = 0.65214515486255
. x1 = 0.90617984593866, . x2 = 0.53846931010568,
. w1 = 0.23692688505619 . w2 = 0.47862867049937 . w3 = 0.56888888888889
n=5
x3 = 0, Tab. 7.5 Gauß-Integration. I1
I2
n
Qn
En
Qn
En
2 3 4 5
3.1475409836 3.1410681400 3.1416119052 3.1415926399
−0.0059483300 0.0005245136 −0.0000192517 0.0000000138
0.563562244208 0.570851127976 0.570796127158 0.570796327221
0.007234082587 −0.000054801181 0.000000199637 −0.000000000426
bisher kennengelernt haben. Wir benutzen bei jeder Regel 3 bzw. 5 Funktionsauswertungen. Damit kommen wir zu den Ergebnissen in Tab. 7.6: Tab. 7.6 Vergleich der Integrationsregeln. Anz.Fktsausw. 3 5
Trapez
Simpson
Romberg
Gauß-Legendre
0.72473 0.925565
0.90439 0.992511
0.90439 0.998386
1.001545 0.99999986
Da der exakte Integralwert 1.0 ist, haben wir auf die Angabe des jeweiligen Fehlers verzichtet. Die ¨ Uberlegenheit der Gauß-Integration ist un¨ ubersehbar. △
Eine leichte Verallgemeinerung der Problemstellung macht aus der Gauß-Integration ein m¨ achtiges Instrument zur Integration auch schwieriger Integranden, z.B. mit speziellen Singularit¨ aten oder u ¨ ber unendliche Intervalle. Es wird eine Gewichtsfunktion in das Integral eingef¨ uhrt. Das ergibt die Problemstellung: Gegeben: Ein Intervall [a, b] und eine Gewichtsfunktion ω. utzstellen xk , k = 1, · · · , n, so, dass die QuadraBestimme: Integrationsgewichte wk und St¨ turformel ( b n wk f (xk ) f¨ ur f (x)ω(x) dx (7.96) k=1
a
331
7.4 Gauß-Integration
den Genauigkeitsgrad 2n − 1 hat.
Wenn die Legendre-Polynome durch ein dem Intervall [a, b] und der Gewichtsfunktion ω(x) zugeordnetes orthogonales Polynomsystem ersetzt werden, dann gilt die Aussage von Satz 7.6, dass eine eindeutige Quadraturformel existiert, und dass die Integrationsst¨ utzstellen die Nullstellen des n-ten orthogonalen Polynoms sind. Die Gewichte wk sind L¨osungen eines linearen Gleichungssystem, etwa wie in der Konstruktion von Satz 7.7. Die vielen m¨oglichen Integrationsregeln erhalten einen Doppelnamen wie “Gauß-Laguerre-Integration”, dessen zweiter Teil auf den Namen des entsprechenden orthogonalen Polynomsystems hinweist. Die wichtigsten Systeme sind in Tab. 7.7 enthalten, Tab. 7.7 Orthogonale Polynomsysteme. Polynomsystem
Gewichtsfunktion ω(x)
Norm-Intervall
1 (1 − x2 )−1/2 (1 − x2 )1/2 e−x 2 e−x
[−1, 1] [−1, 1] [−1, 1] [0, ∞] [−∞, ∞]
Legendre: Pn Tschebyscheff 1. Art : Tn Tschebyscheff 2. Art : Un Laguerre: Ln Hermite: Hn
R1
x3/2 dx = 0.4 auf, bei dem die zweite Ableitung des Integranden im Nullpunkt singul¨ ar wird. Auch die Qualit¨ at der Gauß-LegendreQuadratur l¨ asst bei Integranden mit Singularit¨ aten nach. Sie liefert aber immer noch bessere Werte als die bisher kennen gelernten Verfahren. Die Genauigkeit k¨ onnte durch eine spezielle Regel mit einer Gewichtsfunktion ω(x) verbessert werden, die die Singularit¨ at enth¨ alt, sodass f (x) eine glatte Funktion ohne Singularit¨ at ist. Darauf wollen wir verzichten. Wir vergleichen wieder Trapez-, Simpson- und Gauß-Legendre-Quadratur f¨ ur drei und f¨ unf Funktionsauswertungen.
Beispiel 7.13. Wir greifen noch einmal Beispiel 7.5: I =
0
Tab. 7.8 Vergleich der Integrationsregeln bei singul¨ arer zweiter Ableitung. Anz.Fktsausw. 3 5
Trapez
Simpson
Gauß-Legendre
0.42677670 0.40701811
0.40236893 0.40043191
0.39981241 0.39998245
Der Fehler der Gauß-Legendre-Quadratur ist um den Faktor 12 bzw. 24 kleiner als der der SimpsonRegel, deren Genauigkeit durch die Romberg-Quadratur nicht wesentlich gesteigert werden kann, wie Beispiel 7.5 gezeigt hat. △
7.4.1
Eingebettete Gauß-Regeln
Ein Nachteil der Gauß-Integration sind die unterschiedlichen St¨ utzstellen f¨ ur jedes n. F¨ ur gewisse feste Folgen von Werten von n gelingt es aber, unter geringem Genauigkeitsverlust eingebettete Datens¨ atze zu bekommen. Solche Folgen von Integrationsregeln werden auch optimal genannt.
332
7 Numerische Integration
Hier ist zun¨ achst die Gauß-Kronrod-Quadratur zu erw¨ahnen: Ausgehend von gewissen nPunkte-Gauß-Formeln ist es Kronrod gelungen, optimale 2n + 1-Punkte-Formeln durch Hinzuf¨ ugen von n + 1 Punkten zu konstruieren: I˜1 :=
n i=1
wi f (xi ) −→ I˜2 := I˜1 +
n+1
vj f (yj ).
(7.97)
j=1
Die kombinierte Regel integriert Polynome bis zum Grad 3n + 1 exakt statt 4n + 1 f¨ ur eine unabh¨ angige 2n + 1-Punkte-Formel. Einzelheiten zu diesen Algorithmen und die St¨ utzwerte und Koeffizienten f¨ ur die Regelpaare mit n = 7, 10, 15, 20, 25 und 30 kann man in [Pie 83] finden. Die Originalarbeit von Kronrod [Kro 66] geht auf theoretische Untersuchungen von Szeg¨ o zur¨ uck. Patterson, [Pat 69], hat eine Folge von eingebetteten Gauß-Legendre-Regeln mit (1, 3, 7, 15, 31, 63, 127, 255, 511) Punkten angegeben. Sie integrieren Polynome bis zum Grad (1, 5, 11, 23, 47, 95, 191, 383, 767) exakt. In Beispiel 7.15 werden beide Methoden adaptiv angewendet.
7.5
Adaptive Integration
Softwaresysteme m¨ ussen Quadraturformeln enthalten, die sich mit Hilfe einer Genauigkeitskontrolle selbst steuern. Dabei muss die starre Aufteilung des Integrationsintervalls [a, b] in ¨aquidistante Teilintervalle wie bei der Romberg-Quadratur ebenso aufgegeben werden wie die Anwendung immer genauerer Regeln auf das ganze Intervall wie bei der GaußQuadratur. Vielmehr wird das Intervall [a, b] auf Grund von bestimmten Kriterien adaptiv (angepasst) in Teilintervalle aufgeteilt. Ein Integral u ¨ ber ein kurzes Intervall kann ohnehin genauer und schneller berechnet werden als ein entsprechendes Integral u ¨ ber ein langes Intervall. Deshalb ist es immer vorteilhaft, vor der Anwendung einer Quadraturformel das Integrationsintervall [a, b] geeignet zu unterteilen und dann die Teilintegrale aufzusummieren. Adaptive Verfahren unterteilen [a, b] fortgesetzt solange, bis in jedem Teilintervall mit der zu Grunde gelegten Quadraturformel die geforderte Genauigkeit erreicht wird. Dabei wird die Unterteilung automatisch dort feiner, wo f (x) stark variiert, und gr¨ober in Intervallen geringer Variation, wie in den Beispielen 7.14 und 7.15 unten gut zu sehen ist. Die Entscheidung, ob ein Teilintervall weiter unterteilt werden soll, erfolgt auf Grund des ur dasselbe Teilintegral. Vergleichs von zwei verschiedenen N¨ aherungswerten I˜1 und I˜2 f¨ Um das Prinzip darzulegen, verwenden wir als N¨aherung I˜1 den Trapezwert f¨ ur das Teilintervall [aj , bj ] 1 I˜1 = hj [f (aj ) + f (bj )], hj := bj − aj . 2 F¨ ur I˜2 wird der Simpson-Wert 1 1 I˜2 = [I˜1 + 2hj f (mj )], mj := (aj + bj ), 3 2 unter Verwendung der schon berechneten Trapezformel I˜1 berechnet.
7.5 Adaptive Integration
333
Der Abbruch f¨ ur die lokale Intervallhalbierung kann u ur ¨ber zwei Genauigkeitsschranken ε f¨ die absolute und δ f¨ ur die relative Genauigkeit gesteuert werden. Sei IS > 0 eine grobe Sch¨ atzung f¨ ur den Absolutbetrag des zu berechnenden Integralwertes. Dann wird die lokale Intervallhalbierung abgebrochen, falls (7.98) |I˜1 − I˜2 | ≤ max(ε, δIS ),
d.h. wenn die relative oder die absolute Genauigkeitsforderung sch¨atzungsweise erf¨ ullt ist. Meistens wird (7.98) durch eine Abfrage ersetzt, die die aktuelle Intervallbreite in der Weise ber¨ ucksichtigt, dass die Abfragesumme die geforderte Toleranz ergibt, also b j − aj max(ε, δIS ), (7.99) |I˜1 − I˜2 | ≤ b−a Gander schl¨ agt in [Gan 92] eine Genauigkeitssteuerung vor, die die Maschinengenauigkeit τ mit ber¨ ucksichtigt. Soll ein N¨ aherungswert f¨ ur I = 0 nur mit der relativen Genauigkeit δ > 0 bestimmt werden, dann erreicht man dies dadurch, dass f¨ ur einen groben Sch¨atzwert IS ein Steuerungswert Iδ := δIS /τ gesetzt wird. Die lokale Intervallhalbierung wird abgebrochen, wenn in Maschinenarithmetik I˜1 + Iδ = I˜2 + Iδ (7.100) gilt. Die eleganteste und kompakteste algorithmische Beschreibung der adaptiven Quadratur ergibt sich vermittels rekursiver Definition eines Unterprogramms [Gan 92]. Wenn wir von dieser M¨ oglichkeit absehen, dann erfordert die algorithmische Realisierung die Abspeicheorigen Funktionswerte fj = f (aj ) als Vektoren, um rung der Teilpunkte aj und der zugeh¨ sie wiederverwenden zu k¨ onnen. Zudem wird die Information u ¨ber die Teilintervalle, u ¨ ber welche die Integrale noch zu berechnen sind, ben¨otigt. Dazu wird im Algorithmus Tab. 7.9 ein Indexvektor u verwendet, welcher die Indizes p der laufend generierten Teilpunkte ap enth¨ alt, mit denen die Integrationsintervalle erkl¨art werden k¨onnen. Die Zahl der Komponenten des Vektors u variiert im Verlauf des Algorithmus Tab. 7.9, w¨ahrend jene der Vektoren a und f monoton zunimmt. Tab. 7.9 Algorithmus zur adaptiven Trapez-Simpson-Quadratur.
Start: HALB:
a0 = a; a1 = b; f0 = f (a); f1 = f (b); I = 0 j = 0; k = 1; p = 1; l = 1; u1 = 1 h = ak − aj ; m = (aj + ak )/2; f m = f (m) I1 = h × (fj + fk )/2; I2 = (I1 + 2 × h × f m)/3 falls Iδ + I1 = Iδ + I2 : p = p + 1; ap = m; fp = f m; k = p l = l + 1; ul = p; gehe nach HALB sonst I = I + I2; j = ul ; l = l − 1; k = ul falls l < 0 : gehe nach HALB
(7.101)
334
7 Numerische Integration
Beispiel 7.14. Das singul¨are Integral von Beispiel 7.5 wird mit dem Algorithmus Tab. 7.9 be. handelt. Mit dem Steuerungswert Iδ = 0.5 δ/τ und der Maschinengenauigkeit τ = 2.22 · 10−16 erh¨ alt man die Resultate der Tab. 7.10. N ist die Anzahl der Auswertungen des Integranden. F¨ ur δ = 10−5 sind auch die Teilintervallgrenzen in Tab. 7.10 zu sehen. Der Einfluss der Singularit¨ at links ist deutlich zu erkennen. △ Tab. 7.10 Adaptive Quadratur mit Intervalleinteilung f¨ ur δ = 10−5 .
δ= I˜ = N=
10−3
10−4
10−5
10−6
10−7
0.4000002562 0.4000000357 0.4000000167 0.4000000025 0.4000000001 25
69
125
263
651
Adaptive Methoden zeichnen sich dadurch aus, dass sie f¨ ur fast beliebige Integranden, die beispielsweise nur st¨ uckweise stetig oder sogar unbeschr¨ankt sind, annehmbare Integralwerte liefern. Die adaptive Quadratur ist nat¨ urlich effizienter, falls Quadraturformeln mit h¨oheren Fehlerordnungen kombiniert werden wie etwa die eingebetteten Gauß-Regeln aus Abschnitt 7.4.1, die in Beispiel 7.15 verwendet werden. Dabei wird in Kauf genommen, dass die Anzahl der Funktionsauswertungen meist recht hoch ist. Wir wollen an einem weiteren Beispiel die adaptive Anwendung des Kronrod-Paares (10,21) demonstrieren und mit der globalen Steuerung des Patterson-Verfahrens ohne adaptive Unterteilung des Intervalls vergleichen, siehe Abschnitt 7.4.1. Beispiel 7.15. Wir definieren eine Funktionen mit stark unterschiedlicher Variation und einer Unstetigkeitsstelle: ( sin(30 x) exp(3 x) falls x < 13π/60 f (x) = 5 exp(−(x − 13π/60)) falls x ≥ 13π/60 Mit dieser Funktion wollen wir das Integral Z 3 . I= f (x) dx = 4.56673516941143 0
bestimmen, siehe Abb. 7.2. Zur Genauigkeitssteuerung wird bei der Kronrod-Quadratur die Differenz zwischen den beiden Regeln in jedem Teilintervall genommen. Bei der Patterson-Quadratur ist es auch die Differenz zweier aufeinanderfolgender Regeln, aber u ¨ ber das ganze Intervall, die die automatische Steuerung kontrolliert. Beide Regeln sind in den NAG-Bibliotheken [NAGa, NAGb] realisiert und k¨ onnen mit relativen und absoluten Genauigkeitsschranken gesteuert werden. ahlt. Die KronrodAls relative und absolute Genauigkeitsschranke haben wir δ = 1.0 · 10−9 gew¨ Regel-Kombination ergibt folgendes Ergebnis:
335
7.5 Adaptive Integration Gauß-Kronrod
Fehler
Fehlersch¨ atzung
4.5667351695951
1.84 · 10−10
1.32 · 10−9
Funktion und adaptive Intervallunterteilung f¨ ur I werden in Abb. 7.2 wiedergegeben. Von den 29 Punkten, die die adaptive Intervallunterteilung f¨ ur I erzeugt, liegen 21 im Intervall . [0.67, 0.7], einer kleinen Umgebung der Unstetigkeitsstelle x ¯ = 0.6806784. Die Ergebnisse sind sehr zufriedenstellend. Die Fehlersch¨ atzung ist nur sehr wenig gr¨ oßer als der wirkliche Fehler. Berechnet man zum Vergleich das Integral I mit der globalen Patterson-Quadratur, so reichen 511 Punkte ur eine relative und absolute Genauignicht einmal f¨ ur eine Genauigkeit von 1.0 · 10−3 aus. F¨ keitsforderung von 1.0 · 10−2 bekommt man den Integralwert IP = 4.556027 zusammen mit einer Fehlersch¨ atzung von 0.02421 f¨ ur den absoluten Fehler, die den wahren Fehler etwa um den Faktor 2 untersch¨ atzt. F¨ ur die stark unterschiedliche Variation des Integranden und die Sprungstelle im Integrationsbereich ist die globale Steuerung also nicht geeignet. Da ist es naheliegend, dass der Anwender selbst eine Intervallaufteilung vornimmt: Wir wollen zwei Patterson-Integrationen auf die Intervalle [0, 13π/60] und [13π/60, 3] anwenden und addieren, also ohne Unstetigkeitstelle rechnen. Die Genauigkeit dieser Summe ist bei weniger Funktionsauswertungen als Kronrod noch wesentlich genauer: Gauß-Patterson
Fehler
Fehlersch¨ atzung
4.5667351694115
1 · 10−13
6 · 10−12
△
Abschließend verweisen wir auf die Tatsache, dass es kein absolut sicher arbeitendes Blackbox-Verfahren zur automatischen Quadratur geben kann. Die Fehlerkontrolle kann versagen, wenn auch nur in sehr wenigen, aber nicht unbedingt exotischen F¨allen, wie Lyness in [Lyn 83] zeigt. Numerische Integration ist oft Teil einer gr¨oßeren Aufgabenstellung wie z.B.
f (x) 8 6 4 2
x 1 −2 −4 −6
Abb. 7.2 Integrand und Intervalleinteilung f¨ ur I.
2
3
336
7 Numerische Integration
einer Optimierungsaufgabe. Dann m¨ ussen Quadraturen ¨ahnlicher Integranden sehr oft, z.B. mehrere tausend Male, ausgef¨ uhrt werden. In solchen F¨allen ist sorgf¨altig zu pr¨ ufen, ob nicht eine Quadratur mit fester St¨ utzstellenzahl einer adaptiven Quadratur vorzuziehen ist. Das gilt besonders f¨ ur mehrdimensionale Quadraturen.
7.6
Mehrdimensionale Integration
7.6.1
Produktintegration
F¨ ur die mehrdimensionale Integration bietet sich zun¨achst die Verwendung von Produktregeln an, die aus eindimensionalen Regeln gewonnen werden k¨onnen. F¨ ur ein zweidimensionales Integral der Form ( b( d f (x, y) dxdy (7.102) I := a
c
ur kommen wir mit den n bzw. m eindimensionalen St¨ utzwerten und Koeffizienten (xi , wi ) f¨ das Intervall [a, b] und (yj , vj ) f¨ ur das Intervall [c, d] zu der Regel ( d n n m wi vj f (xi , yj ). (7.103) wi f (xi , y) dy ≈ I≈ c
i=1
i=1 j=1
Diese Anwendung der Produktregel l¨ asst sich leicht auf den Fall variabler Grenzen des inneren Integrals verallgemeinern: ( b ( φ2 (y) I= f (x, y) dxdy. (7.104) a
φ1 (y)
Beispiel 7.16. Wir wollen das Volumen der zusammentreffenden Flachwasserwellen aus Beispiel 3.9 bestimmen. Dazu m¨ ussen wir die zweidimensionale Funktion F (x, y) (3.88) integrieren: Z 7 Z 7 F (x, y) dxdy. −8
−8
Wir tun das mit Hilfe der NAG-Routine D01DAF, die die in Abschnitt 7.4.1 kurz beschriebene Patterson-Methode auf zwei Dimensionen im Sinne der Produktregel verallgemeinert. In der folgenden Tabelle sind die steuernden Toleranzen δ, die Integralwerte und die Anzahl der notwendigen Funktionsauswertungen angegeben. Tab. 7.11 Integration der Flachwasserwelle mit der Patterson-Methode. δ
I
n
0.05 0.005 0.0005 0.00005
81.6632724161 81.6762461810 81.6762980973 81.6763008759
449 593 1857 1953
Der letzte Wert ist auf 10 wesentliche Stellen genau. Allerdings erscheint eine geringere Genauigkeitsforderung f¨ ur diese Aufgabenstellung angemessen. △
337
7.6 Mehrdimensionale Integration
7.6.2
Integration u ¨ ber Standardgebiete
Unregelm¨ aßige Gebiete, wie sie bei der L¨ osung von partiellen Differenzialgleichungen vorkommen, werden oft mit einer Menge von transformierten Standardgebieten u ¨ berdeckt. Das sind z.B. bei der Methode der finiten Elemente oft Dreiecke, siehe Abschnitt 10.3. Hier ist also die Auswertung von Integralen auf vielen kleinen Gebieten der gleichen einfachen Form – Dreiecke, Vierecke, Tetraeder etc. – notwendig. Die zu integrierende Funktion ist glatt, und eine mehrdimensionale Gauß-Regel wird schon mit wenigen Punkten eine Genauigkeit erreichen, die die der u osung angewendeten numerischen Methoden ¨ brigen bei der Probleml¨ u utzstellen f¨ ur das Standarddreieck ¨ bersteigt. Wir wollen eine Gauß-Regel mit sieben St¨ T0 = {(0, 0), (1, 0), (0, 1)} angeben, welche die exakten Integralwerte f¨ ur Polynome bis zum Grad f¨ unf liefert [Sch 91b]. ( 7 wi f (ξi , ηi ) (7.105) f (x, y) dxdy ≈ T0
i=1
Die Integrationsst¨ utzpunkte Ri = (ξi , ηi ), i = 1, . . . , 7, liegen auf den drei Mittellinien, der erste im Schwerpunkt des Dreiecks T0 , siehe Tab. 7.12 und Abb. 7.3. Tab. 7.12 Integrationsst¨ utzpunkte Ri im Einheitsdreieck T0 .
i 1 2 3 4 5 6 7
ξi . = 0.333 333 333 01/3 . (6 + 0(15))/21 = 0.470 142 064 . (9 − 20 (15))/21 = 0.059 715 872 . (6 + 0(15))/21 = 0.470 142 064 . (6 − 0(15))/21 = 0.101 286 507 . (9 + 20 (15))/21 = 0.797 426 985 . (6 − (15))/21 = 0.101 286 507
ηi
wi
0.333 333 333 0.470 142 064 0.470 142 064 0.059 715 872 0.101 286 507 0.101 286 507 0.797 426 985
9/80 = 0.1125 0 ⎫ ⎬ (155 + (15))/2400 . = ⎭ 0.0660 197 0764 ⎫ ⎬ (155 − (15))/2400 . = ⎭ 0.062 969 5903
Beispiel 7.17. Wie in Beispiel 7.16 soll die Flachwasserwelle aus Beispiel 3.9 integriert werden, indem das quadratische Gebiet (−8, 7)×(−8, 7) gleichm¨ aßig in rechtwinklige Dreiecke zerlegt, jedes Dreieck auf das Einheitsdreieck T0 transformiert und dort die Regel (7.105) angewendet wird. Tab. 7.13 Gauß-Integration der Flachwasserwelle u ¨ ber eine Dreieckszerlegung. # Dreiecke 32 128 512 2048 8192
I
n
81.553221963 81.679291706 81.676329426 81.676301173 81.676300880
224 896 3584 14336 57344
Die Ergebnisse in Tab. 7.13 zeigen bei diesem Beispiel die h¨ ohere Genauigkeit der PattersonQuadratur (Tab. 7.11) bei gleichem Aufwand. Ist das Gebiet weder rechteckig noch in einer Form,
338
7 Numerische Integration η
1
R7 T0 R3
R2 R1
R5 0 0
R4
ξ
R6 1
Abb. 7.3 Integrationsst¨ utzpunkte Ri im Einheitsdreieck T0 f¨ ur Regel (7.105).
die die Darstellung (7.104) f¨ ur das Integral erlaubt, ist eine Dreieckszerlegung und Anwendung von Regel (7.105) allerdings eine der wenigen guten M¨ oglichkeiten. △
Neben den beiden beschriebenen Verfahrensklassen spielt noch die stochastische MonteCarlo-Methode eine gewisse Rolle. Sie liefert jedoch nur eine sehr begrenzte Genauigkeit und ist abh¨ angig von einem guten Zufallsgenerator. Allerdings bleibt sie bei hohen Raumdimensionen oft die einzige M¨ oglichkeit.
7.7
Software
Ein frei erh¨ altliches Fortran-Paket f¨ ur die eindimensionale numerische Integration ist Quadpack [Pie 83]. Seine Routinen haben auch in gr¨oßere Pakete Eingang gefunden wie z.B. in das frei erh¨ altliche Paket Slatec, das wie Quadpack u ¨ber den Gams-SoftwareIndex oder die Netlib-Liste bezogen werden kann (siehe Einleitung). Alle wichtigen Verfahren, also insbesondere die Gauß-Methoden f¨ ur endliche oder halbunendliche Intervalle oder u ¨ ber ganz Ê sowie mit verschiedenen Gewichtsfunktionen zur Ber¨ ucksichtigung des Abklingverhaltens oder von Singularit¨aten, sind in den großen numerischen Bibliotheken Nag und Imsl zu finden. Bibliotheksroutinen zur adaptiven Quadratur nach Gauß-Kronrod mit den Regelpaaren f¨ ur die 7-15-Punkte- und die 10-21-Punkte-Kombination findet man im Kapitel D01 der Nag-Bibliotheken [NAGa, NAGb]. Auch die ein- und mehrdimensionalen Patterson-Regeln
339
7.8 Aufgaben
zu der im Abschnitt 7.4.1 erw¨ ahnten Punktanzahl-Folge findet man in den Routinen von Kapitel D01 der Nag-Bibliotheken. Matlab kennt zwei Befehle zur eindimensionalen Quadratur, die die Simpson-Regel bzw. eine adaptive Gauß-Integration benutzen. Die zweidimensionale Integration ist auf ein Rechteck mit Benutzung einer Simpson-Produktregel beschr¨ankt. Unsere Probleml¨ oseumgebung Pan (http://www.upb.de/SchwarzKoeckler/) verf¨ ugt u ¨ ber zwei Programme zur eindimensionalen numerischen Gauss-Kronrod- und Patterson-Quadratur und u ¨ ber ein Programme zur zweidimensionalen numerischen Patterson-Quadratur.
7.8
Aufgaben
Aufgabe 7.1. Seien a ≤ b < c die Halbachsen eines Ellipsoides. Seine Oberfl¨ ache A ist gegeben durch das Integral einer periodischen Funktion A
=
ab r
Z2π» 0
1+
„
« – 1 + w arctan(w) dϕ, w
c2 − a2 c2 − b2 cos2 ϕ + sin2 ϕ. 2 a b2 Wegen der Symmetrie gen¨ ugt die Integration u ¨ ber eine Viertelperiode. Falls a ≥ b > c, gilt in reeller Form « – „ Z2π» 1 A = ab − v Artanh(v) dϕ, v = iw. 1+ v w
=
0
Man berechne A mit Trapezregeln. Man beginne mit einer Schrittweite h = π/4 und halbiere h solange, bis zwei aufeinanderfolgende Trapezregel-Ergebnisse sich um weniger als eine vorgegebene Schranke ε unterscheiden. Aufgabe 7.2. Man transformiere die folgenden Integrale so, dass sie vermittels Algorithmus (7.22) onnen. f¨ ur Integrale u ¨ ber Ê effizient berechnet werden k¨ s 1 „ « Z √ 1 dx = π/2.662 x0.21 ln a) x 0
b)
Z1
dx (3 −
0
c)
Z∞
2x)x3/4 (1
−
x)1/4
√ = π 2 · 3−3/4
x−0.7 e−0.4x cos(2x) dx = Γ(0.3) Re[(0.4 + 2 i)−0.3 ]
0
d)
Z∞ 0
dx ω , = x1−α + x1+β sin(αω)
ω=
π , a > 0, β > 0 α+β
340
7 Numerische Integration e)
Z∞
“ π ”3/2 dx Γ(1.25)−2 = 2 5/4 2 (1 + x )
Z∞
dx . = 3.1603228697485 x2 + e4x
−∞
f)
−∞
Aufgabe 7.3. Man forme das Integral von Beispiel 7.9 mit weiteren sinh-Transformationen t = t1 = sinh(t2 ), . . . um und vergleiche die Effizienz von Algorithmus (7.22) f¨ ur die entsprechenden Integrale. Aufgabe 7.4. Der adaptive Quadraturalgorithmus (7.101) funktioniert sogar f¨ ur viele unstetige Integranden, beispielsweise f¨ ur Zx [ξ] dξ = [x] ln(x) − ln([x]!), x > 1, I= ξ 1
wobei [x] die gr¨ oßte ganze Zahl kleiner oder gleich x bedeutet. F¨ ur das durch die Substitution ξ = et entstehende Integral Zln x I= [et ]dt 0
versagt jedoch der Algorithmus (7.101), indem er im Allgemeinen zu fr¨ uh abbricht. Was ist der Grund daf¨ ur? Aufgabe 7.5. Man berechne die folgenden Integrale mit der Trapez- und der Simpson-Regel. Man verbessere die Ergebnisse durch Anwendung des Romberg-Verfahrens und der Gauß-LegendreQuadratur mit n = 4, 5, 6, 7, 8 Knoten. Man vergleiche die Genauigkeit der N¨ aherungswerte f¨ ur die gleiche Anzahl von Funktionsauswertungen. Schließlich wende man eine adaptive Quadraturmethode an, um die gleiche Genauigkeit zu erzielen und z¨ ahle dabei die Funktionsauswertungen. a)
Z3
x 1 dx = ln(10); 1 + x2 2
0
c)
1 π
b)
0.95 Z 0
Zπ
cos(x sin ϕ)dϕ = J0 (x)
dx = ln(20); 1−x
(Bessel-Funktion)
0
. . . J0 (1) = 0.7651976866, J0 (3) = −0.2600519549, J0 (5) = −0.1775967713; d)
Zπ/2 0
dϕ p = K(m) (vollst¨ andiges elliptisches Integral erster Art) 1 − m sin2 ϕ
. . . K(0.5) = 1.8540746773, K(0.8) = 2.2572053268, K(0.96) = 3.0161124925. Aufgabe 7.6. Man berechne die Knoten xk und Gewichte wk der Gaußschen Quadraturformeln f¨ ur n = 5, 6, 8, 10, 12, 16, 20, indem man den QR-Algorithmus und die inverse Vektoriteration auf die tridiagonalen Matrizen n (7.90) anwendet.
341
7.8 Aufgaben
0.5
0
ï0.5
ï1 20 20
10 10
0 0
ï10
ï10 ï20
ï20
Abb. 7.4 Wir werfen einen Stein ins Wasser. Aufgabe 7.7. Man verallgemeinere den Algorithmus (7.101) zur adaptiven Quadratur auf eine Produktintegration u ¨ ber ein Rechteck im Ê2 . Mit dieser Produktintegration berechne man eine N¨ aherung f¨ ur das Integral ZZ − sin r f (x, y) dx dy mit f (x, y) = , r G
p wo r := x2 + y 2 + ε der Abstand vom Ursprung ist, der zur Vermeidung von Division durch null um ε verschoben wird. Man w¨ ahle z.B. ε = 10−12 .
Das Integrationsgebiet sei das Quadrat G = [−16, 16] × [−16, 16]. Die zu integrierende Funktion sieht aus wie von einem Stein verursachte Wasserwellen, siehe Abb. 7.4. Aufgabe 7.8. Die Funktion f (x, y) aus Aufgabe 7.7 soll u ¨ ber das Gebiet der Trommel aus Aufgabe 5.11 integriert werden. Dazu verschiebe man den Punkt (4, 4) in den Ursprung und zerlege das Gebiet gleichm¨ aßig in Dreiecke. Man programmiere die Transformation der Dreiecke auf das Standarddreieck T0 = {(0, 0), (1, 0), (0, 1)} und benutze dann die Integration aus Abschnitt 7.6.2.
Die Integration wird adaptiv, wenn die Dreiecke systematisch verkleinert und die Ergebnisse f¨ ur zwei Verfeinerungsstufen verglichen werden. Dieser adaptive Integrationsvorgang wird abgebrochen, wenn die Differenz zwischen zwei Verfeinerungsstufen kleiner als eine vorgegebene Schranke wird.
8
Anfangswertprobleme bei gew¨ ohnlichen Differenzialgleichungen
Gew¨ohnliche Differenzialgleichungen (DGL) sind Gleichungen f¨ ur Funktionen von einer unabh¨ angigen Variablen, in denen die unbekannten Funktionen und ihre Ableitungen bis zu einer bestimmten Ordnung vorkommen. Eine L¨osung in geschlossener, analytischer Form l¨asst sich nur in relativ wenigen F¨ allen angeben. Deshalb sind numerische Verfahren gefragt, die eine hinreichend genaue N¨ aherung der L¨ osungsfunktion liefern. F¨ ur Anfangswertaufgaben bei gew¨ ohnlichen Differenzialgleichungen gibt es eine reizvolle Vielfalt von Anwendungen. Dazu geh¨ oren chemische Reaktionen, Bev¨olkerungsentwicklungsmodelle und Wettbewerbsmodelle in den Wirtschaftswissenschaften, physiologische Indikatormodelle in der Medizin, Dopingtests und Sch¨adlingsbek¨ampfung in der Pharmakologie, Epidemieverlauf, Artenverhalten und Symbiosemodelle in der Biologie. Zur Berechnung einer L¨ osung muss immer der Anfangszustand des jeweiligen Systems bekannt sein. Wir beginnen mit einem einf¨ uhrenden Abschnitt, in dem wir neben der Problemstellung einige einfache Verfahren mit ihren Eigenschaften exemplarisch vorstellen. Danach besch¨aftigen wir uns mit der Theorie der Einschrittverfahren, stellen die wichtigen Runge-KuttaVerfahren ausf¨ uhrlich vor und gehen auf die f¨ ur die Praxis wichtige Schrittweitensteuerung ein. Ein weiterer Abschnitt besch¨ aftigt sich in ¨ ahnlicher Weise mit den Mehrschrittverfahren. Schließlich widmen wir uns dem Begriff der Stabilit¨at, dessen Wichtigkeit an so genannten steifen Differenzialgleichungen deutlich wird. Wir befassen uns nicht mit Fragen der Existenz und Eindeutigkeit von L¨osungen der Differenzialgleichungen, sondern setzen stillschweigend voraus, dass die betreffenden Voraussetzungen erf¨ ullt sind [Ama 95, Col 90, Heu 04a, Wal 00]. Weiterf¨ uhrende Darstellungen numerischer Verfahren f¨ ur Anfangswertprobleme sind in [Aik 85, Alb 85, But 87, Deu 02a, Fat 88, Fox 88, Gea 71, Gri 72, Hai 93, Hai 96, Hen 62, Jai 84, Lam 91, Lap 71, Sew 88, Sha 94, Sha 84, Ste 73b, Str 95] zu finden. Mit Randwertproblemen werden wir uns in Kapitel 9 befassen.
343
8.1 Einf¨ uhrung
8.1
Einfu ¨hrung
8.1.1
Problemklasse und theoretische Grundlagen
Es soll das Anfangswertproblem (A) y ′ (x) y(a)
(A) :
= =
f (x, y(x)) y0
(DGL), (AB),
(8.1)
f¨ ur x ∈ [a, b] gel¨ ost werden. Dazu sei die gegebene Funktion auf der rechten Seite stetig (f ∈ C([a, b]× Ên , Ên )) und die gesuchte Funktion y(x) stetig differenzierbar (y ∈ C 1 ([a, b], Ên )). Weiter ist der Vektor der Anfangsbedingungen y0 ∈ Ên gegeben.
y ′ = f (x, y) ist also ein Differenzialgleichungssystem erster Ordnung f¨ ur eine vektorwertige Funktion y, die von einer skalaren Variablen x abh¨angt: y1′ (x) y2′ (x) yn′ (x)
= = .. .
f1 (x, y1 (x), y2 (x), . . . , yn (x)), f2 (x, y1 (x), y2 (x), . . . , yn (x)),
=
fn (x, y1 (x), y2 (x), . . . , yn (x)),
y(a) =
(8.2) y0 = (y10 , y20 , . . . , yn0 )T .
Das Differenzialgleichungssystem heißt explizit, weil die h¨ochste Ableitung (hier die erste) isoliert auf der linken Seite auftritt. Auf implizite Differenzialgleichungen, die nicht in explizite aufl¨ osbar sind, werden wir nicht eingehen. Viele der angef¨ uhrten Beispiele werden in [Heu 04a] ausf¨ uhrlicher beschrieben, weitere sind in [Col 66] oder in [Sto 02] zu finden. Lemma 8.1. Jedes explizite System von n Differenzialgleichungen m-ter Ordnung l¨aßt sich in ein ¨aquivalentes System 1. Ordnung mit m · n Gleichungen umformen. Beweis. Wir beweisen exemplarisch, dass sich eine einzelne Differenzialgleichung n-ter Ordnung in ein System mit n Differenzialgleichungen 1. Ordnung umformen l¨aßt (der Rest ist einfache Kombinatorik). Sei also eine Differenzialgleichung (mit z (k) = k-te Ableitung von z) z (n) = g(x, z, z ′ , . . . , z (n−1) ),
(8.3)
gegeben mit den Anfangswerten z(a) = z0 ,
z ′ (a) = z0′ , . . . ,
(n−1)
z (n−1) (a) = z0
.
Definiere eine Vektorfunktion y(x)
:= (y1 (x), y2 (x), . . . , yn (x))T . /T := z(x), z ′ (x), . . . , z (n−1) (x) .
(8.4)
344
8 Anfangswertprobleme
Dann gilt offenbar y1′ (x)
=
y2 (x),
y2′ (x)
= .. . =
y3 (x),
yn (x),
= =
g(x, z, z ′ , . . . , z (n−1) ) g(x, y1 , y2 , . . . , yn )
′ yn−1 (x)
yn′ (x)
(8.5)
und /T . (n−1) . y(a) = y0 = z0 , z0′ , . . . , z0
(8.6)
(8.5) stellt mit (8.6) ein System der Form (8.1) dar, dessen Vektorl¨osung y(x) auch die skalare L¨ osung z(x) = y1 (x) von (8.3) liefert. Einige Vorbemerkungen f¨ ur dieses Kapitel: 1. Die Beschr¨ ankung auf Differenzialgleichungen 1. Ordnung erlaubt eine einheitliche Darstellung. Dadurch ist es unerl¨ asslich, numerische Verfahren f¨ ur Systeme zu formulieren, weil dies erst die Behandlung von Differenzialgleichungen h¨oherer Ordnung erlaubt. Auch die meisten Softwaresysteme beschr¨ anken sich formal auf die numerische L¨osung von Systemen 1. Ordnung. Differenzialgleichungen h¨ oherer Ordnung m¨ ussen dann f¨ ur die rechnerische L¨osung in ein System 1. Ordnung umformuliert werden. Da das Verst¨andnis der Aussagen f¨ ur einzelne Gleichungen meistens leicht auf die Behandlung von Systemen u ¨ bertragbar ist, verzichten wir in diesem Kapitel auf die fett gedruckte Darstellung von Vektorfunktionen. 2. F¨ ur die numerische L¨ osung setzen wir ohne Beschr¨ankung der Allgemeinheit Existenz und Eindeutigkeit einer stetig differenzierbaren L¨osung y(x) voraus. Interessante numerische Probleme liegen aber auch bei Wegfall der Eindeutigkeit vor, es entstehen dann z.B. Verzweigungsprobleme. ur Matrizen eine vertr¨agliche, submultiplikative 3. · sei eine Norm im Ên , · sei dann f¨ Matrixnorm mit I = 1, in der Regel wird dies die zugeordnete Norm sein. Definition 8.2. Globale Lipschitz-Bedingung: Es gebe eine Konstante L ∈ Ê, die so genannte Lipschitz-Konstante, so dass f (x, y) − f (x, y˜) ≤ Ly − y˜ ∀(x, y), (x, y˜).
(8.7)
Ohne Beweis wollen wir die folgenden Grundtatsachen aus der Theorie der Anfangswertprobleme angeben. Lemma 8.3. Das Anfangswertproblem (8.1) ist ¨aquivalent zu dem System von Integralgleichungen ( x f (ξ, y(ξ))dξ. (8.8) y(x) = y0 + a
345
8.1 Einf¨ uhrung
Satz 8.4. Die globale Lipschitz-Bedingung (8.7) sei erf¨ ullt. Dann h¨angt die L¨osung von (8.1) stetig von den Anfangswerten y0 ab; oder: Sind y(x) und y˜(x) L¨osungen von y′ = f (x, y) y(a) = y0
y˜′ y˜(a)
= f (x, y˜) = y˜0 ,
so gilt unter der globalen Lipschitz-Bedingung (8.7) y(x) − y˜(x) ≤ eL|x−a|y0 − y˜0 .
(8.9)
(8.9) ist auch eine numerische Absch¨ atzung u ¨ ber die L¨osungsabweichung y − y˜ bei Datenfehlern y0 − y˜0 in den Anfangswerten. Danach pflanzt sich jede L¨osungsverf¨alschung mit wachsendem x desto st¨ arker fort, je gr¨ oßer die Lipschitz-Konstante L ist und je gr¨oßer der Abstand vom Anfangspunkt ist.
8.1.2
M¨oglichkeiten numerischer L¨osung
Um einen ersten Eindruck von numerischen L¨ osungsm¨oglichkeiten zu bekommen, soll die Anfangswertaufgabe y ′ (x) y(a)
= f (x, y(x)), = y0 ,
diskretisiert werden. Wir suchen N¨ aherungen uj ≈ y(xj ) an festen, zun¨achst ¨aquidistanten Stellen xj in einem Intervall [a, b]. b−a . (8.10) xj = a + jh, j = 0, 1 . . . , N, h = N Dazu k¨ onnen z.B. die Ableitungen durch Differenzen ersetzt werden. Wir wollen diese Vorgehensweise an einfachen Verfahren exemplarisch betrachten. Dabei sei die Existenz der f¨ ur die Herleitung ben¨otigten h¨ oheren Ableitungen jeweils vorausgesetzt. Das explizite Euler- oder Polygonzug-Verfahren Ersetze y ′ (xj−1 ) durch die Vorw¨ artsdifferenz: y ′ (xj−1 ) = y(xj ) =
y(xj ) − y(xj−1 ) + O(h) =⇒ h y(xj−1 ) + hf (xj−1 , y(xj−1 )) + O(h2 ).
(8.11)
Das ergibt mit Ber¨ ucksichtigung des bekannten Anfangswertes das Verfahren u0 uj
= y0 = uj−1 + h f (xj−1 , uj−1 ),
j = 1, 2, . . . , N.
(8.12)
Mit diesem einfachsten Verfahren kann man also von links nach rechts schrittweise L¨osungsn¨ aherungen mit geringem Aufwand berechnen. Wegen (8.11) ist der Fehler uj − y(xj ) des expliziten Euler-Verfahren von der Gr¨ oßenordnung O(h), man spricht von der Fehlerordnung p = 1, siehe Abschnitt 8.2.1.
346
8 Anfangswertprobleme
Das implizite Euler-Verfahren Hier wird statt (8.11) die R¨ uckw¨ artsdifferenz bei xj genommen: uj − uj−1 y(xj ) − y(xj−1 ) + O(h) ≈ . h h Das liefert das Verfahren: y ′ (xj ) = u0
= y0
uj
= uj−1 + hf (xj , uj ),
j = 1, 2, . . . , N.
(8.13)
(8.14)
Die L¨ osungen uj k¨ onnen hier nur u osung eines im Allgemeinen nichtlinearen Glei¨ ber die L¨ chungssystems gewonnen werden, da die von Schritt zu Schritt zu bestimmenden Werte uj sowohl links als auch rechts im Argument der Funktion f vorkommt. Wegen (8.13) ist die Gr¨ oßenordnung des Fehlers beim impliziten Euler-Verfahren wie beim expliziten EulerVerfahren O(h). Beide Euler-Verfahren gewinnt man auch u ¨ ber eine Taylor-Reihen-Approximation. Die Trapezmethode Aus (8.8) folgt, dass y(xj+1 ) = y(xj ) +
(
xj+1
f (x, y(x)) dx.
(8.15)
xj
Wird dieses Integral mit der Trapezregel (7.10) integriert, so ergibt sich die Trapezmethode h (8.16) uj+1 = uj + {f (xj , uj ) + f (xj+1 , uj+1 )}. 2 Sie ist implizit, weil jeder Integrationsschritt die L¨osung eines im Allgemeinen nichtlinearen Gleichungssystems nach der unbekannten N¨ aherung uj+1 verlangt. Da nach (7.15) h y(xj+1 ) = y(xj ) + {f (xj , y(xj )) + f (xj+1 , y(xj+1 ))} + O(h3 ) (8.17) 2 gilt, ist die Trapezmethode um eine h-Potenz genauer als die Euler-Verfahren, hat also die Fehlerordnung p = 2. Dar¨ uber hinaus zeigt sie ein gutes Stabilit¨atsverhalten, wie wir in Beispiel 8.2 sehen und in Abschnitt 8.4.2 verstehen werden. Da bei den Verfahren (8.12), (8.14) und (8.16) die L¨osung uj nur aus Werten uj−1 berechnet wird, heißen solche Verfahren Einschrittverfahren (ESV). Ein Mehrschrittverfahren: die Mittelpunktregel Wird in der Differenzialgleichung y ′ (x) an der Stelle xj+1 durch den zentralen Differerenzenquotienten (3.29) ersetzt, so ergibt sich die Approximation y(xj+2 ) − y(xj ) = f (xj+1 , y(xj+1 )) + O(h2 ). 2h Das f¨ uhrt auf das Zweischritt-Verfahren uj+2 = uj + 2hf (xj+1 , uj+1 ), j = 0, 1, . . . , N − 1.
(8.18)
(8.19)
347
8.1 Einf¨ uhrung
Um dieses Verfahren zu starten, reicht der Anfangswert y0 nicht aus, da jeder Schritt zwei zur¨ uckliegende Werte ben¨ otigt. Es wird deshalb ein Einschrittverfahren zur Berechnung von u1 verwendet, z.B. das explizite Euler-Verfahren. Das ergibt u0 u1
= =
u2
= u0 + 2h f (x1 , u1 ), ··· .
y0 , u0 + h f (x0 , u0 ),
Dieses Verfahren h¨ atte man ebenso aus der Integraldarstellung (8.8) bekommen k¨onnen, etwa f¨ ur x2 y(x2 ) =
y0 +
a+2h (
f (ξ, y(ξ))dξ
a
=
y0 + 2hf (x1 , y(x1 )) + O(h2 ).
Hier wird die Mittelpunktregel zur numerischen Integration verwendet. Das gibt dem Verfahren seinen Namen. Es hat wegen (8.18) die Fehlerordnung p = 2. Beispiel 8.1. Wir wollen die Anfangswertaufgabe y ′ = −2 x y 2 ,
y(0) = 1,
(8.20)
mit den beiden Euler-Verfahren und der Mittelpunktregel und mit der Schrittweite h = 0.1 behandeln. Sie hat die exakte L¨ osung y(x) = 1/(x2 + 1). Mit dem expliziten Euler-Verfahren erhalten wir u0
=
u1
=
u2
=
1, u0 + h f (x0 , u0 ) = 1 + 0.1 · 0 = 1,
···
u1 + h f (x1 , u1 ) = 1 + 0.1 · (−0.2) = 0.98,
.
Die L¨ osungspunkte sind in Abb. 8.1 durch eine gestrichelte Linie verbunden. Es ist sogar graphisch zu sehen, dass die numerische L¨ osung der exakten L¨ osung mit einem Fehler O(h) ‘hinterherl¨ auft’. Mit dem impliziten Euler-Verfahren erhalten wir u0
=
1
u1
=
u0 + 0.1 f (x1 , u1 )
=⇒ u1
=
1 − 0.02 u21
=⇒ u21 + 50u1
=
=⇒ u1
=
0.98076211,
=
u1 + 0.1 f (x2 , u2 )
u2
50
die andere L¨ osung kommt nicht in Betracht.
··· Hier haben wir die L¨ osungspunkte in Abb. 8.1 durch eine Strichpunktlinie verbunden. Diese wesentlich aufw¨ andiger zu berechnende L¨ osung ist auch nicht besser. Jetzt soll die Mittelpunktregel auf die Anfangswertaufgabe (8.20) angewendet werden. F¨ ur den ersten Schritt zur Berechnung von u1 wird das explizite Euler-Verfahren verwendet. Damit bekommen
348
8 Anfangswertprobleme
wir die Werte u0
=
1
u1
=
1
=
u0 + 0.2 f (x1 , u1 ) = 1 + 0.2 · (−0.2) = 0.96
u2
···
Die in Abb. 8.1 durch eine gepunktete Linie verbundenen L¨ osungspunkte sind entsprechend der h¨ oheren Fehlerordnung (zumindest im betrachteten Intervall) eine bessere N¨ aherung. △ y(x) 1
0.9
0.8
x 0.7
0
0.1
0.2
0.3
0.4
0.5
0.6
Abb. 8.1 Drei Beispielverfahren.
Beispiel 8.2. Um die Problematik der Stabilit¨at von Verfahren gleicher Ordnung anzuschneiden, vergleichen wir die Trapezmethode (8.16) mit der Mittelpunktregel (8.19), indem wir beide auf das Anfangswertproblem y ′ = −y,
y(0) = 1,
anwenden. Wir verwenden die Schrittweite h = 0.1 und rechnen von x = 0 bis x = 7. In Abb. 8.2 sind die Ergebnisse der beiden Regeln f¨ ur x ∈ [2, 7] gezeichnet. Die Trapezregelwerte sind zeichnerisch kaum von der wahren L¨ osung y(x) = exp(−x) zu unterscheiden, w¨ ahrend die Mittelpunktregel mit wachsendem x immer st¨ arker oszilliert. △
Anwendung der Euler-Verfahren auf ein Modellproblem Zur Untersuchung von Stabilit¨ atseigenschaften ist das Modellproblem y ′ (x) = λ y(x),
y(0) = 1,
λ ∈ Ê,
(8.21)
sehr geeignet, bei dem in sp¨ ateren Untersuchungen auch komplexe Werte f¨ ur λ eine Rolle ¨ den Parameter λ kann das spielen werden. Es hat die exakte L¨ osung y(x) = eλx . Uber L¨ osungsverhalten gesteuert werden, f¨ ur λ < 0 ergeben sich abklingende, f¨ ur λ > 0 anwachsende L¨ osungen. Der zweite Vorteil dieses einfachen Testproblems ist, dass f¨ ur viele Verfahren die N¨ aherungsl¨ osungen in ihrer Abh¨ angigkeit von λ und h exakt dargestellt werden k¨ onnen und damit das Verhalten der Verfahren f¨ ur unterschiedliche Parameterwerte untersucht werden kann. Das wollen wir f¨ ur die beiden Euler-Verfahren ansehen.
349
8.1 Einf¨ uhrung
0.2
0.1
0
−0.1
2
3
4
5
6
7
Abb. 8.2 Mittelpunktregel gegen Trapezmethode.
Das explizite Euler-Verfahren (8.12) ergibt die N¨aherungswerte u0 u1
= 1 = 1 + λh = eλh + O(h2 )
u2
= u1 + h f (x1 , u1 ) = 1 + λh + hλ(1 + λh) = 1 + 2λh + (λh)2
uj
= (1 + λh)2 .. . = (1 + λh)j
Hieraus k¨ onnen wir die Konvergenz des Verfahrens ablesen: F¨ ur ein festes x ¯ ∈ Ê lassen ur den wir h → 0 und j → ∞ gehen, sodass immer x ¯ = j · h gilt, also h = xj¯ . Dann gilt f¨ N¨ aherungswert uj von y(¯ x) : x¯ uj = uj (h) = (1 + λ )j −→ eλ¯x j
mit j → ∞
Dieses Konvergenzverhalten muß aber die N¨ aherungsl¨osung f¨ ur festes h > 0 nicht widerspiegeln. Ist z.B. λ < 0 so stark negativ, dass |1 + λh| > 1, dann w¨achst |uj | oszillatorisch, w¨ ahrend ja die exakte L¨ osung eλh abklingt, d.h. das Verfahren wird numerisch instabil, siehe Beispiel 8.3. Hier wird die Diskrepanz deutlich zwischen der Tatsache der Konvergenz, die ja eine asymptotische Aussage darstellt, und einer numerischen Instabilit¨at, die f¨ ur gewisse Zahlenwerte h > 0 auftritt.
350
8 Anfangswertprobleme
Das implizite Euler-Verfahren (8.14) ergibt u0
=
1
u1
=
1 + hλu1
u2
=
u1 + hλu2
.. .
1 1 − λh 1 ⇒ u2 = (1 − λh)2 ⇒ u1 =
1 (1 − λh)j Hier liegt Konvergenz in der gleichen G¨ ute wie beim expliziten Euler-Verfahren vor. Dar¨ uber hinaus ist aber die numerische L¨ osung f¨ ur endliches h > 0 immer stabil, da im wichtigen Fall λ < 0 mit einer abklingenden L¨ osungsfunktion auch die Werte uj abklingen. Dieses von h unabh¨ angige Stabilit¨ atsverhalten werden wir in Abschnitt 8.4.2 als absolute Stabilit¨at kennen lernen. uj
=
Beispiel 8.3. Wir demonstrieren das unterschiedliche Verhalten der beiden Euler-Verfahren an zwei Testrechnungen f¨ ur das Modellproblem (8.21) mit unterschiedlichen Werten f¨ ur λ. Als Schrittweite w¨ ahlen wir in beiden F¨ allen h = 0.1. Der senkrechte Strich innerhalb der angegebenen Zahlen trennt die nach entsprechender Rundung korrekten von den fehlerhaften Ziffern. λ = −1
λ = −21
x
Euler explizit
Euler implizit
y(x) = e−x
Euler explizit
Euler implizit
y(x) = e−21 x
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
1.0 0.9 0.8|1 0.7|29 0.6|56 0.5|90 0.5|31 0.4|78 0.4|30 0.3|87 0.|349
1.0 0.9|09 0.8|26 0.7|51 0.6|83 0.6|21 0.|564 0.5|13 0.|467 0.4|24 0.3|85
1.0 0.904837 0.8187307 0.74081822 0.67032005 0.60653066 0.54881164 0.49658530 0.44932896 0.40656966 0.36787944
1.0 −1.1 1.21 −1.331 1.4641 −1.6105 1.77 −1.95 2.14 −2.36 2.6
1.0 0.32258 0.10406 0.03357 1.1 · 10−2 3.5 · 10−3 1.1 · 10−3 3.6 · 10−4 1.2 · 10−4 3.8 · 10−5 1.2 · 10−5
1.0 0.1224564 0.015 1.8 · 10−3 2.2 · 10−4 2.8 · 10−5 3.4 · 10−6 4.1 · 10−7 5.1 · 10−8 6.2 · 10−9 7.6 · 10−10
8.2
Einschrittverfahren
8.2.1
Konsistenz, Stabilit¨at und Konvergenz
△
Es seien jetzt allgemeiner als in (8.10) a = x0 < x1 < x2 < · · · < xN = b,
(8.22)
351
8.2 Einschrittverfahren
hj := xj+1 − xj , hmax = max hj . j
Die Differenzialgleichung (8.1) wird durch ein Einschrittverfahren der Form (Ah ) :
u0 uj+1
= y˜0 = uj + hj fh (xj , uj , xj+1 , uj+1 )
(8.23)
gel¨ ost. fh heißt Verfahrensfunktion. Im Folgenden werden wir, wenn es der Zusammenhang erlaubt, oft h statt hj oder hmax verwenden. Definition 8.5. Lokaler Abschneide- oder Diskretisierungsfehler zum Verfahren (8.23) ist 1 τh (xj ) := (y(xj + h) − y(xj )) − fh (xj , y(xj ), xj + h, y(xj + h)). h
(8.24)
Nach Multiplikation mit h gibt der lokale Abschneidefehler an, wie das Verfahren bei Ausf¨ uhrung eines Schrittes, also lokal, die L¨ osung verf¨alscht. F¨ ur ein explizites Verfahren ist dies leicht daran zu sehen, dass h τh (xj ) = y(xj + h) − uj+1 , falls uj = y(xj ). Definition 8.6. Konsistenz Das Einschrittverfahren (Ah ) (8.23) heißt konsistent mit (A) (8.1), wenn u 0 → y0 mit hmax → 0. max τh (xj ) → 0
(8.25)
xj
Definition 8.7. Konsistenzordnung Das Einschrittverfahren (Ah ) hat die Konsistenzordnung p, falls es eine Konstante K gibt mit ⎫ y0 − y˜0 ≤ Khpmax ⎬ (8.26) mit hmax → 0. max τh (xj ) ≤ Khpmax ⎭ xj
Definition 8.8. Globaler Abschneide- oder Diskretisierungsfehler eh (xj ) := uj − y(xj ).
(8.27)
Definition 8.9. Konvergenz Das Verfahren (Ah ) heißt konvergent, falls max uj − y(xj ) → 0 xj
mit hmax → 0.
(8.28)
Es besitzt die Konvergenzordnung p, falls es eine Konstante K gibt mit max uj − y(xj ) ≤ K hpmax xj
mit hmax → 0.
(8.29)
Wir sehen, dass die Konvergenzordnung u ¨ ber den globalen Abschneidefehler definiert wird. Es stellt sich aber heraus, dass im Falle der Konvergenz die Konvergenz- gleich der Konsistenzordnung ist.
352
8 Anfangswertprobleme
Konsistenz ist nur eine lokale Aussage. Konvergenz ist eine globale Aussage, aber oft nur schwer zu zeigen. Verbindungsglied ist die asymptotische Stabilit¨at, die das Verhalten der L¨osung uj als N¨ aherung von y(¯ x) bei festem x ¯ mit h → 0 betrachtet; alle Standardverfahren erf¨ ullen diese Voraussetzung, die asymptotische Stabilit¨at ist also im Wesentlichen von theoretischem Interesse. Wir wollen sie hier nicht definieren, weil sie immer vorliegt, wenn die im Folgenden definierte Lipschitz-Bedingung (L) erf¨ ullt ist. Voraussetzung 8.10. (L): Lipschitz-Bedingung an fh . fh (xj , uj , xj+1 , uj+1 )
− fh (xj , u ˜j , xj+1 , u˜j+1 ) ≤ L max(uj − u ˜j , uj+1 − u ˜j+1 )
(8.30)
Der Term uj+1 − u ˜j+1 auf der rechten Seite kommt nur f¨ ur implizite Verfahren zum Tragen. Deshalb wird hin und wieder auf seine Ber¨ ucksichtigung verzichtet ebenso wie auf die Variablen xj+1 und uj+1 in fh . Satz 8.11. Konsistenz & Stabilit¨ at =⇒ Konvergenz Das durch die Verfahrensfunktion fh definierte Verfahren sei konsistent und die LipschitzBedingung (L) (8.30) sei erf¨ ullt. 1. Dann gilt an jeder Stelle x ⎡k uk − y(xk )
≤ ⎣y0 − y˜0 +
k−1 j=0
⎤
hj τh (xj )⎦ eL(xk −a) .
2. Es gilt Konvergenz f¨ ur jeden Punkt x¯ = xj(h) ∈ [a, b]: ⎧ ¯ = xj(h) fest ⎨ x . uj − y(¯ x) → 0 f¨ ur hmax → 0 ⎩ j→∞
Definition 8.12. Es sei ⎧ ⎨ eLx − 1 EL (x) := L ⎩ x
f¨ ur
L > 0,
f¨ ur
L = 0.
(8.31)
(8.32)
(8.33)
Dann heißt EL (x) Lipschitz-Funktion. Satz 8.13. F¨ ur das Einschrittverfahren gelte (L) und es sei konsistent mit der Ordnung p, d.h. es gibt ein M ≥ 0 mit τh (xj ) ≤ M hp
∀xj .
(8.34)
Dann gilt f¨ ur den globalen Diskretisierungsfehler ej := eh (xj ) ej = uj − y(xj ) ≤ M hpmax EL (xj − a) + ˜ y0 − y0 eL (xj −a) .
(8.35)
Der Gesamtfehler eines numerischen Verfahrens zur L¨osung eines Anfangswertproblems setzt sich aus dem Diskretisierungsfehler des Verfahrens und aus dem Rundungsfehler, der
353
8.2 Einschrittverfahren
sich von Schritt zu Schritt fortpflanzt, zusammen. Auch, wenn vom Rechenaufwand abgesehen werden kann, muss ein sehr kleines h nicht die optimale Wahl sein. Optimal ist dasjenige h, das den Gesamtfehler minimiert. In Abb. 8.3 wird die Situation f¨ ur ein realistisches Verfahren und Beispiel dargestellt. 10−3
Fehler eines Verfahrens 4. Ordnung (loglog-Darstellung)
10−4 10−5 10−6
Rundungsfehler
Gesamtfehler
10−7 10−8 10−9 10−10 10−11 10
Diskretisierungsfehler
−12
10−2
10−3
hopt
h 10−1
Abb. 8.3 Zusammensetzung des Gesamtfehlers.
8.2.2
Runge-Kutta-Verfahren
Die systematische Herleitung von Einschrittverfahren h¨oherer Ordnung geht auf Runge und Kutta zur¨ uck, die vor mehr als hundert Jahren spezielle Methoden dritter und vierter Ordnung entwickelten, [Run 95, Kut 01]. Dabei wird die Verfahrensfunktion fh (x, y) als Linearkombination von m Funktionen kl (x, y) angesetzt. Es wird dementsprechend von einem m-stufigen Runge-Kutta-Verfahren gesprochen. Die kl (x, y) stellen Funktionsauswertungen der rechten Seite f (x, y) an festzulegenden Stellen im Intervall [xj , xj+1 ] und den zugeh¨ origen y-Werten dar. Damit lautet das allgemeine Runge-Kutta-Verfahren m uj+1 = uj + hj γl kl (xj , uj ) mit l=1 (8.36) m βlr kr (x, y) . kl (x, y) = f x + αl hj , y + hj r=1
Diese allgemeine Formulierung enth¨ alt die 2m + m2 freien Parameter γl , αl und βlr . Alle auszuwertenden Funktionen kl stehen in den Verfahrensgleichungen auf der linken und der rechten Seite. Das bedeutet, dass in jedem Schritt ein nichtlineares Gleichungssystem der Ordnung m · n aufzul¨ osen ist. Wir wollen deshalb auf die Allgemeinheit dieser Formulierung
354
8 Anfangswertprobleme
verzichten und uns mit Familien expliziter und (halb)-impliziter Runge-Kutta-Verfahren besch¨ aftigen, die wesentlich weniger freie Parameter enthalten.
8.2.3
Explizite Runge-Kutta-Verfahren
Definition 8.14. Ein Verfahren heißt explizites, m-stufiges Runge-Kutta-Verfahren, wenn die Verfahrensfunktion fh eine Linearkombination von Funktionswerten f (x, y) an verschiedenen Stellen (x, y) ist mit
fh (x, y) = γ1 k1 (x, y) + γ2 k2 (x, y) + · · · + γm km (x, y) k1 (x, y) k2 (x, y) k3 (x, y)
= = = .. .
km (x, y) =
f (x, y) f (x + α2 h, y + hβ21 k1 (x, y)) f (x + α3 h, y + h[β31 k1 (x, y) + β32 k2 (x, y)]) ⎛
f ⎝x + αm h, y + h
m−1 j=1
ur Schritt j. wobei x = xj , y = uj und h = hj f¨
(8.37)
(8.38)
⎞
βm,j kj (x, y)⎠ ,
Das Verfahren ist also bestimmt durch die Festlegung der 2m − 1 + m(m − 1)/2 reellen Parameter γ1 , γ2 , . . . , γm , α2 , α3 , . . . , αm , β21 , β31 , β32 , β41 , . . . , βm,m−1 . Beispiel 8.4. Ein zweistufiges explizites Runge-Kutta-Verfahren ist das Heun-Verfahren: uj+1 = uj + hj
„
« 1 1 f (xj , uj ) + f (xj+1 , uj + hj f (xj , uj )) . 2 2
Hier sind also γ1 = γ2 = 1/2, α2 = β21 = 1 und damit 1 1 1 1 fh (x, y) := k1 (x, y) + k2 (x, y) = f (x, y) + f (x + h, y + hf (x, y)). 2 2 2 2
(8.39)
△
Beispiel 8.5. Das einstufige explizite Runge-Kutta-Verfahren: fh (x, y) = γ1 k1 (x, y) = γ1 f (x, y) ist genau dann konsistent, wenn γ1 = 1 ist. Das ist das explizite Euler-Verfahren. Alle anderen Werte f¨ ur γ1 liefern keine Konsistenz. △
Allgemeine Koeffizienten-Bedingungen Um ein Runge-Kutta-Verfahren zu konstruieren, m¨ ussen die Koeffizienten γl , αl und βlr so bestimmt werden, dass die Lipschitz-Bedingung (8.30) erf¨ ullt ist, das Verfahren konsistent ist nach (8.25), und dar¨ uber hinaus eine m¨ oglichst hohe Konsistenzordnung erreicht wird. Aus diesen Forderungen ergeben sich zwei Bedingungen: 1. F¨ ur die Konsistenz muss der Gesamtzuwachs in einem Schritt hf sein, d.h. γ1 + γ2 + · · · + γm = 1.
(8.40)
355
8.2 Einschrittverfahren
Das werden wir in Lemma 8.15 beweisen. 2. Zum Erreichen einer m¨ oglichst hohen Konvergenzordnung sollte jedes kl (x, y) wenigstens eine h2 -Approximation von y ′ (x + αl h) sein. Daraus folgt die Forderung i−1 βil , i = 2, . . . , m. (8.41) αi = l=1
Das wollen wir beispielhaft f¨ ur l = 2 zeigen: y ′ (x + α2 h) = f (x + α2 h, y(x + α2 h)) = f (x + α2 h, y(x) + α2 hf + O(h2 )) = f (x + α2 h, y + α2 hf ) + O(h2 )fy . Ist f ∈ C 1 und fy < L < ∞, dann liefert β21 = α2 die gew¨ unschte h2 -Approximation von y ′ (x + α2 h). fy < L < ∞ folgt aber aus der globalen Lipschitz-Bedingung (8.7). Die restlichen Bedingungen ergeben sich entsprechend, wenn auch mit wesentlich komplexerer Rechnung. Lemma 8.15. Das m-stufige explizite Runge-Kutta-Verfahren mit der Verfahrensfunktion ullt ist. fh nach (8.37) ist konsistent mit (8.1), falls (8.40) erf¨ Beweis. Es gilt f − fh = f (xj , y(xj )) −
m l=1
γl kl (xj , y(xj )) → 0 mit hj → 0,
weil - mit hj → 0 jedes kl → f (xj , y(xj )) und damit wegen (8.40) auch die Linearkombination γl kl → f (xj , y(xj )).
Es bleibt zu zeigen, dass aus maxj fh (xj , y(xj )) − f (xj , y(xj )) → 0 mit h → 0 Konsistenz folgt. Dazu benutzen wir (
h
0
y ′ (xj + t)dt = y(xj + h) − y(xj ) und
(
h
y ′ (xj )dt = y ′ (xj )
(
h
dt = hy ′ (xj ).
0
0
Daraus folgt 1 1 max (y(xj + h) − y(xj )) − y ′ (xj ) = max j j h h
(
0
h
[y ′ (xj + t) − y ′ (xj )] dt
≤ max max y ′ (xj + t) − y ′ (xj ) → 0 mit h → 0 (y ∈ C 1 ). j
0≤t≤h
Nun ist aber 1 max τh (xj ) = max (y(xj + h) − y(xj )) − fh (xj , y(xj )) j j h 1 = max (y(xj + h) − y(xj )) −y ′ (xj ) + f (xj , y(xj )) −fh (xj , y(xj )). j h
Einschub = 0
356
8 Anfangswertprobleme
Mit dem ersten Teil des Beweises bekommt man also lim max τh (xj )
h→0
j
=
lim max f (xj , y(xj )) − fh (xj , y(xj )).
h→0
j
Daraus folgt, dass die Konvergenz von max τh (xj ) asymptotisch a¨quivalent ist mit der von max f − fh . Im folgenden Satz wollen wir die Konstruktion aller zweistufigen Runge-Kutta-Verfahren maximaler Konsistenzordnung herleiten. Er ist ein Beispiel f¨ ur die Konstruktion von RungeKutta-Verfahren, das ahnen l¨ asst, wie der Aufwand f¨ ur die Bestimmung der Parameter mit wachsendem m anw¨ achst. Wir beschr¨ anken uns in der Darstellung auf eine skalare Differenzialgleichung. Die Aussage gilt aber ebenso f¨ ur Systeme. Satz 8.16. Seien n = 1 und f ∈ C 3 ([a, b] × Ê, Ê ).
(i) Der lokale Abschneidefehler f¨ ur ein explizites, zweistufiges Runge-Kutta-Verfahren lautet: (8.42) τh (xj ) = (1 − γ1 − γ2 )f + 1 hj [ (1 − 2α2 γ2 ) fx + (1 − 2β21 γ2 ) f fy ] + O(h2j ) , 2 d.h. es ist konsistent mit der Ordnung 2, falls 1 γ1 + γ2 = 1, α2 = β21 = , γ2 = 0. (8.43) 2γ2 Also gibt es unendlich viele explizite Runge-Kutta-Verfahren 2. Ordnung. (ii) Es gibt kein konsistentes zweistufiges Runge-Kutta-Verfahren 3. Ordnung.
Beweis. Wir setzen x := xj , u := uj , h := hj , ν := α2 und µ := β21 . (8.42) folgt aus einem Vergleich der Taylor-Reihen von fh (x, u) und von (y(x + h) − y(x))/h f¨ ur den lokalen Diskretisierungsfehler τh (x): fh (x, u)
1 (y(x + h) − y(x)) h
= γ1 f (x, u) + γ2 [f + νhfx + µhf fy 1 + {ν 2 h2 fxx + 2νµh2 f fxy + µ2 h2 f 2 fyy }] + O(h3 ), 2 h h2 Df + D2 f + O(h3 ) 2 6 h h2 = f + (fx + f fy ) + (D(fx + f fy )) + O(h3 ) 2 6 h = f + (fx + f fy ) + 2 h2 (fxx + 2fxy f + fx fy + f fy2 + f 2 fyy ) + O(h3 ), 6 = f (x, y) +
also τh (x)
=
(1 − γ1 − γ2 )f +
h [(1 − 2γ2 ν)fx + (1 − 2γ2 µ)f fy ] 2
357
8.2 Einschrittverfahren
h2 [(1 − 3ν 2 γ2 )fxx + (2 − 6νµγ2 )f fxy 6 +(1 − 3µ2 γ2 )f 2 fyy + fx fy + f fy2 ] + O(h3 ). +
Damit folgt (8.42). Es folgt auch (ii), weil als ein Faktor von h2 der Ausdruck (fx fy + f fy2 ) auftritt, der unabh¨ angig von den Parametern µ, ν, γ1 , γ2 ist. Beispiel 8.6. Runge-Kutta-Verfahren 2. Ordnung: 1. Die verbesserte Polygonzug-Methode (Euler-Collatz-Verfahren) 1 γ2 = 1 ⇒ γ1 = 0 , α2 = β21 = 2 1 h ⇒ fh (x, y) = f (x + , y + hf (x, y)) 2 2 2. Das Verfahren von Heun, siehe Beispiel 8.4. 3. “Optimales Verfahren”: Will man m¨ oglichst viele h2 -Terme in τh (x) unabh¨ angig vom Vorzeichen verschwinden lassen, so kommt man zu 3 1 2 ⇒ γ1 = , α2 = β21 = ; 4 4 3 „ « 3 2 2 1 ⇒ fh (x, y) = f (x, y) + f x + h, y + hf (x, y) . 4 4 3 3 Es bleibt nur fx fy + f fy2 im h2 -Term von τh (x) u ¨ brig. γ2 =
△
Wir haben gesehen, dass man mit Stufe 2 Ordnung 2 erreichen kann; die allgemein erreichbaren Konsistenzordnungen f¨ ur die Stufen m = 1, . . . , 10 und die Anzahl der f¨ ur die Parameter entstehenden nichtlinearen Gleichungen entnimmt man der folgenden Tabelle, [But 65]. Ab Stufe 8 verdoppelt sich die Anzahl der Bedingungen mindestens pro Stufe. m
1
2
3
4
5
6
7
8
9
m ≥ 10
Erreichbare Konsistenzordnung p
1
2
3
4
4
5
6
6
7
≤m−2
Anzahl Bedingungen zur Parameterbestimmung
1
2
4
8
8
17
37
37
85
≥ 200
Wegen des Stufensprungs zwischen den Ordnungen p = 4 und p = 5 werden Verfahren der Ordnung und Stufe m = p = 4 besonders h¨aufig angewendet. F¨ ur die vielen in der Literatur beschriebenen Verfahren 4. Ordnung [Gea 71, Gri 72, But 63] gilt wie f¨ ur die in Beispiel 8.6 genannten Verfahren 2. Ordnung, dass Vorteile eines Verfahrens gegen¨ uber einem anderen immer vom Beispiel abh¨ angen. Mit anderen Worten: Alle Verfahren derselben Stufe und Ordnung sind von gleicher G¨ ute. Wichtig ist allerdings der Gesichtspunkt der Verfahrenssteuerung, siehe Abschnitt 8.2.5. Deswegen soll hier nur noch das so genannte klassische Runge-Kutta-Verfahren 4. Ordnung angegeben werden, das gegen¨ uber anderen Verfahren den sch¨onen Vorteil hat, das man es sich gut merken kann.
358
8 Anfangswertprobleme
Das klassische Runge-Kutta-Verfahren (1895, 1901) k1 k2 k3 k4 uj+1
8.2.4
:= f (xj , uj ) hj hj := f (xj + , uj + k1 ) 2 2 hj hj := f (xj + , uj + k2 ) 2 2 := f (xj + hj , uj + hj k3 ) hj = uj + (k1 + 2k2 + 2k3 + k4 ) 6
(8.44)
Halbimplizite Runge-Kutta-Verfahren
Die allgemeine Form (8.36) der Runge-Kutta-Verfahren wird auch voll implizit genannt. Da solche Verfahren schwierig herzuleiten sind und ihre Durchf¨ uhrung sehr aufw¨andig ist, werden sie nur bei Problemen angewendet, die besondere Stabilit¨atsvorkehrungen erfordern, z.B. bei steifen Systemen, auf die wir in Abschnitt 8.4.4 eingehen werden. Hier wollen wir nur kurz halbimplizite Runge-Kutta-Verfahren definieren und ein Beispiel geben. ur r > l: Das Verfahren (8.36) heißt halbimplizit, wenn βlr = 0 f¨ uj+1
=
u j + hj
m
γl kl (xj , uj ) mit
l=1
kl (x, y) =
f (x + αl h, y + h
l
(8.45) βlr kr (x, y))
r=1
Dann zerf¨ allt das nichtlineare Gleichungssystem, das in jedem Schritt zu l¨osen ist, in m Systeme n-ter Ordnung, die sukzessiv gel¨ ost werden k¨onnen. 1 und γ1 = 1 liefern 2 „ « hj hj = uj + hj k1 , k1 = f xj + , uj + k1 . 2 2
Beispiel 8.7. (Gauß-Form mit m = 1) α1 = β11 = uj+1
(8.46)
¨ Der Beweis des folgenden Lemmas ist eine Ubungsaufgabe.
Lemma 8.17. 1. Das Verfahren (8.46) hat die Konsistenzordnung p = 2. 2. f (x, y) sei zweimal stetig differenzierbar mit fy ≤ L. Weiter gelte L h/2 < 1. Dann gen¨ ugt ein Schritt des Newton-Verfahrens zum Erhalt der Konsistenzordnung p = 2, wenn (0) f¨ ur die L¨ osung des nichtlinearen Gleichungssystems (8.46) f¨ ur k1 der Startwert k1 = f (xj , uj ) (1) 2 gew¨ ahlt wird, d.h. dann ist k1 − k1 = O(h ). Wir wollen die f¨ ur (8.46) notwendige Vorgehensweise an einem konkreten Beispiel durchspielen. Auf die Differenzialgleichung −1 osung y(x) = y ′ = y 2 , y(0) = −1 mit der exakten L¨ 1+x
359
8.2 Einschrittverfahren soll ein Schritt des Verfahrens (8.46) mit h = h0 = 0.1 angewendet werden: u0
=
−1,
u1
=
−1 + hk1
mit k1 = (u0 +
h k1 ) 2 . 2
(8.47)
Dann ergibt die Aufl¨ osung von (8.47) nach Division durch 0.052 ( 0.910977 . g(k1 ) := k12 − 440k1 + 400 = 0 ⇒ k1 = 439.1 Nat¨ urlich muss die obere L¨ osung genommen werden. Das ergibt u1
=
y(x1 )
=
−1 + 0.0910977 = −0.908|9023 im Vergleich zu
0.9090.
Was w¨ urde ein Schritt Newton-Verfahren ergeben? g ′ (k1 ) = 2k1 − 440,
g(k1 )
=
0,
(0) k1
=
f (x0 , u0 ) = (−1)2 = 1
=⇒ k1
(1)
=
1−
=⇒ u1
=
12 − 440 + 400 = 0.91096 2 − 440 −1 + 0.091096 = −0.908|904.
Also liefert hier ein Schritt Newton-Verfahren f¨ ur (8.47) die gleiche Genauigkeit f¨ ur u1 wie die exakte L¨ osung der nichtlinearen Gleichung (8.47). △
Die beim impliziten Runge-Kutta-Verfahren in der allgemeinen Form (8.36) entstehenden nichtlinearen Gleichungen k¨ onnen auch mit einem Einzelschrittverfahren (0)
beliebig (siehe aber unten),
f¨ ur
r = 1, 2, . . . :
ki
(r)
ki
=
f
x + αi hj , y + hj
i−1 l=1
(r)
βil kl
+ hj
m
(r−1)
βil kl
l=i
(8.48) , i = 1, . . . , m,
gel¨ ost werden. Dies entspricht dem Gauß-Seidel-Verfahren bei der iterativen L¨osung von linearen Gleichungssystemen, siehe Kapitel 11. Unter milden Voraussetzungen konvergiert (r) ur i = 1, . . . , m, und es gen¨ ugen p Schritte des Verfahrens, um die ki → ki mit r → ∞ f¨ Konsistenzordnung p des Runge-Kutta-Verfahrens zu erhalten, [Gri 72]. Aber diese theoretische Aussage erweist sich praktisch als brauchbar nur f¨ ur sehr kleine h und vern¨ unftige (0) Startwerte ki . Deshalb ist meistens das Newton-Verfahren vorzuziehen.
8.2.5
Eingebettete Verfahren und Schrittweitensteuerung
Im Verlauf der numerischen Behandlung eines Differenzialgleichungssystems kann sich der Diskretisierungsfehler mit wachsendem x stark ¨andern. Deshalb spielt eine dem Problem angepasste Wahl der Schrittweite hj eine wichtige Rolle. Grunds¨atzlich soll die Schrittweite u atzung gesteuert werden. Da die Absch¨atzungen des globalen Fehlers wie ¨ ber eine Fehlersch¨ (8.35) oder (8.31) schwer zu bestimmen sind und dar¨ uber hinaus den tats¨achlichen Fehler
360
8 Anfangswertprobleme
meistens stark u atzen, ist eine Sch¨ atzung ¨bersch¨ . T (x, h) = |τh (x)|
(8.49)
des Betrags des lokalen Fehlers g¨ unstiger. Daf¨ ur gibt es unterschiedliche Methoden:
1. Sch¨ atzungen T f¨ ur τh , die vom speziellen Verfahren abh¨angen. So geben z.B. Ceschino und Kuntzmann in [Ces 66] eine Sch¨atzung des lokalen Abschneidefehlers f¨ ur beliebige Runge-Kutta-Verfahren 4. Ordnung an. 2. Parallelrechnung mit zwei Schrittweiten h und qh und Sch¨atzung des lokalen Diskretisierungsfehler mit Hilfe der beiden Ergebnisse u(qh) − u(h) . T (x, h) := (8.50) qp − 1 Hier bietet sich die zus¨ atzliche M¨ oglichkeit, das Ergebnis durch Extrapolation zu verbessern etwa wie in Abschnitt 3.1.6 dargestellt, siehe auch [Sto 02]. 3. Parallelrechnung mit zwei Verfahren verschiedener Ordnung oder Stufe. Zur Aufwandsersparnis werden dabei eingebettete Verfahren verwendet. Das sind Verfahren, bei denen die Koeffizienten gemeinsamer Stufe u ¨ bereinstimmen, sodass dann die Werte kl nur einmal berechnet werden m¨ ussen. Wir wollen zun¨ achst auf die letzte M¨ oglichkeit n¨aher eingehen. Eine vierstufige RungeKutta-Methode 4. Ordnung, die in eine sechsstufigen Methode 5. Ordnung eingebettet wird, wurde von England [Eng 69] vorgeschlagen. Fehlberg [Feh 69a] hat diese Idee zu mehreren besseren Varianten weiterentwickelt, bei der der lokale Diskretisierungsfehler gegen¨ uber England deutlich verringert werden kann. Eine dieser von Fehlberg vorgeschlagenen Methoden mit einfachen Zahlenwerten lautet k1
= f (xj , uj ) " # 2 2 k2 = f xj + h, uj + hk1 9 9 " # 1 1 1 k3 = f xj + h, uj + hk1 + hk2 (8.51) 3 12 4 " # 3 69 243 135 k4 = f xj + h, uj + hk1 − hk2 + hk3 4 128 128 64 # " 27 27 16 17 k5 = f xj + h, uj − hk1 + hk2 − hk3 + hk4 12 4 5 15 ! 1 9 16 1 uj+1 = uj + h k1 + k3 + k4 + k5 9 20 45 12 Dieses f¨ unfstufige Verfahren 4. Ordnung wird eingebettet mit der Erweiterung " # 65 5 13 4 5 5 k6 = f xj + h, uj + hk1 − hk2 + hk3 + hk4 + hk5 6 432 16 16 27 144 ! 47 12 32 1 6 k1 + k3 + k4 + k5 + k6 . u ˆj+1 = uj + h (8.52) 450 25 225 30 25 Sch¨ atzwert des lokalen Fehlers der Methode (8.51) ist der Betrag der Differenz u ˆj+1 − uj+1 T (xj+1 , h) =
h |−2k1 + 9k3 − 64k4 − 15k5 + 72k6 | . 300
(8.53)
361
8.2 Einschrittverfahren
In [But 87, Feh 64, Feh 68, Feh 69b, Feh 70] sind weitere Kombinationen expliziter RungeKutta-Verfahren verschiedener Ordnung mit eingebauter Schrittweitensteuerung angegeben. Eine anders geartete Methode der automatischen Schrittweitensteuerung stammt von Zonneveld [Str 74, Zon 79]. Der lokale Diskretisierungsfehler wird mit Hilfe einer weiteren Funktionsauswertung so abgesch¨ atzt, dass aus den berechneten ki -Werten eine geeignete Linearkombination gebildet wird. Eine weitere interessante Idee besteht auch darin, den lokalen Fehler auf Grund einer eingebetteten Methode niedrigerer Ordnung zu sch¨atzen [Dor 78, Dor 80, Hai 93]. Die Sch¨ atzung T des lokalen Fehlers kann auf unterschiedliche Weise zur Schrittweitensteuerung benutzt werden. Es wird eine Strategie ben¨otigt, wann die Schrittweite beibehalten, vergr¨ oßert oder verkleinert wird. Eine m¨ ogliche Strategie haben wir in Abb. 8.4 veranschaulicht. Steuerungsparameter sind neben der Sch¨atzung T die Fehlertoleranzen ε und ε/20 sowie der Faktor (hier 2), um den die Schrittweite vergr¨oßert bzw. verkleinert wird. Eingabe x0 , u0 , h0 , ε,
-
setze j := 0
? Ein Schritt des Verfahrens: uj → uj+1
? Berechnung der Sch¨ atzung T (xj+1 , hj ) f¨ ur den lokalen Diskretisierungsfehler h τh (xj+1 )
?
T (xj+1 , hj ) <
ε 20
ja
-
Schrittweite verdoppeln: hj+1 := 2hj
nein
? T (xj+1 , hj ) > ε
nein
-
ja
?
?
hj Schrittweite halbieren hj := 2 Schritt wiederholen!
xj+1 := xj + hj ,
?
?
j := j + 1
Abb. 8.4 Schema einer m¨ oglichen Strategie zur Schrittweitensteuerung.
Alternativ gibt es die M¨ oglichkeit, die Schrittweite auf Grund des Fehlersch¨atzers nach jedem Schritt neu zu berechnen. Muss im Strategie-Schema der Schritt wiederholt werden, so wird die Schrittweite nicht halbiert wie in Abb. 8.4, sondern nach der Sch¨atzformel neu
362
8 Anfangswertprobleme
festgelegt. Konkreter schl¨ agt Stoer [Sto 02] folgendes Vorgehen vor: Der Fehler wird durch Parallelrechnung mit h und h/2 nach (8.50) gesch¨atzt. Im Fall der Schrittwiederholung wird die neue Schrittweite festgelegt als √ halt p+1 ε √ hneu = p+1 (8.54) 2p T mit der vorgegebenen Toleranz ε und der Fehlersch¨atzung T . Der Schrittweiten-Sch¨atzer (8.54) beruht auf einer Sch¨ atzung des globalen Fehlers, siehe [Sto 02].
y(x) 15
10
5
x
0 0
1
3
2
Abb. 8.5 Schwingung mit wachsender Amplitude und Frequenz.
Beispiel 8.8. Es soll die lineare Differenzialgleichung y ′ = −(sin(x3 ) + 3 x3 cos(x3 )) y,
y(0) = 1
(8.55)
mit dem klassischen Runge-Kutta-Verfahren (8.44) und der gerade beschriebenen Schrittweitensteuerung nach Stoer [Sto 02] gel¨ ost werden. Die analytische L¨ osung ist y(x) = exp(−x sin(x3 )). Sie ¨ ahnelt einem glatten Einschwingvorgang, dem eine in Frequenz und Amplitude wachsende Schwingung folgt, siehe Abb. 8.5. Wir f¨ uhren jetzt mit einfacher Genauigkeit, also mit etwa acht wesentlichen Dezimalstellen, die folgenden drei Rechnungen durch: (a) Schrittweitensteuerung nach (8.50)/(8.54) mit der kleinen Toleranz ε = 1 · 10−7 . Es werden 4368 Funktionsauswertungen ben¨ otigt. (b) Wir verbrauchen dieselbe Zahl von 4368 Funktionsauswertungen, rechnen aber mit a ¨quidistanter Schrittweite. (c) Wir rechnen wieder mit ¨ aquidistanter Schrittweite, machen die Schrittweite aber so klein, dass der Fehler am Endpunkt etwa gleich dem aus der ersten Rechnung ist.
363
8.3 Mehrschrittverfahren
Die Ergebnisse haben wir in der folgenden Tabelle zusammengefasst. Sie zeigen deutlich, dass man ohne Schrittweitensteuerung bei einem Beispiel wie diesem entweder den 20-fachen Fehler oder den doppelten Aufwand in Kauf nehmen muss.
8.3
Methode
# Fkts.ausw.
(a) (b) (c)
4368 4368 8784
|ux=3 − y(3)| 0.145 · 10−4 3.170 · 10−4 0.144 · 10−4
hmin
hmax
2.7 · 10−3 8.2 · 10−3 4.1 · 10−3
0.5 8.2 · 10−3 4.1 · 10−3
△
Mehrschrittverfahren
In Abschnitt 8.1.1 haben wir mit der Mittelpunktregel uj+2 = uj + 2hfj+1 schon ein Mehrschrittverfahren kennen gelernt. Jetzt sollen diese systematischer behandelt werden. Dabei werden wir zun¨ achst auf eine Familie von expliziten und impliziten Methoden eingehen, bevor wir zur allgemeinen Konvergenztheorie und Verfahrenskonstruktion kommen. Allgemein betrachten wir m-Schritt-Verfahren. Dabei ist m die Anzahl der Werte uj+i , i = 0, 1, . . . , m−1, die an den als ¨ aquidistant vorausgesetzten Stellen xj+i vorliegen m¨ ussen. Sie werden zur Berechnung des neuen Wertes uj+m verwendet. uj+m stellt eine N¨aherung f¨ ur y(xj+m ) dar.
8.3.1
Verfahren vom Adams-Typ
Zur Herleitung einer wichtigen Klasse von Mehrschrittverfahren, den Verfahren vom AdamsTyp, wird folgende Integraldarstellung der exakten L¨osung benutzt: ( xj+m y(xj+m ) = y(xj+m−1 ) + f (x, y(x)) dx. (8.56) xj+m−1
Das Integral in (8.56) wird numerisch approximiert, indem f (komponentenweise) durch ein Polynom P vom H¨ ochstgrad r interpoliert wird P (xj+k )
= f (xj+k , uj+k ),
k = 0, 1, . . . , r,
und dieses exakt integriert wird mit oder
r=m r =m−1
=⇒ =⇒
implizites oder Interpolationsverfahren, explizites oder Extrapolationsverfahren.
Die so gewonnenen expliziten Verfahren bilden die Familie der Adams-Bashforth-Methoden, die impliziten die der Adams-Moulton-Methoden. Adams-Bashforth f¨ ur m = 2 Das Polynom P (x) entsteht durch lineare Interpolation der beiden Punkte (xj , fj ) und (xj+1 , fj+1 ). Wir transformieren das Intervall x ∈ [xj , xj+2 ] auf t ∈ [0, 2]. Dann ergibt sich
364
8 Anfangswertprobleme fj+k , P Adams-Bashforth: ×
Adams-Moulton: ◦
k
× k
× k
× k
× k
× k Zuwachs x
.
xj+1
xj
.
.
.
xj+m−2
xj+m−1
xj+m
Abb. 8.6 Konstruktion der Adams-Methoden.
mit der Vorw¨ artsdifferenz ∆fj = fj+1 − fj P (x) = P (xj + th) = fj + t∆fj .
(8.57)
Integration dieses Polynoms x(j+2
P (x) dx = h
xj+1
(2 1
& '2 ' & 3 1 t2 fj+1 − fj P (xj + th) dt = h t fj + ∆fj = h 2 2 2 1
ergibt mit (8.56) das Verfahren uj+2 = uj+1 +
h (3fj+1 − fj ). 2
(8.58)
Bevor wir uns im Abschnitt 8.3.2 genauer mit der Theorie der Mehrschrittverfahren auseinander setzen, wollen wir f¨ ur das einfache Verfahren (8.58) den lokalen Diskretisierungsfehler (8.24) berechnen. τh (xj+2 )
1 1 {y(xj+2 ) − y(xj+1 )} − {3f (xj+1 , y(xj+1 )) − f (xj , y(xj ))} h 2 1 1 = (y(xj+2 ) − y(xj+1 )) − {3y ′ (xj+1 ) − y ′ (xj )} h 2 h ′′ h2 (3) ′ = y (xj+1 ) + y (xj+1 ) + y (xj+1 ) + O(h3 ) 2 6 =2 < h2 (3) 11 ′ y (xj+1 ) + O(h3 ) − 3y (xj+1 ) − y ′ (xj+1 ) − hy ′′ (xj+1 ) + 2 2 5 2 (3) 3 = h y (xj+1 ) + O(h ) 12 (8.59) =: C3 h2 y (3) (xj+1 ) + O(h3 ) :=
Damit ist gezeigt, dass das Verfahren (8.58) die Ordnung p = 2 hat. Der Faktor C3 = 5/12 heißt Fehlerkonstante des Verfahrens, siehe Abschnitt 8.3.2.
365
8.3 Mehrschrittverfahren
Adams-Moulton f¨ ur m = 2 P (x) entsteht jetzt durch Interpolation von (xj , fj ), (xj+1 , fj+1 ), (xj+2 , fj+2 ). Das Newtonsche Interpolationsschema ergibt wegen der ¨aquidistanten St¨ utzstellen P (x)
=
fj + (x − xj )∆fj + (x − xj )(x − xj+1 )
∆2 fj 2
oder t(t − 1) 2 ∆ fj . (8.60) 2 Der Zuwachs berechnet sich wieder durch Integration dieses Polynoms x(j+2 " 3 #'2 & (2 t t2 t2 2 − P (x) dx = h P (xj + th) dt = h fj t + ∆fj + ∆ fj 2 6 4 1 P (xj + th) =
xj+1
fj + t∆fj +
1
' " # 7 3 3 − = h fj + (fj+1 − fj ) + (fj+2 − 2fj+1 + fj ) 2 6 4 h = [−fj + 8fj+1 + 5fj+2 ] . 12 Das ergibt das Verfahren h [−fj + 8fj+1 + 5fj+2 ]. uj+2 = uj+1 + (8.61) 12 Seinen lokalen Diskretisierungsfehler rechnen wir ganz analog zu (8.59) aus. 1 1 {y(xj+2 ) − y(xj+1 )} − {−y ′ (xj ) + 8y ′ (xj+1 ) + 5y ′ (xj+2 )} τh (xj+2 ) := h 12 h2 (3) h3 (4) h y (xj+1 ) + y (xj+1 ) + O(h4 ) = y ′ (xj+1 ) + y ′′ (xj+1 ) + 2 6 24 1 1 h2 (3) h3 (4) − − y ′ (xj+1 ) + hy ′′ (xj+1 ) − y (xj+1 ) + y (xj+1 ) 12 2 6 ′ + 8 y (xj+1 ) 2 h2 (3) h3 (4) y (xj+1 ) + y (xj+1 )] + O(h4 ) + 5 [y ′ (xj+1 ) + hy ′′ (xj+1 ) + 2 6 h3 (4) (8.62) = − y (xj+1 ) + O(h4 ) 24 Das Adams-Moulton-Verfahren mit m = 2 hat also die Ordnung p = m + 1 = 3 und die 1 Fehlerkonstante C3 = − . 24 &
Adams-Verfahren h¨ oherer Ordnung Diese ergeben sich v¨ ollig analog, wobei die Interpolation wegen der ¨aquidistanten St¨ utzstellen mit Vorw¨ artsdifferenzen besonders einfach durchzuf¨ uhren ist. Wir geben noch die expliziten Drei- bis Sechsschrittverfahren an. h (8.63) uj+3 = uj+2 + {23fj+2 − 16fj+1 + 5fj }, 12
366
8 Anfangswertprobleme
h {55fj+3 − 59fj+2 + 37fj+1 − 9fj }, (8.64) 24 h {1901fj+4 − 2774fj+3 + 2616fj+2 − 1274fj+1 + 251fj }, (8.65) = uj+4 + 720
uj+4 = uj+3 + uj+5
uj+6 = uj+5 +
h {4277fj+5 − 7923fj+4 + 9982fj+3 1440
− 7298fj+2 + 2877fj+1 − 475fj }.
(8.66)
Jedes explizite m-Schrittverfahren vom Typ Adams-Bashforth hat die Ordnung p = m. Dabei erfordern alle diese Verfahren pro Schritt nur eine Funktionsauswertung. Zudem erlaubt die Kombination von zwei Verfahren verschiedener Ordnung eine praktisch kostenlose Sch¨ atzung des lokalen Diskretisierungsfehlers. So ergibt sich beispielsweise f¨ ur das Vierschrittverfahren (8.64) in Kombination mit (8.65) der Sch¨atzwert h {251fj+3 − 1004fj+2 + 1506fj+1 − 1004fj + 251fj−1 }, (8.67) T (xj+4 , h) = 720 der zur Schrittweitensteuerung verwendet werden kann. Der lokale Diskretisierungsfehler einer Adams-Bashforth-Methode ist stets bedeutend gr¨oßer als der eines Runge-KuttaVerfahrens gleicher Ordnung. Als implizite Drei-,Vier- und F¨ unfschrittverfahren vom Typ Adams-Moulton ergeben sich h (8.68) uj+3 = uj+2 + {9f (xj+3 , uj+3 ) + 19fj+2 − 5fj+1 + fj } 24 h {251f (xj+4 , uj+4 ) 720 + 646fj+3 − 264fj+2 + 106fj+1 − 19fj }
uj+4
= uj+3 +
uj+5
= uj+4 +
h {475f (xj+5 , uj+5 ) + 1427fj+4 − 798fj+3 1440 + 482fj+2 − 173fj+1 + 27fj }.
(8.69)
(8.70)
Jedes implizite m-Schrittverfahren vom Typ Adams-Moulton hat die Ordnung p = m + 1. Die Berechnung von uj+m aus der impliziten Gleichung in jedem Integrationsschritt wird mit (0) ur eine implizite mder Pr¨ adiktor-Korrektor-Technik vermieden. Eine Startn¨aherung uj+m f¨ Schrittmethode von Adams-Moulton wird mit der expliziten m-Schrittmethode von AdamsBashforth bestimmt. Die implizite Formel wird nur dazu verwendet, diese Startn¨aherung mit einem einzigen Schritt der Fixpunkt-Iteration zu verbessern. Eine solche Kombination von zwei Dreischrittverfahren zu einer Pr¨adiktor-Korrektor-Verfahren lautet h (P ) uj+3 = uj+2 + {23fj+2 − 16fj+1 + 5fj }, 12 h (P ) uj+3 = uj+2 + {9f (xj+3 , uj+3 ) + 19fj+2 − 5fj+1 + fj }. (8.71) 24 Dieses Adams-Bashforth-Moulton-Verfahren, kurz als A-B-M-Verfahren bezeichnet, besitzt die Ordnung p = 4. Es kann gezeigt werden, dass eine Pr¨adiktor-Korrektor-Methode, die durch Kombination eines expliziten m-Schritt-Pr¨ adiktors der Ordnung m mit einem impliziten m-Schritt-Korrektor der Ordnung m + 1 erkl¨art ist, die Ordnung p = m + 1 besitzt
367
8.3 Mehrschrittverfahren (P C)
[Gri 72, Lam 91]. Die entsprechende Analyse zeigt, dass der Koeffizient Cm+2 von hm+2 des Hauptanteils des lokalen Diskretisierungsfehlers als Linearkombination der Konstan(P ) (C) ten Cm+1 und Cm+2 der beiden Verfahren gegeben ist, wobei problembedingt verschiedene (P C) (AB) Ableitungen von y(x) zur Bildung von Cm+2 auftreten. Da die Koeffizienten Cm+1 der (AM) Adams-Bashforth-Verfahren betragsm¨ aßig bedeutend gr¨oßer als die Konstanten Cm+2 der Adams-Moulton-Methoden sind (vgl. Tab. 8.3), wird die Gr¨oße des lokalen Diskretisierungsfehlers der Pr¨ adiktor-Korrektor-Methode im Wesentlichen durch den Hauptanteil der expliziten Pr¨ adiktor-Methode bestimmt. Die Situation wird verbessert, wenn als Pr¨ adiktorformel eine Adams-Bashforth-Methode mit der gleichen Ordnung wie die Korrektorformel verwendet wird. Wir kombinieren somit zwei Verfahren mit verschiedener Schrittzahl. Als Beispiel formulieren wir das Pr¨adiktorKorrektor-Verfahren, welches aus der expliziten Vierschrittmethode von Adams-Bashforth (8.64) als Pr¨ adiktor und aus der impliziten Dreischrittmethode von Adams-Moulton (8.68) besteht. h (P ) uj+4 = uj+3 + {55fj+3 − 59fj+2 + 37fj+1 − 9fj } 24 (8.72) h (P ) uj+4 = uj+3 + {9f (xj+4 , uj+4 ) + 19fj+3 − 5fj+2 + fj+1 } 24 Das Integrationsverfahren (8.72) besitzt wie (8.71) die Ordnung p = 4. Die Analyse des 19 (P C) Diskretisierungsfehlers zeigt aber, dass der Koeffizient des Hauptanteils C5 = =− 720 (AM) C5 ist. Bei solchen Kombinationen von Pr¨ adiktor-Korrektor-Verfahren ist stets der Koeffizient des Hauptanteils der Korrektorformel maßgebend [Gri 72, Lam 91]. Der lokale Diskretisierungsfehler der Methode (8.72) ist deshalb kleiner als derjenige von (8.71). Die praktische Anwendung der Pr¨ adiktor-Korrektor-Methode (8.72) erfordert selbstverst¨andlich vier adiktor ein Vierschrittverfahren zu Grunde liegt. Startwerte u0 , u1 , u2 , u3 , weil dem Pr¨ Tab. 8.1 Runge-Kutta-Methode und A-B-M-Verfahren.
xj 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0
y(xj ) 0 0.2626847 0.5092384 0.7423130 0.9639679 1.1758340 1.3792243 1.5752114 1.7646825 1.9483792 2.1269280
RungeKutta uj 0 0.2626829 0.5092357 0.7423100 0.9639648 1.1758309 1.3792213 1.5752087 1.7646799 1.9483769 2.1269258
A-B-M
(8.71)
(P )
uj
uj
0.9641567 1.1759651 1.3793138 1.5752742 1.7647268 1.9484106 2.1269503
0.9639538 1.1758147 1.3792027 1.5751894 1.7646610 1.9483588 2.1269089
A-B-M
(8.72)
(P )
uj
uj
0.9638945 1.1757894 1.3792028 1.5751995 1.7646775 1.9483785 2.1269298
0.9639751 1.1758460 1.3792382 1.5752258 1.7646965 1.9483924 2.1269401
368
8 Anfangswertprobleme
Beispiel 8.9. Wir behandeln die Anfangswertaufgabe y ′ = xex−y , y(1) = 0, mit den beiden AB-M-Methoden (8.71) und (8.72) und w¨ ahlen die Schrittweite h = 0.1. Um die beiden Verfahren unter gleichen Bedingungen vergleichen zu k¨ onnen, werden in beiden F¨ allen die drei Startwerte alt die N¨ aheu1 , u2 , u3 mit der klassischen Runge-Kutta-Methode (8.44) berechnet. Tab. 8.1 enth¨ rungswerte, die sowohl mit dem Runge-Kutta-Verfahren vierter Ordnung (8.44) als auch mit den beiden Pr¨ adiktor-Korrektor-Methoden erhalten worden sind, wobei f¨ ur diese Verfahren auch die (P ) Pr¨ adiktorwerte uj angegeben sind. Die Mehrschrittmethoden arbeiten etwas ungenauer als das Runge-Kutta-Verfahren. △
8.3.2
Konvergenztheorie und Verfahrenskonstruktion
Definition 8.18. (Ah ): Lineares Mehrschrittverfahren (MSV) (i) Zur L¨ osung von (8.1) im Intervall [a, b] sei eine konstante Schrittweite h > 0 gegeben mit b−a xj = a + jh, j = 0, 1 . . . , N, h = . N (ii) Start- oder Anlaufrechnung Es sei ein besonderes Verfahren (meistens ein Einschrittverfahren) gegeben, das die Werte u0 , u1 , . . . , um−1 an den Stellen x0 , x1 , . . . , xm−1 berechnet. (iii) Es seien reelle Zahlen a0 , a1 , . . . , am und b0 , b1 , . . . , bm gegeben mit am = 1. Bekannt seien die Werte uj , uj+1 , . . . , uj+m−1 . Gesucht ist die L¨ osung uj+m der Gleichungssysteme m 1 ak uj+k = fh (xj , uj , uj+1 , . . . , uj+m ), j = 0, 1, . . . , N − m, h k=0 (8.73) m m mit fh bk fj+k . bk f (xj+k , uj+k ) =: := k=0
k=0
(iv) Das Mehrschrittverfahren heißt explizit, falls bm = 0, und implizit, falls bm = 0.
Explizite Mehrschrittverfahren lassen sich nach uj+m aufl¨osen: uj+m = −
m−1
ak uj+k + h
k=0
m−1
bk fj+k .
(8.74)
k=0
Bei impliziten Mehrschrittverfahren muß man wie bei Einschrittverfahren das i.a. nichtlineare Gleichungssystem uj+m = g(uj+m ) l¨ osen mit g(uj+m ) := −
m−1
ak uj+k + h
k=0
m
bk fj+k .
k=0
Dazu reichen oft wenige Schritte des Einzelschrittverfahrens (wie (8.48)) oder der sukzessiven Iteration aus: (0)
uj+m
= uj+m−1 ,
369
8.3 Mehrschrittverfahren (l)
uj+m
(l−1)
= g(uj+m ),
l = 1, 2, . . . .
Diese Folge konvergiert, wenn q := h|bm |L < 1,
wo L Lipschitz-Konstante von f bez¨ uglich y ist. Die Anzahl der ben¨otigten Schritte kann (0) vermindert werden, wenn statt des Startwertes uj+m = uj+m−1 ein expliziter Euler-Schritt (0)
von uj+m−1 zu uj+m vollzogen wird, also (0)
uj+m = uj+m−1 + hf (xj+m−1 , uj+m−1 ). Definition 8.19. 1. Sei (Ah ) ein Mehrschrittverfahren mit eindeutig bestimmter L¨osung. Der lokale Abschneidefehler wird in Analogie zu (8.24) definiert als m m 1 τh (xj+m ) := ak y(xj+k ) − bk f (xj+k , y(xj+k )), (8.75) h k=0
k=0
j = 0, 1, . . . , N − m.
mit den Startwerten τh (xj ) := uj − y(xj ) f¨ ur j = 0, 1, . . . , m − 1. 2. (Ah ) heißt konsistent mit (A), wenn ur h → 0, j = 0, 1, . . . , N. max τh (xj ) → 0 f¨ j
(8.76)
3. (Ah ) besitzt die Konsistenzordnung p, wenn es ein K ∈ Ê gibt mit max τh (xj ) ≤ Khp mit h → 0, j = 0, 1, . . . , N. j
4. 1. und 2. erzeugendes oder charakteristisches Polynom des Mehrschrittverfahrens (Ah ) sind m aj ζ j , ̺(ζ) := j=0
σ(ζ)
:=
m
(8.77)
j
bj ζ .
j=0
Satz 8.20. (Ah ) hat mindestens die Konsistenzordnung p = 1, falls f ∈ C 1 , uj → y0 mit h → 0 f¨ ur j = 0, 1, . . . , m − 1 und ̺′ (1) = σ(1).
̺(1) = 0,
(8.78)
Beweis. Taylor-Entwicklung von τh um xj : τh (xj+m ) = = =
m
m
k=0 m
k=0 m
1 ak y(xj+k ) − bk f (xj+k , y(xj+k )) h 1 h 1 h
k=0 m k=0
ak y(xj+k ) − ak
&
bk y ′ (xj+k )
k=0
' 1 2 ′′ y(xj ) + k h y (xj ) + (k h) y (ξj+k ) 2 ′
370
8 Anfangswertprobleme
−
=
m
bk [y ′ (xj ) + k h y ′′ (ηj+k )]
k=0
mit Zwischenstellen ξj , . . . , ξj+m , ηj , . . . , ηj+m ∈ [a, b] m m m 1 ′ y(xj ) ak + y (xj ) bk k ak − h k=0 k=0 k=0 m m k2 +h ak y ′′ (ξj+k ) − k bk y ′′ (ηj+k ) 2 k=0 k=0
(∗)
= =
1 y(xj )̺(1) + y ′ (xj )[̺′ (1) − σ(1)] + O(h) h O(h).
(∗): Dieser Ausdruck ist beschr¨ ankt, weil y ′′ mit f ∈ C 1 im kompakten Intervall [a, b] beschr¨ ankt ist. Eine Verallgemeinerung dieser Vorgehensweise liefert: Lemma 8.21. 1. (Ah ) besitzt genau die Konsistenzordnung p f¨ ur alle f ∈ C p , wenn die sog. Fehlerkonstanten C0 = a0 + a1 + · · · + am , C1
= a1 + 2 a2 + · · · + m am − (b0 + b1 + b2 + · · · + bm ) und 1 (a1 + 2i a2 + · · · + mi am ) Ci = i! 1 (b1 + 2i−1 b2 + · · · + mi−1 bm ), − i = 2, . . . , p, (i − 1)! verschwinden, aber m m 1 ak k p+1 − (p + 1) bk k p = 0. Cp+1 = (p + 1)! k=0 k=0 2. Ci = 0 ⇐⇒ Di (t) = 0, t ∈ Ê, wo D0 = C0 und 1 ((−t)i a0 + (1 − t)i a1 + · · · + (m − t)i am ) Di (t) = i! % 1 − (−t)i−1 b0 + (1 − t)i−1 b1 + · · · + (m − t)i−1 bm . (i − 1)!
(8.79)
(8.80)
(8.81)
Beweis. (8.79) ist die rechnerische Weiterentwicklung der Taylor-Reihen-Betrachtung aus Satz 8.20. Di sind die Taylor-Koeffizienten von τh (xj + th). Deshalb muss f¨ ur (8.81) die uhrlichen Beweis findet man wie den Taylor-Reihe um xj + t h entwickelt werden. Den ausf¨ des n¨ achsten Lemmas in [Lam 91]. Lemma 8.22. Der lokale Diskretisierungsfehler eines Mehrschrittverfahrens mit der Fehlerkonstante Cp+1 nach (8.80) ist τh (xj+m ) = Cp+1 hp y p+1 (xj ) + O(hp+1 ).
(8.82)
371
8.3 Mehrschrittverfahren
Die N¨ aherungswerte uj einer linearen m-Schrittmethode (8.73) erf¨ ullen f¨ ur das Modellproblem (8.21) die lineare, homogene Differenzengleichung m-ter Ordnung m
k=0
(ak − hλbk ) uj+k = 0.
(8.83)
F¨ ur m = 3 lautet sie (a0 − hλb0 )uj + (a1 − hλb1 )uj+1 + (a2 − hλb2 )uj+2 + (a3 − hλb3 )uj+3 = 0.
(8.84)
F¨ ur eine feste Schrittweite h sind ihre Koeffizienten konstant. Der folgenden Betrachtung legen wir die Differenzengleichung 3-ter Ordnung (8.84) zu Grunde. Ihre allgemeine L¨osung bestimmt man mit dem Potenzansatz uj+k = ζ k , ζ = 0. Nach seiner Substitution in (8.84) erhalten wir f¨ ur ζ die algebraische Gleichung dritten Grades (a0 − hλb0 ) + (a1 − hλb1 )ζ + (a2 − hλb2 )ζ 2 + (a3 − hλb3 )ζ 3 = 0,
(8.85)
welche sich mit den beiden charakteristischen Polynomen (8.77) in der allgemeinen Form φ(ζ) := ̺(ζ) − hλσ(ζ) = 0
(8.86)
schreiben l¨ asst. (8.85) und (8.86) bezeichnet man als die charakteristische Gleichung der entsprechenden Differenzengleichung. (8.85) besitzt drei L¨osungen ζ1 , ζ2 , ζ3 , die wir zun¨achst paarweise verschieden voraussetzen wollen. Dann bilden ζ1k , ζ2k und ζ3k ein Fundamentalsystem von unabh¨ angigen L¨ osungen der Differenzengleichung (8.84). Auf Grund der Linearit¨at von (8.84) lautet ihre allgemeine L¨ osung uj+k = c1 ζ1k + c2 ζ2k + c3 ζ3k ,
c1 , c2 , c3 beliebig.
(8.87)
Die Konstanten ergeben sich aus den drei Startwerten u0 , u1 , u2 , die ja f¨ ur die Anwendung einer 3-Schrittmethode bekannt sein m¨ ussen. Die Bedingungsgleichungen lauten c1
+
c2
+
c3
=
u0
ζ1 c1
+
ζ2 c2
+
ζ3 c3
=
u1
+
ζ22 c2
+
ζ32 c3
=
u2
ζ12 c1
(8.88)
Unter der getroffenen Annahmen ζi = ζj f¨ ur i = j ist das lineare Gleichungssystem (8.88) eindeutig l¨ osbar, da seine Vandermondesche Determinante ungleich null ist. Mit den so beur die N¨aherungswerte uj stimmten Koeffizienten ci erhalten wir eine explizite Darstellung f¨ (j ≥ 3) des Modellproblems (8.21). Speziell kann das qualitative Verhalten der Werte uj auf Grund von (8.87) f¨ ur h → 0 und j → ∞ diskutiert werden. F¨ ur den wichtigen Fall λ < 0 in (8.21) ist die L¨osung y(x) exponentiell abklingend. Dies soll auch f¨ ur die berechneten ur beliebig kleine Schrittweiten h > 0. Wegen (8.87) Werte uj zutreffen, ganz besonders f¨ ist dies genau dann erf¨ ullt, wenn alle L¨ osungen ζi der charakteristischen Gleichung (8.86) betragsm¨ aßig kleiner als Eins sind. Da f¨ ur h → 0 die L¨osungen ζi von φ(ζ) = 0 wegen (8.86) in die Nullstellen des ersten charakteristischen Polynoms ̺(ζ) u urfen dieselben ¨ bergehen, d¨ folglich nicht außerhalb des abgeschlossenen Einheitskreises der komplexen Ebene liegen. Diese notwendige Bedingung f¨ ur die Brauchbarkeit eines Mehrschrittverfahrens zur Integration des Modellproblems gilt bis jetzt nur unter der Voraussetzung paarweise verschiedener L¨osungen ζi von (8.86).
372
8 Anfangswertprobleme
Falls beispielsweise f¨ ur ein Sechsschrittverfahren die L¨osungen ζ1 , ζ2 = ζ3 , ζ4 = ζ5 = ζ6 sind, dann hat die allgemeine L¨ osung der Differenzengleichung die Form [Hen 62, Hen 72] uj+k = c1 ζ1k + c2 ζ2k + c3 k ζ2k , +c4 ζ4k + c5 k ζ4k + c6 k (k − 1) ζ4k .
(8.89)
Aus dieser Darstellung schließt man wieder, dass uj+k genau dann mit zunehmendem k abklingt, wenn alle L¨ osungen ζi betragsm¨ aßig kleiner Eins sind. Diese Feststellungen f¨ uhren zu folgender Definition 8.23. 1. Ein lineares Mehrschrittverfahren erf¨ ullt die Wurzelbedingung (P), wenn f¨ ur die Nullstellen ζj , j = 1, . . . , m, des 1. erzeugenden Polynoms ̺(ζ) |ζj | ≤ 1 f¨ ur alle j = 1, . . . , m (8.90) gilt und die wesentlichen Wurzeln ζj mit |ζj | = 1 einfach sind. 2. Ein lineares Mehrschrittverfahren heißt Lipschitz-stabil (L-stabil, asymptotisch stabil, Null-stabil, Dahlquist-stabil), falls (P) erf¨ ullt ist. Einige Tatsachen wollen wir ohne Beweis anmerken: 1. Es kann wie bei den Einschrittverfahren gezeigt werden [Hen 82, Gri 72], dass aus Konsistenz und L-Stabilit¨ at Konvergenz folgt. 2. Es ist auch wieder die Konvergenzordnung gleich der Konsistenzordnung. 3. F¨ ur ein konsistentes, stabiles m-Schrittverfahren (Ah ) mit der Konsistenzordnung p gilt p ≤ m + 1, falls m ungerade, p ≤ m + 2,
falls m gerade. Dann gilt f¨ ur i = 1, . . . m : |ζi | = 1, falls p = m + 2.
(8.91)
Beispiel 8.10. Konstruktion eines Vierschritt-Verfahrens der Ordnung 6 Wegen (8.91) muss ̺(ζ) vier Nullstellen mit |ζi | = 1 haben. Als Ansatz versuchen wir ζ1 = 1, ζ2 = −1, ζ3 = eiϕ , ζ4 = e−iϕ , 0 < ϕ < π. iϕ
−iϕ
⇒ ̺(ζ)
=
(ζ − 1)(ζ + 1)(ζ − e )(ζ − e
⇒ ̺(ζ)
=
ζ 4 − 2 cos ϕζ 3 + 2 cos ϕζ − 1.
(8.92)
) wegen a4 = 1
Setze µ := cos ϕ. Dann sind a4 = 1 (wegen Def. 8.18 (iii)), a3 = −2µ, a2 = 0, a1 = 2µ, a0 = −1. p = 6 erf¨ ullen wir mit Hilfe von (8.81) durch L¨ osung von Di (t) = 0 mit t = 2. Damit nutzen wir die vorliegende Symmetrie aus. D0 (2)
=
a0 + a1 + a2 + a3 + a4 = 0
D1 (2)
=
D2 (2)
=
D3 (2)
=
−2a0 − a1 + a3 + 2a4 − (b0 + b1 + b2 + b3 + b4 ) = 0, 1 ! (4a0 + a1 + a3 + 4a4 ) −(−2b0 − b1 + b3 + 2b4 ) = 0, 2| {z } = 0 f¨ ur alle geraden i 1 1 (−8a0 − a1 + a3 + 8a4 ) − (4b0 + b1 + b3 + 4b4 ), 6 2! 2 1 8 ! − µ − (4b0 + b1 + b3 + 4b4 ) = 0, 3 3 2 1 ! − (−8b0 − b1 + b3 + 8b4 ) = 0, 3!
= D4 (2)
=
(ist erf¨ ullt, s.o.), !
373
8.3 Mehrschrittverfahren 2 5 1 ! (2 − 2µ) − (16b0 + b1 + b3 + 16b4 ) = 0, 5! 4! 1 ! D6 (2) = − (−32b0 − b1 + b3 + 32b4 ) = 0. 5! Die Gleichungen reduzieren sich, wenn man zur Symmetrie-Ausnutzung fordert D5 (2)
=
b0 = b4 , b 1 = b3 !
⇒ D2 = D4 = D6 = 0. !
Dann ergeben sich aus D3 = 0 und D5 = 0 2 4! 1 · (32 − 2µ). 4b0 + b1 = (8 − 2µ), 16b0 + b1 = 3 5! 2 Daraus folgt 1 1 b0 = (14 + µ) = b4 , b1 = (64 − 34µ) = b3 . 45 45 !
Damit folgt aus D1 = 0 1 1 (8 − 38µ). b2 = − (28 + 2µ + 128 − 68µ) + 4 − 4µ = 45 15 Damit sind f¨ ur unseren Ansatz (8.92) alle Bedingungen f¨ ur ein Verfahren der Ordnung p = 6 erf¨ ullt, und der Parameter ϕ ist sogar noch frei w¨ ahlbar. Die einfachste Wahl ist ϕ = π/2 mit cos ϕ = 0 = µ. Das ergibt die Methode h (14fj + 64fj+1 + 24fj+2 + 64fj+3 + 14fj+4 ) (8.93) uj+4 = uj + 45 mit der Fehlerkonstante 1 1 Cp+1 = Dp+1 (2) = (−27 a0 − a1 + a3 + 27 a4 ) − (26 b0 + b1 + b3 + 26 b4 ) 7! 6! 14 2 64 16 2 · 27 − (26 · + )=− . (8.94) = 7! 6! 45 45 1890 Dieses Verfahren erhalten wir auch, wenn wir das Integral in Z xj+4 f (x, y(x)) dx (8.95) y(xj+4 ) = y(xj ) + xj
numerisch integrieren, indem wir f durch das Interpolationspolynom durch die Punkte (xj , fj ), △ (xj+1 , fj+1 ), (xj+2 , fj+2 ), (xj+3 , fj+3 ), (xj+4 , fj+4 ) ersetzen und dieses exakt integrieren.
Beispiel 8.11. Das explizite lineare Zweischrittverfahren h [(3 − α)fj+1 − (1 + α)fj ] (8.96) 2 2 ist nach Satz 8.20 konsistent f¨ ur alle α ∈ Ê, denn es sind ̺(ζ) = ζ − (1 + α)ζ + α, also ̺(1) = 0, σ(ζ) = 21 ((3 − α) ζ − 1 − α) und damit ̺′ (1) = 1 − α = σ(1). Das Anfangswertproblem √ y ′ = 4x y in [a, b] = [0, 2], y(0) = 1, uj+2 = (1 + α)uj+1 − αuj +
hat die exakte L¨ osung y(x) = (1 + x2 )2 . Wir nehmen als Startwerte u0 = y0 = 1 und u1 = y(h) = osungen f¨ ur α = 0 und α = −5 mit h = 0.1 (1 + h2 )2 . Wir betrachten (aus [Lam 91]) numerische L¨ in Tab. 8.2 mit auf sechs wesentliche Stellen gerundeten Zahlenwerten. Die L¨ osung f¨ ur α = −5 ist auch f¨ ur kleinere Werte von h v¨ ollig falsch trotz der exakten Startwerte. Das liegt an der Verletzung der Wurzelbedingung (8.90) f¨ ur α = −5. Die Konsistenz allein ist eben nicht hinreichend f¨ ur die Konvergenz. △
374
8 Anfangswertprobleme
Tab. 8.2 Ergebnisse der Methode (8.96). x
y(x)
uj (α = 0)
uj (α = −5)
0 0.1 0.2 0.3 0.4 0.5 .. . 1.0 1.1 .. . 2.0
1.00000 1.02010 1.08160 1.18810 1.34560 1.56250 .. . 4.00000 4.88410 .. . 25.0000
1.00000 1.02010 1.08070 1.18524 1.33963 1.55209 .. . 3.94069 4.80822 .. . 24.6325
1.00000 1.02010 1.08120 1.18924 1.38887 1.59299 .. . −68.6398 +367.263 .. . −6.96 · 108
Beispiel 8.12. Wir wollen jetzt eine implizite Dreischrittmethode maximaler Ordnung mit b0 = b1 = b2 = 0 konstruieren. Die vier verbleibenden Parameter a0 , a1 , a2 und b3 werden erlauben, eine Methode der Ordnung drei zu konstruieren, falls sie die Gleichungen C0 C1 2 C2 6 C3
= a0 + a1 + a2 = a1 + 2 a2 − b3 = a 1 + 4 a 2 − 6 b3 = a1 + 8 a2 − 27 b3
+ + + +
1=0 3=0 9=0 27 = 0
erf¨ ullen. Als L¨ osung ergeben sich a0 = −2/11, a1 = 9/11, a2 = −18/11, b3 = 6/11, und die resultierende implizite Dreischrittmethode lautet uj+3 =
18 9 2 6 uj+2 − uj+1 + uj + hf (xj+3 , uj+3 ). 11 11 11 11
Sie wird nach Multiplikation mit 11/6 u ¨ blicherweise wie folgt geschrieben. 3 1 11 uj+3 − 3uj+2 + uj+1 − uj = hf (xj+3 , uj+3 ) 6 2 3
(8.97)
Das Verfahren (8.97) ist ein Repr¨ asentant aus der Klasse der R¨ uckw¨ artsdifferenziationsmethoden, die kurz BDF-Methoden (backward differentiation formulae) genannt werden [Gea 71, Hai 93, Hen 62]. Der Name erkl¨ art sich so, dass die linke Seite von (8.97) das h-fache einer Formel der numerischen Differenziation f¨ ur die erste Ableitung von y(x) an der Stelle xj+3 ist (vgl. Abschnitt 3.1.6). Die Differenzialgleichung y ′ = f (x, y) wird unter Verwendung einer Differenziationsformel an der Stelle xj+3 mit Hilfe von zur¨ uckliegenden Funktionswerten approximiert. Diese speziellen impliziten m-Schrittverfahren k¨ onnen auch direkt auf diese Weise hergeleitet werden, sie sind allgemein durch b0 = b1 = . . . = bm−1 = 0 charakterisiert und besitzen die Ordnung p = m. Die BDF-Methoden der Ordnungen p = m = 1 (das ist gerade das implizite Euler-Verfahren (8.14)) bis p = m = 6 sind besonders zur L¨ osung mild steifer Differenzialgleichungssysteme geeignet (Abschnitt 8.4.4 und [Hai 96]). BDF-Methoden mit m > 6 sind unbrauchbar, siehe auch Abschnitt 8.4.3. △
375
8.3 Mehrschrittverfahren
F¨ ur die Verfahren vom Adams-Typ gilt, dass ein m-stufiges implizites Verfahren trotz gleicher Ordnung besser ist als ein (m + 1)-stufiges explizites Verfahren, da es eine kleinere Fehlerkonstante (Tab. 8.3) und gr¨ oßere Stabilit¨ at (Abschnitt 8.4.3) besitzt. Tab. 8.3 Ordnungen und Fehlerkonstanten der Adams-Methoden. Adams-Bashforth (explizit) m p Cp+1
2 2 5 12
3 3 3 8
4 4 251 720
5 5 95 288
6 6 19087 60480
Adams-Moulton (implizit) 2 3 1 − 24
3 4 19 − 720
4 5 3 − 160
5 6 863 − 60480
Start- oder Anlaufrechnung Um ein m-Schrittverfahren u ¨berhaupt anwenden zu k¨onnen, sind neben dem Anfangswert y0 = u0 noch (m − 1) weitere Startwerte u1 , u2 , . . . , um−1 n¨otig. Die einfachste M¨oglichkeit zu ihrer Berechnung ist die Verwendung eines Einschrittverfahrens derselben Ordnung. Eine bessere M¨ oglichkeit ergibt sich, wenn vom Startpunkt (x0 , y0 ) ausgehend die M¨oglichkeit besteht, mit negativer Schrittweite zu rechnen. Es k¨onnen dann mit den Schrittweiten h und −h m Startwerte symmetrisch zu x0 . . . , u−2 , u−1 , u0 = y0 , u1 , u2 , . . .
berechnet werden, und das Mehrschrittverfahren startet ‘weiter links’ im Intervall [a, b]. Eine noch bessere M¨ oglichkeit ist der sukzessive Aufbau der Startwerte mit Mehrschrittverfahren wachsender Ordnung [Gri 72]. Schrittweitensteuerung Wie bei Einschrittverfahren, siehe Abschnitt 8.2.5, sollte auch bei Mehrschrittverfahren die Schrittweite variabel gesteuert werden, am einfachsten wieder, indem parallel mit zwei Verfahren unterschiedlicher Ordnung gerechnet wird und dann die Differenz als Sch¨atzer wie (8.67) gew¨ ahlt wird. Problematischer als bei Einschrittverfahren ist der Wechsel der Schrittweite. Ein Einschrittverfahren ben¨ otigt nur den letzten u-Wert, w¨ahrend ein mSchritt-Verfahren m zur¨ uck liegende Werte zur Berechnung von uj+m ben¨otigt. Bei einer Schrittweiten-Verdoppelung m¨ ussen m − 2 zus¨atzliche u- und f -Werte gespeichert bleiben. Nach einer Verdoppelung m¨ ussen m − 1 Schritte ohne erneute Verdoppelung durchgef¨ uhrt werden. 8 7 Zwischenwerte berechnet werden, die Bei einer Schrittweiten–Halbierung m¨ ussen m+1 2 mindestens die Genauigkeit des Verfahrens besitzen. Zur Berechnung dieser Zwischenwerte kommen zwei Methoden in Betracht: 1. Es wird das Verfahren der Anlaufrechnung verwendet.
376
8 Anfangswertprobleme
2. Die Zwischenwerte werden durch Interpolation berechnet, wobei sehr genaue Interpolationsmethoden verwendet werden m¨ ussen, um die Ordnung des Mehrschrittverfahrens zu erhalten. Speziell f¨ ur Vierschritt-Verfahren besitzen die Interpolationsformeln [Kei 56] 1 (80uj+3 + 135uj+2 + 40uj+1 + uj ) uj+m− 23 = 256 h (−15fj+3 + 90fj+2 + 15fj+1 ), + 256 (8.98) 1 (12uj+3 + 135uj+2 + 108uj+1 + uj ) uj+m− 25 = 256 h + (−3fj+3 − 54fj+2 + 27fj+1 ) 256 7 die Genauigkeit O(h ). Es gibt noch zwei wesentlich verfeinerte Methoden zur Genauigkeitssteuerung. 1. Verfahren mit variabler Schrittweite nach Krogh, bei denen f¨ ur jeden Schritt die Koeffizienten des Verfahrens neu berechnet werden [Hai 93]. 2. Verfahren variabler Ordnung und Schrittweite wie die BDF-Verfahren, bei denen beide Gr¨ oßen kombiniert gesteuert werden.
8.4
Stabilit¨at
Bei der Wahl eines bestimmten Verfahrens zur gen¨aherten L¨osung eines Differenzialgleichungssystems erster Ordnung sind die Eigenschaften der gegebenen Differenzialgleichungen und der resultierenden L¨ osungsfunktionen zu ber¨ ucksichtigen. Tut man dies nicht, k¨onnen die berechneten N¨ aherungsl¨ osungen mit den exakten L¨osungsfunktionen sehr wenig zu tun haben oder schlicht sinnlos sein. Es geht im Folgenden um die Analyse von Instabilit¨aten, die bei unsachgem¨ aßer Anwendung von Verfahren auftreten k¨onnen, und die es zu vermeiden gilt [Dah 85, Rut 52].
8.4.1
Inh¨arente Instabilit¨at
Wir untersuchen die Abh¨ angigkeit der L¨ osung y(x) vom Anfangswert y(x0 ) = y0 anhand einer Klasse von Differenzialgleichungen, deren L¨ osungsmenge geschlossen angegeben werden kann. Die Anfangswertaufgabe laute y ′ (x) = λ{y(x) − F (x)} + F ′ (x),
y(x0 ) = y0 ,
(8.99) λx
wo F (x) mindestens einmal stetig differenzierbar sei. Da yhom (x) = Ce die allgemeine L¨ osung der homogenen Differenzialgleichung und ypart (x) = F (x) eine partikul¨are L¨osung der inhomogenen Differenzialgleichung ist, lautet die L¨osung von (8.99) y(x) = {y0 − F (x0 )}eλ(x−x0 ) + F (x).
(8.100)
F¨ ur den speziellen Anfangswert y0 = F (x0 ) ist y(x) = F (x), und der Anteil der Exponentialfunktion ist nicht vorhanden. F¨ ur den leicht ge¨ anderten Anfangswert yˆ0 = F (x0 ) + ε, wo
377
8.4 Stabilit¨ at
ε eine betragsm¨ aßig kleine Gr¨ oße darstellt, lautet die L¨osungsfunktion yˆ(x) = εeλ(x−x0 ) + F (x).
(8.101)
Ist λ ∈ Ê, λ > 0, nimmt der erste Summand in yˆ(x) mit zunehmendem x exponentiell zu, so dass sich die benachbarte L¨ osung yˆ(x) von y(x) mit zunehmendem x immer mehr ¨ entfernt. Es besteht somit eine starke Empfindlichkeit der L¨osung auf kleine Anderungen ε des Anfangswertes. Die Aufgabenstellung kann als schlecht konditioniert bezeichnet werden. Da die Empfindlichkeit der L¨ osungsfunktion durch die gegebene Anfangswertaufgabe bedingt ist, bezeichnet man diese Ph¨ anomen als inh¨arente Instabilit¨at. Sie ist unabh¨angig von der verwendeten Methode zur gen¨ aherten L¨osung von (8.99). Sie ¨außert sich so, dass sich die berechneten N¨ aherungswerte un entsprechend zu (8.101) von den exakten Werten y(xn ) = F (xn ) in exponentieller Weise entfernen. Wenn u ¨ berhaupt, dann ist die inh¨arente Instabilit¨ at nur so in den Griff zu bekommen, dass mit Methoden hoher Fehlerordnung und mit hoher Rechengenauigkeit gearbeitet wird, um sowohl die Diskretisierungs- als auch die Rundungsfehler gen¨ ugend klein zu halten. y y(x)
0.5
uj
x
0 0.5
1.0
1.5
2.0
−0.5
Abb. 8.7 Zur inh¨ arenten Instabilit¨ at.
Beispiel 8.13. Wir betrachten die Anfangswertaufgabe j y ′ (x) = 10 y(x) −
x2 1 + x2
ff
+
2x , (1 + x2 )2
y(0) = y0 = 0,
vom Typus (8.99) mit der L¨ osung y(x) = x2 /(1 + x2 ). Mit dem klassischen Runge-Kutta-Verfahren vierter Ordnung (8.44) ergeben sich bei einer Schrittweite h = 0.01 die N¨ aherungen uj , welche zusammen mit y(x) in Abb. 8.7 dargestellt sind. Die inh¨ arente Instabilit¨ at wird sehr deutlich. △
378
8.4.2
8 Anfangswertprobleme
Absolute Stabilit¨at bei Einschrittverfahren
W¨ ahrend wir im letzten Abschnitt gesehen haben, dass ein Differenzialgleichungsproblem instabil sein kann mit den entsprechenden Auswirkungen auf die numerische L¨osung, wollen wir uns jetzt der so genannten Stabilit¨at f¨ ur endliche h zuwenden. Dabei geht es um die Vermeidung von numerischer Instabilit¨ at, die wir schon in den einleitenden Beispielen 8.1 und 8.2 kennen gelernt haben. Um die Stabilit¨ at f¨ ur endliche h zu charakterisieren, sind zahlreiche Begriffe und Definitionen eingef¨ uhrt worden. Wir wollen uns auf den wichtigsten Begriff, den der absoluten Stabilit¨at, beschr¨ anken. Die Betrachtungen werden wieder am linearen Modellproblem y ′ (x) = λy(x),
y(0) = 1,
λ ∈ Ê oder λ ∈
(8.102)
mit der bekannten L¨ osung y(x) = eλx durchgef¨ uhrt. Als typischen Vertreter der Einschrittmethoden betrachten wir das klassische Runge-Kutta-Verfahren (8.44) vierter Ordnung und bestimmen seine Wirkungsweise f¨ ur die Anfangswertaufgabe (8.102). Wir erhalten sukzessive k1 k2 k3 k4 uj+1
= λuj " # " # 1 1 = λ uj + hk1 = λ + hλ2 uj 2 2 " # " # 1 1 2 1 2 3 = λ uj + hk2 = λ + hλ + h λ uj 2 2 4 " # 1 3 4 1 2 3 2 = λ(uj + hk3 ) = λ + hλ + h λ + h λ uj 2 4 h = uj + {k1 + 2k2 + 2k3 + k4 } 6 " # 1 1 1 = 1 + hλ + h2 λ2 + h3 λ3 + h4 λ4 uj 2 6 24
(8.103)
Nach (8.103) entsteht uj+1 aus uj durch Multiplikation mit dem Faktor 1 1 1 F (hλ) := 1 + hλ + h2 λ2 + h3 λ3 + h4 λ4 , (8.104) 2 6 24 der vom Produkt hλ abh¨ angt und offensichtlich gleich dem Beginn der Taylor-Reihe f¨ ur ehλ ist mit einem Fehler O(h5 ). F¨ ur die L¨ osung y(x) gilt ja y(xj+1 ) = y(xj + h) = ehλ y(xj ), und somit steht die letzte Feststellung im Einklang damit, dass der lokale Diskretisierungsfehler der klassischen Runge-Kutta-Methode von der Ordnung O(h4 ) ist. Der Multiplikator F (hλ) (8.104) stellt f¨ ur betragskleine Werte hλ sicher eine gute Approximation f¨ ur ehλ dar. F¨ ur den wichtigen Fall abklingender L¨ osung λ < 0 sollen die N¨aherungswerte uj mit y(xj ) abklingen. Das ist aber nur der Fall, wenn |F (hλ)| < 1 ist. F¨ ur das Polynom vierten Grades ur alle negativen Werte F (hλ) gilt lim F (hλ) = +∞. Deshalb kann |F (hλ)| < 1 nicht f¨ hλ→−∞
von hλ erf¨ ullt sein.
Systeme von Differenzialgleichungen besitzen oft auch oszillierende, exponentiell abklingende Komponenten, welche komplexen Werten von λ entsprechen. F¨ ur die jetzt komplexwertige L¨ osung y(x) gilt wiederum y(xj+1 ) = ehλ y(xj ). Der komplexe Faktor ehλ ist im
379
8.4 Stabilit¨ at
interessierenden Fall mit Re(λ) < 0 betragsm¨aßig kleiner Eins. Damit die berechneten N¨ aherungswerte uj wenigstens wie y(xj ) dem Betrag nach abnehmen, muss wiederum die notwendige und hinreichende Bedingung |F (hλ)| < 1 erf¨ ullt sein.
Analoge Bedingungen gelten f¨ ur alle expliziten Runge-Kutta-Verfahren. Eine einfache Rechnung zeigt, dass bei Anwendung eines expliziten p-stufigen Runge-Kutta-Verfahrens der Fehlerordnung p ≤ 4 auf das Modellproblem (8.21) der Faktor F (hλ) stets gleich den ersten (p + 1) Termen der Taylor-Reihe von ehλ ist. Runge-Kutta-Verfahren h¨oherer Ordnung p erfordern aber m > p Stufen, so dass F (hλ) ein Polynom vom Grad m wird, welches in den ersten (p + 1) Termen mit der Taylor-Reihe von ehλ u ¨bereinstimmt. Die Koeffizienten bis zur Potenz m sind vom Verfahren abh¨ angig. Die notwendige und hinreichende Bedingung erfasst man mit der
Definition 8.24. 1. F¨ ur ein Einschrittverfahren, welches f¨ ur das Modellproblem (8.21) auf uj+1 = F (hλ)uj f¨ uhrt, heißt die Menge (8.105) B := {µ ∈ | |F (µ)| < 1} mit µ = hλ Gebiet der absoluten Stabilit¨at. 2. Ein Verfahren, f¨ ur das das Gebiet B der absoluten Stabilit¨at die gesamte linke Halbebene umfasst, heißt absolut stabil. Die Schrittweite h ist so zu w¨ ahlen, dass f¨ ur Re(λ) < 0 stets hλ ∈ B gilt. Andernfalls liefert das Verfahren unsinnige Ergebnisse, es arbeitet instabil. Diese Stabilit¨atsbedingung ist speziell bei der Integration von Differenzialgleichungssystemen zu beachten, denn die Schrittweite h ist so zu bemessen, dass f¨ ur alle λj mit Re(λj ) < 0 (die sog. Abklingkonstanten) die Bedingungen hλj ∈ B erf¨ ullt sind. 4i
Im(µ)
3i
p=3 p=4
2i
p=2 p=1
N5
L5
i
Re(µ) −6
−5
−4
−3
−2
−1
0
Abb. 8.8 Stabilit¨ atsgebiete f¨ ur explizite Runge-Kutta-Methoden.
In Abb. 8.8 sind die Berandungen der Gebiete der absoluten Stabilit¨at f¨ ur explizite RungeKutta-Verfahren der Ordnungen p = 1, 2, 3, 4, 5 f¨ ur die obere H¨alfte der komplexen Ebene dargestellt, denn die Gebiete sind symmetrisch bez¨ uglich der reellen Achse. Im Fall p = 5 ist
380
8 Anfangswertprobleme
die spezielle Runge-Kutta-Methode von Nystr¨om [Gri 72] zu Grunde gelegt mit der Eigenschaft, dass F (hλ) mit den ersten sechs Termen der Taylor-Reihe von ehλ u ¨ bereinstimmt. Die Randkurve wurde mit N5 beschriftet. Die Stabilit¨ atsgebiete werden mit zunehmender Ordnung gr¨oßer. Das Stabilit¨atsgebiet der Methode von Euler ist das Innere des Kreises vom Radius Eins mit Mittelpunkt µ = −1. Ein Maß f¨ ur die Gr¨ oße des Stabilit¨ atsgebietes ist das Stabilit¨atsintervall f¨ ur reelle negative Werte µ. Tab. 8.4 enth¨ alt die Angaben u ¨ ber die Stabilit¨atsintervalle der Methoden der Ordnungen p = 1, 2, 3, 4, 5, wobei im letzten Fall wieder die Methode von Nystr¨om angenommen ist. Tab. 8.4 Stabilit¨ atsintervalle von Runge-Kutta-Verfahren.
p=
1
2
3
4
5
Intervall
(−2.0, 0)
(−2.0, 0)
(−2.51, 0)
(−2.78, 0)
(−3.21, 0)
Lawson [Law 66] hat ein sechsstufiges Runge-Kutta-Verfahren f¨ unfter Ordnung mit dem besonders großen Stabilit¨ atsintervall (−5.6, 0) angegeben. Der Rand des zugeh¨origen Stabilit¨ atsgebiets wurde in Abb. 8.8 mit L5 beschriftet. Nun betrachten wir die impliziten Einschrittverfahren, zu denen die Trapezmethode und die impliziten Runge-Kutta-Verfahren geh¨ oren. Die Trapezmethode (8.16) ergibt f¨ ur das Modellproblem (8.21) die explizite Rechenvorschrift h uj+1 = uj + {λuj + λuj+1 }, also 2 uj+1
=
1 + hλ/2 uj =: F (hλ)uj . 1 − hλ/2
Die Funktion F (hλ) ist jetzt gebrochen rational mit der Eigenschaft 2 + µ < 1 f¨ ur alle µ mit Re(µ) < 0, |F (µ)| = 2 − µ
(8.106)
(8.107)
denn der Realteil des Z¨ ahlers ist f¨ ur Re(µ) < 0 betragsm¨aßig stets kleiner als der Realteil des Nenners, w¨ ahrend die Imagin¨ arteile entgegengesetzt gleich sind. Das Gebiet der absoluten Stabilit¨ at der Trapezmethode umfasst somit die ganze linke Halbebene, sie ist also absolut stabil; es ist keine Grenze f¨ ur die Schrittweite h zu beachten. Das Gleiche gilt f¨ ur das implizite Euler-Verfahren (8.14). Auch das einstufige halbimplizite Runge-Kutta-Verfahren (8.46), dessen zugeh¨ orige Funktion F (hλ) mit der der Trapezmethode u ¨ bereinstimmt, ist absolut stabil. Auf die problemgerechte Wahl von h werden wir im Zusammenhang mit steifen Differenzialgleichungssystemen in Abschnitt 8.4.4 eingehen.
8.4.3
Absolute Stabilit¨at bei Mehrschrittverfahren
Das Problem der Stabilit¨at f¨ ur endliche h stellt sich auch bei den linearen Mehrschrittver¨ fahren. Nach den Uberlegungen von Abschnitt 8.3.2, welche zur Definition der Wurzelbedinur das Modellproblem gung bzw. der L-Stabilit¨ at f¨ uhrten, erf¨ ullen die N¨ aherungswerte uj+k f¨
381
8.4 Stabilit¨ at
(8.21) einer allgemeinen Mehrschrittmethode (8.73) die lineare Differenzengleichung (8.83) m-ter Ordnung. Ihre allgemeine L¨ osung ergibt sich mit den m Wurzeln ζ1 , ζ2 , . . ., ζm der charakteristischen Gleichung φ(ζ) = ̺(ζ) − hλσ(ζ) = 0 als k uj+k = c1 ζ1k + c2 ζ2k + . . . + cm ζm ,
(8.108)
wobei die ζi vereinfachend als paarweise verschieden angenommen sind. Die allgemeine L¨osung (8.108) klingt im allein interessierenden Fall Re(λ) < 0 genau dann ab, wenn alle aßig kleiner als Eins sind. Dies gilt auch dann, wenn mehrfache ζi Wurzeln ζi betragsm¨ vorkommen, vgl. (8.89). Definition 8.25. 1. Zu einer linearen Mehrschrittmethode (8.73) heißt die Menge der komplexen Werte µ = hλ, f¨ ur welche die charakteristische Gleichung φ(ζ) = ̺(ζ) − µσ(ζ) = 0 nur L¨ osungen ζj ∈ im Innern des Einheitskreises besitzt, Gebiet B der absoluten Stabilit¨at . 2. Ein Mehrschrittverfahren, f¨ ur welches das Gebiet B der absoluten Stabilit¨at die gesamte linke Halbebene umfasst, heißt absolut stabil. Die explizite Vierschrittmethode von Adams-Bashforth (8.64) hat die charakteristische Gleichung (nach Multiplikation mit 24) 24φ(ζ) = 24ζ 4 − (24 + 55µ)ζ 3 + 59µζ 2 − 37µζ + 9µ = 0.
(8.109)
Der Rand des Stabilit¨ atsgebietes f¨ ur Mehrschrittmethoden kann als geometrischer Ort der ur welchen |ζ| = 1 ist. Dazu gen¨ ugt es, mit ζ = eiθ , 0 ≤ θ ≤ Werte µ ∈ ermittelt werden, f¨ 2π den Einheitskreis zu durchlaufen und die zugeh¨origen Werte µ zu berechnen. Im Fall der charakteristischen Gleichung (8.109) f¨ uhrt dies f¨ ur µ auf die explizite Darstellung µ=
55ζ 3
̺(ζ) 24ζ 4 − 24ζ 3 = , − 59ζ 2 + 37ζ − 9 σ(ζ)
ζ = eiθ ,
0 ≤ θ ≤ 2π.
Der Rand des Stabilit¨ atsgebietes ist offensichtlich symmetrisch zur reellen Achse. Deshalb ist er f¨ ur die Vierschrittmethode von Adams-Bashforth (8.64) in Abb. 8.9 nur f¨ ur die obere Halbebene dargestellt und mit AB4 gekennzeichnet. Das Stabilit¨atsintervall (−0.3, 0) ist im Vergleich zu den Runge-Kutta-Verfahren vierter Ordnung etwa neunmal kleiner. Die expliziten Adams-Bashforth-Methoden besitzen allgemein sehr kleine Gebiete absoluter Stabilit¨at. Die zur impliziten Vierschrittmethode von Adams-Moulton (8.69) geh¨orende charakteristische Gleichung ist nach Multiplikation mit 720 (720 − 251µ)ζ 4 − (720 + 646µ)ζ 3 + 264µζ 2 − 106µζ + 19µ = 0.
(8.110)
Der zugeh¨ orige Rand des Gebietes der absoluten Stabilit¨at ist in Abb. 8.9 eingezeichnet und mit AM4 beschriftet. Im Vergleich zur expliziten Vierschrittmethode ist das Stabilit¨atsgebiet bedeutend gr¨ oßer, das Stabilit¨ atsintervall ist (−1.836, 0). Obwohl die Methode implizit ist, ist das Stabilit¨ atsgebiet endlich, und das Verfahren ist nicht absolut stabil. Das Gebiet der absoluten Stabilit¨ at der impliziten Dreischrittmethode von Adams-Moulton (8.68) mit der Ordnung p = 4, dessen Rand in Abb. 8.9 mit AM3 bezeichnet ist, ist noch gr¨ oßer. Das Stabilit¨ atsintervall (−3.0, 0) ist sogar gr¨oßer als dasjenige des klassischen Runge-Kutta-Verfahrens gleicher Ordnung.
382
8 Anfangswertprobleme Im(µ) 2
1.5 AM 4
AM 3
1
0.5 (ABM 43)
ABM 43 AB 4
−3
−2
−2.5
−1.5
−1
−0.5
Re(µ) 0.5
Abb. 8.9 Gebiete absoluter Stabilit¨ at f¨ ur verschiedene Mehrschrittmethoden.
Oft wird die Adams-Moulton-Methode in Verbindung mit der Adams-Bashforth-Methode als Pr¨ adiktor-Korrektor-Verfahren verwendet. Das Verfahren (8.72) liefert f¨ ur das Modellproblem den folgenden Pr¨ adiktor- und Korrektorwert (P )
hλ {55uj+3 − 59uj+2 + 37uj+1 − 9uj } 24 ! & hλ hλ (55uj+3 − 59uj+2 + 37uj+1 − 9uj ) = uj+3 + 9 uj+3 + 24 24 '
uj+4 = uj+3 + uj+4
+19uj+3 − 5uj+2 + uj+1 .
Durch Addition von 9uj+4 und anschließender Subtraktion desselben Wertes in der eckigen Klammer erhalten wir die Differenzengleichung hλ uj+4 − uj+3 − {9uj+4 + 19uj+3 − 5uj+2 + uj+1 } 24 ! hλ 9hλ (55uj+3 − 59uj+2 + 37uj+1 − 9uj ) = 0. + uj+4 − uj+3 − 24 24
(8.111)
In (8.111) erscheinen die Koeffizienten der ersten und zweiten charakteristischen Polynome ̺AM (ζ), σAM (ζ), bzw. ̺AB (ζ), σAB (ζ) der beiden zu Grunde liegenden Verfahren. Die zu (8.111) geh¨ orende charakteristische Gleichung lautet (AM)
(AM) b3
φABM (ζ) = ζ[̺AM (ζ) − µσAM (ζ)] + b3
µ{̺AB (ζ) − µσAB (ζ)} = 0.
(8.112)
= 9/24 bedeutet den Koeffizienten b3 der impliziten Dreischrittmethode von AdamsMoulton. Die charakteristische Gleichung (8.112) ist typisch f¨ ur alle Pr¨adiktor-KorrektorMethoden. Sie kann wie oben zur Bestimmung des Randes des Gebietes absoluter Stabilit¨at verwendet werden mit dem Unterschied, dass sie f¨ ur einen Wert ζ = eiθ eine quadratische
383
8.4 Stabilit¨ at
Gleichung f¨ ur µ mit zwei L¨ osungen darstellt. In Abb. 8.9 ist der Rand des Stabilit¨atsgebietes f¨ ur das A-B-M-Verfahren (8.72) wiedergegeben. Er ist mit ABM43 bezeichnet um zu verdeutlichen, dass das explizite Vierschrittverfahren von Adams-Bashforth mit dem impliziten Dreischrittverfahren von Adams-Moulton kombiniert ist. Das Stabilit¨atsgebiet ist gegen¨ uber der Adams-Moulton-Methode (AM3) kleiner, da der Pr¨adiktor-Korrektorwert anstelle der exakten L¨ osung uk+1 der impliziten Gleichung verwendet wird. Das Stabilit¨atsintervall des Verfahrens (8.72) ist (−1.28, 0). Die Gebiete absoluter Stabilit¨ at einiger R¨ uckw¨artsdifferentiationsmethoden wie beispielsweise (8.97) sind f¨ ur bestimmte Anwendungen recht bedeutungsvoll. Die einfachste Einschrittmethode aus dieser Klasse ist das implizite oder R¨ uckw¨arts-Euler-Verfahren, das ja absolut stabil ist. Die Zweischrittmethode der BDF-Verfahren lautet 3 1 uj+2 − 2uj+1 + uj = hf (xj+2 , uj+2 ). 2 2
(8.113)
F¨ ur sie f¨ uhrt das Modellproblem auf die charakteristische Gleichung φ(ζ) = (3/2 − µ)ζ 2 − 2ζ + 1/2 = 0. Der Rand des zugeh¨ origen Gebietes absoluter Stabilit¨at ist gegeben durch 3ζ 2 − 4ζ + 1 , ζ = eiΘ , 0 ≤ Θ ≤ 2π, 2ζ 2 und liegt in der rechten komplexen Halbebene. Die Randkurve ist in Abb. 8.10 aus Symmetriegr¨ unden nur in der oberen Halbebene wiedergegeben und ist mit BDF2 gekennzeichnet. Da weiter die beiden Nullstellen der charakteristischen Gleichung φ(ζ) = 0 f¨ ur alle µ ∈ Ê mit µ < 0 betragsm¨ aßig kleiner als Eins sind, geh¨ort die ganze linke komplexe Halbebene zum Gebiet absoluter Stabilit¨ at. Die Zweischritt-BDF-Methode (8.113) ist also auch absolut stabil. µ=
Im(µ) 6
BDF 4
5 4
BDF 3
3
BDF 2
2
BDF 1 Re(µ)
α −1
0
2
4
6
8
10
Abb. 8.10 Gebiete absoluter Stabilit¨ at von BDF-Methoden.
F¨ ur die Dreischritt-BDF-Methode (8.97) wird der Rand des Gebietes absoluter Stabilit¨at gegeben durch µ=
11ζ 3 − 18ζ 2 + 9ζ − 2 , 6ζ 3
ζ = eiΘ ,
0 ≤ Θ ≤ 2π.
384
8 Anfangswertprobleme
Die Randkurve, welche in Abb. 8.10 mit BDF3 bezeichnet ist, verl¨auft teilweise in der linken komplexen Halbebene. Da aber f¨ ur µ ∈ Ê mit µ < 0 die drei Nullstellen der charakteristischen Gleichung φ(ζ) = (11 − 6µ)ζ 3 − 18ζ 2 + 9ζ − 2 = 0 betragsm¨aßig kleiner als Eins sind, umfasst das Gebiet der absoluten Stabilit¨ at doch fast die ganz linke komplexe Halbebene. Dieser Situation wird so Rechnung getragen, dass man einen maximalen Winkelbereich mit ¨ dem halben Offnungswinkel α > 0 definiert, dessen Spitze im Nullpunkt liegt, der Teilbereich des Gebietes absoluter Stabilit¨ at ist, und bezeichnet ein Mehrschrittverfahren mit dieser Eigenschaft als A(α)-stabil. Der Winkel der BDF-Methode (8.97) betr¨agt etwa 88◦ , so dass das Verfahren A(88◦ )-stabil ist. Die Vierschritt-BDF-Methode lautet 25 4 1 uj+4 − 4uj+3 + 3uj+2 − uj+1 + uj = hf (xj+4 , uj+4 ). 12 3 4
(8.114)
Die Randkurve des Gebietes absoluter Stabilit¨ at ist in Abb. 8.10 eingezeichnet und mit ¨ BDF4 gekennzeichnet. Der Winkelbereich besitzt jetzt einen halben Offnungswinkel von etwa 72◦ , so dass die Methode (8.114) noch A(72◦ )-stabil ist. Die BDF-Methoden f¨ unfter und sechster Ordnung besitzen noch kleinere Winkelbereiche innerhalb des Gebietes absoluter Stabilit¨ at, und BDF-Methoden noch h¨oherer Ordnung sind nicht mehr L-stabil und somit f¨ ur den praktischen Einsatz unbrauchbar [Gea 71, Gri 72].
8.4.4
Steife Differenzialgleichungen
Die L¨ osungsfunktionen von Differenzialgleichungssystemen, welche physikalische, chemische oder biologische Vorg¨ ange beschreiben, haben oft die Eigenschaft, dass sie sich aus stark verschieden rasch exponentiell abklingenden Anteilen zusammensetzen. Wird ein Verfahren angewendet, dessen Gebiet absoluter Stabilit¨ at nicht die ganze linke komplexe Halbebene umfasst, so ist die Schrittweite h auf jeden Fall so zu w¨ahlen, dass die komplexen Werte µ als Produkte von h und den Abklingkonstanten λj dem Gebiet absoluter Stabilit¨at angeh¨oren, um damit eine stabile Integration sicherzustellen. Beispiel 8.14. Die Situation und Problematik zeigen wir auf am System von drei linearen und homogenen Differenzialgleichungen y1′ = −0.5 y1 + 32.6 y2 + 35.7 y3 y2′ = − 48 y2 + 9 y3 y3′ = 9 y2 − 72 y3
(8.115)
osungsansatz mit den Anfangsbedingungen y1 (0) = 4, y2 (0) = 13, y3 (0) = 1. Der L¨ y1 (x) = a1 eλx ,
y2 (x) = a2 eλx ,
y3 (x) = a3 eλx
f¨ uhrt nach Substitution in (8.115) auf das Eigenwertproblem (−0.5 − λ) a1 +
32.6 a2 + 35.7 a3 = 0 (−48 − λ) a2 + 9 a3 = 0 9 a2 + (−72 − λ) a3 = 0.
(8.116)
Daraus ist ein nichttriviales Wertetripel (a1 , a2 , a3 )T =: als Eigenvektor der Koeffizientenmatrix des Differenzialgleichungssystems (8.115) zu bestimmen. Die drei Eigenwerte von (8.116) sind λ1 = −0.5, λ2 = −45, λ3 = −75. Zu jedem Eigenwert geh¨ ort eine L¨ osung von (8.115), und die
385
8.4 Stabilit¨ at
allgemeine L¨ osung stellt sich als Linearkombination dieser drei Basisl¨ osungen dar. Nach Ber¨ ucksichtigung der Anfangsbedingung lauten die L¨ osungsfunktionen y1 (x) = 15 e−0.5x − 12 e−45x + e−75x y2 (x) = 12 e−45x + e−75x y3 (x) = 4 e−45x − 3 e−75x
(8.117)
Die stark unterschiedlichen Abklingkonstanten der L¨ osungskomponenten sind durch die Eigenwerte λj gegeben. Zur numerischen Integration von (8.115) soll die klassische Runge-Kutta-Methode (8.44) vierter Ordnung verwendet werden. Um die am raschesten exponentiell abklingende Komponente e−75x mit mindestens vierstelliger Genauigkeit zu erfassen, ist mit einer Schrittweite h1 = 0.0025 zu arbeiten. Diese Schrittweite bestimmt sich aus der Forderung, dass e−75h1 mit F (−75h1 ) gem¨ aß (8.104) auf f¨ unf Stellen u ¨ bereinstimmt. Integrieren wir (8.115) u ¨ ber 60 Schritte bis zur Stel. . uber e−45·0.150 = e−6.75 = 0.001171 le x1 = 0.150, dann ist e−75·0.150 = e−11.25 = 0.000013 gegen¨ bedeutend kleiner. Diese rasch abklingende und bereits kleine Komponente braucht ab dieser Stelle nicht mehr so genau integriert zu werden, und wir k¨ onnen die Schrittweite vergr¨ oßern. Damit ussen wir die jetzt die Komponente e−45x mit einer vergleichbaren Genauigkeit behandelt wird, m¨ Schrittweite h2 = 0.005 w¨ ahlen. Nach weiteren 30 Schritten erreichen wir x2 = x1 + 30h2 = 0.300. . Jetzt ist auch e−45·0.300 = e−13.5 = 0.0000014 sehr klein geworden, so dass wir die Schrittweite ur nochmals vergr¨ oßern k¨ onnen. Betrachten wir die sehr langsam abklingende Komponente e−0.5x f¨ ˜ = 0.4 mit sich allein, so w¨ urde das Runge-Kutta-Verfahren (8.44) diese mit einer Schrittweite h ˜ = −30 der geforderten Genauigkeit wiedergeben. Doch verletzt diese Schrittweite wegen µ ˜ = −75h die Bedingung bei weitem, dass µ ˜ im Intervall der absoluten Stabilit¨ at (−2.78, 0) liegen muss! . ugen. Die maximal verwendbare Schrittweite h∗ muss der Ungleichung h∗ ≤ 2.78/75 = 0.037 gen¨ ur eine Integration von (8.115) bis x = 24, wo |y1 (x)| ≤ 0.0001 wird, weiMit h3 = 0.035 sind f¨ tere 678 Integrationsschritte n¨ otig. In Abb. 8.11 ist die euklidische Norm des globalen Fehlers angigkeit von x im Intervall [0, 1.2] dar ej = uj − y(xj ) mit logarithmischem Maßstab in Abh¨ gestellt, falls die oben beschriebenen Schrittweiten gew¨ ahlt werden. Jede Schrittweitenvergr¨ oßerung bewirkt einen vor¨ ubergehenden sprunghaften Anstieg der Norm des globalen Fehlers, da jeweils eine betreffende L¨ osungskomponente mit einem gr¨ oßeren Fehler integriert wird. Das langsame, im logarithmischen Maßstab praktisch lineare Anwachsen von ej ab etwa x = 0.6 entspricht dem Fehlerwachstum (8.35) f¨ ur den globalen Fehler. Wird ab x2 = 0.3 statt h3 die Schrittweite ˜ h3 = 0.045 gew¨ ahlt, welche der Bedingung der absoluten Stabilit¨ at wegen −75 · 0.045 = −3.35 < −2.78 nicht gen¨ ugt, zeigt die Norm des globalen Fehlers die Instabilit¨ at des Runge-Kutta-Verfahrens an. △
Ein lineares, inhomogenes Differenzialgleichungssystem y ′ (x) = Ay(x) + b(x),
A ∈ Ên,n , y, b ∈ Ên
(8.118)
heißt steif, falls die Eigenwerte λj , j = 1, 2, . . . , n, der Matrix A sehr unterschiedliche negative Realteile aufweisen. Als Maß der Steifheit S des Differenzialgleichungssystems (8.118) gilt der Quotient der Betr¨ age der absolut gr¨ oßten und kleinsten Realteile der Eigenwerte S := max |Re(λj )|/ min |Re(λj )| f¨ ur alle λj mit Re(λj ) < 0. j
j
(8.119)
F¨ ur das Differenzialgleichungssystem (8.115) ist S = 150. Es ist nicht besonders steif, denn in manchen F¨ allen erreicht S Werte zwischen 103 und 106 . Um solche Systeme mit einer nicht allzu kleinen Schrittweite integrieren zu k¨onnen, kommen nur Verfahren in Betracht, deren Gebiet der absoluten Stabilit¨ at entweder die ganze linke Halbebene Re(µ) < 0 umfasst oder aber zumindest A(α)-stabil sind. Absolut stabil sind die Trapezmethode (8.16) und die impliziten Runge-Kutta-Verfahren (8.14) und (8.46), w¨ahrend die impliziten m-Schritt-
386
8 Anfangswertprobleme e
10−4
10−5
¯ 3 = 0.045 h
10−6
10−7
10−8 h3 = 0.035 x 10−9 0
0.2
0.4
0.6
0.8
1
1.2
Abb. 8.11 Stabile und instabile Integration eines Differenzialgleichungssystems.
BDF-Methoden f¨ ur m = 1 bis m = 6 wenigstens A(α)-stabil sind. Alle diese Methoden erfordern aber in jedem Integrationsschritt die L¨osung eines Gleichungssystems nach den Unbekannten. Das Problem der Steifheit existiert ausgepr¨ agt bei nichtlinearen Differenzialgleichungssystemen f¨ ur n Funktionen y ′ (x) = f (x, y(x)),
y(x) ∈ Ên .
(8.120)
Hier kann die Steifheit nur lokal vermittels einer Linearisierung zu erfassen versucht werden. Dabei u ¨ bernimmt die Funktional- oder Jacobi-Matrix ⎞ ⎛ ∂f1 ∂f1 ∂f1 · · · ⎜ ∂y1 ∂y2 ∂yn ⎟ ⎟ ⎜ ⎜ ∂f2 ∂f2 ∂f2 ⎟ ⎟ ⎜ ··· ⎜ ∂y ∂y2 ∂yn ⎟ ⎟ ⎜ 1 (8.121) J (x, y) := fy = ⎜ ⎟ ∈ Ên,n .. .. ⎟ ⎜ .. ⎜ . . . ⎟ ⎟ ⎜ ⎟ ⎜ ⎝ ∂fn ∂fn ∂fn ⎠ ··· ∂y1 ∂y2 ∂yn die Rolle der Matrix A im linearen Problem (8.118). Das nichtlineare Differenzialgleichungssystem (8.120) wird als steif bezeichnet, falls die Eigenwerte λi der Jacobi-Matrix J (x, y) (8.121) sehr unterschiedliche negative Realteile haben und somit der Wert S (8.119) groß ist. Das Maß der so definierten Steifheit von (8.120) ist jetzt abh¨angig von x und y, so dass sich S im Verlauf der Integration mit xk und der aktuellen berechneten L¨osung uk und abh¨ angig von den Anfangsbedingungen stark ¨andern kann. An dieser Stelle sei aber darauf hingewiesen, dass Beispiele von Differenzialgleichungssystemen und L¨osungen konstruiert werden k¨ onnen, f¨ ur welche die Eigenwerte der Jacobi-Matrix (8.121) irref¨ uhrende Informationen bez¨ uglich der Steifheit liefern [Aik 85, Dek 84, Lam 91].
387
8.4 Stabilit¨ at
Beispiel 8.15. Wir betrachten das nichtlineare Anfangswertproblem y˙ 1 = −0.1y1 + 100y2 y3 , y˙ 2 = 0.1y1 − 100y2 y3 − 500y22 , y˙ 3 = 500y22 − 0.5y3 ,
y1 (0) = 4, y2 (0) = 2, y3 (0) = 0.5.
(8.122)
Tab. 8.5 Integration eines steifen Differenzialgleichungssystems. tj
u1,j
u2,j
u3,j
λ1
λ2
λ3
S
h
0 0.001 0.002 0.003 0.004 0.005 0.006 0.008 0.010 0.020 0.030 0.040 0.050 0.10 0.15 0.20 0.25 0.50 0.75 1.00 2.00 5.00 10.00
4.0000 4.1379 4.2496 4.3281 4.3846 4.4264 4.4581 4.5016 4.5287 4.5735 4.5795 4.5804 4.5805 4.5803 4.5800 4.5798 4.5796 4.5782 4.5765 4.5745 4.5601 4.3899 3.8881
2.0000 0.9177 0.5494 0.3684 0.2630 0.1952 0.1489 0.0914 0.0588 0.0097 0.0035 0.0026 0.0025 0.0025 0.0025 0.0026 0.0027 0.0030 0.0034 0.0038 0.0061 0.0134 0.0141
0.5000 1.4438 1.6996 1.8013 1.8493 1.8743 1.8880 1.9001 1.9038 1.8985 1.8892 1.8799 1.8705 1.8245 1.7796 1.7358 1.6931 1.4951 1.3207 1.1670 0.7177 0.2590 0.2060
–0.00025 –0.00054 –0.00090 –0.00133 –0.00184 –0.00243 –0.00310 –0.00465 –0.00620 –0.00444 –0.00178 –0.00134 –0.00128 –0.00134 –0.00140 –0.00147 –0.00154 –0.00196 –0.00247 –0.00311 –0.00710 –0.01749 –0.01854
–219.06 –86.950 –45.359 –26.566 –16.588 –10.798 –7.2503 –3.5318 –1.9132 –0.5477 –0.5063 –0.5035 –0.5032 –0.5034 –0.5036 –0.5039 –0.5042 –0.5060 –0.5086 –0.5124 –0.5482 –0.9863 –1.1115
–1831.5 –975.74 –674.62 –522.56 –431.91 –372.48 –331.06 –278.45 –247.81 –199.60 –192.48 –190.65 –189.60 –185.03 –180.60 –176.29 –172.08 –152.63 –135.56 –120.63 –77.88 –38.92 –34.14
7.4 · 106 1.8 · 106 7.5 · 105 3.9 · 105 2.4 · 105 1.5 · 105 1.1 · 105 6.0 · 104 4.0 · 104 4.5 · 104 1.1 · 105 1.4 · 105 1.5 · 105 1.4 · 105 1.3 · 105 1.2 · 105 1.1 · 105 7.8 · 104 5.5 · 104 3.9 · 104 1.1 · 104 2.2 · 103 1.8 · 103
0.0002
0.0010
0.0025
0.0050
0.010
0.020 0.050
Das System (8.122) beschreibt die kinetische Reaktion von drei chemischen Substanzen Y1 , Y2 , Y3 nach dem Massenwirkungsgesetz, wobei die drei unbekannten Funktionen y1 (t), y2 (t), y3 (t) die entsprechenden Konzentrationen der Substanzen zum Zeitpunkt t bedeuten. Die Reaktionen laufen mit sehr unterschiedlichen Zeitkonstanten ab, was in den verschieden großen Koeffizienten in (8.122) zum Ausdruck kommt. Die Jacobi-Matrix (t, y) des Systems (8.122) lautet 1 0 −0.1 100y3 100y2 C (8.123) (t, y) = B @ 0.1 −100y3 − 1000y2 −100y2 A . 0 1000y2 −0.5 Die Matrixelemente von
sind vom Ablauf der chemischen Reaktion abh¨ angig; deshalb sind die
388
8 Anfangswertprobleme
Eigenwerte λi von
(t, y) zeitabh¨angig. Zur Startzeit t = 0 sind die Eigenwerte von 0
1 −0.1 50 200 C (0, y0 ) = B @ 0.1 −2050 −200 A 0 2000 −0.5 . . . . λ1 = −0.000249, λ2 = −219.0646, λ3 = −1831.535. Folglich ist S = 7.35 · 106 , und das Differenzialgleichungssystem (8.122) ist zum Zeitpunkt t = 0 sehr steif. Um das Problem der Steifheit zu illustrieren, integrieren wir (8.122) mit Hilfe der klassischen Runge-Kutta-Methode (8.44) vierter Ordnung. Der absolut gr¨ oßte, negative Eigenwert λ3 verlangt eine kleine Schrittweite h = 0.0002, damit die zugeh¨ orige rasch abklingende L¨ osungskomponente mit einem lokalen, relativen Diskretisierungsfehler von etwa 10−4 integriert wird. Nach 25 Integrationsschritten hat die Steifheit des . Systems abgenommen (vgl. Tab. 8.5), und da jetzt λ3 = −372.48 ist, kann die Schrittweite auf h = 0.001 vergr¨ oßert werden, denn die rasch abklingende und bereits mit einem kleinen Anteil beteiligte Komponente kann schon mit geringerer (relativer) Genauigkeit behandelt werden. Dasselbe gilt auch f¨ ur die weitere Integration, deren Resultat in Tab. 8.5 zusammengestellt ist. Angegeben sind auszugsweise zu ausgew¨ ahlten Zeitpunkten die berechneten N¨ aherungswerte der drei L¨ osungsfunktionen, die aus der Jacobi-Matrix resultierenden Eigenwerte λ1 , λ2 , λ3 , das Maß S der Steifheit und die verwendeten Schrittweiten. Nach einer raschen Abnahme nimmt S vor¨ ubergehend wieder etwas zu, um dann mit wachsender Zeit t monoton abzunehmen. Ab t = 0.25 wird die Schrittweite h durch das Stabilit¨ atsintervall der verwendeten expliziten Runge-Kutta-Methode beschr¨ ankt. △
8.5
Anwendung: Lotka-Volterras Wettbewerbsmodell
Das Lotka–Volterrasche System besteht aus autonomen1 Differenzialgleichungen mit quadratischer, also nichtlinearer rechter Seite. Es beschreibt sowohl das Wettbewerbs- als auch das R¨ auber-Beute-Modell [Heu 04a], f¨ ur die wir zwei F¨alle diskutieren wollen. Kampf um Ressourcen Wenn eine Population P = P (t) von einer beschr¨ankten Ressource R lebt, so entwickelt sie sich nach dem Wachstumsgesetz P˙ = αP − βP 2 , α, β > 0. (8.124)
Konkurrieren zwei Populationen P1 (t) und P2 (t) um die gleiche beschr¨ankte Ressource, so findet ein Wettbewerb statt; jede Population behindert das Wachstum der anderen. Ihre Best¨ ande entwickeln sich dann aus den Anfangsbest¨anden P10 und P20 nach dem System P˙k = αk Pk − βk P 2 − γk P1 P2 , αk , βk , γk > 0, (k = 1, 2). (8.125) k
Der hinzugekommene gemischte Term γk P1 P2 stellt also den Einfluss der Konkurrenz dar. Wir wollen das konkrete System P˙1 = 0.004 P1 (50 − P1 − 0.75 P2 ) (8.126) P˙2 = 0.001 P2 (100 − P2 − 3 P1 )
1 Die
rechte Seite ist nicht explizit von t abh¨ angig.
8.5 Anwendung: Lotka-Volterras Wettbewerbsmodell
389
untersuchen. Hier ist es zun¨ achst interessant, die so genannten station¨aren Punkte zu bestimmen. Das sind die Gleichgewichtszust¨ ande der Populationen, in denen die L¨osung der Differenzialgleichung zeitunabh¨ angig ist, also konstant bleibt. Ist P2 = 0, so gilt P˙ 1 = 0.004 P1 (50 − P1 ), d.h., die erste Population w¨achst oder schrumpft bis zum Grenzwert P1 = 50 (oder 0) und bleibt dann konstant. Ist P1 = 0, so gilt P˙2 = 0.001 P2 (100 − P2 ), und der entsprechende Grenzwert f¨ ur die zweite Population ist P2 = 100 (oder 0). Ein station¨ arer Punkt ist offensichtlich auch der Trivialzustand (P1 , P2 ) = (0, 0). Einen weiteren station¨ aren Punkt findet man, indem man die Klammerausdr¨ ucke der rechten Seite von (8.126) gleich null setzt: P1 3 P1
+ 0.75 P2 + P2
= 50, = 100.
Das ergibt den Punkt (20,40). Es ist wichtig zu wissen, ob diese station¨aren Punkte lokal stabil sind, d.h., ob sie die L¨ osung anziehen oder abstoßen (instabil). Lokal stabil ist ein station¨ arer Punkt, wenn die Eigenwerte der Jacobi-Matrix J(P1 , P2 ) (8.121) negative Realteile besitzen. Im symmetrischen Fall m¨ ussen also alle Eigenwerte negativ sein. Es ist hier " # 0.2 − 0.008P1 − 0.003P2 −0.003P1 J (P1 , P2 ) = . −0.003P1 0.1 − 0.003P1 − 0.002P2
¨ Zur Uberpr¨ ufung der negativen Definitheit in den station¨aren Punkten m¨ ussen wir also vier kleine Eigenwertprobleme – quadratische Gleichungen – l¨osen. Wir wollen nur die Ergebnisse wiedergeben: Punkt
λ1
λ2
lokal stabil?
(0,0) (0,100) (20,40) (50,0)
0.2 –0.1 0.027 –0.2
0.1 –0.1 –0.14 –0.05
Nein Ja Nein Ja
Diese Verh¨ altnisse lassen sich folgendermaßen interpretieren: Es werden weder beide Populationen aussterben noch beide u ¨ berleben, weil sowohl der station¨ are Punkt (0,0) als auch (20,40) instabil sind. Welche der beiden Populationen u ¨berlebt, d.h. welcher der stabilen station¨ aren Punkte von der L¨osung des Systems angesteuert wird, h¨ angt von den Anfangswerten – hier den Anfangspopulationen P10 und P20 – ab. In Abb. 8.12 haben wir die station¨ aren Punkte durch kleine Vollkreise gekennzeichnet, und wir haben die “Bahnlinien” (Phasenkurven) mehrerer L¨osungen mit verschiedenen Anfangswerten (+) eingezeichnet. Sie laufen in die beiden lokal stabilen station¨aren Punkte (0,100) oder (50,0). Die Trennungslinie (Separatrix) zwischen Anfangswerten, die in den einen oder anderen der beiden Gleichgewichtszust¨ ande laufen, ist gut abzulesen. Auch L¨osungen, die sich dem instabilen Gleichgewichtszustand (20, 40) ann¨ahern, werden von diesem abgestoßen und knicken scharf in Richtung eines stabilen Gleichgewichtszustands ab.
390
8 Anfangswertprobleme
100 •
P2 +
+ + + +
80
60
40
+
•
+
20
P1 0•
20
•
40
60
80
Abb. 8.12 Wettbewerbsmodell: Abh¨ angig vom Anfangszustand stirbt eine der Populationen aus.
R¨auber und Ressourcen Wir wollen jetzt die biologischen Verh¨ altnisse gegen¨ uber (8.124) und (8.125) etwas ¨andern. P1 repr¨ asentiert jetzt Beutetiere, die von der begrenzten Ressource R leben. Erbeutet werden sie von R¨ aubern, die durch P2 repr¨ asentiert werden und ausschließlich von den Beuteuchse denken. Jetzt ergibt sich mit tieren P1 leben. Dabei kann man z.B. an Hasen und F¨ geeigneten Zahlen das Modellsystem P˙1 = 2 P1 (1 − 0.3 P1 − P2 ), (8.127) P˙2 = P2 (P1 − 1). Wird dieses System entsprechend der Vorgehensweise oben untersucht, so ergeben sich die station¨ aren Punkte und zugeh¨ origen Eigenwerte der Jacobi-Matrix wie folgt: Punkt
λ1
λ2
lokal stabil?
(0,0) (0,1) (1,0) (1,0.7)
2 −1 0.8 √ −0.3 + i 1.49
−1 0 0 √ −0.3 − i 1.49
Nein Nein Nein Ja
Hier liegt also die biologisch gl¨ ucklichere Situation vor, dass beide Populationen u ¨berleben k¨ onnen. Das System hat an der Stelle (1, 0.7) den einzigen stabilen Strudelpunkt. In diesem Gleichgewichtszustand landet es nach einiger Zeit von jedem Anfangswertpaar aus, das nicht genau in einem der instabilen station¨ aren Punkte liegt. In Abb. 8.13 sehen wir zwei
391
8.6 Software
Phasenkurven, die in den Anfangswerten (2, 1) bzw. (0.2, 1.5) gestartet wurden. P2 + 1.4 1.2
+
1.0 0.8 0.6 0.4
P1 0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6
1.8
2.0
Abb. 8.13 R¨ auber-Beute-Modell: Beide Populationen u ¨ berleben.
8.6
Software
Einige Pakete zur numerischen L¨ osung von Anfangswertproblemen bei gew¨ohnlichen Differenzialgleichungen enthalten Routinen sowohl zu Anfangs- als auch zu Randwertproblemen (siehe Kapitel 9). Andererseits wird bei den Routinen zu Anfangswertproblemen zwischen steifen und wenig oder gar nicht steifen (engl. non-stiff and mildly stiff) Problemen unterschieden, so z.B. bei der Klassifizierung des Gams. Die Nag-Fortran-Bibliothek enth¨ alt im Kapitel D02 insgesamt 62 Routinen zur L¨osung von Anfangs- und Randwertproblemen, davon in den Unterkapiteln D02M und D02N allein 19 Routinen f¨ ur steife Probleme. Mit den Routinen des Unterkapitels D02L k¨onnen auch Systeme von Differenzialgleichungen zweiter Ordnung gel¨ost werden. Dazu werden spezielle Runge-Kutta-Nystr¨ om-Verfahren angewendet. Die Nag-C-Bibliothek enth¨alt dagegen im gleichen Kapitel nur 16 Routinen. Matlab verf¨ ugt u osung von Anfangswertproblemen, zwei da¨ ber sieben Routinen zur L¨ von benutzen explizite Runge-Kutta-Verfahren, eine ein Pr¨adiktor-Korrektor-Schema mit Adams-Verfahren variabler Ordnung, die im Allgemeinen eine h¨ohere Genauigkeit liefern. F¨ ur steife oder mild steife Probleme gibt es weitere vier Routinen, von denen zwei auch differentiell-algebraische Probleme l¨ osen k¨ onnen; das sind Systeme, bei denen Differenzialgleichungen und nichtlineare Gleichungen gekoppelt vorkommen. Matlab erlaubt neben einer Reihe von wichtigen Optionen auch eine Ereignis-(Event-)Steuerung, die es erm¨oglicht, den L¨ osungsprozess beim Eintritt gewisser Bedingungen zu beenden. Zudem bietet Matlab besondere Graphik-Routinen zum Zeichnen der L¨osungen von Differenzialgleichungen an.
392
8 Anfangswertprobleme
Es gibt spezielle Pakete zur L¨ osung von gew¨ ohnlichen Differenzialgleichungen wie Ode und Odepack, die u ¨berwiegend die gleichen Methoden anwenden oder sogar nahezu identische Routinen vertreiben wie die großen Bibliotheken Nag und Imsl. Einige Autoren haben ihren B¨ uchern u ¨ ber die numerische L¨osung von Differenzialgleichung Programme hinzugef¨ ugt, die via Internet frei verf¨ ugbar sind. Hier m¨ochten wir [Deu 02a]2 3 und [Hai 93, Hai 96] erw¨ ahnen. Unsere Probleml¨ oseumgebung Pan (http://www.upb.de/SchwarzKoeckler/) verf¨ ugt u ¨ ber drei Programme zur L¨ osung von Anfangswertproblemen mit einem Runge-Kutta-Verfahren 4. Ordnung, einem Mehrschrittverfahren mit einem Adams-Verfahren variabler Ordnung und Schrittweite und einem ebensolchen BDF-Verfahren.
8.7
Aufgaben
Aufgabe 8.1. Man bestimme die exakte L¨ osung der Anfangswertaufgabe 2x ′ y(0) = 1 y = 2, y und berechne im Intervall [0, 3] die N¨ aherungsl¨ osungen a) nach der Methode von Euler mit den Schrittweiten h = 0.1, 0.01, 0.001; b) nach der verbesserten Polygonzug-Methode und der Methode von Heun mit den Schrittweiten h = 0.1, 0.05, 0.025, 0.01; c) nach je einem Runge-Kutta-Verfahren der Ordnung drei und vier mit den Schrittweiten h = 0.2, 0.1, 0.05, 0.025. Mit den an den Stellen xj = 0.2j, j = 1, 2, . . . , 15, berechneten globalen Fehlern verifiziere man die Fehlerordnungen der Methoden. Aufgabe 8.2. Die Anfangswertaufgaben 1 a) y′ = − 8y 2 , y(0) = 0; 1 + 4x2 b)
y′ =
1 + 0.4y 2 , 1 + 4x2
y(0) = 0;
x ∈ [0, 4] x ∈ [0, 4]
1 − x2 − y 2 , y(0) = 0; x ∈ [0, 10] 1 + x2 + xy sollen mit einer Runge-Kutta-Methode zweiter und vierter Ordnung und mit einer Schrittweitensteuerung in den angegebenen Intervallen n¨ aherungsweise so gel¨ ost werden, dass der Sch¨ atzwert ur die des lokalen Diskretisierungsfehlers betragsm¨ aßig h¨ ochstens ε (ε = 10−4 , 10−6 , 10−8 ) ist. F¨ Steuerung der Schrittweite experimentiere man mit verschiedenen Strategien. c)
y′ =
Aufgabe 8.3. Die kleine Auslenkung x(t) eines schwingenden Pendels mit Reibung wird durch die Differenzialgleichung zweiter Ordnung x ¨(t) + 0.12x(t) ˙ + 2x(t) = 0 2 http://elib.zib.de/pub/elib/codelib/ 3 http://www.unige.ch/math/folks/hairer/software.html
393
8.7 Aufgaben
beschrieben. Die Anfangsbedingung sei x(0) = 1, x(0) ˙ = 0. Das zugeh¨ orige System von Differenzialgleichungen erster Ordnung ist mit der klassischen Runge-Kutta-Methode vierter Ordnung mit drei verschiedenen Schrittweiten h n¨ aherungsweise zu l¨ osen, und die N¨ aherungsl¨ osung xj soll graphisch dargestellt werden. Zudem ist der globale Fehler mit Hilfe der exakten L¨ osung zu berechnen und sein Verhalten zu studieren. Erfolgt die gen¨ aherte Integration der beiden komplexen L¨ osungsanteile amplituden- und phasentreu? Aufgabe 8.4. Das Differenzialgleichungssystem xy x˙ = 1.2x − x2 − x + 0.2 1.5xy y˙ = −y x + 0.2 beschreibt ein R¨ auber-Beute-Modell der Biologie, wobei x(t) eine Maßzahl f¨ ur die Anzahl der Beutetiere und y(t) eine Maßzahl f¨ ur die Anzahl der Raubtiere bedeuten. F¨ ur die zwei verschiedenen Anfangsbedingungen x(0) = 1, y(0) = 0.75 und x ¯(0) = 0.75, y¯(0) = 0.25 ist das System mit dem klassischen Runge-Kutta-Verfahren vierter Ordnung im Intervall 0 ≤ t ≤ 30 mit der Schrittweite h = 0.1 n¨ aherungsweise zu l¨ osen. Die L¨ osung soll in der (x, y)-Phasenebene dargestellt und das gefundene Ergebnis interpretiert werden. Als Variante l¨ ose man die Aufgabe mit automatischer Schrittweitensteuerung nach der Methode von Fehlberg. Aufgabe 8.5. Man leite das explizite Dreischrittverfahren von Adams-Bashforth und das implizite Dreischrittverfahren von Adam-Moulton auf Grund der Integralgleichung und als Spezialfall eines allgemeinen Mehrschrittverfahrens her. Sodann zeige man, dass die Ordnung der Verfahren drei bzw. vier ist, und man verifiziere die Fehlerkonstanten der lokalen Diskretisierungsfehler in Tab. 8.3 f¨ ur diese beiden Methoden. Aufgabe 8.6. Die Differenzialgleichungen der Aufgaben 8.1 und 8.2 sind mit den Adams-Bashforth-Moulton-Methoden ABM33 (8.71) und ABM43 (8.72) n¨ aherungsweise mit der Schrittweite h = 0.1 zu l¨ osen. Um die Resultate der beiden Verfahren fair vergleichen zu k¨ onnen, sollen mit dem klassischen Runge-Kutta-Verfahren vierter Ordnung drei Startwerte u1 , u2 , u3 bestimmt werden. Aufgabe 8.7. Welches sind die Gebiete der absoluten Stabilit¨ at der folgenden Mehrschrittmethoden? a)
AB3: uj+1 = uj +
h [23fj − 16fj−1 + 5fj−2 ]; 12
b)
AM2: uj+1 = uj +
h [5f (xj+1 , uj+1 ) + 8fj − fj−1 ]; 12
c)
Pr¨ adiktor-Korrektor-Methode ABM32.
F¨ ur die ABM32-Methode zeige man, dass der Koeffizient des Hauptanteils des lokalen Diskretisierungsfehlers gleich demjenigen des AM2-Verfahrens ist.
394
8 Anfangswertprobleme
Aufgabe 8.8. Zur Problematik der stabilen Integration betrachten wir das lineare homogene Differenzialgleichungssystem [Lam 91] y ′ = −21y1 + 19y2 − 20y3 , y2′ = 19y1 − 21y2 + 20y3 , y3′ = 40y1 − 40y2 − 40y3 ,
y1 (0) = 1, y2 (0) = 0, y3 (0) = −1.
Die Eigenwerte der Matrix des Systems sind λ1 = −2, λ2,3 = −40 ± 40i. Das System soll mit der Trapezmethode und dem klassischen Runge-Kutta-Verfahren vierter Ordnung n¨ aherungsweise gel¨ ost werden. Welche Schrittweiten h sind zu w¨ ahlen, um mit den beiden Methoden im Intervall [0, 0.3] eine vierstellige Genauigkeit der N¨ aherungen zu garantieren? Dazu ist eλh mit dem entsprechenden F (λh) zu vergleichen. Mit welchen Schrittweiten kann anschließend im Intervall [0.3, 5] weiter integriert werden? Man u ufe die Richtigkeit der Aussagen, indem das System nume¨ berpr¨ risch gel¨ ost wird. Welche maximale Schrittweite ist im Fall der ABM43-Methode (8.72) m¨ oglich? Aufgabe 8.9. Das nichtlineare Differenzialgleichungssystem y˙ 1 = −0.01y1 + 0.01y2 y˙ 2 = y1 − y2 − y1 y3 y˙ 3 = y1 y2 − 100y3
ist f¨ ur die Anfangsbedingung y1 (0) = 0, y2 (0) = 1, y3 (0) = 1 in Abh¨ angigkeit von t auf Steifheit zu untersuchen. Aufgabe 8.10. Man zeige, dass die implizite zweistufige Runge-Kutta-Methode « „ 1 1 k1 = f xj , uj + hk1 − hk2 4 4 „ « 2 1 5 k2 = f xj + h, uj + hk1 + hk2 3 4 12
h (k1 + 3k2 ) 4 die Ordnung drei besitzt und absolut stabil ist. Die Funktion F (µ), welche f¨ ur das Modellproblem (8.102) resultiert, hat im Gegensatz zu derjenigen der Trapezmethode die Eigenschaft, dass ur rasch abklingende Komponenten lim F (µ) = 0 gilt. Welche Konsequenzen ergeben sich daraus f¨ uj+1 = uj +
µ→−∞
von steifen Systemen? Man wende diese Methode zur numerischen Integration des Differenzialgleichungssystems von Aufgabe 8.8 an unter Verwendung einer konstanten Schrittweite h. Was kann festgestellt werden?
9
Rand- und Eigenwertprobleme bei gew¨ ohnlichen Differenzialgleichungen
Randwertprobleme bei gew¨ ohnlichen Differenzialgleichungen beschreiben station¨are Systeme wie die Durchbiegung eines belasteten Balkens. Eigenwertprobleme beschreiben charakteristische Eigenschaften solcher Systeme wie seine Eigenfrequenzen. In beiden F¨allen m¨ ussen mindestens zwei Randwerte bekannt sein. F¨ ur Rand- und Eigenwertprobleme gibt es keine so einheitliche Theorie wie f¨ ur Anfangswertaufgaben. Aber auch sie spielen in den Anwendungen eine bedeutende Rolle. Wir wollen zun¨ achst auf die Problematik der Existenz und Eindeutigkeit von L¨osungen eingehen, die auch f¨ ur die numerische Behandlung von Bedeutung sind. Sie sind f¨ ur Randund Eigenwertprobleme wesentlich schwieriger zu kl¨aren als bei Anfangswertproblemen, die wir in Kapitel 8 behandelt haben. Nachdem wir analytische Methoden f¨ ur lineare Randwertaufgaben betrachtet haben, kommen wir zu zwei wichtigen numerischen Verfahrensfamilien, die auch auf nichtlineare Probleme angewendet werden k¨ onnen: die Schießverfahren und die Differenzenverfahren. F¨ ur eingehendere Darstellungen verweisen wir auf [Asc 95, Kel 92, Sto 00].
9.1
Problemstellung und Beispiele
Bei Randwertaufgaben (RWA) werden neben einer zu l¨osenden Differenzialgleichung y (n) = f (x, y, y ′ , . . . , y (n−1) ) f¨ ur x ∈ (a, b)
(9.1)
Bedingungen an den beiden Randpunkten des betrachteten L¨osungsintervalls vorgegeben: r1 (y(a), y ′ (a), . . . , y (n−1) (a), y(b), y ′ (b), . . . , y (n−1) (b)) .. .
= .. .
0, .. .
rn (y(a), y ′ (a), . . . , y (n−1) (a), y(b), y ′ (b), . . . , y (n−1) (b)) =
0.
(9.2)
Zu l¨ osen ist also normalerweise eine einzelne Differenzialgleichung h¨oherer als erster Ordnung. F¨ ur die Behandlung in Software-Paketen oder Programm-Bibliotheken muss diese Differenzialgleichung oft in ein ¨ aquivalentes System 1. Ordnung umgeformt werden, siehe Lemma 8.1. Besonders wichtig f¨ ur die Anwendungen sind Randwertaufgaben 2. Ordnung. Sie treten mit Abstand am h¨ aufigsten auf. Wir beschr¨anken uns deshalb haupts¨achlich auf die Betrachtung dieser Aufgaben.
396
9 Rand- und Eigenwertprobleme
Randwertaufgabe 2. Ordnung mit linearen Randbedingungen Gegeben seien eine stetige Funktion f (x, y, z) und reelle Zahlen α1 , α2 , β1 , β2 , γ1 und γ2 . Gesucht ist eine im Intervall (a, b) zweimal stetig differenzierbare Funktion y(x), f¨ ur die gilt y ′′ = f (x, y, y ′ ), ′
(9.3) ′
r1 (y(a), y (a)) := α1 y(a) + α2 y (a) = γ1 , (α1 , α2 ) = (0, 0),
r2 (y(b), y ′ (b)) := β1 y(b) + β2 y ′ (b) = γ2 ,
(β1 , β2 ) = (0, 0).
(9.4)
¨ Uber die Existenz einer L¨ osung kann man f¨ ur dieses allgemein formulierte Problem ohne Weiteres keine Aussage machen. Lineare Randwertaufgabe 2. Ordnung Ist in (9.3) auch die Differenzialgleichung linear und von der Form y ′′ + a1 (x) y ′ + a0 (x) y = f (x),
(9.5)
mit den Randbedingungen (9.4), dann k¨ onnen die Voraussetzungen f¨ ur die Existenz einer eindeutigen L¨ osung leicht angegeben werden. Sei (y1 (x), y2 (x)) ein Fundamentalsystem der zugeh¨ origen homogenen Differenzialgleichung y ′′ + a1 (x)y ′ + a0 (x)y = 0, dann ist das Randwertproblem eindeutig l¨ osbar, falls r1 (y1 (a), y1′ (a)) r1 (y2 (a), y2′ (a)) (9.6) r2 (y1 (b), y ′ (b)) r2 (y2 (b), y ′ (b)) = 0. 2 1 Sturmsche Randwertaufgabe
(Charles Sturm (1803–1855)) Ist in (9.5) die Funktion a1 stetig, so kann die Differenzialgleichung immer auf die Form −(p(x) y ′ )′ + q(x) y = f (x)
(9.7)
gebracht werden mit einer in [a, b] stetig differenzierbaren Funktion p(x) > 0. Sind die Funktionen q und f stetig, die Randbedingungen von der Form (9.4) und die Voraussetzung (9.6) erf¨ ullt, dann existiert wieder eine eindeutige L¨ osung. Man nennt diese Form selbstadjungiert oder auch Sturmsche Randwertaufgabe. Diese Form ist auch f¨ ur die numerische L¨osung vorteilhaft, siehe etwa Seite 406. Weitere Einzelheiten findet man in [Heu 04a]; siehe auch Abschnitt 9.2. Auf die Frage nach der Existenz und Eindeutigkeit von L¨osungen kommen wir unten im Spezialfall linearer Probleme und bei Beispielen zur¨ uck. Eigenwertaufgabe 2. Ordnung Eigenwertprobleme sind Randwertprobleme, die zus¨atzlich einen Parameter λ in der Problemstellung enthalten. Gesucht sind Werte von λ (Eigenwerte), f¨ ur die die Randwertaufgabe l¨ osbar ist, und die zugeh¨ origen L¨ osungen (Eigenfunktionen).
397
9.1 Problemstellung und Beispiele
Gegeben seien stetige Funktionen f (x, y, z) und g(x, y, z). Gesucht sind Eigenwerte λ und zugeordnete, in (a, b) zweimal stetig differenzierbare Funktionen y(x) ≡ 0, f¨ ur die gilt: y ′′ + f (x, y, y ′ ) = λ g(x, y, y ′ ), y(a) = 0, y(b) = 0.
(9.8)
Unter gewissen Voraussetzungen bilden die L¨ osungen ein abz¨ahlbar unendliches System (λi , yi (x)) aus Eigenwerten und Eigenfunktionen, das Eigensystem heißt. Sturm-Liouvillesche Eigenwertaufgabe (Joseph Liouville (1809–1882)) Sind bei gleichen Bezeichnungen die Voraussetzungen der Sturmschen Randwertaufgabe erf¨ ullt und ist zus¨ atzlich v(x) positiv und stetig, dann hat das Eigenwertproblem −(p(x) y ′ )′ + q(x) y = λ v(x) y, α1 y(a) + α2 y ′ (a) = 0,
(α1 , α2 ) = (0, 0),
β1 y(b) + β2 y ′ (b) = 0,
(9.9)
(β1 , β2 ) = (0, 0),
reelle, positive und voneinander verschiedene Eigenwerte 0 < λ1 < λ2 < λ3 < . . . → ∞
mit Eigenfunktionen yk (x), die k − 1 Nullstellen in (a, b) haben (Oszillationseigenschaft).
Komplexere Problemstellungen ergeben sich durch
• h¨ ohere Ableitungen bzw. Systeme von Differenzialgleichungen, • nichtlineare Randbedingungen, • Differenzialgleichungen, die implizit in der h¨ochsten Ableitung und nicht direkt nach dieser aufl¨ osbar sind. Wir wollen m¨ ogliche Schwierigkeiten und die harmlose Normalsituation bei der L¨osung von Randwertproblemen an einigen Beispielen verdeutlichen. Beispiel 9.1. Keine oder unendlich viele L¨ osungen Die Randwertaufgabe y ′′ + π 2 y = 0,
y(0) = 0,
y(1) = 1,
(9.10)
y(1) = 0,
(9.11)
hat keine L¨ osung, w¨ ahrend f¨ ur y ′′ + π 2 y = 0,
y(0) = 0,
unendlich viele L¨ osungen existieren. Beweis. (9.10) ist eine homogene lineare Differenzialgleichung mit konstanten Koeffizienten. Ihre Fundamentall¨ osungen {sin π x, cos π x} erf¨ ullen (9.6) nicht. Jede L¨ osung hat die Form y(x) = c1 sin π x + c2 cos π x Hier setzen wir die Randpunkte ein, um c1 und c2 zu bestimmen: y(0) = c2 =⇒ c2 = 0,
y(1) = −c2 =⇒ c2 = −1.
(9.12)
398
9 Rand- und Eigenwertprobleme
Also existiert keine L¨ osung. (9.11) hat nat¨ urlich die gleichen Grundl¨ osungen. Die Randbedingungen y(0) = y(1) = 0 sind mit ullt. Damit sind alle Funktionen c2 = 0 erf¨ y(x) = c1 sin π x,
c1 ∈ Ê beliebig,
L¨ osungen der Randwertaufgabe. Dieses Beispiel zeigt, dass die Existenz und Eindeutigkeit von L¨ osungen allein von den Randbedingungen abh¨ angen kann. Das liegt daran, dass eine Randwertaufgabe eine Problemstellung im Großen ist, wir also nicht wie bei Anfangswertproblem lokal arbeiten und argumentieren k¨ onnen. △
Beispiel 9.2. Mehrere L¨ osungen 1 , y(0) = 0, 2 hat zwei L¨ osungen, siehe Abb. 9.1. y ′′ = y 5 − 10y +
y ′ (1) = −3,
(9.13)
4 y2′ (x) 3 y1′ (x)
2
y2 (x)
1 y1 (x)
x
0 0
0.5
1
−1 −2 −3
Abb. 9.1 Die L¨ osungen y1 (x), y2 (x) und ihre Ableitungen (- -). ¨ Eine geringf¨ ugige Anderung der Koeffizienten dieser nichtlinearen Randwertaufgabe kann zu einer eindeutigen L¨ osung f¨ uhren oder die Anzahl existierender L¨ osungen noch erh¨ ohen. Die Eindeutigkeit von L¨ osungen kann zus¨ atzlich von den Randbedingungen abh¨ angen. Verallgemeinern wir das Problem zu y ′′ = η1 y 5 − η2 y + η3 , y(0) = α y ′ (1) = β,
(9.14)
so bekommen wir unterschiedlich viele L¨ osungen abh¨ angig von den Werten der Parameter ηi . Die L¨ osung ist eindeutig f¨ ur 5 η1 y 4 > η2 . Die Anzahl der L¨ osungen w¨ achst mit η2 . △
399
9.2 Lineare Randwertaufgaben
Beispiel 9.3. Durchbiegung eines Balkens Ein homogener, ideal elastischer Balken sei an seinen Enden frei beweglich gest¨ utzt. Er unterliege einer axialen Druckkraft P und der transversalen Belastung h(x). Seine L¨ ange sei 2, seine Biegesteifigkeit E J(x), −1 ≤ x ≤ 1, mit dem Elastizit¨ atsmodul E und dem Fl¨ achentr¨ agheitsmoment J(x). J(x) ist proportional zu D4 (x), wenn D der Durchmesser des Balkens ist. h(x)
P
P
1 x = −1
1 x=0
x=1
Abb. 9.2 Durchbiegung eines Balkens. Gesucht ist das Biegemoment M , f¨ ur das die Differenzialgleichung P M (x) = −h(x) M ′′ (x) + E J(x) gilt. Wegen der freien Beweglichkeit muss es an den Randpunkten verschwinden: M (−1) = M (1) = 0. Die Aufgabenstellung wird durch folgende Festlegungen vereinfacht: J0 Es sei h(x) ≡ h, J(x) := , P := E J0 , d.h. der Balken, der an den Enden geringeren 1 + x2 Querschnitt als in der Mitte hat, unterliegt konstanten Kr¨ aften. Jetzt liefert die Transformation M die eindeutig l¨ osbare Sturmsche Randwertaufgabe: y=− h −y ′′ (x) − (1 + x2 ) y(x) = 1, y(−1) = y(1) = 0.
9.2
Lineare Randwertaufgaben
9.2.1
Allgemeine L¨osung
(9.15) △
Eine Randwertaufgabe heißt linear, wenn sowohl die Differenzialgleichung als auch die Randbedingungen linear sind. Wir wollen jetzt den allgemeinen linearen Fall systematischer betrachten und Bedingungen f¨ ur die Existenz und Eindeutigkeit von L¨osungen formulieren. Auch spezielle numerische Methoden f¨ ur lineare Randwertaufgaben werden behandelt. Dazu legen wir ein System von n linearen Differenzialgleichungen erster Ordnung zu Grunde, siehe auch Lemma 8.1.
400
9 Rand- und Eigenwertprobleme
Ein lineares Differenzialgleichungssystem lautet y ′ (x) = F (x) y(x) + g(x),
(9.16)
angige (n × n)-Matrix und y(x), g(x) ∈ Ên n-dimensionale wo F (x) ∈ Ên,n eine von x abh¨ Vektorfunktionen sind. Die zugeh¨ origen n Randbedingungen (9.2) sind jetzt auch linear und lassen sich mit Hilfe von zwei Matrizen A, B ∈ Ên,n und einem Vektor c ∈ Ên wie folgt formulieren: A y(a) + B y(b) = c.
(9.17)
′
Das homogene Differenzialgleichungssystem y (x) = F (x) y(x) besitzt im Intervall I := [a, b] unter der Voraussetzung, dass die Matrixelemente von F (x) in I stetige Funktionen sind, ein System von n linear unabh¨ angigen L¨ osungen y 1 (x), y 2 (x), . . . , y n (x), die man zur ur alle Fundamentalmatrix Y (x) := (y 1 (x), y 2 (x), . . . , y n (x)) ∈ Ên,n zusammenfasst, die f¨ x ∈ I regul¨ ar ist. Ein solches Fundamentalsystem l¨asst sich beispielsweise durch n-malige numerische Integration des homogenen Differenzialgleichungssystems unter den n speziellen Anfangsbedingungen y k (a) = ek ,
k = 1, 2, . . . , n,
(9.18)
aherungsweise bestimmen. Unter den oben wo ek ∈ Ê den k-ten Einheitsvektor darstellt, n¨ genannten Voraussetzungen an F (x) folgt dann aus det Y (a) = det I = 1, dass Y (x) f¨ ur alle x ∈ I regul¨ ar ist [Heu 04a]. n
F¨ ur die allgemeine L¨ osung eines inhomogenen Differenzialgleichungssystems (9.16) mit g(x) ≡ 0 ben¨ otigt man eine partikul¨ are L¨ osung y 0 (x) von (9.16). Daf¨ ur gibt es auf Grund der Fundamentalmatrix Y (x) eine geschlossene, formelm¨aßige Darstellung. Man ermittelt aber eine spezielle partikul¨ are L¨ osung y 0 (x) konkret durch numerische Integration von (9.16) etwa unter der Anfangsbedingung y 0 (a) = 0.
(9.19)
Die allgemeine L¨ osung des linearen, inhomogenen Differenzialgleichungssystems (9.16) ist dann gegeben durch n y allg (x) = y 0 (x) + αk y k (x) = y 0 (x) + Y (x) α (9.20) k=1
mit α := (α1 , α2 , . . . , αn ) ∈ Ên beliebig. Mit Hilfe dieser allgemeinen L¨osung kann jetzt die L¨ osbarkeit der Randwertaufgabe untersucht werden, indem sie in die geforderten Randbedingungen (9.17) eingesetzt wird. Das liefert die Bedingungsgleichung f¨ ur den unbekannten Vektor α T
A [y 0 (a) + Y (a) α] + B [y 0 (b) + Y (b) α] = c, oder geordnet [A Y (a) + B Y (b)]α = c − Ay 0 (a) − By 0 (b).
(9.21)
Die L¨ osbarkeit des linearen Gleichungssystems (9.21) f¨ ur den Vektor α ∈ Ê mit der Koeffizientenmatrix D := A Y (a) + B Y (b) ∈ Ên,n und der rechten Seite d := c − A y 0 (a) − B y 0 (b) ∈ Ên entscheidet u osbarkeit der linearen Randwertaufgabe. Auf Grund ¨ ber die L¨ von S¨ atzen der linearen Algebra [Bun 95, Sta 94] folgt unmittelbar n
9.2 Lineare Randwertaufgaben
401
Satz 9.1. a) Die lineare Randwertaufgabe (9.16), (9.17) besitzt eine eindeutige L¨osung genau dann, wenn die Matrix D := A Y (a) + B Y (b) regul¨ar ist, d.h. wenn Rang (D) = n ist. b) Die lineare Randwertaufgabe (9.16), (9.17) hat eine mehrdeutige L¨osung genau dann, wenn Rang (D) = Rang (D|d) < n gilt. c) Die lineare Randwertaufgabe (9.16), (9.17) besitzt keine L¨osung genau dann, wenn Rang (D) < Rang (D|d) ist. Man kann u ¨ brigens leicht zeigen, dass die Aussage von Satz 9.1 unabh¨angig ist von der verwendeten Fundamentalmatrix Y (x) und der partikul¨aren L¨osung y 0 (x). Im Fall von nichtlinearen Randwertaufgaben ist es wesentlich schwieriger, Bedingungen f¨ ur die Existenz und Eindeutigkeit einer L¨ osung anzugeben, wie schon an Beispiel 9.2 zu sehen war.
9.2.2
Analytische Methoden
In manchen Aufgabenstellungen der Ingenieurwissenschaften treten lineare Randwertaufgaben mit einer einzelnen Differenzialgleichung n-ter Ordnung auf. Unter der Annahme, die gestellte Randwertaufgabe besitze eine eindeutige L¨osung, betrachten wir die Aufgabe, in einem gegebenen Intervall I := [a, b] eine Funktion y(x) als L¨osung einer linearen, inhomogenen Differenzialgleichung n fi (x)y (i) (x) = g(x) (9.22) L[y] := i=0
unter den n allgemeinen Randbedingungen n n ri (y) := bij y (j−1) (b) = ci , i = 1, 2, . . . , n, aij y (j−1) (a) +
(9.23)
j=1
j=1
zu bestimmen mit stetigen Funktionen fi , g ∈ C([a, b]) und mit fn (x) = 0 f¨ ur alle x ∈ [a, b].
Eine erste Methode setzt die theoretischen Betrachtungen, die zur Ausage des Satztes 9.1 gef¨ uhrt haben, in die Praxis um. Die allgemeine L¨osung der Differenzialgleichung (9.22) stellt sich dar als Linearkombination n αk yk (x), (9.24) y(x) = y0 (x) + k=1
einer partikul¨ aren L¨ osung y0 (x) der inhomogenen Differenzialgleichung L[y] = g und den n Funktionen yk (x), welche ein Fundamentalsystem der homogenen Differenzialgleichung L[y] = 0 bilden. F¨ ur einfache Differenzialgleichungen (9.22) kann das System der (n + 1) Funktionen oft formelm¨ aßig angegeben werden. Im allgemeinen Fall gewinnt man diese Funktionen n¨ aherungsweise durch numerische Integration des zu (9.22) ¨aquivalenten Differenzialgleichungssystems erster Ordnung beispielsweise unter den Anfangsbedingungen (n−1)
y0 (a) = y0′ (a) = . . . = y0 (j)
yk (a) =
1 0
(a) = 0, ! f¨ ur k = j + 1 k = 1, 2, . . . , n, f¨ ur k = j + 1 j = 0, 1, . . . , n − 1.
(9.25)
402
9 Rand- und Eigenwertprobleme
Bei diesem Vorgehen ist festzuhalten, dass die numerische Integration des Differenzialgleichungssystems automatisch die Ableitungen der Funktionen bis zur (n − 1)-ten Ordnung (n−1) mitliefert, so dass die Werte yk (b), yk′ (b), . . . , yk (b), k = 0, 1, 2, . . . , n, zur Verf¨ ugung stehen. Bildet man mit den n Funktionen des Fundamentalsystems die Wronsky-Matrix ⎛ ⎞ y1 (x) y2 (x) ··· yn (x) ⎜ y1′ (x) y2′ (x) ··· yn′ (x) ⎟ ⎜ ⎟ Y (x) := ⎜ ⎟, .. .. .. ⎝ ⎠ . . . (n−1)
y1
(x)
(n−1)
y2
(n−1)
(x)
· · · yn
(x)
dann resultiert f¨ ur die unbekannten Koeffizienten αk in (9.24) das lineare Gleichungssystem (9.21). Erf¨ ullen die (n + 1) Funktionen y0 (x), y1 (x), . . ., yn (x) die Anfangsbedingungen (9.25), so lautet wegen Y (a) = I das lineare Gleichungssystem f¨ ur α := (α1 , α2 , . . . , αn )T [A + B Y (b)]α = c − B z 0 (b)
(9.26)
(n−1) y0′ (b), . . . , y0 (b))T .
mit z 0 (b) := (y0 (b), Daraus ist ersichtlich, dass zur Bestimmung der aren L¨osung y0 (x) und die Fundamentall¨osunKoeffizienten αk nur die Werte der partikul¨ gen y1 (x), y2 (x), . . . , yn (x) zusammen mit ihren ersten (n − 1) Ableitungen an der Stelle x = b ben¨ otigt werden. Nach erfolgter Aufstellung des Gleichungssystems (9.26) und seiner Aufl¨ osung steht im Vektor α die Information u ¨ ber die Anfangsbedingungen der gesuchten L¨osungsfunktion y(x) der Randwertaufgabe zur Verf¨ ugung, denn wegen (9.24) und (9.25) gelten f¨ ur sie y(a) = α1 ,
y ′ (a) = α2 ,
...,
y (n−1) (a) = αn .
Auf Grund dieser so festgelegten Anfangsbedingungen kann die L¨osungsfunktion y(x) durch eine erneute Integration des Differenzialgleichungssystems ermittelt werden. Nach durchgef¨ uhrter Integration ist die Richtigkeit der Ergebnisse anhand der Randbedingungen u ¨ berpr¨ ufbar. Beim skizzierten L¨ osungsweg m¨ ussen nur die rechten Randwerte der (n + 1) numerisch berechneten Funktionen y0 (x), y1 (x), . . . , yn (x) gespeichert werden. Beispiel 9.4. Wir betrachten die lineare Randwertaufgabe y ′′ − xy ′ + 4y = x
(9.27)
y(0) = 1,
(9.28)
f¨ ur das Intervall [0, 1] unter den Randbedingungen y(1) = 0.
Die ¨ aquivalente, f¨ ur die numerische Behandlung geeignete Formulierung als Differenzialgleichungssystem lautet mit den Funktionen z1 (x) := y(x), z2 (x) := y ′ (x) ! ! 0 1 0 z1′ (x) = z2 (x), ′ = + mit = , = (9.29) oder: −4 x x z2′ (x) = −4z1 (x) + xz2 (x) + x, mit den Randbedingungen z1 (0) = 1,
z1 (1) = 0.
(9.30) T
F¨ ur die Vektorfunktion (x) := (z1 (x), z2 (x)) erhalten die Randbedingungen die allgemeine Form (9.17), wenn wir die folgenden Matrizen und und den Vektor definieren: ! ! ! 1 0 0 0 1 := :=
:= , , 0 0 1 0 0
403
9.2 Lineare Randwertaufgaben Durch numerische Integration des homogenen Differenzialgleichungssystems z1′ (x) = z2 (x),
z2′ (x) = −4z1 (x) + xz2 (x)
unter den beiden Anfangsbedingungen 1 (0) = 1 , 2 (0) = 2 und des gegebenen inhomogenen Systems (9.29) unter der Anfangsbedingung 0 (0) = 0 ergeben sich mit dem klassischen RungeKutta-Verfahren (8.44) bei einer Schrittweite h = 0.02 die folgenden Ergebnisse ! ! −0.6666666 0.5256212 0.1581263 (1) = , . 0 (1) = −2.6666666 −0.3705970 0.4568657 Das daraus resultierende lineare Gleichungssystem (9.26) f¨ ur die Koeffizienten α1 und α2 α1 −0.6666666 α1 + 0.5256212 α2
=1 = −0.1581262
hat die L¨ osungen α1 = 1, α2 = 0.9675037. Die nachfolgende Integration von (9.29) unter der osung y(x) der Randwertaufgabe. In Abb. 9.3 ist Anfangsbedingung (0) = liefert die gesuchte L¨ ihr Graph zusammen mit denen der partikul¨ aren L¨ osung y0 (x) und der Fundamentall¨ osungen y1 (x) und y2 (x) dargestellt, und die L¨ osung ist f¨ ur sp¨ atere Vergleichszwecke auszugsweise an diskreten Stellen tabelliert. Der Aufwand zur L¨ osung der betrachteten Randwertaufgabe h¨ atte verkleinert werden k¨ onnen, wenn die gesuchte L¨ osung als Superposition einer partikul¨ aren L¨ osung y˜0 (x) unter den Anfangsbedingungen y˜0 (0) = 1, y˜0′ (0) = 0 und einer L¨ osung y˜1 (x) der homogenen Differenzialgleichung unter den Anfangsbedingungen y˜1 (0) = 0, y˜1′ (0) = 1 angesetzt worden w¨ are y(x) = y˜0 (x) + α˜ y1 (x). F¨ ur beliebiges α erf¨ ullt die Ansatzfunktion die Randbedingung am linken Rand des Intervalls und nat¨ urlich die Differenzialgleichung. Der Koeffizient α wird auf Grund der zweiten Randbedingung bestimmt als L¨ osung einer linearen Gleichung. z(x) 1
z(x)
z1 (x)
0.5
z2 (x) x
z0 (x) 0.5
−0.5
Abb. 9.3 L¨ osung einer linearen Randwertaufgabe.
1
x
y(x)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
1 1.076467 1.111502 1.104428 1.055404 0.965448 0.826455 0.671222 0.473465 0.247847 0
△
404
9.2.3
9 Rand- und Eigenwertprobleme
Analytische Methoden mit Funktionenans¨atzen
In einer anderen Klasse von analytischen, weniger aufw¨andigen Methoden wird das Ziel gesetzt, wenigstens eine N¨ aherungsl¨ osung der Randwertaufgabe (9.22), (9.23) zu bestimmen. Die Grundidee besteht darin, eine Ansatzfunktion als Linearkombination von vorgegebenen, dem Problem angepassten Funktionen zu verwenden, welche in der Regel keine L¨osungen der Differenzialgleichung sind. An die Ansatzfunktionen wk (x), k = 0, 1, 2, . . . , m, im Ansatz z(x) = w0 (x) +
m
αk wk (x)
(9.31)
k=1
werden aber Bedingungen hinsichtlich der Randbedingungen gestellt. So soll w0 (x) die gegebenen Randbedingungen ri (w0 ) = ci ,
i = 1, 2, . . . , n,
(9.32)
erf¨ ullen, w¨ ahrend die anderen m Funktionen wk (x) den homogenen Randbedingungen ri (wk ) = 0,
i = 1, 2, . . . , n; k = 1, 2, . . . , m,
(9.33)
gen¨ ugen. Durch diese Postulate wird erreicht, dass die Funktion z(x) (9.31) kraft der Linearit¨ at der Randbedingungen f¨ ur beliebige Werte der αk den Randbedingungen m m αk ri (wk ) = ri (w0 ) = ci αk wk = ri (w0 ) + ri (z) = ri w0 + k=1
k=1
f¨ ur i = 1, 2, . . . , n gen¨ ugt. Die Koeffizienten αk sollen im Folgenden so bestimmt werden, dass die Differenzialgleichung von der Funktion z(x) in einem noch zu pr¨azisierenden Sinn m¨ oglichst gut erf¨ ullt wird. Setzt man den Ansatz f¨ ur z(x) in die Differenzialgleichung (9.22) ein, so resultiert eine Fehlerfunktion m αk L[wk ] + L[w0 ] − g(x), (9.34) ε(x; α1 , α2 , . . . , αm ) := L[z] − g(x) = k=1
welche infolge der Linearit¨ at der Differenzialgleichung eine lineare Funktion bez¨ uglich der Koeffizienten αk ist. Diese werden auf Grund einer der folgenden Methoden bestimmt. Kollokationsmethode
Es wird gefordert, dass die Ansatzfunktion z(x) die Differenzialgleichung an m verschiedenen Stellen a ≤ x1 < x2 < . . . < xm−1 < xm ≤ b des Intervalls erf¨ ullt. Diese m diskreten Intervallstellen bezeichnet man als Kollokationspunkte. Das Postulat f¨ uhrt somit auf die m ussen die αk Bedingungen ε(xi ; α1 , α2 , . . . , αm ) = 0 an die Fehlerfunktion, und folglich m¨ L¨osung des linearen Gleichungssystems m (9.35) L[wk ]xi αk + L[w0 ]xi − g(xi ) = 0, i = 1, 2, . . . , m, k=1
sein. Die Matrixelemente des Gleichungssystems sind gleich den Differenzialausdr¨ ucken L[wk ] der Ansatzfunktionen wk , ausgewertet an den Kollokationspunkten xi , und in die rechte Seite des Systems gehen die Ansatzfunktion w0 und der Wert der Funktion g ein.
405
9.2 Lineare Randwertaufgaben
Die Auswertung aller Ausdr¨ ucke L[wk ]xi scheint wenig attraktiv zu sein. Die Methode eignet sich aber sehr gut zur L¨ osung von linearen Randwertaufgaben, bei denen die Funktionen fi (x) der Differenzialgleichung (9.22) einfache Polynome sind. Dann wird man auch f¨ ur die Ansatzfunktionen geeignete Polynome verwenden, so dass die Bildung von L[wk ] zwar viele, aber einfache Operationen erfordert. Teilintervallmethode Entsprechend der Zahl m der Ansatzfunktionen wk (x) wird das Intervall [a, b] in m Teilintervalle durch die Punkte a = x0 < x1 < x2 < . . . < xm−1 < xm = b unterteilt. Dann wird gefordert, dass der Mittelwert der Fehlerfunktion bez¨ uglich eines jeden Teilintervalls gleich null ist. Diese Bedingung f¨ uhrt auf das lineare Gleichungssystem (xi ε(x; α1 , α2 , . . . , αm ) dx (9.36) xi−1
=
m
αk
k=1
(xi
L[wk ] dx +
xi−1
(xi
xi−1
{L[w0 ] − g(x)} dx = 0, i = 1, 2, . . . , m.
Oft k¨ onnen die darin auftretenden m(m + 1) Integrale u ¨ ber die Teilintervalle analytisch – z.B. mit einem Computer-Algebra-System – berechnet werden. Ist dies nicht der Fall, so sollten sie mit Hilfe der Gauß-Quadratur (vgl. Abschnitt 7.4) numerisch ermittelt werden. Fehlerquadratmethode Es wird zwischen der kontinuierlichen und der diskreten Methode unterschieden ganz entsprechend der Gauß-Approximation, vgl. Abschnitt 3.6. Die Berechnung der komplizierter aufgebauten Integrale bei der kontinuierlichen Methode macht diese wenig attraktiv. Aus diesem Grund wird die diskrete Fehlerquadratmethode vorgezogen, die verlangt, dass die Summe der Quadrate der Fehlerfunktionen an M > m verschiedenen Stellen xi ∈ [a, b], i = 1, 2, . . . M , minimal wird. M i=1
ε2 (xi ; α1 , α2 , . . . , αm ) = min! xi ∈ [a, b]
(9.37)
Diese Forderung ist aber mit der Aufgabe ¨ aquivalent, das u ¨ berbestimmte Gleichungssystem m αk L[wk ]xi = g(xi ) − L[w0 ]xi , i = 1, 2, . . . , M, k=1
nach der Methode der kleinsten Quadrate zu behandeln, vgl. Abschnitte 6.1 und 6.2. Die Koeffizienten cik = L[wk ]xi der Fehlergleichungsmatrix C = (cik ) ∈ ÊM,m sind gleich den Differenzialausdr¨ ucken der Ansatzfunktionen wk , ausgewertet an den Stellen xi und die Komponenten di = g(xi ) − L[w0 ]xi des Vektors d = (d1 , d2 , . . . , dM )T ∈ Êm berechnen sich auf analoge Weise. Das Fehlergleichungssystem wird vorteilhafter Weise mit einer der Methoden der Orthogonaltransformation bearbeitet.
406
9 Rand- und Eigenwertprobleme
Galerkin-Methode F¨ ur m Ansatzfunktionen wk (x) soll die Fehlerfunktion ε(x; α1 , . . . , αm ) orthogonal zu einem linearen, m-dimensionalen Unterraum U := span{v1 , . . . , vm } von linear unabh¨angigen Funktionen vi : [a, b] → Ê sein: (b
ε(x; α1 , α2 , . . . , αm )vi (x) dx = 0,
i = 1, 2, . . . , m.
(9.38)
a
Das liefert ein System von m linearen Gleichungen f¨ ur die αk m
αk
k=1
(b
L[wk ]vi (x) dx =
a
(b a
{g(x) − L[w0 ]}vi (x) dx,
i = 1, 2, . . . , m.
(9.39)
Auch diese Methode erfordert die Berechnung von m(m + 1) Integralen. In der Regel werden in der Galerkin-Methode die Funktionen vi = wi , i = 1, 2, . . . , m, gew¨ ahlt, so dass die Fehlerfunktion zum linearen Unterraum U = span{w1 , w2 , . . . , wm } orthogonal wird, der durch die gew¨ ahlten Ansatzfunktionen aufgespannt wird. Eine moderne Weiterentwicklung der Galerkin-Methode f¨ uhrte zur vielseitig anwendbaren Methode der finiten Elemente. Das gegebene Intervall [a, b] wird zuerst in Teilintervalle unterteilt, und dann werden die Ansatzfunktionen wk so festgesetzt, dass sie bez¨ uglich der Intervallzerlegung nur einen relativ kleinen Tr¨ ager besitzen, d.h. nur in wenigen, aneinan¨ dergrenzenden Teilintervallen von null verschiedene Werte aufweisen. Ublicherweise wird ahlt, und auf die Integrale wird teilweise partielle Integration vi = wi , i = 1, 2, . . . , m, gew¨ angewandt, um die h¨ ochsten Ableitungen zu eliminieren. Auf Grund all dieser Maßnahmen bekommt das Gleichungssystem (9.39) Bandstruktur mit sehr kleiner Bandbreite. F¨ ur die Behandlung eines selbstadjungierten Sturm-Problems (9.7) ist die Bandmatrix symmetrisch positiv definit; sonst ist sie i.A. nicht symmetrisch. Ist die Differenzialgleichung von zweiter Ordnung, dann sind Ansatzfunktionen zul¨ assig, die stetig und mindestens st¨ uckweise einmal stetig differenzierbar sind. Die einfachsten derartigen Funktionen sind die st¨ uckweise linearen Hutfunktionen, wie wir sie von den B-Splines kennen, siehe etwa Abb. 3.8. Beispiel 9.5. Wir betrachten die lineare Randwertaufgabe von Beispiel 9.4 y ′′ − xy ′ + 4y = x y(0) = 1,
y(1) = 0.
Zur Illustration einiger der N¨ aherungsmethoden w¨ ahlen wir die Funktion w0 (x) = 1 − x, welche die gegebenen Randbedingungen erf¨ ullt, und ferner wk (x) = xk (1 − x),
k = 1, 2, . . . , m,
welche den homogenen Randbedingungen y(0) = y(1) = 0 gen¨ ugen. F¨ ur die ben¨ otigten Differenzialausdr¨ ucke L[wk ] = wk′′ − xwk′ + 4wk ergeben sich nach einfacher Rechnung L[w0 ]
=
L[w1 ]
=
4 − 3x,
−2x2 + 3x − 2,
L[w2 ] = −x3 + 2x2 − 6x + 2,
407
9.2 Lineare Randwertaufgaben L[wk ]
=
(k − 3)xk+1 + (4 − k)xk − k(k + 1)xk−1 + k(k − 1)xk−2 ,
k ≥ 2.
Mit diesen Ausdr¨ ucken hat die Fehlerfunktion im Fall m = 4 die explizite Darstellung ε(x; α1 , α2 , α3 , α4 ) = α1 L[w1 ] + α2 L[w2 ] + α3 L[w3 ] + α4 L[w4 ] + L[w0 ] − x. F¨ ur die Kollokationsmethode soll der Einfluss der gew¨ ahlten Kollokationspunkte aufgezeigt werden. F¨ ur die vier ¨ aquidistanten Kollokationspunkte x1 = 0.2, x2 = 0.4, x3 = 0.6, x4 = 0.8 berechnen sich die Unbekannten αk aus dem Gleichungssystem 1 10 1 0 0 α1 −3.2 −1.48 0.872 0.728 0.32032 C CB C B B 0.544 0.65024 C B α2 C B −2.4 C B −1.12 −0.144 C CB C=B B @ −0.92 −1.096 −0.504 0.07776 A @ α3 A @ −1.6 A −0.8 −0.88 −2.032 −2.368 −2.23232 α4 zu α1 = 1.967613, α2 = −0.033081, α3 = −0.347925, α4 = −0.018094. Die daraus resultierende N¨ aherungsl¨ osung der Randwertaufgabe lautet somit z(x) = (1 − x)(1 + 1.967613x − 0.033081x2 − 0.347925x3 − 0.018094x4 ). Die zugeh¨ orige Fehlerfunktion berechnet sich daraus zu ε(x; αk ) = −0.001388 + 0.013775x − 0.043416x2 + 0.047036x3 − 0.018094x5 . In Tab. 9.1 sind die Werte der N¨ aherungsl¨ osung zusammen mit denjenigen der Fehlerfunktion tabelliert. Die tabellierten N¨ aherungswerte stellen sehr gute Approximationen dar und weichen um h¨ ochstens 1 · 10−5 von den exakten Werten ab. Die Fehlerfunktion ε(x; αk ) weist aber einen wenig ausgeglichenen Verlauf auf. Tab. 9.1 N¨ aherungsl¨ osungen der Randwertaufgabe. Kollokation, m = 4 aquidistant ¨
Kollokation, m = 4 T-Abszissen
x=
z(x) =
106 ε =
z˜(x) =
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
1.000000 1.076473 1.111510 1.104436 1.055413 0.965457 0.836465 0.671231 0.473474 0.247855 0.000000
−1388 −398 1 63 0 −40 0 73 −1 −553 −2087
1.000000 1.076467 1.111505 1.104436 1.055416 0.965462 0.836468 0.671230 0.473467 0.247847 0.000000
106 ε˜ = −286 253 265 24 −238 −358 −258 29 337 350 −428
Fehlerquadratmethode z¯(x) = 1.000000 1.076464 1.111500 1.104430 1.055410 0.965456 0.836462 0.671224 0.473463 0.247844 0.000000
106 ε¯ = −242 313 324 72 −208 −344 −254 34 361 413 −300
W¨ ahlt man hingegen als Kollokationspunkte die auf das Intervall [0, 1] transformierten, aufsteigend angeordneten Nullstellen des Tschebyscheff-Polynoms T4 (x) x1 = 0.038060,
x2 = 0.308658,
x3 = 0.691342,
x4 = 0.961940,
408
9 Rand- und Eigenwertprobleme
so lautet das zugeh¨ orige Gleichungssystem 0 −1.888717 1.774482 0.211032 B 0.309186 0.738117 B −1.264566 B @ −0.881882 −1.522574 −1.256964 −0.964837 −2.811093 −4.442192
Die resultierende N¨ aherungsl¨ osung ist
0.016280 0.557923 −0.715215 −5.874624
10 CB CB CB A@
α1 α2 α3 α4
1
0
C B C B C=B A @
−3.847760 −2.765368 −1.234632 −0.152240
1
C C C. A
z˜(x) = (1 − x)(1 + 1.967508x − 0.032635x2 − 0.348222x3 − 0.018295x4 )
mit der Fehlerfunktion
ε˜(x; αk ) = −0.000286 + 0.009002x − 0.041162x2 + 0.050313x3 + 0.018295x5 .
Die Fehlerfunktion ist jetzt praktisch nivelliert, die N¨ ahrungswerte weisen auch etwas kleinere Fehler auf (vgl. Tab. 9.1). Die diskrete Fehlerquadratmethode wird mit den neun ¨ aquidistanten Stellen xi = (i − 1)/8, i = 1, . . . , 9, durchgef¨ uhrt. Das Fehlergleichungssystem mit neun Fehlergleichungen f¨ ur die vier aherungsl¨ osung Unbekannten α1 , α2 , α3 , α4 liefert die N¨ z¯(x) = (1 − x)(1 + 1.967479x − 0.032642x2 − 0.348169x3 − 0.018344x4 )
mit der Fehlerfunktion
ε¯(x; αk ) = −0.000242 + 0.009272x− = 0.042342x2 + 0.051353x3 − 0.018344x5 .
Die sich aus dieser N¨ aherungsl¨ osung ergebenden Approximationen sind ebenfalls sehr gut, und die Fehlerfunktion ist recht gleichm¨ aßig nivelliert (vgl. Tab. 9.1). △
9.3
Schießverfahren
Die analytischen Verfahren sind f¨ ur Randwertaufgaben, denen eine nichtlineare Differenzialgleichung zu Grunde liegt, nicht anwendbar, denn ihre allgemeine L¨osung ist in diesem Fall nicht linear von den freien Parametern abh¨angig. Die Grundidee der Schießverfahren besteht darin, die Behandlung von nichtlinearen Randwertaufgaben auf Anfangswertprobleme zur¨ uckzuf¨ uhren, f¨ ur welche die Anfangswerte so zu bestimmen sind, dass die L¨osung der Randwertaufgabe resultiert.
9.3.1
Das Einfach-Schießverfahren
Das Prinzip l¨ asst sich am einfachsten anhand eines Differenzialgleichungssystems erster Ordnung f¨ ur zwei Funktionen y1 (x), y2 (x) # " y1 (x) y ′ (x) = f (x, y(x)), y(x) = (9.198) y2 (x)
unter den Randbedingungen
r1 (y1 (a), y2 (a)) = 0,
r2 (y1 (b), y2 (b)) = 0
(9.199)
beschreiben. Zur Vereinfachung wird angenommen, dass die Randbedingungen je nur die Werte der beiden Funktionen in den Randpunkten betreffen. Um die Aufgabenstellung als
409
9.3 Schießverfahren
Anfangswertaufgabe bearbeiten zu k¨ onnen, sind an der Stelle a die Werte von y1 (a) und y2 (a) vorzugeben. Die Randbedingung r1 (y1 (a), y2 (a)) = 0 bestimmt entweder den einen der beiden Werte oder stellt eine Relation zwischen ihnen her. Jedenfalls kann man den einen Wert problemgerecht gleich einem Wert s setzen und den anderen aus der Randbedingung bestimmen. Durch die Vorgabe von s sind damit die notwendigen Anfangsbedingungen vorhanden, und das Differenzialgleichungssystem kann numerisch im Intervall [a, b] integriert werden. Die resultierende L¨ osung ist selbstverst¨andlich vom gew¨ahlten Wert s abh¨angig, so dass wir sie mit y(x; s) bezeichnen wollen. Der Parameter s ist nun so zu bestimmen, dass die zweite Randbedingung F (s) := r2 (y1 (b; s), y2 (b; s)) = 0
(9.200)
erf¨ ullt ist. Dies stellt eine nichtlineare Gleichung f¨ ur s dar, welche durch die L¨osungsfunktion der Anfangswertaufgabe und die zweite Randbedingung definiert ist. Der Parameter s ist so festzulegen, dass die zweite Randbedingung erf¨ ullt wird. Da das Vorgehen analog zum Einschießen der Artillerie ist, spricht man vom Schießverfahren (engl. shooting). Die nichtlineare Gleichung F (s) = 0 kann mit einer der Methoden des Abschnitts 4.2 gel¨ost werden, z.B. mit der Sekantenmethode, um Ableitungen von F (s) nach s zu vermeiden. Liegt eine Randwertaufgabe mit n Differenzialgleichungen erster Ordnung y ′ (x) = f (x, y(x))
(9.201)
mit den n Randbedingungen ri (y(a), y(b)) = 0,
i = 1, 2, . . . , n,
(9.202)
vor, so wird allgemein ein Parametervektor s ∈ Ên verwendet, man l¨ost die Anfangswertaufgabe f¨ ur das Differenzialgleichungssystem (9.201) numerisch unter der Anfangsbedingung y(a) = s und erh¨ alt eine von s abh¨ angige L¨ osung y(x; s). Eingesetzt ergeben die Randbedingungen n nichtlineare Gleichungen Fi (s) := ri (y(a; s), y(b; s)) = 0,
i = 1, 2, . . . , n,
(9.203)
T
f¨ ur den unbekannten Parametervektor s := (s1 , s2 , . . . , sn ) . Will man das System F (s) = 0 mit der Methode von Newton oder einer ihrer Varianten l¨osen, werden die partiellen Ableiotigt. Diese sind in der Regel nur n¨aherungsweise durch numerische tungen nach den sk ben¨ Differenziation als Differenzenquotienten zu erhalten. Dabei ist aber zu beachten, dass die ¨ Anderung eines Parameters sk um ∆sk die Integration des Differenzialgleichungssystems (9.201) erfordert, um die entsprechende Differenzenquotienten berechnen zu k¨onnen. Die Dimension des Parametervektors s kann in vielen Anwendungen um die Anzahl der Randbedingungen reduziert werden, die nur die Werte der n Funktionen im linken Randpunkt betreffen. Wir wollen also annehmen, die Randbedingungen lauten wie folgt: ri (y(a)) = 0,
i = 1, 2, . . . , r,
ri (y(b)) = 0,
i = r + 1, r + 2, . . . , n.
(9.204) (9.205)
Es gen¨ ugt dann, einen Parametervektor s ∈ Ê so zu w¨ahlen, dass f¨ ur y(a; s) die Randbedingungen (9.204) erf¨ ullt ist. Die L¨ osungsfunktion y(x; s) muss dann noch die (n − r) Randbedingungen (9.205) erf¨ ullen. Dies liefert die notwendigen (n − r) nichtlinearen Gleichungen f¨ ur s. n−r
410
9 Rand- und Eigenwertprobleme y(x) 0.2
0.1
x −3
−2
−1
0
2
1
3
−0.1
−0.2
−0.3
Abb. 9.4 L¨ osung der nichtlinearen Randwertaufgabe.
Beispiel 9.6. Wir betrachten die nichtlineare Randwertaufgabe y ′′ + 2y ′2 + 1.5y + 0.5y 2 = 0.05x y(−3) = 0,
y ′ (3) − 0.4y(3) = 0.
Als System formuliert lautet sie y1′ (x) = y2 (x) y2′ (x) = −1.5y1 (x) − 0.5y1 (x)2 − 2y2 (x)2 + 0.05x
r1 (Ý (−3)) = y1 (−3) = 0,
r2 (Ý (3)) = y2 (3) − 0.4y1 (3) = 0.
F¨ ur das Schießverfahren wird der Parameter s als Anfangsbedingung f¨ ur y2 eingef¨ uhrt, es wird also mit den Anfangsbedingungen y1 (−3) = 0, y2 (−3) = s gerechnet. F¨ ur die gesuchte Funktion y(x) = y1 (x) bedeutet dies, dass ihre Anfangssteigung variiert wird. Das Anfangswertproblem ist mit dem klassischen Runge-Kutta-Verfahren vierter Ordnung (8.44) unter Verwendung der Schrittweite h = 0.1 behandelt worden, welche eine hinreichende Genauigkeit der berechneten N¨ aherungsl¨ osung garantiert. F¨ ur die Folge von Parameterwerten s = 0, 0.1, 0.2, 0.3 ist die Integration durchgef¨ uhrt und der Funktionswert F (s) := y2 (3; s) − 0.4 y1 (3; s) bestimmt worden. Auf Grund des Vorzeichenwechsels von F (s) f¨ ur die Werte s = 0.2 und s = 0.3 ist der gesuchte Wert von s lokalisiert. Sein Wert ist iterativ mit der Sekantenmethode ermittelt worden. Der Rechengang ist in Tab. 9.2 mit auf sechs Nachkommastellen gerundeten Zahlenwerten zusammengestellt. Die f¨ ur s = 0.281475 resultierende L¨ osung ist in Abb. 9.4 dargestellt. △
Beispiel 9.7. Die Behandlung der nichtlinearen Randwertaufgabe vierter Ordnung y (4) (x) − (1 + x2 )y ′′ (x)2 + 5y(x)2 = 0 unter den linearen Randbedingungen y(0) = 1,
y ′ (0) = 0,
y ′′ (1) = −2,
erfolgt nach dem skizzierten Vorgehen.
y (3) (1) = −3
411
9.3 Schießverfahren Tab. 9.2 Beispiel 9.6: Sekantenmethode beim Schießverfahren. k
s(k)
y1 (3; s(k) )
y2 (3; s(k) )
0 1 2 3 4 5 6
0.2 0.3 0.271636 0.280357 0.281544 0.281475 0.281475 = s
0.214493 0.238697 0.236654 0.237923 0.238057 0.238050
0.026286 0.119049 0.084201 0.093916 0.095300 0.095219
F (s(k) ) −0.059511 0.023570 −0.010461 −0.001253 0.000078 −3.1 · 10−7
Mit den Substitutionen y1 (x) = y(x), y2 (x) = y ′ (x), y3 (x) = y ′′ (x), y4 (x) = y (3) (x) lautet die Aufgabe als System von Differenzialgleichungen erster Ordnung y1′ (x) = y2 (x), y2′ (x) = y3 (x), y3′ (x) = y4 (x) y4′ (x) = (1 + x2 )y3 (x)2 − 5y1 (x)2
(9.206)
mit den Randbedingungen y1 (0) = 1,
y2 (0) = 0;
y3 (1) = −2,
y4 (1) = −3.
Da hier die Randbedingungen nur die Werte an den Intervallenden betreffen, kann mit zwei Parametern in den Anfangswerten gearbeitet werden: y1 (0) = 1,
y2 (0) = 0;
y3 (0) = s,
y4 (0) = t.
F¨ ur die zugeh¨ orige L¨ osung Ý (x; s, t) lauten die zu erf¨ ullenden Bedingungsgleichungen g(s, t) := y3 (1; s, t) + 2 = 0 h(s, t) := y4 (1; s, t) + 3 = 0. Wegen der Nichtlinearit¨ at des Differenzialgleichungssystems wird das nichtlineare System von Gleichungen f¨ ur s und t mit der Methode von Newton (vgl. Abschnitt 4.3.2) gel¨ ost. Die Elemente der Funktionalmatrix ! gs gt Φ(s, t) = hs ht (s,t)
werden gen¨ ahert als Differenzenquotienten ermittelt gem¨ aß ∂g(s, t) g(s + ∆s, t) − g(s, t) ∂h(s, t) h(s + ∆s, t) − h(s, t) ≈ , ≈ . ∂s ∆s ∂s ∆s Analoge Formeln gelten f¨ ur die partiellen Ableitungen nach t. Um die Differenzenquotienten zu geonnen, ist das Differenzialgleichungssystem (9.206) gebenem Parameterpaar (sk , tk ) berechnen zu k¨ pro Iterationsschritt dreimal zu integrieren f¨ ur die drei Parameterkombinationen (sk , tk ), (sk +∆sk , tk ) und (sk , tk + ∆tk ). Die Parameterinkremente ∆s und ∆t sind problemabh¨ angig geeignet zu w¨ ahlen. Einerseits d¨ urfen sie nicht zu klein sein, um Ausl¨ oschung im Z¨ ahler des Differenzenquotienten zu vermeiden, und andererseits nicht zu groß, um den Diskretisierungsfehler in tolerablen Grenzen zu halten. Ihre Wahl beeinflusst die Iterationsfolge dadurch, dass die N¨ aherungen der Funktionalmatrix von den Gr¨ oßen ∆s und ∆t abh¨ angig sind und somit verschiedene Korrekturen der einzelnen Iterationsschritte bewirken. Die Anfangswertaufgaben sind mit dem klassischen Runge-Kutta-Verfahren (8.44) unter Verwendung der Schrittweite h = 0.025 numerisch integriert worden. Mit den dem Problem angepassten
412
9 Rand- und Eigenwertprobleme
Werten ∆s = ∆t = 0.05 ergeben sich f¨ ur die Startwerte s0 = t0 = 0 f¨ ur den ersten Iterationsschritt die folgenden Zahlwerte: g(s0 , t0 ) = −0.144231, g(s0 + ∆s, t0 ) = −0.135303, g(s0 , t0 + ∆t0 ) = −0.113508,
h(s0 , t0 ) = 0.196094, h(s0 + ∆s, t0 ) = 0.046900, h(s0 , t0 + ∆t0 ) = 0.151890.
0.178556 σ −2.983871 σ
+ −
0.614459 τ 0.884072 τ
= =
0.241491 σ −2.893751 σ
+ −
0.652710 τ 0.766208 τ
Das resultierende lineare Gleichungssystem f¨ ur die Korrekturen σ und τ lautet 0.144231 −0.196094
mit den L¨ osungen σ = −0.004189, τ = 0.235946. Die N¨ aherungen f¨ ur den n¨ achsten Iterationsorige lineare Gleichungssystem f¨ ur die schritt sind somit s1 = −0.004189, t1 = 0.235946. Das zugeh¨ Korrekturen im zweiten Iterationsschritt ist = =
−0.003440 −0.010520
mit den L¨ osungen σ = 0.005577, τ = −0.007333, welche die zweiten N¨ aherungen s2 = 0.001388, t2 = 0.228613 liefern. Die Fortsetzung der Iteration erzeugt die rasch konvergente Parameterfolge ur s3 = 0.001394, t3 = 0.228712, s4 = 0.001393, t4 = 0.228714 und damit Parameterwerte f¨ s und t in ausreichender Genauigkeit. Mit diesen Werten ergibt sich die gesuchte L¨ osung der Randwertaufgabe durch eine weitere Integration des Differenzialgleichungssystems mit den jetzt vollst¨ andig bekannten Anfangsbedingungen. △
Das beschriebene Einfach-Schießverfahren besitzt in bestimmten F¨allen von Randwertaufgaben eine katastrophale Schw¨ ache, welche die numerische Bestimmung der L¨osung praktisch unm¨ oglich macht. Diese Schwierigkeiten treten dann auf, wenn die L¨osung y(x, s) empfind¨ lich auf kleine Anderungen des Parametervektors s reagiert oder das L¨osungsintervall recht groß ist. In diesem Fall sind die Bedingungsgleichungen f¨ ur s schwierig oder nur mit großer Unsicherheit zu l¨ osen. Beispiel 9.8. Die Situation soll anhand des linearen Randwertproblems y ′′ − 2y ′ − 8y = 0 y(0) = 1, y(6) = 1
(9.207)
¨ dargelegt werden, weil an dieser Aufgabenstellung die grunds¨ atzlichen Uberlegungen vollst¨ andig analytisch durchf¨ uhrbar sind. Die Differenzialgleichung besitzt die allgemeine L¨ osung y(x) = c1 e4x + c2 e−2x ,
c1 , c2 ∈ Ê beliebig .
Die nach dem Schießverfahren bestimmte L¨ osungsschar mit dem Parameter s zu den Anfangsbedingungen y(0) = 1, y ′ (0) = s lautet 1 1 (9.208) y(x; s) = (2 + s)e4x + (4 − s)e−2x . 6 6 Die zweite Randbedingung liefert f¨ ur s 1 1 24 y(6; s) = (2 + s)e + (4 − s)e−12 = 1 =⇒ 6 6 24 −12 6 − 2e − 4e . s = = −1.999 999 999 77. e24 − e−12 Die L¨ osung der Randwertaufgabe ist somit gegeben durch . y(x) = 3.77511134906 · 10−11 · e4x + 0.999999999962 · e−2x .
413
9.3 Schießverfahren
¨ Da die L¨ osungsschar (9.208) linear von s abh¨ angt, folgt f¨ ur die Anderung bei einer Variation von s um ∆s allgemein 1 ∆y(x) := y(x; s + ∆s) − y(x; s) = ∆s{e4x − e−2x }, 6 und insbesondere am Intervallende x = 6 1 . ∆y(6) = ∆s{e24 − e−12 } = ∆s · 4.415 · 109 . 6 ¨ ¨ des FunktionswerJede Anderung um ∆s verst¨ arkt sich um den Faktor 4.415·109 auf die Anderung tes am Ende des Intervalls. Rechnet man etwa mit zw¨ olf wesentlichen Dezimalstellen und variiert ¨ agt die Anderung s in der Gegend von −2 um die kleinstm¨ oglichen Werte ∆s = 10−11 , so betr¨ ∆y(6) ≈ 0.0442. Die Randbedingung y(6) = 1 kann im extremsten Fall nur mit einer Abweichung von 0.0221 erf¨ ullt werden. △
9.3.2
Das Mehrfach-Schießverfahren
¨ Weil das Empfindlichkeitsmaß von L¨ osungen auf Anderungen der Parameterwerte auf kurzen Intervallen bedeutend kleiner ist, wird dieser Tatsache beim Mehrfach-Schießverfahren (engl. multiple shooting) Rechnung getragen. Dazu wird das gegebene Intervall [a, b] in Teilintervalle unterteilt, um in jedem Teilintervall L¨osungen der Differenzialgleichung unter Anfangsbedingungen zu bestimmen, welche von Parameters¨atzen abh¨angig sind. Diese Teill¨ osungen werden sodann durch Anpassung der Parameters¨atze dadurch zur Gesamtl¨ osung der Randwertaufgabe zusammengesetzt, dass einerseits an den Intervallteilpunk¨ ten Ubergangsbedingungen und andererseits die Randbedingungen erf¨ ullt sind. Unter der Annahme, die Randwertaufgabe sei in der Form eines Differenzialgleichungssystems erster ¨ Ordnung formuliert, betreffen die Ubergangsbedingungen allein die Stetigkeit der beteiligten L¨ osungsfunktionen. Insgesamt f¨ uhrt das zu einem entsprechend großen, nichtlinearen Gleichungssystem f¨ ur die Parameter. Das prinzipielle Vorgehen soll an einer konkreten Randwertaufgabe so dargelegt werden, dass die sinngem¨ aße Verallgemeinerung offensichtlich ist. Zu l¨osen sei y1′ (x) = f1 (x, y1 (x), y2 (x)) y2′ (x) = f2 (x, y1 (x), y2 (x))
(9.209)
unter den speziellen Randbedingungen r1 (y1 (a), y2 (a)) = 0,
r2 (y1 (b), y2 (b)) = 0.
(9.210)
Das Intervall [a, b] werde durch die Teilpunkte a = x1 < x2 < x3 < x4 = b in drei Teilintervalle [xi , xi+1 ], i = 1, 2, 3, zerlegt. In Analogie zum Einfach-Schießverfahren wird im ersten Teilintervall [x1 , x2 ] eine L¨ osung Y 1 (x; s1 ) = (Y11 (x; s1 ), Y21 (x; s1 ))T von (9.209) bestimmt, die vom Parameter s1 abh¨ angt. In den anderen Teilintervallen [xi , xi+1 ], i = 2, 3, werde unter den Anfangsbedingungen Y1i (xi ) = yi ,
Y2i (xi ) = si
je die zugeh¨ orige L¨ osung Y i (x; yi , si ) = (Y1i (x; yi , si ), Y2i (x; yi , si ))T durch numerische Integration berechnet. Unbekannt und somit zu bestimmen sind die Werte der Komponenten des Parametervektors s := (s1 , y2 , s2 , y3 , s3 )T ∈ Ê5 . Die Stetigkeitsbedingungen an den
414
9 Rand- und Eigenwertprobleme
inneren Teilpunkten x2 , x3 , sowie die zweite Randbedingung ergeben das Gleichungssystem g1 (s1 , y2 ) g2 (s1 , s2 ) g3 (y2 , s2 , y3 ) g4 (y2 , s2 , s3 ) g5 (y3 , s3 )
:= Y11 (x2 ; s1 ) − y2 = 0, := Y21 (x2 ; s1 ) − s2 = 0, := Y12 (x3 ; y2 , s2 ) − y3 = 0, := Y22 (x3 ; y2 , s2 ) − s3 = 0, := r2 (Y13 (x4 ; y3 , s3 ), Y23 (x4 ; y3 , s3 )) = 0.
(9.211)
Um das nichtlineare Gleichungssystem (9.211) mit der Methode von Newton zu behandeln, muss die Funktionalmatrix zu einem iterierten Parametervektor (k)
(k)
(k)
(k)
(k)
s(k) = (s1 , y2 , s2 , y3 , s3 )T bestimmt werden. Da die einzelnen Gleichungen im betrachteten Fall h¨ochstens von je drei Parametern abh¨ angen, weist die Funktionalmatrix eine sehr spezielle Bandstruktur auf, und die von null verschiedenen Matrixelemente haben u ¨ berdies sehr spezielle Werte und stehen in engem Zusammenhang mit den L¨ osungen der Differenzialgleichungen der Teilintervalle. So gelten ∂g2 ∂g3 ∂g4 ∂g1 = = = = −1 und ∂y2 ∂s2 ∂y3 ∂s3 ∂g1 ∂s1
=
∂Y11 , ∂s1
∂g2 ∂s1
=
∂Y21 , ∂s1
∂g3 ∂y2
=
∂Y12 , ∂y2
∂g3 ∂Y12 ∂g4 ∂Y22 ∂g4 ∂Y22 = , = , = . ∂s2 ∂s2 ∂y2 ∂y2 ∂s2 ∂s2 Die nichttrivialen partiellen Ableitungen sind im allgemeinen wieder durch Differenzenquotienten zu approximieren, die durch zus¨ atzliche Integrationen des Differenzialgleichungssystems unter variierten Anfangsbedingungen gewonnen werden k¨onnen. Die Funktionalmatrix besitzt im konkreten Fall den folgenden Aufbau: ⎞ ⎛ ∂g1 −1 0 0 0 ⎟ ⎜ ∂s1 ⎟ ⎜ ⎟ ⎜ ∂g2 ⎟ ⎜ 0 −1 0 0 ⎟ ⎜ ∂s ⎟ 1 ⎜ ⎟ ⎜ ∂g3 ∂g3 ⎟ ⎜ −1 0 ⎟. (9.212) Φ=⎜ 0 ⎟ ⎜ ∂y2 ∂s2 ⎟ ⎜ ⎟ ⎜ ∂g4 ∂g4 ⎜ 0 0 −1 ⎟ ⎟ ⎜ ∂y2 ∂s2 ⎟ ⎜ ⎝ ∂r2 ∂r2 ⎠ 0 0 0 ∂y3 ∂s3 Die beiden Elemente der letzten Zeile von Φ sind von der konkreten Randbedingung abh¨ angig. Darin treten partielle Ableitungen der L¨osungsfunktionen Yi3 (x4 ; y3 , s3 ) auf. Zusammenfassend halten wir fest, dass zur gen¨ aherten Berechnung von Φ das Differen(k) zialgleichungssystem (9.209) im ersten Teilintervall zweimal f¨ ur die Parameter s1 und (k) ur die s1 + ∆s1 zu integrieren ist, in den weiteren Teilintervallen [xi , xi+1 ] jeweils dreimal f¨ (k) (k) (k) (k) (k) (k) Parameterkombinationen (yi , si ), (yi + ∆yi , si ), (yi , si + ∆si ). Auf diese Weise
415
9.3 Schießverfahren
steigt der Rechenaufwand sicher an, doch ist zu beachten, dass die numerische Integration nur je u ¨ ber die Teilintervalle zu erfolgen hat, insgesamt also nur u ¨ ber das ganze Intervall. ¨ Weil zudem die Empfindlichkeit der L¨ osungsfunktionen auf Anderungen der Anfangswerte auf den Teilintervallen geringer ist als auf dem ganzen Intervall, ist diese Problematik eliminiert, und die nichtlinearen Gleichungssysteme lassen sich weitgehend problemlos l¨osen. Beispiel 9.9. Wir betrachten die wenig problematische nichtlineare Randwertaufgabe von Beispiel 9.6 y1′ (x)
=
y2 (x),
y2′ (x)
=
y1 (−3)
=
−1.5 y1 (x) − 0.5 y1 (x)2 − 2 y2 (x)2 + 0.05 x, 0,
(9.213)
y2 (3) − 0.4 y1 (3) = 0.
Wir unterteilen das Intervall [−3, 3] in die drei gleich langen Teilintervalle [−3, −1], [−1, 1], [1, 3]. ur ihn ist das nichtlineare Der Parametervektor ist deshalb = (s1 , y2 , s2 , y3 , s3 )T ∈ Ê5 , und f¨ Gleichungssystem (9.211) g1 (s1 , y2 ) g2 (s1 , s2 ) g3 (y2 , s2 , y3 ) g4 (y2 , s2 , s3 ) g5 (y3 , s3 )
= = = = =
Y11 (−1; s1 ) − y2 Y21 (−1; s1 ) − s2 Y12 (1; y2 , s2 ) − y3 Y22 (1; y2 , s2 ) − s3 Y23 (3; y3 , s3 ) − 0.4 Y13 (3; y3 , s3 )
= = = = =
0 0 0 0 0
zu l¨ osen. Ein Problem zu seiner L¨ osung besteht wohl darin, der Aufgabenstellung angepasste Startwerte des Parametervektors (0) vorzugeben, damit die Methode von Newton eine konvergente, in m¨ oglichst wenigen Iterationen zur L¨ osung f¨ uhrende Folge liefert. Auf dieses Problem werden wir unten noch eingehen. Zur Berechnung der Koeffizientenmatrix (9.212) des linearen Gleichungssystems zum Newton-Verfahren ist das Differenzialgleichungssystem (9.213) insgesamt achtmal in den Teilintervallen zu l¨ osen. Mit dem guten Startvektor (0) = (0.28, 0, −0.25, −0.28, 0.24)T und den Parameterinkrementen ∆ = 0.01 lautet dann das lineare Gleichungssystem f¨ ur den Korrekturvektor = (σ1 , η2 , σ2 , η3 , σ3 )T 1 10 0 1 0 σ1 0.035364 0.159218 −1 0 0 0 B C B −0.891498 C B 0 −1 0 0C C B η2 C B 0.015244 C B C CB B C B 0 −2.156751 2.366674 −1 0 C B σ2 C = B 0.029353 C . B C CB B C B @ 0 −1.251487 −0.327109 0 −1 A @ η3 A @ 0.042562 A 0.002430 0 0 0 −0.536515 −0.509051 σ3 Seine L¨ osung = (0.009177, −0.033903, −0.023425, −0.011673, 0.007530)T ergibt den ersten iterierten Parametervektor (1) = (0.289177, −0.033903, −0.273425, −0.291673, 0.247530)T . Das lineare Gleichungssystem f¨ ur die zugeh¨ origen Korrekturen 1 0 0 10 1 0.149176 −1 0 0 0 0.000004 σ1 C B B −0.896325 C B 0 −1 0 0C B C B η2 C B 0.000002 C C B B CB C 0 −1.912048 2.372381 −1 0 C B σ2 C = B 0.009725 C B C B B CB C @ 0 −0.966532 −0.410931 0 −1 A @ η3 A @ 0.007629 A σ3 0 0 0 −0.540519 −0.500333 0.009349
aheliefert = (−0.007654, −0.001138, 0.006863, 0.008732, −0.009349)T und damit die zweite N¨ rung f¨ ur den Parametervektor (2) = (0.281523, −0.035040, −0.266563, −0.282941, 0.238180)T . Ein weiterer Iterationsschritt f¨ uhrt zum Parametervektor . (3) = (0.281480, −0.035122, −0.266560, −0.282786, 0.238165)T = ,
416
9 Rand- und Eigenwertprobleme
welcher f¨ ur die gesuchte L¨ osung der Randwertaufgabe eine sehr gute N¨ aherung definiert. Das Residuum der Randbedingung am rechten Rand ist kleiner als 1 · 10−6 . Das entspricht der Genauigkeit von Beispiel 9.6. △
Wahl der Zwischenstellen und Startwerte Die erfolgreiche Durchf¨ uhrung des Mehrfach-Schießverfahrens und des zugeh¨origen NewtonVerfahrens h¨ angt stark von der Wahl der Zwischenstellen xi und Startwerte si und yi ab. Hierzu kommen verschiedene Strategien in Frage. 1. Ist der Verlauf der L¨ osung ungef¨ ahr bekannt und das Verfahren nicht empfindlich gegen¨ uber der Wahl der Zwischenstellen und Anfangswerte, dann k¨onnen diese ‘per Hand’ gew¨ ahlt werden. 2. Randwertlinearisierung: Spezielle Randbedingungen wie bei dem Problem (9.214) y ′′ = f (x, y, y ′ ), y(a) = α, y(b) = β, (9.215) erlauben die Konstruktion einer Hilfsfunktion, und zwar der linearen Verbindung der Randwerte und deren Ableitung: (β − α) (x − a) + α, η1 (x) = (b − a) (β − α) η2 (x) = η1′ (x) = , (b − a) " # η1 η = . η2 Diese Hilfsfunktion η kann im Algorithmus Tab. 9.3 eingesetzt werden. 3. Noch effizienter k¨ onnen die Zwischenstellen bestimmt werden, wenn es gelingt, das Problem zu linearisieren und eine N¨aherungsl¨osung durch Linearisierung oder durch Einbettungsmethoden [Sto 00] zu finden. Dann kann diese N¨aherungsl¨osung mit ihrer Ableitung als Hilfsfunktion η f¨ ur den Algorithmus Tab. 9.3 gew¨ahlt werden. F¨ ur die letzten beiden M¨ oglichkeiten geben wir den Algorithmus Tab. 9.3 und ein Beispiel an. Abh¨ angig von den Eigenschaften der Hilfsfunktion kann die Konstante K aus Schritt (1) des Algorithmus auch als additive Konstante gew¨ahlt werden. Dann werden die zweite und dritte Abfrage in Schritt (4) ersetzt durch xj ) ≥ K. uj − η(> Beispiel 9.10. Die L¨osung der Randwertaufgabe (siehe auch [Sto 00]) y ′′ (x) = 5 sinh(5y(x)),
y(0) = 0, y(1) = 1.
ist n¨ aherungsweise gleich der L¨ osung der Anfangswertaufgabe y ′′ (x) = 5 sinh(5y(x)),
y(0) = 0, y ′ (0) = s¯ mit s¯ = 0.0457504614.
Dieses s¯ m¨ usste also mit dem (Mehrfach-)Schießverfahren gefunden werden. Das Problem dabei ist . aber, dass die L¨ osung eine logarithmische Singularit¨ at bei x = 1.03 hat, die f¨ ur s > 0.05 in den Integrationsbereich hineinwandert. Deshalb ist das Einfach-Schießverfahren z.B. mit Schießversuchen f¨ ur s = 0.1, 0.2, . . . zum Scheitern verurteilt.
417
9.3 Schießverfahren Tab. 9.3 Algorithmus zur Bestimmung der Zwischenstellen. (1) (2) (3)
(4) (5) (6)
Bestimme einen L¨ osungsschlauch. W¨ ahle dazu eine Konstante K > 1, etwa K = 2, als Faktor. Setze x1 := a, y1 := y(a), s1 := η2 (a) und i := 1. Schiesse von xi mit den Startwerten (yi , si ) so lange, bis (4) eintritt, d.h. l¨ ose Ý ′ = (x, ) mit y1 (xi ) = η1 (xi ), y2 (xi ) = η2 (xi ). Das zur L¨ osung verwendete Anfangswertverfahren benutzt ein Gitter orige N¨ aherungsl¨ osungen j . {e xj } und liefert zugeh¨ Breche dieses Verfahren ab, falls x ej ≥ b oder j ≤ (e xj ) /K oder j ≥ K (e xj ) . Ist x ej ≥ b, dann sind alle Zwischenstellen bestimmt. Ende! ej , yi := η1 (xi ), si := η2 (xi ) und gehe zu (3). Setze i := i + 1, xi := x
F¨ ur das Mehrfachschießen nehmen wir die Verbindungsgerade der Randwerte η1 (x) := x als Hilfsfunktion. Sie ist in Abb. 9.5 links als Strichpunkt-Linie eingezeichnet, der L¨ osungsschlauch f¨ ur osungskurven gestrichelt. Damit ergeben sich die den Faktor K = 2 f¨ ur y1 (x) gepunktet und die L¨ Zwischenstellen {xi } = {0, 0.37, 0.54, 0.665, 0.765, 0.85, 0.907, 0.965},
(9.216)
mit denen das Mehrfach-Schießverfahren das Randwertproblem gut l¨ ost. Diese L¨ osung ist als durchgehend gezeichnete Kurve abgebildet. y(x)
y(x) 1.5
1
0.5
x
x 0 0.37
0
0.67
0.85
0.97
Abb. 9.5 Intervalleinteilung f¨ ur das mehrfache Schießen. In einem zweiten Versuch linearisieren wir das Randwertproblem. Es ist ja (5y)3 + ···. 3! Damit lautet das linearisierte Randwertproblem sinh(5y) = 5y + y˜′′ = 25˜ y,
y˜(0) = 0, y˜(1) = 1.
0.95
418
9 Rand- und Eigenwertprobleme
Es ist leicht analytisch zu l¨ osen. Zur Bestimmung der Zwischenstellen und besserer Anfangswerte f¨ ur die Startrampen nehmen wir seine L¨ osung y˜(x) als Hilfsfunktion: ! 5 cosh(5x) sinh(5x) η1 (x) ′ (x) = . , η2 (x) := y˜ (x) = , η1 (x) := y˜(x) = sinh(5) sinh(5) η2 (x) Hier ergibt sich nur eine Zwischenstelle x2 = 0.94. In Abb. 9.5 rechts sind wieder alle Anteile des L¨ osungsvorganges in gleicher Weise wie links eingezeichnet. Bei besserer Wahl der N¨ aherungsl¨ osung gen¨ ugt also eine Zwischenstelle. Sie vermeidet das Hineinlaufen in die Singularit¨ at. △
9.4
Differenzenverfahren
Das Intervall [a, b] wird in n + 1 gleich lange Intervalle [xi , xi+1 ] aufgeteilt mit xi
a + i h, i = 0, 1, . . . , n + 1, wo (9.217) b−a . h := n+1 Jetzt ersetzt man f¨ ur jeden inneren Punkt xi dieses Gitters die Differenzialgleichung durch eine algebraische Gleichung mit N¨ aherungen der Funktionswerte y(xi ) als Unbekannte, indem man alle Funktionen in xi auswertet und die Ableitungswerte durch dividierte Differenzen approximiert. So bekommt man statt einer Differenzialgleichung ein System von n Gleichungen mit den n unbekannten Werten der L¨osungsfunktion y(xi ). Die gegebenen Randwerte k¨ onnen dabei eingesetzt werden. Wir werden dies f¨ ur ein Beispiel gleich durchf¨ uhren. Vorher wollen wir verschiedene Differenzenapproximationen kennenlernen.
9.4.1
:=
Dividierte Differenzen
Sei y(x) eine Funktion gen¨ ugend hoher Differenzierbarkeit, sei weiter yi := y(xi ), xi wie in (9.217). Im Abschnitt 3.1.6 haben wir mit Hilfe der Lagrange-Interpolation dividierte Differenzen als Approximationen f¨ ur Ableitungswerte kennen gelernt. Diese wollen wir hier wieder aufgreifen und zus¨ atzliche Differenzenapproximationen kennen lernen, zun¨achst f¨ ur die erste Ableitung von y: Vorw¨ artsdifferenz ∆yi
:=
h y(xi+1 ) − y(xi ) = y ′ (xi ) + y ′′ (ζ) h 2
(9.218)
:=
h y(xi ) − y(xi−1 ) = y ′ (xi ) − y ′′ (ζ) h 2
(9.219)
R¨ uckw¨ artsdifferenz ∇yi Zentrale Differenz y(xi+1 ) − y(xi−1 ) h2 = y ′ (xi ) + y ′′′ (ζ) 2h 3 Dabei ist ζ jeweils eine Zwischenstelle im entsprechenden Intervall. δyi
:=
(9.220)
419
9.4 Differenzenverfahren
Man sieht, dass die zentrale Differenz f¨ ur die 1. Ableitung die einzige Differenzenapproximation 2. Ordnung ist. Wir wollen jetzt f¨ ur die ersten vier Ableitungen von y Differenzenapproximationen angeben, die alle diese Genauigkeit O(h2 ) besitzen: y ′ (xi )
=
y ′′ (xi )
=
y ′′′ (xi )
=
y (4) (xi )
=
y(xi+1 ) − y(xi−1 ) + O(h2 ), 2h y(xi+1 ) − 2y(xi ) + y(xi−1 ) + O(h2 ), h2 (9.221) y(xi+2 ) − 2y(xi+1 ) + 2y(xi−1 ) − y(xi−2 ) 2 + O(h ), 2h3 y(xi+2 ) − 4y(xi+1 ) + 6y(xi ) − 4y(xi−1 ) + y(xi−2 ) + O(h2 ). h4
N¨ aherungen h¨ oherer Ordnung lassen sich bei Einbeziehung von mehr Nachbarwerten konstruieren; hier seien noch zwei Differenzenapproximationen 4. Ordnung genannt: y ′ (xi ) = y ′′ (xi ) =
y(xi−2 ) − 8y(xi−1 ) + 8y(xi+1 ) − y(xi+2 ) + O(h4 ) 12h −y(xi−2 ) + 16y(xi−1 ) − 30y(xi ) + 16y(xi+1 ) − y(xi+2 ) + O(h4 ) 12h2
Weitere Differenzenapproximationen lassen sich entsprechend konstruieren [Col 66].
9.4.2
Diskretisierung der Randwertaufgabe
Zur Veranschaulichung der Differenzenverfahren wollen wir die folgende Randwertaufgabe diskretisieren: −y ′′ (x) + q(x)y(x) = y(a) = α,
g(x), y(b) = β.
(9.222)
ur die N¨aherungswerte Mit den Funktionswerten qi := q(xi ) und gi := g(xi ) ergeben sich f¨ ui ≈ y(xi ) die linearen Gleichungen u0 −ui+1 + 2ui − ui−1 + qi ui h2 un+1
=
α,
=
gi , i = 1, . . . , n,
=
β.
(9.223)
Multipliziert man die Gleichungen mit h2 und bringt die Randwerte auf die rechte Seite, so bekommt man das lineare Gleichungssystem Au = k mit
(9.224)
420
9 Rand- und Eigenwertprobleme
⎛ A =
2 + q1 h2 ⎜ −1 ⎜ ⎜ ⎜ 0 ⎜ ⎜ .. ⎝ .
−1 2 + q2 h2 .. .
0 −1 .. .
··· 0 .. .
..
..
..
0
u = k =
T
. ···
.
0
⎞
0 ..
.
. −1 −1 2 + qn h2
(u1 , u2 , . . . , un ) , (h2 g1 + α, h2 g2 , . . . , h2 gn−1 , h2 gn + β)T .
⎟ ⎟ ⎟ ⎟, ⎟ ⎟ ⎠
Leicht beweisen l¨ asst sich Lemma 9.2. Das tridiagonale symmetrische Gleichungssystem (9.224) ist positiv definit, falls qi ≥ 0. Das Gleichungssystem (9.224) kann also mit einem speziellen Cholesky-Verfahren f¨ ur Bandgleichungen mit dem Aufwand O(n) gel¨ ost werden, siehe Abschnitt 2.3.2. Satz 9.3. Fehlerabsch¨ atzung Besitzt die Randwertaufgabe (9.222) eine eindeutige, viermal stetig differenzierbare L¨osung y mit |y (4) (x)| ≤ M ∀x ∈ [a, b],
und ist q(x) ≥ 0, dann gilt |y(xi ) − ui | ≤
M h2 (xi − a)(b − xi ). 24
(9.225)
Der Satz sagt aus, dass die Fehlerordnung der Differenzenapproximation f¨ ur die L¨osung erhalten bleibt. Den Beweis findet man z.B. in [Sto 00]. Wie bei der Trapezregel zur numerischen Quadratur (7.24) l¨asst sich der Diskretisierungsfehler ui − y(xi ) des Differenzenverfahrens an einer Stelle xi mit Hilfe von Taylor-Reihen in eine Potenzreihe in h2 entwickeln [Sch 97]. Es ist deshalb empfehlenswert, mit zwei Schrittweiten h und q h zu rechnen und mit Extrapolation auf h2 = 0 die Genauigkeit der L¨osung zu verbessern. F¨ ur q = 1/2 gilt: 1 [h] [qh] (4u2i − ui ) − y(xi ) = O(h4 ). (9.226) 3 Beispiel 9.11. Wir wollen das einf¨uhrende Balkenbeispiel 9.3 −y ′′ (x) − (1 + x2 ) y(x) = 1,
y(−1) = y(1) = 0
(9.227)
mit der Differenzenmethode behandeln. Es hat die Form (9.222), allerdings ist q(x) < 0. Die in (9.224) ist trotzdem f¨ ur alle in Frage kommenden Werte von h positiv definit. Zur Matrix Verkleinerung der Ordnung des linearen Gleichungssystems kann noch die Symmetrie der L¨ osung ausgenutzt werden. Es ist ja offensichtlich y(−x) = y(x). Die Symmetrie der Koeffizientenmatrix
421
9.4 Differenzenverfahren
kann durch Multiplikation einer Gleichung mit dem Faktor 1/2 wieder hergestellt werden. Ohne Ausnutzung der Symmetrie ergibt sich f¨ ur h = 0.4 nach (9.224) 1 0 1.7824 −1.0000 0 0 C B 1.8336 −1.0000 0 C B −1.0000 =B C. @ 0 −1.0000 1.8336 −1.0000 A 0 0 −1.0000 1.7824
Wir haben die L¨ osung f¨ ur verschiedene Werte von h mit sechzehnstelliger Genauigkeit berechnet und die L¨ osungswerte in Tab. 9.4 auszugsweise wiedergegeben. Tab. 9.4 Ergebnisse des Differenzenverfahrens f¨ ur (9.227). x
h = 0.2
h = 0.1
h = 0.05
h = 0.01
h = 0.001
0.0 0.2 0.4 0.6 0.8
0.93815233 0.89938929 0.78321165 0.59069298 0.32604062
0.93359133 0.89492379 0.77908208 0.58728118 0.32393527
0.93243889 0.89379608 0.77804080 0.58642288 0.32340719
0.93206913 0.89343431 0.77770688 0.58614781 0.32323808
0.93205387 0.89341938 0.77769310 0.58613646 0.32323111
0.0061
0.0015
0.00039
0.000015
0.00000015
100
300
1500
37 282
372 8215
|uj (0) − y(0)| cond( ) ≈
Der Fehlerverlauf im Intervall (−1, 1) ist recht gleichm¨ aßig, und es ist an den Fehlerwerten f¨ ur x = 0 sehr sch¨ on zu sehen, dass der Fehler sich wie h2 verh¨ alt. Es sind noch die Konditionszahlen gesch¨ atzt und mit angegeben worden. Es gilt des linearen Gleichungssystems mit der Matrix [Sch 97] cond ( ) = O(h−2 ) = O(n2 ).
(9.228) 2
Auf die Ergebnisse aus Tab. 9.4 wenden wir noch Richardsons Extrapolation auf h = 0 an. So erhalten wir beispielsweise f¨ ur die Werte in x = 0 folgende Verbesserungen: x
h = 0.2
h = 0.1
h = 0.05
0.0 extrapoliert:
0.93815233 −
0.93359133 0.93207101
0.93243889 0.93205366
Der einmal extrapolierte Wert uextra1 (0) = (4uh=0.1 (0) − uh=0.2 (0))/3 erreicht schon etwa die Genauigkeit des Wertes uh=0.01 (0). Der entsprechend dem Romberg-Verfahren (7.27) zweifach ex△ trapolierte Wert unten rechts in der Tabelle ist genauer als uh=0.001 (0).
Ableitungen in den Randbedingungen Wenn an den R¨ andern des Integrationsintervalls Ableitungswerte vorgeschrieben sind, dann lassen sich die Randbedingungen nicht ohne Weiteres auf die rechte Seite des Gleichungssystems (9.224) bringen. Ist etwa im rechten Randpunkt b = xn+1 die Randbedingung y ′ (b) + γ y(b) = β
(9.229)
422
9 Rand- und Eigenwertprobleme
zu erf¨ ullen, dann ist der Wert un+1 nicht vorgegeben und ist als Unbekannte zu behandeln. Die Randbedingung (9.229) wird wie die Differenzialgleichung an einer inneren St¨ utzstelle durch eine Differenzengleichung approximiert. Dazu wird eine zus¨atzliche, außerhalb des Intervals [a, b] liegende St¨ utzstelle xn+2 = b + h betrachtet mit dem St¨ utzwert un+2 . Als Differenzenapproximation von (9.229) wird dann un+2 − un + γ un+1 = β (9.230) 2h betrachtet. (9.223) wird um die Differenzengleichungen f¨ ur die St¨ utzstelle xn+1 erg¨anzt. Dort wird dann f¨ ur un+2 der aus (9.230) gewonnene Wert un+2 = un − 2 h γ un+1 + 2 h β eingesetzt und somit un+2 eliminiert. Die dritte Gleichung in (9.223) wird dann durch 2β (2 + 2 h γ) un+1 − 2un (9.231) + qn+1 un+1 = gn+1 + h2 h ersetzt. Sie vervollst¨ andigt die n Differenzengleichungen (9.223) zu einem System von n + 1 Gleichungen f¨ ur die n + 1 Unbekannten u1 , u2 , . . . un , un+1 . Liegt eine Randbedingung mit Ableitungswert an der Stelle a = x0 vor, wird entsprechend verfahren. Das zu l¨ osende lineare Gleichungssystem bleibt wie in Beispiel 9.11 durch Multiplikation einer oder zweier Gleichungen mit einem Faktor symmetrisch. Nichtlineare Randwertaufgaben Bei der Diskretisierung der Differenzialgleichung y ′′ (x) r1 (y(a), y ′ (a), y(b), y ′ (b)) r2 (y(a), y ′ (a), y(b), y ′ (b))
= f (x, y, y ′ ), = 0, = 0,
(9.232)
entstehen nichtlineare Gleichungssysteme, die f¨ ur (9.232) von der Form Bu = F (u)
(9.233)
sind. Dabei ist f¨ ur (9.232) B eine tridiagonale Matrix und F eine nichtlineare Vektorfunktion. (9.233) kann mit dem Newton-Verfahren oder mit speziellen Relaxationsmethoden gel¨ost werden. Konvergiert das gew¨ ahlte Iterationsverfahren, so erh¨alt man dieselbe Fehlerordnung wie bei linearen Problemen. Beispiel 9.12. Diskretisierung der Randwertaufgabe aus Beispiel 9.2 y ′′ y (0) y ′ (1)
= = =
y 5 − 10 y + 21 , 0, −3.
In die Diskretisierung dieser Randwertaufgabe nehmen wir die Werte am rechten Rand und am außerhalb des Intervalls [0, 1] liegenden Punkt xn+2 = 1 + h wie in (9.230) als unbekannte Werte mit hinein und k¨ onnen dann die Randbedingung rechts mit einer zentralen Differenz und damit uhrt mit der Ordnung O(h2 ) diskretisieren und anschliessend un+2 wie in (9.231) eliminieren. Das f¨ zu u0 ui+1 − 2 ui + ui−1 + 10ui h2
=
0,
=
u5i +
1 , i = 1, . . . , n, 2
423
9.4 Differenzenverfahren 2 (un − un+1 ) + 10un+1 h2
=
u5n+1 +
1 6 + . 2 h
Nach Multiplikation mit h2 wird das f¨ ur die unbekannten Werte 0 2 −2 + 10h 1 B B B 1 −2 + 10h2 1 B B B .. .. .. B . . . B B B B 1 1 −2 + 10h2 B @ 2
Dabei ist
(
) = (F1 ( ), . . . , Fn+1 ( ))T mit
−2 + 10h2
:= (u1 , . . . , un+1 ) zu 1 C C C C C C C C C C C C A
= h2 ( ).
6 1 1 , i = 1, . . . , n, und Fn+1 ( ) = u5n+1 + + . 2 2 h F¨ ur h = 0.01 ergibt sich: 1 0 −1.999 1 C B 1 −1.999 1 C B C B .. .. .. C. =B . . . C B C B A @ 1 −1.999 1 2 −1.999 “ ” [i] Wir setzen [0] = (0, . . . , 0)T und iterieren [i+1] = h2 , i = 0, 1, . . .. Diese IteratiFi ( ) = u5i +
onsvorschrift ben¨ otigt 8 (17) Schritte f¨ ur 4 (9) Stellen Genauigkeit. Diskretisiert man die rechte Randbedingung nur mit O (h)-Genauigkeit (un+1 − un )/h = −3, dann wird die Konvergenz um 2 (7) Schritte langsamer.
osungen aus Abh¨ angig von der Startn¨ aherung [0] liefert das Verfahren die kleinere der beiden L¨ Beispiel 9.2 und Abb. 9.1. Die ersten vier Iterierten sind in Abb. 9.6 zu sehen. △
Differenzenverfahren f¨ ur Eigenwertprobleme Bei der Diskretisierung der speziellen Sturm-Liouvilleschen Eigenwertaufgabe −y ′′ + q(x) y
y(a) = 0,
= λ v(x) y,
(9.234)
y(b) = 0,
entsteht das Matrix-Eigenwertproblem u0 = 0, −ui+1 + 2ui − ui−1 + qi ui − λ vi ui = h2 un+1 = 0.
0, i = 1, . . . , n,
(9.235)
Sind alle Werte vi = v(xi ) = 0, so bekommt man das spezielle Matrix-Eigenwertproblem (A − λI) u = 0 mit
(9.236)
424
9 Rand- und Eigenwertprobleme y
1
[2]
0.75
[3] [4]
[1]
0.5
0.25
x 0.2
0.4
0.6
0.8
1
Abb. 9.6 Iterative L¨ osung einer nichtlinearen Randwertaufgabe.
⎛
2 q1 ⎜ v1 h2 + v1 ⎜ ⎜ ⎜ −1 ⎜ ⎜ v2 h2 ⎜ ⎜ 0 A=⎜ ⎜ ⎜ ⎜ .. ⎜ . ⎜ ⎜ ⎜ ⎝ 0
−1 v1 h2
0
q2 2 + 2 v2 h v2 ···
−1 v2 h2 ··· −1 vn−1 h2
···
0
0 ··· 2 vn−1
h2
+
qn−1 vn−1
−1 vn−1 h2
⎞
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟. ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
−1 2 qn + vn h2 vn h2 vn Dies ist ein Eigenwertproblem mit einer tridiagonalen Matrix, dessen L¨osung in den allermeisten F¨ allen unproblematisch ist.
9.5
···
0
Software
In Abschnitt 8.6 haben wir schon darauf hingewiesen, dass in den großen Bibliotheken die Kapitel zu gew¨ ohnlichen Differenzialgleichungen sowohl Routinen f¨ ur Anfangs- als auch f¨ ur Randwertprobleme enthalten. Zu letzteren findet man deutlich weniger einzelne Programme oder Pakete. Wir verweisen deshalb auf Abschnitt 8.6. Hinweisen wollen wir aber noch auf den Befehl bvp4c in Matlab, der Randwertprobleme mit einer Kollokationsmethode mit kubischen Splines l¨ost [Sha 00]. bvp4c erlaubt zudem die Bestimmung unbekannter Problem-Parameter. Das erlaubt die L¨osung von Eigenwertproblemen ebenso wie von Parameter-Identifikations-Problemen im Zusammenhang mit Randwertproblemen bei gew¨ ohnlichen Differenzialgleichungen. Die sch¨onen Beispiele aus [Sha 00]
425
9.6 Aufgaben
sind in Matlab eingebunden (help bvp4c) und im Internet erh¨altlich1 . Unsere Probleml¨ oseumgebung Pan (http://www.upb.de/SchwarzKoeckler/) verf¨ ugt u ¨ ber zwei Programme zur L¨ osung von Randwertproblemen mit einer Differenzenmethode und mit einem Mehrfach-Schießverfahren.
9.6
Aufgaben
Aufgabe 9.1. Man untersuche die L¨ osbarkeit der linearen Randwertaufgabe y ′′ + y = 1 unter den verschiedenen Randbedingungen a)
y(0) = 0,
y(π/2) = 1,
b)
y(0) = 0,
y(π) = 1,
c)
y(0) = 0,
y(π) = 2,
auf Grund der allgemeinen Theorie mit Hilfe der Fundamentalmatrix des homogenen Differenzialgleichungssystems. Aufgabe 9.2. Gegeben sei die lineare Randwertaufgabe y ′′ + xy ′ + y = 2x, y(0) = 1,
y(1) = 0.
a) Durch numerische Integration bestimme man die allgemeine L¨ osung der Differenzialgleichung und daraus die L¨ osung der Randwertaufgabe. b) Auf Grund von y0 (x) = 1 − x, welche die inhomogenen Randbedingungen erf¨ ullt, und von ugen, ermittle man yk (x) = xk (1 − x), k = 1, 2, . . . , n, welche den homogenen Randbedingungen gen¨ eine N¨ aherungsl¨ osung nach der Kollokationsmethode im Fall n = 4 einmal f¨ ur ¨ aquidistante Kollokationspunkte im Innern des Intervalls und dann f¨ ur die nicht¨ aquidistanten Kollokationspunkte, welche den auf das Intervall [0, 1] transformierten Nullstellen des Tschebyscheff-Polynoms T4 (x) entsprechen. Welchen Verlauf hat die Fehlerfunktion in den beiden F¨ allen? c) Mit der Differenzenmethode bestimme man diskrete N¨ aherungsl¨ osungen im Fall der Schrittweiten h = 1/m f¨ ur die Werte m = 5, 10, 20, 40. Durch Extrapolation der N¨ aherungswerte an den vier gemeinsamen St¨ utzstellen ermittle man genauere Werte, und man vergleiche sie mit den Ergebnissen aus Teilaufgabe a). Aufgabe 9.3. Die L¨ osung der linearen Randwertaufgabe y ′′ − 5y ′ − 24y = 0 y(0) = 1,
y(2) = 2
kann analytisch gefunden werden. Dazu bestimme man zun¨ achst die L¨ osung y(x, s) der Differenzialgleichung zur Anfangsbedingung y(0) = 1, y ′ (0) = s, s ∈ Ê, und dann aus der zweiten Randbedingung die gesuchte L¨ osungsfunktion der Randwertaufgabe. Auf Grund der analytischen Darstellung von y(x, s) analysiere man weiter die Empfindlichkeit des Funktionswertes an der Stelle x = 2 1 ftp://ftp.mathworks.com/pub/doc/papers/bvp/examples/
426
9 Rand- und Eigenwertprobleme
¨ auf kleine Anderungen von s um ∆s. Was bedeutet das Ergebnis f¨ ur das Einfach-Schießverfahren? Man ermittle die L¨ osung auch mit dem Schießverfahren und verifiziere dabei experimentell die Empfindlichkeit der L¨ osung. ¨ Aufgabe 9.4. Welche Empfindlichkeit auf kleine Anderungen der Anfangssteigung y ′ (0) = s im Rahmen des Schießverfahrens ist bei der linearen Randwertaufgabe y ′′ − (5 + x)y ′ − (20 + 4x2 )y = 0 y(0) = 1,
y(2) = 2
experimentell festzustellen? Hinweis: Es gilt s ∈ [−2.7, −2.5]. Aufgabe 9.5. Die nichtlineare Randwertaufgabe y ′′ = 2y 2 ,
y(0) = 3/4,
y(1) = 1/3
2
besitzt neben y1 (x) = 3/(2 + x) eine zweite L¨ osung y2 (x). a) Man bestimme beide L¨ osungen mit der Differenzenmethode f¨ ur die Schrittweiten h = 1/2, 1/4, 1/8, 1/16. Aus den resultierenden N¨ aherungswerten an der gemeinsamen Stelle x = 0.5 schließe man durch Extrapolation auf den Wert der L¨ osungsfunktion. b) Auf Grund der so erhaltenen Information u osungen bestimme man sie auch mit dem ¨ ber beide L¨ Schießverfahren und vergleiche insbesondere die N¨ aherungen an der Stelle x = 0.5. Aufgabe 9.6. Man behandle die Randwertaufgabe 6 (y − 1) , y(0) = 1, y(1) = 0, y ′′ = x2 mit dem Mehrfach-Schießverfahren. Man bestimme die Zwischenstellen und Startwerte mit Hilfe des Algorithmus Tab. 9.3. Zur Beahle den Faktor K = 2. Man stimmung der Funktion (x) linearisiere man die Randwerte und w¨ ber¨ ucksichtige das Problem der Singularit¨ at der rechten Seite der Differenzialgleichung. osung Schließlich fertige man eine Zeichnung an mit (x), den Startrampen und der analytischen L¨ y(x) = −x3 + 1.
10
Partielle Differenzialgleichungen
Zahlreiche Vorg¨ ange oder Zust¨ ande, die man in der Physik, Chemie oder Biologie beobachten kann, lassen sich durch Funktionen in mehreren unabh¨angigen Variablen beschreiben, welche auf Grund von einschl¨ agigen Naturgesetzen bestimmten partiellen Differenzialgleichungen gen¨ ugen m¨ ussen. Die Vielfalt der in den Anwendungen auftretenden partiellen Differenzialgleichungen und Differenzialgleichungssysteme ist sehr groß, und ihre sachgem¨ aße numerische Behandlung erfordert in der Regel sehr spezielle Methoden, so dass wir uns im Folgenden einschr¨ anken m¨ ussen. Wir betrachten nur die L¨osung von partiellen Differenzialgleichungen zweiter Ordnung f¨ ur eine unbekannte Funktion in zwei und drei unabh¨ angigen Variablen. Die hier untersuchten partiellen Differenzialgleichungen sind zudem entweder elliptisch oder parabolisch. Im ersten Fall haben alle unabh¨angigen Variablen die Bedeutung von r¨ aumlichen Koordinaten, und die gesuchte Funktion beschreibt in der Regel einen station¨aren d.h. zeitunabh¨angigen Zustand. Man spricht hier auch von Gleichgewichtsproblemen. Im anderen Fall ist eine Variable gleich der Zeit, w¨ ahrend die u ¨brigen wieder Ortskoordinaten sind, und die Funktion beschreibt einen instation¨aren Vorgang in Abh¨ angigkeit der Zeit. Hier handelt es sich um Evolutions- bzw. Fortpflanzungsprobleme und speziell oft um Diffusionsprozesse. Mit diesen beiden Problemklassen erfassen wir eine große Zahl von praktisch relevanten Aufgabenstellungen, an denen wir einige einfache L¨ osungsmethoden entwickeln und ihre grundlegenden Eigenschaften diskutieren wollen. Ausf¨ uhrlichere Darstellungen findet man beispielsweise in [Col 66, Hac 96, Lap 99, Mar 76, Mit 80, Mor 94, Kan 95, Gro 05, Smi 85], wo auch andere Typen von partiellen Differenzialgleichungen behandelt werden. Dazu geh¨ort besonders der dritte wichtige Typ der hyperbolischen oder Wellengleichung, auf deren Behandlung wir verzichtet haben.
10.1
Elliptische Randwertaufgaben, Differenzenverfahren
10.1.1
Problemstellung
Gesucht sei eine Funktion u(x, y), welche in einem Gebiet G ⊂ Differenzialgleichung zweiter Ordnung Auxx + 2Buxy + Cuyy + Dux + Euy + F u = H
Ê2
eine lineare partielle (10.1)
erf¨ ullen soll. Dabei k¨ onnen die gegebenen Koeffizienten A, B, C, D, E, F und H in (10.1) st¨ uckweise stetige Funktionen von x und y sein und die Indizes an u bedeuten partielle
428
10 Partielle Differenzialgleichungen
1111111111111111111111111111111 0000000000000000000000000000000 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 G 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 n 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000n 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 Γ 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 0000000000000000000000000000000 1111111111111111111111111111111 Abb. 10.1 Grundgebiet G mit Rand Γ.
Ableitungen (ux :=
∂u ∂x ,
uxx :=
∂2 u ∂x2 ,
. . . ).
In Analogie zur Klassifikation von Kegelschnittgleichungen Ax2 + 2Bxy + Cy 2 + Dx + Ey + F = 0 teilt man die partiellen Differenzialgleichungen (10.1) in drei Klassen ein: Definition 10.1. Eine partielle Differenzialgleichung zweiter Ordnung (10.1) mit A2 +B 2 + C 2 = 0 heißt in einem Gebiet G a) elliptisch, falls AC − B 2 > 0
f¨ ur alle (x, y) ∈ G
b) hyperbolisch, falls AC − B 2 < 0
f¨ ur alle (x, y) ∈ G
c) parabolisch, falls AC − B 2 = 0
f¨ ur alle(x, y) ∈ G gilt.
Die klassischen Repr¨ asentanten von elliptischen Differenzialgleichungen sind −∆u := −uxx − uyy
=
−∆u = −∆u + ̺(x, y) u =
0
Laplace-Gleichung,
(10.2)
f (x, y) f (x, y)
Poisson-Gleichung, Helmholtz-Gleichung.
(10.3) (10.4)
Die Laplace-Gleichung tritt beispielsweise auf bei Problemen aus der Elektrostatik sowie der Str¨ omungslehre. Die L¨ osung der Poisson-Gleichung beschreibt die station¨are Temperaturverteilung in einem homogenen Medium oder den Spannungszustand bei bestimmten Torsionsproblemen. Um die gesuchte L¨ osungsfunktion einer elliptischen Differenzialgleichung eindeutig festzulegen, m¨ ussen auf dem Rand des Grundgebietes G Randbedingungen vorgegeben sein. Wir wollen der Einfachheit halber annehmen, das Gebiet G sei beschr¨ankt, und es werde durch mehrere Randkurven berandet (vgl. Abb. 10.1). Die Vereinigung s¨amtlicher Randkurven
429
10.1 Differenzenverfahren
bezeichnen wir mit Γ. Der Rand bestehe aus st¨ uckweise stetig differenzierbaren Kurven, auf ¨ denen die vom Gebiet G ins Außere zeigende Normalenrichtung n erkl¨art werden kann. Der Rand Γ werde in drei disjunkte Randteile Γ1 , Γ2 und Γ3 aufgeteilt, derart dass Γ1 ∪ Γ2 ∪ Γ3 = Γ
(10.5)
gilt. Dabei ist es durchaus zul¨ assig, dass leere Teilr¨ander vorkommen. Die problemgerechte Formulierung der Randbedingungen zu (10.1) oder speziell zu (10.2) bis (10.4) lautet dann u = ϕ auf Γ1 ∂u = γ auf Γ2 ∂n
(Dirichlet-Randbedingung),
(10.6)
(Neumann-Randbedingung),
(10.7)
∂u + αu = β auf Γ3 (Cauchy-Randbedingung), (10.8) ∂n wobei ϕ, γ, α und β gegebene Funktionen auf den betreffenden Randteilen bedeuten. In der Regel sind sie als Funktionen der Bogenl¨ ange s auf dem Rand erkl¨art. Die Bedingungen (10.6), (10.7) und (10.8) werden oft auch als erste, zweite und dritte Randbedingung bezeichnet. Sind zur elliptischen Differenzialgleichung nur Dirichletsche Randbedingungen gegeben (Γ1 = Γ), dann bezeichnet man das Problem auch als Dirichletsche Randwertaufgabe. Ist dageben Γ2 = Γ, so liegt eine Neumannsche Randwertaufgabe vor.
10.1.2
Diskretisierung der Aufgabe
Wir wollen die Laplace-, Poisson- oder Helmholtz-Gleichung in einem Gebiet G unter Randbedingungen (10.6) bis (10.8) n¨ aherungsweise l¨ osen. Wir beginnen mit einfachen Aufgabenstellungen, um dann sukzessive kompliziertere Situationen in die Behandlung einzubeziehen. Das Vorgehen des Differenzenverfahrens l¨ asst sich durch die folgenden, recht allgemein formulierten L¨ osungsschritte beschreiben. 1. L¨osungsschritt. Die gesuchte Funktion u(x, y) wird ersetzt durch ihre Werte an diskreten Punkten des Gebietes G und des Randes Γ. F¨ ur diese Diskretisierung von u(x, y) ist es naheliegend, ein regelm¨aßiges quadratisches Netz mit der Maschenweite h u ¨ ber das Grundgebiet G zu legen (vgl. Abb. 10.2). Die Funktionswerte u in den Gitterpunkten sollen berechnet werden, soweit sie nicht schon durch Dirichletsche Randbedingungen bekannt sind. Im Fall von krummlinigen Randst¨ ucken wird es auch n¨otig sein, Gitterpunkte als Schnittpunkte von Netzgeraden mit dem Rand zu betrachten. In Abb. 10.2 sind die Gitterpunkte durch ausgef¨ ullte Kreise markiert. Den Wert der exakten L¨ osungsfunktion u(x, y) in einem Gitterpunkt P mit den Koordinaten xi und yj bezeichnen wir mit u(xi , yj ). Den zugeh¨origen N¨aherungswert, den wir auf Grund der Methode erhalten werden, bezeichnen wir mit ui,j . Ein regelm¨ aßiges quadratisches Netz zur Generierung der Gitterpunkte besitzt besonders angenehme und einfache Eigenschaften, die wir im Folgenden auch als wesentlich erkennen werden. In bestimmten Problemstellungen ist es angezeigt oder sogar erforderlich, ein Netz mit variablen Maschenweiten in x- und y-Richtgung zu verwenden, um so entweder dem Gebiet oder dem Verhalten der gesuchten L¨ osungsfunktion besser gerecht zu werden, siehe Abschnitt 10.1.5. Aber auch regelm¨ aßige Dreieck- und Sechsecknetze k¨onnen sich als sehr zweckm¨ aßig erweisen [Col 66, Mar 76].
430 y
10 Partielle Differenzialgleichungen
11 00 00 11
11 00 00 11
11 00
11 00
11 00
00 11 00 11 00 11
Γ
G
1 0 0 1
11 00 00 11
1 0 0 1
1 0
11 00
1 0
1 0
1 0
1 0
W 11 00
P 1 0
E 1 0
1 0
h
N
h
S
1 0 0 1
110 00 1
11 00
1 0
1 0
1 0
1 0 0 1
11 00 00 11
1 0 0 1
1 0 0 1
1 0 0 1
Γ
x
Abb. 10.2 Grundgebiet mit Netz und Gitterpunkten.
2. L¨osungsschritt. Nach vorgenommener Diskretisierung der Funktion ist die partielle Differenzialgleichung mit Hilfe der diskreten Funktionswerte ui,j in den Gitterpunkten geeignet zu approximieren. Im Fall eines regelm¨ aßigen quadratischen Netzes k¨onnen die ersten und zweiten partiellen Ableitungen durch entsprechende Differenzenquotienten (siehe Abschnitt 9.4.1) angen¨ ahert werden, wobei f¨ ur die ersten partiellen Ableitungen mit Vorteil zentrale Differenzenquotienten (9.221) verwendet werden. F¨ ur einen regelm¨aßigen inneren Gitterpunkt P (xi , yj ), welcher vier benachbarte Gitterpunkte im Abstand h besitzt, ist ui,j+1 − ui,j−1 ui+1,j − ui−1,j , uy (xi , yj ) ≈ 2h 2h ui+1,j − 2ui,j + ui−1,j uxx (xi , yj ) ≈ , h2
ux (xi , yj ) ≈
(10.9)
(10.10) ui,j+1 − 2ui,j + ui,j−1 uyy (xi , yj ) ≈ , h2 wobei wir die Differenzenquotienten bereits mit den N¨aherungswerten in den Gitterpunkten gebildet haben. Um f¨ ur das Folgende eine leicht einpr¨agsame Schreibweise ohne Doppelindizes zu erhalten, bezeichnen wir die vier Nachbarpunkte von P nach den Himmelsrichtungen mit N, W, S und E (vgl. Abb. 10.2) und definieren uP := ui,j , uN := ui,j+1 , uW := ui−1,j , uS := ui,j−1 , uE := ui+1,j .
(10.11)
Die Poisson-Gleichung (10.3) wird damit im Gitterpunkt P approximiert durch die Differenzengleichung −uN + 2uP − uS −uE + 2uP − uW + = fP , fP := f (xi , yj ), 2 h h2 welche nach Multiplikation mit h2 u ¨ bergeht in 4uP − uN − uW − uS − uE = h2 fP .
(10.12)
Der von h2 befreite Differenzenausdruck in (10.12) wird h¨aufig durch einen so genannten Differenzenstern geometrisch symbolisiert. An ihm k¨onnen die Punkte eines Gitters mit ihren Faktoren abgelesen werden, die an der Gleichung f¨ ur den durch gekennzeichneten Punkt beteiligt sind. Viele solche Sterne mit Fehlerglied findet man in [Col 66], ebenso Neun-Punkte-Sterne f¨ ur −∆u und Sterne f¨ ur triangulierte Gebiete.
431
10.1 Differenzenverfahren −1 −1
4
Abb. 10.3 F¨ unf-Punkte-Differenzenstern zu (10.12).
−1
−1
N G
W
Abb. 10.4 Spezielle Neumannsche Randbedingung.
P n
E
S
3. L¨osungsschritt. Die gegebenen Randbedingungen der Randwertaufgabe sind jetzt zu ber¨ ucksichtigen, und allenfalls ist die Differenzenapproximation der Differenzialgleichung den Randbedingungen anzupassen. Die einfachste Situation liegt vor, falls nur Dirichletsche Randbedingungen zu erf¨ ullen sind und das Netz so gew¨ ahlt werden kann, dass nur regelm¨aßige innere Gitterpunkte entstehen. In diesem Fall ist die Differenzengleichung (10.12) f¨ ur alle inneren Gitterpunkte, in denen der Funktionswert unbekannt ist, uneingeschr¨ ankt anwendbar, wobei die bekannten Randwerte eingesetzt werden k¨ onnen. Existieren jedoch unregelm¨aßige Gitterpunkte wie in Abb. 10.2, so sind f¨ ur diese geeignete Differenzengleichungen herzuleiten. Auf die Behandlung von solchen randnahen, unregelm¨ aßigen Gitterpunkten werden wir in Abschnitt 10.1.3 eingehen. Neumannsche und Cauchysche Randbedingungen (10.7) und (10.8) erfordern im Allgemeinen umfangreichere Maßnahmen, die wir systematisch im Abschnitt 10.1.3 behandeln werden. An dieser Stelle wollen wir wenigstens eine einfache Situation betrachten. Wir wollen annehmen, der Rand falle mit einer Netzgeraden parallel zur y-Achse zusammen, und die Neumannsche Randbedingung verlange, dass die Normalableitung verschwinde (vgl. Abb. 10.4). Die ¨ außere Normale n zeige in Richtung der positiven x-Achse. Mit dem vor¨ ubergehend eingef¨ uhrten Hilfsgitterpunkt E und dem Wert uE kann die Normalableitung durch den zentralen Differenzenquotienten approximiert werden. Das ergibt uE − uW ∂u = 0 =⇒ uE = uW . ≈ ∂n 2h P
Das Verschwinden der Normalableitung bedeutet oft, dass die Funktion u(x, y) bez¨ uglich das Randes symmetrisch ist. Wegen dieser Symmetrieeigenschaft darf die Funktion u(x, y) u ¨ ber den Rand hinaus fortgesetzt werden, und die allgemeine Differenzengleichung (10.12) darf angewendet werden. Aus ihr erhalten wir nach Division durch 2, die sp¨ater begr¨ undet
432
10 Partielle Differenzialgleichungen
wird, 2uP −
1 1 1 u N − u W − u S = h2 f P . 2 2 2
(10.13)
−1/2 −1
2
−1/2
Abb. 10.5 Vier-Punkte-Differenzenstern zu (10.13).
4. L¨osungsschritt. Um die unbekannten Funktionswerte in den Gitterpunkten berechnen zu k¨ onnen, sind daf¨ ur Gleichungen zu formulieren. Da nach den beiden vorangehenden L¨ osungsschritten f¨ ur jeden solchen Gitterpunkt eine lineare Differenzengleichung vorliegt, ist es m¨ oglich, ein lineares Gleichungssystem f¨ ur die unbekannten Funktionswerte zu formulieren. Zu diesem Zweck werden zur Vermeidung von Doppelindizes die Gitterpunkte des Netzes, deren Funktionswerte unbekannt sind, durchnummeriert. Die Nummerierung der Gitterpunkte muss nach bestimmten Gesichtspunkten erfolgen, damit das entstehende Gleichungssystem geeignete Strukturen erh¨ alt, welche den L¨osungsverfahren angepasst sind. Das lineare Gleichungssystem stellt die diskrete Form der gegebenen Randwertaufgabe dar. Beispiel 10.1. Im Grundgebiet G der Abb. 10.6 soll die Poisson-Gleichung −∆u = 2 in G
(10.14)
unter den Randbedingungen u=0
auf DE und EF
(10.15)
u=1 auf AB und BC (10.16) ∂u =0 auf CD und F A (10.17) ∂ gel¨ ost werden. Die L¨ osung der Randwertaufgabe beschreibt beispielsweise den Spannungszustand eines unter Torsion belasteten Balkens. Sein Querschnitt ist ringf¨ ormig und geht aus G durch fortgesetzte Spiegelung an den Seiten CD und F A hervor. Aus Symmetriegr¨ unden kann die Aufgabe im Gebiet der Abb. 10.6 gel¨ ost werden, wobei die Neumannschen Randbedingungen (10.17) auf den beiden Randst¨ ucken CD und F A die Symmetrie beinhalten. Die betrachtete Randwertaufgabe (10.14) bis (10.17) kann auch so interpretiert werden, dass die station¨ are Temperaturverteilung u(x, y) in dem ringf¨ ormigen Querschnitt eines (langen) Beh¨ alters gesucht ist, falls durch eine chemische Reaktion eine konstante W¨ armequelle vorhanden ist. Die Wandtemperatur des Beh¨ alters werde innen auf den (normierten) Wert u = 1 und außen auf den Wert u = 0 gesetzt. Zur Diskretisierung der Randwertaufgabe soll das in Abb. 10.6 eingezeichnete regelm¨ aßige Netz mit der Maschenweite h = 0.25 verwendet werden. Die Gitterpunkte sind entweder Randpunkte oder regul¨ are innere Punkte. Die Gitterpunkte mit unbekanntem Funktionswert sind durch ausgef¨ ullte Kreise markiert, diejenigen mit nach (10.15) und (10.16) bekannten Werten durch leere Kreise. F¨ ur alle im Innern des Grundgebietes liegenden Gitterpunkte ist die Differenzengleichung (10.12) ur die auf dem Randst¨ uck F A liegenden Gitterpunkte ist ein zu Abb. 10.5 anwendbar mit fP = 2. F¨ gespiegelter Differenzenstern zu verwenden. F¨ ur die Gitterpunkte auf CD erhalten wir aus Symmetriegr¨ unden mit uS = uW und uE = uN aus (10.12) die Differenzengleichung (Drei-Punkte-Stern)
433
10.1 Differenzenverfahren 1
1
F
E
1
4
7
10
14
2
5
8
11
15
3
6
9
12
16
13
A
B
D
18
19
17
C Abb. 10.6 Grundgebiet G mit Netz und Gitterpunkten, h = 0.25.
4uP − 2uN − 2uW = h2 fP , die aus einem bald ersichtlichen Grund durch 2 dividiert wird. Wir fassen die Differenzengleichungen f¨ ur diese Randwertaufgabe zusammen:
4uP − uN − uW − uS − uE 2uP − 21 uN − uE − 12 uS 2uP − uN − uW
= = =
h2 fP 1 2 h fP 2 1 2 h fP 2
im Innern auf F A auf CD
(10.18)
Die Gitterpunkte mit unbekanntem Funktionswert nummerieren wir spaltenweise durch, wie dies in Abb. 10.6 erfolgt ist. F¨ ur die zugeh¨ origen 19 Unbekannten u1 , u2 , . . . , u19 k¨ onnen wir das lineare Gleichungssystem aufstellen. Dabei werden wir die Differenzengleichungen vern¨ unftigerweise in der Reihenfolge der nummerierten Gitterpunkte aufschreiben und dabei in den Gleichungen allf¨ allige Dirichletsche Randbedingungen einsetzen. Auf diese Weise entsteht das lineare Gleichungssystem (10.19), das wir in der aus Kapitel 2 bekannten Tabellen-Schreibweise dargestellt haben. Dabei sind nur die von null verschiedenen Koeffizienten und die rechte Seite (r.S.) angegeben. ist symmetrisch. H¨ atten wir die Differenzengleichungen f¨ ur die Randpunkte Die Systemmatrix unsymmetrisch mit Neumannscher Randbedingung nicht durch 2 dividiert, so w¨ are die Matrix geworden. Die Matrix ist schwach diagonal dominant und ist, wie man relativ leicht feststelpositiv len kann, irreduzibel oder nicht zerfallend. Da die Diagonalelemente positiv sind, ist definit [Mae 85, Sch 72], und somit besitzt das lineare Gleichungssystem (10.19) eine eindeutige L¨ osung. Sie kann mit dem Verfahren von Cholesky nach Abschnitt 2.3.1 oder auch iterativ (vgl. Kapitel 11) berechnet werden. Die verwendete Nummerierung der Gitterpunkte und damit der Bandstruktur hat Unbekannten hat zur Folge, dass die schwach besetzte Koeffizientenmatrix mit einer Bandbreite m = 4. Mit der Rechen- und Speichertechnik von Abschnitt 2.3.2 kann das Gleichungssystem effizient gel¨ ost werden. Die auf f¨ unf Stellen nach dem Komma gerundete L¨ osung von (10.19) ist entsprechend der Lage der Gitterpunkte zusammen mit den gegebenen Randwerten
434
10 Partielle Differenzialgleichungen
in (10.20) zusammengestellt. u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 u12 u13 u14 u15 u16 u17 u18 u19 2 − 21 −1 −1 2 − 12 − 21 2 −1
0.0625 0.0625 0.5625
− 12
−1
−1
r. S.
4 −1 −1 0.125 −1 4 −1 −1 0.125 −1 −1 4 −1 1.125 −1 4 −1 −1 0.125 −1 −1 4 −1 −1 0.125 −1 −1 4 −1 1.125 (10.19) −1 4 −1 −1 0.125 −1 −1 4 −1 −1 0.125 −1 −1 4 −1 −1 0.125 −1 4 −1 2.125 −1 4 −1 0.125 −1 −1 4 −1 −1 0.125 −1 −1 4 −1 −1 0.125 −1 −1 2 0.0625 −1 4 −1 0.125 −1 −1 2 0.0625 0 0.41686 0.72044 0.91603 1
0 0.41101 0.71193 0.90933 1
0 0.39024 0.68195 0.88436 1
0 0.34300 0.61628 0.82117 0.95174 1
0 0.24049 0.49398 0.70731 0.86077
0 0.28682 0.52832
0
(10.20)
△
10.1.3
Randnahe Gitterpunkte, allgemeine Randbedingungen
Wir wollen unregelm¨ aßige innere Punkte sowie auf dem Rand liegende Gitterpunkte mit Neumannschen oder Cauchyschen Randbedingungen allgemeiner Art betrachten. Die systematische Behandlung solcher Situationen erl¨ autern wir an typischen Beispielen, so dass die ¨ Ubertragung auf andere F¨ alle m¨ oglich ist. Dabei geht es stets um das Problem, zu einem gegebenen Differenzialausdruck, in unserem momentan betrachteten Fall −∆u, eine geeignete Differenzenapproximation zu konstruieren. Beispiel 10.2. Wir betrachten einen unregelm¨aßigen inneren Gitterpunkt P , der in der N¨ahe des Randes Γ so liegen m¨ oge, wie dies in Abb. 10.7 dargestellt ist. Die Randkurve Γ schneide die ande ah und bh mit 0 < a, b ≤ 1 Netzgeraden in den Punkten W ′ und S ′ , welche von P die Abst¨ besitzen.
435
10.1 Differenzenverfahren
N
h W ′ ah
P
h
E
bh
K
S′
Abb. 10.7 Randnaher, unregelm¨ aßiger Gitterpunkt.
Unser Ziel besteht darin, f¨ ur die zweiten partiellen Ableitungen uxx und uyy im Punkt P (x, y) eine Aproximation herzuleiten, die sich als Linearkombination der Werte uP , uE und uW ′ beziehungsugend oft stetig differenzierbar weise von uP , uN und uS ′ darstellen lassen. Wir setzen u(x, y) als gen¨ voraus. Mit Hilfe der Taylor-Entwicklungen mit Restglied erhalten wir die folgenden Darstellungen f¨ ur die Funktionswerte u(x, y) in den betreffenden Punkten. Auf die Angabe des Restgliedes wird verzichtet. u(x + h, y)
=
u(x − ah, y)
=
u(x, y)
=
1 2 1 h uxx (x, y) + h3 uxxx (x, y) + . . . 2 6 1 2 2 1 u(x, y) − ahux (x, y) + a h uxx (x, y) − a3 h3 uxxx (x, y) + . . . 2 6 u(x, y) u(x, y) + hux (x, y) +
Mit Koeffizienten c1 , c2 , c3 bilden wir die Linearkombination der drei Darstellungen c1 u(x + h, y) + c2 u(x − ah, y) + c3 u(x, y)
= (c1 + c2 + c3 )u(x, y) + (c1 − ac2 )hux (x, y) + (c1 + a2 c2 )
h2 uxx (x, y) + . . . 2
Aus unserer Forderung, dass die Linearkombination die zweite partielle Ableitung uxx im Punkt P (x, y) approximieren soll, ergeben sich notwendigerweise die drei Bedingungsgleichungen c1 + c2 + c3 = 0,
(c1 − ac2 )h = 0,
h2 (c1 + a2 c2 ) = 1. 2
Daraus folgen die Werte c1 =
2 , h2 (1 + a)
c2 =
2 , h2 a(1 + a)
c3 = −
2 . h2 a
Zur Approximation der zweiten Ableitung uxx (P ) verwenden wir dividierte Differenzen mit den N¨ aherungen uE , uP und uW ′ : nu − u uP − uW ′ o 1 E P uxx (P ) ≈ + (h + ah)/2 h ah j ff uE 2 uW ′ uP = + − . (10.21) h2 1 + a a(1 + a) a
436
10 Partielle Differenzialgleichungen
ur uyy (P ): Analog ergibt sich mit uN , uP und uS ′ f¨ j ff 2 uN uS ′ uP uyy (P ) ≈ 2 . + − h 1+b b(1 + b) b
(10.22)
Aus (10.21) und (10.22) erhalten wir so f¨ ur die Poisson-Gleichung (10.3) im unregelm¨ aßigen Gitterpunkt P der Abb. 10.7 nach Multiplikation mit h2 die Differenzengleichung „
2 2 + a b
«
uP −
2 2 2 2 uN − uW ′ − uS ′ − uE = h2 fP . 1+b a(1 + a) b(1 + b) 1+a
(10.23)
Falls a = b ist, sind die Koeffizienten von uN und uE in (10.23) verschieden. Dies wird im Allgemeides Systems von Differenzengleichungen unsymmetrisch nen zur Folge haben, dass die Matrix sein wird. Im Spezialfall a = b soll (10.23) mit dem Faktor (1+a)/2 multipliziert werden, so dass uN und uE die Koeffizienten −1 erhalten, und die Symmetrie von wird hinsichtlich P bewahrt werden k¨ onnen. In diesem Fall geht die Differenzengleichung (10.23) nach Multiplikation mit (1 + a)/2 u ¨ ber in a=b
=⇒
2(1 + a) 1 1 1 uP − uN − uW ′ − uS ′ − uE = (1 + a)h2 fP . a a a 2
(10.24) △
Beispiel 10.3. Auf einem Randst¨uck Γ2 sei eine Neumann-Randbedingung zu erf¨ullen. Wir betrachten die einfache Situation, wo der Randpunkt P ein Gitterpunkt ist. Die Randkurve Γ2 verlaufe gem¨ aß Abb. 10.8. Die ¨ außere Normalenrichtung im Punkt P bilde mit der positiven x-Richtung den Winkel ψ, definiert in der u ¨ blichen Weise im Gegenuhrzeigersinn. Wir verwenden auch den Wert der Normalableitung, um den Differenzialausdruck −∆u im Punkt P (x, y) durch eine geeignete Linearkombination zu approximieren. Sicher werden die Funktionswerte von u in den Gitterpunkten P, W und S der Abb. 10.8 verwendet werden. Zusammen mit der Normalableitung in P sind dies vier Gr¨ oßen. Es ist leicht einzusehen, dass es im Allgemeinen nicht m¨ oglich ist, eine Linearkombination dieser vier Werte zu finden, welche den gegebenen Differenzialausdruck in P approximiert. Dazu sind mindestens f¨ unf Gr¨ oßen notwendig, falls in keiner Taylor-Entwicklung die gemischte zweite partielle Ableitung auftritt. Andernfalls ben¨ otigen wir sechs Gr¨ oßen, denn der Koeffizientenvergleich liefert dann sechs Bedingungsgleichungen. Wir w¨ ahlen die beiden zus¨ atzlichen Randpunkte R(x − h, y + bh) und T (x + ah, y − h) mit 0 < a, b ≤ 1. Es gelten die folgenden N¨ aherungsdarstellungen bez¨ uglich des Punktes P (x, y), wobei wir die Argumente und die Restglieder auf der rechten Seite weglassen. P : u(x, y)
= u
W : u(x − h, y)
= u − hux
S : u(x, y − h)
= u
+ − huy
R : u(x − h, y + bh) = u − hux
+ bhuy
T : u(x + ah, y − h) = u + ahux
− huy
P :
∂u(x, y) ∂
=
ux cos ψ + uy sin ψ
h2 uxx 2
h2 uyy 2 2 h 2 + b uyy 2 2 h uyy + 2 +
h2 uxx − bh2 uxy 2 h2 2 + a uxx − ah2 uxy 2
+
437
10.1 Differenzenverfahren
R Γ2
bh
n ψ
P
W h
h S
Abb. 10.8 Neumann-Randbedingung im Randpunkt P .
T ah
Eine Linearkombination dieser sechs Darstellungen mit den Koeffizienten cP , cW , cS , cR , cT und aherten Darstellung von −∆u ergibt die sechs Bedingungsgleichungen cn zur angen¨ u : cP + ux :
cW +
−
cR +
−
hcR +
hcS +
bhcR −
hcW
uy : 2
uxx :
cS +
−
2
=
0
ahcT + cn cos ψ =
0
hcT + cn sin ψ =
0
2
h cR + 2 bh2 cR −
h 2 a cT 2 ah2 cT
h h 2 cS + b cR + 2 2
h cT 2
h cW 2
+
uxy : 2
uyy :
cT
−
2
= −1 =
(10.25)
0
2
= −1
Das Gleichungssystem (10.25) besitzt eine eindeutige L¨ osung, die die Differenzenapproximation ergibt. In sie geht die Geometrie des Gebietes G in der Umgebung des Randpunktes P ein. Im konkreten Fall mit gegebenen Werten von a, b und ψ wird das lineare Gleichungssystem (10.25) numerisch gel¨ ost. Mit den L¨ osungswerten f¨ ur die Koeffizienten lautet dann die Differenzengleichung im Punkt P cP uP + cW uW
˛ ∂u ˛˛ + cS uS + cR uR + cT uT + cn ˛ = fP , ∂ ˛
(10.26)
P
die zweckm¨ aßigerweise noch mit h2 multipliziert wird. Die Neumann-Randbedingung im Punkt P wird so ber¨ ucksichtigt, dass der vorgegebene Wert der Normalableitung in (10.26) eingesetzt wird. 1√ 2 sind die Koeffizienten cT und cR gleich null. Im Spezialfall ψ = 45◦ mit cos ψ = sin ψ = 2 Somit treten die Werte uT und uR von diesen beiden Randpunkten in der Differenzengleichung (10.26) nicht auf. In diesem Fall k¨ onnen die Koeffizienten in einfacher geschlossener Form angegeben werden, n¨ amlich als √ −2 2 −2 −2 4 , cS = 2 , cW = 2 , cP = 2 . cn = h h h h
438
10 Partielle Differenzialgleichungen
R ch n ψ
P h bh S
Z
T ah
h
Abb. 10.9 Cauchy-Randbedingung im Randpunkt P .
Die Differenzengleichung lautet nach Multiplikation mit h2 /2 ◦
ψ = 45
=⇒
2uP − uW
˛ √ ∂u ˛˛ 1 2 − uS − h 2 ˛ = h fP . ∂ ˛ 2
(10.27)
P
˛ ˛ ∂u ˛ ˛ = 0 erhalten wir im Wesentlichen die letzte der Differenzengleichungen ∂ ˛ P (10.18), die dort auf andere Weise hergeleitet wurde. △
F¨ ur den Sonderfall
Beispiel 10.4. Die Behandlung einer Cauchyschen Randbedingung (10.8) in einem allgemeinen Randpunkt P erfolgt analog zu derjenigen einer Neumannschen Randbedingung. Um das Vorgehen aufzuzeigen, betrachten wir die Situation von Abb. 10.9. Der Randpunkt P (x, y) sei nicht Schnittpunkt von Netzgeraden. Die Richtung der ¨ außeren Normalen bilde den Winkel ψ mit der positiven x-Achse. Wiederum werden wir zur Approximation von −∆u sechs Gr¨ oßen ben¨ otigen. Neben dem Ausdruck ∂u + αu der linken Seite der Cauchy-Randbedingung im Punkt P werden wir in naheliegender ∂ Weise die Werte von u in den Punkten P, S, R und T verwenden. Als sechste Gr¨ oße w¨ ahlen wir den Wert von u im zu P n¨ achstgelegenen Gitterpunkt im Innern des Gebietes. F¨ ur b ≤ 1/2 ist dies Z. Wir erhalten mit B := 1 − b und wieder ohne Argumente und Restglieder rechts die N¨ aherungsgleichungen P : u(x, y)
=
u
S : u(x, y − bh)
=
u
Z : u(x − h, y − bh)
=
u −
hux −
bhuy +
R : u(x − ch, y + Bh) =
u −
chux +
Bhuy +
T : u(x + ah, y − bh) =
u +
ahux −
P :
∂u + αu ∂
−
h2 2 b uyy 2 h2 2 b uyy + 2 2 h 2 B uyy + 2 2 h 2 + b uyy 2 +
bhuy h2 uxx + 2
bh2 uxy
h2 2 c uxx − cBh2 uxy 2 h2 2 a uxx − abh2 uxy bhuy + 2
= αu + ux cos ψ + uy sin ψ
F¨ ur die Koeffizienten cP , cS , cZ , cR , cT und cn der Linearkombination zur Darstellung von −∆u zu
439
10.1 Differenzenverfahren
bildenden Linearkombination ergeben sich durch Koeffizientenvergleich die sechs Bedingungsgleichungen u:
cP +
ux : uy :
−
cS +
cZ +
cR +
−
hcZ −
chcR +
bhcS −
bhcZ + 2
BhcR −
2
cT +
αcn =
0
ahcT + cn cos ψ =
0
bhcT + cn sin ψ =
0
2
h h 2 h 2 cZ + c cR + a cT 2 2 2 bh2 cZ − cBh2 cR − abh2 cT
uxx : uxy :
2
2
2
= −1 =
0
2
h 2 h 2 h 2 h 2 b cS + b cZ + B cR + b cT = −1 2 2 2 2 Bei zahlenm¨ aßig gegebenen Werten f¨ ur a, b, c, h und ψ ist das Gleichungssystem numerisch l¨ osbar. Mit den erhaltenen Koeffizienten lautet die Differenzenapproximation der Poisson-Gleichung uyy :
cP uP + cS uS + cZ uZ + cR uR + cT uT + cn β = fP ,
(10.28)
wo wir bereits f¨ ur die linke Seite der Cauchy-Randbedingung den bekannten Wert β gem¨ aß (10.8) eingesetzt haben. Die Randbedingung im Punkt P ist einerseits implizit in den Koeffizienten der uucksichtigt. Werte der Differenzengleichung (10.28) und andererseits im konstanten Beitrag cn β ber¨ In der Differenzengleichung (10.28) wird im Allgemeinen cZ = 0 sein. Ist der Gitterpunkt Z ein regelm¨ aßiger innerer Punkt, wie dies nach Abb. 10.9 anzunehmen ist, dann ist f¨ ur ihn die F¨ unfPunkte-Differenzengleichung (10.12) anwendbar. In ihr tritt der Funktionswert uP nicht auf, und somit wird die Matrix des Gleichungssystems auf jeden Fall unsymmetrisch. Denn nehmen wir an, der Punkt P erhalte die Nummer i und Z die Nummer j = i. Dann ist in der Tat das Matrixelement △ aij = 0, aber das dazu symmetrische aji = 0.
Beispiel 10.5. Wir betrachten im Gebiet G der Abb. 10.10 die Randwertaufgabe − ∆u = 2
in G
u=0
auf CD (10.29) ∂u =0 auf BC und DA ∂ ∂u + 2u = −1 auf AB. ∂ Die Randkurve AB ist ein Kreisbogen mit dem Radius r = 1, dessen Mittelpunkt der Schnittpunkt der Verbindungsgeraden DA und CB ist. Die Randwertaufgabe kann als W¨ armeleitungsproblem interpretiert werden, bei dem die station¨ are Temperaturverteilung u(x, y) im Querschnitt eines (langen) Beh¨ alters gesucht ist, in welchem eine konstante W¨ armequellendichte vorhanden ist. Der Beh¨ alter enth¨ alt eine R¨ ohre, in welcher W¨ arme entzogen wird. Aus Symmetriegr¨ unden gen¨ ugt es, die L¨ osung im Gebiet G zu bestimmen. Zur Diskretisierung der Aufgabe soll das in Abb. 10.10 eingezeichnete Netz mit der Maschenweite h = 1/3 verwendet werden. Die resultierenden Gitterpunkte sind eingezeichnet, wobei diejenigen mit unbekanntem Funktionswert durch ausgef¨ ullte Kreise markiert und bereits spaltenweise nummeriert sind. F¨ ur die meisten Gitterpunkte sind die Differenzengleichungen (10.18) anwendbar. Eine Sonderbehandlung erfordern die Punkte 3, 6, 7, 10 und 11. Die Differenzengleichungen f¨ ur die Punkte 6
440
10 Partielle Differenzialgleichungen 2
D 4
8
12
2
5
9
13
3
6
10
15
17
1
1
C
A
7
16
14
Abb. 10.10 Grundgebiet G der Randwertaufgabe mit Netz und Gitterpunkten, h = 1/3.
11
B
und 10 ergeben sich unmittelbar aus (10.23). Mit den einfach zu berechnenden, zur Schrittweite h relativen Abst¨ anden zwischen den Punkten 6 und 7 bzw. 10 und 11 √ . √ . b6 = P6 P7 /h = 3 − 2 2 = 0.171573, b10 = P10 P11 /h = 3 − 5 = 0.763932 ergeben sich mit a = 1 aus (10.23) die beiden Differenzengleichungen 2 9 (10.30) 2 −u6 − 1.13383u9 + 4.61803u10 − 1.48420u11 − u14 = 9 Im Punkt 3 stoßen zwei Randst¨ ucke aneinander, an denen eine Neumann-, bzw. eine CauchyRandbedingung zu erf¨ ullen ist. Wir behandeln diese Situation entsprechend den Beispielen 10.3 und 10.4, wobei die wesentliche Vereinfachung vorliegt, dass im Punkt 3 bez¨ uglich des Randst¨ uckes ∂u ∂u = −ux und bez¨ uglich AB: = −uy gilt. Es gen¨ ugt hier, f¨ unf Gr¨ oßen zur Approximation DA: ∂ ∂ des Differenzialausdrucks −∆u heranzuziehen, n¨ amlich −u3 − 1.70711u5 + 13.65685u6 − 9.94975u7 − u10
3 : u(x, y)
=
c3
= u 2
2 : u(x, y + h) = u
+ huy + 2
6 : u(x + h, y) = u + hux
+
h uyy + . . . 2
h uxx + . . . 2
∂u(x, y) = − ux ∂ 1 ∂u + 2u = 2u − uy 32 : ∂ 2 Durch Koeffizientenvergleich erh¨ alt man −2 −2 −2 4 −2 4 , cm = , c3 = 2 + , c2 = 2 , c6 = 2 , cn = h h h h h h 1 und damit nach Multiplikation mit h2 die Differenzengleichung 2 „ « „ « ∂u ∂u −h + 2u = h2 . 2(1 + h)u3 − u2 − u6 − h ∂ 1 ∂ 2 31 :
c2 c6 cn cm
Unter Ber¨ ucksichtigung der beiden verschiedenen Randbedingungen im Punkt 3 ergibt sich die Drei-Punkte-Differenzengleichung −u2 + 2 (1 + h) u3 − u6 = h2 − h.
(10.31)
441
10.1 Differenzenverfahren
3
6
h
h
14
10 ah
ψ
7
bh
n 11 B Abb. 10.11 Zur Herleitung der Differenzengleichung im Randpunkt 7.
Die Differenzengleichung (10.31) ist im Punkt A des Gebietes G unter den gegebenen Randbedingungen f¨ ur beliebige Maschenweiten h g¨ ultig. Die Herleitung der Differenzengleichungen f¨ ur die Randpunkte 7 und 11 erfolgt nach dem im Beispiel 10.4 beschriebenen Vorgehen. In Abb. 10.11 ist die Situation f¨ ur den Punkt 7 mit den f¨ ur die Differenzengleichung verwendeten umliegenden Gitterpunkten dargestellt. Der Winkel ψ zwischen . ◦ agt ψ = 250.53 , und die ben¨ otigten der positiven x-Richtung und der Normalenrichtung betr¨ √ . trigonometrischen Funktionswerte sind cos ψ = −1/3 und sin ψ = −2 2/3 = −0.942809. Ferner √ √ . √ . sind a = b6 = 3 − 2 2 = 0.171573 und b = b10 − b6 = 2 2 − 5 = 0.592359. Mit diesen Zahlenwerten k¨ onnen die Taylor-Entwicklungen der Funktion in den f¨ unf Punkten sowie der Ausdruck der linken Seite der Cauchy-Randbedingung bez¨ uglich des Punktes 7 aufgeschrieben werden. Wenn noch die zweite und dritte Gleichung durch h, die vierte und sechste Gleichung durch h2 /2 und die ur f¨ unfte Gleichung durch h2 dividiert werden, dann erhalten wir das folgende Gleichungssystem f¨ die gesuchten sechs Parameter. c6 c10 c11 cn 1 1 1 1 2 0 0 1 1 −1 0 0.171573 0.171573 −0.592359 −2.828427 0 0 1 1 0 −18 0 0.171573 −0.592359 0 0 0.0294373 0.0294373 0.350889 0 −18 . . . . Daraus resultieren die Werte c7 = 597.59095, c3 = 6.33443, c6 = −518.25323, c10 = −17.44645, . . c11 = −6.88798, cn = −30.66886. Wenn wir den vorgeschriebenen Wert −1 der Cauchy-Randbeur dingung ber¨ ucksichtigen und die Differenzengleichung mit h2 = 1/9 multiplizieren, erhalten wir f¨ den Punkt 7 die Differenzengleichung c7 1 0 0 0 0 0
c3 1 −1 0.171573 1 −0.171573 0.0294373
0.70383u3 − 57.58369u6 + 66.39899u7 − 1.93849u10 − 0.76533u11 = −3.18543 Auff¨ allig an dieser Differenzengleichung sind die betragsm¨ aßig großen Koeffizienten der Funktionswerte u7 und u6 . Dies wird einerseits durch den kleinen Abstand von Punkt 6 zum Punkt 7 und andererseits durch die Cauchy-Randbedingung verursacht. F¨ ur den verbleibenden Gitterpunkt 11 sind in Abb. 10.12 diejenigen Punkte markiert, deren Funktionswerte verwendet werden zur Approximation des Differenzialausdrucks. F¨ ur den Winkel ψ gel√ . ur die gesuchten Koeffizienten ten jetzt cos ψ = −2/3 und sin ψ = − 5/3 = −0.745356. Aus dem f¨
442
10 Partielle Differenzialgleichungen
6
10
h
7
h bh
ψ
14
ch
11 B
Abb. 10.12 Zur Herleitung der Differenzengleichung im Randpunkt 11.
c11 , c7 , c6 , c10 , c14 und cn analog hergeleiteten Gleichungssystem c11 1 0 0 0 0 0
c7 1 −1 0.592359 1 −0.592359 0.350889
c6 1 −1 0.763932 1 −0.763932 0.583592
c10 1 0 0.763932 0 0 0.583592
c14 1 1 0.763932 1 0.763932 0.583592
cn 2 −2 −2.236068 0 0 0
1 0 0 0 −18 0 −18
ergibt sich nach Ber¨ ucksichtigung der Cauchy-Randbedingung die Differenzengleichung f¨ ur den Punkt 11 −7.04997u6 + 6.81530u7 + 1.29050u10 + 2.24016u11 − 1.76533u14 = −0.54311 Nach diesen Vorbereitungen f¨ ur die unregelm¨ aßigen randnahen und f¨ ur die auf dem Kreisbogen liegenden Punkte kann das System der Differenzengleichungen f¨ ur die Randwertaufgabe (10.29) formuliert werden. Es ist in (10.32) auf Seite 443 zu finden. Aus Platzgr¨ unden sind die nichtganzzahligen Koeffizienten auf drei Dezimalstellen angegeben. Das Gleichungssystem wurde mit voller Stellenzahl gel¨ ost. Die Koeffizientenmatrix des Gleichungssystems ist nicht symmetrisch und besitzt nicht einmal eine symmetrische Besetzungsstruktur, da beispielsweise a73 = 0, aber a37 = 0 sind. Die Matrix hat Bandstruktur, wobei die linksseitige Bandbreite wegen der elften Gleichung m1 = 5 und die rechtsseitige Bandbreite m2 = 4 betragen. Obwohl die Matrix nicht diagonal dominant ist (Gleichung 11!), kann das System mit dem Gauß-Algorithmus unter Verwendung der Diagonalstrategie problemlos gel¨ ost werden. Der Prozess l¨ auft vollst¨ andig im Band ab, so dass eine rechen- und speicher¨ okonomische Technik in Analogie zu derjenigen von Abschnitt 2.3.2 angewandt werden kann. Die auf vier Stellen nach dem Komma gerundete L¨ osung des Gleichungssystems ist in der ungef¨ ahren Anordnung der Gitterpunkte zusammen mit den Randwerten am oberen Rand in (10.33) zusammengestellt. 0 0.2912 0.3414 0.1137
0 0.3006 0.3692 0.1840 0.1217
0 0.3197 0.4288 0.3353 0.1337
0 0.3272 0.4687 0.4576
0 0.2983 0.4391
0 0.2047
0 (10.33)
u2
u3
u4 u5
u6
u7
u8 u9
u10
u11
u12 u13 u14
u15 u16 u17
10.1 Differenzenverfahren
u1
r. S.
2 −0.5 −1 0.111 −0.5 2 −0.5 −1 0.111 −1 2.67 −1 −0.222 −1 4 −1 −1 0.222 −1 −1 4 −1 −1 0.222 −1 −1.71 13.7 −9.95 −1 0.222 0.704 −57.6 66.4 −1.94 −0.765 −3.19 −1 4 −1 −1 0.222 −1 −1 4 −1 −1 0.222 −1 −1.13 4.62 −1.48 −1 0.222 −7.05 6.82 1.29 2.24 −1.77 −0.543 −1 4 −1 −1 0.222 −1 −1 4 −1 −1 0.222 −1 −1 2 0.111 −1 4 −1 −1 0.222 −1 −1 2 0.111 −1 2 0.111
(10.32)
443
444
10 Partielle Differenzialgleichungen
Die Ergebnisse vermitteln ein anschauliches Bild von der Temperaturverteilung, die im Innern des Gebietes ein Maximum annimmt und gegen den Kreisbogen hin abnimmt infolge des W¨ armeabflusses. △
Die Herleitung von Differenzengleichungen f¨ ur Randpunkte mit Neumann- oder CauchyRandbedingung ist m¨ uhsam und fehleranf¨ allig. Deshalb wird man die Schritte normalerweise von einem Rechner ausf¨ uhren lassen. Noch eleganter ist die Benutzung leistungsf¨ahiger Softwarepakete, die auch u oglichkeit graphischer Eingabe verf¨ ugen, siehe Ab¨ ber die M¨ schnitt 10.4 oder die Beispiele 10.12 und 10.13.
10.1.4
Diskretisierungsfehler
Die berechneten Funktionswerte in den Gitterpunkten als L¨osung des linearen Systems von Differenzengleichungen stellen selbstverst¨ andlich nur N¨aherungen f¨ ur die exakten Werte der L¨osungsfunktion der gestellten Randwertaufgabe dar. Um f¨ ur den Fehler wenigstens qualitative Absch¨ atzungen zu erhalten, bestimmen wir den lokalen Diskretisierungsfehler der verwendeten Differenzenapproximation. Der wird wie ein Residuum gebildet und sollte nicht verwechselt werden mit dem Diskretisierungsfehler der L¨osung in einem Punkt uP − u(P ). Den folgenden Betrachtungen legen wir die Poisson-Gleichung und die bisher verwendeten Differenzengleichungen zu Grunde. Analog zu den gew¨ohnlichen Differenzialgleichungen versteht man unter dem lokalen Diskretisierungsfehler einer Differenzengleichung den Wert, der bei Substitution der exakten L¨ osung u(x, y) der Differenzialgleichung in die Differenzengleichung resultiert. F¨ ur die F¨ unf-Punkte-Differenzengleichung (10.12) eines regelm¨aßigen inneren Gitterpunktes P (x, y) ist er definiert als dP := 1 [−u(x, y + h) − u(x − h, y) − u(x, y − h) − u(x + h, y) + 4u(x, y)] − f (x, y). h2 F¨ ur die Funktion u(x, y) gelten die Taylor-Entwicklungen
(10.34)
u(x ± h, y) = 1 1 h5 h6 1 u ± hux + h2 uxx ± h3 uxxx + h4 uxxxx ± uxxxxx + uxxxxxx ± . . . 2 6 24 120 720
(10.35) u(x, y ± h) = 1 1 h5 h6 1 uyyyyy + uyyyyyy ± . . . u ± huy + h2 uyy ± h3 uyyy + h4 uyyyy ± 2 6 24 120 720 Dabei sind die Werte von u und der partiellen Ableitungen an der Stelle (x, y) zu verstehen. Nach ihrer Substitution in (10.34) ergibt sich h2 h4 [uxxxx + uyyyy ]P − [uxxxxxx + uyyyyyy ]P + . . . 12 360 Da u die Poisson-Gleichung erf¨ ullt, verschwindet der erste Klammerausdruck. Der lokale Diskretisierungsfehler der Differenzengleichung in einem regelm¨aßigen inneren Gitterpunkt dP = [−uxx − uyy − f (x, y)]P −
10.1 Differenzenverfahren
445
ist somit gegeben durch dP = −
h4 h2 [uxxxx + uyyyy ]P − [uxxxxxx + uyyyyyy ]P − . . . 12 360
(10.36)
Wenn wir im Moment nur den Hauptteil des lokalen Diskretisierungsfehlers betrachten, so ultigkeit auch f¨ ur einen besagt (10.36), dass dP = O(h2 ) ist. Diese Aussage beh¨alt ihre G¨ Randpunkt mit der Neumann-Randbedingung ∂u/∂n = 0, falls der Rand entweder eine Netzgerade oder eine Diagonale des Netzes ist. F¨ ur einen unregelm¨ aßigen, randnahen Gitterpunkt P nach Abb. 10.7 ist auf Grund der zu (10.35) analogen Taylor-Entwicklungen und der in Beispiel 10.2 durchgef¨ uhrten Herleitung sofort ersichtlich, dass in der Darstellung des lokalen Diskretisierungsfehlers die dritten partiellen Ableitungen, multipliziert mit der Maschenweite h, auftreten. Der Hauptteil des lokalen Diskretisierungsfehlers ist folglich proportional zu h, d.h. es ist dP = O(h). Dasselbe trifft auch zu f¨ ur die Differenzengleichungen von Randpunkten, die wir in den Beispielen 10.3 bis 10.5 angetroffen haben, da in allen jenen F¨allen die dritten partiellen Ableitungen im lokalen Diskretisierungsfehler stehen bleiben. Hier kann wie bei Anfangswertproblemen zu gew¨ohnlichen Differenzialgleichungen gezeigt werden, dass der globale Diskretisierungsfehler eP := u(x, y) − uP dieselbe Ordnung in h besitzt wie der lokale. Die Fehlerordnung der F¨ unf-Punkte-Formel (10.12) ist somit zwei. Gleichzeitig gilt damit, dass die N¨ aherungsl¨ osungen in den Gitterpunkten f¨ ur h → 0 gegen die exakten Werte der Randwertaufgabe konvergieren. Konvergenz kann auch bewiesen werden, wenn Differenzengleichungen vorkommen, deren lokaler Diskretisierungsfehler nur O(h) ist. Es sei aber nochmal betont, dass das Konvergenzverhalten nur unter der Voraussetzung gilt, ¯ = G ∪ Γ mindestens viermal stetig differenzierbar ist. Dies dass die L¨ osungsfunktion in G trifft beispielsweise dann nicht zu, wenn Dirichlet-Randbedingungen unstetig sind oder das Gebiet einspringende Ecken aufweist. Partielle Ableitungen niedriger Ordnung der L¨osungsfunktion besitzen an diesen Stellen eine Singularit¨at, ein einfaches Beispiel ist der Kreissektor mit Innenwinkel ϕ > π, siehe etwa § 2 in [Bra 03] oder [Tve 00]. Solche F¨alle erfordern spezielle Analysen, um das Konvergenzverhalten zu erfassen [Bra 68]. Bei der numerischen L¨ osung solcher Probleme ist es oft vorteilhalt, die Singularit¨aten durch geeignete Ans¨atze zu ber¨ ucksichtigen [Gla 79, Mit 80]. Beispiel 10.6. Zur Steigerung der Genauigkeit der N¨aherungsl¨osung der Differenzengleichungen kann man die Maschenweite h verkleinern. Auf Grund der Fehlerordnung O(h2 ) verkleinert sich der Fehler bei Halbierung der Maschenweite h nur etwa auf den vierten Teil. Die Zahl der Gitterpunkte und damit die Ordnung des linearen Gleichungssystems steigt etwa auf das Vierfache an. Zur Illustration behandeln wir die Randwertaufgabe (10.14) bis (10.17) von Beispiel 10.1 mit der Maschenweite h = 0.125 und erhalten gem¨ aß Abb. 10.13 n = 81 Gitterpunkte mit unbekannten Funktionswerten. Es k¨ onnen die Differenzengleichungen (10.18) angewandt werden. Das Gleichungssystem erh¨ alt bei spaltenweiser Nummerierung der Gitterpunkte eine Bandstruktur mit der Bandbreite m = 9. Zu Vergleichszwecken sind in (10.37) die aus dem Gleichungssystem resultierenden, auf f¨ unf Stellen nach dem Komma gerundeten N¨ aherungswerte an den Gitterpunkten von Abb. 10.6 in deren
446
10 Partielle Differenzialgleichungen
F
E
1
8
15
22
29
36
44
53
62
2
9
16
23
30
37
45
54
63
70
3
10
17
24
31
38
46
55
64
71
76
4
11
18
25
32
39
47
56
65
72
77
5
12
19
26
33
40
48
57
66
73
78
6
13
20
27
34
41
49
58
67
74
7
14
21
28
35
42
50
59
68
43
51
60
A
B 52
80
D
81
79
75
69
61
C Abb. 10.13 Netz und Gitterpunkte f¨ ur h = 0.125.
Anordnung zusammengestellt. 0 0.41771 0.72153 0.91686 1
0 0.41178 0.71270 0.90979 1
0 0.39070 0.68149 0.88268 1
0 0.34227 0.61400 0.81815 0.94836 1
0 0.23286 0.48858 0.70244 0.85602
0 0.28386 0.52389
0
(10.37)
Eine Gegen¨ uberstellung mit dem Ergebnis (10.20) f¨ ur die doppelt so große Maschenweite zeigt eine ¨ recht gute Ubereinstimmung. Die gr¨ oßte Differenz betr¨ agt maximal acht Einheiten in der dritten Dezimalstelle nach dem Komma. Wenn wir trotz der Ecken des Gebietes die Fehlerordnung zwei annehmen, dann zeigt sich auf Grund einer Extrapolation, dass (10.37) die gesuchte L¨ osung mit mindestens zweistelliger Genauigkeit darstellt. △
10.1.5
Erg¨anzungen
Jede Verkleinerung der Maschenweite h bewirkt eine starke Vergr¨oßerung der Zahl der Unbekannten. Es kommt hinzu, dass die Konditionszahl der Matrix A des Systems von Differenzengleichungen wie h−2 anw¨ achst [Hac 96]. Dies sieht man beispielhaft, wenn man die Spektralnorm von Modellproblemen berechnet, siehe etwa Beispiel 11.8. Eine andere M¨ oglichkeit zur Erh¨ ohung der Genauigkeit der N¨aherungsl¨osung besteht darin, die Fehlerordnung der Differenzenapproximation zu erh¨ ohen. Zur Bildung der betreffenden Differenzengleichung m¨ ussen Funktionswerte an mehr Gitterpunkten verwendet werden. Werden auch zur Bildung der rechten Seite mehrere Werte der Funktion f (x, y) verwendet, so spricht man auch von Mehrstellenoperatoren, siehe etwa [Hac 96].
447
10.1 Differenzenverfahren
Die Diskretisierung einer allgemeinen partiellen Differenzialgleichung (10.1) vom elliptischen Typus erfolgt nach dem oben vorgezeichneten Vorgehen. Im einfachsten Fall werden die auftretenden partiellen Ableitungen gem¨ aß (10.9) und (10.10) durch Differenzenquotienten approximiert. In einem regelm¨ aßigen inneren Punkt verwendet man f¨ ur die gemischte partielle Ableitung die Approximation uxy (ui , yj ) ≈
ui+1,j+1 − ui−1,j+1 − ui+1,j−1 + ui−1,j−1 , 4h2
welche aus zweimaliger Anwendung der zentralen Differenzenquotienten (10.9) resultiert. Damit erh¨ alt die einfachste Differenzenapproximation die Struktur einer Neun-PunkteFormel, wenn in der zu l¨ osenden partiellen Differenzialgleichung der Term uxy auftritt. Wir verweisen wegen weiterer Einzelheiten wieder auf [Hac 96], wo man auch die Anwendung von Differenzenapproximationen auf elliptische Randwertaufgaben h¨oherer Ordnung am Beispiel der biharmonischen oder Plattengleichung ∆2 u = f findet. Zur numerischen L¨osung von elliptischen Randwertaufgaben ist es in bestimmten Situationen zweckm¨ aßig, ein Netz mit variablen Maschenweiten in x- und y-Richtung zu verwenden, um auf diese Weise eine lokal feinere Diskretisierung zu erreichen. Dies ist angezeigt in Teilgebieten, in denen sich die L¨ osungsfunktion rasch ¨andert oder die Ableitungen eine Singularit¨ at aufweisen, beispielsweise in der N¨ ahe einer einspringenden Ecke. F¨ ur das Gebiet G der Randwertaufgabe (10.14) bis (10.17) tr¨ agt beispielsweise das Netz von Abb. 10.14 der einspringenden Ecke B Rechnung. Die in y-Richtung in der N¨ahe von B gew¨ahlte Maschenweite h = 1/16 hat wegen der Neumann-Randbedingung l¨angs CD eine kleine Maschenweite in einer Region zur Folge, wo es nicht erforderlich w¨are. Zur Approximation der Poisson-Gleichung sind jetzt die Funktionswerte in nicht gleichabst¨ andigen Gitterpunkten nach Abb. 10.14 zu verwenden. Aus (10.21) und (10.22) lassen sich f¨ ur die zweiten partiellen Ableitungen in P die folgenden N¨aherungen herleiten ! uW uP uE + − , uxx (P ) ≈ 2 h1 (h1 + h2 ) h2 (h1 + h2 ) h1 h2 ! uN uS uP + − uyy (P ) ≈ 2 . h3 (h3 + h4 ) h4 (h3 + h4 ) h3 h4 Daraus folgt die Differenzengleichung f¨ ur den typischen Punkt P 2
"
1 1 + h1 h2 h3 h4
#
uP
2uW 2uN − h3 (h3 + h4 ) h2 (h1 + h2 ) 2uE 2uS − = fP . − h4 (h3 + h4 ) h1 (h1 + h2 )
−
(10.38)
Der lokale Diskretisierungsfehler der Differenzengleichung (10.38) ist nur O(h), falls h = max{h1 , h2 , h3 , h4 } und h1 = h2 oder h3 = h4 ist. Das resultierende System von Differenzengleichungen ist unsymmetrisch.
448
10 Partielle Differenzialgleichungen
F
E
D
A
B C
Abb. 10.14 Gebiet mit unregelm¨ aßigem Netz.
N h3 P
W h2
E h1
h4 S
10.2
Abb. 10.15 Gitterpunkte im unregelm¨ aßigen Netz.
Parabolische Anfangsrandwertaufgaben
Die mathematische Beschreibung von zeitabh¨ angigen Diffusions- und W¨armeleitungsproblemen f¨ uhrt auf eine parabolische Differenzialgleichung f¨ ur die gesuchte, von Zeit und von Ortsvariablen abh¨ angige Funktion. Wir behandeln zuerst ausf¨ uhrlich den eindimensionalen Fall, beschreiben zu seiner L¨ osung zwei Diskretisierungsmethoden mit unterschiedlichen Eigenschaften und betrachten anschließend noch den zweidimensionalen Fall.
10.2.1
Eindimensionale Probleme, explizite Methode
Die einfachste parabolische Differenzialgleichung lautet ut = uxx
(10.39)
449
10.2 Parabolische Anfangsrandwertaufgaben Abb. 10.16 W¨ armeleitung im Stab.
x 1
0
f¨ ur eine Funktion u(x, t) der Ortsvariablen x und der Zeit t. In der Regel wird die Funktion u(x, t) gesucht in einem beschr¨ ankten Intervall f¨ ur x, das wir auf (0, 1) normieren k¨onnen, und f¨ ur positive Werte von t. Das Gebiet G, in welchem die L¨osung zu bestimmen ist, besteht somit aus einem unendlichen Halbstreifen in der (x, t)−Ebene. Zur Differenzialgleichung (10.39) treten noch Nebenbedingungen hinzu, die man in zwei Klassen einteilt. So muss eine Anfangsbedingung u(x, 0) = f (x),
0 < x < 1,
(10.40)
gegeben sein, welche die Werte der L¨ osungsfunktion zur Zeit t = 0 vorschreibt. Weiter m¨ ussen sowohl f¨ ur x = 0 als auch f¨ ur x = 1 f¨ ur alle t > 0 Randbedingungen vorliegen. Entweder wird der Wert von u als Funktion der Zeit t vorgeschrieben (Dirichlet-Randbedingung) oder eine Linearkombination der partiellen Ableitung von u nach x und der Funktion u muss einen im allgemeinen zeitabh¨ angigen Wert annehmen (Cauchy-Randbedingung). Die Randbedingungen k¨ onnen beispielsweise so lauten u(0, t) = ϕ(t),
ux (1, t) + α(t)u(1, t) = β(t),
t > 0,
(10.41)
wo ϕ(t), α(t) und β(t) gegebenen Funktionen der Zeit sind. Die Anfangsrandwertaufgabe (10.39) bis (10.41) wird nun analog zu den elliptischen Randwertaufgaben diskretisiert, indem zuerst u ¨ber das Grundgebiet G = [0, 1] × [0, ∞) ein Netz mit zwei im Allgemeinen unterschiedlichen Maschenweiten h und k in x- und t-Richtung gelegt wird. Gesucht werden dann N¨ aherungen der Funktion u(x, t) in den so definierten diskreten Gitterpunkten. Weiter wird die Differenzialgleichung durch eine Differenzenapproximation ersetzt, wobei gleichzeitig die Randbedingungen ber¨ ucksichtigt werden. Mit ihrer Hilfe wird die Funktion u(x, t) n¨ aherungsweise mit zunehmender Zeit t berechnet werden. Beispiel 10.7. Wir betrachten die W¨armeleitung in einem homogenen Stab konstanten Querschnitts mit der L¨ ange Eins. Er sei auf der ganzen L¨ ange w¨ armeisoliert, so dass keine W¨ armeabstrahlung stattfinden kann. An seinem linken Ende (vgl. Abb. 10.16 ) ¨ andere sich die Temperatur periodisch, w¨ ahrend das rechte Ende w¨ armeisoliert sei. Gesucht wird die Temperaturverteilung im Stab in Abh¨ angigkeit des Ortes x und der Zeit t falls zur Zeit t = 0 die Temperaturverteilung bekannt ist. Die Anfangsrandwertaufgabe f¨ ur die Temperaturverteilung u(x, t) lautet: ut = uxx u(x, 0) = 0 u(0, t) = sin(πt),
ux (1, t) = 0
f¨ ur 0 < x < 1, t > 0; f¨ ur 0 < x < 1; f¨ ur t > 0.
(10.42)
In Abb. 10.17 ist das Netz in einem Teil des Halbstreifens f¨ ur die Maschenweiten h = 1/n und k eingezeichnet. Die Gitterpunkte, in denen die Funktionswerte entweder durch die Anfangs- oder die Randbedingung bekannt sind, sind durch Kreise markiert, w¨ ahrend die Gitterpunkte mit unbekannten Funktionswerten durch ausgef¨ ullte Kreis hervorgehoben sind. Die Gitterpunkte haben aherungswerte f¨ ur die die Koordinaten xi = ih, i = 0, 1, . . . , n, und tj = jk, j = 0, 1, 2, . . .. Die N¨
450
10 Partielle Differenzialgleichungen
t
P
k
0
x1
h
x2
x3
x4
Abb. 10.17 Netz im Halbstreifen.
1 x
x5
gesuchten Funktionswerte u(xi , tj ) bezeichnen wir mit ui,j . Zur Approximation der partiellen Differenzialgleichung in einem inneren Punkt P (xi , tj ) ersetzen wir die erste partielle Ableitung nach t durch den so genannten Vorw¨ artsdifferenzenquotienten ui,j+1 − ui,j ut (P ) ≈ k und die zweite partielle Ableitung nach x durch den zweiten Differenzenquotienten ui+1,j − 2ui,j + ui−1,j . h2 Durch Gleichsetzen der beiden Ausdr¨ ucke resultiert die Differenzengleichung uxx (P ) ≈
ui,j+1 − ui,j =
k (ui+1,j − 2ui,j + ui−1,j ), h2
oder ui,j+1 = rui−1,j + (1 − 2r)ui,j + rui+1,j , i = 1, 2, . . . , n − 1;
r :=
k , h2
(10.43)
j = 0, 1, 2, . . . .
Die Ber¨ ucksichtigung der Randbedingung am linken Rand ist problemlos, da f¨ ur i = 1 in (10.43) der bekannte Wert u0,j = sin(πjk) eingesetzt werden kann. Die Neumann-Randbedingung am rechten Rand wird durch eine Symmetriebetrachtung ber¨ ucksichtigt, so dass aus (10.43) die Formel folgt un,j+1 = 2run−1,j + (1 − 2r)un,j ,
j = 0, 1, 2, . . . .
(10.44)
ur i = 0, 1, . . . , n durch die AnfangsZur Zeit t = 0, d.h. f¨ ur j = 0, sind die Funktionswerte ui,0 f¨ bedingung bekannt. Die Rechenvorschriften (10.43) und (10.44) gestatten, die N¨ aherungen ui,j+1 , i = 1, 2, . . . , n, f¨ ur festes j aus den Werten ui,j in expliziter Weise zu berechnen. Somit kann die N¨ aherungsl¨ osung mit zunehmendem j, also in Zeitrichtung fortschreitend, sukzessive ermittelt werden. Die angewandte Diskretisierung der parabolischen Differenzialgleichung f¨ uhrt zur expliziten Methode von Richardson. Wir berechnen N¨ aherungsl¨ osungen der Anfangsrandwertaufgabe (10.42) vermittels (10.43) und (10.44) f¨ ur feste Maschenweite h = 0.1 und die Zeitschrittweiten k = 0.002, k = 0.005 und k = 0.01. In Tab. 10.1 bis 10.3 sind die erhaltenen Ergebnisse auszugsweise zusammengestellt.
451
10.2 Parabolische Anfangsrandwertaufgaben Tab. 10.1 W¨ armeleitung, h = 0.1, k = 0.002, r = 0.2; explizite Methode.
t 0 0.1 0.2 0.3 0.4
j 0 50 100 150 200
u0,j
u1,j
u2,j
u3,j
u4,j
u6,j
u8,j
u10,j
0 0.3090 0.5878 0.8090 0.9511
0 0.2139 0.4580 0.6691 0.8222
0 0.1438 0.3515 0.5476 0.7050
0 0.0936 0.2657 0.4441 0.6009
0 0.0590 0.1980 0.3578 0.5107
0 0.0212 0.1067 0.2320 0.3727
0 0.0069 0.0599 0.1611 0.2909
0 0.0035 0.0456 0.1383 0.2639
Tab. 10.2 W¨ armeleitung, h = 0.1, k = 0.005, r = 0.5; explizite Methode. t 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
j 0 20 40 60 80 100 120 140 160 180 200
u0,j
u1,j
u2,j
u3,j
u4,j
u6,j
u8,j
u10,j
0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0
0 0.2136 0.4578 0.6689 0.8222 0.9007 0.8955 0.8063 0.6408 0.4147 0.1497
0 0.1430 0.3510 0.5472 0.7049 0.8049 0.8350 0.7904 0.6737 0.4954 0.2718
0 0.0927 0.2650 0.4435 0.6006 0.7156 0.7736 0.7661 0.6916 0.5555 0.3699
0 0.0579 0.1970 0.3569 0.5101 0.6350 0.7147 0.7376 0.6985 0.5992 0.4474
0 0.0201 0.1053 0.2306 0.3716 0.5060 0.6142 0.6804 0.6941 0.6510 0.5528
0 0.0061 0.0583 0.1594 0.2895 0.4263 0.5487 0.6387 0.6828 0.6731 0.6076
0 0.0027 0.0439 0.1365 0.2624 0.3994 0.5260 0.6235 0.6776 0.6790 0.6245
Tab. 10.3 W¨ armeleitung, h = 0.1, k = 0.001, r = 1.0; explizite Methode. t 0 0.05 0.10
j 0 5 10
u0,j
u1,j
u2,j
u3,j
u4,j
u6,j
u8,j
u10,j
0 0.1564 0.3090
0 0.0312 5.4638
0 0.1256 -8.2955
0 -0.0314 8.8274
0 0.0314 -6.7863
0 0 -2.0107
0 0 -0.1885
0 0 0
In den beiden ersten F¨ allen (k = 0.002 und k = 0.005) erh¨ alt man qualitativ richtige N¨ aherungen, wobei im zweiten Fall wegen des gr¨ oßeren Wertes von k gr¨ oßere Fehler zu erwarten sind. Im dritten Fall mit k = 0.01 braucht man nur wenige Schritte durchzuf¨ uhren, um zu erkennen, dass die erhaltenen Ergebnisse sinnlos sind. Die explizite Methode ist f¨ ur diese Kombination von Maschenweiten h und k mit r = 1.0 offenbar instabil. △
Um die Eigenschaften der expliziten Methode von Richardson zu untersuchen, beginnen wir mit der Bestimmung des lokalen Diskretisierungsfehlers der Rechenvorschrift (10.43). Mit der L¨ osungsfunktion u(x, t) der Aufgabe (10.42) ist dieser definiert durch
452
10 Partielle Differenzialgleichungen
di,j+1
:= u(xi , tj+1 ) − ru(xi−1 , tj ) − (1 − 2r)u(xi , tj ) − ru(xi+1 , tj ) 1 = u + kut + k 2 utt + · · · 2 ! 1 1 1 −r u − hux + h2 uxx − h3 uxxx + h4 uxxxx ∓ · · · 2 6 24 −(1 − 2r)u ! 1 3 1 4 1 2 −r u + hux + h uxx + h uxxx + h uxxxx + · · · 2 6 24 1 2 1 2 = k{ut − uxx } + k utt − kh uxxxx + · · · , 2 2
worin wir k = rh2 verwendet haben. Der Koeffizient von k ist gleich null, weil u(x, t) die Differenzialgleichung erf¨ ullt. Somit gilt f¨ ur den lokalen Diskretisierungsfehler di,j+1 =
1 1 2 k utt (xi , tj ) − kh2 uxxxx(xi , tj ) + · · · = O(k 2 ) + O(kh2 ). 2 12
(10.45)
Um weiter den globalen Diskretisierungsfehler gi,j+1 des Verfahrens absch¨atzen zu k¨onnen, verwenden wir die Tatsache, dass mit der Methode eine Integration in Zeitrichtung erfolgt. Die Rechenvorschriften (10.43) und (10.44) entsprechen der Methode von Euler (8.12) zur Integration eines Systems von gew¨ ohnlichen Differenzialgleichungen. Man gelangt zu diesem System, wenn man die partielle Differenzialgleichung nur bez¨ uglich der Ortsvariablen x diskretisiert. Die zweite partielle Ableitung ersetzen wir dabei durch den zweiten Differenzenquotienten, ber¨ ucksichtigen die Randbedingungen am linken und am rechten Rand und definieren die n Funktionen yi (t) := u(xi , t), (i = 1, 2, . . . , n), zugeh¨orig zu den diskreten Stellen xi . Dann lautet das System von gew¨ohnlichen Differenzialgleichungen erster Ordnung y˙ 1 (t)
=
1 {−2y1 (t) + y2 (t) + sin(πt)}, h2
y˙ i (t)
=
1 {yi−1 (t) − 2yi (t) + yi+1 (t)}, h2
y˙ n (t)
=
1 {2yn−1 (t) − 2yn (t)}. h2
i = 2, 3, . . . , n − 1,
(10.46)
Integriert man (10.46) mit der Methode von Euler mit dem Zeitschritt k, so resultieren (10.43) und (10.44). Auf Grund dieses Zusammenhangs erkennt man, dass der globale Fehler gegen¨ uber dem lokalen eine Potenz in k verliert. Es gilt somit gi,j−1 = O(k) + O(h2 ). Die explizite Methode von Richardson ist von erster Ordnung bez¨ uglich der Zeitintegration und zweiter Ordnung bez¨ uglich der Ortsdiskretisation. Es bleibt noch das zentrale Problem der absoluten Stabilit¨at (vgl. Abschnitt 8.4) der expliziten Methode abzukl¨ aren. Zu diesem Zweck schreiben wir die Rechenvorschriften (10.43) und (10.44) unter Ber¨ ucksichtigung der Randbedingung am linken Rand wie folgt: uj+1 = Auj + bj ,
j = 0, 1, 2, . . . .
(10.47)
453
10.2 Parabolische Anfangsrandwertaufgaben
Darin bedeuten
⎛
1 − 2r
⎜ ⎜ r ⎜ ⎜ ⎜ A := ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛
u1,j ⎜ u ⎜ 2,j ⎜ ⎜ u3j uj := ⎜ .. ⎜ ⎜ . ⎜ ⎝ un−1,j un,j
⎞
r 1 − 2r
r
..
.
r 1 − 2r .. . r
r
1 − 2r
2r ⎞
⎟ ⎟ ⎟ ⎟ ⎟, ⎟ ⎟ ⎟ ⎠
⎛
⎜ ⎜ ⎜ ⎜ bj := ⎜ ⎜ ⎜ ⎜ ⎝
r sin(πjk) 0 0 .. . 0 0
⎟ ⎟ ⎟ ⎟ ⎟ ⎟, ⎟ .. ⎟ . ⎟ ⎟ r ⎠ 1 − 2r
(10.48)
⎞
⎟ ⎟ ⎟ ⎟ ⎟. ⎟ ⎟ ⎟ ⎠
Die Matrix A ist tridiagonal und ist durch den Parameter r von k und h abh¨angig. Notwendig und hinreichend f¨ ur die absolute Stabilit¨at ist die Bedingung, dass die Eigenwerte λν der Matrix A betragsm¨ aßig kleiner Eins sind. Um Aussagen u ¨ ber die Eigenwerte in Abh¨ angigkeit von r zu gewinnen, setzen wir ⎛ ⎞ 2 −1 ⎜ −1 ⎟ 2 −1 ⎜ ⎟ ⎜ ⎟ −1 2 −1 ⎜ ⎟ n,n ⎜ ⎟ (10.49) A = I − rJ mit J := ⎜ .. .. .. ⎟ ∈ Ê . . . . ⎟ ⎜ ⎜ ⎟ ⎝ −1 2 −1 ⎠ −2 2
Die Eigenwerte λν von A sind durch die Eigenwerte µν von J gegeben durch λν = 1 − rµν , ν = 1, 2, . . . , n. Die Eigenwerte von J sind reell, denn √ J ist ¨ahnlich zu der symmetrischen Matrix Jˆ := D −1 JD mit D := diag(1, 1, . . . , 1, 2). Die Matrix Jˆ ist positiv definit, denn der Gauß-Algorithmus f¨ ur Jˆ ist mit Diagonalstrategie mit positiven Pivotelementen durchf¨ uhrbar. Folglich sind die Eigenwerte von J positiv und auf Grund der Zeilenmaximumnorm h¨ ochstens gleich vier. Die Matrix Jˆ − 4I ist negativ definit, und somit ist der Wert vier nicht Eigenwert von Jˆ. F¨ ur die Eigenwerte von A gilt folglich wegen r > 0 1 − 4r < λν < 1, und die Bedingung der absoluten Stabilit¨ at ist erf¨ ullt, falls r≤
1 1 oder k ≤ h2 2 2
(10.50)
gilt. Im Beispiel 10.7 wurde mit h = 0.1, k = 0.001 und r = 1 die hinreichende Bedingung (10.50) klar verletzt, was die erhaltenen Zahlenwerte in Tab. 10.3 erkl¨art.
454
10 Partielle Differenzialgleichungen N
tj+1
M P
tj
xi
xi−1
xi+1
Abb. 10.18 Netzausschnitt.
Die Beschr¨ ankung des Zeitschrittes k durch (10.50) zur Sicherstellung der Stabilit¨at der expliziten Methode ist f¨ ur kleine Maschenweiten h sehr restriktiv. Zur L¨osung der Anfangsrandwertaufgabe bis zu einem Zeitpunkt T ≫ 1 ist in diesem Fall eine derart große Anzahl von Schritten notwendig, dass der gesamte Rechenaufwand prohibitiv groß werden kann. Deshalb sind andersgeartete Differenzenapproximationen mit besseren Eigenschaften hinsichtlich der absoluten Stabilit¨ at n¨ otig. Die Untersuchung der absoluten Stabilit¨ at erfolgte f¨ ur die konkrete Aufgabe (10.42). Die ur andere RandbeBedingung (10.50) bleibt bei der Differenzialgleichung ut = uxx auch f¨ dingungen bestehen [Smi 85].
10.2.2
Eindimensionale Probleme, implizite Methode
Aus der Sicht der Differenzenapproximation ist bei der Herleitung der expliziten Methode nachteilig, dass die beiden verwendeten Differenzenquotienten die zugeh¨origen Ableitungen an verschiedenen Stellen des Gebietes G am besten approximieren. Um die Approximation unter diesem Gesichtspunkt zu verbessern, soll uxx durch das arithmetische Mittel der beiden zweiten Differenzenquotienten ersetzt werden, welche zu den Punkten P (xi , tj ) und N (xi , tj+1 ) in zwei aufeinanderfolgenden Zeitschichten gebildet werden (vgl. Abb. 10.18). uglich des Mittelpunktes M . Mit Damit erfolgt eine Approximation von ut = uxx bez¨ 1 {ui+1,j − 2ui,j + ui−1,j + ui+1,j+1 − 2ui,j+1 + ui−1,j+1 } uxx ≈ 2h2 1 {ui,j+1 − ui,j } ut ≈ k erhalten wir durch Gleichsetzen der beiden Differenzenapproximationen, nach Multiplikation mit 2k und nachfolgendem Ordnen folgende Differenzengleichung f¨ ur einen inneren Punkt P . −rui−1,j+1 + (2 + 2r)ui,j+1 − rui+1,j+1 =
rui−1,j
+ (2 − 2r)ui,j
+ rui+1,j ;
r=
k . h2
(10.51)
10.2 Parabolische Anfangsrandwertaufgaben
455
F¨ ur die folgenden Betrachtungen legen wir die Aufgabe (10.42) zu Grunde. Die beiden Randbedingungen f¨ uhren zu den zus¨ atzlichen Differenzengleichungen (2 + 2r) u1,j+1 − ru2,j+1 = (2 − 2r) u1,j
(10.52)
+ ru2,j + r{sin(πjk) + sin(π(j + 1)k)},
−2run−1,j+1 + (2 + 2r) un,j+1 = 2run−1,j + (2 − 2r) un,j .
(10.53)
Schreibt man sich die Gleichungen (10.51) bis (10.53) f¨ ur einen festen Index j auf, entsteht ein lineares Gleichungssystem f¨ ur die n Unbekannten u1,j+1 , u2,j+1 , . . ., un,j+1 , dessen Koeffizientenmatrix tridiagonal ist. Da in jedem Zeitschritt ein Gleichungssystem zu l¨osen ist, ist die dargestellte Methode von Crank-Nicolson implizit. Der lokale Diskretisierungsfehler der Rechenvorschrift (10.51) ist definiert als di,j+1 :=
−ru(xi−1 , tj+1 ) + (2 + 2r)u(xi , tj+1 ) − ru(xi+1 , tj+1 ) −ru(xi−1 , tj ) − (2 − 2r)u(xi , tj ) − ru(xi+1 , tj ).
Setzt man darin die Taylor-Entwicklungen bez¨ uglich P (xi , tj ) ein, so erh¨alt man die folgende Darstellung f¨ ur di,j+1 . 2k{ut − uxx } + k 2 {utt − uxxt } 1 1 1 1 + k 3 uttt − h2 kuxxxx − k 3 uxxtt + k 4 utttt + . . . 3 6 2 12 Die erste geschweifte Klammer ist gleich null, denn u(x, t) ist nach Voraussetzung L¨osung von ut = uxx . Auch die zweite geschweifte Klammer ist gleich null, denn der Ausdruck ist gleich der partiellen Ableitung nach t von ut − uxx = 0. Folglich gilt wegen uttt = uxxtt di,j+1 =
1 1 di,j+1 = − k 3 uxxtt − h2 kuxxxx + . . . = O(k 3 ) + O(h2 k). 6 6
(10.54)
Die Beziehung zum globalen Diskretisierungsfehler gi,j+1 der impliziten Methode von CrankNicolson wird hergestellt durch die Feststellung, dass die Formeln (10.51) bis (10.53) der Integration des Differenzialgleichungssystems (10.46) nach der Trapezmethode (8.16) mit dem Zeitschritt k entsprechen. Somit gilt gi,j+1 = O(k 2 )+O(h2 ), und die implizite Methode von Crank-Nicolson ist von zweiter Ordnung bez¨ uglich h und k. Als n¨ achstes zeigen wir die absolute Stabilit¨at der impliziten Methode f¨ ur die Aufgabe (10.42). Mit Vektoren uj gem¨ aß (10.48) und der Matrix J (10.49) lauten die Rechenvorschriften (10.51) bis (10.53) (2I + rJ )uj+1 = (2I − rJ )uj + bj ,
(10.55)
uj+1 = (2I + rJ )−1 (2I − rJ )uj + (2I + rJ )−1 bj .
(10.56)
wo bj = r{sin(πjk) + sin(π(j + 1)k)}e1 ist. Die Matrix 2I + rJ ist wegen r > 0 diagonal dominant und folglich regul¨ ar. Mit ihrer Inversen lautet (10.55) formal Die Methode ist absolut stabil, falls die Eigenwerte λν der Matrix B := (2I + rJ )−1 (2I − rJ )
456
10 Partielle Differenzialgleichungen
betragsm¨ aßig kleiner als Eins sind. Wie oben bereits festgestellt worden ist, gilt 0 < µν < 4 f¨ ur die Eigenwerte µν von J , und somit sind die Eigenwerte von B 2 − rµν < 1 f¨ ur alle ν und alle r > 0. −1 < λν = 2 + rµν Die implizite Methode von Crank-Nicolson ist absolut stabil, denn der Wert r = k/h2 unterliegt keiner Einschr¨ ankung bez¨ uglich Stabilit¨at. Nat¨ urlich darf k nicht beliebig groß gew¨ ahlt werden, da sonst der globale Diskretisierungsfehler zu groß wird. Wegen (10.54) ist oft die Wahl k = h, also r = 1/h durchaus sinnvoll. Die Integration in Zeitrichtung erfolgt dann in bedeutend gr¨ oßeren Zeitschritten als dies bei der expliziten Methode m¨oglich w¨are. Die in jedem Zeitschritt durchzuf¨ uhrende Berechnung des Vektors uj+1 aus dem Gleichungssystem (10.55) ist nicht sehr aufw¨ andig, weil dessen Koeffizientenmatrix (2I + rJ ) erstens tridiagonal und diagonal dominant und zweitens konstant f¨ ur alle j ist. Deshalb ist die LR-Zerlegung nur einmal, und zwar mit Diagonalstrategie durchzuf¨ uhren, wozu etwa 2n wesentliche Operationen n¨ otig sind (vgl. Abschnitt 2.3.3). F¨ ur jeden Integrationsschritt sind nur die Vorw¨ arts- und R¨ ucksubstitution mit etwa 3n multiplikativen Operationen f¨ ur die jeweilige rechte Seite auszuf¨ uhren, deren Berechnung weitere 2n Multiplikationen erfordert, falls man ihre i-te Komponente in der Darstellung ̺ui,j + r(ui−1,j + ui+1,j ) mit ̺ = 2 − 2r ausrechnet. Ist r = 1, dann vereinfacht sich diese Formel wegen ̺ = 0. Der Rechenaufwand f¨ ur einen Schritt mit der impliziten Methode von Crank-Nicolson betr¨agt somit ZCN ∼ = 5n wesentliche Operationen. Nach (10.43) erfordert ein Schritt mit der expliziten Methode von Richardson etwa 2n Multiplikationen. Da aber der Zeitschritt k der impliziten Methode keiner Stabilit¨ atsbedingung unterliegt, ist sie bedeutend effizienter, da k viel gr¨oßer gew¨ahlt werden kann. Der Mehraufwand pro Schritt wird durch die geringere Zahl von Schritten bei weitem kompensiert. Beispiel 10.8. Die Anfangsrandwertaufgabe (10.42) behandeln wir mit der impliziten Methode von Crank-Nicolson f¨ ur verschiedene Kombinationen von h und k, um die oben behandelten Eigenschaften zu illustrieren. In Tab. 10.4 und 10.5 sind die Ergebnisse der Rechnung auszugsweise f¨ ur h = 0.1 und k = 0.01(r = 1), bzw. k = 0.1(r = 10) zusammengestellt. Im ersten Fall erhalten wir eine N¨ aherungsl¨ osung, welche mit den Ergebnissen von Tab. 10.1 oder 10.2 gut u ¨ bereinstimmt, und dies trotz einer gr¨ oßeren Schrittweite k. Das ist eine Folge der h¨ oheren Fehlerordnung bez¨ uglich k. Im zweiten Fall mit r = 10 ist die implizite Methode zwar stabil, doch sind die Diskretisierungsfehler f¨ ur den Zeitschritt k = 0.1 erwartungsgem¨ aß recht groß. Sie treten haupts¨ achlich in den N¨ aherungswerten f¨ ur die ersten diskreten Zeitwerte deutlich in Erscheinung. Der Zeitschritt k muss ¨ der zeitlichen Anderung der Randbedingung f¨ ur x = 0 angemessen sein und zudem auch der Gr¨ oße von h angepasst sein, damit die beiden Hauptteile des globalen Fehlers vergleichbar groß sind. Zu Vergleichszwecken ist die Aufgabe mit h = 0.05, k = 0.01, also r = 4.0 behandelt worden. Das Ergebnis ist auszugsweise in Tab. 10.6 f¨ ur die gleichen diskreten Stellen xi wie in den vorhergehenden Tabellen angegeben. Die N¨ aherungen stellen die exakte L¨ osung mit einer maximalen Abweichung von drei Einheiten in der vierten Dezimalstelle dar. Bei dieser feinen Ortsdiskretisation ¨ zeigt sich die Uberlegenheit der impliziten gegen¨ uber der expliziten Methode bereits deutlich. Denn bei dieser m¨ usste k ≤ 0.00125 gew¨ ahlt werden und somit w¨ aren achtmal mehr Schritte notwendig. Da der Rechenaufwand der impliziten Methode nur 2.5mal gr¨ oßer ist, ist sie mehr als dreimal effizienter.
457
10.2 Parabolische Anfangsrandwertaufgaben Tab. 10.4 W¨ armeleitung, h = 0.1, k = 0.01, r = 1; implizite Methode. t 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
j 0 10 20 30 40 50 60 70 80 90 100
u0,j
u1,j
u2,j
u3,j
u4,j
u6,j
u8,j
u10,j
0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0
0 0.2141 0.4582 0.6691 0.8222 0.9005 0.8952 0.8057 0.6401 0.4140 0.1490
0 0.1442 0.3518 0.5478 0.7051 0.8048 0.8345 0.7894 0.6725 0.4940 0.2704
0 0.0942 0.2662 0.4445 0.6011 0.7156 0.7730 0.7649 0.6899 0.5535 0.3678
0 0.0597 0.1986 0.3583 0.5110 0.6353 0.7141 0.7363 0.6966 0.5968 0.4448
0 0.0219 0.1076 0.2328 0.3733 0.5069 0.6140 0.6791 0.6918 0.6479 0.5492
0 0.0075 0.0609 0.1622 0.2918 0.4276 0.5487 0.6374 0.6803 0.6697 0.6036
0 0.0039 0.0467 0.1395 0.2649 0.4008 0.5262 0.6224 0.6751 0.6754 0.6203
Tab. 10.5 W¨ armeleitung, h = 0.1, k = 0.1, r = 10; implizite Methode. t 0 0.1 0.2 0.3 0.4 0.5 .. . 1.0
j 0 1 2 3 4 5 .. . 10
u0,j
u1,j
u2,j
u3,j
u4,j
u6,j
u8,j
u10,j
0 0.3090 0.5878 0.8090 0.9511 1.0000
0 0.1983 0.4641 0.6632 0.8246 0.8969
0 0.1274 0.3540 0.5436 0.7040 0.8022
0 0.0818 0.2637 0.4422 0.5975 0.7132
0 0.0527 0.1934 0.3565 0.5064 0.6320
0 0.0222 0.1025 0.2295 0.3684 0.5017
0 0.0104 0.0587 0.1575 0.2866 0.4215
0 0.0073 0.0459 0.1344 0.2594 0.3946
0
0.1498
0.2701
0.3672
0.4440
0.5477
0.6014
0.6179
Tab. 10.6 W¨ armeleitung, h = 0.05, k = 0.01, r = 4; implizite Methode. t 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
j 0 10 20 30 40 50 60 70 80 90 100
u0,j
u2,j
u4,j
u6,j
u8,j
u12,j
u16,j
u20,j
0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0
0 0.2140 0.4581 0.6691 0.8222 0.9006 0.8953 0.8058 0.6403 0.4142 0.1492
0 0.1439 0.3516 0.5477 0.7050 0.8048 0.8346 0.7897 0.6728 0.4943 0.2707
0 0.0938 0.2659 0.4442 0.6010 0.7156 0.7732 0.7652 0.6903 0.5540 0.3684
0 0.0592 0.1982 0.3580 0.5108 0.6352 0.7143 0.7366 0.6971 0.5974 0.4454
0 0.0214 0.1070 0.2323 0.3729 0.5067 0.6140 0.6794 0.6924 0.6487 0.5501
0 0.0071 0.0602 0.1615 0.2912 0.4273 0.5487 0.6377 0.6809 0.6705 0.6046
0 0.0037 0.0460 0.1387 0.2642 0.4005 0.5261 0.6226 0.6757 0.6763 0.6214
Schließlich ist die sich periodisch wiederholende Temperaturverteilung im Stab bestimmt worden.
458 1.0
10 Partielle Differenzialgleichungen u(x, t)
t = 4.75 t = 5.00
0.5
t = 4.50 1
0.5
0.0
x
t = 4.25
t = 4.00
−0.5
Abb. 10.19 Temperaturverteilungen im station¨ aren Zustand.
Tab. 10.7 Zum station¨ aren Temperaturablauf, h = 0.05, k = 0.01, r = 4. t
j
u0,j
2.00 2.25 2.50 2.75 3.00 3.25 3.50 3.75 4.00 4.25 4.50 4.75 5.00
200 225 250 275 300 325 350 375 400 425 450 475 500
0 0.7071 1.0000 0.7071 0 –0.7071 –1.0000 –0.7071 0 0.7071 1.0000 0.7071 0
u2,j
u4,j
u6,j
u8,j
u12,j
u16,j
u20,j
–0.1403 0.5176 0.8726 0.7167 0.1410 –0.5171 –0.8724 –0.7165 –0.1410 0.5172 0.8724 0.7165 0.1410
–0.2532 0.3505 0.7495 0.7099 0.2546 –0.3497 –0.7491 –0.7097 –0.2545 0.3497 0.7491 0.7097 0.2545
–0.3425 0.2057 0.6344 0.6921 0.3447 –0.2045 –0.6338 –0.6918 –0.3445 0.2046 0.6338 0.6918 0.3445
–0.4120 0.0825 0.5301 0.6679 0.4148 –0.0810 –0.5293 –0.6674 –0.4146 0.0811 0.5293 0.6675 0.4146
–0.5040 –0.1018 0.3620 0.6148 0.5080 0.1039 –0.3609 –0.6142 –0.5076 –0.1037 0.3610 0.6142 0.5076
–0.5505 –0.2089 0.2572 0.5739 0.5551 0.2114 –0.2559 –0.5732 –0.5547 –0.2112 0.2560 0.5732 0.5547
–0.5644 –0.2440 0.2217 0.5588 0.5693 0.2467 –0.2203 –0.5580 –0.5689 –0.2464 0.2204 0.5581 0.5689
Dieser station¨ are Zustand ist nach zwei Perioden (t = 4) bereits erreicht. In Tab. 10.7 sind die Temperaturn¨ aherungen f¨ ur t ≥ 2 angegeben, und in Abb. 10.19 sind die Temperaturverteilungen f¨ ur einige ¨ aquidistante Zeitpunkte einer halben Periode dargestellt. △
459
10.2 Parabolische Anfangsrandwertaufgaben
10.2.3
Diffusionsgleichung mit variablen Koeffizienten
Diffusionsprozesse mit ortsabh¨ angigen Diffusionskennzahlen und Quellendichten werden beschrieben durch parabolische Differenzialgleichungen f¨ ur die Konzentrationsfunktion u(x, t) " # ∂u ∂ ∂u = a(x) + p(x)u + q(x), 0 < x < 1, t > 0, (10.57) ∂t ∂x ∂x wo a(x) > 0, p(x) und q(x) gegebene Funktionen von x sind. Zu (10.57) geh¨oren selbstverst¨ andlich Anfangs- und Randbedingungen. Zur Diskretisierung der Aufgabe verwenden wir ein Netz nach Abb. 10.17. Den Differenzialausdruck auf der rechten Seite von (10.57) approximieren wir im Gitterpunkt P (xi , tj ) durch zweimalige Anwendung des ersten zentralen Differenzenquotienten zur Schrittweite h/2, wobei die Funktionswerte a(xi + h/2) =: ai+ 21 und a(xi − h/2) =: ai− 12 auftreten. " # 2 ∂ ∂u 1 1 ≈ 2 ai+ 12 (ui+1,j − ui,j ) − ai− 21 (ui,j − ui−1,j ) a(x) ∂x ∂x P h
Weiter bezeichnen wir zur Abk¨ urzung mit pi := p(xi ), qi := q(xi ) die bekannten Werte der Funktionen. Die Differenzenapproximation nach dem impliziten Schema von Crank-Nicolson liefert f¨ ur (10.57) & 2 1 1 1 ui,j+1 − ui,j 1 (ui,j+1 − ui−1,j+1 ) 1 (ui+1,j+1 − ui,j+1 ) − a a = i− 2 i+ 2 k 2 h2 +pi ui,j+1 + qi +
+ pi ui,j + qi
2' 1 1 1 (ui,j − ui−1,j ) 1 (ui+1,j − ui,j ) − a a . i− 2 i+ 2 h2
Nach Multiplikation mit 2k fassen wir zusammen und erhalten f¨ ur einen inneren Punkt mit r = k/h2 die Gleichung
=
/2 1 . −rai− 12 ui−1,j+1 + 2 + r ai− 21 + ai+ 12 − h2 pi ui,j+1 − rai+ 21 ui+1,j+1 /2 1 . rai− 12 ui−1,j + 2 − r ai− 12 + ai+ 21 − h2 pi ui,j + rai+ 12 ui+1,j + 2kqi ,
(10.58)
i = 1, 2, . . . , n − 1; j = 0, 1, 2, . . . .
Wenn man noch die Randbedingungen ber¨ ucksichtigt, resultiert aus (10.58) ein tridiagonales Gleichungssystem f¨ ur die Unbekannten ui,j+1 , j fest. Die Matrix des Systems ist diagonal ur alle Punkte xi . dominant, falls 2 − kp(xi ) > 0 f¨ Beispiel 10.9. Zu l¨osen sei ∂ ∂u = ∂t ∂x
„
u(x, 0) = 0,
(1 + 2x2 )
∂u ∂x
«
+ 4x(1 − x)u + 5 sin(πx),
(10.59)
0 < x < 1;
u(0, t) = 0, ux (1, t) + 0.4 u(1, t) = 0,
0 < x < 1;
t > 0.
460
10 Partielle Differenzialgleichungen
Tab. 10.8 Diffusionsproblem, h = 0.1, k = 0.01, r = 1. t 0 0.1 0.2 0.3 0.4 0.5 .. . 1.0 .. . 1.5 .. . 2.0 .. . 2.5
j
u1,j
u2,j
u3,j
u4,j
u5,j
u6,j
u8,j
u10,j
0 10 20 30 40 50
0 0.1044 0.1591 0.1948 0.2185 0.2342
0 0.1963 0.3010 0.3695 0.4150 0.4451
0 0.2660 0.4124 0.5085 0.5722 0.6145
0 0.3094 0.4872 0.6044 0.6821 0.7336
0 0.3276 0.5265 0.6581 0.7454 0.8033
0 0.3255 0.5365 0.6765 0.7695 0.8311
0 0.2888 0.5037 0.6470 0.7421 0.8052
0 0.2533 0.4560 0.5915 0.6814 0.7410
100
0.2612
0.4969
0.6871
0.8222
0.9029
0.9371
0.9136
0.8435
150
0.2647
0.5035
0.6964
0.8336
0.9157
0.9507
0.9276
0.8567
200
0.2651
0.5044
0.6976
0.8351
0.9173
0.9525
0.9294
0.8584
250
0.2652
0.5045
0.6978
0.8353
0.9175
0.9527
0.9296
0.8586
Die Dirichlet-Randbedingung ist in (10.58) f¨ ur i = 1 mit u0,j = u0,j+1 = 0 einfach zu ber¨ ucksichtigen. Die Cauchy-Randbedingung am rechten Rand wird approximiert mit Hilfe des zentralen Differenzenquotienten unter der Annahme, dass die Funktion u(x, t) auch außerhalb des Intervalls definiert ist, durch un+1,j − un−1,j + 0.4 un,j = 0 oder un+1,j = un−1,j − 0.8 hun,j . 2h Nach Elimination von un+1,j und un+1,j+1 in (10.58) lautet die Differenzengleichung unter der Voraussetzung, dass die Funktion a(x) auch außerhalb des x-Intervalls definiert ist, f¨ ur die Gitterpunkte des rechten Randes ” ”o n “ “ un,j+1 − r an− 1 + an+ 1 un−1,j+1 + 2 + r an− 1 + (1 + 0.8h)an+ 1 − h2 pn 2 2 2 2 ” ”o “ n “ = r an− 1 + an+ 1 un−1,j + 2 − r an− 1 + (1 + 0.8h)an+ 1 − h2 pn un,j + 2kqn . 2
2
2
2
Die diskrete Form der Anfangswertaufgabe (10.59) ist f¨ ur n = 10, h = 0.1, k = 0.01 und r = 1 numerisch gel¨ ost worden. Wenn wir die Matrix des tridiagonalen Gleichungssystems analog zu = 2 + r ˜ schreiben, lautet die Matrix ˜ ∈ Ê10,10 auszugsweise (10.55) als 0 1 2.0464 −1.045 B −1.045 C 2.1636 −1.125 B C B C −1.125 2.3616 −1.245 B C B C .. .. .. C. ˜ = B . . . B C B C B C −2.125 4.5636 −2.445 B C @ −2.445 5.2464 −2.805 A −6.01 6.2664 Auf Grund einer analogen Betrachtung, wie sie zur Absch¨ atzung der Eigenwerte der Matrix
461
10.2 Parabolische Anfangsrandwertaufgaben u(x, t) 1 0.9
t≥2
0.8 0.7
t = 0.5 t = 0.4
0.6
t = 0.3
0.5
t = 0.2
0.4 0.3 t = 0.1 0.2 0.1 x 0 0
0.2
0.4
0.6
0.8
1
Abb. 10.20 Konzentrationsverteilung in Abh¨ angigkeit der Zeit t. (10.49) angewandt worden ist, folgt f¨ ur die Eigenwerte µν von ˜ 0 < µν < 12.2764. F¨ ur die zugeh¨ orige explizite Methode von Richardson ergibt sich daraus die Bedingung der abso. luten Stabilit¨ at zu r ≤ 1/6.1382 = 0.163. Somit muss der Zeitschritt der Bedingung k ≤ 0.00163 gen¨ ugen. F¨ ur die implizite, absolut stabile Methode darf der etwa sechsmal gr¨ oßere Zeitschritt k = 0.01 verwendet werden. Die Ergebnisse sind auszugsweise in Tab. 10.8 wiedergegeben. Der station¨ are Zustand wird innerhalb der angegebenen Stellenzahl bei etwa t = 2.0 erreicht. Die Funktion u(x, t) ist in Abb. 10.20 f¨ ur einige Zeitwerte dargestellt. △
10.2.4
Zweidimensionale Probleme
Die klassische parabolische Differenzialgleichung f¨ ur eine Funktion u(x, y, t) der zwei Ortsvariablen x, y und der Zeitvariablen t lautet ut = uxx + yyy .
(10.60)
Sie ist zu l¨ osen in einem Gebiet G ⊂ Ê der (x, y)−Ebene mit dem Rand Γ f¨ ur Zeiten t > 0. Zur Differenzialgleichung (10.60) geh¨ ort sowohl eine Anfangsbedingung 2
u(x, y, 0) = f (x, y) in G
(10.61)
als auch Randbedingungen auf dem Rand Γ, wie wir sie von den elliptischen Randwertaufgaben kennen. Da die Funktion u(x, y, t) zeitabh¨angig ist, k¨onnen die in den Dirichletschen, Neumannschen und Cauchyschen Randbedingungen (10.6) bis (10.8) auftretenden Funktionen auch von der Zeit t abh¨ angen. Die Argumentmenge (x, y, t), f¨ ur welche die L¨osungsfunktion gesucht ist, besteht im Ê3 aus dem Halbzylinder u ¨ ber dem Gebiet G. Zur Diskretisierung der Anfangsrandwertaufgabe verwenden wir ein regelm¨aßiges dreidimensionales Gitter, welches sich aufbaut aus einem regelm¨aßigen Netz im Gebiet G mit der
462
10 Partielle Differenzialgleichungen
t G t = 2k G t=k G
t=0
Abb. 10.21 Ortsgitter in fortschreitenden Zeitschichten.
Maschenweite h (vgl. Abb. 10.2), das sich in gleichen Zeitschichtabst¨anden k in Zeitrichtung fortsetzt, siehe Abb. 10.21. Gesucht werden N¨ aherungen uµ,ν,j der Funktionswerte in den Gitterpunkten P (xµ , yν , tj ). Die Approximation von (10.60) erfolgt in zwei Teilen. Der Differenzialausdruck uxx + uyy , welcher nur partielle Ableitungen bez¨ uglich der Ortsvariablen umfasst, wird f¨ ur eine feste Zeitschicht tj nach dem Vorgehen von Abschnitt 10.1 f¨ ur jeden dieser Gitterpunkte durch einen entsprechenden Differenzenausdruck angen¨ahert. Im einfachen Fall eines regelm¨aßigen inneren Gitterpunktes P (xµ , yν , tj ) setzen wir 1 (uxx + uyy )P ≈ 2 {uµ,ν+1,j + uµ−1,ν,j + uµ,ν−1,j + uµ+1,ν,j − 4uµ,ν,j } h w¨ ahrend f¨ ur einen randnahen oder einen auf dem Rand liegenden Gitterpunkt Approximationen gem¨ aß Abschnitt 10.1.3 zu verwenden sind. Die partielle Ableitung nach der Zeit t kann beispielsweise durch den Vorw¨artsdifferenzenquotienten in P 1 ut ≈ (uµ,ν,j+1 − uµ,ν,j ) k approximiert werden. Dies f¨ uhrt zur expliziten Methode von Richardson mit der Rechenvorschrift f¨ ur einen regelm¨ aßigen inneren Gitterpunkt uµ,ν,j+1 = uµ,ν,j + r{uµ,ν+1,j + uµ−1,ν,j + uµ,ν−1,j + uµ+1,ν,j − 4uµ,ν,j }.
(10.62)
uj := (u1,j , u2,j , . . . , un,j )T ∈ Ên
(10.63)
uj+1 = (I − rA)uj + bj ,
(10.64)
2
Darin haben wir wieder r = k/h gesetzt. Um f¨ ur das Folgende die Indizes zu vereinfachen, setzen wir voraus, dass die Gitterpunkte mit unbekanntem Wert u in jeder Zeitschicht von 1 bis n durchnummeriert seien, wie dies im Abschnitt 10.1.2 beschrieben ist. Dann fassen wir die N¨ aherungswerte in der j−ten Zeitschicht mit tj = jk zum Vektor zusammen, wo sich der erste Index i von ui,j auf die Nummer des Gitterpunktes bezieht. Dann l¨ asst sich (10.62) zusammenfassen zu j = 0, 1, 2, . . . .
Die Matrix A ∈ Ê ist die Koeffizientenmatrix des Gleichungssystems der Differenzengleichungen zur L¨ osung der Poisson-Gleichung im Gebiet G; dabei enth¨alt der Vektor bj von n,n
463
10.2 Parabolische Anfangsrandwertaufgaben
den Randbedingungen herr¨ uhrende Konstanten. Die Bedingung f¨ ur die absolute Stabilit¨at der expliziten Methode besteht darin, dass die Eigenwerte der Matrix (I − rA) dem Betrag nach kleiner als Eins sind. Die daraus f¨ ur r zu beachtende Bedingung kann allgemein nur f¨ ur symmetrische und positiv definite Matrizen A angegeben werden. In diesem Fall gilt f¨ ur die Eigenwerte λν von (I − rA), falls µν die Eigenwerte von A sind, λν = 1 − rµν ,
ν = 1, 2, . . . , n;
µν > 0.
Damit ergibt sich aus 1 − rµν > −1 f¨ ur alle ν die Bedingung r < 2/ max(µν ).
(10.65)
F¨ ur eine Matrix A, welche durch die F¨ unf-Punkte-Formel (10.12) definiert ist wie z.B. (10.19), ist auf Grund der Zeilenmaximumnorm max(µν ) ≤ 8, so dass die Bedingung ν
r<
1 1 , d.h. k < h2 4 4
(10.66)
f¨ ur die absolute Stabilit¨ at der expliziten Methode (10.62) zu beachten ist. Der gr¨oßte Eigenwert von A ist stets kleiner als 8, weshalb in (10.66) auch Gleichheit zul¨assig ist. Durch 1 oße des Zeitschrittes k sehr stark eingeschr¨ankt. Deshalb ist k ≤ h2 wird aber die Gr¨ 4 wiederum das implizite Verfahren von Crank-Nicolson anzuwenden. In (10.62) wird die geschweifte Klammer durch das arithmetische Mittel der Ausdr¨ ucke der j−ten und (j +1)−ten Zeitschicht ersetzt. An die Stelle von (10.64) tritt – mit anderem bj – die Rechenvorschrift (2I + rA)uj+1 = (2I − rA)uj + bj ,
j = 0, 1, 2, . . . .
(10.67)
Sie ist absolut stabil f¨ ur symmetrische und positiv definite Matrizen A oder f¨ ur unsymmetrische Matrizen A, deren Eigenwerte µν positiven Realteil haben, denn dann sind die Eigenwerte λν von (2I + rA)−1 (2I − rA) f¨ ur alle r > 0 betragsm¨aßig kleiner als Eins. Die Berechnung der N¨ aherungswerte uj+1 in den Gitterpunkten der (j + 1)-ten Zeitschicht erfordert nach (10.67) die L¨ osung eines linearen Gleichungssystems mit der in der Regel diagonal dominanten, und f¨ ur alle Zeitschritte konstanten Matrix (2I + rA). Nach einer einmal erfolgten LR-Zerlegung ist f¨ ur die bekannte rechte Seite von (10.67) die Vorw¨arts- und die R¨ ucksubstitution auszuf¨ uhren. Bei kleiner Maschenweite h sind die Ordnung der Matrix (2I + rA) und ihre Bandbreite recht groß, so dass sowohl ein betr¨achtlicher Speicherplatz als auch ein großer Rechenaufwand pro Zeitschritt notwendig sind. Um den Aufwand hinsichtlich beider Gesichtspunkte wesentlich zu verringern, haben Peaceman und Rachford [Pea 55] eine Diskretisierung vorgeschlagen, die zum Ziel hat, in jedem Zeitschritt eine Folge von tridiagonalen Gleichungssystemen l¨osen zu m¨ ussen. Die Idee besteht darin, pro Schritt zwei verschiedene Differenzenapproximationen miteinander zu kombinieren. Dazu wird der Zeitschritt k halbiert, und es werden Hilfswerte uµ,ν,j+1/2 =: u∗µν 1 osung der Differenzengleichungen zum Zeitpunkt tj + k = tj+1/2 als L¨ 2 2 ∗ 1 ∗ (u − uµ,ν,j ) = (u − 2u∗µν + u∗µ−1,ν ) k µ,ν h2 µ+1,ν (10.68) 1 + 2 (uµ,ν+1,j − 2uµ,ν,j + uµ,ν−1,j ) h
464
10 Partielle Differenzialgleichungen
definiert. Zur Approximation von uxx wird der zweite Differenzenquotient mit Hilfswerten der Zeitschicht tj+1/2 verwendet, die zweite partielle Ableitung uyy wird hingegen mit Hilfe von (bekannten) N¨ aherungswerten der Zeitschicht tj approximiert, und die Ableitung ut durch den gew¨ ohnlichen ersten Differenzenquotienten, aber nat¨ urlich mit der halben ur festes ν, d.h. die Werte, die zu GitterSchrittweite k/2. Fassen wir die Hilfswerte u∗µ,ν f¨ punkten l¨ angs einer zur x-Achse parallelen Netzlinie geh¨oren, zu Gruppen zusammen, so ergibt (10.68) f¨ ur sie ein tridiagonales Gleichungssystem mit der typischen Gleichung
=
−ru∗µ−1,ν + (2 + 2r)u∗µ,ν − ru∗µ+1,ν
(10.69)
ruµ,ν−1,j + (2 − 2r)uµ,ν,j + ruµ,ν+1,j ;
2
r = k/h .
Zur Bestimmung der Gesamtheit aller Hilfswerte u∗µ,ν ist somit f¨ ur jede zur x-Achse parallele Linie des Netzes ein tridiagonales Gleichungssystem zu l¨osen. Mit den so berechneten Hilfswerten werden die N¨ aherungen uµ,ν,j+1 der Zeitschicht tj+1 aus den Differenzengleichungen 2 (uµ,ν,j+1 − u∗µ,ν ) = k
1 ∗ (u − 2u∗µ,ν + u∗µ−1,ν ) h2 µ+1,ν +
(10.70)
1 (uµ,ν+1,j+1 − 2uµ,ν,j+1 + uµ,ν−1,j+1 ) h2
bestimmt. Darin ist jetzt uxx mit bekannten Hilfswerten und uyy durch die gesuchten N¨aherungswerte der (j + 1)−ten Zeitschicht approximiert. Nun ist wichtig, dass wir in (10.70) ur festes µ, d.h. f¨ ur Gitterpunkte, die auf einer zur ydie unbekannten Werte uµ,ν,j+1 f¨ Achse parallelen Netzlinie liegen, zusammenfassen. F¨ ur jede dieser Gruppen stellt (10.70) wiederum ein tridiagonales Gleichungssystem mit der typischen Gleichung =
−ruµ,ν−1,j+1 + (2 + 2r)uµ,ν,j+1 − ruµ,ν+1,j+1 ru∗µ−1,ν + (2 − 2r)u∗µ,ν + ru∗µ+1,ν ,
(10.71)
r = k/h2
dar. Damit ist wiederum eine Folge von tridiagonalen Gleichungssystemen f¨ ur die Unbekannten uµ,ν,j+1 in den Gitterpunkten, die zu Netzlinien parallel zur y-Achse geh¨oren, zu l¨ osen. Wegen des Wechsels der Richtung, in welcher die Gitterpunkte zusammengefasst werden, heisst das Verfahren von Peaceman und Rachford auch Methode der alternierenden Richtungen. Ihre Genauigkeit ist bei entsprechenden Bedingungen O(h2 + k 2 ). Die tridiagonalen Gleichungssysteme (10.69) und (10.71) sind von der Art, wie sie bei eindimensionalen Problemen auftreten. Die Matrizen sind diagonal dominant. Der Speicherbedarf ist minimal, und der Rechenaufwand zur L¨ osung von allen tridiagonalen Systemen in einem Zeitschritt ist nur proportional zur Zahl der Gitterpunkte pro Zeitschicht.
Beispiel 10.10. Eine besonders einfache und durchsichtige Situation ergibt sich f¨ur ein Rechteckgebiet G gem¨ aß Abb. 10.22, falls die Anfangswertaufgabe (10.60) unter Dirichletschen Randbedingungen zu l¨ osen ist. Die Maschenweite h sei so w¨ ahlbar, dass h = a/(N + 1) = b/(M + 1) mit N, M ∈ ∗ gilt. Es ergeben sich somit n = N · M innere Gitterpunkte mit unbekanntem Funktionswert. Die tridiagonalen Gleichungssysteme f¨ ur die Hilfswerte u∗ , die f¨ ur jede Netzlinie parallel
465
10.2 Parabolische Anfangsrandwertaufgaben
b
h
Abb. 10.22 Rechteckiges Gebiet.
a
zur x-Achse zu l¨ osen sind, haben die gleiche Matrix, welche im Fall N = 5 1 0 2 + 2r −r C B −r 2 + 2r −r C B C B := B C −r 2 + 2r −r C B @ −r 2 + 2r −r A −r 2 + 2r
lautet. Es gen¨ ugt somit, bei gew¨ ahltem r f¨ ur diese Matrix als Vorbereitung die LR-Zerlegung zu berechnen, um sp¨ ater f¨ ur die Bestimmung der M Gruppen von Hilfswerten nur die Vorw¨ arts- und R¨ ucksubstitution auszuf¨ uhren. Zur Berechnung der N¨ aherungen u der (j + 1)-ten Zeitschicht sind dann N tridiagonale Gleichungssysteme mit je M Unbekannten mit der festen Matrix (M = 3) 0 1 2 + 2r −r C Î := B 2 + 2r −r A @ −r −r 2 + 2r zu l¨ osen, f¨ ur die ebenfalls die LR-Zerlegung bereitzustellen ist. Werden die bekannten rechten Seiten der Gleichungssysteme (10.69) und (10.71) mit einem Minimum an Multiplikationen berechnet, sind f¨ ur einen Integrationsschritt total nur etwa 10n wesentliche Operationen n¨ otig. △
Beispiel 10.11. F¨ur ein weniger einfaches Gebiet G und andere Randbedingungen besitzt die Methode der alternierenden Richtungen eine entsprechend aufw¨ andigere Realisierung. Wir betrachten dazu die parabolische Differenzialgleichung ut = uxx + uyy f¨ ur das Gebiet G der Abb. 10.6, Seite 433, mit den Randbedingungen (10.15) bis (10.17) und der Anfangsbedingung u(x, y, 0) = 0 in G. Wir verwenden die Nummerierung der Gitterpunkte von Abb. 10.6 und stellen die Matrizen der tridiagonalen Gleichungssysteme zusammen, die f¨ ur die Hilfswerte zu Gitterpunkten in den vier horizontalen Linien zu l¨ osen sind. Bei der Ber¨ ucksichtigung der Randbedingungen auf den Randst¨ ucken F A und CD sind die Differenzenapproximationen nicht durch zwei zu dividieren. Zu den Matrizen sind die zugeh¨ origen u∗ -Werte angegeben. 1 0 2 + 2r −2r C B −r 2 + 2r −r C B C B À 1 := B C, −r 2 + 2r −r C B @ −r 2 + 2r −r A −r 2 + 2r (u∗1 , u∗4 , u∗7 , u∗10 , u∗14 )T ,
466 0 2
:=
B B B B B B B @
2 + 2r −r
−2r 2 + 2r −r
−r 2 + 2r −r
−r 2 + 2r −r
(u∗2 , u∗5 , u∗8 , u∗11 , u∗15 , u∗18 )T , 0 3
:=
B B B B B B B @
2 + 2r −r
−2r 2 + 2r −r
−r 2 + 2r −r
(u∗3 , u∗6 , u∗9 , u∗12 , u∗16 , u∗19 )T ,
4
:=
2 + 2r −2r
−r 2 + 2r
!
−r 2 + 2r −r
10 Partielle Differenzialgleichungen 1 −r 2 + 2r −r
−r 2 + 2r
C C C C C, C C A 1
−r 2 + 2r −2r
−r 2 + 2r
C C C C C, C C A
,
(u∗13 , u∗17 )T . F¨ ur den zweiten Halbschritt entstehen f¨ ur die sechs vertikalen Linien nun vier verschiedene tridiagonale Matrizen, denn f¨ ur die ersten drei Linien sind die dreireihigen Matrizen identisch. Ihre Aufstellung sei dem Leser u △ ¨ berlassen.
10.3
Methode der finiten Elemente
Zur L¨ osung von elliptischen Randwertaufgaben betrachten wir im Folgenden die Energiemethode, welche darin besteht, eine zugeh¨ orige Variationsaufgabe n¨aherungsweise zu l¨osen. Wir werden die grundlegende Idee der Methode der finiten Elemente zur Diskretisierung der Aufgabe darlegen und das Vorgehen f¨ ur einen ausgew¨ahlten Ansatz vollst¨andig darstellen. F¨ ur eine ausf¨ uhrliche Behandlung der Methode sei auf [Bra 03, Cia 78, Hac 96, Mit 85, Gro 05, Sch 91b, Zie 94] verwiesen, Hinweise auf rechnerische L¨osungen findet man im Abschnitt 10.4 und in den Beispielen 10.12 und 10.13.
10.3.1
Grundlagen
In der (x, y)−Ebene sei ein beschr¨ anktes Gebiet G gegeben, welches begrenzt wird vom st¨ uckweise stetig differenzierbaren Rand Γ, der auch aus mehreren geschlossenen Kurven
467
10.3 Methode der finiten Elemente
bestehen darf (vgl. Abb. 10.1). Wir betrachten den Integralausdruck ! (( 1 2 1 I(u) := (ux + u2y ) + ̺(x, y)u2 − f (x, y)u dxdy 2 2 G? ! 1 2 α(s)u − β(s)u ds, + 2
(10.72)
Γ
wo ̺(x, y) und f (x, y) auf G definierte Funktionen bedeuten, s die Bogenl¨ange auf Γ darstellt, und α(s) und β(s) gegebene Funktionen der Bogenl¨ange sind. Zus¨atzlich zu (10.72) seien auf einem Teil Γ1 des Randes Γ, der auch den ganzen Rand umfassen oder auch leer sein kann, f¨ ur die Funktion u(x, y) Randwerte vorgegeben. u = ϕ(s)
auf Γ1 ,
Γ1 ⊂ Γ.
(10.73)
Wir wollen nun zeigen, dass diejenige Funktion u(x, y), welche den Integralausdruck I(u) unter der Nebenbedingung (10.73) station¨ ar macht, eine bestimmte elliptische Randwertaufgabe l¨ ost unter der Voraussetzung, dass u(x, y) hinreichend oft stetig differenzierbar ist. Somit wird es m¨ oglich sein, eine Extremalaufgabe f¨ ur I(u) (10.72) unter der Nebenbedingung (10.73) zu behandeln, um auf diese Weise die L¨osung einer elliptischen Randwertaufgabe zu bestimmen. Der Integralausdruck I(u) hat in den meisten Anwendungen die Bedeutung einer Energie und nimmt auf Grund von Extremalprinzipien (Hamiltonsches, Rayleighsches oder Fermatsches Prinzip) [Fun 70] nicht nur einen station¨aren Wert, sondern ein Minimum an. Dies trifft insbesondere dann zu, falls ̺(x, y) ≥ 0 in G und α(s) ≥ 0 auf Γ sind. Wegen des erw¨ ahnten Zusammenhanges spricht man auch von der Energiemethode. Damit die Funktion u(x, y) den Integralausdruck I(u) station¨ar macht, muss notwendigerweise seine erste Variation verschwinden. Nach den Regeln der Variationsrechnung [Akh 88, Cou 68, Fun 70, Kli 88] erhalten wir (( {ux δux + uy δuy + ̺(x, y)uδu − f (x, y)δu} dxdy δI = +
?
G
(10.74)
{α(s)uδu − β(s)δu}ds.
Γ
onnen wir die Greensche Formel unter der Da ux δux + uy δuy = grad u · grad δu ist, k¨ Voraussetzung u(x, y) ∈ C 2 (G ∪ Γ), v(x, y) ∈ C 1 (G ∪ Γ) (( (( ? ∂u v ds grad u · grad v dxdy = − {uxx + uyy }v dxdy + ∂n G
G
Γ
anwenden, wo ∂u/∂n die Ableitung von u in Richtung der a¨ußeren Normalen n auf dem Rand Γ bedeutet, und erhalten aus (10.74) (( δI = {−∆u + ̺(x, y)u − f (x, y)}δu dxdy + ?G " Γ
# ∂u + α(s)u − β(s) δu ds. ∂n
(10.75)
468
10 Partielle Differenzialgleichungen
¨ Die erste Variation δI muss f¨ ur jede zul¨ assige Anderung δu der Funktion u verschwinden. Mit Hilfe einer Konkurrenzeinschr¨ ankung mit δu = 0 auf Γ folgt aus (10.75) als erste Bedingung die Eulersche Differenzialgleichung −∆u + ̺(x, y)u = f (x, y)
in G.
(10.76)
Die Funktion u(x, y), welche als zweimal stetig differenzierbar vorausgesetzt ist, und den Integralausdruck I(u) (10.72) station¨ ar macht, erf¨ ullt notwendigerweise die elliptische Differenzialgleichung (10.76) in G. Falls der Teil Γ1 mit vorgegebenen Randwerten (10.73), wo nat¨ urlich δu = 0 sein muss, nicht den ganzen Rand Γ umfasst, folgt f¨ ur den Rest Γ2 des Randes die weitere notwendige Bedingung ∂u + α(s)u = β(s) auf Γ2 = Γ \ Γ1 . (10.77) ∂n Die Randbedingung (10.77) ist eine nat¨ urliche Randbedingung, der die L¨osungsfunktion u(x, y) der Variationsaufgabe (10.72), (10.73) notwendigerweise gen¨ ugen muss. Falls u(x, y) ∈ C 2 (G ∪ Γ) das Funktional (10.72) unter der Nebenbedingung (10.73) station¨ar macht, folgt also, dass u(x, y) eine L¨ osung der elliptischen Differenzialgleichung (10.76) unter den Randbedingungen (10.73) und (10.77) ist. Es stellt sich nat¨ urlich die Frage nach der Existenz einer L¨ osung des Variationsproblems, d.h. nach der Existenz einer Funktion u(x, y), welche I(u) unter der Nebenbedingung (10.73) station¨ar macht. Diese Problematik ist verkn¨ upft mit der Wahl des Raumes der zul¨ assigen Funktionen zur L¨osung des Variationsproblems. Beim Betrachten von I(u) erkennt man, dass dieses Funktional bereits unter viel schw¨ acheren Voraussetzungen an u(x, y) definiert ist, als oben vorausgesetzt wurde. So gen¨ ugt es beispielsweise, dass u(x, y) st¨ uckweise stetig differenzierbar ist. Durch eine Erweiterung des Raumes der zul¨ assigen Funktionen erh¨alt man einen bestimmten Sobolev-Raum. F¨ ur diesen kann mit relativ einfachen funktionalanalytischen Hilfsmitteln die Existenz einer L¨osung des Variationsproblems bewiesen werden. Als Element des Sobolev-Raumes braucht die L¨ osungsfunktion aber nicht zweimal stetig differenzierbar und damit auch nicht eine L¨osung der elliptischen Randwertaufgabe zu sein. Sie heißt daher schwache L¨osung. Diese Existenzaussage ist unter sehr allgemeinen Voraussetzungen an die Problemdaten ̺(x, y), f (x, y), α(s), β(s) und G g¨ ultig. Falls wir zus¨ atzlich voraussetzen, dass diese Daten hinreichend glatt sind, so l¨ asst sich, allerdings unter großen mathematischen Schwierigkeiten, zeigen, dass die L¨ osung der Variationsaufgabe tats¨achlich auch eine L¨osung des elliptischen Randwertproblems ist, das also die schwache L¨ osung eine regul¨are L¨osung ist. Vom praktischen Gesichtspunkt aus ist die zuletzt geschilderte Problematik von geringer Bedeutung. Da in vielen F¨ allen die Variationsaufgabe die nat¨ urliche Art der Beschreibung eines physikalischen Sachverhalts darstellt, ist es n¨amlich u ¨berhaupt nicht notwendig auf das Randwertproblem zur¨ uckzugehen. Die Extremalaufgabe wird im Folgenden approximativ gel¨ ost, indem eine N¨ aherung f¨ ur u(x, y) in einem endlich dimensionalen Funktionenraum von bestimmten st¨ uckweise stetig differenzierbaren Funktionen ermittelt wird. Mit der Betrachtung der Variationsaufgabe zeigt sich eine f¨ ur die Anwendung der Energiemethode wesentliche Unterscheidung der Randbedingungen. Die nat¨ urliche Randbedingung (10.77), welche die Normalableitung betrifft, ist in der Formulierung als Extremalproblem implizit im Randintegral von I(u) enthalten und braucht daher nicht explizit ber¨ ucksichtigt
469
10.3 Methode der finiten Elemente
y
G
Abb. 10.23 Triangulierung eines Gebietes G.
x
zu werden. Durch Spezialisierung der im Integralausdruck auftretenden Funktionen erhalten wir die elliptischen Randwertaufgaben (10.2) bis (10.4). Spezielle nat¨ urliche Randbedingungen sind ∂u = β(s) Neumann-Randbedingung (α = 0), ∂n ∂u + α(s)u = 0 Cauchy-Randbedingung (β = 0). ∂n
10.3.2
Prinzip der Methode der finiten Elemente
Wir beschreiben zuerst das grunds¨ atzliche Vorgehen der Methode und gehen anschließend auf die Detailausf¨ uhrung ein. Der Integralausdruck I(u) (10.72) bildet den Ausgangspunkt. Als erstes wollen wir diesen in geeigneter Weise approximieren, um dann die Bedingung des Station¨ arwerdens unter Ber¨ ucksichtigung der Dirichletschen Randbedingung (10.73) zu formulieren. In einem ersten L¨ osungsschritt erfolgt eine Diskretisierung des Gebietes G in einfache Teilgebiete, den so genannten Elementen. Wir wollen im Folgenden nur Triangulierungen betrachten, in denen das Gebiet G durch Dreieckelemente so u ¨ berdeckt wird, dass aneinander grenzende Dreiecke eine ganze Seite oder nur einen Eckpunkt gemeinsam haben (vgl. Abb. 10.23). Das Grundgebiet G wird durch die Gesamtfl¨ache der Dreiecke ersetzt. Ein krummlinig berandetes Gebiet kann sehr flexibel durch eine Triangulierung approximiert werden, wobei allenfalls am Rand eine lokal feinere Einteilung angewandt werden muss. Die Triangulierung sollte keine allzu stumpfwinkligen Dreiecke enthalten, um numerische Schwierigkeiten zu vermeiden. Im zweiten Schritt w¨ ahlt man f¨ ur die gesuchte Funktion u(x, y) in jedem Dreieck einen bestimmten Ansatz u ˜(x, y). Daf¨ ur eignen sich lineare, quadratische und auch kubische Polynome in den beiden Variablen x und y u ˜(x, y) = c1 + c2 x + c3 y,
(10.78) 2
2
u ˜(x, y) = c1 + c2 x + c3 y + c4 x + c5 xy + c6 y ,
(10.79)
u ˜(x, y) = c1 + c2 x + c3 y + c4 x2 + c5 xy + c6 y 2 + c7 x3 + c8 x2 y + c9 xy 2 + c10 y 3 . (10.80)
470
10 Partielle Differenzialgleichungen P3
P3
P3
P6
P7
P8
P5 P9
P1
P2
P1
P4
P2
P1
P6
P10 P4
P5
P2
Abb. 10.24 Knotenpunkte im Dreieck bei linearem, quadratischen und kubischen Ansatz.
¨ Diese f¨ ur jedes Element g¨ ultigen Ansatzfunktionen m¨ ussen beim Ubergang von einem Dreieck ins benachbarte zumindest stetig sein, damit eine f¨ ur die Behandlung der Extremalaufgabe zul¨ assige, d.h. stetige und einmal st¨ uckweise stetig differenzierbare Gesamtfunktion resultiert. Um diese Stetigkeitsbedingung zu erf¨ ullen, sind entweder die Koeffizienten ck in (10.78) oder (10.79) durch Funktionswerte in bestimmten Knotenpunkten des Dreiecks auszudr¨ ucken, oder aber man verwendet direkt einen geeigneten Ansatz f¨ ur u ˜(x, y) mit so genannten Basisfunktionen, die analog zu den Lagrange-Polynomen mit entsprechenden Interpolationseigenschaften bez¨ uglich der Knotenpunkte definiert werden. Im Fall des linearen Ansatzes (10.78) ist die Funktion u ˜(x, y) im Dreieck eindeutig bestimmt durch die drei Funktionswerte in den Eckpunkten. Die Stetigkeit der linearen Ans¨atze beim ¨ Ubergang in benachbarte Dreiecke folgt aus der Tatsache, dass sie auf den Dreiecksseiten lineare Funktionen der Bogenl¨ ange sind, welche durch die Funktionswerte in den Endpunkten eindeutig bestimmt sind. Die quadratische Ansatzfunktion (10.79) ist in einem Dreieck eindeutig festgelegt durch die sechs Funktionswerte in den drei Eckpunkten und den drei Mittelpunkten der Seiten. Die kubische Ansatzfunktion (10.80) wird durch ihre Werte in den Eckpunkten, in den Drittel- und Zweidrittel-Punkten auf den Dreiecksseiten und im Schwerpunkt eindeutig ¨ festgelegt. Die Ansatzfunktionen sind beim Ubergang in benachbarte Elemente stetig, da sie auf der gemeinsamen Seite quadratische bzw. kubische Funktionen der Bogenl¨ange sind, die eindeutig bestimmt sind durch die Funktionswerte im den Interpolationspunkten. Der dritte Schritt besteht darin, den Integralausdruck I in Abh¨angigkeit der Funktionswerte in den Knotenpunkten, den Knotenvariablen, f¨ ur den gew¨ahlten Ansatz darzustellen. Dazu sind die Beitr¨ age der einzelnen Dreieckelemente sowie der Randkanten bereitzustellen und zu addieren. Um das letztere systematisch vornehmen zu k¨onnen, werden die Knotenpunkte durchnummeriert. Wir bezeichnen mit uj den Funktionswert im Punkt mit der Nummer j. Einerseits sind die Integranden entweder quadratische oder lineare Funktionen in u und andererseits ist der Ansatz f¨ ur u ˜(x, y) linear in den Koeffizienten ck und deshalb linear u(x, y)) eine quadratische in den Knotenvariablen uj . Deshalb ist der Integralausdruck I(˜ Funktion der Knotenvariablen uj . Sie beschreibt den Integralausdruck f¨ ur einen linearen Funktionenraum, definiert durch die elementweise erkl¨arten Funktionen, dessen Dimension gleich der Anzahl der Knotenpunkte der Gebietsdiskretisierung ist. Im n¨ achsten Schritt erfolgt die Ber¨ ucksichtigung der Dirichletschen Randbedingung (10.73),
10.3 Methode der finiten Elemente
471
welche in bestimmten Randknotenpunkten die Werte der betreffenden Knotenvariablen vorschreibt. Diese bekannten Gr¨ oßen sind im Prinzip in der quadratischen Funktion f¨ ur I einzusetzen. F¨ ur die verbleibenden unbekannten Knotenvariablen u1 , u2 , . . . , un , die wir im Vektor u := (u1 , u2 , . . . , un )T zusammenfassen, resultiert eine quadratische Funktion der Form 1 F := uT Au − bT u + d, A ∈ Ên,n , b ∈ Ên . (10.81) 2 Darin ist A eine symmetrische Matrix, die positiv definit ist, falls der Integralausdruck I (10.72) einer Energie entspricht oder ̺(x, y) ≥ 0 und α(s) ≥ 0 sind und hinreichende Zwangsbedingungen (10.73) gegeben sind. Der Vektor b entsteht einerseits aus den linearen Anteilen von I und andererseits durch Beitr¨ age beim Einsetzen von bekannten Werten von Knotenvariablen. Dasselbe gilt f¨ ur die Konstante d in (10.81). Die Bedingung des Station¨ arwerdens von F f¨ uhrt in bekannter Weise auf ein lineares Gleichungssystem Au = b
(10.82)
mit symmetrischer und positiv definiter Matrix A. Nach seiner Aufl¨osung erh¨alt man Werte aherungen f¨ ur die exakten Funktionswerte von u(x, y) in den betreffenden Knouj , die N¨ tenpunkten darstellen. Durch den gew¨ ahlten Funktionsansatz (10.78), (10.79) oder (10.80) ist der Verlauf der N¨ aherungsl¨ osung u ˜(x, y) in den einzelnen Dreieckelementen definiert, so dass beispielsweise Niveaulinien der N¨ aherungsl¨osung konstruiert werden k¨onnen.
10.3.3
Elementweise Bearbeitung
F¨ ur die gew¨ ahlte Triangulierung sind die Beitr¨ age der Integrale der einzelnen Dreieckelemente und Randst¨ ucke f¨ ur den betreffenden Ansatz in Abh¨angigkeit der Knotenvariablen zu bestimmen. Diese Beitr¨ age sind quadratische oder lineare Funktionen in den uj , und wir wollen die Matrizen der quadratischen Formen und die Koeffizienten der linearen Formen herleiten. Sie bilden die wesentliche Grundlage f¨ ur den Aufbau des sp¨ater zu l¨osenden linearen Gleichungssystems (10.82). Im Folgenden betrachten wir den quadratischen Ansatz (10.79) und setzen zur Vereinfachung voraus, dass die Funktionen ̺(x, y), f (x, y), α(s) und β(s) im Integralausruck I (10.72) zumindest f¨ ur jedes Element, bzw. jede Randkante konstant seien, so dass die betreffenden Werte ̺, f , α und β vor die entsprechenden Integrale gezogen werden k¨ onnen. Wir betrachten ein Dreieck Ti in allgemeiner Lage mit den sechs Knotenpunkten P1 bis P6 f¨ ur den quadratischen Ansatz. Wir setzen fest, dass die Eckpunkte P1 , P2 und P3 im Gegenuhrzeigersinn nach Abb. 10.25 angeordnet sein sollen. Die Koordinaten der Eckpunkte Pj seien (xj , yj ). Um den Wert des Integrals u ¨ ber ein solches Element (( (˜ u2x + u ˜2y ) dxdy (10.83) Ti
f¨ ur einen der Ans¨ atze am einfachsten zu bestimmen, wird Ti vermittels einer linearen Transformation auf ein gleichschenklig rechtwinkliges Normaldreieck T abgebildet (Abb. 10.25). Die zugeh¨ orige Transformation lautet
472
10 Partielle Differenzialgleichungen
y
η P3
1 P¯3
P6
P5 Ti
P1
P¯5
P¯6 T
P4
P2 P¯2 ξ
x P¯1
1
P¯4
Abb. 10.25 Dreieckelement in beliebiger Lage und Normaldreieck mit Knotenpunkten f¨ ur quadratischen Ansatz.
x y
= x1 + (x2 − x1 ) ξ + (x3 − x1 ) η, = y1 + (y2 − y1 ) ξ + (y3 − y1 ) η.
(10.84)
Das Gebietsintegral (10.83) f¨ ur Ti ist nach den Regeln der Analysis zu transformieren. Falls wir die transformierte Funktion gleich bezeichnen, gelten u ˜x = u ˜ξ ξx + u ˜η ηx ,
u ˜y = u ˜ξ ξy + u˜η ηy .
Weiter folgen auf Grund der Transformation (10.84) y2 − y1 x3 − x1 y3 − y1 , ηx = − , ξy = − , ξx = J J J wo
(10.85)
ηy =
J := (x2 − x1 )(y3 − y1 ) − (x3 − x1 )(y2 − y1 ) > 0
x2 − x1 , J
(10.86) (10.87)
die Jacobi-Determinante der Abbildung (10.84) bedeutet und wegen unserer Festsetzung u ache des Dreiecks Ti ist. Damit ergibt sich nach ¨ ber die Eckpunkte gleich der doppelten Fl¨ Substitution von (10.85) und (10.86) in (10.83) (( (( 2 2 (˜ ux + u˜y ) dxdy = [a˜ u2ξ + 2b˜ uξ u˜η + c˜ u2η ]dξdη Ti
T
=: aI1 + bI2 + cI3
(10.88)
mit den konstanten, vom Element Ti abh¨ angigen Koeffizienten a = [(x3 − x1 )2 + (y3 − y1 )2 ]/J,
b = −[(x3 − x1 )(x2 − x1 ) + (y3 − y1 )(y2 − y1 )]/J, 2
2
c = [(x2 − x1 ) + (y2 − y1 ) ]/J.
(10.89)
473
10.3 Methode der finiten Elemente 1 N6
1 N1
1
1
1
1
ξ
η
η
ξ
Abb. 10.26 Formfunktionen N1 (ξ, η) und N6 (ξ, η).
Der quadratische Ansatz (10.79) in den x, y-Variablen geht durch die lineare Transformation (10.84) in einen quadratischen Ansatz derselben Form in den ξ, η−Variablen u ¨ ber. Zu seiner Darstellung wollen wir Basisfunktionen oder sog. Formfunktionen verwenden, welche gestatten, u ˜(ξ, η) in Abh¨ angigkeit der Funktionswerte uj in den Knotenpunkten P¯i des Normaldreieckelementes T anzugeben. Zu diesem Zweck definieren wir in Analogie zu den Lagrange-Polynomen (siehe Abschnitt 3.1.2) f¨ ur das Normaldreieck T und die sechs Knotenpunkte P¯j (ξj , ηj ) die sechs Basisfunktionen Ni (ξ, η) mit den Interpolationseigenschaften ! 1 falls i = j Ni (ξj , ηj ) = i, j = 1, 2, . . . , 6. (10.90) 0 falls i = j onnen leicht angegeben werden, wenn man beachtet, dass Die Formfunktionen Ni (ξ, η) k¨ eine solche Funktion auf einer ganzen Dreiecksseite gleich null ist, falls sie in den drei auf dieser Seite liegenden Knotenpunkten verschwinden muss. Somit sind N1 (ξ, η) = (1 − ξ − η)(1 − 2ξ − 2η) N2 (ξ, η) = ξ(2ξ − 1) N3 (ξ, η) = η(2η − 1)
N4 (ξ, η) = 4ξ(1 − ξ − η) N5 (ξ, η) = 4ξη N6 (ξ, η) = 4η(1 − ξ − η)
(10.91)
In Abb. 10.26 sind zwei Formfunktionen veranschaulicht. Mit den Formfunktionen Ni (ξ, η) (10.91) lautet die quadratische Ansatzfunktion u˜(ξ, η) im Nomaldreieck T 6 u ˜(ξ, η) = ui Ni (ξ, η) = uTe N (ξ, η), (10.92) i=1
wo ui den Funktionswert im Knotenpunkt P¯i bedeutet. Diese sechs Funktionswerte fassen wir im Vektor ue des Elementes zusammen, und die Formfunktionen im Vektor N : ue
:=
(u1 , u2 , . . . , u6 )T ,
N (ξ, η)
:=
(N1 (ξ, η), N2 (ξ, η), . . . , N6 (ξ, η))T .
Mit (10.92) sind dann die partiellen Ableitungen u ˜ξ = uTe N ξ (ξ, η),
u ˜η = uTe N η (ξ, η).
(10.93)
474
10 Partielle Differenzialgleichungen
F¨ ur die drei Teilintegrale in (10.88), welche nicht von der Geometrie des Dreieckelementes abh¨ angen, erhalten wir mit der Identit¨ at (uTe N ξ )2 = (uTe N ξ )(N Tξ ue ) = uTe N ξ N Tξ ue (( (( I1 := u˜2ξ dξdη = {uTe N ξ }2 dξdη T
=
I2
:=
I3
:=
⎧ ⎨( (
T
N ξ N Tξ dξdη
⎫ ⎬
(10.94) ue = uTe S 1 ue , ⎭ T ⎫ ⎧ (( ⎬ ⎨( ( [N ξ N Tη + N η N Tξ ]dξdη ue = uTe S 2 ue , 2 u ˜ξ u˜η dξdη = uTe ⎭ ⎩ T T ⎧ ⎫ (( ⎨( ( ⎬ N η N Tη dξdη ue = uTe S 3 ue . u˜2η dξdη = uTe ⎩ ⎭
uTe
⎩
T
T
Im Sinn des Matrizenproduktes stellt beispielsweise N ξ N Tξ als Produkt eines Spaltenvektors mit einem Zeilenvektor eine Matrix der Ordnung sechs dar, und das Integral ist komponentenweise zu verstehen. Um auch f¨ ur I2 darstellungsgem¨aß eine symmetrische Matrix als Integranden zu erhalten, ist 2˜ uξ u ˜η in zwei Summanden aufgeteilt worden. S 1 , S 2 und S 3 sind symmetrische, sechsreihige Matrizen. Sie m¨ ussen einmal ausgerechnet werden f¨ ur den quadratischen Ansatz und bilden dann die Grundlage zur Berechnung des Beitrages des aß (10.88) mit den Koeffizienten (10.89). Die drei Matrizen S i in Dreieckelementes Ti gem¨ (10.94) erh¨ alt man mit den partiellen Ableitunden der Formfunktionen nach einer l¨angeren, aber elementaren Rechnung unter Verwendung der Integrationsformel (( p! q! ξ p η q dξdη = Ip,q := , p, q ∈ . (p + q + 2)! T
Wir fassen das Ergebnis zusammen in der so genannten Steifigkeitselementmatrix S e ∈ Ê6,6 (auch Steifigkeitsmatrix genannt) eines Dreieckelementes Ti mit quadratischem Ansatz. (( ˜2y ) dxdy = uTe S e ue (˜ u2x + u 0
Ti
3(a + 2b + c) a+b b+c B a+b 3a −b B 1B b+c −b 3c B Se = B 6 B −4(a + b) −4(a + b) 0 B @ 0 4b 4b −4(b + c) 0 −4(b + c)
−4(a + b) 0 −4(a + b) 4b 0 4b 8(a + b + c) −8(b + c) −8(b + c) 8(a + b + c) 8b −8(a + b)
1 −4(b + c) C 0 C C −4(b + c) C C C 8b C −8(a + b) A 8(a + b + c)
(10.95) Die Geometrie der Dreieckelemente Ti ist in den Koeffizienten a, b und c (10.89) enthalten. Zueinander ¨ ahnliche, aber beliebig gedrehte Dreieckelemente besitzen wegen (10.89)
475
10.3 Methode der finiten Elemente
identische Steifigkeitselementmatrizen. F¨ ur das Integral u ¨ ber u2 in (10.72) ergibt sich nach seiner Transformation auf das Normaldreieck T die Darstellung (( (( (( I4 := u ˜2 (x, y) dxdy = J u ˜2 (ξ, η)dξdη = J {uTe N }2 dξdη Ti
T
=
T
⎧ ⎫ ⎨ (( ⎬ uTe J N N T dξdη ue = uTe M e ue . ⎩ ⎭ T
Die Berechnung der Matrixelemente der so genannten Massenelementmatrix M e ∈ Ê6,6 eines Dreieckelementes Ti mit quadratischem Ansatz ist elementar, wenn auch aufw¨andig. Wir fassen wieder zusammen. (( u ˜2 (x, y) dxdy = uTe M e ue Ti
⎛
⎜ ⎜ J ⎜ ⎜ Me = ⎜ 360 ⎜ ⎜ ⎝
⎞ 6 −1 −1 0 −4 0 −1 6 −1 0 0 −4 ⎟ ⎟ ⎟ −1 −1 6 −4 0 0 ⎟ ⎟ 0 0 −4 32 16 16 ⎟ ⎟ −4 0 0 16 32 16 ⎠ 0 −4 0 16 16 32
(10.96)
Die Geometrie des Dreieckelementes erscheint in der Massenelementmatrix M e allein in Form des gemeinsamen Faktors J, der doppelten Fl¨ache des Dreiecks. Die Form des Dreiecks beeinflusst die Zahlenwerte nicht. Das Integral in (10.72) mit einem in u linearen Term ergibt sich zu (( (( I5 := u ˜(x, y) dxdy = J u˜(ξ, η)dξdη Ti
T
=
J
((
uTe N dξdη = uTe be = bTe ue .
T
Die Komponenten des Elementvektors be erh¨ alt man sehr einfach durch Integration der Formfunktionen u ¨ ber das Normaldreieck T . Das Ergebnis ist (( J (10.97) u˜(x, y) dxdy = bTe ue , be = (0, 0, 0, 1, 1, 1)T . 6 Ti
Das Resultat (10.97) stellt eine interpolatorische Quadraturformel f¨ ur ein Dreieck auf der Basis einer quadratischen Interpolation dar. Bemerkenswert ist die Tatsache, dass nur die Funktionswerte in den Seitenmittelpunkten mit dem gleichen Gewicht in die Formel eingehen, und dass die Geometrie des Dreiecks einzig in Form der doppelten Fl¨ache erscheint.
476
10 Partielle Differenzialgleichungen PM
PA
PB
Abb. 10.27 Randkante mit Knotenpunkten.
Jetzt bleiben noch die beiden Randintegrale zu behandeln. Auf Grund unserer Triangulierung wird der Rand stets durch einen Polygonzug approximiert. Somit m¨ ussen wir uns mit der Betrachtung der Beitr¨ age der Randintegrale f¨ ur eine Dreiecksseite befassen. Die betrachtete Ansatzfunktion ist dort eine quadratische Funktion der Bogenl¨ange und ist durch die Funktionswerte in den drei Knotenpunkten eindeutig bestimmt. Wir betrachten deshalb eine Randkante Ri in allgemeiner Lage mit der L¨ange L. Ihre Endpunkte seien PA und PB und der Mittelpunkt PM (Abb. 10.27). Die Funktionswerte in diesen Knotenpunkten bezeichnen wir mit uA , uB und uM und fassen sie im Vektor uR := (uA , uM , uB )T zusammen. Zur Berechnung der Randintegrale f¨ uhren wir die Substitution s = Lσ durch, womit eine Abbildung auf das Einheitsintervall erfolgt. Zur Darstellung der quadratischen Funktion u ˜(σ) verwenden wir die drei Lagrange-Polynome N1 (σ) = (1 − σ)(1 − 2σ),
N2 (σ) = 4σ(1 − σ),
N3 (σ) = σ(2σ − 1),
die man als Basis- oder Formfunktionen f¨ ur die Randst¨ ucke bezeichnet. Wir fassen sie im Vektor N (σ) := (N1 (σ), N2 (σ), N3 (σ))T ∈ Ê3 zusammen, und erhalten so f¨ ur das erste Randintegral I6
:=
(
2
u˜ (s)ds = L
2
u ˜ (σ)dσ = L
(1 0
0
Ri
=
(1
{uTR N (σ)}2 dσ
⎧ 1 ⎫ ⎨ ( ⎬ uTR L N N T dσ uR = uTR M R uR . ⎩ ⎭ 0
Als Resultat der Integration der dreireihigen Matrix erhalten wir die Massenelementmatrix M R einer geradlinigen Randkante Ri mit quadratischer Ansatzfunktion (
u ˜2 (s)ds = uTR M R uR ,
MR
Ri
⎛ L ⎝ = 30
⎞ 4 2 −1 2 16 2 ⎠. −1 2 4
(10.98)
Das zweite Randintegral ist durch die Simpson-Regel (7.11) gegeben, da u ˜(s) eine quadratische Funktion der Bogenl¨ ange s und damit gleich dem Interpolationspolynom ist. Mit dem Randelementvektor bR ∈ Ê3 gilt somit (
Ri
u ˜(s) ds = bTR uR ,
bR =
L (1, 6
4,
1)T .
(10.99)
10.3 Methode der finiten Elemente
10.3.4
477
Aufbau und Behandlung der linearen Gleichungen
F¨ ur die praktische Durchf¨ uhrung der Methode der finiten Elemente auf einem Computer ist es am zweckm¨ aßigsten, alle N Knotenpunkte der vorgenommenen Triangulierung durchzunummerieren, also auch diejenigen, in denen die Funktionswerte durch eine Dirichletsche Randbedingung (10.73) vorgegeben sind. Die Nummerierung der Knotenpunkte sollte so erfolgen, dass die maximale Differenz zwischen Nummern, welche zu einem Element geh¨oren, minimal ist, damit die Bandbreite der Matrix A im System (10.82) m¨oglichst klein ist. Es existieren heuristische Algorithmen, die eine nahezu optimale Nummerierung in akzeptabler Zeit O(N ) systematisch finden [Duf 86, Sch 91b]. Mit dieser Nummerierung erfolgt die Summation der Beitr¨ age der einzelnen Dreieckelemente und Randkanten zur Matrix A und rechten Seite b des Gleichungssystems (10.82) f¨ ur das gesamte triangulierte Gebiet Au = b,
A ∈ ÊN,N , b, u ∈ ÊN .
(10.100)
Zun¨ achst baut sich A aus den Steifigkeits- und Massenelementmatrizen und b aus den Elementvektoren entsprechend der Nummerierung auf. Die Unbekannten in (10.100) sind die Werte der N Knotenvariablen u1 , u2 , . . . , uN . Man bezeichnet diesen Schritt, in welchem A und b gebildet werden, als Kompilationsprozess. Die Gesamtsteifigkeitsmatrix A ist symmetrisch, kann aber noch singul¨ ar sein. Regul¨ ar und sogar positiv definit wird sie durch die Ber¨ ucksichtigung der Randbedingungen (10.73) in den betreffenden Randknotenpunkten. Dies kann auf unterschiedliche Art und Weise erfolgen. Wir wollen hier die einfachste Methode vorschlagen. Im Knotenpunkt mit der Nummer k sei uk = ϕk gegeben. Das bedeutet, dass das ϕk -fache der k-ten Spalte von A vom Vektor b abzuziehen ist. Im Prinzip w¨ aren danach in A die k-te Spalte und die k-te Zeile und in b die k-te Komponente zu streichen. Den Aufwand dieser beiden Schritte erspart man sich, wenn stattdessen in A die k-te Spalte und Zeile durch Einheitsvektoren ersetzt werden, und bk := ϕk gesetzt wird. Sobald alle Randknotenpunkte mit Dirichletscher Randbedingung auf diese Weise behandelt wurden, entsteht ein Gleichungssystem mit positiv definiter Matrix A ∈ ÊN,N . Allerdings enth¨ alt das Gleichungssystem eine Reihe von trivialen Gleichungen, die den Randbedingungen entsprechen. Der L¨ osungsvektor u ∈ ÊN enth¨alt auf diese Weise aber auch diejenigen Knotenvariablen, deren Werte durch Dirichletsche Randbedingungen gegeben sind, was im Fall einer Weiterverarbeitung sehr zweckm¨ aßig ist, z.B. zur Bestimmung von Niveaulinien. Das symmetrische positiv definite Gleichungssystem Au = b kann mit der Methode von Cholesky unter Ausnutzung der Bandstruktur gel¨ost werden. Die Bandbreite von A variiert allerdings bei den meisten Anwendungen sehr stark, so dass die so genannte h¨ ullenorientierte Rechentechnik Vorteile bringt. Bei gr¨ oßeren Gleichungssystemen wird man spezielle iterative Methoden anwenden, die wir im Kapitel 11 behandeln.
10.3.5
Beispiele
In diesem Abschnitt sollen zwei Beispiele rechnerisch behandelt werden. Dabei wollen wir die unterschiedlichen M¨ oglichkeiten verschiedener Softwaresystem demonstrieren, siehe auch Abschnitt 10.4. Es gibt gerade in einem auch f¨ ur industrielle Anwendungen so wichtigen Gebiet, wie es die Anwendungen von partiellen Differenzialgleichungen und die L¨osungen mit der Methode der finiten Elemente darstellen, einen erheblichen Unterschied zwischen
478 F
10 Partielle Differenzialgleichungen E
◦
◦
◦
◦
◦
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
◦
◦
◦
•
A
B
◦
C
• 0.9 •0.95 0.975
◦ ◦D 0.1 0.2 0.3 0.4 • 0.5 0.6 0.7 0.8 •
◦
Abb. 10.28 Gebiet mit Triangulierung und Niveaulinien der N¨ aherungsl¨ osung.
frei zug¨ anglicher, oft durch eigene Programme erg¨anzter Software einerseits und teurer, aber auch komfortabler kommerzieller Software andererseits. Dabei gibt es innerhalb beider Gruppen noch erhebliche Unterschiede. So arbeitet der u ¨berwiegende Anteil der zahlreichen Programmpakete ausschließlich mit linearen Ans¨ atzen, obwohl quadratische Ans¨atze in der Regel genauere L¨ osungen und bessere graphische Darstellungen erm¨oglichen. Andererseits liefern gerade die kleineren frei zug¨ anglichen Pakete oft nur Zahlen, aber keine graphische Darstellung als Ergebnis.
Beispiel 10.12. Wir wollen zun¨achst ein Beispiel mit einem einfachen selbst geschriebenen Programm, wie es auch in [Sch 91a] zu finden ist, rechnen. Die berechneten L¨ osungswerte haben wir in Matlab importiert und graphisch ausgewertet. Dieser einfachen Vorgehensweise stellen wir die Ergebnisses des Pakets Pltmg gegen¨ uber. Im Gebiet G der Abb. 10.6 soll die Randwertaufgabe (10.14) bis (10.17) mit quadratischen Ans¨ atzen auf Dreiecken gel¨ ost werden. Die zugeh¨ orige Formulierung als Variationsproblem lautet ff ZZ j 1 2 (ux + u2y ) − 2u dxdy −→ Min! (10.101) I= 2 G
unter den Randbedingungen u=0 u=1
auf DE und EF, auf AB und BC.
(10.102)
Zu Vergleichszwecken mit Beispiel 10.1 verwenden wir eine recht grobe Triangulierung des Gebietes nach Abb. 10.28 in elf Dreieckelemente. Von den insgesamt N = 32 Knotenpunkten haben zw¨ olf bekannte Randwerte (als leere Kreise gekennzeichnet), so verbleiben n = 20 Knotenpunkte mit unbekannten Funktionswerten, die als ausgef¨ ullte Kreise hervorgehoben sind. Da alle Dreieckelemente gleichschenklig rechtwinklig sind, sind alle Steifigkeitselementmatrizen identisch. Beginnen wir die
479
10.3 Methode der finiten Elemente F
E
D 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
A
B
0.9 0.95 0.975
C Abb. 10.29 Lokal verfeinerte Triangulierung und Niveaulinien.
Nummerierung stets im Eckpunkt mit dem rechten 0 6 1 1 −4 0 −4 B 1 3 0 −4 0 0 B B 1B 1 0 3 0 0 −4 B e = 6 B −4 −4 0 16 −8 0 B @ 0 0 0 −8 16 −8 −4 0 −4 0 −8 16
Winkel, so folgt wegen a = c = 1, b = 0 1 C C C C C. C C A
Mit e und dem Elementvektor e kann das Gleichungssystem relativ leicht aufgebaut werden. Die resultierende N¨ aherungsl¨ osung f¨ ur die Randwertaufgabe ist in (10.103) in der Anordnung der Knotenpunkte zusammengestellt. Die Diskretisierungsfehler in dieser N¨ aherung sind vergleichbar mit denjenigen von (10.20). In Abb. 10.28 sind einige Niveaulinien der N¨ aherungsl¨ osung u ˜(x, y) eingezeichnet. Man erkennt die Stetigkeit der N¨ aherungsl¨ osung, aber auch die Unstetigkeit der ¨ ersten partiellen Ableitungen beim Ubergang von einem Dreieckelement ins benachbarte. Besonders auff¨ allig ist der Verlauf der Niveaulinien in der N¨ ahe der einspringenden Ecke des Gebietes G. Dies ist bedingt durch die Singularit¨ at der partiellen Ableitungen der L¨ osungsfunktion in der Ecke. 0 0.41761 0.72286 0.91668 1
0 0.41129 0.71269 0.90944 1
0 0.38986 0.68215 0.88338 1 1
0 0 0.34098 0.23714 0.61191 0.48260 0.81692 0.69997 0.94741 0.85287 0.95255 1
0 0.28252 0.52250
0 (10.103)
Um dieser Tatsache besser Rechnung zu tragen, ist die Randwertaufgabe mit der feineren Triangulation von Abb. 10.29 behandelt worden. In der N¨ ahe der einspringenden Ecke ist die Einteilung zus¨ atzlich verfeinert worden. Bei insgesamt N = 65 Knotenpunten sind die Funktionswerte in
480
10 Partielle Differenzialgleichungen
0 0.2 0.4 0.6 0.8
1
Abb. 10.30 Pltmg-Triangulierung und Niveaulinien.
n = 49 Knotenpunkten unbekannt. Die Niveaulinien verlaufen jetzt glatter, obwohl der Einfluss der Ecken immer noch vorhanden ist. Die N¨ aherungswerte in denjenigen Knotenpunkten, die (10.103) entsprechen, sind in (10.104) zusammengestellt. 0 0.41793 0.72144 0.91712 1
0 0.41165 0.71286 0.91006 1
0 0.39081 0.68078 0.88167 1 1
0 0 0.3396 0.22979 0.61282 0.48765 0.81686 0.70061 0.94683 0.85439 0.95312 1
0 0.28239 0.52275
0 (10.104)
Hier w¨ are also eine weitere – m¨ oglichst adaptive – Verfeinerung notwendig. Wir rechnen deshalb das Beispiel noch einmal mit dem Paket Pltmg, siehe Abschnitt 10.4. Wir lassen Pltmg das Gebiet triangulieren und anschließend dreimal adaptiv verfeinern. Das resultierende Dreiecksnetz und einige Niveaulinien sind in Abb. 10.30 zu sehen. Trotz nur linearen Ansatzes sind auf Grund der feinen Triangulierung die Niveaulinien sehr glatt. Nat¨ urlich sind auch die L¨ osungswerte genauer. △
Beispiel 10.13. Wir betrachten die Randwertaufgabe (10.29) von Beispiel 10.5 f¨ur das Gebiet G mit dem Kreisbogen AB als Randst¨ uck (vgl. Abb. 10.10). Die zugeh¨ orige Formulierung als Variationsproblem lautet ff Z ZZ j 1 2 (ux + u2y ) − 2u dxdy + {u2 + u}ds −→ Min! (10.105) I= 2 AB
G
u=0
auf CD.
Das Randintegral erstreckt sich nur u ¨ ber den Kreisbogen AB mit α(s) = 2 und β(s) = −1. Wir wollen diese Aufgabe mit dem kommerziellen Paket Femlab bearbeiten, siehe Abschnitt 10.4, auch um zu demonstrieren, wie komfortabel ein solches Werkzeug zur L¨ osung partieller Differenzialgleichungen sein kann.
481
10.3 Methode der finiten Elemente
Zun¨ achst definieren wir das Grundgebiet G als Differenz eines Dreiecks und eines Kreises. Das gelingt mit f¨ unf Mausklicks im geometrischen Eingabefenster. Dann erzeugen wir mit einem Mausklick eine Anfangstriangulierung, die 375 Knotenpunkte enth¨ alt. Das mag viel erscheinen, liegt aber an den Standard-Vorgaben des Femlab-Systems, die man auch leicht ¨ andern kann. Wir definieren die Differenzialgleichung, die Randbedingungen und die Wahl der quadratischen Ansatzfunktionen u osung mit einem Mausklick und ¨ ber entsprechende Parameter-Eingabefenster, bestimmen eine L¨ bestimmen in einem Fenster mit einer großen Auswahl an Parametern, dass wir die L¨ osung mit Hilfe von Niveaulinien zu vorgegebenen L¨ osungswerten darstellen wollen. Dies ergibt die obere der Abb. 10.31. Eine adaptive Verfeinerung f¨ uhrt zu einer Triangulierung mit 1429 Knotenpunkten und der zugeh¨ origen L¨ osung. In der N¨ ahe der Ecken kann man deutlich die Verbesserung durch die Verfeinerung erkennen.
0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.25 0.2 0.15 0.45 0.4 0.35 0.3
0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.25 0.2 0.15 0.45 0.4 0.35 0.3
Abb. 10.31 Zwei Femlab-Gitter mit zugeh¨ origen Niveaulinien. △
482
10.4
10 Partielle Differenzialgleichungen
Software
Die numerische L¨ osung partieller Differenzialgleichungen setzt sich aus vielen Anteilen zusammen. Nachdem wir in diesem Kapitel einige Methoden zur Diskretisierung partieller Differenzialgleichungen kennen gelernt haben, sollen R¨ udes Grundprinzipien zur effizienten L¨osung von partiellen Differenzialgleichungen einmal genannt werden, [R¨ ud 93]: • • • •
Gute Diskretisierungsmethoden (verschieden hoher Ordnung). Schnelle L¨ osungsmethoden f¨ ur die entstehenden Gleichungssysteme. Adaptivit¨ at. Hochwertige Informatikanteile (Hardware, Algorithmen und Software).
Bei der Diskretisierung, insbesondere bei der Methode der finiten Elemente, entsteht das Problem der Gittererzeugung bzw. Netzgenerierung, mit dem wir uns im Rahmen dieses Bandes nicht besch¨aftigen k¨ onnen. Mit der L¨ osung der bei der Diskretisierung entstehenden großen, schwach besetzten Gleichungssysteme werden wir uns in Kapitel 11 besch¨aftigen. Die Adaptivit¨ at spielt bei beiden Problemklassen eine große Rolle. Wir haben sie im letzten Beispiel 10.13 schon praktisch kennen gelernt. Weiter kann sie hier nicht behandelt werden. Dasselbe gilt f¨ ur die Verwendung hochwertiger Hardware – wie Parallelrechner – und den Einsatz von Software, die strengen Anforderungen des Softwareengineering gen¨ ugt, und die die M¨ oglichkeiten spezieller Hardware algorithmisch nutzt. Alle diese Kriterien spielen bei der Auswahl von Software eine Rolle. Hinzu kommt die Ber¨ ucksichtigung des Anwendungsbereichs. Pltmg ist ein frei erh¨ altliches Paket, das seit einigen Jahrzehnten im Bereich von Universit¨ aten und Forschungslabors beliebt ist. Der Name Piecewise Linear Triangle Multi-Grid verr¨at die verwendete Methode. Es erscheinen regelm¨aßig neue verbesserte Versionen, jeweils begleitet von Buch-Neuerscheinungen bei SIAM [Ban 98]. Pltmg l¨ost Variationsprobleme, die u ¨ ber (10.72) weit hinausgehen. So ist die Einbeziehung von Parametern und damit die L¨osung von Eigenwertproblemen m¨ oglich. Seine Benutzung ist allerdings sehr gew¨ohnungsbed¨ urftig, da die Definition des Gebietes und die Festlegung vieler die L¨osung beeinflussender Parameter u ¨ ber vom Benutzer zu schreibende Fortran-Programme geschieht. Dabei werden die vielen Kontrollparameter u ¨ber lange Felder ohne mnemotechnische Hilfestellung eingegeben. Belohnt wird man mit flexiblen M¨ oglichkeiten bei der graphischen Darstellung der L¨ osung. F¨ ur einfache lineare Beispielprobleme ist die Partial Differential Equation Toolbox pdetool des Matlab-Systems eine große Hilfe. Sie benutzt die Methode der finiten Elemente, f¨ ur die sie ein Dreiecksnetz erzeugt. Das Netz kann homogen oder adaptiv verfeinert werden. Eine graphischen Benutzeroberfl¨ ache macht die Konstruktion eines Gebietes G, die Problemdefinition und die Eingabe von Kontrollparametern ausgesprochen einfach. Auch Femlab kann als Matlab-Toolbox betrachtet werden, baut es doch auf der MatlabSprache und Funktionalit¨ at auf. Es ist als komfortabler Ersatz der Partial Differential Equation Toolbox gedacht und verf¨ ugt u ¨ ber eine bis auf Erweiterungen nahezu identische graphische Benutzeroberfl¨ ache. Femlab wird aus Matlab heraus aufgerufen; die Ergebnisse k¨ onnen in Matlab weiter verarbeitet werden. Es gibt aber eine stand-alone-Version, die unabh¨ angig von Matlab ist. Sie hat C++-basierte L¨oser, die wesentlich schneller sind als
483
10.5 Aufgaben
die der Matlab-basierten Version. Der Leistungsumfang von Femlab u ¨ bersteigt den von pdetool bei weitem, insbesondere bei Anwendungsproblemen. Es gibt zahlreiche Spezialmodule u.a. f¨ ur strukturmechanische, chemische und elektromagnetische Anwendungen. Ein eigenst¨ andiges Paket riesigen Umfangs mit starker Industrie-Orientierung ist Ansys. Zu seinen Anwendungsmodulen z¨ ahlt die Luft- und Raumfahrt, der Automobilbau, die Elektronik und die Biomedizin. Der Hersteller CAD-FEM gibt die eigene Zeitschrift Infoplaner heraus und h¨ alt Anwenderschulungen ab. Die graphischen M¨oglichkeiten von Ansys z.B. in der Str¨ omungsdynamik sind beeindruckend. Die Nag-Fortran-Bibliothek enth¨ alt seit Mark 20 ein Kapitel D06 mit einer Reihe von Routinen zur Netzerzeugung. Nat¨ urlich kann man mit dieser Bibliothek die entstehenden schwach besetzten Gleichungssysteme optimal l¨osen. Es fehlt allerdings das Bindeglied des Kompilationsprozesses, den man selbst programmieren muss. Und es fehlt die M¨oglichkeit komfortabler graphischer Ausgabe. Nag vertreibt aber die 3D-FEM-Software Fastflo von CSIRO, die wieder eine Reihe von Anwendungsmodulen f¨ ur W¨ armeleitung, Reaktions-Diffusionsgleichungen, Struktur- und Str¨ omungsmechanik sowie Akustik bereitstellt. Fastflo verf¨ ugt u ¨ber bequeme graphische Ein- und Ausgabewerkzeuge und erlaubt lineare und quadratische Ans¨atze. Die Aufz¨ ahlung von Softwaresystemen zur L¨ osung von partiellen Differenzialgleichungen ließe sich noch lange fortsetzen. Stattdessen verweisen wir auf die Internetseiten http://www.engr.usask.ca/˜macphed/finite/fe resources/fe resources.html und komfortabel, bunt und sch¨ on http://femur.wpi.edu/. Bei der Suche beachte man, dass die Programme manchmal nur unter dem Namen des Herstellers statt unter dem Programmnamen verzeichnet sind, aber Strukturierung und Suchm¨ oglichkeit erleichtern die Orientierung. Man findet grunds¨atzlich Links zu den Seiten der Hersteller. Wir haben deshalb auf diese Angaben hier weitgehend verzichtet.
10.5
Aufgaben
10.1. F¨ ur das Gebiet G in Abb. 10.32 sei die Randwertaufgabe gegeben: −∆u = 1
in G,
∂u = 0 auf BC , ∂ ∂u + 2u = 1 auf DA. u = 0 auf CD, ∂ Man l¨ ose sie n¨ aherungsweise mit dem Differenzenverfahren unter Verwendung der F¨ unf-PunkteApproximation f¨ ur Maschenweiten h = 1/4, h = 1/6 und h = 1/8. Wie lauten die Differenzengleichungen f¨ ur die Gitterpunkte auf der Seite DA? F¨ ur welche Nummerierung der Gitterpunkte hat die Matrix des Systems von Differenzengleichungen eine minimale Bandbreite? u=1
auf AB,
484
10 Partielle Differenzialgleichungen 0.5
D
C
1
G
1.5
A
B
Abb. 10.32 Trapezgebiet.
5 E
D
C
5
S Q
R r=3
P
A
2
B
Abb. 10.33 Gebiet mit Kreisrand.
10.2. Im Gebiet G in Abb. 10.33, dessen Randst¨ uck BC ein Viertelkreis mit dem Radius r = 3 ist, soll die elliptische Randwertaufgabe gel¨ ost werden: −∆u = 10 in G, ∂u ∂u = 0 auf AB, u = 4 auf BC, = 0 auf CD, ∂ ∂ ∂u + 4u = 1 auf DE, u = 0 auf EA. ∂ Wie lauten die Differenzengleichungen f¨ ur die Gitterpunkte im Gitter von Abb. 10.33 mit der Maschenweite h = 1? Ist das System der Differenzengleichungen symmetrisch? 10.3. Im Randwertproblem von Aufgabe 10.2 ersetze man die Dirichlet-Randbedingung auf BC durch die Cauchy-Randbedingung ∂u + 3u = 2. ∂ F¨ ur die Randpunkte B, P, Q, R, S und C sind weitere Differenzengleichungen herzuleiten. Welche Struktur erh¨ alt das System von Differenzengleichungen? Die Berechnung seiner L¨ osung kann mit
485
10.5 Aufgaben dem Gauß-Algorithmus mit Diagonalstrategie erfolgen. 10.4. Man l¨ ose die parabolische Anfangsrandwertaufgabe ur 0 < x < 1, t > 0; ut = uxx + 1 f¨ u(x, 0) = 0 f¨ ur 0 < x < 1, ux (0, t) − 0.5u(0, t) = 0, ux (1, t) + 0.2u(1, t) = 0
f¨ ur t > 0,
mit der expliziten und der impliziten Methode f¨ ur h = 0.1 und h = 0.05 und f¨ ur verschiedene Zeitschritte k. Man leite die Bedingung der absoluten Stabilit¨ at im Fall der expliziten Methode f¨ ur die obigen Randbedingungen her. Die station¨ are L¨ osung u(x, t) f¨ ur t → ∞ mit ut = 0 ist analytisch zu bestimmen und mit den berechneten N¨ aherungen zu vergleichen. 10.5. Ein Diffusionsproblem besitzt folgende Formulierung: „ « ∂u ∂u ∂ (x2 − x + 1) + (2 − x) sin(t), 0 < x < 1, t > 0, = ∂t ∂x ∂x u(x, 0) = 0, u(0, t) = 0,
0 < x < 1, ux (1, t) + 0.3u(1, t) = 0,
t > 0.
Die Diffusionskennzahl ist ortsabh¨ angig, und die Quellendichte ist orts- und zeitabh¨ angig. Mit der Schrittweite h = 0.1 bestimme man die L¨ osungsfunktion n¨ aherungsweise mit der expliziten und der impliziten Methode. Wie lautet die Bedingung der absoluten Stabilit¨ at f¨ ur die Methode von Richardson? 10.6. Es soll die parabolische Differenzialgleichung ut = uxx + uyy + 1
in G × (0, ∞)
unter der Anfangsbedingung u(x, y, 0) = 0
in G
und den zeitunabh¨ angigen Randbedingungen ∂u = 0 auf BC, ∂ ∂u u = 0 auf CD, + 2u = 1 auf DA ∂ gel¨ ost werden, wo G das Gebiet von Abb. 10.32 ist. Man verwende dazu die explizite Methode von Richardson, das implizite Verfahren von Crank-Nicolson sowie die Methode der alternierenden Richtungen. Als Maschenweite w¨ ahle man h = 1/4 und h = 1/6. Die station¨ are L¨ osung f¨ ur t → ∞ ist gleich der L¨ osung von Aufgabe 10.1. u=1
auf AB,
10.7. Wie lauten die Steifigkeitselementmatrizen a) ein gleichseitiges Dreieck;
e
im Fall des quadratischen Ansatzes f¨ ur
b) ein rechtwinkliges Dreieck mit den Kathetenl¨ angen P1 P2 = αh und P1 P3 = βh; c) ein gleichschenkliges Dreieck mit der Schenkell¨ ange h und dem Zwischenwinkel γ? Was folgt f¨ ur die Matrixelemente von e in den F¨ allen b) und c), falls β ≪ α, bzw. γ sehr klein ist? Welchen Einfluss haben solche spitzwinkligen Dreieckelemente auf die Gesamtsteifigkeitsmatrix ?
486
10 Partielle Differenzialgleichungen
Abb. 10.34 Grobe Triangulierung des Trapezgebietes.
Abb. 10.35 Triangulierung des Gebietes mit Kreisrand.
10.8. Linearer Ansatz in der Methode der finiten Elemente. a) Wie lauten die Formfunktionen f¨ ur den linearen Ansatz? Mit ihrer Hilfe leite man die Elementmatrizen zur Approximation des Integralausdrucks (10.72) unter der Annahme von konstanten Funktionen ̺(x, y), f (x, y), α(s) und β(s) her. ur ein gleichschenklig rechtwinkliges Dreieck, ein b) Welches sind die Steifigkeitsmatrizen Ë e f¨ gleichseitiges Dreieck, ein rechtwinkliges Dreieck mit den Kathetenl¨ angen αh und βh sowie f¨ ur ein gleichschenkliges Dreieck mit der Schenkell¨ ange h und dem Zwischenwinkel γ? Was passiert f¨ ur spitzwinklige Dreiecke? c) Man verifiziere, dass die Methode der finiten Elemente f¨ ur die Poissonsche Differenzialgleichung −∆u = f (x, y) im Fall der linearen Elemente f¨ ur jeden im Innern liegenden Knotenpunkt bei Verwendung einer regelm¨ aßigen Triangulierung in kongruente, rechtwinklig gleichschenklige Dreiecke die F¨ unf-Punkte-Differenzengleichung (10.12) liefert, ganz unabh¨ angig davon, wieviele Dreieckelemente im betreffenden Knotenpunkt zusammenstoßen. 10.9. Wie lauten die zu minimierenden Integralausdr¨ ucke zu den Randwertproblemen der Aufgaben 10.1 bis 10.3? Man l¨ ose jene Randwertaufgaben mit der Methode der finiten Elemente beispielsweise f¨ ur die Triangulierungen der Abb. 10.34 und Abb. 10.35 unter Verwendung der quadratischen Ans¨ atze.
11
Lineare Gleichungssysteme, iterative Verfahren
Die Behandlung von elliptischen Randwertaufgaben mit dem Differenzenverfahren oder mit finiten Elementen f¨ uhrt beispielsweise auf die Aufgabe, lineare Gleichungssysteme mit symmetrischer oder gelegentlich unsymmetrischer Matrix f¨ ur die unbekannten Funktionswerte in den Gitterpunkten zu l¨ osen. Bei feiner Diskretisierung des Grundgebietes sind die Systeme einerseits von hoher Ordnung und besitzen andererseits die Eigenschaft, sehr schwach besetzt (engl. sparse) zu sein. Grunds¨ atzlich k¨onnen sie mit den direkten Methoden von Kapitel 2 gel¨ ost werden, wobei bei geeigneter Nummerierung der Unbekannten die resultierende Bandstruktur ausgenutzt werden kann. Im Verlauf des Eliminationsprozesses erfolgt aber im Inneren des Bandes ein oft vollst¨ andiger Auff¨ ullprozess (das sog. fill-in), bei welchem Matrixelemente, die urspr¨ unglich gleich null sind, durch von null verschiedene Werte ersetzt werden. Dadurch kann f¨ ur sehr große Gleichungssysteme neben dem Rechenaufwand insbesondere der Speicherbedarf prohibitiv groß werden. Deshalb erweisen sich iterative Verfahren zur L¨ osung von sehr großen, schwach besetzen linearen Gleichungssystemen als geeignete Alternativen, mit denen die schwache Besetzung voll ausgenutzt wird. Im Folgenden betrachten wir die klassischen Iterationsmethoden und zeigen einige ihrer wichtigsten Eigenschaften auf. Dann wird die Methode der konjugierten Gradienten f¨ ur symmetrische und positiv definite Gleichungssysteme sehr ausf¨ uhrlich unter Einschluss der zentralen, die Konvergenz verbessernden Vorkonditionierung behandelt. Daraus wird anschließend die Methode der verallgemeinerten minimierten Residuen zur L¨osung von unsymmetrischen Gleichungssystemen entwickelt. Ausf¨ uhrlichere, unter anderem auch die effizienten Mehrgitterverfahren behandelnde Darstellungen von Iterationsmethoden findet man etwa in [Bey 98, Bra 93, Bri 00, McC 88, Hac 85, Hac 93, Hag 81, Sto 00, Var 00, Wes 92, You 71].
11.1
Diskretisierung partieller Differenzialgleichungen
Im Abschnitt 10.1.2 wurde die Diskretisierung partieller Differenzialgleichungen mit dividierten Differenzen bereits behandelt. Hier soll ein einfaches Beispiel eine typische Struktur des entstehenden linearen Gleichungssystems zeigen. Beispiel 11.1. Der Laplace-Operator wird auf einem quadratischem Gitter (xi , yj ) mit der Gitterweite h approximiert durch einen F¨ unf-Punkte-Stern (siehe Abb. 10.3) −∆u
∂2u ∂2u − 2 ∂x ∂y 2
=
−
≈
1 [−u(xi−1 , yj ) − u(xi+1 , yj ) + 4u(xi , yj ) − u(xi , yj−1 ) − u(xi , yj+1 )]. h2
(11.1)
488
11 Lineare Gleichungssysteme, iterative Verfahren
Als Gebiet im Ê2 w¨ ahlen wir jetzt das Einheitsquadrat G := (0, 1)×(0, 1) mit Rand Γ. Zu gegebener rechter Seite f (x, y) ∈ C(G) ist eine Funktion u(x, y) ∈ C 2 (G) gesucht, die die Differenzialgleichung und die Randbedingung −∆u = f
u=0
in
G
auf
Γ
(11.2)
erf¨ ullt. Mit xi := i h, yj := j h, h := 1/(N + 1), ist ein Gitter mit den Punkten Pij := (xi , yj ) auf G definiert, auf dem (11.2) diskretisiert werden soll. ur alle inneren Punkte Pij die Gleichungen Mit uij := u(xi , yj ) bekommt man f¨ −ui−1,j − ui+1,j + 4ui,j − ui,j−1 − ui,j+1 = h2 fij , wobei in Randpunkten ui,j = 0 gesetzt wird. Zur eindimensionalen Nummerierung k¨ onnen die Punkte in der Index-Reihenfolge (1, 1), (2, 1), (3, 1), . . . , (N, 1), (1, 2), (2, 2), (3, 2), . . . , (N, N ), also geometrisch zeilenweise von unten nach oben geordnet werden:
....................................... N +1
Γ
1
Damit ergibt sich die N 2 × N 2 0 B −I 0 B −I B −I B B .. .. B . . A=B 0 B B .. @ . 0 ··· 0 mit den Bl¨ ocken 0
4 B −1 B B B B=B 0 B .. B @ . 0
−1 4 .. . .. . ···
2N 2
3
N
Matrix ··· 0 .. . −I
0 −1 .. .
··· 0 .. .
−1 0
4 −1
0
1
C C .. C . C C C C −I A B 0
1
C C C C N,N , C∈Ê C C −1 A 4
(11.3)
I ∈ ÊNN .
Die Matrix hat die Bandbreite m = N , siehe Def. 2.19. Allerdings hat jede Zeile nur maximal f¨ unf Elemente ungleich null. Da in Anwendungsproblemen N recht groß ist, sollten zur L¨ osung spezielle Iterationsverfahren angewendet werden. △
489
11.2 Gesamtschritt- und Einzelschrittverfahren
11.2
Gesamtschritt- und Einzelschrittverfahren
11.2.1
Konstruktion der Iterationsverfahren
Wir betrachten ein allgemeines lineares Gleichungssystem Ax = b,
A ∈ Ên,n ,
x, b ∈ Ên
(11.4)
in n Unbekannten mit der regul¨aren Matrix A, so dass die Existenz und Eindeutigkeit der L¨ osung x gew¨ ahrleistet ist. Damit ein Gleichungssystem (11.4) iterativ gel¨ost werden kann, muss es in einer ersten Klasse von Verfahren zuerst in eine ¨aquivalente Fixpunktform u uhrt werden, z.B. ¨ bergef¨ x(k+1) = x(k) + B −1 (b − Ax(k) ) = (I − B −1 A)x(k) + B −1 b. (1)
(11.5)
(0)
f¨ ur einen beliebigen Startvektor x die exakte L¨osung. Deshalb F¨ ur B = A ist x sollte die Matrix B so gew¨ ahlt werden, dass einerseits B ≈ A und andererseits die Inverse von B leicht berechenbar ist. Unter den zahlreichen m¨oglichen Varianten werden wir im Folgenden nur einige klassische Methoden betrachten. Zu ihrer Herleitung treffen wir die Zusatzannahme, dass im zu l¨ osenden Gleichungssystem (11.4) n aij xj = bi , i = 1, 2, . . . , n, (11.6) j=1
f¨ ur die Diagonalelemente von A aii = 0,
i = 1, 2, . . . , n,
(11.7)
gilt. Die Voraussetzung (11.7) ist in der Regel bei einer zweckm¨aßigen Formulierung des Gleichungssystems automatisch erf¨ ullt oder kann andernfalls durch eine geeignete Anordnung der Gleichungen erf¨ ullt werden. Somit kann die i-te Gleichung von (11.6) nach der i-ten Unbekannten xi aufgel¨ ost werden. ⎤ ⎡ n 1 ⎢ ⎥ aij xj − bi ⎦ , i = 1, 2, . . . , n, (11.8) xi = − ⎣ aii j=1 j = i
(11.8) und (11.6) stellen offensichtlich ¨ aquivalente Beziehungen dar. Durch (11.8) wird eine ur welche der L¨osungsvektor x von (11.4) ein lineare Abbildung des Ên in den Ên definiert, f¨ Fixpunkt ist. Auf Grund dieser Tatsache k¨ onnen wir eine erste Iterationsvorschrift definieren gem¨ aß ⎤ ⎡ n 1 ⎢ i = 1, 2, . . . , n; ⎥ (k) (k+1) aij xj − bi ⎦ , =− xi (11.9) ⎣ aii k = 0, 1, 2, . . . . j=1 j = i
Hier ist offenbar in (11.5) B = D := diag(a11 , a22 , . . . , ann ). Da der iterierte Vektor x(k) in (11.9) als Ganzes in der rechten Seite eingesetzt wird, nennt man die Iterationsvorschrift das Gesamtschrittverfahren. Es ist jedoch u ¨ blich, die Methode
490
11 Lineare Gleichungssysteme, iterative Verfahren
(11.9) als Jacobi-Verfahren oder kurz als J-Verfahren zu bezeichnen. Anstatt in der rechten Seite von (11.8) den alten iterierten Vektor einzusetzen, besteht eine (k+1) , die schon neu berechnet naheliegende Modifikation darin, diejenigen Komponenten xj wurden, zu verwenden. Das ergibt im Fall n = 4 folgende ge¨anderte Iterationsvorschrift: (k+1)
x1 (k+1) x2 (k+1) x3 (k+1) x4
(k)
= −[ a12 x2 (k+1) = −[a21 x1 (k+1) (k+1) = −[a31 x1 + a32 x2 (k+1) (k+1) = −[a41 x1 + a42 x2
(k)
+a13 x3 (k) +a23 x3 (k+1)
+a43 x3
(k)
+a14 x4 − b1 ]/a11 (k) +a24 x4 − b2 ]/a22 (k) +a34 x4 − b3 ]/a33 −b4 ]/a44
Allgemein lautet das Einzelschrittverfahren oder Gauß-Seidel-Verfahren ⎤ ⎡ n i−1 1 ⎣ (k+1) (k) (k+1) =− xi aij xj − bi ⎦ , + aij xj aii j=1 j=i+1 i = 1, 2, . . . , n;
(11.10)
(11.11)
k = 0, 1, 2, . . . .
Hier ist in (11.5) B die untere Dreiecksmatrix von A, wie wir unten sehen werden. (k+1)
des iterierten Vektors x(k+1) gem¨aß Die Reihenfolge, in welcher die Komponenten xi (11.11) berechnet werden, ist wesentlich, denn nur so ist diese Iterationsvorschrift explizit. Die Rechenpraxis zeigt, und die sp¨ ater folgende Analyse wird dies best¨atigen, dass das Konvergenzverhalten der Iterationsvektoren x(k) gegen den Fixpunkt x oft ganz wesentlich verbessert werden kann, falls die Korrekturen der einzelnen Komponenten mit einem festen Relaxationsfaktor ω = 1 multipliziert und dann addiert werden. Falls ω > 1 ist, spricht man ¨ von Uberrelaxation, andernfalls von Unterrelaxation. Die geeignete Wahl des Relaxationsfaktors ω > 0 ist entweder abh¨ angig von Eigenschaften des zu l¨osenden Gleichungssystems oder aber von speziellen Zielsetzungen, wie etwa im Zusammenhang mit der so genannten Gl¨ attung bei Mehrgittermethoden. Die Korrektur der i-ten Komponente im Fall des Jacobi-Verfahrens ist gem¨aß (11.9) gegeben durch ⎤ ⎡ ; n (k) (k) (k+1) (k+1) aij xj − bi ⎦ aii , i = 1, 2, . . . , n, − xi = − ⎣ = xi ∆xi j=1
und das JOR-Verfahren ist definiert durch (k+1)
xi
(k)
(k+1)
+ ω ·⎡ ∆xi ⎤ n ω ⎣ (k) (k) = xi − aij xj − bi ⎦ aii j=1 ⎤ ⎡ n ω ⎢ ⎥ (k) (k) aij xj − bi ⎦ , = (1 − ω)xi − ⎣ aii j=1 := xi
i = 1, 2, . . . , n;
j = i
k = 0, 1, 2, . . . .
(11.12)
491
11.2 Gesamtschritt- und Einzelschrittverfahren
In Analogie dazu resultiert aus dem Einzelschrittverfahren mit den aus (11.11) folgenden Korrekturen ⎤ ⎡ ; n i−1 (k) (k+1) (k+1) (k) (k+1) ⎦ ⎣ aii − xi = − = xi ∆xi + aij xj − bi aij xj j=i
j=1
¨ die Methode der sukzessiven Uberrelaxation (successive overrelaxation) oder abgek¨ urzt das SOR-Verfahren ⎤ ⎡ n i−1 ω (k) (k+1) (k) (k+1) ⎣ aij xj − bi ⎦ + aij xj := xi − xi aii j=1 j=i ⎤ ⎡ n i−1 (11.13) ω (k) (k) (k+1) ⎣ aij xj − bi ⎦ , = (1 − ω)xi − + aij xj aii j=1 j=i+1 i = 1, 2, . . . n;
k = 0, 1, 2, . . . .
Das JOR- und das SOR-Verfahren enthalten f¨ ur ω = 1 als Spezialf¨alle das J-Verfahren beziehungsweise das Einzelschrittverfahren. Als Vorbereitung f¨ ur die nachfolgenden Konvergenzbetrachtungen sollen die Iterationsverfahren, welche komponentenweise und damit auf einem Computer unmittelbar implementierbar formuliert worden sind, auf eine einheitliche Form gebracht werden. Da die Diagonalelemente und die Nicht-Diagonalelemente der unteren und der oberen H¨alfte der gegebenen Matrix A eine zentrale Rolle spielen, wird die Matrix A als Summe von drei Matrizen dargestellt gem¨ aß ⎛
⎜ A := D − L − U = ⎜ ⎝
..
. D
−L
⎞
−U ⎟ ⎟. ⎠ .. .
(11.14)
Darin bedeutet D := diag(a11 , a22 , . . . , ann ) ∈ Ên,n eine Diagonalmatrix, gebildet mit den Diagonalelementen von A, die wegen der Vorraussetzung (11.7) regul¨ar ist. L ist eine strikt untere Linksdreiecksmatrix mit den Elementen −ai,j , i > j, und U ist eine strikt obere Rechtsdreiecksmatrix mit den Elementen −ai,j , i < j. Die Iterationsvorschrift (11.9) des Gesamtschrittverfahrens ist nach Multiplikation mit aii aquivalent zu ¨ Dx(k+1) = (L + U )x
(k)
+ b,
und infolge der erw¨ ahnten Regularit¨ at von D ist dies gleichwertig zu x(k+1) = D −1 (L + U )x
(k)
+ D−1 b.
(11.15)
Mit der Iterationsmatrix T J := D −1 (L + U )
(11.16)
492
11 Lineare Gleichungssysteme, iterative Verfahren
und dem Konstantenvektor cJ := D −1 b kann das J-Verfahren (11.9) formuliert werden als x(k+1) = T J x(k) + cJ ,
k = 0, 1, 2, . . . .
(11.17)
In Analogie ist die Rechenvorschrift (11.11) des Einzelschrittverfahrens ¨aquivalent zu Dx(k+1) = Lx(k+1) + U x(k) + b, beziehungsweise nach anderer Zusammenfassung gleichwertig zu (D − L)x
(k+1)
= U x(k) + b.
Jetzt stellt (D − L) eine Linksdreiecksmatrix mit von null verschiedenen Diagonalelementen dar und ist deshalb regul¨ ar. Folglich erhalten wir f¨ ur das Einzelschrittverfahren −1
x(k+1) = (D − L)
−1
U x(k) + (D − L)
b.
(11.18)
Mit der nach (11.18) definierten Iterationsmatrix T ES := (D − L)−1 U
(11.19)
und dem entsprechenden Konstantenvektor cES := (D − L)−1 b erh¨alt (11.18) dieselbe Form wie (11.17). Aus dem JOR-Verfahren (11.12) resultiert auf ¨ ahnliche Weise die ¨aquivalente Matrizenformulierung Dx(k+1) = [(1 − ω)D + ω(L + U )]x(k) + ωb.
Deshalb ergeben sich wegen
x(k+1) = [(1 − ω)I + ωD−1 (L + U )]x(k) + ωD−1 b
(11.20)
einerseits die vom Relaxationsparameter ω abh¨ angige Iterationsmatrix des JOR-Verfahrens T JOR (ω) := (1 − ω)I + ωD−1 (L + U )
(11.21)
ur ω = 1 gelten offensichtlich und andererseits der Konstantenvektor cJOR (ω) := ωD−1 b. F¨ T JOR (1) = T J und cJOR (1) = cJ . Aus der zweiten Darstellung der Iterationsvorschrift (11.13) des SOR-Verfahrens erhalten wir nach Multiplikation mit aii Dx(k+1) = (1 − ω)Dx(k) + ωLx(k+1) + ωU x(k) + ωb,
oder nach entsprechender Zusammenfassung
(D − ωL)x(k+1) = [(1 − ω)D + ωU ]x(k) + ωb.
Darin ist (D − ωL) unabh¨ angig von ω eine regul¨are Linksdreiecksmatrix, da ihre Diagonalelemente wegen (11.7) von null verschieden sind, und sie ist somit invertierbar. Folglich kann die Iterationsvorsschrift des SOR- Verfahrens geschrieben werden als x(k+1) = (D − ωL)−1 [(1 − ω)D + ωU ]x(k) + ω(D + ωL)−1 b.
(11.22)
Die von ω abh¨ angige Iterationsmatrix des SOR-Verfahrens ist deshalb definiert durch T SOR (ω) := (D − ωL)−1 [(1 − ω)D + ωU ],
(11.23)
493
11.2 Gesamtschritt- und Einzelschrittverfahren
und der Konstantenvektor ist cSOR (ω) := ω(D + ωL)−1 b, mit denen das SOR-Verfahren auch die Gestalt (11.17) erh¨ alt. F¨ ur ω = 1 gelten selbstverst¨andlich T SOR (1) = T ES und cSOR (1) = cES . Alle betrachteten Iterationsverfahren haben damit die Form einer Fixpunktiteration x(k+1) = T x(k) + c,
k = 0, 1, 2, . . . ,
(11.24)
mit der speziellen Eigenschaft, dass sie linear und station¨ar sind. Denn die Iterationsmatrix T und der Konstantenvektor c sind nicht vom iterierten Vektor x(k) und auch nicht von k abh¨ angig. Sowohl T als auch c sind konstant, falls im JOR- und SOR-Verfahren der Relaxationsparameter ω fest gew¨ ahlt wird. Zudem handelt es sich um einstufige Iterationsverfahuckliegenden Iterationsvektoren ren, da zur Bestimmung von x(k+1) nur x(k) und keine zur¨ verwendet werden. Da Fixpunktiterationen zur iterativen L¨ osung von linearen Gleichungssystemen außer den oben betrachteten Herleitungen noch auf unz¨ ahlig andere Arten konstruiert werden k¨onnen, stellt sich das grunds¨ atzliche Problem, ob die Fixpunktiteration in einer sinnvollen Relation zum Gleichungssystem steht. Diese Problematik f¨ uhrt zu folgender Definition 11.1. Ein Gleichungssystem Ax = b heißt vollst¨andig konsistent mit einer Fixpunktgleichung x = T x + c, wenn jede L¨ osung der einen Gleichung auch L¨osung der anderen ist. Lemma 11.2. F¨ ur ω > 0 ist das JOR-Verfahren vollst¨andig konsistent mit Ax = b. Beweis. Sei x die eindeutige L¨ osung von Ax = b. Dann folgen f¨ ur ω = 0 wegen (11.14) die beiden folgenden Relationen ω(D − L − U )x − ωb = 0, Dx = Dx − ω(D − L − U )x + ωb.
(11.25) (11.26)
Wegen der Regularit¨ at von D folgt aus (11.26) weiter x
= x − ω[I − D−1 (L + U ]x + ωD −1 b = [(1 − ω)I + ωD−1 (L + U )]x + ωD−1 b
(11.27)
= T JOR (ω)x + cJOR (ω).
Folglich ist x L¨ osung der Fixpunktgleichung. Sei nun umgekehrt x ein Fixpunkt von x = T JOR (ω)x + cJOR ω und somit (11.27) erf¨ ullt. Durch Multiplikation der ersten Zeile von (11.27) mit der regul¨ aren Matrix D folgt (11.26), nach dem Wegstreichen von Dx in (11.26) resultiert (11.25) und schließlich nach Division durch ω = 0 das Gleichungssystem Ax = b. Somit ist jeder Fixpunkt der Fixpunktgleichung des JOR-Verfahrens auch L¨osung des linearen Gleichungssystems.
494
11.2.2
11 Lineare Gleichungssysteme, iterative Verfahren
Einige Konvergenzs¨atze
Zuerst wollen wir allgemein die notwendigen und hinreichenden Bedingungen daf¨ ur erkennen, dass die lineare station¨ are Fixpunktgleichung (11.24) eine gegen den Fixpunkt konvergente Vektorfolge x(k) erzeugt. Auf Grund dieses Ergebnisses werden dann einige Konvergenzaussagen hergeleitet, die auf bestimmten Eigenschaften der Matrix A beruhen. F¨ ur den ersten Punkt k¨onnen wir den Banachschen Fixpunktsatz 4.4 heranziehen und brauchen dessen Aussagen nur auf den vorliegenden Spezialfall zu u ¨ bertragen. aß (11.24) definiert durch F (x) := T x + c mit Die Abbildung F : Ên → Ên ist gem¨ T ∈ Ên,n , x, c ∈ Ên . · bezeichne eine Matrix- und eine Vektornorm, die miteinander kompatibel sind. Dann gilt f¨ ur beliebige Vektoren x, y ∈ Ên F (x) − F (y) = T x − T y = T (x − y) ≤ T · x − y.
(11.28)
Die Matrixnorm T u ¨ bernimmt somit die Rolle der Lipschitz-Konstanten L in (4.8), und die Abbildung ist sicher dann kontrahierend, falls L := T < 1 gilt. Damit folgt aus dem Banachschen Fixpunktsatz: Satz 11.3. F¨ ur eine Matrixnorm T gelte T < 1. Dann besitzt die Fixpunktgleichung x = T x + c genau einen Fixpunkt x ∈ Ên , gegen den die Iterationsfolge x(k+1) = T x(k) +c, k = 0, 1, 2, . . ., f¨ ur beliebige Startvektoren x(0) ∈ Ên konvergiert. Außerdem gilt und
x(k+1) − x ≤ T x(k) − x,
x(k) − x ≤
(11.29)
T k x(1) − x(0) . 1 − T
(11.30)
An der hinreichenden Konvergenzaussage ist unbefriedigend, dass die Kontraktionsbedingung von der verwendeten Matrixnorm abh¨ angig ist. Beispiel 11.2. F¨ur die symmetrische Matrix
Ì
=
0.1 −0.4
−0.4 0.8
!
ist die Zeilensummennorm (2.66) Ì z = Ì ∞ = 1.2 > 1, w¨ ahrend f¨ ur die Spektralnorm (2.77) Ì e = Ì 2 = max |λi (Ì )| = 0.9815 < 1 gilt. Die Kontraktionseigenschaft der durch Ì defii
nierten linearen Abbildung F : Ê2 → Zeilensummennorm hingegen nicht.
Ê2
kann mit der Spektralnorm erkannt werden, mit der △
Da der Spektralradius σ(T ) := max |λi (T )| f¨ ur jede Matrixnorm von T eine untere Schranke i
bildet, ist er die entscheidende Gr¨ oße f¨ ur die Konvergenz der Fixpunktiteration. Mit ihm ist auch die notwendige Konvergenz-Bedingung zu formulieren. Satz 11.4. Eine Fixpunktiteration x(k+1) = T x(k) + c, k = 0, 1, 2, . . ., welche zum Gleichungssystem Ax = b vollst¨andig konsistent ist, erzeugt genau dann f¨ ur jeden beliebigen Startvektor x(0) eine gegen die L¨osung x konvergente Folge, falls σ(T ) < 1 ist.
11.2 Gesamtschritt- und Einzelschrittverfahren
495
Beweis. Es soll hier gen¨ ugen, den Satz f¨ ur symmetrische Matrizen zu beweisen, um auf den Fall komplexer Eigenwerte und Eigenvektoren nicht eingehen zu m¨ ussen. Nach Satz 5.3 kann eine symmetrische Matrix T mit einer orthogonalen Matrix C ¨ahnlich auf eine Diagonalmatrix transformiert werden: CT C T = diag(λi ) =: Λ. aquivalent zu der Iterationsvorschrift Wegen C T C = I ist (11.24) ¨ ˜ ˜ (k+1) = Λ˜ x(k) + c x
(11.31)
˜ (k) = Cx(k) und ˜ mit x c = Cc. Da Λ eine Diagonalmatrix ist, zerf¨allt (11.31) in n einzelne Iterationsvorschriften (k+1)
x ˜i
(k)
= λi x ˜i
+ c˜i , i = 1, . . . , n.
(11.32)
Da f¨ ur den Spektralradius σ(T ) < 1 gilt, gilt dies auch f¨ ur jeden einzelnen Eigenwert. Daraus folgt die Konvergenz der Folgen (11.32), woraus die Konvergenz der Folge (11.31) folgt, und die ist ¨ aquivalent zur Konvergenz der Folge (11.24). Aus der vorausgesetzten Regularit¨ at der Matrix A und der vollst¨andigen Konsistenz folgt damit die Existenz und Eindeutigkeit des Fixpunktes x der Iteration. Die Voraussetzung σ(T ) < 1 ist somit hinreichend f¨ ur die Konvergenz der Iterationsfolge. Die Notwendigkeit der Bedingung ergibt sich aus folgender Betrachtung. Aus den beiden ur den Gleichungen x(k+1) = T x(k) + c und x = T x + c erhalten wir durch Subtraktion f¨ Fehler f (k) := x(k) − x die Beziehung f (k+1) = T f (k) ,
k = 0, 1, 2, . . . .
(11.33)
Aus der Annahme, es sei σ(T ) ≥ 1 folgt aber, dass ein Eigenwert λi von T existiert mit ur einen Startvektor x(0) mit f (0) = x(0) −x = |λi | ≥ 1. Der zugeh¨orige Eigenvektor sei y i . F¨ αy i kann die Folge der Fehlervektoren f (k) = T k x(0) = αλk1 y i nicht gegen den Nullvektor konvergieren. Die a priori und a posteriori Fehlerabsch¨ atzungen (4.11) und (4.12) des Banachschen Fixpunktsatzes sowie die dazu ¨ aquivalenten Absch¨atzungen (11.29) und (11.30) behalten ihre G¨ ultigkeit, falls dort L bzw. T durch σ(T ) ersetzt und die einschl¨agige Vektornorm verwendet wird. Deshalb ist asymptotisch die Anzahl der Iterationsschritte, die notwendig sind, um die Norm des Fehlers auf den zehnten Teil zu reduzieren, gegeben durch 1 −1 ≈ . m≥ log10 T − log10 σ(T )
Man bezeichnet r(T ) := − log10 σ(T ) als asymptotische Konvergenzrate der Fixpunktiteration, weil ihr Wert den Bruchteil von Dezimalstellen angibt, welcher pro Schritt in der N¨ aherung x(k) an Genauigkeit gewonnen wird. Die Konstruktion von linearen Iterationsverfahren muss zum Ziel haben, Iterationsmatrizen T mit m¨oglichst kleinem Spektralradius zu erzeugen, um damit eine rasche Konvergenz zu garantieren.
496
11 Lineare Gleichungssysteme, iterative Verfahren
Die Iterationsmatrix T wird in den anvisierten Anwendungen eine große, kompliziert aufgebaute Matrix sein. Deshalb ist es in der Regel gar nicht m¨oglich, ihren Spektralradius zu berechnen. In einigen wichtigen F¨ allen kann aber aus bestimmten Eigenschaften der Matrix A auf σ(T ) geschlossen werden oder es kann σ(T ) in Abh¨angigkeit von Eigenwerten anderer Matrizen dargestellt werden. Im Folgenden wird eine kleine Auswahl von solchen Aussagen zusammengestellt. Satz 11.5. Falls das Jacobi-Verfahren konvergent ist, dann trifft dies auch f¨ ur das JORVerfahren f¨ ur 0 < ω ≤ 1 zu. Beweis. Wir bezeichnen die Eigenwerte der Matrix T J = D −1 (L + U ) des J-Verfahrens mit µj und diejenigen von T JOR (ω) = (1 − ω)I + ωD−1 (L + U ) mit λj . Da zwischen den Iterationsmatrizen der Zusammenhang T JOR (ω) = (1 − ω)I + ωT J besteht, so gilt f¨ ur die Eigenwerte λj = (1 − ω) + ωµj ,
j = 1, 2, . . . , n.
(11.34)
Wegen der Voraussetzung σ(T J ) < 1 liegen alle Eigenwerte µj im Innern des Einheitskreises der komplexen Zahlenebene. Die Eigenwerte λj stellen sich nach (11.34) f¨ ur 0 < ω ≤ 1 als konvexe Linearkombination der Zahl 1 und des Wertes µj dar, wobei das Gewicht von 1 echt kleiner als Eins ist. Jeder Eigenwert λj von T JOR (ω) liegt somit auf der halboffenen Verbindungsgeraden von 1 nach µj und somit ebenfalls im Inneren der Einheitskreises. Folglich ist σ(T JOR (ω)) < 1 f¨ ur alle ω ∈ (0, 1]. Satz 11.6. F¨ ur eine strikt diagonal dominante Matrix A (siehe Definition 2.5) ist das J-Verfahren konvergent und folglich auch das JOR-Verfahren f¨ ur ω ∈ (0, 1]. Beweis. F¨ ur eine strikt diagonal dominante Matrix A gilt nach (2.38) |aii | >
n
k=1 k = i
|aik |,
i = 1, 2, . . . , n.
(11.35)
Folglich sind alle Diagonalelemente aii = 0, die Matrix D ist invertierbar, und die Iterationsmatrix T J = D −1 (L + U ) hat die Gestalt ⎛
0
⎜ ⎜ a21 ⎜ − ⎜ a22 ⎜ ⎜ .. TJ = ⎜ . ⎜ ⎜ .. ⎜ ⎜ . ⎜ ⎝ a n1 − ann
−
a12 a11 0
a13 a11 a23 − a22 .. .
−
··· ··· ..
−
an2 ann
···
−
.
an,n−1 ann
a1n a11 a2n − a22 .. . an−1,n − an−1,n−1 −
0
⎞
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟. ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
11.2 Gesamtschritt- und Einzelschrittverfahren
497
Wegen (11.35) folgt f¨ ur den Spektralradius die Absch¨atzung -n n k = 1 |aik | aik k = i = max σ(T J ) ≤ T J ∞ = max <1 aii i i |aii | k=1 k = i
und damit die Konvergenz des Gesamtschrittverfahrens.
Differenzenverfahren f¨ uhren in der Regel auf Gleichungssysteme mit schwach diagonal dominanter Matrix A. Satz 11.6 l¨ asst sich f¨ ur solche Matrizen unter einer Zusatzbedingung verallgemeinern. Definition 11.7. Eine Matrix A ∈ Ên,n mit n > 1 heißt irreduzibel oder unzerlegbar, falls f¨ ur zwei beliebige, nichtleere und disjunkte Teilmengen S und T von W = {1, 2, . . . , n} mit S ∪ T = W stets Indexwerte i ∈ S und j ∈ T existieren, so dass aij = 0 ist. Es ist leicht einzusehen, dass folgende Definition ¨aquivalent ist. Definition 11.8. Eine Matrix A ∈ Ên,n mit n > 1 heißt irreduzibel oder unzerlegbar, falls es keine Permutationsmatrix P ∈ Ên,n gibt, so dass bei gleichzeitiger Zeilen- und Spaltenpermutation von A # " F 0 (11.36) P T AP = G H
wird, wo F und H quadratische Matrizen und 0 eine Nullmatrix darstellen.
Diese Definition der Irreduzibilit¨ at einer Matrix bedeutet im Zusammenhang mit der L¨osung eines Gleichungssystems Ax = b, dass sich die Gleichungen und gleichzeitig die Unbekannten nicht so umordnen lassen, dass das System derart zerf¨allt, dass zuerst ein Teilsystem mit der Matrix F und anschließend ein zweites Teilsystem mit der Matrix H gel¨ost werden kann. Um die Unzerlegbarkeit einer gegebenen Matrix A in einer konkreten Situation entscheiden zu k¨ onnen, ist die folgende ¨ aquivalente Definition n¨ utzlich [Hac 93, You 71]. Definition 11.9. Eine Matrix A ∈ Ên,n heißt irreduzibel, falls zu beliebigen Indexwerten i und j mit i, j ∈ W = {1, 2, . . . , n} entweder aij = 0 ist oder eine Indexfolge i1 , i2 , . . . , is existiert, so dass gilt.
aii1 · ai1 i2 · ai2 i3 · · · ais j = 0
Die in der Definition 11.9 gegebene Charakterisierung der Irreduzibilit¨at besitzt eine anschauliche Interpretation mit Hilfe eines der Matrix A ∈ Ên,n zugeordneten gerichteten Graphen G(A). Er besteht aus n verschiedenen Knoten, die von 1 bis n durchnummeriert seien. Zu jedem Indexpaar (i, j), f¨ ur welches aij = 0 ist, existiert eine gerichtete Kante vom Knoten i zum Knoten j. Falls aij = 0 und aji = 0 sind, dann gibt es im Graphen G(A)
498
11 Lineare Gleichungssysteme, iterative Verfahren
je eine gerichtete Kante von i nach j und von j nach i. F¨ ur aii = 0 enth¨alt G(A) eine so genannte Schleife. Diese sind f¨ ur die Irreduzibilit¨at allerdings bedeutungslos. Eine Matrix A ∈ Ên,n ist genau dann irreduzibel, falls der Graph G(A) in dem Sinn zusammenh¨angend ist, dass von jedem Knoten i jeder (andere) Knoten j u ¨ber mindestens einen gerichteten Weg, der sich aus gerichteten Kanten zusammensetzt, erreichbar ist. der Abb. 11.1 ist irreduzibel, weil der zugeordnete Graph G( ) Beispiel 11.3. Die Matrix offensichtlich zusammenh¨ angend ist. △
⎛
0 ⎜ 1 A=⎜ ⎝ 0 1
1 0 1 0
Abb. 11.1 Matrix
0 1 0 0
⎞ 1 0 ⎟ ⎟ 1 ⎠ 1
1
2
4
3
und gerichteter Graph G( ).
Beispiel 11.4. Die Matrix in Abb. 11.2 ist hingegen reduzibel, denn der Graph G( ) ist nicht zusammenh¨ angend, da es keinen gerichteten Weg von 1 nach 4 gibt. In diesem Fall liefert eine gleichzeitige Vertauschung der zweiten und dritten Zeilen und Spalten eine Matrix der Gestalt (11.36). Mit S := {1, 3} und W := {2, 4} ist die Bedingung der Definition 11.7 nicht erf¨ ullt. △
⎛
1 0 ⎜ 0 1 A=⎜ ⎝ 1 0 0 1
1 1 1 1
⎞
1
2
3
4
0 1 ⎟ ⎟ 0 ⎠ 1
Abb. 11.2 Beispiel einer zerlegbaren Matrix.
Beispiel 11.5. F¨ur die Diskretisierung einer partiellen Differenzialgleichung mit dem Differenzenverfahren und dem Differenzenstern aus Beispiel 11.1 ergibt sich eine vern¨ unftige geometrische Bedingung f¨ ur die Unzerlegbarkeit der entstehenden Matrix: Jeder innere Punkt muss von jedem anderen inneren Punkt auf einem Weg u ¨ ber innere Nachbarpunkte erreichbar sein. Die Matrix zur Diskretisierung in Abb. 11.3 ist deshalb zerlegbar. △
499
11.2 Gesamtschritt- und Einzelschrittverfahren
Abb. 11.3 Diskretisierung eines Gebietes mit zerlegbarer Matrix.
Lemma 11.10. Eine irreduzible, schwach diagonal dominante Matrix A ∈ verschwindende Diagonalelemente und ist regul¨ar, d.h. es gilt |A| = 0.
n,n
hat nicht-
Beweis. Zuerst zeigen wir, dass aii = 0 f¨ ur alle i ∈ W = {1, 2, . . . , n} gilt. Angenommen, es sei f¨ ur einen Index i das Diagonalelement aii = 0. Wegen der schwachen diagonalen ur alle j = i. Mit den Indexmengen S := {i}, T := Dominanz m¨ usste dann aij = 0 sein f¨ W − {i} steht dies im Widerspruch zur vorausgesetzten Irreduzibilit¨at nach Definition 11.7. Die zweite Aussage wird ebenfalls indirekt gezeigt. Wir nehmen an, es sei |A| = 0. Folglich besitzt das homogene Gleichungssystem Az = 0 eine nichttriviale L¨osung z = 0. Wegen aii = 0 k¨ onnen alle Gleichungen nach der in der Diagonale stehenden Unbekannten zi aufgel¨ ost werden, und wir erhalten
zi = −
n n aij bij zj , zj =: aii j=1 j=1
i = 1, 2, . . . , n,
(11.37)
j = i
mit bii := 0, bij := −aij /aii , (j = i). Aus der schwachen diagonalen Dominanz von A folgt aber f¨ ur die Matrix B n j=1
|bij | ≤ 1
f¨ ur i = 1, 2, . . . , n,
(11.38)
wobei f¨ ur mindestens einen Index i0 in (11.38) strikte Ungleichung gilt. Wir definieren ur welchen |zk | = M gilt. Aus (11.37) M := max |zi | > 0 und es sei k einer jener Indizes, f¨ i
ergibt sich f¨ ur die k-te Gleichung
n n M = |zk | = bkj zj ≤ |bkj | · |zj |. j=1 j=1
(11.39)
500
11 Lineare Gleichungssysteme, iterative Verfahren
Wegen (11.38) gilt
n j=1
n j=1
|bkj | · M ≤ M und zusammen mit (11.39) erhalten wir
|bkj |(|zj | − M ) ≥ 0.
(11.40)
Da aber |zj | ≤ M ist f¨ ur alle j, kann (11.40) nur dann erf¨ ullt sein, falls f¨ ur alle Matrixelemente bkj = 0 die Gleichheit |zj | = M gilt. An dieser Stelle ist die Irreduzibilit¨at von A zu ber¨ ucksichtigen. Nach Definition 11.9 existiert zu jedem Indexpaar (k, j) mit k = j entweder das Matrixelement akj = 0 oder aber eine Indexfolge k1 , k2 , . . . , ks , so dass akk1 ·ak1 k2 ·ak2 k3 · · · aks j = 0 ist. Folglich ist entweder bkj = 0 oder bkk1 ·bk1 k2 ·bk2 k3 · · · bks j = 0. Nach dem oben Gesagten muss somit entweder |zj | = M oder |zk1 | = M gelten. Im letz¨ ten Fall ist die Uberlegung auch f¨ ur die Gleichung mit dem Index k1 anwendbar, und wegen bk1 k2 = 0 gilt dann auch |zk2 | = M . Durch analoge Fortsetzung dieser Schlussweise ergibt sich somit, dass auch |zj | = M f¨ ur jedes beliebige j = k gelten muss. F¨ ur diejenige Gleichung mit dem Index i0 , f¨ ur welche (11.38) als strikte Ungleichung gilt, folgt deshalb wegen |zj | = M M≤
n j=1
|bi0 j | · M < M
der gew¨ unschte Widerspruch. Also muss die Matrix A regul¨ar sein. Satz 11.11. F¨ ur eine irreduzible, schwach diagonal dominante Matrix A ist das J-Verfahren konvergent und somit auch das JOR-Verfahren f¨ ur ω ∈ (0, 1]. Beweis. Wir zeigen die Aussage auf indirekte Art und treffen die Gegenannahme, es gelte σ(T J ) ≥ 1. Demnach existiert ein Eigenwert µ von T J mit |µ| ≥ 1, und f¨ ur ihn gelten |T J − µI| = 0
oder
|I − µ−1 T J | = 0.
Aus der Voraussetzung, die Matrix A sei irreduzibel, folgt, dass auch die Iterationsmatrix des J-Verfahrens T J = D −1 (L + U ) irreduzibel ist, da diese Eigenschaft nur die NichtDiagonalelemente betrifft. Das gleiche gilt dann auch f¨ ur die Matrix C := I − µ−1 T J , welche zudem schwach diagonal dominant ist. Denn f¨ ur die Matrixelemente tij von T J gelten tii = 0, tij = −aij /aii , (j = i), und infolge der schwachen diagonalen Dominanz von |tij | ≤ 1 f¨ ur alle i, wobei f¨ ur mindestens einen Index i0 strikte Ungleichheit A folgt somit j =i
gilt. Weiter ist zu beachten, dass |µ−1 | ≤ 1 ist, und zusammen mit der vorerw¨ahnten Eigenschaft folgt die schwache diagonale Dominanz von C. Nach Lemma 11.10 muss aber 0 sein, was den Widerspruch liefert. Unsere Gegenannahme ist dann |C| = |I − µ−1 T J | = falsch, und es gilt σ(T J ) < 1.
Im Folgenden betrachten wir den Spezialfall, dass die Matrix A des linearen Gleichungssystems symmetrisch und positiv definit ist.
11.2 Gesamtschritt- und Einzelschrittverfahren
501
Satz 11.12. Es sei A ∈ Ên,n symmetrisch und positiv definit und ¨ uberdies das J-Verfahren konvergent. Dann ist das JOR-Verfahren konvergent f¨ ur alle ω mit 0 < ω < 2/(1 − µmin ) ≤ 2,
(11.41)
wobei µmin der kleinste, negative Eigenwert von T J ist. Beweis. Aus der Symmetrie von A = D − L − U folgt U = LT und folglich ist (U + L) symmetrisch. Wegen der positiven Definitheit von A sind die Diagonalelemente aii > 0, √ √ √ und es kann die reelle, regul¨ are Diagonalmatrix D1/2 := diag( a11 , a22 , . . . , ann ) gebildet werden. Dann ist die Iterationsmatrix T J = D−1 (L + U ) ¨ahnlich zur symmetrischen Matrix S := D1/2 T J D−1/2 = D −1/2 (L + U )D −1/2 . Demzufolge sind die Eigenwerte µj von T J reell. Unter ihnen muss mindestens einer negativ sein. Denn die Diagonalelemente von T J sind gleich null und somit ist auch die Spur von T J gleich null, die aber gleich der Summe der Eigenwerte ist. Somit gilt, falls T J = 0 ist, µmin = min µj < 0. Wegen der vorausgesetzten Konvergenz des J-Verfahrens ist σ(T J ) < 1 und deshalb µmin > −1. Wegen der Relation (11.34) zwischen den Eigenwerten λj von T JOR (ω) und den Eigenwerten µj sind auch die λj reell. Die notwendige und hinreichende Bedingung f¨ ur die Konvergenz des JOR-Verfahrens lautet deshalb −1 < 1 − ω + ωµj < 1,
j = 1, 2, . . . , n,
oder nach Subtraktion von 1 und anschließender Multiplikation mit −1 0 < ω(1 − µj ) < 2,
j = 1, 2, . . . , n.
Da 1 − µj > 0 gilt, ist 1 − µj f¨ ur µj = µmin < 0 am gr¨oßten, und es folgt daraus die Bedingung (11.41). Das Gesamtschrittverfahren braucht nicht f¨ ur jede symmetrische und positiv definite Matrix A zu konvergieren. Beispiel 11.6. Die symmetrische Matrix 0
1 B =@ a a
a 1 a
1 a C a A= 1
ist positiv definit f¨ ur a ∈ (−0.5, 1), wie man mit Hilfe ihrer Cholesky-Zerlegung bestimmen kann. Die zugeh¨ orige Iterationsmatrix 1 0 0 −a −a C B J = + = @ −a 0 −a A −a −a 0
hat die Eigenwerte µ1,2 = a und µ3 = −2a, so dass σ( J ) = 2|a| ist. Das J-Verfahren ist dann und nur dann konvergent, falls a ∈ (−0.5, 0.5) gilt. Es ist nicht konvergent f¨ ur a ∈ [0.5, 1), f¨ ur welche △ Werte positiv definit ist.
502
11 Lineare Gleichungssysteme, iterative Verfahren
Die bisherigen S¨ atze beinhalten nur die grunds¨ atzliche Konvergenz des JOR-Verfahrens unter bestimmten Voraussetzungen an die Systemmatrix A, enthalten aber keine Hinweise u ur bestm¨ ogliche Konvergenz. Die diesbez¨ ugliche Optimie¨ ber die optimale Wahl von ω f¨ rungsaufgabe lautet wegen (11.34): ! ! min σ(T JOR (ω)) = min max |λj | = min max |1 − ω + ωµj | ω
ω
ω
j
j
Diese Aufgabe kann dann gel¨ ost werden, wenn u ¨ber die Lage oder Verteilung der Eigenwerte µj von T J konkrete Angaben vorliegen. Wir f¨ uhren diese Diskussion im Spezialfall einer symmetrischen und positiv definiten Matrix A, f¨ ur die die Eigenwerte µj von T J reell sind, und unter der Voraussetzung, dass das J-Verfahren konvergent sei, und somit −1 < µmin ≤ µj ≤ µmax < 1 gilt. Wegen (11.34) ist |λj | = |1 − ω(1 − µj )| eine st¨ uckweise lineare Funktion von ω. In Abb. 11.4 sind die Geraden |λj | f¨ ur µmin = −0.6, µmax = 0.85 und einen weiteren Eigenwert µj dargestellt. Der Wert von ωopt wird aus dem Schnittpunkt der beiden erstgenannten Geraden ermittelt, da sie den Spektralradius σ(T JOR (ω)) bestimmen. Aus der Gleichung 1 − ω(1 − µmax ) = −1 + ω(1 − µmin )
ergibt sich in diesem Fall
ωopt = 2/(2 − µmax − µmin ).
(11.42)
Das f¨ uhrt zu einem Spektralradius
σ(T JOR (ωopt )) = 0.8286 < 0.85 = σ(T J )
|λ(µmax )|
1
|λ(µmin )|
0.5
|λ(µj )| ωopt
ω
0 0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Abb. 11.4 Zur optimalen Wahl von ω, JOR-Verfahren.
Diese Abnahme des Spektralradius σ(T J ) zu σ(T JOR (ωopt )) ist im betrachteten Fall minimal. Abb. 11.4 zeigt aber, dass mit einer Wahl von ω > ωopt die Konvergenz stark
11.2 Gesamtschritt- und Einzelschrittverfahren
503
verschlechtert wird. F¨ ur µmin = −µmax ist ωopt = 1, d.h. dann konvergiert das Gesamtschrittverfahren am schnellsten. Bei anderen, speziellen Eigenwertverteilungen µj kann durch geeignete Wahl von ω eine betr¨ achtliche Konvergenzverbesserung erzielt werden, vgl. Aufgaben 11.7 und 11.8. Im Folgenden untersuchen wir die Konvergenz des SOR-Verfahrens und behandeln das Einzelschrittverfahren als Spezialfall f¨ ur ω = 1. Satz 11.13. Das SOR-Verfahren ist f¨ ur 0 < ω ≤ 1 konvergent, falls die Matrix A ∈ Ên,n entweder strikt diagonal dominant oder irreduzibel und schwach diagonal dominant ist. Beweis. Aus der Voraussetzung f¨ ur A folgt aii = 0, so dass die Matrix D (11.14) regul¨ar ist. Der Beweis des Satzes wird indirekt gef¨ uhrt. Wir nehmen an, es sei σ(T SOR (ω)) ≥ 1 f¨ ur 0 < ω ≤ 1. Die Iterationsmatrix T SOR (ω) = (D − ωL)−1 [(1 − ω)D + ωU ] besitzt dann ur diese einen Eigenwert λ mit |λ| ≥ 1. F¨ ur diesen Eigenwert gilt |T SOR (ω) − λI| = 0. F¨ Determinante erhalten wir durch eine Reihe von Umformungen nacheinander 0
= |T SOR (ω) − λI| = |(D − ωL)−1 [(1 − ω)D + ωU ] − λI| = |(D − ωL)−1 {(1 − ω)D + ωU − λ(D − ωL)}|
= |(D − ωL)−1 | · |(1 − ω − λ)D + ωU + λωL| λω ω −1 n U− L . = |D − ωL| (1 − ω − λ) D − λ+ω−1 λ+ω−1
Bei der letzten Umformung wurde verwendet, dass der Faktor (1 − ω − λ) = 0 ist wegen 0 < ω ≤ 1 und |λ| ≥ 1. Deswegen und weil |D − ωL| = 0 ist, gilt auf Grund unserer Annahme ω λω D − = 0. U − L (11.43) λ+ω−1 λ+ω−1
Der betrachtete Eigenwert λ kann komplex sein. Seinen Kehrwert setzen wir deshalb in der Form λ−1 = r · eiϑ an, und es gilt r ≤ 1. Wir wollen nun zeigen, dass die Faktoren von U und L in (11.43) betragsm¨ aßig kleiner oder gleich Eins sind. λω λ + ω − 1
= = =
ω ω = 1 + (ω − 1)λ−1 1 − (1 − ω)reiϑ ω [{1 − (1 − ω)r cos ϑ}2 + (1 − ω)2 r2 sin2 ϑ]1/2 ω ω ≤ 1 − r(1 − ω) [1 − 2(1 − ω)r cos ϑ + (1 − ω)2 r2 ]1/2
Der letzte Quotient ist aber durch Eins beschr¨ ankt f¨ ur 0 < ω ≤ 1 und r ≤ 1, denn es ist 1−
ω (1 − r)(1 − ω) = ≥ 0. 1 − r(1 − ω) 1 − r(1 − ω)
504
11 Lineare Gleichungssysteme, iterative Verfahren
Deshalb folgen in der Tat die Absch¨ atzungen ωλ ω ≤ λ + ω − 1 λ + ω − 1 ≤ 1.
Die Matrix A ist nach Voraussetzung diagonal dominant oder irreduzibel und schwach diagonal dominant. Dasselbe gilt auch f¨ ur die im Allgemeinen komplexwertige Matrix der Determinante (11.43). Nach dem Lemma 11.10 ist die Determinante einer solchen Matrix aber von null verschieden, und dies liefert den Widerspruch. Die Annahme σ(T SOR (ω)) ≥ 1 f¨ ur 0 < ω ≤ 1 ist falsch, und damit ist die Aussage des Satzes bewiesen. Satz 11.14. Das SOR-Verfahren ist h¨ochstens f¨ ur 0 < ω < 2 konvergent. Beweis. Zum Beweis verwenden wir die Tatsache, dass das Produkt der n Eigenwerte einer (n × n)-Matrix gleich der Determinante der Matrix ist. F¨ ur die Iterationsmatrix T SOR (ω) gilt aber unter Beachtung der Dreiecksgestalt von Matrizen |T SOR (ω)|
= |(D − ωL)−1 [(1 − ω)D + ωU ]| = |D − ωL|−1 · |(1 − ω)D + ωU | = |D|−1 (1 − ω)n |D| = (1 − ω)n .
Daraus folgt die Ungleichung n
σ(T SOR (ω)) ≥
n
i=1
|λi | = |1 − ω|n ,
und somit σ(T SOR (ω)) ≥ |1 − ω|. Damit kann σ(T SOR (ω)) < 1 h¨ochstens dann gelten, falls ω ∈ (0, 2). Es gibt F¨ alle von Matrizen A, bei denen f¨ ur gewisse ω-Werte σ(T SOR (ω)) = |1 − ω| ist, vgl. Abschnitt 11.2.3 und Aufgabe 11.8. Dass andererseits das m¨ogliche Intervall f¨ ur ω ausgesch¨ opft werden kann, zeigt der folgende Satz 11.15. F¨ ur eine symmetrische und positiv definite Matrix A ∈ Ên,n gilt σ(T SOR (ω)) < 1
f¨ ur
ω ∈ (0, 2).
(11.44)
Beweis. Wir wollen zeigen, dass jeder Eigenwert λ ∈ von T SOR (ω) f¨ ur ω ∈ (0, 2) betragsm¨ aßig kleiner als Eins ist. Sei also z ∈ n ein zu λ geh¨origer Eigenvektor, so dass gilt T SOR (ω)z = λz.
505
11.2 Gesamtschritt- und Einzelschrittverfahren
Dann gelten auch die beiden folgenden ¨ aquivalenten Gleichungen (D − ωL)−1 [(1 − ω)D + ωU ]z = λz, 2[(1 − ω)D + ωU ]z = λ2(D − ωL)z.
(11.45)
F¨ ur die beiden Matrizen in (11.45) sind Darstellungen zu verwenden, in denen insbesondere A und D auftreten, die symmetrisch und positiv definit sind. Wegen A = D − L − U gelten 2[(1 − ω)D + ωU ] = (2 − ω)D − ωD + 2ωU
= (2 − ω)D − ωA − ωL − ωU + 2ωU = (2 − ω)D − ωA + ω(U − L), 2(D − ωL) = (2 − ω)D + ωD − 2ωL
= (2 − ω)D + ωA + ωL + ωU − 2ωL = (2 − ω)D + ωA + ω(U − L).
Setzen wir die beiden Ausdr¨ ucke, die sich nur im Vorzeichen des Summanden ωA unterschei¯ T , erhalten den, in (11.45) ein und multiplizieren die Vektorgleichung von links mit z H = z wir unter Beachtung der Distributivit¨ at des Skalarproduktes f¨ ur komplexe Vektoren und der Tatsache, dass ω und (2 − ω) reell sind (2 − ω)z H Dz − ωz H Az + ωz H (U − U T )z = λ[(2 − ω)z H Dz + ωz H Az + ωz H (U − U T )z].
(11.46)
Da A symmetrisch und positiv definit ist, ist f¨ ur jeden komplexen Vektor z = 0 der Wert ur z H Dz = d. Die Matrix z H Az = a eine reelle positive Zahl. Dasselbe gilt auch f¨ T (U − U ) ist hingegen schiefsymmetrisch, so dass die quadratische Form z H (U − U T )z = aren Wert annimmt. Aus der skalaren Gleichung (11.46) folgt ib, b ∈ Ê, einen rein imagin¨ damit λ=
(2 − ω)d − ωa + iωb . (2 − ω)d + ωa + iωb
F¨ ur ω ∈ (0, 2) sind (2 − ω)d > 0 und ωa > 0 und somit |(2 − ω)d − ωa| < (2 − ω)d + ωa. Jeder Eigenwert λ von T SOR (ω) ist darstellbar als Quotient von zwei komplexen Zahlen mit gleichem Imagin¨ arteil, wobei der Z¨ ahler einen betragskleineren Realteil als der Nenner aufweist. Daraus folgt die Behauptung (11.44). F¨ ur die zahlreichen weiteren Konvergenzs¨ atze, Varianten und Verallgemeinerungen der hier behandelten Iterationsverfahren sei auf die weiterf¨ uhrende Spezialliteratur [Hac 93, You 71] verwiesen.
506
11.2.3
11 Lineare Gleichungssysteme, iterative Verfahren
¨ Optimaler Relaxationsfaktor der Uberrelaxation
¨ Die S¨ atze 11.13 und 11.15 garantieren die Konvergenz der Uberrelaxationsmethode f¨ ur bestimmte ω-Intervalle, lassen aber die Frage einer optimalen Wahl des Relaxationsfaktores ur eine Klasse von Matrizen A ω zur Minimierung des Spektralradius σ(T SOR (ω)) offen. F¨ mit spezieller Struktur, wie sie bei Differenzenverfahren f¨ ur elliptische Randwertaufgaben auftreten, existiert eine entsprechende Aussage. Definition 11.16. Eine Matrix A ∈ Ên,n mit der speziellen blockweise tridiagonalen Gestalt ⎛ ⎞ D1 H 1 0 ··· 0 0 ⎜ K 1 D2 H 2 0 ··· 0 ⎟ ⎜ ⎟ ⎜ ⎟ .. . . ⎜ 0 K 2 D3 ⎟ . H3 . ⎜ ⎟ A=⎜ . (11.47) ⎟, .. .. .. .. ⎜ .. ⎟ . . . . 0 ⎜ ⎟ ⎜ ⎟ .. ⎝ 0 . K s−2 D s−1 H s−1 ⎠ 0 0 ··· 0 K s−1 Ds wo die D i quadratische Diagonalmatrizen sind, heißt eine T -Matrix. Die Matrizen H i und K i der beiden Nebendiagonalen sind im Allgemeinen rechteckig.
Solche T -Matrizen besitzen die folgende besondere Eigenschaft. Lemma 11.17. Ist A = D − L − U eine T -Matrix, wo L eine strikte untere, U eine strikte obere Blockdreiecksmatrix bedeuten, dann gilt f¨ ur alle α = 0 und β ∈ Ê αL + 1 U − βD = |L + U − βD|, (11.48) α
d.h. die Determinante hat einen von α unabh¨angigen Wert. Beweis. Im konkreten Fall s = 4 ist mit α = 0 ⎛
βD1 ⎜ αK 1 1 αL + U − βD = − ⎜ ⎝ α
α−1 H 1 βD 2 αK 2
α−1 H 2 βD 3 αK 3
−1
α H3 βD 4
⎞
⎟ ⎟. ⎠
Dann definieren wir die Matrix ⎛
⎜ Q := ⎜ ⎝
⎞
I1 αI 2 2
α I3 α3 I 4
⎟ ⎟, ⎠
⎛
⎜ Q−1 = ⎜ ⎝
⎞
I1 α−1 I 2 −2
α
I3 α−3 I 4
⎟ ⎟, ⎠
11.2 Gesamtschritt- und Einzelschrittverfahren
507
wo die Einheitsmatrizen I i die gleichen Ordnungen haben wie die entsprechenden Diagonalmatrizen Di von A. Man verifiziert leicht, dass folgendes gilt # " 1 Q−1 αL + U − βD Q = L − βD + U α und deshalb αL + 1 U − βD = |Q(L − βD + U )Q−1 | = |L − βD + U |. α
Matrizen A = D − L − U , f¨ ur welche die Determinante |αL + α−1 U − βD| unabh¨angig von α = 0 ist, nennt man auch konsistent geordnet [Var 00].
F¨ ur solche Matrizen k¨ onnen die Eigenwerte der festen, einfach aufgebauten Matrix T J des Gesamtschrittverfahrens mit denjenigen der bedeutend komplizierteren Matrix T SOR (ω) in Abh¨ angigkeit von ω in Beziehung gebracht werden. Diese Relation stellt dann den Schl¨ ussel dar zur Bestimmung des optimalen Relaxationsfaktors. Zur Herleitung dieser Beziehung ist es zweckm¨ aßig, f¨ ur T J und T SOR (ω) andere Darstellungen zu verwenden. Seien dazu E := D−1 L und F := D−1 U . Dann gilt TJ
=
T SOR (ω) = = =
D −1 (L + U ) = D −1 L + D −1 U = E + F (D − ωL)−1 [(1 − ω)D + ωU ] [D(I − ωD−1 L)]−1 D[(1 − ω)I + ωD−1 U ] (I − ωE)−1 [(1 − ω)I + ωF ].
(11.49)
(11.50)
Lemma 11.18. Es sei A ∈ Ên,n eine T -Matrix mit aii = 0 und T J = E + F die Iterationsmatrix des J-Verfahrens. Dann gelten folgende Aussagen: a) Ist µ ein Eigenwert von T J mit der Vielfachheit p, dann ist auch −µ Eigenwert von T J mit derselben Vielfachheit. ullt die Gleichung b) Eine Zahl λ ∈ erf¨ (11.51) (λ + ω − 1)2 = ω 2 µ2 λ, ω = 0, f¨ ur einen Eigenwert µ von T genau dann, wenn λ die Gleichung √ J (11.52) λ + ω − 1 = ωµ λ, ω = 0, f¨ ur einen Eigenwert µ von T J erf¨ ullt. c) Wenn λ ∈ (11.51) oder (11.52) erf¨ ullt und µ Eigenwert von T J ist, dann ist λ ein ur das betreffende ω. Ist umgekehrt λ ein Eigenwert von T SOR (ω), Eigenwert von T SOR (ω) f¨ dann gibt es einen Eigenwert µ von T J , so dass (11.51) und (11.52) erf¨ ullt sind. Beweis. a) Wenn A eine T -Matrix ist, dann trifft diese Eigenschaft auch f¨ ur T J zu. Ist µ ein Eigenwert von T J mit der Vielfachheit p, dann ist |E + F − µI| = 0. Aus (11.48) folgt mit α = −1, β = µ, D = I 0 = |E + F − µI| = | − E − F − µI| = (−1)n |E + F + µI|, dass −µ Eigenwert mit derselben Vielfachheit ist.
508
11 Lineare Gleichungssysteme, iterative Verfahren
b) Ist µ Eigenwert f¨ ur ein λ ∈ erf¨ ullt, dann gilt f¨ ur λ entweder √ von T J und ist (11.51) √ λ + ω − 1 = ωµ λ oder λ + ω − 1 = −ωµ λ. Da aber mit µ auch −µ Eigenwert von T J ist, folgt die eine Richtung der Aussage. Die Umkehrung ist trivial. c) Nehmen wir den Fall λ = 0 vorweg. Aus (11.51) oder (11.52) folgt ω = 1. In diesem Fall gilt aber (vgl. Beweis von Satz 11.14) |T SOR (ω)| = (1 − ω)n = 0, und λ = 0 ist Eigenwert von T SOR (1). Dies gilt allerdings zu beliebigem µ. Jetzt seien λ = 0 und ω = 0 vorausgesetzt. Um den gew¨ unschten Zusammenhang herzustellen, betrachten wir die Determinante |T SOR (ω) − λI| = = =
|(I − ωE)−1 [(1 − ω)I + ωF ] − λI| |(I − ωE)−1 [(1 − ω)I + ωF − λ(I − ωE)]|
|I − ωE|−1 · |λωE + ωF − (λ + ω − 1)I|.
An dieser Stelle ist |I − ωE| = 1 zu ber¨ ucksichtigen. Auf die verbleibende Determinante soll das Lemma 11.17 angewandt werden k¨ onnen. Zu diesem Zweck wird aus jeder Zeile der √ Faktor ω λ = 0 herausgezogen, und wir erhalten weiter mit (11.48) λ + ω − 1 √ I |T SOR (ω) − λI| = ω n λn/2 λ1/2 E + λ−1/2 F − ω λ λ+ω−1 √ = ω n λn/2 E + F − I . (11.53) ω λ
Erf¨ ullt ein λ ∈ (11.52) und ist µ Eigenwert von T J = E + F , dann ist die letzte Determinante gleich null und somit λ Eigenwert von T SOR (ω). Ist umgekehrt λ√ein Eigenwert von T SOR (ω), dann muss definitionsgem¨ aß wegen (11.53) µ = (λ + ω − 1)/(ω λ) Eigenwert von T J sein.
Durch die Gleichung (11.51) oder (11.52) kann nach Lemma 11.18 jedem Eigenwertpaar ±µ von T J ein Eigenwertpaar λ1,2 von T SOR (ω) zugeordnet werden, womit eine Abbildung des Spektrums von T J auf dasjenige von T SOR (ω) definiert ist. Bei bekannten Eigenschaften oglich, im Fall von T -Matrizen den Wert von ωopt zur des Spektrums von T J ist es deshalb m¨ Minimierung von σ(T SOR (ω)) entweder exakt oder zumindest n¨aherungsweise anzugeben [You 71]. Die Abbildung kann am durchsichtigsten diskutiert werden, wenn die Eigenwerte √ von T J reell sind. Dazu werden wir die in λ quadratische Gleichung (11.52) auch in der folgenden Form verwenden √ λ − ωµ λ + (ω − 1) = 0, (11.54)
welche unter den getroffenen Annahmen reelle Koeffizienten besitzt. F¨ ur eine quadratische Gleichung x2 − bx + c = 0
mit b, c ∈ Ê
kann man zeigen, dass sie genau dann L¨ osungen x1 , x2 vom Betrag kleiner als Eins hat, falls 1/2 1/2 |c| < 1 und |b| < 1 + c gilt. Deshalb sind die beiden L¨osungen λ1 und λ2 von (11.54) genau dann betragsm¨ aßig kleiner als Eins, falls |ω − 1| < 1 und |ωµ| < 1 + (ω − 1) = ω, d.h. falls ω ∈ (0, 2)und |µ| < 1 gelten. Das bedeutet aber, dass das SOR-Verfahren f¨ ur eine
509
11.2 Gesamtschritt- und Einzelschrittverfahren
T -Matrix A genau dann konvergent ist, falls das Gesamtschrittverfahren konvergent und ω ∈ (0, 2) ist. Satz 11.19. Ist A eine T -Matrix mit aii = 0, und besitzt die Iterationsmatrix T J = D −1 (L + U ) nur reelle Eigenwerte µj und gilt σ(T J ) < 1, dann ist der optimale Relaxationsfaktor ωopt des SOR-Verfahrens gegeben durch $ ωopt = 2/[1 + 1 − µ21 ] mit µ1 = σ(T J ), (11.55)
und der zugeh¨orige optimale Spektralradius ist σ(T SOR (ωopt )) = ωopt − 1.
(11.56)
Beweis. Betrachten wir zuerst den Fall ω = 1, d.h. das Einzelschrittverfahren. Die Gleichung (11.51) reduziert sich auf λ2 − µ2 λ = 0, so dass jedem Eigenwertpaar ±µj = 0 das Paar von (2) (1) Eigenwerten λj = µ2j > 0 und λj = 0 zugeordnet werden kann. Die von null verschiedenen Eigenwerte der Iterationsmatrix T ES sind reell und positiv, und es gilt insbesondere σ(T ES ) = σ(T SOR (1)) = [σ(T J )]2 .
(11.57)
Die Konvergenzrate r(T ES ) des Einzelschrittverfahrens ist in diesem Spezialfall doppelt so groß wie die Konvergenzrate r(T J ) des J-Verfahrens. Es sei jetzt ω = 1, ω ∈ (0, 2). (11.51) verwenden wir in der ¨aquivalenten Form λ2 + [2(ω − 1) − ω 2 µ2 ]λ + (ω − 1)2 = 0.
(11.58)
Ist µ = 0, dann sind die zugeh¨ origen Eigenwerte λ = −(ω − 1), d.h. es gilt |λ| = |ω − 1|. Zu (2) (1) oren die beiden Eigenwerte λj und λj als L¨osungen jedem Eigenwertpaar ±µj = 0 geh¨ (1)
(2)
von (11.58), f¨ ur die nach dem Satz von Vieta λj · λj (1) |λj |
(2) |λj |
(1)
(2)
= (ω − 1)2 gilt. Sind λj , λj
∈
= |ω −1|. Alle komplexen Eigenwerte von = konjugiert komplex, dann gilt f¨ ur sie T SOR (ω) liegen in der komplexen Zahlenebene auf dem Kreis mit dem Radius |ω − 1| mit Zentrum im Ursprung. F¨ ur den Fall, dass alle Eigenwerte λj komplex sind f¨ ur ein bestimmtes ur alle Eigenwertpaare ω, dann ist σ(T SOR (ω)) = |ω − 1|. Diese Situation tritt ein, falls f¨ ±µj die Diskriminante von (11.58) negativ ist, d.h. wenn D = [2(ω − 1) − ω 2 µ2 ]2 − 4(ω − 1)2 = −ω 2 µ2 [4(ω − 1) − ω 2 µ2 ] < 0 gilt. Somit muss 4(ω − 1) > ω 2 µ2 sein und folglich ω > 1. Die untere Schranke der letzen ur Ungleichung ist am gr¨ oßten f¨ ur das betragsgr¨ oßte Eigenwertpaar ±µ1 mit µ1 = σ(T J ). F¨ denjenigen ω-Wert, f¨ ur den 4(ω − 1) = ω 2 µ21
oder
µ21 ω 2 − 4ω + 4 = 0
(11.59)
510
11 Lineare Gleichungssysteme, iterative Verfahren (1)
(2)
gilt, sind alle Eigenwerte λj , λj (2)
(1)
komplex, die beiden zu ±µ1 geh¨origen Eigenwerte λ1
und λ1 fallen zusammen und haben ebenfalls den Betrag (ω − 1). Aus (11.59) ergeben sich die m¨ oglichen L¨ osungen f¨ ur das kritische ω
ω1,2 =
4±
0 2(1 ± 1 − µ21 ) 2 16 − 6µ21 0 = = . 2 2 2µ1 µ1 1 ∓ 1 − µ21
0
(11.60)
Wegen ω ∈ (0, 2) f¨ allt in (11.60) das obere Vorzeichen außer Betracht. Daraus folgt bereits, 0 dass f¨ ur alle ω ∈ [ωkrit , 2) mit ωkrit = 2/[1 + 1 − µ21 ] < 2 alle Eigenwerte λj von T SOR (ω) vom Betrag ω − 1 sind, und folglich σ(T SOR (ω)) = ω − 1 ≥ ωkrit − 1 ist. Umgekehrt (2) (1) ur ω ∈ (0, ωkrit ), zugeh¨orig zu den Eigenwertpaaren existieren reelle L¨ osungen λj , λj f¨ (1)
(2)
±µj , f¨ ur welche µ2j > 4(ω − 1)2 /ω 2 gilt. Wegen λj · λj = (ω − 1)2 ist einer vom Betrag gr¨ oßer als |ω − 1|. Beide Eigenwerte m¨ ussen aber positiv sein, denn f¨ ur ±µj = 0 und ω = 1 (2) (1) 2 osungen der quadratischen Gleichung (11.58) sind sind λj = µj > 0 und λj = 0. Die L¨ stetig abh¨ angig von den in ω stetigen Koeffizienten. Lassen wir ω von Eins stetig zu- oder (1) (2) (1) abnehmen, bleibt λj > 0 und λj < λj muss positiv werden. Schließlich erkennt man aus der Darstellung der gr¨ oßeren L¨ osung von (11.54)
(1)
λj
⎡
=⎣
ω|µj | +
$ ⎤2 ω 2 µ2j − 4(ω − 1) ⎦ 2
(D > 0),
(11.61)
dass diese mit |µj | monoton zunehmen. Dem gr¨oßten Eigenwert µ1 wird der gr¨oßte po(1) sitive Eigenwert λ1 zugeordnet, der gr¨ oßer als |ω − 1| ist und somit den Spektralradius (1) σ(T SOR (ω)) bestimmt. Es bleibt noch zu zeigen, dass der dominante Eigenwert λ1 mit wachsendem ω > 0 monoton abnimmt. Aus (11.61) ergibt sich mit |µj | = µ1 = σ(T J ) f¨ ur die Ableitung (1)
dλ1 = dω
$ ωµ21 − 2 (1) <0 λ1 µ1 + 0 ω 2 µ21 − 4(ω − 1)
f¨ ur ω ∈ (0, ωkrit ).
ur den Radikanden gilt die Denn es gilt ωµ21 − 2 < 0 f¨ ur 0 < ω < 2 wegen µ21 < 1, und f¨ Absch¨ atzung ω 2 µ21 − 4ω + 4 < ω 2 µ21 − 4ωµ21 + 4 = (ωµ1 − 2)2 < (ωµ21 − 2)2 . 0 Deshalb ist ω 2 µ21 − 4(ω − 1) < |ωµ21 − 2|, der Quotient in der eckigen Klammer kleiner als −1 und damit die Klammer negativ. Damit ist gezeigt, dass der Spektralradius σ(T SOR (ω)) f¨ ur ω = ωkrit am kleinsten ist, dies ist der optimale Wert von ω, und es gelten (11.55) und (11.56).
511
11.2 Gesamtschritt- und Einzelschrittverfahren
Auf Grund des Beweises von Satz 11.19 ist der Spektralradius σ(T SOR (ω)) des SORVerfahrens f¨ ur eine T -Matrix A gegeben durch ⎧ 2 0 ⎪ ⎨ ωµ1 + ω 2 µ21 − 4(ω − 1) 0 ≤ ω ≤ ωopt σ(T SOR (ω)) = (11.62) 2 ⎪ ⎩ ω−1 ωopt ≤ ω ≤ 2
Der Graph des Spektralradius (11.62) ist in Abb. 11.5 f¨ ur µ1 = 0.95 dargestellt. Er besitzt f¨ ur ω = ωopt − 0 eine vertikale Tangente, weil der Nenner der Ableitung verschwindet. F¨ ur die Rechenpraxis bedeutet dies, dass es besser ist, ω etwas gr¨oßer als ωopt zu w¨ahlen, weil die Konvergenzverschlechterung nur gering ist, w¨ahrend eine zu kleine Wahl von ω < ωopt eine drastische Konvergenzeinbuße zur Folge hat. Im dargestellten Beispiel ist die Konvergenzverbesserung erheblich: Das Jacobi-Verfahren ben¨otigt mit σ(T J ) = µ1 = 0.95 45 Schritte f¨ ur eine Fehlerreduktion um eine Dezimalstelle, das Einzelschrittverfahren mit ur das optimale Relaxationsverfahσ(T ESV ) = σ(T SOR )(1) = µ21 = 0.9025 nur die H¨alfte; f¨ ugen 4 Schritte. Untersch¨atzt man das optimale ω um ren mit σ(T SOR (ωopt )) = 0.5241 gen¨ 10%, ben¨ otigt man 9 statt 4 Schritte; u atzt es um 10%, ben¨otigt man nur 6 statt 4 ¨ bersch¨ Schritte.
1
ρ(TSOR(ω))
µ21
0.5
ωopt
ω
0 0
0.5
1
1.5
2
Abb. 11.5 Spektralradius des SOR-Verfahrens f¨ ur eine T -Matrix (µ1 = 0.95).
Beispiel 11.7. Um die Konvergenzverbesserung des SOR-Verfahrens gegen¨uber dem Gesamtschritt- und Einzelschrittverfahren zu illustrieren, betrachten wir das Modellproblem der elliptischen Randwertaufgabe in einem Rechteck entsprechend zum Beispiel 11.1, f¨ ur welches der Spektralradius µ1 = σ(Ì J ) des J-Verfahrens angegeben werden kann. Bei spalten- oder zeilenweiser Nummerierung der Gitterpunkte ist die resultierende Matrix (11.3) keine T -Matrix, weil die l¨ angs der Diagonale keine Diagonalmatrizen sind. Diese Eigenschaft kann aber durch Matrizen eine schachbrettartige F¨ arbung der inneren Gitterpunkte und eine anschließende Nummerierung, bei der zuerst die Gitterpunkte der einen Farbe und dann diejenigen der anderen Farbe erfasst werden, erreicht werden, wie dies in Abb. 11.6 f¨ ur ein (N = 5) × (M = 3)-Gitter dargestellt ist.
512
11 Lineare Gleichungssysteme, iterative Verfahren
1
10
4
13
7
9
3
12
6
15
2
11
5
14
8
Abb. 11.6 Schachbrett-Nummerierung der Gitterpunkte.
der Ordnung n = N · M besitzt f¨ ur die F¨ unfpunkte-Formel (11.1) offenbar die Die Matrix spezielle Blockstruktur ! =
1
1
1
mit Diagonalmatrizen
1
und
1,
2
weil in der Differenzengleichung f¨ ur einen schwarzen Gitterpunkt neben der Unbekannten des betreffenden Punktes nur Unbekannte von weiß markierten Gitterpunkten auftreten und umgekehrt. Dies kann man am (N = 5) × (M = 3)-Beispiel gut erkennen: 1 0 + · · · · · · · × × · · · · · B · + · · · · · · × · × · · · · C C B C B B · · + · · · · · × × × × · · · C C B B · · · + · · · · · × · × × · · C C B B · · · · + · · · · · × × · × · C C B B · · · · · + · · · · · × × × ×C C B B · · · · · · + · · · · · × · ×C C 1 B C B = 2 B · · · · · · · + · · · · · × ×C C h B B× × × · · · · · + · · · · · · C C B B× · × × · · · · · + · · · · · C C B B · × × · × · · · · · + · · · · C C B C B B · · × × × × · · · · · + · · · C C B B · · · × · × × · · · · · + · · C C B @ · · · · × × · × · · · · · + · A · · · · · × × × · · · · · · +
Dabei sind + ≡ 4, × ≡ −1 und · ≡ 0.
Die Matrix geht aus (11.3) durch eine gleichzeitige Zeilen- und Spaltenpermutation hervor. Man sagt, dass eine Matrix , welche auf diese Weise auf eine spezielle T -Matrix der Gestalt (11.47) gebracht werden kann, die Property A habe [You 71]. Die Matrix ist irreduzibel schwach diagonal dominant, sie ist symmetrisch wegen T1 = 1 , die Iterationsmatrix J hat reelle Eigenwerte µj , und f¨ ur sie gilt wegen Satz 11.11 σ( J ) < 1. Deshalb ist der Satz 11.19 f¨ ur die optimale Wahl des Relaxationsfaktors der SOR-Methode anwendbar. F¨ ur das Modellproblem aus Beispiel 11.1 sind ur 1 und 2 je gleich den Vierfachen entsprechender Einheitsmatrizen. Aus diesem Grund gilt f¨ die Iterationsmatrix ! 1 1 0 − 1 = − . J = 4 4 − 1 0
513
11.3 Methode der konjugierten Gradienten Tab. 11.1 Konvergenzverhalten f¨ ur das Modellproblem. N, M 5, 3 10, 6 20,12 30,18 40,24 60,36 80,48
n 15 60 240 540 960 2160 3840
µ1 0.7866 0.9302 0.9799 0.9906 0.9946 0.9975 0.9986
mJ 10 32 113 244 424 933 1640
σ(Ì ES ) 0.6187 0.8653 0.9602 0.9813 0.9892 0.9951 0.9972
mES 5 16 57 122 212 467 820
ωopt 1.2365 1.4631 1.6673 1.7595 1.8118 1.8689 1.8994
σ(Ì SOR ) 0.2365 0.4631 0.6673 0.7595 0.8118 0.8689 0.8994
Die Eigenwerte der Matrix lassen sich formelm¨ aßig angeben: « „ «ff j „ kπ jπ λjk = 4 − 2 cos + cos , N +1 M +1 j = 1, 2, . . . , N ; k = 1, 2, . . . , M.
mSOR 1.6 3.0 5.7 8.4 11 16 22
q 6 11 20 29 38 57 75
(11.63)
Aus den Eigenwerten (11.63) der Matrix ergeben sich die Eigenwerte von J als j „ « „ «ff 1 jπ kπ µjk = cos + cos , j = 1, 2, . . . , N ; k = 1, 2, . . . , M. 2 N +1 M +1
Daraus resultiert der Spektralradius f¨ ur j = k = 1 j „ « „ «ff π π 1 cos + cos . σ( J ) = µ11 = 2 N +1 M +1
In Tabelle 11.1 sind f¨ ur einige Wertekombinationen N und M die Ordnungen n = N · M , die Spektralradien σ( J ) des J-Verfahrens, σ( ES ) des Einzelschrittverfahrens, die optimalen Werte ωopt des SOR-Verfahrens und die zugeh¨ origen Spektralradien σ( SOR (ω)) angegeben. Zu Vergleichszwecken sind die ganzzahligen Werte m von Iterationsschritten aufgef¨ uhrt, welche zur Reduktion des Fehlers auf den zehnten Teil n¨ otig sind sowie das Verh¨ altnis q = mJ /mSOR , welche die wesentliche Konvergenzsteigerung zeigen. Die Tabelle zeigt, dass das SOR-Verfahren etwa N -mal (N > M ) schneller konvergiert als das Gesamtschrittverfahren, falls ω optimal gew¨ ahlt wird. Diese Tatsache kann f¨ ur das Modellproblem auf analytischem Weg nachgewiesen werden. △
11.3
Methode der konjugierten Gradienten (CG-Verfahren)
Im Folgenden befassen wir uns mit der iterativen L¨osung von linearen Gleichungssystemen Ax = b mit symmetrischer und positiv definiter Matrix A ∈ Ên,n . Solche Gleichungssysteme treten auf im Zusammenhang mit Differenzenverfahren und mit der Methode der finiten Elemente zur Behandlung von elliptischen Randwertaufgaben.
11.3.1
Herleitung des Algorithmus
Als Grundlage zur Begr¨ undung des iterativen Verfahrens zur L¨osung von symmetrischen positiv definiten Gleichungssystemen dient der
514
11 Lineare Gleichungssysteme, iterative Verfahren
Satz 11.20. Die L¨osung x von Ax = b mit symmetrischer und positiv definiter Matrix A ∈ Ên,n ist das Minimum der quadratischen Funktion n n n 1 1 (11.64) bi vi = (v, Av) − (b, v). F (v) := aik vk vi − 2 i=1 2 i=1 k=1
Beweis. Die i-te Komponente des Gradienten von F (v) ist n
∂F = aik vk − bi , ∂vi
i = 1, 2, . . . , n,
(11.65)
k=1
und deshalb ist der Gradient grad F (v) = Av − b = r
(11.66)
gleich dem Residuenvektor r zum Vektor v. F¨ ur die L¨ osung x ist mit grad F (x) = 0 die notwendige Bedingung f¨ ur ein Extremum erf¨ ullt. ¨ Uberdies ist die Hessesche Matrix H von F (v) gleich der Matrix A und somit positiv definit. Das Extremum ist in der Tat ein Minimum. Umgekehrt ist jedes Minimum von F (v) L¨ osung des Gleichungssystems, denn wegen der stetigen Differenzierbarkeit der Funktion F (v) muss grad F (v) = Av − b = 0 gelten, d.h. v muss gleich der eindeutigen L¨ osung x sein. Wegen Satz 11.20 wird die Aufgabe, Ax = b zu l¨osen, durch die ¨aquivalente Aufgabe ersetzt, das Minimum von F (v) auf iterativem Weg zu bestimmen. Das Grundprinzip der Methode besteht darin, zu einem gegebenen N¨ aherungsvektor v und einem gegebenen, geeignet festzulegenden Richtungsvektor p = 0 die Funktion F (v) in dieser Richtung zu minimieren. Gesucht wird somit ein t ∈ Ê in v ′ := v + tp
so, dass
F (v ′ ) = F (v + tp) = min!
Bei festem v und p stellt dies eine Bedingung an t dar. Aus 1 F ∗ (t) := F (v + tp) = (v + tp, A(v + tp)) − (b, v + tp) 2 1 1 = (v, Av) + t(p, Av) + t2 (p, Ap) − (b, v) − t(b, p) 2 2 1 2 t (p, Ap) + t(p, r) + F (v) = 2 ergibt sich durch Nullsetzen der Ableitung nach t (p, r) , r = Av − b. tmin = − (p, Ap) Da A positiv definit ist, ist (p, Ap)1/2 =: pA
(11.67)
(11.68)
(11.69)
eine Norm, die so genannte Energienorm. Deshalb ist mit p = 0 der Nenner in (11.68) eine positive Zahl. Der Parameter tmin liefert tats¨ achlich ein Minimum von F (v) in Richtung p,
515
11.3 Methode der konjugierten Gradienten
Ô
Ü Abb. 11.7 Geometrische Interpretation eines Iterationsschrittes.
Ö′
Ú′ Ú Ö
weil die zweite Ableitung von F ∗ (t) nach t positiv ist. Die Abnahme des Funktionswertes von F (v) zu F (v ′ ) im Minimalpunkt v ′ ist maximal, weil der Graph von F ∗ (t) eine sich nach oben o ¨ffnende Parabel ist. Der Richtungsvektor p darf aber nicht orthogonal zum Residuenvektor r sein, da andernfalls wegen tmin = 0 dann v ′ = v gilt. Satz 11.21. Im Minimalpunkt v ′ ist der Residuenvektor r ¼ = Av ¼ − b orthogonal zum Richtungsvektor p. Beweis. Wegen(11.68) gilt (p, r ¼ ) = =
(p, Av ¼ − b) = (p, A(v + tmin p) − b) (p, r + tmin Ap) = (p, r) + tmin (p, Ap) = 0.
Ein Iterationsschritt zur Verkleinerung des Wertes F (v) besitzt f¨ ur n = 2 folgende geometrische Interpretation, welche sp¨ ater die Motivation f¨ ur den Algorithmus liefert. Die Niveaulinien F (v) = const sind konzentrische Ellipsen, deren gemeinsamer Mittelpunkt gleich dem Minimumpunkt x ist. Im gegebenen Punkt v steht der Residuenvektor r senkrecht zur Niveaulinie durch den Punkt v. Mit dem Richtungsvektor p wird derjenige Punkt v ′ ermittelt, f¨ ur den F (v ′ ) minimal ist. Da dort nach Satz 11.21 der Residuenvektor r′ orthogonal zu p ist, ist p Tangente an die Niveaulinie durch v ′ (vgl. Abb. 11.7). Es ist nahe liegend als Richtungsvektors p den negativen Gradienten p = −grad F (v) = −(Av − b) = −r zu w¨ ahlen. Dies f¨ uhrt auf die Methode des steilsten Abstiegs, auf die wir aber nicht weiter eingehen werden. Denn dieses Vorgehen erweist sich oft als nicht besonders vorteilhaft, obwohl in jedem Iterationsschritt diejenige Richtung gew¨ahlt wird, welche lokal die st¨ arkste Abnahme der Funktion F (v) garantiert. Sind n¨amlich im Fall n = 2 die Ellipsen sehr langgestreckt, entsprechend einer großen Konditionszahl von A, werden viele Schritte ben¨ otigt, um in die N¨ ahe des Minimumpunktes x zu gelangen. In der Methode der konjugierten Gradienten von Hestenes und Stiefel [Hes 52] wird von der geometrischen Tatsache Gebrauch gemacht, dass diejenige Richtung p, welche vom Punkt v den Mittelpunkt x der Ellipsen trifft, mit der Tangentenrichtung im Punkt v im Sinn der Kegelschnittgleichungen konjugiert ist. Mit dieser Wahl w¨ urde man im Fall n = 2 die L¨osung x unmittelbar finden.
516
11 Lineare Gleichungssysteme, iterative Verfahren
Ô(k)
Ô(k−1)
Ü
(k)
M
Ü(k−1) E
Ö(k−1)
Ü(k−2) Abb. 11.8 Wahl des Richtungsvektors
Ô(k) .
ur Definition 11.22. Zwei Vektoren p, q ∈ Ên heißen konjugiert oder A-orthogonal, falls f¨ die positiv definite Matrix A gilt (p, Aq) = 0.
(11.70)
Ausgehend von einem Startvektor x(0) wird im ersten Schritt der Richtungsvektor p(1) durch den negativen Residuenvektor festgelegt und der Minimalpunkt x(1) bestimmt. Mit (11.68) lautet dieser Schritt p(1)
=
q1
:=
−r(0) = −(Ax(0) − b), (r (0) , r (0) )
(p(1) , Ap(1) )
x(1) = x(0) + q1 p(1) .
,
(11.71)
Im allgemeinen k-ten Schritt betrachtet man die zweidimensionale Ebene E des Ên durch den Iterationspunkt x(k−1) , welche aufgespannt wird vom vorhergehenden Richtungsvektor p(k−1) und dem nach Satz 11.21 dazu orthogonalen Residuenvektor r (k−1) . Der Schnitt der Ebene E mit der Niveaufl¨ ache F (v) = F (x(k−1) ) ist eine Ellipse (vgl. Abb. 11.8). (k−1) Der Richtungsvektor p von x(k−2) durch x(k−1) ist Tangente an diese Ellipse, weil (k−1) x Minimalpunkt ist. Das Ziel des k-ten Iterationsschrittes besteht darin, das Minimum von F (v) bez¨ uglich der Ebene E zu ermitteln, welches im Mittelpunkt der Schnittellipse uglich angenommen wird. Der Richtungsvektor p(k) muss somit konjugiert sein zu p(k−1) bez¨ der Schnittellipse und damit auch bez¨ uglich des Ellipsoids F (v) = F (x(k−1) ). Im zweckm¨ aßigen Ansatz f¨ ur den Richtungsvektor p(k) = −r (k−1) + ek−1 p(k−1)
(11.72)
bestimmt sich ek−1 aus der Bedingung (p(k) , Ap(k−1) ) = 0 zu ek−1 =
(r (k−1) , Ap(k−1) ) (p(k−1) , Ap(k−1) )
.
(11.73)
517
11.3 Methode der konjugierten Gradienten
Mit dem so festgelegten Richtungsvektor p(k) erh¨alt man den iterierten Vektor x(k) als Minimalpunkt gem¨ aß x(k) = x(k−1) + qk p(k)
mit qk = −
(r (k−1) , p(k) ) (p(k) , Ap(k) )
.
(11.74)
Die Nenner von ek−1 und von qk sind positiv, falls p(k−1) bzw. p(k) von null verschieden sind. Dies trifft dann zu, falls r (k−2) und r (k−1) ungleich null sind, weil dann p(k−1) = 0 und p(k) = 0 wegen (11.72) gelten, d.h. solange x(k−2) = x und x(k−1) = x sind. Der Residuenvektor r (k) zu x(k) ist rekursiv berechenbar gem¨aß r (k) = Ax(k) − b = A(x(k−1) + qk p(k) ) − b = r(k−1) + qk Ap(k) .
(11.75)
Die Methode der konjugierten Gradienten ist damit in ihren Grundz¨ ugen bereits vollst¨andig beschrieben. Die Darstellung der beiden Skalare ek−1 (11.73) und qk (11.74) kann noch vereinfacht werden. Dazu ist zu ber¨ ucksichtigen, dass nach Satz 11.21 der Residuenvektor r (k) (k) orthogonal zu p ist, aber auch orthogonal zur Ebene E ist, weil x(k) darin Minimalpunkt ist, und folglich gelten die Orthogonalit¨ atsrelationen (r (k) , p(k) ) = 0,
(r(k) , r (k−1) ) = 0,
(r (k) , p(k−1) ) = 0.
(11.76)
F¨ ur den Z¨ ahler von qk ergibt sich deshalb (r (k−1) , p(k) ) = (r (k−1) , −r(k−1) + ek−1 p(k−1) ) = −(r(k−1) , r (k−1) ), und somit qk =
(r (k−1) , r (k−1) ) (p(k) , Ap(k) )
.
(11.77)
Wegen (11.77) ist sichergestellt, dass qk > 0 gilt, falls r(k−1) = 0, d.h. x(k−1) = x ist. F¨ ur den Z¨ ahler von ek−1 erhalten wir wegen (11.75) f¨ ur k − 1 anstelle von k Ap(k−1) (r (k−1) , Ap(k−1) )
= (r (k−1) − r (k−2) )/qk−1 , = (r (k−1) , r(k−1) )/qk−1 .
Verwendet man f¨ ur qk−1 den entsprechenden Ausdruck (11.77), so ergibt sich aus (11.73) ek−1 =
(r (k−1) , r(k−1) ) . (r (k−2) , r(k−2) )
(11.78)
518
11 Lineare Gleichungssysteme, iterative Verfahren
Mit den neuen Darstellungen wird eine Reduktion des Rechenaufwandes erzielt. Der CGAlgorithmus lautet damit: Start: Wahl von x(0) ; r(0) = Ax(0) − b; p(1) = −r(0) ; Iteration k = 1, 2, 3, . . . : ek−1 = (r (k−1) , r (k−1) )/(r(k−2) , r(k−2) ) Falls k > 1 : p(k) = −r(k−1) + ek−1 p(k−1) z = Ap(k) qk = (r (k−1) , r(k−1) )/(p(k) , z) x(k) = x(k−1) + qk p(k) ; Test auf Konvergenz
(11.79)
r(k) = r(k−1) + qk z
Der Rechenaufwand f¨ ur einen typischen Iterationsschritt setzt sich zusammen aus einer Matrix-Vektor-Multiplikation z = Ap, bei der die schwache Besetzung von A ausgen¨ utzt werden kann, aus zwei Skalarprodukten und drei skalaren Multiplikationen von Vektoren. Sind γn Matrixelemente von A ungleich null, wobei γ ≪ n gilt, betr¨agt der Rechenaufwand pro CG-Schritt etwa Z CGS = (γ + 5)n
(11.80)
multiplikative Operationen. Der Speicherbedarf betr¨agt neben der Matrix A nur rund 4n Pl¨ atze, da f¨ ur p(k) , r (k) und x(k) offensichtlich nur je ein Vektor ben¨otigt wird, und dann noch der Hilfsvektor z auftritt.
11.3.2
Eigenschaften der Methode der konjugierten Gradienten
Wir stellen die wichtigsten Eigenschaften des CG-Algorithmus (11.79) zusammen, welche anschließend die Grundlage dazu bilden werden, u ¨ ber das Konvergenzverhalten Aussagen zu machen. Satz 11.23. Die Residuenvektoren r (k) bilden ein Orthogonalsystem, und die Richtungsvektoren p(k) sind paarweise konjugiert. F¨ ur k ≥ 2 gelten (r (k−1) , r(j) ) (r (k−1) , p(j) )
= 0, = 0,
(p(k) , Ap(j) )
= 0,
j = 0, 1, . . . , k − 2; j = 1, 2, . . . , k − 1;
j = 1, 2, . . . , k − 1.
(11.81) (11.82)
(11.83)
Beweis. Die Aussagen werden durch vollst¨ andige Induktion nach k gezeigt. Induktionsbeginn. F¨ ur k = 2 ist (r (1) , p(1) ) = 0 wegen r (0) = −p(1) und Satz 11.21. Damit sind (11.81) und (11.82) richtig. (11.83) gilt f¨ ur k = 2 nach Konstruktion von p(2) . Induktionsvoraussetzung. (11.81) bis (11.83) sind f¨ ur ein k ≥ 2 richtig.
Induktionbehauptung. Die Relationen (11.81) bis (11.83) sind auch f¨ ur k + 1 richtig. Induktionsbeweis. Um (r (k) , r(j) ) = 0 f¨ ur j = 0, 1, 2, . . . , k − 1 zu zeigen, wird zuerst r (k) auf Grund der Rekursionsformel (11.75) ersetzt und dann wird im zweiten Skalarprodukt
11.3 Methode der konjugierten Gradienten
519
r (j) = ej p(j) − p(j+1) gesetzt, was mit e0 := 0 und p(0) := 0 auch f¨ ur j = 0 richtig bleibt: (r (k) , r(j) ) = =
(r (k−1) , r (j) ) + qk (Ap(k) , r(j) ) (r (k−1) , r (j) ) + qk ej (Ap(k) , p(j) ) − qk (Ap(k) , p(j+1) )
Wegen (Ap(k) , p(j) ) = (p(k) , Ap(j) ) sind nach Induktionsvoraussetzung alle drei Skalarprodukte f¨ ur j = 0, 1, . . . , k − 2 gleich null. F¨ ur j = k − 1 ist das mittlere Skalarprodukt gleich null, und die verbleibenden ergeben null wegen (11.77). Analog folgt (r (k) , p(j) ) = (r (k−1) , p(j) ) + qk (p(k) , Ap(j) ) = 0, denn nach Induktionsvoraussetzung sind beide Skalarprodukte f¨ ur j = 1, . . ., k − 1 gleich null. F¨ ur j = k ist (r (k) , p(k) ) = 0 wegen (11.76). F¨ ur den Nachweis von (p(k+1) , Ap(j) ) = 0 k¨ onnen wir uns auf j = 1, 2, . . . , k−1 beschr¨anken, weil p(k+1) und p(k) nach Konstruktion konjugiert sind. Wegen (11.72) und dann (11.75) gilt (p(k+1) , Ap(j) ) = −(r (k) , Ap(j) ) + ek (p(k) , Ap(j) ) = −[(r (k) , r (j) ) − (r(k) , r (j−1) )]/qj + ek (p(k) , Ap(j) ). Die Skalarprodukte sind auf Grund des ersten Teils des Induktionsbeweises oder der Induktionsvoraussetzung gleich null. Eine unmittelbare Folge von Satz 11.23 ist der Satz 11.24. Die Methode der konjugierten Gradienten liefert die L¨osung eines Gleichungssystems in n Unbekannten nach h¨ochstens n Schritten. Beweis. Da die Residuenvektoren r (0) , r(1) , . . . , r(k) im Ên ein Orthogonalsystem bilden, kann es h¨ ochstens n von null verschiedene Vektoren enthalten, und es muss sp¨atestens r (n) = 0 und deshalb x(n) = x sein. Theoretisch ist der iterativ konzipierte CG-Algorithmus ein endlicher Prozess. Numerisch werden die Orthogonalit¨ atsrelationen (11.81) nicht exakt erf¨ ullt sein. Deshalb ist eine Fortsetzung des Verfahrens u ¨ ber die n Schritte hinaus sinnvoll, weil die Funktion F (v) stets verkleinert wird. Andererseits ist aber zu hoffen, dass insbesondere bei sehr großen Gleichungssystemen bedeutend weniger als n Schritte n¨otig sein werden, um eine N¨aherung der L¨osung x mit gen¨ ugend kleinem Fehler zu produzieren. Als n¨ achstes zeigen wir eine Optimalit¨ atseigenschaft der k-ten Iterierten x(k) des CGVerfahrens. Auf Grund der Rekursionsformel (11.74) besitzt sie die Darstellung x(k) = x(0) +
k i=1
qi p(i) ,
k = 1, 2, 3, . . . .
(11.84)
520
11 Lineare Gleichungssysteme, iterative Verfahren
In jedem einzelnen CG-Schritt wird die Funktion F (v), ausgehend von x(k−1) , nur in Richtung von p(k) lokal minimiert. Wir wollen zeigen, dass der erreichte Wert F (x(k) ) gleich dem globalen Minimum von F (v) bez¨ uglich des Unterraums ist, der von den k Richtungsvektoren aufgespannt ist. Satz 11.25. Die k-te Iterierte x(k) der Methode der konjugierten Gradienten (11.79) minimiert die Funktion F (v) in Bezug auf den Unterraum Sk := span{p(1) , p(2) , . . . , p(k) }, denn es gilt k (i) (k) (0) ci p . (11.85) F (x ) = min F x + c1 ,...,ck
i=1
Beweis. Es ist zu zeigen, dass die Koeffizienten ci in (11.85), welche die Funktion minimieren, mit den Werten der qi in (11.77) identisch sind. Wegen (11.83) gilt
F
x(0) +
k i=1
ci p(i)
=
⎛
⎛
k
k
⎞⎞
1 ⎝ (0) ci p(i) , A ⎝x(0) + cj p(j) ⎠⎠ x + 2 i=1 j=1 k − b, x(0) + ci p(i) i=1
=
k k 1
2
ci cj (p(i) , Ap(j) ) +
i=1 j=1
k
ci (p(i) , Ax(0) )
i=1
k
1 + (x(0) , Ax(0) ) − ci (p(i) , b) − (b, x(0) ) 2 i=1 =
k k 1 2 (i) ci (p(i) , r (0) ) + F (x(0) ). ci (p , Ap(i) ) + 2 i=1 i=1
Die notwendigen Bedingungen f¨ ur ein Extremum von F sind deshalb ∂F = ci (p(i) , Ap(i) ) + (p(i) , r(0) ) = 0, ∂ci
i = 1, 2, . . . , k,
also ci = −(p(i) , r(0) )/(p(i) , Ap(i) ),
i = 1, 2, . . . , k.
F¨ ur i = 1 ist p(1) = −r(0) , und somit gilt c1 = q1 . F¨ ur i > 1 besitzt p(i) nach wiederholter Anwendung von (11.72) die Darstellung ⎛
p(i) = −r(i−1) − ei−1 r(i−2) − ei−1 ei−2 r(i−3) − · · · − ⎝
i−1
j=1
⎞
ej ⎠ r (0) .
(11.86)
521
11.3 Methode der konjugierten Gradienten
Wegen (11.81) und (11.78) folgt daraus −(p(i) , r (0) ) = ei−1 ei−2 . . . e1 (r (0) , r(0) ) = (r (i−1) , r(i−1) ), und somit ci = qi f¨ ur i = 1, 2, . . . , k. Die Unterr¨ aume Sk = span{p(1) , p(2) , . . . , p(k) }, k = 1, 2, 3, . . ., sind aber identisch mit denjenigen, welche durch die k ersten Residuenvektoren r (0) , r(1) , . . . , r(k−1) aufgespannt werden. Die Identit¨ at der Unterr¨ aume sieht man mit Hilfe einer induktiven Schlussweise wie folgt: F¨ ur k = 1 ist wegen p(1) = −r(0) offensichtlich S1 = span{p(1) } = span{r(0) }. Nun nehmen wir an, dass Sk−1 = span{p(1) , . . . , p(k−1) } = span{r(0) , . . . , r (k−2) } f¨ ur ein k > 1. Wegen (11.86) (mit k statt i) gilt dann aber, weil der Koeffizient von r(k−1) gleich −1 ist, dass p(k) ∈ span{r(0) , r(1) , . . . , r(k−1) } = Sk , aber p(k) ∈ / Sk−1 . Daraus ergibt sich in der Tat f¨ ur k = 1, 2, 3, . . . Sk = span{p(1) , p(2) , . . . , p(k) } = span{r(0) , r(1) , . . . , r(k−1) },
(11.87)
und wegen der Orthogonalit¨ at (11.81) der Residuenvektoren gilt nat¨ urlich f¨ ur die Dimension der Unterr¨ aume Sk dim(Sk ) = k, solange x(k−1) = x und somit r (k−1) = 0 ist.
Die Folge der Unterr¨ aume Sk (11.87) ist identisch mit der Folge von Krylov-Unterr¨aumen, welche von r(0) und der Matrix A erzeugt werden gem¨aß K(k) (r (0) , A) := span{r(0) , Ar (0) , A2 r (0) , . . . , Ak−1 r (0) }.
(11.88)
F¨ ur k = 1 ist die Aussage trivialerweise richtig. F¨ ur k = 2 ist wegen r = r + q1 Ap(1) = (0) (0) (0) (0) (1) r − q1 Ar ∈ span{r , Ar }, aber r ∈ / span{r(0) }, falls r (1) = 0 ist, und folglich ist S2 = K(2) (r (0) , A). Weiter ist offensichtlich Ar (1) = Ar (0) − q1 A2 r(0) ∈ K(3) (r (0) , A). Durch vollst¨ andige Induktion nach i folgt wegen (11.86) r (i)
= =
(1)
(0)
r(i−1) + qi (Ap(i) )
⎛ ⎞ i−1 < = r(i−1) − qi Ar (i−1) + ei−1 Ar (i−2) + . . . + ⎝ ej ⎠ (Ar (0) ) j=1
(i)
∈K
(i+1)
(r
(0)
, A)
und f¨ ur r = 0 wegen der Orthogonalit¨ at von r (i) zu Si−1 und damit auch zu K(i) (r (0) , A) (i) (i) (0) / K (r , A). Deshalb gilt allgemein weiter r ∈ Sk = span{r(0) , r (1) , . . . , r (k−1) } = K(k) (r (0) , A).
11.3.3
(11.89)
Konvergenzabsch¨atzung
Auf Grund der Optimalit¨ atseigenschaft der CG-Methode von Satz 11.25 und der Charakteaume (11.89) kann der Fehler f (k) := x(k) −x risierung der Unterr¨ aume Sk als Krylov-Unterr¨
522
11 Lineare Gleichungssysteme, iterative Verfahren
in einer geeignet gew¨ ahlten Vektornorm abgesch¨ atzt werden. Dazu verwenden wir die Energienorm (11.69). F¨ ur einen beliebigen Vektor z ∈ Ên und die L¨osung x von Ax = b gilt nun z − x2A
= = = =
(z − x, A(z − x)) (z, Az) − 2(z, Ax) + (x, Ax) (z, Az) − 2(z, b) + (A−1 b, b) 2F (z) + (A−1 b, b).
(11.90)
Nach Satz 11.25 minimiert die k-te Iterierte x(k) des CG-Verfahrens die Funktion F (x(0) +v) ur z − x nur um eine additive Konstante f¨ ur v ∈ Sk . Da sich das Quadrat der Energienorm f¨ und um den Faktor 2 von F (z) unterscheidet, so folgt mit z = x(k) , dass die Iterierte x(k) den Fehler f (k) in der Energienorm minimiert, und es gilt f (k) A = x(k) − xA = min{z − xA z = x(0) + v, v ∈ Sk }. (11.91) F¨ ur den Residuenvektor r (0) des Krylov-Unterraums gilt r (0) = Ax(0) − b = Ax(0) − Ax = Af (0) ,
(11.92)
und f¨ ur die Differenz z − x in (11.91) ergibt sich z − x = x(0) + v − x = f (0) + v
mit v ∈ Sk = K(k) (r (0) , A).
Die Vektoren z − x, welche zur Minimierung des Fehlers f (k) in (11.91) in Betracht kommen, besitzen deshalb wegen (11.92) folgende Darstellung z−x
= f (0) + c1 Af (0) + c2 A2 f (0) + · · · + ck Ak f (0) = [I + c1 A + c2 A2 + · · · + ck Ak ]f (0) =: Pk (A)f (0) .
(11.93)
Also gibt es ein Polynom Pk (t) mit reellen Koeffizienten vom H¨ochstgrad k und mit der ur den FehlerEigenschaft Pk (0) = 1, weil der Koeffizient von f (0) gleich Eins ist, so dass f¨ vektor f (k) im speziellen gilt f (k) = Pk (A)f (0) .
(11.94)
Wegen der Optimalit¨ at der N¨ aherung x(k) folgt aus (11.91) und (11.94) f (k) A = min Pk (A)f (0) A ,
(11.95)
Pk (t)
wobei das Minimum u ¨ber alle Polynome Pk (t) mit der oben genannten Eigenschaft zu bilden ist. Die Energienorm der rechten Seite (11.95) kann mit Hilfe der Eigenwerte von A abgesch¨ atzt werden. Seien 0 < λ1 ≤ λ2 ≤ . . . ≤ λn die n reellen Eigenwerte von A und z 1 , z 2 , . . . , z n die zugeh¨ origen, orthonormierten Eigenvektoren. Aus der eindeutigen Darstellung von f (0) = α1 z 1 + α2 z 2 + . . . + αn z n folgt f¨ ur die Energienorm ⎞ ⎛ n n n α2i λi . αj λj z j ⎠ = αi z i , f (0) 2A = ⎝ i=1
j=1
i=1
523
11.3 Methode der konjugierten Gradienten
Da f¨ ur die Eigenvektoren z i weiter Pk (A)z i = Pk (λi )z i gilt, ergibt sich analog f (k) 2A
= =
Pk (A)f (0) 2A = (Pk (A)f (0) , APk (A)f (0) ) ⎞ ⎛ n n ⎝ αj λj Pk (λj )z j ⎠ αi Pk (λi )z i , j=1
i=1
=
n
α2i λi Pk2 (λi )
i=1
&
≤ max{Pk (λj )} j
2
'
· f (0) 2A .
Aus (11.95) und (11.96) erhalten wir die weitere Absch¨atzung ! f (k) A ≤ min max |Pk (λ)| . Pk (t) λ∈[λ1 ,λn ] f (0) A
(11.96)
(11.97)
Die durch eine Approximationsaufgabe definierte obere Schranke in (11.97) kann in Abh¨angigkeit von λ1 und λn mit Hilfe der Tschebyscheff-Polynome Tk (x) angegeben werden. Das Intervall [λ1 , λn ] wird dazu vermittels der Variablensubstitution x := (2λ−λ1 −λn )/(λn −λ1 ) auf das Einheitsintervall [−1, 1] abgebildet. Wegen der Minimax-Eigenschaft (3.224) besitzt das Polynom #; " # " λ1 + λn 2λ − λ1 − λn Tk Pk (λ) := Tk λn − λ1 λ1 − λn vom Grad k mit Pk (0) = 1 im Intervall [λ1 , λn ] die kleinste Betragsnorm, und es gilt insbesondere ; " # λ1 + λn . (11.98) max |Pk (λ)| = 1 Tk λ1 − λn λ∈[λ1 ,λn ]
Das Argument von Tk im Nenner von (11.98) ist betragsm¨aßig gr¨oßer als Eins. Wegen (3.202) gelten mit x = cos ϕ " # 1 1 1 cos ϕ = (eiϕ + e−iϕ ) = z+ , z = eiϕ ∈ , 2 2 z 1 1 cos(nϕ) = (einϕ + e−inϕ ) = (z n + z −n ), 2 2 0 √ z = cos ϕ + i sin ϕ = cos ϕ + i 1 − cos2 ϕ = x + x2 − 1, = 0 0 1< (x + x2 − 1)n + (x + x2 − 1)−n . Tn (x) = cos(nϕ) = 2 Obwohl die letzte Formel f¨ ur |x| ≤ 1 hergeleitet worden ist, gilt sie nat¨ urlich auch f¨ ur |x| > 1. Jetzt sei mit κ(A) = λn /λ1 x := −
λ1 + λn λn /λ1 + 1 κ(A) + 1 = > 1. = λ1 − λn λn /λ1 − 1 κ(A) − 1
Dann ist 0 κ+1 x + x2 − 1 = + κ−1
9"
κ+1 κ−1
#2
−1=
√ √ κ+1 κ+2 κ+1 = √ > 1, κ−1 κ−1
524
11 Lineare Gleichungssysteme, iterative Verfahren
und folglich Tk
"
κ+1 κ−1
#
1 = 2
" √ #k " √ #−k "√ #k 1 κ+1 κ+1 κ+1 √ √ + √ ≥ . κ−1 κ−1 2 κ−1
Als Ergebnis ergibt sich damit aus (11.97) der Satz 11.26. Im CG-Verfahren (11.79) gilt f¨ ur den Fehler f (k) = x(k) − x in der Energienorm die Absch¨atzung 0 k κ(A) − 1 f (k) A ≤2 0 . (11.99) κ(A) + 1 f (0) A Auch wenn die Schranke (11.99) im Allgemeinen pessimistisch ist, so gibt sie doch den Hinweis, dass die Konditionszahl der Systemmatrix A eine entscheidende Bedeutung f¨ ur die Konvergenzg¨ ute hat. F¨ ur die Anzahl k der erforderlichen CG-Schritte, derart dass alt man aus (11.99) die Schranke f (k) A /f (0) A ≤ ε ist, erh¨ " # 0 2 1 κ(A) ln k≤ + 1. (11.100) 2 ε
Neben der Toleranz ε ist die Schranke im Wesentlichen von der Wurzel aus der Konditionszahl von A bestimmt. Das CG-Verfahren arbeitet dann effizient, wenn die Konditionszahl von A nicht allzu groß ist oder aber durch geeignete Maßnahmen reduziert werden kann, sei es durch entsprechende Problemvorbereitung oder durch Vorkonditionierung. Beispiel 11.8. Als Modellproblem nehmen wir wieder die auf ein Rechteck verallgemeinerte Randwertaufgabe von Beispiel 11.1 mit f (x, y) = 2. Das Konvergenzverhalten der CG-Methode soll mit dem der SOR-Methode bei optimaler Wahl von ω verglichen werden. In Tabelle 11.2 sind f¨ ur einige Kombinationen der Werte N und M die Ordnung n der Matrix , ihre Konditionszahl κ( ), die obere Schranke k der Iterationschritte gem¨ aß (11.100) f¨ ur ε = 10−6 , die tats¨ achlich festgestellte Zahl der Iterationschritte keff unter dem Abbruchkriterium Ö (k) 2 / Ö (0) 2 ≤ ε, die zugeh¨ orige Rechenzeit tCG sowie die entsprechenden Zahlen kSOR und tSOR zusammengestellt. Da der Residuenvektor im SOR-Verfahren nicht direkt verf¨ ugbar ist, wird hier als Abbruchkriterium Ü(k) − Ü(k−1) 2 ≤ ε verwendet. Tab. 11.2 Konvergenzverhalten des CG-Verfahrens, Modellproblem.
N, M
n
κ(A)
k
keff
tCG
kSOR
tSOR
10, 6 20,12 30,18 40,24 60,36 80,48
60 240 540 960 2160 3840
28 98 212 369 811 1424
39 72 106 140 207 274
14 30 46 62 94 125
0.8 4.1 10.8 23.3 74.3 171.8
23 42 61 78 118 155
1.7 5.3 14.4 30.5 98.2 226.1
525
11.3 Methode der konjugierten Gradienten
Wegen (11.63) ist die Konditionszahl gegeben durch » „ « «– , » « «– „ „ „ Nπ Mπ π π 2 2 κ( ) = sin + sin sin2 + sin2 2N + 2 2M + 2 2N + 2 2M + 2 und nimmt bei Halbierung der Maschenweite h etwa um den Faktor vier zu, so dass sich dabei κ verdoppelt. Die beobachteten Zahlen κeff folgen diesem Gesetz, sind aber nur etwa halb so groß. Der Rechenaufwand steigt deshalb um den Faktor acht an. Dasselbe gilt f¨ ur das SOR-Verfahren, wie auf Grund der Werte mSOR in Tab. 11.1 zu erwarten ist. Die Methode der konjugierten Gradienten l¨ ost die Gleichungssyssteme mit geringerem Aufwand als das SOR-Verfahren. F¨ ur das CG-Verfahren spricht auch die Tatsache, dass kein Parameter gew¨ ahlt werden muss, dass es problemlos auf allgemeine symmetrisch positiv definite Systeme anwendbar ist und dass die Konvergenz noch verbessert werden kann, wie wir im n¨ achsten Abschnitt sehen werden. △
11.3.4
Vorkonditionierung
Das Ziel, die Konvergenzeigenschaften der CG-Methode durch Reduktion der Konditionszahl κ(A) zu verbessern, erreicht man mit einer Vorkonditionierung, indem man das gegebene Gleichungssystem Ax = b, A symmetrisch und positiv definit, mit einer geeignet zu w¨ ahlenden regul¨ aren Matrix C ∈ Ên,n in die ¨ aquivalente Form u uhrt ¨ berf¨ C −1 AC −T C T x = C −1 b.
Mit den neuen Gr¨oßen ˜ := C −1 AC −T , A
x ˜ := C T x,
(11.101)
˜ b := C −1 b
(11.102)
lautet das transformierte Gleichungssystem ˜x = ˜ A˜ b
(11.103) ˜ mit ebenfalls symmetrischer und positiv definiter Matrix A, welche aus A durch eine Kongruenztransformation hervorgeht, so dass dadurch die Eigenwerte und damit die Konditionszahl mit g¨ unstigem C im beabsichtigten Sinn beeinflusst werden k¨onnen. Eine zweckm¨aßige Festlegung von C muss ˜ = κ2 (C −1 AC −T ) ≪ κ2 (A) κ2 (A)
˜ ¨ahnlich ist zur Matrix erreichen. Hierbei hilft die Feststellung, dass A ˜ T = C −T C −1 A = (CC T )−1 A =: M −1 A. K := C −T AC
(11.104)
T
Die symmetrische und positiv definite Matrix M := CC spielt die entscheidene Rolle, ˜ und K ¨ und man nennt sie die Vorkonditionierungsmatrix. Wegen der Ahnlichkeit von A gilt nat¨ urlich ˜ = λmax (M −1 A)/λmin (M −1 A). κ2 (A) ˜ = κ2 (I) = 1. Doch ist diese Wahl nicht sinnvoll, denn Mit M = A h¨ atte man κ2 (A) mit der Cholesky-Zerlegung A = CC T , wo C eine Linksdreiecksmatrix ist, w¨are das Gleichungssystem direkt l¨ osbar, aber das ist f¨ ur großes n problematisch. Jedenfalls soll M eine Approximation von A sein, wom¨ oglich unter Beachtung der schwachen Besetzung der Matrix A.
526
11 Lineare Gleichungssysteme, iterative Verfahren
Der CG-Algorithmus (11.79) f¨ ur das vorkonditonierte Gleichungssystem (11.103) lautet bei vorgegebener Matrix C wie folgt: (1) ˜x(0) − ˜ Start: Wahl von x ˜(0) ; r˜(0) = A˜ b; p˜ = −˜ r(0) ; Iteration k = 1, 2, 3, . . . : e˜k−1 = (˜ r (k−1) , r˜(k−1) )/(˜ r(k−2) , r˜(k−2) ) Falls k > 1 : p˜(k) = −˜ r(k−1) + e˜k−1 p˜(k−1) ˜p˜(k) z˜ = A
(11.105)
q˜k = (˜ r (k−1) , r˜(k−1) )/(p˜(k) , z˜) x ˜(k) = x ˜(k−1) + q˜k p˜(k) ;
r˜(k) = r˜(k−1) + q˜k z˜
Test auf Konvergenz ˜ Im Prinzip kann der CG-Algorithmus in der Form (11.105) auf der Basis der Matrix A ˜ ˜ durchgef¨ uhrt werden. Neben der Berechnung von b als L¨osung von C b = b ist die Multi˜p˜(k) = C −1 AC −T p˜(k) in drei Teilschritten zu realisieren. Erstens ist ein plikation z˜ = A Gleichungssystem mit C T zu l¨ osen, zweitens ist die Matrixmultiplikation mit A auszuf¨ uhren und schließlich ist noch ein Gleichungssystem mit C zu l¨osen. Am Schluss ist aus der resultieaherungsl¨ osung x(k) des gegebenen Systems aus C T x(k) = x ˜(k) renden N¨ aherung x ˜(k) die N¨ zu ermitteln. Zweckm¨ aßiger ist es, den Algorithmus (11.105) neu so zu formulieren, dass mit den gegebenen Gr¨ oßen gearbeitet wird und dass eine Folge von iterierten Vektoren x(k) erzeugt wird, welche N¨ aherungen der gesuchten L¨ osung x sind. Die Vorkonditionierung wird gewissermaßen implizit angewandt. Wegen (11.102) und (11.103) gelten die Relationen x ˜(k) = C T x(k) ,
r˜(k) = C −1 r (k) . (k)
(11.106) (k−1)
Da der Richtungsvektor p˜ mit Hilfe des Residuenvektors r˜ gebildet wird, f¨ uhren wir die Hilfsvektoren s(k) := C p˜(k) ein, womit wir zum Ausdruck bringen, dass die s(k) nicht mit den Richtungsvektoren p(k) des nicht-vorkonditionierten CG-Algorithmus identisch zu sein brauchen. Aus der Rekursionsformel f¨ ur die iterierten Vektoren x ˜(k) ergibt sich so C T x(k) = C T x(k−1) + q˜k C −1 s(k) und nach Multiplikationen mit C −T von links x(k) = x(k−1) + q˜k (M −1 s(k) ). Desgleichen erhalten wir aus der Rekursionsformel der Residuenvektoren C −1 r(k) = C −1 r(k−1) + q˜k C −1 AC −T C −1 s(k) nach Multiplikation von links mit C r (k) = r (k−1) + q˜k A(M −1 s(k) ). In beiden Beziehungen treten die Vektoren M −1 s(k) =: g (k)
(11.107)
527
11.3 Methode der konjugierten Gradienten
auf, mit denen f¨ ur x(k) und r(k) einfachere Formeln resultieren. Aber auch aus den Definitionsgleichungen f¨ ur die Richtungsvektoren in (11.105) p˜(k) = −˜ r (k−1) + e˜k−1 p˜(k−1)
mit e˜k−1 = (˜ r(k−1) , r˜(k−1) )/(˜ r (k−2) , r˜(k−2) )
ergibt sich nach Substitution der Gr¨ oßen und Multiplikation von links mit C −T M −1 s(k) = −M −1 r (k−1) + e˜k−1 M −1 s(k−1) .
Mit der weiteren Definition M −1 r(k) =: ̺(k)
(11.108)
wird die letzte Beziehung zu g (k) = −̺(k−1) + e˜k−1 g (k−1) .
(11.109) (k)
(k)
Dies ist die Ersatzgleichung f¨ ur die Richtungsvektoren p˜ , die durch die g ersetzt werden. Schließlich lassen sich die Skalarprodukte in (11.105) durch die neuen Gr¨oßen wie folgt darstellen: (˜ r (k) , r˜(k) ) = (p˜(k) , z˜) = =
(C −1 r(k) , C −1 r(k) ) = (r (k) , M −1 r(k) ) = (r (k) , ̺(k) ) (C −1 s(k) , C −1 AC −T C −1 s(k) ) (M −1 s(k) , AM −1 s(k) ) = (g (k) , Ag (k) )
F¨ ur den Start des Algorithmus wird noch g (1) anstelle von p˜(1) ben¨otigt. Daf¨ ur ergibt sich g (1)
= M −1 s(1) = C −T p˜(1) = −C −T r˜(0) = −C −T C −1 r(0) = −M −1 r (0) = −̺(0) .
Dieser Vektor muss als L¨ osung eines Gleichungssystems bestimmt werden. Ein System mit M als Koeffizientenmatrix muss in jedem PCG-Schritt aufgel¨ost werden. Wird das im Algorithmus ber¨ ucksichtig und außerdem die Fallunterscheidung f¨ ur k = 1 durch Hilfsgr¨oßen eliminiert, so ergibt sich der folgende PCG-Algorithmus: Start: Festsetzung von M ; Wahl von x(0) ; r(0) = Ax(0) − b; ζa = 1; g (0) = 0;
Iteration k = 1, 2, 3, . . . : M ̺(k−1) = r (k−1) (→ ̺(k−1) )
ζ = (r (k−1) , ̺(k−1) ); e˜k−1 = ζ/ζa g (k) = −̺(k−1) + e˜k−1 g (k−1)
(11.110)
z = Ag (k) q˜k = ζ/(g (k) , z); ζa = ζ;
x(k) = x(k−1) + q˜k g (k) ; r (k) = r (k−1) + q˜k z; Test auf Konvergenz Die Matrix C, von der wir urspr¨ unglich ausgegangen sind, tritt im PCG-Algorithmus (11.110) nicht mehr auf, sondern nur noch die symmetrische positiv definite Vorkonditionierungsmatrix M . Im Vergleich zum normalen CG-Algorithmus (11.79) erfordert jetzt jeder Iterationsschritt die Aufl¨ osung des linearen Gleichungssystems M ̺ = r nach ̺ als
528
11 Lineare Gleichungssysteme, iterative Verfahren
so genannten Vorkonditionierungsschritt. Die Matrix M muss unter dem Gesichtspunkt gew¨ ahlt werden, dass dieser zus¨ atzliche Aufwand im Verh¨altnis zur Konvergenzverbesserung nicht zu hoch ist. Deshalb kommen in erster Linie Matrizen M = CC T in Betracht, welche sich als Produkt einer schwach besetzen Linksdreiecksmatrix C und ihrer Transponierten darstellen. Die Prozesse der Vorw¨ arts- und R¨ ucksubstitution werden, zumindest auf Skalarrechnern, effizient durchf¨ uhrbar. Hat C die gleiche Besetzungsstruktur wie die untere H¨ alfte von A, dann ist das Aufl¨ osen von M ̺ = r praktisch gleich aufw¨andig wie eine Matrix-Vektor-Multiplikation z = Ag. Der Rechenaufwand pro Iterationsschritt des vorkonditionierten CG-Algorithmus (11.110) verdoppelt sich etwa im Vergleich zum Algorithmus (11.79). Die einfachste, am wenigsten Mehraufwand erfordernde Wahl von M besteht darin, M := diag(a11 , a22 , . . . , ann ) als Diagonalmatrix mit den positiven Diagonalelementen aii von A festzulegen. Der Vorkonditionierungsschritt erfordert dann nur n √ √ √ zus¨ atzliche Opterationen. Da in diesem Fall C = diag( a11 , a22 , . . . , ann ) ist, so ist die ˜ (11.102) gegeben durch vorkonditionierte Matrix A ˜ = C −1 AC −T = C −1 AC −1 = E + I + F , A
F = ET
(11.111)
wo E eine strikte untere Dreiecksmatrix bedeutet. Mit dieser Vorkonditionierungsmatrix ˜ gleich Eins werden. M wir die Matrix A skaliert, derart dass die Diagonalelemente von A Diese Skalierung hat in jenen F¨ allen, in denen die Diagonalelemente sehr unterschiedliche Gr¨ oßenordnung haben, oft eine starke Reduktion der Konditionszahl zur Folge. F¨ ur Gleichungssysteme, welche aus dem Differenzenverfahren oder der Methode der finiten Elemente mit linearen oder quadratischen Ans¨ atzen f¨ ur elliptische Randwertaufgaben resultieren, hat die Skalierung allerdings entweder keine oder nur eine minimale Verkleinerung der Konditionszahl zur Folge. F¨ ur die beiden im Folgenden skizzierten Definitionen von Vorkonditionierungsmatrizen M wird vorausgesetzt, dass die Matrix A skaliert ist und die Gestalt (11.111) hat. Mit einem geeignet zu w¨ ahlenden Parameter ω kann M wie folgt festgelegt werden [Eva 83, Axe 89] M := (I + ωE)(I + ωF ), also C := (I + ωE).
(11.112)
C ist eine regul¨ are Linksdreiecksmatrix mit derselben Besetzungsstruktur wie die untere H¨ alfte von A. Zu ihrer Festlegung wird kein zus¨atzlicher Speicherbedarf ben¨otigt. Die L¨ osung von M ̺ = r erfolgt mit den beiden Teilschritten (I + ωE)y = r
und
(I + ωF )̺ = y.
(11.113)
Die Prozesse der Vorw¨ arts- und R¨ ucksubstitution (11.113) erfordern bei geschickter Beachtung des Faktors ω und der schwachen Besetzung von E und F = E T zusammen einen Aufwand von (γ + 1) n wesentlichen Operationen mit γ wie in (11.80). Der Rechenaufwand eines Iterationsschrittes des vorkonditionierten CG-Algorithmus (11.110) bel¨auft sich auf etwa ZPCGS = (2γ + 6) n
(11.114)
multiplikative Operationen. F¨ ur eine bestimmte Klasse von Matrizen A kann gezeigt wer˜ etwa gleich der Quaden [Axe 84], dass bei optimaler Wahl von ω die Konditionszahl κ(A) dratwurzel von κ(A) ist, so dass sich die Verdoppelung des Aufwandes pro Schritt wegen der starken Reduktion der Iterationszahl lohnt. Die Vorkonditionierungsmatrix M (11.112)
529
11.3 Methode der konjugierten Gradienten
stellt tats¨ achlich f¨ ur ω = 0 eine Approximation eines Vielfachen von A dar, denn es gilt M = I + ωE + ωF + ω 2 EF = ω[A + (ω −1 − 1)I + ωEF ],
und (ω −1 − 1)I + ωEF ist der Approximationsfehler. Die Abh¨angigkeit der Zahl der Iterationen von ω ist in der Gegend des optimalen Wertes nicht sehr empfindlich, da der ¨ zugeh¨ orige Graph ein flaches Minimum aufweist. Wegen dieses zur symmetrischen Uberrelaxation (=SSOR-Methode) [Axe 84, Sch 72] analogen Verhaltens bezeichnen wir (11.110) mit der Vorkonditionierungsmatrix M (11.112) als SSORCG-Methode. Eine andere M¨ oglichkeit, die Matrix M zu definieren, besteht im Ansatz M := (D + E)D
1
(D + F ),
(11.115)
wo E und F aus der skalierten Matrix A (11.111) u ¨ bernommen werden und die Diagonalmatrix D mit positiven Diagonalelementen unter einer Zusatzbedingung zu ermitteln ist. Als Vorkonditionierungsmatrix f¨ ur Differenzengleichungen von elliptischen Randwertaufgaben hat es sich als g¨ unstig erwiesen, D so festzulegen, dass entweder die Zeilensummen von M im Wesentlichen, d.h. bis auf ein additives α ≥ 0, mit denjenigen von A u ¨ bereinstimmen oder dass einfacher die Diagonalelemente von M gleich 1 + α, α ≥ 0, sind. Die letztgenannte Forderung liefert nach einfacher Rechnung f¨ ur die Diagonalelemente di von D die Rekursionsformel i−1 a2ik d−1 i = 1, 2, . . . , n. (11.116) di = 1 + α − k , k=1
Der Wert α dient haupts¨ achlich dazu, in (11.116) die Bedingung di > 0 zu erf¨ ullen. Neben den erw¨ ahnten Vorkondionierungsmatrizen M existieren viele weitere, den Problemstellungen oder den Aspekten einer Vektorisierung oder Parallelisierung auf modernen Rechenanlagen angepasste Definitionen. Zu nennen sind etwa die partielle CholeskyZerlegung von A, bei welcher zur Gewinnung einer Linksdreiecksmatrix C der fill-in bei der Zerlegung entweder ganz oder nach bestimmten Gesetzen vernachl¨assigt wird [Axe 84, Eva 83, Gol 96b, Jen 77, Ker 78, Mei 77, Sch 91b]. Weiter existieren Vorschl¨age f¨ ur M , welche auf blockweisen Darstellungen von A und Gebietszerlegung basieren [Axe 85, Bra 86, Con 85, Cha 89]. F¨ ur Gleichungssysteme aus der Methode der finiten Elemente sind Varianten der Vorkonditionierung auf der Basis der Elementmatrizen vorgeschlagen worden [Bar 88a, Cri 86, Hug 83, NO 85]. Vorkonditionierungsmatrizen M , welche mit Hilfe von so genannten hierarchischen Basen gewonnen werden, erweisen sich als ¨außerst konvergenzsteigernd [Yse 86, Yse 90]. Verschiedene andere Beitr¨age in dieser Richtung findet man etwa in [Axe 89, Axe 90, Bru 95]. Beispiel 11.9. Zur Illustration der Vorkonditionierung mit der Matrix
(11.112) und der Abh¨ angigkeit ihres Effektes von ω betrachten wir die elliptische Randwertaufgabe −uxx − uyy
u
=
2
in G,
=
0
auf Γ,
(11.117)
wo G das trapezf¨ ormige Gebiet in Abb. 11.9 darstellt und Γ sein Rand ist. Die Aufgabe wird sowohl mit dem Differenzenverfahren mit der F¨ unf-Punkte-Differenzenapproximation (11.1) als auch mit der Methode der finiten Elemente mit quadratischem Ansatz auf einem Dreiecksnetz behandelt, von denen in Abb. 11.9 a) und b) je ein Fall dargestellt sind. Wird die Kathetenl¨ ange eines Dreieckelementes gleich der doppelten Maschenweite h des Gitters des Differenzenverfahrens gew¨ ahlt,
530
11 Lineare Gleichungssysteme, iterative Verfahren 0.5
a)
b)
1
1.5
Abb. 11.9 a) Differenzengitter, b) Triangulierung f¨ ur quadratische finite Elemente.
ergeben sich gleich viele Unbekannte in inneren Gitter- oder Knotenpunkten. In Tab. 11.3 sind f¨ ur einige Maschenweiten h die Zahl n der Unbekannten, die Zahl kCG der Iterationsschritte des CG-Verfahrens (11.79), der optimale Wert ωopt des SSORCG-Verfahrens und die Zahl kP CG der Iterationen des vorkonditionierten CG-Verfahrens f¨ ur die beiden Methoden zusammengestellt. Die ullt ist. Die angewandte VorkonditioIteration wurde abgebrochen, sobald (k) / (0) ≤ 10−6 erf¨ nierung bringt die gew¨ unschte Reduktion des Rechenaufwandes, die f¨ ur feinere Diskretisierungen gr¨ oßer wird. Die Beispiele sind mit Programmen aus [Sch 91b] gerechnet worden.
Tab. 11.3 Konvergenzverhalten bei Vorkonditionierung.
h−1 8 12 16 24 32 48 64
n 49 121 225 529 961 2209 3969
Differenzenverfahren kCG ωopt kPCG
finite Elemente kCG ωopt kPCG
21 33 45 68 91 137 185
24 38 52 79 106 161 -
1.30 1.45 1.56 1.70 1.75 1.83 1.88
8 10 12 14 17 21 24
1.30 1.45 1.56 1.70 1.75 1.83 -
9 11 13 16 19 23 -
In Abb. 11.10 ist die Anzahl der Iterationsschritte in Abh¨ angigkeit von ω im Fall h = 1/32 beim Differenzenverfahren dargestellt. ω = 0 entspricht keiner Vorkonditionierung oder = . Das flache Minimum des Graphen ist deutlich. △
531
11.4 Methode der verallgemeinerten minimierten Residuen
k(ω) 100
50
ω
0 0
1
2
Abb. 11.10 Iterationszahl des SSORCG-Verfahrens.
11.4
Methode der verallgemeinerten minimierten Residuen
In diesem Abschnitt betrachten wir eine robuste, in vielen F¨allen recht effiziente Methode zur iterativen L¨ osung von linearen Gleichungssystemen Ax = b mit regul¨arer, schwach besetzter Matrix A, die unsymmetrisch oder symmetrisch und indefinit sein kann. Wir wollen aber nach wie vor voraussetzen, dass die Diagonalelemente aii = 0 sind, obwohl dies f¨ ur den grundlegenden Algorithmus nicht ben¨otigt wird, aber f¨ ur die die Konvergenz verbessernde Modifikation gebraucht wird.
11.4.1
Grundlagen des Verfahrens
Das Verfahren verwendet einige analoge Elemente wie die Methode der konjugierten Gradienten. In der betrachteten allgemeinen Situation mit A = AT oder A symmetrisch und indefinit ist die L¨ osung x von Ax = b nicht mehr durch das Minimum der Funktion F (v) (11.64) charakterisiert. Doch ist x unter allen Vektoren w ∈ Ên der eindeutige Vektor, welcher das Quadrat der euklidischen Residuen-Norm zu null macht und folglich minimiert. Aus diesem Grund legen wir im Folgenden das zu minimierende Funktional J(w) := Aw − b22
mit J(x) = minn J(w) = 0 w ∈Ê
(11.118)
zu Grunde. In Analogie zum CG-Verfahren soll der k-te iterierte Vektor x(k) die Darstellung x(k) = x(0) + z
(11.119)
besitzen, wo z einem Unterraum Sk angeh¨ oren soll, dessen Dimension von Schritt zu Schritt zunimmt und wiederum durch die sukzessiv sich ergebenden Residuen-Vektoren
532
11 Lineare Gleichungssysteme, iterative Verfahren
r (0) , r(1) , . . . , r(k−1) aufgespannt sei. Der Vektor x(k) wird so bestimmt, dass er das Funktional (11.118) minimiert, d.h. dass gilt J(x(k) )
= min J(x(0) + z) = min A(x(0) + z) − b22 z∈Sk
z∈Sk
= min Az + r(0) 22 .
(11.120)
z∈Sk
Durch die Forderung (11.120) ist die Methode der minimierten Residuen (MINRES) definiert. Da z ∈ Sk als Linearkombination von k Basisvektoren von Sk darstellbar ist, stellt (11.120) eine typische Aufgabe der Methode der kleinsten Quadrate dar, die im Prinzip mit den Hilfsmitteln von Kapitel 6 gel¨ ost werden kann. Da aber die Fehlergleichungsmatrix C der Aufgabe (11.120), deren Spalten durch die A-fachen der Basisvektoren r (i) gegeben sind, die Tendenz hat, schlecht konditioniert zu sein, d.h. fast linear abh¨angige Spalten aufzuweisen, bietet dieses Vorgehen numerische Schwierigkeiten. Die Methode der verallgemeinerten minimierten Residuen (GMRES) [Sag 64, Wal 88] besteht in einer numerisch besonders geschickten Behandlung der Minimierungsaufgabe (11.120). Man stellt leicht fest, dass der Unterraum Sk := span{r(0) , r (1) , . . . , r(k−1) } identisch ist mit dem Krylov-Unterraum K(k) (r (0) , A). F¨ ur k = 1 ist die Aussage trivial. Falls die Behauptung f¨ ur ein k ≥ 1 richtig ist, dann hat der Residuen-Vektor r(k) die Darstellung r (k) = r (0) + Az = r (0) +
k
ci (Ai r(0) ),
(11.121)
i=1
weil z ∈ Sk = K(k) (r 0) , A), wobei die Koeffizienten ci durch die Minimierungsaufgabe (11.120) bestimmt sind. Wegen (11.121) ist r (k) ∈ K(k+1) (r (0) , A) = span{r(0) , Ar(0) , . . . , Ak r (0) }, und folglich gilt Sk := span{r(0) , r (1) , . . . , r (k−1) } = K(k) (r (0) , A).
(11.122)
β := r(0) 2 ,
(11.123)
Um die Minimierungsaufgabe (11.120) bez¨ uglich des Krylov-Unterraumes K(k) (r (0) , A) numerisch sicher zu behandeln, ist es zweckm¨ aßig, in der Folge von Krylov-Unterr¨aumen sukzessive eine orthonormierte Basis zu konstruieren. Dies erfolgt mit Hilfe des Schmidtschen Orthogonalisierungsprozesses. Im ersten Schritt wird der Startvektor r (0) normiert zum ersten Basisvektor v 1 gem¨ aß v 1 := r (0) /β
oder
r (0) = βv 1 .
Im zweiten Schritt wird anstelle des Vektors Ar (0) der dazu ¨aquivalente Vektor Av 1 zur Konstruktion des zweiten Basisvektors v 2 verwendet. Der Orthonormierungsschritt besteht aus den beiden Teilschritten ˆ2 v h21
:= :=
Av 1 − (v 1 , Av 1 )v 1 = Av 1 − h11 v 1 , ˆ 2 /h21 . ˆ v 2 2 , v 2 := v
h11 := (v 1 , Av 1 ),
(11.124) (11.125)
Wir setzen hier und im Folgenden stillschweigend voraus, dass die Normierungskonstanten von null verschieden sind. Wir werden sp¨ ater die Bedeutung des Ausnahmefalles analysieren. Weiter halten wir f¨ ur sp¨ atere Zwecke die aus (11.124) und (11.125) folgende Relation
11.4 Methode der verallgemeinerten minimierten Residuen
533
zwischen den Basisvektoren v 1 und v 2 fest: Av 1 = h11 v 1 + h21 v 2 .
(11.126)
Der Vektor z ∈ S2 = K(2) (r (0) , A) = K(2) (v 1 , A) kann im zweiten Schritt des Minimierungsverfahrens (11.120) als Linearkombination der beiden Basisvektoren v 1 und v 2 dargestellt werden, und f¨ ur den Residuen-Vektor r (2) ergibt sich so r (2) = A(c1 v 1 + c2 v 2 ) + r (0) = βv 1 + c1 Av 1 + c2 Av 2 . Da v 1 , Av ∈ K(2) (v 1 , A), aber r(2) ∈ K(3) (v 1 , A) gilt, bedeutet dies, dass der Vektor Av 2 zur Konstruktion des dritten orthonormierten Basisvektors v 3 verwendet werden kann. Der betreffende Orthonormierungsschritt lautet somit h12 ˆ3 v h32
:=
(v 1 , Av 2 ),
h22 := (v 2 , Av 2 ),
:= :=
Av 2 − h12 v 1 − h22 v 2 , ˆ 3 /h32 . ˆ v 3 2 , v 3 := v
(11.127) (11.128) (11.129)
Daraus folgt die weitere Relation zwischen den ersten drei Basisvektoren Av 2 = h12 v 1 + h22 v 2 + h32 v 3 .
(11.130)
Die Verallgemeinerung auf den (k + 1)-ten Orthogonalisierungsschritt liegt jetzt auf der Hand. Wegen der Darstellung des Residuen-Vektors k k−1 ci (Av i ) + ck Av k ci v i + r (0) = βv 1 + r (k) = A i=1
i=1
ist es gleichwertig, anstelle von r (k) den Vektor Av k gegen v 1 , v 2 , . . . , v k zu orthonormieren, weil der erste Anteil Element des Krylov-Unterraumes K(k) (v 1 , A) ist. Deshalb beschreibt sich die Berechnung von v k+1 wie folgt: hik ˆ k+1 v hk+1,k
:= := :=
(v i , Av k ), Av k −
k
i = 1, 2, . . . , k, hik v i
(11.131) (11.132)
i=1
ˆ v k+1 2 ,
ˆ k+1 /hk+1,k v k+1 := v
(11.133)
Allgemein gilt die Relation zwischen den Basisvektoren Av k =
k+1
hik v i ,
k = 1, 2, 3, . . . .
(11.134)
i=1
Mit den ersten k Basisvektoren v 1 , v 2 , . . . , v k ∈ K(k) (v 1 , A) bilden wir einerseits die Matrix V k := (v 1 , v 2 , . . . , v k ) ∈ Ên,k
mit V Tk V k = I k
(11.135)
534
11 Lineare Gleichungssysteme, iterative Verfahren
und andererseits mit den beim Orthogonalisierungsprozess anfallenden Konstanten hij die Matrix ⎞ ⎛ h1k h11 h12 h13 · · · ⎜ h h2k ⎟ ⎟ ⎜ 21 h22 h23 · · · ⎟ ⎜ h3k ⎟ ⎜ 0 h32 h33 · · · (k+1),k ⎟ ⎜ . (11.136) H k := ⎜ 0 0 h43 · · · h4k ⎟ ∈ Ê ⎟ ⎜ .. .. ⎟ ⎜ .. .. .. . . ⎠ ⎝ . . . 0 0 · · · 0 hk+1,k Die Relationen (11.134) sind damit ¨ aquivalent zu AV k = V k+1 H k ,
k = 1, 2, 3, . . . .
(11.137)
Nach dieser Vorbereitung kehren wir zur¨ uck zur Minimierungsaufgabe (11.120) im k-ten Iterationsschritt. Wegen z ∈ Sk = K(k) (v 1 , A) kann dieser Vektor mit V k und einem Vektor c ∈ Êk dargestellt werden als (11.138)
z = V k c.
Das zu minimierende Funktional lautet damit, wenn (11.137), (11.123), dann v 1 = V k+1 e1 mit e1 = (1, 0, 0, . . . , 0)T ∈ Êk+1 und schließlich die Tatsache benutzt wird, dass die Spaltenvektoren von V k+1 orthonormiert sind, Az + r(0) 22
= AV k c + r (0) 22 = V k+1 H k c + βv 1 22 = V k+1 (H k c + βe1 )22 = H k c + βe1 22 .
(11.139)
Der Vektor c ist somit L¨ osung des Fehlergleichungssystems H k c + βe1 = f
(11.140)
nach der Methode der kleinsten Quadrate, und das Quadrat der Norm des Residuen-Vektors r (k) ist gleich dem minimalen L¨ angenquadrat des Fehlervektors f , d.h. es gilt r(k) 22 = f 22 .
(11.141)
Das zu behandelnde Fehlergleichungssystem (11.140) hat f¨ ur k = 4 die Gestalt h11 c1 + h12 c2 + h13 c3 + h14 c4 h21 c1 + h22 c2 + h23 c3 + h24 c4 h32 c2 + h33 c3 + h34 c4 h43 c3 + h44 c4 h54 c4
+β = f1 = f2 = f3 = f4 = f5
(11.142)
Es wird effizient mit der Methode der Orthogonaltransformation vermittels Givens-Transformationen nach Abschnitt 6.2.1 behandelt unter Beachtung der speziellen Struktur. Die Grundidee der Methode der verallgemeinerten minimierten Residuen ist damit vollst¨andig beschrieben. Es wird sukzessive die orthonormierte Basis in der Folge der Krylov-Unterr¨ aume K(k) (v 1 , A) aufgebaut, in jedem Schritt das Fehlergleichungssystem (11.140) nach c ∈ Êk gel¨ ost, womit durch den Vektor z = V k c der iterierte Vektor x(k) (11.119) mit dem zugeh¨ origen minimalen Residuen-Vektor r(k) festgelegt ist.
535
11.4 Methode der verallgemeinerten minimierten Residuen
11.4.2
Algorithmische Beschreibung und Eigenschaften
ˆ k (6.24) zur L¨osung Die praktische Durchf¨ uhrung der QR-Zerlegung der Matrix H k = Qk R der Fehlergleichungen (11.140) vereinfacht sich ganz wesentlich infolge der speziellen Struktur von H k . Zur Elimination der k Matrixelemente h21 , h32 , . . . , hk+1,k wird nur die sukzessive Multiplikation von H k von links mit den k Rotationsmatrizen U T1 , U T2 , . . . , U Tk ben¨ otigt, wo U Ti durch das Rotationsindexpaar (i, i + 1) mit geeignet gew¨ahltem Winkel ϕ festgelegt ist. Die orthogonale Transformation von (11.140) ergibt mit QTk := U Tk U Tk−1 . . . U T2 U T1 :
QTk H k ck + βQTk e1 = QTk f
oder ˆ k = fˆ ˆ k ck + d R mit ˆk = R
Rk 0T
(11.143)
∈Ê
(k+1),k
,
ˆk = d
dk ˆ dk+1
∈ Êk+1 .
Der gesuchte Vektor ck ∈ Êk ergibt sich durch R¨ ucksubstitution aus
(11.144)
Rk ck = −dk ,
(11.145)
r(k) 22 = fˆ 22 = dˆ2k+1 = J (x(k) ).
(11.146)
und wegen (11.141) gilt f¨ ur das Normquadrat des Residuen-Vektors Der Wert des minimierenden Funktionals ergibt sich aus der L¨osung des Fehlergleichungsˆ k = βQT e1 , ohne systems aus der letzten Komponente der transformierten rechten Seite d k (k) (k) x oder r explizit zu berechnen. Weiter ist zu beachten, dass sukzessive Fehlergleichungssysteme (11.140) f¨ ur zunehmenden ugen der (k+1)-ten Spalte Index k zu l¨ osen sind. Die Matrix H k+1 geht aus H k durch Hinzuf¨ mit den (k + 2) Werten hi,k+1 und der (k + 2)-ten Teilzeile mit Nullen hervor. Die ersten ur H k+1 . k oben genannten Transformationen mit U T1 , U T2 , . . . , U Tk sind aber dieselben f¨ Folglich gen¨ ugt es, diese Rotationen auf die neu hinzukommende Spalte anzuwenden, dann aus dem erhaltenen transformierten Element h′k+1,k+1 und dem unver¨anderten Element hk+2,k+1 die Rotationsmatrix U Tk+1 mit dem Winkel ϕk+1 zu bestimmen, und diese Rotation auf die (transformierte) rechte Seite anzuwenden. Da in der erweiterten rechten Seite die (k + 2)-te Komponente gleich null ist, ergibt sich wegen (5.12) f¨ ur die letzte Komponente ˆ k+1 dˆk+2 der transformierten rechten Seite d dˆk+2 = dˆk+1 · sin ϕk+1 . (11.147)
Die Abnahme des Normquadrates des Residuen-Vektors wird wegen (11.146) und (11.147) durch den Drehwinkel ϕk+1 der letzten Rotation U Tk+1 bestimmt. Daraus folgt, dass das Funktional J(x(k) ) monoton abnimmt, wenn auch nur im schwachen Sinn. Die Situation J(x(k+1) ) = J(x(k) ) kann wegen (11.147) dann eintreten, wenn | sin ϕk+1 | = 1 ist, d.h. genau dann wenn wegen (5.60) der transformierte Wert h′k+1,k+1 = 0 ist. Aus dem Gesagten wird schließlich klar, dass man weder den Vektor ck aus (11.140) noch vermittels z den iterierten Vektor x(k) zu berechnen braucht. Dies wird man erst dann tun,
536
11 Lineare Gleichungssysteme, iterative Verfahren
wenn r(k) 22 = dˆ2k+1 gen¨ ugend klein ist. Damit lautet die algorithmische Formulierung der GMRES-Methode: Start: Wahl von x(0) ; β = r
(0)
2 ;
r(0) = Ax(0) − b;
v 1 = r (0) /β;
Iteration: F¨ ur k = 1, 2, 3, . . . : 1. z = Av k 2. hik = (v i , z), i = 1, 2, . . . , k, k ˆ k+1 = z − hik v i (Orthogonalit¨at) 3. v i=1
(11.148)
4. hk+1,k = ˆ v k+1 2 ; ˆ k+1 /hk+1,k v k+1 = v
(Normierung) ˆ 5. H k ck + βe1 = f → dk+1 (Nachf¨ uhrung) 6. Falls |dˆk+1 | ≤ ε · β : ck ;
z = V k ck ;
x(k) = x(0) + z
STOP Der GMRES-Algorithmus (11.148) ist problemlos durchf¨ uhrbar, falls hk+1,k = 0 gilt f¨ ur alle k. Wir wollen untersuchen, was die Ausnahmesituation hk+1,k = 0 f¨ ur den Algorithur i = 1, 2, . . . , k − 1. Im k-ten mus bedeutet unter der Annahme, dass hi+1,i = 0 gilt f¨ ˆ k+1 = 0, und deshalb gilt die Relation Iterationsschritt ist also v Av k =
k
hik v i .
(11.149)
i=1
Die Vektoren v 1 , . . . , v k bilden eine orthonormierte Basis im Krylov-Unterraum K(k) (v 1 , A). Da nach (11.149) Av k Linearkombination dieser Basisvektoren ist, gilt K(k+1) (v 1 , A) = K(k) (v 1 , A).
(11.150)
ˆ k, AV k = V k H
(11.151)
Anstelle von (11.137) gilt jetzt f¨ ur diesen Index k die Matrizengleichung ˆ k ∈ Êk,k eine Hessenberg-Matrix ist, welche aus H k (11.136) durch Weglassen der letzwo H ˆ k ist nicht zerfallend und ist regul¨ar wegen (11.151), der ten Zeile hervorgeht. Die Matrix H Regularit¨ at von A und des maximalen Rangs von V k . Die Minimierungsaufgabe (11.120) ˆ1 ∈ Êk lautet wegen (11.151) mit dem Vektor e r(k) 22
ˆ k ck + βˆ = AV k ck + r (0) 22 = V k (H e1 )22 ˆ k ck + βˆ = H e1 22 = min!
Das Minimum des Fehlerquadrates ist aber gleich null, weil gleich viele Unbekannte wie Fehˆ k ck + βˆ lergleichungen vorhanden sind und das Gleichungssystem H e1 = 0 eindeutig l¨osbar ist. Daraus ergibt sich die Folgerung: Bricht der GMRES-Algorithmus im k-ten Schritt mit osung x des Gleichungssystems. hk+1,k = 0 ab, dann ist x(k) die gesuchte L¨
11.4 Methode der verallgemeinerten minimierten Residuen
537
Umgekehrt hat die Matrix H k ∈ Ê(k+1),k im Normalfall hi+1,i = 0 f¨ ur i = 1, 2, . . . , k den maximalen Rang k, weil die Determinante, gebildet mit den k letzten Zeilen, ungleich null ist. Deshalb besitzt das Fehlergleichungssystem (11.140) eine eindeutige L¨osung ck im Sinn der Methode der kleinsten Quadrate. In Analogie zum CG-Verfahren gilt der Satz 11.27. Der GMRES-Algorithmus (11.148) liefert die L¨osung des Minimalproblems (11.118) in der Form (11.140) nach h¨ochstens n Iterationsschritten Beweis. Im Ên existieren h¨ ochstens n orthonormierte Basisvektoren, und folglich muss ˆ n+1 = 0 und hn+1,n = 0 sein. Auf Grund der obigen Folgerung ist dann sp¨ atestens v x(n) = x.
Der Satz 11.27 hat f¨ ur das GMRES-Verfahren allerdings nur theoretische Bedeutung, weil zu seiner Durchf¨ uhrung alle beteiligten Basisvektoren v 1 , v 2 , . . . , v k abzuspeichern sind, da sie einerseits zur Berechnung der k-ten Spalte von H k im k-ten Iterationsschritt und andererseits zur Berechnung des Vektors x(k) nach Beendigung der Iteration ben¨otigt werden. Der erforderliche Speicheraufwand im Extremfall von n Basisvektoren entspricht demjeniurlich bei großem n nicht praktikabel gen einer vollbesetzten Matrix V ∈ Ên,n , und ist nat¨ und wenig sinnvoll. Zudem w¨ achst der Rechenaufwand eines einzelnen Iterationsschrittes des GMRES-Algorithmus (11.148) linear mit k an, da neben der Matrix-Multiplikation Av noch (k + 1) Skalarprodukte und ebenso viele Multiplikationen von Vektoren mit einem Skalar erforderlich sind. Die Nachf¨ uhrung des Fehlergleichungssystems hat im Vergleich dazu nur einen untergeordneten, zu k proportionalen Aufwand. Der Rechenaufwand des k-ten Schrittes betr¨ agt somit etwa (k)
ZGMRES = [γ + 2(k + 1)]n multiplikative Operationen. Aus den genannten Gr¨ unden wird das Verfahren dahingehend modifiziert, dass man h¨ochstens m ≪ n Schritte durchf¨ uhrt, dann die resultierende Iterierte x(m) und den zugeh¨origen (m) Residuen-Vektor r berechnet und mit diesen als Startvektoren den Prozess neu startet. Die Zahl m im GMRES(m)-Algorithmus richtet sich einerseits nach dem verf¨ ugbaren Speicherplatz f¨ ur die Basisvektoren v 1 , v 2 , . . . , v m , und andererseits soll m unter dem Gesichtspunkt gew¨ ahlt werden, den Gesamtrechenaufwand zu minimieren. Denn die erzielte Abnahme der Residuen-Norm rechtfertigt bei zu großem m den Aufwand nicht. Sinnvolle Werte f¨ ur m liegen in der Regel zwischen 6 und 20. Der prinzipielle Aufbau des GMRES(m)-Algorithmus sieht wie folgt aus, falls die Anzahl der Neustarts maximal gleich neust sein soll, so dass maximal kmax = m · neust Iterationsschritte ausgef¨ uhrt werden und die Iteration auf Grund des Kriteriums r(k) /r(0) ≤ ε abgebrochen werden soll, wo ε eine vorzugebende Toleranz, r(0) den Residuen-Vektor der
538
11 Lineare Gleichungssysteme, iterative Verfahren
Anfangsstartn¨ aherung und r(k) denjenigen der aktuellen N¨aherung x(k) bedeuten. Start: Vorgabe von m, neust;
Wahl von x(0) .
F¨ ur l = 1, 2, . . . , neust : r (0) = Ax(0) − b;
falls l = 1 : β0 = β 1. z = Av k
β = r(0) 2 ;
v 1 = r (0) /β;
2. f¨ ur i = 1, 2, . . . , k : hik = (v i , z) k hik v i 3. z = z − i=1
4. hk+1,k = z2 ;
v k+1 = z/hk+1,k ; 5. H k ck + βe1 = f → dˆk+1 (Nachf¨ uhrung) ˆ 6. falls |dk+1 | ≤ ε · β0 :
(11.152)
Rk ck = −dk → ck ; k ci v i ; x(k) = x(0) + i=1
STOP
Rm cm = −dm → cm ; x(m) = x(0) + V m cm → x(0)
(neuer Startvektor)
Keine Konvergenz!
Der theoretische Nachweis der Konvergenz des GMRES(m)-Algorithmus scheint im allgemeinen Fall noch offen zu sein. Unter Zusatzannahmen f¨ ur die Matrix A und deren Spektrum existieren zum CG-Verfahren analoge Aussagen u ber die Abnahme des Quadrates der ¨ Residuen-Norm [Saa 81]. In der Rechenpraxis zeigt sich, dass das Funktional J (x(k) ) (11.120) oft sehr langsam gegen null abnimmt, weil in (11.147) | sin ϕk+1 | ∼ = 1 gilt. Die Konvergenz kann durch eine Vorkonditionierung wesentlich verbessert werden, wodurch das Verfahren erst zu einer effizienten iterativen Methode wird. Es wird analog zum CG-Verfahren eine Vorkonditonierungsmatrix M gew¨ ahlt, welche eine Approximation von A sein soll. Selbstverst¨andlich braucht jetzt M nicht symmetrisch und positiv definit zu sein, aber noch regul¨ar. Das zu l¨osende lineare Gleichungssystem Ax = b wird mit M transformiert in das ¨aquivalente System ˜ ˜ =b M −1 Ax = M −1 b ⇔ Ax
(11.153)
f¨ ur den unver¨ anderten L¨ osungsvektor x. Da im allgemeinen Fall keine R¨ ucksicht auf Symmetrieeigenschaften genommen werden muss, verzichtet man darauf, den Algorithmus (11.152) ˜ umzuformen; stattdessen werden bei der Berechnung von r˜(0) = M −1 r (0) und von z = Av −1 = M Av die entsprechenden Gleichungssysteme mit der Vorkonditionierungsmatrix M ost. nach r˜ (0) bzw. z aufgel¨
539
11.4 Methode der verallgemeinerten minimierten Residuen
Hat die nicht skalierte Matrix A die Darstellung (11.14) A = D − L − U , so ist M := (D − ωL)D−1 (D − ωU )
(11.154)
eine zu (11.112) analoge, h¨ aufig angewandte Vorkonditionierungsmatrix. Es kann auch eine ˜ im Ansatz Diagonalmatrix D ˜ − L)D ˜ M = (D
−1
˜ − U) (D
(11.155)
so bestimmt werden, dass beispielsweise M und A die gleichen Diagonalelemente haben. Aber auch andere, problemspezifische Festsetzungen von M sind m¨oglich [Yse 89, Fre 90]. Beispiel 11.10. Die Behandlung der elliptischen Randwertaufgabe mit dem Differenzenverfahren −∆u − αux − βuy = 2
u=0
in G,
(11.156)
auf Γ,
(11.157)
wo G das Rechteckgebiet des Modellproblems (vgl. Abb. 11.6) und Γ seinen Rand bedeuten, f¨ uhrt infolge der ersten Ableitungen zwangsl¨ aufig auf ein lineares Gleichungssystem mit unsymmetrischer Matrix. Wird f¨ ur −∆u die F¨ unf-Punkte-Differenzenapproximation verwendet und ux und uy durch die zentralen Differenzenquotienten uy ∼ ux ∼ = (uN − uS )/(2h) = (uE − uW )/(2h), approximiert, so resultiert die Differenzengleichung in einem inneren Punkt P
4up − (1 + 0.5βh)uN − (1 − 0.5ah)uW − (1 − 0.5βh)uS − (1 + 0.5ah)uE = 2h2 . Tab. 11.4 Konvergenz und Aufwand des GMRES(m)-Verfahrens, n = 23 × 35 = 805 Gitterpunkte. ω 0.0 1.00 1.20 1.40 1.60 1.70 1.75 1.80 1.85 1.90
m=6 nit CPU 170 95.6 53 47.3 42 37.6 42 37.6 26 23.7 21 19.2 21 19.2 23 20.8 27 24.4 31 28.3
m=8 nit CPU 139 84.4 51 47.2 50 46.4 32 29.8 23 21.5 20 18.7 22 20.5 23 21.5 25 23.8 30 27.9
m = 10 nit CPU 120 79.0 55 52.7 42 40.8 32 31.2 23 22.4 19 18.6 20 19.7 23 22.4 25 24.1 30 29.3
m = 12 nit CPU 129 90.9 51 51.5 44 44.1 29 29.0 22 22.2 20 20.0 20 20.0 22 22.2 24 24.7 30 30.0
m = 15 nit CPU 139 109 59 63.9 38 40.3 27 28.8 21 22.1 19 20.3 20 21.2 22 23.1 25 26.3 29 31.5
Die resultierenden linearen Gleichungssysteme wurden f¨ ur ein Rechteckgebiet G mit den Seitenl¨ angen a = 3 und b = 2 mit α = 5.0 und β = 3.0 f¨ ur die Maschenweiten h = 1/12 und h = 1/16 mit dem GMRES(m)-Algorithmus (11.152) bei Vorkonditionierung vermittels der Ma(11.154) gel¨ ost. Die festgestellte Zahl der Iterationsschritte nit und die Rechenzeiten CPU trix (Sekunden auf einem PS/2 - 55) sind in den Tabellen 11.4 und 11.5 in Abh¨ angigkeit von m und ω f¨ ur ε = 10−8 auszugsweise zusammengestellt.
Die Ergebnisse zeigen, dass die angewandte Vorkonditionierung eine wesentliche Reduktion der Iterationsschritte im Vergleich zum nicht vorkonditionierten GMRES(m)-Verfahren (ω = 0) bringt.
540
11 Lineare Gleichungssysteme, iterative Verfahren
Tab. 11.5 Konvergenz und Aufwand des GMRES(m)-Verfahrens, n = 31 × 47 = 1457 Gitterpunkte. ω 0.0 1.00 1.20 1.40 1.60 1.70 1.75 1.80 1.85 1.90
m=6 nit CPU 254 257 63 101 53 85.2 46 74.0 37 60.4 28 45.3 28 45.3 26 42.5 27 43.9 32 52.1
m=8 nit CPU 217 237 68 113 63 105 56 93.4 32 53.7 27 45.4 23 38.6 24 40.5 27 45.4 31 51.8
m = 10 nit CPU 188 222 82 143 67 116 44 76.4 30 52.7 27 46.7 23 40.3 25 43.3 27 46.7 31 54.9
m = 12 nit CPU 179 228 75 136 55 99.3 47 85.7 32 57.6 25 46.7 21 37.8 23 42.1 26 47.9 31 55.8
m = 15 nit CPU 175 247 76 150 59 115 42 81.2 28 54.3 24 45.3 22 41.4 24 45.3 26 49.7 30 59.4
Die Zahl der Iterationen in Abh¨ angigkeit von ω besitzt wieder ein relativ flaches Minimum in der Gegend des optimalen Wertes. Der beste Wert von m scheint bei diesem Beispiel etwa bei 10 zu sein. Es ist auch zu erkennen, dass die Rechenzeit mit wachsendem m bei gleicher Iterationszahl nit zunimmt als Folge des linear zunehmenden Rechenaufwandes pro Schritt bis zum Neustart. Es sei aber darauf hingewiesen, dass der optimale Wert von m stark von den zu l¨ osenden Gleichungstypen abh¨ angt. In der betrachteten Problemklasse bestimmten die Werte α und β den Grad der Nichtsymmetrie der Matrix und beeinflussen den besten Wert m zur Minimierung der Rechenzeit. △
11.5
Speicherung schwach besetzter Matrizen
Die iterativen Verfahren erfordern die Multiplikation der Matrix A mit einem Vektor oder im Fall der SOR-Verfahren im Wesentlichen die sukzessive Berechnung der Komponenten des Vektors Az. Zur Vorkonditionierung sind die Prozesse der Vorw¨arts- und R¨ ucksubstitution f¨ ur schwach besetzte Dreiecksmatrizen auszuf¨ uhren. In allen F¨allen werden nur die von null verschiedenen Matrixelemente ben¨ otigt, f¨ ur die im folgenden eine m¨ogliche Speicherung beschrieben wird, die zumindest auf Skalarrechnern eine effiziente Durchf¨ uhrung der genannten Operationen erlaubt. Zur Definition einer symmetrischen Matrix A gen¨ ugt es, die von null verschiedenen Matrixelemente in und unterhalb der Diagonale abzuspeichern. Unter dem Gesichtspunkt der Speicher¨ okonomie und des Zugriffs auf die Matrixelemente ist es zweckm¨aßig, diese Zahlenwerte zeilenweise, in kompakter Form in einem eindimensionalen Feld anzuordnen (vgl. Abb. 11.11). Ein zus¨ atzliches, ebenso langes Feld mit den entsprechenden Spaltenindizes definiert die Position der Matrixelemente innerhalb der Zeile. Diese Spaltenindizes werden pro Zeile in aufsteigender Reihenfolge angeordnet, so dass das Diagonalelement als letztes einer jeden Zeile erscheint. Die n Komponenten eines Zeigervektors definieren die Enden der Zeilen und erlauben gleichzeitig einen Zugriff auf die Diagonalelemente der Matrix A. Um mit einer so definierten Matrix A das SOR-Verfahren durchf¨ uhren zu k¨onnen, wird ein
541
11.5 Speicherung schwach besetzter Matrizen
Hilfsvektor y definiert, dessen i-te Komponente die Teilsummen aus (11.13)
yi :=
n
(k)
aij xj
j=i+1
− bi ,
i = 1, 2, . . . , n,
sind. Diese k¨ onnen aus Symmetriegr¨ unden mit Hilfe der Nicht-Diagonalelemente unterhalb (k+1) der Diagonale gebildet werden. Die iterierten Werte xi berechnen sich anschließend nach (11.13) sukzessive f¨ ur i = 1, 2, . . . , n in der Form
(k+1)
xi
(k)
= (1 − ω)xi
⎡
−ω⎣
i−1
(k+1)
aij xj
j=1
⎤
+ yi ⎦
;
aii ,
wobei die Nicht-Diagonalelemente der i-ten Zeile und das entsprechende Diagonalelement auftreten. Der iterierte Vektor x(k+1) kann bei diesem Vorgehen am Platz von x(k) aufgebaut werden. Die Matrix-Vektor-Multiplikation z = Ap der CG-Verfahren ist so realisierbar, dass mit jedem Nicht-Diagonalelement der unteren H¨ alfte zwei Multiplikationen mit zugeh¨origen Vektorkomponenten und die Addition zu entsprechenden Komponenten ausgef¨ uhrt werden. Wenn man beachtet, dass die Spaltenindizes der i-ten Zeile stets kleiner als i sind, kann die
0
a11 B a B 21 B B =B B a41 B @ a51
a12 a22 a32
a14 a23 a33
a15 a35
a44 a53 a62
a55 a64
1
a26 C C C C C a46 C C A a66 :
a11 a21 a22 a32 a33 a41 a44 a51 a53 a55 a62 a64 a66
k:
1
1
2
2
3
ξ:
1
3
5
7
10 13
1
4
1
Abb. 11.11 Kompakte, zeilenweise Speicherung einer symmetrischen Matrix
3
5
2
4
, untere H¨ alfte.
6
542
11 Lineare Gleichungssysteme, iterative Verfahren
Operation z = Ap wie folgt realisiert werden: z 1 = a1 × p 1 f¨ ur i = 2, 3, . . . , n : zi = aξi × pi f¨ ur j = ξi−1 + 1, ξi−1 + 2, . . . , ξi − 1 : zi = zi + aj × pkj zkj = zkj + aj × pi
(11.158)
Die Vorw¨ artssubstitution des Vorkonditionierungsschrittes mit der Matrix M (11.112) ist mit den nach Abb. 11.11 gespeicherten Matrixelementen in offensichtlicher Weise realisierbar. Die R¨ ucksubstitution ist so zu modifizieren, dass nach Berechnung der i-ten Komponente von ̺ das (ω · ̺i )-fache der i-ten Spalte von F , d.h. der i-ten Zeile von E von y subtrahiert wird. Auf diese Weise kann wieder mit den aufeinander folgend gespeicherten Matrixelementen der i-ten Zeile gearbeitet werden [Sch 91b]. 0
a11 B a B 21 B =B B @ :
a12 a22 a32 a42
a14 a33 a44 a53
1
a25 C C C C C a45 A a55
a11 a21 a22 a32 a33 a42 a44 a53 a55 a12 a14 a25 a45
5
k:
1
1
2
2
3
2
ξ:
1
3
5
7
9
11 12 12 13
4
3
2
4
5
5
13
Abb. 11.12 Kompakte Speicherung einer unsymmetrischen Matrix.
Im Fall einer unsymmetrischen Matrix A sind selbstverst¨andlich alle von null verschiedenen Matrixelemente abzuspeichern. Die nahe liegende Idee, die relevanten Matrixelemente zeilenweise kompakt in Verallgemeinerung zur Abb. 11.11 so in einem eindimensionalen Feld anzuordnen, dass das Diagonalelement wiederum jeweils das letzte ist, w¨are f¨ ur das SOR-Verfahren und die Matrix-Vektor-Multiplikation z = Ap sicher geeignet. Sobald aber ein Vorkonditionierungsschritt mit einer Matrix M (11.154) oder (11.155) auszuf¨ uhren ist, erweist sich eine solche Anordnung als ung¨ unstig. Es ist zweckm¨aßiger, die NichtDiagonalelemente oberhalb der Diagonale erst im Anschluss an die anderen Matrixelemente zu speichern und die Anordnung von Abb. 11.11 zu erweitern zu derjenigen von Abb. 11.12 einer unsymmetrisch besetzten Matrix A. Der Zeigervektor ist um n Zeiger zu erweitern, welche die Pl¨ atze der letzten Nicht-Diagonalelemente oberhalb der Diagonale der einzelnen Zeilen definieren. Zwei aufeinander folgende Zeigerwerte mit dem gleichen Wert bedeuten, dass die betreffende Zeile kein von null verschiedenes Matrixelement oberhalb der Diagonale
11.6 Software
543
aufweist. Die oben beschriebenen Operationen sind mit der jetzt verwendeten Speicherung noch einfacher zu implementieren.
11.6
Software
Software zu diesem Kapitel findet man oft unter dem Oberbegriff Numerische lineare Algebra, siehe Kapitel 2, oft auch im Zusammenhang mit der numerischen L¨osung partieller Differenzialgleichungen, siehe Kapitel 10. In der Nag-Fortran-Bibliothek gibt es im Kapitel F11 etwa 50 Routinen zur L¨osung schwach besetzter linearer Gleichungssysteme, in der Nag-C-Bibliothek sind es nur acht Routinen. Das frei erh¨ altliche Paket Slatec enth¨alt noch mehr Fortran-Routinen; die meisten entstammen dem Paket Slap, das wiederum auf Anne Greenbaums Programmsammlung f¨ ur Lapack [And 99] basiert. Auch in den Nag-Bibliotheken werden LapackRoutinen verwendet. Damit stimmen die Quellen f¨ ur alle zuverl¨assigen Programme wieder u ¨ berein. Eine Autorengruppe, darunter einige der Lapack-Autoren, hat (wie f¨ ur die algebraischen Eigenwertprobleme, siehe Abschnitt 5.9) Templates f¨ ur iterative Methoden [Bar 94] entwickelt. Auch Matlab verf¨ ugt u ur schwach ¨ ber eine stattliche Sammlung von speziellen Routinen f¨ besetzte Matrizen. Neben der L¨ osung von großen linearen Gleichungssystemen mit zahlreichen Verfahren k¨ onnen auch Eigenwertprobleme gel¨ost oder Singul¨arwerte berechnet werden. Die Besetzungsstruktur der Matrix kann graphisch verdeutlicht werden. Schließlich k¨ onnen die Matrixstrukturen voll (full) und schwach (sparse) ineinander u uhrt ¨ bergef¨ werden, wenn der Speicherplatz es erlaubt. Unsere Probleml¨ oseumgebung Pan (http://www.upb.de/SchwarzKoeckler/) verf¨ ugt u ¨ ber ein Programm zur L¨ osung schwach besetzter linearer Gleichungssysteme mit einem iterativen Verfahren.
11.7
Aufgaben
¨ Aufgabe 11.1. Man zeige, dass die Iterationsvorschrift der Uberrelaxationsmethode f¨ ur ω = 0 vollst¨ andig konsistent ist mit dem gegebenen linearen Gleichungssystem. Aufgabe 11.2. Die Matrix eines linearen Gleichungssystems ist 1 0 2 −1 −1 0 C B 2.5 0 −1 C B −1 =B C. @ −1 0 2.5 −1 A 0 −1 −1 2
Man zeige, dass irreduzibel ist, und dass das Gesamtschrittverfahren und das Einzelschrittverfahren konvergent sind. Wie groß sind die Spektralradien ̺(Ì J ) und ̺(Ì ES ), und welches sind die
544
11 Lineare Gleichungssysteme, iterative Verfahren
Anzahl der Iterationsschritte, welche zur Gewinnung einer weiteren richtigen Dezimalstelle einer N¨ aherungsl¨ osung n¨ otig sind? Aufgabe 11.3. Man bestimme die L¨ osungen der beiden linearen Gleichungssysteme iterativ mit dem JOR- und dem SOR-Verfahren mit verschiedenen ω-Werten. Wie groß sind die experimentell ermittelten optimalen Relaxationsfaktoren? a) 5x1 2x1 −x1 −2x1
b)
− + + −
3x2 + 2x4 6x2 − 3x3 2x2 + 4x3 − x4 3x2 + 2x3 + 7x4
= 13 = 16 = −11 = 10
2x1 − x2 − x3 − 2x4 −x1 + 4x2 −x1 + 2x3 − x4 − 2x2 − x3 + 4x4 − x5 − x4 + 2x5
= 6 = 12 = −3 = −5 = 1
Warum sind das Gesamtschritt- und das Einzelschrittverfahren in beiden F¨ allen konvergent? Wie groß sind die Spektralradien der Iterationsmatrizen Ì J und Ì ES ? Welches ist die jeweilige Anzahl der notwendigen Iterationsschritte, um eine weitere Dezimalstelle in der N¨ aherung zu gewinnen? keine T -Matrix. Man finde eine geeignete PermuIm Fall des zweiten Gleichungssystems ist tation der Unbekannten und der Gleichungen, so dass eine T -Matrix resultiert. Welches sind die Eigenwerte der Iterationsmatrix des J-Verfahrens und der optimale Relaxationsfaktor ωopt des SOR-Verfahrens? Welche Reduktion des Rechenaufwandes wird mit dem optimalen ωopt des SORVerfahrens im Vergleich zum Einzelschrittverfahren erzielt? Aufgabe 11.4. Die elliptische Randwertaufgabe −∆u = 1 u=0
in auf
G, Γ,
f¨ ur das Gebiet G und seinen Rand Γ von Abb. 11.13 soll mit dem Differenzenverfahren n¨ aherungsweise gel¨ ost werden. Wie lautet das lineare Gleichungssystem f¨ ur Maschenweiten h = 1 und h = 0.5 bei zeilenweiser oder schachbrettartiger Nummerierung der Gitterpunkte? Welche Blockstrukturen ¨ sind festzustellen? Die Gleichungssysteme sind mit dem Gesamtschrittverfahren und mit der Uberrelaxation unter Verwendung von verschiedenen Relaxationsfaktoren ω zu l¨ osen, und der optimale Wert ωopt ist experimentell zu ermitteln. Zur rechnerischen Realisierung der Iterationsverfahren f¨ ur dieses Problem ist es zweckm¨ aßig, die unbekannten Werte in den Gitterpunkten in einem zweidimensionalen Feld anzuordnen unter Einbezug der Dirichletschen Randbedingungen. So k¨ onnen die Iterationsformeln mit Hilfe der benachbarten Werte in der Form von einfachen Anweisungen explizit formuliert werden. Auf diese Weise noch die rechte Seite definiert zu werden. Ein entsprechendes Combraucht weder die Matrix puterprogramm ist dann leicht so zu konzipieren, dass die entsprechenden Gleichungssysteme f¨ ur beliebige, nat¨ urlich zu G passende, Maschenweiten h bearbeitet werden k¨ onnen. Welches sind die optimalen ω-Werte der SOR-Methode f¨ ur kleiner werdende Maschenweiten h?
= eine Matrix mit positiven Diagonalelementen a ˜ ˜ die zugeh¨orige skalierte Matrix mit Diagonalelementen a˜
Aufgabe 11.5. Es sei −1/2 ˜ = −1/2 =
ii ii
und = 1.
545
11.7 Aufgaben y 4
3
G
2
1
Abb. 11.13 Gebiet G der Randwertaufgabe.
x
0
1
0
2
4
3
Man zeige, dass die Spektralradien des J-Verfahrens und der SOR-Methode durch die Skalierung nicht beeinflusst werden, so dass gelten ˜ J ), ˜ SOR (ω)). ̺(Ì J ) = ̺(Ì ̺(Ì SOR (ω)) = ̺(Ì Aufgabe 11.6. Die skalierte Matrix eines 0 1 −0.7 0 0.6 B 1 −0.1 0 B 0.7 =B @ 0 0.1 1 0.4 −0.6 0 −0.4 1
linearen Gleichungssystems 1 C C C A
schiefsymmetrisch ist. Welches sind hat die Eigenschaft, dass der nicht-diagonale Anteil + die Eigenwerte der Iterationsmatrix J des Gesamtschrittverfahrens und damit der Spektralradius ¨ ̺( J )? Mit Hilfe einer geometrischen Uberlegung ermittle man denjenigen Wert von ω, f¨ ur welchen das JOR-Verfahren optimale Konvergenz aufweist. In welchem Verh¨ altnis steht die optimale Konvergenzrate des JOR-Verfahrens zu derjenigen des J-Verfahrens und wie groß ist die Reduktion des Rechenaufwandes?
T zeige man allgemein, = mit = Aufgabe 11.7. F¨ ur eine skalierte Matrix dass die Iterationsmatrix J von nur rein imagin¨ are Eigenwerte besitzt und dass die von null verschiedenen Eigenwerte paarweise entgegengesetzt sind. Unter der Voraussetzung, dass ̺( J ) < 1 gilt, bestimme man ωopt so, dass das JOR-Verfahren die beste Konvergenz aufweist. Um welchen Faktor reduziert sich die Zahl der Iterationsschritte gegen¨ uber dem J-Verfahren in Abh¨ angigkeit von ̺( J )?
T Aufgabe 11.8. F¨ ur skalierte Matrizen , welche zudem T -Matri= mit = zen sind, kann der optimale Relaxationsfaktor ωopt des SOR-Verfahrens angegeben werden, falls aß u ̺( J ) < 1 gilt. Die Theorie von Abschnitt 11.2.3 braucht dazu nur sinngem¨ ¨ bertragen zu werden.
a) Was folgt f¨ ur die Eigenwerte der Iterationsmatrix ES des Einzelschrittverfahrens und den Spektralradius ̺( ES ) im Vergleich zu ̺( J )? b) F¨ ur welche Werte von ω kann das Eigenwertpaar λ(1) und λ(2) von SOR (ω) komplex sein, und welches ist dann ihr Betrag? Weiter zeige man, dass der kleinste negative Eigenwert λ(1) < λ(2) im Fall eines reellen Eigenwertpaares dem betragsgr¨ oßten Paar ±µ1 von J zugeordnet ist und dass folglich ̺( SOR (ω)) = |λ(1) | gilt.
546
11 Lineare Gleichungssysteme, iterative Verfahren
c) Schließlich zeige man, dass λ(1) < 0 solange monoton zunimmt, wie ω, vom Wert Eins ausgehend, ur den die beiden reellen Eigenwerte zusammengefallen. abnimmt bis zum kritischen Wert ωopt , f¨ angigkeit des Wie groß sind ωopt und ̺(Ì SOR (ωopt )) in Funktion von ̺(Ì J )? Man gebe die Abh¨ Spektralradius ̺(Ì SOR (ω)) von ω explizit an und diskutiere sie. F¨ ur welches ω-Intervall herrscht Konvergenz der SOR-Methode in Abh¨ angigkeit von ̺(Ì J )? Gegen welche Werte streben ωopt und ̺(Ì SOR (ωopt )) f¨ ur ̺(Ì J ) → 1? ur ω = d) Welches sind die Eigenwerte von Ì SOR (ω) und wo liegen sie in der komplexen Ebene f¨ 1.0, 0.9, 0.8 im Fall 1 0 der Matrix 1 −0.5 0 0 0 B 0.5 1 −0.5 0 0 C C B C B =B 0 0.5 1 −0.5 0 C, C B @ 0 0 0.5 1 −0.5 A 0 0 0 0.5 1 und welches sind ωopt und ̺( SOR (ωopt ))?
Aufgabe 11.9. Mit Hilfe eines Computerprogramms l¨ ose man die linearen Gleichungssysteme von Aufgabe 11.4 mit der Methode der konjugierten Gradienten ohne und mit Vorkonditionierung (SSORCG) f¨ ur verschiedene Maschenweiten h = 1, 1/2, 1/4, 1/6, . . .. Zu diesem Zweck sind die zugeh¨ origen Matrizen in kompakter zeilenweiser Speicherung und die rechten Seiten zu generieren. Wie steigt die Zahl der n¨ otigen Iterationsschritte bei Verfeinerung der Maschenweite h an und welche Reduktion des Rechenaufwandes wird mit der Vorkonditionierung bei optimaler Wahl von ω erreicht? Aufgabe 11.10. Man entwickle ein Programm zum GMRES(m)-Algorithmus (11.152) ohne und mit Vorkonditionierung. Damit l¨ ose man die unsymmetrischen Gleichungssysteme der Aufgaben 10.2 und 10.3. Zudem bestimme man die N¨ aherungsl¨ osung der Randwertaufgabe −∆u + 4ux − 3uy u
= =
2 0
in auf
G, Γ,
wo G das trapezf¨ ormige Gebiet der Abb. 11.9 und Γ sein Rand bedeuten und die Aufgabe mit dem Differenzenverfahren f¨ ur die Maschenweiten h = 1/8, 1/12, 1/16, 1/24/1/32/1/48 diskretisiert (11.112) sind die wird. F¨ ur welche Werte m und ω im Fall der Vorkonditionierungsmatrix Rechenzeiten minimal? Durch Variation der beiden Konstanten der ersten partiellen Ableitungen stelle man den Einfluss des resultierenden Grades der Unsymmetrie der Gleichungssysteme auf das Konvergenzverhalten fest.
Literaturverzeichnis
[Abr 71] Abramowitz, M./ Stegun, I. A.: Handbook of mathematical functions. New York: Dover Publications 1971 [Aik 85] Aiken, R. C. (Hrsg.): Stiff computation. New York-Oxford: Oxford University Press 1985 [Akh 88] Akhiezer, N.: The calculus of variations. Harwood: Harwood Academic Publishers 1988 [Alb 85] Albrecht, P.: Numerische Behandlung gew¨ohnlicher Differenzialgleichungen. M¨ unchen: Hanser 1985 [Ale 02] Alefeld, G./ Lenhardt, I./ Obermaier, H.: Parallele numerische Verfahren. Berlin: Springer 2002 [Ama 95] Amann, H.: Gew¨ ohnliche Differenzialgleichungen, 2. Aufl. Berlin-New York: de Gruyter 1995 [And 99] Anderson, E./ Bai, Z./ Bischof, C./ Demmel, J./ Dongarra, J. J./ Du Croz, J./ Greenbaum, A./ Hammarling, S./ McKenney, A./ Ostrouchov, S./ Sorensen, D.: Lapack User’s Guide – 3rd ed. Philadelphia: SIAM 1999 [Asc 95] Ascher, U. M./ Mattheij, R. M. M./ Russell, R. D.: Numerical solution of boundary value problems for ordinary differential equations. Englewood Cliffs: PrenticeHall 1995 [Atk 89] Atkinson, K. E.: An introduction to numerical analysis. 2nd ed. New York: Wiley 1989 [Axe 84] Axelsson, O./ Barker, V. A.: Finite element solution of boundary value problems. New York: Academic Press 1984 [Axe 85] Axelsson, O.: A survey of preconditioned iterative methods for linear systems of algebraic equations. BIT 25 (1985) 166–187 [Axe 89] Axelsson, O. (Hrsg.): Preconditioned conjugate gradient methods. Special issue of BIT 29:4 1989 [Axe 90] Axelsson, O./ Kolotilina, L. Y. (Hrsg.): Preconditioned conjugate gradient methods. Berlin: Springer 1990 [Bai 00] Bai, Z./ Demmel, J./ Dongarra, J. J./ Ruhe, A./ van der Vorst, H.: Templates for the solution of algebraic eigenvalue problems: A practical guide. Philadelphia: SIAM 2000 [Ban 98] Bank, R. E.: Pltmg: A software package for solving elliptic partial differential Equations: Users’ Guide 8.0. Philadelphia: SIAM 1998 [Bar 88a] Barragy, E./ Carey, G. F.: A parallel element by element solution scheme. Int. J. Numer. Meth. Engin. 26 (1988) 2367–2382 [Bar 88b] Barsky, B. A.: Computer graphics and geometric modeling using Beta-Splines.
548
Literaturverzeichnis
Berlin: Springer 1988 [Bar 90] Bartels, R. H./ Beatty, J. C./ Barsky, B. A.: An introduction to splines for use in computer graphics and geometric modeling. Los Altos: Kaufmann 1990 [Bar 94] Barrett, R./ Berry, M./ Chan, T. F./ Demmel, J./ Donato, J./ Dongarra, J./ Eijkhout, V./ Pozo, R./ Romine, C./ van der Vorst, H.: Templates for the solution of linear systems: Building blocks for iterative methods, 2nd ed. Philadelphia: SIAM 1994 [Bec 93] Becker, J./ Dreyer, H. J./ Haacke, W./ Nabert, R.: Numerische Mathematik f¨ ur Ingenieure. Stuttgart: Teubner 1993 [Ben 24] Benoit: Note sur une m´ethode de r´esolution des ´equations normales etc. (Proc´ed´e du commandant Cholesky). Bull. g´eod´esique 3 (1924) 67–77 [Bey 98] Bey, J.: Finite-Volumen- und Mehrgitter-Verfahren f¨ ur elliptische Randwertprobleme. Stuttgart: Teubner 1998 [Bon 91] Bondeli, S.: Divide and Conquer: a parallel algorithm for the solution of a tridiagonal linear system of equations. Parallel Comp. 17 (1991) 419–434 [Boo 80] Boor, C. de: FFT as nested multiplication, with a twist. SIAM J. Sci. Stat. Comp. 1 (1980) 173–178 [Boo 01] Boor, C. de: A practical guide to splines, 2nd ed. New York: Springer 2001 [Bra 68] Bramble, J. H./ Hubbard, B. E./ Ziamal, M.: Discrete analogues of the Dirichlet problem with isolated singularities. SIAM J. Numer. Anal. 5 (1968) 1–25 [Bra 86] Bramble, J. H./ Pasciak, J. E./ Schatz, A. H.: The construction of preconditioners for elliptic problems by substructuring I. Math. Comp. 47 (1986) 103–134 [Bra 93] Bramble, J. H.: Multigrid methods. Harlow: Longman 1993 [Bra 03] Braess, D.: Finite Elemente: Theorie, schnelle L¨oser und Anwendungen in der Elastizit¨ atstheorie, 3rd ed. Berlin: Springer 2003 [Bre 71] Brent, R. P.: An algorithm with guaranteed convergence for finding a zero of a function. Comp. J. 14 (1971) 422–425 [Bre 73] Brent, R. P.: Algorithm for minimization without derivatives. Englewood Cliffs: Prentice-Hall 1973 [Bre 92] Brehm, J.: Parallele lineare Algebra. Wiesbaden: Dt. Univ.-Verlag 1992 [Bri 88] Brigham, E. O.: The fast fourier transform and its applications. Englewood Cliffs: Prentice-Hall 1988 [Bri 95] Brigham, E. O.: FFT: Schnelle Fourier-Transformation, 6. Aufl. M¨ unchen: Oldenbourg 1995 [Bri 00] Briggs, W. L.: A multigrid tutorial. Philadelphia: SIAM 2000 [Bru 95] Bruaset, A. M.: A survey of preconditioned iterative methods. Harlow: Longman 1995 [Bun 76] Bunch, J. R./ Rose, D. J. (Hrsg.): Sparse matrix computations. New York: Academic Press 1976 [Bun 95] Bunse, W./ Bunse-Gerstner, A.: Numerische lineare Algebra. Stuttgart: Teubner 1995 [Bun 02] Bungartz, H./ Griebel, M./ Zenger, C.: Einf¨ uhrung in die Computergraphik. Wiesbaden: Vieweg 2002 [But 63] Butcher, J. C.: Coefficients for the study of Runge-Kutta integration processes. J. Austral. Math. Soc. 3 (1963) 185–201
Literaturverzeichnis
549
[But 65] Butcher, J. C.: On the attainable order of Runge-Kutta methods. Math. Comp. 19 (1965) 408–417 [But 87] Butcher, J. C.: The numerical analysis of ordinary differential equations. Chichester: John Wiley 1987 [Ces 66] Ceschino, F./ Kuntzmann, J.: Numerical solution of initial value problems. Englewood Cliffs: Prentice-Hall 1966 [Cha 82] Chan, T. F.: An improved algorithm for computing the singular value decomposition. ACM Trans. Math. Soft 8 (1982) 72–88 [Cha 89] Chan, T. F./ Glowinski, R./ P´eriaux, J./ Widlund, O. B. (Hrsg.): Proceedings of the second international symposium on domain decomposition methods. Philadelphia: SIAM 1989 [Cho 95] Choi, J./ Dongarra, J. J./ Ostrouchov, S./ Petite, A./ Walker, D./ Whaley, R. C.: A proposal for a set of parallel basic linear algebra subprograms. Working note, Lapack 1995 [Cho 96] Choi, J./ Dongarra, J. J./ Ostrouchov, S./ Petite, A./ Walker, D./ Whaley, R. C.: The design and implementation of the ScaLapack LU, QR and Cholesky factorization routines, Vol. 5. Lapack working note 80, Oak Ridge National Laboratory 1996 [Cia 78] Ciarlet, P. G.: The finite element method for elliptic problems. Amsterdam: NorthHolland 1978 [Cle 55] Clenshaw, C. W.: A note on the summation of Chebyshev series. Math. Tab. Wash. 9 (1955) 118–120 [Cli 79] Cline, A. K./ Moler, C. B./ Stewart, G. W./ Wilkinson, J. H.: An estimate for the condition number of a matrix. SIAM J. Numer. Anal. 16 (1979) 368–375 [Col 66] Collatz, L.: The numerical treatment of differential equations. Berlin: Springer 1966 [Col 68] Collatz, L.: Funktionalanalysis und numerische Mathematik. Berlin: Springer 1968 [Col 90] Collatz, L.: Differentialgleichungen 7. Aufl. Stuttgart: Teubner 1990 [Con 85] Concus, P./ Golub, G./ Meurant, G.: Block preconditioning for the conjugate gradient method. SIAM J. Sci. Comp. 6 (1985) 220–252 [Coo 65] Cooley, J. W./ Tukey, J. W.: An algorithm for the machine calculation of complex Fourier series. Math. Comp. 19 (1965) 297–301 [Cos 95] Cosnard, M./ Trystam, D.: Parallel algorithms and architectures. New York: Thomson 1995 [Cou 68] Courant, R./ Hilbert, D.: Methoden der mathematischen Physik I, II, 3. bzw. 2. Aufl. (1. Aufl. 1924/1937). Berlin: Springer 1968 [Cri 86] Crisfield, M. A.: Finite elements and solution procedures for structural analysis, linear analysis. Swansea: Pineridge Press 1986 [Cul 99] Culler, D. E./ Singh, J. P./ Gupta, A.: Parallel computer architecture: a hardware, software approach. San Francisco: Morgan Kaufmann 1999 [Dah 74] Dahlquist, G./ Bjørck, ˚ A.: Numerical methods. Englewood Cliffs: Prentice-Hall 1974 [Dah 85] Dahlquist, G.: 33 years of numerical instability, Part 1. BIT 25 (1985) 188–204 [Dek 84] Dekker, K./ Verwer, J. G.: Stability of Runge-Kutta methods for stiff nonlinear differential equations. Amsterdam: North-Holland 1984
550
Literaturverzeichnis
[Deu 02a] Deuflhard, P./ Bornemann, F.: Numerische Mathematik II, 2. Aufl. Berlin: de Gruyter 2002 [Deu 02b] Deuflhard, P./ Hohmann, A.: Numerische Mathematik I. Eine algorithmisch orientierte Einf¨ uhrung, 3. Aufl. Berlin: Walter de Gruyter 2002 [Dew 86] Dew, P. M./ James, K. R.: Introduction to numerical computation in Pascal. New York: Springer 1986 [Dew 88] Dewey, B. R.: Computer graphics for engineers. New York: Harper and Row 1988 [Die 89] Dierckx, P.: Fitpack User Guide. Part 1: Curve fitting routines. Report TW 89. Part 2: Surface fitting routines. Report TW 122. Katholieke Universiteit Leuven, department of computer Sscience Celestijnenlaan 200A, B-3030 Leuven (Belgium) 1987, 1989 [Don 79] Dongarra, J. J./ Du Croz, J./ Duff, I. S./ Hammarling, S.: Linpack User’s Guide. Philadelphia: SIAM 1979 [Don 93] Dongarra, J. J./ Duff, I. S./ Sorensen, D. C./ van der Vorst, H. A.: Solving linear systems on vector and shared memory computers. Philadelphia: SIAM 1993 [Dor 78] Dormand, J. R./ Prince, P. J.: New Runge-Kutta algorithms for numerical simulation in dynamical astronomy. Celestial Mechanics 18 (1978) 223–232 [Dor 80] Dormand, J. R./ J., P. P.: A family of embedded Runge-Kutta formulas. J. Comp. Appl. Math. (1980) 19–26 [Duf 76] Duff, I. S./ Reid, J. K.: A comparison of some methods for the solution of sparse over-determined systems of linear equations. J. Inst. Math. Applic. 17 (1976) 267–280 [Duf 86] Duff, I. S./ Erisman, A. M./ Reid, J. K.: Direct methods for sparse matrices. Oxford: Clarendon Press 1986 [EM 90] Engeln-M¨ ullges, G./ Reutter, F.: Formelsammlung zur numerischen Mathematik mit C-Programmen 2. Auflage. Mannheim: B.I. Wissenschaftsverlag 1990 [Enc 96] Encarna¸c˜ao, J./ Straßer, W./ Klein, R.: Graphische Datenverarbeitung, 4. Auflage. M¨ unchen: Oldenbourg 1996 [Eng 69] England, R.: Error estimates for Runge-Kutta type solutions to systems of ordinary differential equations. Comp. J. 12 (1969) 166–170 [Eva 83] Evans, D. J. (Hrsg.): Preconditioning methods: Analysis and applications. New York: Gordon and Breach 1983 [Far 94] Farin, G.: Kurven und Fl¨ achen im Computer Aided Geometric Design 2. Aufl. Wiesbaden: Vieweg 1994 [Fat 88] Fatunla, S. O.: Numerical methods for initial value problems in ordinary differential equations. London: Academic Press 1988 [Feh 64] Fehlberg, E.: New high-order Runge-Kutta formulas with step size control for systems of first and second order differential equations. ZAMM 44 (1964) T17– T29 [Feh 68] Fehlberg, E.: Classical fifth-, sixth-, seventh-, and eighth order Runge-Kutta formulas with step size control. NASA Techn. Rep. 287 (1968) [Feh 69a] Fehlberg, E.: Klassische Runge-Kutta-Formeln f¨ unfter und siebenter Ordnung mit Schrittweiten-Kontrolle. Computing 4 (1969) 93–106 [Feh 69b] Fehlberg, E.: Low-order classical Runge-Kutta formulas with step size control and their application to some heat transfer problems. NASA Techn. Rep.315 (1969)
Literaturverzeichnis
551
[Feh 70] Fehlberg, E.: Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung auf W¨armeleitungsprobleme. Computing 6 (1970) 61–71 [Fle 00] Fletcher, R.: Practical methods of optimization. Vol. 1: Unconstrained Optimization. Vol. 2: Constrained Optimization., 2nd ed. Chichester: Wiley 2000 [For 77] Forsythe, G. E./ Malcolm, M. A./ Moler, C. B.: Computer methods for mathematical computations. Englewood Cliffs: Prentice-Hall 1977 [Fox 79] Fox, L./ Parker, I. B.: Chebyshev polynomials in numerical analysis. London: Oxford University Press 1979 [Fox 88] Fox, L./ Mayers, D. F.: Numerical solution of ordinary differential equations. London: Chapman and Hall 1988 [Fra 62] Francis, J.: The QR transformation. A unitary analogue to the LR transformation, Parts I and II. Comp. J. 4 (1961/62) 265–271 and 332–345 [Fre 90] Freund, R.: On conjugate gradient type methods and polynomial preconditioners for a class of complex non-Hermitian matrices. Numer. Math. 57 (1990) 285–312 [Fre 92] Freeman, T. L./ Phillips, C.: Parallel numerical algorithms. New York: Prentice Hall 1992 [Fro 90] Frommer, A.: L¨ osung linearer Gleichungssysteme auf Parallelrechnern. Braunschweig: Vieweg 1990 [Fuc 87] Fuchssteiner, B.: Solitons in interaction. Progr. Theoret. Phys. 78 (1987) 1022– 1050 [Fun 70] Funk, P.: Variationsrechnung und ihre Anwendung in Physik und Technik 2. Aufl. Berlin: Springer 1970 [Gal 90a] Gallivan, K. A./ Heath, M. T./ Ng, E./ Ortega, J. M./ Peyton, B. W./ Plemmons, R. J./ Romine, C. H./ Sameh, A. H./ Voigt, R. G.: Parallel algorithms for matrix computations. Philadelphia: SIAM 1990 [Gal 90b] Gallivan, K. A./ Plemmons, R. J./ Sameh, A. H.: Parallel algorithms for dense linear algebra computations. SIAM Review 32 (1990) 54–135 [Gan 92] Gander, W.: Computermathematik, 2. Aufl. Basel: Birkh¨auser 1992 [Gau 70] Gautschi, W.: On the construction of Gaussian quadrature rules from modified moments. Math. Comp 24 (1970) 245–260 [Gea 71] Gear, C. W.: Numerical initial value problems in ordinary differential equations. Englewood Cliffs: Prentice Hall 1971 [Gen 73] Gentleman, M.: Least squares computations by Givens transformations without square roots. J. Inst. Math. Appl. 12 (1973) 329–336 [Geo 80] George, A./ Heath, M. T.: Solution of sparse linear least squares problems using Givens rotations. Lin. Alg. Appl. 34 (1980) 69–83 [Gil 76] Gill, P. E./ Murray, W.: The orthogonal factorization of a large sparse matrix. In: Bunch und Rose [Bun 76], S. 201–212 [Giv 54] Givens, J. W.: Numerical computation of the characteristic values of a real symmetric matrix. Rep. ORNL 1574, Oak Ridge Nat. Lab., Oak Ridge 1954 [Giv 58] Givens, W.: Computation of plane unitary rotations transforming a general matrix to triangular form. SIAM J. Appl. Math. 6 (1958) 26–50 [Gla 79] Gladwell, I./ Wait, R. (Hrsg.): A survey of numerical methods for partial differential equations. Oxford: Clarendon Press 1979
552
Literaturverzeichnis
[Gol 65] Golub, G. H./ Kahan, W.: Calculating the singular values and pseudo-inverse of a matrix. SIAM J. Numer. Anal. Ser.B. 2 (1965) 205–224 [Gol 69] Golub, G. H./ Welsch, J. A.: Calculation of Gauss quadrature rules. Math. Comp. 23 (1969) 221–230 [Gol 73] Golub, G. H./ Pereyra, V.: The differentiation of pseudo-inverses and nonlinear least square problems whose variabales separate. SIAM, J. Numer. Anal. 10 (1973) 413–432 [Gol 80] Golub, G. H./ Plemmons, R. J.: Large-scale geodetic least-square adjustment by dissection and orthogonal decomposition. Lin. Alg. Appl. 34 (1980) 3–27 [Gol 95] Golub, G. H./ Ortega, J. M.: Wissenschaftliches Rechnen und Differentialgleichungen. Eine Einf¨ uhrung in die Numerische Mathematik. Berlin: Heldermann 1995 [Gol 96a] Golub, G. H./ Ortega, J. M.: Scientific Computing. Eine Einf¨ uhrung in das wissenschaftliche Rechnen und die parallele Numerik. Stuttgart: Teubner 1996 [Gol 96b] Golub, G. H./ Van Loan, C. F.: Matrix computations. 3rd ed. Baltimore: John Hopkins University Press 1996 )∞ 2 [Goo 49] Goodwin, E. T.: The evaluation of integrals of the form ∞ f (x)c−x dx. Proc. Cambr. Philos. Soc. (1949) 241–256 [Goo 60] Good, I. J.: The interaction algorithm and practical Fourier series. J. Roy Statist. Soc. Ser. B. 20, 22 (1958/1960) 361–372 and 372–375 [Gou 73] Gourlay, A. R./ Watson, G. A.: Computational methods for matrix eigenproblems. London: John Wiley 1973 [Gri 72] Grigorieff, R. D.: Numerik gew¨ ohnlicher Differentialgleichungen, Band 1: Einschrittverfahren. Stuttgart: Teubner 1972 [Gro 05] Großmann, C./ Roos, H.-G.: Numerik partieller Differentialgleichungen. 3.Aufl. Wiesbaden: Teubner 2005 [Hac 85] Hackbusch, W.: Multigrid methods and applications. Berlin: Springer 1985 [Hac 93] Hackbusch, W.: Iterative L¨ osung großer schwach besetzter Gleichungssysteme, 2. Aufl. Stuttgart: Teubner 1993 [Hac 96] Hackbusch, W.: Theorie und Numerik elliptischer Differentialgleichungen, 2. Aufl. Stuttgart: Teubner 1996 [Hag 81] Hageman, L. A./ Young, D. M.: Applied iterative methods. New York: Academic Press 1981 [Hai 93] Hairer, E./ Nørsett, S./ Wanner, G.: Solving ordinary differential equations I: Nonstiff problems. 2nd ed. Berlin: Springer 1993 [Hai 96] Hairer, E./ Wanner, G.: Solving odinary differential equations II: Stiff and differential-algebraic problems. 2nd ed. Berlin: Springer 1996 [Ham 74] Hammarling, S.: A note on modifications to the Givens plane rotation. J. Inst. Math. Appl. 13 (1974) 215–218 [H¨ am 91] H¨ ammerlin, G./ Hoffmann, K.-H.: Numerical mathematics. Berlin: Springer 1991 [H¨ am 94] H¨ ammerlin, G./ Hoffmann, K.-H.: Numerische Mathematik, 4. Aufl. Berlin: Springer 1994 [Heg 91] Hegland, M.: On the parallel solution of tridiagonal systems by wrap-around partitioning and incomplete LU-factorization. Num. Math. 59 (1991) 453–472 [Hen 58] Henrici, P.: On the speed of convergence of cyclic and quasicyclic Jacobi methods
Literaturverzeichnis
553
for computing the eigenvalues of Hermitian matrices. SIAM J. App. Math. 6 (1958) 144–162 [Hen 62] Henrici, P.: Discrete variable methods in ordinary differential equations. New York: Wiley 1962 [Hen 64] Henrici, P.: Elements of numerical analysis. New York: Wiley 1964 [Hen 72] Henrici, P.: Elemente der numerischen Analysis I, II. Heidelberg: Bibliographisches Institut 1972 [Hen 82] Henrici, P.: Essentials of numerical analysis. New York: Wiley 1982 [Hen 91] Henrici, P.: Applied and computational complex analysis, Vol.2. New York: John Wiley 1991 [Hen 93] Henrici, P.: Applied and computational complex analysis, Vol.3. New York: John Wiley 1993 [Hes 52] Hestenes, M. R./ Stiefel, E.: Methods of conjugate gradients for solving linear systems. J. Res. Nat. Bur. Standards 49 (1952) 409–436 [Heu 04a] Heuser, H.: Gew¨ ohnliche Differentialgleichungen, 4. Aufl. Wiesbaden: Teubner 2004 [Heu 04b] Heuser, H.: Lehrbuch der Analysis, Teil 2, 13. Aufl. Wiesbaden: Teubner 2004 [Hig 02] Higham, N. J.: Accuracy and stability of numerical algorithms, 2nd ed. Philadelphia: SIAM 2002 [Hil 88] Hill, D. R.: Experiments in computational matrix algebra. New York: Random House 1988 [Hoc 65] Hockney, R.: A fast direct solution of Poisson’s equation using Fourier analysis. J. ACM 12 (1965) 95–113 [Hoc 88] Hockney, R./ Jesshope, C.: Parallel computers 2. Bristol: Adam Hilger 1988 [Hod 92] Hodnett F. (Hrsg.): Proc. of the sixth european conference on mathematics in industry. Stuttgart: Teubner 1992 [Hop 88] Hopkins, T./ Phillips, C.: Numerical methods in practice using the Nag library. Wokingham: Addison-Wesley 1988 [Hos 93] Hoschek, J./ Lasser, D.: Grundlagen der geometrischen Datenverarbeitung, 2. Aufl. Stuttgart: Teubner 1993 [Hou 58] Householder, A. S.: Unitary triangularization of a nonsymmetric matrix. J. Assoc. Comp. Mach. 5 (1958) 339–342 [Hug 83] Hughes, T. J. R./ Levit, I./ Winget, J.: An element-by-element solution algorithm for problems of structural and solid mechanics. Comp. Meth. Appl. Mech. Eng. 36 (1983) 241–254 [Hym 57] Hyman, M. A.: Eigenvalues and eigenvectors of general matrices. Texas: Twelfth National Meeting A.C.M. 1957 [Imsl] Imsl: User’s Manual. Imsl, Customer Relations, 14141 Southwest Freeway, Suite 3000, Sugar Land, Texas 77478–3498, USA. [Iri 70] Iri, M./ Moriguti, S./ Takasawa, Y.: On a certain quadrature formula (japanisch) [English transl.: Comput. Appl. Math. 17 (1987) 3–30]. RIMS Kokyuroku Kyoto Univ. 91 (1970) 82–118 ¨ [Jac 46] Jacobi, C. G. J.: Uber ein leichtes Verfahren, die in der Theorie der S¨akularst¨orungen vorkommenden Gleichungen numerisch aufzul¨osen. Crelle’s Journal 30 (1846) 51–94
554
Literaturverzeichnis
[Jac 72] Jacoby, S. L. S./ Kowalik, J. S./ Pizzo, J. T.: Iterative methods for nonlinear optimization problems. Englewood Cliffs: Prentice-Hall 1972 [Jai 84] Jain, M. K.: Numerical solution of differential equations. 2nd ed. New York: John Wiley 1984 [JE 82] Jordan-Engeln, G./ Reutter, F.: Numerische Mathematik f¨ ur Ingenieure. 3. Aufl. Mannheim: Bibliographisches Institur 1982 [Jen 77] Jennings, A./ Malik, G. M.: Partial elimination. J. Inst. Math. Applics. 20 (1977) 307–316 [Joh 87] Johnson, S. L.: Solving tridiagonal systems on ensemble architectures. SIAM J. Sci. Stat. Comp. 8 (1987) 354–389 [K˚ ag 86] K˚ agstrøm, B.: Rgsvd – An algorithm for computing the Kronecker structure and reducing subspaces of singular A− λB pencils. SIAM J. Sci. Stat. Comp. 7 (1986) 185–211 [Kan 95] Kan, J. J. I. M. v./ Segal, A.: Numerik partieller Differentialgleichungen f¨ ur Ingenieure. Stuttgart: Teubner 1995 [Kau 79] Kaufman, L.: Application of dense Householder transformations to a sparse matrix. ACM Trans. Math. Soft. 5 (1979) 442–450 [Kei 56] Keitel, G. H.: An extension of Milne’s three-point method. J. ACM 3 (1956) 212–222 [Kel 92] Keller, H. B.: Numerical methods for two-point boundary value problems. New York: Dover Publications 1992 [Ker 78] Kershaw, D. S.: The incomplete Cholesky-conjugate gradient method for the iterative solution of systems of linear equations. J. Comp. Physics 26 (1978) 43–65 [Kie 88] Kielbasinski, A./ Schwetlick, H.: Numerische lineare Algebra. Frankfurt: Verlag Harri Deutsch 1988 [Kli 88] Klingbeil, E.: Variationsrechnung. 2. Aufl. Mannheim: Bibliographisches Institut 1988 [K¨ oc 90] K¨ ockler, N.: Numerische Algorithmen in Softwaresystemen. Stuttgart: Teubner 1990 [K¨ oc 94] K¨ ockler, N.: Numerical methods and scientific computing – using software libraries for problem solving. Oxford: Clarendon Press 1994 [Kro 66] Kronrod, A. S.: Nodes and weights of quadrature formulas. New York: Consultants Bureau 1966 [Kut 01] Kutta, W.: Beitrag zur n¨ aherungsweisen Integration totaler Differentialgleichungen. Z. Math. Phys. 46 (1901) 435–453 [Lam 91] Lambert, J. D.: Numerical methods for ordinary differential systems. New York: John Wiley 1991 [Lap 71] Lapidus, L./ Seinfeld, J. H.: Numerical solution of ordinary differential equations. New York: Academic Press 1971 [Lap 99] Lapidus, L./ Pinder, G. F.: Numerical solution of partial differential equations in science and engineering. New York: Wiley 1999 [Law 66] Lawson, J. D.: An order five Runge-Kutta process with extended region of stability. SIAM J. Numer. Anal. 3 (1966) 593–597 [Law 95] Lawson, C. L./ Hanson, R. J.: Solving least squares problems, Unabridged corr. republ. Philadelphia: SIAM 1995
Literaturverzeichnis
555
[Leh 96] Lehoucq, R. B./ Sorensen, D. C.: Deflation Techniques for an Implicitly Re-Started Arnoldi Iteration. SIAM J. Matrix Analysis and Applications 17 (1996) 789–821 [Leh 98] Lehoucq, R. B./ Sorensen, D. C./ Yang, C.: ARPACK Users’ Guide: Solution of Large-Scale Eigenvalue Problems with Implicitly Restarted Arnoldi Methods. Philadelphia: SIAM 1998 [Lei 97] Leighton, F. T.: Einf¨ uhrung in parallele Algorithmen und Architekturen. Bonn: Thomson 1997 [Lin 01] Linz, P.: Theoretical numerical analysis. Mineola: Dover Publications 2001 [Loc 92] Locher, F.: Numerische Mathematik f¨ ur Informatiker. Berlin: Springer 1992 [Lud 71] Ludwig, R.: Methoden der Fehler- und Ausgleichsrechnung, 2. Aufl. Berlin: Deutscher Verlag der Wissenschaften 1971 [Lyn 83] Lyness, J. N.: When not to use an automatic quadrature routine. SIAM Rev. 25 (1983) 63–87 [Mae 54] Maehly, H. J.: Zur iterativen Aufl¨ osung algebraischer Gleichungen. ZaMP 5 (1954) 260–263 [Mae 85] Maess, G.: Vorlesungen u ¨ ber numerische Mathematik Band I: Lineare Algebra. Basel: Birkh¨ auser 1985 [Mag 85] Magid, A.: Applied matrix models. New York: Wiley 1985 [Mar 63] Marquardt, D. W.: An algorithm for least-squares estimation of nonlinear parameters. J. Soc. Indust. Appl. Math. 11 (1963) 431–441 [Mar 76] Marsal, D.: Die numerische L¨ osung partieller Differentialgleichungen in Wissenschaft und Technik. Mannheim: Springer 1976 [McC 88] McCormick, S. F.: Multigrid methods: theory, applications, and supercomputing. New York: Dekker 1988 [Mei 77] Meijernink, J. A./ van der Vorst, H. A.: An iterative solution method for linear systems of which the coefficient matrix is a symmetric M-Matrix. Math. Comp. 31 (1977) 148–162 [Mit 80] Mitchell, A. R./ Griffiths, D. F.: The finite difference method in partial differential equations. Chichester: Wiley 1980 [Mit 85] Mitchell, A. R./ Wait, R.: The finite element method in partial differential Equations. London: Wiley 1985 [Mol] Moler, C. B.: Matlab – User’s Guide. The Math Works Inc., Cochiuate Place, 24 Prime Park Way, Natick, Mass. 01760, USA [Mol 73] Moler, C. B./ Stewart, G. W.: An algorithm for generalized matrix eigenvalue problems. SIAM J. Numer. Anal. 10 (1973) 241–256 [Mor 78] Mori, M.: An IMT-type double exponential formula for numerical integration. Publ. RIMS Kyoto Univ. 14 (1978) 713–729 [Mor 94] Morton, K. W./ Mayers, D. F.: Numerical solution of partial differential equations. Cambridge: Cambridge University Press 1994 [NAGa] NAG: C Library manual. The Numerical Algorithm Group Ltd., Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, U.K. [NAGb] NAG: Fortran library manual. The Numerical Algorithm Group Ltd., Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, U.K. [NO 85] Nour-Omid, B./ Parlett, B. N.: Element preconditioning using splitting techniques. SIAM J. Sci. Stat. Comp. 6 (1985) 761–771
556
Literaturverzeichnis
[Ort 88] Ortega, J.: Introduction to parallel and vector solution of linear systems. New York: Plenum Press 1988 [Ort 00] Ortega, J. M./ Rheinboldt, W. C.: Iterative solution of nonlinear equations in several variables. Philadelphia: SIAM 2000 [Par 98] Parlett, B. N.: The symmetric eigenvalue problem. Philadelphia: SIAM 1998 [Pat 69] Patterson, T. N. L.: The optimum addition of points to quadrature formulae. Math. Comp. [errata Math. Comp.] 22 [23] (1968 [1969]) 847–856 [892] [Pea 55] Peaceman, D. W./ Rachford, H. H.: The numerical solution of parabolic and elliptic differential equations. J. Soc. Industr. Appl. Math. 3 (1955) 28–41 [Pic 86] Pickering, M.: An introduction to fast fourier transform methods for PDE, with applications. New York: Wiley 1986 [Pie 83] Piessens, R./ Doncker-Kapenga von (ed.), E./ Ueberhuber, C. W./ Kahaner, D. K.: Quadpack. A subroutine package for automatic integration. Berlin: Springer 1983 [Rab 88] Rabinowitz (ed.), P.: Numerical methods for nonlinear algebraic equations. New York: Gordon and Breach 1988 [Rao 71] Rao, C. R./ Mitra, S. K.: Generalized inverse of matrices and its applications. New York: Wiley 1971 [Rat 82] Rath, W.: Fast Givens rotations for orthogonal similarity transformations. Numer. Math. 40 (1982) 47–56 [Reu 88] Reuter, R.: Solving tridiagonal systems of linear equations on the IBM 3090 VF. Parallel Comp. 8 (1988) 371–376 [Rob 91] Robert, Y.: The impact of vector and parallel architectures on the Gaussian elimination algorithm. New York: Halsted Press 1991 [Roo 99] Roos, H.-G./ Schwetlick, H.: Numerische Mathematik. Stuttgart: Teubner 1999 [R¨ ud 93] R¨ ude, U.: Mathematical and computational techniques for multilevel adaptive methods. Philadelphia: SIAM 1993 ¨ [Run 95] Runge, C.: Uber die numerische Aufl¨osung von Differentialgleichungen. Math. Ann. 46 (1895) 167–178 ¨ [Run 03] Runge, C.: Uber die Zerlegung empirisch gegebener periodischer Funktionen in Sinuswellen. Z. Math. Phys. 48 (1903) 443–456 ¨ [Run 05] Runge, C.: Uber die Zerlegung einer empirischen Funktion in Sinuswellen. Z. Math. Phys. 52 (1905) 117–123 [Run 24] Runge, C./ K¨ onig, H.: Vorlesungen u ¨ ber numerisches Rechnen. Berlin: Springer 1924 ¨ [Rut 52] Rutishauser, H.: Uber die Instabilit¨ at von Methoden zur Integration gew¨ohnlicher Differentialgleichungen. ZaMP 3 (1952) 65–74 [Rut 66] Rutishauser, H.: The Jacobi method for real symmetric matrices. Numer. Math. 9 (1966) 1–10 [Rut 69] Rutishauser, H.: Computational aspects of F. L. Bauer’s simultaneous iteration method. Num. Math. 13 (1969) 4–13 [Saa 81] Saad, Y.: Krylov subspace methods for solving large unsymmetric linear systems. Math. Comp. 37 (1981) 105–126 [Sag 64] Sag, W. T./ Szekeres, G.: Numerical evaluation of high-dimensional integrals. Math. Comp. 18 (1964) 245–253
Literaturverzeichnis
557
[Sau 68] Sauer, R./ Szab´ o, I.: Mathematische Hilfsmittel des Ingenieurs. Band 3. Berlin: Springer 1968 ¨ [Sch 09] Schur, I.: Uber die charakteristischen Wurzeln einer linearen Substitution mit einer Anwendung auf die Theorie der Integralgleichungen. Math. Annalen 66 (1909) 488–510 [Sch 61] Sch¨ onhage, A.: Zur Konvergenz des Jacobi-Vefahrens. Numer. Math. 3 (1961) 374–380 [Sch 64] Sch¨ onhage, A.: Zur quadratischen Konvergenz des Jacobi-Vefahrens. Numer. Math. 6 (1964) 410–412 [Sch 69] Schwartz, C.: Numerical integration of analytic functions. J. Comp. Phys. 4 (1969) 19–29 [Sch 72] Schwarz, H. R./ Rutishauser, H./ Stiefel, E.: Numerik symmetrischer Matrizen. 2. Aufl. Stuttgart: Teubner 1972 [Sch 76] Schmeisser, G./ Schirmeier, H.: Praktische Mathematik. Berlin: de Gruyter 1976 [Sch 77] Schwarz, H. R.: Elementare Darstellung der schnellen Fouriertransformation. Computing 18 (1977) 107–116 [Sch 91a] Schwarz, H. R.: Fortran-Programme zur Methode der finiten Elemente. 3.Aufl. Stuttgart: Teubner 1991 [Sch 91b] Schwarz, H. R.: Methode der finiten Elemente. 3.Aufl. Stuttgart: Teubner 1991 [Sch 92] Schaback, R./ Werner, H.: Numerische Mathematik. 4. Aufl. Berlin: Springer 1992 [Sch 97] Schwarz, H. R.: Numerische Mathematik. 4. Aufl. Stuttgart: Teubner 1997 [Sch 04] Schwarz, H. R./ K¨ ockler, N.: Numerische Mathematik. 5. Aufl. Wiesbaden: Teubner 2004 [Sew 88] Sewell, G.: The numerical solution of ordinary and partial differential equations. London: Academic Press 1988 [Sha 84] Shampine, L. F./ Gordon, M. K.: Computer-L¨osungen gew¨ohnlicher Differentialgleichungen. Das Anfangswertproblem. Braunschweig: Friedr. Vieweg 1984 [Sha 94] Shampine, L. F.: Numerical solution of ordinary differential equations. New York: Chapman & Hall 1994 [Sha 00] Shampine, L. F./ Kierzenka, J./ Reichelt, M. W.: Solving boundary value problems for ordinary differential equations in Matlab with bvp4c. ftp://ftp.mathworks.com/pub/doc/papers/bvp/ (2000) [Sin 69] Singleton, R. C.: Algorithm 338: Algol procedures for the fast Fouriertransform. Algorithm 339: An Algol procedure for the fast Fouriertransform with arbitrary factors. [Remark on algorithm 339: An Algol procedure for the fast Fouriertransform with arbitrary factors.]. Comm. ACM 11 [12, issue 3] (1968 [1969]) 773–776 [187] [Ske 01] Skeel, R. D./ Keiper, J. B.: Elementary numerical computing with mathematica. Champaign: Stipes 2001 [Smi 85] Smith, G. D.: Numerical solution of partial differential equations: Finite difference method. 3rd ed. Oxford: Clarendon Press 1985 [Smi 88] Smith, B. T./ Boyle, J. M./ Dongarra, J. J./ Garbow, B. S./ Ikebe, Y./ Klema, V. C./ Moler, C. B.: Matrix eigensystem routines – Eispack Guide. Berlin: Springer 1988 [Smi 90] Smirnow, W. I.: Lehrgang der h¨ oheren Mathematik, Teil II. Berlin: VEB
558
Literaturverzeichnis
Deutscher Verlag der Wissenschaften 1990 [Sta 94] Stammbach, U.: Lineare Algebra. 4. Aufl. Stuttgart: Teubner 1994. Im Internet: http://www.math.ethz.ch/∼stammb/linalg.shtml [Ste 73a] Stenger, F.: Integration formulas based on the trapezoidal formula. J. Inst. Math. Appl. 12 (1973) 103–114 [Ste 73b] Stetter, H. J.: Analysis of discretization methods for ordinary differential equation. Berlin: Springer 1973 [Ste 76] Stewart, G. W.: The economical storage of plane rotations. Numer. Math. 25 (1976) 137–138 [Ste 83] Stewart, G. W.: Introduction to matrix computations. New York: Academic Press 1983 [Sti 76] Stiefel, E.: Einf¨ uhrung in die numerische Mathematik 5. Aufl. Stuttgart: Teubner 1976 [Sto 73] Stone, H.: An efficient parallel algorithm for the solution of a triangular system of equations. J. ACM 20 (1973) 27–38 [Sto 75] Stone, H.: Parallel tridiagonal equation solvers. ACM Trans. Math. Software 1 (1975) 280–307 [Sto 99] Stoer, J.: Numerische Mathematik I, 8. Aufl. Berlin: Springer 1999 [Sto 00] Stoer, J. and Bulirsch, R.: Numerische Mathematik II, 4. Aufl. Berlin: Springer 2000 [Sto 02] Stoer, J. and Bulirsch, R.: Introduction to numerical analysis, 3rd ed. New York: Springer 2002 [Str 66] Stroud, A. H./ Secrest, D.: Gaussian quadrature formulas. Englewood Cliffs: Prentice-Hall 1966 [Str 74] Stroud, A. H.: Numerical quadrature and solution of ordinary differential equations. New York: Springer 1974 [Str 95] Strehmel, K./ Weiner, R.: Numerik gew¨ohnlicher Differentialgleichungen. Stuttgart: Teubner 1995 [Stu 82] Stummel, F./ Hainer, K.: Praktische Mathematik. 2. Aufl. Stuttgart: Teubner 1982 [Swi 78] Swift, A./ Lindfield, G. R.: Comparison of a continuation method with Brent’s method for the numerical solution of a single nonlinear equation. Comp. J. 21 (1978) 359–362 [Sze 62] Szekeres, G.: Fractional iteration of exponentially growing functions. J. Australian Math. Soc. 2 (1961/62) 301–320 [Tak 73] Takahasi, H./ Mori, M.: Quadrature formulas obtained by variable transformation. Numer. Math. 21 (1973) 206–219 [Tak 74] Takahasi, H./ Mori, M.: Double exponential formulas for numerical integration. Publ. RIMS Kyoto Univ. 9 (1974) 721–741 [T¨or 88] T¨ ornig, W./ Spellucci, P.: Numerische Mathematik f¨ ur Ingenieure und Physiker, Band 1: Numerische Methoden der Algebra. 2. Aufl. Berlin: Springer 1988 [Tve 00] Tveito, A./ Winther, R.: Einf¨ uhrung in partielle Differentialgleichungen. Ein numerischer Zugang. Berlin: Springer 2000 ¨ 97] Uberhuber, ¨ [Ube C. W.: Computer-Numerik 1 und 2. Heidelberg: Springer 1997 [Var 00] Varga, R. S.: Matrix iterative analysis, 2nd ed. Berlin: Springer 2000
Literaturverzeichnis
559
[vdV 87a] van der Vorst, H. A.: Analysis of a parallel solution method for tridiagonal linear systems. Parallel Comp. 5 (1987) 303–311 [vdV 87b] van der Vorst, H. A.: Large tridiagonal and block tridiagonal linear systems on vector and parallel computers. Parallel Comp. 5 (1987) 45–54 [vdV 90] van der Vorst, H. A./ van Dooren, P. (Hrsg.): Parallel algorithms for numerical linear algebra. Amsterdam: North Holland 1990 [Wal 88] Walker, H. F.: Implementation of the GMRES method using Householder transformations. SIAM J. Sci. Statist. Comp. 9 (1988) 152–163 [Wal 00] Walter, W.: Gew¨ ohnliche Differentialgleichungen, 7. Aufl. Berlin: Springer 2000 [Wan 81] Wang, H.: A parallel method for tridiagonal equations. ACM Trans. Math. Software 7 (1981) 170–183 [Wes 92] Wesseling, P.: An Introduction to Multigrid Methods. Chichester: Wiley 1992 [Wil 65] Wilkinson, J. H.: The algebraic eigenvalue problem. Oxford: Clarendon Press 1965 [Wil 68] Wilkinson, J. H.: Global convergence of tridiagonal QR-algorithm with origin shifts. Lin. Alg. and Its Appl. 1 (1968) 409–420 [Wil 69] Wilkinson, J. H.: Rundungsfehler. Berlin-Heidelberg-New York: Springer 1969 [Wil 71] Wilkinson, J. H./ Reinsch, C. (Hrsg.): Linear Algebra. Handbook for Automatic Computation Vol. II. Berlin: Springer 1971 [Wil 94] Wilkinson, J. H.: Rounding errors in algebraic processes. New York: Dover Publications 1994 [Win 78] Winograd, S.: On computing the discrete Fourier transform. Math. Comp. 32 (1978) 175–199 [You 71] Young, D. M.: Iterative solution of large linear systems. New York: Academic Press 1971 [You 90] Young, D. M./ Gregory, R. T.: A survey of numerical mathematics Vol. 1 + 2. New York: Chelsea Publishing Co. 1990 [Yse 86] Yserentant, H.: Hierachical basis give conjugate gradient type methods a multigrid speed of convergence. Applied Math. Comp. 19 (1986) 347–358 [Yse 89] Yserentant, H.: Preconditioning indefinite discretization matrices. Numer. Math. 54 (1989) 719–734 [Yse 90] Yserentant, H.: Two preconditioners based on the multi-level splitting of finite element spaces. Numer. Math. 58 (1990) 163–184 [Zie 94] Zienkiewicz, O. C.: The finite element method, 4th ed. New York: McGraw-Hill 1994 [Zon 79] Zonneveld, J. A.: Automatic numerical integration. math. centre tracts, No. 8. Amsterdam: Mathematisch Centrum 1979 [Zur 65] Zurm¨ uhl, R.: Praktische Mathematik f¨ ur Ingenieure und Physiker 5. Aufl. Berlin: Springer 1965 [Zur 86] Zurm¨ uhl, R./ Falk, S.: Matrizen und ihre Anwendungen. Teil 2: Numerische Methoden. 5. Aufl. Berlin: Springer 1986 [Zur 97] Zurm¨ uhl, R./ Falk, S.: Matrizen und ihre Anwendungen. Teil 1: Grundlagen. 7. Aufl. Berlin: Springer 1997
Sachverzeichnis 0/0-Situation 25 1. und 2. erzeugendes Polynom siehe charakteristisches Polynom a posteriori Fehler 186, 188, 495 a priori Fehler 186f., 191, 495 A(α)-stabil 384 A-B-M-Verfahren 366 A-orthogonal 516 Abbildung, kontrahierende 186 Abbruchfehler 15 Ableitungen in Randbedingungen 421 Ableitungswert, Interpolation 99 Abschneidefehler siehe Diskretisierungsfehler absolute Stabilit¨ at 350, 378f., 381, 452f., 455f., 461, 463 absoluter Fehler 16, 20, 53f. Abstiegs, Methode des steilsten 206, 301, 515 Abstiegsrichtung 302 Adams-Verfahren 363, 363, 365f., 375, 381, 391 adaptive Integration 332, 333f., 339 Adaptivit¨ at 482 ahnliche Matrix 52 ¨ ¨ Ahnlichkeitstransformation 219, 221, 254, 257, 525 orthogonale 232 Akustik 483 algebraische Substitution 320 Algol 87 Algorithmus 13, 15, 19 allgemeines Eigenwertproblem 218, 261 alternierende Divergenz 193 alternierenden Richtungen, Methode der 464 AMS-Guide 14 Anfangsrandwertaufgabe, parabolische 448 Anfangszustand 342 Anlaufrechnung siehe Startrechnung
Ansys 483 Approximation bikubische Spline- 125 diskrete Gauß- 118, 142 Gauß- 124 kontinuierliche Gauß- 144 sukzessive 184 trigonometrische 145 Approximationssatz, Weierstraßscher 127 ¨ Aquivalenzoperation 31 Archimedesspirale 126 Architektur 67 Arnold-Iteration 270 Artenverhalten 342 Artillerie 409 asymptotische Konvergenz 495 asymptotische Stabilit¨ at 352, 372 Aufstartzeit 71 Aufwand siehe Rechenaufwand Ausgleichsprinzip 274 Ausgleichung lineare 143 nichtlineare 296 Ausl¨ oschung 18, 20, 39, 41, 223, 283, 288, 411 Automobilbau 483 autonome Differenzialgleichung 388 axiale Druckkraft 399 B-Splines 112, 406 Ableitung 115 bikubische 123 Integral 115 kubische 114 backward analysis 24 backward differentiation formulae 374 Bahnlinien 389 Bairstow-Verfahren 211 Zusammenfassung 213 Balken 399 Banach-Raum 185, 185
Sachverzeichnis Banachscher Fixpunktsatz 185f., 199 Bandbreite 62, 62, 63, 87, 442, 445, 477, 488 Bandmatrix 62, 85, 406, 442, 445, 477, 487 bei Interpolation 124 Speicherung 63 Bankkonflikt 71f. Basis 16 hierarchische 529 orthonormierte 51 Basisfunktion 470, 473 BDF-Verfahren 374, 376, 383 Belastung, transversale 399 Benutzerf¨ uhrung 13 Beobachtungsfehler 274 Bernoulli-Zahl 313f. Bernstein-Polynom 127, 134 Bessel-Funktion 167, 317 Bev¨ olkerungsentwicklungsmodell 342 B´ezier-Fl¨ achen 137 B´ezier-Kurven 131 B´ezier-Polygon 129 B´ezier-Polynom 127 B´ezier-Punkt 129 Bibliothek siehe Nag, Imsl bidiagonal 64, 67, 76 Biegesteifigkeit 399 biharmonische Differenzialgleichung 447 bikubische Splinefunktion 123, 125 bikubische Tensorsplines 123 bilineare Tensorsplines 120 Bin¨ ardarstellung 159 Binomialkoeffizient 103 binomische Formel 127 Biologie 274, 342 Biomedizin 483 Bisektion 190, 191, 195ff. Bitumkehr 161 Black-box-Verfahren 183, 193, 205, 304, 335 Blacs 70, 87 Blas 87 Blockgr¨ oße 67, 70 Blockmatrix 68, 506 Bogenl¨ ange 125 Brent-Verfahren 196, 198 Cache 67 CAD-FEM 483 Casteljau-Algorithmus 130, 131, 139 Cauchy-Folge 185, 187
561 Cauchy-Randbedingung 429, 434, 438ff., 444, 449, 460, 469 Cauchy-Schwarzsche-Ungleichung 143 Ceschino-Kuntzmann 360 CG-Verfahren 513, 518f., 521, 524, 537f., 541 charakteristische Funktion siehe charakteristisches Polynom charakteristische Gleichung 371 charakteristisches Polynom 219, 265, 369, 371f. Chemie 342, 387, 483 Cholesky 59 Cholesky-Verfahren 420, 433, 477 Cholesky-Zerlegung 59, 62f., 261, 275, 277f., 283 partielle 529 Clenshaw-Algorithmus 169 Cooley 159 Cramersche Regel 201 Crank-Nicolson 455f., 463 Rechenaufwand 456 CSIRO 483 Dachfunktion 148, 153f., 170 Dahlquist-stabil 372 Datenfehler 15, 19, 21, 266 Datenorganisation 13 Datentabelle 91, 142 Datenverteilung 68 Datenwolke 91 Deflation 209f. Determinante 36f. Berechnung 30 Vandermondesche 371 diagonal dominant 64, 78, 80, 433, 442, 456, 459, 463f., 512 schwach 39, 497, 499f., 503 strikt 39, 496, 503 diagonal¨ ahnlich 219, 265 Diagonalstrategie 38f., 58, 64, 72f., 442, 453, 456 Differenz, dividierte 95, 418 Differenzenapproximation 419 Differenzengleichung 371, 381, 430, 436ff., 441, 444, 450, 512, 529 Differenzenquotient 103, 411, 430, 450 zentraler 103 Differenzenschema 98 Differenzenstern 268, 430, 432, 498
562 Differenzenverfahren 395, 418, 420, 427, 429, 487, 498, 506, 513, 528, 539 Differenzialgleichung 115 autonome 388 elliptische 428 explizite 343 hyperbolische 428 implizite 343 parabolische 428 partielle 124, 268 steife 385 Differenzialgleichungssystem 218 erster Ordnung 343 m-ter Ordnung 343 Differenziation, numerische 91, 101, 374, 409 differenzielle Fehleranalyse 19, 21, 23f. Diffusion 427, 448, 459 Dirichlet-Randbedingung 429, 449, 460, 470, 477 Dirichletsche Randwertaufgabe 429 diskrete Eigenfunktion 270 diskrete Fehlerquadratmethode 405 diskrete Fourier-Transformation 154ff. diskrete Gauß-Approximation 118, 142 Diskretisierung partieller Differenzialgleichungen 268, 487, 498 Diskretisierungsfehler 15, 352, 359, 364f., 367, 369f., 388, 411, 420 globaler 351, 452, 455 lokaler 351, 356, 369f., 444f., 452, 455 Sch¨ atzung 361, 366 Divergenz, alternierende 193 Divide-and-Conquer 76 dividierte Differenz 95, 418, 487 Divisionsalgorithmus 211 Dopingtest 342 doppelte Nullstellen 189, 193 Drei-Punkte-Stern 432 Dreiecke, Integration u ¨ ber 337 Dreieckelement 469, 474 Dreiecknetz 429 Dreieckszerlegung 30, 46, 55, 64 Druckkraft, axiale 399 Druckverlust 84 Dualsystem 16, 41 d¨ unn besetzt siehe schwach besetzt Durchbiegung 399 ebenes Fachwerk 85
Sachverzeichnis Eigenfrequenz 268 Eigenfunktion einer Differenzialgleichung 270, 396 Eigenraumstruktur 261, 270 Eigensystem einer Differenzialgleichung 397 Eigenvektor 51 QR-Algorithmus 260 Rechenaufwand 260 Eigenwert 51f. Null- 261 Unendlich- 261 Eigenwert einer Differenzialgleichung 396 Eigenwertproblem 395 allgemeines 218, 261 Konditionszahl 266 spezielles 218, 261 symmetrisches 220, 261 Einbettungsmethode 416 Eindeutigkeit 184 Einfach-Schießverfahren 408, 412, 416 Eingabefehler 19 eingebettete Gauß-Regel 331 eingebettete Verfahren 360 eingebettetes Runge-Kutta-Verfahren 359 Einheitswurzel 155f. Einschließung 191, 197 Einschrittverfahren 346, 351, 368, 378f. aquidistantes 352 ¨ implizites 380 Konstruktion 353 Startrechnung 375 einstufiges Iterationsverfahren 184, 493 Einzelschrittverfahren 203, 359, 368, 490, 492, 503, 509, 511, 513 Newtonsches 204 nichtlineares 204 Eispack 87 Elastizit¨ at 268, 399 Elektronik 483 Elektrostatik 428 elementare Rechenoperation 15, 21 Elementvektor 475 Elimination 30, 32, 36, 38f. Ellipse 135 Ellipsoid 317 elliptische Differenzialgleichung 428, 468 elliptische Randwertaufgabe 467, 487, 506, 511, 513, 529, 539 Differenzenverfahren 427
Sachverzeichnis Empfindlichkeitsmaß 413 Energieerhaltungssatz 56 Energiemethode 466ff. Energieminimierungsprinzip 107 Energienorm 514, 522, 524 England 360 Epidemie 342 Erdvermessung 284 erreichbare Konsistenzordnung 357 erzeugendes Polynom siehe charakteristisches Polynom euklidische Norm 48, 49, 51f. Euler 108 Euler-Collatz 357 Euler-MacLaurin 313 Euler-Verfahren 347f., 354, 452 explizites 345, 347, 349, 354 Konvergenz 349 implizites 346, 350 Konvergenz 350 Eulersche Differenzialgleichung 468 Evolutionsproblem 427 Existenz 30, 184 exp-Substitution 322 Experimentalphysik 274 explizite Differenzialgleichung 343 explizite Methode von Richardson 450f., 461f. lokaler Diskretisierungsfehler 451 explizites Adams-Verfahren 363 explizites Euler-Verfahren 345, 347, 349, 369 explizites Mehrschrittverfahren 368 explizites Runge-Kutta-Verfahren 354, 356, 379 Exponent 16 Extrapolation 105, 420 auf h2 = 0 313 Richardson- 313 Extrapolationsverfahren 363 Extremalaufgabe 467 Extremalstelle 94 Fachwerk, ebenes 85 Faktorisierung siehe Zerlegung Fastflo 483 Fehlberg 360 Fehler a posteriori 186, 188, 495 a priori 186f., 191, 495
563 absoluter 16, 20, 53f. relativer 16, 20, 53ff. Fehlerabsch¨ atzung 52, 54, 352 Romberg-Integration 314 Simpson-Regel 310 Trapezregel 310 Fehleranalyse 14 differenzielle 19, 21, 23f. R¨ uckw¨ arts- 24, 55 Fehlerarten 15 Fehlerentwicklung, Trapezregel 314 Fehlerfortpflanzung 15, 345 Fehlerfunktion 404, 406f. Fehlergleichungen 274f., 280, 282, 290, 292, 295, 303, 405, 532, 534, 536 Rechenaufwand 276 Fehlerkonstante 186, 194, 364f., 367, 370, 375 Fehlerkontrolle 335 Fehlerkurve 94 Fehlerordnung 345ff. F¨ unf-Punkte-Formel 445 Fehlerquadratmethode 405 diskrete 405 kontinuierliche 405 Fehlersch¨ atzung 23, 359ff. bei adaptiver Integration 335 zur Schrittweitensteuerung 360 Fehlertheorie 15 Femlab 480, 482 Fermatsches Prinzip 467 FFT (fast Fourier transform) siehe schnelle Fourier-Transformation fill-in 290, 487, 529 Finde-Routine 197 finite Elemente 307, 337, 406, 466, 487, 513, 528 Fitpack 179 Fixpunkt 184, 187, 192, 199 Fixpunktgleichung 489, 493f. Fixpunktiteration 184, 192, 198f., 493ff. lineare 493 station¨ are 493 Fixpunktsatz 494 Banachscher 185f. Fl¨ ache, glatte 107 Fl¨ achentr¨ agheitsmoment 399 Flachwasserwelle 124, 336 flops 70, 75
564 Flugzeugbau 107 Formfunktion 473f., 476 fortgepflanzte Rundungsfehler 15, 21 Fortpflanzungsproblem 427 Fourier-Integral 319 Fourier-Koeffizient 147, 154, 166, 316ff. Fourier-Polynom 147, 152 Fourier-Reihe 145, 147, 162, 316, 318 Fourier-Transformation diskrete 154ff. komplexe 155, 157, 161 schnelle 155, 159, 161f., 179 Francis, QR-Algorithmus von 248 Frobenius-Norm 48, 49, 303 Fundamentalmatrix 400 Fundamentalsystem 396, 400f. F¨ unf-Punkte-Formel 463 Fehlerordnung 445 F¨ unf-Punkte-Stern 487 Funktion, trigonometrische 145 Funktionalmatrix 19, 21, 199, 201ff., 386, 411 Funktionen, Schnittpunkt zweier 184 Funktionensystem 140, 142 orthogonales 143, 145f., 151, 164, 174 Funktionsauswertung 198, 206 Galerkin-Methode 406 Gams-Software-Index 14, 338, 391 Gander 333 garantierte Konvergenz 196 Gauß-Algorithmus 30, 33, 36ff., 43, 44, 58, 65ff., 70, 72, 76, 201f., 260, 453 Rechenaufwand 38 Gauß-Approximation 124, 140, 405 diskrete 118, 142 kontinuierliche 144, 165 Gauß-Form Runge-Kutta 358 Gauß-Integration 177, 307, 323, 332, 405 eingebettete 331, 332 mehrdimensionale 337 Gauß-Jordan-Verfahren 71f. Gauß-Kronrod-Integration 332, 335, 338 Gauß-Newton-Methode 297, 298, 300ff. Gauß-Patterson-Integration 335 Gauß-Seidel-Verfahren 359, 490 Gebiet absoluter Stabilit¨ at 379, 381, 383 Gebietsdiskretisierung 470 GECR-Methode 82
Sachverzeichnis Genauigkeit 16, 270 doppelte 28 einfache 28 Genauigkeitsgrad Quadraturformel 324f., 331 Genauigkeitsgrad einer Quadraturformel 309 Genauigkeitssteuerung 333f. Romberg-Integration 315 Genauigkeitsverlust 25 Gentleman 239 geometrische Folge 191 geometrische Reihe 150 gerichtete Kante 497 gerichteter Graph 497 Gerschgorin 111 Gerschgorin, Satz von 264 Gesamtfehler bei Anfangswertproblemen 352 Gesamtnorm 48, 49 Gesamtschrittverfahren 489, 491, 507, 513 Gesamtsteifigkeitsmatrix 477 gestaffelte QR-Transformation 250 gewichtetes L2 -Skalarprodukt 176 Gewichtsfunktion 330 Gitter 68, 269 Rechteck- 120, 123, 125 Gittererzeugung 482 Gitterpunkte 418, 429, 462, 511 Nummerierung 432f. Gitterweite 268, 487 Givens, Methode von 237 Givens-Rotation 233, 254 Givens-Transformation 258, 279f., 283, 303f., 534 Rechenaufwand 281 schnelle 256 glatte Fl¨ ache 107 glatte Kurve 91 Gleichgewichtsproblem 427 Gleichgewichtszustand 389f. Gleichungssystem lineares 118, 124 nichtlineares 199, 205, 346 Normal- 141, 205 quadratisches 124 schlecht konditioniertes 206 tridiagonales 64 Gleitpunktarithmetik 55, 61 Gleitpunktrechnung 54
565
Sachverzeichnis Gleitpunktzahl 28 Gleitpunktzahl, normalisierte 16 globaler Diskretisierungsfehler siehe Diskretisierungsfehler globales Minimum 205 GMRES(m)-Algorithmus 537, 539 Konvergenz 538, 540 Rechenaufwand 540 GMRES-Algorithmus 532, 536, 537 Rechenaufwand 537 Good 159 Gradient, konjugierter 513, 515, 518, 531 Graph, gerichteter 497 Graph, zusammenh¨ angender 498 Graphik-Software 126 Grenzennorm 50 Grenzwert 186, 205 Guptri-Algorithmus 261 halbimplizites Runge-Kutta-Verfahren 358 Hamiltonsches Prinzip 467 Hardware 14, 482 Hauptachsentheorem 220, 222 Helmholtz-Gleichung 428 Hermite-Interpolation 94, 98, 108 Hermite-Polynom 331 Hessenberg-Form 233 Rechenaufwand 234 Hessenberg-Matrix 232, 244, 254, 536 Hessesche Matrix 275, 514 Hestenes 515 Heun-Verfahren 354, 357 hierarchische Basis 529 Hilbert-Matrix 145, 266 Hilbert-Raum 140, 142, 144 H¨ ochstleistungsrechner 67 Horner-Schema 97, 208 doppelzeiliges 214 Householder 303 Householder, R¨ ucktransformation Rechenaufwand 290 Householder-Matrix 286, 288f. Householder-Transformation 256, 286, 290, 304 H¨ ulle 284 h¨ ullenorientierte Rechentechnik 477 Hutfunktion 112, 406 hyperbolische Differenzialgleichung 427f. ideal elastisch 268, 399
implizite Deflation 210 implizite Differenzialgleichung 343, 397 implizite Methode 456 implizite Skalierung 42 implizite Spektralverschiebung 257 implizite Vorkonditionierung 526 implizites Adams-Verfahren 363 implizites Einschrittverfahren 380 implizites Euler-Verfahren 346, 350 implizites Mehrschrittverfahren 368 implizites Runge-Kutta-Verfahren 380 Imsl 14, 28, 87, 338, 392 Infoplaner 483 inh¨ arente Instabilit¨ at 376f. inkorrekt gestelltes Problem 206, 296 Instabilit¨ at 219 inh¨ arente 376 numerische 15 instation¨ ar 427 Integralgleichung 115, 307, 344 Integraltransformation 307 Integrand exponentiell abklingend 312 mit Singularit¨ at 315, 320 mit Sprungstelle 315 periodischer 316 Integration adaptive 332, 334 Aufwand 308 im Ên 336 mehrdimensionale 336 numerische 91, 177, 307 Transformationsmethode 315 u ¨ ber Standardgebiete 337 u ankte Intervalle 320 ¨ ber unbeschr¨ von Tabellendaten 307 Integrationsbereich, unendlicher 330 Integrationsgewicht 307, 330 Integrationsregel Genauigkeitsgrad 309, 324f., 331 optimale 331 Interpolation 365 Hermite- 98 inverse 100 inverse quadratische 197 Kurven- 125 Lagrange- 94 Newton- 95 Spline- 126
566 Tschebyscheff- 170 Interpolationsfehler 93 Interpolationspolynom 92, 119, 308, 373 Interpolationsverfahren 363 Intervallhalbierung 191, 333 inverse Interpolation 100, 197 inverse Vektoriteration 231, 260 Inversion einer Matrix 45 involutorische Matrix 287 Inzidenzmatrix 82 irreduzibel 433, 497, 497, 499f., 503, 512 Iterationsmatrix 491f., 496 Iterationsverfahren 184 einstufiges 184, 493 station¨ ares 184 zweistufiges 195 J-Verfahren siehe Jacobi-Verfahren Jacobi 222 Jacobi-Matrix 199, 202, 205, 215, 298, 300, 386f., 389 diskretisierte 206 funktionale 206 singul¨ are 205 Jacobi-Rotation 222, 233 Jacobi-Verfahren 490, 496, 500f., 507, 511 klassisches 224 Rechenaufwand 226, 228 zyklisches 228 JOR-Verfahren 490, 492, 496, 500f. K˚ agstrøm 261, 270 Kante, gerichtete 497 Kehrwert, iterative Berechnung 194 Kennlinie 278 Kettenregel 21 kinetische Reaktion 387 Kirchhoff 82 klassisches Jacobi-Verfahren 224 klassisches Runge-Kutta-Verfahren 357 kleinste-Quadrate-Methode 118, 124, 205, 215, 274, 280, 296, 302, 304, 405, 532, 534 Knoten eines Graphen 497 Knotenpunkt 114, 124f., 470f. Knotenvariable 470f., 477 Koeffizienten-Bedingungen bei Runge-KuttaVerfahren 354 Kollokation 404, 407, 424 Kommunikation 68, 70
Sachverzeichnis kompatible Matrixnorm 49, 494 kompatible Vektornorm 494 Kompilationsprozess 477, 483 komplexe Fourier-Transformation 155, 157, 161 komplexe Nullstellen 190, 211 Kondition 52, 189, 220, 261, 377 Konditionszahl 19f., 25, 53, 54ff., 61, 190, 218, 524, 528 Eigenwertproblem 266 lineares Gleichungssystem 265 Normalgleichungen 277f. konforme Abbildung 307 Kongruenztransformation 525 konjugierte Richtung 515 konjugierter Gradient 513, 515, 518, 531 konsistent geordnet 507 konsistente Fixpunktiteration 494 Konsistenz 350, 352, 355, 369, 373 Einschrittverfahren 351 Mehrschrittverfahren 369 Konsistenzordnung 351, 352, 354, 357, 366, 369f., 372 erreichbare 357 Mehrschrittverfahren 369 kontinuierliche Fehlerquadratmethode 405 kontinuierliche Gauß-Approximation 144, 165 kontrahierend 186, 192, 200, 494 Konvergenz 189, 199, 205, 349, 350f., 352, 509, 521 asymptotische 495 des SOR-Verfahrens 511 GMRES(m)-Algorithmus 538, 540 kubische 186 lineare 186, 188, 193 quadratische 186, 227, 250 superlineare 193, 197, 315 Konvergenzgeschwindigkeit 186 Konvergenzordnung 186, 188, 191f., 196, 200f., 214, 351, 366, 372 Konvergenzrate 186, 200 konvexe H¨ ulle 130, 132, 138 Konzentrationsfunktion 459 Korrekturansatz 297 Korteveg-de Vries-Gleichung 124 Kr¨ afte im Fachwerk 85 Krogh 376 Kronrod-Integration 334
Sachverzeichnis Krylov-Unterraum 521f., 532ff., 536 Kubikwurzel, iterative Berechnung 194 kubische B-Splines 114 kubische Konvergenz 186, 259 kubische Splines 106, 114, 424 Kuntzmann 360 Kurve glatte 91 kleinster Kr¨ ummung 107 Parameter- 125 Kurveninterpolation 125 Kutta 353 L-stabil siehe Lipschitz-stabil L1 -Norm 48 L2 144, 164 L2 -Skalarprodukt 174 gewichtetes 176 Lagrange-Interpolation 94, 95, 114, 418 Lagrange-Polynom 95, 102, 308, 325, 470, 473 Laguerre-Polynom 331 laminare Str¨ omung 84 Landvermessung 284 Lapack 68, 87, 543 Laplace-Gleichung 428 Laplace-Operator 487 Legendre 140 Legendre-Polynom 162, 174, 323ff., 327, 331 Nullstellen 176 Rekursion 176 linear unabh¨ angig 140, 230, 274 lineare Ausgleichung 143 Normalgleichungen 274 lineare Konvergenz 186, 193, 200 lineare Transformation 147, 157, 163, 326, 473 lineares Mehrschrittverfahren 368 Linearisierung 200, 297, 416f. Linksdreiecksmatrix 34, 37 Linkssingul¨ arvektor 294 Linpack 87 Lipschitz-Bedingung 199, 344, 345, 352, 354 an fh 352 Lipschitz-Funktion 352 Lipschitz-Konstante 186f., 202, 344, 345, 369, 494 Lipschitz-stabil 372, 384 Lipschitz-stetig 186
567 Logarithmentafel 97, 106 lokale Stabilit¨ at 389 lokaler Abschneidefehler siehe Diskretisierungsfehler lokaler Diskretisierungsfehler siehe Diskretisierungsfehler lokales Minimum 205 L¨ osungen Eindeutigkeit von 184 Existenz von 184 Lotka-Volterras Wettbewerbsmodell 388 lowest upper bound 50 LR-Zerlegung 68, 76, 202, 456, 463 lss siehe kleinste-Quadrate-Methode lub-Norm 50 Luftfahrt 483 M -Matrix 78 Maehly 209 Mantisse 16 Marquardt-Verfahren 302f. Maschinengenauigkeit 16, 23, 28, 214, 333 Maschinenkonstanten 28 Maske siehe Template Massenelementmatrix 475f. Matlab 14, 28, 81, 87, 179, 215, 271, 305, 339, 391, 424, 478, 482, 543 Matrix Hessesche 275 inverse 45 involutorische 287 Inzidenz- 82 orthogonale 220 positiv definite 56 rechteckige 118 regul¨ are 30 schwach besetzte siehe dort Speicherung 61, 284 symmetrische 52 tridiagonale 64, 66, 73, 76, 78, 232, 237, 244, 246, 420, 453, 455f., 459, 463f., 506 Matrix-Vektor-Multiplikation 541f. Matrixmultiplikation 68 Matrixnorm 48, 49f. kompatible 494 nat¨ urliche 50 submultiplikative 48, 264, 344 vertr¨ agliche 51, 344 zugeordnete 51f.
568 Matrixprodukt 87 Maximalrang 274f., 279, 292f., 303 Maximumnorm 48, 49, 51, 53 Medizin 342 mehrdimensionale Integration 336 Mehrfach-Schießverfahren 413 Startwerte 416 Zwischenstelle 416 Mehrgittermethode 487, 490 Mehrschrittverfahren 346, 363, 368, 380 lineares 368 lokaler Diskretisierungsfehler 370 Startrechnung 375 vom Adams-Typ 363 Mehrstellenoperator 446 Membranschwingung 268 Messfehler 15, 91 Messung 274 Methode der kleinsten Quadrate 118, 124, 205, 215, 274, 280, 296, 302, 304, 405, 532, 534 Methode des steilsten Abstiegs 206, 301, 515 Minimalpunkt 515f. Minimax-Eigenschaft 523 minimierte Residuen 532 verallgemeinerte 531 Minimierungsaufgabe 531, 534, 536 Minimierungsverfahren 300 Minimum, lokales 206 MINRES 532 Mittelpunktregel 346, 347f., 363 Mittelpunktsumme 310 Modalmatrix 264ff. Modellierung 13 Modellproblem, Anfangswertaufgabe 348, 371, 379, 382 Modellproblem, Randwertaufgabe 511, 524, 539 modifiziertes Newton-Verfahren 195, 205 monoton fallend 205 Monte-Carlo-Methode 338 MSV siehe Mehrschrittverfahren multiple shooting 413 Nachiteration 45, 47, 56, 61 Nag-Bibliotheken 14, 28, 87, 161, 179, 215, 270, 304, 339, 391, 483, 543 N¨ aherungswert 184 nat¨ urliche Matrixnorm 50
Sachverzeichnis Naturgesetz 274 nat¨ urliche Splinefunktion 112 Netlib 14, 338 Netzerzeugung 482f. Neumann-Randbedingung 429, 434, 436, 440, 444f., 469 Neumannsche Randwertaufgabe 429 Neun-Punkte-Formel 447 Newton-Cotes-Formel 308, 323, 325 Newton-Interpolation 94, 95, 105 Newton-Maehly, Verfahren von 209 Newton-Schema 97, 99 Newton-Verfahren 192, 192, 196ff., 200, 200, 205, 207, 211, 298, 358f., 409, 411, 414ff., 422 modifiziertes 195, 205 Varianten 195 vereinfachtes 195, 202 nichtlineare Ausgleichung 296 nichtlineare Randwertaufgabe 422 nichtlineares Gleichungssystem 183, 199, 205, 358f., 409 Niveaulinie 477, 479ff. Norm 140, 185 vertr¨ agliche 49 Norm¨ aquivalenz 48f. Normalableitung 436 Normaldreieck 471, 473 Normalgleichungen 141, 205, 275, 278, 282, 295, 302 Konditionszahl 277f. lineares Ausgleichsproblem 274 Rechenaufwand 276 normalisierte Gleitpunktzahl 16 Normalverteilung 274 Normen 47 Null-stabil 372 null/null-Situation 25 Nullstellen 183 doppelte 189 enge 189 gut getrennte 189 komplexe 190, 211 Legendre-Polynom 176 Polynom 207 Schranken f¨ ur 213 Nullstellenpaare 190 numerische Differenziation 91, 101, 374, 409 numerische Integration 149, 177, 307
Sachverzeichnis numerische Stabilit¨ at 15, 23, 25, 39, 115, 169, 178, 219, 261, 327, 349f. Nummerierung Gitterpunkte 432f., 487 optimale 477 Nystr¨ om 380 Oberfl¨ achen 307 Odd-Even-Elimination 79 Ode 392 Odepack 392 Ohm 82 optimale Integrationsregel 331 optimale Nummerierung 477 optimaler Relaxationsfaktor 506, 507, 509, 511 optimales Runge-Kutta-Verfahren 357 Optimalit¨ atseigenschaft 521 Optimierung 304, 336 orthogonal 220 orthogonal-¨ ahnlich 245 ¨ orthogonale Ahnlichkeitstransformation 232 orthogonale Matrix 220 orthogonale Transformation 278, 283, 304, 405, 534f. Speicherplatzbedarf 286 orthogonales Funktionensystem 143, 145f., 151, 164, 174 orthogonales Polynom 161, 331 Orthogonalisierung 534 Schmidtsche 532 Orthogonalit¨ atsrelation 519 orthonormierte Basis 51, 532 Oszillationen 106, 119 Oszillationseigenschaft 397 parabolische Anfangsrandwertaufgabe 448 parabolische Differenzialgleichung 428 Parallelisierung 529 Parallelrechner 14, 67, 76, 87, 482 Parameter 274 Parameter-Identifikation 424 Parameterkurve 125 Partial Differential Equation Toolbox 482 partielle Cholesky-Zerlegung 529 partielle Differenzialgleichung 124, 268, 337 Diskretisierung 487 Partitionsverfahren 82 Patterson-Integration 332, 334f., 338 PB-Blas 87
569 PBlas 70, 87 PCG-Algorithmus 527, 527 Peaceman und Rachford 463 periodische Splinefunktion 112 periodischer Integrand 316 Permutationsmatrix 37, 292 Pharmakologie 342 physiologische Indidaktormodelle 342 Pivotelement 32, 35f., 38f., 58 Pivotstrategie 38 Plattengleichung 447 Pltmg 480, 482 Poisson-Gleichung 428, 436, 444, 447, 462 Poissonsche Summenformel 318f. Polarkoordinaten 126 Polygonzug-Verfahren 345 verbessertes 357 Polynom B´ezier- 127 Bernstein- 127 charakteristisches 219, 265, 369 erzeugendes 369 Hermite- 331 interpolierendes 308 komplexe Nullstellen 211 komplexes 207 Laguerre- 331 Legendre- 162, 174, 331 orthogonales 161, 331 st¨ uckweises 106 Tschebyscheff- 162, 331 Polynomdivision 207 Polynominterpolation 171, 363 Polynomnullstellen 190, 207 Polynomwertberechnung 97 Populationsmodell 388 Portabilit¨ at 67 positiv definit 56, 57f., 62, 64, 78, 80, 82f., 115, 261, 275, 283, 420, 433, 501, 513f., 525, 527 Potenzial 82, 84 Potenzreihe 105, 167, 307, 313, 420 Powell 205 Pr¨ adiktor-Korrektor-Verfahren 366, 382, 391 Primfaktorzerlegung 161 Produktintegration 336 Programmiersprachen 28 Programmpakete 14 Property A 512
570 Prozessor 68, 78 Pumpe 84 QR-Algorithmus 243, 328 Eigenvektoren 260 mit expliziter Spektralverschiebung 250 tridiagonale Matrix 256 Rechenaufwand 259 von Francis 248 QR-Doppelschritt 255 QR-Transformation 243, 245, 248, 255 gestaffelte 250 komplexe Eigenwerte 253 Rechenaufwand 245 reelle Eigenwerte 248 QR-Zerlegung 124, 243, 280, 535 Quadpack 338 Quadrate, Methode der kleinsten 118, 124, 205, 215, 274, 280, 296, 302, 304, 405, 532, 534 quadratische Form 56ff., 275 quadratische Interpolation 197 quadratische Konvergenz 186, 192, 227, 250 quadratisches Gleichungssystem 124 Quadratur siehe Integration Quadratwurzel 194 QZ-Algorithmus 261 R¨ auber-Beute-Modell 388 R¨ uckw¨ artsdifferenziationsmethode 374 Randbedingungen mit Ableitungen 421 Randelementemethode 307 Randkurve 138 Randwertaufgabe 524 Dirichletsche 429 elliptische 487, 506, 511, 513, 529, 539 Neumannsche 429 nichtlineare 205, 422 Randwertlinearisierung 416 Randwertproblem 395 Linearisierung 417 Raumfahrt 483 Rayleighsches Prinzip 467 Reaktion, kinetische 387 Reaktions-Diffusionsgleichung 483 Realisierung 13 Rechenaufwand 487 QR-Algorithmus tridiagonale Matrix 259 QR-Transformation 245
Sachverzeichnis Band-Cholesky 63 CG-Algorithmus 518 Cholesky-Verfahren 60 Cholesky-Zerlegung 60 Clenshaw-Algorithmus 169 Crank-Nicolson 456 Eigenvektor 260 Fehlergleichungen 276 Fourier-Transformation 158 Gauß-Algorithmus 38 Gauß-Jordan 72 Givens 237, 281 Givens, schnell 284 GMRES(m)-Algorithmus 540 GMRES-Algorithmus 537 Hessenberg-Form 234 Householder, Fehlergleichungen 290 Householder, R¨ ucktransformation 290 Householder-Transformation 290 Matrixinversion 45 Normalgleichungen 276 Odd-Even-Elimination 81 Polynomwertberechnung 207 pro CG-Schritt 518 QR-Doppelschritt 256 R¨ ucksubstitution 38 Relaxation 525 RQ-Zerlegung 78 schnelle Givens-Transformation 242 tridiagonales Gleichungssystem 65, 67 Parallelrechner 78 Vektorrechner 76 vorkonditionierter CG-Algorithmus 528 Vorw¨ artssubstitution 38 Zerlegung 37 Rechenoperation, elementare 15, 21 Rechentechnik, h¨ ullenorientierte 477 Rechteckgitter 120, 123, 125 rechteckige Matrix 118 Rechtsdreiecksmatrix 34, 37 Rechtssingul¨ arvektor 294 Reduktion, zyklische 73, 76, 82 reduzibel 498 regul¨ are Matrix 30 regul¨ are L¨ osung 468 Regularisierung 206, 296, 302 Reinsch-Algorithmus 155 Rekursion 95f., 114, 128, 164, 169, 327, 333 Legendre-Polynom 176
571
Sachverzeichnis rekursive Verdoppelung 81 relative Spaltenmaximumstrategie 42, 46, 65f., 232 relativer Fehler 16, 20, 53ff. Relaxation 422 Relaxationsfaktor 204f., 490 optimaler 502, 506, 507, 509, 511 Residuen minimierte 532 verallgemeinerte minimierte 531 Residuen-Norm 531 Residuenvektor 45, 514, 516, 518, 524 Residuum 52, 267, 274, 295 Ressource 388 Restabbildung 21 Resultatrundung 21 Rgsvd 270 Richardson explizite Methode von 450f., 461f. Richardson-Extrapolation 313, 421 Richtung, konjugierte 515 Richtungsvektoren, konjugierte 518 Rohrnetz 84 Rolle, Satz von 93, 176 Romberg-Integration 313, 314, 323, 331 Fehlerabsch¨ atzung 314 Genauigkeitssteuerung 315 Rotation 87, 535 Rotationsmatrix 220, 279 RQ-Zerlegung 76, 78 R¨ ucksubstitution 33, 37, 43f., 46, 59f., 71, 76, 78 R¨ uckw¨ arts-Euler-Verfahren 383 R¨ uckw¨ arts-Fehleranalyse 24, 55 R¨ uckw¨ artsdifferenz 346, 418 R¨ uckw¨ artsdifferenziationsmethode 383 Rundungsfehler 15, 18, 53, 55, 145, 169, 189, 206, 209, 266 bei Anfangswertproblemen 352 fortgepflanzte 19, 21, 40 Matrix der 21 Runge-Kutta-Nystr¨ om 391 Runge-Kutta-Verfahren 353, 354, 368, 378, 388, 410f. 2. Ordnung 356f. 3. Ordnung 356 4. Ordnung 360 eingebettete 359 explizites 354, 356
Gauß-Form 358 halbimplizites 358, 358 implizites 358, 380 klassisches 357f., 362 Koeffizienten-Bedingungen 354 m-stufiges 354 optimales 2. Ordnung 357 Rutishauser 13 Satz von Rolle 176 Satz von Taylor 19 ScaLapack 70, 87 Schachbrett-Nummerierung 512 Sch¨ adlingsbek¨ ampfung 342 Schaltkreistheorie 82 Sch¨ atzung, Diskretisierungsfehler 361 Schema Horner- 97 Newton- 99 Schießverfahren 395, 408 Einfach- 408, 412, 416 Mehrfach- 413 Schiffsbau 107 schlecht konditioniert 206 Schmidtsche Orthogonalisierung 532 schnelle Fourier-Transformation 155, 159, 161f., 179 schnelle Givens-Transformation 256 Rechenaufwand 242 Schnittpunkt 184 Schrittweite Halbierung der 375 variable 376 Verdoppelung der 375 Schrittweitensteuerung 359, 361, 366, 375 Fehlersch¨ atzung 360 Strategie 359 Schur, Satz von 246 schwach besetzt 87, 124, 230, 271, 284, 433, 482f., 543 Speicherung 540 schwach diagonal dominant 39, 497, 499f., 503 schwach gekoppelt 204 schwache L¨ osung 468 Schwarz-Christoffel-Formel 307 Schwarzsche Ungleichung 49 Schwingung 218, 268 Scientific Computing 13 Sechsecknetz 429
572 Sekantenverfahren 195, 197f., 410 selbstadjungiert 396 Separatrix 389 shooting 409 Simpson-Regel 308f., 314f., 332, 339, 476 Fehlerabsch¨ atzung 310 singul¨ are Jacobi-Matrix 205 Singularit¨ at 307, 330 bei einspringender Ecke 445, 447, 479 Integrand mit 315, 320 Singul¨ arwerte 271, 294, 543 Singul¨ arwertzerlegung 261, 293, 294, 301, 304 sinh-Substitution 321 Skalarprodukt 87, 140, 165, 276 euklidisches gewichtetes 142 Skalarrechner 540 Skalierung 41, 528 implizit 42 Slatec 338, 543 Sobolev-Raum 468 Software 14 Software-Bibliothek siehe Nag, Imsl Softwareengineering 482 Softwaresystem 206, 344 Soliton 125 SOR-Newton-Verfahren 203, 204 SOR-Verfahren 491, 492, 503f., 509, 511, 513, 524, 540, 542 Spaltenmaximumstrategie 40 relative 42, 46, 65, 232 Spaltenpivotisierung 70 Spaltensummennorm 48 Spannung 82 Spannungszustand 428, 432 Speicherplatzbedarf 271, 285, 487 orthogonale Transformation 286 Speicherung Bandmatrix- 63 Matrix- 61, 284 schwach besetzter Matrizen 540 Spektralnorm 52, 55f., 218, 494 Spektralradius 200, 264, 494, 506, 509, 511 Spektralverschiebung 249, 253, 256 implizite 255, 257 Spektrum 264, 508 spezielles Eigenwertproblem 218, 261 Spiegelung 287
Sachverzeichnis Spirale, Archimedes- 126 Spline Toolbox 179 Splinefunktion 106 bikubische 125 kubische 106, 424 nat¨ urliche 112 periodische 112 vollst¨ andige 112 zweidimensionale 119 Splineinterpolation 126 Sprungstelle Integrand mit 315 SSOR-Verfahren 529 SSORCG-Verfahren 529, 531 stabil 219, 261, 309 Stabilit¨ at 19, 56, 348, 350, 352 absolute 350, 378, 452f., 455, 461, 463 asymptotische 352, 372 Dahlquist- 372 der Trapezmethode 346 f¨ ur endliche h 378, 380 Gebiet absoluter 379, 381, 383 Lipschitz- (L-) 372 lokale 389 Null- 372 numerische 23, 178 atsgebiet 380 Stabilit¨ Stabilit¨ atsintervall 380 Stammfunktion 307 Standarddreieck 337 Standardfunktion 15 Standardgebiete Integration u ¨ ber 337 Startintervall 191 Startrampen 418 Startrechnung 368, 375 mit Einschrittverfahren 375 Startwerte, beim Mehrfach-Schießverfahren 416 station¨ ar siehe zeitunabh¨ angig station¨ arer Punkt 389 station¨ ares Iterationsverfahren 184 Statistik 218, 274, 295 steife Differenzialgleichung 358, 384, 385, 391 Steifheitsmaß 385, 388 Steifigkeitselementmatrix 474, 478 steilster Abstieg 206, 301, 515 Stiefel 515
Sachverzeichnis Stirling’sche Formel 27 Stochastik 23, 338 Stone-Verfahren 82 Straklatte 107 strikt diagonal dominant 39, 496, 503 Stromquelle 82 Stromst¨ arke 82 Str¨ omung, laminare 84 Str¨ omungslehre 428 Str¨ omungsmechanik 483 Strukturmechanik 483 st¨ uckweises Polynom 106 Sturm-Liouvillesche Eigenwertaufgabe 397 Sturmsche Randwertaufgabe 396, 399, 406 St¨ utzstelle 92, 99 St¨ utzstellenverteilung 93 St¨ utzwert 92, 99 submultiplikative Matrixnorm 48, 264 Substitution 320, 322 algebraische 320 exp- 322 sinh- 321 tanh- 321 successive overrelaxation 491 sukzessive Approximation 184 sukzessive Deflation 209 ¨ sukzessive Uberrelaxation 491 superlineare Konvergenz 193, 315 Symbiosemodell 342 symmetrisch 56, 62, 83 ¨ symmetrische Uberrelaxation 529 symmetrische Matrix 52 symmetrisches Eigenwertproblem 220, 261 T-Entwicklung siehe TschebyscheffEntwicklung T -Matrix 506, 509, 511 T-Polynom siehe Tschebyscheff-Polynom Tabellendaten, Integration von 307 Tangente 192, 195 tanh-Substitution 321 Taylor, Satz von 19 Taylor-Entwicklung 435, 441, 444, 455 Taylor-Reihe 104, 346, 369, 378, 380, 420 Teilintervallmethode 405 Temperaturverteilung 428, 432, 439, 449 Template 87, 271, 543 Tensorprodukt 122, 137 Tensorspline 123
573 bikubischer 123 bilinearer 120 Tetraeder, Integration u ¨ ber 337 Textverarbeitung 136 Torsion 428, 432 Tr¨ agerintervall 115 Tragfl¨ ugel 136 Transformation lineare 147, 157, 163, 326, 473 orthogonale 535 Transformationsmethode 232 bei Integration 315 transversale Belastung 399 Trapez-Simpson-Integration adaptive 333 Trapezapproximation, sukzessive 311 Trapezmethode 346, 348, 380, 455 Stabilit¨ at 346 Trapezregel 149, 168, 309, 313, 315, 321f., 332, 346, 420 Fehlerabsch¨ atzung 310 Triade 71 Triangulierung 469, 471 tridiagonale Matrix 64, 66, 73, 76, 78, 232, 237, 246, 420, 453, 455f., 459, 463f., 506 QR-Algorithmus 256 trigonometrische Approximation 145 trigonometrische Funktion 145 Trivialzustand 389 Tschebyscheff-Abszisse 171 Tschebyscheff-Approximation 274 Tschebyscheff-Entwicklung 166 Fehlerabsch¨ atzung 166 Tschebyscheff-Polynom 94, 162, 331, 407, 523 Extremalstellen 163 Interpolation 170 Tschebyscheff-Punkt 94 Tukey 159 u ¨ berbestimmt 274, 296 ¨ Ubergangsbedingung 413 ¨ Uberrelaxation 204, 490, 506 symmetrische 529 unbeschr¨ ankte Intervalle, Integration u ¨ ber 320 unendliche Schleife 206 unendlicher Integrationsbereich 330 Unterrelaxation 490
574 unzerlegbar siehe irreduzibel Validierung 14 Vandermondesche Determinante 371 variable Schrittweite 376 Variablensubstitution 320 Varianzanalyse 218 Variationsproblem 468, 478, 480 Variationsrechnung 108, 467 Vektorfunktion 183, 206 Vektorisierung 529 Vektoriteration 229, 249 inverse 231, 260 Vektornorm 47, 49 euklidische 49, 51f. kompatible 494 Vektoroperation 71 Vektorprozessor 67 Vektorraum 185 Vektorrechner 14, 67, 70, 73, 87 verallgemeinerte minimierte Residuen 531 verbessertes Polygonzug-Verfahren 357 Verdoppelung, rekursive 81 vereinfachtes Newton-Verfahren 195 Verfeinerung, Gitter- 270 Vergleich von Iterationsverfahren 198 vertr¨ agliche Matrixnorm 49, 51 Verzweigungsproblem 344 Vierecke, Integration u ¨ ber 337 Viskosit¨ at 84 Visualisierung 13 vollst¨ andig konsistent 493f. vollst¨ andige Splinefunktion 112 von Mises, Vektoriteration nach 229 Vorkonditionierung 524, 525, 528ff., 538ff., 542 implizite 526 Konvergenz 530 Vorkonditionierungsmatrix 525, 527, 529 Vorw¨ artssubstitution 35, 37, 43f., 46, 59f., 66, 78 Vorw¨ artsdifferenz 130, 345, 418, 450 Vorw¨ artsdifferenzenquotient 462
Sachverzeichnis Wachstumsgesetz 388 Wahrscheinlichkeit 274, 307 W¨ armeabstrahlung 449 W¨ armeleitung 439, 448f., 483 Weierstraßscher Approximationssatz 127 Wellengleichung 427 Werkzeug 14 wesentliche Stellen 18 wesentliche Wurzel 372 Wettbewerbsmodell 342, 388 Widerstand 82 Wilkinson 260 Wirkungsquerschnitt 307 wissenschaftliches Rechnen 13 Wraparound 82 Wronsky-Matrix 402 Wurzel siehe Nullstelle wesentliche 372 Wurzel, m-te 193 Wurzelbedingung 372f. Zahldarstellung 16 Zahlensystem 16 Zeichenentwurf 136 Zeigervektor 540, 542 Zeilenpermutation siehe Zeilenvertauschung Zeilensummennorm 48, 51, 53, 494 Zeilenvertauschung 35f., 40, 43, 46, 58, 64 zeitunabh¨ angig 395, 427, 439 zentrale Differenz 418 zentraler Differenzenquotient 103 Zerlegung 35, 37, 43, 67 Zerlegung der Eins 127 Zufallsgenerator 338 zugeordnete Matrixnorm 50ff. zusammenh¨ angender Graph 498 Zuse-Institut 14 zweidimensionale Splinefunktion 119 Zweischritt-Verfahren 346 zweistufiges Iterationsverfahren 195 Zwischenstelle Mehrfach-Schießverfahren 416 zyklische Reduktion 73, 76, 82 zyklisches Jacobi-Verfahren 228