Numerische Mathematik [2., überarb. und erw. Aufl.] 9783486595055

Die Numerische Mathematik ist einer der Grundpfeiler des Mathematik- und Informatikstudiums. Dieses Lehrbuch ist für die

235 41 3MB

German Pages 534 Year 2009

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
First Page
Title Page
Copyright Page
Foreword
Table of Contents
Chapter
SampleStart
Leseprobe
SampleEnd
Index
Recommend Papers

Numerische Mathematik [2., überarb. und erw. Aufl.]
 9783486595055

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

π = 3.141 592 653 589 793 238 462 643 383 279 . . . 3

1

4

5

1

9

Now I, even I, would celebrate 6

2

3

5

5

In rhymes inapt, the great 8

7

9

9

Immortal Syracusan, rivaled nevermore, 3

2

3

8

4

Who in his wondrous love, 6

6

2

Passed on before, 4

3

3

8

3

2

7

9

Let men his guidance how to circles mensurate. Orr, A. C. Literary Digest, Vol. 32 (1906), p. 84

Numerische Mathematik Von Martin Hermann 2., überarbeitete und erweiterte Auflage

Oldenbourg Verlag München Wien

Dr. Martin Hermann ist seit 1991 Universitätsprofessor für Numerische Mathematik an der Friedrich-Schiller-Universität Jena (FSU). Sein Spezialgebiet ist die numerische Behandlung parameterabhängiger nichtlinearer Differentialgleichungen. Seit vielen Jahren werden von ihm die Grundvorlesung "Numerische Mathematik" für Studenten der Mathematik, Wirtschaftsmathematik, Physik, Informatik und Lehramt sowie Spezialvorlesungen zu ausgewählten Gebieten der Numerischen Mathematik gehalten. Dr. Hermann hat 4 Bücher zu Themen der Numerischen Mathematik geschrieben. Er ist Sprecher des Interdisziplinären Zentrums für Wissenschaftliches Rechnen, Kurator des Collegium Europaeum Jenense an der FSU Jena und Mitglied vieler nationaler und internationaler Fachorganisationen.

Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar.

© 2006 Oldenbourg Wissenschaftsverlag GmbH Rosenheimer Straße 145, D-81671 München Telefon: (089) 45051-0 www.oldenbourg-wissenschaftsverlag.de Das Werk einschließlich aller Abbildungen ist urheberrechtlich geschützt. Jede Verwertung außerhalb der Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Bearbeitung in elektronischen Systemen. Lektorat: Margit Roth Herstellung: Anna Grosser Umschlagkonzeption: Kraxenberger Kommunikationshaus, München Gedruckt auf säure- und chlorfreiem Papier Druck: Grafik + Druck, München Bindung: R. Oldenbourg Graphische Betriebe Binderei GmbH ISBN 3-486-57935-5 ISBN 978-3-486-57935-2

Vorwort zur ersten Auflage Die Numerische Mathematik besch¨ aftigt sich mit der Entwicklung, Analyse, Implementierung und Testung von numerischen Rechenverfahren, die f¨ ur die L¨ osung mathematischer Problemstellungen auf einem Computer geeignet sind. Im Vordergrund steht dabei nicht die Diskussion von Existenz und Eindeutigkeit der entsprechenden L¨ osungen, sondern deren konkrete Berechnung in Form von Maschinenzahlen. Die Existenz mindestens einer L¨ osung wird deshalb stets als nachgewiesen vorausgesetzt. Im allgemeinen erh¨ alt man als Ergebnis einer numerischen Rechnung nur eine Approximation f¨ ur die (unbekannte) exakte L¨ osung. Diese N¨ aherung kann durch die Anh¨ aufung der unvermeidbaren Rundungsfehler v¨ ollig verf¨ alscht sein, da auf einem Computer nicht der K¨ orper der reellen Zahlen, sondern nur eine endliche Zahlenmenge, die sogenannten Maschinenzahlen, zur Verf¨ ugung steht. Somit geh¨ oren zu einer numerischen Rechnung auch stets Fehlerabsch¨ atzungen. Unterschiedlich genaue N¨ aherungen f¨ ur ein und dieselbe exakte L¨ osung werden als qualitativ gleichwertig angesehen, wenn deren Fehler durch die Erh¨ ohung des technischen Aufwandes beliebig klein gemacht werden k¨ onnen. Durch die gegenw¨ artige Entwicklung extrem schneller Rechner mit großen Speichermedien und neuer leistungsf¨ ahiger mathematischer Methoden wird es zunehmend m¨ oglich, mathematische Problemstellungen einer L¨ osung zuzuf¨ uhren, denen immer komplexere und realit¨ atsn¨ ahere Modelle aus den konkreten Anwendungen zugrundeliegen. Heute ist man bereits in der Lage, durch numerische Simulationen auf dem Rechner ganze technische Abl¨ aufe vor der eigentlichen Fertigung zu verstehen und zu beherrschen. Dies trifft auch auf die sehr umfangreichen und extrem kostenaufwendigen Experimente in den Naturwissenschaften zu. An der Nahtstelle zwischen Numerischer Mathematik, Informatik sowie den Natur- und Ingenieurwissenschaften hat sich bereits eine neue Wissenschaftsdisziplin entwickelt, das Wissenschaftliche Rechnen (Scientific Computing). Wichtige Komponenten dieser neuen Disziplin m¨ ussen deshalb in der Ausbildung auf dem Gebiet der Numerischen Mathematik ber¨ ucksichtigt werden. Das vorliegende Lehrbuch u ¨ber die Grundlagen der Numerischen Mathematik ist aus Manuskripten zu Vorlesungen und Seminaren, die der Verfasser seit etwa 15 Jahren an der Friedrich-Schiller-Universit¨ at Jena abgehalten hat, hervorgegangen. Es richtet sich an Studierende der Mathematik (einschließlich Lehramt f¨ ur Gymnasien), Informatik und Physik. Die Themen wurden so ausgew¨ ahlt, daß anhand dieses Buches der f¨ ur die aten typische Grundkurs Numerische Mathematik“ studiert werden deutschen Universit¨ ”

Vorwort zur ersten Auflage

VI

kann. Dieser findet je nach Universit¨ atsprofil und Studiengang im 2. bis 4. Semester statt. Die numerische Behandlung gew¨ ohnlicher und partieller Differentialgleichungen bleibt deshalb unber¨ ucksichtigt. Der Text sollte in den Grundz¨ ugen schon mit geringen Vorkenntnissen der Linearen Algebra und Analysis verst¨ andlich sein. Schwerpunktm¨ aßig werden im Buch diejenigen numerischen Techniken betrachtet, die auf den heute u ¨blichen Computern in Form von Software-Paketen implementiert vorliegen und in den Anwendungen tats¨ achlich auch zum Einsatz kommen. Eine h¨ aufig genutzte Bibliothek f¨ ur numerische Software ist die Netlib, die im World Wide Web unter der URL bzw. E-mail Adresse http://www.netlib.org

bzw.

[email protected]

zu erreichen ist. Um die Studenten schon sehr schnell mit der numerischen Software vertraut zu machen, wird an der Friedrich-Schiller-Universit¨ at Jena das Software-Paket Matlab1 im Grundkurs zur Numerischen Mathematik eingesetzt. Im vorliegenden Buch sind die angegebenen numerischen Algorithmen in einem einfachen Pseudocode formuliert, so daß ihre Implementierung in den Sprachelementen von Matlab einfach zu realisieren ist, dar¨ uber hinaus aber auch andere moderne Programmiersprachen Verwendung finden k¨ onnen. Es geh¨ ort zu den Zielen des Verfassers, neben den theoretischen Grundlagen auch die experimentelle Seite der Numerischen Mathematik zur Geltung zu bringen. Numerische Demonstrationen unter Verwendung moderner Multimedia-Techniken auf einem Computer zeigen dem Studierenden die vielf¨ altigen Steuerungsm¨ oglichkeiten der numerischen Algorithmen besonders einpr¨ agsam auf. Sie f¨ uhren gleichzeitig in die experimentelle Numerik ein, die die Grundlage der neuen Wissenschaftsdisziplin Wissenschaftliches Rechnen ist. ¨ Am Ende eines jeden Kapitels sind Aufgaben zur Ubung der gewonnenen theoretischen und praktischen Fertigkeiten angegeben. Auch hier wird h¨ aufig der Bezug zur Matlab ¨ hergestellt. F¨ ur weitergehende interessante Ubungsaufgaben, auch zur Vorbereitung auf die (leider oftmals nicht zu umgehenden) Pr¨ ufungen, sei auf die im gleichen Verlag erschienene zweib¨ andige Aufgabensammlung von N. Herrmann2 verwiesen. Meinem Kollegen, Herrn Dr. Dieter Kaiser m¨ ochte ich f¨ ur die Hilfe bei der Erstellung der ¨ Abbildungen meinen Dank aussprechen. Gleichfalls m¨ ochte ich allen meinen Ubungsassistenten f¨ ur gelegentliche wertvolle Hinweise sowie dem Verlag f¨ ur die Unterst¨ utzung bei der Herausgabe des Lehrbuches danken.

Jena, im Juli 2000

1 2

Martin Hermann

Matlab ist eine registrierte Handelsmarke der Firma The MathWorks Inc., Natick, MA, U.S.A. N. Herrmann: H¨ ohere Mathematik f¨ ur Ingenieure − Aufgabensammlung, Bde. 1 und 2. Oldenbourg Verlag, M¨ unchen 1995.

Vorwort zur zweiten Auflage Der Autor m¨ ochte zuerst seine Freude zum Ausdruck bringen, daß die erste Auflage der Numerischen Mathematik bei vielen Studenten und Hochschullehrern auf eine positive Resonanz gestoßen ist. Ihnen allen sei f¨ ur ihre Bemerkungen und Kommentare ganz herzlich gedankt. ¨ Die vorliegende zweite Auflage stellt eine wesentliche Uberarbeitung und Erweiterung des urspr¨ unglichen Textes dar. So sind jetzt wichtige numerische Verfahren auch als Matlab -Programme dargestellt. Hierdurch wird dem Leser ein Werkzeug in die Hand gegeben, mit dem er die Algorithmen direkt am Computer erproben und eigenst¨ andig numerische Experimente durchf¨ uhren kann. Augenf¨ allig ist auch das neu aufgenommene 9. Kapitel, das sich mit u ¨berbestimmten linearen Gleichungssystemen und deren L¨ osung mittels Kleinste-Quadrate-Techniken besch¨ aftigt. Neu hinzugekommen sind des weiteren die Abschnitte Singul¨ arwertzerlegung einer beliebigen rechteckigen Matrix (Abschnitt 2.5.2), Transformationsmatrizen: Schnelle Givens-Transformationen (Abschnitt 3.3.3) sowie Trigonometrische Interpolation, DFT und FFT (Abschnitt 6.7). Schließlich wurde dem Text eine Liste von Monographien und Lehrb¨ uchern hinzugef¨ ugt, anhand derer sich der Leser in der umfangreichen Literatur zur Numerischen Mathematik orientieren kann und die ihm eine Hilfe bei dem weiterf¨ uhrenden Studium sein soll. Abschließend m¨ ochte ich die Gelegenheit nutzen, allen denjenigen herzlich zu danken, die zur Entstehung dieser zweiten Auflage beigetragen haben. An erster Stelle ist wieder Herr Dr. Dieter Kaiser zu nennen, der mir bei der Anfertigung und der Erprobung der ¨ einiger Abbildungen geholfen hat. Matlab -Programme sowie bei der Uberarbeitung ¨ Herrn Dipl. Math. Thomas Milde sei f¨ ur die Uberlassung eines Manuskriptes zur trigonometrischen Interpolation sowie f¨ ur das Korrekturlesen einiger Abschnitte des Textes gedankt. Mein Dank geht auch an Frau Margit Roth vom Oldenbourg Wissenschaftsverlag, die mein Projekt stets fachkundig begleitet hat.

Jena, im Januar 2006

Martin Hermann

Inhaltsverzeichnis Vorwort zur ersten Auflage

V

Vorwort zur zweiten Auflage

VII

1 Wichtige Ph¨ anomene des numerischen Rechnens 1.1 Numerische Algorithmen und Fehler . . . . . . . . . . . . . 1.2 Fehlerfortpflanzung, Kondition und numerische Instabilit¨ at 1.3 Rundungsfehler bei Gleitpunkt-Arithmetik . . . . . . . . . . 1.4 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

1 1 7 17 28

2 Lineare Gleichungssysteme 2.1 Aufl¨ osung gestaffelter Systeme . . . . . . . . . . . . . . 2.2 LU -Faktorisierung und Gauß-Elimination . . . . . . . . 2.3 Pivot-Strategien und Nachiteration . . . . . . . . . . . . 2.4 Systeme mit speziellen Eigenschaften . . . . . . . . . . . 2.4.1 Positiv definite Systeme . . . . . . . . . . . . . . 2.4.2 Tridiagonale Gleichungssysteme . . . . . . . . . . 2.4.3 Die Formel von Sherman und Morrison . . . . . 2.5 Genauigkeitsfragen, Fehlerabsch¨ atzungen . . . . . . . . 2.5.1 Normen . . . . . . . . . . . . . . . . . . . . . . . 2.5.2 Singul¨ arwertzerlegung, SVD . . . . . . . . . . . . 2.5.3 Fehlerabsch¨ atzungen, Kondition . . . . . . . . . 2.5.4 Rundungsfehleranalyse der Gauß-Elimination . . 2.6 Iterative Verfahren . . . . . . . . . . . . . . . . . . . . . 2.6.1 Konvergenz der Nachiteration . . . . . . . . . . . 2.6.2 Spektralradius und Konvergenz einer Matrix . . 2.6.3 Spezielle Iterationsverfahren . . . . . . . . . . . . 2.6.4 Ausblick: Entwicklung neuer Iterationsverfahren 2.7 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

35 35 39 45 61 61 66 71 75 75 80 86 92 101 101 103 105 116 126

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

Inhaltsverzeichnis

X

3 Eigenwertprobleme 3.1 Eigenwerte und Eigenvektoren . . . . . . . . . . . . . . . . . . . . . 3.1.1 Stetigkeitsaussagen . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Eigenschaften symmetrischer Matrizen . . . . . . . . . . . . . 3.1.3 Gerschgorin Kreise . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Nichtsymmetrisches Eigenwertproblem: die Potenzmethode . . . . . 3.2.1 Das Grundverfahren . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Inverse Potenzmethode . . . . . . . . . . . . . . . . . . . . . 3.2.3 Deflationstechniken . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Symmetrisches Eigenwertproblem: QR-Methode . . . . . . . . . . . . 3.3.1 Transformationsmatrizen: Givens-Rotationen . . . . . . . . . 3.3.2 Transformationsmatrizen: Householder-Reflexionen . . . . . . 3.3.3 Transformationsmatrizen: Schnelle Givens-Transformationen 3.3.4 QR-Algorithmus f¨ ur symmetrische Eigenwertprobleme . . . . 3.4 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Nichtlineare Gleichungen in einer Variablen 4.1 Problemstellung . . . . . . . . . . . . . . . . . 4.2 Fixpunkt-Iteration . . . . . . . . . . . . . . . 4.3 Newton-Verfahren . . . . . . . . . . . . . . . 4.4 Das Verfahren von M¨ uller . . . . . . . . . . . 4.5 Intervall-Verfahren . . . . . . . . . . . . . . . 4.6 Fehleranalyse der Iterationsverfahren . . . . . 4.7 Techniken zur Konvergenzbeschleunigung . . 4.8 Globalisierung lokal konvergenter Verfahren . 4.8.1 D¨ ampfungsstrategien . . . . . . . . . . 4.8.2 Homotopieverfahren . . . . . . . . . . 4.9 Nullstellen reeller Polynome . . . . . . . . . . 4.9.1 Anwendung des Newton-Verfahrens . . 4.9.2 Das QD-Verfahren . . . . . . . . . . . 4.10 Aufgaben . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

5 Nichtlineare Gleichungen in mehreren Variablen 5.1 Fixpunkte von Funktionen mehrerer Variablen . . 5.2 Newton-Verfahren . . . . . . . . . . . . . . . . . . 5.3 Quasi-Newton-Verfahren . . . . . . . . . . . . . . . 5.4 Das Verfahren von Brown . . . . . . . . . . . . . . 5.5 Deflationstechniken . . . . . . . . . . . . . . . . . . 5.6 Zur Kondition nichtlinearer Gleichungen . . . . . . 5.7 Aufgaben . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . . . .

135 135 137 140 141 145 145 150 152 154 155 159 161 166 171

. . . . . . . . . . . . . .

177 177 181 186 194 197 200 208 214 214 217 220 220 232 239

. . . . . . .

247 247 250 256 262 268 273 275

Inhaltsverzeichnis 6 Interpolation und Polynom-Approximation 6.1 Taylor-Polynome . . . . . . . . . . . . . . . . . 6.2 Interpolation und Lagrange-Polynome . . . . . 6.3 Iterierte Interpolation . . . . . . . . . . . . . . 6.4 Dividierte Differenzen . . . . . . . . . . . . . . 6.5 Hermite-Interpolation . . . . . . . . . . . . . . 6.6 Kubische Spline-Interpolation . . . . . . . . . . 6.7 Trigonometrische Interpolation, DFT und FFT 6.8 Aufgaben . . . . . . . . . . . . . . . . . . . . .

XI

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

281 282 286 293 299 310 319 331 346

7 Ausgleichsprobleme, Methode der Kleinsten Quadrate 7.1 Diskrete Kleinste-Quadrate Approximation . . . . . . . . 7.1.1 Polynomapproximationen . . . . . . . . . . . . . . 7.1.2 Empirische Funktionen . . . . . . . . . . . . . . . . 7.1.3 Nichtlineare Approximation . . . . . . . . . . . . . 7.2 Stetige Kleinste-Quadrate-Approximation . . . . . . . . . 7.2.1 Polynomapproximation . . . . . . . . . . . . . . . 7.2.2 Approximation mit verallgemeinerten Polynomen . 7.2.3 Harmonische Analyse . . . . . . . . . . . . . . . . 7.2.4 Konstruktion von Orthogonalsystemen . . . . . . . 7.3 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

351 351 351 358 365 369 369 373 375 378 389

8 Numerische Differentiation und Integration 8.1 Numerische Differentiation . . . . . . . . . . . . . . . . 8.1.1 Beliebige St¨ utzstellenverteilung . . . . . . . . . ¨ 8.1.2 Aquidistante St¨ utzstellenverteilung . . . . . . . 8.1.3 Numerische Differentiation mit gest¨ orten Daten 8.1.4 Differentiationsformeln ohne Differenzen . . . . 8.1.5 Extrapolation nach Richardson . . . . . . . . . 8.2 Numerische Integration . . . . . . . . . . . . . . . . . 8.2.1 Grundformeln zur Integration . . . . . . . . . . 8.2.2 Zusammengesetzte Quadraturformeln . . . . . 8.2.3 Adaptive Techniken . . . . . . . . . . . . . . . 8.2.4 Romberg-Integration . . . . . . . . . . . . . . . 8.2.5 Gaußsche Quadraturformeln . . . . . . . . . . . 8.3 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

395 396 396 402 404 406 412 416 417 427 433 436 442 449

. . . . . . . . . . . . .

. . . . . . . . . . . . .

9 Kleinste-Quadrate-L¨ osungen 455 9.1 Einf¨ uhrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 9.2 Eigenschaften der QR-Faktorisierung . . . . . . . . . . . . . . . . . . . . 457 9.3 Gram-Schmidt-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 459

Inhaltsverzeichnis

XII 9.4 9.5 9.6 9.7 9.8 9.9 9.10

Kleinste Quadrate Probleme . . . . . . . . . . . . Methode der Normalengleichungen . . . . . . . . LS-L¨ osung mittels QR-Faktorisierung . . . . . . LS-L¨ osung mittels MGS . . . . . . . . . . . . . . Schnelle Givens LS-L¨ oser . . . . . . . . . . . . . Das LS-Problem f¨ ur eine Matrix mit Rangabfall . Aufgaben . . . . . . . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

463 469 474 477 480 482 490

Literaturverzeichnis

495

Liste der verwendeten Symbole

505

Verzeichnis der Algorithmen

507

Verzeichnis der Matlab-Programme

509

Tabellenverzeichnis

511

Abbildungsverzeichnis

513

Index

515

Kapitel 1

Wichtige Ph¨ anomene des numerischen Rechnens ¨ Uber den Umgang mit ausgedruckten Ergebnissen einer numerischen Rechnung: Der (naive) Anf¨ anger glaubt an jede einzelne Ziffer. Der (erfahrene) Programmierer vertraut auf die H¨ alfte der Stellen. Der (wissende) Pessimist mißtraut sogar dem Vorzeichen. Karl Nickel

1.1

Numerische Algorithmen und Fehler

Unter dem Begriff numerisches Rechnen versteht man heute u ¨blicherweise die Verwendung eines Computers, um mathematische Problemstellungen in einer endlichen Teilmenge der reellen Zahlen, den sogenannten Maschinenzahlen, n¨ aherungsweise zu l¨osen. Diejenige mathematische Fachdisziplin, die sich vorrangig mit dem numerischen Rechnen besch¨ aftigt, heißt Numerische Mathematik. Den Ausgangspunkt f¨ ur das numerische Rechnen stellt ein gegebenes mathematisches Problem dar. Dieses ist durch eine vorzugebende Eingangsinformation (den Eingabedaten) und eine gesuchte Ausgangsinformation (den Ausgabedaten bzw. Resultaten) charakterisiert. Bei den hier interessierenden Fragestellungen bestehen diese Informationen aus Zahlen und Funktionen. Wir wollen dies an einigen einfachen und instruktiven Beispielen erl¨ autern. √ • Wir betrachten als erstes die Berechnung von y = 5 + 4 + x2 . Die Eingabedaten bestehen aus der Zahl x, die Ausgabedaten aus dem Funktionswert y.

2

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens • Meist treten jedoch mehrere Eingabe- und Ausgabedaten auf. Ein Beispiel hierf¨ ur stellt das lineare Gleichungssystem Ax = b,

det(A) = 0,

A ∈ Rn×n ,

b ∈ Rn

dar. Die Eingabedaten sind jetzt {A, b} = {aij , bi : i, j = 1, . . . , n}, also n2 + n Zahlen. Die Ausgabedaten sind {x} = {xi : i = 1, . . . , n}, die n Komponenten der gesuchten L¨ osung x. • Die zur Beschreibung eines mathematischen Problems erforderliche Eingangsinformation kann auch Funktionen enthalten. Ist beispielsweise das bestimmte Integral  I=

b

f (x)dx a

zu berechnen, dann ben¨ otigt man die Eingabedaten {a, b, f }, d.h., die Eingangsinformation besteht hier aus den beiden Integrationsgrenzen a und b sowie der Integrandenfunktion f (x). Die Ausgangsinformation enth¨ alt nur den Zahlwert I. • Schließlich kann die Ausgangsinformation ebenfalls aus Funktionen bestehen. Ein Beispiel hierf¨ ur ist das Anfangswertproblem y  (t) = f (t, y(t)), t ≥ a,

y(a) = ya .

Die Eingangsinformation {a, ya , f } setzt sich aus den Zahlen a und ya , die die Anfangsbedingung bestimmen, sowie der Funktion f (t, y) als rechter Seite der Differentialgleichung zusammen. Die Ausgangsinformation ist die L¨ osungsfunktion y(t). Im folgenden beschr¨ anken wir uns auf den Fall, daß sich das mathematische Problem nur durch endlich viele Eingabe- und Ausgabedaten sowie Problemfunktionen beschreiben l¨aßt. Der zentrale Gegenstand der Numerischen Mathematik ist der numerische Algorithmus. Dieser kommt zur n¨ aherungsweisen Bestimmung der Ausgangsinformation (L¨ osung) eines gegebenen mathematischen Problems zum Einsatz und l¨ aßt sich wie folgt charakterisieren. Definition 1.1. Unter einem numerischen Algorithmus versteht man eine Vorschrift, die endlich vielen Eingabedaten und Problemfunktionen in eindeutiger Weise einen Satz von endlich vielen Ausgabedaten (Resultate) zuordnet, wobei nur endlich viele arithmetische und logische Operationen und Auswertungen der Problemfunktionen zul¨ assig sind.  Implementiert man nun einen numerischen Algorithmus auf einem beliebigen Computer, dann hat man stets die Genauigkeit der resultierenden numerischen L¨ osung zu untersuchen. Computer sind n¨ amlich endliche Maschinen, d.h., jede beliebige reelle

1.1 Numerische Algorithmen und Fehler

3

Zahl l¨ aßt sich auf einem Computer mit nur endlich vielen Ziffern darstellen. Die genaue Anzahl h¨ angt vom speziellen Rechner ab. Somit ist die Menge der Zahlen, auf die beim numerischen Rechnen tats¨ achlich zur¨ uckgegriffen werden kann, vergleichbar klein. Insbesondere hat man es bei den Computerzahlen mit einer endlichen Menge zu tun und nicht mit einem Zahlk¨ orper. Folglich sind auch solche wichtigen Rechengesetze wie das Assoziativ- und Distributivgesetz i.allg. nicht mehr g¨ ultig. Das Ergebnis einer numerischen Rechnung ist also stets fehlerbehaftet. Im weiteren betrachten wir die wichtigsten Fehlerquellen, die beim numerischen Rechnen zu beachten sind. Voraussetzung 1.1. Ein numerischer Algorithmus werde durch einen funktionalen Zusammenhang der Form zi = fi (x1 , . . . , xn ),

i = 1, . . . , m,

(1.1)

zwischen einem Vektor x = (x1 , . . . , xn )T gegebener Eingabedaten und einem Vektor  z = (z1 , . . . , zm )T gesuchter Resultate beschrieben. Der funktionale Zusammenhang zwischen dem Eingabedaten- und dem Resultatevektor werde an einem einfachen Beispiel erl¨ autert. Beispiel 1.1. 1) Gegeben seien die Koeffizienten x1 und x2 eines reellen quadratischen Polynoms P (t) der Form (1.2) P (t) = t2 + x1 t + x2 , t ∈ R. Gesucht sind die Nullstellen z1 und z2 von P (t), die sich nach der bekannten Formel √ 1 (1.3) z1/2 = (−x1 ± d) 2 bestimmen lassen, sofern x21 − 4x2 ≡ d ≥ 0 gilt. Im Falle d < 0 ergeben sich die konjugiert komplexen Nullstellen zu: zˆ1/2 =

√ 1 (−x1 ± i −d). 2

(1.4)

Ein funktionaler Zusammenhang zwischen den Eingabedaten und den Resultaten wird hier also durch die Funktionen fi : R2 → R : (x1 , x2 )T → zi ,

falls

d ≥ 0, (i = 1, 2)

gi : R → C : (x1 , x2 ) → zˆi ,

falls

d < 0, (i = 1, 2)

2

T

(1.5)

beschrieben. 2) Es seien umgekehrt z1 und z2 die vorgegebenen reellen Nullstellen eines quadratischen Polynoms P (t), P (t) = t2 + x1 t + x2 .

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

4

Gesucht sind die Koeffizienten x1 und x2 . Aus P (t) = t2 + x1 t + x2 = (t − z1 )(t − z2 ) = t2 − (z1 + z2 ) t + z1 z2

(1.6)

folgt (siehe auch die Vietaschen Wurzels¨ atze ): x1 = −(z1 + z2 ),

x2 = z1 z2 .

(1.7)

Der funktionale Zusammenhang wird in diesem Falle durch folgende Funktionen beschrieben: f1 :R2 → R : (z1 , z2 )T → x1 = −(z1 + z2 ), f2 :R2 → R : (z1 , z2 )T → x2 = z1 · z2 .

(1.8) 

Das Tupel der Resultate kann durch unterschiedliche Fehlerarten beeinflußt (genauer verf¨ alscht) werden: Eingabefehler, Approximationsfehler, Rundungsfehler, menschlicher Irrtum sowie Software- und Hardwarefehler. Im folgenden sollen die einzelnen Fehlerquellen kurz beschrieben werden. Eingabefehler ¨ Diese liegen zu Beginn der Rechnung fest. Sie entstehen einerseits bei der Ubertragung der Eingabedaten auf den Computer durch die dabei oftmals erforderliche Rundung. Zum Beispiel muß die irrationale Zahl π auf einem Rechner durch eine t-stellige rationale Zahl ersetzt werden, wenn t die vom Computer bzw. der Software verwendete Mantissenl¨ ange bezeichnet (siehe Abschnitt 1.3). Eingabefehler treten andererseits auf, wenn das Tupel der Eingabedaten (x1 , . . . , xn ) bereits fehlerbehaftet ist, also wenn z.B. • die Eingabedaten aus anderen numerischen Berechnungen resultieren, oder • die Eingabedaten durch praktische Messungen im Labor entstanden sind und deshalb nur im Rahmen der Meßgenauigkeit bestimmt werden konnten. Notation: Den N¨ aherungswert f¨ ur eine exakte Gr¨ oße x kennzeichnen wir im folgenden mit einer Tilde, d.h., x ≈ x ˜. Eingabefehler sind, vom Standpunkt der Numerik aus gesehen, unvermeidbare (probleminh¨ arente) Fehler , die sich nicht mit den Mitteln der Numerik eliminieren lassen. Approximationsfehler Mit diesen Fehlern muß man immer dann rechnen, wenn ein unendlicher oder kontinuierlicher mathematischer Prozeß durch einen endlichen oder diskreten Ausdruck ersetzt wird.

1.1 Numerische Algorithmen und Fehler

5

Als Beispiele hierf¨ ur k¨ onnen genannt werden: ∗ • Es sei {xi }∞ i=1 eine unendliche Folge, die gegen den Grenzwert x konvergiert. Als Approximation f¨ ur den Grenzwert verwendet man das N -te Glied der Folge, d.h., x∗ ≈ xN , N groß.

• Es sei die konvergente Reihe s =

∞ 

si gegeben. Die N -te Partialsumme wird als

i=1

Approximation f¨ ur diese Reihe verwendet, d.h., s ≈

N 

si , N groß.

i=1

• Es ist die erste Ableitung einer Funktion f (x) an einer Stelle x0 durch den Grenzwert f (x0 + h) − f (x0 ) f  (x0 ) ≡ lim h→0 h definiert. Als Approximation f¨ ur den Ableitungswert verwendet man den Differenzenquotienten, d.h., f  (x0 ) ≈

f (x0 + h) − f (x0 ) , h

h klein.

• Zu berechnen ist das bestimmte Integral 

b

f (x) dx.

I= a

Gilt f (x) ≥ 0 f¨ ur alle x ∈ [a, b], dann bestimmt dieses Integral genau den Inhalt der Fl¨ ache, die durch die Funktion f (x) und die x-Achse auf dem Intervall [a, b] begrenzt wird. Als Approximation f¨ ur I verwendet man den Fl¨ acheninhalt des Trapezes mit den vier Eckpunkten (a, 0), (b, 0), (a, f (a)) und (b, f (b)), d.h., es ist h I ≈ (f (a) + f (b)), h ≡ b − a klein. 2 Rundungsfehler F¨ uhrt man die arithmetischen Grundrechenoperationen {+, −, ×, /} auf der Menge der Computerzahlen (Zahlen mit einer begrenzten Anzahl von Stellen) aus, dann m¨ ussen die Ergebnisse i.allg. gerundet werden. Die dadurch resultierenden Rundungsfehler sind zwar sehr klein, sie d¨ urfen aber keinesfalls untersch¨ atzt werden. Da moderne Rechenanlagen in kurzer Zeit eine gewaltige Anzahl von arithmetischen Operationen abarbeiten, k¨onnen sich diese Fehler derart addieren, daß tats¨ achlich selbst das Vorzeichen von dem Ergebnis einer numerischen Rechnung nicht mehr stimmen muß! Eine genaue Analyse der Rundungsfehler in einem numerischen Algorithmus stellt in den meisten F¨ allen ein schwieriges und aufwendiges Problem dar, wenn man sich nicht mit groben Fehlerschranken begn¨ ugt.

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

6

Menschlicher Irrtum, Software- und Hardwarefehler Die Fehler in einem gegebenen mathematischen Modell m¨ ussen m¨ oglichst vor den numerischen Berechnungen gefunden und beseitigt werden. Fehlerhafte Software l¨ aßt sich i.allg. nur anhand umfangreicher Testprobleme erkennen. Der vor einigen Jahren gefundene Bug im Pentium-Prozessor zeigt, daß man auch bei der Hardware stets mit Fehlern rechnen muß. Die Behandlung der letztgenannten Fehlerarten kann jedoch nicht durch die Numerische Mathematik erfolgen. Es ist u ¨blich, Fehler auf zweierlei Arten zu messen. ˜n )T ∈ Rn eine N¨ aherung f¨ ur den Vektor der Definition 1.2. Es sei x ˜ ≡ (˜ x1 , . . . , x exakten Eingabedaten x ≡ (x1 , . . . , xn )T ∈ Rn . Man unterscheidet: • absolute Fehler:

• relative Fehler:

δ(˜ xk ) ≡ x ˜ k − xk ,

ε(˜ xk ) ≡

k = 1, . . . , n,

x ˜ k − xk δ(˜ xk ) = , xk xk

k = 1, . . . , n,

(xk = 0). 

Mit der Angabe des relativen Fehlers einer N¨ aherung hat man indirekt eine Normierung der Zahlen vorgenommen, so daß die Gr¨ oßenordnung des exakten Wertes bei der Fehlerbetrachtung keine Rolle mehr spielt. Die Genauigkeit eines N¨ aherungswertes x ˜ wird oftmals wie folgt angegeben. Definition 1.3. Die Zahl x ˜ n¨ ahert den exakten Wert x auf d signifikante (geltende) Ziffern (Stellen) an, wenn d die gr¨ oßte positive ganze Zahl bezeichnet, mit

|ε(˜ x)| =

|˜ x − x| 1 ≈ 10−d . |x| 2

(1.9) 

Beispiel 1.2. |˜ x − x| 1 = 0.000507 ≈ 10−3 . |x| 2 Folglich n¨ ahert x ˜ den exakten Wert x auf 3 signifikante Ziffern an.

1) Es seien x = 3.141592 und x ˜ = 3.14. Dann ist

2) Es seien y = 1, 000, 000 und y˜ = 999, 996. Dann ist

|˜ y − y| 1 = 0.000004 ≈ 10−5 . |y| 2

Somit n¨ ahert y˜ den exakten Wert y auf 5 signifikante Ziffern an.



1.2 Fehlerfortpflanzung, Kondition und numerische Instabilit¨at

7

Bemerkung 1.1. Eine Alternative zu der hier betrachteten Vorgehensweise stellt die sogenannte Intervall-Analyse dar. In den meisten praktischen Problemstellungen sind untere und obere Schranken f¨ ur die Komponenten des Eingabedatenvektors bekannt: aßt sich nachvollziehen, wie man aus diesen αi ≤ xi ≤ βi , 1 ≤ i ≤ n. Des weiteren l¨ Einschließungen Fehlerschranken f¨ ur die Resultate zi (einschließlich aller Zwischenergebnisse) bekommt: γi ≤ zi ≤ τi (1 ≤ i ≤ m). Die Analyse, in welcher Weise [γi , τi ] angt, ist einfach durchzuf¨ uhren, wenn die fi monotone von den Intervallen [αi , βi ] abh¨ Funktionen sind. Probleme treten jedoch dann auf, wenn f¨ ur jedes Zwischenergebnis qualitativ andersartige Betrachtungen angestellt werden m¨ ussen. Es gibt heute anspruchsvolle Software-Pakete, die mit Intervallen anstelle von Zahlen arbeiten. Man muß dabei jedoch beachten, daß f¨ ur sehr große Intervalle [γi , τi ] die Re sultate zi oftmals irrelevant sind.

1.2

Fehlerfortpflanzung, Kondition und numerische Instabilit¨ at

In diesem Abschnitt wollen wir von einer gegebenen mathematischen Problemstellung ausgehen. Wie bei der Beschreibung des numerischen Algorithmus (1.1) m¨ oge ein solches Problem formal durch einen funktionalen Zusammenhang zi = fi (x1 , . . . , xn ),

i = 1, . . . , m,

(1.10)

zwischen dem Vektor der Eingabedaten x ≡ (x1 , . . . , xn )T und dem Vektor der zugeh¨ origen Resultate z ≡ (z1 , . . . , zm )T dargestellt werden. Wir wollen des weiteren annehmen, daß ein korrekt gestelltes Problem im Sinne der folgenden Definition vorliegt.

Definition 1.4. Ein Problem heißt korrekt gestellt (engl.: well-posed“), falls ” • zu jedem Satz x von zul¨ assigen Eingabedaten genau ein Satz z von Resultaten existiert, und • die Resultate stetig von den Eingabedaten abh¨ angen.



Die Korrektheit eines mathematischen Problems ist eine der Grundvoraussetzungen, damit es auch einer numerischen Behandlung zugef¨ uhrt werden kann, d.h., nur f¨ ur korrekt gestellte Probleme lassen sich vern¨ unftige numerische L¨ osungsstrategien entwickeln. Eine weitere, f¨ ur die Numerische Mathematik wichtige Eigenschaft des jeweiligen Problems ist dessen Kondition. Die Diskussion dieser Problemeigenschaft basiert auf der folgenden Fragestellung: Wie wirken sich (sehr kleine) absolute bzw. relative Fehler in den Eingabedaten auf die Resultate aus? Wir treffen hierzu 2 Vereinbarungen.

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

8 Voraussetzung 1.2.

1) Die Funktionen fi (x), i = 1, . . . , m, seien in einer hinreichend großen Umgebung des Vektors x der Eingabedaten differenzierbar. ogen 2) Alle arithmetischen Operationen zur Auswertung der fi (x), i = 1, . . . , m, m¨ ohne Fehler, d.h. rundungsfehlerfrei ausf¨ uhrbar sein.  Zuerst wollen wir die Anf¨ alligkeit der vier arithmetischen Grundrechenoperationen gegen¨ uber Fehlern in den Eingabedaten untersuchen. Die Fragestellung lautet pr¨ aziser formuliert: aherungen x ˜ = (˜ x1 , x ˜ 2 )T Gegeben: F¨ ur die Eingabedaten x = (x1 , x2 )T liegen die N¨ T vor, die mit den absoluten Fehlern δ(˜ x) = (δ(˜ x1 ), δ(˜ x2 )) und den relativen Fehlern x2 ))T versehen sind. Diese Fehler m¨ ogen dem Betrag nach in der ε(˜ x) = (ε(˜ x1 ), ε(˜ Gr¨oßenordnung der Maschinengenauigkeit des verwendeten Rechners liegen und sind demzufolge als sehr klein zu betrachten. Gesucht: Schranken, f¨ ur die bei der Addition (Subtraktion), Multiplikation und Division auftretenden Fehlern in den Resultaten, welche allein aus der Fortpflanzung der Fehler in den Eingabedaten resultieren. Wir gehen somit von der Vereinfachung aus, daß sich die Grundrechenoperationen exakt, d.h. rundungsfehlerfrei ausf¨ uhren lassen. Dies ist bei der Realisierung auf einem Rechner nat¨ urlich nicht gegeben. Die Fragestellung ist jedoch insofern relevant, als daß bei jeder numerischen Rechnung die zugeh¨ origen Eingabedaten der Wortl¨ ange des jeweiligen Rechners anzupassen sind. So k¨ onnen zum Beispiel irrationale Zahlen (π, e, etc.) nicht mit unendlicher Stellenzahl verarbeitet werden. Unterscheidet sich die exakte L¨ osung des Problems mit den gerundeten Eingabedaten schon wesentlich von der exakten L¨ osung des urspr¨ unglichen Problems, dann macht es keinen Sinn, dieses Problem mit einem noch so guten numerischen Verfahren zu l¨ osen. Die bei der numerischen Rechnung zus¨ atzlich anfallenden Rundungsfehler der Zwischen- und Endresultate w¨ urden diese inh¨ arente Instabilit¨ at (man spricht hier von schlechter Kondition der Problemstellung) nur noch verst¨ arken. Addition (bzw. Subtraktion) Das exakte Resultat z der Addition (Subtraktion) zweier exakter Eingabedaten x1 und x2 ist z = f (x1 , x2 ) ≡ x1 + x2 . ˜2 ergibt sich bei (rundungs-)fehlerfreier F¨ ur die gen¨ aherten Eingabedaten x ˜1 und x Ausf¨ uhrung der Rechenoperation das exakte Resultat z˜: ˜2 ) = x ˜1 + x ˜2 = x1 + δ(˜ x1 ) + x2 + δ(˜ x2 ). z˜ ≡ f (˜ x1 , x Hieraus resultiert f¨ ur den absoluten Fehler des Resultates z˜ die Darstellung δ(˜ z ) ≡ z˜ − z = δ(˜ x1 ) + δ(˜ x2 ).

(Absoluter Fehler)

(1.11)

1.2 Fehlerfortpflanzung, Kondition und numerische Instabilit¨at

9

Der absolute Fehler des Resultates ergibt sich somit unmittelbar aus der Summe der absoluten Fehler der Eingabedaten. Da vor diesen in der Formel (1.11) jeweils der Vorfaktor Eins steht, werden die (unvermeidbaren) Fehler in den Eingabedaten nicht weiter verst¨ arkt. Damit ist die Addition im Hinblick auf den absoluten Fehler unproblematisch. Wir wollen jetzt den relativen Fehler ε(˜ z ) von z˜ untersuchen. Dieser bestimmt sich zu: ε(˜ z) ≡

x2 ) δ(˜ x1 ) + δ(˜ δ(˜ z) = , z x1 + x2

Verwendet man die Beziehungen ε(˜ x1 ) ≡ sich die Darstellung ε(˜ z) =

x1 = −x2 .

δ(˜ x1 ) δ(˜ x2 ) , ε(˜ x2 ) ≡ , x1 = 0 = x2 , so ergibt x1 x2

x1 x2 ε(˜ x1 ) + ε(˜ x2 ). x 1 + x2 x1 + x2

(Relativer Fehler)

(1.12)

Der folgende Sachverhalt ist daraus unschwer zu erkennen: • Ist sign(x1 ) = sign(x2 ) (dies entspricht der eigentlichen Addition!), dann gilt xi ≤ 1, i = 1, 2, x1 + x 2 d.h., die Vorfaktoren in der Formel (1.12) sind beschr¨ ankt und es tritt keine Anx2 ) auf! fachung der relativen Fehler ε(˜ x1 ) und ε(˜ • Ist sign(x1 ) = sign(x2 ) (dies entspricht der eigentlichen Subtraktion!), dann tritt ahrliche Verst¨ arkung der (vorliegenden) relativen Fehler im Falle x1 ≈ −x2 eine gef¨ ε(˜ xi ), i = 1, 2, auf. Letzteres Ph¨ anomen wird in der Numerischen Mathematik wie folgt bezeichnet. Definition 1.5. Ist x1 ≈ −x2 , dann wird der relative Fehler bei der Addition (eigentliche Subtraktion!) extrem verst¨ arkt. Man nennt diesen Effekt Ausl¨oschung f¨ uhrender Dezimalstellen, da beide Zahlen denselben Exponenten und u uhrende ¨bereinstimmende f¨ Mantissenstellen haben, die bei der Differenzbildung zu Null werden und eine ReNormalisierung erforderlich machen (siehe auch Abschnitt 1.3).  Wir wollen diese Definition mit einem Beispiel untersetzen. origen Beispiel 1.3. Es seien die folgenden zwei Zahlen x1 und x2 sowie die zugeh¨ ˜2 gegeben. N¨ aherungen x ˜1 und x x ˜1 = 1.41 ⇒ δ(˜ x1 ) = 0.05, x1 = 1.36, x2 = −1.35, x ˜2 = −1.39 ⇒ δ(˜ x2 ) = −0.04,

ε(˜ x1 ) = 0.05/1.36 = 0.0367 . . . ε(˜ x2 ) = 0.0296 . . .

Somit gilt: z = x1 + x2 = 0.01,

z˜ = x ˜1 + x ˜2 = 0.02



x2 ) = 0.01, δ(˜ z ) = δ(˜ x1 ) + δ(˜ ε(˜ z ) = δ(˜ z )/z = 1.

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

10

Obwohl der relative Fehler der Problemdaten weniger als 5% betr¨ agt, ergibt sich ein relativer Fehler des Resultats von ungef¨ ahr 100%.  Multiplikation In diesem Falle ist z = f (x1 , x2 ) ≡ x1 · x2 , so daß f¨ ur gest¨ orte Eingabedaten die Be˜2 ) = x ˜1 · x ˜2 gilt. F¨ ur den absoluten Fehler des Resultates folgt ziehung z˜ = f (˜ x1 + x daraus δ(˜ z)

= =

˜2 − x1 x2 = (x1 + δ(˜ x1 ))(x2 + δ(˜ x2 )) − x1 x2 z˜ − z = x ˜1 x x2 δ(˜ x1 ) + x1 δ(˜ x2 ) + δ(˜ x1 )δ(˜ x2 ).

x2 ) betragsm¨ aßig sehr klein sind (jeweils in der Da vorausgesetzt wird, daß δ(˜ x1 ) und δ(˜ x2 ) Gr¨oßenordnung der Maschinengenauigkeit), kann der quadratische Term δ(˜ x1 ) δ(˜ vernachl¨ assigt werden. Man erh¨ alt deshalb in linearer N¨ aherung δ(˜ z ) x2 δ(˜ x1 ) + x1 δ(˜ x2 ).

(Absoluter Fehler)

(1.13)

Die obige Formel sagt aus, daß bei vern¨ unftig skalierten Eigabedaten x1 und x2 die Multiplikation zu keinem extremen Anwachsen des absoluten Resultatefehlers f¨ uhren kann. F¨ ur den relativen Fehler von z˜ ergibt sich aus (1.13) die Darstellung ε(˜ z) ≡

δ(˜ z) x 2 ) x1 δ(˜ x1 ) δ(˜ x2 ) δ(˜ x1 ) x2 + δ(˜ = + , z x1 x2 x1 x2

das heißt, es ist ε(˜ z ) ε(˜ x1 ) + ε(˜ x2 ).

(Relativer Fehler)

(1.14)

Im Gegensatz zur Addition verh¨ alt sich die Multiplikation auch hinsichtlich des relativen Fehlers v¨ ollig problemlos, da in der Formel (1.14) jeweils eine Eins als Vorfaktor vor den Gr¨ oßen ε(˜ xi ), i = 1, 2, steht. Division ¨ Als Ubungsaufgabe zeige man die folgenden Fehlerfortpflanzungsgesetze f¨ ur die Division z = f (x1 , x2 ) ≡ x1 /x2 , x2 = 0: δ(˜ z)

1 x1 δ(˜ x1 ) − 2 δ(˜ x2 ), x2 x2

(Absoluter Fehler)

(1.15)

ε(˜ z ) ε(˜ x1 ) − ε(˜ x2 ).

(Relativer Fehler)

(1.16)

1.2 Fehlerfortpflanzung, Kondition und numerische Instabilit¨at

11

Die Darstellung (1.15) des absoluten Resultatefehlers impliziert, daß es sich bei der Division genau dann um ein schlecht konditioniertes Problem handelt, falls der Divisor betragsm¨ aßig sehr klein ist. Aus den obigen Untersuchungen ergibt sich nun zusammenfassend die folgende Aussage. Folgerung 1.1. Bei numerischen Rechnungen sind unbedingt zu vermeiden: • die Division durch betragskleine Zahlen, sowie • die Addition von Zahlen mit umgekehrten Vorzeichen, die sich im Betrag nur wenig unterscheiden.  Wir wollen jetzt das Fehlerfortpflanzungsverhalten f¨ ur das allgemeine Problem (1.10) untersuchen. Hierzu treffen wir die Voraussetzung 1.3. Die Funktionen fi : Ω → R, i = 1, . . . , m, seien auf der offenen  und konvexen Menge Ω ⊆ Rn definiert und stetig differenzierbar. Faßt man auch die Funktionen fi (x) zu einem Vektor F (x) ≡ (f1 (x), . . . , fm (x))T zusammen, dann l¨ aßt sich ein gegebenes mathematisches Problem in der Form z = F (x)

(1.17)

aufschreiben. Verwendet man in der Formel (1.17) anstelle der exakten Eingabedaten orten Daten x ˜ = (˜ x1 , . . . , x ˜n )T und wertet die Funktionen x = (x1 , . . . , xn )T die gest¨ x). Der Vektor der absoluten Fehler der Resultate fi (x) exakt aus, so ergibt sich z˜ = F (˜ zm ))T berechnet sich dann zu δ(˜ z ) = (δ(˜ z1 ), . . . , δ(˜ δ(˜ z ) = z˜ − z = F (˜ x) − F (x).

(1.18)

Die Taylorentwicklung von F (˜ x) an der Stelle x lautet (f¨ ur δ(˜ x) → 0) x − x) + o( ˜ x − x ) = F (x) + F  (x) δ(˜ x) + o( δ(˜ x)) ). (1.19) F (˜ x) = F (x) + F  (x)(˜ Die in (1.19) auftretende Jacobi-Matrix ⎡ ∂f 1 (x) ⎢ ∂x1 ⎢ ⎢ ∂f2 ⎢ (x) ⎢  F (x) ≡ ⎢ ∂x1 ⎢ ··· ⎢ ⎢ ⎣ ∂f m (x) ∂x1

F  (x) ∈ Rm×n von F (x) ist wie folgt definiert: ⎤ ∂f1 ∂f1 (x) · · · (x) ⎥ ∂x2 ∂xn ⎥ ⎥ ∂f2 ∂f2 (x) · · · (x) ⎥ ⎥ ∂x2 ∂xn (1.20) ⎥. ··· ··· ··· ⎥ ⎥ ⎥ ⎦ ∂fm ∂fm (x) · · · (x) ∂x2 ∂xn

Substituiert man nun (1.19) in (1.18), so resultiert δ(˜ z ) = F (x) + F  (x) δ(˜ x) + o( δ(˜ x) ) − F (x) = F  (x) δ(˜ x) + o( δ(˜ x) ),

δ(˜ x) → 0.

12

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

Da wir davon ausgegangen sind, daß die tats¨ achlichen Eingabedaten x ˜ gegen¨ uber den exakten Eingabedaten x nur geringf¨ ugig ver¨ andert sind (in der Gr¨ oßenordnung der Maschinengenauigkeit), ist der Summand o( δ(˜ x) ) im Vergleich zum ersten Summanden vernachl¨ assigbar. Wir k¨ onnen deshalb in erster N¨ aherung schreiben δ(˜ z ) F  (x) δ(˜ x).

(1.21)

In komponentenweiser Darstellung erh¨ alt man daraus δ(˜ zi )



n j=1

∂fi (x) ∂xj

δ(˜ xj ),

i = 1(1)m.

(1.22)

Die in der Formel (1.22) auftretenden Faktoren vor den absoluten Fehlern der Eingabedaten geben Anlaß zu der Definition 1.6. Die Gr¨ oße

∂fi

σij ≡

(x)

∂xj

(1.23)

heißt absolute Konditionszahl des i-ten Resultates in Bezug auf die j-te Komponente des Eingabedatenvektors.  arkt (oder ged¨ ampft) die KomDie Konditionszahl σij gibt an, um welchen Faktor verst¨ zi ) eingeht. ponente δ(˜ xj ) in die Fehlerkomponente δ(˜ Es werde jetzt der relative Fehler der Resultate untersucht. Hierzu wollen wir xj = 0, δ(˜ xj ) xj ) = folgt nun aus j = 1(1)n, und fi (x) = 0, i = 1(1)m, voraussetzen. Mit ε(˜ xj (1.22) n  δ(˜ zi ) xj ∂fi ε(˜ zi ) = (x) ε(˜ xj ), fi (x) fi (x) ∂xj j=1

i = 1(1)m.

(1.24)

Beim relativen Fehler treten also andere Faktoren vor den (relativen) Fehlern der Eingabedaten auf. Definition 1.7. Die Gr¨ oße

xj ∂fi

τij ≡ (x)

fi (x) ∂xj

(1.25)

1.2 Fehlerfortpflanzung, Kondition und numerische Instabilit¨at

13

heißt relative Konditionszahl des i-ten Resultates in Bezug auf die j-te Komponente des Eingabedatenvektors.  Man beachte: Die Vorfaktoren xj /fi (x) wirken sich besonders ung¨ unstig auf den relativen Fehler der Resultate aus, wenn ein betragsm¨ aßig kleines Resultat fi (x) aus einer betragsm¨ aßig großen Komponente xj des Eingabedatenvektors berechnet wird! Nach den Formeln (1.23) und (1.25) ergeben sich f¨ ur das Problem (1.17) ganze Matrizen und T (x) ≡ [τ (x)] ∈ Rm×n von Konditionszahlen. Um Σ(x) ≡ [σij (x)] ∈ Rm×n ij + + jeweils nur eine einzige Konditionszahl zu erhalten, kann man ein geeignetes Maß f¨ ur die Gr¨ oßenordnung der Matrizen Σ(x) und T (x) verwenden. Hier bietet sich eine der alt damit im Abschnitt 2.5.1 definierten Matrixnormen · p an. Man erh¨ (condp F )(x) ≡ Σ(x) p ,

Σ(x) = [σij (x)],

(rcondp F )(x) ≡ T (x) p ,

T (x) = [τij (x)].

(1.26)

Die auf diese Weise definierten Konditionszahlen h¨ angen offensichtlich von der verwendeten Matrixnorm ab. Da es aber hier nur auf die Gr¨ oßenordnung ankommt, spielt die spezielle Matrixnorm keine signifikante Rolle. Deshalb wird der Index p in (1.26) h¨ aufig auch weggelassen. Definition 1.8. Ein Problem mit relativ großen Konditionszahlen bezeichnet man als schlecht konditioniert. Es handelt sich dabei um eine nat¨ urliche Instabilit¨ at des gegebenen mathematischen Problems in dem Sinne, daß kleine Fehler in den Eingabedaten zu großen Fehlern in den Resultaten f¨ uhren k¨ onnen. Sind dagegen die Konditionszahlen relativ klein, so liegt eine gut konditionierte Problemstellung vor. Unter Verwendung der im Abschnitt 1.3, Formel (1.49), erkl¨ arten relativen Maschinengenauigkeit ν l¨ aßt sich der obige Sachverhalt auch wie folgt formulieren. Ein mathematisches Problem heißt gut konditioniert bez¨ uglich der relativen Fehler, falls ν · (rcond F )(x)  1

(1.27)

gilt. Anderenfalls wird das Problem als schlecht konditioniert bezeichnet. F¨ ur die absoluten Fehler gilt eine zu (1.27) entsprechende Formel bzw. Aussage.  Man beachte: Die Kondition eines Problems l¨ aßt sich mit den Mitteln der Numerischen Mathematik nicht ver¨ andern. Diese spezielle Form der Instabilit¨ at bzw. Stabilit¨ at ist eine Eigenschaft des gegebenen mathematischen Problems und h¨ angt nicht vom gew¨ ahlten Rechenprozeß ab. Bereits bei der mathematischen Modellierung naturwissenschaftlich-technischer Prozesse sollte man diesem Sachverhalt Rechnung zu tragen. Neben der nat¨ urlichen Stabilit¨ at/Instabilit¨ at (gute/schlechte Kondition) kennt man noch die sogenannte numerische Stabilit¨ at/Instabilit¨ at. Dieser Stabilit¨ atstyp bezieht sich

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

14

auf den jeweiligen numerischen Algorithmus. Ein Algorithmus wird numerisch instabil genannt, wenn es Eingabedaten gibt, bei denen sich die Rundungsfehler w¨ ahrend der Rechnung so akkumulieren, daß ein v¨ ollig verf¨ alschtes Ergebnis entsteht. Damit ist es nat¨ urlich m¨ oglich, daß durch die Anwendung einer instabilen Berechnungsmethode auf ein gut konditioniertes Problem eine numerische L¨ osung erzeugt wird, die vollst¨ andig von der exakten L¨ osung des gegebenen Problems abweicht. Wir wollen dies an einem Beispiel demonstrieren. Beispiel 1.4. Gegeben sei das folgende mathematische Problem: Das Resultat z ist f¨ ur x = 30 aus der Formel z ≡ f (x) = ln (x −

 x2 − 1)

(1.28)

zu berechnen. Wir wollen nun die Kondition dieses Problems studieren, wobei wir uns auf den absoluten Fehler des Resultates beschr¨ anken. Da nur eine Eingabegr¨ oße und auch nur ein Resultat in (1.28) auftreten, k¨ onnen wir in (1.23) die Indizes i und j weglassen. Des weiteren geht die partielle Ableitung in die gew¨ ohnliche Ableitung u ¨ber, die sich f¨ ur das gegebene Problem wie folgt berechnet: 1 x 1 √ = −√ . f  (x) = 1 − √ x2 − 1 x − x2 − 1 x2 − 1 Somit ergibt sich eine absolute Konditionszahl σ = |f  (30)| ≈ 0.033. Das gestellte Problem ist offensichtlich sehr gut konditioniert. Bei einer absoluten St¨ orung δ(˜ x) der alt man (bei exakter Rechnung) in erster Problemgr¨ oße x, mit δ(˜ x) ≈ 5 · 10−2 , erh¨ N¨aherung f¨ ur den absoluten Resultatefehler: x) ≈ −0.00165. δ(˜ z ) = z˜ − z = f (x + δ(˜ x)) − f (x) f  (x) δ(˜ W¨ahrend der numerischen Behandlung des Problems (Rechnung mit einer durch den Computer vorgeschriebenen Wortl¨ ange) treten Rundungsfehler auf, die das Resultat

√ √

2 = 899 = 29.9833287 . . . liegt bei der stark verf¨ alschen k¨ onnen. Wegen x − 1 x=30



das oben beschriebene Ph¨ anomen der Ausl¨ oschung Berechnung von (x − x2 − 1) x=30 vor. Eine 4-stellige Rechnung ergibt zum Beispiel:



(x − x2 − 1) = 30 − 29.98 = 0.02. x=30

Genauer gilt: (x −



x2 − 1)

x=30

= 30 − 29.9833287 . . . = 0.0166713 . . .

Der hier auftretende absolute Fehler 0.02 − 0.0166713 . . . = 0.0033287 . . . wird beim ¨ Ubergang zum Logarithmus verst¨ arkt, da die Konditionszahl σ ˆ von z = f (x) = ln(x) (in Bezug auf die Eingangsgr¨ oße x = 0.0166713 . . .) groß ist:





1

d



≈ 60.

ln(x) = σ ˆ=

dx x x=0.0166713... x=0.0166713...

1.2 Fehlerfortpflanzung, Kondition und numerische Instabilit¨at

15

Die Berechnung des Logarithmus ist in diesem Falle ein schlecht konditioniertes Problem, so daß ein sehr großer absoluter Resultatefehler entsteht: ˆ z ) = ln (0.02) − ln (0.0166713 . . .) = 0.1820436 . . . δ(˜ Demgegen¨ uber bleibt in exakter Arithmetik, wie wir oben gesehen haben, der absolute Resultatefehler selbst bei einer großen St¨ orung der Eingabegr¨ oße (zu x ˜ = x + δ(˜ x), mit δ(˜ x) ≈ 5 · 10−2 ) klein.  Das obige Beispiel liefert die Motivation daf¨ ur, das Ph¨ anomen der numerischen Stabilit¨ at (beziehungsweise numerischen Instabilit¨ at) eingehender zu untersuchen. Wir fassen jetzt die Vorschrift (1.28) nicht nur als mathematisches Problem, sondern auch als numerischen Algorithmus zu dessen L¨ osung auf. Dies soll heißen, daß jede einzelne Rechenoperation und jede Auswertung der Problemfunktionen nur n¨ aherungsweise (gerundet) realisiert werden kann. Jeder Algorithmus l¨ aßt sich in eine Kette aufeinanderfolgender Elementaralgorithmen zerlegen. F¨ ur unser obiges Beispiel erh¨ alt man: g1 : R → R2 : x → (x, x2 )T ,  √ T g3 : R2 → R2 : (s, t)T → s, t , g5 : R → R : w → ln (w).

g2 : R2 → R2 : (y, z)T → (y, z − 1)T , g4 : R2 → R : (u, v)T → u − v,

(1.29)

Es gilt dann: z = f (x) = g5 ◦ g4 ◦ g3 ◦ g2 ◦ g1 (x). Die Berechnung von z = f (x) wird also mit Hilfe einer Faktorisierung der Abbildung f gem¨ aß f = g5 ◦ g4 ◦ g3 ◦ g2 ◦ g1 (1.30) durchgef¨ uhrt. Bei einer komplexeren Abbildung nimmt man i.allg. keine so detaillierte Faktorisierung vor, da sonst die Anzahl der Elementaralgorithmen zu groß und damit un¨ ubersichtlich wird. Deshalb faßt man die Elementaralgorithmen zu (stabilen) Teilalgorithmen zusammen. F¨ ur unser Beispiel l¨ aßt sich der Prozeß etwa folgendermaßen unterteilen: g1 :

  T R → R2 : x → x, x2 − 1 ,

g3 :

R → R : y → ln (y),

g2 : R2 → R : (u, v)T → u − v,

und damit z = f (x) = g3 ◦ g2 ◦ g1 (x). Anhand einer solchen Faktorisierung von f, f = gk ◦ gk−1 ◦ · · · ◦ g1 ,

(1.31)

l¨aßt sich nun analysieren, ob ein numerischer Algorithmus stabil oder instabil ist. Bei diesen Untersuchungen hat man folgende Sachverhalte zu ber¨ ucksichtigen: • es ist mit einer St¨ orung der gegebenen (exakten) Eingabedaten x ≡ x(0) in der (0) (0) x(0) ) zu rechnen; Form x ˜ = x + δ(˜

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

16

• bei der numerischen Auswertung der Teilalgorithmen gi , i = 1, . . . , k, treten anstelle der exakten Zwischenresultate x(i) = gi (x(i−1) ) = gi ◦ · · · ◦ g1 (x(0) ) durch Rundungsfehler verf¨ alschte Ergebnisse auf, die wie folgt dargestellt werden k¨ onnen: x(i−1) ) + δ(˜ x(i) ). (1.32) x ˜(i) = gi (˜ Der absolute Fehler δ(˜ x(i) ) wird entsprechend der nat¨ urlichen Stabilit¨ at (Kondition) urliche Stabilit¨ at von von gi+1 , gi+2 , . . . , gk an das Endresultat weitergegeben. Die nat¨ gi+1 , . . . , gk ist aber gerade durch deren partielle Ableitungen, insbesondere durch die Funktionalmatrizen Dgi+1 , . . . , Dgk , bestimmt. Da sich bei einem Produkt von Abbildungen hi ≡ gk ◦ · · · ◦ gi+1 ,

i = 0, . . . , k − 1,

(1.33)

die Funktionalmatrizen nach der Kettenregel multiplizieren, geht der Fehler δ(˜ x(i) ) um den Faktor (1.34) Dhi = Dgk · · · Dgi+1 verst¨ arkt (oder abgeschw¨ acht) in das Endresultat ein: ˜(k) − z Df δ(˜ x(0) ) + Dh1 δ(˜ x(1) ) + · · · + Dhk−1 δ(˜ x(k−1) ) + δ(˜ x(k) ). (1.35) δ(˜ x(k) ) = x Somit erweist sich ein Algorithmus als gef¨ ahrlich, wenn die Elemente der Matrizen Dhi im Vergleich zu den Elementen von Df betragsm¨ aßig groß sind, da dann ein Fehler in unstig in das Endresultat eingeht. Es liegt in diesem Falle numerische den gi sehr ung¨ Instabilit¨ at vor. Bemerkung 1.2. Geht man bei der numerischen Berechnung von z = f (x) davon aus, daß der Eingabedatenvektor mit gewissen Eingabefehlern behaftet ist, x(0) ) ≡ x + δ, x ˜(0) = x(0) + δ(˜

(1.36)

und daß nur mit einer bestimmten endlichen Stellenzahl gerechnet werden kann, so liefert die Faktorisierung von f im g¨ unstigsten Fall: x(k−1) ) = 0, δ(˜ x(1) ) = · · · = δ(˜

gk (˜ x(k−1) ) = (gk ◦ · · · ◦ g1 )(x + δ) = f (x + δ),

(1.37)

δ(˜ x(k) ) = rd(f (x + δ)) − f (x + δ). In (1.37) bezeichnet rd(f ) den gerundeten Wert von f . Diese Rundungsoperation wird in Abschnitt 1.3 genauer untersucht. Damit tritt bei jedem numerischen Algorithmus in erster N¨ aherung mindestens der von der gew¨ ahlten Faktorisierung unabh¨ angige Fehler Df δ + rd(f (x + δ)) − f (x + δ) auf.

(1.38) 

1.3 Rundungsfehler bei Gleitpunkt-Arithmetik

17

Ausgehend von dem Fehler (1.38), den man bei allen numerischen Berechnungen ber¨ ucksichtigen muß, definiert man nun wie folgt: agliche Definition 1.9. Bezeichnen · eine Vektornorm und · M eine dazu vertr¨ Matrixnorm (siehe Abschnitt 2.5.1), dann wird die Gr¨ oße

Df M δ + rd(f (x + δ)) − f (x + δ) unvermeidbarer Fehler genannt.

(1.39) 

Das Problem, einen stabilen numerischen Algorithmus zu entwickeln, beinhaltet damit folgende Zielstellung. Es ist daf¨ ur Sorge zu tragen, daß die auf der Basis der vorliegenden Faktorisierung durch Fehlerfortpflanzung in das Endresultat eingehenden Fehler in der Gr¨ oßenordnung des unvermeidbaren Fehlers (1.39) bleiben.

1.3

Rundungsfehler bei Gleitpunkt-Arithmetik

Ein Computer arbeitet i.allg. mit mehreren Typen von Zahlen, die sich durch ihre interne Darstellungs- und Verarbeitungsweise unterscheiden. Die beiden wichtigsten sind: • Festpunktzahlen (engl.: fixed point numbers“), in Programmiersprachen meist ” vom Typ integer. Sie werden zur Angabe von ganzen Zahlen verwendet. • Gleitpunktzahlen (engl.: floating point numbers“), in Programmiersprachen meist ” vom Typ real. Sie werden zur Darstellung von Zahlen mit Angabe eines rationalen Anteils verwendet. Festpunktzahlen Jede Zahl wird als ganze Zahl dargestellt. Betr¨ agt beispielsweise die Wortl¨ ange 24 bit, dann ergibt sich der Zahlbereich:  −8, 388, 607 (= −223 + 1) . Zahlbereich: 8, 388, 607 (= 223 − 1) Offensichtlich steht mit dieser Zahlendarstellung auf dem Computer nur ein sehr kleiner Zahlbereich f¨ ur das numerische Rechnen zur Verf¨ ugung. Dieser Zahlbereich l¨ aßt sich wesentlich vergr¨ oßern durch die Darstellung der Zahlen als Gleitpunktzahlen. Gleitpunktzahlen Jede Zahl x ∈ R l¨ aßt sich in halblogarithmischer Darstellung wie folgt angeben: x = Vorzeichen Mantisse × BasisExponent .

(1.40)

18

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

Zum Beispiel besitzt die reelle Zahl x = −8432.1 die halblogarithmische Darstellung: x=

− 

0.84321    ×

104 . 

Vorzeichen Mantisse BasisExponent

Da die Mantisse und der Exponent auf einem Computer nicht beliebig große Werte annehmen k¨ onnen, m¨ ussen sie entsprechend beschr¨ ankt werden. Man kommt damit zu ur eine beliebige Basis β wie folgt erkl¨ art den sogenannten Gleitpunktzahlen xM , die f¨ sind: xM ≡ ± 0.x1 x2 . . . xt × β = ±

x1 xt x2 + 2 + ··· + t β β β

0 ≤ xj ≤ β − 1,

−L ≤ e ≤ U.

e

j = 1, . . . , t,

× βe, (1.41)

Um gewisse Mehrdeutigkeiten bei dieser Zahlendarstellung auszuschließen, wollen wir f¨ ur die weiteren Betrachtungen voraussetzen, daß die Mantisse der verwendeten Gleitpunktzahlen stets im Sinne der Definition 1.10 normiert ist. Definition 1.10. Gilt x1 = 0 in (1.41), dann spricht man von einer normalisierten Gleitpunktdarstellung.  Die Gleitpunkt-Null 0M “ spielt eine gewisse Ausnahmerolle. Sie wird in den u ¨blichen ” Modellen wie folgt definiert: 0M ≡ + 0.000 . . . 0 × β −L .

(1.42)

Definition 1.11. Die Menge R = R(β, t, L, U ) aller in der Form (1.41), (1.42) darstellbaren und normalisierten Zahlen xM wird als die Menge der Maschinenzahlen bezeichnet.  Bemerkung 1.3. Offensichtlich besteht R(β, t, L, U ) nur aus endlich vielen Elementen. Exakter formuliert lautet diese Aussage: die Menge der Maschinenzahlen besitzt genau N Elemente, mit N ≡ 2 (β − 1) β t−1 (U + L + 1) + 1.

(1.43)

Diese Anzahl berechnet sich wie folgt: • es sind zwei Vorzeichen m¨ oglich, • die f¨ uhrende Mantissenstelle kann β − 1 Werte annehmen, • f¨ ur jede der verbleibenden t − 1 Mantissenstellen gibt es β M¨ oglichkeiten, und

1.3 Rundungsfehler bei Gleitpunkt-Arithmetik

19

• der Exponent kann U + L + 1 Werte durchlaufen. • Die 1 ist noch zu addieren, um die Maschinen-Null zu ber¨ ucksichtigen.



Eine der nachteiligsten Eigenschaften der Maschinenzahlen ist deren ungleichm¨ aßige Verteilung. Dies soll an einem Beispiel demonstriert werden. Beispiel 1.5. Wir betrachten R(2, 3, 1, 2), d.h., die Menge aller Zahlen x, die sich in der Form x = ± 0.x1 x2 x3 × 2e , −1 ≤ e ≤ 2, xi ∈ {0, 1} darstellen lassen. Man erh¨ alt: (0.000)2 × 2−1

=

(0.100)2 × 2−1

=

(0.101)2 × 2−1

=

(0.110)2 × 2−1

=

(0.111)2 × 2−1

=

(0.100)2 × 20

=

(0.101)2 × 20

=

(0.110)2 × 20

=

(0.111)2 × 20

=

(0.100)2 × 21

=

(0.101)2 × 21

=

(0.110)2 × 21

=

(0.111)2 × 21

=

0 1 1 1 · = 2 2 4 5 1 1 1 ( + )· = 2 8 2 16 1 1 1 3 ( + )· = 2 4 2 8 7 1 1 1 1 ( + + )· = 2 4 8 2 16 1 1 ·1= 2 2 5 1 1 ( + )·1= 2 8 8 3 1 1 ( + )·1= 2 4 4 1 1 1 7 ( + + )·1= 2 4 8 8 1 ·2=1 2 5 1 1 ( + )·2= 2 8 4 3 1 1 ( + )·2= 2 4 2 7 1 1 1 ( + + ) · 2 = , etc. 2 4 8 4

Da die negativen Maschinenzahlen symmetrisch zum Nullpunkt angeordnet sind, brauchen sie nicht gesondert berechnet zu werden.

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

20

Abbildung 1.1: Die positiven Maschinenzahlen aus R(2, 3, 1, 2)

Der Abbildung   1.1 ist zu entnehmen, daß sich beispielsweise jede Zahl x ∈ R aus dem Intervall 14 , 12 relativ genau durch eine Maschinenzahl xM ∈ R(2, 3, 1, 2) approximieren l¨ aßt. Andererseits k¨ onnen die reellen Zahlen aus dem Intervall [2, 3] wesentlich ungenauer durch diese Maschinenzahlen angen¨ ahert werden. Ein Blick auf die Abbildung 1.1 lehrt, daß es in R(2, 3, 1, 2) genau 16 positive Maschinenzahlen gibt. Addiert man hierzu die 16 negativen Zahlen sowie die Maschinen-Null, so kommt man auf eine Gesamtanzahl von N = 33 Maschinenzahlen. Dies l¨ aßt sich auch mit der Formel (1.43) berechnen:  N = 2 (β − 1) β t−1 (U + L + 1) + 1 = 2 · 1 · 22 · (2 + 1 + 1) + 1 = 8 · 4 + 1 = 33. Damit nun eine Zahl y ∈ R, y = 0, im Computer verarbeitet werden kann, muß sie durch eine solche Maschinenzahl xM ≡ rd(y) ∈ R(β, t, L, U )

(1.44)

( rd“ als Abk¨ urzung des engl. Wortes: rounded value“) dargestellt werden, f¨ ur die ” ” die Norm des relativen Fehlers |εrd | ≡ (|rd(y) − y|)/(|y|) m¨ oglichst klein ist. Diese Maschinenzahl rd(y) wird nun u ¨blicherweise mittels der folgenden Prozedur bestimmt. 1) y = 0:

es wird rd(y) ≡ 0M gesetzt.

2) y = 0: f¨ uhrt

zuerst wird y in eine normalisierte halblogarithmische Darstellung u ¨bery = ± 0.y1 y2 · · · yt yt+1 · · · × β e ,

y1 = 0.

In Abh¨ angigkeit vom Exponenten e sind jetzt 3 F¨ alle zu unterscheiden: 2.1)

e < −L: Es liegt ein sogenannter Exponentenunterlauf (engl.: underflow“) vor. ” ¨ Ublicherweise wird hier rd(y) ≡ 0M gesetzt. Man beachte, daß die meisten Computer einen Exponentenunterlauf nicht standardm¨ aßig anzeigen! F¨ ur den relativen Fehler |εrd | = |rd(y) − y|/|y| ergibt sich |εrd | =

|0 − y| = 1, |y|

1.3 Rundungsfehler bei Gleitpunkt-Arithmetik

21

¨ d.h., er betr¨ agt 100%. Dies ist nicht verwunderlich, da beim Ubergang von amtliche Informationen verlorengehen. y zu xM s¨ 2.2)

−L ≤ e ≤ U : In diesem Fall sind 2 verschiedene Rundungsvorschriften u ¨blich, um die Mantisse auf t Stellen zu verk¨ urzen.

2.2.1) Die Mantisse wird nach der t-ten Stelle abgebrochen: rd(y) ≡ ± 0.y1 y2 · · · yt × β e .

(1.45)

Aus y = 0 folgt 0.y1 y2 · · · yt ≥ β −1 . Somit l¨ aßt sich der relative Fehler wie folgt absch¨ atzen: |εrd | =

β −t β e |rd(y) − y| ≤ −1 e = β 1−t . |y| β β

(1.46)

Da f¨ ur den relativen Fehler bei der obigen Rundungsvorschrift die Absch¨ atzung 0 ≥ εrd ≥ −β 1−t gilt, spricht man von einer unsymmetrischen Rundung. Auch der Begriff Abbrechen (engl.: chopping“) ist ge” br¨ auchlich. 2.2.2) G¨ unstiger f¨ ur numerische Rechnungen ist jedoch die nach dem Vorbild der Schulmathematik ausgef¨ uhrte symmetrische Rundung. H¨ aufig spricht man in diesem Fall auch nur von Runden (engl.: rounding“). Die Vor” schrift lautet:

rd(y) ≡

⎧ ⎪ ⎨ ± 0.y1 y2 · · · yt × β e ⎪ ⎩ ± [(0.y y · · · y ) + β −t ] × β e 1 2 t

f¨ ur f¨ ur

1 β 2 1 ≥ β 2

yt+1 < yt+1

(1.47)

F¨ ur den relativen Fehler gilt dann: |εrd | = 2.3)

1 −t e β β |rd(y) − y| 1 ≤ 2 −1 e = β 1−t . |y| β β 2

(1.48)

U < e: Es liegt ein sogenannter Exponenten¨ uberlauf (engl.: overflow“) vor. In die” sem Falle ist keine vern¨ unftige Festlegung von rd(y) m¨ oglich. Im allgemeinen reagiert der Computer mit dem Abbruch der Rechnung und einer Fehlermitteilung.

22

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

¨ Tritt kein Unter- oder Uberlauf ein, dann folgt aus (1.46) und (1.48): ⎧ 1−t ⎪ ⎨ β

|rd(y) − y| ≤ν≡ |εrd | = 1 ⎪ |y| ⎩ β 1−t 2

bei unsymmetrischer Rundung (1.49) bei symmetrischer Rundung.

Die Konstante ν wird relative Maschinengenauigkeit genannt. F¨ ur weitergehende Untersuchungen ist es zweckm¨ aßig, die Absch¨ atzung (1.49) in einer etwas modifizierten Form anzugeben: rd(y) = y (1 + ε),

mit |ε| ≤ ν.

(1.50)

Bemerkung 1.4. Die Formel (1.50) kann wie folgt interpretiert werden. Die Computerdarstellung rd(y) einer reellen Zahl y ist exakt gleich dem etwas ver¨ anderten Zahlwert y  ≡ y (1+ε(y  )), wobei ε(y  ) = (y  −y)/y = (rd(y)−y)/y klein im Sinne von |ε(y  )| ≤ ν ist. Somit wird bei der Projektion einer reellen Zahl y in die Menge der Maschinenzahlen R(β, t, L, U ) nur ein sehr kleiner relativer Fehler erzeugt. Im folgenden werden wir deshalb die beim numerischen Rechnen zwangsl¨ aufig auftretenden Einzelfehler stets als sehr klein voraussetzen.  Es sollen jetzt die bereits im vorangegangenen Abschnitt untersuchten arithmetischen Grundrechenoperationen noch einmal betrachtet werden. Diese erzeugen i.allg. keine Maschinenzahlen, selbst dann nicht, wenn als Operanden Maschinenzahlen auftreten. Damit ergibt sich die Notwendigkeit, ein Modell f¨ ur die Realisierung der Grundrechenoperationen auf einem Computer aufzustellen und anhand dieses Modells entsprechende Fehleruntersuchungen durchzuf¨ uhren. Die maschinenintern erzeugten Resultate der arithmetischen Grundrechenoperationen stellen nur gewisse N¨ aherungen (aus der Menge der Maschinenzahlen) f¨ ur die exakten Ergebnisse dar. Wir wollen sie wie folgt kennzeichnen: (1.51) fl(xM yM ), mit xM , yM ∈ R(β, t, L, U ),  ∈ {+, −, ×, /}. Die Bezeichnung fl“ soll auf eine maschinenintern realisierte Gleitpunkt-Operation ” (engl.: floating point operation“) hinweisen. F¨ ur einen speziellen Rechner wird die ” Genauigkeit der jeweiligen Gleitpunkt-Arithmetik u ¨blicherweise durch die Angabe eines Maschinenepsilon beschrieben: εmach ≡ minn>0 {ε = 2−n : fl(1 + ε) > 1}.

(1.52)

Dieses kann nach dem Algorithmus 1.1 gr¨ oßenordnungsm¨ aßig berechnet werden. W¨ahrend die Summe aus zwei Gleitpunktzahlen xM , yM ∈ R(β, t, L, U ) i.allg. wieder in R(β, t, L, U ) liegt, ist das bei der Multiplikation nicht zu erwarten, da das Resultat stets 2t (oder 2t−1) signifikante Stellen aufweist. Die Ergebnisse der Gleitpunkt-Operationen

1.3 Rundungsfehler bei Gleitpunkt-Arithmetik

23

Maschinen-Epsilon ε=1 while 1 + ε > 1 ε = ε/2 end εmach = 2 · ε.

Algorithmus 1.1: Maschinen-Epsilon

m¨ ussen somit wieder in die Menge der Maschinenzahlen abgebildet werden. F¨ ur die folgenden Betrachtungen wollen wir deshalb ein einfaches Modell f¨ ur die maschineninterne Realisierung der Gleitpunkt-Operationen verwenden, das die Arbeitsweise zahlreicher Computer recht gut beschreibt: 1) Aus je zwei Operanden einer arithmetischen Grundrechenoperation wird zun¨ achst ein Zwischenresultat mit doppelter Wortl¨ ange gebildet, 2) anschließend wird dieses Ergebnis auf die einfache Wortl¨ange gerundet. F¨ ur β = 10 wollen wir beispielhaft die Gleitpunkt-Addition bzw. die GleitpunktSubtraktion diskutieren. Hierzu seien zwei normalisierte Gleitpunktzahlen gegeben: xM = sign(xM ) · x ¯M · 10b1 , x ¯M = yM = sign(yM ) · y¯M · 10 , y¯M = b2

t 

αk 10−k ,

k=1 t 

(1.53)

βk 10

−k

.

k=1

Ohne Beschr¨ ankung der Allgemeinheit m¨ oge |xM | ≥ |yM | gelten. Wir setzen weiter achst den Fall sign(xM ) = 1 voraus und untersuchen zun¨ d ≡ b1 − b2 ≤ t. Der Exponent von yM wird nun durch Verschieben der Mantisse y¯M nach rechts um d Stellen dem Exponenten von xM angeglichen: yM = sign(yM ) · yˆM · 10b1 ,

yˆM =

t 

βk 10−d−k =

k=1

d+t 

βk−d 10−k .

k=d+1

ur k = t + 1, . . . , 2t sowie βk−d ≡ 0 f¨ ur k = 1, . . . , d und Mit den Koeffizienten αk ≡ 0 f¨ k = t + d + 1, . . . , 2t erh¨ alt man bei 2t-stelliger Addition von xM und yM : 2t  k=1

αk 10−k + sign(yM ) ·

2t  k=1

βk−d 10−k ≡ γ0 +

2t  k=1

γk 10−k ,

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

24

mit γ0 ∈ {0, 1} und γk ∈ {0, . . . , 9} f¨ ur k = 1 . . . , 2t. Es ist γ0 = 1 nur m¨ oglich f¨ ur ¯M + yˆM ≥ 1. sign(yM ) = 1, x Dieser Sachverhalt l¨ aßt sich nun, wie in der Tabelle 1.1 angegeben, veranschaulichen. 100 10−1 . . . 10−d 10−d−1 . . . 10−t 10−t−1 . . . 10−t−d 10−t−d−1 . . . 10−2t x ¯M

α1

...

αd

αd+1

yˆM

0

...

0

β1

γ1

...

γd

γd+1

x ¯M ± yˆM

γ0

...

...

0

0

...

. . . βt−d βt−d+1 . . .

βt

0

...

0

γt+d

γt+d+1

...

γ2t

...

αt γt

0

γt−d+1 . . .

0

Tabelle 1.1: Modell Gleitpunkt-Addition (bzw. Subtraktion)

Die Addition ist exakt, da alle Summanden βk−d 10−k von yˆM in die Rechnung eingehen: x ¯M + sign(yM )ˆ yM = γ 0 +

2t 

γk 10−k .

k=1

Dieses Ergebnis wird jetzt auf t Stellen gerundet und man definiert vereinbarungsgem¨ aß fl(xM + yM ) ≡ rd(¯ xM + sign(yM )ˆ yM ) · 10b1 . xM ± yˆM ) = rd(¯ xM 10b1 ± yˆM 10b1 ) gilt Wegen 10b1 rd(¯ fl(xM + yM ) = rd(xM + yM ).

(1.54)

Es ist dann nach (1.50) fl(xM + yM ) = rd(xM + yM ) = (xM + yM ) · (1 + ε),

|ε| ≤ ν.

Wir betrachten jetzt den anderen Fall d ≡ b1 − b2 > t. Hier gilt |ˆ yM | < 10−d ≤ 10−t−1 . Unser Modell liefert daher fl(xM + yM ) ≡ xM , und man erkennt unschwer, daß rd(xM + yM ) = xM ist. Somit haben wir auch in dieser Situation fl(xM + yM ) = rd(xM + yM ) = (xM + yM ) · (1 + ε),

|ε| ≤ ν.

F¨ ur xM < 0 geht man entsprechend vor. ¨ Als Ubungsaufgabe untersuche man entsprechend die Gleitpunkt-Operationen ur xM , yM ∈ R(β, t, L, U ). fl(xM ∗ yM ) und fl(xM /yM ) f¨

1.3 Rundungsfehler bei Gleitpunkt-Arithmetik

25

Bemerkung 1.5. Bei dem vereinbarten Modell f¨ ur die Realisierung der GleitpunktOperationen besteht zwischen dem exakten Ergebnis a einer arithmetischen Grundrechenoperation und dem maschinenintern realisierten Ergebnis a ˜ die Beziehung a ˜ = rd(a) = a · (1 + ε),

mit

|ε| ≤ ν.

(1.55)

Aus den Darstellungen ⎫ fl(xM + yM ) = (xM + yM ) (1 + ε1 ) = xM (1 + ε1 ) + yM (1 + ε1 ), ⎪ ⎪ ⎬ fl(xM ∗ yM ) = xM (1 + ε2 ) ∗ yM , ⎪ ⎪ ⎭ fl(xM /yM ) = xM (1 + ε3 )/yM

|εi | ≤ ν

erkennt man unmittelbar: Das maschinenintern realisierte Resultat l¨ aßt sich als das exakte Ergebnis der Grundrechenoperationen f¨ ur etwas gest¨ orte Eingabedaten interpretieren. Diese Erkenntnis bildet die Grundlage der sogenannten R¨ uckw¨artsanalyse (engl.: back” ward error analysis“) von Wilkinson, der folgende Idee zugrunde liegt. Arbeitet man mit Daten, die schon durch Eingabefehler verf¨ alscht sind, dann k¨ onnen auftretende Rundungsfehler als unerheblich angesehen werden, wenn • sich das maschinenintern realisierte Resultat als exaktes Resultat f¨ ur nur geringf¨ ugig gest¨ orte Eingabedaten deuten l¨aßt, und • diese St¨ orungen gr¨ oßenordnungsm¨ aßig unterhalb der Fehler in den Eingabedaten liegen.  Die obige Bemerkung weist schon darauf hin, daß eine ausf¨ uhrliche Rundungsfehleranalyse komplexer Algorithmen sehr aufwendig und keineswegs einfach ist. Die Situation wird dar¨ uber hinaus noch dadurch erschwert, daß jede Rechenanlage Unterschiede bei der Ausf¨ uhrung der Gleitpunkt-Operationen aufweist. Abschließend wollen wir anhand einiger Beispiele demonstrieren, daß die f¨ ur den K¨ orper der reellen Zahlen geltenden Rechengesetze in der endlichen Menge der Maschinenzahlen ihre G¨ ultigkeit verloren haben. So sind zum Beispiel die beiden Gleitpunkt-Operationen ats- und das Distribufl(xM + yM ) und fl(xM ∗ yM ) noch kommutativ, das Assoziativit¨ tivit¨ atsgesetz gelten jedoch nicht mehr, wie die folgende Rechnung zeigt. Beispiel 1.6. Wir gehen von folgender Problemstellung aus: ur x, y, z ∈ R. Dies soll auf einem RechZu berechnen ist die Summe s∗ = x + y + z f¨ ner realisiert werden, der mit der Menge der Maschinenzahlen R(10,3,20,20) sowie der zugeh¨ origen Rundungsvorschrift (1.45) arbeitet. 1) Gegeben seien die Zahlen xM = 0.123 · 100 , yM = 0.456 · 10−3 und zM = 0.789 · 10−2 .

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

26 Man berechnet

s1 = fl(fl(xM + yM ) + zM ) = 0.130 · 100 , s2 = fl(xM + fl(yM + zM )) = 0.131 · 100. Das exakte Ergebnis lautet: s∗ = 0.131346 · 100 . Somit wirkt sich hier die unterschiedliche Reihenfolge der Gleitpunktadditionen nur unwesentlich auf das Resultat aus. 2) Gegeben seien die Zahlen xM = −0.123 · 100 , yM = 0.124 · 100 und zM = 0.987 · 10−3 . Man berechnet s1 = fl(fl(xM + yM ) + zM ) = 0.198 · 10−2 , s2 = fl(xM + fl(yM + zM )) = fl(−0.123 · 100 + 0.124 · 100 ) = 0.100 · 10−2 . ur die relativen Das exakte Resultat ist s∗ = 0.1987 · 10−2 . Damit ergibt sich f¨ Fehler





s1 − s∗

≈ 0.0035, |ε(s2 )| ≡ s2 − s ≈ 0.50. |ε(s1 )| ≡

s∗ s∗ Somit ist der relative Fehler f¨ ur die zweite Summationsfolge etwa 140 mal so groß wie f¨ ur die erste. Der Grund daf¨ ur ist offensichtlich die bei der zweiten Summationsfolge auftretende Ausl¨ oschung!  Beispiel 1.7. Berechnet man auf einem herk¨ ommlichen Computer in doppelter Genauigkeit (zum Beispiel mit der Matlab, 16 geltende Stellen) die theoretisch gleichwertigen Ausdr¨ ucke −10 +130 −1020 , 1) 1020 +17 20 20 +17 −10 −10 +130, 2) 10 −10 +130, 3) 1020 −1020 +17 +130 −1020 −10, 4) 1020 +17 so erh¨ alt man f¨ ur 1)–4) entsprechend die Resultate 0, 120, 137, -10.



Beispiel 1.8. Gegeben sei der (einfache) arithmetische Ausdruck z = 333.75 x62 + x21 (11 x21 x22 − x62 − 121 x42 − 2) + 5.5 x82 + x1 /(2 x2 ), der f¨ ur die Eingabedaten x1 = 77617 und x2 = 33096 berechnet werden soll. Die mit Mathematica berechnete exakte L¨ osung ist z = −54767/66192. Man erh¨ alt wiederum auf einem herk¨ ommlichen Rechner unter Verwendung der Matlab (16 geltende Stellen) das Resultat z˜ = −1.1806·1021 . Von Kulisch1 wurde mittels Intervallrechnung gefunden, daß der mathematisch korrekte Wert von z in dem Intervall [z− , z+ ] = [−0.8273960599468214, −0.8273960599468213] 1

Siehe das sehr interessante Memorandum u at Karls¨ber Computer, Arithmetik und Numerik, Universit¨ ruhe, Institut f¨ ur Angewandte Mathematik, 1996.

1.3 Rundungsfehler bei Gleitpunkt-Arithmetik

27

liegt. Zumindest stimmt bei dem mit der u ¨blichen Computerarithmetik berechneten Ergebnis noch das Vorzeichen!  Eine Sammlung von Beispielen aus der Praxis, bei denen sich Fehler in der Software katastrophal auswirkten, wird u.a. von Th. Huckle1 im Internet bereitgestellt. Bemerkung 1.6. F¨ ur die Arithmetik mit bin¨ aren Gleitpunktzahlen in Mikroprozessoren existieren heute international verbindliche Normen. Derartige internationale Normen werden von der Weltnormenorganisation ISO (Abk. f¨ ur: International Standardization Organization) erarbeitet. Ihr geh¨ oren etwa 95 Normungsorganisationen aus aller Welt an. Auf dem Gebiet der Elektrotechnik und Elektronik ist f¨ ur die Normung jedoch eine eigenst¨ andige Organisation, die IEC (Abk. f¨ ur: International Electrotechnical Commission), zust¨ andig. Die Bestrebungen, eine Normung von Gleitpunkt-Zahlensystemen zu schaffen, datieren auf die 1970er Jahre zur¨ uck. Man verfolgt seit diesem Zeitpunkt die Zielstellung, daß ¨ Programme ohne Anderung von einem Computer auf einen anderen u ¨bertragen werden k¨ onnen. Insbesondere sollen programmtechnische Maßnahmen gegen Rundungsfeh¨ ler oder arithmetische Ausnahmen (Exponenten-Uberlauf oder -Unterlauf) auf allen Rechnern gleich wirksam sein. Schließlich einigte man sich im Jahre 1985 auf den von der amerikanischen IEEE2 Computer-Gesellschaft beschlossenen IEEE Standard 754-85 (IEEE Standard for Binary Floating Arithmetic, Abk.: IEEE 754). Diese amerikanische Norm wurde dann 1989 durch die IEC zur internationalen Norm IEC 559:1989 (Binary Floating-Point Arithmetic for Microprocessor Systems) erhoben. Der IEEE 754Standard enth¨ alt Festlegungen zu folgenden Themengebieten: • Zahlenformat und Codierung f¨ ur zwei Typen von Gleitpunkt-Zahlensystemen: Grundformate und erweiterte Formate. F¨ ur jeden Typ gibt es ein Format einfacher L¨ ange und doppelter L¨ ange, • verf¨ ugbare Grundoperationen und Rundungsvorschriften, • Konvertierung zwischen verschiedenen Zahlenformaten und zwischen Dezimalund Bin¨ arzahlen, sowie ¨ • Behandlung der Ausnahmef¨ alle wie zum Beispiel Exponenten-Uberlauf oder Exponenten-Unterlauf und Division durch Null. Die einfach genaue Menge der Maschinenzahlen R(2,24,125,128) und das doppelt genaue System R(2,53,1021,1024) bilden die Grundformate. F¨ ur die erweiterten Formate werden in dieser Vorschrift nur Unter- bzw. Obergrenzen f¨ ur die Parameter festgelegt (siehe die Tabelle 1.2). Die meisten Implementierungen besitzen nur ein erweitertes Format, dem i.allg. die Menge der Maschinenzahlen R(2,64,16381,16384) entspricht. F¨ ur weitergehende Informationen zu diesem Gegenstand siehe zum Beispiel die Monografie 1 2

Siehe http://wwwzenger.informatik.tu-muenchen.de/persons/huckle/bugse.html. Abk. f¨ ur: Institute of Electrical and Electronics Engineers.

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

28

von Ch. Ueberhuber1 sowie den sehr interessanten Bericht von W. Kahan2 . Erweiterte IEEE-Formate Formatbreite3

≥ 43

≥ 79

Mantissenl¨ ange

≥ 32

≥ 64

kleinster Exponent

≤ -1021

≤ -16381

gr¨ oßter Exponent

≥ 1024

≥ 16384 

Tabelle 1.2: Erweiterte IEEE-Formate

1.4

Aufgaben

Aufgabe 1.1. Es sei die folgende Rekursionsvorschrift gegeben: x0 = 1,

x1 =

1 , 3

xn+1 =

13 4 xn − xn−1 , 3 3

n = 1, 2, . . .

Man zeige mittels Induktion, daß diese Rekursion die Folge n 1 xn = 3

(1.56)

(1.57)

erzeugt. Mit Matlab berechne man die Folge nach obiger Rekursionsvorschrift und vergleiche die numerisch gewonnenen Folgenglieder mit dem theoretischen Ergebnis. Man argumentiere, warum die Rekursion (1.56) instabil ist, d.h., warum so gewaltige Unterschiede zwischen (1.57) und den numerischen Werten bestehen. Aufgabe 1.2. Es sei eine ¨ ahnliche Rekursionsvorschrift wie in Aufgabe 1.1 gegeben: x0 = 1,

x1 =

1 , 2

xn+1 =

11 5 xn − xn−1 , 2 2

n = 1, 2, . . .

(1.58)

Hier erzeugt die Rekursion die Folge xn =

n 1 . 2

(1.59)

Mit Matlab berechne man die Folge nach obiger Rekursionsvorschrift und vergleiche die numerisch gewonnenen Folgenglieder mit dem theoretischen Ergebnis. Man erkennt 1

Ch. Ueberhuber: Numerical Computation, Vol. 1, Springer Verlag, Berlin et al., 1997. W. Kahan: IEEE Standard 754 for Binary Floating-Point Arithmetic.. Lecture Notes, Univ. of California, Elect. Eng. & Computer Science, 1996. 3 Bitmuster einer festen L¨ ange. 2

1.4 Aufgaben

29

¨ Ubereinstimmung! Die Vorschrift (1.58) stellt aber genau wie (1.56) ein instabiles Verfahren dar. Um dies zu erkennen, st¨ ore man den Wert von x0 (oder von x1 ) etwas und ¨ berechne die Folge neu. Jetzt liegt keine Ubereinstimmung mehr vor. Man begr¨ unde, warum letzteres Verhalten nicht bei den exakten Startwerten zu beobachten ist. Aufgabe 1.3. Zu berechnen seien die bestimmten Integrale  1 yn = xn ex dx, n ≥ 0.

(1.60)

0

Dazu zeige man mittels partieller Integration, daß die folgende Rekursionsformel yn bestimmt: y0 = e − 1, yn+1 = e − (n + 1)yn , n = 0, 1 . . . (1.61) Mit der Matlab berechne man die Integrale nach der Vorschrift (1.61). Nun zeige man, daß theoretisch lim yn = 0 und lim (n + 1)yn = e n→∞

n→∞

gilt (um den ersten Grenzwert zu best¨ atigen, untersuche man das Verhalten von xn im Integral; f¨ ur den zweiten benutze man die Rekursionsformel!). Wiederum stimmen die theoretischen Resultate nicht mit den numerisch bestimmten Zahlwerten u ¨berein. Man begr¨ unde diese Instabilit¨ at. Aufgabe 1.4. Schreiben Sie mit m¨ oglichst wenig arithmetischen Operationen ein Programm zur Berechnung von n 1 , mit n ∈ N, f (n) = 1 + n wobei nur die vier Grundrechenoperatoren +, −, ∗ und / benutzt werden d¨ urfen. Verglei1 chen Sie die so gewonnenen Ergebnisse sowohl mit f (n) = exp (n ∗ ln (1 + )) als auch n mit denjenigen Zahlwerten, die sich aus dem folgenden primitiven Algorithmus ergeben:

f = 1;

p = 1 + 1/n

for i = 1 : n f =f ∗p end

Der obige Algorithmus ben¨ otigt offensichtlich n Multiplikationen, Ihr Programm sollte aber nur O(log2 n) Multiplikationen erfordern. Was f¨ ur ein Verhalten zeigt sich f¨ ur große n? Welcher Algorithmus ist genauer? Warum ist dies der Fall? Hinweis: Man rechne mit verschiedenen Genauigkeiten. In der Matlab muß dazu nach

30

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

jeder Operation gerundet werden, um eine k¨ urzere Mantisse zu simulieren. Die folgende Matlab-Funktion kann hierzu verwendet werden (t ist die verwendete Mantissenl¨ ange).

function y = runde(x,t); [ma,ex] = log2(x); y = pow2(round(pow2(ma,t)),ex-t).

Aufgabe 1.5. Wie wirken sich Fehler in den Eingabedaten bei der Auswertung folgender Funktion aus?  mit − 1 ≤ x ≤ 1. f (x) = 1 − x2 , Man verwende sowohl absolute als auch relative Fehler. An welcher Stelle ist der absolute, wo der relative Fehler am gr¨ oßten? Wie sieht der relative Fehler f¨ ur die Funktion  mit − 1 ≤ x ≤ 1 g(x) = 1 − x2 + 1, im Vergleich zu dem von f aus? Aufgabe 1.6. Wie verhalten sich absoluter und relativer Fehler bei folgender Funktion? sin x 1 1 f (x) = 5 − 4 + 2 . x x 6x Beachten Sie insbesondere die Stelle x = 0, an der die Funktion f (x) fortsetzbar ist (f (0) = 1/120). Bei der Implementierung dieser Funktion treten in der N¨ ahe von 0 Probleme auf, wie Division durch Null bzw. Division durch betragsm¨ aßig kleine Zahlen. Es resultiert ein sehr großer absoluter Fehler (¨ uberpr¨ ufen!). Zur Beseitigung der numerischen Schwierigkeiten gebe man eine N¨ aherung g(x) an, die in der Umgebung von Null die Funktion f (x) hinreichend genau approximiert; es soll nicht einfach g(x) = 1/120 gesetzt werden. Hinweis: Man betrachte die Sinusreihe (gilt f¨ ur alle Punkte der Aufgabe). Aufgabe 1.7. Im Beispiel 1.1 sind f¨ ur ein quadratisches Polynom Formeln aufgelistet, welche die Koeffizienten mit den Nullstellen verkn¨ upfen. Man bestimme die zugeh¨ origen absoluten und relativen Konditionszahlen. Aufgabe 1.8. F¨ ur große x bestimme man das Verhalten von y(x) in Abh¨ angigkeit von ε > 0, wenn y L¨ osung der Differentialgleichung y  = y beziehungsweise y  = −y ist mit der gest¨ orten Anfangsbedingung y(0) = 1 + ε. Was folgt f¨ ur die Kondition der ungest¨orten Anfangswertaufgabe (ε = 0)? Aufgabe 1.9. Gegeben seien die drei Gleitpunktzahlen x1 = 0.423918 · 102 ,

x2 = 0.767676 · 10−2 ,

x3 = −0.423835 · 102

1.4 Aufgaben

31

sowie eine 6-stellige Gleitpunktarithmetik. Bei welcher Reihenfolge der Addition von x1 , x2 , x3 ist der geringste relative Fehler zu erwarten? Aufgabe 1.10. Gegeben sei die Gleichung ax2 + bx + c = 0. Es werde a = 0 und b2 −4ac > 0 vorausgesetzt. Die Wurzeln berechnet man u ¨blicherweise mit den bekannten Formeln: √ √ −b + b2 − 4ac −b − b2 − 4ac und x2 = . x1 = 2a 2a Man zeige, daß sich diese Wurzeln auch nach folgender Vorschrift ermitteln lassen: x1 =

−2c −2c √ √ und x2 = . 2 b + b − 4ac b − b2 − 4ac

Wann sollte man welche Formel verwenden? Aufgabe 1.11. Unter Verwendung der Formeln aus Aufgabe 1.10 zur Berechnung der Wurzeln einer quadratischen Gleichung l¨ ose man die folgenden quadratischen Polynome 1)

x2 − 1, 000.001x + 1 = 0,

3)

x2 − 100, 000.00001x + 1 = 0,

2)

x2 − 10, 000.0001x + 1 = 0,

4)

x2 − 1, 000, 000.000001x + 1 = 0.

Aufgabe 1.12. Man entwickle Strategien, um Genauigkeitsverluste bei der Berechnung der folgenden Funktionen zu vermeiden: √ x2 + 1 − x 5), log(x) − 1, 1) 6)

3)

x−3 (sin(x) − x), √ √ x + 2 − x,

4)

e − e,

8)

2)

x

7)

cos(x) − e−x , sin(x) sinh(x) − tanh(x), √ ln(x + x2 + 1).

Aufgabe 1.13. Verwenden Sie Ihren Computer, um die Werte der Funktionen f1 (x) = x8 − 8x7 + 28x6 − 56x5 + 70x4 − 56x3 + 28x2 − 8x + 1, f2 (x) = (((((((x − 8)x + 28)x − 56)x + 70)x − 56)x + 28)x − 8)x + 1, f3 (x) = (x − 1)8 . an 101 gleichverteilten Stellen aus dem Intervall [0.99,1.01] zu berechnen. Man f¨ uhre bei der Berechnung keinerlei Umsortierungen etc. durch. Beachten Sie: Alle drei Funktionen sind identisch und sollten die gleichen Funktionswerte ergeben! Begr¨ unden Sie die Beobachtung, daß nicht alle berechneten Werte positiv sind. Aufgabe 1.14. Es sei die nichtlineare Nullstellenaufgabe f (x) = 0 mit der Funktion f (x) ≡ x sin x − σ, 0 ≤ σ ≤ 1, 0 ≤ x ≤ π gegeben.

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

32 Zeigen Sie:

1) f (x) hat auf [0, π] zwei reelle Nullstellen x∗0 < x∗1 . ! √ π ∗ σ, 2) l0 ≤ x0 ≤ u0 , l0 = σ, u0 = 2 ! ! π π π2 π π ∗ ( − σ), u1 = + − σ. l1 ≤ x1 ≤ u1 , l1 = + 2 2 2 2 4 (Hinweis: lj und uj sind die Nullstellen geeigneter Minoranten bzw. Majoranten von f .) 3) Es seien x ˜0 ∈ [l0 , u0 ] und x ˜1 ∈ [l1 , u1 ] N¨ aherungswerte f¨ ur x∗0 und x∗1 . Sch¨ atzen xj ) betragsm¨ aßig ab! Sie die absoluten Fehler δ(˜ xj ) und die relativen Fehler ε(˜ 4) F¨ ur σ = 0.01 gebe man unter Verwendung von lj und uj sachgem¨ aße N¨ aherungen oglichst gute Schranken f¨ ur deren absoluten und relativen Fehler an! x ˜j und m¨ Aufgabe 1.15. Untersuchen Sie, wie sich Datenfehler bei Auswertung der folgenden Funktionen auf den Funktionswert u ¨bertragen: x1 , (x1 , x2 )T ∈ R2 , x2 = 0, x2 √ 2) z = f (x) = x, x ≥ 0, 1) z = f (x) =

3) z = f (x) = log x, x > 0, 4) z = f (x) = x31 − x32 , (x1 , x2 )T ∈ R2 . Als Maß f¨ ur die Fehler verwende man sowohl absolute als auch relative Fehlergr¨ oßen. Aufgabe 1.16. Es sei x = (a, b)T ∈ R2 , |a| > |b| und f (x) = a3 − b3 . Zur Berechnung von f liegen drei Algorithmen vor: 2) u = a2 + ab + b2 3) u = a3 1) u = a3 b3 v = b3 v =a−b v =1− u f = u − v, f = uv, f = uv. Geben sie jeweils an, wie sich die Rundungsfehler auf das Resultat f auswirken. Beurteilen Sie die Stabilit¨ at der Algorithmen insbesondere f¨ ur den Fall a ≈ b, wobei ung¨ unstige Rundungsfehlerkonstellationen zu ber¨ ucksichtigen sind. √ √ aherungswert 1.4 f¨ ur 2 Aufgabe 1.17. Es ist der Ausdruck f = ( 2 − 1)6 mit dem N¨ zu berechnen. Dabei kann f auch nach folgenden Vorschriften ermittelt werden: 1 , f= √ ( 2 + 1)6

√ f = 99 − 70 2,

f=

1 √ . 99 + 70 2

Berechnen Sie den jeweiligen absoluten und relativen Fehler von f . Welche der Vorschriften f¨ uhrt zum besten Resultat?

1.4 Aufgaben

33

"1 Aufgabe 1.18. F¨ ur das bestimmte Integral In = 0 (1 − x)n sin x dx ist eine Rekursionsformel (Hinweis: partielle Integration!) aufzustellen, und von I0 aus I10 zu berechnen (Taschenrechner, Zwischenresultate auf 4 Mantissenstellen runden). Mit Hilfe des verallgemeinerten Mittelwertsatzes der Integralrechnung ermittle man untere und obere arung der dabei Schranken f¨ ur I10 und vergleiche diese mit den Rechenresultaten. Zur Kl¨ anfallenden Erkenntnisse untersuche man, wie sich ein Fehler, der bei der Berechnung von I0 entsteht, durch Anwendung der Rekursionsformel fortpflanzt, wobei Rundungsfehler zu vernachl¨ assigen sind. Anschließend wende man ausgehend von I12 = 0 die Rekursionsformel r¨ uckw¨ arts an und untersuche ebenfalls die Fortpflanzung des Fehlers in I12 . Aufgabe 1.19. Es seien  √ √ 8 + 18 − 8 2 √ a= 4 2

und

b=

√  1  1+2 2 . 4

Die Auswertung beider Formeln in Matlab ergibt: a

=

9.571067811865475e − 001,

b

=

9.571067811865476e − 001,

b−a

=

1.110223024625157e − 016.

In welcher Relation stehen die Zahlen a und b zueinander? Begr¨ unden Sie Ihre Antwort mathematisch. Nehmen Sie zu den numerischen Resultaten a und b Stellung. Aufgabe 1.20. Die Gleitpunkt-Arithmetik eines Computers gen¨ ugt bekanntlich nicht den Rechengesetzen der reellen Zahlen. Weisen Sie diesen Sachverhalt experimentell mit Hilfe der Matlab nach. W¨ ahlen Sie hierzu n = 100, 000 und bestimmen Sie auf (0, 1) gleichverteilte Zufallszahlen (siehe Matlab-Funktion rand) ak , bk sowie ck , k = 1, . . . , n. Berechnen Sie dann die relative H¨ aufigkeit, mit der die Gleichheit in der Gleichungskette ak bk bk ak bk = a k = ck ck ck          rk

sk

tk

mindestens einmal bzw. genau dreimal verletzt ist. Weiterhin seien k , σk und τk die Mantissen der Matlab-Gleitpunkt-Darstellungen von oße rk , sk und tk . Berechnen Sie die Gr¨ Mn ≡ max{| k − σk |, | k − τk |, |σk − τk |}. k

Bewerten Sie Ihre Ergebnisse! Aufgabe 1.21. Die Sinusfunktion soll f¨ ur x ∈ [0, 35] mit Hilfe der Sinus-Reihe berechnet werden. Wir bezeichnen die so gewonnenen N¨ aherungen mit sin(x). (Diese

34

Kapitel 1 Wichtige Ph¨anomene des numerischen Rechnens

N¨aherungen h¨ angen nat¨ urlich vom konkreten Algorithmus ab, mit dem die Reihe ausgewertet wird.) Stellen Sie den relativen Fehler ε(x) =

sin(x) − sin x , sin x

sin x = 0,

f¨ ur ein hinreichend feines Gitter 0 = x0 < x1 < · · · < xN −1 < xN = 35 graphisch dar. Geben Sie eine theoretische Begr¨ undung f¨ ur das Verhalten von ε(x) an. (Fehler in den Eingabedaten, Approximationsfehler, Rundungsfehler).

Kapitel 2

Lineare Gleichungssysteme

IĚ empfehle Ihnen diesen ModuŊ zur NaĚahmung. SĚwerliĚ werden Sie je wieder direct eliminiren, wenigĆenŊ niĚt, wenn Sie mehr alŊ zwei Unbekannte haben. DaŊ indirecte Verfahren lŁjt siĚ halb im SĚlafe auŊf§hren oder man kann wŁhrend deŊselben an andere Dinge denken. C. F. Gauj

2.1

Aufl¨ osung gestaffelter Systeme

Gegeben sei ein System von n linearen algebraischen Gleichungen a11 x1 + a12 x2 + · · · + a1n xn = b1 a21 x1 + a22 x2 + · · · + a2n xn = b2 ................................. an1 x1 + an2 x2 + · · · + ann xn = bn

(2.1)

f¨ ur die n Unbekannten x1 , . . . , xn , das wir in Matrizenschreibweise wie folgt darstellen wollen: A x = b,

A ∈ Rn×n ,

b ∈ Rn .

(2.2)

Eine Aussage bez¨ uglich der Existenz und Eindeutigkeit von L¨ osungen x ∈ Rn des Systems (2.1) bzw. (2.2) vermittelt der aus den Kursen zur linearen Algebra bekannte Satz 2.1.

36

Kapitel 2 Lineare Gleichungssysteme

Satz 2.1. Es seien A ∈ Rn×n und b ∈ Rn . Gilt det(A) = 0 (regul¨ are Matrix), dann existiert genau ein x ∈ Rn mit A x = b. Wir wollen im folgenden stets davon ausgehen, daß die Voraussetzungen des Satzes 2.1 erf¨ ullt sind. Die dann existierende eindeutige L¨ osung x = A−1 b kann (theoretisch) mit 1 der Cramerschen Regel berechnet werden. Untersucht man jedoch den hierzu erforderlichen Rechenaufwand, dann kommt man zu dem Resultat, daß etwa n2 n! flops erforderlich sind (zur Definition eines flops siehe die Bemerkung 2.1). Selbst eine trickreiche rekursive Bestimmung der anfallenden Unterdeterminanten reduziert den Aufwand nur auf 2n flops. Bemerkung 2.1. Der Aufwand eines numerischen Verfahrens (asymptotisch f¨ ur große n) wurde fr¨ uher in der Anzahl wesentlicher Operationen (Multiplikationen, Divisionen) gemessen. Von Golub und van Loan stammt der Vorschlag, an Stelle der wesentlichen Operationen den Begriff des flops zu verwenden. In der ersten Auflage ihres richtungsweisenden Buches zur numerischen linearen Algebra2 verstehen sie unter einem flop den Arbeitsaufwand, der zu einer Anweisung der Form aij = aij + aik · akj

(2.3)

geh¨ ort (d.h., eine Gleitpunktmultiplikation, eine Gleitpunktaddition sowie eine Aufdatierung). In der im Jahre 1990 erschienenen zweiten Auflage des Buches definieren die Autoren diesen Begriff jedoch neu. In Anlehnung an die Wissenschaftsdisziplin Supercomputing wollen sie jetzt unter einem flop den Arbeitsaufwand verstanden wissen, der zur Realisierung einer beliebigen Gleitpunkt-Operation (engl.: floating point operati” on“) auf einem Computer ben¨ otigt wird. Die zuletzt genannte Definition soll auch f¨ ur unsere weiteren Studien zugrunde gelegt werden.  Betrachten wir wieder die Cramersche Regel zur Bestimmung einer L¨ osung des linearen Gleichungssystems (2.2) und nehmen an, daß uns ein extrem schneller Rechner (109 Rechenoperationen in der Sekunde) zur Verf¨ ugung steht. Diese Rechenleistung ist sicherlich schwer vorstellbar. Sie soll deshalb anhand eines Vergleiches verdeutlicht werden. Auf der Welt leben heute etwa 5.5 Milliarden Menschen. Wenn man jeden Menschen Rechenoperationen mit einem einfachen elektronischen Taschenrechner ausf¨ uhren l¨ aßt, so erbringen diese alle zusammen in etwa die Rechenleistung eines der zur Zeit schnellsten Rechner. Die L¨ osung eines Systems der Dimension n = 30 mit der Cramerschen Regel w¨ urde dann auf einem solchen Supercomputer etwa 7 556 414 967 271 268 000 Jahre in Anspruch nehmen! Dies ist nat¨ urlich indiskutabel. Alle im folgenden beschriebenen numerischen Verfahren sind dagegen bereits f¨ ur n ≥ 3 wesentlich effektiver. Die Cramersche Regel sollte deshalb nur f¨ ur den Spezialfall n = 2 verwendet werden. 1 2

Gabriel Cramer (1704–1752), Schweizer Mathematiker. G. H. Golub and C. F. Van Loan: Matrix Computations. The John Hopkins University Press, Baltimore and London, 1996.

2.1 Aufl¨osung gestaffelter Systeme

37

Die gebr¨ auchlichen numerischen Techniken zur effektiven L¨ osung von (2.2) lassen sich generell in zwei Verfahrensklassen einteilen: • direkte (endliche) Verfahren (man nennt sie auch Eliminationsverfahren ), die in endlich vielen Rechenschritten zu einer Approximation x ˜ der exakten L¨ osung uhren, sowie x = A−1 b f¨ • iterative Verfahren, die i.allg. eine unendlichdimensionale Folge von N¨ aherungen x(k) erzeugen, die gegen die exakte L¨ osung x konvergiert. Man wird dann nach einer endlichen Anzahl von Iterationsschritten (zum Beispiel nach m Schritten) abbrechen und die zuletzt berechnete Iterierte als Approximation von x verwenden, d.h., x ˜ = x(m) . Wir wollen uns in den n¨ achsten Abschnitten mit den wichtigsten direkten Verfahren besch¨ aftigen. Das klassische direkte Verfahren zur Aufl¨ osung von (2.2) stellt die Gauß-Elimination dar. Sie wurde im Jahre 1801 von C. F. Gauß1 in den Disquisitiones arithmeticae im Zusammenhang mit seinen umfangreichen Berechnungen zur Flugbahn des Planetoiden Ceres ver¨ offentlicht. Modifikationen dieses direkten Verfahrens geh¨ oren noch heute zu den in der numerischen Praxis am h¨ aufigsten verwendeten Techniken. Das Prinzip aller direkten numerischen Techniken besteht darin, das urspr¨ ungliche Gleichungssystem mittels geeigneter Transformationsmatrizen Qi und Ri in eine solche Gestalt zu transformieren, aus der sich die L¨osung sehr einfach ermitteln l¨ aßt. Eine derartige Transformation w¨ urde etwa wie folgt aussehen: ˆ A

ˆ b

y

         (Qn−1 · · · Q1 ) A (R1 · · · Rn−1 ) (R1 · · · Rn−1 )−1 x = (Qn−1 · · · Q1 ) b, Aˆ y = ˆb einfach zu l¨ osendes System,

x = (R1 · · · Rn−1 ) y.

(2.4)

Aus diesem Grunde wollen wir zun¨ achst Systeme betrachten, deren Koeffizientenmatrix A bereits viele Null-Elemente besitzt und sehr einfach strukturiert ist. Das am einfachsten zu l¨ osende lineare Gleichungssystem liegt offensichtlich dann vor, wenn A eine Diagonalmatrix ist. In diesem Falle ergibt sich jede Komponente des L¨ osungsvektors x ∈ Rn aus nur einer einzigen Division: xi = bi /aii , i = 1(1)n. Den n¨ achst komplizierteren Fall stellen die sogenannten gestaffelten Systeme dar. Man versteht darunter Gleichungssysteme in -Gestalt ( “ - Abk¨ urzung f¨ ur Dreieck ), wie ” z.B. das obere -System: u11 x1 +

1

u12 x2 + u22 x2 +

··· + ··· +

u1n xn = u2n xn = .. .

z1 z2 .. .

unn xn =

zn

Carl Friedrich Gauß (1777–1855), Deutscher Mathematiker.

(2.5)

Kapitel 2 Lineare Gleichungssysteme

38 Die zugeh¨ orige Matrizendarstellung sei U x = z,

U ∈ Rn×n obere  −Matrix.

(2.6)

aßt sich das System (2.5), beginnend mit Unter der Voraussetzung uii = 0, i = 1(1)n, l¨ der n-ten Zeile, rekursiv aufl¨ osen: xn :=

zn zn−1 − un−1,n xn z1 − u12 x2 − · · · − u1n xn , xn−1 := , . . . , x1 := , unn un−1,n−1 u11

bzw.

# xi =

zi −

n 

$ uik xk

/uii ,

i = n(−1)1.

(2.7)

k=i+1

Der vom Algorithmus (2.7) ben¨ otigte Rechenaufwand l¨ aßt sich wie folgt ermitteln. Aufwandsberechnung: 1) i-te Zeile: je n − i Additionen und Multiplikationen, 1 Division; 2) insgesamt f¨ ur die Zeilen n bis 1:

n 1 i=1 (i − 1) = 2 n(n − 1) Multiplikationen, ebenso viele Additionen sowie n Divisionen. 1 Damit ergibt sich ein Gesamtaufwand von 2 n(n − 1) + n = n2 flops. 2



Gestaffelte Systeme von unterer -Gestalt l11 z1 l21 z1 + .. .

l22 z2

ln1 z1 +

ln2 z2 +

= = ··· +

lnn zn =

b1 b2 .. .

(2.8)

bn ,

die wir in Matrizendarstellung wie folgt angeben wollen, L z = b,

L ∈ Rn×n untere  −Matrix,

werden v¨ ollig analog, jedoch mit der ersten Zeile beginnend, aufgel¨ ost: z1 =

b1 b2 − l21 z1 bn − ln1 z1 − · · · − ln,n−1 zz−1 , z2 = , . . . , zn = , l11 l22 lnn

(2.9)

2.2 LU -Faktorisierung und Gauß-Elimination bzw.

# zi =

bi −

i−1 

39

$ lik zk

/lii ,

i = 1(1)n.

(2.10)

k=1

Der Rechenaufwand betr¨ agt hier ebenfalls n2 flops, wovon man sich durch einfaches Nachrechnen u ¨berzeugen kann. Definition 2.1. Die obige Aufl¨ osungsvariante (2.7) f¨ ur Systeme der Form (2.6) heißt R¨ uckw¨ arts-Substitution. Die Aufl¨ osungsvariante (2.10) f¨ ur Systeme der Form (2.9) heißt Vorw¨ arts-Substitution. 

2.2

LU -Faktorisierung und Gauß-Elimination

Zur numerischen L¨ osung linearer Gleichungssysteme (2.1) mit einer Koeffizientenmatrix A, die keine spezielle Struktur (Diagonalmatrix, Dreiecksmatrix) aufweist, bietet ¨ sich die allgemeine Strategie (2.4) an. Da die Uberf¨ uhrung in ein System mit einer Diagonalmatrix im Hinblick auf den numerischen Aufwand nicht besonders g¨ unstig ist, wird das System (2.1) u ¨blicherweise in die gestaffelte Form (2.6) transformiert. Eine alt man anschließend mittels R¨ uckw¨ arts- und N¨aherung f¨ ur die L¨ osung x = A−1 b erh¨ Vorw¨ arts-Substitutionen. ¨ Bei der Uberf¨ uhrung von (2.1) in das obere -System (2.6) kann die erste Zeile unver¨ andert u ¨bernommen werden. Die restlichen Zeilen sind nun so zu modifizieren, daß die Koeffizienten von x1 verschwinden, d.h., es ist x1 aus den Zeilen 2 bis n zu eliminieren. So entsteht ein System der Form a11 x1 +

a12 x2 + a22 x2

+

.. . an2 x2 +

··· +

a1n xn =

b1

··· +

a2n xn

b2

··· +

=

.. . ann xn =

(2.11)

bn .

Man erkennt unmittelbar, daß das Teilsystem, bestehend aus den Zeilen 2 bis n, von der ersten Zeile entkoppelt ist. Hat man somit die Form (2.11) erzeugt, dann l¨ aßt sich dasselbe Verfahren auf die letzten n − 1 Zeilen von (2.11) anwenden. Nach n − 1 solchen Schritten erh¨ alt man schließlich ein gestaffeltes Gleichungssystem (oberes −System). Damit ist es ausreichend, zur Darstellung der Gauß-Elimination den Eliminationsschritt von (2.1) nach (2.11) zu beschreiben. Es werde a11 = 0 vorausgesetzt. Um ai1 x1 in der Zeile i, i = 2(1)n, zu eliminieren, subtrahiert man von der Zeile i ein Vielfaches der unver¨ anderten Zeile 1: Zeile i neu = Zeile i − li1 ·Zeile 1,

(2.12)

Kapitel 2 Lineare Gleichungssysteme

40 oder explizit:

(ai1 − li1 a11 ) x1 + (ai2 − li1 a12 ) x2 + · · · + (ain − li1 a1n ) xn = bi − li1 b1 .             . bi a a =0 i2

in

ai1 . . Die Forderung ai1 − li1 a11 = 0 impliziert li1 = a11  0 nennt man das Pivotelement 1 und die erste Definition 2.2. Das Element a11 = Zeile die zugeh¨ orige Pivotzeile. Die Elemente lik werden als Gaußsche Multiplikatoren bezeichnet.  Im weiteren wollen wir nur noch die Matrix A des Gleichungssystems (2.2) betrachten und vorerst die rechte Seite b außer acht lassen. Nach dem ersten Eliminationsschritt entsteht in den Zeilen 2, . . . , n und den Spalten 2, . . . , n der transformierten Matrix eine sogenannte Restmatrix der Dimension (n − 1, n − 1), die noch keine Dreiecksgestalt aufweist. Auf diese wird die Eliminationsvorschrift erneut angewandt, man erh¨ alt dann eine (n − 2, n − 2)-dimensionale Restmatrix, etc. Dieser Vorgang l¨ aßt sich formal wie folgt beschreiben: A ≡ A(1) → A(2) → · · · A(k) → A(k+1) · · · → A(n) ≡ U, mit



A(k)

⎢ ⎢ ⎢ ⎢ ⎢ =⎢ ⎢ ⎢ ⎢ ⎣

(1)

a11

(1)

a12 (2) a22

··· ··· .. .

··· ···

··· ···

(1)

a1n (2) a2n .. .

akk .. .

(k)

···

akn .. .

(k)

···

ann

ank

(k)

(2.13)

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥. ⎥ ⎥ ⎥ ⎦

(2.14)

(k)

Auf die in (2.14) eingerahmte (n − k + 1, n − k + 1)-dimensionale Restmatrix kann man wieder den bekannten Eliminationsschritt anwenden, falls f¨ ur das k-te Pivotelement (k) orige Rechenvorschrift lautet: akk = 0 gilt. Die zugeh¨ (k)

lik =

aik

(k+1)

aij 1

(k)

,

i = k + 1, . . . , n,

akk

(2.15) (k)

(k)

= aij − lik akj ,

i, j = k + 1, . . . , n.

Das Wort pivot“ kommt aus dem Franz¨ osischen und bedeutet soviel wie Dreh- oder Angel” punkt. Als Pivot wird auch ein Offensiv-Spieler im Basketball bezeichnet, der u ¨ blicherweise mit dem R¨ ucken zum gegnerischen Korb steht und versucht, das Angriffsspiel aufzubauen (Quelle: http://www.yourDictionary.com ).

2.2 LU -Faktorisierung und Gauß-Elimination

41

¨ Der Ubergang A(k) → A(k+1) l¨ aßt sich durch die Multiplikation von links mit einer Matrix Lk ∈ Rn×n darstellen: A(k+1) = Lk A(k) , ⎡

wobei

⎢ ⎢ ⎢ ⎢ Lk = ⎢ ⎢ ⎢ ⎢ ⎣

(2.16) ⎤

1 ..

⎥ ⎥ ⎥ ⎥ ⎥ = I − lk eTk . ⎥ ⎥ ⎥ ⎦

. 1 −lk+1,k .. . −ln,k

..

.

(2.17)

1

Hierbei sind lk ≡ (0, . . . , 0, lk+1,k , . . . , ln,k )T und ek ∈ Rn der k-te Einheitsvektor.    k

Man beachte, daß in (2.17) auf der rechten Seite nicht das Skalarprodukt (engl.: inner ” product“) zwischen den Vektoren lk und ek , sondern das dyadische Produkt (engl.: outer product“) steht. Dieses dyadische Produkt ist wie folgt erkl¨ art. ” Definition 2.3. Es seien x, y ∈ Rn . Das dyadische Produkt xy T dieser beiden Vektoren ergibt eine Matrix B ∈ Rn×n der Gestalt ⎡ ⎤ x 1 y1 x 1 y 2 · · · · · · x 1 y n ⎢ ⎥ ⎛ ⎞ ⎢ x 2 y1 x 2 y 2 · · · · · · x 2 y n ⎥ x1 ⎢ ⎥ ⎢ ⎥ ⎜ x2 ⎟ ⎢ ⎥ . . . ⎜ ⎟ T . . . ⎢ . . ⎥ B ≡ xy = ⎜ . ⎟ (y1 , y2 , . . . , yn ) = ⎢ . ⎥ . (2.18) ⎝ .. ⎠ ⎢ ⎥ ⎢ .. .. .. ⎥ xn ⎢ . . . ⎥ ⎣ ⎦ xn y1 xn y2 · · · · · · xn yn Man kann sich leicht davon u ur eine beliebige ¨berzeugen, daß die Matrix B den Rang 1 f¨ Dimension n besitzt.  Definition 2.4. Die durch die Formel (2.17) erkl¨ arten Matrizen Lk werden GaußTransformationsmatrizen oder k¨ urzer Gauß-Transformationen genannt.  Bei den Gauß-Transformationen Lk handelt es sich um sogenannte Frobenius-Matrizen. Man versteht darunter Matrizen, die sich in h¨ ochstens einer Spalte von der Einheitsmatrix unterscheiden. Sie besitzen die Eigenschaft, daß die Inverse L−1 k aus Lk durch T Vorzeichenwechsel in den Elementen lik entsteht, d.h., L−1 = I + l e k k. k

Kapitel 2 Lineare Gleichungssysteme

42 Das Produkt der L−1 ullt k , k = 1(1)n − 1, erf¨ ⎡ 1 ⎢ l21 1 ⎢ ⎢ l31 l32 −1 · · · L = L ≡ L−1 ⎢ 1 n−1 ⎢ .. ⎣ . ln1

ln2

⎤ ⎥ ⎥ ⎥ ⎥, ⎥ ⎦

1 .. ···

.

ln,n−1

(2.19)

1

wie man sich leicht davon u ¨berzeugen kann. Die spezielle Struktur der Matrizen Lk und L gibt Anlaß zu folgender Definition. Definition 2.5. Eine untere oder obere -Matrix, deren Diagonalelemente alle gleich 1 sind, heißt unipotent und wird im folgenden auch als 1--Matrix bezeichnet.  ¨ Durch die vorangegangenen Uberlegungen kommen wir zu folgendem Resultat. Satz 2.2. Das obige Verfahren (2.13)–(2.17) erzeugt unter der Voraussetzung an die (k) Pivotelemente akk = 0, k = 1(1)n − 1, eine Faktorisierung der Matrix A in der Form A = L U,

L untere 1--Matrix, U obere -Matrix.

(2.20)

Beweis: Offensichtlich entsteht nach der Anwendung von n−1 Gauß-Transformationen von links auf die Matrix A eine obere -Matrix U : Ln−1 Ln−2 · · · L2 L1 A = U.

(2.21)

−1 −1 −1 Mit L ≡ (Ln−1 Ln−2 · · · L2 L1 )−1 = L−1 1 L2 · · · Ln−2 Ln−1 kann (2.21) in der Form (2.20) geschrieben werden, d.h., A = L U. (2.22)

Dabei wurde ber¨ ucksichtigt, daß es sich bei den Matrizen Lk um 1--Matrizen handelt. Die Inversen L−1 k sind dann ebenfalls 1--Matrizen (die Lk sind Frobenius-Matrizen!) und das Produkt von 1--Matrizen ergibt wiederum eine 1--Matrix (Strukturerhaltung bei der Multiplikation!). Damit ist die Behauptung des Satzes gezeigt.  Definition 2.6. Die Faktorisierung (2.20) wird LU-Faktorisierung der Matrix A genannt.  Wir kommen jetzt wieder auf die Bestimmung einer L¨ osung x des linearen Gleichungssystems (2.2) zur¨ uck. Anders als bei der L¨ osung niedrig-dimensionaler Probleme mit Bleistift und Papier wird man auf dem Computer zuerst nur die LU -Faktorisierung der Systemmatrix A berechnen. Die so berechnete Faktorisierung (2.20) kann dann wie folgt zur L¨ osung des Gleichungssystems ausgenutzt werden: Man ersetzt in (2.2) die Matrix A durch ihre Faktorisierung LU, d.h., LU x = b. Mit

2.2 LU -Faktorisierung und Gauß-Elimination

43

der Festlegung z ≡ U x ergibt sich daraus das untere Dreieckssystem Lz = b. Dieses System wird in einem ersten Schritt mit der Vorw¨ arts-Substitution gel¨ ost. Anschließend kann aus dem oberen Dreieckssystem U x = z die gesuchte L¨ osung x mit der R¨ uckw¨ arts-Substitution ermittelt werden. Unter der Gauß-Elimination wollen wir hier den folgenden numerischen L¨ osungsalgorithmus f¨ ur n-dimensionale lineare Gleichungssysteme verstehen, der eine direkte Umsetzung dieser L¨ osungsstrategie darstellt:

Gauß-Elimination 1. Schritt:

Man bestimme die LU -Faktorisierung der Matrix A: A = L U , U obere -Matrix, L untere 1--Matrix.

2. Schritt: Man berechne den Hilfsvektor z mittels Vorw¨ artsSubstitution aus dem unteren -System L z = b. 3. Schritt: Man berechne den L¨ osungsvektor x mittels R¨ uckw¨ artsSubstitution aus dem oberen -System U x = z.

Algorithmus 2.1: Gauß-Elimination

F¨ ur die Abspeicherung der bei der Gauß-Elimination anfallenden Zwischen- und Endwerte reicht der Speicherplatz aus, den die Eingabedaten A und b belegen, d.h., es ist insgesamt nur ein Feld der Gr¨ oße n × (n + 1) erforderlich. Jedes Speicherschema sollte sich an der Darstellung (2.14) der Matrizen A(k) orientieren. In die dort nicht besetzten Speicherpl¨ atze k¨ onnen n¨ amlich die Gaußschen Multiplikatoren lik wie folgt eingetragen werden: ⎡ (1) ⎤ (1) (1) a11 a12 · · · · · · · · · a1n ⎢ (2) (2) ⎥ ⎢ l21 a22 · · · · · · · · · a2n ⎥ ⎢ ⎥ .. ⎢ ⎥ . ⎢ ⎥ l l 31 32 (k) ⎢ ⎥. (2.23) A =⎢ . .. (k) (k) ⎥ . ⎢ . . akk · · · akn ⎥ ⎢ ⎥ .. .. .. ⎥ ⎢ .. ⎣ . . . . ⎦ ln1

ln2

···

(k)

ank

···

(k)

ann

Damit bleibt der Speicherbedarf nach der Eingabe von A und b konstant. Die Algorithmen der bekanntesten Programmpakete zur Matrizen-Numerik wie Matlab, Lapack, Linpack und Eispack sind so implementiert, daß auf dem Feld, in dem die Systemmatrix A abgespeichert ist, auch die LU -Faktorisierung durchgef¨ uhrt wird. Nach Falk1 sollte man jedoch stets eine Kopie der Systemmatrix A im Speicher behalten. 1

Siehe den zweiten Band des Buches von R. Zurm¨ uhl und S. Falk: Matrizen und ihre Anwendungen. Springer Verlag, Berlin et al., 1986.

Kapitel 2 Lineare Gleichungssysteme

44

Dies wird von ihm wie folgt schl¨ ussig begr¨ undet: Grundregel: Die Originalmatrix A wird unter keinen Umst¨ anden zerst¨ ort (¨ uberschrie” ben), sondern bleibt unver¨ andert im Speicher. Der Leser kann sich dies gar nicht fest genug einpr¨ agen. In der Praxis ist die Matrix A im allgemeinen von hoher Ordnung, etwa n = 10, 000 mit einem meist ausgepr¨ agten Profil (schwache Besetzung, H¨ ulle, Band usw. [. . .]), deren viele Millionen Elemente oft in ¨ außerst m¨ uhseligen und aufwendigen Proze¨ duren aus einer mechanischen Modellbildung samt anschließender finiter Ubersetzung von gew¨ ohnlichen oder partiellen linearen Differentialgleichungen bzw. mit Hilfe von Finite-Elemente-Methoden (FEM) gewonnen wurden. Diese immense technische Information zu zerst¨ oren, w¨ are der gr¨ oßte Widersinn, abgesehen davon, daß zum Schluß der Rechnung die L¨ osung etwa der Gleichung Ax = r einzuschließen bzw. abzusch¨ atzen ist, [. . .].“ F¨ ur die Gauß-Elimination bestimmt sich nun der Rechenaufwand zu: 1) k-ter Eliminationsschritt zur Berechnung der LU -Faktorisierung: (k+1) Es sind (n − k) Multiplikatoren lik sowie (n − k)2 Werte aij zu berechnen. Dies erfordert einen Aufwand von [(n − k) + 2(n − k)2 ] flops. 2) Da die Aufwandsabsch¨ atzungen ausschließlich f¨ ur große Systeme von Bedeutung sind, d.h., n in der Gr¨ oßenordnung von n = 1.000–100.000, gibt man u ¨blicherweise nur den Term an, der die gr¨ oßte Potenz von n enth¨ alt. Im vorliegenden Fall l¨ aßt sich unter Ber¨ ucksichtigung dieser Asymptotik die erforderliche Anzahl von flops wie folgt absch¨ atzen: Unter Ausnutzung der Beziehungen q  i=1

i=

q(q + 1) 2

und

q  i=1

i2 =

1 3 1 2 1 q + q + q 3 2 6

berechnet sich der Gesamtaufwand f¨ ur die LU -Faktorisierung (n − 1 Eliminationsschritte) zu {(n − 1) + (n − 2) + · · · + 1} + 2{(n − 1)2 + (n − 2)2 + · · · + 1} 1 2 2 n(n − 1) + n(n − 1)(2n − 1) n3 (f¨ ur n → ∞). 2 6 3 Folglich sind f¨ ur die Faktorisierung asymptotisch 2n3 /3 flops erforderlich. Wir schreiben dies oftmals auch in der Form O(n3 ) flops. =

3) F¨ ur die sich anschließenden R¨ uckw¨ arts- und Vorw¨ artssubstitutionen werden jeotigt (siehe die Ausf¨ uhrungen des vorangegangenen Abschnitweils n2 flops ben¨ tes).  Der Hauptaufwand steckt damit in der LU -Zerlegung. Bei Systemen (2.1) mit gleicher Systemmatrix, aber unterschiedlichen rechten Seiten, braucht diese jedoch nur einmal berechnet zu werden, d.h., der Algorithmus 2.1 ist in diesem Falle besonders effektiv (siehe auch die Bemerkungen zur Berechnung der Inversen einer Matrix im folgenden Abschnitt).

2.3 Pivot-Strategien und Nachiteration

2.3

45

Pivot-Strategien und Nachiteration

Das folgende Beispiel zeigt, daß die Gauß-Elimination bereits bei gutartigen Problemen versagen kann. Beispiel 2.1. Gegeben sei die Matrix + , 0 1 A= ; offensichtlich ist det(A) = −1 (= 0). 1 0 Da das erste Pivotelement gleich null ist, versagt die Gauß-Elimination (trotz nichtsingul¨ arer Matrix!). Dieses Problem l¨ aßt sich durch eine Vertauschung der Zeilen beseitigen: + , + , 0 1 1 0 ˆ A= =⇒ A= = I = L · U, mit L = U = I. 1 0 0 1  Es treten aber auch bei relativ kleinen Pivotelementen numerische Schwierigkeiten auf. Beispiel 2.2. Gegeben sei das lineare Gleichungssystem 10−4 x1 + x2 = 1 x1 + x 2 = 2

.

(2.24)

Dieses System werde auf einem Computer mit R ≡ R(10, 3, 20, 20) und symmetrischem Runden berechnet. Die exakte L¨ osung von (2.24) lautet: x1 =

104 9998 und x2 = . 9999 9999

(2.25)

Approximiert man die Komponenten der exakten L¨ osung durch Zahlen aus R, dann ergibt sich x1 = 0.100 · 101 und x2 = 0.100 · 101 . Um das Gleichungssystem (2.24) mit der Gauß-Elimination in der (endlichen) Menge der Maschinenzahlen l¨ osen zu k¨ onnen, m¨ ussen zuerst die Eingabedaten durch Zahlen aus R dargestellt werden. Es resultiert das folgende System 0.100 · 10−3 + 0.100 · 101 x2 = 0.100 · 101 0.100 · 101 + 0.100 · 101 x2 = 0.200 · 101

.

(2.26)

In einem ersten Rechenschritt wird der zugeh¨ orige Gaußsche Multiplikator berechnet: l21 =

a21 0.100 · 101 = = 0.100 · 105 . a11 0.100 · 10−3

Kapitel 2 Lineare Gleichungssysteme

46

Man beachte: Aus einem kleinen Pivotelement entsteht hier ein großer Multiplikator. Nun ist das l21 -fache der ersten Zeile von der zweiten Zeile zu subtrahieren: (0.100 · 101 − 0.100 · 105 · 0.100 · 10−3 ) x1 + (0.100 · 101 − 0.100 · 105 · 0.100 · 101 ) x2 = 0.200 · 101 − 0.100 · 105 · 0.100 · 101 . Somit ergibt sich das obere -System U x = z zu 0.100 · 10−3 x1 + 0.100 · 101 x2 = 0.100 · 101

.

− 0.100 · 105 x2 = −0.100 · 105 Als L¨ osung berechnet man daraus: x2 = 0.100 · 101

und

x1 = 0.000 · 10−20 .

Offensichtlich ist dieses Resultat falsch! Vertauscht man jedoch vor der Elimination die Reihenfolge der Gleichungen in (2.26), 0.100 · 101 + 0.100 · 101 x2 = 0.200 · 101 0.100 · 10−3 + 0.100 · 101 x2 = 0.100 · 101

,

(2.27)

dann wird das Pivotelement groß und damit der Gaußsche Multiplikator klein: −3 ˆl21 = 0.100 · 10 = 0.100 · 10−3 . 0.100 · 101

Es bestimmt sich jetzt das obere -System zu: 0.100 · 101 x1 + 0.100 · 101 x2 = 0.200 · 101 0.100 · 101 x2 = 0.100 · 101

.

Die hieraus berechnete L¨ osung ist: x2 = 0.100 · 101

und

x1 = 0.100 · 101 .

Ein Vergleich mit der exakten L¨ osung (2.25) zeigt, daß der Zeilentausch vor der Ausf¨ uhrung der Gauß-Elimination zu einer hinreichend genauen numerischen Approximation f¨ uhrt.  Durch ein Vertauschen der Zeilen hat man im obigen Beispiel erreicht, daß |ˆl21 | < 1 gilt. In der allgemeinen Rechenvorschrift (2.12) werden durch diese Strategie die Elemente von li1 · Zeile 1, im Vergleich mit denen der Zeile i, nicht zu groß. Damit wirkt

2.3 Pivot-Strategien und Nachiteration

47

man der Ursache f¨ ur das Versagen des urspr¨ unglichen Verfahrens entgegen. Der durch (k) amlich anderenfalls mit Rundungsfehler bedingte Fehler in den akj (Pivotzeile) wird n¨ (k+1)

einem großen Faktor auf die aij (neue transformierte Zeilen) u ¨bertragen. Ein solches Vertauschen von Zeilen oder Spalten w¨ ahrend des eigentlichen Eliminationsprozesses wird allgemein Pivot-Strategie genannt, siehe Definition 2.7. Definition 2.7. Unter einer Spaltenpivot-Strategie (bzw. partiellen Pivotisierung) versteht man das folgende Vorgehen: im k-ten Schritt der LU -Faktorisierung, k = 1, . . . , n− 1, wird das Pivot-Element als betragsm¨ aßig gr¨ oßtes Element in der ersten Spalte der (n−k +1)×(n−k +1)-dimensionalen Restmatrix bestimmt. Die zugeh¨ orige Zeile bringt man durch einen Zeilentausch an die erste Position dieser Restmatrix, d.h., man macht sie zur Pivot-Zeile.  F¨ ugt man nun die Spaltenpivot-Strategie zur LU -Faktorisierung hinzu, dann ergibt sich der Algorithmus 2.2.

LU -Faktorisierung mit Spaltenpivot-Strategie 1. Schritt: Man w¨ ahle im Schritt A(k) → A(k+1) einen Index p ∈ {k, . . . , n} mit

(k)

(k)

|apk | ≥ |ajk |, j = k(1)n.

Die Zeile p wird zur Pivotzeile.

2. Schritt: Man vertausche die Zeilen p und k : ⎧ (k) ⎪ a , i=p ⎪ ⎪ ⎨ kj (k) (k) ˆij = A(k) → Aˆ(k) mit a apj , i = k ; ⎪ ⎪ ⎪ ⎩ a(k) , sonst ij (k)

Jetzt gilt:

3. Schritt:

(k)

|ˆ a | |ˆ a | |ˆlik | = ik = ik ≤ 1. (k) (k) |ˆ akk | |apk |

Man f¨ uhre den n¨ achsten Eliminationsschritt, angewandt auf Aˆ(k) , aus:

Aˆ(k) → A(k+1) .

Algorithmus 2.2: LU -Faktorisierung mit Spaltenpivot-Strategie

Die Spaltenpivot-Strategie ist nicht die einzige M¨ oglichkeit, die oben dargestellten Instabilit¨ aten des Eliminationsprozesses zu reduzieren, wie der folgenden Bemerkung zu entnehmen ist.

Kapitel 2 Lineare Gleichungssysteme

48 Bemerkung 2.2.

• Anstelle der Spaltenpivot-Strategie mit Zeilentausch kann man in v¨ olliger Analogie auch eine Zeilenpivot-Strategie mit Spaltentausch durchf¨ uhren. Da das PivotElement wie zuvor nur in einem (n − k + 1)-dimensionalen Feld und nicht in der gesamten Restmatrix gesucht wird, spricht man ebenfalls von einer partiellen Pivotisierung. Der Aufwand l¨ aßt sich f¨ ur die beiden Formen der partiellen Pivotisierung in der u ¨blichen Asymptotik zu jeweils O(n2 ) Vergleiche und Umspeicherungen absch¨ atzen. • Kombiniert man beide Strategien und sucht in der gesamten Restmatrix nach dem betragsgr¨ oßten Element, dann wird dieses Vorgehen vollst¨andige Pivotisierung genannt. Hier ben¨ otigt man O(n3 ) Vergleiche und Umspeicherungen. Geht man aber davon aus, daß auf den heutigen Rechnern Vergleiche und Umspeicherungen denselben Zeitaufwand wie die arithmetischen Grundrechenoperationen erfordern, dann liegt der numerische Aufwand f¨ ur die vollst¨ andige Pivotisierung etwa in der gleichen Gr¨ oßenordnung wie der f¨ ur den eigentlichen Eliminationsprozeß. Deshalb wird die vollst¨ andige Pivotisierung in der Praxis so gut wie nie angewendet. • Von H. R. Schwarz1 stammt der Vorschlag, das Pivot-Element sowohl in der ersten Zeile als auch in der ersten Spalte der Restmatrix zu suchen. Er nennt diese Form der Pivotisierung Suche im Haken. Der Aufwand liegt hier zwischen der partiellen und der vollst¨ andigen Pivotisierung, da die Pivot-Suche in einem 2(n − k + 1)dimensionalen Feld stattfindet.  Der bei der Spaltenpivot-Strategie zu vollziehende Zeilentausch l¨ aßt sich mathematisch mittels sogenannter Permutationsmatrizen beschreiben. Eine solche Permutationsmatrix P ∈ Rn×n hat genau eine Eins in jeder Zeile und jeder Spalte und besteht ansonsten aus Nullen. Beispiel 2.3. Die Permutationsmatrizen P ∈ R3×3 sind: ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ 1 0 0 1 0 0 0 1 0 ⎣ 0 1 0 ⎦, ⎣ 0 0 1 ⎦, ⎣ 1 0 0 ⎦, 0 0 1 0 1 0 0 0 1 ⎡

0 ⎣ 0 1

1 0 0

⎤ 0 1 ⎦, 0



0 ⎣ 0 1



0 ⎣ 1 0

⎤ 0 1 0 0 ⎦, 1 0

⎤ 0 1 1 0 ⎦. 0 0



Multipliziert man eine Matrix A ∈ Rn×n von links (rechts) mit einer Permutationsmatrix, dann f¨ uhrt dies zu einer Vertauschung der Zeilen (Spalten). Permutationsmatrizen sind orthogonal, d.h., sie erf¨ ullen P −1 = P T 1

bzw.

P T P = I.

Siehe H. R. Schwarz: Numerische Mathematik. B. G. Teubner Verlag, Stuttgart, 1993.

(2.28)

2.3 Pivot-Strategien und Nachiteration

49

Es kann leicht gezeigt werden, daß das Produkt von Permutationsmatrizen wieder eine Permutationsmatrix ist. In diesem Abschnitt sind wir an speziellen Permutationsmatrizen, den sogenannten Vertauschungsmatrizen interessiert. Es handelt sich dabei um Permutationen, die durch die Vertauschung zweier Zeilen aus der Einheitsmatrix entstehen: ⎡ ⎤ 1 ⎢ ⎥ .. ⎢ ⎥ . ⎢ ⎥ ⎢ ⎥ 1 ⎢ ⎥ ⎢ ⎥ ← Zeile i 0 ... ... ... 1 ⎢ ⎥ ⎢ ⎥ .. .. ⎢ ⎥ . 1 . ⎢ ⎥ ⎢ ⎥ . . . .. .. .. Tij = ⎢ (2.29) ⎥ ⎢ ⎥ ⎢ ⎥ .. . ⎢ ⎥ . 1 .. ⎢ ⎥ ← Zeile j ⎢ ⎥ 1 ... ... ... 0 ⎢ ⎥ ⎢ ⎥ 1 ⎢ ⎥ ⎢ ⎥ .. ⎣ ⎦ . 1 ↑ ↑ Spalte i Spalte j Vertauschungsmatrizen sind orthogonal und symmetrisch, so daß Tij Tij = I gilt. Die i-te und j-te Zeile einer Matrix A ∈ Rn×n werden miteinander vertauscht, wenn man uhrt die A von links mit der obigen Vertauschungsmatrix Tij multipliziert; von rechts f¨ Multiplikation zu einem Tausch der Spalten i und j. Um beispielsweise die Zeilen 1 und 3 einer Matrix A ∈ R3×3 miteinander zu vertauschen, multipliziert man von links mit der Vertauschungsmatrix T13 : ⎡

⎤⎡ 0 0 1 a11 T13 A = ⎣0 1 0⎦ ⎣a21 1 0 0 a31

a12 a22 a32

⎤ ⎡ a13 a31 a23 ⎦ = ⎣a21 a33 a11

a32 a22 a12

⎤ a33 a23 ⎦ . a13

Unter Verwendung solcher Permutationsmatrizen kann die spaltenpivotisierte Faktorisierung einer Matrix A folgendermaßen aufgeschrieben werden: U = Ln−1 Pn−1 Ln−2 Pn−2 · · · P3 L2 P2 L1 P1 A,

(2.30)

wobei U eine obere -Matrix ist (siehe Algorithmus 2.2) und Pk die im k-ten Eliminationsschritt verwendete Vertauschungsmatrix bezeichnet. Es verbleibt die Frage: Wird die Matrix A durch die Folge von Transformationen (2.30) wiederum in das Produkt zweier -Matrizen L und U zerlegt und wenn ja, wie sieht die untere 1- Matrix L jetzt aus? Wir wollen das Resultat beispielhaft f¨ ur n = 5 herleiten.

50

Kapitel 2 Lineare Gleichungssysteme

Es ist: U = L4 P4 L3 ·I· P3 L2 P2 L1 P1 A. ↑ ≡ P 4 P4

(2.31)

ˆ 4 ≡ L4 und f¨ Im ersten Schritt setzen wir L ugen wie angezeigt zwischen L3 und P3 eine intelligente Einheitsmatrix“ I ≡ P4 P4 (P4 ist eine Vertauschungsmatrix!) ein. Damit ” geht (2.31) u ¨ber in ˆ 4 · P4 L3 P4 ·P4 P3 L2 P2 L1 P1 A. U =L    ˆ3 ≡L ˆ 3 ≡ P4 L3 P4 und f¨ ugen zwischen L2 und P2 wiederum Im zweiten Schritt setzen wir L eine intelligente Einheitsmatrix“ I ≡ P3 P4 P4 P3 ein. Die obige Formel nimmt damit ” die Gestalt an ˆ4 L ˆ 3 P4 P3 L2 ·I · P2 L1 P1 A. U =L ↑ ≡ P3 P4 P4 P3 Die restlichen Schritte verlaufen v¨ ollig analog. Es ergeben sich dabei die transformierten ˆ 2 ≡ P4 P3 L2 P3 P4 und Lˆ1 ≡ P4 P3 P2 L1 P2 P3 P4 : Matrizen L ˆ4 L ˆ 3 · P4 P3 L2 P3 P4 ·P4 P3 P2 L1 P1 A, U =L    ˆ2 ≡L ˆ4 L ˆ3 L ˆ 2 P4 P3 P2 L1 · I · P1 A, U =L ↑ ≡ P2 P3 P4 P4 P3 P2 ˆ4 L ˆ3 L ˆ 2 · P4 P3 P2 L1 P2 P3 P4 ·P4 P3 P2 P1 A. U =L    ˆ ≡ L1 Somit ist ˆ4 L ˆ3 L ˆ2 L ˆ 1 P4 P3 P2 P1 A. U =L

(2.32)

P ≡ P4 P3 P2 P1 .

(2.33)

Wir setzen nun

Die Matrix P ist das Produkt von Vertauschungsmatrizen und somit eine Permutationsmatrix. Sie enth¨ alt die gesamte Information u ahrend des Eliminationsprozesses ¨ber die w¨ ausgef¨ uhrten Zeilenvertauschungen. Mit dieser Definition nimmt die Gleichung (2.32) die Form an ˆ4 L ˆ3 L ˆ2 L ˆ 1 P A. U =L

(2.34)

ˆ i , i = 1(1)4, Man kann sich leicht davon u ¨berzeugen, daß die transformierten Matrizen L genau wie die urspr¨ unglichen Gauß-Transformationen Li , untere 1--Matrizen sind.

2.3 Pivot-Strategien und Nachiteration

51

Aus (2.34) ergibt sich nun: ˆ4 L ˆ3 L ˆ2 L ˆ 1 )−1 U = P A bzw. (L

ˆ −1 L ˆ −1 L ˆ −1 L ˆ −1 · U = P A. L 2 4 1  3  ≡L

ˆ −1 L ˆ −1 L ˆ −1 L ˆ −1 ist ebenfalls eine 1--Matrix, da die Invertierung und Die Matrix L ≡ L 1 2 3 4 das Produkt von 1--Matrizen strukturerhaltend sind. Zusammenfassend haben wir die folgende Darstellung der Matrix A erhalten: P A = L U,

L untere 1--Matrix, U obere -Matrix.

(2.35)

Bemerkung 2.3. Die Gauß-Elimination mit Spaltenpivotisierung erzeugt somit eine LU -Faktorisierung f¨ ur eine zeilenpermutierte Matrix A.  Es ist offensichtlich, daß die Darstellung (2.35) auch f¨ ur beliebiges n gilt. Die untere 1--Matrix L ergibt sich dann zu ˆ −1 L ˆ −1 . ˆ −1 · · · L L≡L 1 2 n−1

(2.36)

ˆ k berechnen sich nach der VorDie zugeh¨ origen modifizierten Gauß-Transformationen L schrift: ˆ n−1 L

≡ Ln−1 ,

ˆk L

≡ Pn−1 · · · Pk+1 Lk Pk+1 · · · Pn−1 ,

k = n − 2(−1)1.

(2.37)

Schließlich bestimmt sich die Permutationsmatrix P zu P = Pn−1 Pn−2 · · · P1 .

(2.38)

Bemerkung 2.4. In der Praxis wird man nat¨ urlich die Vertauschungsmatrizen Pj sowie die resultierende Permutationsmatrix P nicht als zweidimensionale Felder abspeichern. Ist P = Pn−1 · · · P1 und ergibt sich Pk aus der Einheitsmatrix durch Vertauschen aße Kodierung von P in der Zeilen k und pk , dann ist p = (p1 , . . . , pn−1 )T eine sachgem¨ Vektorform. Man nennt p den zugeh¨ origen Permutationsvektor. Ist x ∈ Rn , dann kann dieser Vektor durch P x wie folgt u ¨berschrieben werden: for k = 1 : n − 1 τ = x(k) x(k) = x(p(k)) x(p(k)) = τ end



52

Kapitel 2 Lineare Gleichungssysteme

Die numerische Bestimmung einer L¨ osung des linearen Gleichungssystems (2.1) wird man jetzt mit der folgenden Modifikation des Algorithmus 2.1 (siehe Algorithmus 2.3) vornehmen, die auf den obigen Betrachtungen basiert.

Gauß-Elimination mit Spalten-Pivotisierung 1. Schritt: Man bestimme die LU -Faktorisierung der Matrix A: P A = L U , U obere -Matrix, L untere 1--Matrix 2. Schritt: Man berechne den Hilfsvektor z mittels Vorw¨ artsSubstitution aus dem unteren -System L z = P b 3. Schritt: Man berechne den L¨ osungsvektor x mittels R¨ uckw¨ artsSubstitution aus dem oberen -System U x = z

Algorithmus 2.3: Gauß-Elimination mit Spalten-Pivotisierung

Bez¨ uglich der Durchf¨ uhrbarkeit der LU -Faktorisierung mit partieller Pivotisierung und der zugeh¨ origen Gauß-Elimination (Algorithmen 2.2 und 2.3) gilt der folgende Satz. are Matrix. Dann existiert vor dem k-ten ElimiSatz 2.3. Es sei A ∈ Rn×n eine regul¨ nationsschritt stets eine Zeilenpermutation derart, daß das resultierende Pivotelement (k) akk von Null verschieden ist. Beweis: Die Regularit¨ at von A ist gleichbedeutend mit det(A) = 0. 1) Es werde a11 = 0 angenommen. Dann existiert in der ersten Spalte mindestens ein ai1 = 0, denn anderenfalls ist det(A) = 0. Eine Vertauschung der i-ten Zeile von A mit der ersten Zeile erzeugt an der Position (1,1) ein Pivot ungleich Null. Diese Zeilenvertauschung zieht aber in der Determinante von A einen Vorzeichenwechsel nach sich. Wir setzen deshalb v1 = 1, falls vor dem ersten Eliminationsschritt ein Zeilentausch erforderlich ist, anderenfalls (a11 = 0) wird v1 = 0 festgelegt. Zur Vereinfachung m¨ ogen die Matrixelemente nach einem eventuellen Zeilentausch wieder mit aik bezeichnet werden. 2) Die Addition eines Vielfachen der ersten Zeile zu den u ¨brigen Zeilen a ¨ndert den Wert der Determinante nicht. Unter Beachtung dieser Regeln ergibt sich nun (hier am Fall n = 4 demonstriert):



a11 a12 a13 a14

a11 a12 a13 a14



(2) (2) (2)

a22 a23 a24

a22 a23 a24

v1 a21 v1 0 det(A) = (−1)

= (−1)

0 a(2) a(2) a(2)

, d.h.

a31 a32 a33 a34 32 33 34

a41 a42 a43 a44

0 a(2) a(2) a(2) 42 43 44

2.3 Pivot-Strategien und Nachiteration

53

a(2)

22

det(A) = (−1)v1 a11 a(2)

32

a(2) 42

(2)

a23 (2) a33 (2) a43

(2)

a24 (2) a34 (2) a44



.

(2.39)

¨ Die Uberlegungen f¨ ur den ersten Eliminationsschritt u aß auf die ¨bertragen sich sinngem¨ folgenden reduzierten Systeme bzw. ihre zugeh¨ origen Determinanten. So existiert min(2) destens ein aj2 = 0 j = 2(1)4, da anderenfalls die dreireihige Determinante in (2.39) und damit det(A) verschwinden w¨ urde. Eine Vertauschung der j-ten Zeile mit der zweiten Zeile bringt an die Position (2,2) ein Pivotelement ungleich Null.  Wenn wir mit ukk , k = 1(1)n − 1, das nach einem eventuellen Zeilentausch im k-ten Eliminationsschritt verwendete, in der Diagonalen stehende Pivotelement und mit unn das Pivot f¨ ur den leeren n-ten Schritt bezeichnen, dann ergibt sich als unmittelbare Folge aus dem Satz 2.3 der Satz 2.4. Satz 2.4. Sind im Verlauf der LU -Faktorisierung (siehe Algorithmus 2.2) insgesamt

n−1 v ≡ i=1 vi Zeilenvertauschungen erforderlich, dann bestimmt sich die Determinante zu -n det(A) = (−1)v k=1 ukk . (2.40)

Somit kann der Wert der Determinante von A als Nebenprodukt bei der LU -Faktorisierung bestimmt werden. Sind keine Zeilenvertauschungen erforderlich, dann ergibt sich wegen det(L) = 1: det(A) = det(L U ) = det(L) det(U ) =

n .

ukk .

k=1

Bemerkung 2.5. Der numerische Nachweis der Singularit¨ at bzw. Nichtsingularit¨ at einer Matrix A sollte niemals u uhrt werden. Die Multiplikation ¨ber die Determinante gef¨ von Ax = b mit einem beliebigen skalaren Faktor α = 0 f¨ uhrt n¨ amlich zu einer Koeffizientenmatrix, deren Determinante sich wie folgt bestimmt: det(α A) = αn det(A). Somit kann man aus einer Matrix mit einer kleinen Determinante stets eine Matrix mit einer beliebig großen Determinante erzeugen und umgekehrt − ohne etwas an der linearen Abh¨ angigkeit oder Unabh¨ angigkeit der Spaltenvektoren von A zu ver¨ andern. Die Determinante ist aus der Sicht der Numerischen Mathematik nur als invariante Boolesche Gr¨ oße interessant, f¨ ur die in exakter Arithmetik gilt det(A) = 0 oder

det(A) = 0.

Kapitel 2 Lineare Gleichungssysteme

54

F¨ ur das Erkennen von Matrizen, deren Abstand zu einer Matrix mit exaktem Rangabfall sehr klein ist (sogenannte fastsingul¨ are Matrizen ), m¨ ussen andere mathematische Hilfsmittel, wie zum Beispiel die Singul¨ arwertzerlegung 1 , herangezogen werden. Siehe hierzu auch die Bemerkung 2.8 (S. 80).  Werden bei der Gauß-Elimination keine Zeilen- oder Spaltenvertauschungen durch(k) gef¨ uhrt, d.h., das Diagonalelement akk der jeweiligen Matrix A(k) ist in jedem Fall das Pivot, dann spricht man von einer Diagonalstrategie. Diese Diagonalstrategie ist bei einigen Spezialf¨ allen linearer Gleichungssysteme anwendbar und sogar sinnvoll. Einen solchen Spezialfall wollen wir an dieser Stelle darstellen. ur ihre Definition 2.8. Eine Matrix A ∈ Rn×n heißt strikt diagonal-dominant, wenn f¨ Elemente aij gilt: |aii | >

n 

|aik |,

i = 1(1)n.

(2.41)

k=1 k=i



Die Diagonalstrategie erweist sich f¨ ur strikt diagonal-dominante Matrizen als sachgem¨ aß, wie der folgende Satz zeigt. Satz 2.5. Ist A ∈ Rn×n eine strikt diagonal-dominante Matrix, dann ist die Diagonalstrategie stets anwendbar. Beweis: Nach Voraussetzung ist |a11 | >

n 

|a1k | ≥ 0.

k=2

Damit stellt a11 = 0 ein zul¨ assiges Pivotelement dar. Es soll gezeigt werden, daß sich die Eigenschaft der Diagonaldominanz auf das reduzierte Gleichungssystem u agt. ¨bertr¨ Man berechnet: li1 =

ai1 ai1 a1k (2) ⇒ aik = aik − li1 · a1k = aik − , a11 a11

i, k = 2, . . . , n.

(2.42)

F¨ ur die Diagonalelemente (k = i) folgt daraus die Absch¨ atzung: (2)

|aii | = |aii − 1

ai1 a1i ai1 a1i | ≥ |aii | − | |, a11 a11

i = 2, . . . , n.

(2.43)

Siehe u.a. G. H. Golub and C. F. Van Loan: Matrix Computations. The Johns Hopkins University Press, Baltimore and London, 1996.

2.3 Pivot-Strategien und Nachiteration

55

Die Summe der Betr¨ age der Außendiagonalelemente der i-ten Zeile (i = 2, . . . , n) des reduzierten Systems erf¨ ullt unter Beachtung der Voraussetzung (2.41) die Ungleichung n 

(2)

|aik |

=

k=2 k=i

n  k=2 k=i

=

n  k=1 k=i




n 

(2)

|a2k | ≥ 0, ein geeignetes Pivotelement zur

k=3

Verf¨ ugung und die Diagonalstrategie ist tats¨ achlich anwendbar.



¨ Uber die garantierte Durchf¨ uhrbarkeit der Gauß-Elimination ohne Zeilenvertauschungen hinaus ist f¨ ur diagonal-dominante Matrizen bekannt, daß die Gauß-Elimination ohne Pivotisierung ein perfekt stabiles Verfahren ist. Insbesondere gilt hier f¨ ur den im Abschnitt 2.5 definierten Wachstumsfaktor pn ≤ 2, d.h., die transformierten Matrixelemente wachsen w¨ ahrend des Eliminationsprozesses nicht an.1 Eine andere Klasse von Matrizen, f¨ ur die die Diagonalstrategie problemlos durchf¨ uhrbar ist, stellen die symmetrischen, positiv definiten Matrizen dar (siehe auch Abschnitt 2.4). Im folgenden wollen wir zeigen, daß selbst die Spaltenpivotisierung nicht in jedem Fall zu einem vern¨ unftigen Ergebnis f¨ uhrt. Zur Demonstration betrachten wir das Beispiel 2.4. 0.3000 · 102 x1 0.5291 · 101 x1

0.5914 · 106 x2 0.6130 · 101 x2

+ −

0.5917 · 106 0.4678 · 102 .

= =

(2.44)

Die exakte L¨ osung dieses Problems lautet x1 = 10 und x2 = 1. Bei partieller Pivotisierung ist offensichtlich kein Zeilentausch erforderlich. Als erster Multiplikator ergibt sich bei 4-stelliger Rechnung (R = R(10, 4, 20, 20) sowie der Rundungsvorschrift (1.47)): 0.5291 · 101 = 0.1764 · 100 0.300 · 102 Damit erh¨ alt man das gestaffelte System l21 =

0.3000 · 102 x1

1

+ −

0.5914 · 106 x2 0.1043 · 106 x2

= =

(klein!)

0.5917 · 106 −0.1044 · 106 .

Siehe zum Beispiel das Buch von N. J. Higham: Accuracy and Stability of Numerical Algorithms. SIAM, Philadelphia, 1996.

Kapitel 2 Lineare Gleichungssysteme

56

Die R¨ uckw¨ arts-Substitution ergibt: x2 = 0.1001 · 101 und x1 = −0.1000 · 102 . Offensichtlich ist dieses Resultat falsch!



Die Ursache f¨ ur das Versagen der partiellen Pivotisierung im obigen Beispiel l¨ aßt sich leicht feststellen: Der Betrag des Pivotelementes ist zu klein im Vergleich zum Maximum der Betr¨ age der u uhrt bei der Rechnung ¨brigen Matrixelemente in der ersten Zeile. Dies f¨ zu einem Verlust an geltenden Stellen. Mit einer einfachen Maßnahme kann man dem abhelfen. Die Gleichungen werden am Anfang der Rechnung so skaliert, daß f¨ ur die resultierenden Koeffizienten a ˆik gilt: n 

|ˆ aik | = 1,

i = 1(1)n.

(2.45)

k=1

Dies erreicht man dadurch, daß f¨ ur jede Gleichung des Systems die Summe der Betr¨age der Matrixelemente (der Skalenfaktor ) gebildet und anschließend jede Gleichung durch den zugeh¨ origen Skalenfaktor dividiert wird. Offensichtlich erzeugt diese Skalierung Matrixelemente a ˆik , f¨ ur die |ˆ aik | ≤ 1, i, k = 1(1)n, gilt. Insbesondere f¨ uhrt sie in Kombination mit der Spalten-Pivotisierung zu einer Vorschrift, mit der das richtige“ ” Pivotelement bestimmt wird (ohne die aufwendige vollst¨ andige Pivotisierung verwenden zu m¨ ussen). Wir wollen dies anhand des folgenden Beispiels demonstrieren. Beispiel 2.5. Das Gleichungssystem sowie die Menge der zugrundeliegenden Maschinenzahlen seien wie im vorangegangenen Beispiel gegeben. Aus der Anwendung der Vorschrift (2.45) auf das lineare System (2.44) resultiert das skalierte Problem 0.5073 · 10−4 x1 0.4633 · 100 x1

+ −

0.1000 · 101 x2 0.5368 · 100 x2

= =

0.1001 · 101 0.4095 · 101

Faktor 0.5914 · 106 Faktor 0.1142 · 102 .

Wendet man nun darauf die partielle Pivotisierungsstrategie an, dann ist − anders als beim urspr¨ unglichen System − ein Zeilentausch erforderlich: 0.4633 · 100 x1 0.5073 · 10−4 x1

− +

0.5368 · 100 x2 0.1000 · 101 x2

= =

0.4095 · 101 0.1001 · 101 .

Der zugeh¨ orige Multiplikator berechnet sich jetzt zu l21 =

0.5073 · 10−4 = 0.1095 · 10−3 , 0.4633 · 100

und das gestaffelte System lautet: 0.4633 · 100 x1

− +

0.5368 · 100 x2 0.1000 · 101 x2

= =

0.4096 · 101 0.1001 · 101 .

2.3 Pivot-Strategien und Nachiteration

57

Schließlich ergibt sich mit der R¨ uckw¨ arts-Substitution eine vern¨ unftige Approximation der exakten L¨ osung zu x2 = 0.1001 · 101

x1 = 0.9998 · 101 .

und



Die Skalierung der Ausgangsgleichungen gem¨ aß (2.45) u agt sich nat¨ urlich nicht ¨bertr¨ immer auf die Gleichungen der reduzierten Systeme, so daß der f¨ ur den ersten Schritt g¨ unstige Einfluß auf die Spalten-Pivotisierung in den sp¨ ateren Eliminationsschritten verlorengehen kann. Deshalb sollten eigentlich alle reduzierten Systeme stets wieder skaliert werden. Da sich der Rechenaufwand hierdurch etwa verdoppelt und jede Skalierung wieder Rundungsfehler nach sich zieht, f¨ uhrt man die Skalierung in der Praxis nur implizit durch. 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 in diesem Falle von einer relativen Spaltenpivotisierung 1 , die sich wie folgt darstellt: Vor Ausf¨ uhrung des k-ten Schrittes wird ein Index p so bestimmt, daß gilt: / max

k≤i≤n

(k)

|aik |

n

(k)

j=k

|aij |

0

(k)

|apk | = n . (k) j=k |apj |

(2.46)

Ist p = k, dann wird die p-te Zeile mit der k-ten Zeile vertauscht. aßig durch Eins Man beachte: Die Zahlen lik , i > k, sind jetzt nicht mehr betragsm¨ beschr¨ ankt! In den Naturwissenschaften und der Technik treten h¨ aufig Problemstellungen auf, bei denen die L¨ osungen mehrerer Gleichungssysteme mit ein und derselben Koeffizientenmatrix A ∈ Rn×n gesucht sind, d.h., die Systeme unterscheiden sich nur in der jeweiligen rechten Seite b ∈ Rn . Sind etwa m solche Gleichungssysteme mit den rech(1) (m) osen, dann faßt man diese m Vektoren zu einer Matrix ten Seiten  (1) b (2), . . . , b (m) zu l¨ ∈ Rn×m zusammen. Zu bestimmen ist jetzt eine Matrix B ≡ b ,b ,...,b osung der Matrizengleichung X ≡ (x(1) , . . . , x(m) ) ∈ Rn×m als L¨ A X = B.

(2.47)

In den g¨ angigen Programmpaketen zur Numerischen Mathematik sind fast alle Implementierungen der Gauß-Elimination auf die L¨osung von Matrizensystemen der Form (2.47) ausgerichtet. Dabei wird die LU -Faktorisierung nur einmal bestimmt. Liegt sie artsvor, dann wird f¨ ur jede der verschiedenen rechten Seiten b(k) nur noch eine Vorw¨ und eine R¨ uckw¨ arts-Substitution ausgef¨ uhrt, um den k-ten Spaltenvektor der L¨ osungsmatrix X zu berechnen. In algorithmischer Formulierung k¨ onnen wir dies, wie im Algorithmus 2.4 angegeben, aufschreiben. 1

Siehe zum Beispiel das Buch von H. R. Schwarz: Numerische Mathematik. B. G. Teubner Verlag, Stuttgart, 1993.

Kapitel 2 Lineare Gleichungssysteme

58

Gauß-Elimination f¨ ur AX = B 1. Schritt: Berechne

A = LU

2. Schritt: for i = 1 : m L¨ ose L z (i) = b(i) L¨ ose U x(i) = z (i) end

Algorithmus 2.4: Gauß-Elimination f¨ ur AX = B

Der Rechenaufwand bestimmt sich zu 2n3 /3 + 2mn2 flops. Die obige Vorgehensweise findet speziell Anwendung bei der Invertierung einer regul¨ aren Matrix A. Da die gesuchte Inverse X ≡ A−1 die Beziehung A X = I;

I − Einheitsmatrix der Dimension n

(2.48)

erf¨ ullt, l¨ aßt sich diese wie folgt effektiv und numerisch stabil berechnen. Bezeichnen x(1) , . . . , x(n) die Spaltenvektoren von X ∈ Rn×n , d.h., X = [x(1) , . . . , x(n) ], und sind uhrt man die numerische Bestimmung e(1) , . . . , e(n) die Einheitsvektoren im Rn , dann f¨ von A−1 auf die Berechnung von n linearen Gleichungssystemen mit ein und derselben Systemmatrix A zur¨ uck: Ax(i) = e(i) ,

i = 1(1)n.

(2.49)

Somit braucht auch hier die LU -Faktorisierung von A nur einmal berechnet zu werden (mit dem u ¨blichen Aufwand von 2/3 n3 flops). Damit ergibt sich ein Gesamtaufwand f¨ ur die Invertierung von 8/3 n3 flops. Auch bei der Berechnung von Ausdr¨ ucken der Form y = CA−1 Dx,

(2.50)

wobei C, A, D ∈ Rn×n und x ∈ Rn gegeben sind, sollte man niemals die Inverse von A explizit bestimmen. Dies trifft insbesondere f¨ ur Bandmatrizen zu, da durch eine Invertierung die spezielle Struktur der Matrix zerst¨ ort und damit der Rechenaufwand enorm ansteigen w¨ urde. Außerdem ist es sachgem¨ aß, den Vektor y von rechts nach links, d.h. niemals von innen heraus, zu berechnen. Eine vern¨ unftige algorithmische Umsetzung der obigen Formel ist im Algorithmus 2.5 angegeben. Die bisher betrachteten Varianten der LU -Faktorisierung garantieren nicht, daß die mit ihnen berechnete numerische L¨ osung x ˜ die jeweils geforderte Genauigkeit besitzt.

2.3 Pivot-Strategien und Nachiteration

59

Realisierung von (2.50) 1. Schritt: Bilde u = Dx. 2. Schritt: Berechne den Hilfsvektor v mittels Gauß-Elimination aus dem linearen Gleichungssystem A v = u. 3. Schritt: Bilde y = Cv.

Algorithmus 2.5: Realisierung der Vorschrift (2.50)

Wir wollen deshalb der Frage nachgehen, ob sich x ˜ ohne großen zus¨ atzlichen Aufwand aglich verbessern l¨ aßt. Eine genauere Approximation erh¨ alt (< O(n3 ) flops) noch nachtr¨ man sicher dann, wenn die Rechnung noch einmal mit vergr¨ oßerter Mantissenl¨ ange durchgef¨ uhrt wird. Offensichtlich gehen dabei aber alle Informationen, die w¨ ahrend der Gauß-Elimination f¨ ur x ˜ bereits erhalten wurden, verloren. Des weiteren erweist sich der otigt werden. hierzu erforderliche Aufwand als zu groß, da nochmals O(n3 ) flops ben¨ Eine wesentlich g¨ unstigere Strategie ist unter dem Namen Nachiteration bekannt und soll im Anschluß an die folgende Definition erl¨ autert werden. osung des Gleichungssystems (2.1) und Definition 2.9. Bezeichnet x ∈ Rn die exakte L¨ aherung f¨ ur x, dann sei der zu x ˜ geh¨ orende Residuenvektor r(˜ x) ∈ Rn ist x ˜ ∈ Rn eine N¨ wie folgt definiert: r(˜ x) ≡ b − A x ˜ = A (x − x ˜). Oftmals wird f¨ ur r(˜ x) auch die k¨ urzere Bezeichnung Residuum verwendet.

(2.51) 

Es sei nun x(0) ≡ x ˜ die mittels der Gauß-Elimination berechnete Approximation der oge einen Korrekturvektor bezeichnen, f¨ ur exakten L¨ osung x von (2.1). x(0) ∈ Rn m¨ den gilt: x = x(0) + x(0) .

(2.52)

Setzt man diesen Ausdruck in (2.1) ein, so resultiert Ax = Ax(0) + A  x(0) = b

bzw.

A  x(0) = b − Ax(0) = r(x(0) ).

Die Korrektur x(0) erf¨ ullt somit das lineare Gleichungssystem A  x(0) = r(x(0) ).

(Korrekturgleichung)

(2.53)

Die Koeffizientenmatrix von (2.53) ist die gleiche wie beim urspr¨ unglichen System (2.1), so daß zur Berechnung von x(0) die bereits bestimmte LU -Faktorisierung der Matrix

Kapitel 2 Lineare Gleichungssysteme

60

A verwendet werden kann. Da die numerische L¨ osung der Korrekturgleichung (2.53) ˜ (0) wegen der nicht zu vermeidenden Rundungsfehler nur zu einer Approximation x von x(0) f¨ uhrt, erh¨ alt man nach (2.52) ein ˜ (0) , x(1) ≡ x(0) + x aherungsl¨ osung x(1) i.allg. eine bessere Approximamit x(1) = x. Trotzdem wird die N¨ −1 (0) tion von x = A b darstellen, als dies mit x der Fall ist. Die Idee der Nachiteration (engl.: iterative refinement“) besteht nun darin, diesen Prozeß solange zu wiederholen, ” osung hinreichend genau approximiert. Mit der im bis die Iterierte x(i) die exakte L¨ Programm 2.1 dargestellten Matlab-Funktion nachit liegt eine Implementierung der Nachiteration vor. Programm 2.1

Nachiteration

function [x,i,ind] = nachit(x0,A,b,L,U,TOL1,TOL2,N0) % % x0: N¨ aherung f¨ ur x=inv(A)*b % A: Systemmatrix des Gleichungssystems % b: rechte Seite des Gleichungssystems % L,U: Faktoren der LU-Faktorisierung von A % TOL1 und TOL2: Toleranzen % N0: maximale Iterationsschrittanzahl % % x: letzte Iterierte; i: ben¨ otigte Anzahl an Iterationen % ind: Information ¨ uber den Rechenverlauf, mit % ind=1: Verfahren konvergiert, ’L¨ osung’ x ist berechnet, % ind=2: maximale Iterationsschrittanzahl N0 ¨ uberschritten % x=x0; i=0; while i < N0 r=b-A*x; if norm(r) < TOL1*(1+norm(b)) % x ist ’L¨ osung’ ind=1; return end % L¨ osung des linearen Gleichungssystems A*w=r % unter Verwendung der LU-Faktorisierung von A w=L\r; w=U\w; if norm(w) < TOL2*(1+norm(x)) % x ist ’L¨ osung’ ind=1; return end i=i+1; x=x+w; end % maximale Iterationsschrittanzahl N0 ¨ uberschritten ind=2;

Wie man leicht nachrechnet, betr¨ agt der Aufwand f¨ ur die Nachiteration O(n2 ) flops pro Iterationsschritt. Da in der Praxis i.allg. nur einige Schritte der Nachiteration zum Er-

2.4 Systeme mit speziellen Eigenschaften

61

reichen der geforderten Genauigkeit ben¨ otigt werden, ist der zus¨ atzliche Rechenaufwand ur die LU -Faktorisierung der Matrix A. gering im Vergleich zu den O(n3 ) flops f¨ Bemerkung 2.6. Bei einer verbesserten Implementierung der Nachiteration sollte das Residuum mit doppelter Mantissenl¨ ange berechnet werden, um m¨ oglichen Ausl¨ oschungen vorzubeugen. Nach der Bestimmung des Residuenvektors kann wieder auf die standardm¨ aßig verwendete Genauigkeit gerundet werden. Wie sich die Nachiteration realisieren l¨ aßt, wenn der verwendete Computer keine Zahlendarstellung mit doppelter ¨ Mantissenl¨ ange erm¨ oglicht, ist der Ubungsaufgabe 2.1 zu entnehmen.  Die Konvergenz der Nachiteration wird im Abschnitt 2.6.1 eingehend untersucht.

2.4 2.4.1

Systeme mit speziellen Eigenschaften Positiv definite Systeme

In diesem Abschnitt betrachten wir eine f¨ ur die Anwendungen wichtige Klasse von ur die LU -Faktorisierung betr¨ achtlich Matrizen A ∈ Rn×n , bei denen der Aufwand f¨ reduziert werden kann. Es handelt sich dabei um einen Spezialfall symmetrischer Matrizen (wie u ¨blich wird eine Matrix A symmetrisch genannt, wenn A = AT gilt), wie aus der folgenden Definition zu ersehen ist. Definition 2.10. Eine symmetrische Matrix A heißt positiv definit , falls die zugeh¨ orige quadratische Form QA (x) positiv definit ist, d.h., falls gilt: QA (x) ≡ x Ax = T

n



n

i=1

k=1

aik xi xk

≥ =

0 ∀x ∈ Rn , 0 ⇔ x = 0.

(2.54) 

Aus der linearen Algebra sind die folgenden notwendigen und hinreichenden Bedingungen f¨ ur die positive Definitheit einer Matrix A bekannt: • Die Determinanten aller f¨ uhrenden Hauptuntermatrizen von A sind positiv. Dabei versteht man unter einer f¨ uhrenden Hauptuntermatrix eine Matrix der Form ⎡ ⎤ a11 a12 · · · a1k ⎢a21 a22 · · · a2k ⎥ ⎢ ⎥ k = 1, . . . , n; (2.55) ⎢ .. ⎥, .. ⎣ . . ...⎦ ak1

ak2

···

akk

• Alle Eigenwerte von A sind positiv; • A l¨ aßt sich mittels Gauß-Transformationen Lk in eine obere -Matrix mit positiven Diagonalelementen u uhren; ¨berf¨

Kapitel 2 Lineare Gleichungssysteme

62

• Die Cholesky-Faktorisierung (2.61) von A ist in exakter Arithmetik durchf¨ uhrbar. Es sollen nun einige notwendige Bedingungen f¨ ur die positive Definitheit von A angegeben werden, mit deren Hilfe man oftmals sehr schnell ausschließen kann, daß eine vorliegende Matrix positiv definit ist. Hierzu wird das folgende Resultat ben¨ otigt. Satz 2.6. Ist A ∈ Rn×n positiv definit und besitzt X ∈ Rn×k den Rang k, dann ist auch die Matrix B ≡ X T AX ∈ Rk×k positiv definit. Beweis: Mit z ∈ Rk berechnet sich die quadratische Form von B zu QB (z) = z T Bz = z T X T AXz = (Xz)T A(Xz). Da A positiv definit ist, gilt QB (z) ≥ 0. Im Falle QB (z) = 0 ist Xz = 0, woraus wegen des vollen Spaltenranges von X sofort z = 0 folgt.  Im folgenden Satz sind vier notwendige Bedingungen f¨ ur die positive Definitheit einer Matrix A genannt. Satz 2.7. F¨ ur jede positiv definite Matrix A ∈ Rn×n gilt: • •

A ist invertierbar; aii > 0 f¨ ur i = 1, . . . , n;



maxi,j=1(1)n |aij | = maxi=1,...,n aii ;

(2.57) (2.58)



Bei der Gauß-Elimination ohne Pivotsuche ist jede Restmatrix wiederum positiv definit.

(2.59)

(2.56)

Beweis: 1) Es werde angenommen, A ist nicht invertierbar. Dann existiert ein x = 0 mit Ax = 0. Dies f¨ uhrt aber auf xT Ax = 0 f¨ ur x = 0, was einen Widerspruch zur Voraussetzung (2.54) darstellt. 2) Setzt man in (2.54) f¨ ur x den Einheitsvektor ei ∈ Rn ein, so folgt QA (ei ) ≡ eTi Aei = aii > 0, 3)

da ei = 0.

¨ Die dritte Aussage ist als Ubungsaufgabe zu zeigen!

4) Es werde die symmetrische Matrix A = A(1) in der Form 2 1 a11 z T (1) , mit z = (a12 , . . . , a1n )T , A = z B (1)

2.4 Systeme mit speziellen Eigenschaften

63

geschrieben. Nach dem ersten Transformationsschritt mit der Gauß-Transformation L1 ergibt sich ⎤ ⎡ a11 z T ⎥ ⎢ ⎥ ⎢ A(2) = L1 A(1) = ⎢ 0. ⎥ , wobei L1 = I − l1 eT1 , l1 = (0, l21 , . . . , ln1 )T . ⎣ .. (2) ⎦ B 0 Multipliziert man nun die Matrix A(2) von rechts mit LT1 , so wird in der ersten andert, d.h., Zeile auch z T eliminiert; die Matrix B (2) bleibt jedoch unver¨ ⎡ ⎤ a11 0 · · · 0 ⎢ ⎥ ⎢ ⎥ L1 A(1) LT1 = ⎢ 0. ⎥. ⎣ .. (2) ⎦ B 0 Nach Satz 2.6 ist die Matrix L1 ALT1 ebenfalls positiv definit. Dies muß dann aber  auch auf die Blockmatrix B (2) zutreffen. Offensichtlich besagen (2.58),(2.59), daß bei der LU -Faktorisierung von positiv definiten Matrizen A die Diagonalstrategie f¨ ur die Wahl der Pivotelemente sachgem¨ aß ist. Eine vollst¨ andige oder partielle Pivotisierung w¨ urde i.allg. zur Zerst¨ orung der Struktur von A f¨ uhren. Aus der obigen Darstellung l¨ aßt sich die sogenannte rationale Cholesky-Faktorisierung ableiten, die durch den folgenden Satz begr¨ undet wird. Satz 2.8. Jede positiv definite Matrix A ∈ Rn×n kann eindeutig in der Form A = L D LT ,

(2.60)

dargestellt werden, wobei L eine untere 1--Matrix und D eine positive Diagonalmatrix ist. Beweis: Man setzt f¨ ur k = 2, . . . , n − 1 die im Beweis von Satz 2.7(4.) angegebene −1 Konstruktion fort und erh¨ alt so unmittelbar L ≡ L−1 1 · · · Ln−1 . Des weiteren ist D die Diagonalmatrix der Pivotelemente (Diagonalstrategie!).  Wie man sich einfach davon u ur die Faktorisierung (2.60) asym¨berzeugen kann, sind f¨ alfte des Aufwandes der LU -Faktoriptotisch n3 /3 flops erforderlich, d.h. nur etwa die H¨ sierung. Eine in der Praxis h¨ aufiger verwendete Faktorisierung positiv definiter Matrizen ist die traditionelle Cholesky-Faktorisierung. Sie l¨ aßt sich aus dem Satz 2.8 als eine direkte Folgerung ableiten.

Kapitel 2 Lineare Gleichungssysteme

64

Folgerung 2.1. Da die Diagonalelemente der Matrix D ≡ diag(d1 , . . . , dn ) echt positiv √ √ 1 aßt sich die Formel (2.60) auch in der sind, existiert D 2 = diag( d1 , . . . , dn ). Damit l¨ Form A = G GT

(2.61) 1

schreiben, wobei G die untere -Matrix G ≡ L D 2 bezeichnet (man beachte, daß die Matrix G jetzt keine 1--Matrix mehr ist!).  Der Weg, die untere -Matrix G = (gij ) aus der LDLT -Faktorisierung zu berechnen, ist nicht zwangsl¨ aufig. Sie kann auch direkt nach der folgenden Rechenvorschrift bestimmt werden: for

k=1:n gkk = (akk − for

k−1 j=1

1

2 2 gkj )

i=k+1:n gik =

end

aik −

k−1 j=1

(2.62)

gij gkj

gkk

end

Diese Vorschrift folgt unmittelbar aus der elementweisen Auswertung von (2.61): ⎤⎡



g11 ⎢ .. ⎣ . gn1

⎥⎢ ⎦⎣

..

. ···

gnn

g11

··· .. .

⎤ ⎡ a11 gn1 .. ⎥ = ⎢ .. . ⎦ ⎣ . an1 gnn

··· ···

⎤ an1 .. ⎥ . . ⎦ ann

(2.63)

2 2 2 + · · · + gk,k−1 + gkk . F¨ ur i = k ergibt sich: akk = gk1

F¨ ur i > k ergibt sich: aik = gi1 gk1 + · · · + gi,k−1 gk,k−1 + gik gkk . Im Programm 2.2 ist die Implementierung des Verfahrens (2.62) als Matlab-Funktion chol dargestellt. Auf der Basis der GGT -Faktorisierung lassen sich nun lineare Gleichungssysteme Ax = b mit positiv definiter Matrix A wie folgt l¨ osen. Substituiert man die Faktorisierung (2.61) osung des linearen in (2.2), so ergibt sich GGT x = b. Mit z ≡ GT x erfolgt dann die Aufl¨ Systems Ax = b mit dem sogenannten Cholesky-Verfahren analog der Gauß-Elimination (siehe Algorithmus 2.1) in drei Schritten, wie dem Algorithmus 2.6 zu entnehmen ist.

2.4 Systeme mit speziellen Eigenschaften Programm 2.2

65

Traditionelle Cholesky-Faktorisierung

function [G,ind] = chol(A) % % % % % % % %

A: zu faktorisierende Matrix G: Cholesky-Faktor (nur Nichtnull-Elemente werden gespeichert) ind: Information ¨ uber den Rechenverlauf, mit ind=1: Berechnung erfolgreich, ind=2: Fehler bei Berechnung, d.h., Wurzel aus negativer Zahl oder Dimensionsfehler [n,k]=size(A); ind=1; if n ~= k, ind=2; return, end G=sparse(n,n); for k=1:n if A(k,k) 0.

ej

ej

2) Es gilt auf Grund der Eigenschaft 2 einer Vektornorm (siehe (2.77))

λ A = max λ Ax = |λ| max Ax = |λ A . x=1

x=1

3) Wir haben

A + B

max (A + B) x ≤ max { A x + B x }

=

x=1

x=1

max A x + max B x = A + B .

=

x=1

x=1

4) Um die Submultiplikativit¨ at nachzuweisen, werde A = 0 und B = 0 vorausgesetzt. Anderenfalls ist (2.85) trivial erf¨ ullt. Dann gilt

A B

AB x

A(Bx) Bx = max x=0

x

Bx x



max



A(Bx)

Bx

Ay

Bx · max = max · max = A B . max Bx=0 x=0 x y=0 y x=0 x

Bx

x=0

Bx=0

Die Vertr¨ aglichkeit der so definierten Matrixnorm mit der gegebenen Vektornorm ist eine direkte Folge der Definition (2.90). Die letzte Behauptung ist offensichtlich, da ein Vektor x = 0 existiert, mit Ax = A x .  Gem¨ aß der Definition 2.13 ist die der Maximumnorm x ∞ zugeordnete Matrixnorm

A ∞ gegeben durch 3  8 7

A ∞ ≡ max Ax ∞ = max max |(Ax)i | = max max |(Ax)i | x∞ =1

x∞ =1

i

i

x∞ =1

n

0 n





aik xk = max |aik | = A Z . max = max i i

x∞ =1 /

k=1

k=1

(2.91)

2.5 Genauigkeitsfragen, Fehlerabsch¨atzungen

79

In der obigen Berechnung wurde ausgenutzt, daß sich die beiden Maximierungsprozesse vertauschen lassen (was jedoch nicht f¨ ur eine Kombination aus Maximierung und Minimierung zutreffen w¨ urde). Des weiteren wurde auf die Tatsache zur¨ uckgegriffen,

n ur fixiertes i und x ∞ = 1 dadurch ergibt, daß sich das Maximum von | k=1 aik xk | f¨ indem man xk = +1 im Falle von aik ≥ 0 und xk = −1 im Falle von aik < 0 setzt. Analog ergibt sich aus (2.90) f¨ ur x 1 die Spaltensummennorm A S . orige nat¨ urliche MaWir wollen jetzt die zur Euklidischen Vektornorm x 2 zugeh¨ trixnorm A 2 herleiten. Aus (2.90) folgt 1

1

A 2 ≡ max Ax 2 = max {(Ax)T (Ax)} 2 = max {xT AT Ax} 2 . x2 =1

x2 =1

x2 =1

ur alle A A ist symmetrisch und positiv semidefinit, da QAT A (x) = xT (AT A)x ≥ 0 f¨ x = 0 ∈ Rn . Somit sind die Eigenwerte λi von AT A reell und nichtnegativ. Die n andige, orthonormierte Basis im Rn : Eigenvektoren x(1) , . . . , x(n) bilden eine vollst¨ T

λi ∈ R,

AT Ax(i) = λi x(i) ,

λi ≥ 0,

(x(i) )T x(j) = δij .

(2.92)

Damit kann ein beliebiger Vektor x ∈ R in der Gestalt n

x=

n 

ci x(i)

(2.93)

i=1

dargestellt werden. Setzt man diese Darstellung in die quadratische Form ein, so ergibt sich ⎛ ⎞ # n $T n   xT AT Ax = ci x(i) AT A ⎝ cj x(j) ⎠ i=1

=

j=1

⎞ $T ⎛ n # n n    ⎝ ci x(i) cj λj x(j) ⎠ = c2i λi . i=1

j=1

i=1

ankung der Allgemeinheit der Gr¨ oße nach geordnet: Die Eigenwerte λi seien ohne Beschr¨ λ1 ≥ λ2 ≥ · · · ≥ λn ≥ 0. Aus der Beziehung x 2 = 1 folgt

n 

c2i = 1. Deshalb berechnet sich

i=1

/

A 2 = max

x2 =1

n 

0 12 c2i λi

=

 λ1 .

i=1

√ ur x = x(1) mit c1 = 1 sowie Der maximal m¨ ogliche Wert σ1 ≡ λ1 wird offensichtlich f¨ c2 = · · · = cn = 0 angenommen. Damit sind wir zu folgendem Ergebnis gekommen:

A 2 ≡ max Ax 2 = σ1 , x2 =1

(2.94)

Kapitel 2 Lineare Gleichungssysteme

80

wobei σ1 die Wurzel aus dem gr¨ oßten Eigenwert von AT A bezeichnet. Die Norm A 2 wird auch als Spektralnorm genannt. F¨ ur sp¨ atere Untersuchungen ist es erforderlich, nach der Spektralnorm der Inversen aren Matrix A ∈ Rn×n zu fragen. Entsprechend der Formel (2.94) A−1 einer regul¨ √ −1 oßten Eigenwert von (A−1 )T A−1 = (AAT )−1 gilt A 2 = μ1 , wobei μ1 den gr¨ bezeichnet. Da aber eine inverse Matrix bekanntlich die reziproken Eigenwerte der urspr¨ unglichen Matrix besitzt, ist μ1 gleich dem Reziproken des kleinsten (positiven) Eiahnlich zur genwertes der (positiv definiten) Matrix AAT . Die Matrix AAT ist aber ¨ Matrix AT A, denn es gilt A−1 (AAT )A = AT A, so daß AAT und AT A die gleichen Eigenwerte besitzen. Hieraus ergibt sich 1

A−1 2 = √ , λn wobei λn den kleinsten Eigenwert der Matrix AT A bezeichnet. Wird nun σn ≡ gesetzt, dann erhalten wir das Resultat

A−1 2 =

1 . σn



λn

(2.95)

Bemerkung 2.8. Die Wurzeln σ1 ≥ · · · ≥ σn aus den Eigenwerten λ1 ≥ · · · ≥ λn der Matrix AT A werden auch als Singul¨arwerte (engl.: singular values“) der Matrix A ” bezeichnet. Sie lassen sich numerisch mit der sogenannten Singul¨arwertzerlegung (SVD) (engl.: singular value decomposition“) ermitteln. Ist σn sehr klein, dann wird die Ma” trix A numerisch singul¨ ar. Der kleinste Singul¨ arwert beschreibt im wesentlichen den Abstand von A zur Klasse der singul¨ aren Matrizen. Die Singul¨ arwerte sind deshalb zur Charakterisierung einer Matrix besser geeignet als die Determinante. Im folgenden Abschnitt wird diese Thematik noch etwas detaillierter beschrieben.  Bemerkung 2.9. Zur besseren Kennzeichnung des Zusammenhangs zwischen der Matrixnorm und ihrer erzeugenden Vektornorm werden wir im weiteren stets die Symbole 

· ∞ und · 1 anstelle von · Z und · S verwenden.

2.5.2

Singul¨ arwertzerlegung, SVD

Bevor wir zur Beschreibung der eigentlichen Singul¨ arwertzerlegung kommen, m¨ ussen noch einige Grundbegriffe eingef¨ uhrt werden. Dies ist insbesondere deshalb notwendig, da wir in diesem Abschnitt stets von einer Matrix A ∈ Rm×n ausgehen wollen, mit Dimensionszahlen m und n, die nicht notwendigerweise m = n erf¨ ullen. Gegeben sei eine Menge von n (Spalten-)Vektoren a1 , . . . , an ∈ Rm . Unter dem Span dieser Vektoren versteht man den linearen Teilraum, der durch a1 , . . . , an aufgespannt“ ”

2.5 Genauigkeitsfragen, Fehlerabsch¨atzungen

81

wird. Den Span symbolisiert man u ¨blicherweise durch die Schreibweise span{a1 , . . . , an } ≡ {x ∈ Rm : x = c1 a1 + · · · + cn an , ci ∈ R}.

(2.96)

Wenn wir [ a1 | · · · |an ] schreiben, dann verstehen wir darunter diejenige Matrix aus dem Rm×n , deren i-te Spalte mit dem Vektor ai u ¨bereinstimmt, i = 1, . . . , n. Es sei nun A = [ a1 | · · · | an ] eine Matrix im Rm×n . Der Wertebereich von A ist durch R(A) ≡ span{a1 , . . . , an }

(2.97)

definiert. Der Nullraum oder Kern von A ist durch N (A) ≡ {x ∈ Rn : Ax = 0}

(2.98)

erkl¨ art. Der Rang einer Matrix ist gleich der maximalen Anzahl ihrer linear unabh¨ angigen Spalten, d.h., rang(A) ≡ dim(R(A)).

(2.99)

Gilt f¨ ur eine Matrix A ∈ Rm×n die Beziehung rang(A) = min{m, n}, dann besitzt A Vollrang. ullt (d.h., rang(A) = m), Ist f¨ ur eine Matrix A ∈ Rm×m die Beziehung det(A) = 0 erf¨ dann spricht man von einer nichtsingul¨ aren (regul¨ aren) Matrix. Die Matrix A = [ a1 | · · · | an ] ∈ Rm×n heißt spaltenorthogonal, wenn die Spalten von A paarweise orthonormal sind, d.h., aTi aj = δij ,

i, j = 1, . . . , n.

Ist n = m, dann spricht man von einer orthogonalen Matrix. Gilt n > m und ist AT spaltenorthogonal, dann bezeichnet man die Matrix als zeilenorthogonal. Unter einer Faktorisierung der Matrix A versteht man ihre Zerlegung in das Produkt einfacherer Matrizen. Solche Faktorisierungen sind bei praktischen Berechnungen mit Matrizen sehr n¨ utzlich, da durch sie die L¨ osung eines Problems sehr vereinfacht werden kann. In den vorangegangenen Abschnitten wurde die Zerlegung einer gegebenen Matrix in das Produkt einer unteren und einer oberen Dreiecksmatrix mittels gewisser Varianten der LU -Faktorisierung beschrieben. Wie wir gesehen haben, reduziert sich dann die L¨osung eines linearen Gleichungssystems auf die Berechnung zweier zugeordneter Dreieckssysteme. Im Kapitel 3 wird die sogenannte QR-Faktorisierung betrachtet, bei der

Kapitel 2 Lineare Gleichungssysteme

82

die Matrix als das Produkt einer orthogonalen Matrix und einer oberen Dreiecksmatrix dargestellt wird. Wir wollen jetzt zu einer weiteren Faktorisierung der Matrix A ∈ Rm×n kommen. Offensichtlich ist AT A ∈ Rn×n quadratisch und positiv semidefinit, da xT (AT A)x = Ax 22 ≥ 0

f¨ ur alle x ∈ Rn

gilt. Dies impliziert wiederum, daß die Matrix AT A nur relle und nichtnegative Eigenwerte besitzt, die wie folgt angeordnet seien: λ1 ≥ λ2 ≥ · · · ≥ λn ≥ 0. Wir schreiben nun diese Eigenwerte in der Form λk = σk2 ,

σk ≥ 0.

(2.100)

Die Zahlen σ1 ≥ σ2 ≥ · · · ≥ σn ≥ 0

(2.101)

heißen Singul¨ arwerte von A. Es gilt folgender Satz. Satz 2.12. ( Singul¨ arwertzerlegung) Es sei A ∈ Rm×n eine beliebige Matrix. Dann existieren zwei orthogonale Matrizen U = [ u1 | · · · | um ] ∈ Rm×m und V = [ v1 | · · · | vn ] ∈ Rn×n , so daß U T AV = Σ eine (m × n)-Diagonalmatrix der folgenden Form ist: + , D 0 Σ= , D ≡ diag(σ1 , . . . , σr ), σ1 ≥ σ2 · · · ≥ σr > 0. 0 0 arwerte von A dar und r Die σ1 , . . . , σr stellen hierbei die nichtverschwindenden Singul¨ ist der Rang von A. Definition 2.14. Die Zerlegung der Matrix A A = U ΣV T

(2.102)

wird Singul¨arwertzerlegung genannt. Abgeleitet von der englischen Bezeichnung singu” lar value decomposition“ wird sie h¨ aufig mit SVD abgek¨ urzt. 

2.5 Genauigkeitsfragen, Fehlerabsch¨atzungen

83

Beweis: Der Beweis basiert auf dem folgenden Resultat, das in den Standardtexten zur Linearen Algebra zu finden ist1 : • (Eigenwertzerlegung) Zu jeder reellen und symmetrischen Matrix A ∈ Rn×n gibt es eine orthogonale Matrix V ∈ Rn×n mit V T AV = Λ = diag(λ1 , . . . , λn ) ∈ Rn×n , wobei λ1 , . . . , λn die Eigenwerte von A sind. Wie wir bereits erw¨ ahnt haben, ist die Matrix AT A symmetrisch und positiv semidefinit. Damit ist die Voraussetzung der obigen Aussage (Eigenwertzerlegung) erf¨ ullt, d.h., es existiert eine orthogonale Matrix V = [ v1 | · · · |vn ] ∈ Rn×n , so daß die Beziehung λi ≥ 0

V T (AT A)V = Λ = diag(λ1 , . . . , λn ),

besteht. Ohne Beschr¨ ankung der Allgemeinheit k¨ onnen wir davon ausgehen, daß λ1 ≥ · · · ≥ λr > 0,

λr+1 = · · · = λn = 0,

r ∈ {0, . . . , n}

gilt. Aus der Eigenwertgleichung AT Avj = λj vj folgt unmittelbar λj = vjT AT Avj = Avj 22 . Dies impliziert Avj =  0 f¨ ur j = 1, . . . , r ur j = r + 1, . . . , n. Avj = 0 f¨ Mit σj ≡

 λj

und

uj ≡ Avj /σj ,

(j = 1, . . . , r)

ergibt sich f¨ ur i, j = 1, . . . , r uTi uj =

1 T T λj T vi A Avj = v vj = σi σ j σi σ j i



1, 0,

i=j . i = j

onnen durch HinDie Vektoren {u1 , . . . , ur } bilden daher ein Orthonormalsystem und k¨ zunahme weiterer Vektoren ur+1 , . . . , um ∈ Rm zu einer orthonormalen Basis des Rm erg¨ anzt werden. Die daraus resultierende Matrix U = [ u1 | · · · | um ] ∈ Rm×m ist somit orthogonal. Mit σr+1 = · · · = σn = 0 folgt wegen  (U T AV )ij = uTi Avj = 1

σj uTi uj = σj , 0,

j = 1, . . . , r j = r + 1, . . . , n

Siehe z.B. die Monographie von A. Kielbasinski und H. Schwetlick: Numerische lineare Algebra. VEB Verlag der Wissenschaften, Berlin, 1988, Seite 36.

Kapitel 2 Lineare Gleichungssysteme

84



die gesuchte Beziehung U T AV = Σ.

Unter Verwendung des in der Definition 2.3 erkl¨ arten dyadischen Produktes l¨ aßt sich die Singul¨ arwertzerlegung (2.102) auch in der Form

A=

r 

σi ui viT

(2.103)

i=1

darstellen. Hieraus ergibt sich unmittelbar die nachstehende Folgerung. Folgerung 2.2. Es sei die Singul¨ arwertzerlegung der Matrix A in der Form (2.102) bzw. (2.103) gegeben, mit σ1 ≥ σ2 ≥ · · · ≥ σr > σr+1 = · · · = σn = 0. Dann gilt • rang(A) = r, • N (A) = span{vr+1 , . . . , vn }, • R(A) = span{u1 , . . . , ur }, • A=

r 

σi ui viT = Ur Σr VrT ,

i=1

mit

Ur ≡ [ u1 | · · · | ur ],

Vr ≡ [ v1 | · · · | vr ]

Σr ≡ diag(σ1 , . . . , σr ),

• A 2F = σ12 + σ22 + · · · + σr2 , 

• A 2 = σ1 . F¨ ur zwei Matrizen wollen wir die Singul¨ arwertzerlegung angeben. Beispiel 2.7. 1) Gegeben sei die singul¨ are (3 × 3)-Matrix ⎡ ⎤ 1 2 3 A = ⎣4 5 6⎦ . 7 8 9 Ruft man in der Matlab die Singul¨ arwertzerlegung mit dem Befehl [U,S,V] = SVD(A)

2.5 Genauigkeitsfragen, Fehlerabsch¨atzungen auf, dann erh¨ alt man



−0.214837 0.887231 U = ⎣−0.520587 0.249644 −0.826338 −0.387943

85

⎤ 0.408248 −0.816497⎦ , 0.408248



⎤ −0.479671 −0.776691 −0.408248 V = ⎣−0.572368 −0.075686 0.816497 ⎦ , −0.665064 0.625318 −0.408248 Σ = S = diag(16.8481, 1.06837, 0.00000). Da der Singul¨ arwert σ3 verschwindet, gilt rang(A) = 2. 2) Wir betrachten nun die rechteckige (3 × 2)-Matrix ⎡ ⎤ 1 2 A = ⎣3 4⎦ . 5 6 Der obige Aufruf der Matlab f¨ uhrt ⎡ −0.229848 U = ⎣−0.524745 −0.819642

jetzt zu folgendem Resultat: ⎤ 0.883461 0.408248 0.240782 −0.816497⎦ , −0.401896 0.408248

+

, −0.619629 −0.784894 V = , −0.784894 0.619629 Σ = S = diag(9.52552, 0.514301). Da σ2 = 0 ist, weist die Matrix A Vollrang auf.



Einer der wichtigsten Aspekte der Singul¨ arwertzerlegung ist der sensible Umgang mit dem Rangkonzept, wie die Folgerung 2.3 belegt. Folgerung 2.3. Es sei die Singul¨ arwertzerlegung der Matrix A ∈ Rm×n gegeben, wobei f¨ ur die Singul¨ arwerte gelte σ1 ≥ σ2 ≥ · · · ≥ σr > σr+1 = · · · = σn = 0. Ist k < r = rang(A) und Ak ≡

k 

σi ui viT ,

i=1

dann gilt: min rang(B)=k

A − B 2 = A − Ak 2 = σk+1 .

(2.104) 

Kapitel 2 Lineare Gleichungssysteme

86

Mit k = r − 1 erkennt man unmittelbar, daß der kleinste nichtverschwindende Singul¨arwert σr von A identisch mit dem 2-Norm-Abstand von A zur Menge aller Matrizen mit einem Rangabfall ist. Bei einer quadratischen Matrix spricht man im Falle eines sehr aren Matrix. Eine fastsingul¨ are Matrix ist im Sinne der kleinen σr von einer fastsingul¨ Numerik mit einer singul¨ aren Matrix gleichzusetzen. Die Singul¨ arwertzerlegung ist ein ausgezeichnetes Hilfsmittel, die Fastsingularit¨ at einer gegebenen Matrix aufzusp¨ uren.

2.5.3

Fehlerabsch¨ atzungen, Kondition

Wir untersuchen jetzt zwei Problemstellungen, die die Genauigkeit einer berechneten N¨aherung x ˜ f¨ ur die exakte L¨ osung x von Ax = b betreffen.

1. Problem:

Welche R¨ uckschl¨ usse k¨ onnen aus der Gr¨ oße des Residuenvektors r ≡ b − A˜ x auf den Fehler z ≡ x ˜ − x gezogen werden?

Im folgenden bezeichne A eine beliebige Matrixnorm und x eine dazu vertr¨ agliche Vektornorm. Der Fehlervektor z ≡ x ˜ − x erf¨ ullt Az = −r (siehe Formel (2.53)). Aus

b = Ax ≤ A x ,

d.h., x ≥

b

A

z = A−1 r ≤ A−1 r

und

(2.105) ergibt sich f¨ ur den relativen Fehler der N¨ aherung

r

z

˜ x − x

r = ≤ A A−1 ≡ cond(A) .    b

x

x

b

(2.106)

cond(A)

Definition 2.15. Der Zahlwert cond(A) ≡ A A−1

(2.107)

heißt die Konditionszahl der Matrix A bez¨ uglich der zugrunde liegenden Matrixnorm. Soll im Text auf eine spezielle Norm hingewiesen werden, dann verwenden wir die Be zeichnung condk (A) (≡ A k A−1 k )). Die Konditionszahl cond(A) ist mindestens gleich eins, denn es gilt stets: 1 ≤ I = A A−1 ≤ A A−1 = cond(A). Bemerkung 2.10. F¨ ur die Spektralnorm berechnet sich die Konditionszahl zu (siehe die Darstellungen (2.94) und (2.95)) −1

cond2 (A) ≡ A 2 A

!

2 =

μ1 σ1 = . μn σn

(2.108)

2.5 Genauigkeitsfragen, Fehlerabsch¨atzungen

87

Ber¨ ucksichtigt man die Bemerkung 2.8, dann ergibt sich unmittelbar die folgende Aussage. Die Konditionszahl cond2 (A) ist groß, wenn der Abstand der Matrix A zur Klasse der singul¨ aren Matrizen klein ist. Solche Matrizen nennt man in der Numerik auch fastsingul¨ ar. Das Bestehen von Beziehungen der Form (2.87) zwischen den Matrixnormen sichert, daß dieses Resultat auch f¨ ur die in anderen Normen berechneten Konditionszahlen gilt.  Die Absch¨ atzung (2.106) bedeutet konkret: Neben einem relativ kleinen Residuenvektor r, bezogen auf die Gr¨ oße des Konstantenvektors b, ist die Konditionszahl ausschlaggebend f¨ ur den relativen Fehler der N¨ aherung x ˜. Somit kann nur bei kleiner Konditionszahl aus einem relativ kleinen Residuenvektor auf einen kleinen relativen Fehler geschlossen werden! Das Rechnen mit endlicher Genauigkeit bedingt, daß die Koeffizienten aik und bi des zu l¨ osenden Gleichungssystems im Rechner nicht exakt darstellbar sind. Deshalb ist es von grundlegendem Interesse, den m¨ oglichen Einfluß von Fehlern in den Eingabedaten auf die L¨ osung x zu studieren (siehe auch die Ausf¨ uhrungen in Kapitel 1). 2. Problem:

¨ Wie groß kann die Anderung x der L¨ osung x von Ax = b sein, falls die Matrix A um A und der Konstantenvektor b um b abge¨ andert werden?

Voraussetzung 2.3. Bei den nachfolgenden Betrachtungen gehen wir davon aus, daß orungen sind (mit Elementen, die etwa in der A ∈ Rn×n und b ∈ Rn sehr kleine St¨ Gr¨ oßenordnung der Maschinengenauigkeit liegen); insbesondere m¨ oge f¨ ur A gelten: • A−1  A < 1, • det(A + A) = 0.



Das gest¨ orte Gleichungssystem werde wie folgt aufgeschrieben: (A + A) (x + x) = b + b.

(2.109)

Nach dem Ausmultiplizieren ergibt sich x = (A + A)−1 (b − A x) = (I + A−1  A)−1 A−1 (b − A x).    [A(I+A−1 A)]−1

F¨ ur vertr¨ agliche Normen folgt daraus

 x ≤ (I + A−1  A)−1 A−1 {  A x +  b }. Somit ist

 x ≤ (I + A−1  A)−1 A−1   

x Faktor 1



 b

 A +

x

3 .

(2.110)

Kapitel 2 Lineare Gleichungssysteme

88

Bevor wir mit der Absch¨ atzung (2.110) fortfahren, soll zuerst einmal der mit Faktor 1“ ” gekennzeichnete Term bearbeitet werden. Hierzu ben¨ otigen wir das folgende Resultat. Satz 2.13. Besitzt eine Matrix C ∈ Rn×n die Eigenschaft C < 1, dann ist I − C nichtsingul¨ ar und es gilt

(I − C)−1 =

∞ 

Ck.

(Neumannsche Reihe)

(2.111)

k=0

Beweis: 1) Ist I − C singul¨ ar, dann existiert ein Vektor x mit x = 1 und (I − C)x = 0. Hieraus w¨ urde 1 = x = Cx ≤ C x = C folgen, was aber der Voraussetzung C < 1 widerspricht. 2) Wir zeigen jetzt, daß die Partialsummen der Neumannschen Reihe gegen (I −C)−1 konvergieren, d.h., m 

C k → (I − C)−1

f¨ ur m → ∞.

k=0

Offensichtlich gen¨ ugt es, (I − C)

m 

Ck → I

f¨ ur m → ∞

(2.112)

k=0

zu beweisen. Die linke Seite kann wie folgt geschrieben werden (I − C)

m  k=0

Ck =

m 

(C k − C k+1 ) = C 0 − C m+1 = I − C m+1 .

k=0

Da C m+1 ≤ C m+1 → 0 f¨ ur m → ∞, ergibt sich (2.112).



Aus der Gleichung (2.111) folgt nun f¨ ur C < 1 unmittelbar die wichtige Beziehung

(I − C)−1 ≤

∞  k=0

C k ≤

∞  k=0

C k =

1 . 1 − C

(2.113)

2.5 Genauigkeitsfragen, Fehlerabsch¨atzungen

89

Es werde C ≡ −A−1 · A gesetzt. Unter Ausnutzung der Ungleichung (2.113) l¨ aßt sich nun die Absch¨ atzung (2.110) wie folgt weiterf¨ uhren: 3 

 x 1

 b −1 ≤

A

 A +

x 1 − A−1  A

x  3

A A−1

 A

 b = + 1 − A−1  A

A

A x  3

A A−1

 A  b ≤ + . 1 − A−1  A

A

b Mit A−1  A = cond(A)

 x ≤

x

 A < 1 lautet das Ergebnis:

A

cond(A)

 A 1 − cond(A)

A



 A  b +

A

b

3 ≡ εrel .

(2.114)

Somit stellt die Konditionszahl cond(A) eine wichtige Kenngr¨ oße f¨ ur ein lineares Glei¨ chungssystem dar, da sie die Empfindlichkeit der L¨ osung x gegen¨ uber Anderungen A und b beschreibt. Die Absch¨ atzung (2.114) ist unabh¨ angig von dem Fehler, der bei der numerischen Berechnung noch zus¨ atzlich anf¨ allt, d.h., (2.114) gibt das unvermeidbare relative Fehlerniveau an. Definition 2.16. Entsprechend den Ausf¨ uhrungen im Abschnitt 1.2 wird ein lineares Gleichungssystem Ax = b gut konditioniert genannt, falls gilt: cond(A) ν 0 die Matrix D ≡ diag(1, ε, . . . , εn−1 ) und bilden Jˆ ≡ D−1 JD. Die Matrix Jˆ besitzt formal die gleiche Gestalt wie J, Jˆ = diag(Jˆ1 , Jˆ2 , . . . , Jˆt ), wobei aber jetzt die Teilbl¨ ocke wie folgt aussehen: ⎡ ⎤ λi ε 0 ⎢ ⎥ · · ⎢ ⎥ ⎢ ⎥ · · ⎥ ∈ Rmi ×mi . Jˆi = ⎢ ⎢ ⎥ · · ⎢ ⎥ ⎣ · ε⎦ 0 λi Es sei T ≡ (W D)−1 . Der Ausdruck x T ≡ T x ∞ erf¨ ullt sicher die Eigenschaften einer Vektornorm. Es werde nun die zugeordnete Matrixnorm konstruiert:

A T

≡ =

max Ax T =

xT =1

max

T x∞ =1

T Ax ∞ =

max

T x∞ =1

T AT −1 T x ∞

max (T AT −1 )y ∞ = T AT −1 ∞ .

y∞ =1

Somit ergibt sich ˆ ∞ ≤ ρ(A) + ε.

A T = T AT −1 ∞ = D−1 W −1 AW D ∞ = D−1 JD ∞ = J  F¨ ur die Konvergenzuntersuchung von Iterationsverfahren ist die folgende Eigenschaft von Matrizen bedeutsam. Definition 2.18. Man nennt eine Matrix A ∈ Rn×n konvergent, falls lim (Ak )ij = 0;

k→∞

i, j = 1(1)n.

(2.142) 

Es besteht ein Zusammenhang zwischen der Konvergenz und dem Spektralradius einer Matrix, wie der folgende Satz zeigt.

2.6 Iterative Verfahren

105

Satz 2.18. Die folgenden Behauptungen sind ¨ aquivalent: • A ist eine konvergente Matrix, • lim Aj = 0, j→∞

• ρ(A) < 1. Beweis: 1) Wir zeigen zuerst, daß die erste und die zweite Behauptung ¨ aquivalent sind. Da

· eine stetige Funktion der Matrixelemente ist und 0 = 0 gilt, folgt aus der ersten Behauptung die zweite. Gilt andererseits f¨ ur eine Norm · die zweite ¨ Behauptung, so folgt aus der Aquivalenz der Matrixnormen, daß eine Konstante c existiert, mit Aj ∞ ≤ c Aj → 0. Hieraus ergibt sich aber die erste Behauptung. ¨ 2) Jetzt soll die Aquivalenz der zweiten und dritten Behauptung nachgewiesen werden. O.B.d.A. kann vorausgesetzt werden, daß es sich bei der Norm um eine ¨ nat¨ urliche Matrixnorm handelt (Aquivalenzeigenschaft). Nach Satz 2.17 und wej j gen λ(A ) = [λ(A)] ergibt sich Aj ≥ ρ(Aj ) = [ρ(A)]j , so daß aus der zweiten Behauptung die dritte folgt. 3) Gilt andererseits die dritte Behauptung, dann lassen sich nach Satz 2.17 ein ε > 0 und eine nat¨ urliche Matrixnorm · derart finden, daß A ≤ ρ(A) + ε ≡ β < 1 ist. Ber¨ ucksichtigt man nun die Submultiplikativit¨ at der Matrixnorm, dann folgt

Aj ≤ A j ≤ β j , so daß lim Aj = 0 gilt, woraus sich unmittelbar die zweite j→∞



Behauptung ergibt. ¨ Als Ubungsaufgabe zeige man die folgende Modifikation des Satzes 2.13.

∞ Satz 2.19. Die Reihe k=0 C k ist genau dann konvergent, wenn C ∈ Rn×n konvergent ist. In diesem Falle existiert die Inverse von I − C und stellt sich wie folgt dar: (I − C)

−1

=

∞ 

Ck.

k=0

2.6.3

Spezielle Iterationsverfahren

Gegeben sei das lineare Gleichungssystem (2.2) Ax = b,

A ∈ Rn×n ,

b ∈ Rn .

Wie bisher werde det(A) = 0 vorausgesetzt, so daß eine eindeutige L¨ osung existiert. Die Konstruktion der grundlegenden Iterationsverfahren zur numerischen Approximation von x = A−1 b basiert auf der folgenden Zerlegung der Matrix A A = N − P,

N, P ∈ Rn×n .

(2.143)

Kapitel 2 Lineare Gleichungssysteme

106 Die Matrix N sei dabei so gew¨ ahlt, daß gilt: • det(N ) = 0 und • N −1 ist einfach zu bestimmen.

Substituiert man nun (2.143) in (2.2), so resultiert Ax = (N − P )x = N x − P x = b, d.h., N x = P x + b, woraus x = N −1 P x + N −1 b folgt. Mit den Bezeichnungen G ≡ N −1 P und k ≡ N −1 b ergibt sich schließlich die sogenannte iterierf¨ ahige Form x = Gx + k.

(2.144)

Ausgehend von einem Startvektor x(0) ∈ Rn konstruiert man auf der Basis von (2.144) eine Vektorfolge {x(i) }∞ i=0 mittels des Iterationsverfahrens x(i) = Gx(i−1) + k,

i = 1, 2, . . .

(2.145)

Konvergiert die durch die Vorschrift (2.145) definierte Vektorfolge {x(i) }∞ i=0 , dann ist osung von (2.2), wie man sofort nachpr¨ uft. der Vektor x∗ ≡ limi→∞ x(i) eine L¨ Die Differenz zwischen der exakten L¨ osung x = A−1 b und der Iterierten x(i) ergibt den Fehlervektor e(i) ≡ x(i) − x,

i = 0, 1, 2, . . .

(2.146)

Durch Subtraktion der Gleichung (2.144) von (2.145) erh¨ alt man die FehlervektorIteration: e(i) = Ge(i−1)

bzw.

e(i) = Gi e(0) ,

i = 1, 2, . . .

(2.147)

Bez¨ uglich der Konvergenz der Iterationsfolge {x(i) }∞ i=0 gilt der nachfolgende Satz. Satz 2.20. Das Iterationsverfahren (2.145) zur L¨osung von (2.2) konvergiert f¨ ur jedes x(0) ∈ Rn genau dann gegen x = A−1 b, wenn die Iterationsmatrix G konvergent ist, d.h., falls ρ(G) < 1 gilt. Beweis: Das Resultat folgt unmittelbar aus Satz 2.18.



2.6 Iterative Verfahren

107

Folgerung 2.4. Gilt f¨ ur eine (beliebige) Matrixnorm G < 1, dann konvergiert das osung von (2.2). Verfahren (2.145) f¨ ur jedes x(0) gegen die L¨ Beweis: Die Behauptung ergibt sich unmittelbar aus Satz 2.17.



Zur Charakterisierung von Iterationsverfahren der Form (2.145) verwendet man verschiedene Kenngr¨ oßen. Eine solche ist das sogenannte Konvergenzmaß , das die Geschwindigkeit der Iterationsfolge beschreibt. Definition 2.19. Die Zahl R ≡ log10

1 ρ(G)

(2.148)

heißt Konvergenzmaß von G bez¨ uglich des Verfahrens (2.145).



Die obige Definition f¨ uhrt zu einer n¨ utzlichen Anwendung. Es sei m > 0 und ganzzahlig. Bezeichnet R > 0 das Konvergenzmaß, dann m¨ oge f¨ ur den Iterationsschritt-Z¨ ahler i gelten: m (2.149) i > , bzw. i R > m. R Die Formel (2.148) impliziert 10R = Hieraus ergibt sich

1 , ρ(G)

d.h., ρ(G) = 10−R .

[ρ(G)]i = 10−iR < 10−m .

Wegen der strengen Ungleichheit existiert nun ein ε > 0, so daß (ρ(G) + ε)i ≤ 10−m . Nach Satz 2.17 gibt es eine nat¨ urliche Matrixnorm, f¨ ur die gilt:

e(i) ≤ G i e(0) ≤ (ρ(G) + ε)i e(0) ,

e(i) ≤ 10−m .

e(0)

woraus folgt (2.150)

Wird also die Anzahl der Iterationen in (2.145) so groß gew¨ ahlt, daß i > m/R gilt, ¨ dann ist die relative Anderung der i-ten N¨ aherung kleiner als 10−m . Damit l¨ aßt sich a priori die Anzahl der Iterationsschritte absch¨ atzen, die zum Erreichen einer vorgegebenen Genauigkeit erforderlich sind. Insbesondere haben wir auch das folgende Resultat gezeigt. Folgerung 2.5. Je kleiner ρ(G) (0 < ρ(G) < 1) ist, um so schneller konvergiert das Iterationsverfahren (2.145).

Kapitel 2 Lineare Gleichungssysteme

108

Wir betrachten jetzt zwei spezielle Iterationsverfahren, die sich aus dem allgemeinen Ansatz (2.143) gewinnen lassen. Die Matrix A m¨oge so beschaffen sein, daß die folgende Voraussetzung erf¨ ullt ist (eventuell m¨ ussen zuvor einige Zeilen vertauscht werden!). Voraussetzung 2.4. Alle Diagonalelemente von A seien von Null verschieden, d.h., aii = 0,



i = 1, 2, . . . , n.

Diese Voraussetzung ist sicher immer dann erf¨ ullt, wenn die Matrix A nichtsingul¨ ar ist. Zus¨ atzlich zu (2.143) werde noch eine zweite Zerlegung von A eingef¨ uhrt: ⎡ ⎢ A=⎢ ⎣

..

-U

.

D ..

-L

⎤ ⎥ ⎥ = D − L − U. ⎦

(2.151)

.

Beim sogenannten Gesamtschrittverfahren (oftmals auch als Jacobi-Verfahren bezeichnet) setzt man ⎡ ⎤ a11 ⎢ ⎥ .. ⎢ ⎥ . ⎥ ≡ D. N =⎢ (2.152) ⎢ ⎥ .. ⎣ ⎦ . ann

O

O

F¨ ur die Iterationsmatrix G und den zugeh¨ origen Vektor k, die beim Gesamtschrittverfahren u ¨blicherweise mit B und kB bezeichnet werden, ergeben sich damit B = N −1 P = N −1 (N − A) = D−1 (D − D + L + U ) = D−1 (L + U ), kB = N −1 b = D−1 b, d.h., B = D−1 (L + U )

und

kB = D−1 b.

und

(2.153)

Die Iterationsfolge {x(i) }∞ i=0 berechnet sich somit nach der Iterationsvorschrift x(i) = Bx(i−1) + kB ,

i = 1, 2, . . .

(2.154)

Um eine komponentenweise Darstellung des Iterationsverfahrens (2.154) zu erhalten, beachte man x(i) = D−1 ([L + U ]x(i−1) + b). Damit ergibt sich (i)

xj =

 3 n  1 (i−1) ajk xk bj − , ajj k=1 k=j

j = 1(1)n,

(2.155)

2.6 Iterative Verfahren

109

beziehungsweise 1 (i−1) (i−1) {b1 − a12 x2 − a13 x3 − · · · − a1n x(i−1) } n a11 1 (i) (i−1) (i−1) {b2 − a21 x1 − a23 x3 − · · · − a2n x(i−1) } x2 = n a22 .... .. 1 (i−1) (i−1) (i−1) x(i) {bn − an1 x1 − an2 x2 − · · · − an,n−1 xn−1 }. n = ann (i)

x1 =

(2.156)

Aus dem Satz 2.20 ergeben sich hinreichende Kriterien f¨ ur die Konvergenz des Gesamtschrittverfahrens (2.155) bzw. (2.156). Satz 2.21. Hinreichend f¨ ur die Konvergenz des Gesamtschrittverfahrens ist eine der beiden Bedingungen: •



B ∞ ≡ max i

B 1 ≡ max j

n  |aij | j=1 j=i

|aii |

n  |aij | i=1 i=j

|aii |

< 1,

oder

< 1.

(2.157)

(2.158)

Beweis: Das sogenannte Zeilensummenkriterium (2.157) sowie das Kriterium (2.158) ergeben sich unmittelbar aus dem Satz 2.20 und der Folgerung 2.4.  Bemerkung 2.13. Die Bedingung (2.157) ist ¨ aquivalent mit der strikten Diagonaldominanz der Matrix A.  ¨ Das im folgenden Satz genannte Spaltensummenkriterium (2.159) ist als Ubungsaufgabe zu beweisen. Satz 2.22. Das Gesamtschrittverfahren ist konvergent, wenn gilt: •

I − D

−1

A ∞ T

n  |aij | ≡ max < 1. j |a jj | i=1

(2.159)

i=j

F¨ ur das Konvergenzmaß R folgt aus (2.157 und 2.158): R ≥ log10

1 . min{ B 1 , B ∞ }

(2.160)

Kapitel 2 Lineare Gleichungssysteme

110

Wir wollen jetzt ein weiteres Grundverfahren betrachten. Beim sogenannten Einzelschrittverfahren (es wird oftmals auch als Gauß-Seidel-Verfahren bezeichnet) w¨ ahlt man ⎡ ⎤ a11 ⎢ ⎥ ⎢ a21 a22 ⎥ ⎢ ⎥ ≡ D − L, N =⎢ . (2.161) ⎥ . .. ⎣ .. ⎦ an1 an2 · · · ann

O

wobei in −L der untere -Anteil von A unterhalb der Hauptdiagonalen eingeht. F¨ ur die Iterationsmatrix G und den Vektor k, die beim Einzelschrittverfahren mit L bzw. kL bezeichnet werden, ergeben sich nun L = N −1 P = N −1 (N − A) = (D − L)−1 [(D − L) − D + L + U ] = (D − L)−1 U und kL = N −1 b = (D − L)−1 b, d.h., L = (D − L)−1 U

und

kL = (D − L)−1 b.

(2.162)

Die Iterationsfolge {x(i) }∞ i=0 berechnet sich somit nach der Iterationsvorschrift x(i) = Lx(i−1) + kL ,

i = 0, 1, . . .

(2.163)

Um eine komponentenweise Darstellung des Iterationsverfahrens (2.163) zu erhalten, beachte man x(i)

=

(D − L)−1 U x(i−1) + (D − L)−1 b,

(D − L)x(i)

=

U x(i−1) + b,

Dx(i)

=

Lx(i) + U x(i−1) + b,

x(i)

=

D−1 {Lx(i) + U x(i−1) + b}.

Damit ergibt sich (i)

xj =

 3 j−1 n   1 (i) (i−1) ajk xk − ajk xk bj − , j = 1(1)n, ajj k=1

(2.164)

k=j+1

beziehungsweise (i)

x1

(i)

x2

.. . x(i) n

1 (i−1) (i−1) {b1 − a12 x2 − a13 x3 − · · · − a1n x(i−1) } n a11 1 (i) (i−1) = {b2 − a21 x1 − a23 x3 − · · · − a2n x(i−1) } n a22 .. . 1 (i) (i) (i) = {bn − an1 x1 − an2 x2 − · · · − an,n−1 xn−1 }. ann =

(2.165)

2.6 Iterative Verfahren

111

F¨ ur das Einzelschrittverfahren gilt das folgende hinreichende Konvergenzkriterium. Satz 2.23. Hinreichend f¨ ur die Konvergenz des Einzelschrittverfahrens (2.164) bzw. (2.165) ist die Bedingung n  |aij | max < 1. (2.166) i |aii | j=1 j=i

Beweis: Offensichtlich ist die Bedingung (2.166) ¨ aquivalent mit der strikten Diagonaldominanz von A. Zu zeigen ist ρ(L) < 1. Es bezeichne λ einen Eigenwert von L mit dem zugeh¨ origen Eigenvektor x, x ∞ = 1. Somit gilt   Lx = λ x, d.h., I − (D − L)−1 A x = λ x. Hieraus ergibt sich (D − L)x − Ax = λ (D − L)x.

(2.167)

Da (D − L) den unteren -Anteil (einschließlich der Diagonalen) von A bezeichnet, stellt sich (2.167) wie folgt dar: −

n 

aij xj = λ

j=i+1

i 

aij xj ,

i = 1, 2, . . . , n.

j=1

Zieht man auf der rechten Seite den Term f¨ ur j = i aus der Summe heraus, dann ergibt sich i−1 n   aij xj − aij xj , i = 1, 2, . . . , n. λ aii xi = −λ j=1

j=i+1

Nun werde der Index i so gew¨ ahlt, daß |xi | = 1 ≥ |xj | f¨ ur alle j gilt. Folglich ist |λ| |aii | ≤ |λ|

i−1  j=1

|aij | +

n 

|aij |.

j=i+1

Stellt man diese Ungleichung nach |λ| um und beachtet die strikte Diagonaldominanz von A, so folgt ⎧ ⎫⎧ ⎫−1 n i−1 ⎨  ⎬⎨ ⎬   |λ| ≤ |aij | |aii | − |aij | < 1. ⎩ ⎭⎩ ⎭ j=i+1

j=1

Bemerkung 2.14. 1) Man beachte, daß beim Einzelschrittverfahren die neu bestimmten Komponenten sofort anstelle der alten Werte zum Einsatz kommen. Dagegen besteht die Strategie des Gesamtschrittverfahrens darin, erst alle Komponenten des neuen Iterationsvektors x(i) zu berechnen bevor die Ersetzung von x(i−1) durch x(i) stattfindet. Dies hat zur Folge, daß beim Gesamtschrittverfahren die neuen Komponenten simultan berechnet werden k¨ onnen, w¨ ahrend diese beim Einzelschrittverfahren seriell bestimmt werden m¨ ussen, da f¨ ur die Berechnung von xk alle neuen Werte von

Kapitel 2 Lineare Gleichungssysteme

112

x1 , x2 , . . . , xk−1 erforderlich sind. Aufgrund dieses Unterschiedes im Verfahrensablauf ist das Gesamtschrittverfahren f¨ ur solche Computer besonders geeignet, die Vektor- oder Parallelverarbeitung erm¨ oglichen. 2) Da beim Einzelschrittverfahren die neu berechneten Komponenten sofort in die Rechnung eingehen, liegt die Vermutung nahe, daß das Einzelschrittverfahren stets schneller als das Gesamtschrittverfahren konvergiert. Dies ist aber nur unter weiteren Bedingungen an die Systemmatrix A richtig. Unter anderem sind Gleichungssysteme denkbar, bei denen das Gesamtschrittverfahren konvergiert, w¨ ahrend das Einzelschrittverfahren divergiert. Das Umgekehrte ist aber auch m¨ oglich.  Die bisher betrachteten iterativen Grundtechniken besitzen f¨ ur viele praktische Problemstellungen keine ausreichende Konvergenzgeschwindigkeit. Man verwendet deshalb andere Zerlegungen der Matrix A, die sich daran orientieren, daß die Gr¨ oße des Spektralradius von G der Konvergenzgeschwindigkeit umgekehrt proportional ist (siehe Folgerung 2.5). Die Idee der sogenannten Relaxationsverfahren besteht nun darin, die Iterationsmatrix G von einem reellen Parameter ω = 0 abh¨ angig zu machen, G = G(ω), und zu versuchen, eine Minimierung von ρ(G(ω)) bez¨ uglich ω vorzunehmen. Mit anderen Worten, es ist ein ω so zu bestimmen, daß gilt: ρ(G(ω)) 1, von Uberrelaxation. Die komponentenweise Darstellung des Verfahrens l¨ aßt sich aus der Formel (2.170) wie folgt ableiten. Lω x(i−1) + kLω (D − ωL)−1 [(1 − ω)D + ωU ]x(i−1) + ω(D − ωL)−1 b, [(1 − ω)D + ωU ]x(i−1) + ωb, (D − ωL)x(i) (i) ωLx(i) + [(1 − ω)D + ωU ]x(i−1) + ωb, Dx 1−ω D + U )x(i−1) + b}. x(i) = D−1 ω{Lx(i) + ( ω Damit ergibt sich f¨ ur j = 1(1)n: x(i)

(i)

xj =

= = = =

 3 j−1 n   ω ω−1 (i) (i−1) (i−1) ajk xk − ajk xk − ajj xj bj − , ajj ω k=1

(2.171)

k=j+1

beziehungsweise (i)

ω ω−1 (i−1) (i−1) (i−1) a11 x1 {b1 − a12 x2 − a13 x3 − · · · − a1n x(i−1) − } n a11 ω ω ω−1 (i) (i−1) (i−1) a22 x2 = {b2 − a21 x1 − a23 x3 − · · · − a2n x(i−1) − } n a22 ω

x1 = (i)

x2

.... .. x(i) n =

(2.172)

ω ω−1 (i) (i) (i) ann x(i−1) {bn − an1 x1 − an2 x2 − · · · − an,n−1 xn−1 − }. n ann ω

Dem folgenden Satz kann man diejenigen Werte von ω entnehmen, f¨ ur die das SORVerfahren garantiert nicht konvergiert. Satz 2.24. (Kahan) Das SOR-Verfahren (2.170) konvergiert h¨ ochstens f¨ ur diejenigen reellen Parameter ω, f¨ ur die gilt 0 < ω < 2.

(2.173)

Beweis: Es seien λ1 , λ2 , . . . , λn die Eigenwerte von Lω , d.h., Lω v (i) = λi v (i) ,

v (i) = 1.

Wir betrachten nun det(Lω ) = det[(D − ωL)−1 ] · det[(1 − ω)D + ωU ].       −Matrix −Matrix

(2.174)

Kapitel 2 Lineare Gleichungssysteme

114

Da in der Diagonalen einer -Matrix die Eigenwerte dieser Matrix stehen und die Eigenwerte der Inversen einer Matrix die Kehrwerte der Eigenwerte der urspr¨ unglichen Matrix sind, l¨ aßt sich (2.174) weiter vereinfachen zu det(Lω ) =

n n . 1 . · (1 − ω)aii = (1 − ω)n . a ii i=1 i=1

Nun ist aber die Determinante einer Matrix das Produkt ihrer Eigenwerte, so daß wir schließlich n . det(Lω ) = λi = (1 − ω)n i=1

erhalten. Hieraus folgt ρ(Lω ) ≥ |1−ω|. Ist nun ω ≤ 0 oder ω ≥ 2, so resultiert ρ(Lω ) ≥ 1. Nach Satz 2.20 divergiert dann das SOR-Verfahren.  Im folgenden wollen wir zeigen, daß die Bedingung (2.173) f¨ ur eine wichtige Klasse von Matrizen auch hinreichend ist. Definition 2.20. Es seien drei Matrizen A, N, P ∈ Rn×n gegeben. Dann wird die Aufspaltung A = N − P eine C-regul¨ are Zerlegung von A genannt, falls N nichtsingul¨ ar und C ≡ N + P positiv definit ist.  Man beachte, daß in der obigen Definition die Symmetrie von C nicht vorausgesetzt ur alle Vektoren 0 = x ∈ Rn angenommen. wird. Es wird lediglich xT Cx > 0 f¨ ¨ Als Ubungsaufgabe zeige man: Dies ist ¨ aquivalent der Forderung, daß der sym1 metrische Teil von C, der durch (C + C T ) repr¨ asentiert wird, positiv definit 2 ist. Grundlage f¨ ur viele Konvergenzaussagen ist der folgende Satz. Satz 2.25. (Stein) Es sei A ∈ Rn×n eine symmetrische, positiv definite Matrix. Existiert eine Matrix G ∈ Rn×n , so daß auch A − GT AG positiv definit ist, dann besitzt G die Eigenschaft ρ(G) < 1. Beweis: Es sei λ ein Eigenwert von G und x = 0 ein zugeh¨ origer Eigenvektor. Dann sind die quadratischen Formen xT Ax und xT (A − GT AG)x positiv. Somit gilt die Beziehung xT Ax − xT GT AGx > 0, d.h., xT Ax > xT GT AGx = (λx)T A(λx) = λ2 xT Ax, woraus unmittelbar |λ| < 1 folgt.



2.6 Iterative Verfahren

115

Ein wichtiges Konvergenzresultat f¨ ur C-regul¨ are Zerlegungen ist in Satz 2.26 formuliert. Satz 2.26. (C-regul¨ are Zerlegungen) Es sei A ∈ Rn×n eine symmetrische, positiv definite Matrix. Des weiteren stelle die Aufspaltung A = N − P eine C-regul¨ are Zerlegung von A dar. Dann gilt ρ(N −1 P ) < 1. Beweis: Nach dem Satz von Stein braucht nur gezeigt zu werden, daß B ≡ A − (N −1 P )T AN −1 P positiv definit ist. Aus N −1 P = I − N −1 A ergibt sich B

= = = =

A − (N −1 P )T AN −1 P = A − [I − N −1 A]T A[I − N −1 A] A − [I − (N −1 A)T ]A[I − N −1 A] = A − [A − (N −1 A)T A][I − N −1 A] AN −1 A + (N −1 A)T A − (N −1 A)T AN −1 A (N −1 A)T (N + N T − A)N −1 A.

Wegen der C-Regularit¨ at ist N +P positiv definit und dies u agt sich auf die Matrix ¨bertr¨ N T + P = N + N T − A. Folglich ist auch B positiv definit, da (N −1 A) eine nichtsingul¨ are Matrix ist.  F¨ ur das SOR-Verfahren erh¨ alt man nun das folgende interessante Resultat. Satz 2.27. (Ostrowski-Reich) Ist A ∈ Rn×n eine symmetrische, positiv definite Matrix und gilt 0 < ω < 2, dann konvergiert das SOR-Verfahren f¨ ur jede beliebige Wahl der Startn¨ aherung x(0) gegen −1 x = A b. Beweis: Die Symmetrie von A impliziert U = LT . Aufgrund der vorangegangenen Resultate gen¨ ugt es zu zeigen, daß 1 1 (D − ωL) − [(1 − ω)D + ωLT ] ω ω eine C-regul¨ are Zerlegung von A ist. Da die Diagonalelemente von A positiv sind, ist D positiv definit und D−ωL nichtsingul¨ ar. Des weiteren ergibt sich f¨ ur den symmetrischen Teil von N + P : 1 1 (N + P + N T + P T ) = (N + N − A + N T + N T − AT ) = N + N T − A 2 2 1 1 (D − ωL) + (D − ωLT ) − D + L + LT = ω ω 2 1 = D − L − LT − D + L + LT = (2 − ω)D. ω ω Dieser ist aber wegen 0 < ω < 2 positiv definit.  A=

Im Falle tridiagonaler, positiv definiter Matrizen A ∈ Rn×n kann ein optimaler Relaxationsparameter ω = ωopt direkt angeben werden.

Kapitel 2 Lineare Gleichungssysteme

116

Satz 2.28. Ist A ∈ Rn×n eine tridiagonale und positiv definite Matrix, dann gilt ρ(L) = [ρ(B)]2 < 1. Des weiteren ergibt sich f¨ ur das SOR-Verfahren ein optimales ω zu

ωopt =

1+

2  ; 1 − ρ(B)2

(2.175)

mit diesem ωopt ist ρ(Lωopt ) = ωopt − 1. Beweis: Siehe die Monographie von D. M. Young1 .

2.6.4



Ausblick: Entwicklung neuer Iterationsverfahren

Im letzten Jahrzehnt hat sich die Numerik partieller Differentialgleichungen zu einem bedeutenden Forschungsschwerpunkt entwickelt. Die hier eingesetzten Diskretisierungstechniken erfordern die L¨ osung hochdimensionaler linearer Gleichungssysteme, deren Koeffizientenmatrizen schwach besetzt sind. Zur L¨ osung solcher Systeme bieten sich die Iterationsverfahren unmittelbar an. Da die Effektivit¨ at der bisher beschriebenen numerischen Grundtechniken f¨ ur diese Zielstellung noch nicht ausreicht, ist eine Vielzahl neuer Iterationsverfahren entwickelt und untersucht worden. Wir wollen in diesem einf¨ uhrenden Text nur einige Grundideen dieser verbesserten Techniken vorstellen. Die Tabelle 2.2 gibt an, was man in den letzten 50 Jahren unter einem Gleichungssystem mit sehr großer Dimension n verstand, das mit den jeweils vorhandenen Rechnern und den dazugeh¨ origen numerischen Eliminationstechniken gerade noch gel¨ ost werden konnte2 .

Jahr

Dimension n

Literaturbezug

1950

20

1965

200

1980

2,000

LINPACK

1995

20,000

LAPACK

Wilkinson Forsythe and Moler

Tabelle 2.2: Entwicklung des Begriffes große Dimension“ ” 1 2

D. M. Young: Iterative Solution of Large Linear Systems. Academic Press, New York 1971. Siehe L. N. Trefethen and D. Bau III: Numerical Linear Algebra. SIAM, Philadelphia, 1997.

2.6 Iterative Verfahren

117

Da die Eliminationsverfahren einen Rechenaufwand von O(n3 ) flops erfordern, die im folgenden beschriebenen Iterationsverfahren jedoch nur auf Matrix-Vektor-Multiplikationen basieren und demzufolge einen Aufwand von O(n2 ) flops pro Iterationsschritt ben¨ otigen, k¨ onnen heute mit diesen Iterationsverfahren (unter Verwendung der modernen Rechentechnik) noch Probleme der Dimension n = 200, 000 bis n = 2, 000, 000 gel¨ ost werden. Dies zeigt den gewaltigen Fortschritt, der gerade auf diesem Gebiet erzielt wurde. Die in den vorangegangenen Abschnitten betrachteten Iterationsverfahren zur L¨ osung des linearen Gleichungssystems Ax = b basieren alle auf der Zerlegung (2.143) der Systemmatrix A. Das daraus resultierende allgemeine Iterationsverfahren (2.145) ist ein station¨ ares Iterationsverfahren, da die zugeh¨ orige Iterationsmatrix G und der Vektor k nicht vom Iterationsindex i abh¨ angen. Es l¨ aßt sich auch in der Form x(i) = x(i−1) + N −1 (b − Ax(i−1) ),

i = 1, 2, . . .

(2.176)

schreiben. Man nennt jetzt die Matrix N den Vorkonditionierer (engl.: preconditio” ner“) des Gleichungssystems (2.2), der nach gewissen Kriterien auszuw¨ ahlen ist. Im Falle des Gesamtschrittverfahrens wird N ≡ D, im Falle des Einzelschrittverfahrens N ≡ D − L und im Falle des SOR-Verfahrens N ≡ ω −1 D − L gesetzt. Wir gehen hier davon aus, daß die Matrix N vorgegeben ist und fragen nach dem Verhalten der Iterationsvorschrift (2.176) in Abh¨ angigkeit von den jeweiligen Eigenschaften der vorkonditionierten Matrix N −1 A. Aussagen zur Wahl geeigneter Vorkonditionierer findet man u.a. in der Monographie von J. W. Demmel1 . Eine Umsetzung der Iterationsvorschrift (2.176) ist im Algorithmus 2.13 angegeben. Wir wollen nun numerische Techniken betrachten, mit denen sich die einfache Iteration verbessern l¨ aßt. Insbesondere betrachten wir nichtstation¨ are Iterationsverfahren, bei denen typischerweise Parameter auftreten, die durch die Berechnung von Skalarprodukten der zugeh¨ origen Residuenvektoren (oder anderer Vektoren, die beim jeweiligen Iterationsverfahren anfallen) charakterisiert sind. Eines der ¨ altesten und der am meisten studierten nichtstation¨ aren Iterationsverfahren ist die Methode der konjugierten Gradienten (engl.: conjugate gradient method“). Wir wollen im folgenden die Abk¨ urzung ” CG-Verfahren verwenden. Es ist f¨ ur Gleichungssysteme mit einer symmetrischen und positiv definiten Systemmatrix A geeignet. Die Iterierten x(i) werden hier mittels eines Vielfachen αi der Suchrichtung p(i) aufdatiert: x(i) = x(i−1) + αi p(i) .

(2.177)

Die zugeh¨ origen Residuenvektoren r(i) ≡ b − Ax(i) berechnen sich dann nach der Vorschrift r(i) = r(i−1) − α q (i) , 1

q (i) ≡ Ap(i) .

James W. Demmel: Applied Numerical Linear Algebra. SIAM, Philadelphia, 1997.

(2.178)

Kapitel 2 Lineare Gleichungssysteme

118

Einfache Iteration Input: Berechne L¨ ose

Matrix A, Vektor b, Startvektor x(0) , Vorkonditionierer N r(0) = b − A x(0)

N z (0) = r(0)

for i = 1, 2, . . . Berechne x(i) = x(i−1) + z (i−1) Berechne r(i) = b − A x(i) L¨ ose N z (i) = r(i) ¨ Uberpr¨ ufe die Konvergenz; Fortsetzung falls notwendig end

Algorithmus 2.13: Einfache Iteration

Durch die Wahl der Parameter α und αi zu α ≡ αi ≡

(r(i) )T r(i) (p(i) )T q (i)

oglichen Parameterwerte α in der Gleichung (2.178) wird (r(i) )T A−1 r(i) u ¨ber alle m¨ minimiert. Die Suchrichtungen p(i) bestimmt man aus den Residuenvektoren r(i) wie folgt: p(i) = r(i) + βi−1 p(i−1) ,

(2.179)

wobei βi ≡

(r(i) )T r(i) (r(i−1) )T r(i−1)

gesetzt wird, damit p(i) und Ap(i−1) , oder ¨ aquivalent r(i) und r(i−1) , orthogonal sind. (i) Insbesondere kann man zeigen, daß dann p (bzw. r(i) ) zu allen vorhergehenden Ap(j) (bzw. r(j) ) orthogonal ist. Damit wird bei dem nicht vorkonditionierten CG-Verfahren die i-te Iterierte x(i) als dasjenige Element aus dem Krylov-Teilraum x(0) + span{r(0) , Ar(0) , . . . , A(i−1) r(0) } bestimmt, f¨ ur welches die quadratische Form QA (x(i) ) ≡ (x(i) − x∗ )T A(x(i) − x∗ ) ihren osung von minimalen Wert annimmt. Wie bisher bezeichnet x∗ auch hier die exakte L¨ Ax = b. Die Existenz dieses Minimums ist f¨ ur symmetrische, positiv definite Matrizen garantiert. Die vorkonditionierte Variante des CG-Verfahrens verwendet einen anderen

2.6 Iterative Verfahren

119

Teilraum f¨ ur die Konstruktion der Iterierten als der oben angegebene. Die zu minimierende quadratische Form QA (x(i) ) ist jedoch die gleiche, wobei das Minimum u ¨ber den neuen Teilraum bestimmt wird. Eine wichtige Voraussetzung f¨ ur die Durchf¨ uhrbarkeit des vorkonditionierten CG-Verfahrens ist die Verwendung eines symmetrischen und positiv definiten Vorkonditionierers N . Es kann gezeigt werden, daß die Minimierung von aquivalent zu der Forderung ist, daß die Residuenvektoren r(i) die Beziehung QA (x(i) ) ¨ (i) T −1 (j) ur i = j erf¨ ullen. Man sagt auch, die Vektoren r(i) sind M −1 (r ) M r = 0 f¨ ” orthogonal “. Da sich im Falle symmetrischer Matrizen A eine orthogonale Basis f¨ ur (0) i−1 (0) aßt, den Krylov-Teilraum span{r , . . . , A r } mit 3-Term-Rekursionen berechnen l¨ reicht auch eine solche Rekursion zur Bestimmung der Residuen aus. Insbesondere werden beim CG-Verfahren zwei gekoppelte 2-Term-Rekursionen verwendet: eine f¨ ur die Berechnung der Residuenvektoren unter Verwendung einer Suchrichtung und eine f¨ ur die Berechnung der Suchrichtung unter Verwendung eines neu bestimmten Residuums. Dies macht das CG-Verfahren sehr attraktiv f¨ ur die Implementierung auf einem Rechner. Bei den Iterationsverfahren ist es i.allg. recht schwierig, exakte Konvergenzaussagen zu erhalten. Jedoch l¨ aßt sich f¨ ur das CG-Verfahren zeigen, daß der Fehler in Ausdr¨ ucken ankt werden kann. Speziell wurde f¨ ur der Konditionszahl κ2 ≡ cond2 (M −1 A) beschr¨ symmetrische, positiv definite Matrizen A und symmetrische, positiv definite Vorkonditionierer N die folgende Fehlerschranke gezeigt1

x(i) − x∗ A ≤ 2τ i x(0) − x∗ A ,

(2.180)

wobei x A die sogenannte A-Norm,

x A ≡

√ xT A x,

x ∈ Rn ,

√ √ bezeichnet und τ ≡ ( κ2 − 1)/( κ2 + 1) ist. Aus der Beziehung (2.180) ist unmittelbar abzulesen, daß die Anzahl der Iterationen, die erforderlich sind, um eine relative √ Abnahme TOL des Fehlers zu erreichen, proportional zu κ2 ist. Im Algorithmus 2.14 ist das vorkonditionierte CG-Verfahren in algorithmischer Form dargestellt. Ist die Matrix A nur symmetrisch, aber nicht positiv definit, dann l¨ aßt sich eine orthogonale Basis f¨ ur den Krylov-Teilraum noch mit einer 3-Term-Rekursion bestimmen. Dies erreicht man, indem die Suchrichtungen in den Gleichungen (2.178) und (2.179) eliminiert werden. Dies f¨ uhrt auf die folgende Rekursion Ar(i) = r(i+1) ti+1,i + r(i) ti,i + r(i−1) ti−1,i . Mit Hilfe einer (i + 1) × i-Tridiagonalmatrix T˜i ergibt sich daraus die Darstellung A Ri = Ri+1 T˜i . 1

Siehe zum Beispiel G. H. Golub and C. F. Van Loan: Matrix Computations. The Johns Hopkins University Press, Baltimore and London, 1996.

Kapitel 2 Lineare Gleichungssysteme

120

Vorkonditioniertes CG-Verfahren Matrix A, Vektor b, Startvektor x(0) , Vorkonditionierer N

Input:

for i = 1, 2, . . . L¨ ose N z (i−1) = r(i−1) μi−1 = (r(i−1) )T z (i−1) if i = 1 p(1) = z (0) else βi−1 = μi−1 /μi−2 ;

p(i) = z (i−1) + βi−1 p(i−1)

end q (i) = Ap(i) ;

αi = μi−1 /((p(i) )T q (i) )

x(i) = x(i−1) + αi p(i) ;

r(i) = r(i−1) − αi q (i)

¨ Uberpr¨ ufe die Konvergenz; Fortsetzung falls notwendig end

Algorithmus 2.14: Vorkonditioniertes CG-Verfahren

Jetzt bestimmt man ein x(i) aus dem Krylov-Teilraum, das das Residuum in der 2-Norm minimiert, d.h., ein x(i) ∈ {r(0) , Ar(0) , . . . , Ai−1 r(0) },

x(i) = Ri y¯,

welches

Ax(i) − b 2 = ARi y¯ − b 2 = Ri+1 T˜i y − b 2 minimiert. Hierzu werde die Matrix Di+1 ≡ diag( r(0) 2 , r(1) ) 2 , . . . , r(i) 2 ) −1 eine orthogonale Transformation bez¨ uglich des definiert. Offensichtlich ist Ri+1 Di+1 aktuellen Krylov-Teilraums. Somit ergibt sich

Ax(i) − b 2 = Di+1 T˜i y − r(0) 2 e(1) 2 . Damit liegt ein Kleinste-Quadrate-Problem vor, bei dem eine L¨ osung mit minimaler Norm zu bestimmen ist. Das (i + 1, i)-Element von T˜i kann durch eine einfache Givens-Rotation zu null gemacht werden und das resultierende obere Bidiagonalsystem

2.6 Iterative Verfahren

121

(die anderen unterhalb der Hauptdiagonalen liegenden nichtverschwindenden Elemente wurden bereits in den vorhergehenden Iterationsschritten beseitigt) kann dann einfach gel¨ ost werden. Das resultierende Verfahren ist unter dem Namen MINRES-Verfahren (engl.: minimal residual method“) bekannt1 . Eine andere Verfahrensvariante besteht ” in der L¨ osung des Systems Ti y = r(0) 2 e(1) , wobei Ti den oberen (i × i)-Teil von T˜i bezeichnet. Hieraus ergibt sich das sogenannte SYMMLQ-Verfahren (engl.: symmetric ” LQ method“)2 . Besitzt das Gleichungssystem Ax = b eine unsymmetrische Koeffizientenmatrix, dann liegt der Gedanke nahe, die Symmetrie u origen Normalengleichungen zu ¨ber die zugeh¨ erzwingen. Mit anderen Worten, man wendet eines der obigen Iterationsverfahren auf AT Ax = AT b

oder

AAT y = b, x = AT y

(2.181)

an. Dabei brauchen die Matrizen AT A bzw. AAT nicht explizit gebildet werden. Wendet man das CG-Verfahren zur L¨ osung eines der Systeme (2.181) an, dann ergeben sich die unter den Namen CGNE-Verfahren bzw. CGNR-Verfahren (engl.: conjugate gradients ” on the normal equations methods“) bekannten Techniken. Das CGNR-Verfahren miniT (i) miert die A A-Norm des Fehlers in x (entspricht der 2-Norm des Residuums b−Ax(i) ) u ¨ber dem affinen Raum x(i) ∈ x(0) + span{AT r(0) , (AT A)AT r(0) , . . . , (AT A)i−1 AT r(0) }. Das CGNE-Verfahren minimiert die AAT -Norm des Fehlers in y (i) (entspricht der 2Norm des Fehlers x∗ − x(i) ) u ¨ber dem affinen Raum x(i) ∈ x(0) + span{AT r(0) , AT (AAT )r(0) , . . . , AT (AAT )i−1 r(0) }. Im Algorithmus 2.15 sind beide Varianten dargestellt. Zur Vereinfachung wird dabei angenommen, daß die Matrix A bereits vorkonditioniert ist. Die Konvergenzgeschwindigkeit des CG-Verfahrens h¨ angt bei diesem Umweg u ¨ber die Normalengleichungen vom Quadrat der Konditionszahl der Matrix A ab, was zu einer sehr langsamen Konvergenz f¨ uhren kann. Das MINRES-Verfahren f¨ ur Gleichungen mit einer symmetrischen Koeffizientenmatrix A l¨ aßt sich auch auf den Fall einer unsymmetrischen Matrix u ¨bertragen. Das resultierende Verfahren wird GMRES-Verfahren (engl.: generalized minimal residual method“) ” ¨ genannt. Ahnlich wie das MINRES-Verfahren erzeugt es eine Folge von orthonormalen Vektoren. Wegen der fehlenden Symmetrie ist dies aber nicht mehr mit kurzen Rekursionen m¨ oglich, sondern es m¨ ussen alle zuvor berechneten Vektoren aus dieser orthogonalen Folge ber¨ ucksichtigt werden. Um dabei Speicherplatz zu sparen, verwendet man oftmals Versionen des Verfahrens, die auf mehreren Neustarts basieren. 1

Siehe auch C. Paige and M. Saunders: Solution of sparse indefinite systems of linear equations. SIAM J. Numer. Anal. 12 (1975), pp. 617–629 und R. Barrett et al.: Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods. SIAM, Philadelphia, 1994. 2 Ebenda.

Kapitel 2 Lineare Gleichungssysteme

122

CGNR und CGNE Input:

Matrix A, Vektor b, Startvektor x(0)

r(0) = b − Ax(0) ;

Berechne AT r(0) ;

for i = 1, 2, . . . Berechne Ap(i−1) ⎧

AT r(i−1) 22 ⎪ ⎪ ⎨

Ap(i−1) 22 αi−1 =

r(i−1) 22 ⎪ ⎪ ⎩

p(i−1) 22

f¨ ur CGNR f¨ ur CGNE

x(i) = x(i−1) + αi−1 p(i−1) ; Berechne AT r(i) ⎧

AT r(i) 22 ⎪ ⎪ ⎨

AT r(i−1) 22 βi−1 =

r(i) 22 ⎪ ⎪ ⎩

r(i−1) 22

Setze p(0) = AT r(0)

r(i) = r(i−1) − αi−1 Ap(i−1)

f¨ ur CGNR f¨ ur CGNE

p(i) = AT r(i) + βi−1 p(i−1) ¨ Uberpr¨ ufe die Konvergenz; Fortsetzung falls notwendig end

Algorithmus 2.15: CGNR und CGNE

Wie wir gesehen haben, bilden beim CG-Verfahren die Residuenvektoren eine orthogonale Basis f¨ ur den Raum span{r(0) , Ar(0) , A2 r(0) , . . .}. Im GMRES-Verfahren wird diese Basis mittels des modifizierten Gram-Schmidt-Verfahrens 1 explizit konstruiert. Die im Algorithmus 2.16 angegebenen Zeilen in Pseudo-Code beschreiben diesen Prozeß, der auch als Arnoldi-Algorithmus bezeichnet wird. Man kann sich leicht davon u ¨berzeugen, daß die im obigen Algorithmus erzeugte Matrix H = (hij ) die Form einer Hessenberg-Matrix besitzt. Die Iterierten des GMRESVerfahrens konstruiert man nun mit dem Ansatz x(i) = x(0) + y1 v (1) + · · · + yi v (i) , origen Residuwobei die Koeffizienten yj so bestimmt werden, daß die Norm des zugeh¨ uhrliche Beschreibung des Verfahrens findet ums b − Ax(i) minimal wird. Eine ausf¨ 1

Siehe zum Beispiel G. H. Golub and C. F. Van Loan: Matrix Computations. The Johns Hopkins University Press, Baltimore and London, 1996.

2.6 Iterative Verfahren

123

(1)

Arnoldi-Algorithmus , mit v (1) = 1, Vorkonditionierer N

Input: Vektor v for j = 1, 2, . . . L¨ ose N w(j+1) = Av (j) for i = 1, 2, . . . , j hij = (v (i) )T w(j+1) ; hj+1,j = w(j+1) ; end end

w(j+1) = w(j+1) − hij v (i) 1 v (j+1) = w(j+1) hj+1,j

Algorithmus 2.16: Arnoldi-Algorithmus

man zum Beispiel in der Monographie von A. Greenbaum1 . Im nachfolgend dargestellten GMRES-Algorithmus (siehe Algorithmus 2.18) wird mehrfach auf die Prozedur GMHILF (siehe Algorithmus 2.17) zur¨ uckgegriffen.

˜ T OL1) ˜ ξ, Prozedur GMHILF(˜ x, i, H, T ˜ ˜ ≡ (hkj )i Index i, obere -Matrix H k,j=1 , Vektor ξ ≡ (ξ1 , . . . , ξi ) , Toleranz T OL1 Output: N¨ aherung x ˜ ˜ ˜ L¨ ose Hy = ξ; x ˜ = x(0) + y1 v (1) + y2 v (2) + · · · + yi v (i) ; η = b − A˜ x 2 if η < T OL1 Output(’Approximation x ˜=’, x ˜) und stop ˜ else x(0) = x end

Input:

Algorithmus 2.17: Prozedur GMHILF

Eine wesentliche Schwierigkeit beim GMRES(m)-Verfahren ist die Wahl des Parameters m. Ist m zu klein gew¨ ahlt, dann konvergiert das Verfahren oftmals extrem langsam oder divergiert sogar. Ein gr¨ oßerer Parameterwert zieht jedoch einen wesentlich gr¨ oßeren Arbeitsaufwand sowie einen gr¨ oßeren Speicherbedarf nach sich. Leider gibt es keine theoretisch gesicherten Aussagen u ¨ber die effektive Wahl von m. Vielmehr beruht das richtige“ Neustarten des GMRES-Verfahrens auf den Erfahrungen des Anwenders. ” Das CG-Verfahren ist f¨ ur unsymmetrische Koeffizientenmatrizen A nicht geeignet, da sich die Residuenvektoren nicht mit kurzen Rekursionen orthogonalisieren lassen. Das 1

Anne Greenbaum: Iterative Methods for Solving Linear Systems. SIAM, Philadelphia, 1997.

Kapitel 2 Lineare Gleichungssysteme

124

GMRES(m) -Verfahren Input: Matrix A, Vektor b, Startvektor x(0) , Vorkonditionierer N, Toleranz T OL for j = 1, 2, . . . L¨ ose N r = b − Ax(0) ; β = r 2 ; v (1) = r/β; ξ = βe1 for i = 1 : m Berechne mit dem Arnoldi-Algorithmus 2.16: v (i+1) und hki ≡ H(k, i), k = 1 : i + 1 Wende die Givens-Rotationen G12 , . . . , Gi−1,i auf die letzte Spalte von H an: for k+ = 1 : i − 1 , + ,+ , H(k, i) ck sk H(k, i) = H(k + 1, i) −sk ck H(k + 1, i) end Berechne diejenige Givens-Rotation Gi,i+1 , welche das Element von H an der Position (i + 1, i) zum Verschwinden bringt. ξ = Gi,i+1 ξ if |ξ(i + 1)| < T OL ˜ T OL1) und Stop ˜ ξ, GMHILF(˜ x, i, H, end end ˜ T OL1) ˜ ξ, GMHILF(˜ x, m, H, end

Algorithmus 2.18: GMRES(m)-Verfahren

GMRES-Verfahren erzeugt die Orthogonalit¨ at der Residuen u ¨ber lange Rekursionen auf Kosten eines hohen Speicheraufwandes. Beim BiCG-Verfahren (engl.: biconjugate ” gradient method“) wird eine andere Herangehensweise gew¨ ahlt. Man ersetzt die orthogonale Folge der Residuenvektoren durch zwei Vektorfolgen, deren Elemente gegenseitig orthogonal sind. Die Formeln f¨ ur die Aufdatierung der Residuen und der Suchrichtungen lauten jetzt r(i) = r(i−1) − αi Ap(i) ,

r˜(i) = r˜(i−1) − αi AT p˜(i) ,

p(i) = r(i−1) + βi−1 p(i−1) ,

p˜(i) = r˜(i−1) + βi−1 p˜(i−1) .

F¨ ur die Parameter αi und βi werden die Werte αi =

(˜ r(i−1) )T r(i−1) , (˜ p(i) )T Ap(i)

und

βi =

(˜ r(i) )T r(i) (˜ r(i−1) )T r(i−1)

verwendet, da diese die Biorthogonalit¨ ats-Beziehungen (˜ r(i) )T r(j) = (˜ p(i) )T Ap(j) = 0,

f¨ ur i = j,

(2.182)

2.6 Iterative Verfahren

125

garantieren. Es ergibt sich damit der in Algorithmus 2.19 dargestellte Algorithmus f¨ ur das BiCG-Verfahren.

BiCG-Verfahren Input: Matrix A, Vektor b, Startvektor x(0) , Vorkonditionierer N r(0) = b − Ax(0) ; W¨ ahle einen Vektor r˜(0) (zum Beispiel r˜(0) = r(0) ) for i = 1, 2, . . . L¨ ose M z (i−1) = r(i−1) ; L¨ ose M T z˜(i−1) = r˜(i−1) ; i−1 = (z (i−1) )T r˜(i−1) if i−1 = 0 Output(’Verfahren versagt’) und stop end if i = 1 p(i) = z (i−1) ; p˜(i) = z˜(i−1) else βi−1 = i−1 / i−2 ; p(i) = z (i−1) + βi−1 p(i−1) ; p˜(i) = z˜(i−1) + βi−1 p˜(i−1) end q (i) = Ap(i) ; q˜(i) = AT p˜(i) ; αi = i−1 /(˜ p(i) )T q (i) ; x(i) = x(i−1) + αi p(i) r(i) = r(i−1) − αi q (i) ; r˜(i) = r˜(i−1) − αi q˜(i) ¨ Uberpr¨ ufe die Konvergenz; Fortsetzung falls notwendig end

Algorithmus 2.19: BiCG-Verfahren

Zur Konvergenz des BiCG-Verfahrens gibt es nur sehr wenige theoretische Aussagen. F¨ ur symmetrische, positiv definite Systeme ergeben sich die gleichen Resultate wie beim CG-Verfahren, jedoch mit den doppelten Kosten pro Iterationsschritt. Andererseits kann f¨ ur nichtsymmetrische Matrizen gezeigt werden, daß in denjenigen Phasen des Iterationsprozesses, bei denen die Norm des Residuums signifikant abnimmt, das Verfahren in etwa mit dem GMRES-Verfahren (ohne Neustarts) vergleichbar ist. F¨ ur p(i) )T q (i) ≈ 0, bei denen das Verfahren i.allg. zudie F¨ alle (z (i−1) )T r˜(i−1) ≈ 0 bzw. (˜ sammenbricht, gibt es in der Literatur einige verbesserte Strategien. Insbesondere f¨ uhrt dies auf das sogenannte QMR-Verfahren (engl.: quasi-minimal residual method“)1 . ” Es gibt noch eine Vielzahl weiterer Iterationstechniken, die in der Praxis h¨ aufig Verwendung finden. Hierzu geh¨ oren zum Beispiel das CGS-Verfahren (engl.: conjugate ” gradient squared method“), das Bi-CGSTAB-Verfahren (engl.: biconjugate gradient ” stabilized method“) und die Tschebyscheff-Iteration (engl.: Chebyshev iteration me” 1

Siehe R. Freund and N. Nachtigal: QMR: A quasi-minimal residual method for non-Hermitian linear systems. Numer. Math. 60 (1991), pp. 315–339.

Kapitel 2 Lineare Gleichungssysteme

126

thod“). Deren Darstellung w¨ urde aber den Rahmen dieses Einf¨ uhrungstextes sprengen. Es soll deshalb auf die entsprechende Literatur verwiesen werden1 .

2.7

Aufgaben

Aufgabe 2.1. Informieren Sie sich in dem Buch von G. Maeß: Vorlesungen u ¨ber numerische Mathematik I. Akademie-Verlag Berlin, 1984 u ¨ber die Kahan-Summation, mit der sich die Berechnung eines Skalarproduktes in doppelter Genauigkeit simulieren l¨ aßt. Schreiben Sie in Matlab eine Funktion zur Berechnung des Skalarproduktes zweier Vektoren. Erstellen Sie anschließend eine Funktion zur Matrizenmultiplikation, die dieses genauere Skalarprodukt verwendet. Aufgabe 2.2. Schreiben Sie in Matlab eine Funktion f¨ ur die Matrizenmultiplikation nach Winograd. Siehe hierzu das Buch von R. Zurm¨ uhl und S. Falk: Matrizen und ihre Anwendungen, Teil 2: Numerische Methoden. Springer-Verlag 1986. Aufgabe 2.3. Gegeben sei die Matrix ⎡ 1 3 A=⎣ 1 0 −2 1

⎤ 4 −2 ⎦ ∈ R3×3 6

.

1) Berechnen Sie die LU -Faktorisierung A = L U , wobei L ∈ R3×3 eine untere 1-Matrix und U ∈ R3×3 eine obere -Matrix ist. ˜U ˜ , wobei L ˜ ∈ R3×3 eine untere 2) Berechnen Sie die LU -Faktorisierung A = L 3×3 ˜ eine obere 1--Matrix ist. Matrix und U ∈ R ˜ und U ˜. 3) Berechnen Sie det(A) unter Verwendung von L und U bzw. L 4) L¨ osen Sie das lineare Gleichungssystem Ax = b mit b = (1, 0, 5)T ∈ R3 . 5) Berechnen Sie mit Hilfe einer der LU -Faktorisierungen die Matrix A−1 . n

Aufgabe 2.4. Gegeben seien eine n × n Matrix A ≡ (aij )i,j=1 sowie die zugeh¨ origen k

Untermatrizen Ak ≡ (aij )i,j=1 . Beweisen Sie, daß die LU -Zerlegung mit Diagonalstrategie genau dann m¨ oglich ist, wenn gilt: det(Ak ) = 0 f¨ ur k = 1, 2, . . . , n − 1. Zeigen Sie den Sachverhalt zuerst f¨ ur 2 × 2, 3 × 3 und 4 × 4 Matrizen. F¨ uhren Sie dann den Beweis mit vollst¨ andiger Induktion. Aufgabe 2.5. 1) Zeigen Sie: Die unteren n × n -Matrizen mit positiven Diagonalelementen bilden bez¨ uglich der Matrizenmultiplikation eine Gruppe. 1

Siehe u.a. Y. Saad: Iterative Methods for Sparse Linear Systems. PWS Publishing Company, Boston et al., 1996 und A. Meister: Numerik linearer Gleichungssysteme. Vieweg Verlag, Braunschweig und Wiesbaden, 1999.

2.7 Aufgaben

127

2) Beweisen Sie eine zu 1) analoge Aussage f¨ ur obere n × n -Matrizen mit positiven Diagonalelementen. Aufgabe 2.6. Es sei Tij ∈ Rn×n eine Vertauschungsmatrix und lk ek Lk (lk )

≡ ≡ =

(0, . . . , 0, lk+1,k , . . . , ln,k )T ∈ Rn (0, . . . , 0, 1, 0, . . . , 0)T ∈ Rn (k − ter Einheitsvektor) I − lk eTk ∈ Rn×n .

Berechnen Sie Lk (lk )−1 . Beweisen Sie:

Tij Lk (lk ) = Lk (Tij lk ) Tij

f¨ ur k < i ≤ j.

Es sei Pk ≡ Tn−1,z(n−1) · · · Tk,z(k) mit z(i) ≥ i, i = k, . . . , (n−1), k ∈ {1, 2, . . . , n−1}. Beweisen Sie: 1) Pk ist orthogonal, 2) Pk+1 Lk (lk ) = Lk (Pk+1 lk ) Pk+1 ,

k ∈ {1, 2, . . . , n − 1}.

Aufgabe 2.7. Zeigen Sie: Die Gauß-Elimination mit Spalten-Pivotisierung zur L¨ osung des linearen Gleichungssystems Ax = b,

A ∈ Rn×n , regul¨ ar,

b, x ∈ Rn

kann in der Form U = Ln−1 (ln−1 ) Tn−1,z(n−1) · · · L1 (l1 ) T1,z(1) A mit geeigneten Spaltenvektoren lk und der regul¨ aren oberen -Matrix U ∈ Rn×n dargestellt werden. Leiten Sie daraus P A = L U,

P = Tn−1,z(n−1) · · · T1,z(1)

her. Dabei ist L eine untere 1--Matrix. Geben Sie L an! Wo sind nach Ausf¨ uhrung der Gauß-Elimination die Elemente der Matrizen L und U im Rechenschema zu finden? Berechnen Sie bei gegebener LU -Faktorisierung von A die Determinante det(A). Zeigen Sie, wie man ausgehend von P A = LU mit einem dreistufigen Algorithmus die Inverse A−1 berechnen kann. Dabei sollen nur gestaffelte lineare Gleichungssysteme gel¨ ost werden. Die Rechnung ist unter Hinzunahme eines n-dimensionalen Hilfsvektors (vom Typ real ) auf dem Speicherplatz von A auszuf¨ uhren. Wie kann man P auf einem Vektor (vom Typ integer ) speichern und Transformationen der Form y = P x bzw. y = P T x und Y = P X bzw. Y = P T X mit m¨ oglichst geringem Speicherbedarf ausf¨ uhren? (Matlab-Programm) Aufgabe 2.8. Wie sind die in der Aufgabe 2.7 genannten Aussagen f¨ ur den Fall der Gauß-Elimination mit vollst¨ andiger Pivotisierung zu modifizieren?

Kapitel 2 Lineare Gleichungssysteme

128 Aufgabe 2.9. F¨ ur hi ⎡ 2α1 ⎢ h1 ⎢ ⎢ ⎢ T =⎢ ⎢ ⎢ ⎣

>0 h1 2α2 h2

und

αi = hi−1 + hi

sei ⎤

h2 2α3 .. .

h3 .. . hn−3

..

. 2αn−2 hn−2

hn−2 2αn−1

⎥ ⎥ ⎥ ⎥ ⎥ ∈ R(n−1)×(n−1) . ⎥ ⎥ ⎦

Zeigen Sie: 1) Die Tridiagonalmatrix T ist regul¨ ar. 2) Der Gauß-Algorithmus ohne Pivotisierung ist durchf¨ uhrbar und liefert eine LU Faktorisierung T = LU mit Faktoren L und U der Form ⎡ ⎤ ⎡ ⎤ 1 ∗ ∗ ⎢ ∗ 1 ⎥ ⎥ ⎢ ∗ ∗ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎥ ⎢ . . ∗ 1 .. .. L=⎢ U =⎢ ⎥ ⎥. ⎢ ⎥ ⎢ ⎥ . . . . ⎣ ⎦ ⎣ . . ∗ ∗ ⎦ ∗ 1 ∗ L¨aßt sich 2) auf den Fall der Gauß-Elimination mit Spalten-Pivotisierung u ¨bertragen? Sind die Aussagen aus 2) auch f¨ ur regul¨ are Bandmatrizen richtig? Aufgabe 2.10. Es sei



⎤ 3 −1 α 5 2 ⎦. A = ⎣ −1 α 2 7

1) Berechnen Sie f¨ ur α = 0 die Faktorisierungen A = GGT und A = LDLT nach dem Verfahren von Cholesky. F¨ ur welche Werte α = 0 sind die Faktorisierungen ebenfalls m¨ oglich? 2) Berechnen Sie det(A). 3) L¨ osen Sie das lineare Gleichungssystem Ax = b mit b = (1, −1, 0)T . 4) Berechnen Sie mit Hilfe von A = LDLT die Inverse A−1 . Aufgabe 2.11. Die Matrix A ∈ Rn×n sei positiv definit. Zeigen Sie: 1) A ist invertierbar, 2) aii > 0,

i = 1(1)n,

3) max |aij | = max aii . ij

i

2.7 Aufgaben

129

Aufgabe 2.12. Die Gauß-Elimination liefert im Falle ihrer Durchf¨ uhrbarkeit, ausgehend von A ∈ Rn×n , mit A1 = A nach k = 1, 2 . . . , n − 1 Eliminationsschritten eine Matrix + , Rk+1 Sk+1 Ak+1 = , 0 Bk+1 mit Rk+1 ∈ Rk×k , obere -Matrix, Sk+1 ∈ Rk,n−k , Bk+1 ∈ R(n−k)×(n−k) . Zeigen Sie: 1) Falls die Pivots auf der Hauptdiagonale gew¨ ahlt werden, und wenn A symmetrisch ist, so sind auch die Matrizen Bk+1 symmetrisch. 2) Falls die Pivots auf der Hauptdiagonale gew¨ ahlt werden, und wenn A positiv definit ist, so sind auch die Matrizen Bk+1 positiv definit. Aufgabe 2.13. Es sei A ∈ Rn×n positiv definit. Zeigen Sie: 1) Die Cholesky-Faktorisierung A = G GT mit der unteren -Matrix G ∈ Rn×n ist eindeutig bestimmt. 2) Die Cholesky-Faktorisierung A = G GT kann in der Form U = Dn Ln−1 Dn−1 · · · L1 D1 A als modifizierte Gauß-Elimination beschrieben werden. Dabei sind die Di geeignete positive Diagonalmatrizen, und die Li = Li (li ) die von der Gauß-Elimination her bekannten Frobenius-Matrizen mit den speziellen Argumenten li ∈ Rn . 3) Kann man die Diagonalmatrizen Di so w¨ ahlen, daß f¨ ur die rationale Faktorisierung A = LDLT eine zu oben analoge Beziehung gilt? Aufgabe 2.14. Es sei A ∈ Rn×n symmetrisch und positiv definit. Zeigen Sie: Die Cholesky-Faktorisierung A = GGT mit der unteren (n×n)-dimensionalen -Matrix G, deren Diagonalelemente alle positiv sind, ist eindeutig. Hinweis: Mit Hilfe von Aufgabe 2.5 schließe man von G1 GT1 = G2 GT2 auf G1 = G2 D und G2 = G1 D, wobei D eine geeignete Diagonalmatrix bezeichnet. Anschließend zeige man D = I. Aufgabe 2.15. Es sei die Tridiagonalmatrix A ∈ Rn×n mit den Hauptdiagonalelementen a1 , . . . , an sowie den oberen und unteren Nebendiagonalelementen b1 , . . . , bn−1 bzw. c1 , . . . , cn−1 gegeben. Weiter gelte: |a1 | > |b1 | > 0, |ai | ≥ |ci−1 | + |bi |,

ci−1 = 0, bi = 0

(i = 2, . . . , n − 1).

Zeigen Sie, daß unter diesen Voraussetzungen der folgende Algorithmus durchf¨ uhrbar

Kapitel 2 Lineare Gleichungssysteme

130

ist, indem Sie nachweisen, daß m1 , . . . , mn−1 = 0 gilt: m 1 = a1 for i = 1 : n − 1 ci ; mi+1 = ai+1 − li · bi li = mi end Aufgabe 2.16. Es sei A = (aij ) ∈ Rn×n symmetrisch und positiv definit. Zeigen Sie: max aij = max aii . i,j=1,...,n

Aufgabe 2.17. ⎡ 1 A=⎣ 2 3

i=1,...,n

Es seien ⎤ ⎡ ⎤ ⎡ 1 1 −3 5 −2 6 −1 1 3 ⎦ , A = ⎣ 3 −3 1 ⎦ und B = ⎣ 3 1 6 1 −2 1 0

1 1 1

⎤ 3 2 ⎦. −1

Berechnen Sie unter Verwendung der Sherman-Morrison-Woodbury Formel die Inverse B −1 . Aufgabe 2.18. Es seien eine Matrix A ∈ Rm×n , mit m ≥ n und rank(A) = n sowie ein Vektor p ∈ Rm gegeben. Ferner sei B ≡ [A, p] ∈ Rm×(n+1) . 1) Berechnen Sie B T B. 2) Beweisen Sie: B T B ist genau dann regul¨ ar, wenn gilt: pT A(AT A)−1 AT p = pT p. 3) Berechnen Sie (B T B)−1 . (Sherman-Morrison Formel) Aufgabe 2.19. Zeigen Sie: Durch die Funktion (2.90) wird eine Matrixnorm definiert. Sie ist mit der zugrunde liegenden Vektornorm vertr¨ aglich. Des weiteren stellt sie unter allen mit der Vektornorm · vertr¨ aglichen Matrixnormen die kleinste dar. ur Vektoren zugeordnete Matrixnorm. Aufgabe 2.20. Es sei A 1 die der 1-Norm f¨ n  Zeigen Sie: A 1 = max |aij |. j=1(1)n

i=1

Aufgabe 2.21. Beweisen Sie, daß f¨ ur die Vektornormen x p , p ∈ {1, 2, ∞}, die Ungleichungen 1) x 2 ≤ x 1 ≤

√ n x 2

2) x ∞ ≤ x 1 ≤ n x ∞ f¨ ur jedes x ∈ Rn gelten und daß die auftretenden Konstanten nicht verbessert werden k¨onnen. Zeigen Sie ferner, daß f¨ ur jedes x ∈ Rn gilt: 3) x 22 ≤ x 1 x ∞ ≤

1 √ ( n + 1) x 22 . 2

2.7 Aufgaben

131

Aufgabe 2.22. Zeigen Sie: Mit x, y ∈ Rn gilt xy T F = x 2 y 2 . age wie folgt definiert: Aufgabe 2.23. F¨ ur x ∈ Rn und A ∈ Rm×n seien Betr¨ |x| ≡ (|x1 |, |x2 |, . . . , |xn |)T ∈ Rn und |A| ≡ (|aij |) ∈ Rm×n . Zeigen Sie f¨ ur · ≡ · p , p ∈ {1, 2, ∞}: 1) |x| = x , 2) aus |x| ≤ |y| folgt x ≤ y . Normen mit der Eigenschaft 1) bzw. 2) heißen absolut bzw. monoton. F¨ ur Matrixnormen sind beide Begriffe analog definiert. Zeigen Sie: 1) die durch p = 1 und p = ∞ bestimmten Matrixnormen sind absolut und monoton, 2) A 2 ≤ |A| 2 , 3) aus |A| ≤ |B| folgt |A| 2 ≤ |B| 2 . Aufgabe 2.24. Es seien das lineare Gleichungssystem Ax = b sowie ein zugeh¨ origes gest¨ ortes System (A + A)(x + x) = b + b gegeben. F¨ ur eine der Normen mit p = 1 oder p = ∞ gelte A−1 p  A p < 1. Beweisen Sie die G¨ ultigkeit folgender Absch¨ atzungen: 1) |  x| ≤ (I − |A−1 | |  A|)−1 |A−1 | {|  A| |x| + |  b|}, 2) x p ≤

A−1 p

|  A| |x| + |  b| p . 1 − A−1 p  A p

Aufgabe 2.25. Man beweise, daß das Gesamtschrittverfahren x(i) = Bx(i−1) + kB konvergiert, wenn gilt: n  |aij | < 1.

B 1 = max j |aii | i=1 i=j

Aufgabe 2.26. Es sei A ∈ R regul¨ ar und f¨ ur die Iterationsmatrix B des Gesamtullt die Iterationsmatrix L des Einzelschrittschritt-Verfahrens gelte B ∞ < 1. Dann erf¨ Verfahrens:  3  |aij |  |aij | ri , ri = . , li =

L ∞ ≤ max i=1···n 1 − li |aii | |aii | ji n×n

Aufgabe 2.27. Die Matrix A ∈ Rn×n sei positiv definit. Zeigen Sie: Das Gauß-SeidelVerfahren zur L¨ osung von Ax = b konvergiert f¨ ur beliebige Startwerte x(0) . osung Aufgabe 2.28. Berechnen Sie f¨ ur das SOR-Verfahren x(i) = Lω x(i−1) +kLω zur L¨ oßen von Problemen Ax = b, mit A ∈ R2×2 und b ∈ R2 , die Gr¨ ρ(Lω ), ωopt und ρ(Lωopt ). Dabei werde angenommen, daß

Kapitel 2 Lineare Gleichungssysteme

132

1) A die Eigenschaft |aii | > |aij |, j = 1, . . . , n und j = i, besitzt und 2) A positiv definit ist. Aufgabe 2.29. Folgende Situation sei gegeben: G ∈ Rn×n , mit G ≤ q < 1, k ∈ Rn , x(i) = Gx(i−1) + k. Des weiteren sei x(0) ein Startvektor und es gelte x∗ = lim x(i) . Beweisen Sie: i→∞

1) die a-posteriori-Fehlerabsch¨ atzung: 1 1

x(i) − x(i−1) ≤ x(i−1) − x∗ ≤

x(i) − x(i−1) , i = 1, 2, . . . 1+q 1−q 2) die a-priori-Fehlerabsch¨ atzung: qi

x(1) − x(0) , i = 1, 2, . . . 1−q Aufgabe 2.30. Implementieren Sie das Gesamt- und das Einzelschrittverfahren f¨ ur ein lineares Gleichungssystem Ax = b der Dimension n jeweils in eine Matlab-Funktion. Dabei soll der Aufruf f¨ ur das Gesamtschrittverfahren

x(i) − x∗ ≤

[x,dx,ep,m] = gsv(A,b,x0,ep0,dx0,maxm) und der Aufruf f¨ ur Einzelschrittverfahren [x,dx,ep,m] = esv(A,b,x0,ep0,dx0,maxm) lauten. Es bedeuten: maxm x0 dx0 ep0 x dx ep m

− − − − − − − −

maximale Anzahl von Iterationsschritten, Startvektor, zu erreichende minimale Schrittweite: norm(xk+1 − xk , Inf) = dx < dx0, geforderte Genauigkeit: norm(Ax − b, Inf) = ep < ep0, letzte Iterierte, letzte Schrittweite, erreichte Genauigkeit, ben¨ otigte Schritte.

Aufgabe 2.31. 1) Implementieren Sie das SOR-Verfahren in eine Matlab-Funktion der Gestalt: [x,dx,ep,m]=sor(A,b,x0,ep0,dx0,maxm,w). Die Parameter seien wie in der Aufgabe 2.30 definiert; w bezeichnet darin zus¨ atzlich den Relaxationsparameter ω. 2) Konstruieren Sie ein Gleichungssystem Ax = b mit positiv definiter 7 × 7 Tridiagonalmatrix A. Zeigen Sie anhand dieses Beispiels, daß f¨ ur ωopt ≡

1+



2 1 − ρ(B)2

,

mit B ≡ D−1 (D − A), das SOR-Verfahren am schnellsten konvergiert.

2.7 Aufgaben

133

Aufgabe 2.32. 1) Implementieren Sie das JOR-Verfahren, d.h., das relaxierte Gesamtschrittverfah1 1 ren, bei dem die Zerlegung A = D + (A − D) verwendet wird, mit einer ω ω Matlab-Funktion: [x,dx,ep,m]=jor(A,b,x0,ep0,dx0,maxm,w). Die Parameter seien wie in der Aufgabe 2.30 definiert; w bezeichnet zus¨ atzlich den Relaxationsparameter ω. ¨ 2) Uberlegen Sie sich ein Gleichungssystem Ax = b, mit A ∈ Rn×n und n ≥ 4, f¨ ur welches die Iterationsmatrix B nur reelle Eigenwerte λ1 ≥ · · · ≥ λn < 1 besitzt. Untersuchen Sie anhand dieses Beispiels die Behauptung, daß f¨ ur ωopt ≡

2 2 − λ 1 − λn

das JOR-Verfahren am schnellsten konvergiert. Aufgabe 2.33. Der optimale Relaxationsparameters ωopt kann beim SOR-Verfahren immer besser angen¨ ahert werden, wenn man ausgehend von einem gesch¨ atzten Parameahrend des Iterationsprozesses den Relaxationsparameter anhand von jeweils ter ω0 w¨ drei erzeugten Iterierten nach dem folgenden Formelsatz modifiziert:

x(k+1) − x(k) 1 qk ≡ (k) ,

x − x(k−1) 1

μ2k

1 ≡ qk



qk − 1 1+ ωa

2 ,

ωk ≡

2  . 1 + 1 − μ2k

Es gilt dann ωopt = lim ωk . k→∞

Betrachten Sie Ihr Gleichungssystem aus der Aufgabe 2.31. Geben Sie ein ω0 vor (zum Beispiel ω0 = 1) und berechnen Sie zwei SOR-Iterierte. Mittels obiger Vorschrift ist dann ein verbessertes ω1 aus dem Startvektor x(0) und den Iterierten x(1) , x(2) zu bestimmen. Danach definiere man den neuen Startvektor x(0) ≡ x(2) und gehe wie oben angegeben, jedoch mit ω0 = ω1 , vor. Untersuchen Sie experimentell, ob die Folge {ωi }∞ i=1 gegen ωopt konvergiert.

Kapitel 3

Eigenwertprobleme The eigenvalue problem has a deceptively simple formulation and the background theory has been known for many years; yet the determination of accurate solutions presents a wide variety of challenging problems. J. H. Wilkinson

3.1

Eigenwerte und Eigenvektoren

Es seien A ∈ Rn×n eine vorgegebene Matrix und λ ∈ C ein Skalar. Besitzt die Gleichung Ax = λx

(3.1)

f¨ ur einen speziellen Wert von λ eine nichttriviale L¨ osung x ∈ Cn (d.h. x = 0), dann bezeichnet man λ als Eigenwert der Matrix A. Der zugeh¨ orige nichtverschwindende Vektor x heißt entsprechend Eigenvektor von A zum Eigenwert λ. Schließlich wird die Kombination (λ, x) als Eigenpaar bezeichnet. Man beachte: Das Vielfache eines Eigenvektors ist wiederum ein Eigenvektor zum selben Eigenwert. Um die Problemstellung dennoch eindeutig zu machen, normiert man i.allg. den Eigenvektor x zu x = 1, wobei · eine beliebige Vektornorm bezeichnet. Die Problemstellung (3.1) wird u ¨blicherweise spezielles Eigenwertproblem genannt, da sie sich aus dem sogenannten allgemeinen Eigenwertproblem Ax = λB x

(3.2)

Kapitel 3 Eigenwertprobleme

136

f¨ ur B = I als Spezialfall ergibt. Da in (3.2) eine zweite Matrix B ∈ Rn×n auftritt, spricht man in diesem Falle von Eigenwerten und Eigenvektoren des Matrixpaares oder Matrixb¨ uschels {A, B}. Im folgenden beschr¨ anken wir uns auf das spezielle Eigenwertproblem und sprechen nur noch vom Eigenwertproblem“ (3.1). ” Eigenwerte und Eigenvektoren spielen in den Anwendungen eine wichtige Rolle. Zwei Aspekte sind hierbei zu nennen, n¨ amlich ein algorithmischer und ein physikalischer. Aus algorithmischer Sicht kann die Behandlung von Eigenwertproblemen dazu beitragen, die L¨ osung bestimmter mathematischer Problemstellungen signifikant zu vereinfachen. So lassen sich mit ihrer Hilfe oftmals gekoppelte Systeme in eine Anzahl einfacher zu l¨ osende skalare Probleme transformieren. Aus physikalischer Sicht kann die Untersuchung von Eigenwertproblemen einen Einblick in das Verhalten sich entwickelnder Systeme vermitteln, die mathematisch durch lineare Gleichungen charakterisiert sind. Bekannte Beispiele hierf¨ ur sind das Studium der Resonanz (zum Beispiel die Resonanz von Musikinstrumenten, wenn sie geschlagen, gezupft oder gestrichen werden) und der Stabilit¨ at (zum Beispiel die Stabilit¨ at von Fl¨ ussigkeitsstr¨ omen, die kleinen St¨ orungen ausgesetzt sind). In derartigen F¨ allen erweisen sich die Eigenwertprobleme als besonders n¨ utzlich, um das Verhalten des jeweiligen Systems f¨ ur große Zeiten t zu analysieren. Die Bedingung, daß die Gleichung (3.1) eine nichttriviale L¨ osung besitzt, ist ¨ aquivalent zu jeder der folgenden drei Aussagen: • die Matrix λI − A bildet einen nichtverschwindenden Vektor x in 0 ∈ Rn ab, • die Matrix λI − A ist singul¨ ar, sowie • det(λI − A) = 0. Letztere Beziehung l¨ aßt sich (theoretisch) dazu verwenden, um die Nullstellen λ dieser Gleichung, und damit die Eigenwerte von A, zu berechnen. Sie ist als die charakteristische Gleichung der Matrix A bekannt. In ausgeschriebener Form lautet sie ⎡ ⎤ λ − a11 −a12 −a13 ··· −a1n ⎢ −a21 λ − a22 −a23 ··· −a2n ⎥ ⎢ ⎥ ⎢ −a31 −a32 λ − a33 · · · −a3n ⎥ det(λI − A) = det ⎢ (3.3) ⎥ = 0. ⎢ ⎥ .. .. .. .. .. ⎣ ⎦ . . . . . −an1

−an2

−an3

···

λ − ann

Die Entwicklung der obigen Determinante f¨ uhrt auf ein Polynom vom Grad n in der Variablen λ χA (λ) ≡ det(λI − A) = λn + an−1 λn−1 + · · · + a2 λ2 + a1 λ + a0 ,

(3.4)

das charakteristisches Polynom von A genannt wird. Nach dem Fundamentalsatz der Algebra besitzt ein Polynom vom Grad n genau n Wurzeln (bei Ber¨ ucksichtigung von

3.1 Eigenwerte und Eigenvektoren

137

Vielfachheiten). Somit existieren f¨ ur eine Matrix der Dimension n×n genau n Eigenwerte. Dieser theoretische Zugang u ber das zu einer Matrix A geh¨ orende charakteristische ¨ ur die numerische Behandlung von (3.1) leider nicht sachgem¨ aß, Polynom χA (λ) ist f¨ wie im folgenden gezeigt wird.

3.1.1

Stetigkeitsaussagen

Da man beim numerischen Rechnen auf einem Computer stets Rundungsfehler zu ber¨ ucksichtigen hat, sind die folgenden zwei Problemstellungen f¨ ur das weitere Vorgehen von entscheidender Bedeutung. 1. Problem:

Wie ver¨ andern sich die Wurzeln des Polynoms χA (λ) als Funktion seiner Koeffizienten a0 , a1 , . . . , an−1 ?

und

2. Problem:

Wie ver¨ andern sich die Eigenwerte und Eigenvektoren einer Matrix A = (aij ) als Funktion ihrer Elemente aij ?

Es ist leicht nachzupr¨ ufen, daß die Wurzeln von ⎡ −an−1 · · · ⎢ 1 0 ⎢ Bχ ≡ ⎢ .. . .. ⎣ . 0

···

χA (λ) die Eigenwerte der Matrix ⎤ · · · −a0 ··· 0 ⎥ ⎥ (3.5) .. ⎥ .. . . ⎦ 1

0

sind. Sie wird auch als Begleitmatrix zum charakteristischen Polynom (3.4) bezeichnet. Somit stellt das erste Problem eigentlich einen Spezialfall vom zweiten dar. Wenden wir uns der ersten Problemstellung zu. Bez¨ uglich des charakteristischen Polynoms gilt die folgende Aussage. ¨ ber die Stetigkeit der Wurzeln) Satz 3.1. (Satz u Es sei χA (λ) das Polynom (3.4) mit den Koeffizienten a0 , a1 , . . . , an−1 und den Wurzeln λ1 , . . . , λn . Dann existiert zu jedem hinreichend kleinen ε > 0 ein δ > 0, so daß die Wurzeln μi des Polynoms p(λ) = λn + bn−1 λn−1 + · · · + b2 λ2 + b1 λ + b0 , mit |bi − ai | ≤ δ, i = 0, . . . , n − 1, so angeordnet werden k¨ onnen, daß gilt |λi − μi | ≤ ε,

i = 1, . . . , n.

Beweis: Siehe z.B. die Monographie von J. H. Wilkinson1 . 1

J. H. Wilkinson: The Algebraic Eigenvalue Problem. Clarendon Press, Oxford, 1965.



Kapitel 3 Eigenwertprobleme

138

Der Satz 3.1 impliziert jedoch nicht, daß die Wurzeln eines Polynoms gut konditioniert bez¨ uglich kleinen St¨ orungen in den zugeh¨ origen Koeffizienten (Eingabedaten) sind. Als einfaches Gegenbeispiel l¨ aßt sich das triviale Polynom λn = 0,

d.h. a0 = · · · = an−1 = 0

angeben. Eine Ab¨ anderung von a0 = 0 zu a0 = −ε (ε > 0 und sehr klein) ergibt λn − ε = 0. Die zugeh¨ origen Wurzeln sind 1

λj = ω j ε n ,

j = 1, 2, . . . , n,

wobei ω ≡ exp (2πi/n) die n-te Einheitswurzel bezeichnet. Somit erzeugt die Modi¨ fikation nur eines Koeffizienten in der Gr¨ oßenordnung von ε bereits eine Anderung 1 vom Betrag ε n in der Wurzel. Dar¨ uber hinaus wird die mehrfache Wurzel λ = 0 in n einfache Wurzeln zerlegt, die symmetrisch um den Ursprung in der komplexen Ebene angeordnet sind. Nimmt man beispielsweise n = 100 und ε = 10−100 an, dann berech1 net sich ε n = 10−1 . Damit liegt die Ab¨ anderung der Wurzel gr¨ oßenordnungsm¨ aßig bei anderung des Koeffizienten. Folglich sind mehrfache Wuretwa dem 1099 -fachen der Ab¨ zeln eines Polynoms schlecht konditioniert. Aber auch gut separierte Wurzeln k¨ onnen schlecht konditioniert sein, wie das nachfolgende Beispiel anschaulich zeigt. Beispiel 3.1. Wir betrachten das Polynom p(λ) =

20 .

(λ − k).

k=1

Das zugeh¨ orige gest¨ orte Polynom sei pˆ(λ) = p(λ) − ελ19 . Mit einer sehr kleinen St¨ orung −23 −7 ≈ 10 besitzt das so modifizierte Problem die Wurzeln ε=2 1.0 6.0 2.0 7.0 3.0 8.0 4.0 8.9 5.0 10.1 ± 0.6i

11.8 ± 1.7i 14.0 ± 2.5i 16.7 ± 2.8i 19.5 ± 1.9i 20.8

Der Koeffizient von x19 in p(λ) ist gleich 210. Eine Ab¨ anderung dieses Koeffizienten um anderung in den Wurzeln, daß einige von ihnen 10−7 % erzeugt eine solch drastische Ver¨ sogar komplexe Werte annehmen!  Wir wollen nun die zweite Problemstellung betrachten. In exakter Arithmetik kann die folgende Aussage gezeigt werden. ¨ ber die Stetigkeit der Eigenwerte) Satz 3.2. (Satz u Die Eigenwerte einer Matrix sind stetige Funktionen der Elemente der Matrix.

3.1 Eigenwerte und Eigenvektoren

139 

Beweis: Siehe z.B. die Monographie von J. H. Wilkinson1 .

Die Empfindlichkeit (Kondition) der Eigenwerte einer Matrix gegen¨ uber kleinen St¨ orungen in den Matrixelementen l¨ aßt sich i.allg. nur sehr schwer absch¨ atzen. F¨ ur einfache Eigenwerte kann man jedoch relativ einfach eine Konditionszahl herleiten. Hierzu wollen ogen wir annehmen, daß λ ein einfacher Eigenwert von A ∈ Cn×n ist. Des weiteren m¨ ullen, mit x 2 = y 2 = 1. Vektoren x, y existieren, die Ax = λx und y H A = λy H erf¨ Klassische Resultate der Funktionentheorie implizieren, daß es in einer Umgebung des Ursprungs differenzierbare Funktionen x(ε) und λ(ε) gibt, so daß (A + εF )x(ε) = λ(ε)x(ε),

F 2 = 1, x(ε) 2 ≡ 1,

wobei λ(0) = λ und x(0) = x gilt. Differenziert man die obige Gleichung bez¨ uglich ε und setzt im Ergebnis ε = 0, dann erh¨ alt man ˙ Ax(0) ˙ + F x = λ(0)x + λx(0). ˙ Hieraus ergibt sich nach Multiplikation mit y H und Division durch y H x sowie unter Beachtung von (2.82)

H

y Fx 1 ˙ |λ(0)| =

H

≤ H . y x |y x| Die obere Schranke wird f¨ ur F = yxH angenommen. Man nennt deshalb die Gr¨ oße κ(λ) ≡

1 , s(λ)

mit

s(λ) ≡ |y H x|

(3.6)

die Konditionszahl des Eigenwertes λ. Treten in A St¨ orungen von der Gr¨ oßenordnung O(ε) auf, dann kann hierdurch ein zugeh¨ origer Eigenwert λ um den Betrag εκ(λ) verf¨ alscht werden. Ist s(λ) klein (d.h., κ(λ) ist groß), dann spricht man von einem schlecht konditionierten Eigenwert λ. Zu beachten ist dabei auch, daß s(λ) den Kosinus des Winkels zwischen den linken und rechten Eigenvektoren von λ darstellt. Dieser erweist sich nur dann als eindeutig, falls λ einfach ist. Ein kleiner Wert von s(λ) impliziert somit, daß A zu einer Matrix benachbart ist, die einen mehrfachen Eigenwert besitzt. Es kann insbesondere gezeigt werden2 : Ist λ einfach und s(λ) < 1, dann existiert eine Matrix E, so daß λ ein mehrfacher Eigenwert von A + E ist, mit

E 2 s(λ) ≤ .

A 2 1 − s(λ)2 Im allgemeinen trifft die Aussage des Satzes 3.2 auf die Eigenvektoren einer Matrix nicht zu. F¨ ur einfache Eigenwerte l¨ aßt sich jedoch das folgende Resultat zeigen. 1 2

J. H. Wilkinson: The Algebraic Eigenvalue Problem. Clarendon Press, Oxford, 1965. Siehe z.B. J. H. Wilkinson: Note on matrices with a very ill-conditioned eigenproblem. Numer. Math. 19 (1972), pp. 176–178.

Kapitel 3 Eigenwertprobleme

140

¨ ber die Stetigkeit der Eigenvektoren) Satz 3.3. (Satz u Es sei λ ein einfacher Eigenwert der Matrix A und x = 0 der zugeh¨ orige Eigenvektor. Des weiteren bezeichne E eine Matrix gleicher Dimension. Dann besitzt die gest¨orte Matrix A + E einen Eigenwert λ(E) und einen Eigenvektor x(E), mit der Eigenschaft λ(E) → λ und x(E) → x f¨ ur E → 0. 

Beweis: Siehe z.B. die Monographie von J. H. Wilkinson 1.

3.1.2

Eigenschaften symmetrischer Matrizen

In diesem Abschnitt setzen wir voraus, daß die Matrix A symmetrisch ist, d.h., es m¨oge AT = A gelten. Eigenwertprobleme mit symmetrischen Matrizen treten in den Anwendungen sehr h¨ aufig auf. Des weiteren besitzen derartige Matrizen f¨ ur die numerische Behandlung des Eigenwertproblems (3.1) besonders g¨ unstige Eigenschaften, die hier summarisch zusammengestellt werden sollen. Die zugeh¨ origen Beweise findet man in den Standardtexten zur Linearen Algebra, so zum Beispiel in der Monographie von Golub und Van Loan2 . F¨ ur jede symmetrische Matrix gilt: • Das zugeh¨ orige charakteristische Polynom (3.4) besitzt genau n reelle Nullstellen λj , j = 1, . . . , n, d.h., es existieren genau n reelle Eigenwerte λj , die entsprechend ihrer Vielfachheit zu z¨ ahlen sind. • Die zu verschiedenen Eigenwerten λi = λj geh¨ orenden Eigenvektoren x(i) und x(j) sind notwendig orthogonal , d.h., sie erf¨ ullen (x(i) )T x(j) = 0. • Zu einem p-fachen Eigenwert λ = λ1 = · · · = λp existieren p linear unabh¨ angige Eigenvektoren x(1) , . . . , x(p) . Jede Linearkombination dieser Vektoren ist wieder ein Eigenvektor zum Eigenwert λ. Die Gesamtheit aller solcher Linearkombinationen wird mit span{x(1) , . . . , x(p) } ≡ {x ∈ Rn : x = α1 x(1) + · · · + αp x(p) ;

αj ∈ R}

bezeichnet und heißt der durch x(1) , . . . , x(p) aufgespannte p-dimensionale Teilraum, beziehungsweise der zu λ geh¨ orende Eigenraum. • Zu jeder symmetrischen Matrix A ∈ Rn×n existieren eine orthogonale Matrix Q ∈ Rn×n und eine Diagonalmatrix Λ ∈ Rn×n , so daß gilt: A = Q Λ QT . 1 2

(3.7)

J. H. Wilkinson: The Algebraic Eigenvalue Problem. Clarendon Press, Oxford, 1965. G. H. Golub and C. F. Van Loan: Matrix Computations. The Johns Hopkins University Press, Baltimore and London, 1996.

3.1 Eigenwerte und Eigenvektoren

141

Die Diagonalelemente von Λ sind die Eigenwerte von A und die Spalten von Q enthalten die zugeh¨ origen Eigenvektoren. Aus (3.7) ergibt sich nach Links- und Rechtsmultiplikation mit QT bzw. Q: Λ = QT A Q = Q−1 A Q.

(3.8)

¨ arem M , wird AhnlichkeitsEine Transformation von A in A¯ ≡ M −1 AM , mit regul¨ transformation genannt. Die Matrizen A und A¯ heißen ¨ahnlich. Eine solche Trans¨ formation ¨andert die Eigenwerte nicht. Eine Ahnlichkeitstransformation mit or¨ thogonalem Q = M (siehe Formel (3.8)) bezeichnet man als orthogonale Ahnlichkeitstransformation. Eigenwerte und Symmetrie bleiben dabei erhalten. Es kann sehr einfach gezeigt werden: (λ, x) ist Eigenpaar von A genau dann, falls (λ, x ¯) Eigenpaar von A¯ ist. Zwischen x und x ¯ besteht der Zusammenhang x = Q¯ x

3.1.3

bzw.

x ¯ = QT x.

(3.9)

Gerschgorin Kreise

Wie wir in Abschnitt 3.2 sehen werden, erfordert die Anwendung von Iterationsverfahren zur Berechnung der Eigenwerte und Eigenvektoren von Matrizen gewisse Vorkenntnisse hinsichtlich der Lage dieser Eigenwerte. Mit der sogenannten Technik der Gerschgorin-Kreise lassen sich gewisse Schranken f¨ ur die Eigenwerte einer Matrix geometrisch ermitteln. Es sei A = (aij ) eine komplexwertige Matrix der Dimension n × n. Wir suchen Bedingungen daf¨ ur, daß eine komplexe Zahl z ∈ C kein Eigenwert von A ist. Hierzu werde definiert: σi ≡

n 

|aij |

f¨ ur

i = 1, 2, . . . , n.

(3.10)

i = 1, 2, . . . , n.

(3.11)

j=1 j=i

Es gilt nun der Satz 3.4. Die komplexe Zahl z ∈ C erf¨ ulle |z − aii | > σi

f¨ ur

Dann ist z kein Eigenwert von A. Beweis: Um die Behauptung zu zeigen, gehen wir von der Gegenannahme aus, d.h., wir nehmen an, daß es zum Eigenwert z einen Eigenvektor x gibt, mit: Ax = zx,

x = 1.

Kapitel 3 Eigenwertprobleme

142

Die obige Eigenwertgleichung l¨ aßt sich mit D ≡ diag(a11 , . . . , ann ) und B ≡ A − D wie folgt formulieren [(D − zI) + B]x = 0. Die Matrix D −zI ist eine Diagonalmatrix mit den Diagonalelementen aii −z, die wegen der Voraussetzung (3.11) nicht verschwinden. Somit ist D − zI regul¨ ar und man erh¨ alt ˜ x = −(D − zI)−1 Bx ≡ Bx.

(3.12)

˜ ist gegeben zu Die Summe der Betr¨ age der Elemente in der i-ten Zeile von B  1 |aij |, |aii − z| j=1 n

σ ˜i =

i = 1, 2, . . . , n.

j=i

˜ ist nach oben Wegen (3.11) gilt σ ˜i < 1, i = 1, . . . , n, d.h., die Zeilensummennorm von B echt durch Eins beschr¨ ankt. Deshalb besitzt die lineare Fixpunktgleichung (3.12) genau eine L¨ osung. Wie man unschwer erkennt, erf¨ ullt aber auch x = 0 diese Gleichung, was im Widerspruch dazu steht, daß x ein Eigenvektor ist. Somit handelt es sich bei z sicher um keinen Eigenwert.  Um dieses Resultat noch anschaulicher zu formulieren, werde Ri ≡ {z ∈ C : |z − aii | ≤ σi },

i = 1, 2, . . . , n,

(3.13)

definiert. Die Kreisscheiben Ri heißen (zeilenorientierte) Gerschgorin-Kreise. Da f¨ ur die Eigenwerte z die Bedingung (3.11) nicht erf¨ ullt ist, gilt der folgende Satz. Satz 3.5. Jeder Eigenwert einer komplexwertigen Matrix liegt in der Vereinigung ihrer Gerschgorin-Kreise. Beweis: Die Aussage wurde durch die obige Herleitung gezeigt.



Die Lage der Eigenwerte l¨ aßt sich noch genauer analysieren, wie in der Folgerung 3.1 aufgezeigt wird. Folgerung 3.1. Ist U die Vereinigung von k und V die Vereinigung der u ¨brigen Gerschgorin-Kreise einer komplexwertigen Matrix, und sind U und V disjunkt, dann enth¨ alt U unter Ber¨ ucksichtigung von Vielfachheiten genau k Eigenwerte. Beweis: Wir betrachten die durch t ∈ R parametrisierte Schar von Matrizen A(t) ≡ D + t B,

0 ≤ t ≤ 1.

Es gilt A(0) = D und A(1) = A. F¨ ur t = 0 ist die Aussage auf Grund von Satz 3.5 offensichtlich richtig. Da die Eigenwerte von A(t) mit den Nullstellen des charakteristischen Polynoms χA(t) (λ) u ¨bereinstimmen und diese stetige Funktionen der Koeffizienten des

3.1 Eigenwerte und Eigenvektoren

143

Polynoms sind (Satz 3.1), h¨ angen die Eigenwerte von A(t) stetig von dem Parameter t ab. Damit folgt die Aussage unmittelbar, wenn man t von 0 nach 1 laufen l¨ aßt.  Bemerkung 3.1. Die obigen Aussagen behalten ihre G¨ ultigkeit, wenn man Kreisscheiage der Nicht-Diagonalben Ri∗ zugrunde legt, deren Radien sich als Summe der Betr¨ elemente der jeweiligen Spalte ergeben, d.h., wenn man anstelle von σi (siehe Formel (3.10)) die Radien σi∗ ≡

n 

|aji | f¨ ur i = 1, 2, . . . , n,

(3.14)

j=1 j=i

verwendet. Wir sprechen in diesem Falle von spaltenorientierten Gerschgorin-Kreisen.  Beispiel 3.2. Gegeben sei die Matrix ⎤ ⎡ 21 0 1 −1 −2 ⎢ 1 −11 1 3 2 ⎥ ⎢ ⎥ ⎢ 3 −3 ⎥ A = ⎢ 0 −1 −13 ⎥. ⎣ 3 0 −1 21 3 ⎦ −3 2 −1 2 9

(3.15)

Die zugeh¨ origen Eigenwerte sind λ1/2 = 0.214577575 · 102 ± 0.163182200 · 101 i, λ4 = −0.123961420 · 102 ,

λ3 = 0.828017514 · 101 , λ5 = −0.117995481 · 102 .

Wie man leicht nachrechnet, besitzt die Matrix A die zeilenorientierten GerschgorinKreise: R1 = {z ∈ C :

|z − 21| ≤ 4},

R2 = {z ∈ C :

|z + 11| ≤ 7},

R3 = {z ∈ C :

|z + 13| ≤ 7},

R4 = {z ∈ C :

|z − 21| ≤ 7},

R5 = {z ∈ C :

|z − 9| ≤ 8}.

In der Abbildung 3.1 sind die zeilenorientierten Gerschgorin-Kreise der Matrix (3.15) angegeben. Die entsprechenden spaltenorientierten Gerschgorin-Kreise (siehe die Bemerkung 3.1) sind: R1∗ = {z ∈ C :

|z − 21| ≤ 7},

R2∗ = {z ∈ C :

|z + 11| ≤ 3},

= {z ∈ C :

|z + 13| ≤ 4},

R4∗

|z − 21| ≤ 9},

R5∗ = {z ∈ C :

|z − 9| ≤ 10}.

R3∗

= {z ∈ C :

144

Kapitel 3 Eigenwertprobleme

Abbildung 3.1: Die zeilenorientierten Gerschgorin-Kreise der Matrix A in der komplexen Ebene. (Das Symbol ∗“ kennzeichnet die Eigenwerte.) ”

Die graphische Darstellung dieser Kreise kann der Abbildung 3.2 entnommen werden.

Abbildung 3.2: Die spaltenorientierten Gerschgorin-Kreise der Matrix A in der komplexen Ebene. (Das Symbol ∗“ kennzeichnet die Eigenwerte.) ”

3.2 Nichtsymmetrisches Eigenwertproblem: die Potenzmethode

145

¨ In beiden F¨ allen erkennt man zwei zusammenh¨ angende Bereiche. In Ubereinstimmung mit der Folgerung 3.1 enth¨ alt der erste Bereich zwei Eigenwerte, w¨ ahrend sich im zweiten Bereich die verbleibenden drei Eigenwerte befinden. Die Absch¨ atzung l¨ aßt sich aber noch durch die Betrachtung des Durchschnittes der zeilenorientierten und spaltenorientierten Gerschgorin-Kreise verbessern, wie die Abbildung 3.3 zeigt.

Abbildung 3.3: Der Durchschnitt beider Kreismengen der Matrix A in der komplexen Ebene. (Das Symbol ∗“ kennzeichnet die Eigenwerte.) ”

F¨ ur den Spektralradius von A bekommt man somit die (sehr grobe) Einschließung ρ(A) = max |λi | : 1≤i≤5

1 ≤ ρ(A) ≤ 28.

Folglich handelt es sich bei A um keine konvergente Matrix.

3.2 3.2.1



Nichtsymmetrisches Eigenwertproblem: die Potenzmethode Das Grundverfahren

Die im folgenden beschriebene Potenzmethode erm¨ oglicht die numerische Berechnung eines bestimmten Eigenwertes und des dazugeh¨ origen Eigenvektors. Das Verfahren ist auch unter dem Namen Vektoriteration bekannt. Seine Anwendung ist jedoch an einschneidende Bedingungen gebunden.

Kapitel 3 Eigenwertprobleme

146

Voraussetzung 3.1. Die Matrix A der Dimension n × n besitze die n Eigenwerte origen Eigenvektoren v (1) , . . . , v (n) , die linear unabh¨ angig seiλ1 , . . . , λn mit den zugeh¨ en. Des weiteren werde vorausgesetzt, daß A genau einen Eigenwert enth¨ alt, der betragsm¨ aßig alle anderen u ¨berragt (im folgenden als dominanter Eigenwert bezeichnet): |λ1 | > |λ2 | ≥ |λ3 | ≥ · · · ≥ |λn | ≥ 0.

(3.16) 

Wegen der linearen Unabh¨ angigkeit der Eigenvektoren v (1) , . . . , v (n) existieren zu ei(0) nem beliebigen Vektor x ∈ Cn reelle Konstanten α1 , . . . , αn , so daß sich dieser als aßt: Linearkombination der v (j) darstellen l¨ x(0) =

n 

αj v (j) .

(3.17)

j=1

Die sukzessive Multiplikation beider Seiten von (3.17) mit A, A2 , . . . , Ak ergibt Ax(0) A2 x(0)

=

=

n  j=1 n 

αj Av (j) =

=

Ak x(0)

=

.. . n 

αj λj v (j) ,

j=1

αj λj Av (j) =

j=1

.. .

n 

n 

αj λ2j v (j) ,

j=1

(3.18) αj λkj v (j) .

j=1

Zieht man nun den Faktor α1 λk1 aus jedem Summanden auf der rechten Seite heraus, so resultiert: 1 Ak x(0) = α1 λk1

α2 v (1) + α1



λ2 λ1

k

αn v (2) + · · · + α1



λn λ1

k

2 v (n) .

(3.19)

ur k → ∞ die KoeffizienDie Voraussetzung |λ1 | > |λj |, j = 2, 3, . . . , n, impliziert, daß f¨ ten von v (2) , . . . , v (n) gegen Null konvergieren. Bis auf den Vorfaktor α1 λk1 unterscheidet sich Ak x(0) somit immer weniger von v (1) , d.h., die Richtung von Ak x(0) approximiert f¨ ur k → ∞ diejenige von v (1) beliebig genau. F¨ ur die numerische Bestimmung des Eigenvektors v (1) ist die Vorgehensweise (3.18) jedoch noch nicht geeignet, da f¨ ur k → ∞ der Vorfaktor α1 λk1 in (3.19) im Falle |λ1 | < 1 gegen Null bzw. im Falle |λ1 | > 1 gegen ∞ konvergiert, so daß entweder mit Exponentenunterlauf oder Exponenten¨ uberlauf gerechnet werden muß. Diese numerischen

3.2 Nichtsymmetrisches Eigenwertproblem: die Potenzmethode

147

Schwierigkeiten lassen sich aber beseitigen, indem man die Potenzen von Ak x(0) geeignet skaliert. ahlen, Zu Beginn der skalierten Variante hat man einen Startvektor x(0) ∈ Cn auszuw¨ f¨ ur den gilt: (0)

x(0) ∞ = 1 ≡ xp0 .

(3.20)

Die Norm · ∞ ist f¨ ur Elemente aus Cn analog wie im reellen Fall zu verstehen. Durch (3.20) ist ein Index p0 festgelegt. Es sei y (1) ≡ Ax(0) =

n 

αj Av (j) =

j=1

n 

αj λj v (j) .

j=1

(1)

Dann berechnet sich μ(1) ≡ yp0 zu: (1) α 1 λ1 v p 0

(1)

μ

(1)

yp = 0 = 1

+

n 

⎡ αj λj vp(j) 0

j=2 (1)

α1 v p0 +

n 

αj vp(j) 0

⎤ λj (j) + αj v p0 ⎥ λ1 ⎥ j=2 ⎥. n ⎥  ⎦ (1) α 1 v p0 + αj vp(j) 0 n 

(1) ⎢ α1 v p0

⎢ = λ1 ⎢ ⎢ ⎣

j=2

j=2

Mit p1 , 1 ≤ p1 ≤ n, werde diejenige kleinste ganze Zahl bezeichnet, f¨ ur welche (1) (1) ur den |yp1 | = y (1) ∞ gilt. Schließlich definiert man den Vektor x(1) ≡ y (1) /yp1 , f¨ (1) (1) xp1 = 1 = x ∞ gilt. Damit ist der erste Iterationsschritt des Verfahrens abgeschlossen. Im zweiten Schritt bestimmt man y (2) ≡ Ax(1) =

=

1

Ay (1) = (1)

yp 1

n 1  (1)

yp 1

αj λj Av (j) =

j=1

α1 λ21 v (1) + α2 λ22 v (2) + · · · + αn λ2n v (n) (1)

(2)

(n)

α 1 λ 1 v p 1 + α 2 λ 2 v p 1 + · · · + α n λn v p1

= μ(2) ≡ yp(2) 1 ⎡

n 1  (1)

yp1

αj λ2j v (j)

j=1

,

(1)

(2)

(n)

(1)

(2)

(n)

α1 λ21 vp1 + α2 λ22 vp1 + · · · + αn λ2n vp1 α 1 λ 1 v p 1 + α 2 λ 2 v p1 + · · · + α n λn v p 1

⎤  2  2 (1) (2) (n) λ2 λn α v v v p1 + α 2 λ 1 p1 + · · · + αn λ 1 p1 1 ⎢ ⎥     = λ1 ⎣ ⎦, (1) (2) (n) λ2 λn α1 v p1 + α 2 λ 1 v p1 + · · · + αn λ 1 v p1

Kapitel 3 Eigenwertprobleme

148 p2 : 1 ≤ p2 ≤ n, x(2) ≡

1 (2) yp 2

|yp(2) | = y (2) ∞ , 2

y (2) .

Die weiteren Iterationsschritte ergeben sich entsprechend, so daß ein beliebiger Schritt der Potenzmethode wie folgt dargestellt werden kann.

k-ter Schritt Potenzmethode y

(k)

=

Ax(k−1) , ⎡

μ

(k)



(k) ypk−1

⎢ ⎢ = λ1 ⎢ ⎢ ⎣

(1) α1 vpk−1

(1)

+

α1 vpk−1 +

k n  λj

j=2 n  j=2

1 ≤ pk ≤ n,

pk : x(k)



y (k) (k)

⎤ αj vp(j) k−1

⎥ λ1 ⎥ ⎥ k−1 ⎥ λj ⎦ αj vp(j) k−1 λ1

(k)

|ypk | = y (k) ∞ ,

(3.21)

und

.

yp k

Neben der Voraussetzung 3.1 m¨ oge noch eine weitere Bedingung an den Startvektor ullt sein. x(0) erf¨ Voraussetzung 3.2. In der Darstellung (3.17) des Startvektors x(0) gelte α1 = 0.  Ist diese Voraussetzung in der Praxis nicht erf¨ ullt (das stellt man i.allg. anhand der Divergenz der Potenzmethode fest), dann wird u ¨blicherweise der Startvektor x(0) gewechselt. Im Englischen bezeichnet man ein solches Vorgehen als trial and error“. ” Der Verfahrensvorschrift (3.21) ist zu entnehmen, daß sich unter den Voraussetzungen λj 3.1 und 3.2 wegen | | < 1, j = 2, . . . , n, der Grenzwert λ1 lim μ(k) = λ1

k→∞

(3.22)

ergibt. Es kann dar¨ uber hinaus gezeigt werden, daß die Vektorfolge {x(k) }∞ k=0 gegen einen Eigenvektor v, mit v ∞ = 1, konvergiert, der zum dominanten Eigenwert λ1 geh¨ort1 . 1

Siehe J. H. Wilkinson: The Algebraic Eigenvalue Problem. Clarendon Press, Oxford 1965, pp. 570–572.

3.2 Nichtsymmetrisches Eigenwertproblem: die Potenzmethode

149

F¨ ur die genauere Untersuchung der Konvergenzeigenschaften des Verfahrens ben¨ otigen wir den Begriff der Konvergenzordnung.  Definition 3.1. Es sei {x(k) }∞ k=0 eine Folge, die gegen den Grenzwert x konvergiert. (k) (k) (k)  Weiter bezeichne e den absoluten Fehler e ≡ x − x , k ≥ 0. Existieren positive Konstanten α und β mit

e(k+1) = β, k→∞ e(k) α lim

(3.23)

dann besitzt {x(k) }∞ k=0 die Konvergenzordnung α mit der asymptotischen Fehlerkonstanten β.  Gilt α = 1, dann spricht man von linearer Konvergenz, im Falle α = 2 von quadratischer Konvergenz. Ist insbesondere α > 1, dann handelt es sich um superlineare Konvergenz. Lineare Konvergenz bedingt, daß eine asymptotische Fehlerkonstante β kleiner als eins vorliegt. Insbesondere konvergiert hier die Folge um so schneller, je kleiner β ist. Offensichtlich wird die Konvergenzgeschwindigkeit der Folge {μ(k) }∞ k=1 → λ1 durch (λj /λ1 )k , j = 2, 3, . . . , n, beeinflußt. Der entscheidende Term dabei ist (λ2 /λ1 )k , d.h., das Konvergenzverhalten dieser Folge l¨ aßt sich symbolisch in der Form # $

λ2 k |μ(k) − λ1 | = O



(3.24) λ1 ausdr¨ ucken. Mit anderen Worten formuliert heißt dies, es existiert eine positive Konstante C, so daß gilt: |μ(k) − λ1 | lim = C. (3.25)

k k→∞

λ2



λ1 Damit ergibt sich

|μ(k+1) − λ1 |

λ2

= . lim k→∞ |μ(k) − λ1 | λ1

(3.26)

Die Formel (3.26) sagt aus, daß hier lineare Konvergenz vorliegt (α = 1), die um so schneller verl¨ auft, je kleiner β = |λ2 /λ1 | ist. Bemerkung 3.2. F¨ ur die Konvergenz der Potenzmethode ist es eigentlich nicht erforderlich, daß die Matrix A nur einfache Eigenwerte besitzt (wie oben vereinfachend angenommen wurde). So gilt: • Ist die Vielfachheit des betragsgr¨ oßten Eigenwertes λ1 gleich r, r > 1, und sind v (1) , . . . , v (r) die zugeh¨ origen linear unabh¨ angigen Eigenvektoren, dann konveraßt. giert die Potenzmethode ebenfalls gegen λ1 , wie sich leicht zeigen l¨

Kapitel 3 Eigenwertprobleme

150

• Die Folge {x(k) }∞ orenden und auf eins nork=0 konvergiert gegen einen, zu λ1 geh¨ mierten Eigenvektor, der sich als Linearkombination von v (1) , . . . , v (r) darstellt angt.  und von der Wahl des Startvektors x(0) abh¨

3.2.2

Inverse Potenzmethode

Die sogenannte inverse Potenzmethode basiert auf der soeben beschriebenen gew¨ ohnlichen Potenzmethode, f¨ uhrt aber i.allg. zu schnellerer Konvergenz. Sie erm¨ oglicht zudem die numerische Approximation eines beliebigen (nicht zwingend betragsgr¨ oßten!) Eigenwertes. Wie bisher werde davon ausgegangen, daß die Matrix A die Eigenwerte λ1 , . . . , λn so¨ uhrt wie die zugeh¨ origen linear unabh¨ angigen Eigenvektoren v (1) , . . . , v (n) besitzt. Uberf¨ man nun die Matrix A unter Verwendung einer noch geeignet zu w¨ ahlenden Zahl q ∈ C in die Matrix B ≡ (A − qI)−1 ,

q = λi ,

i = 1, 2, . . . , n,

(3.27)

dann ergibt sich der folgende Satz. Satz 3.6. Die Eigenwerte der in Formel (3.27) definierten Matrix B sind (λ1 − q)−1 , (λ2 − q)−1 , . . . , (λn − q)−1 . Die zugeh¨ origen Eigenvektoren von B stimmen mit denen der Matrix A u ¨berein, d.h., die Eigenvektoren sind v (1) , . . . , v (n) . Beweis: Mit dem Eigenvektor w und dem Eigenwert γ lautet das Eigenwertproblem f¨ ur die neue Matrix B: Bw = γw,

d.h., (A − qI)−1 w = γw.

Hieraus erh¨ alt man w = γ(A − qI)w und nach Umordnung Aw = gilt λ =

1 + γq 1 , d.h., γ = und w = v. γ λ−q

1 + γq w. Folglich γ 

Die inverse Potenzmethode ergibt sich nun aus der direkten Anwendung der gew¨ ohnalt: lichen Potenzmethode auf die Matrix B ≡ (A − qI)−1 . Man erh¨

3.2 Nichtsymmetrisches Eigenwertproblem: die Potenzmethode

151

k-ter Schritt inverse Potenzmethode y (k)

=

(A − qI)−1 x(k−1) , n 

μ(k)

=

1 ≤ pk ≤ n,

pk : x(k)

(k)

ypk−1 =

(k) ypk−1 (k−1) xpk−1

=

y (k) (k)

=

j=1

αj

1 v (j) (λj − q)k pk−1

n 

1 αj v (j) k−1 pk−1 (λ − q) j j=1

(k)

|ypk | = y (k) ∞

, (3.28)

und

.

ypk

Die Folge {μ(k) } konvergiert jetzt gegen 1/(λl − q), mit 1 1 ≡ max . |λl − q| 1≤i≤n |λi − q|

(3.29)

Dabei bezeichnet λl denjenigen Eigenwert von A, der zu q am n¨ achsten liegt. Ist der Index l explizit bekannt, dann l¨ aßt sich μ(k) in (3.28) wie folgt schreiben: ⎡ ⎤ ,k + n  λl − q (l) (j) v + α v α l pk−1 j ⎢ pk−1 ⎥ λj − q ⎢ ⎥ j=1 ⎢ ⎥ 1 j = l ⎢ ⎥ μ(k) = (3.30) ⎢ ⎥. , + n (k−1) ⎥  λl − q ⎢ λl − q (j) ⎥ ⎢ α vp(l) + αj vpk−1 ⎦ ⎣ l k−1 λj − q j=1 j=l

Offensichtlich wird durch die Festlegung der Zahl q das Konvergenzverhalten der Folge {μ(k) }∞ achlich Konvergenz eintritt, muß 1/(λl − q) ein eink=1 bestimmt. Damit tats¨ deutig dominanter Eigenwert von B sein. Je n¨ aher man q an den Eigenwert λl von A platziert, um so mehr erh¨ oht sich die Konvergenzgeschwindigkeit. F¨ ur die zugeh¨ orige Konvergenzordnung gilt n¨ amlich:

(k+1) 1

μ



λl − q

λl − q

= lim

, (3.31)

k→∞ λ−q

μ(k) − 1

λl − q wobei λ denjenigen Eigenwert von A bezeichnet, der nach λl den kleinsten Abstand zu q aufweist.

Kapitel 3 Eigenwertprobleme

152

F¨ ur die praktische Realisierung des Verfahrens sind noch die folgenden Gesichtspunkte von Interesse. Bemerkung 3.3. • Die Berechnung von y (k) in (3.28) wird i.allg. mittels Gauß-Elimination vorgenommen. Die LU -Faktorisierung ist dabei nur einmal erforderlich. • F¨ ur die Berechnung eines bestimmten Eigenwertes mit der inversen Potenzmethode kann eine Sch¨ atzung von q durch die Methode der Gerschgorin-Kreise vorgenommen werden. • Zu einem vorgegebenen Startvektor x(0) l¨ aßt sich eine Sch¨ atzung f¨ ur den Eigenwert u ¨ber den sogenannten Rayleigh-Quotienten bestimmen:

q=

(x(0) )T Ax(0) . (x(0) )T x(0) 

3.2.3

Deflationstechniken

Zahlreiche Techniken sind m¨ oglich, um weitere Eigenwerte einer Matrix zu approximieren, wenn bereits eine N¨ aherung f¨ ur den dominanten Eigenwert ermittelt wurde. Wir betrachten hier gewisse Abspaltungsverfahren, die unter dem Begriff Deflationstechniken bekannt sind. Ihr Grundprinzip l¨ aßt sich wie folgt beschreiben: Aus der gegebenen Matrix A wird eine neue Matrix B konstruiert, die bis auf den dominanten Eigenwert die gleichen Eigenwerte wie A besitzt. Der dominante Eigenwert ist in B durch den Eigenwert Null ersetzt. Die Grundlage f¨ ur diese Deflationstechniken stellt der folgende Satz dar. origen Satz 3.7. Die n × n-Matrix A besitze die Eigenwerte λ1 , . . . , λn mit den zugeh¨ Eigenvektoren v (1) , . . . , v (n) . Die Vielfachheit von λ1 sei Eins. Ist x ein n-dimensionaler Vektor mit der Eigenschaft, daß xT v (1) = 1 gilt, dann besitzt die Matrix B ≡ A − λ1 v (1) xT

(3.32)

die Eigenwerte 0, λ2 , . . . , λn sowie die Eigenvektoren v (1) , w(2) , . . . , w(n) . Dabei stehen v (i) und w(i) wie folgt in Beziehung: v (i) = (λi − λ1 )w(i) + λ1 xT w(i) v (1) , Beweis:

=1

1) Bv = (A − λ1 v x )v = Av vektor von B zum Eigenwert 0. (1)

(1) T

(1)

(1)

− λ1 v

(1)

i = 2, 3, . . . , n.

(3.33)

   xT v (1) = 0 · v (1) , d.h., v (1) ist Eigen-

3.2 Nichtsymmetrisches Eigenwertproblem: die Potenzmethode

153

2) F¨ ur die Eigenvektoren w(2) , . . . , w(n) von B verwenden wir folgenden Ansatz (die unbekannten Parameter αi sind noch geeignet zu bestimmen): w(i) =

1 αi v (i) − v (1) , i = 2, . . . , n. λ i − λ1 λi − λ1

Man berechnet Bw(i)

= = =



1 αi v (i) − v (1) λ i − λ1 λ i − λ1 α λ1 αi λ1 (1) T (1) λi i v (i) − Av (1) − v (1) xT v (i) + v x v    λ i − λ1 λ i − λ1 λi − λ1 λ i − λ1 =1 + , 1 λ1 v (1) xT v (i) . λi v (i) − λi − λ 1 λi (λi − λ1 ) (A − λ1 v (1) xT )

Wird nun αi ≡

λ1 T (i) x v gesetzt, dann erkennt man unmittelbar, daß der Vektor λi w(i) =

1 λ1 xT v (i) v (1) v (i) − λ i − λ1 λi (λi − λ1 )

der Eigenvektor zum Eigenwert λi ist. Die Umstellung nach v (i) ergibt v (i) = (λi − λ1 )w(i) +

λ1 T (i) (1) x v v . λi

(3.34)

=1

Hieraus resultiert xT v (i)

   λ1 T (i) T (1) T (i) = (λi − λ1 )x w + x v x v . Diese Formel l¨ aßt λi

sich wie folgt umformen: λ i − λ1 λ1 xT v (i) = (λi − λ1 )xT w(i) → xT v (i) = (λi − λ1 )xT w(i) 1− λi λi → xT v (i) = λi xT w(i) . Setzt man das letzte Resultat in Formel (3.34) ein, so ergibt sich v (i) = (λi − λ1 )w(i) + λ1 xT w(i) v (1) ,

d.h., die Formel (3.33) ist best¨ atigt. Eine einfache Rechnung zeigt schließlich, daß das System v (1) , w(2) , . . . , w(n) linear unabh¨ angig ist.  Eine in der Praxis oft verwendete Deflationstechnik ist die Deflation nach Wieland . Hier setzt man x≡

1 (1) λ1 v i

[ai1 , ai2 , . . . , ain ]T .

(3.35)

Kapitel 3 Eigenwertprobleme

154 (1)

In (3.35) bezeichnet vi eine Komponente von v (1) , die nicht verschwindet. Die Zahlen ai1 , . . . , ain sind die Elemente der i-ten Zeile von A. Diese Wahl von x ergibt xT v (1) =

1

(1)

(1)

[a , a , . . . , ain ] [v1 , v2 , . . . , vn(1) ]T = (1) i1 i2

λ1 v i

1

n 

(1)

λ1 v i

j=1



(1)

aij vj . 



i-te Komponente von Av (1)

Da Av (1) = λ1 v (1) ist, folgt unmittelbar xT v (1) = x erf¨ ullt die Voraussetzungen von Satz 3.7.

1 (1) λ1 v i

(1)

(λ1 vi ) = 1, d.h., der Vektor

Man beachte, daß mit (3.35) gilt: die i-te Zeile von B ≡ A − λ1 v (1) xT besteht nur aus Nullen. Ist λ = 0 ein beliebiger Eigenwert von B zum Eigenvektor w, dann impliziert die Gleichung Bw = λw, daß die i-te Komponente von w ebenfalls null sein muß. Dies bedeutet aber: die i-te Spalte der Matrix B liefert keinen Beitrag zum Produkt Bw = λw. Deshalb kann die Matrix B durch eine Matrix B  der Dimension (n − 1) × (n − 1) ersetzt werden, die durch Streichen der i-ten Zeile und der i-ten Spalte in B erhalten wird. Offensichtlich besitzt die Matrix B  die Eigenwerte λ2 , λ3 , . . . , λn . Gilt nun |λ2 | > |λ3 |, dann kann die Potenzmethode wiederum auf B  angewendet werden, um den neuen dominanten origen Eigenvektor (w(2) ) (der Matrix B  ) numerisch Eigenwert λ2 sowie den zugeh¨ zu ermitteln. Um schließlich den entsprechenden Eigenvektor der urspr¨ unglichen Matrix A zu finden, konstruiert man einen Vektor w(2) , indem zwischen die Komponenten (2) (2) ugt wird und berechnet danach v (2) (wi−1 ) und (wi ) eine Null-Komponente eingef¨ entsprechend der Formel (3.33). Das oben dargestellte Verfahren kann (theoretisch) dazu verwendet werden, um sukzessive alle Eigenwerte und Eigenvektoren von A numerisch zu approximieren. Dieser Prozeß erweist sich jedoch als sehr empfindlich gegen¨ uber Rundungsfehlern. Seine Anwendung ist deshalb nur f¨ ur einige (wenige) ausgew¨ ahlte Eigenwerte und Eigenvektoren sachgem¨ aß. Sind alle Eigenwerte einer Matrix zu approximieren, dann sollte auf ¨ Verfahren zur¨ uckgegriffen werden, die auf Ahnlichkeitstransformationen beruhen. Im folgenden Abschnitt betrachten wir f¨ ur symmetrische Matrizen derartige Techniken. ¨ Ihre Ubertragung auf den Fall nichtsymmetrischer Matrizen soll der Spezialliteratur zu diesem Gegenstand vorbehalten bleiben1 .

3.3

Symmetrisches Eigenwertproblem: QR-Methode

In diesem Abschnitt betrachten wir den Spezialfall, daß im Eigenwertproblem (3.1) eine symmetrische Matrix A ∈ Rn×n auftritt. Zur Bestimmung des dominanten Eigenwertes von A (falls ein solcher existiert) l¨ aßt sich nat¨ urlich auch hier die Potenzmethode 1

Siehe zum Beispiel: G. H. Golub and C. F. Van Loan: Matrix Computations. The Johns Hopkins University Press, Baltimore and London, 1990.

3.3 Symmetrisches Eigenwertproblem: QR-Methode

155

anwenden. Andererseits ist es f¨ ur symmetrische Matrizen relativ einfach, Verfahren zu konstruieren, mit denen sich alle (reellen) Eigenwerte numerisch stabil berechnen lassen. Diese numerischen Techniken basieren im wesentlichen auf der Existenz einer orthogo¨ nalen Ahnlichkeitstransformation der Form (3.8). Sie kann mit geeigneten orthogonalen Transformationsmatrizen erzeugt werden, die wir im folgenden darstellen wollen.

3.3.1

Transformationsmatrizen: Givens-Rotationen

Im Kapitel 2 haben wir ausf¨ uhrlich die Gauß-Transformationen (2.17) studiert und gezeigt, wie man mit ihrer Hilfe eine vollbesetzte Matrix in eine obere -Gestalt u uhren kann. Offensichtlich sind die Gauß-Transformationen keine orthogonalen ¨berf¨ Matrizen. Dies hat zur Konsequenz, daß beim Eliminationsprozeß Instabilit¨ atseffekte auftreten k¨ onnen, die sich nur mit einer zus¨ atzlichen Pivotisierungsstrategie reduzieren lassen. Wir wollen jetzt orthogonale Matrizen betrachten, mit denen man ebenfalls eine Matrix in eine obere -Gestalt transformieren kann. Als Givens-Rotationen (Synonyme sind u.a.: Givens-Matrizen, Givens-Transformationen) bezeichnet man Matrizen der folgenden Form, die von W. Givens im Jahre 1953 erstmalig verwendet wurden: ⎡

Gkl

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ =⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣



1 ..

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ← Zeile k ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ← Zeile l ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

. 1 c .. . .. . .. . −s

...

...

...

1 ..

.

... ...

1 ...

s .. . .. . .. . c 1 ..

↑ Spalte k

↑ Spalte l

.

,

(3.36)

1

wobei c und s wie folgt in Relation stehen: c2 + s2 = 1. Letztere Gleichung legt nahe, c und s mittels eines Winkels θ in der Form c = cos θ und s = sin θ zu schreiben. Vom geometrischen Standpunkt aus gesehen, beschreibt dann die obige Matrix eine Drehung um den Winkel θ in der (k, l)-Ebene. Diese geometrische Interpretation spielt bei unseren Betrachtungen jedoch nur eine untergeordnete Rolle, so daß wir die Abh¨ angigkeit von θ nicht explizit angeben werden. Offensichtlich sind Givens-Rotationen Rang-2 Modifikationen der Einheitsmatrix. Weitaus wichtiger f¨ ur die weiteren Untersuchungen ist die folgende Eigenschaft der

Kapitel 3 Eigenwertprobleme

156

Matrizen Gkl . Wie man sich leicht davon u ullen diese (Gkl )T Gkl = I, ¨berzeugen kann, erf¨ d.h., es handelt sich um orthogonale Matrizen. Wendet man Gkl auf einen Vektor x ∈ Rn an, so folgt: x → y = Gkl x,

mit

⎧ ⎨ cxk + sxl , −sxk + cxl , = (Gkl x)i = ⎩ xi ,

yi

falls i = k falls i = l sonst.

(3.37)

Multipliziert man eine Matrix A = [a1 , a2 , . . . , an ] ∈ Rn×n von links mit Gkl , so operiert die Givens-Transformation auf den Spalten dieser Matrix: Gkl A = [Gkl a1 , . . . , Gkl an ]. Ein Blick auf (3.37) lehrt, daß bei einer derartigen Transformation nur die beiden Zeilen k und l der Matrix A modifiziert werden. Wir wollen jetzt die Frage untersuchen: Wie sind die Matrixelemente c und s in (3.36) zu w¨ ahlen, damit eine Komponente des Vektors y zu Null gemacht wird? Hierzu reicht es aus, den Spezialfall n = 2 zu betrachten, da die Givens-Transformation Gkl nur andert. Es sei deshalb x ∈ R2 ein zu das k-te und das l-te Element von x ∈ Rn ver¨ ullen m¨ ogen. Damit transformierender Vektor, dessen Komponenten x21 + x22 = 0 erf¨ ergibt sich das folgende Bestimmungssystem f¨ ur c und s: + ,+ , + , r x1 c + x2 s = r c s x1 (3.38) = , d.h. −x1 s + x2 c = 0. 0 −s c x2 Aus der letzten Gleichung folgt c = so erh¨ alt man



x21 + x2 x2



Hieraus ergibt sich c=

x1 s. Wird dies in die erste Gleichung eingesetzt, x2

s = r,

d.h.

s=

x2 r. x21 + x22

x2 x1 x1 r= 2 r. x2 x21 + x22 x1 + x22

(3.39)

(3.40)

uhrt nun auf Die Voraussetzung s2 + c2 = 1 f¨ x22 r2 x2 r2 + 2 1 2 2 = 1 → r2 (x21 + x22 ) = (x21 + x22 )2 → r2 = x21 + x22 , 2 2 + x2 ) (x1 + x2 )  woraus r = ± x21 + x22 folgt. Setzt man dies in (3.39) und (3.40) ein, so ergibt sich schließlich 9 x1 x2 c= , s= , r = ± x21 + x22 . (3.41) r r (x21

3.3 Symmetrisches Eigenwertproblem: QR-Methode

157

¨ Ublicherweise verwendet man f¨ ur r das positive Vorzeichen, was wir im folgenden auch tun wollen. Kehren wir nun wieder zum allgemeinen Fall zur¨ uck. Um im Vektor x ∈ Rn die Komponente xl zu eliminieren, d.h., yl = 0 zu erzeugen, hat man daher c=

xk , r

s=

xl r

und

r=

9 x2k + x2l

(3.42)

zu setzten. Zur Vermeidung von Exponenten¨ uberlauf ist es jedoch g¨ unstiger, die Parameter c und s mit dem Algorithmus 3.1 zu berechnen. Givens-Transformation xl = 0 c = 1; s = 0

if else

if

else

|xl | > |xk | 1 xk ; s= √ ; τ= xl 1 + τ2 τ=

end

xl ; xk

c= √

1 ; 1 + τ2

c = sτ

s = cτ

end

Algorithmus 3.1: Parameter c, s der Givens-Transformation

Die Givens-Transformationen Gkl kann man auch dazu verwenden, eine gegebene Matrix A ∈ Rn×n auf obere -Gestalt zu bringen. Im Unterschied zu der auf den (nichtorthogonalen) Gauß-Transformationen Lk basierenden LU -Faktorisierung (siehe Kapitel 2) wird der resultierende obere -Faktor bei der Verwendung orthogonaler Transformatiur eine Matrix A ∈ R4×4 onsmatrizen u ¨blicherweise mit R (rij = 0, i > j) bezeichnet. F¨ l¨aßt sich diese Transformation schematisch wie folgt beschreiben: A=

× × × ×

× × × ×

× × × ×

× × × ×

× 0 0 0

× × × ×

× × × ×

× × × ×

G3 4 ·

−→

G3 4 ·

−→

× × × 0

× × × ×

× × × ×

× × × ×

× 0 0 0

× × × 0

× × × ×

× × × ×

G2 3 ·

−→

G2 3 ·

−→

× × 0 0

× × × ×

× × × ×

× × × ×

× 0 0 0

× × 0 0

× × × ×

× × × ×

G1 2 ·

−→

G3 4 ·

−→ R.

Kapitel 3 Eigenwertprobleme

158

Die oben verwendete Konvention, mit dem Symbol ד ein Element zu kennzeichnen, ” das null oder ungleich null sein kann (mit großer Wahrscheinlichkeit aber ungleich null ist), w¨ ahrend das Symbol 0“ f¨ ur ein tats¨ achliches Nullelement steht, geht auf J. H. ” Wilkinson zur¨ uck. Die Darstellung einer Matrix in dieser Form wird nach Stewart1 ein Wilkinson Diagramm genannt. F¨ ur das vorliegende Beispiel kann aus dem zugeh¨ origen Wilkinson Diagramm die folgende Transformation abgelesen werden: G34 G23 G12 G34 G23 G34 A = R. F¨ uhrt man die Bezeichnung Q ≡ GT34 · · · GT12 · GT23 · GT34 ein, dann l¨ aßt sich A in der faktorisierten Form A = QR

(3.43)

angeben, die man nun QR-Faktorisierung“ nennt. Im Unterschied zur LU -Faktorisie” rung handelt es sich bei der Matrix Q ∈ Rn×n um keine untere -Matrix. Vielmehr ist Q eine vollbesetzte, orthogonale Matrix, d.h., sie erf¨ ullt die Bedingung QT Q = QQT = I. Man kann sich leicht davon u ur die QR-Faktorisierung einer beliebigen ¨berzeugen, daß f¨ Matrix A ∈ Rn×n mittels Givens-Transformationen ein Rechenaufwand von etwa 1/2 n2 Quadratwurzelberechnungen sowie 2n3 flops erforderlich ist. aßt sich die Wurde f¨ ur eine Matrix A ∈ Rn×n die QR-Faktorisierung berechnet, dann l¨ L¨osung x eines linearen Gleichungssystems Ax = b wie folgt numerisch ermitteln. Die Substitution von A = QR in Ax = b ergibt: Ax = b

→

QRx = b

→

Rx = QT b.

Dies f¨ uhrt auf die im Algorithmus 3.2 dargestellte L¨ osungstechnik f¨ ur lineare Gleichungssysteme.

Elimination mit QR-Faktorisierung 1. Schritt: Man bestimme die QR-Faktorisierung der Matrix A: A = Q R, R obere -Matrix, Q orthogonale Matrix. 2. Schritt: Man berechne den Hilfsvektor z mittels Matrix-VektorMultiplikation z = QT b. 3. Schritt: Man berechne den L¨ osungsvektor x mittels R¨ uckw¨ artsSubstitution aus dem oberen -System R x = z.

Algorithmus 3.2: Elimination mit QR-Faktorisierung 1

Siehe das Buch von G. W. Stewart: Matrix Algorithms, Vol. I: Basic Decompositions. SIAM, Philadelphia, 1998.

3.3 Symmetrisches Eigenwertproblem: QR-Methode

159

Da die QR-Faktorisierung ausschließlich mit orthogonalen (Givens-) Transformationsmatrizen realisiert wird, erweist sich das Verfahren als extrem stabil. Eine zus¨ atzliche Pivotisierungsstrategie ist deshalb nicht erforderlich. Trotzdem verwendet man in der Praxis zur L¨ osung linearer Gleichungssysteme Ax = b viel h¨ aufiger die LU -Faktorisierung, da diese nur ein Drittel des Rechenaufwandes ben¨ otigt (siehe Abschnitt 2.2). Bei d¨ unnbeallt der Vergleich jedoch wesentlich g¨ unssetzten Matrizen1 (engl.: sparse matrices“) f¨ ” tiger aus. Hier liegt das eigentliche Einsatzgebiet der QR-Faktorisierung mittels GivensTransformationen.

3.3.2

Transformationsmatrizen: Householder-Reflexionen

Im Jahre 1958 f¨ uhrte A. S. Householder2 Matrizen H ∈ Rn×n der folgenden Gestalt ein H=I−

2 vv T , vT v

(3.44)

wobei v ∈ Rn einen beliebigen nichtverschwindenden Vektor bezeichnet. Da diese Matrizen - aus geometrischer Sicht - eine Spiegelung (Reflexion) an der auf v senkrecht stehenden Hyperebene beschreiben, werden sie auch als Householder-Reflexionen (Synonyme: Householder-Matrizen, Householder-Transformationen) bezeichnet. Der Vektor v heißt Householder-Vektor . Folgende, einfach nachzuweisende Eigenschaften zeichnen die Householder-Reflexionen aus: • H ist symmetrisch, d.h., H T = H, • H ist orthogonal , d.h., HH T = H T H = I, • H ist involutorisch, d.h., H 2 = I. Die Householder-Transformationen stimmen dar¨ uber hinaus in zwei Merkmalen mit den in Abschnitt 2.2 betrachteten Gauß-Transformationen u ¨berein. So handelt es sich bei beiden Matrizen um eine Rang-1 Modifikation der Einheitsmatrix. Des weiteren k¨onnen sowohl die Gauß-Transformationen als auch die Householder-Transformationen dazu verwendet werden, im transformierten Vektor gleichzeitig mehrere Komponenten zu null zu machen. Dem gegen¨ uber l¨ aßt sich mit den im vorangegangenen Abschnitt eingef¨ uhrten Givens-Transformationen nur in einer Komponente eine Null erzeugen. Soll nun 0 = x ∈ Rn mit Hilfe einer Householder-Transformation auf ein Vielfaches des alt man ersten Einheitsvektors e1 ∈ Rn abgebildet werden, dann erh¨ y = Hx = 1 2

I−

2 vT v

vv

T

x=x−

2 vT x vT v

v ≡ −αe1 ,

α ∈ R.

(3.45)

D¨ unnbesetzte Matrizen sind solche Matrizen, bei denen nur wenige Elemente ungleich Null sind. Siehe A. S. Householder: The Theory of Matrices in Numerical Analysis, Blaisdell, New York, 1964.

Kapitel 3 Eigenwertprobleme

160

T 2 vT x v v (x + αe1 ). Da sich die TransforHieraus folgt T v = x + αe1 , d.h., v = v v 2v T x mationsmatrizen (3.44) f¨ ur v und vˆ ≡ c v, 0 = c ∈ R, nicht unterscheiden, k¨ onnen wir v = x + αe1 , α ∈ R, schreiben. Hiermit berechnet man nun v T x = xT x + αx1

und

v T v = xT x + 2αx1 + α2 ,

so daß sich f¨ ur Hx ergibt Hx =

xT x + αx1 1−2 T x x + 2αx1 + α2

x − 2α

vT x e1 . vT v

Damit Hx zu einem Vielfachen von e1 wird, muß der Faktor vor x verschwinden. Dies f¨ uhrt auf xT x + αx1 1−2 T = 0 → α2 = xT x, d.h., x x + 2αx1 + α2 α = ± x 2 .

(3.46)

Bestimmt man somit f¨ ur einen beliebigen Vektor x ∈ Rn den Householder-Vektor v ∈ Rn zu v = x ± x 2 e1 , dann gilt Hx =

I−

2 vT v

vv

T

x = ∓ x 2 e1 .

(3.47)

Da α bis auf das Vorzeichen durch die obige Vorschrift bestimmt ist, w¨ ahlt man zur Vermeidung von m¨ oglichen Ausl¨ oschungen bei der praktischen Berechnung des Householder-Vektors v = (x1 + α, x2 , . . . , xn )T besser α ≡ sign(x1 ) x 2 .

(3.48)

ur eine effektive SpeiOftmals wird v noch so normalisiert, daß v1 = 1 gilt. Dies ist f¨ cherung des Householder-Vektors sinnvoll; der Teilvektor (v2 , . . . , vn )T wird dann als wesentlicher Teil von v bezeichnet. aßt sich ebenfalls mit Hilfe von HouseholderEine Matrix A = [a1 , a2 , . . . , an ] ∈ Rn×n l¨ Reflexionen in eine obere -Gestalt u uhren, indem man sukzessive die Elemente ¨berf¨ unterhalb der Diagonalen eliminiert. Im ersten Schritt einer solchen Transformation alt werden in der Spalte a1 in den Positionen 2, . . . , n Nullen erzeugt und man erh¨ ⎛ (2) ⎞ α ⎜ 0 ⎟ ⎜ ⎟ (2) (2) A ≡ A(1) → A(2) ≡ H1 A(1) = [⎜ . ⎟ , a2 , a3 , . . . , a(2) mit n ], ⎝ .. ⎠ 0

3.3 Symmetrisches Eigenwertproblem: QR-Methode H1 = I −

2 (v (1) )T v (1)

(1)

161 (1)

(1)

v (1) (v (1) )T , v (1) ≡ a1 + α(2) e1 und α(2) ≡ sign(a11 ) a1 2 .

Nach dem k-ten Schritt ist A bis auf eine Restmatrix T (k+1) ∈ R(n−k)×(n−k) auf obere -Gestalt gebracht: ⎡

A(k)

⎢ ⎢ ⎢ ⎢ ⎢ =⎢ ⎢ ⎢ ⎢ ⎢ ⎣

× 0 .. . .. . .. . 0

··· .. . .. .

··· × 0 .. .

···

0

⎤ × .. ⎥ . ⎥ ⎥ ⎥ ··· × ⎥ ⎥. ⎥ ⎥ ⎥ (k+1) ⎥ ⎦ T ···

Ab der 2. Transformationsmatrix muß darauf geachtet werden, daß bereits erzeugte Nullen nicht wieder zerst¨ ort werden! Man konstruiert deshalb folgende orthogonale Matrizen + , Ik 0 (3.49) Hk+1 = ˆ k+1 , 0 H ˆ k+1 ∈ R(n−k)×(n−k) wie im ersten Schritt mit T (k+1) anstelle von A gebilwobei H det wird. Auf diese Weise lassen sich in der n¨ achsten Teilspalte unterhalb der Diagonalen Nullen erzeugen. Nach genau n − 1 Schritten erh¨ alt man die obere -Matrix at und Symmetrie der TransR ≡ Hn−1 · · · H1 A, d.h., unter Beachtung der Orthogonalit¨ formationsmatrizen Hi ergibt sich die folgende QR-Faktorisierung von A: A = Q R,

Q ≡ H1 · · · Hn−1 .

(3.50)

Wie man leicht nachrechnet, ergibt sich f¨ ur eine beliebige Matrix A ∈ Rn×n bei der QRFaktorisierung auf der Basis von Householder-Transformationen ein Rechenaufwand von atzung geht jedoch davon aus, daß die Matrix Q in faktorisierter 4/3 n3 flops. Diese Sch¨ Form abgespeichert wird, d.h., in jedem Teilschritt werden nur die wesentlichen Teile der Householder-Vektoren gespeichert. Eine nachtr¨ agliche explizite Berechnung der Matrix Q w¨ urde noch einmal 4/3 n3 flops erfordern. Damit ergibt sich dann ein Gesamtaufwand von 8/3 n3 flops.

3.3.3

Transformationsmatrizen: Schnelle Givens-Transformationen

Wie im Falle der gew¨ ohnlichen Givens-Transformationen (siehe Abschnitt 3.3.1) lassen sich auch die sogenannten Schnellen Givens-Transformationen am besten anhand eines (2 × 2)-Beispiels darstellen.

Kapitel 3 Eigenwertprobleme

162

Gegeben seien ein Vektor x ∈ R2 sowie eine Diagonalmatrix D = diag(d1 , d2 ) ∈ R2×2 c s mit positiven Diagonalelementen. An die Stelle der bekannten Givens-Matrix ( −s c) tritt jetzt die Matrix + , β 1 M1 ≡ 1 (3.51) . 1 α1 +

Mit ihr bilden wir M1T x = +

sowie M1T DM1 =

β1 x 1 + x 2 x1 + α1 x2

d2 + β12 d1 d 1 β 1 + d2 α 1

, (3.52)

, d1 β 1 + d2 α 1 ≡ D1 . d1 + α12 d2

(3.53)

F¨ ur die Multiplikation (3.52) sind somit nur noch 2 Gleitpunkt-Multiplikationen erforderlich. Die Multiplikation mit einer gew¨ ohnlichen Givens-Matrix w¨ urde 4 GleitpunktMultiplikationen ben¨ otigen. Ist x2 = 0, dann ergibt sich mit α1 = −

x1 , x2

β1 = −α1

d2 d1

(3.54)

f¨ ur das Produkt (3.52) + M1T x =

, x2 (1 + γ1 ) , 0

γ1 ≡ −α1 β1 =

d2 x21 , d1 x22

(3.55)

d.h., in der zweiten Komponente des Resultate-Vektors wird eine Null erzeugt. Des weiteren geht in (3.53) die Matrix D1 in die Diagonalmatrix +

D1 =

M1T DM1

d (1 + γ1 ) = 2 0

0 d1 (1 + γ1 )

, (3.56)

u ¨ber. Gilt analog x1 = 0 und definiert man +

1 M2 ≡ β2

, α2 , 1

(3.57)

dann ergeben sich mit α2 = −

x2 , x1

β2 = −α2

d1 d2

(3.58)

3.3 Symmetrisches Eigenwertproblem: QR-Methode

163

entsprechende Resultate: + M2T x =

, x1 (1 + γ2 ) , 0

und

+

D2 ≡

M2T DM2

d1 x22 d2 x21

(3.59)

, 0 . d2 (1 + γ2 )

(3.60)

γ2 = −α2 β2 =

d (1 + γ2 ) = 1 0

Im Unterschied zu den Givens-Transformationen sind die Matrizen M1 und M2 nicht orthogonal. Aus ihnen lassen sich aber die orthogonalen Matrizen −1/2

S1 ≡ D1/2 M1 D1

−1/2

S2 ≡ D1/2 M2 D2

und

(3.61)

bilden. Von der Orthogonalit¨ at der Matrizen Si , i = 1, 2, u ¨berzeugt man sich wie folgt: −1/2

SiT Si = Di

−1/2

= Di

−1/2

MiT D1/2 D1/2 Mi Di −1/2

D i Di

−1/2

= Di

−1/2

MiT DMi Di

= I.

F¨ ur die so konstruierten orthogonalen Matrizen S1 und S2 gilt: −1/2

SiT (D−1/2 x) = Di Somit ist

−1/2

MiT D1/2 D−1/2 x = Di

M1T x,

i = 1, 2.

, x2 (1 + γ1 ) , 0 , + T −1/2 T x1 (1 + γ2 ) , x) = D2 S2 (D 0

S1T (D−1/2 x) = D1T

+

(3.62)

d.h., die zweite Komponente des Vektors x wird auch wieder in eine Null transformiert. Offensichtlich besteht f¨ ur die Gr¨ oßen γ1 und γ2 der Zusammenhang γ1 γ2 = 1.

(3.63)

ahlen, f¨ ur die der zugeh¨ orige Deshalb l¨ aßt sich stets diejenige Transformation Mi ausw¨ ankt ist. Wachstumsfaktor (1 + γi ) nach oben durch 2 beschr¨ Wir kommen nun zu folgender Definition. Definition 3.2. Matrizen der Form + , 1 β M1 = 1 1 α1

+ bzw.

M2 =

1 β2

, α2 , 1

Kapitel 3 Eigenwertprobleme

164

die −1 ≤ αi βi ≤ 0 erf¨ ullen, heißen Schnelle Givens-Transformationen (engl.: fast Gi” vens transformations“).  Die Vormultiplikation mit einer Schnellen Givens-Transformation erfordert im Vergleich mit der gew¨ ohnlichen Givens-Transformation nur die H¨ alfte an Multiplikationen. Auch das Zu-Null-Machen einer Komponente kann ohne die explizite Berechnung von Quadratwurzeln realisiert werden! Der (n × n)-Fall l¨ aßt sich analog der gew¨ ohnlichen Givens-Transformationen darstellen. An die Stelle der Matrizen Gkl (siehe Formel (3.36)) treten jetzt Transformationen vom Typ 1 (Erweiterung von M1 ) ⎡ ⎤ 1 ⎢ ⎥ .. ⎢ ⎥ . ⎢ ⎥ ⎢ ⎥ 1 ⎢ ⎥ ⎢ ⎥ ← Zeile k β . . . . . . . . . 1 ⎢ ⎥ ⎢ ⎥ .. .. ⎢ ⎥ . 1 . ⎢ ⎥ ⎢ ⎥ . . . .. .. .. F (k, l, α, β) ≡ ⎢ , ⎥ ⎢ ⎥ ⎢ ⎥ .. .. ⎢ ⎥ . 1 . ⎢ ⎥ ← Zeile l ⎢ ⎥ 1 ... ... ... α ⎢ ⎥ ⎢ ⎥ 1 ⎢ ⎥ ⎢ ⎥ . . ⎣ ⎦ . ↑ Spalte k

↑ Spalte l

1 (3.64)

bzw. Transformationen vom Typ 2 (Erweiterung von M2 ) ⎡ 1 ⎢ .. ⎢ . ⎢ ⎢ 1 ⎢ ⎢ 1 ... ... ... α ⎢ ⎢ .. .. ⎢ . 1 . ⎢ ⎢ . .. . .. .. F (k, l, α, β) ≡ ⎢ . ⎢ ⎢ . .. .. ⎢ 1 . ⎢ ⎢ β ... ... ... 1 ⎢ ⎢ 1 ⎢ ⎢ .. ⎣ . ↑ Spalte k

↑ Spalte l

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ← Zeile k ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ← Zeile l ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

.

1 (3.65)

3.3 Symmetrisches Eigenwertproblem: QR-Methode

165

Wir wollen nun darstellen, wie sich die Schnellen Givens-Transformationen dazu verwenden lassen, um von einer Matrix A ∈ Rn×n die QR-Faktorisierung zu berechnen. Wie bei den gew¨ ohnlichen Givens-Transformationen f¨ uhrt die sukzessive Anwendung von Schnellen Givens-Transformationen Mj (jede einzelne Matrix Mj soll jetzt eine Transformation vom Typ 1 oder 2 darstellen) zu einer oberen Dreiecksmatrix T · · · M2T M1T A = T MN

obere -Matrix.

(3.66)

Setzt man im ersten Schritt D = I, dann gilt M1T M1 = D1 , Es ist aber

M2T D1 M2 = D2 ,

...,

T MN DN −1 MN = DN .

T DN = MN DN −1 MN T T = MN MN −1 DN −2 MN −1 MN T T T = MN MN −1 MN −2 DN −3 MN −2 MN −1 MN

(3.67)

.. . T T T = MN MN −1 · · · M1 M1 M2 · · · MN .

Mit M ≡ M1 M2 · · · MN lassen sich (3.66) und (3.67) in der Form M T A = T,

DN = M T M

schreiben. Setzt man schließlich −1/2

Q ≡ M DN

,

(3.68)

so ergibt sich −1/2

QT A = DN

−1/2

M T A = DN

T ≡R

obere -Matrix.

(3.69)

Die Matrix Q ist orthogonal, da −1/2

QT Q = D N

−1/2

M T M DN

= I.

Wir haben damit das folgende Ergebnis erhalten. Folgerung 3.2. Die orthogonale Matrix Q l¨ aßt sich durch das Paar (M, D) repr¨ asentieren, mit (3.70) M = M1 M2 · · · MN und D = M T M. Es gilt dann QT A = R mit

Q ≡ M D−1/2 ,

bzw.

R ≡ D−1/2 T

A = QR und

(3.71) T ≡ M T A.

(3.72) 

Kapitel 3 Eigenwertprobleme

166

3.3.4

QR-Algorithmus fu ¨ r symmetrische Eigenwertprobleme

In diesem Abschnitt soll die Frage beantwortet werden, wie sich s¨ amtliche Eigenwerte ur derartige einer reellen symmetrischen Matrix A ∈ Rn×n simultan berechnen lassen. F¨ Matrizen ist bekannt (siehe Abschnitt 3.1.2): • A besitzt nur reelle Eigenwerte λ1 , . . . , λn ∈ R und • die Eigenvektoren von A bilden eine Orthonormalbasis η1 , . . . , ηn ∈ Rn , d.h., es gilt: QT AQ = Λ ≡ diag(λ1 , . . . , λn ),

(3.73)

mit Q ≡ [η1 , . . . , ηn ] ∈ Rn×n . Die Formel (3.73) legt nahe, die Matrix A mittels orthogonaler Matrizen in Diago¨ nalgestalt zu u uhren, da die Eigenwerte unter Ahnlichkeitstransformationen inva¨berf¨ riant sind. Versucht man jedoch, eine symmetrische Matrix durch Konjugation mit Householder-Matrizen auf Diagonalgestalt zu bringen, so erweist sich dies als unm¨ oglich, wie das folgende Beispiel zeigt: ⎡ ⎢ ⎢ ⎢ ⎣

× × .. .

× × .. .

··· ···

× × .. .

×

×

···

×





⎥ ⎢ ⎥ H1 · ⎢ ⎥ −→ ⎢ ⎦ ⎣

× 0 .. .

× × .. .

··· ···

× × .. .

0

×

···

×





⎥ ·H T ⎢ ⎥ 1 ⎢ ⎥ −→ ⎢ ⎦ ⎣

× × .. .

0 × .. .

··· ···

0 × .. .

×

×

···

×

⎤ ⎥ ⎥ ⎥. ⎦

Anders ist es, wenn man A nur auf Tridiagonalgestalt bringen m¨ ochte. In diesem Falle st¨oren sich die Householder-Matrizen von links und rechts nicht gegenseitig: ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

× × × .. .

× × × .. .

× × × .. .

··· ··· ···

× × × .. .

×

×

×

···

×





⎥ ⎢ ⎥ ⎢ ⎥ P1 · ⎢ ⎥ −→ ⎢ ⎥ ⎢ ⎦ ⎣

× × 0 .. .

× × × .. .

× × × .. .

··· ··· ···

× × × .. .

0

×

×

···

×





⎥ ⎢ ⎥ ·P T ⎢ ⎥ 1 ⎢ ⎥ −→ ⎢ ⎥ ⎢ ⎦ ⎣



× × 0 .. .

× × × .. .

0 × × .. .

··· ··· ···

0 × × .. .

0

×

×

···

× (3.74)

⎥ ⎥ ⎥ ⎥. ⎥ ⎦

Es gilt hierzu der folgende Satz. Satz 3.8. Es sei eine symmetrische Matrix A ∈ Rn×n gegeben. Dann existiert eine orthogonale Matrix P ∈ Rn×n , die das Produkt von n − 2 Householder-Reflexionen ist, so daß P AP T Tridiagonalgestalt besitzt.

3.3 Symmetrisches Eigenwertproblem: QR-Methode

167

Beweis: Bei Fortsetzung der in (3.74) aufgezeigten Strategie erh¨ alt man HouseholderTransformationen P1 , . . . , Pn−2 , mit ⎡

× ⎢ × ⎢ ⎢ T =⎢ Pn−2 · · · P1 A P1T · · · Pn−2       ⎢ ⎣ P PT

Damit liegt die behauptete Tridiagonalgestalt vor.

× × .. .

⎤ × .. . ×

..

. × ×

⎥ ⎥ ⎥ ⎥. ⎥ × ⎦ × 

Das Ausgangsproblem (s¨ amtliche Eigenwerte einer reellen symmetrischen Matrix simultan zu berechnen) kann nun auf die Bestimmung der Eigenwerte einer symmetrischen Tridiagonalmatrix zur¨ uckgef¨ uhrt werden. Die folgende Technik, die unter dem Namen QR-Iteration bekannt ist, wurde unabh¨ angig und etwa gleichzeitig von G. F. Francis1 und V. N. Kublanovskaya2 vorgeschlauckgehenden gen. Es handelt sich dabei um eine Modifikation des auf H. Rutishauser3 zur¨ sogenannten LR-Algorithmus. Die Grundidee von Rutishauser war die Erzeugung einer ur jede Matrix Ak Folge von Matrizen {Ak }∞ k=1 , A1 ≡ A, nach der folgenden Vorschrift: f¨ wird eine LU -Faktorisierung Ak = Lk Uk durchgef¨ uhrt. Danach wird eine neue Matrix Ak+1 durch Vertauschung der LU -Faktoren erzeugt, d.h., Ak+1 = Uk Lk . Daran schließt sich wieder eine LU -Faktorisierung von Ak+1 an, etc. Man kann nun unter bestimmten Voraussetzungen beweisen, daß die Matrizen Ak gegen eine obere -Matrix A∞ konverunglichen Matrix gieren, deren Diagonalelemente (A∞ )kk mit den Eigenwerten der urspr¨ Au ¨bereinstimmen. Die beschriebene LR-Iteration versagt jedoch, wenn eine der entstehenden Matrizen Ak keine LU -Faktorisierung besitzt. Auch treten Schwierigkeiten dadurch auf, daß zwar diese Faktorisierung (theoretisch) existieren kann, aber oftmals (numerisch) ein schlecht konditioniertes Problem darstellt. Wir konzentrieren uns deshalb im weiteren auf die sogenannte QR-Iteration, bei der die beschriebenen Nachteile der LR-Iteration vermieden werden. Formal ergibt sich die QR-Iteration aus der LR-Iteration, indem man in jedem Schritt des Verfahrens die LU Faktorisierung durch eine QR-Faktorisierung ersetzt. Man erzeugt somit eine Folge von Matrizen {Ak }∞ k=1 nach dem im Algorithmus 3.3 beschriebenen Iterationsverfahren.

1

J. G. F. Francis: The QR transformation: a unitary analogue to the LR transformation, Part I and II. Comput. J. 4 (1961), pp. 265–272. 2 V. N. Kublanovskaya: On some algorithms for the solution of the complete eigenvalue problem. Z. ˘ Vy˘ cisl. Mat. i Mat. Fiz. 1 (1961), pp. 555-570. 3 H. Rutishauser: Solution of eigenvalue problems with the LR transformation. Nat. Bur. Standards Appl. Math. Ser. 49 (1958), pp. 47–81.

Kapitel 3 Eigenwertprobleme

168

QR-Iteration A1 = A for k = 1, 2, . . . A k = Qk R k (QR-Faktorisierung mittels Givens-Rotationen) Ak+1 = Rk Qk (Vertauschung der Faktoren) end

Algorithmus 3.3: QR-Iteration

F¨ ur die so erzeugten Matrizen Ak lassen sich nun die folgende Aussagen zeigen. Satz 3.9. Es gilt: • die Ak sind alle konjugiert zu A, • ist A symmetrisch, so auch alle Ak , • ist A symmetrisch und tridiagonal, so auch alle Ak . Beweis: 1) Es seien A = Q R und A = R Q. Dann gilt QA QT = QRQQT = QR = A. 2) Es gilt: (A )T = (A )T QT Q = QT RT QT Q = QT AT Q = QT AQ = A . 3) Es sei A symmetrisch und tridiagonal. Die orthogonale Matrix Q werde mit n − 1 Givens-Rotationen G12 , . . . , Gn−1,n erzeugt, so daß sich Q zu QT = Gn−1,n · · · G12 darstellt. Man erh¨ alt dann ⎡

× ⎢ × ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

A × × ×

× × .. .

× .. . ×

..

. × ×





⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ × ⎦ ×

⎢ ⎢ ⎢ ⎢ −→ ⎢ ⎢ ⎢ ⎣

×

R = QT A × • × × • .. .. .. . . . × × ×

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ • ⎥ ⎥ × ⎦ ×

−→

3.3 Symmetrisches Eigenwertproblem: QR-Methode ⎡ −→

× ⎢ × ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

A = RQ × • × × • .. .. .. .. . . . . × × × × × ×

169 ⎤

⎥ ⎥ ⎥ ⎥ ⎥ • ⎥ ⎥ × ⎦ ×

= QT AQ.

Nach 2) ist A wieder symmetrisch. Dies bedeutet jedoch, daß die neu erzeugten und mit •“ gekennzeichneten Elemente (fill-in) verschwinden m¨ ussen. Somit ist ”  auch A tridiagonal. Bez¨ uglich der Konvergenz der QR-Iteration gilt der folgende Satz. Satz 3.10. Es sei A ∈ Rn×n symmetrisch und besitze die Eigenwerte λ1 , . . . , λn , mit |λ1 | > |λ2 | > · · · > |λn | > 0. Die Matrizen Ak , Qk und Rk m¨ ogen wie im Algorithmus 3.3 definiert sein. Dann gilt (k) mit Ak = (aij ): • lim Qk = I, k→∞

• lim Rk = Λ ≡ diag(λ1 , . . . , λn ), k→∞



(k) aij

# $

λi k f¨ ur i > j. = O



λj

Beweis: Siehe z.B. die Monographie von J. H. Wilkinson.1



Bemerkung 3.4. Eine genaue Analyse zeigt, daß das Verfahren auch im Falle mehrfacher Eigenwerte λi = · · · = λj konvergiert. Falls aber λi = −λi+1 gilt, kann keine Konvergenz mehr nachgewiesen werden.  Liegen zwei Eigenwerte λi , λi+1 betragsm¨ aßig dicht beieinander, so konvergiert das Verfahren nur sehr langsam. In diesem Fall verwendet man u ¨blicherweise sogenannte Shift-Strategien. Man versucht hier, die beiden Eigenwerte dichter an den Nullpunkt zu verschieben, um damit den Quotienten |λi+1 /λi | zu verkleinern. In jedem Iterationsuhrt und anstelle von Algorithmus 3.3 der schritt k wird ein Shift-Parameter σk eingef¨ Algorithmus 3.4 verwendet. 1

J. H. Wilkinson: The Algebraic Eigenvalue Problem, Clarendon Press, Oxford, 1965.

Kapitel 3 Eigenwertprobleme

170

QR-Iteration mit Shift A1 = A for k = 1, 2, . . . Ak − σk I = Qk Rk (QR-Faktorisierung mittels Givens-Rotationen) Ak+1 = Rk Qk + σk I (Vertauschung der Faktoren) end

Algorithmus 3.4: QR-Iteration mit Shift

ur die gilt: Der Algorithmus 3.4 erzeugt eine Folge von Matrizen Ak , f¨ • Ak − σk I = Qk Rk

→

QTk Ak − σk QTk = Rk

→

QTk Ak Qk − σk I = Rk Qk , d.h., QTk Ak Qk = Ak+1 . Somit sind Ak und Ak+1 konjugiert zueinander. • die Folge {Ak }∞ k=1 konvergiert gegen Λ mit der Geschwindigkeit



λi − σ1

λi − σk (k)



f¨ aij = O × ··· × ur i > j. λj − σ 1 λj − σk oglichst nahe an den Um zu einer Konvergenzbeschleunigung zu gelangen, sollte σk m¨ Eigenwerten λi , λi+1 liegen. Zur Bestimmung eines solchen σk wird von J. H. Wilkinson die sogenannte explizite Shift-Strategie vorgeschlagen, die sich wie folgt skizzieren l¨ aßt. Das untere Ende der Tridiagonalmatrix Ak werde in der Form .. ..

. .

..

.

(k) cn−1

dn

(k)

cn

dn

(k)

(k)

dargestellt. Die untere (2×2)-Blockmatrix besitzt zwei Eigenwerte. Der Shift-Parameter (k) σk wird nun gleich demjenigen Eigenwert gesetzt, der n¨ aher an cn liegt. Bessere Ergebnisse lassen sich mit den impliziten Shift-Strategien erzielen1 . Ihre Darstellung w¨ urde jedoch den Rahmen dieses Textes sprengen. Neben den Eigenwerten interessieren nat¨ urlich auch die zugeh¨ origen Eigenvektoren. Sie lassen sich wie folgt numerisch approximieren. Ist Q ∈ Rn×n eine orthogonale Matrix, 1

J. H. Wilkinson: The Algebraic Eigenvalue Problem, Clarendon Press, Oxford, 1965.

3.4 Aufgaben

171

f¨ ur die gilt A ≈ QT ΛQ, Λ = diag(λ1 , . . . , λn ), dann approximieren die Spalten von Q die Eigenvektoren von A, d.h., Q ≈ [η1 , η2 , . . . , ηn ]. Damit ergibt sich der im Algorithmus 3.5 dargestellte Gesamt-Algorithmus zur Berechnung s¨ amtlicher Eigenwerte und Eigenvektoren einer symmetrischen Matrix.

QR-Algorithmus 1. Schritt: Man reduziere A mittels Householder-Reflexionen auf Tridiagonalgestalt: A → A1 = P AP T , A1 symmetrisch und tridiagonal, P orthogonal. 2. Schritt: Man approximiere die Eigenwerte von A mit der QR-Iteration unter Verwendung von Givens-Rotationen, die auf A1 angewendet werden: GA1 GT ≈ Λ, (k) G ist das Produkt aller Givens-Rotationen Gij . 3. Schritt: Die Spalten von GP approximieren die Eigenvektoren von A, d.h., G P ≈ [η1 , η2 , . . . , ηn ]. Algorithmus 3.5: QR-Algorithmus

Insgesamt erfordert der obige QR-Algorithmus einen Rechenaufwand von: 1) 4/3 n3 flops f¨ ur die Transformation auf Tridiagonalgestalt sowie 2) O(n2 ) flops pro Schritt der QR-Iteration.

3.4

Aufgaben

Aufgabe 3.1. Es sei A ∈ Rn×n symmetrisch und besitze die Eigenwerte λ1 , λ2 , . . . , λn . F¨ ur x ∈ Rn und λ ∈ R sei d ≡ Ax − λx. Zeigen Sie:

d 2 . i

x 2 Aufgabe 3.2. F¨ ur jede der folgenden Behauptungen beweise man, daß sie richtig ist oder gebe ein Gegenbeispiel an. Hierbei sei A eine beliebige (n×n)-dimensionale Matrix. Wir schreiben abk¨ urzend EW“ f¨ ur Eigenwert. ” 1) Falls λ ein EW von A ist und μ eine komplexe Zahl bezeichnet, dann ist λ − μ ein EW von A − μI. min |λi − λ| ≤

Kapitel 3 Eigenwertprobleme

172

2) Sind A reell und λ ein EW von A, dann ist auch −λ ein EW von A. ¯ ein EW von A. 3) Sind A reell und λ ein EW von A, dann ist auch λ 4) Ist λ ein EW von A und ist A nichtsingul¨ ar, dann ist λ−1 ein EW von A−1 . 5) Verschwinden alle EWe von A, dann ist A = 0. 6) Ist A diagonalisierbar und alle ihre EWe gleich, dann ist A eine Diagonalmatrix. Aufgabe 3.3. ur eine beliebige 1) Beweisen Sie: F¨ ur jeden Eigenwert λi einer Matrix A ∈ Rn×n und f¨ Matrix B ∈ Rn×n gilt entweder det(λi I − B) = 0 oder es ist λi ∈ M ≡ {λ ∈ C :

(λI − B)−1 (A − B) ≥ 1}. 2) Beweisen Sie mit Hilfe von 1) den Satz von Gerschgorin: F¨ ur die Eigenwerte λ1 , λ2 , . . . , λn von A = (aij ) ∈ Rn×n gilt: λi ∈

n :

Kj ,

n  ; < Kj ≡ λ : |λ − ajj | ≤ |ajk | .

j=1

k=1 k=j

Aufgabe 3.4. Es sei A ∈ Rn×n eine Matrix, deren Zeilensummen alle gleich α sind. 1) Man zeige, daß α ein Eigenwert von A ist. 2) Man gebe den zugeh¨ origen Eigenvektor an. Aufgabe 3.5. Es sei A ∈ Rn×n . 1) Man zeige, daß A und AT die gleichen Eigenwerte besitzen. 2) Besitzen auch A und AT die gleichen Eigenvektoren? Man beweise diese Aussage oder gebe ein Gegenbeispiel an. Aufgabe 3.6. Gibt es einen reellen Wert f¨ ur den Parameter α, so daß die Matrix ⎡ ⎤ 1 0 α A = ⎣4 2 0 ⎦ 6 5 3 1) ausschließlich reelle Eigenwerte besitzt? 2) nur komplexe Eigenwerte mit nichtverschwindenden Imagin¨ arteilen besitzt? Man gebe entweder den Wert von α an, f¨ ur den die Bedingungen erf¨ ullt sind, oder begr¨ unde, warum ein solcher nicht existiert. Aufgabe 3.7. Es sei A ∈ Rn×n symmetrisch, λ ∈ R und u ∈ Rn mit u 2 = 1. ¨ Beweisen Sie die Aquivalenz folgender Aussagen: 1) Es existiert eine symmetrische Matrix A ∈ Rn×n mit (A + A)u = λu und

 A 2 ≤ ε.

3.4 Aufgaben

173

2) F¨ ur r ≡ Au − λu gilt r 2 ≤ ε. Aufgabe 3.8. Es sei A ∈ Rn×n eine Matrix vom Rang 1. Dann ist A von der Form uv T , wobei u und v zwei n-dimensionale nichtverschwindende Vektoren bezeichnen. 1) Man zeige, daß der Skalar uT v ein Eigenwert von A ist. 2) Wie lauten die anderen Eigenwerte von A? 3) Es werde die Potenzmethode auf A angewendet. Wie viele Iterationen sind erforderlich, damit das Verfahren exakt gegen denjenigen Eigenvektor von A konvergiert, der zum dominanten Eigenwert geh¨ ort? Aufgabe 3.9. Es sei A ∈ Rn×n symmetrisch und besitze die Eigenwerte |λ1 | > |λ2 | ≥ · · · ≥ |λn−1 | ≥ |λn |. Das Mises-Rayleigh-Verfahren zur Berechnung von λ1 hat die Form y (0) : Startvektor, y (k+1) = Ay (k) , μk+1 =

(y (k+1) )T y (k) , k = 0, 1, 2, . . . (y (k) )T y (k)

1) Beweisen Sie: μk+1 = λ1 [1 + O(ε2k )] f¨ ur k → ∞ und ε =

λ2 . λ1

2) Welche analoge Beziehung gilt f¨ ur das einfache Mises-Verfahren (Potenzmethode)? 3) Leiten Sie aus obiger Notation eine numerisch brauchbare Realisierung des MisesRayleigh-Verfahrens her! Aufgabe 3.10. Die Matrix A ∈ Rn×n habe die Eigenwerte λ1 > λ2 ≥ · · · ≥ λn−1 ≥ λn . Der Eigenwert λ1 soll mit der Potenzmethode, angewandt auf die Matrix A˜ ≡ A−μI, μ ∈ R berechnet werden. 1) Welcher Zusammenhang besteht zwischen den Eigenwerten λi und den Eigenwer˜ i von A? ˜ ten λ ˜ 1 dominant? 2) F¨ ur welche μ ∈ R ist λ 3) Die Konvergenzgeschwindigkeit der Potenzmethode ur die oben genannten wird f¨ = ˜ i | |λ ˜ 1 | bestimmt. Berechnen Sie μ-Werte durch die Gr¨ oße g(μ) ≡ max |λ i=2,...,n

deren Minimumstellen sowie die zugeh¨ origen Minima. 4) Wie kann λn unter der Voraussetzung λn < λn−1 in den dominanten Eigenwert von A˜ transformiert werden? Aufgabe 3.11. 1) Es sei u ∈ R3 , uT u = 1 und E ≡ {x ∈ R3 : uT x = 0}. Konstruieren Sie eine lineare Abbildung H : R3 → R3 , so daß y = Hx die Spiegelung von x an E ist.

Kapitel 3 Eigenwertprobleme

174

2) Verallgemeinern Sie H f¨ ur den n-dimensionalen Fall. 3) Berechnen Sie H 2 und H −1 . 4) Berechnen Sie alle Eigenwerte und Eigenvektoren von H. 5) Es seien x, y ∈ Rn mit x 2 = y 2 gegeben. Bestimmen Sie ein u ∈ Rn mit uT u = 1, so daß gilt: y = Hx. 6) Es sei x ∈ Rn , mit x = 0, gegeben. Bestimmen Sie ein u ∈ Rn mit uT u = 1 so daß gilt: Hx = ρek . Hierbei bezeichnet ek den k-ten Einheitsvektor und ρ ist eine geeignete reelle Zahl. Schreiben Sie ein Matlab-Programm, das die obige Transformation realisiert. Aufgabe 3.12. Zeigen Sie: 1) Das Eigenwertproblem Ax = λx, A ∈ Rn×n , kann mit Hilfe geeigneter Householder-Transformationen Hk = I − 2u(k) (u(k) )T , (u(k) )T u(k) = 1, k = 1, . . . , n − 2, in die Form By = λy transformiert werden, wobei B ∈ Rn×n eine obere HessenbergMatrix ist und A sowie B gleiche Eigenwerte besitzen. 2) Das Eigenwertproblem Ax = λx, A ∈ Rn×n symmetrisch, kann mit Hilfe der vom Gauß -Algorithmus bekannten Frobenius-Matrizen in die Form By = λy transformiert werden, wobei B ∈ Rn×n eine symmetrische Tridiagonalmatrix ist und A sowie B gleiche Eigenwerte haben. Aufgabe 3.13. Der nachfolgende Algorithmus 3.6 beschreibt das zum QR-Verfahren analoge LR-Cholesky-Verfahren zur simultanen Bestimmung aller Eigenwerte einer positiv definiten Matrix A ∈ Rn×n : LR-Cholesky-Verfahren A1 = A for k = 1, 2, . . . Berechnung der Cholesky-Faktorisierung Ak = Gk GTk end

Ak+1 = GTk Gk

Algorithmus 3.6: LR-Cholesky-Verfahren

Beweisen Sie: 1) Das LR-Cholesky-Verfahren erzeugt eine Folge von symmetrischen ¨ ahnlichen Matrizen Ak . 2) Das LR-Cholesky-Verfahren ist konvergent. Die Folge der Ak konvergiert gegen eine Diagonalmatrix Λ, deren Diagonalelemente gleich den Eigenwerten von A sind.

3.4 Aufgaben

175

Aufgabe 3.14. Gegeben sei eine Matrix A ∈ R3×3 . Durch links- und/oder rechtsseitige Multiplikationen mit orthogonalen Transformationsmatrizen Qj (Givens- oder Householder-Matrizen) sollen die nichtverschwindenden Elemente von A zu Null gemacht werden. Wir betrachten die folgenden drei Matrixstrukturen: ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ × × 0 × × 0 × × 0 1) ⎣ 0 × ×⎦ , 2) ⎣× 0 ×⎦ , 3) ⎣ 0 0 ×⎦ . 0 0 × 0 × × 0 0 × F¨ ur jede dieser Matrizen entscheide man, welche der unten angegebenen Situationen zutrifft. Die jeweilige Behauptung ist zu begr¨ unden. 1) Die Zielstellung l¨ aßt sich durch eine Folge linksseitiger Multiplikationen mit den Matrizen Qj erreichen; 2) Es gilt nicht 1), aber durch eine Folge links- und rechtsseitiger Multiplikationen mit den Matrizen Qj ist dies m¨ oglich; 3) Das Ziel kann nicht durch eine Folge von links- und rechtseitigen Multiplikationen mit den Matrizen Qj erhalten werden. Aufgabe 3.15. Es sei das verallgemeinerte Eigenwertproblem Ax = λBx mit den Matrizen A, B ∈ Rn×n gegeben. Zeigen Sie: 1) Ist A symmetrisch und B positiv definit, so kann obige Aufgabe in ein Eigenwertproblem Cy = λy mit einer symmetrischen Matrix C ∈ Rn×n und y ∈ Rn u uhrt werden, wobei A und C a ¨berf¨ ¨hnliche Matrizen sind. Hinweis: Cholesky-Faktorisierung. 2) Falls A, B nicht symmetrisch sind, so kann obige Aufgabe in ein Eigenwertproblem ˜ = λBy, ˜ mit den gleichen Eigenwerten, transformiert werden. Dabei ist A˜ eine Ay ˜ eine obere -Matrix. obere Hessenberg-Matrix und B Hinweis: Benutzen Sie Householder -Transformationen zur Realisierung der Fakˆ = QB ˆ und Aˆ = QA; ˆ Q ˆ orthogonale Matrix, B ˆ obere -Matrix. torisierungen B ˜ AZ, ˆ B ˜ = Q ˜ BZ, ˆ Verwenden Sie Givens-Rotationen zur Realisierung von A˜ = Q ˜ Z orthogonale Matrizen. Q, Aufgabe 3.16. Man beweise, daß eine reelle quadratische Matrix A der Ordnung n symmetrisch ist, wenn sie n orthogonale Eigenvektoren besitzt. Aufgabe 3.17. vv T 1) Wie lauten die Eigenwerte der Householder -Matrix H = I − 2 T ∈ Rn×n , wobei v v v ∈ Rn einen nichtverschwindenden Vektor bezeichnet? + , c s 2) Welches sind die Eigenwerte der Givens-Transformation G = ∈ R2×2 , −s c wobei c2 + s2 = 1 gilt?

Kapitel 3 Eigenwertprobleme

176 Aufgabe 3.18. Man bestimme die Eigenwerte den Elementen: ⎧ 101 − i, ⎪ ⎪ ⎪ ⎪ ⎪ 40 ⎪ ⎪ ⎪ , (−1)i+j+1 ⎪ ⎪ i+j−2 ⎪ ⎨ 40 aij ≡ , ⎪ ⎪ 102 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ 40, ⎪ ⎪ ⎪ ⎩ 0,

der (100 × 100)-Matrix A = (aij ) mit j=i j 0 f¨ Gilt andererseits f¨ ur eine Funktion f ∈ C[a, b] die Beziehung f (a)f (b) < 0, dann liegt mindestens eine Nullstelle in (a, b). Von Lindfield und Penny1 werden die folgenden zwei Beispiele nichtlinearer skalarer Gleichungen angegeben, die den unterschiedlichen Charakter der L¨ osungen nichtlinearer Gleichungen sehr anschaulich verdeutlichen: 0 = f (x)

0 = f (x) 1

≡ x6 − 2x5 − 8x4 + 14x3 + 11x2 − 28x + 12 = (x − 1)3 (x + 2)2 (x − 3), ≡

e

x − 10

sin (10x).

(4.4) (4.5)

Siehe die Monographie von G. Lindfield and J. Penny: Numerical Methods Using MATLAB. Ellis Horwood, NewYork et al., 1995.

4.1 Problemstellung

Abbildung 4.1: Graph der Funktion f (x) aus (4.4)

Abbildung 4.2: Graph der Funktion f (x) aus (4.5)

179

180

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

In der Abbildung 4.1 ist die Funktion f (x) aus (4.4) graphisch dargestellt. Sie besitzt in x = 1 eine dreifache, in x = −2 eine doppelte und in x = 3 eine einfache Wurzel. Wie wir sp¨ ater sehen werden, versagen im Falle mehrfacher Wurzeln die numerischen Standardalgorithmen, so daß sich gewisse Modifikationen der Verfahren erforderlich machen. Dies gilt auch f¨ ur Nullstellen, die sehr dicht beieinander liegen. F¨ ur nichtlineare Gleichungen, die transzendente Funktionen enthalten, ist es i.allg. nicht m¨oglich, alle Nullstellen zu berechnen. Entweder ist die genaue Anzahl der Nullstellen nicht bekannt oder aber es gibt unendlich viele Nullstellen. Letztere Situation ist in der Abbildung 4.2 anhand des Graphen der Funktion f (x) aus (4.5) f¨ ur Werte x ∈ (0, 20) dargestellt. Je mehr man das x-Intervall vergr¨ oßert, um so mehr L¨ osungen treten auf; sie liegen dar¨ uber hinaus noch sehr dicht beieinander. In den nachfolgenden Abschnitten werden die wichtigsten numerische Verfahren zur L¨osung skalarer nichtlinearer Probleme betrachtet. Gegeben sei somit eine Gleichung der Form f (x) = 0,

f : R → R.

(4.6)

Numerisch zu bestimmen sind einige oder auch alle reellen Werte der Variablen x, die dieser Gleichung gen¨ ugen. L¨ osungen von (4.6) werden Nullstellen oder auch Wurzeln genannt. Die zugeh¨ origen theoretischen und algorithmischen Untersuchungen sind lokaler Natur, da beim Vorliegen nichtlinearer Zusammenh¨ ange globale Aussagen nur in den seltensten F¨allen erhalten werden k¨ onnen. Aus diesem Grunde hat man neben der Gleichung (4.6) stets noch ein (i.allg. sehr kleines) Intervall I ≡ [a, b] ⊃ R anzugeben, in dem ochte. sich diejenige L¨ osung x∗ von (4.6) befindet, die man numerisch approximieren m¨ Man spricht in diesem Zusammenhang vom Lokalisierungsprinzip. Da die L¨ osung einer linearen Gleichung keine Schwierigkeiten bereitet, wird die Bestimmung einer L¨ osung von (4.6) auf eine i.allg. unendliche Folge linearer Gleichungen zur¨ uckgef¨ uhrt. Diese Strategie wollen wir als Linearisierungsprinzip bezeichnen. Das Lokalisierungs- und das Linearisierungsprinzip stellen die Grundlage f¨ ur alle numerischen Verfahren dar, die in den folgenden zwei Kapiteln betrachtet werden. Bei der obigen Problemstellung handelt es sich um eine der ¨ altesten Approximationsaufgaben. Die zugeh¨ origen numerischen Verfahren sind ausschließlich iterativ und variieren vom klassischen Newton-Verfahren bis hin zum Quotienten-Differenzen-Algorithmus f¨ ur uckgeht. Das eigentliche NewtonPolynomfunktionen, der auf H. Rutishauser 19571 zur¨ Verfahren wurde 1669 von Isaac Newton2 gefunden und in der heute u ¨blichen Form zuerst von Joseph Raphson 1690 ver¨ offentlicht; es ist daher in der Literatur sowohl unter dem Namen Newton- als auch unter dem Namen Newton-Raphson-Verfahren zu finden3 . 1

H. Rutishauser: Der Quotienten-Differenzen-Algorithmus. Birkh¨ auser, Basel, 1957. Sir Isaac Newton (1643–1727), Englischer Mathematiker. 3 Siehe z.B. Herman H. Goldstine: A History of Numerical Analysis from the 16th Through the 19th Century. Springer Verlag, New York, Heidelberg, Berlin, 1977. 2

4.2 Fixpunkt-Iteration

4.2

181

Fixpunkt-Iteration

Wir wollen an dieser Stelle voraussetzen, daß die nichtlineare Gleichung (4.6) bereits in einer sogenannten iterierf¨ ahigen Form (auch Fixpunkt-Gleichung genannt) vorliegt: x = g(x),

g : [a, b] ⊂ R → R.

(4.7)

¨ Die Uberf¨ uhrung von (4.6) in (4.7) ist i.allg. nicht eindeutig und kann oftmals auf vielf¨ altige Weise vorgenommen werden. Eine solche M¨ oglichkeit ergibt sich stets mit g(x) ≡ x − f (x). Wie wir aber sehen werden, erweist sich diese spezielle Wahl in den meisten F¨ allen als v¨ ollig ungeeignet. Definition 4.1. Ist die nichtlineare Funktion g auf dem Intervall I ≡ [a, b] definiert und gilt g(x∗ ) = x∗ f¨ ur ein x∗ ∈ I, dann sagt man, daß g den Fixpunkt x∗ in I besitzt.  Bedingungen f¨ ur die Existenz und Eindeutigkeit eines solchen Fixpunktes sind im folgenden Satz angegeben. Satz 4.1. (Variante des Banachschen Fixpunktsatzes) 1) Ist g ∈ C[a, b] eine reelle Funktion, die die Bedingung g(x) ∈ [a, b] f¨ ur alle x ∈ [a, b]

(Selbstabbildung)

(4.8)

erf¨ ullt, dann besitzt g mindestens einen Fixpunkt x∗ ∈ [a, b]. 2) Es m¨ oge dar¨ uber hinaus g  (x) auf (a, b) existieren und stetig sein. Erf¨ ullt g  (x) mit einer reellen Konstanten L die Beziehung |g  (x)| ≤ L < 1 f¨ ur alle x ∈ (a, b),

(Kontraktion)

(4.9)

dann besitzt g genau einen Fixpunkt x∗ ∈ [a, b]. Beweis: 1) Gilt g(a) = a oder g(b) = b, dann ist die Existenz eines Fixpunktes offensichtlich. Es werde deshalb angenommen, daß g(a) > a und g(b) < b ist. Wir definieren die Funktion h(x) ≡ g(x) − x. Diese ist stetig auf I = [a, b] und erf¨ ullt h(a) = g(a) − a > 0 und

h(b) = g(b) − b < 0.

Nach dem Zwischenwertsatz existiert ein x∗ ∈ (a, b) mit h(x∗ ) = 0. Somit besteht die Beziehung g(x∗ ) − x∗ = 0, d.h., x∗ ist ein Fixpunkt von g.

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

182

2) Es gelte (4.9) und x∗ , x∗∗ seien 2 Fixpunkte in I mit x∗ = x∗∗ . Nach dem Mittelwertsatz existiert ein ξ ∈ (a, b) mit |x∗ − x∗∗ | = |g(x∗ ) − g(x∗∗ )| = |g  (ξ)| |x∗ − x∗∗ | ≤ L |x∗ − x∗∗ | < |x∗ − x∗∗ |. Aus diesem Widerspruch folgt x∗ = x∗∗ , d.h., der Fixpunkt ist in I eindeutig bestimmt.  Um nun den Fixpunkt einer Funktion g numerisch zu berechnen, w¨ ahlt man eine mittels der Iterationsvorschrift: Startn¨ aherung x0 ∈ I und erzeugt eine Folge {xk }∞ k=0 xk = g(xk−1 ),

k = 1, 2, . . .

(4.10)

Konvergiert diese Folge gegen x∗ und ist g stetig, dann gilt: x∗ = lim xk = lim g(xk−1 ) = g( lim xk−1 ) = g(x∗ ), k→∞

k→∞

k→∞

d.h., man erh¨ alt eine L¨ osung von x = g(x). Diese Methode wird Fixpunkt-Iteration genannt. In der Abbildung 4.3 ist ein typischer Verlauf der Fixpunkt-Iteration graphisch veranschaulicht. Eingezeichnet sind die Graphen der Funktionen y = x und y = g(x), die auf der linken bzw. der rechten Seite der Fixpunkt-Gleichung (4.7) stehen. Der Fixpunkt ullter Kreis) ergibt sich als Schnittpunkt der beiden Kurven. x∗ (kleiner nicht ausgef¨ orige Kurvenpunkt g(x0 ) bestimmt. Beginnend mit einem Startwert x0 wird der zugeh¨ Die neue Iterierte x1 ergibt sich dann durch Spiegelung an der Geraden y = x. Dieser Prozeß wird solange fortgesetzt, bis man hinreichend nahe an den Schnittpunkt x∗ herangekommen ist (Konvergenz) oder aber sich immer weiter von x∗ entfernt (Divergenz). ∗ Der Abbildung 4.3 ist zu entnehmen, daß hier die Folge {xk }∞ k=0 gegen x konvergiert.

Abbildung 4.3: Fixpunkt-Iteration

4.2 Fixpunkt-Iteration

183

Eine Implementierung der Fixpunkt-Iteration in Form der Matlab-Funktion fixp ist mit dem Programm 4.1 gegeben. Dabei muß eine weitere Funktion g bereitgestellt werden, die die rechte Seite der Fixpunkt-Gleichung x = g(x) beschreibt. Programm 4.1

Fixpunkt-Iteration

function [x,i,ind] = fixp(x0,TOL,N0) % % % % % % % %

%

x0: Startwert;

TOL: Toleranz; N0: maximale Iterationsschrittanzahl

x: letzte Iterierte; i: ben¨ otigte Anzahl an Iterationen ind: Information ¨ uber den Rechenverlauf, mit ind=1: Verfahren konvergiert, ’L¨ osung’ x ist berechnet, ind=2: maximale Iterationsschrittanzahl N0 ¨ uberschritten x=x0; i=0; while i< N0 xn=g(x); if abs(xn-x) < TOL*(1+abs(x)) ind=1; x=xn; return end i=i+1; x=xn; end maximale Iterationsschrittanzahl N0 ¨ uberschritten ind=2;

Anhand eines Beispiels sollen die Eigenschaften der Fixpunkt-Iteration demonstriert werden. Beispiel 4.1. Wir betrachten die Gleichung f (x) ≡ x + ex − 2 = 0.

(4.11)

Sie besitzt im Intervall I = [0, 1] eine L¨ osung, da f ∈ C[0, 1] und f (0)f (1) < 0 ist. Die Gleichung (4.11) kann sofort in die iterierf¨ ahige Form (4.7) u uhrt werden, in¨berf¨ dem man x auf der linken Seite allein stehen l¨ aßt: x = 2 − ex . Hieraus resultiert die Iterationsvorschrift xk = 2 − exk−1 ,

k = 1, 2, . . .

Die f¨ ur die Anwendung des Programms 4.1 erforderliche Matlab-Funktion von g(x) lautet hier function y = g(x) y = 2 - exp(x);

184

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

Verwendet man den Startwert x0 = 0, eine Genauigkeit TOL=10−6 sowie N0=25, dann ergibt sich nach dem Aufruf [x,i,ind] = fixp(0,1e-6,25)

das folgende Ergebnis: ind=2 und x=1.99527, d.h., die maximale Iterationsschrittzahl wird u ¨berschritten. Es ist deshalb sinnvoll, die ersten Glieder der intern erzeugten Folge {xk }∞ k=0 auszugeben: x1 = 1

x2 = −0.71828

x3 = 1.51241

x5 = 1.92095

x6 = −4.82743

etc.

x4 = −2.53766

Offensichtlich liegt keine Konvergenz vor. Jetzt schreiben wir die Gleichung in der Form ex = 2 − x und logarithmieren beide Seiten. Es resultiert x = ln (2 − x). Hieraus ergibt sich die neue Iterationsvorschrift xk = ln (2 − xk−1 ),

k = 1, 2, . . .

Somit hat man nun die Matlab-Funktion function y = g(x) y = log(2-x);

bereitzustellen. Startet man wie zuvor, dann erzeugt das Programm 4.1 das Resultat ind=1 und x=0.44285, d.h., es liegt in diesem Falle Konvergenz vor. Einen Eindruck, alt man, wenn die intern erzeugten Itewie schnell die Folge {xk }∞ k=0 konvergiert, erh¨ rierten direkt ausgegeben werden: x1 = 0.69315 x5 = 0.48741 x14 = 0.44202 x30 = 0.44285

x2 = 0.26762 ... x15 = 0.44339

x3 = 0.54950 x12 = 0.44083 x16 = 0.44251

x4 = 0.37191 x13 = 0.44415 ...

Offensichtlich konvergiert das Verfahren relativ langsam.



Das obige Beispiel lehrt, daß sich bei der Anwendung der Fixpunkt-Iteration eine Vorschrift erforderlich macht, nach der im jeweiligen Fall g zu bestimmen ist. Insbesondere sind dabei Kriterien zu ber¨ ucksichtigen, wie: • die Konvergenz der resultierenden Iterationsfolge gegen eine L¨ osung x∗ ∈ I von (4.7) sowie • die Geschwindigkeit, mit der die Folge {xk }∞ k=0 konvergiert. Einen ersten Schritt in diese Richtung stellt das im folgenden Satz formulierte Resultat dar.

4.2 Fixpunkt-Iteration

185

Satz 4.2. Es sei g ∈ C[a, b] und es werde vorausgesetzt, daß f¨ ur alle x ∈ [a, b] die Beziehung g(x) ∈ [a, b] gilt. Des weiteren existiere g  auf (a, b) mit ur alle x ∈ (a, b). |g  (x)| ≤ L < 1 f¨

(4.12)

Ist x0 ein beliebiger Startwert aus dem Intervall [a, b], dann konvergiert die durch xk = g(xk−1 ),

k = 1, 2, . . . ,

∗ definierte Folge {xk }∞ k=0 gegen den eindeutigen Fixpunkt x in [a, b].

Beweis: Nach dem Satz 4.1 existiert ein eindeutiger Fixpunkt x∗ in I. Da g das Intervall ur alle k ≥ 0 definiert und es gilt xk ∈ I I in sich selbst abbildet, ist die Folge {xk }∞ k=0 f¨ f¨ ur alle k. Unter Verwendung der Ungleichung |g  (x)| ≤ L < 1 und dem Mittelwertsatz ergibt sich |xk − x∗ | = |g(xk−1 ) − g(x∗ )| = |g  (ξ)| |xk−1 − x∗ | ≤ L |xk−1 − x∗ |,

ξ ∈ (a, b).

Die sukzessive Anwendung dieser Ungleichung liefert |xk − x∗ | ≤ L |xk−1 − x∗ | ≤ L2 |xk−2 − x∗ | ≤ · · · ≤ Lk |x0 − x∗ |.

(4.13)

Da L < 1 ist, erh¨ alt man schließlich lim |xk − x∗ | ≤ lim Lk |x0 − x∗ | = 0,

k→∞

k→∞

∗ d.h., {xk }∞ k=0 → x .



Aus dem obigen Satz l¨ aßt sich sehr einfach eine a priori Fehlerschranke f¨ ur die k-te Iterierte ableiten, in die nur der Startwert x0 eingeht. Folgerung 4.1. Erf¨ ullt g die Voraussetzungen von Satz 4.2, dann ergibt sich die folgende a priori Fehlerschranke: |xk − x∗ | ≤ Lk max {x0 − a, b − x0 },

k = 1, 2, . . .

Beweis: Aus der Formel (4.13) folgt sofort: |xk − x∗ | ≤ Lk |x0 − x∗ | ≤ Lk max {x0 − a, b − x0 },

da x∗ ∈ I ist.



aßt sich gewinnen, wenn man Eine weitere (genauere) a priori Fehlerschranke f¨ ur xk l¨ das Ergebnis des ersten Iterationsschrittes x1 mit hinzuzieht.

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

186

Folgerung 4.2. Erf¨ ullt g die Voraussetzungen von Satz 4.2, dann gilt: |xk − x∗ | ≤

Lk |x0 − x1 |, 1−L

k = 1, 2, . . .

Beweis: F¨ ur k ≥ 1 gilt: |xk+1 − xk | = |g(xk ) − g(xk−1 )| ≤ L |xk − xk−1 | ≤ · · · ≤ Lk |x1 − x0 |. Somit ist f¨ ur l > k ≥ 1: |xl − xk |

= ≤ ≤ =

|xl − xl−1 + xl−1 − · · · + xk+1 − xk | |xl − xl−1 | + |xl−1 − xl−2 | + · · · + |xk+1 − xk | Ll−1 |x1 − x0 | + Ll−2 |x1 − x0 | + · · · + Lk |x1 − x0 | Lk (1 + L + L2 + · · · Ll−k−1 ) |x1 − x0 |.

Es ist aber nach dem Satz 4.2: lim xl = x∗ , so daß l→∞

|x∗ − xk | = lim |xl − xk | ≤ Lk |x1 − x0 | l→∞

∞  i=0

Li =

Lk |x1 − x0 |. 1−L



Die beiden Folgerungen lassen erkennen, daß die Konvergenzgeschwindigkeit der Fixpunkt-Iteration sehr stark durch die Schranke L an die erste Ableitung von g beeinflußt wird. Insbesondere h¨ angt die Konvergenzgeschwindigkeit von dem Term Lk /(1 − L) ab. Dies impliziert, daß um so schnellere Konvergenz vorliegt, je kleiner L ist. F¨ ur L ≈ 1 erweist sich die Fixpunktiteration als ein extrem langsames Verfahren.

4.3

Newton-Verfahren

Das Newton-Verfahren ist eine der bekanntesten und am weitesten verbreiteten Techniken zur L¨ osung nichtlinearer Gleichungen. Seine Herleitung kann auf mindestens drei unterschiedlichen Wegen erfolgen, die in der Literatur auch tats¨ achlich beschritten werden: • geometrisch als Tangentenmethode, • analytisch als spezielles Taylorpolynom oder • rechentechnisch als einfaches Verfahren zur Beschleunigung der Konvergenz der Fixpunkt-Iteration. Wir wollen mit dem zweiten Weg beginnen, wobei wir von den nachfolgend genannten Voraussetzungen ausgehen.

4.3 Newton-Verfahren

187

Voraussetzung 4.1. Es m¨ oge gelten: • f ∈ C2 [a, b], ˜ • es existiert mindestens eine Nullstelle x∗ von (4.6) im Intervall [a, b] und mit x werde eine N¨ aherung f¨ ur x∗ bezeichnet, • f  (x∗ ) = 0, und x − x∗ | < 1). • die Differenz |˜ x − x∗ | ist sehr klein (zumindest gilt |˜



Die dritte Voraussetzung ist ganz wesentlich f¨ ur die Konstruktion numerischer Verfahren. Bevor wir mit der Herleitung des Newton-Verfahrens fortfahren, m¨ ochten wir hierzu einige Bemerkungen machen. Die Voraussetzung f  (x∗ ) = 0 beschreibt mathematisch den Sachverhalt, daß es sich bei x∗ um eine einfache Nullstelle der Gleichung f (x) = 0 handelt. Hierdurch werden beispielsweise solche Probleme wie f (x) = x2 , bei welchen x∗ = 0 eine mehrfache Wurzel darstellt, ausgeschlossen. Insbesondere folgt aus der Bedingung f  (x∗ ) = 0 die Isoliertheit der Nullstelle x∗ im Sinne der folgenden Definition. Definition 4.2. Eine L¨ osung x∗ der Gleichung f (x) = 0 wird isoliert genannt, wenn es eine (beliebig kleine!) Umgebung um x∗ gibt, in der keine weitere, von x∗ verschiedene L¨osung liegt.  An die Stelle der Eindeutigkeit von L¨ osungen linearer Gleichungen tritt bei nichtlinearen Gleichungen der oben definierte Begriff der Isoliertheit. Er ist Ausdruck daf¨ ur, daß f¨ ur nichtlineare Probleme i.allg. nur noch eine lokale Analyse m¨ oglich ist. So garantiert die Isoliertheit von x∗ zumindest lokal (in einer kleinen Umgebung um x∗ ) die Eindeutigkeit dieser L¨ osung. Wir wollen uns nun wieder der Konstruktion des Newton-Verfahrens zuwenden. Das Taylorpolynom 2. Grades von f (x), entwickelt an der Stelle x ˜, lautet: x)(x − x ˜) + f  (ξ(x)) f (x) = f (˜ x) + f  (˜

(x − x ˜ )2 , 2

(4.14)

wobei ξ(x) zwischen x und x ˜ liegt. Da f (x∗ ) = 0 ist, ergibt die Formel (4.14) f¨ u r x = x∗ : x)(x∗ − x ˜) + f  (ξ(x∗ )) 0 = f (˜ x) + f  (˜

˜ )2 (x∗ − x . 2

Wegen der Annahme, daß |˜ x − x∗ | < 1 ist (siehe die Voraussetzung 4.1), erweist sich oße in erster N¨ aherung vernachl¨ assigt |˜ x − x∗ |2 als noch viel kleiner. Somit kann diese Gr¨ werden und es resultiert x)(x∗ − x ˜). 0 ≈ f (˜ x) + f  (˜ Die Aufl¨ osung der obigen gen¨ aherten“ Gleichung nach x∗ f¨ uhrt auf ” f (˜ x) . x∗ ≈ x ˜−  f (˜ x)

(4.15)

188

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

Der Nenner f  (˜ x) verschwindet offensichtlich nicht, da wir davon ausgegangen sind, osung x∗ die Bedingung f  (x∗ ) = 0 erf¨ ullt sowie daß x ˜ sehr nahe bei x∗ liegt und die L¨ f ∈ C2 [a, b] ist. Der auf der rechten Seite stehende Wert stellt i.allg. eine bessere Approaherung x ˜. Weist man nun x ˜ diesen neuen Wert ximation von x∗ dar als die gegebene N¨ zu und wiederholt den obigen Prozeß, dann ist durch die Formel (4.15) ein Iterationsschritt des sogenannten Newton-Verfahrens erkl¨ art. Ausgehend von einem noch geeignet zu w¨ ahlenden Startwert x0 erzeugt dieses eine Folge {xk }∞ k=0 mittels der Vorschrift: xk = xk−1 −

f (xk−1 ) , f  (xk−1 )

k = 1, 2, . . .

(4.16)

Die Iteration (4.16) wurde in der vorliegenden Form erstmalig von J. Raphson1 im Jahre 1690 vorgeschlagen. Sie wird jedoch u ¨blicherweise nach Isaac Newton benannt, da dieser bereits einige Jahre fr¨ uher eine ¨ ahnliche Technik entwickelte. Der Ursprung der Iterationsverfahren zur L¨ osung nichtlinearer Gleichungen l¨ aßt sich ungef¨ ahr 600 Jahre osung der kuzur¨ uckverfolgen. So geht auf al-K˜ ash˜i 2 eine sehr elegante Methode zur L¨ uck, die als Vorl¨ aufer des Newton-Verfahrens bischen Gleichung sin 3α = 3x − 4x3 zur¨ aftigte sich bereits mit numerischen Technigedeutet werden kann. Auch F. Vieta3 besch¨ ken zur Behandlung nichtlinearer Gleichungen. Ihm wird von den Historikern ein nicht unbedeutender Einfluß auf den jungen Newton zugeschrieben. Das Newton-Verfahren l¨ aßt sich auch als eine spezielle Form der Fixpunkt-Iteration orige Funktion g(x) wie xk = g(xk−1 ), k = 1, 2, . . . , interpretieren, indem man die zugeh¨ folgt definiert: g(x) ≡ x −

f (x) . f  (x)

(4.17)

In der Abbildung 4.4 ist ein Beispiel f¨ ur den graphischen Verlauf der Newton-Iteration dargestellt. Im Gegensatz zur Abbildung 4.3 kann hier die gegebene Funktion f (x) direkt eingezeichnet werden. Man beginnt wieder mit einem Startwert x0 und berechnet den Funktionswert f (x0 ). Verschwindet dieser, dann hat man bereits die Nullstelle x∗ vorliegen, was in der Praxis aber kaum der Fall sein wird. Anderenfalls legt man durch den Punkt (x0 , f (x0 )) die Tangente an den Graphen von f (x). In der Terminologie der Schulmathematik verwendet man hierzu die Punkt-Richtungs-Gleichung. Diese Tangente stellt nach dem Linearisierungsprinzip die gesuchte lineare Ersatzfunktion dar, die jedoch nach dem Lokalisierungsprinzip nur in einem streng lokalen Sinne die Nichtlinearit¨ at hinreichend gut approximiert. Als neue N¨ aherung x1 wird nun die Nullstelle 1

Joseph Raphson (1648–1715), Englischer Mathematiker. Ghiyath al-Din Jamshid Mas’ud al-K˜ ash˜i (1380–1429), Iranischer Astronom und Mathematiker, der am Observatorium von Samarkand arbeitete und an der dort neu gegr¨ undeten Universit¨ at lehrte. 3 Fran¸ cois Vieta (1540–1603), Franz¨ osischer Jurist und Advokat. Er f¨ uhrte 1591 das Rechnen mit Buchstaben ein und verwendete systematisch Symbole f¨ ur die Rechenoperationen. 2

4.3 Newton-Verfahren

189

Abbildung 4.4: Newton-Verfahren

der Tangente (d.h. deren Schnittpunkt mit der x-Achse) verwendet. Die beschriebene Strategie setzt man jetzt solange fort, bis die Iterierten der Nullstelle x∗ hinreichend nahe gekommen sind (Konvergenz) oder aber man feststellt, daß sie sich von x∗ wegbewegen bzw. um die Nullstelle hin- und herspringen und diese somit nie erreichen k¨ onnen (Divergenz). Offensichtlich ist in der Abbildung 4.4 ein konvergenter Fall dargestellt. Schließlich sollte noch bemerkt werden, daß wir hiermit den am Anfang dieses Abschnittes genannten zweiten Weg zur Herleitung des Newton-Verfahrens beschritten haben, n¨amlich den geometrischen Zugang als Tangentenmethode. Man beachte: Bei der allgemeinen Fixpunkt-Iteration wird die nichtlineare Gleichung ebenfalls (trivial!) linearisiert, indem man die Iterierte xk−1 in die rechte Seite g(x) einsetzt. In diesem Falle spricht man auch von einem Abt¨ oten“ der Nichtlinearit¨ at. ” Das Newton-Verfahren kann nun wie im Programm 4.2 angegeben, in eine MatlabFunktion u uhrt werden. Vom Anwender sind zwei weitere Funktionen f und fstrich ¨berf¨ bereitzustellen, die die Funktion f (x) bzw. deren Ableitung f  (x) beschreiben. Bez¨ uglich der Konvergenz des Newton-Verfahrens gilt der folgende Satz. ur die f  (x∗ ) = 0 Satz 4.3. Es sei f ∈ C2 [a, b]. Ist x∗ ∈ [a, b] eine L¨osung von (4.6), f¨ gilt, dann existiert ein δ > 0, so daß das Newton-Verfahren f¨ ur jede Startn¨aherung ∗ erzeugt, die gegen x konvergiert. x0 ∈ [x∗ − δ, x∗ + δ] eine Folge {xk }∞ k=0

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

190 Programm 4.2

Newton-Verfahren

function [x,i,ind] = newton1(x0,TOL1,TOL2,N0); % % % % % % % %

%

%

%

%

%

x0: Startwert; TOL1, TOL2: Toleranzen;

N0: maximale Iterationsschrittanzahl

x: letzte Iterierte; i: ben¨ otigte Anzahl an Iterationen ind: Information ¨ uber den Rechenverlauf, mit ind=1: Verfahren konvergiert, ’L¨ osung’ x ist berechnet, ind=2: maximale Iterationsschrittanzahl N0 ¨ uberschritten x=x0; i=0; while i < N0 fx=f(x); if abs(fx) < TOL1 x ist ’L¨ osung’ ind=1; return end fsx=fstrich(x); if fsx == 0 Newtonverfahren nicht durchf¨ uhrbar ind=3; return end L¨ osung der linearen Gleichung fsx*y=-fx y=-fx/fsx; if abs(y) < TOL2*(1+abs(x)) x ist ’L¨ osung’ ind=1; return end i=i+1; x=x+y; end maximale Iterationsschrittanzahl N0 ¨ uberschritten ind=2;

Beweis: Der Beweis basiert auf der Fixpunkt-Gleichung x = g(x), mit g(x) nach (4.17). Um den Satz 4.2 anwenden zu k¨ onnen, ist ein Intervall I1 ≡ [x∗ − δ, x∗ + δ] ⊂ I zu bestimmen, f¨ ur welches gilt: • g bildet I1 in sich selbst ab, und u r x ∈ I1 . • |g  (x)| ≤ L < 1 f¨ 1) Da f  (x∗ ) = 0 und f  stetig ist, l¨ aßt sich ein δ1 > 0 finden, so daß f  (x) = 0 f¨ ur ∗ ∗ x ∈ [x − δ1 , x + δ1 ] ⊂ I. Damit ist g definiert und stetig auf [x∗ − δ1 , x∗ + δ1 ]. Gleiches gilt auch f¨ ur g  (x) = 1 −

f  (x)f  (x) − f (x)f  (x) f (x)f  (x) = , [f  (x)]2 [f  (x)]2

4.3 Newton-Verfahren

191

da f ∈ C2 [a, b] und g ∈ C1 [x∗ − δ1 , x∗ + δ1 ]. In der L¨ osung wird g  (x∗ ) =

f (x∗ )f  (x∗ ) = 0. [f  (x∗ )]2

Da g  stetig ist, impliziert diese Gleichung die Existenz eines δ, mit 0 < δ ≤ δ1 und |g  (x)| ≤ L < 1 f¨ ur x ∈ [x∗ − δ, x∗ + δ]. 2) Es verbleibt noch zu zeigen, daß g : [x∗ − δ, x∗ + δ] → [x∗ − δ, x∗ + δ]. ur ein ξ zwischen x und x∗ : Ist x ∈ [x∗ − δ, x∗ + δ], dann folgt f¨ |g(x) − x∗ | = |g(x) − g(x∗ )| = |g  (ξ)||x − x∗ | ≤ L |x − x∗ | < |x − x∗ |. Wegen x ∈ [x∗ − δ, x∗ + δ] gilt: |x − x∗ | ≤ δ

→

|g(x) − x∗ | < δ

→

g : [x∗ − δ, x∗ + δ] → [x∗ − δ, x∗ + δ].

Damit sind alle Voraussetzungen des Satzes 4.2 erf¨ ullt, d.h., {xk }∞ k=1 :

xk = g(xk−1 ),

k = 1, 2, 3, . . . ,

mit

g(x) ≡ x −

f (x) f  (x)

ur einen beliebigen Startwert x0 ∈ [x∗ − δ, x∗ + δ]. konvergiert gegen x∗ f¨



Ein wesentlicher Nachteil des Newton-Verfahrens besteht darin, daß die Ableitung f  (x) analytisch berechnet werden muß, d.h., das Verfahren ist nicht direkt implementierbar. Zur Vermeidung dieses Problems n¨ ahert man u ¨blicherweise den Differentialquotienten durch einen zugeh¨ origen Differenzenquotienten an. Die naheliegende Approximation f  (xk−1 ) ≈

f (xk−1 + h) − f (xk−1 ) , h

h > 0 hinreichend klein,

w¨ urde jedoch in jedem Schritt eine zus¨ atzliche Funktionswertberechnung f (xk−1 + h) ben¨ otigen. Aus der Sicht des erforderlichen Rechenaufwandes ist es deshalb g¨ unstiger, f¨ ur die gen¨ aherte Berechnung der Ableitungswerte nur Funktionswerte in den Iterierten, ur das Newtond.h., f (xi ), i ∈ {0, 1, 2, . . .}, zuzulassen. Diese Funktionswerte werden f¨ Verfahren sowieso ben¨ otigt. Man erh¨ alt daraus die Approximationsvorschrift f  (xk−1 ) ≈

f (xk−1 ) − f (xk−2 ) , xk−1 − xk−2

deren Genauigkeit sicher dann ausreicht, wenn die Iterierten bereits nahe bei der L¨ osung liegen. Setzt man diesen N¨ aherungsausdruck in die Formel (4.16) ein, so resultiert die,

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

192

unter dem Namen Sekanten-Verfahren bekannte Methode

xk = xk−1 −

f (xk−1 )(xk−1 − xk−2 ) , f (xk−1 ) − f (xk−2 )

k = 2, 3, . . .

(4.18)

Wie die Abbildung 4.5 zeigt, approximiert man auch bei dieser Strategie die nichtlineare Funktion f (x) lokal durch eine lineare Ersatzfunktion (Lokalisierungs- und Linearisierungsprinzip).

Abbildung 4.5: Sekanten-Verfahren

Im Gegensatz zum Newton-Verfahren verwendet man beim Sekanten-Verfahren als lineare Ersatzfunktion eine Sekante, und zwar diejenige, die durch die Punkte (xk , f (xk )) auft. Somit ist jetzt die Gerade, die die nichtlineare Funktion und (xk−1 , f (xk−1 )) verl¨ lokal approximiert, durch die sogenannte Zweipunkte-Gleichung festgelegt. Der Schnittpunkt dieser linearen Ersatzfunktion mit der x-Achse (Nullstelle) wird wiederum als N¨aherung f¨ ur die L¨ osung x∗ der Gleichung (4.6) verwendet. Die formelm¨ aßige Darstellung (4.18) des Sekanten-Verfahrens ist jedoch f¨ ur die Implementierung auf einem Rechner nicht gut geeignet, da h¨ aufig ein Exponenten¨ uberlauf auftritt.

4.3 Newton-Verfahren Programm 4.3

193 Sekanten-Verfahren

function [x,i,ind] = sekante(x0,x1,TOL1,TOL2,N0); % % % % % % % % %

%

%

%

%

x0,x1: Startwerte; TOL1,TOL2: Toleranzen N0: maximale Iterationsschrittanzahl x: letzte Iterierte; i: ben¨ otigte Anzahl an Iterationen ind: Information ¨ uber den Rechenverlauf, mit ind=1: Verfahren konvergiert, ’L¨ osung’ x ist berechnet, ind=2: maximale Iterationsschrittanzahl N0 ¨ uberschritten i=0; qa=f(x0); qn=f(x1); if abs(qa) > abs(qn) xa=x0; xn=x1; else xa=x1; xn=x0; s=qn; qn=qa; qa=s; end while i < N0 s=qn/qa; r=1-s; t=s*(xa-xn); x=xn-t/r; fx=f(x); if t == 0 Sekantenverfahren nicht durchf¨ uhrbar ind=3, return end x=xn-t/r; if abs(fx) < TOL1 x ist ’L¨ osung’ ind=1; return end if abs(x-xn) < TOL2*(1+abs(x)) x ist ’L¨ osung’ ind=1; return end i=i+1; if abs(fx) > abs(qn) xa=x; qa=fx; else xa=xn; qa=qn; xn=x; qn=fx; end end maximale Iterationsschrittanzahl N0 ¨ uberschritten ind=2;

Die folgende Umsetzung des Verfahrens (siehe auch das obige Programm 4.3) verhindert diesen Exponenten¨ uberlauf und m¨ ogliche Ausl¨ oschungen, wenn man nur sichert, daß in

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

194

jedem Iterationsschritt die Bedingung |f (xk−1 )| < |f (xk−2 )| erf¨ ullt ist (anderenfalls hat man lediglich xk−1 und xk−2 miteinander zu vertauschen): xk = xk−1 −

(xk−2 − xk−1 )sk , 1 − sk

sk ≡

f (xk−1 ) , f (xk−2 )

k = 2, 3, . . .

(4.19)

Im Programm 4.3 ist das Sekanten-Verfahren als Matlab-Funktion sekante dargestellt. Der Anwender hat eine weitere Matlab-Funktion f bereitzustellen, die die Funktion f (x) der Gleichung f (x) = 0 beschreibt. Bemerkung 4.1. Das Sekanten-Verfahren ist kein Spezialfall der gew¨ ohnlichen Fixpunkt-Iteration xk = g(xk−1 ), wie wir sie am Anfang dieses Kapitels kennengelernt haben. Das Sekanten-Verfahren ist n¨ amlich von der allgemeinen Gestalt xk = g(xk−1 , xk−2 ), d.h., xk wird sowohl aus xk−1 als auch aus xk−2 berechnet. Eine solche Iterationsvorschrift, die auf zwei bereits berechneten Iterierten basiert, nennt man ZweischrittVerfahren, w¨ ahrend die Fixpunkt-Iteration und das Newton-Verfahren typische Vertreter eines Einschritt-Verfahrens sind. Gehen in die Funktion g mehr als nur eine Iterierte ein, dann spricht man allgemein von einem Mehrschritt-Verfahren. 

4.4

Das Verfahren von Mu ¨ ller

Die bisher betrachteten numerischen Verfahren zur Behandlung einer skalaren nichtlinearen Gleichung basieren alle auf dem Linearisierungsprinzip: die nichtlineare Funktion f (x) wird lokal durch eine Gerade ersetzt und der Schnittpunkt dieser mit der x-Achse ergibt eine N¨ aherung f¨ ur die gesuchte L¨ osung x∗ . Es liegt nun der Gedanke nahe, anstelle einer linearen Ersatzfunktion eine quadratische Parabel zu verwenden. Die hieraus resultierende Methode, die im folgenden kurz vorgestellt werden soll, wird u ¨blicherweise als das Verfahren von M¨ uller 1 bezeichnet (in der englischsprachigen Literatur wird dieses Verfahren auch Muller’s method genannt). Es seien drei paarweise verschiedene Punkte (x0 , f (x0 )),

(x1 , f (x1 )),

(x2 , f (x2 ))

auf dem Graphen der Funktion f (x) in der N¨ ahe von (x∗ , 0) gegeben. Durch diese Punkte ist ein quadratisches Polynom P2 (x) eindeutig festgelegt. Eine passende“ Nullstelle ” 1

D. E. M¨ uller: A method for solving algebraic equations using an automatic computer. Math. Tables Aids Comput. 10 (1956), pp. 208–215.

4.4 Das Verfahren von M¨ uller

195

von P2 (x) wird nun als neue (verbesserte) Approximation der Wurzel x∗ von (4.6) verwendet. Ist das zugeh¨ orige Residuum noch zu groß, dann w¨ ahlt man wiederum drei Kurvenpunkte (einschließlich der soeben ermittelten neuen N¨ aherung) aus und setzt den Prozeß entsprechend fort. Wir wollen ohne Einschr¨ ankung der Allgemeinheit annehmen, daß x2 augenblicklich die beste Approximation der Wurzel x∗ darstellt. Dann werde die Variablentransformation uhrt. Wir setzen des weiteren h0 ≡ x0 − x2 und h1 ≡ x1 − x2 . Das y = x − x2 durchgef¨ quadratische Polynom in der neuen Variablen y sei P2 (y) ≡ a y 2 + b y + c. Wir bestimmen nun die Koeffizienten, indem P2 (y) an drei Punkten berechnet wird: y = h0 :

a · h20 + b · h0 + c = f (x0 ) ≡ f0 ,

y = h1 :

a · h21 + b · h1 + c = f (x1 ) ≡ f1 ,

y=0:

a · 02 + b · 0 + c = f (x2 ) ≡ f2 .

(4.20)

Aus der dritten Gleichung in (4.20) ergibt sich c = f2 . Substituiert man dies in die ersten beiden Gleichungen von (4.20) und verwendet die Definitionen u0 ≡ f0 − f2 , u1 ≡ f1 − f2 , dann resultiert das System a h20 + b h0 = f0 − f2 = u0 , a h21 + b h1 = f1 − f2 = u1 .

(4.21)

Eine L¨ osung von (4.21) l¨ aßt sich nun mit der Cramerschen Regel ermitteln. Die zugeh¨ origen Determinanten berechnen sich zu

2

h0 h0

= h0 h1 (h0 − h1 ),

D = 2 h1 h1

u 0 h0

= u0 h1 − u1 h0 , (4.22) D1 = u 1 h1

2

h0 u 0

= u1 h20 − u0 h21 . D2 = 2 h1 u 1 Somit ergeben sich f¨ ur die Koeffizienten a und b die Werte

a=

D1 D

und

b=

D2 . D

196

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

Nun kann man die Wurzeln y = z1 und y = z2 des Polynoms P (y) bestimmen:

z1,2 = −





2c . b2 − 4ac

(4.23)

Aus Stabilit¨ atsgr¨ unden wird man diejenige Wurzel in (4.23) verwenden, die den kleinsten Absolutbetrag besitzt (d.h.: ist b > 0, dann w¨ ahlt man im Nenner das Pluszeichen; ist b < 0, dann das Minuszeichen; ist b = 0, dann kann + oder − verwendet werden). Die neue (verbesserte) Approximation f¨ ur x∗ ergibt sich schließlich zu x3 = x2 + z1(2) .

(4.24)

Nachdem x3 berechnet wurde, braucht das Verfahren nur noch reinitialisiert zu werden. Hierzu w¨ ahlt man x1 und x2 als diejenigen zwei Werte in der Menge {x0 , x1 , x2 } aus, die am n¨ achsten zu x3 liegen. Das Verfahren wird dann mit x1 , x2 und x3 fortgesetzt aherung x4 . (anstelle von x0 , x1 , x2 ), d.h., man bestimmt entsprechend eine neue N¨ Damit ist ein Iterationsschritt des Verfahrens von M¨ uller erkl¨ art. Es erfordert nur die Berechnung eines Funktionswertes pro Iterationsschritt und kommt ohne Ableitungen von f (x) aus. uller in das Ist a = 0, dann geht P2 (x) in eine Gerade und somit das Verfahren von M¨ Sekantenverfahren u ¨ber. Sind a = b = 0, dann liegt die Situation f (x0 ) = f (x1 ) = f (x2 ) vor. In diesem Falle muß man die Iteration mit ver¨ anderten Startwerten neu beginnen. Obwohl das Verfahren von M¨ uller i.allg. zur Berechnung reeller Wurzeln von f (x) verwendet wird, kann es trotzdem vorkommen,√daß man komplexwertige Approximationen allen werden erh¨ alt. Verantwortlich hierf¨ ur ist der Term b2 − 4ac in (4.23). In diesen F¨ die Imagin¨ arteile jedoch betragsm¨ aßig klein sein und es ist deshalb zul¨ assig, sie gleich null zu setzen. Damit werden die Berechnungen wieder auf reelle Zahlen zur¨ uckgef¨ uhrt. Das Sekanten-Verfahren und das Verfahren von M¨ uller legen nun folgende Verallgemeinerung nahe: Angenommen, man kennt k + 1 verschiedene Approximationen xi−k , . . . , xi−1 , xi einer Nullstelle x∗ von f (x). Dann bestimme man das Interpolationspolynom Q(x) vom Grade k mittels der Interpolationsbedingungen (siehe hierzu auch die Ausf¨ uhrungen im Kapitel 6) Q(xi−j ) = f (xi−j ),

j = 0, 1, . . . , k,

und w¨ ahle als neue Approximation xi+1 diejenige Wurzel von Q(x), die am n¨ achsten ur k = 1 erh¨ alt man das Sekanten-Verfahren, w¨ ahrend sich f¨ ur k = 2 zu xi liegt. F¨ das Verfahren von M¨ uller ergibt. Die Verfahren f¨ ur k ≥ 3 werden nur sehr selten betrachtet, da man f¨ ur die Wurzeln der zugeh¨ origen Interpolationspolynome keine einfach auszuwertenden Formel zur Hand hat.

4.5 Intervall-Verfahren

4.5

197

Intervall-Verfahren

Die bisher betrachteten Verfahren erzeugen eine Zahlenfolge, die unter geeigneten Voraussetzungen gegen eine L¨ osung von (4.6) konvergiert. Es gibt auch eine Vielzahl von Methoden, die anstelle einer Zahlenfolge eine Intervallfolge generieren, wobei die einzelnen Intervalle die zu approximierende L¨ osung x∗ einschließen. Ein solches IntervallVerfahren nennt man konvergent, wenn die L¨ ange der zugeh¨ origen Intervalle gegen Null geht. Der Hauptvorteil der Intervall-Verfahren ist in ihrer Natur begr¨ undet; man kann unmittelbar auf eine strenge Fehlereinschließung zur¨ uckgreifen. Ist n¨ amlich [a, b] ein Inalt, dann ergibt sich unmittelbar |a − x∗ | ≤ |a − b|. tervall, welches die L¨ osung x∗ enth¨ Der Nachteil dieser neuen Verfahrensklasse ist jedoch, daß ein Startintervall gefunden alt. Sind zwei Stellen a und b bekannt, f¨ ur die f (a) f (b) < 0 gilt, werden muß, das x∗ enth¨ und ist f ∈ C[a, b], dann besitzt f in [a, b] mindestens eine Nullstelle, denn f muß alle Werte zwischen f (a) und f (b) annehmen, insbesondere den Wert 0 f¨ ur ein x zwischen a und b. Die einfachste Intervall-Technik ist das sogenannte Bisektionsverfahren. Sein Prinzip l¨aßt sich wie folgt beschreiben. Angenommen, es ist ein Intervall [a, b] bekannt, in dem sich mindestens eine L¨ osung x∗ von (4.6) befindet. Zu Beginn des Verfahrens setzt man a1 ≡ a und b1 ≡ b. Das Intervall [a1 , b1 ] wird nun in zwei gleichgroße Teilintervalle origen Intervall-Mittelpunkt bezeich[a1 , x1 ] und [x1 , b1 ] unterteilt, wobei x1 den zugeh¨ net: x1 =

1 (a1 + b1 ). 2

(4.25)

Gilt f (x1 ) = 0, dann ist die Nullstelle x∗ durch x = x1 gegeben. Ist dies nicht der Fall, dann besitzt f (x1 ) entweder dasselbe Vorzeichen wie f (a1 ) oder f (b1 ). Weisen f (x1 ) und f (a1 ) dasselbe Vorzeichen auf, dann liegt x∗ in dem Intervall (x1 , b1 ), und man setzt a2 ≡ x1 und b2 ≡ b1 . Haben auf der anderen Seite f (x1 ) und f (a1 ) unterschiedliche Vorzeichen, dann liegt x∗ in dem Intervall (a1 , x1 ), und man setzt a2 ≡ a1 und b2 ≡ x1 . Der Prozeß wird jetzt auf dem Teilintervall [a2 , b2 ] wiederholt, d.h., [a3 , b3 ], [a4 , b4 ], . . ., werden gebildet. Jedes neue Teilintervall wird die Nullstelle x∗ enthalten und halb so lang wie das vorherige Intervall sein. Da sich die L¨ ange der Intervalle in jedem Iterationsschritt verkleinert, konvergiert das Bisektionsverfahren stets. Eine Aussage bez¨ uglich der Geschwindigkeit des obigen Verfahrens findet sich im folgenden Satz. Satz 4.4. Es werde vorausgesetzt, daß f ∈ C[a, b] ist und f (a) f (b) < 0 gilt. Das Bisektionsverfahren erzeugt dann eine Folge von Intervall-Mittelpunkten {xk }∞ k=1 , die gegen eine in [a, b] liegende Nullstelle x∗ von (4.6) konvergiert mit der Eigenschaft |xk − x∗ | ≤

b−a , 2k

k = 1, 2, . . .

(4.26)

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

198

Beweis: F¨ ur jedes k ≥ 1 hat man bk − ak =

1 (b − a) 2k−1

und

x∗ ∈ (ak , bk ).

1 Da sich nun f¨ ur alle k ≥ 1 der Intervall-Mittelpunkt zu xk = (ak + bk ) bestimmt, 2 ergibt sich |xk − x∗ | ≤

1 b−a (bk − ak ) = k . 2 2



Im Programm 4.4 ist das Bisektionsverfahren als Matlab-Funktion bisek implementiert. Der Anwender muß wiederum eine Funktion f bereitstellen, die die Funktion f (x) beschreibt. Programm 4.4

Bisektionsverfahren

function [xa,xb,i,ind] = bisek(a,b,TOL1,TOL2,N0); % % % % % % % % % %

%

%

a und b: Intervallgrenzen mit a 0, so ergibt sich diese Gerade und (x1 , sign(f (x1 )) verl¨ zu l(x) = −1 + 2

x − x0 . x1 − x0

(4.27)

Wie man sich leicht davon u ur x = (x0 + x1 )/2, d.h., die ¨berzeugen kann, ist l(x) = 0 f¨ x-Achse wird von dieser Geraden genau im Intervall-Mittelpunkt geschnitten. Bei l(x) handelt es sich aber um eine sehr grobe Approximation von f (x), da die Funktionswerte von f vollst¨ andig ignoriert werden und nur die Vorzeichen in die Berechnungen eingehen. Die Abbildung 4.6 veranschaulicht diese Situation graphisch. Eine etwas schnellere Konvergenz l¨ aßt sich mit der Regula Falsi 1 erzielen. Anstelle des Intervall-Mittelpunktes berechnet man hier den (vom Sekanten-Verfahren her bekannten) Sekanten-Punkt: x 2 = x1 − 1

(x1 − x0 )f (x1 ) . f (x1 ) − f (x0 )

(4.28)

Hierbei handelt es sich um eine sehr alte numerische Technik, die bereits im 5. Jahrhundert von indischen Mathematikern verwendet wurde. Der unter dem Namen Fibonacci bekannte und im 13. Jahrhundert lebende Leonardo Pisano nannte das Verfahren regula duarum falsarum positionum. Im 16. und 17. Jahrhundert wurde es u.a. als regula positionum abgek¨ urzt.

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

200

Abbildung 4.6: Bisektionsverfahren

Die Strategie des Bisektionsverfahrens wird ansonsten beibehalten. Die Regula Falsi besitzt jedoch die negative Eigenschaft, in der Mehrzahl der F¨ alle nicht intervallm¨aßig zu konvergieren, d.h., die Intervall-L¨ ange geht nicht gegen Null. Die Folge der Intervalle konvergiert dann gegen ein Intervall [a , b ], mit der Eigenschaft b − a = 0. Ein Randpunkt dieses Intervalls stimmt jedoch mit der gesuchten L¨ osung x∗ u ¨berein. Wir wollen dies anhand des folgenden Beispiels demonstrieren. Beispiel 4.3. Wie in Beispiel 4.2 seien die Funktion f (x) ≡ x + ex − 2 sowie das Intervall I ≡ [0, 1] gegeben. Die in I enthaltene Nullstelle x∗ von f (x) soll jetzt mit der Regula Falsi approximiert werden. Es ergibt sich die folgende Intervall-Folge: [0, 1],

[0.36788, 1],

[0.43006, 1],

[0.44279, 1],

[0.44284, 1], [0.44285, 1],

[0.44067, 1],

[0.44248, 1],

...

Wie man sieht, ver¨ andert sich der rechte Randpunkt nicht, d.h., der Sekantenpunkt liegt immer links von der Nullstelle. Trotzdem kann man schließen, daß eine Nullstelle nahe bei x=0.44285 liegt. Ein Vergleich mit der vom Bisektionsverfahren ben¨ otigten Anzahl von Iterationsschritten zeigt, daß die Regula Falsi hier schneller konvergiert. Die Einschließung durch die entstehenden Teilintervalle ist aber erwartungsgem¨ aß viel zu grob! 

4.6

Fehleranalyse der Iterationsverfahren

Mit der Definition 3.1 wurde der Begriff der Konvergenzordnung bzw. der Konvergenzgeschwindigkeit eines Iterationsverfahrens eingef¨ uhrt. Danach besitzt ein Verfahren die

4.6 Fehleranalyse der Iterationsverfahren

201

Konvergenzordnung α, falls die absoluten Fehler der zugeh¨ origen Iterierten f¨ ur eine reelle Konstante β = 0 die folgende asymptotische Beziehung erf¨ ullen: |ek+1 | = β. k→∞ |ek |α lim

(4.29)

Wir betrachten jetzt die zur L¨ osung der Fixpunkt-Gleichung x = g(x) sachgem¨ aße Fixpunkt-Iteration xk = g(xk−1 ), k = 1, 2, . . . Folgende Voraussetzungen m¨ ogen dabei erf¨ ullt sein: Voraussetzung 4.2. • g ∈ C1 (a, b), • g ist eine Selbstabbildung auf I ≡ [a, b] , und ur alle x ∈ (a, b). • |g  (x)| ≤ L < 1 f¨



Der Satz 4.2 sagt dann aus: g besitzt einen eindeutigen Fixpunkt x∗ ∈ I und f¨ u r x0 ∈ I ∗ gegen x . konvergiert die durch (4.10) definierte Folge {xk }∞ k=0 Wir wollen jetzt zeigen, daß die Konvergenz immer dann linear sein wird, wenn die ullt ist. F¨ ur eine positive ganze Zahl k gilt: wichtige Beziehung g  (x∗ ) = 0 erf¨ ek+1 ≡ xk+1 − x∗ = g(xk ) − g(x∗ ) = g  (ξk )(xk − x∗ ) = g  (ξk )ek ;

ξk ∈ (xk , x∗ ).

∗ ∞ ∗  Aus {xk }∞ k=0 → x folgt {ξk }k=0 → x . Da g als stetig auf (a, b) vorausgesetzt wurde,   ∗ gilt die Beziehung lim g (ξk ) = g (x ). Dies impliziert nun k→∞

lim

k→∞

|ek+1 | = lim |g  (ξk )| = |g  (x∗ )|, k→∞ |ek |

d.h.

lim

k→∞

|ek+1 | = |g  (x∗ )|. |ek |1

Somit besitzt die Fixpunkt-Iteration immer dann eine lineare Konvergenzordnung, falls g  (x∗ ) = 0 gilt. Konvergenz h¨ oherer Ordnung ist nur im Falle g  (x∗ ) = 0 m¨ oglich. Um das Verhalten linear konvergenter Verfahren mit dem quadratisch konvergenter Techniken zu vergleichen, nehmen wir an, daß zwei Iterationsverfahren zur Verf¨ ugung stehen, mit: |ek+1 | = β, k→∞ |ek |

mit

0 < β < 1,

|˜ ek+1 | ˜ = β, |˜ ek | 2

mit

β˜ > 0,

lim

lim

k→∞

und

˜e0 | < 1. |β˜

Zur Vereinfachung werde vorausgesetzt, daß f¨ ur alle hinreichend großen k das asymptotische Verhalten der Fehler-Folgen bereits eingetreten ist, d.h., es m¨ oge |ek+1 | ≤ β |ek |

und

|˜ ek+1 | ≤ β˜ |˜ ek |2

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

202 gelten. Hieraus erh¨ alt man |ek+1 |

≤ β k+1 |e0 |,

|˜ ek+1 |

k+1 k+1 k+1 ˜ ek |2 ≤ β˜β˜2 |˜ ≤ β|˜ ek−1 |4 ≤ · · · ≤ β˜2 −1 |˜ e0 | 2 = (β˜ |˜ e0 |)2 −1 |˜ e0 |.

Um das obige Resultat zu veranschaulichen, gehen wir einmal von folgender (nicht außergew¨ ohnlichen) Konstellation aus: |e0 | = |˜ e0 | = 1, β = β˜ = 0.75. Bestimmt werden soll die erforderliche Anzahl N von Iterationsschritten, damit der Fehler gleich oder kleiner 10−8 ist. 1) F¨ ur das linear konvergente Verfahren berechnet man entsprechend den obigen Ausf¨ uhrungen 0.75N +1 ≤ 10−8

→

N +1≥

−8 ≈ 64. log10 0.75

Somit ben¨ otigt ein Verfahren mit der Konvergenzordnung Eins ungef¨ ahr 63 Iterationsschritte, um die geforderte Genauigkeit zu erreichen. 2) F¨ ur das quadratisch konvergente Verfahren ergibt sich demgegen¨ uber: 0.752

N +1

−1

≤ 10−8

→

2N +1 − 1 ≥

−8 ≈ 64, log10 0.75

d.h., das Verfahren mit der Konvergenzordnung 2 ben¨ otigt zur L¨ osung der gestellten Aufgabe nicht mehr als 5 oder 6 Iterationsschritte. Eine andere wichtige Eigenschaft quadratisch konvergenter Verfahren l¨ aßt sich wie folgt illustrieren. Nimmt man einmal xk ≈ 1 an und stellt den Fehler in der Form |ek | = 10−bk , bk > 0, dar, dann stimmt bk im wesentlichen mit der Anzahl geltender Ziffern der k-ten Iterierten u ¨berein. Aus |ek+1 | ≤ β|ek |2 folgt unmittelbar 10−bk+1 ≤ β10−2bk

→

−bk+1 ≤ log10 β − 2bk

→

bk+1 ≥ 2bk − log10 β.

Letztere Ungleichung sagt aus, daß sich die Anzahl geltender Ziffern in jedem Schritt ungef¨ ahr verdoppelt. Diese g¨ unstigen Eigenschaften quadratisch konvergenter Verfahren f¨ uhren auf die Frage, welche speziellen Schemata nun die Konvergenzordnung 2 besitzen. Der nachfolgende Satz gibt eine Antwort darauf. osung von x = g(x). Diese erf¨ ulle g  (x∗ ) = 0 und g  sei auf Satz 4.5. Es sei x∗ eine L¨ alt, stetig. Dann existiert ein δ > 0, so daß f¨ ur jedes einem offenen Intervall, das x∗ enth¨ x0 ∈ [x∗ − δ, x∗ + δ] die Fixpunkt-Iteration mindestens zu einem quadratischen Schema |g  (x)| wird. Ist des weiteren 0 < ≤ M f¨ ur alle x ∈ [x∗ − δ, x∗ + δ] und gilt M |e0 | < 1, 2 dann wird die Fixpunkt-Iteration mit der Konvergenzordnung 2 konvergieren.

4.6 Fehleranalyse der Iterationsverfahren

203

Beweis: Man w¨ ahlt ein δ > 0, so daß auf dem zugeh¨ origen Intervall [x∗ − δ, x∗ + δ] gilt: |g  (x)| ≤ L < 1 und g  ist stetig. Die Bedingung |g  (x)| ≤ L < 1 sichert, daß die ∗ ∗ oge Glieder der Folge {xk }∞ k=0 in [x − δ, x + δ] enthalten sind. Die Funktion g(x) m¨ jetzt f¨ ur x ∈ [x∗ − δ, x∗ + δ] in eine Taylorreihe entwickelt werden: g(x) = g(x∗ ) + g  (x∗ )(x − x∗ ) +

g  (ξ) (x − x∗ )2 , 2

mit

ξ ∈ (x, x∗ ).

Die Voraussetzungen g(x∗ ) = x∗ und g  (x∗ ) = 0 ergeben g(x) = x∗ + Speziell f¨ ur x = xk folgt daraus xk+1 = g(xk ) = x∗ +

g  (ξk ) (xk − x∗ )2 , 2

mit

g  (ξ) (x − x∗ )2 . 2

ξk ∈ (xk , x∗ ).

Somit ist

g  (ξk ) 2 (4.30) ek . 2 Da |g  (x)| ≤ L < 1 auf [x∗ − δ, x∗ + δ] ist und g das Intervall [x∗ − δ, x∗ + δ] in sich ∗ abbildet, impliziert der Satz 4.2, daß die Folge {xk }∞ k=0 gegen x konvergiert. Wegen ∗ ∞ ∗ ur jedes k, gilt {ξk }k=0 → x . Verwendet man dies in der Formel (4.30), ξk ∈ (xk , x ) f¨ so ergibt sich |ek+1 | |g  (x∗ )| . = lim k→∞ |ek |2 2 oherer Somit ist das Schema f¨ ur g  (x∗ ) = 0 von 2. Ordnung, anderenfalls von noch h¨ |g  (x)| Ordnung. Gilt weiter 0 < ≤ M f¨ ur alle x ∈ [x∗ − δ, x∗ + δ], dann berechnet man 2 ek+1 =

|ek+1 | ≤ M |ek |2 ≤ M 3 |ek−1 |4 ≤ · · · ≤ (M |e0 |)2

k+1

−1

|e0 |.

ur, daß das quaDie Voraussetzung M |e0 | < 1 erweist sich deshalb als hinreichend daf¨ dratische Schema konvergent ist.  Um den Satz 4.5 bei der L¨ osung von f (x) = 0 anwenden zu k¨ onnen, werde vorausgesetzt, ullt ist. Wir gehen bei den folgenden Betrachtungen daß die Bedingung f  (x∗ ) = 0 erf¨ wieder von der Fixpunkt-Iteration xk = g(xk−1 ), k = 1, 2, . . . , aus und verwenden jetzt f¨ ur die Iterationsfunktion g den speziellen Ansatz g(x) ≡ x − φ(x) f (x).

(4.31)

In (4.31) bezeichnet φ(x) eine auf dem zugrundeliegenden Intervall [a, b] beschr¨ ankte, differenzierbare Funktion, die so gew¨ ahlt werden soll, daß das zugeh¨ orige Iterationsverfahren quadratisch konvergiert. Offensichtlich gilt g(x∗ ) = x∗ . Damit quadratische Konvergenz vorliegt, muß g  (x∗ ) = 0 sein. Man berechnet: g  (x) g  (x∗ )

= =

g  (x∗ )

=

1 − φ (x)f (x) − f  (x)φ(x), 1 − f  (x∗ )φ(x∗ ), 1 0 ⇐⇒ φ(x∗ ) =  ∗ . f (x )

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

204 Somit besitzt das Verfahren

xk = g(xk−1 ) = xk−1 −

f (xk−1 ) f  (x∗ )

quadratische Konvergenzordnung. Da aber x∗ und damit auch f  (x∗ ) i.allg. unbekannt sind, ist obiges Verfahren nicht sinnvoll. Eine zul¨ assige Wahl stellt aber φ(x) = 1/f  (x) ∗ ullt. Das daraus dar, denn an der Stelle x = x ist die Bedingung φ(x∗ ) = 1/f  (x∗ ) erf¨ resultierende Verfahren lautet dann xk = g(xk−1 ) = xk−1 −

f (xk−1 ) , f  (xk−1 )

d.h., bei dem gesuchten Verfahren 2. Ordnung handelt es sich genau um das im Abschnitt 4.2 betrachtete Newton-Verfahren. Alle bisherigen Betrachtungen basierten auf der Hypothese, daß das Ausgangsproblem (4.6) eine einfache (und damit auch isolierte) L¨ osung besitzt. Wir wollen jetzt die folgenden Fragen beantworten: ur die f  (x∗ ) = 0 gilt, k¨ onnen noch mit Modifikationen der • Welche L¨ osungen x∗ , f¨ bisher genannten numerischen Standardtechniken berechnet werden? • Wie sehen derartige Modifikationen aus? Ist x∗ eine mehrfache Nullstelle von (4.6), dann lassen sich stets eine eindeutige Funktion q(x) sowie eine positive ganze Zahl m finden, so daß f (x) = (x − x∗ )m q(x),

q(x∗ ) = 0

(4.32)

gilt. Die Zahl m wird als Vielfachheit der Wurzel x∗ bezeichnet. Es ist offensichtlich, daß eine solche mehrfache Wurzel ebenfalls isoliert ist, obwohl die Beziehung f  (x∗ ) = 0 nicht mehr gilt. Wendet man nun das Newton-Verfahren zur Bestimmung dieser mehrfachen Wurzel an, dann ergibt sich folgender Sachverhalt. Wie bereits gezeigt wurde, gilt: f¨ ur

g(x) = x −

f (x) f  (x)

ist

g  (x) =

f (x)f  (x) . f  (x)2

Die Substitution der Darstellung (4.32) in g  (x) erfordert die Berechnung von f  (x) und alt f  (x). Man erh¨ f  (x)

= m(x − x∗ )m−1 q(x) + (x − x∗ )m q  (x) = (x − x∗ )m−1 {mq(x) + (x − x∗ )q  (x)},

f  (x)

=

(m − 1)(x − x∗ )m−2 {mq(x) + (x − x∗ )q  (x)} +(x − x∗ )m−1 {mq  (x) + q  (x) + (x − x∗ )q  (x)}

f  (x)2

= =

(x − x∗ )m−2 {m(m − 1)q(x) + 2m(x − x∗ )q  (x) + (x − x∗ )2 q  (x)}, (x − x∗ )m−1 (x − x∗ )m−1 {mq(x) + (x − x∗ )q  (x)}2 .

4.6 Fehleranalyse der Iterationsverfahren

205

Hieraus folgt g  (x) =

m(m − 1)q(x)2 + 2m(x − x∗ )q(x)q  (x) + (x − x∗ )2 q(x)q  (x) . m2 q(x)2 + 2m(x − x∗ )q(x)q  (x) + (x − x∗ )2 q  (x)2

Schließlich ergibt sich m2 − m 1 =1− (= 0). (4.33) 2 x→x m m Somit konvergiert das Newton-Verfahren nur noch linear, falls x∗ eine mehrfache Nullur wachsendes k immer kleiner, so stelle von f (x) ist. Des weiteren wird f  (xk−1 ) f¨ daß mit numerischen Problemen wie Exponenten¨ uberlauf gerechnet werden muß. Man spricht in diesem Falle von einer numerischen Singularit¨at. Eine durch praktische Erfahrungen belegte Regel sagt aus, daß man im Falle einer mehrfachen Nullstelle diese mit dem Newton-Verfahren nur noch auf etwa die H¨ alfte der verwendeten Mantissenstellen approximieren kann. Es macht auch keinen Sinn die Iteration dar¨ uber hinaus fortzusetzen, da das Ergebnis durch die numerischen Fehler dann wieder verf¨ alscht wird. lim∗ g  (x) =

¨ Durch die folgenden Uberlegungen l¨ aßt sich auf der Basis des Newton-Verfahrens jedoch wieder ein quadratisch konvergentes Verfahren zur numerischen Approximation mehrfacher Wurzeln konstruieren. Angenommen, es ist bekannt, daß f (x) eine m-fache aß (im Hinblick auf die Beibehaltung einer Nullstelle x∗ besitzt. Dann ist es sachgem¨ relativ hohen Konvergenzordnung), die Iterationsfunktion des Newton-Verfahrens wie folgt zu modifizieren g˜(x) = x −

m f (x) . f  (x)

(4.34)

Man berechnet g˜ (x) = 1 − m + m

f (x) f  (x) = 1 − m + m g  (x). f  (x)2

Deshalb ergibt sich unter Beachtung von (4.33) 1 ) = 0. m Das modifizierte Newton-Verfahren (4.34) konvergiert somit im Falle einer m-fachen Nullstelle x∗ von f (x) wieder quadratisch. lim g˜ (x) = 1 − m + m(1 −

x→x∗

Die Vielfachheit der Nullstelle ist aber i.allg. nicht a priori bekannt. Man kann sich dann folgendermaßen helfen. Aus der Darstellung (4.32) von f (x) ergibt sich f  (x) = m (x − x∗ )m−1 q(x) + (x − x∗ )m q  (x). Man betrachtet nun anstelle der Ausgangsgleichung f (x) = 0 die Gleichung Φ(x) = 0, wobei die Funktion Φ(x) wie folgt definiert ist Φ(x) ≡

f (x) q(x) = (x − x∗ ) ≡ (x − x∗ ) qˆ(x).  f (x) m q(x) + (x − x∗ ) q  (x)

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

206

Offensichtlich stellt x∗ auch eine Nullstelle von Φ(x) dar, die wegen qˆ(x∗ ) = 0 zu einer einfachen Nullstelle von Φ geworden ist. Das Newton-Verfahren sollte deshalb nicht auf die Ausgangsgleichung, sondern auf Φ(x) = 0 angewendet werden, um quadratische Konvergenz zu erzielen. Die zugeh¨ orige Iterationsvorschrift lautet: xk = xk−1 −

Φ(xk−1 ) , Φ (xk−1 )

k = 1, 2, . . .

In Termen der Funktion f (x) l¨ aßt sich dieses Verfahren wie folgt schreiben:

xk = xk−1 −

f  (x

f (xk−1 ) f  (xk−1 ) . 2  k−1 ) − f (xk−1 )f (xk−1 )

(4.35)

Hierbei ist aber zu beachten, daß die quadratische Konvergenz der Iterationsfolge durch die Berechnung h¨ oherer Ableitungen von f erkauft wird. Hat man beim Newton-Verfahren nur“ f  (x) zu bestimmen, so muß in der Vorschrift (4.35) dar¨ uber hinaus f  (x) ” gebildet und berechnet werden. Dies stellt einen nicht unerheblichen Aufwand dar. Wir wollen jetzt der Frage nachgehen, inwieweit sich eine numerische Approximation der ¨ ersten Ableitung beim Newton-Verfahren – also der Ubergang zum Sekantenverfahren – auf die Konvergenzgeschwindigkeit auswirkt. Das Sekantenverfahren lautet in der Darstellung (4.18): xk = xk−1 − f (xk−1 )

xk−1 − xk−2 . f (xk−1 ) − f (xk−2 )

Der absolute Fehler ek ≡ xk − x∗ der Iterierten xk berechnet sich deshalb zu ek

= =

f (xk−1 ) (ek−1 − ek−2 ) f (xk−1 ) − f (xk−2 ) f (x∗ + ek−1 ) ek−1 − (ek−1 − ek−2 ). f (x∗ + ek−1 ) − f (x∗ + ek−2 ) ek−1 −

An der Stelle x = x∗ werde f (x) in eine Taylorreihe entwickelt. f (x∗ + ek−1 )

=

f (x∗ + en−2 )

=

1 ek−1 f  (x∗ ) + e2k−1 f  (x∗ ) + · · · , 2 1  ∗ ek−2 f (x ) + e2k−2 f  (x∗ ) + · · · . 2

Die Differenz beider Reihen ergibt f (x∗ + ek−1 ) − f (x∗ + ek−2 ) = (ek−1 − ek−2 )f  (x∗ ) 1 + (ek−1 − ek−2 )(ek−1 + ek−2 )f  (x∗ ) + · · · 2

(4.36)

4.6 Fehleranalyse der Iterationsverfahren

207

Die Substitution der Reihenentwicklungen in (4.36) f¨ uhrt auf   ek−1 f  (x∗ ) + 12 e2k−1 f  (x∗ ) + · · · (ek−1 − ek−2 )  ek = ek−1 −   ∗ f (x ) + 12 (ek−1 + ek−2 )f  (x∗ ) + · · · (ek−1 − ek−2 ) =

1  ∗ 2 ek−1 ek−2 f (x ) + T.h.O. ; f  (x∗ ) + T.h.O.

. T.h.O. = Terme h¨ oherer Ordnung

Im Sinne einer asymptotisch g¨ ultigen Analyse des Konvergenzverhaltens, d.h. f¨ ur hinreichend kleine |ek−1 | und |ek−2 |, gilt deshalb

f  (x∗ ) |ek |  ∗ |ek−1 | |ek−2 |. 2f (x )

f  (x∗ ) Definiert man C ≡  ∗ , dann erh¨ alt man daraus die (gen¨ aherte) Differenzenglei2f (x ) chung |ek | = C |ek−1 | |ek−2 |.

(4.37)

Wir versuchen, diese Differenzengleichung mit dem Ansatz |ek−1 | = K |ek−2 |r ,

K > 0,

r ≥ 1,

(4.38)

zu l¨ osen. Mit (4.38) gilt auch |ek | = K|ek−1 |r . Deshalb ist 2

|ek | = K |ek−1 |r = K K r |ek−2 |r .

(4.39)

Die Substitution des Ansatzes (4.38) in die Differenzengleichung (4.37) ergibt |ek | = C |ek−1 | |ek−2 | = C K |ek−2 |r+1 .

(4.40)

Setzt man schließlich die Ausdr¨ ucke (4.39) und (4.40) f¨ ur |ek | gleich, so resultiert 2

K K r |ek−2 |r = C K |ek−2 |r+1 .

(4.41)

Diese Gleichung kann f¨ ur alle (hinreichend große) k nur dann gelten, falls: C = Kr

und

r2 = r + 1.

√ 1 ur Die positive L¨ osung der quadratischen Gleichung lautet r = (1 + 5) = 1.618 . . . F¨ 2 die Konvergenzordnung α und die asymptotische Fehlerkonstante β des Sekantenverfahrens erh¨ alt man damit α=r=

√ 1 (1 + 5) = 1.618 . . . , 2

1

β = K = C r = C 0.618... .

(4.42)

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

208

Da α gr¨ oßer als 1 ist, spricht man von superlinearer Konvergenz des Sekanten-Verfahrens. Die Verringerung von α = 2 (Newton-Verfahren) auf α = 1.618 . . . ist nicht dramatisch, wenn man ber¨ ucksichtigt, daß die Konvergenzordnung nur eine asymptotische Gr¨oße ist. Bevor sich die Konvergenzordnung auf die Geschwindigkeit der jeweiligen Iterationsfolge auswirkt, ist i.allg. bereits eine große Anzahl von Iterationsschritten durchgef¨ uhrt worden. Diese sind dazu erforderlich, um u ahe der L¨ osung x∗ ¨berhaupt in die N¨ zu kommen, in der dann die Formel (4.29) ihre G¨ ultigkeit besitzt. Wir wollen hier abschließend das Verfahren von M¨ uller betrachten. Die hier auftretenden ullen in der Umgebung einer einfachen Nullstelle x∗ von f (x) die Fehler ei ≡ xi − x∗ erf¨ Beziehung (3) ∗ f (x ) ei+1 = ei ei−1 ei−2 −  ∗ + O(e) , mit e ≡ max (|ei |, |ei−1 |, |ei−2 |). (4.43) 6f (x ) Mit analogen Techniken wie bei dem Sekanten-Verfahren zeigt man, daß die Konvergenzordnung des Verfahrens von M¨ uller mindestens α = 1.84 . . . ist. Dabei bestimmt sich α als die gr¨ oßte Wurzel der kubischen Gleichung r3 − r2 − r = 1.

4.7

Techniken zur Konvergenzbeschleunigung

∗ Es sei {xk }∞ ur k=0 eine linear konvergente Folge mit dem Grenzwert x . Damit ist f¨ ∗ ek ≡ xk − x die Beziehung

lim

k→∞

|ek+1 | = β, |ek |

0 < β < 1,

(4.44)

∗ erf¨ ullt. Um nach einer Folge {ˆ xk }∞ k=0 zu suchen, die schneller gegen x konvergiert, gehen wir von den folgenden Voraussetzungen aus.

Voraussetzung 4.3. • F¨ ur alle positiven ganzen Zahlen k wird der Grenzfall (4.44) direkt angenommen, und • die absoluten Fehler ek haben alle ein gleiches Vorzeichen.



Dann gilt ek+1 = βek , k ≥ 0. Weiter ist xk+2 = ek+2 + x∗ = βek+1 + x∗ , d.h., xk+2 = β(xk+1 − x∗ ) + x∗ , k ≥ 0.

(4.45)

Ersetzt man (k + 1) durch k, dann resultiert daraus xk+1 = β(xk − x∗ ) + x∗ .

(4.46)

Die Subtraktion der Gleichung (4.46) von (4.45) ergibt xk+2 − xk+1 = β(xk+1 − xk ), woraus xk+2 − xk+1 (4.47) β= xk+1 − xk

4.7 Techniken zur Konvergenzbeschleunigung

209

folgt. Die Aufl¨ osung von (4.45) nach x∗ ergibt x∗ = (xk+2 −βxk+1 )/(1−β). Substituiert man (4.47) in diese Formel, so resultiert

x∗

xk+2 − xk+1 xk+1 xk+2 (xk+1 − xk ) − xk+1 (xk+2 − xk+1 ) xk+1 − xk = xk+2 − xk+1 xk+1 − xk − xk+2 + xk+1 1− xk+1 − xk

xk+2 − =

=

xk+2 xk − x2k+1 . xk+2 − 2xk+1 + xk

(4.48)

Der auf der rechten Seite stehende Ausdruck kann nun wie folgt umgeformt werden: x∗

=

xk xk+2 − x2k+1 xk+2 − 2xk+1 + xk

=

(x2k ) + xk xk+2 − (2xk xk+1 ) + (2xk xk+1 ) − (x2k ) − x2k+1 xk+2 − 2xk+1 + xk

= =

(x2k + xk xk+2 − 2xk xk+1 ) − (x2k − 2xk xk+1 + x2k+1 ) xk+2 − 2xk+1 + xk (xk+1 − xk )2 xk − . xk+2 − 2xk+1 + xk

Da die Voraussetzungen 4.3 i.allg. nicht f¨ ur beliebiges k erf¨ ullt sind, wird sich x∗ in der Realit¨ at nicht exakt in der obigen Form darstellen. Jedoch ist zu erwarten, daß die Folge {ˆ xk }∞ k=0 mit x ˆ k = xk −

(xk+1 − xk )2 xk+2 − 2xk+1 + xk

(4.49)

ungliche Folge {xk }∞ schneller gegen x∗ konvergiert als die urspr¨ k=0 . Diese Technik der uhrKonvergenzbeschleunigung nennt man Aitken’s 2 -Prozeß. Die folgende Definition f¨ te zu dieser Namensgebung. origen vorw¨ artsgeDefinition 4.3. Gegeben sei eine Folge {xk }∞ k=0 . Unter den zugeh¨ ucke nommenen Differenzen (1. Ordnung) xk sollen die Ausdr¨ xk ≡ xk+1 − xk ,

k = 0, 1, . . .

(4.50)

verstanden werden. Vorw¨ artsgenommene Differenzen h¨ oherer Ordnung n xk seien wie folgt rekursiv erkl¨ art: n xk ≡ (n−1 xk ),

n ≥ 2,

1 xk ≡ xk .

(4.51) 

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

210 Diese Definition impliziert nun

2 xk = (xk ) = (xk+1 − xk ) = xk+1 − xk = (xk+2 − xk+1 ) − (xk+1 − xk ) = xk+2 − 2xk+1 + xk .

(4.52)

Weiter gilt: 3 xk = xk+3 − 3xk+2 + 3xk+1 − xk , 4 xk = xk+4 − 4xk+3 + 6xk+2 − 4xk+1 + xk , .. .

(4.53)

n xk = xk+n − n xk+n−1 + −

n(n − 1) xk+n−2 2!

n(n − 1)(n − 2) xk+n−3 + · · · + (−1)n xk . 3!

Die n-te vorw¨ artsgenommene Differenz wird oftmals auch in der einpr¨ agsamen Form n n n n xk = xk+n − xk+n−i xk+n−1 + xk+n−2 − · · · + (−1)i i 1 2 (4.54) + · · · + (−1)n xk angegeben. Dabei ist das Symbol n n(n − 1)(n − 2)(n − 3) · · · (n − k + 1) ≡ k! k das u ur die Binomialkoeffizienten. In Kapitel 6 werden wir noch zwei ¨bliche Symbol f¨ weitere Differenzenarten (r¨ uckw¨ artsgenommene und zentrale Differenzen) kennenlernen, die in der Numerischen Mathematik ebenfalls von praktischer Bedeutung sind. Die Formel (4.49) kann nun unter Verwendung vorw¨ artsgenommener Differenzen wie folgt aufgeschrieben werden:

x ˆ k = xk −

(xk )2 ,  2 xk

k = 0, 1, . . .

(4.55)

Die Bezeichnung Aitken’s 2 -Prozeß“ geht offensichtlich auf diese formale Darstellung ” des zuvor beschriebenen Iterationsprozesses zur¨ uck. ∗ Bisher wurde nur vermutet, daß die Folge {ˆ x k }∞ k=0 schneller gegen x konvergiert als ∞ die urspr¨ ungliche Folge {xk }k=0 . Der mathematisch exakte Nachweis fehlt jedoch noch. Das entsprechende Ergebnis vermittelt der folgende Satz.

4.7 Techniken zur Konvergenzbeschleunigung

211

∗ Satz 4.6. Gegeben sei eine Folge {xk }∞ k=0 , die gegen den Grenzwert x konvergiert. ur alle k ≥ 0. Ist Weiter sei ek ≡ xk − x∗ , mit ek = 0 f¨

lim

k→∞

ek+1 = β, ek

0 < |β| < 1,

∞ ∗ dann konvergiert die Folge {ˆ xk }∞ k=0 schneller als die Folge {xk }k=0 gegen x , d.h., es gilt x ˆ k − x∗ = 0. lim k→∞ xk − x∗

Beweis: Das asymptotische Verhalten des Fehlers ek werde wie folgt dargestellt: ek+1 = (β + δk )ek

mit

lim δk = 0.

k→∞

(4.56)

Daraus ergibt sich unmittelbar ek+2 = (β + δk+1 )ek+1 = (β + δk+1 )(β + δk )ek . F¨ ur die vorw¨ artsgenommenen Differenzen erster und zweiter Ordnung erh¨ alt man xk = xk+1 − x∗ − (xk − x∗ ) = ek+1 − ek = (β − 1 + δk )ek 2 xk = ek+2 − 2ek+1 + ek = [β 2 − 2β + 1 + (βδk + βδk+1 + δk δk+1 − 2δk )]ek (4.57) ≡ [(β − 1)2 + δ˜k ]ek

mit

lim δ˜k = 0.

k→∞

Da |β| < 1 ist, folgt f¨ ur hinreichend großes k, daß 2 xk = 0, d.h., der Nenner von (4.55) ˆk − x∗ ergibt sich schließlich verschwindet nicht. F¨ ur den Fehler ηk ≡ x η k = ek −

[(β − 1) + δk ]2 δ˜k − 2(β − 1)δk − δk2 ek = ek . (β − 1)2 + δ˜k (β − 1)2 + δ˜k

(4.58)

Ber¨ ucksichtigt man nun (4.56) und (4.57), so impliziert (4.58), daß ηk δ˜k − 2(β − 1)δk − δk2 = lim = 0. k→∞ ek k→∞ (β − 1)2 + δ˜k lim



Den obigen Ausf¨ uhrungen ist zu entnehmen, daß sich mit dem Aitkenschen 2 -Prozeß die Konvergenz jeder linear konvergenten Folge beschleunigen l¨ aßt. Die Vorschrift, nach der die urspr¨ ungliche Folge erzeugt wird, spielt dabei keine Rolle. Das Ergebnis ist jedoch noch insofern f¨ ur die praktische Verwendung unbefriedigend, als daß erst einmal die linear konvergente Folge mit einem numerischen Verfahren (recht aufwendig) konstruiert werden muß, bevor daraus die schneller konvergente Folge gebildet werden kann. Von Steffensen stammt nun der Gedanke, beide Folgen miteinander zu kombinieren. Aus den ersten drei Iterierten der langsam konvergenten Folge konstruiert man sofort mittels des 2 -Prozesses eine Iterierte der schneller konvergenten Folge und nimmt diese mit in die aktuelle Folge auf. Diese Strategie wird nun sukzessive fortgesetzt.

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

212

Die Anwendung der soeben beschriebenen Technik auf die Folge der Fixpunkt-Iterierten ist unter dem Namen Steffensen-Verfahren bekannt und soll kurz dargestellt werden. Es seien xk , xk+1 , xk+2 drei aufeinanderfolgende Iterierte der (linear konvergenten) Fixpunkt-Iteration. Aus diesen erh¨ alt man nach (4.49) x ˆk = xk −

(xk+1 − xk )2 (g(xk ) − xk )2 = xk − . xk+2 − 2xk+1 + xk g(g(xk )) − 2g(xk ) + xk

ˆk gesetzt und daraus ein x ˆk+1 berechnet. F¨ uhrt man den Prozeß so Nun wird xk+1 ≡ x weiter, dann ergibt sich die Iterationsvorschrift

xk+1 = xk −

[g(xk ) − xk ]2 ≡ g˜(xk ), g(g(xk )) − 2g(xk ) + xk

k = 0, 1, 2 . . .

(4.59)

F¨ ur die Geschwindigkeit der obigen Steffensen-Iteration gilt der folgende Satz. Satz 4.7. Ist die Konvergenzordnung der Fixpunkt-Iteration xk+1 = g(xk ) gleich 1, dann besitzt das Steffensen-Verfahren mindestens die Konvergenzordnung 2. Beweis: Wir nehmen an, daß die Funktion g(x) hinreichend oft stetig differenzierbar ist. F¨ ur den absoluten Fehler ek ≡ xk − x∗ ergibt sich: ek+1 = ek −

[g(x∗ + ek ) − x∗ − ek ]2 Z ≡ ek − . ∗ ∗ ∗ g(g(x + ek )) − 2g(x + ek ) + x + ek N

(4.60)

In Formel (4.60) sollen an der Stelle x = x∗ sowohl der Z¨ ahler Z als auch der Nenner N ¨ in Taylorreihen entwickelt werden. Der besseren Ubersichtlichkeit halber unterdr¨ ucken wir hierbei den Index k! 1 = x∗ + eg  (x∗ ) + e2 g  (x∗ ) + O(e3 ), 2 1 g(g(x∗ + e)) = g(x∗ + eg  (x∗ ) + e2 g  (x∗ ) + O(e3 )) 2 1 = x∗ + eg  (x∗ )2 + e2 g  (x∗ )g  (x∗ )(1 + g  (x∗ )) + O(e3 ). 2 g(x∗ + e)

Hieraus ergibt sich Z

=

1 ((g  (x∗ ) − 1) + eg  (x∗ ))2 e2 + O(e4 ), 2

N

=

1 ((g  (x∗ ) − 1)2 + e(g  (x∗ )2 + g  (x∗ ) − 2)g  (x∗ )) e + O(e3 ). 2

4.7 Techniken zur Konvergenzbeschleunigung

213

Die Formel (4.60) nimmt damit die Gestalt

ek+1

1  ∗  ∗ g (x )g (x ) (g  (x∗ ) − 1) e2k + O(e3k ) 2 =   1 2 (g  (x∗ ) − 1) + g  (x∗ ) g  (x∗ )2 + g  (x∗ ) − 2 ek + O(e2k ) 2 1  ∗  ∗ 2 g (x )g (x ) ek + O(e3k ) 1 g  (x∗ )g  (x∗ ) + O(ek ) 2 2 = = e 1 2 (g  (x∗ ) − 1) + O(ek ) k (g  (x∗ ) − 1) + g  (x∗ )(g  (x∗ ) + 2) ek + O(e2k ) 2

an. Wegen der linearen Konvergenz der Fixpunkt-Iteration gilt 0 < |g  (x∗ )| < 1. Unter der Annahme g  (x∗ ) = 0 folgt aus der obigen Formel die Konvergenz der ek gegen null, allt. Man berechnet dann weiter falls nur |e0 | hinreichend klein ausf¨

 ∗  ∗ |ek+1 | 1

g (x )g (x )

= ≡ β, 0 < β < ∞, lim k→∞ |ek |2 2 g  (x∗ ) − 1 woraus sich unmittelbar die Konvergenzordnung α = 2 ablesen l¨ aßt. Im Falle g  (x∗ ) = 0 ist die Konvergenzordnung gr¨ oßer als zwei.  Zusammenfassend ergibt sich f¨ ur das Steffensen-Verfahren die im Programm 4.5 dargestellte Matlab-Funktion steffensen. Dazu wird eine Matlab-Funktion g f¨ ur g(x) ben¨ otigt. Programm 4.5

Steffensen-Verfahren

function [x,i,ind] = steffensen(x0,TOL1,TOL2,N0); % % % % % % % %

%

%

x0: Startwert; TOL1, TOL2: Toleranzen; N0: maximale Iterationsschrittanzahl x: letzte Iterierte; i: ben¨ otigte Anzahl an Iterationen ind: Information ¨ uber den Rechenverlauf, mit ind=1: Verfahren konvergiert, ’L¨ osung’ x ist berechnet, ind=2: maximale Iterationsschrittanzahl N0 ¨ uberschritten i=0; x=x0; while i < N0 x1=g(x); x2=g(x1); dx=(x1-x)^2/(x2-2*x1+x); x=x-dx; if abs(dx) < TOL1*(1+abs(x)) x ist ’L¨ osung’ ind=1; return end i=i+1; end maximale Iterationsschrittanzahl N0 ¨ uberschritten ind=2;

214

4.8

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

Globalisierung lokal konvergenter Verfahren

In den vorangegangenen Abschnitten haben wir gesehen, daß die Iterationsverfahren zur Bestimmung einer Nullstelle von (4.6) i.allg. nur dann konvergieren, falls der Startosung x∗ liegt. Man spricht in diesem Falle von lokaler wert x0 bereits nahe bei der L¨ Konvergenz. Die in den S¨ atzen 4.2 bis 4.5 formulierten Konvergenzkriterien sind in der Praxis oftmals gar nicht u ufbar. Sie stellen damit eigentlich nur eine Tr¨ ostung in ¨berpr¨ dem Sinne dar, daß es sich bei der Menge der Problemstellungen, f¨ ur die die zugeh¨ origen numerischen Verfahren ein sinnvolles Ergebnis erzeugen, nicht um die leere Menge handelt. Oftmals l¨ aßt sich jedoch ein vorliegendes Nullstellenproblem durch eine sehr naive Methode behandeln, deren englische Bezeichnung trial and error das wesentliche dieser Strategie zum Ausdruck bringt. Man w¨ ahlt n¨ amlich relativ willk¨ urlich einen Startwert urfeln) und f¨ uhrt eine gewisse (nicht zu große) Anzahl N von Iterax0 (z.B. durch Ausw¨ tionsschritten durch. Ist es hierdurch nicht gelungen, das Residuum r(xN ) ≡ 12 f (xN )2 unterhalb eines vorgegebenen (kleinen) Schwellenwertes zu reduzieren, dann wird x0 als unbrauchbar eingestuft und verworfen. Nun modifiziert man den Startwert oder w¨ ahlt einen v¨ ollig anderen und beginnt die Iteration von vorn. In der Mehrzahl der F¨ alle gelingt es, damit zu einer brauchbaren Approximation der gesuchten Nullstelle x∗ zu gelangen. Es stellt sich jetzt nat¨ urlich die Frage, ob es nicht einen systematischeren Weg gibt, um geeignete Startwerte zu ermitteln. Insbesondere ist man an Strategien interessiert, mit denen sich die Konvergenz der numerischen Grundverfahren f¨ ur (beinahe) beliebige Startwerte erzwingen l¨ aßt. Wie bei den linearen Gleichungen u ¨blich, h¨atte man dann auch global konvergente Iterationsverfahren zur L¨ osung der nichtlinearen Nullstellenaufgabe zur Verf¨ ugung. Wir wollen im folgenden zwei solche Techniken zur Globalisierung der lokal konvergenten Iterationsverfahren beschreiben.

4.8.1

D¨ ampfungsstrategien

In Abschnitt 4.3 wurde das Newton-Verfahren zur Bestimmung einer Nullstelle x∗ von (4.6) f (xk−1 ) xk = xk−1 −  ≡ xk−1 + pk−1 , k = 1, 2, . . . , (4.61) f (xk−1 ) f (xk−1 ) bezeichnet man u ausf¨ uhrlich studiert. Die Gr¨ oße pk−1 ≡ −  ¨blicherweise als die f (xk−1 ) zugeh¨ orige Newton-Korrektur. Beim sogenannten ged¨ ampften Newton-Verfahren verwendet man anstelle von (4.61) die modifizierte Vorschrift xk = xk (λk−1 ) = xk−1 + λk−1 pk−1 ,

k = 1, 2, . . . ,

(4.62)

ampfungsfaktor ist. Bezeichnet xk−1 eine N¨ ahewobei 0 < λk−1 ≤ 1 der sogenannte D¨ rung mit f (xk−1 ) = 0, dann wird λk−1 so bestimmt, daß der Monotonietest r(xk−1 + λk−1 pk−1 ) < r(xk−1 )

(4.63)

4.8 Globalisierung lokal konvergenter Verfahren

215

erf¨ ullt ist; r(˜ x) ≡ 12 f (˜ x)2 stellt dabei das Residuum der gegebenen Funktion f (x) f¨ ur den Wert x = x ˜ dar. Anschließend setzt man λk−1 in die rechte Seite von (4.62) ein ampfte Newtonund erh¨ alt die neue Iterierte xk . Wie man leicht sieht, geht das ged¨ ohnliche Newton-Verfahren (4.61) u Verfahren (4.62) f¨ ur λk−1 = 1 in das gew¨ ¨ber. Die ¨ dargestellte D¨ ampfungsstrategie basiert auf folgenden Uberlegungen. Das Ziel aller Iteur die rationsverfahren besteht darin, eine solche Approximation von x∗ zu berechnen, f¨ das Residuum r sehr klein ist (in der L¨ osung gilt r(x∗ ) = 0). Man versucht deshalb, in jedem Iterationsschritt das Residuum weiter zu verkleinern. Ganz allgemein wird diese Technik als Abstiegsverfahren bezeichnet. Gelingt die Reduktion des Residuums mit ampft man die Newtondem gew¨ ohnlichen Newton-Verfahren (λk−1 = 1) nicht, dann d¨ ullt ist. Korrektur, d.h., es wird ein λk−1 < 1 so ermittelt, daß die Beziehung (4.63) erf¨ aßt sich wie folgt begr¨ unden. Die Existenz eines solchen Parameterwertes λk−1 > 0 l¨ Definiert man rk−1 (λ) ≡ 12 f (xk−1 + λ pk−1 )2 , dann ergibt sich durch Differentiation ∂rk−1 (0) = f (xk−1 ) f  (xk−1 ) pk−1 = −f (xk−1 )2 < 0, ∂λ alt sich fallend d.h., die Ableitung an der Stelle λ = 0 ist negativ und rk−1 (λ) verh¨ f¨ ur kleine positive Werte von λ. Die Abstiegsbedingung (4.63) l¨ aßt sich also f¨ ur eine ullen. gen¨ ugend kleine Schrittweite λk−1 > 0 stets erf¨ Der Name ged¨ ampftes Newton-Verfahren weist darauf hin, daß nicht der volle NewtonSchritt pk−1 , sondern nur ein Bruchteil λk−1 pk−1 gegangen wird. Die praktische Bestimmung des D¨ ampfungsparameters λk−1 anhand des Monotonie-Kriteriums (4.63) ist auf verschiedene Weise m¨ oglich. Eine recht einfache Vorschrift ergibt sich, wenn man λk−1 aus einer endlichen Folge {1, 12 , 14 , . . . , λmin } ausw¨ ahlt und die Iteration abbricht, falls urde. In kritischen Situationen wird man zur Vermeidung von λk−1 < λmin notwendig w¨ oßer als die gr¨ oßte Maschinenzahl) versuchsweise mit Exponenten¨ uberlauf (xk wird gr¨ achsten Iterationsschritt λ0 = λmin beginnen. War λk−1 erfolgreich, so wird man im n¨ den Parameterwert λk = min{1, 2λk−1 } versuchen, um asymptotisch die quadratische Konvergenz des gew¨ ohnlichen Newton-Verfahrens (λ = 1) zu erreichen. War der Monotonietest mit λk−1 verletzt, so wird man diesen mit λk−1 ≡ λk−1 /2 erneut testen. Effektivere D¨ ampfungsstrategien werden u.a. von Deuflhard1 und Schwetlick2 vorgeschlagen. So ersetzt Schwetlick die Monotoniebedingung (4.63) durch eine Ungleichung der Form r(xk−1 + λk−1 pk−1 ) < {1 + 2δλk−1 + δλ2k−1 } r(xk−1 ),

(4.64)

die sich f¨ ur den Nachweis der Konvergenzeigenschaften des resultierenden Verfahrens besser eignet. In (4.64) ist 0 < δ < 1 eine vorzugebende Konstante. Da in der Umgebung einer einfachen Nullstelle f¨ ur λk−1 = 1 schnelle quadratische Konvergenz des NewtonVerfahrens vorliegt, wird man gleichfalls versuchen, die Bedingung (4.64) mit der Wahl 1

P. Deuflhard: Newton Methods for Nonlinear Problems. Affine Invariance and Adaptive Algorithms. Springer-Verlag, Berlin und Heidelberg, 2004. 2 H. Schwetlick: Numerische L¨ osung nichtlinearer Gleichungen. VEB Deutscher Verlag der Wissenschaften, Berlin 1979.

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

216

von λk−1 = 1 zu erf¨ ullen. Ist dies jedoch nicht m¨ oglich, dann wird λk−1 um einen Faktor 0 < ρ < 1 verkleinert und der Test wiederholt, bis er nach endlich vielen Reduktionen ullt ist. von λk−1 erf¨ Das genaue Vorgehen kann dem Programm 4.6 entnommen werden. Ben¨ otigt werden unftige Verhier wieder Matlab-Funktionen f und fstrich f¨ ur f (x) bzw. f  (x). Vern¨ fahrensparameter sind zum Beispiel ρ (rho) = 0.5 und δ (delta) = 0.01.

Programm 4.6

Ged¨ ampftes Newton-Verfahren

function [x,i,ind] = newtond(x0,delta,rho,TOL1,TOL2,N0); % % % % % % % % %

%

%

%

%

x0: Anfangsapproximation; 0 < delta,rho < 1: Verfahrenskonstanten TOL1, TOL2: Toleranzen; N0: maximale Iterationsschrittanzahl x: letzte Iterierte; i: ben¨ otigte Anzahl an Iterationen ind: Information ¨ uber den Rechenverlauf, mit ind=1: Verfahren konvergiert, ’L¨ osung’ x ist berechnet, ind=2: maximale Iterationsschrittanzahl N0 ¨ uberschritten x=x0; i=0; lambda=1; while i < N0 fx=f(x); if abs(fx) < TOL1 x ist ’L¨ osung’ ind=1; return end fsx=fstrich(x); if fsx == 0 Newtonverfahren nicht durchf¨ uhrbar ind=3; return end p=-fx/fsx; while f(x+lambda*p)^2 > (1+2*delta*lambda+delta*lambda^2)*fx^2 lambda=rho*lambda; end x=x+lambda*p; if abs(lambda*p) < TOL2*(1+abs(x)) x ist ’L¨ osung’ ind=1; return end i=i+1; lambda=min(lambda/rho,1); end maximale Iterationsschrittanzahl N0 ¨ uberschritten ind=2;

4.8 Globalisierung lokal konvergenter Verfahren

4.8.2

217

Homotopieverfahren

Eine alternative M¨ oglichkeit, lokal konvergente Iterationsverfahren zu globalisieren, stellen die Homotopie- oder Fortsetzungsverfahren dar. Die gegebene nichtlineare Gleichung f (x) = 0 wird dabei in eine einparametrige Familie von nichtlinearen Gleichungen H(x, t) = 0,

t ∈ [0, 1],

(4.65)

eingebettet. Die Funktion H soll die folgenden zwei Eigenschaften besitzen: • f¨ ur t = 1 gilt H(x, 1) = f (x), und • f¨ ur t = 0 ist bereits eine L¨ osung x0 von (4.65) bekannt, d.h., H(x0 , 0) = 0 . Beispielsweise l¨ aßt sich H(x, t) ≡ t f (x) + (1 − t) g(x)

(4.66)

ahlbare Funkverwenden, wenn f¨ ur einen vorgegebenen Zahlwert x = x0 die noch frei w¨ tion g(x) zu g(x) ≡ f (x) − f (x0 ) oder zu g(x) ≡ x − x0 definiert ist. Eine andere M¨ oglichkeit, die Gleichungsschar (4.65) vorzugeben, ist H(x, t) ≡ f (x) − (1 − t) f (x0 ),

(4.67)

aherung f¨ ur die L¨ osung x∗ von (4.6) bezeichnet. wobei x0 eine (nicht notwendig gute) N¨ Wir wollen nun voraussetzen, daß die Gleichung (4.65) f¨ ur jedes t ∈ [0, 1] eine L¨ osung x(t) besitzt, die stetig von t abh¨ angt. Mit anderen Worten, es m¨ oge eine stetige Funktion x : [0, 1] → R existieren, so daß H(x(t), t) = 0,

t ∈ [0, 1],

x(0) = x0 .

Unter diesen Bedingungen beschreibt x eine Kurve in R, wobei der eine Endpunkt in x0 und der andere in der L¨ osung x∗ von (4.6) liegt. Um x∗ numerisch zu approximieren, unterteilt man u aß ¨blicherweise das Intervall [0, 1] gem¨ 0 = t0 < t1 < · · · < tm = 1

(4.68)

und bestimmt die zugeh¨ origen x-Werte nacheinander aus der Gleichung (4.65), im i-ten osung von Schritt also x = xi = x(ti ) als L¨ H(x, ti ) = 0,

i = 1(1)m.

(4.69)

In jedem Schritt dieses Homotopieverfahrens muß also selbst wieder eine nichtlineare Gleichung mittels einer inneren Iteration gel¨ ost werden. Hierbei kann man auf die bekannten Iterationsverfahren f¨ ur nichtlineare Gleichungen zur¨ uckgreifen, so z.B. auf das

218

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

Newton-Verfahren, welches f¨ ur das Problem (4.65) die folgende Gestalt besitzt xik = xik−1 −

H(xik−1 , ti ) , H  (xik−1 , ti )

k = 1, 2, . . . ,

(4.70)

wobei H  die partielle Ableitung von H(x, t) nach dem ersten Argument bezeichnet. Als Startwert f¨ ur diese innere Iteration verwendet man die bereits berechnete L¨ osung xi−1 des (i − 1)-ten Problems, d.h., xi0 ≡ xi−1 = x(ti−1 ). Der Iterationszyklus ist in der Abbildung 4.7 graphisch dargestellt.

Abbildung 4.7: Globalisierung mittels Homotopie

Wegen der Stetigkeit von x(t) kann der Fehler xi0 − xi = x(ti−1 ) − x(ti ) des Startwertes uglich der gesuchten L¨ osung xi von (4.65) beliebig klein gemacht werden, wenn xi0 bez¨ ahlt wird. Somit ist das nur die Schrittweite hi−1 ≡ ti − ti−1 hinreichend klein gew¨ uhrbar und quadratisch gegen xi Newton-Verfahren f¨ ur gen¨ ugend kleines hi−1 durchf¨ konvergent, d.h., xi = x(ti ) = lim xik . k→∞

anBei der praktischen Realisierung der obigen Homotopie-Strategie wird man hi in Abh¨ ahlen. Eine einfach zu implementierende Schrittweigigkeit vom Verhalten der xik w¨ tensteuerung schlagen Schwetlick und Kretzschmar1 vor, deren Grundprinzip wir hier angeben wollen. Da mit den Iterierten xik auch die Residuen H(xik , ti ) quadratisch konvergieren, sollte zumindest die Bedingung H(xik+1 , ti )2 ≤ ρ H(xik , ti )2 , 1

mit 0 < ρ < 1,

Siehe das Buch von H. Schwetlick und H. Kretzschmar: Numerische Verfahren f¨ ur Naturwissenschaftler und Ingenieure. Fachbuchverlag GmbH, Leipzig, 1991.

4.8 Globalisierung lokal konvergenter Verfahren

219

f¨ ur lineare Konvergenz mit einem Faktor ρ f¨ ur jedes k erf¨ ullt sein. Ist dies nicht der ahlt und der i-te Homotopieschritt ist mit einem Fall, wurde hi vermutlich zu groß gew¨ verkleinerten hi zu wiederholen. Im nachfolgenden Schritt wird man versuchen, mit einer etwas gr¨ oßeren Schrittweite zu arbeiten, damit der Aufwand nicht zu groß wird. Schließlich muß die innere Iteration nach endlich vielen Iterationsschritten abgebrochen ullt ist. werden, etwa mit xi ≡ xik+1 , wenn das Abbruchkriterium H(xik+1 , ti )2 ≤ ε erf¨ In dem Programm 4.7 ist die Implementierung des Homotopie-Verfahrens als MatlabFunktion homoto realisiert. Der Anwender muß dazu die gegebene Homotopie-Funktion H(x, t) als Matlab-Funktion H sowie deren Ableitung H  (x, t) als Matlab-Funktion Hs bereitstellen.

Programm 4.7

Homotopie-Verfahren

function [x,ind] = homoto(x0,mue,rho,hmin,hmax,TOL,N0); % % % % % % % % % % %

%

%

x0: Startwert; mue,rho: Verfahrensparameter aus (0,1) hmin: minimale Homotopie-Schrittweite aus (0,1] hmax: maximale Homotopie-Schrittweite aus (0,1]; TOL: Toleranz N0: maximale Iterationsschrittanzahl x: letzte Iterierte; ind: Information ¨ uber den Rechenverlauf, mit ind=1: Verfahren konvergiert, ’L¨ osung’ x ist berechnet, ind=2: Schrittweite h1, h=1-s; end t=s+h; k=0; hx=H(x,t); xn=x-hx/Hs(x,t); hn=H(xn,t); while hn > TOL i=1; if hn^2 N0, ind=3; return, end else h=mue*h; Abbruch wegen zu kleiner Schrittweite if h n, gelte P (xi ) = Q(xi ),

i = 1, . . . , k.

222

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

Dann ist P (x) = Q(x) f¨ ur alle Werte von x.



Besitzt ein Polynom komplexe Zahlen als Wurzeln, dann sind auch die zugeh¨ origen konjugiert komplexen Zahlen L¨ osungen der Polynomgleichung. Genauer gilt Satz 4.9. Bezeichnet z = a+b i eine komplexe Wurzel der Vielfachheit m des Polynoms P (x), dann ist auch z¯ = a − b i eine Wurzel der Vielfachheit m von P (x). Des weiteren ist (x2 + 2ax + a2 + b2 ) ein Faktor von P (x). Die Anwendung des Newton-Verfahrens zur Bestimmung von L¨ osungen der Polynomgleichung P (x) ≡ an xn + an−1 xn−1 + · · · + a1 x + a0 = 0

(4.74)

erfordert die fortlaufende Berechnung von Funktions- und Ableitungswerten von P (x). Es ist deshalb sehr wichtig, hierf¨ ur einen effektiven Algorithmus zur Verf¨ ugung zu haben. Eine naheliegende Technik, den Wert des Polynoms P (x) an einer Stelle x = x0 zu bestimmen, besteht darin, zuerst die Potenzen x20 , x30 , . . . , xn0 zu berechnen (das sind (n−1) ur i = 1, 2, . . . , n, zu bilden (nochmals n Multiplikationen), dann die Produkte ai xi0 , f¨ Multiplikationen) und schließlich n Additionen auszuf¨ uhren, um die Zwischenresultate aufzusummieren. Der Gesamtaufwand betr¨ agt somit 2n − 1 Multiplikationen und n Additionen. Der folgende Satz gibt demgegen¨ uber einen viel effektiveren Algorithmus an, der unter dem Namen Horner-Schema 1 bekannt ist und nur n Multiplikationen sowie otigt. Neben dem geringeren Aufwand ist n Additionen zur Berechnung von P (x0 ) ben¨ das Horner-Schema auch wesentlich g¨ unstiger in Bezug auf die Fortpflanzung von Rundungsfehlern. Das Horner-Schema wird in der Literatur oftmals auch als synthetische Division bezeichnet. Satz 4.10. Es sei P (x) ein Polynom n-ten Grades und es werde bn ≡ an gesetzt. ur k = n − 1, n − 2, . . . , 0, dann ergibt Definiert man des weiteren bk ≡ ak + bk+1 x0 f¨ sich b0 = P (x0 ). Ist schließlich Q(x) ≡ bn xn−1 + bn−1 xn−2 + · · · + b2 x + b1 , dann gilt P (x) = (x − x0 )Q(x) + b0 .

1

(4.75)

Das Verfahren ist nach dem Engl¨ ander William George Horner (1786–1837) benannt. Es stellt den einzigen bedeutsamen Beitrag von ihm zur Mathematik dar. Das Horner-Schema wurde am 1. Juli 1819 der Royal Society vorgelegt und noch im selben Jahr in den Philosophical Transactions of the Royal Society ver¨ offentlicht. Horner war jedoch nicht der erste, der diese Methode vorgeschlagen hat, sondern sie wurde bereits 500 Jahre fr¨ uher von dem Chinesen Chu Shih-chieh (1270–1330) verwendet. Er geh¨ ort zu den bedeutendsten chinesischen Mathematikern, der in seiner Arbeit Ssu-yuan yu-chien (engl.: Precious Mirror of the Four Elements“, erschienen 1303) neben anderen mathematischen ” Problemen auch eine L¨ osung f¨ ur eine allgemeine Gleichung 14. Grades beschrieb. Er verwendete dazu eine Umwandlungsmethode, die er fan fa nannte und die eben Horner als das Horner-Schema wiederentdeckte.

4.9 Nullstellen reeller Polynome

223

Beweis: Nach der Definition von Q(x) ist: (x − x0 )Q(x) + b0

= = =

(x − x0 )(bn xn−1 + · · · + b2 x + b1 ) + b0 (bn xn + bn−1 xn−1 + · · · + b2 x2 + b1 x) −(bn x0 xn−1 + · · · + b2 x0 x + b1 x0 ) + b0 bn xn + (bn−1 − bn x0 )xn−1 + · · · + (b1 − b2 x0 )x + (b0 − b1 x0 ).

Die Voraussetzungen des Satzes implizieren bn = an und bk − bk+1 x0 = ak , so daß  unmittelbar (x − x0 )Q(x) + b0 = P (x) und b0 = P (x0 ) folgt. Hat man f¨ ur die Durchf¨ uhrung des Horner-Schemas keinen programmierbaren Rechner zur Hand, dann ist es sachgem¨ aß, auf die folgende Tabelle zur¨ uckzugreifen. Der Name Horner-Schema leitet sich hiervon ab. an x0 = bn

an−1

an−2

···

a0

+x0 bn

+x0 bn−1

···

+x0 b1

= bn−1

= bn−2

···

= b0

Tabelle 4.1: Horner-Schema zur Berechnung von P (x0 )

Wir wollen jetzt anhand eines Beispiels den oben aufgezeigten Rechenweg demonstrieren. Beispiel 4.4. Gegeben sei das Polynom P (x) = 5 x4 + x3 − 4 x + 7. An der Stelle x0 = 2 soll der Funktionswert P (x0 ) numerisch berechnet werden. Hierzu wird die Tabelle 4.1 wie folgt erstellt: Koeffizient von x4

Koeffizient von x3

Koeffizient von x2

Koeffizient von x

konstanter Term

a4 = 5

a3 = 1

a2 = 0

a1 = −4

a0 = 7

b4 x0 = 10

b3 x0 = 22

b2 x0 = 44

b1 x0 = 80

b3 = 11

b2 = 22

b1 = 40

b0 = 87

x0 = 2 b4 = 5

Tabelle 4.2: Horner-Schema f¨ ur das Beispiel 4.4

Somit ergibt sich f¨ ur x0 = 2 der Funktionswert P (x0 ) = 87. Des weiteren l¨ aßt sich aus der Tabelle 4.2 ablesen, daß P (x) in der folgenden Gestalt faktorisiert werden kann:  P (x) = (x − 2) (5 x3 + 11 x2 + 22 x + 40) + 87.

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

224

Ein weiterer Vorteil des Horner-Schemas besteht darin, daß f¨ ur die Berechnung des atzliche Zeile in der Tabelle 4.1 notwendig ist. Es Ableitungswertes P  (x0 ) nur eine zus¨ gilt n¨ amlich: P (x) = (x − x0 ) Q(x) + b0 ,

mit

Q(x) = bn xn−1 + bn−1 xn−2 + · · · + b2 x + b1 .

Die Differentiation dieses Ausdruckes ergibt P  (x) = Q(x) + (x − x0 ) Q (x), d.h., P  (x0 ) = Q(x0 ).

(4.76)

Beispiel 4.5. Die Tabelle 4.1 soll f¨ ur das Beispiel 4.4 weitergef¨ uhrt werden, um P  (x0 ) zu berechnen. Es ergibt sich: 5 5

1 10 11

0 22 22

5

10 21

42 64

x0 = 2 x0 = 2

-4 44 40

7 80 87 = P (2)

128 168 = Q(2) = P  (2)

Tabelle 4.3: Erweitertes Horner-Schema f¨ ur Beispiel 4.5



Die Realisierung des Horner-Schemas auf einem Computer wird man nat¨ urlich nicht in Tabellenform vornehmen. Das unten angegebene MATLAB-Programm 4.8 ist f¨ ur Computerrechnungen geeignet. Mit ihm lassen sich P (x0 ) und P  (x0 ) unter Verwendung des Horner-Schemas numerisch ermitteln. Die Berechnung einer reellen L¨ osung x∗ der Gleichung (4.74) kann mit dem NewtonVerfahren unter Verwendung des Programms 4.8 vorgenommen werden. Ist die N -te Iterierte des Newton-Verfahrens eine hinreichend gute Approximation von x∗ , dann gilt: P (x) = (x − xN )Q(x) + b0 = (x − xN )Q(x) + P (xN ) ≈ (x − xN )Q(x), aherter Faktor von P (x). Im folgenden wollen wir d.h., (x − xN ) erweist sich als ein gen¨ mit x ˆ1 ≡ xN die Approximation der zuerst betrachteten Wurzel x∗1 von P (x) bezeichnen. orige gen¨ aherte Faktor. Dann gilt P (x) ≈ (x − x ˆ1 )Q1 (x). Nun kann Q1 (x) sei der zugeh¨ man eine zweite Wurzel x∗2 von P (x) approximieren, indem das Newton-Verfahren auf Q1 (x) angewendet wird. Ist P (x) ein Polynom n-ten Grades mit n reellen Wurzeln, dann f¨ uhrt die wiederholte Anwendung dieser Strategie zu n−2 approximierten Wurzeln osung dieses sowie zu einem gen¨ aherten quadratischen Faktor Qn−2 (x). Die direkte Aufl¨ Faktors ergibt die noch fehlenden Approximationen f¨ ur die restlichen 2 Wurzeln von P (x).

4.9 Nullstellen reeller Polynome Programm 4.8

225 Horner-Schema

function [y,ys] = horner(p,x); % % % % % % %

p: Vektor, der die Koefizienten a(0),...,a(n) von P(x) enth¨ alt x: Vektor der Stellen, an denen das Polynom ausgewertet werden soll y: Funktionswerte P(x) ys: Ableitungswerte P’(x) m=length(p); y=0*x+p(m); ys=y; for i=m-1:-1:2 y=x.*y+p(i); ys=x.*ys+y; end y=x.*y+p(1);

Obwohl dieses Vorgehen f¨ ur die Approximation aller reellen Wurzeln eines Polynoms theoretisch anwendbar ist, f¨ uhrt die fortlaufende Verwendung nur approximierter Werte praktisch zu sehr ungenauen Resultaten. Dies gilt insbesondere f¨ ur große n. Sieht man sich die soeben beschriebene Deflations-Strategie ( Abdividierungs-Strategie“) ge” nauer an, dann stellt man fest, daß der Genauigkeitsverlust auf die folgende Ursaˆk von che zur¨ uckzuf¨ uhren ist. Nach der Bestimmung der gen¨ aherten Wurzeln x ˆ1 , . . . , x P (x) wird das Newton-Verfahren auf ein Polynom Qk (x) angewendet, das auf diesen N¨ aherungen basiert und f¨ ur welches P (x) ≈ (x − x ˆ1 )(x − x ˆ2 ) · · · (x − x ˆk )Qk (x) gilt. Man berechnet somit die Approximation x ˆk+1 einer Wurzel des nur n¨ aherungsweise aherung f¨ ur die exakte Wurzel x∗k+1 bekannten Faktors Qk (x) und verwendet diese als N¨ von P (x). Anschließend wird wieder nur das reduzierte Polynom Qk+1 (x) betrachtet, um die Approximation einer weiteren Wurzel von P (x) zu berechnen. Dabei gilt ˆk+1 )Qk+1 (x). Qk (x) ≈ (x − x Eine M¨ oglichkeit, diese Schwierigkeiten zu beseitigen, besteht darin, die gen¨ aherten Faktoren Q1 (x), Q2 (x), . . . , Qk−1 (x) von P (x) zur Bestimmung erster (relativ ungenauer) Approximationen x ˆ2 , x ˆ3 , . . . , x ˆk zu verwenden, um diese dann in einem zweiten Schritt zu verbessern. Der zweite Schritt besteht in der Anwendung des Newton-Verfahrens auf die urspr¨ ungliche Polynomgleichung (4.74). Als Startwerte werden dabei die bereits berechneten Werte x ˆk benutzt. In der Regel sind dann zum Erreichen einer vorgegebenen Genauigkeit nur noch wenige Iterationsschritte erforderlich. F¨ ur die Bestimmung aherten (dimensions-)reduzierten Polynom Qk (x) mittels des von x ˆk+1 aus dem gen¨ Newton-Verfahrens ben¨ otigt man jedoch hinreichend genaue Startwerte (lokale Konvergenz!). Derartige Startapproximationen lassen sich wie folgt finden. Man berechnet

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

226

P (x) an gewissen Stellen xi , i = 1, . . . , m, m hinreichend groß. Gilt P (xi ) P (xj ) < 0, dann impliziert der Zwischenwertsatz die Existenz mindestens einer Wurzel zwischen ur zu xi und xj . Die Aufgabe besteht nun darin, durch eine geschickte Wahl der xi daf¨ sorgen, daß die M¨ oglichkeit, einen Vorzeichenwechsel zu u bersehen, minimal wird. Die ¨ dabei auftretenden Probleme lassen sich am folgenden Beispiel gut erkennen. Beispiel 4.6. Gegeben sei das Polynom1 P (x) = 16 x4 − 40 x3 + 5 x2 + 20 x + 6.

(4.77)

aßt sich unmittelbar P (xk ) > 0 zeigen. Bezeichnet xk eine beliebige ganze Zahl, dann l¨ W¨ahlt man andererseits xk = 14 k 2 , k ist ganzzahlig, dann ist ebenfalls P (xk ) > 0. Die urde folglich zu keiner LokaliAuswertung von P (x) an unendlich vielen Stellen xk w¨ uhren, das eine Wurzel von P (x) enth¨ alt. Tats¨ achlich sierung eines Intervalls [xi , xj ] f¨ besitzt das Polynom (4.77) aber die beiden reellen Nullstellen x1 = 1.241677 und x2 = 1.970446 sowie die konjugiert komplexen Nullstellen x3,4 = −0.356062±0.162758 i.  Wir haben damit gesehen, daß die obige Strategie f¨ ur solche Polynome ungeeignet ist, deren Wurzeln sehr eng beieinander liegen. Eine bessere Vorgehensweise zur Ermittlung von Intervallen, die reelle Wurzeln von P (x) enthalten, basiert auf folgender Beobachtung: 1 1 • y ∈ (0, 1] ⇐⇒ ∈ [1, ∞) und y ∈ [−1, 0) ⇐⇒ ∈ (−∞, −1]. y y Verwendet man nun anstelle von x die Variable 1/y, dann ergibt sich 1 = P y =

n n−1 1 1 1 an + a0 + an−1 + · · · + a1 y y y 1 (an + an−1 y + · · · + a1 y n−1 + a0 y n ). yn

Es sei Pˆ (y) ≡ a0 y n + a1 y n−1 + · · · + an−1 y + an .

(4.78)

Zwischen den Wurzeln von Pˆ und P besteht dann folgender Zusammenhang: •

yˆ = 0 ist Wurzel von Pˆ

⇐⇒ 1/ˆ y ist Wurzel von P .

Um nun Approximationen f¨ ur alle reellen Wurzeln von P (x) zu berechnen, reicht es somit aus, nur die Intervalle [−1, 0] und [0, 1] abzusuchen und sowohl P (x) als auch Pˆ (x) zu berechnen, um Vorzeichenwechsel festzustellen. 1

Siehe R. L. Burden and J. D. Faires: Numerical Analysis. Brooks/Cole Publishing Company, Pacific Grove et al., 1997.

4.9 Nullstellen reeller Polynome

227

Gilt P (xi ) P (xj ) < 0, dann besitzt P (x) eine Wurzel in [xi , xj ]. Besteht andererseits die Beziehung Pˆ (xi ) Pˆ (xj ) < 0, dann besitzt Pˆ (x) eine Wurzel in [xi , xj ], woraus folgt, daß f¨ ur P (x) eine Wurzel in [1/xj , 1/xi ] vorliegt. Die Intervalle [−1, 0] und [0, 1] werden einzeln abgesucht, um den Fall Pˆ (xi ) Pˆ (xj ) < 0 f¨ ur xi ∈ [−1, 0) und xj ∈ (0, 1] auszuschließen. ur die meisten praktischen Probleme ist die Es gibt viele Strategien, die xi festzulegen; f¨ folgende Methode ausreichend. Es wird ein geradzahliges (ganzes) N f¨ ur die maximale Anzahl zu berechnender Punkte vorgegeben. Die Punkte selbst berechnet man dann nach der Vorschrift: 2 x0 = −1, xi = xi−1 + , i = 1, . . . , N. N Hieraus ergeben sich m ≡ N + 1 Punkte mit x0 = −1, x N = 0 und xN = 1. 2

Beispiel 4.7. Es sollen die Wurzeln des folgenden Polynoms mit der obigen Technik berechnet werden, wobei eine 8-stellige Gleitpunktarithmetik zugrunde gelegt wird. P (x) ≡ −2 x4 + x3 + 10 x2 + 12 x + 9 Es sei y ≡

1 . Damit ergibt sich x 4 3 2 1 1 1 1 1 P = −2 +9 + + 10 + 12 y y y y y 1 (−2 + y + 10 y 2 + 12 y 3 + 9 y 4 ), d.h. = y4 Pˆ (x) = 9 x4 + 12 x3 + 10 x2 + x − 2.

Nachdem jetzt P (x) und Pˆ (x) vorliegen, kann in [−1, 1] nach Intervallen gesucht werden, die Wurzeln von P (x) und/oder Pˆ (x) enthalten. Zur Berechnung der Funktionswerte ist jeweils das Horner-Schema angebracht. Die folgende Tabelle enth¨ alt die verwendeten Punkte in [−1, 1] sowie die Werte von P und Pˆ an diesen Stellen. xi

P (xi )

Pˆ (xi )

xi

P (xi )

Pˆ (xi )

-1.0000

4.0000

4.0000

0.2500

12.6328

-0.9023

-0.7500

4.5703

0.6602

0.5000

17.5000

3.0625

-0.5000

5.2500

-0.9375

0.7500

23.4141

12.2852

-0.2500

6.6016

-1.7773

1.0000

30.0000

30.0000

0

9.0000

-2.0000

Tabelle 4.4: Funktionswerte f¨ ur Beispiel 4.7

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

228

Da hier Pˆ (−0.75) = 0.6602 und Pˆ (−0.5) = −0.9375 sowie Pˆ (0.25) = −0.9023 und Pˆ (0.5) = 3.0625 gilt, besitzt Pˆ (x) sowohl in (−0.75, −0.5) als auch in (0.25, 0.5) mindestens eine Wurzel. Dies bedeutet wiederum, daß P (x) jeweils mindestens eine Wurzel in den Intervallen I1 ≡ (−1/0.5, −1/0.75) = (−2, −4/3) und I2 ≡ (1/0.5, 1/0.25) = (2, 4) hat. Mit dem Startwert x0 = −1.4285714 ≈ −1/0.7 soll unter Verwendung des Newtonalt Verfahrens eine reelle Wurzel in I1 berechnet werden. Nach 2 Iterationsschritten erh¨ aherte) Faktorisierung man x2 = −1.5000820. Das Horner-Schema ergibt dann die (gen¨ von P (x): P (x) ≈ (x + 1.500082) Q(x), mit Q(x) = −2.0000000 x3 + 4.000164 x2 + 3.999426 x + 6.000533. Da Q(x) nur eine N¨ aherung f¨ ur den entsprechenden Faktor von P (x) darstellt (f¨ ur die numerisch berechnete Faktorisierung ergibt sich ein Rest von -0.0012915), sind die exakten Wurzeln von Q(x) nur gewisse N¨ aherungen f¨ ur die Wurzeln von P (x). Wegen des geringeren Grades von Q(x) sind aber weniger Rechenoperationen f¨ ur die weitere Wurzelberechnung erforderlich als f¨ ur P (x). Wie zuvor diskutiert wurde, approximiert man deshalb mit dem Newton-Verfahren zuerst die Wurzeln von Q(x) und verbessert diese dann mittels des Newton-Verfahrens bez¨ uglich P (x). Die Anwendung des NewtonVerfahrens in Kombination mit dem Horner-Schema auf Q(x) ergibt f¨ ur den Startwert x0 = 3.3333333 ≈ 1/0.3 nach drei Iterationsschritten x2 = 3.0000118. Jetzt liegen 2 approximierte Wurzeln von P (x) vor: ˆ2 = −1.500082. x ˆ1 = 3.0000118 und x Wir wenden das Horner-Schema noch einmal an, um P (x) zu faktorisieren: ˆ ˆ2 ) Q(x). P (x) ≈ (x − x ˆ1 ) (x − x Es ergibt sich

-2 3.0000118 -1.5000820

1

10

12

9

-6.0000236 -15.0001298 -15.0004484 -9.0013861 -2.0000000 -5.0000236

-5.0001298

-3.0004484 -0.0013861

3.000164

2.9999534

3.0004286

-2.0000000 -1.9998596

-2.0001764

-1.98 E-5

Tabelle 4.5: Faktorisierung von P (x)

Negiert man die kleinen Reste –0.0013861 und –1.98 E-5, dann l¨ aßt sich P (x) wie folgt schreiben: P (x) ≈ (x − 3.0000118) (x + 1.500082) (−2.0000000 x2 − 1.9998596 x − 2.0001764).

4.9 Nullstellen reeller Polynome

229

Schließlich erh¨ alt man aus der quadratischen Gleichung ˆ Q(x) ≡ −2.0000000 x2 − 1.9998596 x − 2.0001764 = 0 f¨ ur x ˆ3 und x ˆ4 die Approximationen x ˆ3 = −0.4999649 + 0.8660966 i und

x ˆ4 = −0.4999649 − 0.8660966 i.

ˆ2 f¨ ur die reellen Nullstellen des gegebenen Polynoms k¨ onnen Die N¨ aherungen x ˆ1 und x nun wie folgt verbessert werden. Man verwendet sie als Startwerte f¨ ur das NewtonVerfahren, welches man jetzt auf P (x) = 0 anwendet. Da man schon sehr gute N¨ aherungen vorliegen hat, sind nur noch wenige Iterationsschritte zum Erreichen einer ben¨ otigten Genauigkeit notwendig, so daß sich der hierf¨ ur erforderliche Aufwand in Grenzen h¨alt. So ergeben sich jeweils in nur einem Iterationsschritt die auf 8 Stellen genauen Approximationen f¨ ur die reellen Nullstellen: x ˆ1 = 3.0000000

und

x ˆ2 = −1.5000000.

ˆ4 zu verbessern, m¨ ußten die hier dargestellUm die Approximationen f¨ ur x ˆ3 und x ten Iterationsverfahren (beispielsweise das Newton-Verfahren) komplexwertig realisiert unglichen werden, d.h., man startet mit der N¨ aherung x ˆ3 unter Verwendung des urspr¨ Problems P (x) ≡ −2 x4 + x3 + 10 x2 + 12 x + 9 = 0. Dieses Vorgehen erfordert jedoch einen betr¨ achtlichen Aufwand an Arithmetik mit komplexen Zahlen.  Das obige Beispiel zeigt, daß zur Berechnung komplexer Nullstellen spezielle Verfahren erforderlich sind, die ohne komplexwertige Arithmetik auskommen. Deren Grundidee kann wie folgt beschrieben werden. Anstelle der komplexen und der zugeh¨ origen konjugiert komplexen Nullstellen ermittelt man den zugeh¨ origen quadratischen Faktor. Dieser besitzt reelle Koeffizienten und kann mittels reeller Arithmetik berechnet werden. Anschließend bestimmt man die beiden komplexen Wurzeln nach der p-q-Formel aus der quadratischen Gleichung. Zur genaueren Beschreibung des Vorgehens soll angenommen werden, daß das Polynom (4.73) die komplexe Wurzel x ≡ α + βi besitzt. Dann ist x ¯ ≡ α − βi ebenfalls eine Wurzel von P (x). Hieraus ergibt sich f¨ ur den zugeh¨ origen quadratischen Faktor die uhrt auf Darstellung R(x) = x2 − 2α x + α2 + β 2 . Die Division von P (x) durch R(x) f¨ P (x) = R(x) Q(x) + A x + B, wobei A und B Konstanten sowie Q(x) ein Polynom vom Grad n − 2 sind. Diese Division l¨ aßt sich ebenfalls mit einem geeigneten Horner-Schema realisieren. Hierzu sei R(x) ≡ x2 + b1 x + b2 . Man rechnet nun wie folgt (siehe Tabelle 4.6): 1) Zuerst werden Nullen in den Positionen eingetragen, die nicht mit berechneten Werten zu besetzen sind: das sind das 2. und das 3. Element in der ersten Spalte, das 2. Element in der zweiten Spalte sowie das 3. Element in der letzten Spalte. 2) Die Elemente der ersten Zeile sind die Koeffizienten von P (x).

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

230

an

an−2

0

−b0 an

−b1 an

−b1 (an−1 − b1 an )

···

··· ··· 0

···

···

··· A B

−b1 ,−b0 0 0

· · · a 1 a0

an−1

an an−1 − b1 an

an−3

−b0 (an−1 − b1 an ) · · · · · · · · ·

Tabelle 4.6: Division von P (x) durch R(x) (quadratisches Horner-Schema)

3) Das Element in der Spalte j der 2. Zeile berechnet sich aus der Multiplikation von −b0 mit der Summe der Elemente der Spalte j − 2 (wobei die Spalten von links nach rechts mit 1 bis n + 1 durchnumeriert seien). 4) Das Element in der Spalte j der 3. Zeile berechnet sich aus der Multiplikation von ur j = 2(1)n. Das Element −b1 mit der Summe der Elemente der Spalte j − 1, f¨ in der letzten Spalte von Zeile 3 ist immer Null. 5) Die Summe der Elemente der vorletzten Spalte ergibt A. 6) Die Summe der Elemente der letzten Spalte ergibt B. Die obige Tabelle wird quadratisches Horner-Schema genannt. Anhand eines Beispiels wollen wir diese Rechenvorschrift noch einmal verdeutlichen. Beispiel 4.8. Man verwende das quadratische Horner-Schema (Tabelle 4.6), um das Polynom P (x) = x6 − 2x5 + 7x4 − 4x3 + 11x2 − 2x + 5 durch den quadratischen Term R(x) = x2 − 2x + 1 zu dividieren.

2,-1

1

-2

7

-4

11

-2

5

0

0

-1

0

-6

-8

-21

0

2

0

12

16

42

0

1

0

6

8

21

32

-16

Tabelle 4.7: Quadratisches Horner-Schema f¨ ur Beispiel 4.8

Aus der Tabelle 4.7 l¨ aßt sich nun unmittelbar ablesen x6 − 2x5 + 7x4 − 4x3 + 11x2 − 2x + 5 = (x2 − 2x + 1)(x4 + 6x2 + 8x + 21) +32x − 16.



4.9 Nullstellen reeller Polynome

231

Das quadratische Horner-Schema kann auf einem Computer mit dem MATLAB-Programm 4.9 realisiert werden. Programm 4.9

Quadratisches Horner-Schema

function [q,z,c] = hornerq(p,b); % % % % % % % %

p: Vektor, der die Koefizienten a(0),...,a(n) von P(x) enth¨ alt b: Vektor, der die beiden Koeffizienten b(0) und b(1) von R(x) enth¨ alt q: Vektor, der die Koeffizienten q(0),...,q(n-2) von Q(x) enth¨ alt z: Wert von A c: Wert von B m=length(p); z=p(m); c=p(m-1); q(m-2)=z; for i=m-1:-1:2 zz=z; z=-b(2)*zz+c; c=-b(1)*zz+p(i-1); if i>2 q(i-2)=z; end end

Bemerkung 4.3. • In R(x) muß der Koeffizient von x2 gleich eins sein, damit das Programm 4.9 angewendet werden kann. • Ax + B ist der Restterm des Divisionsprozesses. Gilt A = B = 0, dann ist der  Ausdruck x2 + b1 x + b0 ein Faktor von P (x). Hat man nun mittels des quadratischen Horner-Schemas einen (gen¨ aherten) quadratischen Faktor R(x) gefunden, dann ermittelt man Approximationen f¨ ur die zugeh¨ origen komplexen Wurzeln x und x ¯ nach der p-q-Formel !  p 2 p 2 2 . x + p x + q ≡ x + b1 x + b0 = 0 ⇒ x1,2 = − ± i q − 2 2 Falls erforderlich, lassen sich die N¨ aherungen anschließend mit dem Newton-Verfahren in komplexer Arithmetik weiter verbessern. Bei der Anwendung des Newton-Verfahrens in dieser Situation erweist sich das zuvor dargestellte Programm 4.9 wieder als n¨ utzlich. aherte komplexe Wurzel von P (x), die man mit dem Ist n¨ amlich x0 = α + βi eine gen¨ Newton-Verfahren verbessern m¨ ochte, dann lautet wie u ¨blich der erste Iterationsschritt x 1 = x0 −

P (x0 ) . P  (x0 )

Da die komplexe Zahl x0 = α+βi zum quadratischen Faktor R(x) = x2 −2αx+(α2 +β 2 ) ur die Division von P (x) durch R(x) geh¨ ort, ist R(x0 ) = 0. Wird das Programm 4.9 f¨ herangezogen, dann lautet das Resultat P (x) = R(x)Q(x) + Ax + B,

wobei gilt

P (x0 ) = Ax0 + B.

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

232 Des weiteren ist P  (x) P  (x0 )

= R(x)Q (x) + R (x)Q(x) + A, woraus folgt: = R(x0 )Q (x0 ) + (2x0 − 2α)Q(x0 ) + A = 2βiQ(x0 ) + A.

Zur Berechnung von P  (x0 ) bestimmt man zuerst mit dem Programm 4.9 den Wert Q(x0 ). Anschließend wird P  (x0 ) = 2βiQ(x0 ) + A gesetzt. Der Schwachpunkt dieses komplexen Wurzelberechnungsverfahrens (auf der Basis des Programms 4.9) besteht darin, daß eine Anfangsapproximation f¨ ur den quadratischen Faktor ben¨ otigt wird. Da die Bestimmung einer Anfangsn¨ aherung selbst bei reellen Wurzeln kompliziert ist, sollte man nicht u ¨berrascht sein, daß hier eine substantielle Schwierigkeit vorliegt.

4.9.2

Das QD-Verfahren

Im Jahre 1954 wurde von H. Rutishauser1 der sogenannte Quotienten-DifferenzenAlgorithmus zur Berechnung der Eigenwerte einer symmetrischen tridiagonalen Matrix vorgeschlagen. Wir wollen hier eine Variante dieses Algorithmus, das QD-Verfahren, angeben, mit der sich alle Wurzeln eines Polynoms numerisch bestimmen lassen. Das (iterative) QD-Verfahren besitzt im Vergleich mit den bisher betrachteten Techniken den wesentlichen Vorteil, daß es ohne die aufwendige Suche nach geeigneten Startwerten auskommt. Andererseits erweist es sich aber als sehr empfindlich gegen¨ uber Rundungsfehlern und besitzt nur eine geringe Konvergenzgeschwindigkeit. Das QD-Verfahren wird deshalb i.allg. nur zur Bestimmung von Anfangsapproximationen, sowohl f¨ ur die reellen Wurzeln als auch f¨ ur die quadratischen Faktoren der konjugiert komplexen Wurzeln herangezogen. Diese verbessert man dann anschließend mit dem Newton-Verfahren (bzw. mit seinen ableitungsfreien Varianten). Die zugeh¨ orige Theorie ist ziemlich umfangreich und w¨ urde den Rahmen dieses Textes sprengen2 . Wir wollen hier nur die grundlegenden Ideen darstellen. Hierzu werde vorausgesetzt, daß alle Koeffizienten des Polynoms P (x) = an xn + an−1 xn−1 + · · · + a2 x2 + a1 x + a0 nicht verschwinden, d.h., es m¨ oge a0 = 0, . . . , an = 0 gelten. Das QD-Verfahren zur Approximation der Wurzeln von (4.73) erzeugt zwei unterschiedliche Zahlenfolgen {ei }∞ i=1 , (k)

1 2

k = 1(1)n + 1,

und

{qi }∞ i=1 , (k)

k = 1(1)n.

H. Rutishauser: Der Quotienten-Differenzen-Algorithmus. ZAMP 5 (1954), pp. 233–251. Siehe z.B.: H. Rutishauser: Vorlesungen u auser, Basel und Stutt¨ber Numerische Mathematik. Birkh¨ gart, 1976.

4.9 Nullstellen reeller Polynome

233

Die Folgenelemente bestimmen sich dabei wie folgt:

(1)

=

0,

(k)

=

an−k , an−k+1

(1)

=



qi+1

(k)

=

ei

(k)

=

qi+1 ei

ei

e1

q1

(k+1)

ei

= 0,

i = 1, 2, . . . ,

k = 2(1)n,

an−1 , an

(k)

ei+1

(n+1)

i = 1, 2, . . . ,

(k)

q1 (k)

+ qi

= 0,

k = 2(1)n,

(k)

− ei ,

k = 1(1)n,

i = 1, 2, . . . ,

(k)

(k−1)

,

k = 2(1)n,

i = 1, 2, . . .

(4.79)

qi+1

Man beachte, daß dieser Prozeß nur wohldefiniert ist, falls die Nenner in (4.79) nicht verschwinden. Obwohl die Konstruktionsvorschrift auf den ersten Blick kompliziert erscheint, l¨ aßt sie sich mit Hilfe einer Tabelle relativ einfach darstellen.

(1)

(1)

(2)

ei

an−1 an

an−2 an−1

qi

(3)

(3)

···

0

···

(n)

qi

(n+1)

0

2

0

0

3

0

0

.. .

.. .

.. .

an−3 an−2

ei

(n)

1

0

ei

qi

ei



qi

(2)

i

a0 a1

0

ei

0

Tabelle 4.8: Starttabelle f¨ ur den QD-Algorithmus

(k)

(k)

(1)

(n+1)

Zuerst werden die gegebenen Werte f¨ ur q1 , e1 , ei und ei eingetragen. Der (k) n¨achste Schritt besteht in der Konstruktion der q2 -Elemente in der zweiten Zeile. Man (k+1) zum direkt bestimmt sie, indem das unmittelbar rechts dar¨ uber stehende Element e1 (k) dar¨ uber stehenden Element q1 addiert und das unmittelbar links dar¨ uber stehende (k) Element e1 davon subtrahiert wird. Man erh¨ alt Tabelle 4.9.

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

234 (1)

i ei 1

0

(1)

qi an−1 − an

(2)

(2)

ei an−2 an−1

qi −



0

(3)

(3)

ei qi a + n−3 ← 0 an−2

(n)

(n)

· · · ei a0 ··· a1

qi

···

q2

(n+1)

ei

0

0

(n)

0

= 2

0

3 .. .

0 .. .

(1)

(2)

q2

(3)

q2

q2

0 .. . Tabelle 4.9: Erster Teilschritt des QD-Algorithmus

(k)

Jetzt k¨ onnen die Elemente e2 eingetragen werden. Man bestimmt sie, indem das un(k) mittelbar rechts daneben stehende Element q2 mit dem direkt dar¨ uber stehenden (k) Element e1 multipliziert und das entstehende Resultat durch das unmittelbar links (k−1) dividiert wird. Man erh¨ alt Tabelle 4.10. daneben stehende Element q2

(1)

i

ei

1

0

(1)

(2)

qi an−1 − an

ei an−2 an−1

(1) q2

(2) e2

(2)

qi

0

(3)

ei an−3 an−2

÷ 2

0

3 .. .

0 .. .

(2) = q2 →

qi

(3)

···

0

···

(n)

ei a0 a1

(n)

qi

(n+1)

ei

0

0

(n)

0

× (3) e2

(3)

q2

···

(n)

e2

q2

0 .. . Tabelle 4.10: Zweiter Teilschritt des QD-Algorithmus

Der Prozeß wird nun auf der Basis dieser zwei Teilschritte analog weitergef¨ uhrt. Da in einem Teilschritt haupts¨ achlich multiplikative Operationen und im anderen Teilschritt haupts¨ achlich additive Operationen ausgef¨ uhrt werden, erkl¨ art sich der von Rutishauser f¨ ur diese Rechenstrategie gew¨ ahlte Name. Zusammenfassend ergibt sich die im Programm 4.10 angegebene Matlab-Funktion qd f¨ ur das QD-Verfahren zur Bestimmung der Wurzeln eines Polynoms P (x).

4.9 Nullstellen reeller Polynome Programm 4.10

235 QD-Verfahren

function [qe,re,se,i,in,ind] = qd(a,TOL,N0) % % % % % % % % % % % % %

%

%

%

a: Polynomkoeffizenten;

TOL: Toleranz; N0: maximale Iterationsschrittanzahl

qe: approximierte Wurzeln; re,se: approximierte quadratische Faktoren i: ben¨ otigte Anzahl an Iterationen in: Information ¨ uber Ergebnis, mit in(k)=1: Wurzel berechnet, in(k)=2: Faktor berechnet ind: Information ¨ uber den Rechenverlauf, mit ind=1: Verfahren konvergiert, ’L¨ osung’ x ist berechnet, ind=2: maximale Iterationsschrittanzahl N0 ¨ uberschritten, ind=3: Verfahren nicht durchf¨ uhrbar n=length(a)-1; i=2; zz=0; e=zeros(n+1,N0); q=zeros(n,N0); r=zeros(n,N0); s=zeros(n,N0); in=zeros(n,1); qe=zeros(n,1); re=zeros(n,1); se=zeros(n,1); q(1,1)=-a(n)/a(n+1); in(1)=-1; for k=2:n, e(k,1)=a(n-k+1)/a(n-k+2); end while i< N0+2 q(1,i)=e(2,i-1)+q(1,i-1)-e(1,i-1); for k=2:n q(k,i)=e(k+1,i-1)+q(k,i-1)-e(k,i-1); if q(k-1,i) == 0 Division durch Null - Verfahren nicht durchf¨ uhrbar ind=3; return end e(k,i)=q(k,i)*e(k,i-1)/q(k-1,i); r(k,i)=q(k-1,i)+q(k,i); s(k,i)=q(k-1,i-1)*q(k,i); end for k=2:n if abs(e(k,i)) < TOL in(k)=-1; if in(k-1) == -1, in(k-1)=1; zz=zz+1; end if k == n, in(k)=1; zz=zz+1; end else if abs(r(k,i-1)-r(k,i))+abs(s(k,i-1)-s(k,i)) < TOL in(k)=2; zz=zz+2; end end end if zz == n Ergebnis berechnet qe=q(:,i); re=r(:,i); se=s(:,i); ind=1; return end i=i+1; end maximale Iterationsschrittanzahl N0 ¨ uberschritten ind=2;

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

236

(k)

Folgende Schl¨ usse k¨ onnen nun aus dem Verhalten der Folgenelemente ei gezogen werden1 : (k)

• Gilt lim ei i→∞

(k+1)

= lim ei i→∞

(k)

und qi

(k)

= 0 f¨ ur jedes k = 1(1)n, dann existiert lim qi .

Dieser Grenzwert stellt eine reelle Wurzel des Polynoms P (x) dar.

i→∞

ur mindestens ein k ∈ {1, 2, . . . , n} nicht • Konvergiert die Folge {ei }∞ i=1 jedoch f¨ ∞ gegen null, dann konvergieren die Folgen {ri }∞ i=1 und {si }i=1 gegen die Grenzwerte (k) (k) r bzw. s , wobei (k)

(k)

ri

(k) si

=

(k−1)

qi

(k)

+ qi ,

i = 2, 3, . . .

(k−1) (k) qi−1 qi ,

=

und

(4.80)

i = 2, 3, . . .

gilt. Der mit diesen Grenzwerten konstruierte Ausdruck x2 − r(k) x + s(k) ist ein quadratischer Faktor von P (x), der zu einem Paar konjugiert komplexer Wurzeln geh¨ ort. In beiden F¨ allen k¨ onnen die mit dem QD-Algorithmus erzeugten N¨ aherungen als geeignete Startwerte f¨ ur genauere und schnellere (jedoch nur lokal konvergente) Verfahren verwendet werden. Folgende zwei Fragenstellungen sind bisher noch unbeantwortet geblieben: • L¨ aßt sich der QD-Algorithmus auch auf Polynome anwenden, bei denen mindestens ein Koeffizient verschwindet? • Unter welchen Voraussetzungen verschwinden die Nenner in (4.79) nicht, und falls doch, was muß man tun, damit dies nicht mehr der Fall ist? Die Beantwortung der ersten Frage ist relativ einfach. Ist mindestens ein Koeffizient des Polynoms P (x) Null, dann hat man vor der Anwendung des QD-Algorithmus eine Variablentransformation z =x+a

mit einem geeignet gew¨ ahlten a ∈ R

(4.81)

derart durchzuf¨ uhren, daß das resultierende Polynom in der Variablen z keine nichtverschwindenden Koeffizienten aufweist. Das Verfahren wird dann mit der R¨ ucktransformation x = z − a abgeschlossen. Die zweite Frage ist wesentlich komplizierter zu beantworten. So wird von Rutishauser der Begriff einer positiven QD-Zeile eingef¨ uhrt. (1)

(2)

(2)

(n)

(n)

• Eine Zeile Zi ≡ {0, qi , ei , qi , . . . , ei , qi , 0} heißt positiv, falls: (k)

qi 1

> 0,

k = 1, . . . , n,

und

(k)

ei

> 0,

k = 2, . . . , n,

i = 2, . . .

Siehe z.B.: H. Rutishauser: Vorlesungen u auser, Basel und Stutt¨ber Numerische Mathematik. Birkh¨ gart, 1976.

4.9 Nullstellen reeller Polynome

237

Die zugeh¨ orige Aussage von Rutishauser lautet nun wie folgt1 . Ist die Zeile Zi positiv, so sind die aus ihr mit dem QD-Algorithmus erzeugten Zeilen Zj , j = i + 1, . . ., ebenfalls positiv, d.h., das Verfahren ist uneingeschr¨ ankt durchf¨ uhrbar. Man spricht in diesem Falle von einem positiven QD-Algorithmus. Weiterf¨ uhrend l¨ aßt sich zeigen2 : Sind die Nullstellen des Polynoms P (x) reell und positiv, dann resultiert ein positiver QD-Algorithmus. Hat man andererseits keinen Spezialfall vorliegen, bei dem verschwindende Nenner in den Formeln (4.79) ausgeschlossen sind, dann kann man nur wieder mittels einer geeigneter Variablentransformation versuchen, die auftretenden Nullen im Tableau zu beseitigen. Abschließend wollen wir die Funktionsweise des QD-Algorithmus anhand eines Beispiels demonstrieren. Die angegebenen Resultate wurden mit dem Programm 4.10 erzielt und auf 4 Stellen nach dem Dezimalpunkt gerundet. Beispiel 4.9. Gegeben sei das Polynom P (x) = (x − 1) (x + 2) (x − j) (x + j) = x4 + x3 − x2 + x − 2,

(4.82)

wobei jetzt mit j “ die komplexe Einheit bezeichnet ist, um diese vom Iterationsindex ” i“ zu unterscheiden. ” Zur Bestimmung aller Nullstellen von P (x) soll der QD-Algorithmus (Programm 4.10) angewendet werden. Es ergeben sich die in der Tabelle 4.11 angegebenen Werte. (1)

(1)

qi

(2)

ei

(2)

qi

(3)

ei

(3)

i

ei

qi

1

0

-1

-1

0

-1

0

2

0

-2

0

0

1

-1

3

0

(4)

ei

(4)

(5)

qi

ei

-2

0

0

4

2

0 0

Tabelle 4.11: QD-Algorithmus f¨ ur (4.82) (2)

In der zweiten QD-Zeile entsteht das Element q2 = 0, d.h., der n¨ achste Schritt ist wegen eines verschwindenden Nenners in (4.79) nicht mehr definiert. Um trotzdem den QD-Algorithmus anwenden zu k¨ onnen, wird die Variablentransformation (4.81) erforderlich. Ein erster Versuch sei z = x + 2. Hieraus resultiert das transformierte Polynom P (z) = z 4 − 7z 3 + 17z 2 − 15z. Wie man unmittelbar erkennt, verschwindet jetzt der Koeffizient a0 , d.h., diese Transformation ist nicht brauchbar. Wir unternehmen einen weiteren Versuch mit z = x + 3. 1

Siehe z.B.: H. Rutishauser: Vorlesungen u auser, Basel und Stutt¨ber Numerische Mathematik. Birkh¨ gart, 1976. 2 siehe: H. R. Schwarz, H. Rutishauser und E. Stiefel: Numerik symmetrischer Matrizen. BSB B.G. Teubner Verlagsgesellschaft, Leipzig, 1968.

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

238

Das zugeh¨ orige transformierte Polynom lautet P (z) = z 4 − 11z 3 + 44z 2 − 74z + 40.

(4.83)

Hierauf wird wieder der QD-Algorithmus angewendet. Dies f¨ uhrt auf die in der Tabelle 4.12 dargestellte Rechnung. i

(1)

ei

(1)

qi

(2)

(2)

ei

(3)

qi

(3)

ei

(4)

qi

ei

(4)

qi

(5)

ei

1

0

11.0000

-4.0000

0

-1.6818

0

-0.5405

0

0

2

0

7.000

-1.3247

2.3182

-0.8280

1.1413

-0.2560

0.5405

0

3

0

5.6753

-0.6570

2.8149

-0.5039

1.7132

-0.1190

0.7966

0

4

0

5.0183

-0.3886

2.9679

-0.3563

2.0982

-0.0519

0.9156

0

5 .. .

0 .. .

4.6297 .. .

-0.2518 .. .

3.0003 .. .

-0.2853 .. .

2.4025 .. .

-0.0209 0.9675 .. .. . .

0 .. .

10 .. .

0 .. .

3.9631 .. .

-0.0266 .. .

2.5101 .. .

-0.7501 .. .

3.8869 .. .

-0.0001 0.9999 .. .. . .

0 .. .

20 .. .

0 .. .

4.0050 .. .

0.0024 .. .

1.9747 .. .

-1.0435 .. .

4.0203 .. .

0.0000 .. .

1.0000 .. .

0 .. .

50

0

4.0000

-0.0000

1.3606

-2.7101

4.6394

0.0000

1.0000

0

Tabelle 4.12: QD-Algorithmus f¨ ur (4.83)

Somit ergeben sich f¨ ur das Polynom (4.83) die (einzigen) reellen Wurzeln zu z1 = 4.0000 und z2 = 1.0000. Um die noch vorhandenen konjugiert komplexen Nullstellen zu erhalten, muß man die Rechenvorschrift (4.80) anwenden. In der Tabelle 4.13 sind f¨ ur einige ausgew¨ ahlte Ite(3) (3) rationsschritte die zugeh¨ origen Wertepaare ri und si angegeben. Damit ergibt sich f¨ ur das Polynom (4.83) ein quadratischer Faktor zu P2 (z) = z 2 − 6z + 10. Seine komplexen Nullstellen sind z3 = 3 + j

und

z4 = 3 − j.

Abschließend hat man die R¨ ucktransformation x = z−a auszuf¨ uhren, um die tats¨ achlich gesuchten Nullstellen des Polynoms P (x) zu erhalten. Man berechnet mit a = 3: x1 = z1 − 3 = 4 − 3 = 1, x3 = z3 − 3 = 3 + j − 3 = j,

x2 = z2 − 3 = 1 − 3 = −2, x4 = 3 − j − 3 = −j.

4.10 Aufgaben

239 (3)

(3)

i

ri

si

5

5.4027

7.1304

10

6.0369

9.7791

20

5.9950

10.0189

50

6.0000

10.0000

Tabelle 4.13: Koeffizienten des quadratischen Faktors von (4.83)



4.10

Aufgaben k

Aufgabe 4.1. Die Folge xk ≡ e−e , k = 0, 1, . . ., konvergiert f¨ ur n → ∞ offensichtlich gegen Null. Welche Konvergenzordnung besitzt sie? x Aufgabe 4.2. Es sei g(x) ≡ f¨ ur x ∈ (−1, ∞) gegeben. x+1 1) Berechnen Sie den Fixpunkt von g im angegebenen Intervall. 2) Berechnen Sie g  in diesem Fixpunkt. 3) Zeigen Sie, daß f¨ ur die Fixpunktiteration (4.10) mit x0 > 0 keine lineare Konvergenz vorliegt. Aufgabe 4.3. Es ist die Nullstelle x∗ von f (x) ≡ x+(x+1) log10 (x)−2 zu bestimmen. Es gilt x∗ ≈ 1.53. 1) Geben Sie f¨ ur das obige f vier einfache Iterationsvorschriften an, die auf der Fixpunktiteration (4.10) basieren. F¨ ur welche der Iterationen erwarten Sie Konvergenz? (Fixpunktsatz, Verwendung der angegebenen Information u ¨ber x∗ ) 2) W¨ ahlen Sie die g¨ unstigste Vorschrift aus (1) zur Berechnung von x∗ mit einer undung der Wahl, Konvergenzabsoluten Genauigkeit von 0.5 × 10−12 aus. (Begr¨ beweis, Matlab-Programm, geeignetes Abbruchkriterium) 3) Zus¨ atzlich zu (1) ist eine Iterationsvorschrift der Form xk+1 = xk − c f (xk ) zur Berechnung von x∗ heranzuziehen. Dabei soll die Zahl c so bestimmt werden, daß eine m¨ oglichst rasche“ Ann¨ aherung der Iterierten an x∗ zu erwarten ist. ” (Begr¨ undung der Wahl von c, Fixpunktsatz, Matlab-Programm) Aufgabe 4.4. Zur Berechnung einer einfachen Nullstelle x∗ der Funktion f (x) werde das unten angegebene Verfahren betrachtet. L¨aßt sich bei geeigneter Wahl von β kubische Konvergenz erzielen? Man bestimme

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

240 gegebenenfalls den Wert von β! x0 : yk+1

Startwert

⎫ ⎪ ⎪ ⎬

f (xk ) = xk −  f (xk )

xk+1 = xk −

f (xk ) ⎪ ⎪ ⎭  f (xk + β(yk+1 − xk ))

k = 0, 1, 2, . . .

√ Aufgabe 4.5. Bei gegebenem a ∈ R, a > 0, ist x∗ = a die L¨ osung der Funktionalgleichungen a a 1 x = φ1 (x) = und x = φ2 (x) = x+ . x 2 x Zeigen Sie: Das ur jeden Startwert √ durch φ1 (x) festgelegte Iterationsverfahren ist f¨ ahrend die durch φ (x) bestimmte Iteration f¨ ur jedes x0 > 0, x0 = √ a divergent, w¨ 2 √ x0 ∈ R gegen a konvergiert, wobei a < xk < · · · < x1 gilt, und die Konvergenzgeschwindigkeit durch √ xk+1 − a 1 √ 2 = √ lim k→∞ (xk − a) 2 a beschrieben wird. Aufgabe 4.6. Gegeben sei zur Bestimmung von



a die Fixpunktiteration (4.10) mit

x3 + 3ax . 3x2 + a 1) Es sei L > 0 beliebig vorgegeben. Bestimmen Sie die Menge M in Abh¨ angigkeit von L, so daß  √ √ √ √ a − δ, a + δ : |g(x) − a| ≤ L|x − a|3 . ∀a ∈ M ∃ δ > 0 : ∀x ∈ g(x) ≡

Somit liegt hier die Konvergenzordnung 3 vor. 2) Untersuchen Sie numerisch die Konvergenzgeschwindigkeit der Iterationsfolge auf Konvergenzordnung 3. Aufgabe 4.7. Gegeben seien die Iterationsvorschriften xk+1 = g(xk ),

k = 0, 1, 2, . . .

yk+1 = h(yk ),

k = 0, 1, 2, . . .

mit g(x) ≡ x (2 − a x), a > 0, und 1 1 y+ , a > 0, y = 0. mit h(y) ≡ 2 ay

1) Bestimmen Sie die Fixpunkte von g und h. 2) F¨ ur welche Startwerte x0 bzw. y0 konvergieren die Folgen {xk } bzw. {yk }? Wie lauten in Abh¨ angigkeit von den Startwerten die jeweiligen Grenzwerte x∗ und y ∗ ? (Graphische Darstellung von g bzw. h, Vermutungen, Beweise, Ausnutzung von Monotonie-Eigenschaften)

4.10 Aufgaben

241

√ 3) Berechnen Sie sowohl 1/ π als auch 1/π unter Verwendung von (2) mit einer absoluten Genauigkeit von 5 × 10−13 . (Geeigneter Abbruchtest, vergleichende Gegen¨ uberstellung beider Iterationen) Aufgabe 4.8. 1) Man zeige, daß die Gleichung x = tan x eine eindeutige L¨ osung x∗ in (π, 32 π) besitzt. 2) Man zeige, daß die Fixpunktiteration xk+1 = tan xk , k = 0, 1, 2, . . ., f¨ ur jede Wahl von x0 = x∗ divergiert. 3) Man zeige, daß die Fixpunktiteration xk+1 = arctan xk , k = 0, 1, 2, . . ., f¨ ur jede Wahl von x0 = x∗ nicht gegen die gesuchte Wurzel konvergiert. 4) Man bestimme eine Fixpunktiteration, die gegen die gesuchte Wurzel x∗ konvergiert. 5) Man verwende die unter (4) gefundene Iterationsvorschrift, um die gesuchte Wurzel auf mindestens 12 Dezimalstellen anzun¨ ahern. Aufgabe 4.9. Entwickeln Sie f¨ ur gegebenes c ∈ R, c = 0, eine Iterationsvorschrift zur Berechnung von 1/c, die ohne Divisionen auskommt. Aufgabe 4.10. Es sei f (x) = tan−1 x. Man bestimme den kleinsten positiven Startur den das Newton-Verfahren divergiert. wert x0 , f¨ Aufgabe 4.11. Man versuche, f¨ ur die unten angegebenen Funktionen die Nullstellen mit dem Newton-Verfahren zu berechnen: 1) f (x) = x4 − 6x2 − 11, x0 = 1.1,  √ x, x ≥ 0, √ 2) f (x) = x0 = 0, − −x x < 0.

beliebig.

Aufgabe 4.12. Gegeben sei eine Funktion f ∈ C 2 (R, R) mit f (x∗ ) = 0. 1) Wenn das Newtonverfahren f¨ ur einen Punkt x0 ∈ R mit x0 = x∗ in einem Schritt ∗ die L¨ osung x bestimmt, wie muß dann f  (x0 ) lauten? 2) Andererseits gelte f  (x) > 0 f¨ ur alle x ∈ R. Zeigen Sie, daß es keinen Punkt x0 ∈ R mit x0 = x∗ gibt, so daß das Newton-Verfahren in einem Schritt die L¨ osung x∗ ∈ R berechnet. Aufgabe 4.13. Man ermittle den positiven Minimierungspunkt der reellen Funktion f (x) = x−2 tan x, indem die Nullstellen von f  (x) mit dem Newton-Verfahren berechnet werden. Aufgabe 4.14. Was wird mit der folgenden Iterationsformel berechnet? xk = 2xk−1 − x2k−1 y Man identifiziere die Vorschrift als Anwendung des Newton-Verfahrens auf eine spezielle Funktion.

Kapitel 4 Nichtlineare Gleichungen in einer Variablen

242

Aufgabe 4.15. Um den Kehrwert einer Zahl a ohne Division zu berechnen, kann man x = 1/a durch die Ermittlung einer Nullstelle der Funktion f (x) = x−1 − a finden. Man schreibe ein kurzes Programm zur Bestimmung von 1/a, in welchem das NewtonVerfahren auf f (x) angewendet wird. In diesem Programm d¨ urfen keine Divisionen oder Potenzbildungen verwendet werden. Welche Startwerte sind f¨ ur positive Werte von a geeignet? Aufgabe 4.16. Man √ entwickle eine auf dem Newton-Verfahren basierende Formel zur ur a > 0. Anhand der Graphik der zugeh¨ origen Funktion f (x) Berechnung von 3 a f¨ bestimme man diejenigen Startwerte, f¨ ur welche die Iteration konvergiert. Aufgabe 4.17. Unter Verwendung der Taylor-Entwicklungen von f (x+h) und f (x+k) leite man die folgende Approximationsformel von f  (x) her: f  (x) ≈

k 2 f (x + h) − h2 f (x + k) + (h2 − k 2 )f (x) . (k − h)kh

Aufgabe 4.18. Man zeige, daß die folgenden Funktionen auf den angegebenen Intervallen kontraktiv sind: 1) (1 + x2 )−1 auf einem beliebigen Intervall, 2)

1 2x

auf 1 ≤ x ≤ 5,

3) tan−1 x auf einem beliebigen abgeschlossenen Intervall, welches die Null nicht enth¨ alt, und 3

4) |x| 2 auf |x| ≤ 13 . Zus¨ atzlich bestimme man die besten Werte der Kontraktionskonstanten L. Aufgabe 4.19. Es sei x∗ eine einfache Nullstelle der Gleichung f (x) = 0. Gegeben sei weiter eine Iterationsfunktion g(x) der Form g(x) ≡ x + ϕ(x)f (x). Man finde notwendige und hinreichende Bedingungen, die an die Funktion ϕ(x) zu stellen sind, damit die Fixpunktiteration xk = g(xk−1 ), k = 1, 2, . . ., kubisch gegen x∗ konvergiert, falls nur x0 nahe bei x∗ gew¨ ahlt wird. Aufgabe 4.20. Es sei p eine positive reelle Zahl. Man bestimme den Wert des folgenden Ausdruckes: ! 9 √ x = p + p + p + · · ·. Hinweis: Es l¨ aßt sich x als Grenzwert x = lim xk interpretieren, wobei x1 = k→∞  √ x2 = p + p etc. gilt.



p,

4.10 Aufgaben

243

Aufgabe 4.21. Es sei p > 1. Man bestimme den Wert des folgenden Kettenbruches: 1

x=

1

p+ p+

.

1 p + ···

Man verwende hierzu die bereits in der Aufgabe 4.20 benutzte Idee. Aufgabe 4.22. Man bestimme die √ Konvergenzordnungen der Folgen: 1 1) xk = (1/k) 2 , 2) xk = k k, 1

3) xk = (1 + k1 ) 2 ,

4) xk = tan−1 xk−1 .

Aufgabe 4.23. Es sei g(x) ≡ x − 0.0001x2 und es werde die Fixpunkt-Iteration mit dem Startwert x0 = 1 betrachtet. 1) Man zeige, daß x0 > x1 > · · · > xk > xk+1 > · · · gilt. ur alle k ist. 2) Man zeige, daß xk > 0 f¨ 3) Da die Folge {xk } fallend und nach unten beschr¨ ankt ist, besitzt sie einen Grenzwert. Man gebe diesen an. Aufgabe 4.24. Wie verh¨ alt sich das Bisektionsverfahren, wenn es auf die reelle Funktion f (x) = 1/(x − 2) angewendet wird und das zugrundeliegende Intervall a) [3, 7] bzw. b) [1, 7] ist? Aufgabe 4.25. F¨ ur das Verfahren von M¨ uller zeige man das Bestehen der Formel (4.43). Hierauf aufbauend bestimme man die zugeh¨ orige Konvergenzordnung. Aufgabe 4.26. Man zeige, daß die Funktion g(x) = x +

π − arctan x 2

keinen Fixpunkt besitzt, aber der schwachen Kontraktionsbedingung |g(x) − g(y)| < |x − y|

f¨ ur alle x, y ∈ R, x = y,

gen¨ ugt. Aufgabe 4.27. Definition: Es sei x∗ ein Fixpunkt der stetig differenzierbaren Funktion g. Man nennt ur die x∗ einen anziehenden Fixpunkt, falls es eine Umgebung S(x∗ ) gibt, f¨ ur |g  (x)| < 1 f¨

x ∈ S(x∗ ) \ {x∗ }

(4.84)

x ∈ S(x∗ ) \ {x∗ }

(4.85)

gilt, und einen abstoßenden Fixpunkt, falls ur |g  (x)| > 1 f¨ gilt.



Kapitel 4 Nichtlineare Gleichungen in einer Variablen

244

Man u ¨berzeuge sich, daß es eine Umgebung U (x∗ ) eines anziehenden Fixpunktes x∗ mit der Eigenschaft gibt, daß das Iterationsverfahren xk+1 = g(xk ),

k = 0, 1, . . . ,

f¨ ur jeden Startwert x0 ∈ U (x∗ ) gegen x∗ konvergiert. Aufgabe 4.28. Es sei P (x) ein Polynom vom Grad n, welches die reellen Nullstellen ξ1 ≤ ξ2 ≤ · · · ≤ ξn besitzt. Man zeige: Das Newton-Verfahren konvergiert f¨ ur jeden Startwert x0 > ξn monoton ur jeden Startwert x0 < ξ1 monoton gegen ξ1 . gegen ξn und entsprechend f¨ Aufgabe 4.29. Wie weit muß man zwei kreisrunde Bierdeckel u ¨bereinander schieben, damit die gemeinsam u ache gerade die H¨ alfte eines Bierdeckels ausmacht? ¨berdeckte Fl¨ Aufgabe 4.30. Gegeben sei die sogenannte Kepplersche Gleichung f (x) = 0,

f (x) ≡ x − ε sin x − η,

0 < |ε| < 1,

η ∈ R,

wobei ε, η gewisse Parameter darstellen. 1) Man zeige, daß f¨ ur jedes ε und η genau eine reelle Wurzel x∗ = x∗ (ε, η) existiert. Dar¨ uber hinaus gilt η − |ε| ≤ x∗ (ε, η) ≤ η + |ε|. 2) Die Gleichung werde in die folgende iterierf¨ ahige Form u uhrt ¨berf¨ x = g(x),

g(x) ≡ ε sin x + η.

ur einen beliebiMan zeige, daß die zugeh¨ orige Fixpunkt-Iteration xk+1 = g(xk ) f¨ gen Startwert x0 konvergiert. 3) Es sei m eine solche ganze Zahl, daß mπ < η < (m + 1)π gilt. Man zeige, daß das Newton-Verfahren mit dem Startwert  (m + 1)π, falls (−1)m ε > 0, x0 ≡ mπ, sonst garantiert gegen x∗ (ε, η) (monoton) konvergiert. Aufgabe 4.31. In den fr¨ uhen Tagen der Rechentechnik hatte man keine elektronischen Rechner, sondern nur mechanische Rechenmaschinen zur Verf¨ ugung. Die ¨ altesten dieser Computerveteranen konnten multiplizieren, jedoch nicht dividieren. Versetzen Sie sich in diese Zeit und l¨ osen die folgende Problemstellung. 1) Zur Berechnung des Reziproken 1/a einer positiven ganzen Zahl a entwickle man ein Iterationsverfahren, das nur auf Additionen und Multiplikationen basiert. 2) F¨ ur welche Startwerte x0 konvergiert das in (a) genannte Verfahren? Was passiert, wenn x0 < 0 ist?

4.10 Aufgaben

245

3) Da es in (bin¨ arer) Gleitpunktarithmetik ausreicht, das Reziproke der Mantisse von a zu finden, werde 12 ≤ a < 1 vorausgesetzt. Unter dieser Bedingung zeige ullen man, daß die Iterierten xk die folgende Ungleichung erf¨



2



xk+1 − 1 < xk − 1 , f¨ ur alle n ≥ 0.

a a 4) Unter Verwendung des Resultates in (3) sch¨ atze man die maximale Anzahl von Iterationsschritten ab, die dazu erforderlich sind, eine Approximation von 1/a mit einem Fehler kleiner als 2−48 zu erhalten. Als Startwert werde x0 = 3/2 verwendet. Aufgabe 4.32. Ein Kreiszylinder mit dem Radius R werde an den Enden durch je eine Halbkugel mit gleichem Radius erg¨ anzt. Der so entstandene K¨ orper sei glatt“, habe die ” L¨ange L = 4 R und bestehe aus einem homogenen Material der Dichte ρ < 1. Berechnen Sie, wie tief der Zylinder beim Schwimmen im Wasser eintaucht. Die Problemstellung f¨ uhrt auf eine nichtlineare Gleichung f (x) = 0 f¨ ur die Eintauchtiefe x. Hinweise: Schwimmt der Zylinder, so sind seine Gewichtskraft und die Auftriebskraft entgegengesetzt orientiert und haben den gleichen Betrag. Der Betrag der Auftriebskraft ist gleich dem Betrag der Gewichtskraft des verdr¨ angten Wassers. Bestimmen Sie die Eintauchtiefe sowohl mit dem Newtonverfahren (Programm 4.2) als auch mit dem Sekantenverfahren (Programm 4.3).

Kapitel 5

Nichtlineare Gleichungen in mehreren Variablen

The solution of such questions as these [referring to the solution of nonlinear equations] depends on correct judgment, aided by the assistence of God. Bija Ganita Erw¨ ahnt in Hutton: A Philosophical and Mathematical Dictionary, Vol. 1, London, 1815, p.65.

5.1

Fixpunkte von Funktionen mehrerer Variablen

In diesem Kapitel betrachten wir anstelle einer skalaren nichtlinearen Gleichung das folgende System von n nichtlinearen Gleichungen f1 (x1 , x2 , . . . , xn ) f2 (x1 , x2 , . . . , xn )

= = .. .

0 0

fn (x1 , x2 , . . . , xn )

=

0

(5.1)

in den n Unbekannten x1 , . . . , xn . Die Funktionen fi : Rn → R, i = 1, . . . , n, seien vorgegeben. Definiert man die Vektoren: F (x1 , . . . , xn ) ≡ (f1 (x1 , . . . , xn ), . . . , fn (x1 , . . . , xn ))T ,

x ≡ (x1 , . . . , xn )T ,

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

248

dann l¨ aßt sich (5.1) abk¨ urzend in der Vektorform F (x) = 0,

F : Rn → Rn ,

(5.2)

schreiben. Wie im Abschnitt 4.1 f¨ ur eine skalare nichtlineare Funktion ausgef¨ uhrt, wollen wir zuerst davon ausgehen, daß die Gleichung (5.2) bereits in einer sogenannten iterierf¨ahigen Form (auch Fixpunkt-Gleichung genannt) vorliegt: x = G(x),

G : Rn → Rn .

(5.3)

¨ Die Uberf¨ uhrung des Nullstellenproblems (5.2) in die Form (5.3) ist i.allg. nicht eindeutig und kann oftmals auf vielf¨ altige Weise vorgenommen werden. Eine solche M¨ oglichkeit ergibt sich stets mit G(x) ≡ x − F (x). Analog zum skalaren Fall definieren wir wie folgt. Definition 5.1. Es sei G : D ⊂ Rn → Rn eine gegebene Vektorfunktion. Gilt die Beur ein x∗ ∈ D, dann sagt man, daß G einen Fixpunkt x∗ in D ziehung G(x∗ ) = x∗ f¨ besitzt.  Der folgende Fixpunktsatz ist eine Erweiterung des Satzes 4.1 auf den n-dimensionalen Fall. Da es sich dabei insbesondere um einen Spezialfall des allgemeinen Banachschen Fixpunktsatzes in Banach-R¨ aumen handelt, verzichten wir hier auf seinen Beweis und verweisen auf die entsprechende Literatur1 . Satz 5.1. (Variante des Banachschen Fixpunktsatzes) Zu vorgegebenen Konstanten a1 , a2 , . . . , an und b1 , b2 , . . . , bn sei D ⊂ Rn definiert zu D ≡ {(x1 , x2 , . . . , xn )T :

ai ≤ xi ≤ bi ,

i = 1, . . . , n}.

1) Ist G : D ⊂ R → R eine stetige Abbildung und gilt n

n

G(x) ∈ D

f¨ ur alle x ∈ D,

(Selbstabbildung)

(5.4)

dann besitzt G einen Fixpunkt x∗ ∈ D. 2) Es m¨ ogen dar¨ uber hinaus alle partielle Ableitungen 1. Ordnung von G existieren und stetig sein. Erf¨ ullen diese mit einer Konstanten L < 1 die Beziehungen

∂gi (x) L

∂xj ≤ n

f¨ ur alle x ∈ D, j = 1, 2 . . . , n,

(Kontraktion) (5.5)

dann besitzt G einen eindeutigen Fixpunkt x∗ ∈ D. 1

Siehe zum Beispiel K. Atkinson and W. Han: Theoretical Numerical Analysis. A Functional Analysis Framework. Springer Verlag, New York, 2001.

5.1 Fixpunkte von Funktionen mehrerer Variablen

249

Besitzt das Nullstellenproblem (5.2) mindestens eine L¨ osung x∗ , dann l¨ aßt sich diese – unter gewissen noch zu pr¨ azisierenden Voraussetzungen – numerisch wie folgt berechnen. Man u uhrt (5.2) in ein a ¨berf¨ ¨quivalentes Fixpunktproblem x = G(x) und wendet die bereits aus dem Abschnitt 4.2 bekannte Fixpunkt-Iteration an, d.h., man w¨ ahlt einen (0) (0) (0) T (0) Startvektor x = (x1 , x2 , . . . , xn ) ∈ D und erzeugt eine Vektorfolge {x(k) }∞ k=0 mittels der Vorschrift x(k) = G(x(k−1) ),

k = 1, 2, . . . ,

(5.6)

beziehungsweise (k)

(k−1)

(k−1)

(k−1)

(k) x2

= .. .

(k−1) (k−1) (k−1) (k−1) (k−1) g2 (x1 , x2 , . . . , xi−1 , xi , . . . , xn )

(k)

= .. .

gi (x1

(k)

=

gn (x1

xn

(k−1)

(k−1)

, x2

(k−1)

, . . . , xi−1 , xi

(k−1)

g1 (x1

xi

, x2

(k−1)

=

x1

(k−1)

, x2

(k−1)

(k−1)

, . . . , xi−1 , xi (k−1)

, . . . , xn

(k−1)

, . . . , xn

(k−1)

, . . . , xi−1 , xi

)

(5.7) )

(k−1)

(k−1)

, . . . , xn−1 , xn

).

Der folgende Konvergenzsatz f¨ ur die Fixpunkt-Iteration (5.6) stellt das n-dimensionale Analogon zum Satz 4.2 dar. Satz 5.2. Die Voraussetzungen des Satzes 5.1 seien erf¨ ullt. Dann konvergiert die durch die Vorschrift (5.6) definierte Vektorfolge {x(k) }∞ f¨ k=0 ur jeden beliebigen Startvektor x(0) ∈ D gegen den eindeutigen Fixpunkt x∗ ∈ D und es gilt die folgende Absch¨atzung f¨ ur die Konvergenzgeschwindigkeit:

x(k) − x∗ ∞ ≤

Lk

x(1) − x(0) ∞ , 1−L

k = 2, . . . .

Beweis: Siehe z.B. die Monographie von K. Atkinson und W. Han1 .



Bemerkung 5.1. Die Fixpunkt-Iteration bezeichnet man auch als Gesamtschrittverfahren oder Jacobi-Verfahren f¨ ur nichtlineare Gleichungssysteme, da die zugeh¨ orige Iterationsvorschrift (5.5) einen a ¨hnlichen Aufbau wie das Gesamtschrittverfahren (JacobiVerfahren) f¨ ur lineare Systeme (2.156) besitzt.  Die obige Bemerkung legt nun den Gedanken nahe, auch ein Einzelschrittverfahren (andere Bezeichnung: Gauß-Seidel-Verfahren) f¨ ur nichtlineare Gleichungssysteme zu (k) erkl¨ aren. Hier verwendet man zur Berechnung von xi die bereits neu bestimmten 1

K. Atkinson and W. Han: Theoretical Numerical Analysis. A Functional Analysis Framework. Springer Verlag, New York, 2001.

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

250 (k)

(k)

(k−1)

(k−1)

Komponenten x1 , . . . , xi−1 anstelle der alten Komponenten x1 , . . . , xi−1 . Die zugeh¨ orige Verfahrensvorschrift l¨ aßt sich explizit wie folgt darstellen (k)

=

g1 (x1

(k)

= .. .

g2 (x1 , x2

(k)

= .. .

gi (x1 , x2 , . . . , xi−1 , xi

(k)

=

gn (x1 , x2 , . . . , xi−1 , xi , . . . , xn−1 , xn

x1 x2 xi

xn

(k−1)

, x2

(k)

(k−1)

(k)

(k)

(k)

(k−1)

(k)

(k−1)

(k−1)

, . . . , xi−1 , xi (k−1)

(k−1)

, . . . , xi−1 , xi (k)

(k)

(k−1)

(k)

(k−1)

, . . . , xn

(k−1)

, . . . , xn (k−1)

, . . . , xn (k)

)

) (5.8)

)

(k−1)

)

¨ Erwartungsgem¨ aß f¨ uhrt der Ubergang zum Einzelschrittverfahren oftmals zu einer Kon1 oglich, in Analogie zu den numerischen Techvergenzbeschleunigung . Es ist aber auch m¨ niken f¨ ur lineare Gleichungssysteme ein nichtlineares SOR-Verfahren zu definieren. Die zugeh¨ origen Konvergenzbetrachtungen sind jedoch recht umfangreich und w¨ urden den Rahmen dieses Textes sprengen2 . Wie im Falle skalarer nichtlinearer Gleichungen stellt auch f¨ ur nichtlineare Gleichungssysteme die Konvergenzordnung (siehe (4.29)) ein wichtiges Kriterium f¨ ur die Bewertung eines numerischen Verfahrens dar. ur k → ∞ gegen x∗ konvergiert, besitzt Definition 5.2. Eine Folge {x(k) } ⊂ Rn , die f¨ die Konvergenzordnung α und die asymptotische Fehlerkonstante β , wenn

lim

k→∞

x(k+1) − x∗

e(k+1) = lim =β>0 k→∞ e(k) α

x(k) − x∗ α

(5.9)

gilt. Die Konvergenzordnung eines numerischen Iterationsverfahrens ist u ¨ber die Konvergenzordnung der von diesem Verfahren erzeugten Folge definiert.  Wie man sich leicht davon u ¨berzeugt, besitzen das nichtlineare Gesamtschrittverfahren (5.7) und das nichtlineare Einzelschrittverfahren (5.8) jeweils die Konvergenzordnung Eins. Es handelt sich somit um linear konvergente Techniken.

5.2

Newton-Verfahren

Oftmals ist es sehr schwierig, das Nullstellenproblem (5.2) in eine Fixpunktaufgabe (5.3) zu transformieren, deren erzeugende Funktion G den Voraussetzungen des Satzes 5.1 gen¨ ugt. Deshalb ist ein systematischerer Weg erforderlich. Im eindimensionalen Fall 1

Siehe z.B. das Buch von J. M. Ortega and W. C. Rheinboldt: Iterative Solution of Nonlinear Equations in Several Variables. Academic Press, New York, 1970. 2 Siehe u.a. K. Graf Finck von Finckenstein: Einf¨ uhrung in die Numerische Mathematik, Bd. 1, M¨ unchen, Carl Hanser Verlag, 1977.

5.2 Newton-Verfahren

251

(siehe Abschnitt 4.4) bestimmten wir eine Funktion φ(x) mit der Eigenschaft, daß die Iterationsfunktion g(x) ≡ x − φ(x) f (x) zu quadratischer Konvergenz der Fixpunkt-Iteration (4.10) f¨ uhrt. Aus dieser Forderung ergab sich das Newton-Verfahren (4.16), indem φ(x) ≡ 1/f  (x) gesetzt wurde. Die osung x∗ des Nullstellenproblems (4.6), Bedingung f  (x∗ ) = 0, d.h. die Isoliertheit der L¨  und die Stetigkeit der Ableitung f (x) in einer gewissen Umgebung von x∗ garantieren dann, daß die Newton-Iterierten wohldefiniert sind. Im jetzt vorliegenden n-dimensionalen Fall l¨ aßt sich auf entsprechende Weise ein quadratisch konvergentes Verfahren herleiten. Hier tritt jedoch an die Stelle der skalaren Funktion φ(x) eine Matrix a11 (x) ⎢ a21 (x) ⎢ A(x) = ⎢ . ⎣ ..

a12 (x) a22 (x) .. .

··· ···

⎤ a1n (x) a2n (x) ⎥ ⎥ .. ⎥ , . ⎦

an1 (x)

an2 (x)

···

ann (x)



(5.10)

mit aij : Rn → R. Diese Matrix A(x) wird nun so bestimmt, daß die mit der Iterationsfunktion G(x) ≡ x − A(x)−1 F (x)

(5.11)

gebildete Vektorfolge x(k) = G(x(k−1) ),

k = 1, 2, . . .

(5.12)

wohldefiniert ist und quadratisch gegen eine L¨ osung von F (x) = 0 konvergiert. Offensichtlich macht die Iterationsfunktion (5.11) nur einen Sinn, wenn man neben der Glattheit von A(x) und F (x) (in einer gewissen Umgebung von x∗ ) auch die Nichtsingularit¨ at der Matrix A(x) im Fixpunkt x∗ voraussetzt. Dies wollen wir im folgenden stets annehmen. Bevor wir auf die genaue Konstruktion der Matrix A(x) eingehen, soll die Frage er¨ ortert werden, unter welchen allgemeinen Bedingungen die Fixpunkt-Iteration (5.6) zu einem quadratischen Verfahren wird. Eine Antwort auf diese Frage findet man im folgenden Satz. Satz 5.3. Es sei G = (g1 , g2 , . . . , gn )T eine stetige Abbildung, die den Rn in den Rn abbildet. Ihre partiellen Ableitungen 2. Ordnung m¨ ogen existieren und stetig sein. Mit osung der Gleichung x = G(x) bezeichnet. Existiert eine reelle Zahl x∗ werde eine L¨ δ > 0, so daß gilt •

∂gi ist stetig auf Nδ ≡ {x : x − x∗ < δ} f¨ ur i, j = 1, 2 . . . , n, ∂xj

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

252 •

∂ 2 gi (x) ist stetig und mit einer Konstanten M sind die Ungleichungen ∂xj ∂xk

2

∂ gi (x)

ur x ∈ Nδ , i, j, k = 1, 2, . . . , n,

∂xj ∂xk ≤ M f¨ erf¨ ullt,



∂gi (x∗ ) = 0 f¨ ur i, j = 1, 2, . . . , n, ∂xj

ur jeden dann konvergiert die durch die Vorschrift x(k) = G(x(k−1) ) erzeugte Folge f¨ orige Fehler erf¨ ullt Startvektor x(0) ∈ Nδ quadratisch gegen x∗ und der zugeh¨

x(k) − x∗ ∞ ≤

n2 M (k−1)

x − x∗ 2∞ , 2

k = 1, 2, . . . . 

Beweis: Siehe z.B. die Monographie von H. Schwetlick.1

Wie man unschwer erkennt, stellt der Satz 5.3 eine direkte Verallgemeinerung des Satzes 4.5 dar. Wir wollen jetzt wieder zum Ansatz (5.11) zur¨ uckkehren. Mit bij (x) werde dasjenige Element von A(x)−1 bezeichnet, das in der i-ten Zeile und der j-ten Spalte steht. Die komponentenweise Darstellung von (5.11) lautet dann gi (x) = xi −

n 

bij (x)fj (x),

i = 1, . . . , n.

j=1

Somit ist

⎧ n  ∂fj ∂bij ⎪ ⎪ ⎪ bij (x) 1− (x) + (x)fj (x) , ⎪ ⎪ ∂xk ∂xk ⎪ ⎨ j=1

∂gi (x) = ⎪ ∂xk n ⎪  ⎪ ∂fj ∂bij ⎪ ⎪ − b (x) (x) + (x)f (x) , ⎪ ij j ⎩ ∂xk ∂xk j=1

i = k,

i = k.

Der Satz 5.3 sagt nun aus, daß zur Erlangung quadratischer Konvergenz ∂gi (x∗ ) = 0, ∂xk

i, k = 1, . . . , n,

(5.13)

gefordert werden muß. Dies heißt f¨ ur i = k 0=1−

n  j=1

1

bij (x∗ )

∂fj ∗ (x ) ∂xi

bzw.

n  j=1

bij (x∗ )

∂fj ∗ (x ) = 1 ∂xi

(5.14)

H. Schwetlick: Numerische L¨ osung nichtlinearer Gleichungen, VEB Deutscher Verlag der Wissenschaften, Berlin, 1979.

5.2 Newton-Verfahren

253

und f¨ ur i = k 0=−

n  j=1

bij (x∗ )

∂fj ∗ (x ) ∂xk

bzw.

n 

bij (x∗ )

j=1

∂fj ∗ (x ) = 0. ∂xk

Bezeichnet man mit J(x) die Jacobi-Matrix von F (x), d.h., ⎤ ⎡ ∂f1 (x) ∂f1 (x) ∂f1 (x) · · · ⎢ ∂x1 ∂x2 ∂xn ⎥ ⎥ ⎢ ⎥ ⎢ ⎢ ∂f (x) ∂f (x) ∂f2 (x) ⎥ 2 ⎥ ⎢ 2 ··· ⎥ ⎢ ∂x2 ∂xn ⎥ ⎢ ∂x1 ⎥ ∈ Rn×n , J(x) ≡ ⎢ ⎥ ⎢ .. .. ⎥ ⎢ .. ⎢ . . . ⎥ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎣ ∂fn (x) ∂fn (x) ∂fn (x) ⎦ ··· ∂x1 ∂x2 ∂xn

(5.15)

(5.16)

dann lassen sich die Bedingungen (5.14) und (5.15) in der Form A(x∗ )−1 J(x∗ ) = I beziehungsweise A(x∗ ) = J(x∗ ) aufschreiben. Eine geeignete Wahl von A(x) stellt somit die Jacobi-Matrix J(x) dar, da mit dieser Festlegung die dritte Voraussetzung des Satzes 5.3 unmittelbar erf¨ ullt ist. Folglich nimmt die Iterationsfunktion G(x) in (5.11) die spezielle Gestalt G(x) = x − J(x)−1 F (x)

(5.17)

an und die Iterationsvorschrift (5.12) lautet nun x(k) = G(x(k−1) ) = x(k−1) − J(x(k−1) )−1 F (x(k−1) ),

k = 1, 2, . . .

(5.18)

Die Vorschrift (5.18) zur numerischen Approximation einer L¨ osung x∗ des nichtlinearen Gleichungssystems (5.2) wird Newton-Verfahren genannt. Bemerkung 5.2. Dem Satz 5.3 sowie den obigen Ausf¨ uhrungen ist zu entnehmen, daß das Newton-Verfahren – wie im skalaren Fall – f¨ ur isolierte L¨ osungen x∗ die Konver genzordnung 2 besitzt. Es konvergiert f¨ ur hinreichend genaue Startvektoren x(0) . Die Voraussetzungen des Satzes 5.3 lassen sich jedoch f¨ ur konkrete Problemstellungen nicht u ufen, da die L¨ osung x∗ nicht a priori bekannt ist. Falls dies zum Beispiel ¨berpr¨ f¨ ur Existenzaussagen oder Fehlerabsch¨ atzungen erforderlich ist, muß man auf andere Konvergenzs¨ atze zur¨ uckgreifen. Ein solcher wurde in einer Arbeit von L. V. Kantoroviˇc1 bewiesen und geh¨ ort heute zu den am h¨ aufigsten zitierten Ergebnissen in der Numerik nichtlinearer Gleichungen. 1

L. V. Kantoroviˇc: O metode N’jutona dlja funkcional’nyh uravneniˇi. Dokl. Akad. Nauk SSSR 59 (1948), S. 1237–1240.

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

254

ˇ). Satz 5.4. (Satz von Kantorovic Die Vektorfunktion F : D ⊂ Rn → Rn sei auf der konvexen Menge D0 ⊂ int(D) differenzierbar und es gelte

J(x) − J(y) ≤ L x − y

f¨ ur alle x, y ∈ D0 ,

mit einer Konstanten L > 0. F¨ ur ein x(0) ∈ D0 existiere J(x(0) )−1 und die Zahlen α > 0, η ≥ 0 seien durch J(x(0) )−1 ≤ α und J(x(0) )−1 F (x(0) ) ≤ η festgelegt. ¯ (1) , ξ1 ) ⊂ D0 mit der ersten Falls dann h ≡ α L η ≤ 1/2 ist und die Bedingung S1 ≡ S(x √ 1 (1 − 1 − 2h) Iterierten x(1) ≡ x(0) − J(x(0) )−1 F (x(0) ), ξ1 ≡ ξ0 − η sowie ξ0 ≡ αL erf¨ ullt ist, gelten die folgenden Aussagen: • Das Newton-Verfahren (5.18) ist mit dem Startvektor x(0) wohldefiniert, es gilt ur k = 1, 2, . . . und die Newton-Folge {x(k) }∞ gegen x(k) ∈ S1 f¨ k=0 konvergiert √ 1 ∗ (0) diejenige Nullstelle x ∈ S1 , die in S x , (1 + 1 − 2h) ∩ D0 eindeutig αL ist. • Es gilt die Fehlerabsch¨ atzung k

x mit κ ≡ α L ξ0 = 1 −

(k)

1 κ2 −x ≤ , α L 2k ∗

k = 0, 1, . . . ,

√ 1 − 2h.

Beweis: Siehe z.B. die Monographie von H. Schwetlick.1



Die Schreibweise (5.18) des Newton-Verfahrens ist f¨ ur theoretische Untersuchungen gut geeignet, sie besitzt jedoch als Rechenvorschrift einen gewaltigen Nachteil: in jedem Iterationsschritt muß eine n × n-Matrix J(x) invertiert werden. Um dies zu vermeiden, wird bei der praktischen Anwendung des Newton-Verfahrens ein Iterationsschritt i.allg. wie folgt realisiert:

Newton-Verfahren 1. Schritt:

Man l¨ ose das lineare Gleichungssystem J(x(k−1) ) y (k−1) = −F (x(k−1) ).

(5.19)

2. Schritt: Man berechne die neue Iterierte x(k) = x(k−1) + y (k−1) . Das Newton-Verfahren kann nun, wie im Programm 5.1 angegeben, als eine Matlab-Funktion formuliert werden, wobei der Funktionenvektor F (x) und die zugeh¨ orige 1

H. Schwetlick: Numerische L¨ osung nichtlinearer Gleichungen, VEB Deutscher Verlag der Wissenschaften, Berlin, 1979.

5.2 Newton-Verfahren

255

Jacobi-Matrix J(x) wiederum als Matlab-Funktionen F und Fstrich bereitzustellen sind. Man beachte dabei, daß unter UNIX und Linux die Groß- und Kleinschreibung der File-Namen signifikant ist. Programm 5.1

Newton-Verfahren, mehrdimensional

function [x,i,ind] = newton(x0,TOL1,TOL2,N0); % % % % % % % % %

%

%

%

%

x0: Startvektor; TOL1 und TOL2: Toleranzen N0: maximale Iterationsschrittanzahl x: letzte Iterierte; i: ben¨ otigte Anzahl an Iterationen ind: Information ¨ uber den Rechenverlauf, mit ind=1: Verfahren konvergiert, ’L¨ osung’ x ist berechnet, ind=2: maximale Iterationsschrittanzahl N0 ¨ uberschritten x=x0; i=0; while i < N0 Fx=F(x); if norm(Fx) < TOL1 x ist ’L¨ osung’ ind=1; return end Jx=Fstrich(x); L¨ osung des linearen Gleichungssystems Jx*y=-Fx y=-Jx\Fx; if norm(y) < TOL2*(1+norm(x)) x ist ’L¨ osung’ ind=1; return end i=i+1; x=x+y; end maximale Iterationsschrittanzahl N0 ¨ uberschritten ind=2;

Die numerische Behandlung der im 1. Teilschritt des Newton-Verfahrens (5.19) zu l¨osenden linearen Gleichungssysteme der Dimension n erfolgt u ¨blicherweise mit Varianten der Gauß-Elimination (siehe Kapitel 2), da sich die linearen Systeme i.allg. durch keine spezielle Struktur ausweisen. Nur in Ausnahmef¨ allen kann das lineare System durch einen inneren“ iterativen Zyklus (Gesamt- oder Einzelschrittverfahren, SOR” Verfahren etc.) gel¨ ost werden. Ausschlaggebend daf¨ ur ist, ob sich der Spektralradius der zugeh¨ origen Iterationsmatrix im konkreten Fall berechnen oder absch¨ atzen l¨ aßt. Bemerkung 5.3. 1) Die in Abschnitt 4.8 beschriebenen numerischen Techniken zur Globalisierung des skalaren Newton-Verfahrens und seiner Modifikationen lassen sich direkt auf den mehrdimensionalen Fall u ¨bertragen. Da in den entsprechenden Formeln im

256

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen wesentlichen nur das Betrag-Zeichen mit dem Norm-Symbol ausgetauscht werden muß, um das mehrdimensionale Analogon zu erhalten, soll auf diesen Gegenstand hier nicht weiter eingegangen werden.

2) In der Praxis wird i.allg. standardm¨ aßig mit einem ged¨ ampften Verfahren gerechnet. Des weiteren kommt oftmals auch noch eine sogenannte Regularisierung zum Einsatz. Hierbei ¨ andert man die Jacobi-Matrix durch Einf¨ uhrung eines zus¨ atzlichen Regularisierungsparameters derart ab, daß im Falle einer fastsingul¨ aren Jacobi-Matrix diese durch eine nichtsingul¨ are Matrix geeignet ersetzt wird. So ist es m¨ oglich, in der Formel des Newton-Verfahrens x(k) = x(k−1) + y (k−1) ,

y (k−1) ≡ −J(x(k−1) )−1 F (x(k−1) )

die Newton-Richtung y (k−1) durch die Richtung  −1 y¯(k−1) ≡ − γk−1 J(x(k−1) ) + (1 − γk−1 )Ek−1 F (x(k−1) ) zu ersetzen. Der Parameter 0 ≤ γk−1 ≤ 1 ist der im k-ten Iterationsschritt verwendete Regularisierungsparameter, w¨ ahrend Ek−1 ∈ Rn×n eine beliebige nichtsingul¨ are Matrix bezeichnet. Offensichtlich geht das regularisierte Verfahren f¨ ur ohnliche Newton-Verfahren u uhrung u γk−1 = 1 in das gew¨ ¨ber. Genauere Ausf¨ ¨ber die Regularisierung und ihre Kombination mit D¨ ampfungsstrategien findet man  in der entsprechenden Literatur1 .

5.3

Quasi-Newton-Verfahren

Das Newton-Verfahren (siehe das Programm 5.1) stellt eine recht aufwendige numerische Technik dar. Der wesentliche rechentechnische Aufwand pro Iterationsschritt l¨ aßt sich wie folgt angeben: • die Berechnung der n Funktionswerte fj (x(i) ), j = 1, . . . , n, • die Bestimmung der n2 partiellen Ableitungen

∂fj (i) (x ), j, k = 1, . . . , n, sowie ∂xk

• ein asymptotischer Rechenaufwand von O(n3 ) flops f¨ ur die L¨ osung der anfallenden, i.allg. unstrukturierten linearen Gleichungssysteme mittels Gauß-Elimination unter Verwendung partieller Pivotisierung. Des weiteren besitzt das Verfahren noch eine wesentliche Schwachstelle: die Elemente der Jacobi-Matrix (5.16) m¨ ussen in aufwendiger Handarbeit (oder mit Programmsystemen, die auf der Formelmanipulation basieren wie Maple, Mathematica oder Mupad) analytisch, d.h. in geschlossener Form bestimmt werden! Mit anderen Worten, es liegt kein direkt implementierbares Verfahren vor. Diese analytische Vorarbeit 1

Siehe z.B. H. Schwetlick: Numerische L¨ osung nichtlinearer Gleichungen, VEB Deutscher Verlag der Wissenschaften, Berlin, 1979.

5.3 Quasi-Newton-Verfahren

257

kann jedoch durch eine numerische Approximation der partiellen Ableitungen mittels geeigneter Differenzenquotienten beseitigt werden. So ist z.B. die folgende Approximationsvorschrift naheliegend: ∂fj (i) fj (x(i) + hk e(k) ) − fj (x(i) ) (x ) ≈ , ∂xk hk

(5.20)

wobei e(k) den k-ten Einheitsvektor und hk eine positive kleine reelle Zahl bezeichnen. Die angegebene Approximation muß nun f¨ ur alle n2 Elemente der Jacobi-Matrix realisiert werden. Pro Iterationsschritt f¨ allt damit folgender Rechenaufwand an: • die Auswertung von n2 + n Funktionswerten, und ur die numerische L¨ osung der linearen Gleichungen. • O(n3 ) flops f¨ Im Programm 5.2 ist eine Matlab-Funktion angegeben, mit der sich eine Differenzenapproximation der Jacobi-Matrix auf der Grundlage der Formel 5.20 berechnen l¨ aßt. Die zugeh¨ origen Schrittweiten hk werden dabei nach der im Abschnitt 8.1.3 beschriebenen Strategie festgelegt. Programm 5.2

Differenzenapproximation der Jacobi-Matrix

function fs = Fstrich(x) % % x: Argument, an dem J(x) approximiert werden soll % % fs: Differenzenapproximation von J(x) % fw=f(x); n=length(fw); fs=zeros(n); he=10^(log10(eps)/3-1); for j=1:n h=(abs(x(j))+1)*he; xx=x; xx(j)=xx(j)+h; fx=f(xx); fs(:,j)=(fx-fw)/h; end

Dieser doch recht hohe Aufwand stellt eine betr¨ achtliche Einschr¨ ankung f¨ ur den Einsatz des Newton-Verfahrens in der Praxis dar, falls nicht n klein ist und die Funktionswerte einfach zu berechnen sind. Eine wesentliche Effektivierung des Verfahrens ergibt sich mit der folgenden Verallgemeinerung des skalaren Sekantenverfahrens auf n Dimensionen, die unter dem Namen Broyden-Verfahren bekannt ist. 1. Iterationsschritt: ur die L¨ osung x∗ von F (x) = 0. Die erste Iterierte Es sei x(0) eine Startapproximation f¨ (1) ohnlichen Newton-Verfahren (5.19) berechnet. Ist die analytische x wird mit dem gew¨ Bestimmung von J(x) zu kompliziert, dann verwendet man die Approximationsvorschrift (5.20). Bevor wir den n¨ achsten Iterationsschritt beschreiben, soll noch einmal das skalare Sekantenverfahren (4.18) betrachtet werden. Hier verwendet man anstelle von f  (x1 ) die

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

258 numerische Approximation

f  (x1 ) ≈

f (x1 ) − f (x0 ) . x1 − x0

F¨ ur Gleichungssysteme ist aber der x1 − x0 entsprechende Ausdruck x(1) − x(0) ein Vektor, so daß der zugeh¨ orige Quotient auf der rechten Seite nicht definiert ist. Es bietet sich deshalb an, die Matrix J(x(1) ) des Newton-Verfahrens durch eine Matrix J1 mit der Eigenschaft J1 (x(1) − x(0) ) = F (x(1) ) − F (x(0) )

(5.21)

zu ersetzen. Die Gleichung (5.21) definiert J1 jedoch nicht eindeutig, da f¨ ur alle Vektoren r, s ∈ Rn , mit sT (x(1) − x(0) ) = 0, ebenfalls J¯1 (x(1) − x(0) ) ≡ (J1 + rsT )(x(1) − x(0) ) = F (x(1) ) − F (x(0) ) gilt. Aus diesem Grunde ist noch eine weitere Bedingung an die Matrix J1 erforderlich, die hier wie folgt angegeben werden soll J1 s = J(x(0) )s,

falls

sT (x(1) − x(0) ) = 0.

(5.22)

Es kann nun gezeigt werden1 , daß die Bedingungen (5.21) und (5.22) die Elemente der aßt sich J1 in der Form Matrix J1 eindeutig definieren. Des weiteren l¨ J1 = J(x(0) ) +

[F (x(1) ) − F (x(0) ) − J(x(0) )(x(1) − x(0) )](x(1) − x(0) )T

x(1) − x(0) 22

(5.23)

angeben. 2. Iterationsschritt: Bei der Bestimmung von x(2) wird nun in der Formel des Newton-Verfahrens anstelle aherung die Matrix J1 verwendet, d.h., man rechnet nach der Vorschrift von J(x(1) ) als N¨ x(2) = x(1) − J1−1 F (x(1) ). i-ter Iterationsschritt (i ≥ 2): Definiert man nun J0 ≡ J(x(0) ), 1

Siehe Aufgabe 5.6.

y (i) ≡ F (x(i+1) ) − F (x(i) )

und

z (i) ≡ x(i+1) − x(i) ,

5.3 Quasi-Newton-Verfahren

259

dann kann der obige Prozeß wie folgt fortgesetzt werden: i-ter Iterationsschritt 1. Schritt: Man berechne eine neue Approximation f¨ ur die Jacobi-Matrix T

Ji−1 = Ji−2 +

(y (i−2) − Ji−2 z (i−2) ) z (i−2) .

z (i−2) 22

2. Schritt: Man berechne eine neue Iterierte x(i) = x(i−1) + z (i−1) ,

Ji−1 z (i−1) = −F (x(i−1) ). (5.24)

Mit der Vorschrift (5.24) wird ab dem zweiten Iterationsschritt die Anzahl der Funktiosung des onswertberechnungen von n2 + n (Newton-Verfahren) auf n reduziert. Zur L¨ zugeh¨ origen linearen Gleichungssystems Ji−1 z (i−1) = −F (x(i−1) ) ucksichtigt man dabei den Sachverhalt, sind aber weiterhin O(n3 ) flops erforderlich. Ber¨ daß sich durch die obige Approximation der partiellen Ableitungen – wie im skalaren Fall – die quadratische Konvergenz des Newton-Verfahrens in nur superlineare Konvergenz verschlechtert, dann kann der aufgezeigte Weg eigentlich nicht angeraten werden. Es ist aber noch eine betr¨ achtliche Reduzierung des rechentechnischen Aufwandes m¨ oglich, da in (5.24) die Matrix Ji−1 eine Rang-1 Modifikation der im vorangegangenen Iterationsschritt bestimmten Matrix Ji−2 darstellt. Sie kann deshalb sehr effektiv mit der Formel von Sherman und Morrison (siehe Abschnitt 2.4.3) berechnet werden. Wir wollen die Formel von Sherman und Morrison zur Erinnerung noch einmal angeben. F¨ ur eine invertierbare Matrix A ∈ Rn×n und Vektoren u, v ∈ Rn lautet sie: A˜−1 ≡ (A − uv T )−1 = A−1 + α(A−1 u)(v T A−1 ),

α≡

1 . 1 − v T A−1 u

Wir setzen nun A˜ ≡ Ji−1 ,

A ≡ Ji−2 ,

v ≡ z (i−2) ,

u≡−

y (i−2) − Ji−2 z (i−2) .

z (i−2) 22

Dann berechnet sich T

−1 −1 = Ji−2 −α Ji−1

α=

−1 −1 (y (i−2) − Ji−2 z (i−2) )z (i−2) Ji−2 Ji−2 ,

z (i−2) 22

1 . (i−2) y − Ji−2 z (i−2) T −1 (i−2) 1+z Ji−2

z (i−2) 22

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

260 Hieraus erh¨ alt man



−1 Ji−1

 (i−2) T −1 −1 (i−2) y Ji−2 z (i−2) − Ji−2 z

z (i−2) 22  (i−2)  (i−2) T −1 −1 (i−2) − Ji−2 y Ji−2 z z −1 = Ji−2 + (i−2) (i−2) − J y i−2 z −1

z (i−2) 22 1 + z (i−2) Ji−2

z (i−2) 22  (i−2)  (i−2) T −1 −1 (i−2) − Ji−2 y Ji−2 z z −1 = Ji−2 +   T −1

z (i−2) 22 + z (i−2) Ji−2 y (i−2) − Ji−2 z (i−2)  (i−2) T −1  (i−2) −1 (i−2) z − Ji−2 y Ji−2 z −1 . = Ji−2 + T −1

z (i−2) 22 + z (i−2) Ji−2 y (i−2) − z (i−2) 22 −1 = Ji−2 +α

Folglich ergibt sich die Rechenvorschrift  (i−2) T −1 −1 (i−2) y Ji−2 z z (i−2) − Ji−2

 −1 Ji−1

=

−1 Ji−2

+

(5.25)

−1 (i−2) z (i−2) Ji−2 y T

und der i-te Iterationsschritt (i ≥ 2) lautet jetzt: modifizierter i-ter Iterationsschritt 1. Schritt: Man berechne eine neue Approximation  −1 −1 = Ji−2 + Ji−1

2. Schritt:

 (i−2) T −1 −1 (i−2) y Ji−2 z (i−2) − Ji−2 z −1 (i−2) z (i−2) Ji−2 y T

.

(5.26)

Man berechne eine neue Iterierte −1 F (x(i−1) ). x(i) = x(i−1) − Ji−1

Die Formel (5.25) erfordert einen Aufwand von O(n2 ) flops, da nur Matrizenmultiplikationen auszuf¨ uhren sind. Damit ergibt sich f¨ ur einen Iterationsschritt der Form (5.26) ein Rechenaufwand von: • n Funktionswertberechnungen und • O(n2 ) flops zur Approximation der Inversen der entsprechenden Jacobi-Matrix. Ein Vergleich mit dem gew¨ ohnlichen Newton-Verfahren zeigt, daß der Rechenaufwand erheblich reduziert werden konnte. Des weiteren liegt nun ein direkt implementierbares

5.3 Quasi-Newton-Verfahren

261

numerisches Verfahren vor, wenn der erste Iterationsschritt auf der Basis von Differenzenapproximationen f¨ ur die in der Jacobi-Matrix auftretenden partiellen Ableitungen realisiert wird. Das soeben beschriebene Verfahren ist unter dem Namen BroydenVerfahren 1 bekannt. Aus den obigen Betrachtungen l¨ aßt sich die im Programm 5.3 angegebene MatlabFunktion unmittelbar ableiten. Der Funktionenvektor F (x) und die zugeh¨ orige JacobiMatrix J(x) (bzw. eine Differenzenapproximation f¨ ur diese) sind durch zwei MatlabFunktionen F sowie Fstrich bereitzustellen. Programm 5.3

Broyden-Verfahren

function [x,i,ind] = broyden(x0,TOL1,TOL2,N0); % % % % % % % % % %

x0: Startvektor; TOL1 und TOL2: Toleranzen N0: maximale Iterationsschrittanzahl x: letzte Iterierte; i: ben¨ otigte Anzahl an Iterationen ind: Information ¨ uber den Rechenverlauf, mit ind=1: Verfahren konvergiert, ’L¨ osung’ x ist berechnet, ind=2: maximale Iterationsschrittanzahl N0 ¨ uberschritten, ind=3: Rang-1 Modifikation nicht durchf¨ uhrbar

n=length(x0); I=eye(n); x=x0; Jx=Fstrich(x), v=F(x); % Berechnung der Inversen L=inv(Jx) L=Jx\I; i=1; z=-L*v; x=x+z; while i < N0 w=v; v=F(x); if norm(v) < TOL2 % L¨ osung x berechnet ind=1; return end y=v-w; s=-L*y; p=-z’*s; if abs(p) < TOL1 % Rang-1 Modifikation nicht durchf¨ uhrbar ind=3; return end L=L+1/p*(z+s)*(z’*L); z=-L*v; x=x+z; if norm(z) < TOL2*(1+norm(x)) % L¨ osung x berechnet ind=1; return end i=i+1; end % maximale Iterationsschrittanzahl N0 ¨ uberschritten ind=2;

1

Weiterf¨ uhrende Betrachtungen zu diesem wichtigen numerischen Verfahren findet der Leser u.a. in der Monographie von H. Schwetlick: Numerische L¨ osung nichtlinearer Gleichungen. VEB Deutscher Verlag der Wissenschaften, Berlin 1979.

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

262

5.4

Das Verfahren von Brown

Die Herleitung des Newton-Verfahrens kann auch direkt u ¨ber die Linearisierung der Gleichungen (5.1) vorgenommen werden. Man setzt hierzu voraus, daß x(k−1) ∈ Rn ein Vektor ist, der hinreichend nahe bei der L¨osung x∗ liegt. In einem ersten Schritt werden alle Funktionen f1 (x), . . . , fn (x) simultan an der Stelle x(k−1) in eine Taylorreihe entwickelt F (x) = F (x(k−1) ) + J(x(k−1) )(x − x(k−1) ) + O( x − x(k−1) 2 ).

(5.27)

Nun l¨ aßt man nach dem Lokalisierungsprinzip nur noch Vektoren x ∈ Rn zu, die in der unmittelbaren Umgebung von x∗ liegen. Der Term O( x − x(k−1) 2 ) ist dann im Vergleich mit den ersten beiden Termen in (5.27) vernachl¨ assigbar. Somit ergibt sich nach dem Linearisierungsprinzip f¨ ur F (x) die (nur lokal g¨ ultige) lineare Ersatzfunktion L(x) ≡ F (x(k−1) ) + J(x(k−1) )(x − x(k−1) ). Deren Nullstelle

(5.28)

x = x(k−1) − J(x(k−1) )−1 F (x(k−1) )

wird nun als neue Iterierte x(k) verwendet, d.h., x(k) = x(k−1) − J(x(k−1) )−1 F (x(k−1) ).

(5.29)

Mit der Formel (5.29) liegt aber wieder das Newton-Verfahren (5.18) vor, mit dem wir uns in den Abschnitten 5.2 und 5.3 ausf¨ uhrlich besch¨ aftigt haben. Von K. M. Brown1 wird nun eine Technik vorgeschlagen, bei der die Funktionen des Gleichungssystems (5.1) nacheinander, und nicht wie beim Newton-Verfahren simultan, linearisiert werden. Wir wollen dieses Verfahren hier kurz darstellen. 1. Teilschritt: osung x∗ des Es sei x(k−1) ∈ Rn wieder ein Vektor, der hinreichend nahe bei der L¨ (k−1) werde jetzt nur die erste KomGleichungssystems (5.1) liegt. Im diesem Punkte x aherte Taylorreihe entwickelt. ponente f1 (x) des Funktionenvektors F (x) in eine gen¨ Der Ausdruck gen¨ ahert soll darauf hinweisen, daß die (analytischen) partiellen Ableitungen durch Differenzenquotienten approximiert sind. Wie bei der obigen Herleitung des Newton-Verfahrens sind nach dem Lokalisierungsprinzip hier auch nur Vektoren x ∈ Rn zugelassen, die in einer kleinen Umgebung von x∗ liegen. Dann kann man in der Taylorentwicklung wieder alle Terme h¨ oherer Ordnung weglassen, da diese nur einen kleinen Beitrag im Vergleich zu den Termen nullter und erster Ordnung liefern. Es resultiert (k−1)

f1 (x) ≈ l1 (x) ≡ f1 (x(k−1) ) + f1(x1 ;h) (x(k−1) ) (x1 − x1 + · · · + f1(xn ;h) (x 1

(k−1)

) (xn −

x(k−1) ), n

)

(5.30)

Siehe K. M. Brown: A quadratically convergent Newton-like method based upon Gaussian elimination, SIAM J. Numer. Anal. 6 (1969), pp. 560–569.

5.4 Das Verfahren von Brown

263

wobei die Gr¨ oßen f1(xj ;h) (x(k−1) ) durch die Differenzenapproximationen

fi(xj ;h) (x(k−1) ) ≡

fi (x(k−1) + hk−1 e(j) ) − fi (x(k−1) ) ∂fi (k−1) ≈ (x ) hk−1 ∂xj

(5.31)

definiert sind (mit i = 1). In (5.31) bezeichnet e(j) den j-ten Einheitsvektor. Die Schrittahlen, daß hk−1 = O( F (x(k−1) ) ) gilt. Da nach Voraussetzung weite hk−1 ist so zu w¨ (k−1) hinreichend nahe bei x∗ liegt, kann l1 (x) als lineare Ersatzfunktion f¨ ur f1 (x) verx wendet werden, d.h., an die Stelle der Gleichung f1 (x) = 0 tritt die Gleichung l1 (x) = 0. Diese werde nun nach derjenigen Variablen aufgel¨ ost, deren approximierte partielle Ableitung den gr¨ oßten Betrag besitzt. Wir wollen beispielhaft annehmen, daß dies f¨ u r xn zutrifft. Somit erhalten wir

xn =

(k−1) xn

(k−1)



(k−1)

n−1 

f1(xj ;h)

j=1

f1(xn ;h)

(k−1)

(k−1)

(k−1)

(xj − xj

)−

f1

(k−1)

,

(5.32)

f1(xn ;h)

(k−1)

≡ f1 (x(k−1) ). Bei der Implementierung des mit f1(xj ;h) ≡ f1(xj ;h) (x(k−1) ) und f1 Verfahrens werden nach der Berechnung der Konstanten (k−1)

f1(xj ;h) (k−1)

f1(xn ;h)

(k−1)

, j = 1, . . . , n − 1,

und

f1

(k−1)

f1(xn ;h)

diese im Computer f¨ ur die weitere Verwendung zwischengespeichert. Von Brown wurde unter den u ¨blichen Konvergenzbedingungen des Newton-Verfahrens (siehe z.B. den Satz 5.4 von Kantoroviˇc) gezeigt, daß mindestens eine nichtverschwindende partielle Ableitung existiert und folglich auch deren Differenzenapproximation nicht null ist. Somit ist die Vorschrift (5.32) wohldefiniert. Die Auswahl einer Komponente des Vektors x anhand der betragsgr¨ oßten (approximierten) partiellen Ableitung hat einen ¨ahnlichen Effekt zur Folge wie die partielle Pivotisierung bei der Gauß-Elimination. Sie f¨ uhrt zu einer Verbesserung der numerischen Stabilit¨ at des Verfahrens. Der Darstellung (5.32) ist zu entnehmen, daß xn eine lineare Funktion der anderen ateren Ausf¨ uhrungen wollen n − 1 Variablen x1 , . . . , xn−1 ist. Zur Vereinfachung der sp¨ urzend wir die rechte Seite der Formel (5.32) mit Ln (x1 , . . . , xn−1 ) bezeichnen und abk¨ (k−1) (k−1) (k−1) Ln ≡ Ln (x1 , . . . , xn−1 ) schreiben. 2. Teilschritt: Es werde eine neue Funktion g2 der n − 1 Variablen x1 , . . . , xn−1 definiert, die sich wie folgt auf die zweite Funktion f2 (x) des Gleichungssystems (5.1) bezieht g2 (x1 , . . . , xn−1 ) ≡ f2 (x1 , x2 , . . . , xn−1 , Ln (x1 , x2 , . . . , xn−1 )).

(5.33)

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

264 Weiter sei

(k−1)

g2

(k−1)

≡ f2 (x1

(k−1)

, . . . , xn−1 , L(k−1) ). n

ultige) lineare Ersatzfunktion l2 (x1 , . . . , xn−1 ), Wir bestimmen nun f¨ ur g2 eine (lokal g¨ aherte Taylorreihe entwickelt und diese durch Verindem die Funktion g2 in eine gen¨ nachl¨ assigung aller Terme h¨ oherer Ordnung linearisiert wird. Anschließend l¨ ost man die Gleichung l2 (x1 , . . . , xn−1 ) = 0 nach derjenigen Variablen auf, deren (approximierte) partielle Ableitung g2(xn−1 ;h) den gr¨oßten Betrag besitzt (dies sei z.B. f¨ ur xn−1 der Fall). Es ergibt sich

xn−1 =

(k−1) xn−1



(k−1)

n−2 

g2(xj ;h)

j=1

g2(xn−1 ;h)

(k−1)

(k−1)

(k−1)

(xj − xj

)−

g2

.

(k−1)

(5.34)

g2(xn−1 ;h)

(k−1)

Die Approximation der partiellen Ableitung g2(xj ;h) ist hierbei gegeben zu (k−1)

(k−1)

g2(xj ;h) ≡

g2 (x1

(k−1)

(k−1)

, . . . , xj−1 , xj

(k−1)

(k−1)

(k−1)

+ hk−1 , xj+1 , . . . , xn−1 ) − g2 hk−1

.

(5.35) Die Formel (5.34) zeigt, daß xn−1 eine lineare Funktion der restlichen n − 2 Variablen ist. Wir k¨ urzen die rechte Seite von (5.34) mit Ln−1 (x1 , . . . , xn−2 ) ab. Die berechneten (k−1) (k−1) (k−1) (k−1) Quotienten g2(xj ;h) /g2(xn−1 ;h) , j = 1, . . . , n−2, sowie g2 /g2(xn−1 ;h) sollten wiederum zwischengespeichert werden. 3. Teilschritt: Wir definieren g3 (x1 , . . . , xn−2 ) ≡ f3 (x1 , . . . , xn−2 , Ln−1 , Ln ) mit Ln−1 ≡ Ln−1 (x1 , . . . , xn−2 )

und

Ln ≡ Ln (x1 , . . . , xn−2 , Ln−1 (x1 , . . . , xn−2 )).

Jetzt werden wiederum folgende Basisschritte angewendet: (k−1)

• gen¨ aherte Taylorentwicklung von g3 im Punkte (x1

(k−1)

, . . . , xn−2 ),

u r g3 , • Bestimmung der linearen Ersatzfunktion l3 f¨ • Aufl¨ osung der Gleichung l3 (x1 , . . . , xn−2 ) = 0 nach xn−2 , wenn xn−2 diejenige Variable bezeichnet, deren zugeh¨ orige approximierte partielle Ableitung g3(xn−2 ;h) den gr¨ oßten Absolutbetrag besitzt, und • Bezeichnung der rechten Seite der resultierenden Gleichung mit Ln−2 . Diese ist eine Linearkombination der noch verbleibenden n − 3 Variablen.

5.4 Das Verfahren von Brown

265

Die obige Strategie wird nun fortgesetzt, d.h., aus jeder Gleichung des Systems (5.1) wird sukzessive eine Variable eliminiert. In jedem Teilschritt erhalten wir einen neuen ur eine der Variablen, sagen wir xn−j , in Termen der restlinearen Ausdruck Ln−j f¨ lichen n − j − 1 Variablen x1 , x2 , . . . , xn−j−2 , xn−j−1 . Dieser lineare Ausdruck wird nun in den zuvor definierten linearen Ausdr¨ ucken Ln−j+1 , Ln−j+2 , . . ., Ln−1 , Ln anstelle von xn−j verwendet. Schließlich wird in jedem Teilschritt des Algorithmus ein weiterer linearerer Ausdruck zu dem bereits bestehenden linearen System hinzugef¨ ugt. ur verschieW¨ ahrend des (j + 1)-ten Teilschrittes ist es erforderlich, gj+1 bzw. fj+1 f¨ dene Argumente zu berechnen. Die Werte der letzten j Komponenten des Argumenalt man dabei durch R¨ ucksubstitution in das bisher konstruierte lites von fj+1 erh¨ neare System Ln , Ln−1 , . . . , Ln−j+1 . Die Punkte, die substituiert werden m¨ ussen, sind (k−1) (k−1) (k−1) (k−1) (i) (x1 , . . . , xn−j ) ≡ Xn−j und Xn−j + hk−1 e , i = 1, . . . , n − j. Diese Argumente (k−1)

(k−1)

werden ben¨ otigt, um die Gr¨ oßen gj+1 und gj+1(i;h) , i = 1, . . . , n − j, zu bestimmen, die f¨ ur die Elimination der (j + 1)-ten Variablen – wir nehmen wiederum beispielhaft ur an, dies sei xn−j – mittels der oben beschriebenen Basisschritte erforderlich sind. F¨ jedes j ist das Ergebnis des Prozesses die (j + 1)-te Variable xn−j , die als eine Linearkombination Ln−j der verbleibenden n − j − 1 Variablen dargestellt ist. n-ter Teilschritt: An dieser Stelle liegt gn ≡ fn (x1 , L2 , L3 , . . . , Ln )

(5.36)

vor, wobei sich die Lj durch R¨ ucksubstitution in das folgende (n − 1)-zeilige Dreieckssystem ergeben

(k−1)

L i = xi



i−1 g (k−1)  n−i+1(xj ;h) (k−1)

j=1

gn−i+1(xi ;h)

(k−1)

(k−1)

(Lj − xj

)−

gn−i+1 (k−1)

,

i = n(−1)2,

(5.37)

gn−i+1(xi ;h)

mit g1 ≡ f1 und L1 ≡ x1 . Man erkennt unmittelbar, daß gn jetzt nur noch von x1 abh¨ angt. Nach Anwendung der Basisschritte auf (5.36) ergibt sich (k−1)

(k−1)

x 1 = x1



gn

(k−1)

.

(5.38)

gn(x1 ;h) (k)

Die nach (5.38) bestimmte Gr¨ oße x1 verwenden wir als neue Approximation x1 f¨ ur die osungsvektors x∗ . Nun werde x1 umbezeichnet zu L1 und das erste Komponente x∗1 des L¨ gestaffelte System (5.37) gel¨ ost, um verbesserte Approximationen auch f¨ ur die anderen (k) ∗ Komponenten von x zu erhalten. Wir verwenden hier als xj denjenigen Wert, der osung von (5.37) ergibt. sich f¨ ur Lj bei der L¨ Das durch die Teilschritte 1 bis n beschriebene numerische Verfahren wird als Verfahren von Brown bezeichnet. Da es auf fortlaufenden Substitutionen basiert, kann bei der

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

266

Konstruktion des Argumentes der Funktionen gi jeweils die neuste Information u ¨ber ucksichtigt werden. Dies ist ein den Wert der dort eingehenden Komponenten xj ber¨ sehr a ur ¨hnliches Vorgehen wie beim Einzelschrittverfahren (Gauß-Seidel-Verfahren) f¨ lineare und nichtlineare Gleichungssysteme (siehe (2.165) bzw. (5.12)). Um die Konvergenz des Verfahrens von Brown zu untersuchen, wollen wir folgende Voraussetzungen postulieren. Voraussetzung 5.1. (Schwache Voraussetzung) Es sei x∗ eine Nullstelle der Vektorfunktion F . Die Jacobi-Matrix J(x) von F (x) sei stetig in ¯ ∗ ; R) ≡ {x ∈ R : x − x∗ ∞ ≤ R}, R > 0, S(x und nichtsingul¨ ar in x∗ .



Voraussetzung 5.2. (Starke Voraussetzung) Es sei K ≥ 0. Zus¨atzlich zur schwachen Voraussetzung 5.1 m¨ oge f¨ ur J(x) gelten

J(x) − J(x∗ ) ∞ ≤ K x − x∗ ∞

f¨ ur alle x − x∗ ∞ ≤ R.



Es gilt nun der Satz 5.5. Die Vektorfunktion F erf¨ ulle die Voraussetzung 5.1 (schwache Voraussetzung). Dann existieren positive Konstanten r und ε, so daß f¨ ur x(0) ∈ S(x∗ ; r) und |hk | ≤ ε das auf die Problemstellung (5.2) angewendete Verfahren von Brown eine Fol∗ ge {x(k) }∞ k=0 erzeugt, die gegen x konvergiert. Erf¨ ullt F die Voraussetzung 5.2 (starke Voraussetzung) und gilt hk = O(|f1 (x(k) )|), dann besitzt das Verfahren von Brown mindestens die Konvergenzordnung 2. 

Beweis: Siehe die Arbeit von K. M. Brown und J. E. Dennis, Jr.1

Bei der Implementierung des Verfahrens ist es sinnvoll, nicht f¨ ur alle Komponenten (k−1) (k−1) die gleiche Diskretisierungsschrittweite hk−1 zu verwenden. Bezeichnet hj xj (k−1)

diejenige Schrittweite, die in (5.31) bzw. (5.35) zur Komponente xj geh¨ ort, dann hat sich die folgende modifizierte Schrittweitenstrategie als g¨ unstig erwiesen 7 8 (k−1) (k−1) ≡ max αij , 5 · 10−ν+2 mit hj 7   8 (5.39) (k−1) (k−1) (k−1) (k−1) (k−1) ≡ min max |f1 |, |g2 |, . . . , |gi | , 0.001 · |xj | , αij wobei mit ν wiederum die relative Maschinengenauigkeit bezeichnet wird. 1

K. M. Brown and J. E. Dennis, Jr.: On the second order convergence of Brown’s derivative-free method for solving simultaneous nonlinear equations. Techn. Report 71-7, Yale University, Dept. Computer Sciences, New Haven, Connecticut, 1971.

5.4 Das Verfahren von Brown

267

Es soll jetzt der rechentechnische Aufwand des Verfahrens von Brown untersucht werden. Hierzu wollen wir die Anzahl der Funktionswertberechnungen in einem Iterationsschritt bestimmen. Der erste Teilschritt erfordert n+1 Auswertungen von f1 , der zweite Teilschritt n Auswertungen von f2 , der dritte n − 1 Auswertungen von f3 etc. Somit ergibt sich insgesamt ein Aufwand von

n+1  i=2

i=

n2 + 3n 2

Funktionswertberechnungen.

Dies sieht recht g¨ unstig im Vergleich mit dem diskretisierten Newton-Verfahren (siehe otigt. (5.19), (5.20)) aus, das n2 + n Funktionsauswertungen pro Iterationsschritt ben¨ Es muß jedoch der Richtigkeit halber darauf hingewiesen werden, daß im Verfahren von Brown noch eine Reihe zus¨ atzlicher Funktionswertberechnungen auszuf¨ uhren sind, n¨amlich die Berechnung der linearen Funktionen Lj . Deshalb wird das Verfahren von Brown sicher nur dann zu echten Einsparungen im Aufwand f¨ uhren, wenn die fi sehr aufwendig zu bestimmende Funktionen sind, d.h., falls eine durchschnittliche Gleichung des Systems (5.1) mehr als n2 Multiplikationen erfordert. Viele Systeme in der Praxis weisen eine mindestens so komplizierte Struktur auf, insbesondere dann, wenn das nichtlineare Gleichungssystem bei der L¨ osung nichtlinearer Zweipunkt-Randwertprobleme gew¨ ohnlicher Differentialgleichungen mittels Schießverfahren entsteht1 . Da das Verfahren von Brown zu jedem Zeitpunkt nur mit einer Gleichung fi = 0 arbeitet und die hier gewonnenen Informationen sofort bei der Behandlung der n¨ achsten Gleichung fi+1 = 0 mit eingehen, kann die Effektivit¨at des Verfahrens durch eine geschickte Anordnung der Gleichungen im System (5.1) beeinflußt werden. Die Gleichungen sollten n¨ amlich vor dem eigentlichen Rechenprozeß so angeordnet werden, daß die linearen oder nur schwach nichtlinearen Gleichungen am Anfang des Systems zu stehen kommen. Die Information aus den linearen Gleichungen wird dann unverf¨ alscht auf die n¨ achsten Gleichungen u ¨bertragen, da der Linearisierungsprozeß und die damit verbundene Approximation entf¨ allt. Eine solche Strategie verbessert die Effektivit¨ at des Newton-Verfahrens nat¨ urlich nicht, da alle Gleichungen fi = 0, i = 1, . . . , n, hier simultan behandelt werden. Bemerkung 5.4. Es gibt in der Literatur inzwischen eine Reihe von Modifikationen des Verfahrens von Brown, die unter dem Begriff Newton-¨ ahnliche Verfahren vom Elimioglichen die modernen Techniken die Aufnationstyp 2 bekannt sind. Insbesondere erm¨

1

Siehe hierzu M. Hermann: Numerik gew¨ ohnlicher Differentialgleichungen. Anfangs- und Randwertprobleme. Oldenbourg Verlag, M¨ unchen, 2004. 2 Siehe z.B. M. Y. Cosnard: A comparison of four methods for solving systems of nonlinear equations. Technical Report 75-248, Department of Computer Science, Cornell University, Ithaca, 1975, sowie die Monografie von H. Schwetlick: Numerische L¨ osung nichtlinearer Gleichungen. VEB Deutscher Verlag der Wissenschaften, Berlin, 1979.

268

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

spaltung des Gleichungssystems (5.2) in eine bestimmte Anzahl von Bl¨ ocken, d.h., ⎧ Fp1 (x) ⎪ ⎪ ⎪ ⎨ Fp2 (x) 0 = F (x) = .. ⎪ . ⎪ ⎪ ⎩ Fpm (x) mit p1 + p2 + · · · + pm = n und Fpk (x) = 0, bestehend aus pk skalaren Gleichungen. Ein solches Block-Verfahren, die sogenannte Generalized Brent Method (GBM), wird z.B. von M. Hermann und D. Kaiser vorgeschlagen und bei der L¨ osung nichtlinearer  Zweipunkt-Randwertprobleme eingesetzt1 .

5.5

Deflationstechniken

Nichtlineare Probleme besitzen oftmals mehrere (isolierte) L¨ osungen. Wurde mit den bisher dargestellten numerischen Techniken bereits eine solche L¨ osung x1∗ approximiert, 2∗ dann ist man h¨ aufig an der Berechnung weiterer L¨ osungen x , . . . , xm∗ interessiert. Wir wollen abschließend eine Technik beschreiben, mit der sich dieses Vorhaben realisieren l¨aßt. Sie wurde von K. M. Brown und W. B. Gearhart2 entwickelt und wird Deflationstechnik genannt. Es sei r ∈ Rn ein gegebener Vektor. Wir wollen mit Sr ⊂ Rn eine offene Menge bezeichnen, deren Abschließung den Vektor r enth¨ alt. Definition 5.3. Eine f¨ ur alle x ∈ Sx∗ definierte Matrix M (x; x∗ ) ∈ Rn×n heißt Deflationsmatrix, falls f¨ ur jede differenzierbare Funktion F : Rn → Rn mit F (x∗ ) = 0 und nichtsingul¨ arem J(x∗ ) die Beziehung lim inf M (x(i) ; x∗ ) F (x(i) ) > 0

i→∞

(5.40)

∗ gilt, wobei {x(i) }∞ i=0 eine beliebige Folge ist, die gegen x konvergiert und deren Folgen elemente in Sx∗ liegen.

Die Deflationsmatrizen besitzen eine wichtige Eigenschaft. Jede gegen eine einfache (isolierte) Nullstelle x∗ von (5.2) konvergente Folge {x(i) }∞ i=0 erzeugt im Sinne von (5.40) keine Nullstelle der wie folgt abge¨ anderten Funktion F˜ (x) ≡ M (x; x∗ ) F (x). 1

(5.41)

Siehe die Monographie M. Hermann: Numerik gew¨ ohnlicher Differentialgleichungen. Anfangs- und Randwertprobleme. Oldenbourg Verlag, M¨ unchen, 2004 sowie M. Hermann und D. Kaiser: Shooting methods for two-point BVPs with partially separated endconditions. ZAMM 75 (1995), pp. 651–668. 2 K. M. Brown and W. B. Gearhart: Deflation techniques for the calculation of further solutions of nonliner systems. Numerische Mathematik 16 (1971), pp. 334–342.

5.5 Deflationstechniken

269

Man sagt, daß die Funktion F˜ aus F durch Abdividieren von x∗ entsteht. Um m einfache Nullstellen x1∗ , . . . , xm∗ abzudividieren, hat man entsprechend die Funktion F˜ ≡ M (x; x1∗ ) · · · M (x; xm∗ ) F (x)

(5.42)

zu konstruieren. Definition 5.4. Eine Matrix M (x; r) wird genau dann dominant genannt, wenn f¨ ur (i) ∈ Sr , gilt: jedes r ∈ Rn und jede Folge {x(i) }∞ i=0 → r, x (i) Ist f¨ ur eine Folge {u(i) }∞ ∈ Rn , der Grenzwert i=0 , u lim x(i) − r M (x(i) ; r) u(i) = 0,

i→∞



dann folgt unmittelbar lim u(i) = 0. i→∞

Der folgende Satz ist f¨ ur die Konstruktion von Deflationsmatrizen von Bedeutung. Satz 5.6. Ist die Matrix M (x; x∗ ) ∈ Rn×n dominant, dann handelt es sich um eine Deflationsmatrix. Beweis: Siehe die Arbeit von K. M. Brown und W. B. Gearhart1 .



Wir wollen nun 2 Klassen von Deflationstechniken f¨ ur nichtlineare Gleichungssysteme untersuchen. Auf der Grundlage von Satz 5.6 ist es relativ einfach nachzuweisen, daß die zu diesen Klassen geh¨ orenden Matrizen auch tats¨ achlich Deflationsmatrizen sind. Bei der ersten Verfahrensklasse handelt es sich um die Normdeflation. Sie ist durch Matrizen vom Typ M (x; xi∗ ) ≡

1 A

x − xi∗

(5.43)

are charakterisiert, wobei · eine beliebige Vektornorm und A ∈ Rn×n eine nichtsingul¨ Matrix bezeichnen. Als Definitionsgebiet der zugeh¨ origen modifizierten Funktion (5.42) kann jetzt i∗ Rn − ∪ m i=1 {x } verwendet werden. Es liegt nahe, bei praktischen Problemen das Abdividieren von Nullstellen mit A = I, d.h. mit der Einheitsmatrix zu versuchen. F¨ uhrt dies zu keinen akzeptablen Resultaten, dann sollte man eventuell eine andere nichtsingul¨ are Matrix w¨ ahlen. Die zweite Verfahrensklasse ist die Skalarproduktdeflation. Hier werden in (5.42) als Deflationsmatrizen M (x; xi∗ ) Diagonalmatrizen verwendet, deren j-tes Diagonalelement 1

K. M. Brown and W. B. Gearhart: Deflation techniques for the calculation of further solutions of nonliner systems. Numerische Mathematik 16 (1971), pp. 334–342.

270

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

durch 1 mjj ≡  T i aj (x − xi∗ )

(5.44)

gegeben ist, wobei ai1 , . . . , ain nichtverschwindende Vektoren sind mit i = 1, . . . , m. Setzt man  i T aj y = 0, i = 1, . . . , m}, C(aj ) ≡ {y ∈ Rn : dann ist das Definitionsgebiet f¨ ur (5.42) n i i∗ Rn − ∪m i=1 ∪j=1 [C(aj ) + {x }].

Werden die Vektoren aij in der Form aij ≡ grad fj |x=xi∗

(5.45)

verwendet, dann ergibt sich daraus die sogenannte Gradientendeflation. Diese spezielle Deflationsform hat sich in der Praxis bei der Anwendung des Newton-Verfahrens zur numerischen Bestimmung von Nullstellen der Gleichung F˜ (x) = 0 als g¨ unstig erwiesen. Die j-te Komponente von F˜ in (5.42) nimmt bei der Gradientendeflation die Gestalt

f˜j (x) = -m i=1

fj (x) T

(grad fj (xi∗ )) (x − xi∗ )

(5.46)

an. Man sollte bei der praktischen Realisierung von (5.46) jedoch f¨ ur den Gradienten eine Differenzenapproximation ∂ f˜i f˜i (x + he(j) ) − f˜i (x) ≈ ∂xj h verwenden, um unn¨ otige analytische Vorarbeit zu vermeiden. Bisher wurden die Deflationstechniken nur unter dem Gesichtspunkt betrachtet, daß eine einfache (isolierte) Nullstelle abzudividieren ist. Wir wollen jetzt auch mehrfache (isolierte) Nullstellen zulassen. Zur Vereinfachung der Darstellung m¨ oge F unendlich oft differenzierbar sein. Mit F (k) werde die k-te Fr´echet-Ableitung von F bezeichnet. Definition 5.5. Existiert ein Einheitsvektor v ∈ Rn mit F (k) (r)v k = 0 f¨ ur alle k = 1, 2, . . . , dann wird F an der Stelle x = r flach genannt.



5.5 Deflationstechniken

271

Die Bedeutung dieser Definition wird klar, wenn man den skalaren Fall betrachtet. Es sei f : R → R eine skalare nichtlineare Funktion mit einer Nullstelle x∗ . Ist nun f an der Stelle x = x∗ nicht flach, dann kann man recht einfach zeigen, daß eine ganze Zahl k 1 existiert, so daß die abge¨ anderte Funktion f˜(x) ≡ f (x) keine Nullstelle mehr (x − x∗ )k in x = x∗ besitzt. F¨ ur die numerischen Berechnungen ist es deshalb nicht erforderlich, die Vielfachheit einer gegebenen Nullstelle zu kennen, um die abge¨ anderte Funktion zu konstruieren. Vielmehr dividiert man nach der Berechnung von x∗ fortgesetzt durch (x−x∗ ). Immer, wenn diese Nullstelle durch das Iterationsverfahren noch einmal erzeugt wird, dividiert man wieder durch (x − x∗ ). Falls f nicht flach in x = x∗ ist, wird man schließlich bei einer abge¨ anderten Funktion angelangen, die diese Nullstelle x∗ nicht mehr besitzt. F¨ ur den mehrdimensionalen Fall gilt entsprechend der folgende Satz. Satz 5.7. Es werde vorausgesetzt, daß F : Rn → Rn unendlich oft differenzierbar ist und F (x∗ ) = 0 gilt. M (x; x∗ ) ∈ Rn×n sei eine dominante Matrix (insbesondere ist M dann eine Deflationsmatrix). Falls F an der Stelle x = x∗ nicht flach ist, existiert eine ganze Zahl K, so daß lim inf M (x(i) ; x∗ )K F (x(i) ) > 0

i→∞

(5.47)

∗ (i) ∈ Ux∗ gilt. f¨ ur jede Folge {x(i) }∞ i=0 → x , x

Beweis: Siehe die Arbeit von K. M. Brown und W. B. Gearhart1 .



Aus dem Satz 5.7 folgt, daß man mit einer dominanten Matrix eine mehrfache Nullstelle auf ¨ ahnliche Weise behandeln kann, wie man dies im skalaren Fall mit der Deflation atzlich noch voraus, daß die Deflationsmatrizen M (x; r) 1/(x − x∗ ) tut. Setzt man zus¨ aßt sich das und M (x; s) f¨ ur zwei beliebige Vektoren r, s ∈ Rn kommutieren, dann l¨ oben f¨ ur die Deflation 1/(x − x∗ ) in R beschriebene Verfahren direkt auf mehrfache Nullstellen im Rn u ¨bertragen. Offensichtlich besitzen die Matrizen der Normdeflation und der Skalarproduktdeflation diese Eigenschaft. F¨ ur die numerische Umsetzung der Deflationstechnik bietet sich nun die folgende Strategie an: 1) Sind ein nichtlineares Gleichungssystem der Form (5.2) sowie ein Startvektor x(0) gegeben, dann wird eine der bekannten L¨ osungstechniken (Newton-Verfahren, Broyden-Verfahren, Brown-Verfahren) verwendet, um eine erste Nullstelle x1∗ zu approximieren. 2) Ausgehend von dem gleichen Startvektor x(0) versucht man auf der Basis einer der Deflationstechniken eine weitere Nullstelle von (5.2) zu berechnen. 1

K. M. Brown and W. B. Gearhart: Deflation techniques for the calculation of further solutions of nonliner systems. Numerische Mathematik 16 (1971), pp. 334–342.

272

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

3) Wurde im zweiten Schritt eine neue Nullstelle x2∗ gefunden, dann wendet man die Deflationstechnik wiederum an, um eine dritte Nullstelle zu finden. Stets beginnend mit x(0) wird dieser Prozeß solange fortgesetzt, bis a) alle Nullstellen (bzw. die vom Anwender ben¨ otigte maximale Anzahl von Nullstellen) gefunden wurde, b) der Prozeß gegen unendlich“ divergiert, ” c) die vom Anwender vorgegebene Schranke f¨ ur die maximale Anzahl von Iterationsschritten u ¨berschritten wurde oder d) die Iterierten sich einer Stelle ann¨ ahern, an der die Jacobi-Matrix J(x) von F (x) singul¨ ar wird. 4) L¨ aßt sich keine weitere Nullstelle mehr finden, dann bleiben nur noch folgende M¨ oglichkeiten offen a) Wechsel des Startvektors, b) Wechsel des Iterationsverfahrens oder c) Wechsel der Deflationstechnik. Abschließend wollen wir zur Demonstration ein Beispiel angeben. Beispiel 5.1. Gegeben sei das folgende nichtlineare Gleichungssystem f1 (x1 , x2 ) ≡ x21 − x2 − 1 = 0,

f2 (x1 , x2 ) ≡ (x1 − 2)2 + (x2 − 0.5)2 − 1 = 0. (5.48)

Zur numerischen Approximation einer ersten L¨ osung x1∗ soll das Broyden-Verfahren (0) (siehe Abschnitt 5.3) mit dem Startvektor x ≡ (1.3, 0.8)T angewendet werden. Ruft man das Programm 5.3 unter Verwendung einer Matlab-Funktion F f¨ ur den zugeh¨ origen Funktionenvektor sowie der im Programm 5.2 erkl¨ arten Matlab-Funktion Fstrich zur Berechnung einer Differenzenapproximation von J(x) mit dem Befehl [x1app,it,ind]=broyden([1.3 0.8]’,1e-10,1e-6,50) auf, dann erh¨ alt man nach it=11 Iterationsschritten die folgende Approximation f¨ ur die erste Nullstelle des Gleichungssystems (5.48): x ˜1∗ = (1.546343, 1.391176)T . ˜1∗ abdividiert. Zur Bestimmung einer weiteren Nullstelle x2∗ von F wird nun x Verwendet man hierzu die Normdeflation mit der zugeh¨ origen Deflationsmatrix (5.43) und der 2-Norm · 2 , dann konvergiert das Broyden-Verfahren (Programm 5.3) unter Verwendung des gleichen Startvektors x(0) in 6 Iterationsschritten gegen die zweite Nullstelle von (5.48): x ˜2∗ = (1.067346, 0.1392277)T .

5.6 Zur Kondition nichtlinearer Gleichungen

273

Soll das Abdividieren der ersten Nullstelle mit der Skalarproduktdeflation erfolgen, dann hat man die Vektoren a11 und a12 (siehe Formel (5.45)) zu berechnen. Es ergeben sich: + , + , 3.092686 −0.9073142 und a12 = . a11 = −1 1.782353 Bildet man mit den Vektoren a11 und a12 die Deflationsmatrix (5.44), mit dieser wiederum die modifizierte Funktion (5.41) und wendet auf F˜ (x) = 0 das Broyden-Verfahren (Proalt man nach 7 Iterationsschritten gramm 5.3) mit dem Startvektor x(0) an, dann erh¨ die folgende N¨ aherung f¨ ur die zweite Nullstelle von (5.48): x ˜2∗ = (1.067346, 0.1392276)T . Somit f¨ uhren beide Deflationstechniken in diesem Falle zu der gleichen Approximation f¨ ur die zweite Nullstelle. 

5.6

Zur Kondition nichtlinearer Gleichungen

F¨ ur lineare Systeme (2.2) wurde im Abschnitt 2.5.2 die Konditionszahl (2.107) definiert. Anhand der Formel (2.114) zeigten wir, daß cond(A) die Empfindlichkeit der L¨ osung x eines linearen Gleichungssystems gegen¨ uber St¨ orungen in den Problemdaten A und b beschreibt. Zum Abschluß dieses Kapitels soll der Frage nachgegangen werden, ob sich auch im Falle nichtlinearer Gleichungssysteme eine solche Kenngr¨ oße angeben l¨ aßt. In der Fachliteratur findet man sehr wenig Hinweise zu dieser Thematik. Nenneswerte Beitr¨ age sind nur in den Arbeiten von W. C. Rheinboldt1 und H. Wo´zniakowski2 enthalten. Wir wollen hier kurz die Ergebnisse des erstgenannten Autors darstellen. Hierzu werde das nichtlineare Gleichungssystem (5.2) in der etwas modifizierten Form F (x) = b,

b ∈ Rn ,

(5.49)

aufgeschrieben. F¨ ur eine vorgegebene Abbildung F : DF ⊂ Rn → Rn und eine zugeh¨ orige Teilmenge C ⊂ D definieren wir die folgenden Gr¨ oßen glbC (F ) ≡ sup{α ∈ [0, ∞] : F (x) − F (y) ≥ α x − y

∀x, y ∈ C},

lubC (F ) ≡ inf{α ∈ [0, ∞] : F (x) − F (y) ≤ α x − y

∀x, y ∈ C}.

(5.50)

Man beachte, daß in der Definition von lub“ der Wert α = ∞ zugelassen ist. Offen” sichtlich impliziert glbC (F ) > 0 die Eineindeutigkeit von F auf C. Ist F eine affine 1

Siehe z.B. W. C. Rheinboldt: On measures of ill-conditioning for nonlinear equations. University of Maryland, Computer Science Center, Tech. Rep. TR-330, 1974. 2 Siehe z.B. H. Wo´ zniakowski: Numerical Stability for Solving Nonlinear Equations. Numer. Math. 27 (1977), pp. 373–390.

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

274

Abbildung auf C = Rn , d.h., F (x) = Ax − b, und A eine nichtsingul¨ are Matrix, dann ergibt sich lubC (F ) = A und glbC (F ) = 1/ A−1 . Dies legt die folgende Definition einer Konditionszahl f¨ ur (5.49) nahe: ⎧ ⎪ ⎨ lubC (F ) , falls glbC (F ) condC (F ) ≡ ⎪ ⎩ ∞ sonst.

0 < glbC (F ), lubC (F ) < ∞

(5.51)

F¨ ur den nichtsingul¨ aren affinen Fall reduziert sich (5.51) auf die bekannte Konditionszahl (2.107). Es ist nun interessant festzustellen, daß mit (4.75) ein zu (2.114) analoges Resultat f¨ ur das nichtlineare Problem (5.49) gilt. Satz 5.8. F¨ ur F : DF ⊂ Rn → Rn gelte glbC (F ) > 0 auf einer Menge C ⊂ D. Es sei weiter G : DG ⊂ Rn → Rn , C ⊂ DG , eine beliebige Abbildung, die nahe bei F liegt, ulle d.h., die Differenz E : C ⊂ Rn → Rn , E(x) ≡ F (x) − G(x) ∀x ∈ C, erf¨ lubC (E) < glbC (F ).

(5.52)

Existieren nun L¨ osungen x∗ ∈ C von (5.49) und y ∗ ∈ C von G(y) = c, dann sind sie atzung eindeutig. Des weiteren gilt f¨ ur jedes x(0) ∈ C, x(0) = x∗ , die Absch¨

x∗ − y ∗ ≤

x∗ − x(0)

κ lubC (F ) 1−κ lubC (F )

+

, lubC (E)

E(x(0) )

b − c + , +

b − F (x(0) ) lubC (F ) b − F (x(0) ) (5.53)

wobei κ ≡ condC (F ). 

Beweis: Siehe die Arbeit von W. C. Rheinboldt1 .

atzung (5.53) Im linearen Fall kann C = Rn und x(0) = 0 gesetzt werden. Die Absch¨ reduziert sich dann auf (2.107). F¨ ur den obigen Satz mußte die Existenz der beiden ahrend sich dies bei Matrizen sofort aus L¨osungen x∗ und y ∗ vorausgesetzt werden, w¨ der Eineindeutigkeit der Abbildungen ergibt. Die Absch¨ atzung (5.53) zeigt wie im Falle linearer Gleichungen, daß die Konditionszahl (5.51) eine Kenngr¨ oße f¨ ur die Empfindlichkeit einer L¨ osung der Gleichung (5.49) gegen¨ uber kleinen St¨ orungen in den Problemdaten F und b darstellt. Diese Konditionszahl h¨ angt aber auch vom Definitionsgebiet C ab. Offensichtlich gilt condC1 (F ) ≤ condC2 (F ),

falls C1 ⊂ C2 .

(5.54)

Es lassen sich nur relativ wenige Klassen nichtlinearer Abbildungen unmittelbar angeben, f¨ ur die die Konditionszahl bei vorgegebenen Mengen C bekannt ist. Eine solche 1

W. C. Rheinboldt: On measures of ill-conditioning for nonlinear equations. University of Maryland, Computer Science Center, Tech. Rep. TR-330, 1974.

5.7 Aufgaben

275

Klasse stellen die gleichm¨ aßig monotonen, Lipschitz-stetigen Abbildungen dar, die in den Anwendungen recht h¨ aufig anzutreffen sind. Diese Abbildungen erf¨ ullen mit einem β>0 (F (x) − F (y))T (x − y) ≥ β x − y 22 ,

F (x) − F (y) 2 ≤ γ x − y 2

∀x, y ∈ D,

so daß man f¨ ur jede Menge C ⊂ D die Beziehung condC (F ) ≤ γ/β erh¨ alt. Durch die Ungleichung (5.54) wird man dazu angeregt, das asymptotische Verhalten der Konditionszahl zu untersuchen, wenn sich C zu einem Punkt zusammenzieht. F¨ ur hinreichend glatte Abbildungen F l¨ aßt sich das folgende Resultat zeigen. Satz 5.9. Es seien F : D ⊂ Rn → Rn eine gegebene stetig differenzierbare Abbildung und z ∈ int(D) ein Punkt, f¨ ur den J(z) nichtsingul¨ ar ist. Dann existiert zu jedem hinreichend kleinen ε > 0 eine Konstante δ > 0, so daß die abgeschlossene Kugel ullt sind Bδ ≡ {x : x − z ≤ δ} in D liegt und die folgenden Ungleichungen erf¨

glbB (F ) − J(z)−1 −1 ≤ ε. (5.55) |lubB (F ) − J(z) | ≤ ε, δ

δ



Beweis: Siehe die Arbeit von W. C. Rheinboldt1 . Die Formel (5.55) impliziert nun

condBδ(ε) (F ) − cond(J(z))

= O(ε)

cond(J(z))

f¨ ur ε → 0.

(5.56)

Somit stimmt im Punkt z (d.h. lokal) die Konditionszahl der Abbildung F mit der Konditionszahl der Jacobi-Matrix J(z) u uhrt zu dem wichtigen ¨berein. Dies wiederum f¨ Resultat: Ist in einer L¨ osung x∗ von F (x) = b die Jacobi-Matrix J(x∗ ) schlecht konditioniert (aber nichtsingul¨ ar), dann kann erwartet werden, daß kleine St¨ orungen von F und andern. b diese L¨ osung x∗ signifikant ver¨ Die obige Aussage best¨ atigt sich in fast allen numerischen Rechnungen. Der Satz 5.9 liefert die notwendige theoretische Begr¨ undung daf¨ ur.

5.7

Aufgaben

Aufgabe 5.1. Gegeben sei das nichtlineare Gleichungssystem + , + , x − 0.1x21 − sin x2 0 F (x) ≡ 1 = . x2 − cos x1 − 0.1x22 0 1

W. C. Rheinboldt: On measures of ill-conditioning for nonlinear equations. University of Maryland, Computer Science Center, Tech. Rep. TR-330, 1974.

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

276

1) Zur L¨ osung werde das Verfahren x(k+1) = G(x(k) ) betrachtet, mit + , 0.8 −0.6 −1 B≡ G(x) ≡ x − B F (x), 0.6 0.8 atze 5.1 und und dem Startvektor x(0) = (0.75, 0.75)T . Durch Anwendung der S¨ 5.2 zeige man die Konvergenz dieses Verfahrens und gebe eine a priori Fehlerabsch¨ atzung an. Als zugrundeliegende Norm w¨ ahle man die Maximumnorm. 2) Zur L¨ osung des Systems wende man das Newton-Verfahren mit den zwei verschiedenen Startvektoren x(0) = (0.75, 0.75)T und x(0) = (10, 10)T an. 3) Als weitere L¨ osungstechnik verwende man das Broyden-Verfahren mit + , + , 0.75 0.8 −0.6 (0) (0) , J(x ) ≈ J0 = . x = 0.75 0.6 0.8 Aufgabe 5.2. Das mehrdimensionale Newton-Verfahren kann wie folgt zur Berechnung der Inversen einer nichtsingul¨ aren Matrix A ∈ Rn×n verwendet werden. Definiert man die Funktion F : Rn×n → Rn×n durch F (X) = I − AX, wobei X ∈ Rn×n gilt, dann ist F (X) = 0 genau dann, wenn X = A−1 ist. Da sich die Jacobi-Matrix von F (X) zu J(X) = −A bestimmt, nimmt das Newton-Verfahren hier die Form   X (k) = X (k−1) − J(X (k−1) )−1 F (X (k−1) ) = X (k−1) + A−1 I − AX (k−1) oße, so daß es sich anbietet, in der obigen an. Nun ist aber A−1 die zu bestimmende Gr¨ Formel die aktuelle Approximation X (k−1) von A−1 zu verwenden. Es resultiert dann die Iterationsvorschrift   X (k) = X (k−1) + X (k−1) I − AX (k−1) . 1) F¨ ur die Residuen-Matrix R(k−1) ≡ I − AX (k−1) und die Fehler-Matrix E (k−1) ≡ A−1 − X (k−1) zeige man, daß R(k) = (R(k−1) )2

und

E (k) = E (k−1) AE (k−1)

gilt. Folglich liegt quadratische Konvergenz vor.

5.7 Aufgaben

277

2) Man schreibe ein Matlab-Programm, mit dem sich die Inverse einer vorgegebenen Matrix A unter Ausnutzung der obigen Formel berechnen l¨ aßt. Ein geeigneter Startwert ist dabei 1 AT . X (0) =

A 1 · A ∞ Man teste das Programm an einigen zuf¨ allig ausgew¨ ahlten Matrizen und vergleiche die Genauigkeit sowie die Effizienz dieser Strategie mit den konventionellen numerischen Verfahren zur Bestimmung der Inversen einer Matrix, wie z.B. der LU -Faktorisierung (siehe hierzu auch Abschnitt 2.3). Aufgabe 5.3. Die folgenden nichtlinearen Systeme besitzen in der L¨ osung singul¨ are Jacobi-Matrizen. L¨ aßt sich trotzdem das Broyden-Verfahren anwenden? Wie wird hierdurch die Konvergenzgeschwindigkeit beeinflußt? 1)

3x1 − cos (x2 x3 ) = 0.5,

2)

x1 − 10x2 = −9,

x21 − 625x22 = 0,

√ 3(x3 − x4 ) = 0,

e−x1 x2 + 20x3 =

(x2 − 2x3 + 1)2 = 0,

3 − 10π ; 3 √

2(x1 − x4 )2 = 0.

Aufgabe 5.4. Gegeben sei das Gleichungssystem x1 + x2 = 2,

16 x16 1 + x2 = 3.

64 Man berechne x64 1 + x2 auf 6 Dezimalstellen genau.

Aufgabe 5.5. 1) Gegeben sei das Gleichungssystem x1 + x2 = 3,

x21 + x22 = 9.

Man f¨ uhre zwei Iterationsschritte mit dem Broyden-Verfahren aus. Der Startvektor sei x(0) = (2, 7)T . √ 2) Man setze die Iteration aus (1) fort, bis x(k+1) − x(k) ≤ mach ist. Wie sieht ∗ die Endmatrix Jk aus und wie gut stimmt sie mit J(x ), x∗ exakte L¨ osung des Systems, u ¨berein? Aufgabe 5.6. Man zeige, daß die Bedingungen (5.21) und (5.22) die Matrix J1 eindeutig definieren und daß diese sich in der Form (5.23) angeben l¨ aßt. Aufgabe 5.7. Gegeben sei das nichtlineare Gleichungssystem F (x) = 0 sowie eine Startapproximation x = x(0) . Definiert man G(x, t) ≡ F (x) − e−t F (x(0) ),

0 ≤ t < ∞,

ur t → ∞. dann ist G(x(0) , 0) = 0 und G(x, t) → F (x) f¨

278

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

1) Man zeige: ist x(t) die L¨ osung von G(x(t), t) = 0, dann erf¨ ullt x(t) auch das Anfangswertproblem f¨ ur ein System von n Differentialgleichungen 1. Ordnung J(x)

dx = −F (x), dt

x(0) = x(0) ,

0 ≤ t < ∞,

wobei J(x) wieder die Jacobi-Matrix von F (x) bezeichnet. 2) Man zeige: Die Anwendung des Newton-Verfahrens auf das System F (x) = 0 ist aquivalent der L¨ osung des obigen Anfangswertproblems mit dem Euler(vorw¨ arts)¨ Verfahren1 unter Verwendung der Schrittweite h = 1. Aufgabe 5.8. Unter Verwendung des Newton-Verfahrens und der Deflationstechnik versuche man, alle 9 L¨ osungen des folgenden Gleichungssystems zu berechnen: 7x3 − 10x − y − 1 = 0,

8y 3 − 11y + x − 1 = 0.

Der Startvektor sei x(0) = (0, 0)T . Aufgabe 5.9. Die Gleichung f (x, y) ≡ x2 − 2xy + 4y 2 − 2y − 1 = 0 beschreibt eine Kurve 2. Ordnung in der Ebene. 1) Zeigen Sie, daß durch f eine Ellipse gegeben ist. 2) Berechnen Sie die Ellipsenpunkte mit dem kleinsten und mit dem gr¨ oßten Abstand vom Koordinatenursprung. Beweisen Sie: Die gesuchten Ellipsenpunkte sind L¨ osungen des nichtlinearen Gleichungssystems x(x − 2y) + 2y(2y − 1) = 1,

x(x + 1 − 4y) + y(x − y) = 0.

Berechnen Sie die gesuchten Ellipsenpunkte mit dem Newtonverfahren. Verschaffen Sie sich mit Hilfe der Matlab geeignete Startwerte (plot, ginput). Weisen Sie die Extremaleigenschaften der von Ihnen ermittelten Ellipsenpunkte auch theoretisch nach. Aufgabe 5.10. Das mehrdimensionale Newton-Verfahren kann auch dazu verwendet werden, einen Eigenwert λ und den dazugeh¨ origen Eigenvektor x einer Matrix A ∈ Rn×n zu berechnen. Definiert man die Funktion F : Rn+1 → Rn+1 zu , + Ax − λx , F (x, λ) ≡ T x x−1 dann gilt F (x, λ) = 0 genau dann, wenn λ ein Eigenwert und x der zugeh¨ orige Eigenvektor sind. Die Jacobi-Matrix von F (x) bestimmt sich offensichtlich zu , + A − λI −x . J(x, λ) = 2xT 0 1

Zum Euler-Verfahren siehe zum Beispiel M. Hermann: Numerik gew¨ ohnlicher Differentialgleichungen. Anfangs- und Randwertprobleme. Oldenbourg Verlag, M¨ unchen, 2004.

5.7 Aufgaben

279

Das Newton-Verfahren nimmt deshalb f¨ ur die obige Gleichung die folgende Gestalt an: + (k) , + (k−1) , + (k−1) , x x s = (k−1) + (k−1) , λ(k) λ δ osung des linearen Gleichungssystems wobei der Vektor [s(k−1) , δ (k−1) ]T die L¨ 1 1 2+ 2 , A − λ(k−1) I −x(k−1) s(k−1) Ax(k−1) − λ(k−1) x(k−1) T  = −  (k−1) T (k−1) δ (k−1) x 2 x(k−1) 0 x −1 darstellt. Man schreibe ein Matlab-Programm, das zu einer vorgegebenen Matrix A unter Verwendung der obigen Strategie ein Eigenpaar x, λ berechnet. Als geeignete Startwerte kann man einen beliebigen normalisierten nichtverschwindenden Vektor (d.h., undung!). Man teste das (x(0) )T x(0) = 1) und λ(0) = (x(0) )T Ax(0) verwenden (Begr¨ Programm an einigen zuf¨ allig ausgew¨ ahlten Matrizen und vergleiche die Genauigkeit sowie die Effizienz dieser Strategie mit den konventionellen numerischen Verfahren zur Bestimmung eines einzelnen Eigenpaares, wie z.B. der Potenzmethode (siehe hierzu auch Abschnitt 3.2). Man beachte dabei, daß das Newton-Verfahren nicht notwendigerweise gegen den dominanten Eigenwert konvergiert. Aufgabe 5.11. Vier Federn seien entsprechend der Abbildung in einem Rahmen angeordnet.

Gesucht wird die Ruhelage des Punktes P bei folgender Annahme f¨ ur die Federkr¨ afte Fi :   1  i − P 2 ,   i − P , ai , bi > 0, si = Q Fi = ai + bi si Q 2 2 mit Q1 ≡ (0, 1), Q2 ≡ (1, 1), Q3 ≡ (1, 0) und Q4 ≡ (0, 0). 1) Das Problem f¨ uhrt auf ein nichtlineares Gleichungssystem F (x) = 0,

F : R2 → R2 ,

x = (x1 , x2 )T

(5.57)

f¨ ur die Koordinaten von P . Leiten Sie (5.57) her! ¨ 2) Uberf¨ uhren Sie (5.57) auf einfache Weise in eine solche iterierf¨ ahige Form x = G(x),

G : R2 → R2 ,

(5.58)

Kapitel 5 Nichtlineare Gleichungen in mehreren Variablen

280

die im Falle von 0 < bi ≤ c ai , 0 < c < 1/2, die Konvergenz der aus (5.58) ur abgeleiteten Fixpunktiteration x(k+1) = G(x(k) ) in einer geeigneten Norm f¨ beliebige Startvektoren x(0) garantiert (Hinweis: Banachscher Fixpunktsatz). 3) Berechnen Sie die L¨ osung f¨ ur a1 = 10, a2 = 100, a3 = 22, a4 = 50, b1 = 0.4, b2 = 1.2, b3 = 0.2 und b4 = 0.54. W¨ ahlen Sie einen geeigneten Startvektor x(0) (Begr¨ undung!). Sch¨ atzen Sie ab, wieviele Iterationsschritte notwendig sind, um x∗ mit einer Genauigkeit von 10−4 zu berechnen. Welche Kr¨ afte muß die Rahmenkonstruktion aufnehmen? Aufgabe 5.12. Gegeben sei das nichtlineare Zweipunkt-Randwertproblem f¨ ur eine skalare Differentialgleichung 2. Ordnung u (x) = Ferner sei n ∈ N und h = u (x) =

10 , 1 + u(x)2

u(0) = 2,

u(1) = 1.

1 . Ersetzt man unter Verwendung von n+1

(4) (ζ) 1 2u (u(x − h) − 2u(x) + u(x + h)) − h 2 h 12

an den Stellen xk = k h, k = 1, . . . , n, die zweite Ableitung u (x) durch den Differenzenausdruck 1 (u(x − h) − 2u(x) + u(x + h)) , h2 so f¨ uhrt das obige Randwertproblem auf das nichtlineare Gleichungssystem ⎡ ⎤ ⎡ ⎤ 2 y1 ⎢0⎥ ⎢ ⎥ ⎢ y2 ⎥ 10 ⎢ ⎥ ⎢ ⎥ T y ≡ h2 f (y) − ⎢ ... ⎥ , y ≡ ⎢ . ⎥ , f : Rn → Rn , fi (y) = . . ⎢ ⎥ 1 + yi2 ⎣.⎦ ⎣0⎦ yn 1 aherungen f¨ ur u(xk ) und T ∈ Rn×n ist eine symmetrische TridiagoDabei sind die yk N¨ nalmatrix. 1) Geben Sie T an! 2) Zeigen Sie mit Hilfe des Banachschen Fixpunktsatzes, daß das nichtlineare Gleichungssystem genau eine L¨ osung besitzt. ¨ (Hinweis: Uberf¨ uhren Sie das Gleichungssystems in eine geeignete Fixpunktform iπ , i = 1, . . . , n.) y = G(y), · = · 2 , λi (T ) = −2 + 2 cos n+1 3) Berechnen Sie die L¨ osung des nichtlinearen Gleichungssystems mit Hilfe der auf (2) basierenden Fixpunktiteration.

Kapitel 6

Interpolation und Polynom-Approximation Wer sich keinen Punkt denken kann, der ist einfach zu faul dazu. Mathematiklehrer Brenneke in Eduards Traum von Wilhelm Busch

Eine der bekanntesten und h¨ aufig verwendeten Klassen von Funktionen, die die Zahlengerade in sich selbst abbilden, ist die Klasse der algebraischen Polynome. Ihre Bedeutung resultiert haupts¨ achlich aus der Tatsache, daß algebraische Polynome stetige Funktionen gleichm¨ aßig approximieren, d.h., zu einer auf dem abgeschlossenen Intervall [a, b] definierten und stetigen Funktion f (x) existiert stets ein Polynom P (x), das dieser Funktion beliebig nahe kommt (siehe Abbildung 6.1). Die theoretische Grundlage hierzu bildet der Weierstraßsche Approximationssatz. Satz 6.1. Ist die Funktion f (x) auf dem Intervall [a, b] definiert und stetig, dann existiert zu einer vorgegebene Zahl ε > 0 ein Polynom P (x) auf diesem Intervall, das der folgenden Beziehung gen¨ ugt |f (x) − P (x)| < ε

f¨ ur alle x ∈ [a, b].

282

Kapitel 6 Interpolation und Polynom-Approximation

Beweis: Siehe z.B. den Lehrtext von v. Mangoldt-Knopp.1



Abbildung 6.1: Weierstraßscher Approximationssatz

Weitere g¨ unstige Eigenschaften der Polynome sind: • ihre Ableitungen und Integrale lassen sich einfach berechnen, und • diese stellen selbst wieder Polynome dar. Im folgenden wollen wir uns deshalb mit verschiedenen numerischen Techniken zur Approximation stetiger Funktionen durch Polynome besch¨ aftigen.

6.1

Taylor-Polynome

Der Satz von Weierstraß ist f¨ ur theoretische Aussagen von großer Bedeutung. Er l¨ aßt sich jedoch f¨ ur numerische Untersuchungen nicht besonders effektiv umsetzen. Anstelle der gleichm¨ aßigen Approximation u ¨ber das gesamte Intervall [a, b] ist es oftmals zweckm¨ aßiger, ein Polynom zu finden, das einige spezielle Bedingungen erf¨ ullt (die der 1

H. v. Mangoldt und K. Knopp: Einf¨ uhrung in die h¨ ohere Mathematik. Band 2, S. Hirzel Verlag, Leipzig, 1962.

6.1 Taylor-Polynome

283

jeweiligen Problemstellung angepaßt sind) und dennoch nahe bei der stetigen Funktion liegt. Wir wollen dies an einem Beispiel demonstrieren. Beispiel 6.1. Wir betrachten hier die folgende Zielstellung: ochstens drei zu bestimmen, das die gegebene Es ist ein Polynom P3 (x) vom Grad h¨ ahert und Funktion f (x) = sin (x) in der N¨ ahe von x = x0 ≡ 0 hinreichend genau ann¨ welches zur Approximation von sin (0.1) verwendet werden kann. Die Aufgabe ist noch recht ungenau formuliert, da sie keinen Hinweis enth¨ alt, wie man dieses Polynom tats¨ achlich finden kann. Vor allen Dingen muß aber die Aussage, eine Funktion n¨ ahert eine andere hinreichend genau“ an, mathematisch exakt formuliert ” werden. Eine sachgem¨ aße Forderung an das oben gesuchte Polynom P3 (x) ist offensichtlich die folgende: P3 (x) stimmt an der Stelle x = x0 mit der gegebenen Funktion f (x) und m¨ oglichst vielen ihrer Ableitungen u ¨berein. Um dieses Polynom zu finden, verwenden wir den u ¨blichen Ansatz P3 (x) = a0 + a1 x + a2 x2 + a3 x3 .

(6.1)

Die noch unbestimmten Koeffizienten a0 , . . . , a3 werden entsprechend der oben postulierten Forderung aus den Gleichungen P3 (0) = f (0),

P3 (0) = f  (0),

P3 (0) = f  (0),

P3 (0) = f  (0)

(6.2)

ermittelt. Man berechnet sukzessive: P3 (x) = a0 + a1 x + a2 x2 + a3 x3 P3 (x) = a1 + 2a2 x + 3a3 x2 P3 (x) = 2a2 + 6a3 x P3 (x) = 6a3

=⇒ P3 (0) = a0 , =⇒ P3 (0) = a1 , =⇒ P3 (0) = 2a2 , =⇒ P3 (0) = 6a3 ,

f (x) = sin (x) f  (x) = cos (x) f  (x) = − sin (x) f  (x) = − cos (x)

=⇒ f (0) = 0, =⇒ f  (0) = 1, =⇒ f  (0) = 0, =⇒ f  (0) = −1.

Damit ergeben sich f¨ ur die Koeffizienten des gesuchten Polynoms (6.1) die Werte a0 = 0,

a1 = 1,

a2 = 0 und a3 = −1/6

und P3 (x) hat die Gestalt P3 (x) = x − x3 /6.

(6.3)

Die zu approximierende Funktion f (x) als auch das zugeh¨ orige Polynom (6.3) sind in der Abbildung 6.2 dargestellt. Man berechnet nun nach Formel (6.3) sin (0.1) ≈ P3 (0.1) = 0.09983333.

284

Kapitel 6 Interpolation und Polynom-Approximation

Abbildung 6.2: Taylor-Approximation

F¨ ur den zugeh¨ origen Approximationsfehler gilt: | sin (0.1) − P3 (0.1)| ≤ 10−7 . Der Abbildung 6.2 kann man entnehmen, wie klein das Intervall um den Nullpunkt tats¨ achlich ist, in dem das berechnete Polynom (6.3) die gegebene Funktion f (x) akzeptabel approximiert.  Offensichtlich stimmt die Herangehensweise in Beispiel 6.1 genau damit u ¨berein, das Taylor-Polynom 3. Grades f¨ ur f (x) an der Stelle x = x0 zu bestimmen, d.h., 1 1 P3 (x) = f (x0 ) + f  (x0 ) (x − x0 ) + f  (x0 ) (x − x0 )2 + f  (x0 ) (x − x0 )3 . 2 6 Das anhand des Beispieles 6.1 erhaltene Resultat trifft nicht nur auf die spezielle Funktion f (x) = sin(x) zu, sondern besitzt allgemeing¨ ultigen Charakter. Die zugeh¨ orige Aussage ist in der folgenden Bemerkung angegeben. Bemerkung 6.1. Die Approximation mit Taylor-Polynomen vom Grad n,

Pn (x) =

n  f (k) (x0 ) k=0

k!

(x − x0 )k ,

(6.4)

6.1 Taylor-Polynome

285

ist nur sachgem¨ aß, falls eine Funktion f (x) in der unmittelbaren Umgebung der vorgeahert werden soll.  gebenen Stelle x = x0 angen¨ Bei der sukzessiven Erh¨ ohung des Polynomgrades n vergr¨ oßert sich das Intervall um die Stelle x0 nur sehr langsam, auf dem die Polynome Pn (x) die vorgegebene Funktion f (x) hinreichend genau approximieren. Dieser Sachverhalt ist f¨ ur das obige Beispiel in der Abbildung 6.3 noch einmal veranschaulicht.

Abbildung 6.3: Taylor-Approximation mit Polynomen aufsteigenden Grades

Die Approximation mit Taylor-Polynomen Pn (x) versagt selbst bei beliebig hohem Polynomgrad n, wenn man sich von der Stelle x0 etwas weiter entfernt. Dies kann auch aus dem bekannten Restglied der Taylor-Reihe abgelesen werden1 :

Rn (x) =

f (n+1) (ξ(x)) (x − x0 )n+1 , (n + 1)!

ξ(x) ∈ [x, x0 ].

(6.5)

Der f¨ ur die Taylor-Approximation erforderliche Rechenaufwand steht in keinem Verh¨ altnis zur erzielten Genauigkeit. Ein weiterer entscheidender Nachteil dieser Technik ist die Notwendigkeit, Ableitungen hoher Ordnung von f (x) bilden zu m¨ ussen, was sich bei komplizierteren Funktionen oftmals nicht einfach realisieren l¨ aßt. Die Anwendbarkeit der Taylor-Polynome zur Approximation vorgegebener Funktionen ist deshalb in der Praxis ziemlich begrenzt. F¨ ur die meisten mathematischen Problemstellungen aus 1

Siehe zum Beispiel H. St¨ ocker, Hrsg.: Taschenbuch mathematischer Formeln und moderner Verfahren. Verlag Harri Deutsch, Frankfurt am Main, 1999.

286

Kapitel 6 Interpolation und Polynom-Approximation

den Naturwissenschaften und der Technik ist es sachgem¨ aßer, nur solche Approximationstechniken zu verwenden, die auf Informationen u ber die Funktion f (x) an mehreren ¨ uckgreifen. Dadurch wird es dann m¨ oglich, auch u Stellen x0 , . . . , xn aus [a, b] zur¨ ¨ber ein ¨ gr¨oßeres Intervall eine gute Ubereinstimmung zwischen der N¨ aherungsfunktion und der gegebenen Funktion zu erzielen. Im folgenden Abschnitt beginnen wir mit der Darstellung derartiger numerischer Verfahren.

6.2

Interpolation und Lagrange-Polynome

Zur Einf¨ uhrung wollen wir das folgende sehr einfache Problem betrachten (siehe die Abbildung 6.4). Es ist ein Polynom 1. Grades P (x) zu bestimmen, das durch die zwei auft, mit vorgegebenen und voneinander verschiedenen Punkte (x0 , y0 ) und (x1 , y1 ) verl¨ y0 = f (x0 ), y1 = f (x1 ).

Abbildung 6.4: Lineare Interpolation

Dieses Polynom stellen wir in der folgenden Form dar P (x) =

x − x1 x − x0 y0 + y1 . x0 − x1 x 1 − x0

(6.6)

Es gilt P (x0 ) = 1 · y0 + 0 · y1 = y0 ,

P (x1 ) = 0 · y0 + 1 · y1 = y1 .

Damit besitzt das in Formel (6.6) angegebene Polynom P (x) tats¨ achlich die geforderte Eigenschaft. Die Ersetzung einer Funktion f (x) durch das zugeh¨ orige Polynom (6.6)

6.2 Interpolation und Lagrange-Polynome

287

wird lineare Interpolation genannt und ist bereits aus der Schulmathematik im Umgang mit Zahlentafeln bekannt. Dieses Approximationskonzept kann nun wie folgt verallgemeinert werden. Allgemeines Prinzip der numerische Interpolation: ochstens n, das durch die n+1 vorMan bestimme ein Polynom Pn (x) vom Grad h¨ auft. Die Stellen x0 , . . . , xn gegebenen Punkte (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ) verl¨ werden dabei als paarweise verschieden vorausgesetzt. In der Abbildung 6.5 ist dieses allgemeine Interpolationsprinzip f¨ ur n = 4 graphisch veranschaulicht.

Abbildung 6.5: Prinzip der numerischen Interpolation

Definition 6.1. Man nennt x0 , x1 , . . . , xn die St¨ utzstellen und y0 = f (x0 ), y1 = f (x1 ), utzwerte der Interpolationsaufgabe.  . . ., yn = f (xn ) die St¨ Das lineare Interpolationspolynom (6.6), das durch die beiden Punkte (x0 , f (x0 )) und auft, wurde unter Verwendung der beiden Quotienten (x1 , f (x1 )) verl¨ L0 (x) ≡

x − x1 x0 − x1

und

L1 (x) ≡

x − x0 x1 − x0

konstruiert. Diese erf¨ ullen x = x0 : x = x1 :

L0 (x0 ) = 1, L0 (x1 ) = 0,

L1 (x0 ) = 0 L1 (x1 ) = 1.

Kapitel 6 Interpolation und Polynom-Approximation

288

Im allgemeinen Fall hat man nun f¨ ur jedes k = 0, 1, . . . , n jeweils einen Quotienten Ln,k (x) zu bestimmen, der die folgende Eigenschaft besitzt Ln,k (xi ) = 0 f¨ ur

i = k

und

Ln,k (xk ) = 1 f¨ ur

i = k.

(6.7)

Damit Ln,k (xi ) = 0 f¨ ur jedes i = k gilt, muß der Z¨ ahler von Ln,k (x) den Term (x − x0 )(x − x1 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn )

(6.8)

enthalten. Andererseits impliziert die Bedingung Ln,k (xk ) = 1, daß der Nenner von ur x = xk mit (6.8) u Ln,k (x) f¨ ¨bereinzustimmen hat. Damit ergibt sich der LagrangeFaktor 1 Ln,k (x) zu Ln,k (x) =

(x − x0 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn ) = (xk − x0 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn )

n

i=0 i=k

x − xi . xk − xi

(6.9)

Die Lagrange-Faktoren sind selbst Polynome n-ten Grades. Sie haben das in der Abbildung 6.6 skizzierte Aussehen.

Abbildung 6.6: Lagrange-Faktor Ln,k (x)

Mit Hilfe der Faktoren Ln,k (x), k = 0, . . . , n, l¨ aßt sich nun das gesuchte Polynom Pn (x) recht einfach aufschreiben. Diese Darstellungsform des Interpolationspolynoms wird u ¨blicherweise als Lagrangesches Interpolationspolynom bezeichnet. Es besitzt die im Satz 6.2 beschriebenen Eigenschaften. 1

Joseph Louis Lagrange (1736–1813), Franz¨ osischer Mathematiker.

6.2 Interpolation und Lagrange-Polynome

289

Satz 6.2. Es seien n + 1 paarweise verschiedenen St¨ utzstellen x0 , x1 , . . . , xn sowie eine Funktion f (x), deren Werte y0 , y1 , . . . , yn an diesen Stellen bekannt sind, gegeben. Dann existiert ein eindeutig bestimmtes Polynom Pn (x) von maximalem Grad n, das den n+1 Interpolationsbedingungen Pn (xk ) = yk ,

k = 0, . . . , n,

(6.10)

gen¨ ugt. Dieses Polynom kann wie folgt dargestellt werden: Pn (x) = Ln,0 (x) y0 + · · · + Ln,n (x) yn =

n 

Ln,k (x) yk

(6.11)

k=0

mit Ln,k (x) =

n . x − xi , x − xi i=0 k

k = 0, 1, . . . , n.

i=k

Beweis: 1) Die Existenz eines solchen Polynoms wurde bereits durch die Konstruktion von (6.11) gezeigt. 2) Um die Eindeutigkeit zu zeigen, nehmen wir an, es gibt zwei Polynome Pn (x) und Qn (x) mit deg(Pn ) ≤ n und deg(Qn ) ≤ n, die beide die Interpolationsbedingungen (6.10) erf¨ ullen, d.h., Pn (xk ) = Qn (xk ) = yk ,

k = 0, 1, . . . , n.

Dann besitzt das Polynom D(x) ≡ Pn (x) − Qn (x) genau die n + 1 paarweise verschiedenen Nullstellen x0 , . . . , xn . Wegen deg(D) ≤ n folgt nun aus dem Fundamentalsatz der Algebra, daß D(x) ≡ 0 gelten muß. Dies wiederum f¨ uhrt auf  Pn (x) = Qn (x). Bemerkung 6.2. Falls es zu keinen Mißverst¨ andnissen f¨ uhrt, lassen wir ab jetzt den Index n bei Ln,k (x) und Pn (x) weg und schreiben k¨ urzer Lk (x) bzw. P (x).  Sowohl aus theoretischer als auch aus praktischer Sicht ist die Frage von Interesse, welcher Fehler entsteht, wenn man eine Funktion f (x) durch ihr Interpolationspolynom n-ten Grades P (x) approximiert. Eine Antwort darauf ist dem folgenden Satz zu entnehmen. Satz 6.3. Gegeben seien auf dem Intervall [a, b] genau n + 1 paarweise verschiedene St¨ utzstellen x0 , x1 , . . . , xn . Weiter gelte f ∈ Cn+1 [a, b]. Dann existiert zu jedem x ∈ [a, b] eine Zahl ξ(x) ∈ (a, b), so daß f (x) − P (x) =

f (n+1) (ξ(x)) (x − x0 ) · · · (x − xn ). (n + 1)!

(6.12)

Kapitel 6 Interpolation und Polynom-Approximation

290

Hierbei ist P (x) das durch die Gleichung (6.11) definierte Lagrangesche Interpolationspolynom. Beweis: 1) Ist x = xk , k ∈ {0, 1, . . . , n}, dann gilt f (xk ) = P (xk ). Mit einem beliebigen ullt. ξ(xk ) ∈ (a, b) ist dann (6.12) erf¨ ur t ∈ [a, b]: 2) Es sei nun x = xk , k ∈ {0, 1, . . . , n}. Wir definieren f¨ g(t) ≡ f (t) − P (t) − [f (x) − P (x)]

n . t − xi . x − xi i=0

(6.13)

u r t = xk Wegen f ∈ C(n+1) [a, b], P ∈ C∞ [a, b] und x = xk ist g ∈ C(n+1) [a, b]. F¨ folgt aus (6.13) g(xk ) = f (xk ) − P (xk ) − [f (x) − P (x)]

n . xk − xi i=0

x − xi

= 0 − [f (x) − P (x)] · 0 = 0.

F¨ ur t = x folgt weiter aus (6.13) g(x) = f (x) − P (x) − [f (x) − P (x)]

n . x − xi i=0

x − xi

= f (x) − P (x) − [f (x) − P (x)] = 0.

Somit gilt a) g ∈ C(n+1) [a, b] und b) g verschwindet an den n+2 paarweise verschiedenen Stellen x, x0 , x1 , . . . , xn . Der verallgemeinerte Satz von Rolle impliziert nun die Existenz eines ξ ≡ ξ(x) aus (a, b), mit g (n+1) (ξ) = 0. Berechnet man g (n+1) (t) an dieser Stelle ξ, so folgt 0 = g (n+1) (ξ) dn+1 = f (n+1) (ξ) − P (n+1) (ξ) − [f (x) − P (x)] n+1 dt

#

n . t − xi x − xi i=0

$



Aus deg(P ) ≤ n folgt P (n+1) (x) ≡ 0. Da es sich bei der Funktion ein Polynom vom Grad n + 1 handelt, kann man ⎛ ⎞

.

(6.14)

t=ξ

n . t − xi um x − xi i=0

⎜ ⎟ n . ⎜ ⎟ n+1 t − xi 1 ⎟t =⎜ + (Terme niedrigerer Ordnung in t) n ⎜ ⎟ x − xi ⎝. ⎠ i=0 (x − xi ) i=0

6.2 Interpolation und Lagrange-Polynome

291 #

n dn+1 . t − xi schreiben. Hieraus ergibt sich n+1 = (n + 1)! dt x − xi i=0

n .

$−1 (x − xi )

.

i=0

Die Formel (6.14) nimmt damit die Gestalt # 0=f

(n+1)

(ξ) − 0 − [f (x) − P (x)] (n + 1)!

n .

$−1 (x − xi )

i=0

an. Stellt man die obige Gleichung nach f (x) um, so resultiert schließlich die Behauptung.  Die Formel (6.12) ist sicher immer dann von Nutzen, wenn f¨ ur die zu interpolierende Funktion f (x) und deren Ableitungen obere Schranken angegeben werden k¨ onnen. Dies trifft i.allg. auf solche Funktionen zu, die in den u ¨blichen Zahlentafeln tabelliert sind, wie trigonometrische oder logarithmische Funktionen. Zum Abschluß dieses Abschnittes wollen wir die Fehlerabsch¨ atzung (6.12) an einigen Beispielen etwas genauer analysieren. Hierzu definieren wir die Schranken



max f (m) (ξ) ≤ Mm , m = 1, 2, . . . (6.15) ξ∈[a,b]

1) Lineare Interpolation (n=1). Es sei [a, b] ≡ [x0 , x1 ] und wir setzen x1 ≡ x0 + h. Im linearen Fall reduziert sich die Formel (6.12) auf f (x) − P1 (x) =

f  (ξ(x)) (x − x0 )(x − x1 ), 2

x0 < ξ < x1 .

Der Betrag der quadratischen Funktion l(x) ≡ (x − x0 )(x − x1 ) nimmt seinen gr¨ oßten Wert auf dem Intervall [x0 , x1 ] im Mittelpunkt x ˜≡

1 1 1 (x0 + x1 ) = (x0 + x0 + h) = x0 + h 2 2 2

1 an und es ist l(˜ x) = − h2 . Folglich gilt 4 |f (x) − P1 (x)| ≤

1 M2 h2 , 8

x ∈ [x0 , x1 ],

x1 = x0 + h,

(6.16)

d.h., auf kleinen Intervallen der L¨ ange h ist der Fehler f¨ ur die lineare Interpolation von der Gr¨ oßenordnung O(h2 ). 2) Quadratische Interpolation (n=2). Wir wollen ¨ aquidistante St¨ utzstellen voraussetzen und diese ohne Beschr¨ ankung der Allgemeinheit (das Maximum h¨ angt nicht von einer Translation ab!) wie folgt w¨ ahlen: x0 ≡ −h, x1 ≡ 0, x2 ≡ h. Jetzt ist f¨ ur die kubische Funktion l(x) ≡ (x − x0 )(x − x1 )(x − x2 ) = x(x2 − h2 ) das Maximum des Betrages zu ermitteln. Die beiden Extrema von l(x) lassen sich u ¨ber

Kapitel 6 Interpolation und Polynom-Approximation

292

√ 2 3 3 l (x) berechnen zu z1,2 = ±h/ 3, so daß max |l(x)| = h gilt. Damit folgt 9 [−h,h] schließlich die Absch¨ atzung 



M3 |f (x) − P2 (x)| ≤ √ h3 ≈ 0.064 M3 h3 , 9 3

x ∈ [x0 , x2 ],

(6.17)

d.h., f¨ ur kleine h ist der Fehler f¨ ur die quadratische Interpolation O(h3 ). 3) Interpolation n-ten Grades (n allgemein). Die G¨ ute der Approximation h¨ angt wesentlich von der Verteilung der St¨ utzstellen x0 , . . . , xn u ¨ber das Interpolationsintervall ab, da die Fehlerfunktion (6.12) weitgehend durch die Funktion l(x) ≡ (x−x0 )(x−x1 ) · · · (x−xn ) dominiert wird. Sind die St¨ utzstellen ¨ aquidistant verteilt und n nicht zu klein, dann oszilliert die Funktion l(x) stark an den R¨ andern des Integrationsintervalls [x0 , xn ]. Folglich sind die Werte von |l(x)| dort signifikant gr¨ oßer als in den mittleren Abschnitten. Der gesamte Interpolationsfehler (6.12) verh¨ alt sich in etwa gleich, da f¨ ur eine kleine Schrittweite h und x ∈ [x0 , xn ] die zugeh¨ orige Konstante ξ(x) auf ein relativ kleines Intervall beschr¨ ankt bleibt und andern kann. In der Abbildung 6.7 ist ein sich deshalb f (n+1) (ξ(x)) nicht stark ¨ typischer Verlauf von l(x) f¨ ur n = 9 dargestellt.

Abbildung 6.7: Typischer Verlauf von l(x) f¨ ur n=9

6.3 Iterierte Interpolation

293

Eine Verbesserung l¨ aßt sich nur durch eine andere Wahl der St¨ utzstellen erreichen. Offensichtlich m¨ ussen sie an den R¨ andern des Integrationsintervalles dichter gelegt werden. In der Praxis verwendet man deshalb als St¨ utzstellen oftmals die Nullstellen des n-ten Tschebyscheff-Polynoms Tn (x) (siehe auch Abschnitt 7.2), transformiert auf das Intervall [a, b]: n−i a+b b−a + cos π , i = 0, 1, . . . , n. x ˜i ≡ 2 2 n Die zugeh¨ orige Funktion ˜l(x) besitzt einen gleichm¨ aßigeren oszillatorischen Verlauf als l(x). Dar¨ uber hinaus l¨ aßt sich max |˜l(x)| ≤ max |l(x)|

x∈[a,b]

x∈[a,b]

zeigen. Die oben beschriebenen starken Schwingungen der Interpolationspolynome Pn (x) an den R¨ andern des Interpolationsintervalls wurden bereits von Runge1 beobachtet. Auf ihn geht auch das folgende klassische Beispiel zur¨ uck. Beispiel 6.2. Gegeben sei die sogenannte Runge-Funktion 2 f (x) = 1/(x2 + 1). F¨ ur die im Intervall [a, b] = [−5, 5] festgelegte Menge von ¨ aquidistanten St¨ utzstellen ur n = 5 und n = 10 die zugeh¨ origen Interpolaxi = −5 + 10i/n, i = 0, . . . , n, wurden f¨ tionspolynome Pn (x) bestimmt und in der Abbildung 6.8 graphisch dargestellt. Es ist unschwer zu erkennen, daß die Interpolationspolynome mit wachsendem n einen zunehmenden maximalen Interpolationsfehler aufweisen. Dieses Verhalten wird in der Literatur oftmals auch unter dem Begriff Runge-Ph¨ anomen beschrieben. 

6.3

Iterierte Interpolation

Oftmals ist es schwierig, die Genauigkeit eines numerisch bestimmten Interpolationsatzung (6.12) quantitativ zu bewerten. Ist man an polynoms Pn (x) mit der Fehlerabsch¨ der expliziten Gestalt des Interpolationspolynoms eigentlich nicht interessiert, sondern m¨ ochte damit nur eine Approximation f¨ ur den unbekannten Funktionswert f (¯ x) an einer vorgegebenen Stelle x ¯ ∈ [a, b] bestimmen, dann liegt die folgende Strategie nahe. Die St¨ utzstellenmenge wird sukzessive um jeweils eine weitere St¨ utzstelle vergr¨ oßert. 1 2

Carl David Tolm´e Runge (1856–1927), Deutscher Mathematiker. ¨ Siehe auch C. Runge: Uber empirische Funktionen und die Interpolation zwischen ¨ aquidistanten Ordinaten. Z. Math. Physik 48 (1901), S. 224–243.

294

Kapitel 6 Interpolation und Polynom-Approximation

Abbildung 6.8: Interpolation der Runge-Funktion

Im aktuellen Schritt kann man dann mit einem Polynom interpolieren, dessen Grad um eins gr¨ oßer ist als im vorangegangenen Schritt. An der Stelle x = x ¯, an der die Approximation von f (x) gesucht ist, berechnet man die Funktionswerte der im Grad anwachsenden Lagrangeschen Interpolationspolynome Pj (x), j = 0, 1, . . . Dies wird sox), j ≥ j0 , im Rahmen der Maschinenlange durchgef¨ uhrt, bis sich die Polynomwerte Pj (¯ genauigkeit nicht mehr unterscheiden. Die beschriebene Strategie besitzt jedoch einen wesentlichen Nachteil. Der Aufwand, der f¨ ur die Konstruktion des Polynoms Pj (x) erforderlich ist, kann nicht bei der Bestimmung des Polynoms Pj+1 (x) ausgenutzt werden. Die Hinzunahme einer weiteren St¨ utzstelle bedingt n¨ amlich (siehe Formel (6.9)), daß alle Lagrange-Faktoren neu berechnet werden m¨ ussen. Es soll jetzt eine Modifikation der obigen Strategie abgeleitet werden, die bei der Bex) auf die bereits vorliegenden Rechenergebnisse f¨ ur die Polynomwerte rechnung von Pj (¯ x), i < j, zur¨ uckgreift. Wir ben¨ otigen hierf¨ ur die folgende Definition. Pi (¯ Definition 6.2. Es sei f (x) eine Funktion, die an den Stellen x0 , x1 , . . . , xn definiert ist. Des weiteren seien k paarweise verschiedene ganze Zahlen m1 , m2 , . . . , mk gegeben, mit 0 ≤ mi ≤ n, i = 1, . . . , k. Das Lagrangesche Interpolationspolynom vom Grad h¨ochstens gleich k − 1, das mit f (x) in den Punkten xm1 , xm2 , . . . , xmk u ¨bereinstimmt, werde mit Pm1 ,m2 ,...,mk (x) bezeichnet.  Das folgende Beispiel verdeutlicht die recht abstrakte Definition.

6.3 Iterierte Interpolation

295

Beispiel 6.3. Gegeben seien die Funktion f (x) = x3 sowie die St¨ utzstellen x0 = 1, ochstens gleich 2 x1 = 2, x2 = 3, x3 = 4, x4 = 6. Das Polynom P1,2,4 (x) vom Grad h¨ stimmt mit f (x) an den speziellen St¨ utzstellen x1 = 2, x2 = 3 und x4 = 6 u ¨berein, d.h., P1,2,4 (x) =

(x − 2)(x − 6) (x − 2)(x − 3) (x − 3)(x − 6) 8+ 27 + 216. (2 − 3)(2 − 6) (3 − 2)(3 − 6) (6 − 2)(6 − 3)



Es gilt nun der folgende Satz. Satz 6.4. Die Funktion f (x) sei an den St¨ utzstellen x0 , x1 , . . . , xn definiert. Des weiteutzstellenmenge bezeichnen. ren m¨ ogen xi und xj zwei verschiedene Zahlen aus dieser St¨ Definiert man

P (x) ≡

(x − xj )P0,1,...,j−1,j+1,...,k (x) − (x − xi )P0,1,...,i−1,i+1,...,k (x) , xi − xj

(6.18)

dann ist P (x) das Lagrangesche Interpolationspolynom vom Grad h¨ ochstens gleich k, welches die gegebene Funktion f (x) an den Stellen x0 , x1 , . . . , xk interpoliert, d.h., P (x) = P0,1,...,k (x). Beweis: Um die Notation zu verk¨ urzen, setzen wir Q(x) ≡ P0,1,...,i−1,i+1,...,k (x)

und

ˆ Q(x) ≡ P0,1,...,j−1,j+1,...,k (x).

ˆ ≤ k − 1, so daß deg(P ) ≤ k folgt. Ist nun 0 ≤ r ≤ k Es gilt deg(Q) ≤ k − 1 und deg(Q) und r = i, j, dann erh¨ alt man P (xr ) =

ˆ r ) − (xr − xi )Q(xr ) (xr − xj )Q(x x i − xj = f (xr ) = f (xr ). xi − xj xi − xj

Des weiteren ist P (xi ) =

ˆ i ) − (xi − xi )Q(xi ) (xi − xj )Q(x x i − xj = f (xi ) = f (xi ). xi − xj xi − xj

Analog folgt P (xj ) = f (xj ). Aber nach Definition ist P0,1,...,k (x) das eindeutige Polynom vom Grad h¨ ochstens gleich k, welches mit f (x) an den Stellen x0 , x1 , . . . , xk u  ¨bereinstimmt. Somit ergibt sich die Behauptung P (x) = P0,1,...,k (x). Anhand eines einfachen Beispiels soll jetzt gezeigt werden, wie sich das im Satz 6.4 formulierte Resultat f¨ ur einen adaptiven Interpolationsprozeß verwenden l¨ aßt.

Kapitel 6 Interpolation und Polynom-Approximation

296

Beispiel 6.4. Die Funktion f (x) = sin(x) sei an diskreten Stellen xi wie folgt gegeben: i

0

1

2

3

4

xi

1.0

1.3

1.6

1.9

2.2

f (xi )

0.84147

0.96356

0.99957

0.94630

0.80850

Tabelle 6.1: St¨ utzstellen und St¨ utzwerte f¨ ur f (x) = sin(x)

Der Wert von f (x) soll an der Stelle x = 1.5 durch Langrange-Polynome hinreichend genau interpoliert werden. Es ist x0 = 1.0, x1 = 1.3, x2 = 1.6, x3 = 1.9, x4 = 2.2. Wir schreiben in der Bezeichnungsweise von Definition 6.2: P0 (1.5) = f (1.0),

P1 (1.5) = f (1.3),

P2 (1.5) = f (1.6),

P3 (1.5) = f (1.9),

P4 (1.5) = f (2.2). Dabei handelt es sich um 5 Polynome 0-ten Grades, die als eine erste N¨ aherung f¨ ur f (1.5) aufzufassen sind. Aus diesen konstruiert man nun nach der Vorschrift (6.18) Polynome 1-ten Grades, die verbesserte Approximationen f¨ ur f (1.5) liefern: P0,1 (1.5)

=

(1.5 − 1.0)P1 − (1.5 − 1.3)P0 = 1.04495, 1.3 − 1.0

P1,2 (1.5)

=

(1.5 − 1.3)P2 − (1.5 − 1.6)P1 = 0.98757, 1.6 − 1.3

P2,3 (1.5)

=

1.011733,

P3,4 (1.5) = 1.13003.

Damit ist die Approximation durch Polynome 1-ten Grades ersch¨ opft. Der berechnete ußte die beste Approximation f¨ ur f (1.5) sein, da 1.5 zwischen x1 = 1.3 Wert P1,2 (1.5) m¨ und x2 = 1.6 liegt. Verwendet man jetzt die oben bestimmten Werte der Interpolationspolynome 1-ten Grades in der Vorschrift (6.18), dann ergeben sich aus den resultierenden Polynomen 2-ten Grades die Approximationen: P0,1,2 (1.5)

=

(1.5 − 1.0)P1,2 − (1.5 − 1.6)P0,1 = 0.99713, 1.6 − 1.0

P1,2,3 (1.5)

=

0.99749,

P2,3,4 (1.5) = 0.99854.

Weiter ergeben sich die folgenden Approximationen mit Hilfe von Polynomen 3-ten Grades: P0,1,2,3 (1.5)

=

(1.5 − 1.0)P1,2,3 − (1.5 − 1.9)P0,1,2 = 0.99733, 1.9 − 1.0

P1,2,3,4 (1.5)

=

0.99772.

6.3 Iterierte Interpolation

297

Schließlich liefert das Polynom 4-ten Grades: P0,1,2,3,4 (1.5) =

(1.5 − 1.0)P1,2,3,4 − (1.5 − 2.2)P0,1,2,3 = 0.99749. 2.2 − 1.0

Es ist sin(1.5) = 0.9974949866 . . ., so daß man f¨ ur den Fehler der obigen Approximation erh¨ alt: | sin(1.5) − P0,1,2,3,4 (1.5)| ≤ 5 · 10−6 . Damit hat man mit der obigen Strategie einen Wert von f (x) an der Stelle x = 1.5 gefunden, der auf 5 Dezimalstellen genau ist.  Die in Beispiel 6.4 berechneten Polynomwerte k¨ onnen nach folgendem Schema angeordnet werden (x = x ¯ sei die Stelle, an der interpoliert wird): x0

P0 (¯ x)

x1

P1 (¯ x)

P0,1 (¯ x)

x2

P2 (¯ x)

P1,2 (¯ x)

P0,1,2 (¯ x)

x3

P3 (¯ x)

P2,3 (¯ x)

P1,2,3 (¯ x)

P0,1,2,3 (¯ x)

x4

P4 (¯ x)

P3,4 (¯ x)

P2,3,4 (¯ x)

P1,2,3,4 (¯ x)

P0,1,2,3,4 (¯ x)

Tabelle 6.2: Iterierte Interpolation

Wir wollen einmal annehmen, daß die zuletzt berechnete Approximation P0,1,2,3,4 (¯ x) nicht die geforderte Genauigkeit besitzt, d.h., daß sie sich noch signifikant von den Werten in der benachbarten linken Spalte unterscheidet. In diesem Falle w¨ ahlt man eine weitere St¨ utzstelle x5 , an der auch der Funktionswert f (x5 ) bekannt sein muß, aus und f¨ ugt eine zus¨ atzliche Zeile am Ende der Tabelle 6.2 hinzu: x5 || P5 (¯ x)

P4,5 (¯ x)

P3,4,5 (¯ x)

P2,3,4,5 (¯ x)

P1,2,3,4,5 (¯ x)

P0,1,2,3,4,5 (¯ x).

Anschließend wird der Wert P0,1,2,3,4,5 (¯ x) des entsprechenden Polynoms 5-ten Grades x) und P1,2,3,4,5 (¯ x) verglichen, um die Genauigkeit der neuen N¨ aherung mit P0,1,2,3,4 (¯ abzusch¨ atzen. Ist man mit der erzielten Genauigkeit zufrieden, dann wird dieser adaptive Prozeß hier abgebrochen. Anderenfalls vergr¨ oßert man die Tabelle wieder um eine Zeile, was einer weiteren Erh¨ ohung des Polynomgrades entspricht. Man beachte, daß bei diesem Vorgehen in die Berechnungen der Elemente der neuen Zeile nur die Werte der zuletzt bestimmten Zeile eingehen. Diese Berechnungsstrategie wird Neville-Schema 1 genannt. F¨ ur die Konstruktion des Neville-Schemas sind eigentlich nur 2 Indizes erforderlich. Das Voranschreiten nach unten entspricht der Verwendung weiterer Punkte xi mit wachsendem i, das Voranschreiten nach rechts entspricht einer Vergr¨ oßerung des Grades 1

Watson Neville (1886–1965), Englischer Mathematiker. Auf Alexander Craig Aitken (1885–1967) geht ein ¨ ahnliches Schema zur¨ uck, das sich jedoch in der Praxis nicht durchgesetzt hat.

Kapitel 6 Interpolation und Polynom-Approximation

298

der Interpolationspolynome. Es bezeichne Qi,j ≡ Qi,j (¯ x), i ≥ j, das auf den j + 1 ¯ ausgewerSt¨ utzstellen xi−j , xi−j+1 , . . . , xi−1 , xi definierte und an der Stelle x = x tete Interpolationspolynom vom Grad h¨ ochstens gleich j. Bei der Berechnung von x) nach dem Neville-Schema hat man in die Formel (6.18) Qi,j = Pi−j,i−j+1,...,i−1,i (¯ x) und Qi−1,j−1 ≡ Pi−j,i−j+1,...,i−1 (¯ x) zu die Polynomwerte Qi,j−1 ≡ Pi−j+1,...,i−1,i (¯ substituieren: x − xi−j )Qi,j−1 (¯ x − xi )Qi−1,j−1 − (¯ Qi,j = , j = 1, 2, 3, . . . , i = j, j + 1, . . . xi−j − xi Wird noch Qi,0 ≡ f (xi ), i = 0, . . . , n, gesetzt, dann kann man die Tabelle 6.2 wie folgt aufschreiben: x0

Q0,0

x1

Q1,0

Q1,1

x2

Q2,0

Q2,1

Q2,2

x3

Q3,0

Q3,1

Q3,2

Q3,3

x4

Q4,0

Q4,1

Q4,2

Q4,3

Q4,4

Tabelle 6.3: Neville-Schema

Im Algorithmus 6.1 ist die Berechnungsvorschrift f¨ ur die Matrix Q implementiert. Iterierte Interpolation Input: for

utzwerte f (x1 ), . . . , f (xn ), Stelle x ¯. St¨ utzstellen x1 . . . , xn , St¨

i=1:n qi,1 = f (xi )

end for i = 2 : n for j = 2 : i qi,j =

x − xi−j+1 )qi,j−1 (¯ x − xi )qi−1,j−1 − (¯ xi−j+1 − xi

end end Output(’Matrix des Neville-Schemas Q=’, Q) und stop

Algorithmus 6.1: Iterierte Interpolation

Man beachte, daß in den u ¨blichen Programmiersprachen die Indizierung von Feldern

6.4 Dividierte Differenzen

299

nicht mit Null, sondern mit Eins beginnt. Dies wurde im Algorithmus 6.1 ber¨ ucksichtigt. ¨ Es muß bei der Eingabe nur n durch n + 1 ersetzt werden, um Ubereinstimmung mit dem sonstigen Text zu erhalten.

6.4

Dividierte Differenzen

Die im vorangegangenen Abschnitt betrachtete iterierte Interpolation ist sachgem¨ aß, xk ) mit sukzessiv falls an diskreten Stellen x ¯k die Werte der Interpolationspolynome Pj (¯ ansteigendem Grad j gesucht sind. Jedes Element des Neville-Schemas h¨ angt von der ur eine explizite speziellen Interpolationsstelle x ¯k ab. Damit kann dieses Verfahren nicht f¨ Darstellung der Interpolationspolynome verwendet werden. Eine andere Technik, die es mit sehr geringem zus¨ atzlichen Aufwand erm¨ oglicht das Polynom Pj+1 (x) explizit darzustellen – ausgehend von der bekannten Gestalt des Interpolationspolynoms Pj (x) – ist unter dem Namen Verfahren der dividierten Differenzen bekannt. Dieses Verfahren f¨ uhrt im Vergleich zur Lagrange-Darstellung nur zu einer anderen Schreibweise des eindeutig bestimmten Interpolationspolynoms. ochstens gleich n, das mit der gegebenen Funktion Es sei Pn (x) ein Polynom vom Grad h¨ f (x) an den paarweise verschiedenen St¨ utzstellen x0 , x1 , . . . , xn u ¨bereinstimmt. Die den Namen des Verfahrens charakterisierenden dividierten Differenzen (von f (x) bez¨ uglich x0 , x1 , . . . , xn ) wollen wir wie folgt herleiten. Das gesuchte Interpolationspolynom Pn (x) werde hierzu in der Form Pn (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + · · · + an (x − x0 )(x − x1 ) · · · (x − xn−1 )

(6.19)

geschrieben, wobei a0 , a1 , . . . , an noch geeignet zu bestimmende Koeffizienten bezeichnen. Den Koeffizienten a0 findet man, indem die Stelle x0 in den Ansatz (6.19) eingesetzt ¨ und die Ubereinstimmung von Pn (x0 ) mit f (x0 ) gefordert wird: a0 = Pn (x0 ) = f (x0 ).

(6.20)

Analog ergibt sich aus Pn (x1 ) = a0 + a1 (x1 − x0 ) = f (x1 ) der Koeffizient a1 zu a1 =

f (x1 ) − f (x0 ) . x 1 − x0

(6.21)

An dieser Stelle l¨ aßt sich nun der Begriff der dividierten Differenzen einf¨ uhren. So wird die uglich der St¨ utzstelle • dividierte Differenz 0-ter Ordnung f [xi ] von f (x) bez¨ art zu: xi erkl¨ f [xi ] ≡ f (xi ),

i = 0, . . . , n.

Kapitel 6 Interpolation und Polynom-Approximation

300

Die dividierten Differenzen h¨ oherer Ordnung k¨ onnen jetzt induktiv definiert werden. • dividierte Differenz 1-ter Ordnung f [xi , xi+1 ] von f (x) bez¨ uglich xi , xi+1 : f [xi , xi+1 ] ≡

f [xi+1 ] − f [xi ] , xi+1 − xi

i = 0, . . . , n − 1.

Sind die beiden dividierten Differenzen (k − 1)-ter Ordnung f [xi , xi+1 , xi+2 , . . . , xi+k−1 ]

und

f [xi+1 , xi+2 , . . . , xi+k−1 , xi+k ]

gegeben, dann berechnet sich die • dividierte Differenz k-ter Ordnung f [xi , xi+1 , . . . , xi+k ] von f (x) bez¨ uglich der St¨ utzstellen xi , xi+1 , . . . , xi+k zu: f [xi , xi+1 , . . . , xi+k ] ≡

f [xi+1 , xi+2 , . . . , xi+k ] − f [xi , xi+1 , . . . , xi+k−1 ] , xi+k − xi i = 0, . . . , n − k.

Mit diesem Formalismus k¨ onnen nun a0 und a1 aus (6.20) bzw. (6.21) in der Form a0 = f [x0 ],

a1 = f [x0 , x1 ]

geschrieben werden und das Interpolationspolynom (6.19) nimmt damit die Gestalt an: Pn (x) =f [x0 ] + f [x0 , x1 ](x − x0 ) + a2 (x − x0 )(x − x1 ) + · · · + an (x − x0 )(x − x1 ) · · · (x − xn−1 ). Die noch verbleibenden Koeffizienten von Pn (x) berechnet man auf die gleiche Art und Weise. Die hierzu erforderlichen algebraischen Manipulationen sind jedoch sehr aufwendig. Deshalb wollen wir hier nur das Ergebnis angeben und u ¨berlassen die Herleitung dem interessierten Leser: ak = f [x0 , x1 , . . . , xk ],

k = 0, 1, . . . , n.

(6.22)

Setzt man (6.22) in die Formel (6.19) ein, so resultiert schließlich f¨ ur das gesuchte Interpolationspolynom die sogenannte Newton-Darstellung des Interpolationspolynoms Pn (x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 ) + · · · + f [x0 , x1 , . . . , xn ](x − x0 )(x − x1 ) · · · (x − xn−1 ).

(6.23)

6.4 Dividierte Differenzen

301

Bemerkung 6.3. Bei der mit der Methode der dividierten Differenzen gewonnenen Darstellungsform (6.23) des Interpolationspolynoms brauchen im Falle einer sukzessiven Erh¨ ohung des Polynomgrades die bereits berechneten Koeffizienten nicht neu bestimmt zu werden. Ist man an der expliziten Gestalt des Interpolationspolynoms interessiert, dann sollte man anstelle der Lagrange-Darstellung stets die Darstellung (6.23) verwenden.  Bemerkung 6.4. Da das Interpolationspolynom eindeutig bestimmt ist, besitzt seine Darstellung mittels dividierter Differenzen die gleichen qualitativen Eigenschaften wie die Lagrange-Form. Das trifft insbesondere auch auf das oszillatorische Verhalten an den R¨ andern des Interpolationsintervalls zu, wenn der Grad des Polynoms hinreichend groß ist.  Im weiteren Text verwenden wir spezielle dividierte Differenzenausdr¨ ucke, die u ¨blicherweise in Form einer Tabelle angeordnet werden. Bei ihrer Definition nehmen wir hier Bezug auf die Tabelle 6.4. Definition 6.3. • Die in der Tabelle 6.4 unterstrichenen dividierten Differenzen werden vorw¨artsgenommene dividierte Differenzen genannt. • Die in der Tabelle 6.4 u uckw¨artsge¨berstrichenen dividierten Differenzen werden r¨ nommene dividierte Differenzen genannt.  Im folgenden wird es erforderlich sein, einige Eigenschaften der dividierten Differenzen auszunutzen. Wir wollen zuerst zeigen, daß f¨ ur die dividierte Differenz k-ter Ordnung gilt: f [xi , xi+1 , . . . , xi+k ] =

f [xi ] (xi − xi+1 )(xi − xi+2 ) · · · (xi − xi+k ) +

f [xi+1 ] (xi+1 − xi )(xi+1 − xi+2 ) · · · (xi+1 − xi+k )

(6.24)

.. . +

f [xi+k ] . (xi+k − xi )(xi+k − xi+1 ) · · · (xi+k − xi+k−1 )

Mit ω(x) ≡ (x − xi )(x − xi+1 ) · · · (x − xi+k ) ergibt sich daraus f [xi , xi+1 , . . . , xi+k ] =

i+k  f [xj ] . ω  (xj ) j=i

(6.25)

Kapitel 6 Interpolation und Polynom-Approximation

302 x f (x)

Ordnung 1

Ordnung 2

Ordnung 3

x0 f [x0 ] f [x0 , x1 ] =

f [x1 ] − f [x0 ] x1 − x0

x1 f [x1 ]

f [x0 , x1 , x2 ] = f [x1 , x2 ] =

f [x2 ] − f [x1 ] x2 − x1

f [x1 , x2 ] − f [x0 , x1 ] x2 − x0 f [x0 , x1 , x2 , x3 ] =

x2 f [x2 ]

f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ] x 3 − x0

f [x1 , x2 , x3 ] = f [x2 , x3 ] =

f [x3 ] − f [x2 ] x 3 − x2

f [x2 , x3 ] − f [x1 , x2 ] x3 − x1 f [x1 , x2 , x3 , x4 ] f [x2 , x3 , x4 ] − f [x1 , x2 , x3 ] = x 4 − x1

x3 f [x3 ]

f [x2 , x3 , x4 ] = f [x3 , x4 ] =

f [x4 ] − f [x3 ] x 4 − x3

f [x3 , x4 ] − f [x2 , x3 ] x4 − x2 f [x2 , x3 , x4 , x5 ] =

x4 f [x4 ]

f [x3 , x4 , x5 ] − f [x2 , x3 , x4 ] x 5 − x2

f [x3 , x4 , x5 ] = f [x4 , x5 ] =

f [x5 ] − f [x4 ] x 5 − x4

f [x4 , x5 ] − f [x3 , x4 ] x5 − x3

x5 f [x5 ] Tabelle 6.4: Dividierte Differenzen

Den Nachweis f¨ uhren wir mit vollst¨ andiger Induktion. F¨ ur k = 1 ist die Behauptung richtig, da f [xi+1 ] − f [xi ] f [xi ] f [xi+1 ] = + f [xi , xi+1 ] = xi+1 − xi xi − xi+1 xi+1 − xi gilt. Es werde nun angenommen, daß (6.25) f¨ ur k = l − 1 richtig ist. Um die Richtigkeit auch f¨ ur k = l zu zeigen, schreiben wir

6.4 Dividierte Differenzen

303

f [xi+1 , . . . , xi+l ] − f [xi , . . . , xi+l−1 ] xi+l − xi  1 f [xi+1 ] = xi+l − xi (xi+1 − xi+2 )(xi+1 − xi+3 ) · · · (xi+1 − xi+l )

f [xi , xi+1 , . . . , xi+l ] =

f [xi+2 ] + ··· (xi+2 − xi+1 )(xi+2 − xi+3 ) · · · (xi+2 − xi+l ) f [xi+l ] (xi+l − xi+1 )(xi+l − xi+2 ) · · · (xi+l − xi+l−1 ) + f [xi ] − (xi − xi+1 )(xi − xi+2 ) · · · (xi − xi+l−1 ) f [xi+1 ] + ··· (xi+1 − xi )(xi+1 − xi+2 ) · · · (xi+1 − xi+l−1 ) ,3 f [xi+l−1 ] . + (xi+l−1 − xi )(xi+l−1 − xi+1 ) · · · (xi+l−1 − xi+l−2 ) (6.26)

+

Im obigen Ausdruck kommen f [xi ] und f [xi+l ] je einmal in den Summanden f [xi ] (xi − xi+1 )(xi − xi+2 ) · · · (xi − xi+l )

und

f [xi+l ] (xi+l − xi )(xi+l − xi+1 ) · · · (xi+l − xi+l−1 ) vor, so daß sie in die zu beweisende Gleichung (6.25) passen. Alle anderen f [xj ] treten doppelt auf. Werden diese Terme paarweise zusammengefaßt, dann ergibt sich + f [xj ] 1 xi+l − xi (xj − xi+1 ) · · · (xj − xj−1 )(xj − xj+1 ) · · · (xj − xi+l ) , f [xj ] − (xj − xi ) · · · (xj − xj−1 )(xj − xj+1 ) · · · (xj − xi+l−1 ) =

=

f [xj ] (xj − xi+1 ) · · · (xj − xj−1 )(xj − xj+1 ) · · · (xj − xi+l−1 ) + , 1 1 1 × − (xi+l − xi ) xj − xi+l xj − x i f [xj ] . (xj − xi )(xj − xi+1 ) · · · (xj − xj−1 )(xj − xj+1 ) · · · (xj − xi+l )

(6.27)

Kapitel 6 Interpolation und Polynom-Approximation

304

Damit ist die Formel (6.25) f¨ ur k = l gezeigt und es ergeben sich daraus die folgenden Eigenschaften der dividierten Differenzen: 1) Die dividierte Differenz einer Summe oder Differenz von Funktionen ist gleich der Summe oder Differenz der dividierten Differenzen der Funktionen. 2) Ein konstanter Faktor kann aus dem Ausdruck der dividierten Differenz ausgeklammert werden. 3) Die dividierten Differenzen sind symmetrische Funktionen ihrer Argumente, d.h., f [xi , xi+1 , . . . , xi+k ] = f [xi+1 , xi , xi+2 , . . . , xi+k ] = f [xi+2 , xi+1 , xi , xi+3 , . . . , xi+k ] = ··· 4) Wenn x und y durch die lineare Relation x = αy + β, α = 0, verkn¨ upft sind, dann gilt 1 f [xi , . . . , xi+k ] = k g[yi , yi+1 , . . . , yi+k ], α xj − β ist. wobei g(y) ≡ f (αy + β) und yj ≡ α Die Gleichung (6.12) gilt auch f¨ ur die Darstellung des Interpolationspolynoms P (x) mittels dividierter Differenzen. Aufgrund der obigen Aussagen l¨ aßt sich jedoch das auf der rechten Seite stehende Restglied in modifizierter Form aufschreiben. Dazu betrachten wir unter Beachtung von f (x) = f [x]: f [x, x0 , x1 , . . . , xn ] =

f (x) (x − x0 )(x − x1 ) · · · (x − xn ) f [x0 ] + (x0 − x)(x0 − x1 ) · · · (x0 − xn ) f [xn ] + ··· + . (xn − x)(xn − x0 ) · · · (xn − xn−1 )

(6.28)

Hieraus ergibt sich f (x) =f [x0 ]

(x − x1 )(x − x2 ) · · · (x − xn ) (x0 − x1 )(x0 − x2 ) · · · (x0 − xn )

+ · · · + f [xn ]

(x − x0 )(x − x1 ) · · · (x − xn−1 ) (xn − x0 )(xn − x1 ) · · · (xn − xn−1 )

(6.29)

+ (x − x0 )(x − x1 ) · · · (x − xn )f [x, x0 , x1 , . . . , xn ]. Folglich ist f (x) = Pn (x) + (x − x0 )(x − x1 ) · · · (x − xn ) f [x, x0 , . . . , xn ].

(6.30)

6.4 Dividierte Differenzen

305

Bezeichnet man den auf der rechten Seite von (6.12) stehenden Restterm mit Rn (x), so ergibt sich f¨ ur diesen Rn (x) = f (x) − Pn (x) = (x − x0 )(x − x1 ) · · · (x − xn ) f [x, x0 , . . . , xn ].

(6.31)

Besitzt die Funktion f (x) Ableitungen bis zur Ordnung n+1, dann erhalten wir schließlich die interessante Beziehung

f [x, x0 , . . . , xn ] =

f (n+1) (ξ(x)) , (n + 1)!

(6.32)

die insbesondere im Abschnitt 8.1 bei der numerischen Differentiation eine wichtige Rolle spielen wird. In (6.32) bezeichnet ξ(x) einen Punkt, der im kleinsten Intervall alt. liegt, das die Punkte x0 , x1 , . . . , xn sowie auch x enth¨ aquidistant (gleichabst¨ andig) an, dann l¨ aßt Ordnet man die St¨ utzstellen x0 , x1 , . . . , xn ¨ sich (6.23) in einer Form aufschreiben, die f¨ ur numerische Zwecke sehr g¨ unstig ist. Es seien h ≡ xi+1 − xi ,

i = 0, 1, . . . , n − 1,

x ≡ x0 + sh,

xi = x0 + ih.

Dann ist x − xi = (s − i)h und das Interpolationspolynom (6.23) lautet Pn (x) = Pn (x0 + sh) = f [x0 ] + shf [x0 , x1 ] + s(s − 1)h2 f [x0 , x1 , x2 ] + · · · + s(s − 1) · · · (s − n + 1)hn f [x0 , x1 , . . . , xn ] n  = s(s − 1) · · · (s − k + 1)hk f [x0 , x1 , . . . , xk ]. k=0

Verwendet man eine Verallgemeinerung der Binomialkoeffizienten s s(s − 1) · · · (s − k + 1) = , k k! wobei s keine ganze Zahl zu sein braucht, dann l¨ aßt sich Pn (x) in der kompakten Form

Pn (x) = Pn (x0 + sh) =

n  s k=0

k

k! hk f [x0 , x1 , . . . , xk ]

(6.33)

aufschreiben. Die auf diese Weise gewonnene neue Darstellung (6.33) des (eindeutig bestimmten) Interpolationspolynoms wird u ¨blicherweise als Newtonsches Interpolationspolynom mit vorw¨ artsgenommenen dividierten Differenzen bezeichnet. Ber¨ ucksichtigt

Kapitel 6 Interpolation und Polynom-Approximation

306

man nun noch die in den Formeln (4.50) und (4.51) erkl¨ arten vorw¨ artsgenommenen Differenzen, dann ergibt sich 1 f (x1 ) − f (x0 ) =  f (x0 ), x1 − x0 h + , 1 f (x1 ) − f (x0 ) 1 = 2 2 f (x0 ) f [x0 , x1 , x2 ] = 2h h 2h f [x0 , x1 ] =

und allgemein f [x0 , x1 , . . . , xk ] =

1 k f (x0 ). k! hk

Aus (6.33) folgt damit die sehr u ¨bersichtliche Darstellung des Interpolationspolynoms Pn (x): Pn (x) =

n  s k=0

k

k f (x0 ).

(6.34)

uhrt Die Anordnung der St¨ utzstellen in umgekehrter Reihenfolge xn , xn−1 , . . . , x1 , x0 f¨ auf eine ¨ ahnliche Darstellung des Interpolationspolynoms (vergleiche mit Formel (6.23)): Pn (x) =f [xn ] + f [xn−1 , xn ](x − xn ) + f [xn−2 , xn−1 , xn ](x − xn )(x − xn−1 ) + · · · + f [x0 , . . . , xn ](x − xn )(x − xn−1 ) · · · (x − x1 ).

(6.35)

Verwendet man wiederum ein ¨ aquidistantes Gitter x ≡ xn + sh,

s negativ,

xi = xn + (i − n)h,

dann ist x − xi = (s + n − i)h und die Formel (6.35) nimmt die Gestalt an Pn (x)

= Pn (xn + sh) =

f [xn ] + shf [xn−1 , xn ] + s(s + 1)h2 f [xn−2 , xn−1 , xn ]

(6.36)

+ · · · + s(s + 1) · · · (s + n − 1)h f [x0 , x1 , . . . , xn ]. n

Die Darstellung (6.36) wird als Newtonsches Interpolationspolynom mit r¨ uckw¨ artsgenommenen dividierten Differenzen bezeichnet. Um (6.36) in einer zu (6.34) entsprechenden Form angeben zu k¨ onnen, sind noch einige Vorarbeiten notwendig. Wie im Abschnitt 4.7 f¨ ur eine gegebene Folge {xk }∞ k=0 die vorw¨ artsgenommenen Differenzen n xk erkl¨ art wurden (siehe die Definition 4.3), lassen sich f¨ ur diese Folge auch r¨ uckw¨ artsgenommene Differenzen n xk definieren.

6.4 Dividierte Differenzen

307

Definition 6.4. Gegeben sei eine Folge {xk }∞ origen r¨ uckw¨artsgek=0 . Unter den zugeh¨ ucke nommenen Differenzen (1. Ordnung) xk sollen die Ausdr¨ xk ≡ xk − xk−1 ,

k = 1, 2, . . .

(6.37)

verstanden werden. R¨ uckw¨ artsgenommene Differenzen h¨ oherer Ordnung n xk seien wie folgt rekursiv erkl¨ art: n xk ≡ (n−1 xk ),

n≥2

1 xk ≡ xk .

(6.38) 

Die r¨ uckw¨ artsgenommenen Differenzen berechnen sich analog den vorw¨ artsgenommenen Differenzen (siehe die Formeln (4.52)–(4.54)) zu xk = xk − xk−1 , 2 xk = xk − 2xk−1 + xk−2 3 xk = xk − 3xk−1 + 3xk−2 − xk−3 4 xk = xk − 4xk−1 + 6xk−2 − 4xk−3 + xk−4 .. . n n n xk−1 + xk−2 − · · · + (−1)n xk−n .  x k = xk − 1 2

(6.39)

Des weiteren besteht zwischen den vorw¨ arts- und r¨ uckw¨ artsgenommenen Differenzen der Zusammenhang xk = xk−1 ,

2 xk = 2 xk−2 , . . . , n xk = n xk−n .

(6.40)

Man kann nun die r¨ uckw¨ artsgenommenen dividierten Differenzen durch die oben erkl¨ arten r¨ uckw¨ artsgenommene Differenzen wie folgt ausdr¨ ucken: f [xn−1 , xn ] =

1  f (xn ), h

f [xn−2 , xn−1 , xn ] =

1 2 f (xn ) 2h2

und allgemein f [xn−k , . . . , xn−1 , xn ] =

1 k f (xn ). k! hk

Setzt man diese Ausdr¨ ucke in (6.36) ein, dann ergibt sich Pn (x) =f (xn ) + s  f (xn ) + + ··· +

s(s + 1) 2  f (xn ) 2

s(s + 1) · · · (s + n − 1) n  f (xn ). n!

(6.41)

Kapitel 6 Interpolation und Polynom-Approximation

308

Unter Verwendung der u ur Binomialkoeffizieneten ¨blichen Rechenregeln f¨



−s k

=

s(s + 1) · · · (s + k − 1) −s(−s − 1) · · · (−s − k + 1) = (−1)k , k! k!

s reell,

erh¨ alt man schließlich die gesuchte Darstellung des Interpolationspolynoms

Pn (x) =

n  k=0

−s k f (xn ). k

(−1)

k

(6.42)

Die obigen Newton-Formeln eignen sich zur Approximation an einer Stelle, die etwa in der Mitte der Tabelle liegt, nicht besonders gut. Es gibt in der Literatur eine Vielzahl von Interpolationsformeln mit dividierten Differenzen, die dieser Situation besser angepaßt sind. Wir wollen hier nur kurz die Formel von Stirling1 angeben. Es ist jetzt x0 in die N¨ ahe der Interpolationsstelle x ¯ zu legen. In der Tabelle 6.5 sind die St¨ utzstellen utzstellen oberhalb von x0 mit x−1 , x−2 , . . . unterhalb von x0 mit x1 , x2 , . . . und die St¨ bezeichnet. Mit dieser Notation lautet die Formel von Stirling f¨ ur ungerades n = 2m + 1:

Pn (x) = P2m+1 (x) = f [x0 ] + +

sh (f [x−1 , x0 ] + f [x0 , x1 ]) + s2 h2 f [x−1 , x0 , x1 ] 2

s(s2 − 1)h3 (f [x−1 , x0 , x1 , x2 ] + f [x−2 , x−1 , x0 , x1 ]) 2

+ · · · + s2 (s2 − 1)(s2 − 4) · · · (s2 − (m − 1)2 )h2m f [x−m , . . . , xm ] +

 s(s2 − 1) · · · (s2 − m2 )h2m+1  f [x−m , . . . , xm+1 ] + f [x−(m+1) , . . . , xm ] . 2 (6.43)

Ist n = 2m gerade, dann hat man nur den letzten Summanden in (6.43) wegzulassen. Die in dieser Formel ben¨ otigten dividierten Differenzen lassen sich wieder mit einem speziellen Rechenschema bestimmen, das in der Tabelle 6.5 angegeben ist. Es handelt sich dort um die unterstrichenen Gr¨ oßen. 1

Siehe z.B. Carl-Erik Fr¨ oberg: Numerical Mathematics, Theory and Computer Applications. The Benjamin/Cummings Publishing Company, Inc., Menlo Park et al., 1985, pp. 240–242.

6.4 Dividierte Differenzen x

f (x) Ordnung 1

309 Ordnung 2

Ordnung 3

Ordnung 4

x−2 f [x−2 ] f [x−2 , x−1 ] x−1 f [x−1 ]

f [x−2 , x−1 , x0 ] f [x−1 , x0 ]

x0

f [x0 ]

f [x−2 , x−1 , x0 , x1 ] f [x−1 , x0 , x1 ]

f [x0 , x1 ] x1

f [x1 ]

f [x−2 , x−1 , x0 , x1 , x2 ] f [x−1 , x0 , x1 , x2 ]

f [x0 , x1 , x2 ] f [x1 , x2 ]

x2

f [x2 ] Tabelle 6.5: Dividierte Differenzen f¨ ur die Formel von Stirling

Unter Verwendung vorw¨ artsgenommener Differenzen l¨ aßt sich die Formel von Stirling noch einfacher darstellen. Man erh¨ alt nach einigen Umformungen s s+1 + s f (x0 ) + f (x−1 ) 2 2 Pn (x) = f (x0 ) + + 2 f (x−1 ) 1 2 2 s+1 s+2 3 + s + 1  f (x−1 ) + 3 f (x−2 ) 4 4 + 4 f (x−2 ) + · · · + 2 2 3

(6.44)

F¨ ur die in Kapitel 8 beschriebenen numerischen Differentiationsformeln ben¨ otigen wir eine weitere Schreibweise der Formel von Stirling, die man aus (6.44) ableiten kann. Hierzu m¨ ogen neben den vorw¨ arts- und r¨ uckw¨artsgenommenen Differenzen noch sogenannte zentrale Differenzen erkl¨ art sein. Definition 6.5. Gegeben seien eine Folge {xk }∞ k=−∞ mit xk+1 = xk + h sowie eine Funktion f (x). Unter den zugeh¨ origen zentralen Differenzen (n-ter Ordnung) δ n f (xk )

Kapitel 6 Interpolation und Polynom-Approximation

310 sollen die Ausdr¨ ucke

δ 2i+1 f (xk ) ≡ 2i+1 f (xk −

1 + 2i h), 2

δ f (xk ) ≡  f (xk − ih), 2i

2i

n = 2i + 1 ungerade,

n = 2i gerade,

(6.45) k = 0, ±1, ±2, . . . 

verstanden werden. Als weiteres Hilfsmittel werden wir noch auf den Mittelwert-Operator zur¨ uckgreifen.

Definition 6.6. Gegeben seien eine Folge {xk }∞ k=−∞ mit xk+1 = xk + h sowie eine Funktion f (x). Der zugeh¨ orige Mittelwert-Operator μ sei durch die Beziehung + , 1 h h f (xk + ) + f (xk − ) μf (xk ) ≡ 2 2 2

(6.46)



definiert.

Wie man sich einfach davon u aßt sich nun die Formel von Stir¨berzeugen kann, l¨ ling (6.43) bzw. (6.44) unter Verwendung der zentralen Differenzen (6.45) sowie des Mittelwert-Operators (6.46) in der folgenden u ¨bersichtlichen Form darstellen. s s s 2 s+1 δ f (x0 ) + μ δf (x0 ) + μ δ 3 f (x0 ) 2 1 1 3 s s + k − 1 2k s+k δ f (x0 ) + μ δ 2k+1 f (x0 ) + · · · + ··· + 2k 2k − 1 2k + 1

Pn (x) =f (x0 ) +

6.5

(6.47)

Hermite-Interpolation

Wir wollen jetzt Approximationspolynome betrachten, die sowohl eine Verallgemeinerung der Taylor-Polynome als auch der Lagrange-Polynome darstellen. Es handelt sich hierbei um die Klasse der oskulierenden Polynome. Sie sind wie folgt definiert. Definition 6.7. Gegeben seien n+1 paarweise verschiedene St¨ utzstellen x0 , . . . , xn und dazu n + 1 nichtnegative ganze Zahlen m0 , . . . , mn . Die oskulierende Polynom-Approximation P (x) einer Funktion f ∈ Cm [a, b] mit m ≡ max{m0 , . . . , mn } und xi ∈ [a, b] ist dasjenige Polynom vom kleinsten Grad, welches an der St¨ utzstelle xi , i = 0, . . . , n, mit der Funktion f (x) und allen ihren Ableitungen der Ordnung kleiner oder gleich mi u  ¨bereinstimmt.

6.5 Hermite-Interpolation

311

Der Grad M eines oskulierenden Polynoms kann h¨ ochstens M=

n 

mi + n

i=0

n sein, da die Anzahl der zu erf¨ ullenden Bedingungen gleich i=0 mi + (n + 1) ist und ein Polynom vom Grad M genau M + 1 Koeffizienten als Freiheitsgrade besitzt, die an die oben genannten Bedingungen angepaßt werden k¨ onnen. Anstelle der Interpolationsbedingungen (6.10) treten somit die neuen M + 1 Bedingungen dk P (xi ) dk f (xi ) = , d xk d xk

i = 0 . . . , n, k = 0, . . . , mi .

(6.48)

Man beachte: • Ist n = 0, dann stimmt das die Funktion f (x) approximierende oskulierende Polynom mit dem Taylor-Polynom vom Grad m0 , das f (x) an der Stelle x0 ann¨ ahert, u ¨berein. • Ist mi = 0, i = 0, . . . , n, dann stimmt das die Funktion f (x) approximierende oskulierende Polynom mit dem Lagrange-Polynom u ¨berein, das f (x) an den St¨ utzstellen x0 , . . . , xn interpoliert. alt man die sogenannten Hermite-Polynome 1 • Ist mi = 1, i = 0, . . . , n, dann erh¨ H2n+1 (x). Die Hermite-Polynome H2n+1 (x) zeichnen sich insbesondere dadurch aus, daß sie die gleiche Form wie die zu approximierende Funktion f (x) in den n+1 Punkten (xi , f (xi )), i = 0, . . . , n, aufweisen, d.h., die Tangenten an das Polynom und an die Funktion stimmen dort u ¨berein. Wir werden aus der allgemeinen Klasse der oskulierenden Polynome in diesem Text nur die Hermite-Polynome studieren. Der folgende Satz gibt eine Vorschrift an, wie sich die Hermite-Polynome konstruieren lassen. utzstellen aus Satz 6.5. Ist f ∈ C1 [a, b] und sind x0 . . . , xn paarweise verschiedene St¨ dem Intervall [a, b], dann ist das eindeutige Polynom von minimalem Grad, das mit f (x) utzstellen u und f  (x) in diesen St¨ ¨bereinstimmt, ein Polynom von h¨ochstens (2n + 1)-ten Grades. Es lautet:

H2n+1 (x) =

n  j=0

1

f (xj ) Hn,j (x) +

n 

ˆ n,j (x) f  (xj ) H

(6.49)

j=0

Charles Hermite (1822–1901), Franz¨ osischer Mathematiker. Er bewies im Jahre 1873 die Transzendenz der Zahl e.

Kapitel 6 Interpolation und Polynom-Approximation

312

mit den j-ten Hermite-Faktoren   Hn,j (x) ≡ 1 − 2(x − xj ) Ln,j (xj ) L2n,j (x)

und

ˆ n,j (x) ≡ (x − xj ) L2 (x). (6.50) H n,j

In den obigen Formeln bezeichnet wie u ¨blich Ln,j (x) den j-ten Lagrange-Faktor vom Grad n (siehe auch (6.9)). Des weiteren gilt f¨ ur f ∈ C2n+2 [a, b] die Fehlerformel f (x) − H2n+1 (x) =

(x − x0 )2 · · · (x − xn )2 (2n+2) f (ξ(x)), (2n + 2)!

(6.51)

wobei ξ(x) eine Stelle aus (a, b) bezeichnet. Beweis: 1) Existenz Es ist  H2n+1 (x) =

n 

 f (xj ) Hn,j (x) +

j=0

n 

ˆ  (x). f  (xj ) H n,j

j=0

Um nun

dj dj H (x ) = f (xk ), j = 0, 1; k = 0, . . . , n, (6.52) 2n+1 k d xj d xj zu zeigen, gen¨ ugt es nachzuweisen, daß die in Formel (6.5) erkl¨ arten Funktionen ˆ n,j (x) den Bedingungen (a)–(d) gen¨ ugen: Hn,j (x) und H  0, f¨ ur j = k ˆ n,j (xk ) = 0 f¨ (a) Hn,j (xk ) = , (c) H ur alle k, 1, f¨ ur j = k  d ˆ d 0, f¨ ur j = k Hn,j (xk ) = 0 f¨ Hn,j (xk ) = ur alle k, (d) . (b) 1, f¨ ur j = k dx dx

Die obigen Bedingungen garantieren, daß H2n+1 (x) die Interpolationsbedingungen (6.48) erf¨ ullt, wie eine kurze Rechnung zeigt. F¨ ur jedes i = 0, . . . , n ist H2n+1 (xi ) =

n 

f (xj ) Hn,j (xi ) +

j=0

= f (xi ) · 1 +

n 

ˆ n,j (xi ) f  (xj ) H

j=0 n 

f (xj ) · 0 +

j=0 j=i

und  H2n+1 (xi ) =

=

n  j=0 n  j=0

 f (xj ) Hn,j (xi ) +

n 

f  (xj ) · 0 = f (xi )

j=0

n 

ˆ  (xi ) f  (xj ) H n,j

j=0

f (xj ) · 0 + f  (xi ) · 1 +

n  j=0 j=i

f  (xj ) · 0 = f  (xi ).

6.5 Hermite-Interpolation

313

ˆ n,j (x), so implizieren die Bedingungen (c) Betrachtet man zuerst das Polynom H ˆ und (d), daß Hn,j (x) eine doppelte Wurzel an der Stelle xk f¨ ur j = k und eine einfache Wurzel an der Stelle xj haben muß. Ein Polynom vom Grad h¨ ochstens gleich 2n + 1, das diese Eigenschaften besitzt, ist 2 2 2 2 ˆ n,j (x) = (x − x0 ) · · · (x − xj−1 ) (x − xj )(x − xj+1 ) · · · (x − xn ) H (xj − x0 )2 · · · (xj − xj−1 )2 (1)(xj − xj+1 )2 · · · (xj − xn )2

= L2n,j (x − xj ). Wenden wir uns jetzt dem Polynom Hn,j (x) zu. Die Bedingungen (a) und (b) ur jedes k = j eine doppelte Wurzel von Hn,j (x) sein muß. implizieren, daß xk f¨ Ein Polynom vom Grad h¨ ochstens gleich 2n + 1, das (a) und (b) erf¨ ullt, ist ax + ˆb) Hn,j (x) = (x − x0 )2 · · · (x − xj−1 )2 (x − xj+1 )2 · · · (x − xn )2 (ˆ mit noch zu bestimmenden Konstanten a ˆ und ˆb. Wir setzen α≡a ˆ

n .

(xi − xj )2

i=0 i=j

und

β ≡ ˆb

n .

(xi − xj )2 .

i=0 i=j

Damit ergibt sich Hn,j (x) = L2n,j (x) (αx + β). Aus der Bedingung (a) folgt 1 = Hn,j (xj ) = L2n,j (xj ) (α xj + β) = α xj + β.

(6.53)

Die Bedingung (b) impliziert 0=

d Hn,j (xj ) = 2 Ln,j (xj ) Ln,j (xj ) (α xj + β) + L2n,j (xj ) α dx

= 2 Ln,j (xj ) (α xj + β) + α = 2 Ln,j (xj ) · (1) + α. Somit ist α = −2 Ln,j (xj ). Setzt man dies in die Gleichung (6.53) ein, dann ergibt sich β = 1 − α xj = 1 + 2 Ln,j (xj ) xj . Folglich gilt α x + β = −2 Ln,j (xj ) x + 1 + 2 Ln,j (xj ) xj = 1 − 2 (x − xj ) Ln,j (xj ). Hieraus erh¨ alt man schließlich   Hn,j (x) = (α x + β) L2n,j (x) = 1 − 2(x − xj ) Ln,j (xj ) L2n,j (x). ˆ n,j (x) best¨ atigt. Da beide PolynoDamit ist die Form (6.5) von Hn,j (x) und H me vom Grad h¨ ochstens gleich 2n + 1 sind, kann auch der Grad von H2n+1 (x) h¨ ochstens 2n + 1 sein.

314

Kapitel 6 Interpolation und Polynom-Approximation

2) Eindeutigkeit Es sei P (x) ein Polynom vom Grad h¨ ochstens gleich 2n + 1 mit der Eigenschaft P (xk ) = f (xk )

und

P  (xk ) = f  (xk ),

k = 0, . . . , n.

Das Differenzpolynom D(x) ≡ H2n+1 (x) − P (x) ist auch vom Grad h¨ ochstens gleich 2n+1 und erf¨ ullt f¨ ur alle k = 0, . . . , n die Beziehungen D(xk ) = 0, D (xk ) = 0. Deshalb muß D(x) von der folgenden Form sein D(x) = (x − x0 )2 (x − x1 )2 · · · (x − xn )2 g(x), wobei g(x) ein gewisses Polynom bezeichnet. Da nun D(x) ein Polynom vom Grad h¨ ochstens gleich 2n + 1 mit 2n + 2 Wurzeln ist, folgt aus dem Fundamentalsatz der Algebra unmittelbar D(x) ≡ 0, d.h P (x) = H2n+1 (x). ¨ Der Beweis des Fehlerterms sei dem Leser als individuelle Ubung u ¨berlassen.  In den Abbildungen 6.9 und 6.10 ist der Verlauf der Hermite-Faktoren Hn,j (x) und ˆ n,j (x) am Beispiel n = 6, j = 3 skizziert. Als St¨ H utzstellen wurden xj = j, j = 0, . . . , 6 ausgew¨ ahlt. Diese Stellen sind als kleine Kreise auf der x-Achse eingezeichnet.

Abbildung 6.9: Typischer Verlauf des Hermite-Faktors H6,3 (x)

6.5 Hermite-Interpolation

315

ˆ 6,3 (x) Abbildung 6.10: Typischer Verlauf des Hermite-Faktors H

Wir wollen nun die Hermite-Interpolation anhand eines Beispiels demonstrieren. Beispiel 6.5. Hierzu kehren wir zu der in Beispiel 6.4 betrachteten Aufgabe zur¨ uck. Es soll jetzt ein Hermite-Polynom vom Grad h¨ ochstens gleich 5 bestimmt werden, aus dem wir wieder eine N¨ aherung f¨ ur sin(1.5) berechnen k¨ onnen. Diese Interpolationsaufgabe erfordert nicht die volle Tabelle 6.1, da aus 2n + 1 = 5 f¨ ur die ben¨ otigte Anzahl von St¨ utzstellen n = 2 folgt. Jedoch m¨ ussen f¨ ur die Ableitung f  (x) die entsprechenden Werte hinzugef¨ ugt werden. Wir verwenden deshalb die in der Tabelle 6.6 angegebenen Zahlen. i

0

1

2

xi f (xi ) f  (xi )

1.3 0.96356 0.26750

1.6 0.99957 -0.02920

1.9 0.94630 -0.32329

Tabelle 6.6: St¨ utzstellen und St¨ utzwerte f¨ ur f (x) = sin(x)

Zuerst berechnen wir die Lagrange-Faktoren und deren Ableitungen: L2,0 (x)

=

x2 − 3.5x + 3.04 50 2 175 152 (x − x1 )(x − x2 ) = = x − x+ , (x0 − x1 )(x0 − x2 ) 0.18 9 9 9

Kapitel 6 Interpolation und Polynom-Approximation

316 L2,0 (x)

=

175 100 x− , 9 9

L2,1 (x)

=

(x − x0 )(x − x2 ) x2 − 3.2x + 2.47 100 2 320 247 = =− x + x− , (x1 − x0 )(x1 − x2 ) −0.09 9 9 9

L2,1 (x)

= −

L2,2 (x)

=

(x − x0 )(x − x1 ) x2 − 2.9x + 2.08 50 2 145 104 = = x − x+ , (x2 − x0 )(x2 − x1 ) 0.18 9 9 9

L2,2 (x)

=

145 100 x− . 9 9

320 200 x+ , 9 9

ˆ 2,j (x) ergeben sich dann wie folgt Die zugeh¨ origen Hermite-Faktoren H2,j (x) und H H2,0 (x)

=

[1 − 2(x − x0 )L2,0 (x0 )] L2,0 (x)

=

= H2,1 (x)

H2,2 (x)

50 2 175 152 [1 − 2(x − 1.3)(−5)] x − x+ 9 9 9 2 152 50 2 175 x − x+ (10x − 12) , 9 9 9

=

[1 − 2(x − x1 )L2,1 (x1 )] L22,1 (x)

=

1

=

[1 − 2(x − x2 )L2,2 (x2 )] L22,2 (x)

=

= ˆ 2,0 (x) H

=

ˆ 2,1 (x) H

=

2

2 100 2 320 247 − x + x− , 9 9 9

2 104 45 50 2 145 x x+ [1 − 2(x − 1.9) ] 9 9 9 9 2 104 50 2 145 x − x+ (20 − 10x) , 9 9 9 2 152 50 2 175 x − x+ (x − x0 )L22,0 (x) = (x − 1.3) , 9 9 9 2 247 100 2 320 x + x− (x − x1 )L22,1 (x) = (x − 1.6) − , 9 9 9

ˆ 2,2 (x) H

=

(x − x2 )L22,2 (x)

=

(x − 1.9)



104 50 2 145 x − x+ 9 9 9

2 .

6.5 Hermite-Interpolation

317

Schließlich berechnet sich H5 (x) nach der Formel (6.49) zu H5 (x) =

0.96356 H2,0 (x) + 0.99957 H2,1 (x) + 0.94630 H2,2 ˆ 2,0 (x) − 0.02920 H ˆ 2,1 (x) − 0.32329 H ˆ 2,2 (x). +0.26750 H

Setzt man die Stelle x ¯ = 1.5 in diese Formel ein, so bekommt man f¨ ur sin(1.5) die folgende N¨ aherung: 64 5 4 4 H5 (1.5) = 0.96365 + 0.99957 + 0.94630 + 0.26750 27 81 81 405 32 2 +0.02920 + 0.32329 = 0.99750.  405 405 Dem obigen Beispiel kann entnommen werden, daß die Formel (6.49) aufgrund der Bestimmung und Auswertung der Lagrange-Faktoren und ihrer Ableitungen sogar f¨ ur kleine n sehr aufwendig ist. Eine Alternative zur Erzeugung der Hermite-Polynome basiert auf der folgenden Beobachtung. Es gilt n¨ amlich f¨ ur die dividierte Differenz erster Ordnung nach dem Mittelwertsatz

f [x0 , x1 ] =

f (x1 ) − f (x0 ) f  (ξ)(x1 − x0 ) = = f  (ξ) x1 − x0 x 1 − x0

(6.54)

mit einer (unbekannten) Zwischenstelle ξ = x0 + ϑ(x1 − x0 ), 0 < ϑ < 1. ur Allgemeiner l¨ aßt sich zeigen, daß f¨ ur eine Funktion f ∈ Cn [a, b] der Mittelwertsatz f¨ dividierte Differenzen n-ter Ordnung erf¨ ullt ist, d.h., es gilt

f [x0 , x1 , . . . , xn ] =

f (n) (ξ) n!

(6.55)

mit einer Zwischenstelle ξ, min{x0 , . . . , xn } < ξ < max{x0 , . . . , xn }. Um dieses Resultat f¨ ur die Konstruktion des Hermite-Polynoms nutzbar zu machen, wollen wir annehmen, daß an den n + 1 St¨ utzstellen x0 , . . . , xn sowohl die Werte der Funktion f (x) als auch utzstellen wird nun eine neue Punktihrer Ableitung f  (x) gegeben sind. Aus diesen St¨ menge z0 , z1 , . . . , z2n+1 mittels der Vorschrift z2i = z2i+1 = xi

f¨ ur jedes i = 0, 1, . . . , n

gebildet. Mit den so konstruierten neuen St¨ utzstellen“ z0 , . . . , zn baut man die Tabel” ur jedes i ist, kann le 6.4 der dividierten Differenzen auf. Da aber z2i = z2i+1 = xi f¨ ber die Formel f¨ u r die dividierte Differenz erster Ordnung f [z2i , z2i+1 ] nicht u ¨ f [z2i , z2i+1 ] =

f [z2i+1 ] − f [z2i ] z2i+1 − z2i

Kapitel 6 Interpolation und Polynom-Approximation

318

bestimmt werden. Nach der Formel (6.54) gilt jedoch f¨ ur ein ξ ∈ (x0 , x1 ) die Beziehung f [x0 , x1 ] = f  (ξ), aus der wiederum lim f [x0 , x1 ] = f  (x0 ) folgt. Somit ist x1 →x0

aße Bestimmungsformel. In der Tabelle 6.4 verwenf [z2i , z2i+1 ] = f  (xi ) die sachgem¨ det man deshalb anstelle der nicht definierten dividierten Differenzen erster Ordnung f [z0 , z1 ], f [z2 , z3 ], . . ., f [z2n , z2n+1 ] die Terme f  (x0 ), f  (x1 ), . . ., f  (xn ). Die u ¨brigen dividierten Differenzen werden wie u ¨blich erzeugt und anschließend in die Formel (6.48) f¨ ur des Newtonsche Interpolationspolynom mit vorw¨ artsgenommenen dividierten Differenzen eingesetzt. Daraus resultiert die folgende Darstellung des Hermite-Polynoms

H2n+1 (x) = f [z0 ] +

2n+1 

f [z0 , z1 , . . . , zi ](x − z0 ) · · · (x − zi−1 ),

(6.56)

i=1

wobei z2i = z2i+1 = xi und f [z2i , z2i+1 ] = f  (xi ) f¨ ur jedes i = 0, . . . , n ist. Die Tabelle 6.7 zeigt die ersten 4 Spalten der f¨ ur die Hermite-Interpolation modifizierten Tabelle 6.4. z

f (z)

z0 = x0 f [z0 ] = f (x0 )

Ordnung 1 f [z0 , z1 ] = f  (x0 )

z1 = x0 f [z1 ] = f (x0 )

f [z1 , z2 ] = z2 = x1 f [z2 ] = f (x1 )

f [z2 ] − f [z1 ] z 2 − z1

f [z2 , z3 ] = f  (x1 ) z3 = x1 f [z3 ] = f (x1 )

f [z3 , z4 ] = z4 = x2 f [z4 ] = f (x2 )

Ordnung 2

f [z4 ] − f [z3 ] z 4 − z3

f [z4 , z5 ] = f  (x2 )

f [z0 , z1 , z2 ] f [z1 , z2 ] − f [z0 , z1 ] = z2 − z0 f [z1 , z2 , z3 ] f [z2 , z3 ] − f [z1 , z2 ] = z3 − z1 f [z2 , z3 , z4 ] f [z3 , z4 ] − f [z2 , z3 ] = z4 − z2 f [z3 , z4 , z5 ] f [z4 , z5 ] − f [z3 , z4 ] = z5 − z3

z5 = x2 f [z5 ] = f (x2 ) Tabelle 6.7: Dividierte Differenzen f¨ ur Hermite-Interpolation

6.6 Kubische Spline-Interpolation

6.6

319

Kubische Spline-Interpolation

In den vorherigen Abschnitten sind wir der Frage nachgegangen, wie man eine beliebige Funktion f (x) auf einem abgeschlossenen Intervall [a, b] durch Polynome Pn (x) m¨oglichst gut ann¨ ahern kann. Eine Antwort darauf war die Interpolation mit Lagrange-, Newton- und Hermite-Polynomen. F¨ ur die Praxis ist dieses Vorgehen durchaus sachgem¨ aß, falls der Grad n der Interpolationspolynome aus Genauigkeitsgr¨ unden nicht allzu groß gew¨ ahlt werden muß. Wir haben auch gesehen, daß Polynome h¨ oheren Grades an den R¨ andern stark schwingen. Um das unter dem Begriff Runge-Ph¨ anomen bekannte Oszillieren der Interpolationspolynome klein zu halten, bietet sich ein alternatives Vorgehen an. Man unterteilt das zugrundeliegende Intervall [a, b] ≡ [x0 , xn ] in eine gewisse Anzahl von Teilintervallen und konstruiert auf jedem dieser Teilintervalle eine (i.allg. verschiedene) Polynom-Approximation niedrigen Grades. Diese Strategie wird st¨ uckweise PolynomInterpolation genannt. Die einfachste st¨ uckweise Polynom-Interpolation stellt die in der Abbildung 6.11 skizzierte st¨ uckweise lineare Interpolation dar.

Abbildung 6.11: Beispiel f¨ ur eine st¨ uckweise lineare Interpolation

Hier werden die Punkte (x0 , f (x0 )), (x1 , f (x1 )), . . . , (xn , f (xn )) einfach durch Geradenst¨ ucke verbunden. Offensichtlich sind sehr viele St¨ utzstellen erforderlich, um bei dieser Approximationstechnik eine akzeptable Genauigkeit zu erhalten. Ein entscheidender Nachteil ist des weiteren, daß die aus den Geradenst¨ ucken zusammengesetzte Interpo-

320

Kapitel 6 Interpolation und Polynom-Approximation

lationsfunktion P (x) u utzstellen nicht glatt, ¨ber des gesamte Intervall [a, b] an den St¨ d.h., nicht differenzierbar ist. In den Naturwissenschaften und der Technik erfordern ¨ jedoch sehr h¨ aufig praktische Erw¨ agungen genau einen solchen glatten Ubergang. Die Verwendung st¨ uckweiser Hermite-Polynome anstelle von Geradenst¨ ucken wird dieser Zielstellung besser gerecht. Sind beispielsweise an den St¨ utzstellen x0 < x1 < · · · < xn die Werte von f (x) und f  (x) vorgegeben und approximiert man f (x) auf jedem der Teilintervalle [x0 , x1 ], [x1 , x2 ], . . . , [xn−1 , xn ] mit Hermite-Polynomen vom Grad 3, dann resultiert auf [x0 , xn ] eine stetig differenzierbare Interpolationsfunktion. Auf jedem Teilintervall [xj , xj+1 ], j = 0, . . . , n − 1, hat man somit die in Abschnitt 6.5 beschriebene origen Lagrange-Faktoren nur vom Polynomfunktion H3 (x) zu bestimmen. Da die zugeh¨ ersten Grad sind, kann dies mit relativ geringem Aufwand realisiert werden. Der Nachteil der st¨ uckweisen Hermite-Interpolation liegt nun darin, daß an den St¨ utzstellen die ussen. In praktischen Problemstellungen sind Werte von f (x) und f  (x) bekannt sein m¨ die Werte f¨ ur die Ableitung aber nur in den seltensten F¨ allen bekannt. Deshalb wollen wir uns im weiteren auf diejenigen Formen der st¨ uckweisen Interpolation beschr¨ anken, otigen. Wie wir sp¨ ater sehen werden, die in (a, b) keine Informationen u ¨ber f  (x) ben¨ sind manchmal noch Ableitungswerte an den Intervallgrenzen erforderlich. Diese kann man sich dann durch die Bildung von Differenzenquotienten n¨ aherungsweise beschaffen. Die einfachste differenzierbare st¨ uckweise Polynomfunktion auf dem gesamten Intervall [x0 , xn ] ergibt sich, indem man auf jedem einzelnen Segment [xj , xj+1 ], j = 0, . . . , n − 1, die Funktion f (x) durch ein quadratisches Polynom ann¨ ahert. Konkret heißt dies, daß quadratische Funktionen auf [x0 , x1 ], [x1 , x2 ], . . ., [xn−1 , xn ] konstruiert werden, die in den Randpunkten der Segmente mit f (x) u ¨bereinstimmen. Da ein allgemeines quadratisches Polynom drei freie Parameter besitzt und nur zwei davon f¨ ur die Anpassung an die vorgegebenen Werte von f (x) in den Endpunkten der Segmente ben¨ otigt werden, verbleibt noch jeweils ein Freiheitsgrad. Dieser Freiheitsgrad kann dazu genutzt werden, die quadratischen Funktionen so zu bestimmen, daß die Interpolationsfunktion u ¨ber das gesamte Intervall [x0 , xn ] eine stetige Ableitung besitzt. Das Problem bei der st¨ uckweisen quadratischen Interpolation ist jedoch, daß durch die obigen Bedingungen nicht alle Parameter bestimmt sind und damit die Interpolationsfunktion nicht eindeutig festgelegt ist. Andererseits sind nicht genug Freiheitsgrade vorhanden, um praktisch relevante Bedingungen an beiden R¨ andern des Gesamtintervalls [x0 , xn ] vorschreiben zu k¨ onnen. So ist es nicht m¨ oglich zu fordern, daß die Ableitung der st¨ uckweisen Interpolationsfunktion mit f  (x) in x = x0 und x = xn u ¨bereinstimmt. Diejenige st¨ uckweise Polynom-Interpolation, die auf jedem Segment kubische Polynome verwendet, wird kubische Spline-Interpolation genannt und soll im folgenden etwas genauer beschrieben werden. Es ist die zur Zeit am h¨ aufigsten verwendete Interpolationstechnik. Da das allgemeine kubische Polynom vier freie Parameter enth¨ alt, ist auf dem Gesamtintervall [x0 , xn ] u ¨ber die stetige Differenzierbarkeit der Interpolationsfunktion (die u ¨blicherweise kubischer Spline genannt wird) hinaus auch noch eine stetige zweite Ableitung garantierbar. Bei der Konstruktion des kubischen Splines gehen nicht wie bei der Hermite-Interpolation die Ableitungen von f (x) an den St¨ utzstellen mit in die Rechnungen ein – sie m¨ ussen deshalb nicht bekannt sein. Dies ist der wesentliche Vorteil der kubischen Spline-Interpolation.

6.6 Kubische Spline-Interpolation

321

Definition 6.8. Es seien eine auf dem Intervall [a, b] definierte Funktion f (x) sowie eine Menge von St¨ utzstellen a = x0 < x1 < · · · < xn = b gegeben. Eine kubische SplineInterpolationsfunktion (auch kurz kubischer Spline genannt) S(x) f¨ ur f (x) ist u ¨ber die Bedingungen (a)–(f) definiert: (a) S(x) ist auf dem Intervall [xj , xj+1 ), j = 0, . . . , n − 1, ein kubisches Polynom. Es werde mit Sj (x) bezeichnet. (b) S(xj ) = f (xj ),

j = 0, . . . , n.

(c) Sj+1 (xj+1 ) = Sj (xj+1 ),

j = 0, . . . , n − 2.

 (d) Sj+1 (xj+1 ) = Sj (xj+1 ),

j = 0, . . . , n − 2.

 (e) Sj+1 (xj+1 ) = Sj (xj+1 ),

j = 0, . . . , n − 1.

(f) Eine der folgenden Mengen von Randbedingungen ist erf¨ ullt: (i) S  (x0 ) = S  (xn ) = 0. 



(ii) S (x0 ) = f (x0 ),



(Freier Rand) 

S (xn ) = f (xn ).

(Eingespannter Rand)



Kubische Splines mit freiem Rand werden auch als nat¨ urliche Splines bezeichnet. Splines mit eingespanntem Rand liefern i.allg. genauere Resultate, da mehr Informationen u ¨ber den Verlauf der Funktion f (x) eingehen. Es werden jedoch an den Randpunkten x0 und xn die Werte von f  (x) oder zumindest hinreichend genaue Approximationen dieser Funktionswerte ben¨ otigt. Da diese in vielen F¨ allen nur mit erheblichen Aufwand bereitgestellt werden k¨ onnen, verwendet man in der Praxis sehr h¨ aufig die nat¨ urlichen Splines. Die Abbildung 6.12 zeigt das Ergebnis einer Interpolation mit nat¨ urlichen kubischen Splines. Um die kubische Spline-Interpolationsfunktion S(x) f¨ ur eine vorgegebene Funktion f (x) zu konstruieren, wenden wir die in der Definition 6.8 angegebenen Bedingungen (a)–(f) auf die kubischen Polynome Sj (x) = aj + bj (x − xj ) + cj (x − xj )2 + dj (x − xj )3 , j = 0, . . . , n − 1,

(6.57)

an und bestimmen die darin enthaltenen freien Parameter aj , bj , cj und dj . Als erstes ergeben sich aus den u ¨blichen Interpolationsbedingungen . Sj (xj ) = aj = f (xj ),

j = 0, . . . , n − 1.

Aus der Bedingung (c) folgt f¨ ur j = 0, . . . , n − 2 Sj+1 (xj+1 )

. = aj+1 = Sj (xj+1 ) = aj + bj (xj+1 − xj ) + cj (xj+1 − xj )2 + dj (xj+1 − xj )3 .

(6.58)

Kapitel 6 Interpolation und Polynom-Approximation

322

Abbildung 6.12: Beispiel f¨ ur eine Interpolation mit kubischen Splines

Zur Vereinfachung der Notation setzen wir hj ≡ xj+1 − xj . Obwohl auf dem Intervall [x0 , xn ] nur die kubischen Polynome S0 (x), . . . , Sn−1 (x) erforderlich sind, erkl¨ aren wir entsprechend (6.57) noch ein Polynom Sn (x) und definieren analog zu (6.58) an ≡ f (xn ).

(6.59)

Damit ergibt sich nun aj+1 = aj + bj hj + cj h2j + dj h3j ,

j = 0, . . . , n − 1.

(6.60)

Man berechnet Sj (x) = bj + 2cj (x − xj ) + 3dj (x − xj )2 ,

S  (x) = 2cj + 6dj (x − xj ).

Aus der ersten Gleichung folgt unmittelbar Sj (xj ) = bj ,

(6.61)

j = 0, . . . , n − 1.

Wie im Falle der aj definieren wir bn ≡ S  (xn ).

(6.62)

Die Bedingung (d) impliziert . bj+1 = bj + 2cj hj + 3dj h2j ,

j = 0, . . . , n − 1.

(6.63)

6.6 Kubische Spline-Interpolation

323

Unter Ber¨ ucksichtigung der zweiten Gleichung in (6.61) definieren wir cn ≡ S  (xn )/2. . Die Bedingung (e) ergibt cj+1 = cj + 3dj hj , j = 0, . . . , n − 1, woraus unmittelbar dj =

cj+1 − cj , 3hj

j = 0, . . . , n − 1,

(6.64)

onnen daraus nach der Formel (6.64) folgt. Sind die Koeffizienten cj bekannt, dann k¨ die Koeffizienten dj bestimmt werden. Setzt man jetzt (6.64) in (6.60) und (6.63) ein, dann bekommt man h2j (2cj + cj+1 ), 3

aj+1

=

a j + bj h j +

bj+1

=

bj + hj (cj + cj+1 ),

(6.65)

j = 0, . . . , n − 1.

(6.66)

j = 0, . . . , n − 1.

(6.67)

Die Au߬ osung von (6.65) nach bj ergibt

bj =

1 hj (aj+1 − aj ) − (2cj + cj+1 ), hj 3

onnen nach der Formel (6.67) die Koeffizienten Sind die Koeffizienten cj bekannt, dann k¨ bj berechnet werden. Verkleinert man den Index in (6.67) um eins, dann ergibt sich bj−1 =

1 hj−1 (aj − aj−1 ) − (2cj−1 + cj ). hj−1 3

(6.68)

Verkleinert man in (6.66) den Index ebenfalls um eins und setzt in die linke Seite der resultierenden Gleichung den Ausdruck (6.67) und in die rechte Seite den Ausdruck (6.68) ein, dann ergibt sich das folgende System linearer Gleichungen

hj−1 cj−1 + 2(hj−1 + hj )cj + hj cj+1 =

3 3 (aj+1 − aj ) − (aj − aj−1 ), hj hj−1 j = 1, . . . , n − 1.

(6.69)

Sind die Funktionswerte a0 , . . . , an (siehe die Formeln (6.58),(6.59)) und die Schrittweiten h0 , . . . , hn−1 vorgegeben, dann stellt (6.69) ein (unterbestimmtes) System von n − 1 linearen Gleichungen f¨ ur die n + 1 Unbekannten c0 , . . . , cn dar. Damit die Anzahl der Gleichungen mit der Anzahl der Unbekannten korrespondiert, m¨ ussen noch zwei weitere Bestimmungsgleichungen hinzugef¨ ugt werden. Diese findet man mittels der Randbedingungen (f), wie der folgende Satz zeigt.

Kapitel 6 Interpolation und Polynom-Approximation

324

Satz 6.6. Es sei f (x) eine auf [a, b] definierte Funktion. Dann besitzt f (x) eine eindeutige nat¨ urliche Spline-Interpolationsfunktion S(x), d.h. eine eindeutige Spline-Interpolaullt. tionsfunktion, die die Randbedingungen S  (a) = S  (b) = 0 (freier Rand) erf¨ Beweis: Aus den beiden Randbedingungen folgt unmittelbar cn ≡ S  (xn )/2 = 0 sowie 0 = S  (x0 ) = 2c0 + 6d0 (x0 − x0 ), d.h., c0 = 0 und cn = 0. Diese Gleichungen ergeben zusammen mit (6.69) ein lineares Gleichungssystem der Dimension n + 1, das in der Form (2.2) Ax = b

(6.70)

geschrieben werden kann, mit ⎡

1 ⎢ h0 ⎢ ⎢ ⎢ ⎢ A≡⎢ ⎢ ⎢ ⎢ ⎢ ⎣



⎤ 2(h0 + h1 ) h1

h1 2(h1 + h2 ) ..

h2 ..

. ..

..

. ..

.

.

hn−2

0

3 3 ⎢ (a2 − a1 ) − (a1 − a0 ) ⎢ ⎢ h1 h0 ⎢ .. ⎢ . ⎢ b≡⎢ .. ⎢ . ⎢ ⎢ 3 3 ⎢ (an − an−1 ) − (an−1 − an−2 ) ⎣ h hn−2 n−1 0

..

. 2(hn−2 + hn−1 )

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

.



und

⎢ ⎢ ⎢ ⎢ ⎢ x≡⎢ ⎢ ⎢ ⎢ ⎢ ⎣

hn−1 1

c0

⎥ ⎥ ⎥ ⎥ ⎥ ⎥, ⎥ ⎥ ⎥ ⎥ ⎦



⎥ c1 ⎥ ⎥ ⎥ .. ⎥ . ⎥ ⎥. ⎥ .. ⎥ . ⎥ ⎦ cn

Offensichtlich ist die Matrix A strikt diagonal-dominant. Der Satz 2.21 (man beachte auch die Bemerkung 2.13) besagt nun, daß das lineare Gleichungssystem (6.70) eine eindeutige L¨ osung besitzt. Diese kann mit den in Abschnitt 2.4.2 beschriebenen numerischen Verfahren f¨ ur tridiagonale lineare Gleichungssysteme berechnet werden.  Nachdem die Koeffizienten cj aus dem System (6.70) bestimmt sind, setzt man diese in (6.67) sowie (6.64) ein und erh¨ alt daraus die noch fehlenden Koeffizienten bj bzw. dj . orige kubische Polynom Sj (x) Jetzt kann man f¨ ur jedes Segment [xj , xj+1 ] das zugeh¨ entsprechend (6.57) bilden. Ist an einer vorgegebenen Interpolationsstelle x = x ¯ eine N¨aherung f¨ ur die Funktion f (x) gesucht, dann wird man zuerst dasjenige Segment ¯ in bestimmen, in dem x ¯ liegt – sagen wir, dies ist [xk , xk+1 ]. Anschließend setzt man x alt Sk (¯ x) ≈ f (¯ x). das entsprechende kubische Polynom Sk (x) ein und erh¨

6.6 Kubische Spline-Interpolation

325

Im Programm 6.1 ist die nat¨ urliche Spline-Interpolation als Matlab-Funktion nspline implementiert. Man beachte, daß in der Matlab die Felder mit dem Index 1 beginnen m¨ ussen, so daß eine Index-Verschiebung erforderlich war. Programm 6.1

Nat¨ urlicher Spline

function [a,b,c,d] = nspline(x,y) % % % % % %

x: Vektor der St¨ utzstellen x(1),...,x(n+1) y: Vektor der St¨ utzwerte y(1),...,y(n+1) a,b,c,d: Vektoren der Dimension n+1 mit den Koeffizienten der Spline-Funktion n=length(x)-1; for i=1:n h(i)=x(i+1)-x(i); end a=y; for i=2:n q(i)=3*(a(i+1)*h(i-1)-a(i)*(x(i+1)-x(i-1))+a(i-1)*h(i))/(h(i-1)*h(i)); end l(1)=1; mue(1)=0; z(1)=0; for i=2:n l(i)=2*(x(i+1)-x(i-1))-h(i-1)*mue(i-1); mue(i)=h(i)/l(i); z(i)=(q(i)-h(i-1)*z(i-1))/l(i); end l(n+1)=1; z(n+1)=0; c(n+1)=z(n+1); for j=n:-1:1 c(j)=z(j)-mue(j)*c(j+1); b(j)=(a(j+1)-a(j))/h(j)-h(j)*(c(j+1)+2*c(j))/3; d(j)=(c(j+1)-c(j))/(3*h(j)); end

Bemerkung 6.5. Das obige Programm basiert auf den Algorithmen 2.7 und 2.8 zur L¨osung tridiagonaler linearer Gleichungssysteme.  Bemerkung 6.6. Die kubische Spline-Interpolation ist eine sehr genaue Technik, wenn ahlt. In den Anwendungen vermeiman nur die Schrittweiten h0 , . . . , hn nicht zu groß w¨ det man aber oftmals diese Interpolationstechnik, da die vielen Koeffizienten rein mathematischer Natur sind und sich kaum disziplin¨ ar interpretieren lassen. Anders sieht es bei der Interpolation mit Polynomen u ¨ber das gesamte Intervall [a, b] aus. Hier kann man durchaus davon ausgehen, daß einige der zugeh¨ origen Koeffizienten praktische Bedeutung besitzen. Man muß dann aber Genauigkeitsverluste, die durch die SplineInterpolation gerade vermieden werden, in Kauf nehmen. 

Kapitel 6 Interpolation und Polynom-Approximation

326

F¨ ur Splines mit eingespanntem Rand gilt ein zu Satz 6.6 entsprechendes Resultat. Satz 6.7. Es sei f (x) eine auf [a, b] definierte Funktion. Dann besitzt f (x) eine eindeutige Spline-Interpolationsfunktion S(x), welche die beiden speziellen Randbedingungen ullt. S  (a) = f  (a) und S  (b) = f  (b) (eingespannter Rand) erf¨ Beweis: Man findet unmittelbar S  (a) = S  (x0 ) = b0 . Die erste Randbedingung in . (f),(ii) besagt f  (a) = S  (a) = b0 . Verwendet man nun auf der rechten Seite dieser ur j = 0 ergibt, dann erh¨ alt man Beziehung die Darstellung von b0 , die sich aus (6.67) f¨ f  (a) =

a1 − a 0 h0 − (2c0 + c1 ) h0 3

bzw.

2h0 c0 + h0 c1 =

3 (a1 − a0 ) − 3f  (a). (6.71) h0

Nach Formel (6.62) ist S  (b) = S  (xn ) = bn . Aus der zweiten Randbedingung in (f),(ii) . erhalten wir f  (b) = S  (b) = bn . Setzt man in die rechte Seite die Darstellung von bn , die sich aus (6.66) f¨ ur j = n − 1 ergibt, ein, dann resultiert f  (b) = bn−1 + hn−1 (cn−1 + cn ). Ersetzt man nun bn−1 durch denjenigen Ausdruck, der sich f¨ ur j = n − 1 aus (6.67) ergibt, so folgt an − an−1 hn−1 (2cn−1 + cn ) + hn−1 (cn−1 + cn ) − hn−1 3 an − an−1 hn−1 = (cn−1 + 2cn ) + hn−1 3

f  (b) =

beziehungsweise hn−1 cn−1 + 2hn−1 cn = 3f  (b) −

3 hn−1

(an − an−1 ).

(6.72)

Die Gleichungen (6.69) sowie (6.71), (6.72) ergeben zusammen ein System von n + 1 linearen Gleichungen in den n + 1 Unbekannten c0 , . . . , cn , das wir wieder in der Form Ax = b aufschreiben k¨ onnen, mit ⎡ h0 2h0 ⎢ h0 2(h0 + h1 ) ⎢ ⎢ h1 ⎢ ⎢ A≡⎢ ⎢ ⎢ ⎢ ⎢ ⎣

⎤ h1 2(h1 + h2 ) ..

h2 ..

. ..

..

. ..

. hn−2

.

. ..

. 2(hn−2 + hn−1 ) hn−1

hn−1 2hn−1

⎥ ⎥ ⎥ ⎥ ⎥ ⎥, ⎥ ⎥ ⎥ ⎥ ⎦

6.6 Kubische Spline-Interpolation ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ b≡⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

327

3 (a1 − a0 ) − 3f  (a) h0 3 3 (a2 − a1 ) − (a1 − a0 ) h1 h0 .. . .. . 3 3 (an − an−1 ) − (an−1 − an−2 ) hn−1 hn−2 3 (an − an−1 ) 3f  (b) − hn−1

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦



und

⎢ ⎢ ⎢ x≡⎢ ⎢ ⎢ ⎣

c0 c1 .. . .. . cn

⎤ ⎥ ⎥ ⎥ ⎥. ⎥ ⎥ ⎦

Offensichtlich ist die Matrix A wiederum strikt diagonal-dominant, so daß auch f¨ ur diese Randbedingungen eine eindeutige L¨ osung des linearen Gleichungssystems existiert.  Da bei der Spline-Interpolationsfunktion mit eingespanntem Rand mehr Informationen u ¨ber die zu approximierende Funktion f (x) in die Rechnungen eingeht als dies beim nat¨ urlichen Spline der Fall ist, wird man sich bei praktischen Interpolationsaufgaben i.allg. f¨ ur diesen Interpolationstyp entscheiden. Hierzu ist es aber notwendig, die Werte von f  (x) an den Randpunkten a und b mit ausreichender Genauigkeit zu approximieren. Wie man dies realisieren kann, wird im n¨ achsten Kapitel dieses Buches beschrieben. F¨ ur den Fehler, der bei der Ersetzung einer Funktion f (x) durch ihre kubische SplineInterpolationsfunktion entsteht, gibt es in der Literatur eine Vielzahl von Absch¨ atzungen. Eine solche wollen wir f¨ ur Splines mit eingespanntem Rand hier angeben. Satz 6.8. Gegeben sei eine Funktion f ∈ C4 [a, b] mit max |f (4) (x)| ≤ M . Bezeichnet a≤x≤b

S(x) die eindeutige kubische Spline-Interpolationsfunktion bez¨ uglich der n + 1 St¨ utzstelullt, dann gilt len a = x0 < x1 < · · · < xn = b, die S  (a) = f  (a) und S  (b) = f  (b) erf¨ f¨ ur den Approximationsfehler max |f (x) − S(x)| ≤

a≤x≤b

5M 384

max

0≤j≤n−1

(xj+1 − xj )4 .

Beweis: Siehe zum Beispiel die Monographie von Schultz.1

(6.73) 

Das Programm 6.2 enth¨ alt die Matlab-Implementierung espline f¨ ur die kubische Spline-Interpolation mit eingespanntem Rand. Das Programm 6.3 berechnet schließlich an vorzugebenden Stellen t1 , . . . , tm , die nicht ussen, die Werte des interpolierenden Splines. mit den St¨ utzstellen xi u ¨bereinstimmen m¨ Hierzu m¨ ussen die zuvor mit den Programmen 6.1 oder 6.2 berechneten Koeffizientenvektoren a,b,c,d bereitgestellt werden. 1

M. H. Schultz: Spline Analysis. Prentice-Hall, Englewood Cliffs, N.J., 1966.

Kapitel 6 Interpolation und Polynom-Approximation

328 Programm 6.2

Spline mit eingespanntem Rand

function [a,b,c,d] = espline(x,y,fs) % % % % % %

x: Vektor der St¨ utzstellen x(1),...,x(n+1) y: Vektor der St¨ utzwerte y(1),...,y(n+1) fs: Vektor mit fs(1)=f’(a) und fs(2)=f’(b) a,b,c,d: Vektoren der Dimension n+1 mit den Koeffizienten der Spline-Funktion n=length(x)-1; for i=1:n h(i)=x(i+1)-x(i); end a=y; q(1)=3*(a(2)-a(1))/h(1)-3*fs(1); q(n+1)=3*fs(2)-3*(a(n+1)-a(n))/h(n); for i=2:n q(i)=3*(a(i+1)*h(i-1)-a(i)*(x(i+1)-x(i-1))+a(i-1)*h(i))/(h(i-1)*h(i)); end l(1)=2*h(1); mue(1)=.5; z(1)=q(1)/l(1); for i=2:n l(i)=2*(x(i+1)-x(i-1))-h(i-1)*mue(i-1); mue(i)=h(i)/l(i); z(i)=(q(i)-h(i-1)*z(i-1))/l(i); end l(n+1)=h(n)*(2-mue(n)); z(n+1)=(q(n+1)-h(n)*z(n))/l(n+1); c(n+1)=z(n+1); for j=n:-1:1 c(j)=z(j)-mue(j)*c(j+1); b(j)=(a(j+1)-a(j))/h(j)-h(j)*(c(j+1)+2*c(j))/3; d(j)=(c(j+1)-c(j))/(3*h(j)); end

Eine wichtige praktische Eigenschaft der Spline-Funktionen ist deren minimales oszillatorisches Verhalten. So besitzt der kubische Spline unter allen Funktionen, die zweimal stetig differenzierbar auf einem Intervall [a, b] sind und eine gegebene Menge von Datenpunkten {(xi , yi )}ni=0 dort interpolieren, die geringsten Schwankungen. Im folgenden Satz wird dieses Resultat pr¨ azisiert. Man beachte dabei, daß die Kr¨ ummung einer Kurve, die durch die Gleichung y = f (x) beschrieben wird, durch den Ausdruck > ? 2 −3/2 |f  (x)| 1 + {f  (x)} gegeben ist. L¨ aßt man den nichtlinearen Term in den eckigen Klammern weg, dann ur die Kr¨ ummung dar. stellt |f  (x)| eine Approximation f¨ Satz 6.9. Es seien f ∈ C2 [a, b] und S(x) die eindeutige kubische Spline-Interpolationsfunktion f¨ ur f (x), die durch die Punktmenge {(xi , f (xi ))}ni=0 verl¨auft und die

6.6 Kubische Spline-Interpolation Programm 6.3

329

Interpolation mit der Spline-Funktion

function [y] = nsplinec(a,b,c,d,x,t) % % % % % %

x: Vektor der St¨ utzstellen x(1),...,x(n+1) t: Vektor der Ausgabestellen t(1),...,t(m) a,b,c,d: zuvor berechnete Koeffizientenvektoren des Splines y: Vektor der Werte des Splines an den Ausgabestellen t(i) n=length(x); m=length(t); k=1; for i=1:m for j=1:n-1 if x(j) 0 und y > 0 gelten. Logarithmiert man nun die Formel (7.15), so ergibt sich ln y = a ln x + ln c.

(7.16)

Mit X ≡ ln x,

Y ≡ ln y

und

b ≡ ln c

(7.17)

erhalten wir nun eine lineare Gleichung Y = a X + b.

(7.18)

Somit wird man vor der Ausf¨ uhrung einer Approximation mit der Methode der Kleinsten Quadrate die Meßpunkte {(xi , yi ), i = 0, . . . , M } zuerst logarithmieren, d.h., aus der urspr¨ unglichen Tabelle eine neue Tabelle mit der transformierten Punktmenge {(Xi , Yi ) ≡ (ln xi , ln yi ), i = 0, . . . , M } erzeugen. Anschließend bestimmt man unter Verwendung von (7.18) die zugeh¨ orige Ausgleichsgerade. Nachdem dann die Parameter a und b bestimmt sind, muß man den Parameter c entsprechend der Formel c = eb berechnen. Setzt man schließlich a und c in (7.15) ein, so ergibt sich die gesuchte N¨aherungsfunktion. Einen weiteren wichtigen Spezialfall von (7.14) stellt die exponentielle Abh¨ angigkeit y = c eax ,

(7.19)

mit c > 0, dar. Logarithmiert man wieder die obige Gleichung, so ergibt sich ln y = a x + ln c. Mit X ≡ x,

Y ≡ ln y

und

b ≡ ln c

(7.20)

folgt daraus wieder eine lineare Gleichung Y = a X + b.

(7.21)

Offensichtlich braucht man hier nur die y-Komponenten der Meßpunkte (xi , yi ) zu logarithmieren, um die neue Tabelle mit den entsprechend transformierten Punkten

7.1 Diskrete Kleinste-Quadrate Approximation

361

{(Xi , Yi ) ≡ (xi , ln yi ), i = 0, . . . , M } zu erzeugen. Dann l¨ aßt sich wieder die Ausgleichsgerade in der Form (7.21) mit der Methode der Kleinsten Quadrate berechnen. Den noch fehlenden Parameter c in (7.19) bestimmt man schließlich nach (7.20) zu c = eb . Als ein letztes Beispiel f¨ ur die Koordinatentransformation (7.14) wollen wir annehmen, daß die Meßpunkte ann¨ ahernd auf einer Kurve liegen, die einem Hyperbelzweig mit der x-Achse als Asymptote ¨ ahnlich sieht. Daher setzen wir als empirische Funktion an: y=

1 . ax + b

(7.22)

Hieraus ergibt sich unmittelbar 1 = a x + b. y F¨ uhrt man jetzt die neuen Ver¨ anderlichen X≡x

und

Y ≡

1 y

(7.23)

ein, dann ergibt sich die lineare Gleichung Y = a X + b.

(7.24)

Auch in diesem Fall brauchen nur die y-Komponenten der Meßpunkte (xi , yi ) transformiert zu werden, d.h., die neue Tabelle besteht aus den transformierten Punkten {(Xi , Yi ) ≡ (xi , 1/yi ), i = 0, . . . , M }. Die Parameter werden dann analog zu den vorangegangenen beiden Beispielen berechnet. Sollte es sich herausstellen, daß f¨ ur die Meßwerte {(xi , yi ), i = 0, . . . , M } eine Approximation durch eine lineare Funktion ungeeignet ist (selbst bei einer vorherigen Transformation (7.14) der Daten), so kann man das Datenmaterial dahingehend untersuchen, ob eine quadratische Abh¨ angigkeit der Gestalt y = a x2 + b x + c

(7.25)

besteht. Ist dies der Fall, dann l¨ aßt sich mit einem quadratischen Polynom P2 (x) die in Abschnitt 7.1.1 angegebene Kleinste-Quadrate-Approximation durchf¨ uhren. Zum Erkennen einer solche quadratischen Abh¨ angigkeit bilden wir wieder die Differenzen xi ≡ xi+1 − xi > 0,

i = 0, . . . , M − 1.

Besteht nun zwischen den Ver¨ anderlichen x und y eine Abh¨ angigkeit der Form (7.25), dann ist die Folge y0 , y1 , . . . , yM entweder monoton, d.h., die Differenzen yi ≡ yi+1 − yi ,

i = 0, . . . , M,

362

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

haben ein konstantes Vorzeichen, oder die Folge besitzt ein einziges Extremum, d.h., die Differenzen yi wechseln genau einmal das Vorzeichen. Verwendet man nun die in Abschnitt 6.4 definierten dividierten Differenzen, dann ist es nicht schwer zu zeigen (siehe Formel (6.55)), daß die Punkte (xi , yi ) genau dann auf der Parabel (7.25) liegen, wenn alle dividierten Differenzen 2. Ordnung gleich sind, d.h., wenn f¨ ur i = 0, . . . , M −2 gilt:

yi  f [xi+1 , xi+2 ] − f [xi , xi+1 ] xi f [xi , xi+1 , xi+2 ] = = = const. xi+2 − xi xi + xi+1

(7.26)

Hat man es insbesondere mit ¨ aquidistant verteilten Punkten x0 , . . . , xM zu tun, d.h., es ur das Bestehen der quadratigilt f¨ ur alle i die Beziehung xi = h = const, dann ist f¨ schen Abh¨ angigkeit (7.25) notwendig und hinreichend, daß die Differenzen 2. Ordnung 2 yi gleich sind: 2 yi = yi+2 − 2yi+1 + yi = const,

i = 0, . . . , M − 2.

(7.27)

In diesem Fall ist dann 2 yi = 2h2 a. Wie auch bei den Tests hinsichtlich linearer Abh¨ angigkeit macht es wegen der fehlerbehafteten Meßwerte nur einen Sinn, die Differenzen 2. Ordnung auf n¨aherungsweise Gleichheit zu u ufen. Es ist jedoch zu beachten, daß die zweiten Differenzen sehr ¨berpr¨ stark auf Abweichungen von der parabolischen Abh¨ angigkeit (7.25) reagieren. Im folgenden wollen wir an die bisher untersuchte Fragestellung etwas allgemeiner herangehen. Es soll n¨amlich die Frage beantwortet werden, wie man zu vorgegebenen Meßdaten {(xi , yi ), i = 0, . . . , M } eine zweiparametrige empirische Funktion g(x; a, b) finden kann, die dem tats¨ achlichen funktionalen Zusammenhang recht nahe kommt. Die beiden Spezialf¨ alle g(x; a, b) = a x + b und g(x; a, b) = x2 + b x + c wurden bereits uck, mitstudiert. Auf Demidowitsch, Maron und Schuwalowa1 geht der Vorschlag zur¨ tels dreier Punkte (x0 , y0 ), (xs , ys ) und (xM , yM ) ein Entscheidungskriterium f¨ ur oder gegen eine spezielle (zweiparametrige) Funktion zu formulieren. Der Punkt (xs , ys ) ist entweder ein gegebener Meßpunkt mit 0 < s < M , oder aber ein Punkt, der nicht in der Tabelle der Meßwerte enthalten ist. Im letzteren Fall wird er so festgelegt, daß das Entscheidungskriterium m¨ oglichst einfach ausf¨ allt. Die Grundidee soll anhand der Potenzfunktion y = a xb

(7.28)

ur alle i vorausgesetzt. Wir verdeutlicht werden. Hierzu werde xi > 0 und yi > 0 f¨ 1

B. P. Demidowitsch, I. A. Maron und E. S. Schuwalowa: Numerische Methoden der Analysis. VEB Deutscher Verlag der Wissenschaften, Berlin, 1968.

7.1 Diskrete Kleinste-Quadrate Approximation

363

w¨ahlen f¨ ur xs keinen Tabellenwert, sondern setzen xs ≡

√ x0 xM .

(7.29)

Setzt man die drei Punkte (x0 , y0 ), (xs , ys ) und (xM , yM ) in die Formel (7.28) ein, so erh¨ alt man b b 2 y0 = a xb0 , ys = a xbs = a x02 xM , yM = a xbM . Die Elimination der Parameter a und b aus diesen Gleichungen ergibt y0 yM = ys2 , ys =

d.h.

√ y 0 yM .

(7.30)

Folglich ist f¨ ur die Existenz der Potenzfunktion (7.28) notwendig, daß dem geometrischen Mittel (7.29) das geometrische Mittel (7.30) entspricht. Ist der Wert (7.29) von xs nicht in der Tabelle der Meßwerte enthalten, dann l¨ aßt sich der zugeh¨ orige Wert ys zum Beispiel durch lineare Interpolation (siehe Formel (6.6)) approximieren. In der Tabelle 7.2 sind f¨ ur die zweiparametrigen Funktionen (i)

y = a x + b,

(iv)

y =a+

(vii)

b , x y = a ln x + b

(ii)

y = a xb ,

(v)

y=

1 , ax + b

(iii)

y = a bx ,

(vi)

y=

x , ax + b

(7.31)

die notwendigen Bedingungen f¨ ur die Existenz eines funktionalen Zusammenhangs angegeben1 . Die genannten Autoren schlagen nun die folgende Strategie zur Auswahl einer sachgem¨ aßen empirischen Formel anhand der Tabelle 7.2 vor. Gegeben seien wie u ¨blich ˜s entdie Meßpunkte (x0 , y0 ), . . . , (xM , yM ). Man bestimme zuerst den Wert xs ≡ x sprechend der in der zweiten Spalte angegebenen Formel. Dann w¨ ahle man aus den Meßdaten den zugeh¨ origen Wert ys aus oder berechne diesen mittels linearer Interpolation. Anschließend vergleiche man ys mit y˜s , wobei dieser Wert nach der Formel in der dritten Spalte zu berechnen ist. Diejenige empirische Funktion wird bevorzugt, f¨ ur oglichst klein ist. F¨ ur eine endg¨ ultige Entscheidung wird die die Differenz |ys − y˜s | m¨ aber das Ergebnis u ¨blicherweise noch an einigen Zwischenpunkten aus der vorgegebenen Meßtabelle u uft. Falls die Gr¨ oße |ys − y˜s | dabei eine vorzugebende obere ¨berpr¨ Schranke u ¨berschreitet, sollte die entsprechende empirische Funktion unbedingt wieder verworfen werden. In diesem Fall muß man nach einer anderen zweiparametrigen 1

B. P. Demidowitsch, I. A. Maron und E. S. Schuwalowa: Numerische Methoden der Analysis. VEB Deutscher Verlag der Wissenschaften, Berlin, 1968.

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

364 x ˜s

y˜s

x0 + xM 2

y0 + yM 2

arithmetisches Mittel √ x0 x M

arithmetisches Mittel

geometrisches Mittel

geometrisches Mittel

x0 + xM 2



arithmetisches Mittel

geometrisches Mittel

2x0 xM x0 + xM

y0 + yM 2

harmonisches Mittel

arithmetisches Mittel

x0 + xM 2

2y0 yM y0 + yM

Typ

(i)



y0 yM

(ii)

(iii)

(v) arithmetisches Mittel

harmonisches Mittel

2x0 xM x0 + xM

2y0 yM y0 + yM

harmonisches Mittel

harmonisches Mittel



y0 + yM 2

(vi)

(vii) geometrisches Mittel

arithmetisches Mittel

Linearisierte Form

y = ax + b

y = a xb

Y = α + b X, mit X ≡ ln x Y ≡ ln y, α ≡ ln a

y = a bx

Y = α + β x, mit Y ≡ ln y α ≡ ln a, β ≡ ln b

y0 yM

(iv)

x0 x M

Gestalt der empirischen Formel

Y = a x + b, b y =a+ x

mit Y ≡ x y

Y = a x + b, 1 y= ax + b

mit Y ≡

1 y

x y= ax + b

Y = a x + b, x mit Y ≡ y

y = a ln x + b

y = a X + b, mit X ≡ ln x

Tabelle 7.2: Kriterien f¨ ur eine zweidimensionale empirische Formel

oder aber auch mehrparametrigen empirischen Formel suchen, die dem wahren funktionalen Zusammenhang besser entspricht. Wurde aber ein geeigneter Ansatz mit der Tabelle 7.2 gefunden, dann wird man die urspr¨ unglichen Meßpunkte, wie in der f¨ unften

7.1 Diskrete Kleinste-Quadrate Approximation

365

Spalte angegeben, so transformieren, daß nur ein linearer Ausgleich nach der Methode der Kleinsten Quadrate durchgef¨ uhrt werden muß. Bemerkung 7.1. Die in diesem Abschnitt vorgestellten Techniken basieren i.allg. auf solchen Transformationen der urspr¨ unglichen Meßdaten, daß nur eine Ausgleichsgerade mit der Methode der Kleinsten Quadrate zu bestimmen ist. Man sollte dabei aber beachten, daß sich das Ergebnis signifikant von dem unterscheiden kann, welches sich bei einer direkten Kleinste-Quadrate-Approximation (ohne eine vorherige Transformation  (Xi , Yi ) ⇐ (xi , yi )) mit einer der Funktionen aus (7.31) ergibt.

7.1.3

Nichtlineare Approximation

Im vorangegangenen Abschnitt haben wir im Falle eines nichtlinearen funktionalen Zusammenhangs versucht, durch eine a priori Transformation der gegebenen Meßpunkte xi , y˜i ), i = 0, . . . , M } zu gelangen, {(xi , yi ), i = 0, . . . , M } zu einer Tabelle von Daten {(˜ die mit einer linearen Funktion ausgeglichen werden kann. Nach der Bestimmung der Ausgleichsgeraden erh¨ alt man schließlich die gesuchten Parameterwerte f¨ ur die nichtlineare Approximationsfunktion aus einer a posteriori Transformation der Koeffizienten dieser linearen Funktion. Wir wollen jetzt auf eine solche a priori Transformation der Meßpunkte verzichten und den nichtlinearen funktionalen Zusammenhang direkt approximieren. Die nichtlineare empirische Funktion (7.32) y(x) = b ea x soll uns hierbei als Beispiel dienen. Der entscheidende Unterschied zur Approximation mit Polynomen besteht darin, daß die zu berechnenden Parameter in (7.32) nichtlinear auftreten. Wie die Methode der Kleinsten Quadrate vorschreibt, hat man nun die Funktion F (a, b) ≡

M 

(yi − y(xi ))2 =

i=0

M 

(yi − b ea xi )

2

(7.33)

i=0

zu bilden und mit dieser das folgende Optimierungsproblem ohne Nebenbedingungen zu konstruieren: F (a, b)

−→ a,b

min.

(7.34)

Es gibt eine Vielzahl numerischer Techniken, mit denen sich die lokalen Minima von (7.33),(7.34) iterativ bestimmen lassen. Im wesentlichen handelt es sich dabei um die ur ein allgemeines Funktional F (x), sogenannten Abstiegsverfahren 1 , deren Prinzip wir f¨ F : D ⊂ Rm → R+ , 1

Siehe zum Beispiel das Buch von H. Schwetlick: Numerische L¨ osung nichtlinearer Gleichungen. VEB Deutscher Verlag der Wissenschaften, Berlin, 1979.

366

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

kurz darstellen wollen. Im Falle von (7.33) ist m = 2, x1 = a und x2 = b zu setzen. Die Abstiegsverfahren erzeugen, ausgehend von einem Startvektor x(0) , eine Vektorfolge ∗ {x(k) }∞ k=0 , die unter bestimmten Voraussetzungen gegen einen Minimierungspunkt x des Funktionals F (x) konvergiert. Die Iterierten werden dabei in der Form x(k+1) = x(k) − ωk αk p(k)

(7.35)

angegeben, wobei p(k) einen Richtungsvektor, αk ≥ 0 eine Schrittl¨ ange und ωk ≥ 0 einen Relaxationsparameter bezeichnen. In jedem Iterationsschritt bestimmt man p(k) , ωk und αk so, daß der Wert des Funktionals F (x) abnimmt, d.h., daß gilt F (x(k) ) ≥ F (x(k+1) ).

(7.36)

Ein solches Abstiegsverfahren besteht i.allg. aus zwei Teilalgorithmen, n¨ amlich einem zur Bestimmung einer neuen Richtung p(k) und einem anderen (die sogenannte Liniensuche) zur Auswahl der n¨ achsten Iterierten auf dem Halbstrahl {x ∈ Rm :

x = x(k) − αp(k) , α ≥ 0},

(7.37)

so daß x(k+1) ∈ D und (7.36) gilt. Das Funktional F (x) m¨ oge stetige zweite partielle Ableitungen bez¨ uglich aller vorkommenden Variablen x1 , . . . , xm besitzen, d.h. F ∈ C2 (Rm ). Wir bezeichnen den Gradienten von F (x) mit T ∂ ∂ F (x), . . . , F (x) (7.38) g(x) ≡ ∂ x1 ∂ xm und die Matrix der zweiten partiellen Ableitungen von F (x), die Hesse-Matrix, mit ∂2 H(x) ≡ F (x) , i, k = 1, . . . , m. (7.39) ∂xi ∂xk ¨ Ublicherweise wird f¨ ur den Richtungsvektor p(k) eine Abstiegsrichtung von F (x) verwendet, d.h., man verlangt −g(x(k) )T p(k) < 0. Diese Bedingung garantiert, daß bei der Liniensuche nur positive Werte von α ber¨ ucksichtigt werden m¨ ussen. Da jeder (lokale) Minimierungspunkt x∗ des Funktionals F (x) auch eine Nullstelle des Gradienten g(x) ist (notwendige Bedingung f¨ ur ein Minimum), kann man ein beliebiges Iterationsverfahren zur Bestimmung von L¨ osungen nichtlinearer Gleichungssysteme (siehe Kapitel 5) auf das System g(x) = 0, ∂ F (x) = 0, ∂ x1

∂ F (x) = 0, . . . , ∂ x2

∂ F (x) = 0, ∂ xm

(7.40)

7.1 Diskrete Kleinste-Quadrate Approximation

367

anwenden und erh¨ alt bei Konvergenz einen Minimierungspunkt von F (x). W¨ ahlt man hierzu das Newton-Verfahren (5.18) aus, dann entspricht dies der Verwendung des Richtungsvektors p(k) ≡ H(x(k) ) g(x(k) )

(7.41)

im Abstiegsverfahren (7.35). Bei konstanter Schrittl¨ ange αk = 1 und konstantem Reuhrt diese Wahl offensichtlich zu einem quadratisch konlaxationsparameter ωk = 1 f¨ vergenten Iterationsverfahren (siehe Satz 5.3). Das Abstiegsverfahren (7.35) mit dem Richtungsvektor (7.41) ist in der Literatur unter dem Namen Gauß-Newton-Verfahren bekannt. Es besitzt jedoch den entscheidenden Nachteil, daß die Matrix H(x(k) ) aller zweiten partiellen Ableitungen von F (x) in jedem Iterationsschritt neu berechnet werden muß. Es gibt jedoch ¨ ahnlich dem Broyden-Verfahren f¨ ur nichtlineare Gleichungssysteme (siehe Abschnitt 5.3) ableitungsfreie Varianten des Gauß-Newton-Verfahrens, bei denen gewisse Rang-2-Modifikationsformeln eine wichtige Rolle spielen1 . F¨ ur unser Beispiel (7.33) berechnet sich das System (7.40) mit x ≡ (a, b)T zu 0 = g1 (a, b) =

M  ∂ (yi − b ea xi ) (−b xi ea xi ) , F (a, b) = 2 ∂a i=0

M  ∂ F (a, b) = 2 0 = g2 (a, b) = (yi − b ea xi ) (−ea xi ) . ∂b i=0

(7.42)

L¨ost man (7.42) bzw. (7.40) direkt mit dem Newton-Verfahren oder einer ableitungsfreien Variante (d.h. ohne Liniensuche und D¨ ampfung), dann wird man mit zwei typischen Fragestellungen konfrontiert. Beide Verfahren sind nur lokal konvergent, d.h., man ben¨ otigt einen Startvektor x(0) = (a(0) , b(0) )T , der bereits hinreichend nahe bei der gesuchten L¨ osung x∗ = (a∗ , b∗ )T liegt. Des weiteren besitzt ein solches nichtlineares System u blicherweise mehrere L¨ osungen, so daß man selbst bei einem erfolgrei¨ chen Iterationsverlauf nicht sicher sein kann, ob es sich bei der numerisch bestimmten L¨osung um die tats¨ achlich gesuchte Nullstelle handelt. Letzteres Problem tritt auch bei der Anwendung eines echten Abstiegsverfahrens vom Typ (7.35) – mit Liniensuche und/oder D¨ ampfung – auf, da sich mit diesen numerischen Techniken i.allg. nur die lokalen Minima des Funktionals F (x) finden lassen, f¨ ur deren Existenz wiederum die Gleichungen (7.40) die notwendigen Bedingungen darstellen. Das erstgenannte Problem ¨ kann durch den Ubergang zu einem Gauß-Newton-Verfahren mit Liniensuche teilweise behoben werden, da die integrierte Liniensuche zu einer gewissen Globalisierung des numerischen Algorithmus f¨ uhrt. Um in der Praxis geeignete Startvektoren zu finden, f¨ ur die das Newton-Verfahren gegen die gesuchte L¨ osung konvergiert, sollten zus¨ atzliche Informationen u ¨ber das zugrundeliegende Modell hinzugezogen werden. So ist es oftmals dem Naturwissenschaftler oder Techniker m¨ oglich, genauere Angaben u ¨ber die Gr¨ oßenordnungen und/oder die Vorzeichen der gesuchten Parameter zu machen. Hat 1

Siehe H. Schwetlick: Numerische L¨ osung nichtlinearer Gleichungen. VEB Deutscher Verlag der Wissenschaften, Berlin, 1979.

368

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

man nun mehrere Parameterkombinationen (ai , bi ) (d.h. lokale Minima) berechnet, die alle den Kriterien des jeweiligen praktischen Modells gen¨ ugen, dann sollte man diejenigen Parameter in der empirischen Funktion (7.32) verwenden, f¨ ur die der Wert des Funktionals F (x) am kleinsten ist. Viele der f¨ ur die praktischen Anwendungen bedeutsamen empirischen Funktionen besitzen eine nicht unerhebliche Anzahl an freien Parametern. Zum Beispiel sind f¨ ur die Biologie und die Chemie empirische Funktionen der Form F (a1 , . . . , am , b1 , . . . , bm ) ≡

m 

bj e a j x ,

m relativ groß,

j=1

von Interesse. Damit die Parameter a1 , . . . , am , b1 , . . . , bm durch eine vorgegebene Tabelle von Meßdaten {(xi , yi ), i = 0, . . . , M } hinreichend gut determiniert sind, muß M ! 2m gelten. Aber selbst in diesem Fall k¨ onnen bei numerischen Rechnungen mit mehreren Startvektoren, die sich nur geringf¨ ugig unterscheiden, sehr unterschiedliche Parameterkombinationen als L¨ osungen herauskommen. Die zugeh¨ origen Summen der kleinsten Quadrate unterscheiden sich aber nur unwesentlich. Charakteristisch f¨ ur eine derartige Situation ist auch, daß in den numerisch ermittelten L¨ osungen einige Parameter kaum differieren, w¨ ahrend die anderen Parameter noch nicht einmal in der Gr¨oßenordnung u ¨bereinstimmen. Dies zeigt, daß das nichtlineare Approximationsproblem f¨ ur einige der Parameter ein schlecht konditioniertes Problem darstellt. Hier hilft i.allg. nur eine drastische Vergr¨ oßerung der Anzahl der Meßdaten. Jedoch sind in der Praxis solche Messungen nicht beliebig oft realisierbar, so daß es dann aus der Sicht der numerischen Mathematik keinen Sinn mehr macht, weitere aufwendige Parametersch¨ atzungen durchzuf¨ uhren. Bereits im Kapitel 1 haben wir gezeigt, daß ein schlecht konditioniertes Problem mit keinem noch so guten numerischen Algorithmus vern¨ unftig gel¨ost werden kann. Selbst wenn sich f¨ ur verschiedene Startvektoren die numerisch berechneten Parameterkombinationen kaum unterscheiden und auch die zugeh¨ origen Summen der kleinsten Quadrate nahezu identisch sind, sollte man die Meßdaten unter Verwendung normalverteilter Zufallszahlen etwas st¨ oren und die Rechnungen noch einmal durchf¨ uhren. Hierdurch erh¨ alt man wichtige Informationen u ¨ber die Empfindlichkeit der einzelnen Parameter im verwendeten empirischen Ansatz, woraus wiederum auf die G¨ ute der vorgenommenen Kleinste-Quadrate-Approximation geschlossen werden kann. Auf die Beschreibung der verschiedenen numerischen Strategien zur Bestimmung der Schrittl¨ ange αk und des Relaxationsparameters ωk (siehe die Formel (7.35)) wollen wir hier verzichten, da dies den Rahmen einer Einf¨ uhrung in die Numerischen Mathematik sprengen w¨ urde. Der interessierte Leser sei auf die umfangreiche Literatur zu dieser Thematik verwiesen1 . 1

Siehe u.a. W. C. Rheinboldt: Methods for Solving Systems of Nonlinear Equations. SIAM, Philadelphia, 1998 sowie J. M. Ortega and W. C. Rheinboldt: Iterative Solutions of Nonlinear Equations in Several Variables. Academic Press, New York, 1970.

7.2 Stetige Kleinste-Quadrate-Approximation

7.2

369

Stetige Kleinste-Quadrate-Approximation

Bisher wurde davon ausgegangen, daß die Funktion f (x) nur an diskreten Stellen bekannt ist. Jetzt sollen die Kleinste-Quadrate-Techniken auf den Fall angepaßt werden, daß f (x) formelm¨ aßig bekannt und stetig ist.

7.2.1

Polynomapproximation

Bisher haben wir f¨ ur eine Tabelle von Meßdaten {(xi , yi ), i = 0, . . . , M } mit der Methode der Kleinsten Quadrate eine N¨ aherungsfunktion bestimmt, die den zugrundeliegenden (jedoch nicht exakt bekannten) funktionalen Zusammenhang y = f (x) hinreichend gut approximiert. Im Gegensatz hierzu wollen wir jetzt davon ausgehen, daß ein solcher funktionaler Zusammenhang y = f (x) vorliegt, d.h., daß die Funktion f (x) bekannt ist. Unser Ziel ist es, diese Funktion f (x) durch eine N¨ aherungsfunktion P (x) zu ersetzen, die im Sinne des Kleinste-Quadrate-Prinzips eine gute Approximation f¨ ur f (x) darstellt. ochstens n f¨ ur eine solWie bei der Interpolation sind Polynome Pn (x) vom Grad h¨ che Approximation recht gut geeignet. Aus diesem Grunde wollen wir zuerst mit der Polynomapproximation beginnen und setzen f ∈ C[a, b] voraus, wobei mit [a, b] ein Intervall bezeichnet werde, auf dem die Funktion f (x) angen¨ ahert werden soll. Wie bei der diskreten Kleinste-Quadrate-Approximation hat man die Differenzen zwischen der gegebenen Funktion f (x) und dem Polynom Pn (x) zu quadrieren und anschließend die Quadrate zu addieren. Da aber jetzt die Funktionswerte f (x) an jeder beliebigen Stelle x im Intervall [a, b] bekannt sind, f¨ uhrt dies auf die Summation von unendlich vielen solchen Quadraten. Die mathematische Konsequenz ist, daß die Summenbildung in einen Integralausdruck u ¨bergeht, d.h., es ist das Minimum des folgenden Ausdrucks zu bestimmen:  b 2 (f (x) − Pn (x)) dx. (7.43) a

Mit Pn (x) ≡ an x + an−1 x n

n−1

+ · · · + a 1 x + a0 =

n 

ak xk

k=0

und  F (a0 , . . . , an ) ≡ a

b

(f (x) −

n 

ak xk )2 dx

(7.44)

k=0

ergibt sich daraus die Zielstellung F (a0 , . . . , an )

−−−−−→ a0 ,...,an

min.

(7.45)

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

370

Die notwendigen Bedingungen daf¨ ur, daß eine Parameterkombination a0 , . . . , an das Funktional F (a0 , . . . , an ) minimiert, lauten wie bisher: ∂ F (a0 , . . . , an ) = 0, ∂aj

j = 0, 1, . . . , n.

Bevor wir die obigen partiellen Ableitungen explizit aufschreiben, wollen wir das Funktional F (a0 , . . . , an ) noch etwas vereinfachen. Es ist $2  b  b  b # n n  2 k k F (a0 , . . . , an ) = f (x) dx − 2 ak x f (x) dx + ak x dx. a

a

k=0

a

k=0

Damit ergibt sich ∂ F (a0 , . . . , an ) = −2 ∂aj



b

xj f (x) dx + 2

a

n  k=0



b

ak

xj+k dx.

a

Zur Bestimmung der n + 1 Koeffizienten a0 , . . . , an des approximierenden Polynoms Pn (x) ist folglich das (n + 1)-dimensionale lineare Gleichungssystem # n 

$

b

x

j+k



dx

a

k=0

b

ak =

xj f (x) dx,

j = 0, . . . , n,

(7.46)

a

zu l¨ osen. Dieses Gleichungssystem ist wiederum unter dem Begriff Normalengleichungen bzw. Gaußsche Normalengleichungen bekannt. Es l¨ aßt sich in der u ¨blichen Form linearer Gleichungssysteme Ax = b aufschreiben, wenn man die Vektoren x, b ∈ Rn+1 und die Matrix A ∈ R(n+1)×(n+1) wie folgt definiert: # $T   x ≡ (a0 , . . . , an )T ,

b

b≡

b

f (t) t0 dt,

a





⎢ b−a ⎢ ⎢  b ⎢ ⎢ t1 dt ⎢ ⎢ a A≡⎢ ⎢ .. ⎢ . ⎢ ⎢ ⎢  ⎣ b tn dt a

a



b

t dt 

a b

t dt 

a

t3 dt

···

a

.. . 

b

tn+1 dt a

,

b

⎤ n

t dt

⎥ ⎥ ⎥  b ⎥ n+1 t dt ⎥ ⎥ ⎥ a ⎥. ⎥ .. ⎥ . ⎥ ⎥ ⎥  b ⎦ 2n t dt a

b

.. . b

···

a

t2 dt

a



2

f (t) tn dt

a



b

1

b

f (t) t1 dt, . . . ,

tn+2 dt

··· ···

(7.47)

a

Bez¨ uglich der Existenz einer L¨ osung von (7.46) und deren Eindeutigkeit gilt der folgende Satz.

7.2 Stetige Kleinste-Quadrate-Approximation

371

Satz 7.2. Es sei f ∈ C[a, b] gegeben und es gelte a = b. Dann besitzen die Normalengleichungen (7.46) eine eindeutige L¨ osung. Beweis: Wir zeigen, daß die Systemmatrix A in (7.47) nichtsingul¨ ar ist. Hierzu setzen wir f (x) ≡ 0, so daß sich die rechte Seite b des Gleichungssystems A x = b auf den Nullvektor b ≡ 0 reduziert. Falls das so entstandene homogene lineare Gleichungssystem A x = 0 nur die triviale L¨ osung x = 0, d.h., a0 = · · · = an = 0, besitzt, ist die Behauptung gezeigt. Multipliziert man nun die j-te Zeile des homogenen Gleichungssystems mit aj und summiert anschließend u ¨ber alle j, dann ergibt sich aus (7.46) # $ n  n b  j+k x dx aj ak = 0. a

j=0 k=0

Dies wiederum l¨ aßt sich in der Form  b n n 

aj ak xj+k dx = 0

a j=0 k=0

schreiben, was aber gleichbedeutend mit  b 2 (Pn (x)) dx = 0 a



ist. Hieraus folgt unmittelbar Pn (x) = 0, d.h. a0 = a1 = . . . = an = 0.

Die Matrix (7.47) ist wie im diskreten Fall symmetrisch und positiv definit. Folglich l¨aßt sich auch hier das zugeh¨ orige Gleichungssystem (7.46) mit den Techniken aus Abschnitt 2.4.1 effektiv l¨ osen. Standardm¨ aßig wird man das Cholesky-Verfahren (siehe Algorithmus 2.6) anwenden. Bevor wir auf Modifikationen dieser Technik zu sprechen kommen, wollen wir folgendes Beispiel betrachten. Beispiel 7.2. Man approximiere die Funktion f (x) = 3x auf dem Intervall [−1, 1] ur das durch ein Polynom zweiten Grades. Damit ist P2 (x) = a0 + a1 x + a2 x2 gesucht, f¨ gilt:  1

F (a0 , a1 , a2 ) ≡

−1

(3x − a0 − a1 x − a2 x2 )2 dx

−−−−−→

min.

a0 ,a1 ,a2

Das Gleichungssystem (7.46) lautet in diesem Fall ⎡ ⎡ 8 2 ⎤ ⎤ ⎡ 2 0 ⎢ a0 3 ln 3 3 ⎥ ⎢ ⎢ ⎢ ⎥⎢ ⎥ ⎢ ⎢ ⎥ 8 10 ⎥ ⎢ ⎢ 0 2 0 ⎥⎢ a1 ⎥ = ⎢ − ⎢ ⎥⎢ 2 ⎢ ⎦ ⎣ 3 ln 3 3 3 ln 3 ⎢ ⎥ ⎢ ⎣ ⎦ ⎣ 8 20 16 2 2 a2 − + 0 3 ln 3 3 ln2 3 3 ln3 3 3 5

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

372

Die zugeh¨ orige L¨ osung ist a0 = − a2 =

4 1 + ≈ 0.8013, 3 ln 3 3 ln2 3

a1 =

4 5 − 2 ≈ 1.5344, ln 3 ln 3

170 65 40 − + ≈ 0.9806. 9 ln 3 9 ln2 3 3 ln3 3

Damit ergibt sich als approximierendes Polynom f¨ ur f (x) = 3x : P2 (x) ≈ 0.9806 x2 + 1.5344 x + 0.8013. orige Polynom P2 (x) auf In der Abbildung 7.3 sind die Funktion f (x) = 3x und das zugeh¨ dem Intervall [−2, 2] dargestellt. Man erkennt sehr gut, daß der Approximationsfehler außerhalb des zugrundeliegenden Intervall [−1, 1] enorm anw¨ achst.

Abbildung 7.3: f (x) = ex und approximierendes Polynom P2 (x)

 Die oben beschriebene Polynomapproximation besitzt folgende Nachteile: • Es ist ein lineares Gleichungssystem der Dimension n + 1 mit i.allg. vollbesetzter Koeffizientenmatrix zu l¨ osen. Die Koeffizienten selbst sind von der Form  b bj+k+1 − aj+k+1 , xj+k dx = j+k+1 a

7.2 Stetige Kleinste-Quadrate-Approximation

373

so daß sie eine starke Empfindlichkeit gegen¨ uber Rundungsfehlern aufweisen. Damit ist dann auch die L¨ osung des Gleichungssystems schlecht bestimmt. Des weiteren werden in den F¨ allen, in denen der Grad des approximierenden Polynoms verh¨ altnism¨ aßig groß ist, die Rechnungen zur Bestimmung der Koeffizienten a ¨ußerst umfangreich. • Wie bei der Interpolation mit Lagrange-Polynomen kann bei der Berechnung des Polynoms (n + 1)-ten Grades der Aufwand, der zuvor f¨ ur das Polynom n-ten Grades erforderlich war, nicht eingespart werden.

7.2.2

Approximation mit verallgemeinerten Polynomen

Es soll jetzt eine andere Herangehensweise beschrieben werden, mit der sich die oben beschriebenen Nachteile beseitigen lassen. Hierzu sei ein System von n+1 stetigen Funkangig tionen φ0 (x), . . . , φn (x) gegeben, die auf dem Intervall [a, b], b > a, linear unabh¨ sind. Insbesondere k¨ onnen diese Funktionen Polynome sein, denn es gilt der folgende Satz. Satz 7.3. Es sei φk (x) ein Polynom vom Grad k. Dann sind φ0 (x), . . . , φn (x) auf jedem beliebigen Intervall [a, b], b > a, linear unabh¨ angig. ur die Beweis: Es seien α0 , . . . , αn reelle Zahlen, f¨ ur alle x ∈ [a, b] α0 φ0 (x) + α1 φ1 (x) + · · · + αn φn (x) = 0 f¨

n ochstens n und besitzt wegen gilt. Das Polynom P (x) ≡ k=0 αk φk (x) ist vom Grad h¨ der obigen Annahme unendlich viele Nullstellen. Somit muß P (x) ≡ 0 gelten. Dies ist aber nur erf¨ ullt, wenn die Koeffizienten vor allen Potenzen von x verschwinden. Da aber ur jedes k = 0, . . . , n.  φk (x) genau den Grad k besitzt, folgt daraus αk = 0 f¨ Um die Darstellung recht allgemein halten zu k¨ onnen, wollen wir noch den Begriff der Gewichtsfunktion einf¨ uhren. Definition 7.1. Eine integrierbare Funktion ω(x) heißt Gewichtsfunktion auf dem Intervall [a, b], falls gilt: ω(x) ≥ 0 f¨ ur x ∈ [a, b] und ω(x) ≡ 0 auf jedem Teilintervall von [a, b].  Der Sinn einer derartigen Gewichtsfunktion besteht darin, daß mit ihr gewisse Teilabschnitte von [a, b] hervorgehoben werden k¨ onnen, auf denen die Approximation besonders genau erfolgen soll. Zur Approximation einer stetigen Funktion f (x) auf dem Intervall [a, b] bilden wir nun mit Hilfe der n + 1 linear unabh¨ angigen und stetigen Funktionen φ0 (x), . . . , φn (x) ein

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

374

sogenanntes verallgemeinertes Polynom P (x) ≡

n 

ak φk (x).

(7.48)

k=0

Die noch unbestimmten Koeffizienten a0 , . . . , an sind nun so zu berechnen, daß das verallgemeinerte Polynom P (x) die gegebene Funktion f (x) m¨ oglichst gut ann¨ ahert, d.h., es ist die folgende Aufgabe zu l¨ osen 

#

b

F (a0 , . . . , an ) ≡

ω(x)

f (x) −

a

n 

$2 ak φk (x)

dx

−−−−−→ a0 ,...,an

min.

(7.49)

k=0

Man beachte: mit ω(x) ≡ 1 und φk (x) ≡ xk , k = 0, . . . , n, geht (7.49) in die bereits behandelte Problemstellung (7.45) u ¨ber. Zur L¨ osung von (7.49) stellen wir wieder die notwendigen Bedingungen f¨ ur ein Minimum auf. Wir berechnen # $  b n  ∂ F (a0 , . . . , an ) = 2 ω(x) f (x) − ak φk (x) φj (x) dx, j = 0, . . . , n. 0= ∂aj a k=0

Hieraus resultieren die zugeh¨ origen Normalengleichungen, ein System von n+1 linearen Gleichungen zur Bestimmung der n + 1 Koeffizienten a0 , . . . , an im Ansatz (7.48), # n  k=0

$

b



b

ω(x) φk (x) φj (x) dx ak = a

ω(x) f (x) φj (x) dx,

j = 0, . . . , n.

(7.50)

a

Offensichtlich ist das Gleichungssystem (7.50) von der gleichen Gestalt wie das System (7.45). Der einzige Vorteil besteht darin, daß man jetzt ein beliebiges linear unabh¨ angiges Funktionensystem f¨ ur die Approximation verwenden kann. Schr¨ ankt man dieses Funktionensystem jedoch im Sinne der folgenden Definition weiter ein, dann l¨ aßt sich tats¨ achlich der numerische Aufwand signifikant reduzieren. Definition 7.2. Ein System stetiger Funktionen φ0 (x), . . . , φn (x) heißt orthogonal auf dem Intervall [a, b] bez¨ uglich der Gewichtsfunktion ω(x), falls: 



b

ω(x) φj (x) φk (x) dx = a

0, αk > 0,

j=  k j = k.

(7.51)

Gilt des weiteren αk = 1, k = 0, . . . , n, dann nennt man das Funktionensystem orthonormiert (orthogonal und normiert). 

7.2 Stetige Kleinste-Quadrate-Approximation

375

Definition 7.3. Die Zahl @

b

φk (x) ≡ a

φ2k (x) dx

heißt die Norm der Funktion φk (x) auf dem Intervall [a, b].

(7.52) 

Konstruiert man nun das verallgemeinerte Polynom (7.48) mit einem System orthogonaler Funktionen φ0 (x), . . . , φn (x), dann reduziert sich die Systemmatrix von (7.50) auf osung dieses Gleichungsdie Diagonalmatrix D ≡ diag(α0 , . . . , αn ). Somit sind zur Aufl¨ systems nur n + 1 Divisionen erforderlich, d.h., der Rechenaufwand hat sich gegen¨ uber (7.46) und (7.50) wesentlich verringert. Zusammenfassend gilt der folgende Satz. Satz 7.4. Es sei φ0 (x), . . . , φn (x) ein orthogonales System stetiger Funktionen auf dem Intervall [a, b] bez¨ uglich der Gewichtsfunktion ω(x). Das mit diesen Funktionen gebildete verallgemeinerte Polynom n  ak φk (x), (7.53) P (x) = k=0

welches die stetige Funktion f (x) auf dem Intervall [a, b] bez¨ uglich ω(x) im Sinne der Methode der Kleinsten Quadrate bestm¨ oglichst approximiert, ist durch die folgenden Koeffizienten bestimmt:  b  b ω(x) φk (x) f (x) dx 1 a = ak =  b ω(x) φk (x) f (x) dx, k = 0, . . . , n. (7.54) αk a 2 ω(x) (φk (x))) dx a

Beweis: Das Resultat wurde bereits oben gezeigt.

7.2.3



Harmonische Analyse

Ein bez¨ uglich der Gewichtsfunktion ω(x) ≡ 1 orthonormiertes Funktionensystem auf dem Intervall [−π, π], das in der Praxis sehr h¨ aufig verwendet wird, besteht aus den trigonometrischen Funktionen 1 φ0 (x) = √ , 2π 1 1 φk (x) = √ cos(k x), k = 1, . . . , n, φn+k (x) = √ sin(k x), k = 1, . . . , n. π π

(7.55)

Dieses Funktionensystem wird sicher immer dann herangezogen, wenn die zu approximierende Funktion f (x) ein oszillatorisches Verhalten aufweist.

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

376

Wir wollen zun¨ achst die Orthogonalit¨ at des Funktionensystems (7.55) auf einem beliebigen Intervall der L¨ ange 2π nachweisen. Hierzu zeigen wir, daß die folgenden Integrale verschwinden: 

π

(a) −π



π

(b) −π



sin(j x) sin(k x) dx f¨ ur ganzzahlige j und k mit j = k, cos(j x) cos(k x) dx f¨ ur ganzzahlige j und k mit j = k,

π

(c)

cos(j x) sin(k x) dx f¨ ur alle ganzzahligen j und k. −π

Man berechnet  (a) 

+ ,π 1 sin((j − k) x) sin((j + k) x) − sin(j x) sin(k x) dx = = 0 und 2 j−k j+k −π −π π

π

(b)

cos(j x) cos(k x) dx = −π

+ ,π 1 sin((j + k) x) sin((j − k) x) = 0, + 2 j+k j−k −π

falls j und k ganzzahlig sind und j = k ist. Das Integral (c) verschwindet auf dem Intervall [−π, π], da der Integrand eine ungerade Funktion ist. Setzt man schließlich j = 0 in den Integralen (b) und (c), so ergibt sich 

π −π

 1 · cos(k x) dx = 0 und

π

1 · sin(k x) dx = 0.

−π

Folglich ist das trigonometrische Funktionensystem (7.55) auf dem Intervall [−π, π] und damit auch auf einem beliebigen Intervall (a, 2π + a] orthogonal. Um die Normiertheit dieses Funktionensystems zu zeigen, berechnen wir die Normen (7.52) der zugeh¨ origen Funktionen (k = 1, . . . , n): 1

φ0 (x) = √ = 2π 1

φk (x) = √ cos(k x) = π 1

φn+k (x) = √ sin(k x) π

=

1 √ 2π 1 √ π 1 √ π

@

@

@

√ 2π dx = √ = 1, 2π −π π

√ π cos(k x) dx = √ = 1, π −π π

2

√ π sin(k x)2 dx = √ = 1. π −π π

7.2 Stetige Kleinste-Quadrate-Approximation

377

Ist nun eine stetige periodische Funktion f (x) mit der Periode 2π auf dem Intervall [−π, π] gegeben, dann bildet man das verallgemeinerte Polynom

Sn (x) ≡ a0 φ0 (x) +

n 

(ak φk (x) + bk φn+k (x)) .

(7.56)

k=1

a0 Die Summanden h0 ≡ √ ˜k cos(k x) + ˜bk sin(k x), k = 1, . . . , n, nennt man und hk ≡ a 2π u ¨blicherweise Harmonische. Soll nun die Abweichung des Polynoms Sn (x) von der Funktion f (x) im Sinne der Methode der Kleinsten Quadrate minimal sein, dann sind die Koeffizienten nach der Formel (7.54) zu bestimmen, d.h.,  ak = bk =

π

−π  π −π

φk (x) f (x) dx,

k = 0, . . . , n,

und (7.57)

φn+k (x) f (x) dx,

k = 1, . . . , n.

Die in (7.57) angegebenen Koeffizienten ak und bk heißen die trigonometrischen Fourierkoeffizienten der Funktion f (x). Das entsprechende trigonometrische Polynom Sn (x) nennt man das trigonometrische Fourierpolynom von f (x). Ein Blick auf die Formeln (7.57) lehrt, daß die Koeffizienten bk , k = 1, . . . , n, im Fall einer geraden Funktion f (x) alle verschwinden. Somit gilt bk = 0,  ak =

k = 1, . . . , n, (7.58)

π

−π

φk (x) f (x) dx,

k = 0, . . . , n.

Das zugeh¨ orige Polynom Sn (x) hat dann die Gestalt Sn (x) =

n 

ak φk (x).

(7.59)

k=0

Ist andererseits f (x) eine ungerade Funktion, dann gilt ak = 0,  bk =

k = 0, . . . , n, (7.60)

π

−π

φn+k (x) f (x) dx,

k = 1, . . . , n,

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

378

und das Polynom Sn (x) ist von der Form Sn (x) =

n 

bk φn+k (x).

(7.61)

k=1

ubergang n → ∞, Bildet man im trigonometrischen Fourierpolynom Sn (x) den Grenz¨ so ergibt sich die trigonometrische Fourierreihe S(x) f¨ ur f (x):

S(x) ≡ a ˜0 +

∞ 

(˜ ak cos(k x) + ˜bk sin(k x))

(7.62)

k=1

a0 ak bk mit a ˜0 ≡ √ , a ˜k ≡ √ und ˜bk ≡ √ . π π 2π Die Darstellung einer Funktion durch ihr trigonometrisches Fourierpolynom oder ihre trigonometrische Fourierreihe nennt man die harmonische Analyse dieser Funktion.

7.2.4

Konstruktion von Orthogonalsystemen

Abschließend wollen wir eine auf der Gram-Schmidt-Orthogonalisierung basierende Vorschrift angeben, mit der man spezielle Funktionensysteme erzeugen kann, die auf [a, b] bez¨ uglich einer Gewichtsfunktion ω(x) orthogonal sind. Es gilt der folgende Satz. Satz 7.5. Die unten definierte Menge von Polynomen φ0 (x), φ1 (x), . . . , φn (x) ist orthogonal auf [a, b] bez¨ uglich der Gewichtsfunktion ω(x): φ0 (x) = 1,

φ1 (x) = x − B1 ,

mit



a ≤ x ≤ b,

(7.63)

b

x ω(x) dx B1 ≡ 

a

.

b

ω(x) dx a

F¨ ur k = 2, . . . , n gelte φk (x) = (x − Bk ) φk−1 (x) − Ck φk−1 (x),

a ≤ x ≤ b,

(7.64)

mit 

b

Bk ≡ a

 x ω(x) φk−1 (x)2 dx b

und 2

ω(x) φk−1 (x) dx a

Ck ≡

b a

x ω(x) φk−1 (x) φk−2 (x) dx .  b 2 ω(x) φk−2 (x) dx a

(7.65)

7.2 Stetige Kleinste-Quadrate-Approximation

379

Beweis: Jedes φk (x) ist von der Form 1 · xk + Terme niedrigerer Ordnung, so daß onnen. Mit vollst¨ andiger Induktion die Nenner von Bk und Ck nicht verschwinden k¨ bez¨ uglich k zeigen wir 

b

ω(x) φk (x) φi (x) dx = 0

f¨ ur alle i < k.

(7.66)

a

1) F¨ ur k = 1 berechnet man 



b

b

ω(x) φ1 (x) φ0 (x) dx = a



a



⎛ b

= a

b

ω(x) (x − B1 ) dx =



b

x ω(x) dx − B1

a b

ω(x) dx a



x ω(x) dx ⎟  b ⎜ ⎟ ⎜ x ω(x) dx − ⎜ a b ω(x) dx = 0. ⎟ ⎠ a ⎝ ω(x) dx a

2) Wir nehmen an, daß die Behauptung f¨ ur k = n − 1 richtig ist. Setzt man nun φn (x) nach (7.64) in den Ausdruck 

b

ω(x) φn (x) φn−1 (x) dx a

ein, dann erh¨ alt man 

b

ω(x) ((x − Bn ) φn−1 (x) − Cn φn−2 (x)) φn−1 (x) dx.

a

Wegen der Induktionsvoraussetzung ist aber 

b

ω(x) φn−2 (x) φn−1 (x) dx = 0, a

so daß sich daraus   b ω(x) (x − Bn ) φn−1 (x)2 dx = a

a

b



b

x ω(x) φn−1 (x)2 dx − Bn

ω(x) φn−1 (x)2 dx

a

ergibt. Setzt man jetzt Bn in der Form (7.65) in die obige Formel ein, dann verschwindet dieser Ausdruck und wir haben  b ω(x) φn (x) φn−1 (x) dx = 0 a

nachgewiesen.

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

380 Analog l¨ aßt sich



b

ω(x) φn (x) φn−2 (x) dx = 0 a

zeigen. Schließlich berechnet man f¨ ur i < n − 2:  b  b ω(x) φn (x) φi (x) dx = ω(x) ((x − Bn ) φn−1 (x) − Cn φn−2 (x)) φi (x) dx a

a



b

=

ω(x) x φn−1 (x) φi (x) dx a



b

=

ω(x) φn−1 (x) (φi+1 (x) + Bi+1 φi (x) + Ci+1 φi−1 (x)) dx a

= 0. 

Damit ist die Behauptung des Satzes gezeigt.

F¨ ur beliebige Polynome vom Grad k < n gilt dar¨ uber hinaus die nachstehende Folgerung. Folgerung 7.1. F¨ ur jedes n > 0 sind die in Satz 7.5 definierten Polynomfunktionen angig. Des weiteren gilt f¨ ur jedes φ0 (x), . . . , φn (x) auf dem Intervall [a, b] linear unabh¨ Polynom Pk (x) vom Grad k < n die Beziehung 

b

ω(x) φn (x) Pk (x) dx = 0. a

Beweis: 1) Wir zeigen die lineare Unabh¨ angigkeit. F¨ ur alle x ∈ [a, b] m¨ oge gelten 0 = c0 φ0 (x) + · · · + cn φn (x). Multipliziert man f¨ ur jedes k = 0, . . . , n diese Gleichung mit ω(x) φk (x), so resultiert n  0= cj ω(x) φj (x) φk (x). j=0

Eine anschließende Integration ergibt 0=

n  j=0





b

cj

b

ω(x) φj (x) φk (x) dx = ck a

ω(x) φk (x)2 dx.

a

Hieraus folgt unmittelbar ck = 0. Da dieses Ergebnis f¨ ur k = 0, . . . , n gilt, handelt es sich bei dem Funktionensystem φ0 (x), . . . , φn (x) um eine Menge linear unabh¨ angiger Funktionen.

7.2 Stetige Kleinste-Quadrate-Approximation

381

2) Es sei Pk (x) ein Polynom vom Grad k. Nach (1) existieren reelle Konstanten

k c0 , . . . , ck , so daß Pk (x) = j=0 cj φj (x) gilt. Es ist nun 

b

ω(x) Pk (x) φn (x) dx = a

k 



b

cj

ω(x) φj (x) φn (x) dx = 0, a

j=0



da f¨ ur jedes j = 0, . . . , k die Funktion φj (x) orthogonal zu φn (x) ist.

Wir wollen jetzt einige der bekanntesten orthogonalen Funktionensysteme aus dem Satz 7.5 ableiten und beginnen mit den sogenannten • Legendre1 -Polynomen Hierzu setzen wir [a, b] ≡ [−1, 1], ω(x) ≡ 1 und wenden die Rekursion (7.63),(7.64) an. Es ist φ0 (x) = 1. "1 B1 = "−11

Mit

x dx

−1

dx

"1

Wegen

B2 =

−1 "1 −1

=0

x3 dx x2

dx

folgt

φ1 (x) = x. "1

=0

und

C2 = −1 "1

x2 dx

dx −1

φ2 (x) = (x − B2 )φ1 (x) − C2 φ0 (x) = (x − 0)x −

=

1 3

1 · 1, d.h. 3

ergibt sich

1 φ2 (x) = x2 − . 3

Weiter berechnet man "1 "1 x(x2 − 13 )2 dx x x (x2 − 13 ) dx −1 B3 = " 1 = 0 und C3 = −1 " 1 = (x2 − 13 )2 dx x2 dx −1 −1

8 45 2 3

=

4 . 15

Hieraus folgt 1 4 φ3 (x) = (x − B3 )φ2 (x) − c3 φ1 (x) = x (x2 − ) − x, d.h. 3 15

3 φ3 (x) = x3 − x. 5

Dieser Prozeß kann entsprechend weiter fortgesetzt werden. Ein wichtiges Merkmal des hier konstruierten Funktionensystems ist, daß vor der h¨ ochsten x-Potenz jeweils der Faktor Eins steht. 1

Adrien Marie Legendre (1752–1833), Franz¨ osicher Mathematiker. Er wird als der Begr¨ under der Methode der Kleinsten Quadrate angesehen (1805), obwohl Gauß diese Technik bereits 1794 anwendete, sie aber erst 1809 publizierte.

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

382

Die Legendre-Polynome werden u ¨blicherweise in einer anderen Normierung aufgeschrieben, die aber keinen Einfluß auf die Orthogonalit¨ at des jeweiligen Funktionensystems oder auf das in den vorangegangenen Abschnitten betrachtete Approximationsproblem hat. Man muß dann nur beachten, daß sich durch einen solchen Wechsel auch der Wert andert. Die Legendre-Polynome k¨ onnen n¨ amlich auch als die αk in der Formel (7.51) ver¨ L¨osungen y(x) der sogenannten Legendreschen Differentialgleichung (1 − x2 )y  − 2xy  + n(n + 1)y = 0 bzw. ((1 − x2 )y  ) + n(n + 1)y = 0, n ∈ N,

(7.67)

erkl¨ art werden (siehe auch Aufgabe 7.15). In der Literatur findet man h¨ aufig die Bezeichnung Pn (x) ≡ y(x) vor, die wir f¨ ur dieses speziell normierte Legendresche Funktionensystem hier ebenfalls verwenden wollen. Die Pn (x) lassen sich auch durch die Formel von Rodrigues definieren: Pn (x) =

1 dn 2 (x − 1)n , n! dxn

2n

n = 0, 1, . . .

(7.68)

F¨ ur die Konstruktion dieser Polynome ist die folgende Rekursionsvorschrift sehr bedeutsam: P0 (x) = 1,

P1 (x) = x,

(n + 1) Pn+1 (x) = (2n + 1) x Pn (x) − n Pn−1 (x),

(7.69) n = 1, 2, . . .

Aus dieser Rekursion ergeben sich die ersten 8 Polynome zu: P0 (x) = 1, P2 (x) = P4 (x) =

1 (3x2 − 1), 2

P1 (x) = x, P3 (x) =

1 (5x3 − 3x), 2

1 1 (35x4 − 30x2 + 3), P5 (x) = (63x5 − 70x3 + 15x), 8 8 1 (231x6 − 315x4 + 105x2 − 5), P6 (x) = 16

1 (429x7 − 693x5 + 315x3 − 35x). P7 (x) = 16 In der Abbildung 7.4 sind einige Legendre-Polynome graphisch dargestellt.

(7.70)

ur n = 2i gerade und f¨ ur Aus der Formel (7.68) ist ersichtlich, daß die Polynome Pn (x) f¨ n = 2i + 1 ungerade Funktionen sind. Schließlich erf¨ ullen sie die Orthogonalit¨ atsrelation ⎧  1 0, falls m = n; ⎨ Pn (x) Pm (x) dx = (7.71) 2 ⎩ , falls m = n. −1 2m + 1

7.2 Stetige Kleinste-Quadrate-Approximation

383

Abbildung 7.4: Einige der Legendre-Polynome (7.70)

Damit ist

!

Pn (x) =

2 . 2n + 1

Folglich bilden die normierten Legendre-Polynome ! Pˆn (x) ≡

2n + 1 Pn (x), 2

n = 0, 1, . . .

(7.72)

auf dem Intervall [−1, 1] ein orthonormiertes Funktionensystem, d.h., die zugeh¨ origen amtlich gleich eins. αk in Formel (7.51) sind s¨ Beispiel 7.3. Es sei die Funktion f (x) = |x| gegeben. 1) Auf dem Intervall [−1, 1] soll die Funktion f (x) durch das verallgemeinerte Polynom 5  P (x) = ak Pk (x) (7.73) k=0

approximiert werden, wobei die Pk (x) Legendre-Polynome vom Typ (7.70) seien.

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

384

Da f (x) = |x| eine gerade Funktion ist und die Polynome Pk (x) f¨ ur gerade k gerade und f¨ ur ungerade k ungerade Funktionen sind, erh¨ alt man aus (7.54) 

1

a2k = (4k + 1)

x P2k (x) dx

und

a2k+1 = 0,

k = 0, 1, 2.

0

Unter Verwendung der Formeln (7.70) ergeben sich nun 

1

a0 =

x dx = 0

9 a4 = 8



1 0

1 , 2

a2 =

5 2



1

x(3x2 − 1) dx = 0

3 x(35x4 − 30x2 + 3) dx = − , 16

5 , 8 (7.74)

sowie

a1 = a3 = a5 = 0.

Setzt man die optimalen Koeffizienten (7.74) in den Ansatz (7.73) ein, dann erh¨ alt man das approximierende Polynom P (x) =

1 3 15 5 + (3x2 − 1) − (35x4 − 30x2 + 3) = (−7x4 + 14x2 + 1). (7.75) 2 16 128 128

Diese Approximationsfunktion ist in der Abbildung 7.5 graphisch dargestellt.

Abbildung 7.5: Legendre-Polynom und trigonometrisches Polynom f¨ ur |x|

7.2 Stetige Kleinste-Quadrate-Approximation

385

2) Wir wollen jetzt zum Vergleich die Funktion f (x) = |x| auf dem Intervall [−π, π] durch ein trigonometrisches Fourierpolynom approximieren. Da f (x) eine gerade Funktion ist, brauchen nach der Formel (7.58) die Koeffizienten bk nicht berechnet zu werden, da sie alle null sind. F¨ ur die ak , k = 1, . . . , n ergibt sich:  π  0  π 1 1 1 |x| √ dx = − √ x dx + √ x dx a0 = 2π 2π −π 2π 0 −π √ 2  π 2π 2 =√ x dx = √ , 2 π 2π 0 (7.76)  π  π 1 2 |x| cos(k x) dx = √ x cos(k x) dx ak = √ π −π π 0  2  = √ 2 (−1)k − 1 . πk Setzt man nun die optimalen Koeffizienten (7.76) in den Ansatz (7.56) ein, dann erh¨ alt man das approximierende trigonometrische Fourierpolynom Sn (x) =

n π 2  (−1)k − 1 cos(k x). + 2 π k2

(7.77)

k=1

Das trigonometrische Polynom S4 (x) ist zum Vergleich ebenfalls in der Abbildung 7.5 eingezeichnet.  Ein anderes wichtiges System orthogonaler Funktionen sind die sogenannten • Tschebyscheff 1 -Polynome Sie lassen sich wiederum aus der im Satz 7.5 angegebenen allgemeinen Konstruktions1 vorschrift erhalten, indem man (a, b) ≡ (−1, 1) und ω(x) ≡ (1 − x2 )− 2 setzt. Wir wollen die Tschebyscheff-Polynome Tn (x) hier jedoch auf eine andere Weise ableiten und anschließend nachweisen, daß die so gewonnenen Funktionen die Ortogonalit¨ atsbeziehung (7.51) erf¨ ullen. art F¨ ur x ∈ [−1, 1] und n ≥ 0 seien die Funktionen Tn (x) wie folgt erkl¨ Tn (x) ≡ cos(n arccos(x)).

(7.78)

Unter Verwendung der Substitution θ = arccos(x) geht die Gleichung (7.78) u ¨ber in Tn (cos(θ)) = cos(n θ),

θ ∈ [0, π].

Aus dieser Beziehung l¨ aßt sich eine Rekursionsvorschrift zur Bestimmung der Tschebyscheff-Polynome ableiten, wenn man die folgenden trigonometrischen Identit¨ aten aus1

Pafnuti Levovich Tschebyscheff (1821–1894), Russischer Mathematiker.

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

386 nutzt:

Tn+1 (cos(θ)) = cos((n + 1)θ) = cos(nθ) cos(θ) − sin(nθ) sin(θ) Tn−1 (cos(θ)) = cos((n − 1)θ) = cos(nθ) cos(θ) + sin(nθ) sin(θ).

Aus der Addition beider Gleichungen folgt n¨ amlich unmittelbar Tn+1 (cos(θ)) = 2 cos(nθ) cos(θ) − Tn−1 (cos(θ)). Kehrt man jetzt zur Variablen x zur¨ uck, so resultiert die Rekursion Tn+1 (x) = 2x Tn (x) − Tn−1 (x),

n = 1, 2, . . .

(7.79)

Um nach dieser Vorschrift die Folge der Tschebyscheff-Polynome berechnen zu k¨ onnen, m¨ ussen die ersten beiden Folgenglieder bekannt sein. Man erh¨ alt sie direkt aus (7.78): T0 (x) = cos(0 · arccos(x)) = 1 und

T1 (x) = cos(1 · arccos(x)) = x.

Setzt man jetzt T0 (x) und T1 (x) in die rechte Seite der Formel (7.79) ein, dann ergibt sich T2 (x). Die nachfolgend angegebenen Tschebyscheff-Polynome wurden auf diese Weise konstruiert. T0 (x) = 1,

T1 (x) = x,

T4 (x) = 8x4 − 8x2 + 1,

T2 (x) = 2x2 − 1,

T3 (x) = 4x3 − 3x,

T5 (x) = 16x5 − 20x3 + 5x,

T6 (x) = 32x6 − 48x4 + 18x2 − 1,

T7 (x) = 64x7 − 112x5 + 56x3 − 7x,

(7.80)

T8 (x) = 128x8 − 256x6 + 160x4 − 32x2 + 1, T9 (x) = 256x9 − 576x7 + 432x5 − 120x3 + 9x. In der Abbildung 7.6 sind einige Tschebyscheff-Polynome graphisch dargestellt. F¨ ur das System der Tschebyscheff-Polynome gilt nun folgender Satz. ur das Intervall [−1, 1] und f¨ ur die Satz 7.6. Die Polynome Tn√(x), n = 0, . . . , bilden f¨ Gewichtsfunktion ω(x) = 1/ 1 − x2 ein System von orthogonalen Polynomen. Es gelten die Beziehungen ⎧ ⎪  1 ⎨ 0, falls j = k; 1 1 √ Tj (x) Tk (x) dx = (7.81) π, falls j = k > 0; ⎪ 1 − x2 −1 ⎩ 2 π, falls j = k = 0. Beweis: Wir verwenden wieder die Substitution θ = arccos(x). Damit ergibt sich Tj (x) = cos(jθ), Tk (x) = cos(kθ) und dx = − sin(θ)dθ. Jetzt berechnet man  0  1 1 1 √ cos(jθ) cos(kθ) sin(θ) dθ Tj (x) Tk (x) dx = − 2 1−x −1 π sin(θ)  π  1 π = cos(jθ) cos(kθ) dθ = cos(jθ) cos(kθ) dθ. 2 −π 0

7.2 Stetige Kleinste-Quadrate-Approximation

387

Abbildung 7.6: Einige der Tschebyscheff-Polynome (7.80)

Aufgrund bekannter trigonometrischer Identit¨aten gilt  π  1 π cos(jθ) cos(kθ) dθ = [cos((j + k)θ) + cos((j − k)θ)] dθ. 2 −π −π

(7.82)

F¨ ur j = k folgt daraus + ,π 1 1 1 sin((j + k)θ) + sin((j − k)θ) = 0. 2 j+k j−k −π Damit ist die erste Relation in (7.81) gezeigt. F¨ ur j = k > 0 ergibt sich aus (7.82) + ,π 1 1 sin((j + k)θ) + θ = π. 2 j+k −π Damit haben wir den zweiten Fall in (7.81) gezeigt. Der Nachweis der dritten Relation von (7.81) ist trivial.  Bemerkung 7.2. Die Tschebyscheff-Polynome k¨ onnen ¨ ahnlich wie die Legendre-Polynome u ohnliche Differentialgleichung definiert werden. So sind die Polynome ¨ber eine gew¨ osung der Differentialgleichung Tn (x) ≡ y(x) L¨ (1 − x2 )y  − xy  + n2 y = 0

(7.83)

388

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

mit |x| ≤ 1 und n ≥ 0 ganzzahlig.



Die bei der Approximation mit Tschebyscheff-Polynomen verwendete Gewichtsfunktion 1 ω(x) =  (1 − x2 ) wirkt sich i.allg. dahingehend aus, daß die berechnete N¨ aherungsfunktion P (x) an den R¨andern des Intervalls (−1, 1) mit der gegebenen Funktion f (x) besser u ¨bereinstimmt als in der Intervallmitte. Stellt man das verallgemeinerte Polynom (7.53) in der Form  1 a0 T0 (x) + ak Tk (x) 2 n

P (x) =

(7.84)

k=1

dar, dann sind nach (7.54) die optimalen Koeffizienten ak gegeben durch 2 ak = π



1

−1



1 Tk (x) f (x) dx, 1 − x2

k = 0, . . . , n.

(7.85)

Die obige Formel vereinfacht sich stark, wenn man wieder auf die Variablentransformation x = cos(θ) und die Darstellung (7.78) der Tschebyscheff-Polynome zur¨ uckgreift. Nach einigen Umformungen ergibt sich damit aus (7.85)  2 π cos(kθ) f (cos(θ)) dθ, k = 0, . . . , n. (7.86) ak = π 0 Die im Integranden von (7.86) enthaltene Funktion f˜(θ) ≡ f (cos(θ)) ist nun eine gerade und 2π-periodische Funktion des Arguments θ. Somit gilt

ak =

1 π



π

cos(kθ) f (cos(θ)) dθ,

k = 0, . . . , n.

(7.87)

−π

Ein Blick auf die Formel (7.58) f¨ uhrt zu folgendem Resultat. Folgerung 7.2. Die Koeffizienten ak , k = 0, . . . , n, in der Darstellung (7.84) des verallgemeinerten Polynoms P (x) stimmen mit den Fourierkoeffizienten ak der geraden, 2π-periodischen Funktion f˜(θ) ≡ f (cos θ) u  ¨berein (vergleiche Formel (7.58)). Damit ist die Approximation mit Tschebyscheff-Polynomen auf die Bestimmung von Fourierkoeffizienten zur¨ uckgef¨ uhrt worden. Alle in Abschnitt 7.2.3 angegebenen Techniken k¨ onnen deshalb hier angewendet werden.

7.3 Aufgaben

7.3

389

Aufgaben

Aufgabe 7.1. Die Michaelis-Menten Gleichung tritt in der chemischen Kinetik auf und hat die Form Vmax [S] v([S]) = . KM + [S] Man berechne die Konstanten Vmax und KM so, daß die obige Funktion v([S]) eine Kleinste-Quadrate-Approximation bez¨ uglich der experimentell bestimmten Tabelle darstellt. Dabei sind v die Geschwindigkeit einer enzymkatalysierten Reaktion bei verschiedenen Substratkonzentrationen [S]. [S]

0.197

0.139

0.068

0.0427

0.027

0.015

0.009

0.008

v

21.5

21

19

16.5

14.5

11

8.5

7

Aufgabe 7.2. In der folgenden Tabelle wurde der Druck p (in Kp/cm2 ) eines ges¨ attigten Dampfes in Abh¨ angigkeit vom spezifischen Volumen v (in m3 /kp) gemessen: v

3.334

1.630

0.8657

0.4323

0.2646

0.1699

0.1146

p

0.482

1.034

2.027

4.247

7.164

11.48

17.60

Man bestimme nach der Tabelle 7.2 eine zweiparametrige empirische Formel und berechne anschließend diese N¨ aherungsfunktion nach der Methode der Kleinsten Quadrate. Aufgabe 7.3. F¨ ur die Ver¨ anderlichen x und y wurde durch experimentelle Messungen die folgende Tabelle erstellt: x

0

0.2

0.6

1.2

1.6

2

y

2.050

1.944

1.638

0.907

0.423

0.028

Zugeh¨ orige theoretische Untersuchungen legen eine empirische Funktion der Form y = ecx (a sin(x) + b cos(x)) nahe. Man berechne die Parameter a, b und c nach der Methode der Kleinsten Quadrate. Aufgabe 7.4. Eine Funktion der Form [S](t) = A e−α t + B e−β t wird in der Biochemie dazu verwendet, um die Konzentration [S] eines in die Blutbahn injizierten Farbstoffes zu modellieren. Mit zunehmender Zeit t nimmt die Konzentration ab. Man bestimme die Koeffizienten A, α, B, β so, daß die obige Funktion eine KleinsteQuadrate-Approximation bez¨ uglich der an K¨ uhen experimentell bestimmten Tabelle darstellt. t

1

2

3

4

5

6

7

8

9

10

13

16

19

22

[S] 10.2 7.67 5.76 4.50 3.56 2.77 2.30 1.84 1.46 1.26 0.77 0.52 0.39 0.28

Kapitel 7 Ausgleichsprobleme, Methode der Kleinsten Quadrate

390

Hinweis: Damit w¨ ahrend der Rechnung keine zu großen Exponenten auftreten, sollte man anstelle der sonst u ¨blichen Funktion F (A, α, B, β) die wie folgt modifizierte Funktion F˜ (A, α, B, β) minimieren: F˜ (A, α, B, β) ≡

13  

ln([S]k ) − ln(A e−α tk + B e−β tk )

2

,

k=0

wobei (tk , [S]k ), k = 0, . . . , 13, die in der Tabelle angegebenen 14 Datenpunkte sind. Aufgabe 7.5. Man approximiere die Funktion . 1 f (P ) = 1+ p p 0 zu approximieren ist, d.h., es soll |I(f ) − Inum (f )| < ε

(8.96)

gelten, wenn Inum (f ) das Ergebnis eines numerischen Quadraturverfahrens bezeichnet. Der erste Schritt besteht in der Anwendung der Simpson-Regel (8.64) mit der Schrittweite h = (b − a)/2. Unter Beachtung des Approximationsfehlers (8.68) erh¨ alt man dann  b h5 (4) f (ξ), f (x) dx = S(a, b) − (8.97) 90 a mit S(a, b) ≡

h [f (a) + 4f (a + h) + f (b)], 3

und

ξ ∈ (a, b).

Geht man an dieser Stelle einmal davon aus, daß die Genauigkeit einer solchen Approximation abgesch¨ atzt werden kann, dann l¨ aßt sich die Grundidee des adaptiven Verfahrens wie folgt beschreiben. Erf¨ ullt die berechnete N¨ aherung die vorgegebene Anforderung an die Genauigkeit nicht, dann wird das Intervall in zwei gleichgroße Teile zerlegt und die Simpson-Regel auf jedem dieser beiden Teilintervalle realisiert. Diese Strategie wird solange beibehalten, bis eine Approximation des Integrals mit der gleichen Genauigkeit u ¨ber alle Teilintervalle vorliegt. Am Ende hat man das Integral mit n Anwendungen

Kapitel 8 Numerische Differentiation und Integration

434

der Simpson-Regel berechnet, d.h.,  b n  xk n n n     f (x) dx = f (x) dx = (Sk + ek ) = Sk + ek , a

k=1

xk−1

k=1

k=1

k=1

wobei Sk eine Approximation des Integrals auf dem Intervall [xk−1 , xk ] darstellt und ek der zugeh¨ orige lokale Fehler ist. Gilt nun |ek | < ε(xk − xk−1 )/(b − a),

(8.98)

dann wird der Gesamtfehler wie folgt beschr¨ ankt sein

n n n



 ε 

ek ≤ |ek | < (xk − xk−1 ) = ε.

b−a k=1

k=1

(8.99)

k=1

Folglich f¨ uhrt das lokale Fehlerkriterium (8.98) zu einer numerischen L¨ osung, die genau die Forderung (8.96) erf¨ ullt. Wir wollen uns jetzt der Frage zuwenden, wie sich die Genauigkeit der berechneten Approximation S(a, b) absch¨ atzen l¨ aßt. Insbesondere muß dabei vermieden werden, die Ableitung f (4) (ξ) im Fehlerterm (siehe Formel (8.97)) explizit zu berechnen. Hierzu ˆ ≡ (b − a)/4 = h/2 wird die zusammengesetzte Simpson-Regel mit der Schrittweite h und m = 2 noch einmal auf das urspr¨ ungliche Problem angewendet, d.h., man berechnet + ,  b h 3h h f (a) + 4f a + + 2f (a + h) + 4f a + + f (b) f (x) dx = 6 2 2 a (8.100) 4 h b − a (4) ˜ f (ξ), ξ˜ ∈ (a, b). − 2 180 Zur Vereinfachung der Notation setzen wir + , h h a+b = f (a) + 4f a + + f (a + h) , S a, 2 6 2 + , a+b h 3h S ,b = f (a + h) + 4f a + + f (b) . 2 6 2 Mit diesen Bezeichnungen nimmt die Gleichung (8.100) die Gestalt 

b a

a+b 1 h5 (4) ˜ a+b +S ,b − f (ξ) f (x) dx = S a, 2 2 16 90

(8.101)

an. Da man i.allg. davon ausgehen kann, daß die letztendlich erzeugten Teilintervalle sehr klein sind, kann man dort f (4) (x) als konstant voraussetzen. Insbesondere gilt

8.2 Numerische Integration

435

˜ in den Gleichungen (8.97) und (8.101). Der Erfolg der adaptidann f (4) (ξ) = f (4) (ξ) ven Schrittweitensteuerung h¨ angt offensichtlich von dieser Voraussetzung ab. Aus den beiden genannten Gleichungen folgt 1 h5 (4) a+b h5 (4) a+b +S ,b − f (ξ) ≈ S(a, b) − f (ξ), S a, 2 2 16 90 90 so daß sich damit nach Umordnung der Terme als Approximation f¨ ur die Ableitung + , a+b h5 (4) a+b 16 f (ξ) ≈ S(a, b) − S a, −S ,b 90 15 2 2 ergibt. Setzt man diese Schranke in (8.101) ein, dann erh¨ alt man 

b a



a+b a+b f (x) dx ≈S a, +S ,b 2 2 + , 1 a+b a+b S(a, b) − S a, −S ,b − 15 2 2

und daraus die Sch¨ atzung f¨ ur den lokalen Fehler e1





b a+b a+b

−S ,b |e1 | ≡ f (x) dx − S a,

a 2 2

(8.103)



a+b 1

a+b

. ≈ S(a, b) − S a, − S , b

15 2 2 Nach Formel (8.98) hat man nun die Ungleichung



1

a+b a+b

< 2h ε, S(a, b) − S a, − S , b

b−a 15 2 2



S(a, b) − S a, a + b − S a + b , b < 15 ε,

2 2

(8.102)

d.h.

(8.104)

zu testen. Ist diese Testungleichung erf¨ ullt, dann gilt f¨ ur den Fehler die Ungleichung (8.99), und mit a+b a+b Inum ≡ S a, (8.105) +S ,b 2 2 auch die Beziehung (8.96). Somit wird Inum als eine hinreichend genaue Approximation f¨ ur I(f ) akzeptiert und das Verfahren abgebrochen. Wenn andererseits (8.104) nicht erf¨ ullt ist, dann wird das Intervall [a, b] in zwei gleich große Teilintervalle [a, (a + b)/2] und [(a + b)/2, b] unterteilt und die oben dargestellte Fehlersch¨ atzung f¨ ur jedes dieser

Kapitel 8 Numerische Differentiation und Integration

436

Teilintervalle separat durchgef¨ uhrt. Man bestimmt dabei, ob die jeweilige Approximation innerhalb der Toleranz von ε/2 liegt. Ist dies der Fall, dann setzt man Inum gleich der Summe der Approximationen auf den beiden Intervallen [a, (a + b)/2] und [(a + b)/2, b]. ullt. Liegt auf mindestens einem der Mit diesem Inum ist nun offensichtlich (8.96) erf¨ beiden Teilintervalle die berechnete Approximation nicht innerhalb der Toleranz ε/2, so halbiert man dieses Teilintervall noch einmal und berechnet eine zugeh¨ orige Approximation mit der Genauigkeit ε/4. Diese Halbierungsprozedur wird solange fortgesetzt, bis auf jedem Teilintervall die zugeh¨ orige Approximation innerhalb der geforderten Genauigkeit liegt. Es gibt eine Vielzahl von algorithmischen Darstellungen und Implementierungen des vorgestellten adaptiven Integrationsverfahrens. Wir wollen hier nur auf die entsprechende Literatur verweisen1 .

8.2.4

Romberg-Integration

In den vorangegangenen Abschnitten haben wir gezeigt, daß bei der numerischen Integration die Genauigkeit entweder durch die Verkleinerung der Schrittweite h oder durch die Erh¨ ohung der Ordnung des Verfahrens (indem man verlangt, daß auch Monome h¨ oherer Ordnung exakt integriert werden) verbessert werden kann. Dadurch erh¨ oht sich jedoch auch gleichzeitig der Rechenaufwand signifikant. Des weiteren haben wir gesehen, daß die Trapez-Regel die wohl am einfachsten anzuwendende Newton-Cˆ otesFormel darstellt, deren Genauigkeit aber i.allg. den Anforderungen in der Praxis nicht gen¨ ugt. Die Romberg-Integration2 ist nun eine neue Strategie, um, ausgehend von den mit der Trapez-Regel berechneten Resultaten und unter Zuhilfenahme der RichardsonExtrapolation (siehe auch Abschnitt 8.1.5), verbesserte Approximationen f¨ ur I(f ) zu bestimmen. Im Satz 8.4 haben wir bereits die zusammengesetzte Trapez-Regel zur Approximation von I(f ) auf einem Intervall [a, b] unter Verwendung von m Segmenten angegeben. Die zentrale Formel lautet 

b a

1 2 m−1  h h2 (b − a) (2) f (a) + f (b) + 2 f (μ), f (x) dx = f (xk ) − 2 12 k=1

wobei a < μ < b, h = (b − a)/m und xk = a + kh, k = 0, 1, . . . , m gilt. Wir wollen hier 1

Siehe u.a. die Monographien von R. L. Burden und J. D. Faires: Numerical Analysis. Brooks/Cole Publishing Company, Pacific Grove et al., 1997, D. Kincaid und W. Cheney Numerical Analysis. Brooks/Cole Publishing Company, Pacific Grove et al., 1991 sowie C. F. Gerald und P. O. Wheatley Applied Numerical Analysis. Addison-Wesley, Reading et al., 1999. 2 Werner Romberg (1909–2003), Deutscher Mathematiker. Er emigirierte 1937 aus politischen Gr¨ unden nach Russland und sp¨ ater nach Norwegen. Von 1950 bis 1968 war er Professor an der Universit¨ at Trondheim und von 1968 bis 1977 Inhaber des Lehrstuhls f¨ ur mathematische Methoden der Naturwissenschaften und Numerik in Heidelberg.

8.2 Numerische Integration

437

die Trapez-Regel in der Form 1

m−1  1 1 T (h) ≡ h f (a) + f (xk ) + f (b) 2 2

2 (8.106)

k=1

aufschreiben, um ihre Abh¨ angigkeit von der Schrittweite h explizit auszudr¨ ucken. Zur Anwendung der Richardson-Extrapolation ben¨ otigt man eine der Formel (8.51) entsprechende Entwicklung von T (h) in Potenzen von h. A. Ralston und Ph. Rabinowitz1 haben f¨ ur die Trapez-Regel die Euler-Maclaurinsche Summenformel 

b

f (x) dx = T (h) + a

N 

ck h2k + RN +1 (h)

(8.107)

k=1

gezeigt, mit bestimmten, von h unabh¨ angigen Koeffizienten ck und einem Restglied ur jedes feste N und h → 0 ist. RN +1 (h), wobei RN +1 (h) = O(h2N +2 ) f¨ Der erste Schritt bei der Romberg-Integration besteht nun in der Anwendung der Trapez-Regel mit den Schrittweiten h und 2h. Man erh¨ alt nach (8.107) 

b

f (x) dx = T (h) + c1 h2 + c2 h4 + c3 h6 + · · ·

(8.108)

f (x) dx = T (2h) + 4c1 h2 + 16c2 h4 + 64c3 h6 + · · · .

(8.109)

a

und



b a

Multipliziert man (8.108) mit 4 und subtrahiert (8.109) von dem Ergebnis, so resultiert 

b

3

f (x) dx = 4 T (h) − T (2h) − 12c2 h4 − 60c3 h6 − · · · .

(8.110)

a

Hieraus ergibt sich nach einer Umbezeichnung der Koeffizienten 

b

f (x) dx = a

4T (h) − T (2h) + d 1 h4 + d 2 h 6 + · · · . 3

(8.111)

Ein Blick auf die Formel (8.89) zeigt, daß der erste Summand auf der rechten Seite von (8.111), den wir mit S(h) ≡ 1

4T (h) − T (2h) 3

(8.112)

Siehe A. Ralston and Ph. Rabinowitz: A First Course in Numerical Analysis. McGraw-Hill, New York, 1960.

Kapitel 8 Numerische Differentiation und Integration

438

abk¨ urzen wollen, genau die zusammengesetzte Simpson-Regel ist. Mit dieser Bezeichnung nimmt die Formel (8.111) die Gestalt 

b

f (x) dx = S(h) + d1 h4 + d2 h6 + d3 h8 + · · ·

(8.113)

a

an. Der Genauigkeitsgrad der so erzeugten N¨ aherung S(h) ist um zwei Einheiten besser als der von T (h). Weiter ergibt die obige Formel, daß der Fehlerterm der Simpson-Regel nur geradzahlige Potenzen von h enth¨ alt. Im n¨ achsten Schritt der Romberg-Integration berechnet man neben (8.113) die zusammengesetzte Simpson-Regel noch einmal mit doppelter Schrittweite. Es resultiert  b f (x) dx = S(2h) + 16d1 h4 + 64d2 h6 + 256d3 h8 + · · · . (8.114) a

Analog wie im ersten Schritt verwendet man nun die beiden Gleichungen (8.113) und (8.114), um den Term mit der kleinsten h-Potenz zu eliminieren. Das Ergebnis ist 

b

f (x) dx = a

 16S(h) − S(2h) 1  − 48d2 h6 + 240d3 h8 + · · · . 15 15

(8.115)

Der erste Summand auf der rechten Seite ist genau die zusammengesetzte Boole-Regel (vergleiche Tabelle 8.12). Bezeichnen wir ihn mit B(h) ≡

16S(h) − S(2h) , 15

(8.116)

und geben den Koeffizienten wieder neue Namen, dann resultiert aus (8.115) die Darstellung  b f (x) dx = B(h) + e1 h6 + e2 h8 + e3 h10 + · · · . (8.117) a

Der Formel (8.117) ist unmittelbar abzulesen, daß wir mit B(h) den Genauigkeitsgrad wiederum vergr¨ oßert haben, n¨ amlich um zwei Einheiten gegen¨ uber S(h) und um vier Einheiten gegen¨ uber T (h). Dieser Prozeß kann entsprechend fortgesetzt werden. Wir wollen jetzt die Romberg-Integration formalisieren und in einer dem Neville-Schema a¨hnlichen Tabellenform (siehe Abschnitt 6.3) aufschreiben. Die Grundlage hierf¨ ur stellt die Aussage des folgenden Satzes dar. Satz 8.6. Es seien die beiden Approximationen R(h, k) und R(2h, k) f¨ ur die Gr¨ oße Q gegeben, die den Beziehungen Q = R(h, k) + c1 h2k + c2 h2k+2 + · · ·

8.2 Numerische Integration

439

und Q = R(2h, k) + 4k c1 h2k + 4k+1 c2 h2k+2 + · · · gen¨ ugen. Dann ist

Q=

4k R(h, k) − R(2h, k) + O(h2k+2 ) 4k − 1

(8.118)

eine verbesserte Approximation. Beweis: Das Resultat ergibt sich analog den oben ausgef¨ uhrten ersten beiden Schritten.  Der Ausgangspunkt ist wieder die Trapez-Regel (8.106). Zu einer vorgegeben positiven origen ganzen Zahl n bestimmt man die Folge mk ≡ 2k−1 , k = 1, . . . , n, sowie die zugeh¨ Schrittweiten hk ≡ (b − a)/mk = (b − a)/2k−1 . Nun werden unter Verwendung dieser ur I(f ) berechSchrittweiten hk und der Trapez-Regel (8.106) Approximationen Rk,1 f¨ net. Beginnend mit

R1,1 =

h1 b−a [f (a) + f (b)] = [f (a) + f (b)] 2 2

(8.119)

k¨onnen die Approximationen Rk,1 auch rekursiv erzeugt werden: ⎡ Rk,1 =

1⎣ Rk−1,1 + hk−1 2

k−2 2

f

a+ i−

i=1

1 2







hk−1 ⎦

(8.120)

f¨ ur k = 2, 3, . . . , n. Nun werden diese Approximationen (Stufe 1: Trapez-Regel) nach der Vorschrift (8.118) verbessert, d.h., man berechnet die Approximationen (Stufe 2: Simpson-Regel) Rk,2 =

4Rk,1 − Rk−1,1 3

(8.121)

f¨ ur k = 2, 3, . . . , n. F¨ ur die weiteren Stufen kann man auf die allgemeine Vorschrift

Ri,j =

4j−1 Ri,j−1 − Ri−1,j−1 , 4j−1 − 1

i = 2, 3, . . . , n, j = 2, . . . , i,

(8.122)

zur¨ uckgreifen, die sich ebenfalls aus (8.118) unmittelbar ergibt. Die Werte Ri,j ordnet ¨ man schließlich der besseren Ubersicht halber in Form eines sogenannten RombergTableaus an (siehe Tabelle 8.14).

Kapitel 8 Numerische Differentiation und Integration

440

i

Ri,1 TrapezRegel

Ri,2 SimpsonRegel

Ri,3 BooleRegel

Ri,4 Stufe 4

Ri,5 Stufe 5

··· ··· ···

1 2 3 4 5 .. .

R1,1 R2,1 R3,1 R4,1 R5,1 .. .

R2,2 R3,2 R4,2 R5,2 .. .

R3,3 R4,3 R5,3 .. .

R4,4 R5,4 .. .

R5,5 .. .

..

n

Rn,1

Rn,2

Rn,3

Rn,4

Rn,5

···

Ri,n Stufe n

. Rn,n

Tabelle 8.14: Romberg-Tableau

Bez¨ uglich der Genauigkeit der Romberg-Integration gilt der folgende Satz. Satz 8.7. Es sei f ∈ C2j [a, b]. Dann bestimmt sich der Fehlerterm der Romberg-Approximation nach der Formel 

b a

(2j) f (x) dx = Ri,j + bj h2j (ci,j ) = Ri,j + O(h2j i f i ),

(8.123)

mit hi = (b−a)/2i−1 . Dabei ist bj eine von j abh¨ angige Konstante und es gilt ci,j ∈ [a, b]. Beweis: Siehe zum Beispiel die Monographie von Ralston und Rabinowitz1 .



Weiter kann gezeigt werden2 , daß die Terme auf der Diagonalen im Romberg-Tableau gegen I(f ) konvergieren, falls die mit der Trapez-Regel berechneten Approximationen Ri,1 , i = 1, 2, . . ., gegen diesen Wert konvergieren. Es ist i.allg. zu erwarten, daß die ∞ Diagonalfolge {Ri,i }∞ i=1 schneller konvergiert als die Folge {Ri,1 }i=1 . Ist die Genauigkeit bei der Romberg-Integration noch nicht erreicht, dann braucht zur Bestimmung einer neuen Zeile des Tableaus nur eine zus¨ atzliche Berechnung mit der Trapez-Regel ausgef¨ uhrt werden. Die anderen Werte der entsprechenden Zeile ergeben sich aus den zuvor ermittelten Gr¨ oßen. Dies ist ein entscheidender Vorteil dieses Verfahrens. Man wird den Wert von n m¨ oglichst nicht vorgeben, sondern den Algorithmus solange durch Hinzuf¨ ugen einer neuen Zeile fortsetzen, bis ein Wert von n 1

A. Ralston and Ph. Rabinowitz: A First Course in Numerical Analysis. McGraw-Hill, New York, 1960. 2 Ebenda

8.2 Numerische Integration

441

erhalten wurde, f¨ ur den |Rn,n − Rn−1,n−1 | < ε gilt, wobei ε eine vom Anwender festzulegende Toleranz bezeichnet. Schließlich sollte noch bemerkt werden, daß es hierzu erforderlich ist, die Tabelle 8.14 zeilenweise aufzubauen, d.h., in der Reihenfolge R1,1 , R2,1 , R2,2 , R3,1 , R3,2 , R3,3 , . . . Die Romberg-Integration besitzt den Vorteil, einfach durchf¨ uhrbar zu sein, doch ist sie oft sehr aufwendig, wenn Integrale mit hoher Genauigkeit berechnet werden m¨ ussen. Eine Verbesserung der Effektivit¨ at l¨ aßt sich oftmals mit der von R. Bulirsch1 vorgeschlagenen Folge von Schrittweiten h0 = b − a, h1 = h0 /2, h2 = h0 /3, h3 = h0 /4, h4 = h0 /6, h5 = h0 /8, h6 = h0 /12, h7 = h0 /16, . . . allgemein:

hi = h0 /ni

mit ni = 2 ni−2

(8.124) f¨ ur i ≥ 4.

erreichen. Die unter dem Namen Bulirsch-Folge bekannte Schrittweitenwahl (8.124) hat den Vorteil, daß der Rechenaufwand zur Bestimmung der nachfolgenden TrapezSummen langsamer ansteigt. Im Programm 8.2 ist das Verfahren noch einmal als Matlab-Funktion rom dargestellt, wobei wiederum die Funktion f (x) als Matlab-Funktion f formuliert werden muß. Programm 8.2

Romberg-Integration

function r = rom(a,b,n) % % % % % %

a,b: Integrationsgrenzen n: Tableau-Tiefe r: Romberg-Tableau h=(b-a); r=zeros(n); r(1,1)=h*(f(a)+f(b))/2; for i=2:n s=0; for k=1:2^(i-2), s=s+f(a+(k-.5)*h); end r(i,1)=(r(i-1,1)+h*s)/2; for j=2:i r(i,j)=(4^(j-1)*r(i,j-1)-r(i-1,j-1))/(4^(j-1)-1); end h=h/2; end

1

Siehe R. Bulirsch: Bemerkungen zur Romberg-Integration. Numer. Math. 6 (1964), S. 6–16.

Kapitel 8 Numerische Differentiation und Integration

442

8.2.5

Gaußsche Quadraturformeln

In den vorangegangenen Abschnitten haben wir f¨ ur vorgegebene, insbesondere f¨ ur ¨ aquidistante St¨ utzstellen x0 , x1 , . . . , xn aus [a, b] Quadraturformeln der Gestalt (8.60) beorige Fehlerterm trachtet und dabei die Koeffizienten ak so bestimmt, daß der zugeh¨ E(f ) f¨ ur Polynome vom Grad kleiner oder gleich n verschwindet. Dieses Ziel konnten wir dadurch erreichen, indem wir die zu integrierende Funktion f durch ihr Lagrangesches Interpolationspolynom Pn vom maximalen Grad n ersetzten und dieses anstelle von f integrierten. Die resultierenden Quadraturformeln geh¨ oren zur Klasse der Newton-Cˆotes-Formeln. Die Voraussetzung, daß die Werte von f an den ¨ aquidistanten St¨ utzstellen bekannt sind, ist bei einer tabellierten Funktion i.allg. erf¨ ullt. Liegt die Funktion f jedoch explizit vor, dann stellt sich die nat¨ urliche Frage, ob man durch eine geeignete Wahl der St¨ utzstellen x0 , . . . , xn aus [a, b] die Genauigkeit der Quadraturformel noch weiter erh¨ ohen kann. Dies f¨ uhrt auf die sogenannten Gaußschen Quadraturformeln. Wir wollen hier eine etwas allgemeinere Fragestellung untersuchen, n¨ amlich die numerische Approximation eines gewichteten Integrals I(f, w)  I(f, w) ≡

b

f (x) w(x) dx ≈

a

n 

ak f (xk ),

(8.125)

k=0

wobei w(x) eine Gewichtsfunktion im Sinne der Definition 7.1 ist, d.h., es gilt w(x) ≥ 0 auf [a, b] und w(x) > 0 f¨ ur x ∈ (a, b). Einige Beispiele f¨ ur h¨ aufig verwendete Gewichtsfunktionen1 sind in der Tabelle 8.15 angegeben. w(x) ln

1 x

e−x e

−x2

[a, b]

w(x)

[a, b]

[0, 1]

xk , k = 0, 1, . . . , 5 √ 1 − x2

[0, 1]

[0, ∞)

[−1, 1]

(−∞, ∞)

Tabelle 8.15: Beispiele von Gewichtsfunktionen w(x)

Durch die Ber¨ ucksichtigung der Gewichtsfunktion w(x) lassen sich dann sogar Integrale mit singul¨ aren Integranden und/oder unendlichen Integrationsintervallen betrachten. Bisher haben wir stets den Fall w(x) ≡ 1 betrachtet. Analog zu (8.73) ergeben sich hier 1

Siehe zum Beispiel M. Abramowitz und I. A. Stegun: Handbook of Mathematical Functions. Dover, New York, 1972.

8.2 Numerische Integration die ak zu



443

xn

ak =

Ln,k (x) w(x) dx,

k = 0, 1, . . . , n.

(8.126)

x0

Da in (8.125) die n + 1 reellen Koeffizienten a0 , . . . , an vollst¨ andig frei w¨ ahlbar sind und u utzstellen x0 , . . . , xn nur vorausgesetzt werden muß, daß die Funktion ¨ber die n + 1 St¨ f auch an diesen Stellen berechenbar ist, kann man im obigen Problem u ¨ber 2n + 2 freie Parameter verf¨ ugen. Andererseits enth¨ alt die Klasse der Polynome vom maximalen Grad 2n + 1 genau 2n + 2 Parameter (Koeffizienten). Man erwartet deshalb, daß es sich dabei um die gr¨ oßte Klasse von Polynomen handelt, f¨ ur die (8.125) exakt erf¨ ullt werden kann. Tats¨ achlich l¨ aßt sich durch die geeignete Wahl der Gr¨ oßen ak und xk die Exaktheit in (8.125) erreichen, d.h., es entstehen Quadraturformeln mit dem Genauigkeitsgrad 2n + 1. Um dies zu zeigen, wollen wir voraussetzen, daß die zur Gewichtsfunktion w(x) geh¨ orenden Momente  b

xk w(x) dx,

k = 0, 1, . . . ,

(8.127)

a

existieren und absolut konvergent sind. Entsprechend (8.125) betrachten wir Quadraturformeln der Gestalt 

b

f (x) w(x) dx = a

n 

ak f (xk ) + E(f ) ≡ Q(f ) + E(f ).

(8.128)

k=0

Man nennt nun Q(f ) eine Gaußsche Quadraturformel, wenn die folgenden 2n + 2 Bedingungen erf¨ ullt sind: 

b

βj ≡ a

xj w(x) dx =

n 

ak xjk

⇐⇒

E(xj ) = 0, j = 0, . . . , 2n + 1,

(8.129)

k=0

d.h., wenn die Quadraturformel mindestens den Genauigkeitsgrad 2n + 1 aufweist und folglich f¨ ur Polynome (2n + 1)-ten Grades exakt ist. Die Koeffizienten a0 , . . . , an sowie osung des nichtlinearen Gleichungsdie St¨ utzstellen x0 , . . . , xn lassen sich somit als L¨ ur die systems (8.129) der Dimension 2n + 2 berechnen. Die Gr¨ oßen βj findet man f¨ unterschiedlichen Gewichtsfunktionen tabelliert vor1 . Zur Bestimmung spezieller Gaußscher Quadraturformeln greifen wir auf die im Abuck. Bevor wir eine schnitt 7.2.4 eingef¨ uhrten orthogonalen Polynome φ0 , . . . , φn zur¨ wichtige Eigenschaft dieser Polynome formulieren und beweisen, soll auf den folgenden, einfach zu zeigenden Sachverhalt hingewiesen werden. Bezeichnet {φ0 , . . . , φn } ein auf [a, b] definiertes System orthogonaler Polynome und besitzt φi den Grad i, i = 0, . . . , n, dann existieren zu jedem Polynom Q

vom maximalen Grad n eindeutig bestimmte n Konstanten α0 , . . . , αn , so daß Q(x) = i=0 αi φi (x). 1

Siehe M. Abramowitz und I. A. Stegun: Handbook of Mathematical Functions. Dover, New York, 1972.

Kapitel 8 Numerische Differentiation und Integration

444

Satz 8.8. Es bezeichne {φ0 , . . . , φn } ein System von n + 1 Polynomen, die auf dem Intervall [a, b] definiert und bez¨ uglich der Gewichtsfunktion w(x) orthogonal sind. Dabei sei φk ein Polynom vom Grad k, k = 0, 1, . . . , n. Dann besitzt φk genau k relle und paarweise verschiedene Wurzeln, die alle im Intervall (a, b) liegen. Beweis: Da φ0 ein Polynom vom Grad 0 ist, existiert eine Konstante C = 0, mit φ0 (x) ≡ C. Somit folgt f¨ ur k ≥ 1 



b

φk (x) φ0 (x) w(x) dx = C

0= a

b

φk (x) w(x) dx. a

w ist eine Gewichtsfunktion und erf¨ ullt deshalb w(x) ≥ 0 und w(x) ≡ 0. Folglich muß φk mindestens einmal in (a, b) das Vorzeichen wechseln. Es werde vorausgesetzt, daß φk das Vorzeichen genau j mal in (a, b) wechselt und zwar an den Stellen r1 , r2 , . . . , rj , ankung der Allgemeinheit l¨ aßt mit a < r1 < r2 < · · · < rj < b und j < k. Ohne Beschr¨ sich φk (x) > 0 auf (a, r1 ) annehmen. Dann gilt φk (x) < 0 auf (r1 , r2 ), φk (x) > 0 auf (r2 , r3 ), etc. Es sei nun Pj ein Polynom vom Grad j, das durch Pj (x) ≡

j .

(x − ri )

i=1

erkl¨ art ist. Offensichtlich stimmt das Vorzeichen von Pj mit dem von φk auf jedem der Segmente (a, r1 ), (r1 , r2 ), . . . , (rj , b) u ¨berein, so daß dort auch Pj (x)φk (x) > 0 gilt. Hieraus und aus den Eigenschaften der Gewichtsfunktion w(x) ergibt sich 

b

Pj (x) φk (x) w(x) dx > 0.

(8.130)

a

Andererseits ist Pj ein Polynom vom Grad j < k, das sich mit gewissen Konstanten α0 , . . . , αj in der Form j  Pj (x) = αi φi (x) i=0

schreiben l¨ aßt. Somit erh¨ alt man 

b

Pj (x) φk (x) w(x) dx = a

j  i=0



b

αi

φi (x) φk (x) w(x) dx = 0, a

was im Widerspruch zu (8.130) steht. Die einzige Voraussetzung, die bisher gemacht wurde, bestand in der Annahme, daß φk im Intervall (a, b) das Vorzeichen j mal wechselt, mit j < k. Somit muß φk mindestens k mal das Vorzeichen in (a, b) wechseln. Mit dem Zwischenwertsatz ergibt sich nun die Behauptung. 

8.2 Numerische Integration

445

Wir wollen jetzt annehmen, daß ein spezielles System orthogonaler Polynome φ0 (x), φ1 (x), φ2 (x), . . .

(8.131)

vorgegeben ist. Diese Polynome seien auf dem Intervall [a, b] definiert und bez¨ uglich der Gewichtsfunktion w(x) orthogonal. Im Abschnitt 7.2.4 haben wir mit dem Satz 7.5 eine allgemeine Vorschrift f¨ ur die Konstruktion eines solchen orthogonalen Systems sowie einige konkrete Beispiele (u.a. Legendre-Polynome, Tschebyscheff-Polynome) angegeben. Es gilt der folgende Satz. Satz 8.9. Die numerische Quadraturformel Q(f ) (siehe Formel (8.128)) ist genau dann eine Gaußsche Quadraturformel, wenn • die St¨ utzstellen x0 , . . . , xn gleich den Wurzeln des orthogonalen Polynoms φn+1 (x) aus dem System (8.131) sind, und • mit den zugeh¨origen Lagrange-Faktoren Ln,0 (x), . . . , Ln,n (x) (siehe Formel (6.9)) die Koeffizienten a0 , a1 , . . . , an die Darstellung  b  b Ln,k (x) w(x) dx = Ln,k (x)2 w(x) dx > 0, k = 0, . . . , n (8.132) ak = a

a

besitzen. Das Restglied E(f ) der Gaußschen Quadraturformel Q(f ) hat f¨ ur Funktionen f ∈ C2n+2 [a, b] die Gestalt  b E(f ) = f [x0 , . . . , xn , x0 , . . . , xn , x] (φn+1 (x))2 w(x) dx a

und kann mit einem ξ ∈ (a, b) in der Form  f (2n+2) (ξ) b E(f ) = (φn+1 (x))2 w(x) dx (2n + 2)! a geschrieben werden. Beweis: Der Beweis basiert auf den im Abschnitt 6.5 betrachteten Hermite-Polynomen und kann der relevanten Literatur entnommen werden1 .  Zum Abschluß wollen wir einige Beispiele f¨ ur die Gaußschen Quadraturformeln angeben. Wir beginnen mit den im Abschnitt 7.2.4 studierten Legendre-Polynomen. Diese basieren auf der Gewichtsfunktion w(x) ≡ 1 und sind auf dem Intervall [−1, 1] erkl¨ art. Das spezielle Intervall [−1, 1] stellt keine echte Einschr¨ ankung dar, da man mit der Variablentransformation x= 1

a+b b−a + t, 2 2

dx =

b−a dt 2

Siehe u.a. F. Stummel und K. Hainer: Praktische Mathematik. Teubner Studienb¨ ucher. B. G. Teubner, Stuttgart, 1982.

Kapitel 8 Numerische Differentiation und Integration

446

das Integral I(f ) wie folgt aufschreiben kann 

b

f (x) dx = a

b−a 2





1

f −1

a+b b−a t+ 2 2

dt ≡

b−a 2



1

ϕ(t) dt.

(8.133)

−1

Die Transformation (8.133) braucht nicht explizit durchgef¨ uhrt werden. Nach (8.128), (8.133) und der im Satz 8.9 angegebenen Form des Fehlertermes ist n¨ amlich   b n b−a 1 b−a  f (x) dx = ϕ(t) dt = ak ϕ(tk ) 2 2 a −1 k=0 (8.134)  b − a ϕ(2n+2) (ξ) 1 (φn+1 (t))2 dt, −1 ≤ ξ ≤ 1, + 2 (2n + 2)! −1 wobei φn+1 (t) das Legendre-Polynom vom Grad n+1 bezeichnet. Aus den Eigenschaften der Legendre-Polynome folgt  1 22n+3 [(n + 1)!]4 (φn+1 (t))2 dt = . (2n + 3)[(2n + 2)!]2 −1 Weiter ist ϕ

(2n+2)

(t) =

b−a 2

2n+2 f (2n+2) (x),

x=

a+b b−a t+ , 2 2

so daß sich nach (8.134) schließlich 

b

f (x) dx = v a

n 

ak f (u + v tk ) +

k=0

(b − a)2n+3 [(n + 1)!]4 (2n+2) f (ξ1 ), (2n + 3)[(2n + 2)!]3

ergibt, mit a ≤ ξ1 ≤ b,

u≡

a+b 2

und

v≡

b−a . 2

(8.135)

(8.136)

Wir wollen jetzt mit der Herleitung der ersten drei Gauß-Legendre-Quadraturformeln beginnen. Dazu ben¨ otigen wir die Legendre-Polynome φ0 (x) = 1,

φ1 (x) = x,

φ2 (x) = x2 −

1 3

und

φ3 (x) = x3 −

3 x. 5

(8.137)

F¨ ur die Einpunkt-Formel (n = 0) bestimmt sich die gesuchte St¨ utzstelle t0 im Intervall [−1, 1] als die Nullstelle der Funktion φ1 (x) = x. Offensichtlich ist t0 = 0. Den zugeh¨ origen Koeffizienten a0 berechnen wir nach (8.129) zu (j = 0)  1 a0 = dx = 2. −1

8.2 Numerische Integration

447

Setzt man nun die Werte von a0 , t0 und n in (8.135) ein, dann ergibt sich die erste Gauß-Legendre-Formel zu 

b

f (x) dx = (b − a) f

a

a+b 2

+

(b − a)3 (2) f (ξ1 ), 24

a ≤ ξ1 ≤ b.

(8.138)

Ein Vergleich mit den offenen Newton-Cˆotes-Formeln in der Tabelle 8.13 zeigt, daß wir genau die Mittelpunkts-Regel erhalten haben. F¨ ur die Konstruktion der Zweipunkt-Formel (n = 1) hat man die beiden √ Nullstellen bestimmen. Diese sind x = ±1/ 3, so daß sich der Funktion φ2 (x) = x2 − 1/3 zu 1,2 √ √ daraus die St¨ utzstellen t0 = −1/ 3 und t1 = 1/ 3 im Intervall [−1, 1] ergeben. Um die zugeh¨ origen Koeffizienten ak zu berechnen, verwenden wir die Formel (8.129). Es resultieren die beiden linearen Gleichungen (f¨ ur j = 0, 1) 2 = a0 + a1

und

1 1 0 = − √ a0 + √ a1 . 3 3

osung, Als L¨ osung erh¨ alt man unmittelbar a0 = 1 und a1 = 1. Substituiert man diese L¨ die zuvor berechneten St¨ utzstellen t0 , t1 und n = 1 in (8.135), dann resultiert die folgende Zweipunkt-Formel 

b a

+ , b−a v v (b − a)5 (4) f (x) dx = f u− √ f (ξ1 ), +f u+ √ + 2 4320 3 3

(8.139)

wobei wir wieder die Abk¨ urzungen aus (8.136) verwendet haben. Wir wollen abschließend die entsprechende Dreipunkt-Formel√ (n√= 2) ableiten. Die 3 = 0,√ x2,3 = ± 3/ 5, so daß sich die Nullstellen von φ3 (x) √ =√ x − 3x/5 sind x1 √ St¨ utzstellen t0 = − 3/ 5, t1 = 0 und t2 = 3/ 5 im Intervall [−1, 1] ergeben. Zur Berechnung der zugeh¨ origen Koeffizienten a0 , a1 , a2 verwenden wir wieder die Formel (8.129). Wir erhalten damit das folgende lineare Gleichungssystem (f¨ ur j = 0, 1, 2) ! ! 3 3 3 2 3 a0 + a2 , = a 0 + a2 . 0=− 2 = a0 + a 1 + a 2 , 5 5 3 5 5 Die L¨ osung ist a0 = a2 = 5/9 und a1 = 8/9. Wir setzen diese Resultate und n = 2 wieder in (8.135) ein und erhalten damit die gesuchte Dreipunkt-Formel 

b a

1 # # √ $ √ $2 15 15 b−a f (x) dx = 5f u − v + 8f (u) + 5 f u + v 18 5 5 (b − a) (6) f (ξ2 ). 2016000 7

+

(8.140)

Kapitel 8 Numerische Differentiation und Integration

448

Wie auch bei den Newton-Cˆotes-Formeln werden in der Praxis haupts¨ achlich zusammengesetzte Gaußsche Quadraturformeln verwendet. Unterteilt man das Integrationsintervall [a, b] in m a ¨quidistante Teilintervalle mit der Schrittweite h = (b − a)/m und wendet auf jedem dieser Segmente eine Gaußsche Quadraturformel mit n+1 St¨ utzstellen an, dann ergibt sich die zusammengesetzte Gaußsche Quadraturformel 

b a

m−1 n h   h h f (x) dx ≈ ak f a + jh + + xk 2 j=0 2 2

(8.141)

k=0

mit einem Fehler der Ordnung O(h2n ). Als ein weiteres Beispiel wollen wir die Gaußschen Quadraturformeln auf der Basis von Tschebyscheff-Polynomen betrachten. Im Abschnitt 7.2.4 haben wir gesehen, daß diese Polynome auf dem Intervall [−1, 1] definiert und bez¨ uglich der Gewichtsfunktion w(x) = √

1 , 1 − x2

x ∈ [−1, 1],

utzstellen f¨ ur die Quadraorthogonal sind. Die Nullstellen von Tn (x) und somit die St¨ turformel der Ordnung n − 1 sind xk = cos

2k + 1 π , 2n

k = 0, . . . , n − 1.

(8.142)

Die zugeh¨ origen Koeffizienten ak lassen sich sehr einfach aus der Forderung bestimmen, daß die Polynome T0 (x), . . . , Tn−1 (x) durch eine Quadraturformel der Ordnung n − 1 exakt integriert werden m¨ ussen, d.h., n−1 

 ak Tj (xk ) =

k=1

1 −1

T (x) √j dx, 1 − x2

j = 0, . . . , n − 1.

(8.143)

Die Integrale auf der rechten Seite berechnen sich nach (7.81) zu   1  1 Tj (x) T0 (x) Tj (x) π, j = 0 √ √ dx = dx = 2 2 0, j = 1, . . . , n − 1. 1−x 1−x −1 −1 Andererseits kann der Term Tj (xk ) auf der linken Seite von (8.143) nach der Definition (7.78) der Tschebyscheff-Polynome folgendermaßen aufgeschrieben werden (2k + 1)j 2k + 1 π = cos π . Tj (xk ) = cos j arccos cos 2n 2n Damit nimmt das lineare Gleichungssystem (8.143) die Gestalt n−1  k=0

ak cos

(2k + 1)j π 2n



 =

π, 0,

j=0 j = 1, . . . , n − 1

8.3 Aufgaben

449

an. Als L¨ osung berechnet man ak =

π , n

k = 0, 1, . . . , n − 1.

(8.144)

F¨ ur n = 1, 2, . . . ergeben sich nun unter Beachtung des im Satz 8.9 angegebenen Fehlerterms die sogenannten Gauß-Tschebyscheff-Formeln der Ordnung n − 1: 

1 −1

n−1 2k + 1 f (x) π f (2n) (ξ) π  √ π + 2n−1 dx = f cos 2 n 2n 2 (2n)! 1−x k=0

(8.145)

mit einem ξ ∈ [−1, 1].

8.3

Aufgaben

Aufgabe 8.1. Im Handbuch von Abramowitz und Stegun1 findet man die folgende Beziehung f¨ ur die Gamma-Funktion Γ(x + 1) = 1 +

5 

ai xi + ε(x) ≡ P5 (x) + ε(x),

0 ≤ x ≤ 1,

i=1

mit |ε(x)| ≤ 5 × 10−5 und a1 = −0.5748646 a2 = 0.9512363 a3 = −0.6998588 a4 = −0.6998588 a5 = −0.1010678. Man verwende die Formel (8.14), um eine N¨ aherung f¨ ur die Ableitung von Γ(x + 1) an der Stelle x = 0.45 mit der Schrittweite h = 10−3 zu berechnen. Die dazu erforderlichen Werte der Gamma-Funktion approximiere man mit dem obigen Polynom P5 (x). Die so ermittelte Sch¨ atzung f¨ ur die Ableitung vergleiche man mit dem Resultat, das sich durch die direkte Differentiation von P5 (x) ergibt. Aufgabe 8.2. Man betrachte die folgenden zwei Techniken zur Approximation der zweiten Ableitung einer Funktion f (x) an der Stelle x = x0 : 1) Berechne den Differenzenquotienten f (x0 + h) − 2f (x0 ) + f (x0 − h) . h2 2) Interpoliere f (x) an den Stellen x0 − h, x0 und x0 + h mittels eines quadratischen Polynoms P (x) und bestimme anschließend P  (x). 1

M. Abramowitz und I. A. Stegun: Handbook of Mathematical Functions. Dover, New York, 1972.

Kapitel 8 Numerische Differentiation und Integration

450

F¨ uhren beide Techniken zum gleichen Ergebnis und warum? Aufgabe 8.3. Durch die Entwicklung der Funktion f (x) an der Stelle x = x0 in ein Taylor-Polynom vierten Grades und der Bestimmung der Polynomwerte an den Stellen ur f (3) (x0 ), deren Fehlerterm x0 ±h und x0 ±2h konstruiere man eine Differenzenformel f¨ 2 von der Ordnung h ist. Aufgabe 8.4. Man wende die Richardson-Extrapolation auf die in der Aufgabe 8.3 bestimmte Differenzenformel an, um eine Formel der Ordnung h4 zur Approximation von f (3) (x0 ) zu bestimmen. Aufgabe 8.5. Man f¨ uhre die im Abschnitt 8.1.3 vorgenommenen Fehlerbetrachtungen f¨ ur die numerische Differentiationsformel f  (x0 ) ≈

−f (x2 ) + 8 f (x1 ) − 8 f (x−1 ) + f (x−2 ) 12 h

durch. Insbesondere zeige man, daß sich hier die Schranke E(h) wie folgt zusammensetzt E(h) =

3δ C5 4 + h , 2h 30

C5 ≡

max x∈[x−2 ,x2 ]

|f (5) (x)|.

Man ermittle die zugeh¨ orige optimale Schrittweite hmin sowie E(hmin ). Aufgabe 8.6. Wie in der Aufgabe 8.5 analysiere man den Einfluß von Rundungsfehlern auf die Quadraturformel f (x0 + h) − f (x0 ) . f  (x0 ) ≈ h Aufgabe 8.7. Es geh¨ ort zum mathematischen Grundwissen, daß die Ableitung einer Funktion f wie folgt definiert werden kann f  (x) ≡ lim

h→0

f (x + h) − f (x) . h

Man w¨ ahle eine Funktion f , eine nichtverschwindende Zahl x und berechne mit der ur f  (x) nach der Vorschrift Matlab die Folge von Approximationen fn (x) f¨ fn (x) ≡

f (x + 10−n ) − f (x) , 10−n

n = 1, 2, . . . , 20.

Man interpretiere die Ergebnisse. 1

Aufgabe 8.8. Aus der Analysis ist die Formel e = lim (1 + h) h bekannt. Man beh→0

stimme f¨ ur h = 0.08, 0.04, 0.01 Approximationen f¨ ur e. Unter der Voraussetzung, daß Konstanten c1 , c2 , . . . existieren, so daß 1

e = (1 + h) h + c1 h + c2 h2 + c3 h3 + · · · gilt, wende man die Extrapolationstechnik auf die berechneten N¨ aherungen an, um eine Approximation der Ordnung O(h3 ) f¨ ur e zu erhalten, mit h = 0.08.

8.3 Aufgaben

451

Aufgabe 8.9. Die partielle Ableitung ∂f (x, y)/∂x von f (x, y) bez¨ uglich x wird dadurch erhalten, indem man die Variable y fixiert und bez¨ uglich x differenziert. Analog ergibt sich ∂f (x, y)/∂y durch das Festhalten der Variablen x und der Differentiation bez¨ uglich y. Die Formel (8.14) kann auch zur Approximation dieser partiellen Ableitungen wie folgt verwendet werden ∂f (x, y) ∂x

=

f (x + h, y) − f (x − h, y) + O(h2 ), 2h

∂f (x, y) ∂y

=

f (x, y + h) − f (x, y − h) + O(h2 ). 2h

Man schreibe in Matlab eine Funktion zur Berechnung dieser Ableitungen. Diese Funktion sollte von der Form [pdx,pdx]=pardiff(’func’,x,y,h) sein. Unter Verwendung dieser Matlab-Funktion und den Schrittweiten h = 0.1, 0.01 und 0.001 berechne man f¨ ur f (x, y) = xy/(x + y) Approximationen f¨ ur die beiden partiellen Ableitungen an der Stelle (x, y) = (2, 3). Die erhaltenen Resultate vergleiche man mit den Werten, die sich mittels exaktem Differenzieren ergeben. Aufgabe 8.10. Es seien h = (b − a)/3, x0 = a, x1 = a + h und x2 = b. Man bestimme den Genauigkeitsgrad der Quadraturformel  b 9 3 f (x) dx ≈ h f (x1 ) + h f (x2 ). 4 4 a Aufgabe 8.11. Man bestimme die Konstanten c0 , c1 und x1 , so daß die Quadraturformel  1

f (x) dx ≈ c0 f (0) + c1 f (x1 ) 0

den h¨ ochstm¨ oglichen Genauigkeitsgrad besitzt. Aufgabe 8.12. Auf den indischen Mathematiker Ramanujan geht die folgende Vermutung zur¨ uck. Die Anzahl der Zahlen zwischen a und b, die entweder Quadratzahlen oder Summen von zwei Quadratzahlen sind, wird durch das Integral  b dx  N = 0.764 loge (x) a angen¨ ahert. Man teste diese Vermutung f¨ ur die folgenden Kombinationen von a und b: (1, 10), (1, 50) und (1, 100). Zur Berechnung des Integrals verwende man eine zusammengesetzte numerische Quadraturformel mit mindestens 101 St¨ utzstellen. Aufgabe 8.13. Man schreibe eine Matlab-Funktion f¨ ur das im Abschnitt 8.2.3 angegebene adaptive Verfahren. Mit dieser Funktion berechne man das Integral  1 2 (e−50(x−0.5) + e−2x ) dx, 0

Kapitel 8 Numerische Differentiation und Integration

452

wobei ε = 10−4 gesetzt werde. Man skizziere das automatisch erzeugte Gitter. Aufgabe 8.14. Man approximiere die folgenden Integrale mit den verschiedenen Quadraturformeln aus der Tabelle 8.12  1.5  1  1 √ 4 1 + x dx 4) ex dx 7) dx 1) 2 0 1.1 0 1+x  π/2  2 x  1 tan−1 (x) e 2) dx 8) dx x cos(x) dx 5) x 0 0 1 x  1  10  5.5  10 sin(x) 1 1 1 3) dx 6) dx 9) dx + dx x x x 0 1 1 5.5 x Sind die Genauigkeiten der berechneten Approximationen mit den entsprechenden Fehlerformeln konsistent? Welches der Integrale h) oder i) ergibt eine bessere Approximation? Aufgabe 8.15. Mit der Gauß-Tschebyscheff-Formel (8.145) zeige man, daß die Einheits-Kreisscheibe den Fl¨ acheninhalt π besitzt. utzAufgabe 8.16. Es sei H3 (x) das kubische Hermite-Polynom von f (x) mit den St¨ stellen x = a und b (siehe Abschnitt 6.5). Man zeige, daß man damit die Quadraturformel 

b a

 f (x) dx ≈

b

H3 (x) dx = a

h h2  (f (a) + f (b)) + (f (a) − f  (b)) 2 12

(8.146)

erh¨ alt. Diese Formel wird h¨ aufig als verbesserte Trapez-Regel bezeichnet. Man schreibe eine Matlab-Funktion f¨ ur diese Quadraturformel. Der Fehlerterm der verbesserten Trapez-Regel ist von der Form c h4 f (4) (ξ), ξ ∈ (a, b). Man bestimme die Konstante c n¨aherungsweise anhand von numerischen Experimenten. Aufgabe 8.17. Es werde angenommen, daß ein einfaches Pendel der L¨ ange l bei einem Winkel α zur Vertikalen freigelassen wird. Dann kann gezeigt werden, daß die Zeit T , die das Pendel bis zum Erreichen der vertikalen Position ben¨ otigt, gegeben ist durch @ π2 l dx ! , T =   g 2 α 2 sin 1 − sin (x) 0 2 wobei g die durch die Gravitation hervorgerufene Beschleunigung ist. Man verwende die zusammengesetzte Trapez-Regel mit 5, 7 und 9 Punkten, um N¨ aherungen f¨ ur das Integral zu berechnen. Man setze zum Beispiel α = 200 . Aufgabe 8.18. Die Periode eines einfachen Pendels ist durch das vollst¨ andige elliptische Integral erster Art  π2 dx K(α) = 2 1 − α sin2 (x) 0

8.3 Aufgaben

453

bestimmt. Man verwende eine adaptive Quadraturformel und berechne dieses Integral f¨ ur soviel Werte von α, daß sich eine glatte Kurve der Funktion K(α) u ¨ber dem Intervall 0 ≤ α ≤ 1 zeichnen l¨ aßt. Man vergleiche den erhaltenen Funktionsverlauf mit den Ergebnissen, die man direkt beim Aufruf einer Standard-Routine zur Berechnung des elliptischen Integrals erh¨ alt. Aufgabe 8.19. Ein wichtiges Integral der reinen Mathematik ist  ∞ √ 2 e−x dx = π. −∞

Man u ufe diese Formel numerisch unter Verwendung einer der Quadraturformeln ¨berpr¨ aus der Tabelle 8.13. Da der Integrand sehr schnell abklingt, ist es m¨ oglich, das Integral sukzessive u ber die Intervalle [−2, 2], [−3, 3], [−4, 4], . . . solange zu berechnen, bis sich ¨ eine hinreichend genaue N¨ aherung einstellt. Aufgabe 8.20. Es sei N = 10. Man wende zur Approximation des Integrals I(f ) die Romberg-Integration solange an, bis |Rn,n −Rn−1,n−1 | ≤ 10−5 oder i > N gilt. Folgende Funktionen und Intervallgrenzen m¨ ogen den Berechnungen zugrunde liegen: 1) f (x) =

x2 , 1 + x3

2) f (x) =

cos(x) − ex , sin(x) 2

a = 0, b = 1, a = −1, b = 1, 2

e−9x + e−1024(x−1/4) √ 3) f (x) = , a = 0, b = 1, π / ur − 1 ≤ x ≤ 0.5 e10x f¨ , a = −1, b = 1.5. 4) f (x) = e10(1−x) f¨ ur 0.5 ≤ x ≤ 1.5 Aufgabe 8.21. Man zeichne die Kurven der beiden Fresnel-Integrale C(t) und S(t) f¨ ur Werte von t aus dem Intervall [0, 5]: 2 2  t  t πx πx dx, S(t) ≡ dx. cos sin C(t) ≡ 2 2 0 0

Kapitel 9

Kleinste-Quadrate-L¨ osungen 9.1

Einfu ¨ hrung

Im Kapitel 7 wurde die Methode der Kleinsten Quadrate zur Bestimmung einer N¨ aherungsfunktion P (x) f¨ ur eine diskret oder kontinuierlich vorgegebene Funktion f (x) beschrieben. Des weiteren haben wir im Kapitel 3 verschiedene orthogonale Transformationen (Householder-, Givens- und Schnelle Givens-Transformation) kennengelernt. Diese orthogonalen Transformationen sollen nun u.a. dazu verwendet werden, die Frage der Approximation von Funktionen von einem allgemeineren Standpunkt aus zu betrachten. Wie bisher bezeichne f (x) die zu approximierende Funktion. Es werde vorausgesetzt, daß M + 1 Beobachtungen yi vorliegen, d.h. Werte von f , die an speziellen Argumenten xi gemessen wurden: yi ≈ f (xi ),

i = 0, 1, . . . , M.

(9.1)

Die Grundidee besteht nun darin, f (x) durch eine Linearkombination von n + 1 Basisfunktionen Φj zu modellieren: f (x) ≈ P (x) ≡ β0 Φ0 (x) + β1 Φ1 (x) + · · · + βn Φn (x).

(9.2)

Die rechteckige Matrix Y ∈ R(n+1)×(m+1) mit den Elementen yij = (Y )ij = Φj (xi )

(9.3)

wird Design-Matrix genannt. Sie besteht i.allg. aus mehr Zeilen als Spalten. In Matrix-Vektor-Notation l¨ aßt sich jetzt unser Modell wie folgt darstellen: y ≈ Y β,

(9.4)

Kapitel 9 Kleinste-Quadrate-L¨osungen

456 mit y ≡ (y0 , . . . , yM )T und β ≡ (β0 , . . . , βn )T .

In diesem Modell d¨ urfen die Basisfunktionen Φj (x) nichtlinear vom Argument x abh¨angen, w¨ ahrend die freien Parameter βj offensichtlich nur linear auftreten. Das (gen¨ aherte) lineare Gleichungssystem Yβ ≈y ist u ¨berbestimmt, da mehr Gleichungen als Unbekannte vorkommen. In den Basisfunktionen k¨ onnen weitere Parameter α0 , . . . , αp (sogar nichtlinear ) enthalten sein. Man nennt das Approximationsproblem separabel, wenn es zwei Arten von Parametern enth¨ alt, die linear bzw. nichtlinear im Problem wie folgt auftreten: f (x) ≈ P (x, α) ≡ β0 Φ0 (x, α) + · · · βn Φn (x, α)

(9.5)

mit α ≡ (α0 , α1 , . . . , αp )T . Die Elemente der Design-Matrix h¨ angen dann auch von x und α ab: yij = Φj (xi , α). Durch die spezielle Wahl der Basisfunktionen ergeben sich nun unterschiedliche Modelle: • Geradenapproximation: Φ0 (x) = 1, Φ1 (x) = x, f (x) ≈ P (x) = β0 + β1 x. • Polynomapproximation: Φj (x) = xj , j = 0, 1, . . . , n, f (x) ≈ P (x) = β0 + β1 x + · · · + βn xn . • Rationale Approximation: Φj (x) = f (x) ≈ P (x) =

xj , α 0 + α 1 x + · · · + αn x n

β 0 + β 1 x + · · · + βn x n . α 0 + α 1 x + · · · + αn x n

• Gauss-Approximation: Φj (x) = e−(t−μj )/σj , f (x) ≈ P (x) = β0 e−(t−μ0 )/σ0 + · · · + βn e−(t−μn )/σn . Unter den Residuen wollen wir die Differenzen zwischen den Beobachtungen und den Modellwerten verstehen, d.h.,

ri ≡ yi −

n 

βj Φj (xi ),

i = 0, 1, . . . , M.

j=0

In Vektorschreibweise lauten diese Gleichungen r = y − Y β,

r ≡ (r0 , . . . , rM )T .

(9.6)

9.2 Eigenschaften der QR-Faktorisierung

457

Das Ziel besteht nun in der Bestimmung eines solchen Parametervektors β, f¨ ur den die Residuen so klein wie m¨ oglich sind. Wie wir bereits im Kapitel 7 gesehen haben, f¨ uhrt die Methode der Kleinsten Quadrate auf die Minimierung der Funktion F (β0 , . . . , βn ) ≡

M 

⎛ ⎝yi −

i=0

n 

⎞2 βj Φj (xi )⎠ =

j=0

M 

ri2 .

(9.7)

i=0

Die Funktion F l¨ aßt sich aber unter Verwendung der 2-Norm in der Form F (β0 , . . . , βn ) = r 22 darstellen. Somit ist die Aufgabe min y − Y β 2

(9.8)

β

zu l¨ osen. In den folgenden Abschnitten werden wir unter der Voraussetzung, daß die Design-Matrix Y Vollrang besitzt, geeignete Verfahren zur numerischen Behandlung des Problems (9.8) betrachten.

9.2

Eigenschaften der QR-Faktorisierung

In den Abschnitten 3.3.1 bis 3.3.3 wurde bereits die QR-Faktorisierung einer quadratischen Matrix A ∈ Rn×n mittels Givens- und Householder-Matrizen beschrieben. Die dazu erforderlichen Rechenschritte lassen sich auf die gleiche Weise auch f¨ ur eine rechtuhren, wobei wir hier stets m ≥ n voraussetzen wollen. eckige Matrix A ∈ Rm×n durchf¨ Somit ist die Existenz der QR-Faktorisierung bereits gezeigt. Wir wollen jetzt die Spalten von Q auf R(A) und R(A)⊥ beziehen und die Eindeutigkeit der Faktorisierung nachweisen. Das Symbol ⊥“ bezeichnet hier das orthogonale Komplement eines Teil” raumes S ⊆ Rm und ist wie folgt definiert: S ⊥ ≡ {y ∈ Rm : y T x = 0 f¨ ur alle x ∈ S}.

(9.9)

Es gilt der folgende Satz. Satz 9.1. Ist A = QR die QR-Faktorisierung einer Matrix A ∈ Rm×n mit rang(A) = n und sind A = [ a1 | · · · | an ] sowie Q = [ q1 | · · · | qm ] die entsprechenden Spaltenunterteilungen, dann gilt span{a1 , . . . , ak } = span{q1 , . . . , qk },

k = 1, 2, . . . , n.

Insbesondere ist mit Q = [ Q1 | Q2 ], Q1 ∈ Rm×n , Q2 ∈ Rm×(m−n) :

Kapitel 9 Kleinste-Quadrate-L¨osungen

458 1) R(A) = R(Q1 ), 2) R(A)⊥ = R(Q2 ), n

3) A = Q1 R1 , mit R1 ≡ (R)ij=1 . Beweis: Es sei A = QR. 1) Ein Vergleich der k-ten Spalten in [ a1 | · · · | an ] = [ q1 | · · · | qn−1 | qn | · · · |qm ] [ r1 | · · · |rn ] ergibt a k = [ q 1 | · · · | q m ] [ r1 | · · · | r n ] e k = [ q 1 | · · · | q m ] r k , T

mit rk = (r1k , r2k , . . . , rkk , 0, . . . , 0) . Somit ist ak =

k 

rik qi ,

d.h.,

(9.10)

i=1

span{a1 , . . . , ak } ⊆ span{q1 , . . . , qk }, wobei die rechte Seite die Dimension k besitzt, da Q eine orthogonale Matrix ist. Die Voraussetzung rang(A) = n impliziert aber, daß die linke Seite ebenfalls die Dimension k aufweist. Somit ergibt sich span{a1 , . . . , ak } = span{q1 , . . . , qk }. 2) Diese Beziehung ist trivial erf¨ ullt, da Q eine orthogonale Matrix ist. , R1 3) A = [ Q1 | Q2 ] = Q 1 R1 . 0 +



Die Matrizen Q1 und Q2 lassen sich einfach aus einer faktorisierten Form von Q berechnen. Satz 9.2. Es sei A ∈ Rm×n mit rang(A) = n. Die modifizierte QR-Faktorisierung A = Q1 R1

(9.11)

ist eindeutig bestimmt. Hierbei ist Q1 ∈ Rm×n eine Matrix mit orthonormalen Spalten und R1 ∈ Rn×n eine obere -Matrix mit positiven Diagonalelementen. Des weiteren ist R1 = GT , wobei G den unteren Cholesky-Faktor von AT A bezeichnet.

9.3 Gram-Schmidt-Verfahren

459

Beweis: Es ist T

AT A = (Q1 R1 ) (Q1 R1 ) = R1T QT1 Q1 R1 = R1T R1 . Folglich stellt G = R1T den Cholesky-Faktor von AT A dar. Dieser Faktor ist wegen der Eindeutigkeit der Cholesky-Faktorisierung eindeutig bestimmt. Da Q1 = AR1−1 gilt, ist  auch Q1 eindeutig. Im weiteren wollen wir die Zerlegung (9.11) als die reduzierte QR-Faktorisierung der Matrix A bezeichnen.

9.3

Gram-Schmidt-Verfahren

In diesem Abschnitt sollen zwei numerische Techniken betrachtet werden, mit denen aßt. sich die reduzierte QR-Faktorisierung A = Q1 R1 direkt berechnen l¨ ost Unter der Voraussetzung rang(A) = n kann die Gleichung (9.10) nach qk aufgel¨ werden: # $ k−1  1 qk = rik qi . ak − rkk i=1    ≡zk

aßt sich als Basisvektor in Richtung von Der Vektor qk l¨ zk = ak −

k−1 

rik qi

(9.12)

i=1

interpretieren, da die Beziehung qk 2 =

9 qkT qk = 1 erf¨ ullt ist. Damit nun

zk ∈ span{q1 , . . . , qk−1 }⊥ gilt, w¨ ahlt man rik = qiT ak ,

i = 1, 2, . . . , k − 1.

(9.13)

Damit geht (9.12) u ¨ber in zk = ak −

k−1 

(qiT ak )qi

i=1

und man sieht unmittelbar, daß die gew¨ unschte Orthogonalit¨ at qjT zk = 0,

j = 1, 2, . . . , k − 1,

¨ besteht. Aus diesen Uberlegungen ergibt sich das sogenannte klassische Gram-SchmidtVerfahren, das im Programm 9.1 als Matlab-Funktion grasch dargestellt ist.

Kapitel 9 Kleinste-Quadrate-L¨osungen

460 Programm 9.1

Klassisches Gram-Schmidt-Verfahren

function [q,r] = grasch(a) % % % % % %

a: (m x n)-Matrix q: spaltenorthogonale (m x n)-Matrix r: obere (n x n)-Dreiecksmatrix [m,n]=size(a); r=zeros(n); for k=1:n q(:,k)=a(:,k); for i=1:k-1 r(i,k)=q(:,i)’*a(:,k); q(:,k)=q(:,k)-r(i,k)*q(:,i); end r(k,k)=norm(q(:,k)); if r(k,k) == 0 return % a(:,k) ist linear abh¨ angig von a(:,1:k-1) end q(:,k)=q(:,k)/r(k,k); end

Die Abk¨ urzung CGS wird auch sehr h¨ aufig f¨ ur dieses Verfahren verwendet. Sie resultiert aus der englischen Bezeichnung, n¨ amlich classical Gram-Schmidt method“. ” Wie man sich leicht davon u ¨berzeugen kann, werden im k-ten Schritt des CGS die k-ten Spalten sowohl von Q1 als auch von R1 erzeugt. Eine ausf¨ uhrliche Rundungsfehleranalyse des klassischen Gram-Schmidt-Verfahrens1 zeigt, daß dieses Verfahren extrem schlechte numerische Eigenschaften besitzt, d.h., die berechneten qi verlieren durch den Einfluß der Rundungsfehler immer mehr die Eigenschaft der Orthogonalit¨ at. Die Ab¨ anderung der Reihenfolge der Rechenoperationen f¨ uhrt zu einem verbesserten Stabilit¨ atsverhalten. Diese verbesserte Variante ist unter dem Namen modifiziertes Gram-Schmidt-Verfahren (Abk¨ urzung: MGS) bekannt. Anhand einer (4 × 3)-Matrix A wollen wir die neue Verfahrensstrategie erkl¨ aren. Die vollst¨ andige QR-Faktorisierung von A lautet: ⎡

a11 ⎢a21 ⎢ ⎣a31 a41 1

a12 a22 a32 a42

⎤ ⎡ a13 q11 ⎢q21 a23 ⎥ ⎥=⎢ a33 ⎦ ⎣q31 a43 q41

q12 q22 q32 q42

q13 q23 q33 q43

⎤⎡ q14 r11 ⎢ 0 q24 ⎥ ⎥⎢ q34 ⎦ ⎣ 0 q44 0

r12 r22 0 0

⎤ r13 r23 ⎥ ⎥. r33 ⎦ 0

Siehe zum Beispiel die Monographie von J. H. Wilkinson: The Algebraic Eigenvalue Problem. Oxford University Press, Oxford, UK, 1965.

9.3 Gram-Schmidt-Verfahren

461

Bezeichnet ri die i-te Zeile von R, dann l¨ aßt sich A in der Form A=

3  i=1

qi ri = [ r11 q1 | r12 q1 + r22 q2 | r13 q1 + r23 q2 + r33 q3 ]       z∈R4

B∈R4×(3−1)

aufschreiben. In einem ersten Schritt sei A(1) ≡ [ z | B ] = A und man berechnet r11 = z 2 ,

(r12 , r13 ) = q1T B.

q1 = z/r11 ,

F¨ ur den zweiten Schritt werde m

[ 0 | A(2) ] ≡ A − 1

n−1

1 

qi r i

i=1

gesetzt. Es ist [ 0 | A(2) ] = [ 0 | r22 q2 | r23 q2 + r33 q3 ].       z∈R4

B∈R4×(3−2)

Mit A(2) ≡ [ z | B ] berechnet man r22 = z 2 ,

(r23 ) = q2T B.

q2 = z/r22 ,

Der dritte und letzte Schritt basiert wieder auf der Darstellung [ 0 | A(3) ] ≡ A −

2 

qi r i .

i=1

Es ist [ 0 | A(3) ] = [ 0 | 0 | r33 q3 ].    z∈R4

Daraus folgt r33 = z 2

und

q3 = z/r33 .

Allgemein definiert man f¨ ur eine Matrix A ∈ Rm×n im k-ten Schritt des Verfahrens die (k) m×(n−k+1) durch Matrix A ∈ R A−

k−1  i=1

qi r i =

n  i=k

qi ri = [ 0 | A(k) ].

Kapitel 9 Kleinste-Quadrate-L¨osungen

462 Mit

A(k) = m [ z | B ] 1 n−k

bestimmen sich dann rkk = z 2 ,

qk = z/rkk ,

(rk,k+1 , . . . , rkn ) = qkT B.

Anschließend wird das dyadische Produkt A(k+1) = B − qk (rk,k+1 , . . . , rkn ) berechnet und zum n¨ achsten Schritt u ¨bergegangen. Im Unterschied zum CGS werden somit im k-ten Schritt des MGS die k-te Spalte von Q1 (d.h. qk ) und die k-te Zeile von R1 (d.h. rk ) berechnet. Im Programm 9.2 ist das modifizierte Gram-Schmidt-Verfahren als Matlab-Funktion mgrasch dargestellt. Man beachte, daß sich die Programme 9.1 und 9.2 nur in der Vorschrift zur Bestimmung der rik unterscheiden. Programm 9.2

Modifiziertes Gram-Schmidt-Verfahren

function [q,r] = mgrasch(a) % % % % % %

a: (m x n)-Matrix q: spaltenorthogonale (m x n)-Matrix r: obere (n x n)-Dreiecksmatrix [m,n]=size(a); r=zeros(n); for k=1:n q(:,k)=a(:,k); for i=1:k-1 r(i,k)=q(:,i)’*q(:,k); q(:,k)=q(:,k)-r(i,k)*q(:,i); end r(k,k)=norm(q(:,k)); if r(k,k) == 0 return % a(:,k) ist linear abh¨ angig von a(:,1:k-1) end q(:,k)=q(:,k)/r(k,k); end

Wie man leicht nachrechnet, betr¨ agt der zur Durchf¨ uhrung des MGS erforderliche Rechenaufwand f¨ ur eine (m × n)-Matrix (asymptotisch) 2mn2 flops. Demgegen¨ uber w¨ urde die Berechnung der Faktorisierung mittels Householder-Transformationen (wobei Q nur in faktorisierter Form abgespeichert ist!) einen Rechenauf-

9.4 Kleinste Quadrate Probleme

463

wand von 2mn2 − 2/3n3 flops ben¨ otigen1 . Ist man an einer orthonormalen Basis f¨ ur R(A) interessiert, dann sind noch einmal 2mn2 − 2/3n3 flops erforderlich, um die ersten n Spalten von Q explizit zu berechnen. Damit ergibt sich ein Gesamtaufwand von 4mn2 − 4/3n3 flops. Somit ist bei einer Basisbestimmung das MGS etwa zweimal so effektiv wie die Faktorisierung mittels Householder-Matrizen, wenn man davon ausgeht, daß m viel gr¨ oßer als n ist. Im Hinblick auf die Stabilit¨ at der beiden Verfahren gilt der folgende Sachverhalt2 . Das ˆ 1 = [ qˆ1 | · · · | qˆn ], die die Gleichung MGS erzeugt eine berechnete Matrix Q ˆT Q ˆ Q 1 1 = I + EMGS exakt erf¨ ullt, wobei die St¨ orungsmatrix EMGS wie folgt abgesch¨ atzt werden kann:

EMGS 2 ≈ ν cond2 (A). Dabei bezeichnet ν wie bisher die relative Maschinengenauigkeit. ˆ1 Demgegen¨ uber erf¨ ullt die mittels Householder-Transformationen berechnete Matrix Q exakt die Gleichung ˆT Q ˆ Q 1 1 = I + EH mit der Absch¨ atzung f¨ ur die St¨ orungsmatrix EH :

EH 2 ≈ ν. Kommt es somit auf die Orthonormalit¨ at an, dann sollte das MGS nur zur Berechnung von orthonormalen Basen Verwendung finden, falls die zu transformierenden Vektoren angig sind. a1 , . . . , an bereits streng linear unabh¨

9.4

Kleinste Quadrate Probleme

Wir wollen nun wieder zu der im Abschnitt 9.1 er¨ orterten Fragestellung zur¨ uckkehren. aherte) Gleichungssystem Ax ≈ b Ein Vektor x ∈ Rn ist so zu bestimmen, daß das (gen¨ orige Design-Matrix und b ∈ Rm den Beobacherf¨ ullt ist, wobei A ∈ Rm×n die zugeh¨ tungsvektor bezeichnen. Es sei dabei stets m ≥ n erf¨ ullt. Liegen mehr Gleichungen als Unbekannte vor, dann sagt man, daß das Problem Ax ≈ b u osung, ¨berbestimmt ist. Ein solches u ¨berbestimmtes System besitzt i.allg. keine exakte L¨ da b in R(A) liegen muß, einem echten Teilraum vom Rm . Es ist deshalb sinnvoll, zu einer neuen Problemstellung u ur ein geeignetes ¨berzugehen. F¨ p bestimme man (9.14) minn b − Ax p . x∈R

1

Siehe hierzu auch G. H. Golub und C. F. Van Loan: Matrix Computations. The Johns Hopkins University Press, Baltimore and London, 1996. 2 Siehe J. H. Wilkinson: The Algebraic Eigenvalue Problem. Oxford University Press, Oxford, UK, 1965.

Kapitel 9 Kleinste-Quadrate-L¨osungen

464

Es zeigt sich jedoch, daß die Verwendung unterschiedlicher Normen in (9.14 ) zu verschiedenen optimalen L¨ osungen f¨ uhrt. Beispiel 9.1. Gegeben sei das u ¨berbestimmte lineare Gleichungssystem ⎡ ⎤ ⎡ ⎤ 1 b1 ⎣1⎦ x ≈ ⎣b2 ⎦ mit b1 ≥ b2 ≥ b3 ≥ 0. b3 1 • F¨ ur p = 1 nimmt (9.14) die Form min (|x − b1 | + |x − b2 | + |x − b3 |) x∈R

an. Als L¨ osung ergibt sich offensichtlich xopt = b2 . • F¨ ur p = 2 ergibt sich aus (9.14) 4 5 3 5 min 6 (x − bi )2 . x∈R

Wir setzen f (x) ≡

3 

i=1

(x − bi )2 und berechnen min f (x) aus der notwendigen

i=1

Bedingung f  (x) = 0. Es resultiert f  (x) = 2

3 

(x − bi ) = 0,

i=1

woraus 3x = b1 + b2 + b3 folgt. Somit ist xopt =

1 (b1 + b2 + b3 ). 3

• Schließlich ergibt sich f¨ ur p = ∞ die optimale L¨ osung xopt =

1 (b1 + b3 ). 2



Die Minimierung in der 1-Norm und in der ∞-Norm wird durch den Sachverhalt kompliziert, daß die Funktion f (x) ≡ b − Ax p f¨ ur diese Werte von p nicht differenzierbar ist. Obwohl es heute bereits ausgefeilte und effektive Techniken zur Behandlung dieser Problemstellungen gibt, wollen wir uns im Rahmen dieses einf¨ uhrenden Textes nicht mit derartigen Minimierungsmethoden besch¨ aftigen. Im Mittelpunkt der nachfolgenden Betrachtungen steht deshalb das Kleinste-QuadrateProblem (die Abk¨ urzung LS-Problem leitet sich aus der englischen Bezeichnung least ” squares problem“ ab), das sich aus (9.14) f¨ ur p = 2 ergibt: min b − Ax 2 .

x∈Rn

(9.15)

9.4 Kleinste Quadrate Probleme

465

Das Kleinste-Quadrate-Problem ist aus zwei Gr¨ unden einfacher zu behandeln: 1 uglich x differenzierbare und konvexe • die Funktion f (x) ≡ b − Ax 22 ist eine bez¨ 2 Funktion. Der Minimierungspunkt wird deshalb durch die Gradientenbedingung ∇f (x) = 0 charakterisiert. • Die 2-Norm ist unter orthogonalen Transformationen invariant. Man kann somit versuchen, eine orthogonale Matrix Q zu konstruieren, f¨ ur die das ¨ aquivalente Minimierungsproblem minn (QT b) − (QT A)x 2 x∈R

leichter zu l¨ osen ist. Wir wollen uns nun den Eigenschaften des LS-Problems zuwenden und beginnen mit der Charakterisierung der L¨ osungsmenge von (9.15). Satz 9.3. Die Menge aller L¨ osungen von (9.15) werde mit S ≡ { x ∈ Rn :

b − Ax 2 = min }

(9.16)

bezeichnet. Es ist x ∈ S genau dann, wenn die folgende Orthogonalit¨ atsbedingung erf¨ ullt ist: AT (b − Ax) = 0.

(9.17)

Beweis: Es werde vorausgesetzt, daß f¨ ur x ˆ die Gleichung AT rˆ = 0 erf¨ ullt ist, mit rˆ ≡ b − Aˆ x. Dann haben wir f¨ ur jedes x ∈ Rn die Beziehung r = b − Ax = rˆ + A(ˆ x − x) ≡ rˆ + Ae. Daraus folgt rT r = (ˆ r + Ae)T (ˆ r + Ae) = rˆT rˆ + Ae 22 . Dieser Ausdruck wird f¨ ur x = x ˆ minimal. ˆ + εz gesetzt. Dann ist Es werde nun umgekehrt AT rˆ = z = 0 angenommen und x ≡ x r = rˆ − εAz und es ergibt sich rT r = rˆT rˆ − 2εz T z + ε2 (Az)T Az < rˆT rˆ f¨ ur hinreichend kleines ε. Deshalb kann x ˆ keine LS-L¨ osung sein.



Kapitel 9 Kleinste-Quadrate-L¨osungen

466

Die wichtige Aussage des Satzes 9.3 ist, daß der Residuenvektor r = b − Ax der LSosung x die rechte Seite b L¨osung im Nullraum N (AT ) liegt. Somit zerlegt jede LS-L¨ eindeutig in zwei orthogonale Komponenten b = Ax + r,

Ax ∈ R(A), r ∈ N (AT ).

(9.18)

Die geometrische Interpretation von (9.18) ist f¨ ur n = 2 in der Abbildung 9.1 dargestellt.

Abbildung 9.1: Geometrische Interpretation des LS-Problems

Insbesondere folgt aus (9.17), daß jede LS-L¨ osung die sogenannten Normalengleichungen AT Ax = AT b

(9.19)

erf¨ ullt. Die zugeh¨ orige Systemmatrix AT A ∈ Rn×n ist offensichtlich symmetrisch und nichtnegativ definit. Die Normalengleichungen sind immer konsistent, da AT b ∈ R(AT ) = R(AT A) trivial erf¨ ullt ist. Dar¨ uber hinaus gilt die folgende, f¨ ur die numerische L¨ osung der Normalengleichungen wichtige Aussage. Satz 9.4. Die Matrix AT A ist genau dann positiv definit, wenn die Spalten von A linear unabh¨ angig sind, d.h., falls rang(A) = n gilt. Beweis: Wenn die Spalten von A linear unabh¨ angig sind, dann folgt aus x = 0 unmittelbar Ax = 0. Somit impliziert x =  0, daß xT AT Ax = Ax 22 > 0 ist. Folglich ist AT A positiv definit. Sind umgekehrt die Spalten von A linear abh¨ angig, dann gibt es einen Vektor x0 = 0 mit Ax0 = 0, woraus xT0 AT Ax0 = 0 folgt. Dies bedeutet aber, daß AT A nicht positiv

9.4 Kleinste Quadrate Probleme

467 

definit ist.

Im Falle rang(A) = n ergibt sich mit dem Satz 9.4, daß die eindeutige LS-L¨ osung xLS und das minimale Residuum rLS explizit wie folgt angegeben werden k¨ onnen: xLS = (AT A)−1 AT b und

rLS = b − A(AT A)−1 AT b.

(9.20)

Im weiteren werden wir die Bezeichnung ρLS ≡ b − AxLS 2 = rLS 2 verwenden, um ein Maß f¨ ur die Gr¨ oße des Residuums in der Hand zu haben. Gilt rang(A) < n, dann besitzt A einen nichttrivialen Nullraum und die LS-L¨ osung ist nicht eindeutig. Bezeichnet x ˆ eine spezielle LS-L¨ osung, dann ist die Menge aller LS-L¨ osungen von der Gestalt S = {x = x ˆ + z,

z ∈ N (A) }.

(9.21)

x 22 + z 22 . Somit stellt Ist nun x ˆ orthogonal zu N (A), dann berechnet sich x 22 = ˆ x ˆ die eindeutige LS-L¨ osung mit minimaler Norm dar. F¨ ur derartige Aufgaben besteht dann die Zielstellung, diese eindeutige LS-L¨ osung mit minimaler 2-Norm zu berechnen. Aber selbst wenn rang(A) = n vorausgesetzt wird, ist mit Schwierigkeiten bei der numerischen Bestimmung der (theoretisch noch eindeutigen) LS-L¨ osung xLS zu rechnen, wenn die Matrix A beinahe einen Rangabfall hat. Eine wichtige Rolle spielt dabei auch die Frage nach der Kondition eines LS-Problems. Um diese zu betrachten, m¨ ussen wir den Begriff der Konditionszahl cond2 (A) einer quadratischen, nichtsingul¨ aren Matrix A (siehe Formel (2.108)) auf rechteckige Matrizen mit Vollrang u ¨bertragen. arwertzerlegung (2.102) der Matrix A ∈ Rm×n mit Ist U T AV = Σ ∈ Rm×n die Singul¨ rang(A) = n, dann werde cond2 (A) ≡

σ1 , σp

p = min{m, n}

(9.22)

gesetzt. Die Formel (9.22) geht offensichtlich in die Formel (2.108) u ¨ber, wenn A quadratisch ist. Man erkennt unmittelbar: sind die Spalten von A beinahe abh¨ angig, dann wird dies auch durch eine große Konditionszahl cond2 (A) angezeigt. Wir kommen nun zur Kondition des LS-Problems. Satz 9.5. Die Matrix A ∈ Rm×n , mit m ≥ n, besitze vollen Rang. Weiter werde vorausgesetzt, daß xLS die 2-Norm b−Ax 2 minimiert. Wie bisher bezeichne rLS = b−AxLS

Kapitel 9 Kleinste-Quadrate-L¨osungen

468

das zugeh¨ orige Residuum. Des weiteren minimiere der Vektor x ˜LS die 2-Norm eines etorungen A ∈ Rm×n und was gest¨ orten Problems (b + b) − (A + A)˜ x 2 . Die St¨ ogen klein im folgenden Sinne sein: b ∈ Rm m¨

 A 2  b 2 1 σmin (A) ε ≡ max = . ,