Numerische Methoden: Ein Lehr- und Übungsbuch [2., neubearbeitete Auflage] 9783110665604, 9783110665321

Die Mathematik ist in allen Bereichen der modernen Gesellschaft ein wichtiges Hilfsmittel, um bei der Lösung der vielfäl

190 67 6MB

German Pages 474 [475] Year 2020

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Numerische Methoden: Ein Lehr- und Übungsbuch [2., neubearbeitete Auflage]
 9783110665604, 9783110665321

Citation preview

Hermann Friedrich, Frank Pietschmann Numerische Methoden De Gruyter Studium

Weitere empfehlenswerte Titel Numerische Mathematik 1 Peter Deuflhard, Andreas Hohmann, 2018 ISBN 978-3-11-061421-3, e-ISBN (PDF) 978-3-11-061432-9, e-ISBN (EPUB) 978-3-11-061435-0

Numerik gewöhnlicher Differentialgleichungen. Band 1: Anfangswertprobleme und lineare Randwertprobleme Martin Hermann, 2017 ISBN 978-3-11-050036-3, e-ISBN (PDF) 978-3-11-049888-2, e-ISBN (EPUB) 978-3-11-049773-1 Numerik gewöhnlicher Differentialgleichungen. Band 2: Nichtlineare Randwertprobleme Martin Hermann, 2018 ISBN 978-3-11-051488-9, e-ISBN (PDF) 978-3-11-051558-9, e-ISBN (EPUB) 978-3-11-051496-4 Numerische Mathematik. Band 1: Algebraische Probleme Martin Hermann, 2019 ISBN 978-3-11-065665-7, e-ISBN (PDF) 978-3-11-065668-8, e-ISBN (EPUB) 978-3-11-065680-0 Tensor Numerical Methods in Scientific Computing Boris N. Khoromskij, 2018 ISBN 978-3-11-037013-3, e-ISBN (PDF) 978-3-11-036591-7, e-ISBN (EPUB) 978-3-11-039139-8

Hermann Friedrich, Frank Pietschmann

Numerische Methoden |

Ein Lehr- und Übungsbuch 2. Auflage

Mathematics Subject Classification 2010 Primary: 65-01; Secondary: 65D05, 65D07, 65D25, 65D30, 65H04, 65L05, 65L06, 65T40, 65T50 Autoren Prof. Dr. rer. nat. habil. Hermann Friedrich Prieborner Str. 129 12526 Berlin Deutschland [email protected]

Prof. Dr. rer. nat. Frank Pietschmann Hochschule Zittau/Görlitz Fakultät Natur- und Umweltwissenschaften Theodor-Körner-Allee 16 02763 Zittau Deutschland [email protected]

ISBN 978-3-11-066532-1 e-ISBN (PDF) 978-3-11-066560-4 e-ISBN (EPUB) 978-3-11-066567-3 Library of Congress Control Number: 2020937175 Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.dnb.de abrufbar. © 2020 Walter de Gruyter GmbH, Berlin/Boston Coverabbildung: Darwin Brandis / iStock / Getty Images Plus Satz: VTeX UAB, Lithuania Druck und Bindung: CPI books GmbH, Leck www.degruyter.com

Vorwort Da die meisten praktischen Probleme im Ingenieurwesen und in der Ökonomie numerisch gelöst werden müssen, gehören die numerischen Methoden zu den mathematischen Grundlagenfächern an Hochschulen, wo die Studenten besonders engen Bezug zur Praxis in der Ausbildung erhalten. Dabei müssen die mathematischen Grundlagen der numerischen Algorithmen beim Studium vermittelt und natürlich an Hand von geeigneten Beispielen und Aufgaben demonstriert und gefestigt werden. Es ist wichtig, dass der Student nicht nur das Rechenprogramm zu einem numerischen Verfahren kennt und anwenden kann, sondern dass er durch Kenntnis der mathematischen Hintergründe die Fähigkeit zum richtigen Einsatz der Verfahren (Beachtung der Einsatzvoraussetzungen, Kenntnis über Konsequenzen bei Verletzung der Einsatzbedingungen, Zurückgreifen auf ein anderes Verfahren), zum eventuell notwendigen selbständigen Eingriff in das Rechenprogramm und zum Neuprogrammieren eines auf einen bestimmten Rechnertyp zugeschnittenen, dann meistens effektiveren Programms besitzt. Der Anwender eines numerischen Verfahrens muss Kenntnisse über die Stabilität des Algorithmus und über zu erwartende Fehler von Näherungslösungen besitzen. Der Student sollte mittels zahlreicher angemessener Aufgaben zum selbständigen Arbeiten angeregt und befähigt werden. Natürlich gehören auch umfassende Kenntnisse über programmierbare Rechenanlagen und die Programmiertechnik dazu; diese zu vermitteln, ist aber Aufgabe der Informatik. In zehn Kapiteln des Buches werden ausgewählte numerische Methoden behandelt, die jedoch nur einen Einblick in das weit ausgebaute Gebiet der numerischen Mathematik geben können. Im ersten Kapitel erfolgt eine Zusammenstellung benötigter Grundlagen und Normen. Auf die bei numerischen Methoden wichtigen Probleme der Fehlerentstehung, Fehlerfortpflanzung und Konditionszahlen sowie der Fehlerabschätzungen bei numerischen Rechnungen ist im zweiten Kapitel eingegangen. Fehlerabschätzungen werden durchgängig bei allen behandelten Methoden abgeleitet und benutzt. Die Kapitel drei bis neun behandeln klassische Verfahren der numerischen Mathematik. Zunächst wird im dritten Kapitel auf Grundlagen und Methoden bei Iterationsverfahren (Bisektionsmethode, Regula falsi, Newtonsches Iterationsverfahren, Verfahren von Aitkin, Steffensen-Verfahren) eingegangen. Das vierte Kapitel beschäftigt sich mit der Lösung linearer Gleichungssysteme sowohl mit Eliminationsverfahren als auch mit Iterationsverfahren (Gaußscher Algorithmus, Choleski-Verfahren, GivensVerfahren, Jacobi-Vefahren, Gauß–Seidel-Verfahren). Den für praktische Probleme wichtigen Approximations- und Interpolationsverfahren werden die folgenden beiden Kapitel gewidmet. Schwerpunkte des fünften Kapitels sind diskrete Approximation (Methode der kleinsten Quadrate, Linearisierung), stetige Approximation (Legendresche Polynome, Trigonometrische Funktionen, Komplexe Fourier-Reihen) und lokale Approximation (Taylor-Reihen). Im sechsten Kapitel https://doi.org/10.1515/9783110665604-201

VI | Vorwort folgen Polynomiterationen (Interpolationsverfahren von Lagrange, Newtonsches Interpolationsverfahren, Hermite-Interpolation), Spline-Interpolationen (Lineare Splines, Quadratische Splines, Kubische Splines, B-Splines) und Interpolationen mit periodischen Funktionen (Interpolation mit komplexen Exponentialfunktionen, Interpolation mit trigonometrischen Funktionen, Schnelle Fourier-Transformation). Numerische Umsetzungen der Differential- und Integralrechnung sind Gegenstand der nächsten beiden Kapitel. Zuerst wird auf die numerische Differentiation eingegangen. Danach sind im achten Kapitel numerische Integrationsmethoden behandelt (Trapezformel, Simpsonsche Formel, Verfahren von Romberg, Adaptive Simpson-Quadratur, Gauß-Integrationsformeln). Im neunten Kapitel sind numerische Lösungsverfahren für Anfangswertaufgaben bei gewöhnlichen Differentialgleichungen erörtert (Verfahren von Picard–Lindelöf, Euler–Cauchy Polygonzugverfahren, Runge–Kutta-Verfahren, explizite und implizite Mehrschrittverfahren, PrädiktorKorrektor-Verfahren, steife Differentialgleichungen). Das letzte Kapitel behandelt numerische Hilfsmittel und Methoden, die in speziellen Problemen oftmals von Bedeutung sind, in Einführungen in die numerische Mathematik aber in der Regel nicht vorkommen. Im zehnten Kapitel wird ausführlich auf reelle und komplexe Polynome eingegangen (Wertberechnung, Abspaltung von Polynomen niedrigerer Ordnung, Berechnung von reellen und konjugiert-komplexen Nullstellen unter Benutzung von ein- und mehrzeiligen einfachen und vollständigen Horner-Schemata). Ein ausführlicher Abschnitt behandelt Aussagen zur Anzahl und Lage von Nullstellen bei reellen und komplexen Polynomen. Allen Kapiteln sind zahlreiche Übungsaufgaben mit Lösungen beigegeben. Wenn zusätzliches Interesse an weiter gehenden numerischen Verfahren besteht oder für numerische Aufgabenstellungen spezielle Verfahren benötigt werden, kann auf die reichlich vorhandene und im Literaturverzeichnis aufgelistete Literatur zurückgegriffen werden. Die Autoren danken allen, die durch Diskussion, kritische Hinweise und fördernde Anregungen zur Neuauflage des Buches beigetragen haben. Besonderer Dank gilt den Mitarbeiter des Fachgebietes Mathematik im De Gruyter Verlag, die die Veröffentlichung ermöglicht und gefördert haben. Berlin/Zittau März 2020

H. Friedrich F. Pietschmann

Inhalt Vorwort | V 1 1.1 1.2 1.2.1 1.2.2 1.3

Grundlagen | 1 Aufgabenstellung | 1 Betrag und Normen | 2 Betrag | 2 Vektor- und Matrixnormen | 2 Aufgaben | 4

2 2.1 2.1.1 2.1.2 2.2 2.2.1 2.2.2 2.2.3 2.3 2.3.1 2.3.2 2.4 2.4.1 2.4.2 2.5

Numerisches Rechnen und Fehler | 7 Fehler | 7 Fehlerarten | 7 Numerisch stabile und instabile Algorithmen | 8 Maschinenzahlen | 9 Zahlendarstellungen | 11 Rundung | 11 Unterlauf, Überlauf | 13 Fehlerfortpflanzung | 13 Maximalfehler | 13 Fehlerquadratsumme | 15 Konditionszahlen | 17 Konditionszahlen bei Funktionen | 17 Konditionszahlen bei linearen Gleichungssystemen | 18 Aufgaben | 20

3 3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.2 3.3 3.4 3.5 3.6 3.6.1 3.6.2 3.6.3 3.7

Iterationsverfahren | 21 Iterationsprobleme | 21 Einführung | 21 Zwischenwertsatz | 21 Iterationsverfahren | 22 Fixpunktsatz | 24 Anschauliche Deutung des Iterationsverfahrens | 31 Fehlerabschätzungen | 32 Abbruchkriterien bei Iterationsverfahren | 36 Konvergenzordnung | 37 Spezielle Iterationsverfahren | 39 Bisektionsmethode | 39 Regula falsi | 41 Newtonsches Iterationsverfahren | 45 Konvergenzverbesserung | 50

VIII | Inhalt 3.7.1 3.7.2 3.7.3 3.8

Verkleinern der Lipschitzkonstanten | 50 Verfahren von Aitken | 51 Steffensen-Verfahren | 52 Aufgaben | 53

4 4.1 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4

Lineare Gleichungssysteme | 57 Aufgabenstellung | 57 Eliminationsverfahren | 58 Gaußscher Algorithmus | 58 Pivotstrategie | 63 Givens-Verfahren | 65 Cholesky-Verfahren bei symmetrischer Koeffizientenmatrix | 70 Nachiteration | 73 Berechnung der inversen Matrix | 76 Abschätzung der Fehlerfortpflanzung | 79 Iterationsverfahren | 81 Gesamtschritt- oder Jacobi-Verfahren | 82 Abbruch beim Gesamtschrittverfahren | 83 Einzelschritt- oder Gauss-Seidel-Verfahren | 85 Abbruch beim Einzelschrittverfahren | 85 Konvergenz beim Gesamtschrittverfahren | 86 Konvergenz beim Einzelschrittverfahren | 88 Fehlerabschätzung bei Iterationsverfahren | 88 Aufgaben | 92

5 5.1 5.2 5.2.1 5.2.2 5.2.3 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.4 5.4.1 5.4.2 5.5 5.5.1 5.5.2

Approximation von Funktionen | 97 Problemstellungen | 97 Diskrete Approximation | 97 Die Ausgleichsgerade nach der Methode der kleinsten Quadrate | 97 Approximation durch weitere Funktionen | 100 Linearisierungen | 106 Stetige Approximation mit der Methode der kleinsten Quadrate | 112 Orthonormalsysteme | 116 Legendre-Polynome | 120 Approximation durch trigonometrische Funktionen | 122 Die komplexe Form der Fourier-Reihe | 131 Lokale Approximation | 136 Problemstellung | 136 Die Taylor-Entwicklung | 136 Bézier-Approximation | 143 Bernstein-Polynome | 143 Bézier-Kurven | 146

Inhalt | IX

5.6

Aufgaben | 154

6 6.1 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.5 6.5.1 6.5.2 6.6 6.6.1 6.6.2 6.7

Interpolationsprobleme | 157 Problemstellung | 157 Polynominterpolation | 158 Interpolationsverfahren von Lagrange | 159 Der Fehler der Polynominterpolation | 162 Newtonsches Interpolationsverfahren | 163 Hermite-Interpolation | 173 Spline-Interpolation | 180 Lineare Splines | 180 Quadratische Splines | 182 Kubische Splines | 185 B-Splines | 192 Interpolation mit periodischen Funktionen | 215 Problemstellung | 215 Die diskrete Fourier-Transformation | 216 Interpolation mit komplexen Exponentialfunktionen | 226 Interpolation mit trigonometrischen Funktionen | 228 Schnelle Fourier-Transformation | 233 Interpolation mit Bézier-Kurven | 242 Interpolierende kubische Bézier-Kurven | 242 Kubische Bézier-Splines | 245 Interpolationsflächen | 249 Problem | 249 Bivariate Lagrange-Interpolation | 250 Aufgaben | 255

7 7.1 7.2 7.3 7.4 7.5

Numerische Differentiation | 259 Vorbemerkungen | 259 Numerische Bestimmung von Ableitungen erster Ordnung | 259 Der Rundungsfehler bei der numerischen Differentiation | 265 Numerische Bestimmung von Ableitungen höherer Ordnung | 267 Aufgaben | 268

8 8.1 8.2 8.2.1 8.2.2 8.3 8.3.1

Numerische Integrationsmethoden | 271 Aufgabenstellung | 271 Trapezformel | 271 Herleitung | 271 Abbruchbedingung bei der Trapezformel | 274 Simpsonsche Formel | 276 Herleitung | 276

X | Inhalt 8.3.2 8.4 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.7 8.7.1 8.7.2 8.7.3 8.8

Abbruchbedingung bei der Simpsonschen Formel | 280 Fehlerabschätzungen | 283 Verfahren von Romberg | 287 Herleitung | 287 Abbruchbedingung beim Romberg-Verfahren | 291 Fehlerabschätzung beim Romberg-Verfahren | 292 Adaptive Simpson-Quadratur | 293 Herleitung | 293 Fehlerschranke | 296 Gauß-Integration | 302 Vorbemerkungen | 302 Integration auf dem Intervall [−1, 1] | 304 Gauß-Integration über ein beliebiges Intervall | 308 Aufgaben | 309

9 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.3 9.4 9.4.1 9.4.2 9.4.3 9.5 9.6 9.6.1 9.6.2 9.7

Numerische Lösung gewöhnlicher Differentialgleichungen | 311 Begriffe und Beispiele | 311 Differentialgleichungen erster Ordnung | 312 Technische und ökonomische Beispiele | 313 Das Verfahren von Picard–Lindelöf | 314 Taylor-Methoden | 317 Der Euler–Cauchy Polygonzug | 317 Methoden höherer Ordnung | 321 Fehlerschranken | 324 Runge–Kutta-Verfahren | 325 Mehrschrittverfahren | 330 Explizite Mehrschrittverfahren | 331 Implizite Mehrschrittverfahren | 337 Prädiktor-Korrektor-Verfahren | 343 Steife Differentialgleichungen | 345 Weitere Anfangswertaufgaben | 354 Differentialgleichungssysteme erster Ordnung | 354 Differentialgleichungen höherer Ordnung | 361 Aufgaben | 362

10 Polynome | 367 10.1 Reelle Polynome | 367 10.1.1 Horner-Schema | 367 10.1.2 Abspaltung eines Linearfaktors | 369 10.1.3 Vollständiges Horner-Schema | 369 10.1.4 Newtonsches Näherungsverfahren | 373 10.2 Allgemeine Horner-Schemata bei reellen Polynomen | 373

Inhalt | XI

10.2.1 10.2.2 10.2.3 10.2.4 10.2.5 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5

m-Zeiliges Horner-Schema | 373 Verallgemeinertes m-zeiliges Horner-Schema | 378 Newtonsches Näherungsverfahren mit den m-zeiligen Horner-Schemata | 380 Spezialfälle und Beispiel | 381 Bestimmung konjugiert-komplexer Nullstellen von Polynomfunktionen mit reellen Koeffizienten | 383 Komplexe Polynome | 384 Komplexes Horner-Schema | 384 Newtonsches Näherungsverfahren | 386 Anzahl und Lage der Nullstellen von Polynomen | 387 Abschätzungen zu Nullstellen bei Polynomen mit reellen Koeffizienten | 387 Berechnung der Anzahlen der voneinander verschiedenen Nullstellen von Polynomfunktionen | 391 Aufgaben | 398

Lösungen | 401 Literatur | 449 Abbildungsverzeichnis | 451 Tabellenverzeichnis | 455 Stichwortverzeichnis | 459

1 Grundlagen 1.1 Aufgabenstellung Die Mathematik ist in allen Bereichen der modernen Gesellschaft ein wichtiges Hilfsmittel, um bei der Lösung der vielfältigen Probleme mit zu wirken. Insbesondere sind dabei die Technik, die Naturwissenschaften und die Ökonomie zu nennen. Die Mitwirkung mathematischer Methoden bei der Lösung praktischer Aufgaben in diesen Bereichen vollzieht sich in folgenden Schritten: – Präzise Formulierung des Problems Die Aufgabenstellung muss klar erkennbar werden. Es ist kenntlich zu machen, welche Effekte hervorzuheben sind, welche Schwerpunkte zu setzen sind. – Erarbeitung eines mathematischen Modells des Problems Aus der technischen, ökonomischen oder sonstigen Aufgabenstellung ist ein für die mathematische Behandlung geeignetes Modell zu entwickeln. Dabei sind Idealisierungen vorzunehmen und Forderungen zu realisieren, um das Ausgangsproblem einer mathematischen Behandlung zugänglich zu machen. – Analyse des entstandenen mathematischen Problems Es ist zu beurteilen, mit welchen mathematischen Methoden das abgeleitete mathematische Modell behandelt werden kann, ob das Modell eine eindeutig bestimmte Lösung besitzt. Gegebenenfalls muss das Modell verändert werden, um günstigere Lösungsalgorithmen benutzen zu können. Es ist abzuschätzen, ob sich eine analytische Lösung finden lässt oder ob numerische Methoden einzusetzen sind. Falls das mathematische Modell eine analytischen Lösung zulässt, ist diese Lösung aufzusuchen. – Numerische Berechnung der Lösung Falls numerische Methoden benutzt werden müssen, sind geeignete Algorithmen und die erforderlichen Rechenhilfsmittel auszuwählen. Es sind die Anforderungen an den numerischen Algorithmus bezüglich Rechenzeit und Rechengenauigkeit zu formulieren. Bei der Ausführung der numerischen Rechnungen sind Abschätzungen der zu erwartenden Rechenfehler vorzunehmen und Bedingungen für die Beendigung des Rechenganges zu kontrollieren. – Auswertung der erzielten Resultate Die durch analytische oder numerische Berechnungen erzielten Lösungen des mathematischen Modells müssen auf das Ausgangsproblem übertragen, ausgewertet und bewertet werden. Es ist zu entscheiden, ob eine ausreichende Lösung des praktischen Problems erzielt worden ist oder ob durch Zusätze an das mathematische Modell bzw. durch ein verbessertes mathematisches Modell eine nochmalige mathematische Behandlung erfolgen soll. Im Folgenden werden ausgewählte numerische Methoden vorgestellt, die aber nur einen Einblick in das weit ausgebaute Gebiet der numerischen Mathematik geben https://doi.org/10.1515/9783110665604-001

2 | 1 Grundlagen können. Wenn Interesse an weiter gehenden numerischen Verfahren besteht oder für numerische Aufgabenstellungen spezielle numerische Verfahren benötigt werden, kann auf die reichlich vorhandene und im Literaturverzeichnis aufgelistete Literatur zurück gegriffen werden. Es wird vorausgesetzt, dass die mathematischen Grundlagen der Analysis und der linearen Algebra bekannt sind. Zur Information auf diesen Gebieten empfehlen wir insbesondere die Monographien von Bärwolff [3], Fricke [14], Obreschkoff [24], Gantmacher [16] und Zurmühl [38], aber auch Lehrbücher [4] oder allgemeine Nachschlagewerke [8], [27]. Die Aufgaben dieses Kapitels dienen deshalb ausnahmsweise nicht der Übung der hier besprochenen Verfahren, sondern sollen auf notwendiges Grundwissen hinweisen.

1.2 Betrag und Normen 1.2.1 Betrag Bei Näherungsverfahren tritt stets das Problem auf, Informationen oder Abschätzungen zur Genauigkeit der erzielten Näherung finden zu müssen. Grafisch entspricht dies der Abstandsmessung von zwei Punkten. Auf der reellen Zahlengeraden wird der Abstand zwischen zwei Punkten a und b durch den Betrag der Differenz von a und b bestimmt. Definition 1.1. Der Betrag einer reellen Zahl a ist erklärt durch a { { |a| = { 0 { {−a

für a > 0 für a = 0 für a < 0.

(1.1)

Der so eingeführte Betrag besitzt die Eigenschaften |a| > 0 (a ∈ ℝ, a ≠ 0) |c ⋅ a| = |c| ⋅ |a| (c, a ∈ ℝ) |a + b| ≤ |a| + |b| (a, b ∈ ℝ).

(1.2)

1.2.2 Vektor- und Matrixnormen Eine solche Abstandsmessung muss bei numerischen Rechnungen ebenfalls für Vektoren und Matrizen a1 a2 a = ( . ), .. an

a11 A = ( ... an1

... .. . ...

a1n .. ) , . ann

(aj , aik ∈ ℝ, i, j, k = 1, 2, . . . , n)

1.2 Betrag und Normen

|

3

möglich sein. Anstelle des oben erklärten Betrages für reelle Zahlen werden Normen für Vektoren a und Matrizen A definiert, die in den wesentlichen Eigenschaften dem eingeführten Betrag gleichen. Von Normen für Vektoren a, mit ‖a‖ bezeichnet, und für Matrizen A, mit ‖A‖ bezeichnet, wird gefordert ‖a‖ > 0 ‖c ⋅ a‖ = |c| ⋅ ‖a‖ ‖a + b‖ ≤ ‖a‖ + ‖b‖

(a ≠ o) (c ∈ ℝ)

‖A‖ > 0 ‖c ⋅ A‖ = |c| ⋅ ‖A‖ ‖A + B‖ ≤ ‖A‖ + ‖B‖.

(A ≠ O) (c ∈ ℝ)

(1.3)

(1.4)

Sowohl für die Norm von Vektoren als auch für die Norm von Matrizen lassen sich jeweils verschiedene Definitionen angeben, die die geforderten Eigenschaften befriedigen. Da Vektoren und Matrizen gleichzeitig in numerischen Rechnungen zu messen sind, z. B. bei der Auflösung linearer Gleichungssysteme, müssen die jeweils benutzten Definitionen der Norm für Vektoren und Matrizen zueinander passend (verträglich, kompatibel) sein (siehe Maess [22]). Definition 1.2. Als Norm für einen Vektor a = (a1 , a2 , . . . , an )T , (ai ∈ ℝ) werden benutzt n

(I) (II)

‖a‖2 = √∑ a2i

Euklidische Norm,

‖a‖∞ = max |ai |

Maximumnorm,

i=1

n

(III)

i

Betragssummennorm.

‖a‖1 = ∑ |ai | i=1

Beispiel 1.1. Die oben eingeführten Normen für den Vektor a = (3 −2 1)T sind ‖a‖2 = √(9 + 4 + 1) = 3.7417,

‖a‖∞ = max{|3|, | − 2|, |1|} = 3, ‖a‖1 = |3| + | − 2| + |1| = 6. Für den Vektor b = (6 −5 2 −8)T ergeben sich folgende Normen ‖b‖2 = √(36 + 25 + 4 + 64) = 11.3578,

‖b‖∞ = max{|6|, | − 5|, |2|, | − 8|} = 8, ‖b‖1 = |6| + | − 5| + |2| + | − 8| = 21.

Definition 1.3. Als zu den Vektornormen passende Normen für eine Matrix a11 A = ( ... an1

... .. . ...

a1n .. ) , . ann

(aij ∈ ℝ)

(1.5)

4 | 1 Grundlagen können verwendet werden n

n

‖A‖2 = √∑ ∑ a2ij

(I)

Schursche Norm,

i=1 j=1

n

(II)

‖A‖∞ = max ∑ |aij |

(III)

‖A‖1 = max ∑ |aij |

i

Zeilensummennorm,

j=1

n

j

(1.6)

Spaltensummennorm.

i=1

Beispiel 1.2. Für die Matrix A = ( 42 −31 ) ergeben diese Normen die Werte ‖A‖2 = √(4 + 9 + 16 + 1) = 5.4772,

‖A‖∞ = max{(|2| + | − 3|), (|4| + |1|)} = 5, ‖A‖1 = max{(|2| + |4|), (| − 3| + |1|)} = 6. 1 −3

5

0 −1

7

Die Matrix B = ( −2 4 −6 ) hat folgende Normen ‖B‖2 = √1 + 9 + 25 + 4 + 16 + 36 + 0 + 1 + 49 = 11.8743,

‖B‖∞ = max {(|1| + | − 3| + |5|), (| − 2| + |4| + | − 6|), (|0| + | − 1| + |7|)} = 12, ‖B‖1 = max {(|1| + | − 2| + |0|), (| − 3| + |4| + | − 1|), (|5| + | − 6| + |7|)} = 18.

Im Weiteren werden die Vektornormen ‖a‖1 bzw. ‖a‖∞ und die Matrixnormen ‖A‖1 bzw. ‖A‖∞ benutzt.

1.3 Aufgaben Aufgabe 1.1. Gegeben sind die Matrizen A vom Typ(4, 4) und B vom Typ(2, 4). Welche der folgenden Matrizenoperationen sind ausführbar? A + B, AT ⋅ BT ,

AT + BT ,

A ⋅ B,

B ⋅ A,

AT ⋅ B,

A ⋅ BT ,

B ⋅ AT ,

BT ⋅ A,

BT ⋅ AT .

Aufgabe 1.2. Gegeben sind die Matrizen 2 −1 5 3 A = ( 3 −6 −1 4) , −2 5 7 −3

1 4 7 B = (−3 −4 −2) , 4 0 −1

8 −9 3 C = (−7 2 −5) . 3 −6 −2

1.3 Aufgaben

| 5

Berechnen Sie, falls möglich, die Matrizenausdrücke 2 ⋅ A,

4 ⋅ C + AT ,

3 ⋅ B − 5 ⋅ C,

9 ⋅ CT − 7 ⋅ B,

A + BT − C.

Aufgabe 1.3. Gegeben sind die Matrizen 3 4 A=( −1 5

1 −5 ), 0 2

−2 3 −4 −6

3 B = (−2 1

−4 7) , 5

C=(

2 −3

6 0

−1 4

3 ). −5

Bestimmen Sie, falls möglich, die Matrizenprodukte A ⋅ B,

B ⋅ A,

CT ⋅ B,

A ⋅ C,

AT ⋅ C ⋅ BT ,

C ⋅ A,

AT ⋅ B,

A ⋅ B ⋅ C,

A ⋅ BT ,

C ⋅ BT ,

CT ⋅ A ⋅ BT .

Aufgabe 1.4. Gegeben sind die Matrizen 2 A=( 3

1 2 B=( 3 4

1 ), −2

2 3 4 5

3 4 5 6

4 5 ). 6 7

Sind die Matrizen A, B symmetrisch? Geben Sie für die Matrizen A, B jeweils die obere und untere Dreiecksform an. Prüfen Sie, ob A, B reguläre Matrizen sind. Aufgabe 1.5. Gegeben sind die symmetrischen Matrizen 4 A = (−2 1

−2 6 3

1 3) , 5

6 1 B=( 3 −1

1 4 2 0

3 2 5 1

−1 0 ). 1 7

Prüfen Sie, ob A, B positiv definite Matrizen sind. Aufgabe 1.6. Gegeben sind die Matrizen 2 A=( 3

1 ), −2

4 B = (−3 2

−3 7 −1

2 −1) , 4

1 2 C=( 3 4

Bilden Sie die inversen Matrizen A−1 , B−1 , C−1 . Berechnen Sie für die Matrizen die Normen ‖ ⋅ ‖1 , ‖ ⋅ ‖∞ .

2 3 4 5

3 4 5 6

4 5 ). 6 7

6 | 1 Grundlagen Aufgabe 1.7. Bestimmen Sie den Wert der folgenden Determinanten 󵄨󵄨 1 󵄨󵄨 󵄨󵄨 󵄨󵄨4 󵄨󵄨 󵄨󵄨 7 󵄨

3󵄨󵄨󵄨󵄨 󵄨 6󵄨󵄨󵄨󵄨 , 󵄨 9󵄨󵄨󵄨

2 5 8

󵄨󵄨 2 󵄨󵄨 󵄨󵄨 󵄨󵄨0 󵄨󵄨 󵄨󵄨 1 󵄨󵄨 󵄨󵄨 󵄨󵄨 3

0 1 −4 −1

󵄨󵄨 1 󵄨󵄨 󵄨󵄨 󵄨󵄨󵄨 −1 󵄨󵄨 󵄨󵄨 0 󵄨󵄨 󵄨󵄨−5 󵄨󵄨 󵄨󵄨 󵄨󵄨 2

4󵄨󵄨󵄨󵄨 󵄨 −2󵄨󵄨󵄨󵄨 󵄨, −3󵄨󵄨󵄨󵄨 󵄨 −4󵄨󵄨󵄨

−3 1 0 2

2 −1 1 4 0

0 6 3 3 1

3 0 0 0 5

−2󵄨󵄨󵄨󵄨 󵄨 2󵄨󵄨󵄨󵄨 󵄨 0󵄨󵄨󵄨󵄨 . 󵄨 1󵄨󵄨󵄨󵄨 󵄨 4󵄨󵄨󵄨

Aufgabe 1.8. Für welche Werte des Parameters λ ist der Wert der Determinante gleich null? 󵄨󵄨 󵄨󵄨1 + λ 󵄨󵄨 󵄨󵄨 3 󵄨

󵄨 2 󵄨󵄨󵄨 󵄨󵄨 , 1 − λ󵄨󵄨󵄨

󵄨󵄨1 + λ 󵄨󵄨 󵄨󵄨 󵄨󵄨 1 󵄨󵄨 󵄨󵄨 2 󵄨

2−λ 0 1

λ 󵄨󵄨󵄨󵄨 󵄨 3 + λ󵄨󵄨󵄨󵄨 , 󵄨 0 󵄨󵄨󵄨

󵄨󵄨 1 󵄨󵄨 󵄨󵄨 󵄨󵄨0 󵄨󵄨 󵄨󵄨 6 󵄨

4λ −2λ −3λ

3󵄨󵄨󵄨󵄨 󵄨 6󵄨󵄨󵄨󵄨 . 󵄨 5󵄨󵄨󵄨

Aufgabe 1.9. Berechnen Sie den Wert der Determinante 󵄨󵄨 1 󵄨󵄨 󵄨󵄨 󵄨󵄨 cos t 󵄨󵄨 󵄨󵄨− sin t 󵄨

1 sin t cos t

1 󵄨󵄨󵄨󵄨 󵄨 0󵄨󵄨󵄨󵄨 , 󵄨 0󵄨󵄨󵄨

󵄨󵄨 󵄨󵄨 2 + 3i 󵄨󵄨 󵄨󵄨−1 − 4i 󵄨

󵄨 1 − 4i󵄨󵄨󵄨 󵄨󵄨 , 2 − 3i󵄨󵄨󵄨

󵄨󵄨 1 + i 󵄨󵄨 󵄨󵄨 󵄨󵄨 0 󵄨󵄨 󵄨󵄨−1 − 2i 󵄨

i 2i 0

−1 + 2i󵄨󵄨󵄨󵄨 󵄨 1 󵄨󵄨󵄨󵄨 . 󵄨 −2i 󵄨󵄨󵄨

Aufgabe 1.10. Bestimmen Sie den Wert der Vandermondeschen Determinante V und den Wert der Determinante D 󵄨󵄨1 󵄨󵄨 󵄨󵄨 󵄨󵄨󵄨1 V = 󵄨󵄨󵄨󵄨 . 󵄨󵄨 .. 󵄨󵄨 󵄨󵄨 󵄨󵄨1

x1 x2 .. . xn

x12 x22 .. . xn2

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

x1n−1 󵄨󵄨󵄨󵄨 󵄨 x2n−1 󵄨󵄨󵄨󵄨 󵄨 .. 󵄨󵄨󵄨 , . 󵄨󵄨󵄨 󵄨󵄨 xnn−1 󵄨󵄨󵄨

󵄨󵄨 󵄨󵄨a 󵄨󵄨 󵄨󵄨b 󵄨󵄨 󵄨󵄨b 󵄨󵄨 D = 󵄨󵄨󵄨󵄨 . 󵄨󵄨 .. 󵄨󵄨󵄨 󵄨󵄨b 󵄨󵄨 󵄨󵄨 󵄨󵄨b

b a b .. . b b

b b a .. . b b

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

b b b .. . a b

󵄨 b󵄨󵄨󵄨 󵄨 b󵄨󵄨󵄨󵄨 󵄨 b󵄨󵄨󵄨󵄨 󵄨 .. 󵄨󵄨󵄨 . 󵄨󵄨󵄨 󵄨󵄨 b󵄨󵄨󵄨 󵄨󵄨 a󵄨󵄨󵄨

für a ≠ b.

Aufgabe 1.11. Schreiben Sie die Systeme von Funktionen in Matrizenform und lösen Sie diese Systeme nach den Variablen xi auf y1 = x1 + 2x2 − x3 y2 = − x2 + 4x3 y3 = −x1 − 3x2 + 5x3 ,

y1 = 2x1 − x2 − x3 + x4 y2 = −x1 + x2 − x3 + 3x4 y3 = −2x1 + 4x2 + x3 − 3x4 y4 = 2x2 − 3x3 + 4x4 .

2 Numerisches Rechnen und Fehler 2.1 Fehler 2.1.1 Fehlerarten In allen numerischen Methoden und Rechnungen treten Fehler auf. Wir müssen uns von Anfang an darüber im Klaren sein, dass immer Fehler vorhanden sind, auch wenn in der Behandlung der Methoden nicht ständig explizit davon gesprochen wird. Es muss ebenfalls berücksichtigt werden, dass in gewissen Fällen die Fehlerfortpflanzung von an sich kleinen Fehlern schließlich zu unsinnigen Ergebnissen führen kann. Daher gehört zu den numerischen Verfahren korrekterweise eine Abschätzung der möglichen Fehler, die sich allerdings in der Praxis nicht immer nachvollziehen lässt. Bei numerischen Berechnungen werden zwei Arten von Fehlern unterschieden: – absolute Fehler und – relative Fehler. Definition 2.1. Es sei x ≠ 0 ein exakter Zahlenwert und x̃ ein Näherungswert für x. Dann ist Δ = Δx = x̃ − x x̃ − x Δx δ = δx = = x x

der absolute Fehler, der relative Fehler.

In numerischen Rechnungen vorkommende Fehler lassen sich in drei Gruppen einteilen: – Fehler in den Eingabedaten Messdaten haben nur eine begrenzte Genauigkeit. Durch Rundung der Werte können Fehler in den Eingabedaten entstehen. – Verfahrensfehler Sie verkörpern den Unterschied zwischen dem analytischen und dem numerischen Vorgehen bei der Lösung des Problems und können verschiedene Ursachen haben. Beispielsweise können digitale Rechner nur die Grundrechenarten ausführen, und zwar nur Folgen von endlich vielen Operationen. Daher müssen nichtrationale Funktionen (Wurzeln, Logarithmen, Winkelfunktionen usw.) durch endliche Folgen arithmetischer Operationen ersetzt werden. Die Exponentialfunktion kann zum Beispiel durch ex ≈ 1 + x +

x2 x3 + 2 6

approximiert werden. In numerischen Verfahren wird oft das zu lösende Problem diskretisiert. So entstehen bei Auswertungen von bestimmten Integralen Fehler https://doi.org/10.1515/9783110665604-002

8 | 2 Numerisches Rechnen und Fehler durch die Diskretisierung des Integranden b

n

∫ f (x)dx ≈ ∑ f (ξi )Δxi i=1

a



mit x1 = a, xn = b, Δxi = xi − xi−1 , ξi ∈ [xi−1 , xi ] (i = 1, 2, . . . , n). Rundungsfehler

2.1.2 Numerisch stabile und instabile Algorithmen Das Problem der numerischen Stabilität von Algorithmen soll an einem Beispiel demonstriert werden. Dieses Beispiel kann auch als Aufforderung verstanden werden, numerischen Berechnungen mit einer gewissen Skepsis zu begegnen. Es ist die Zahl π zu bestimmen. Beim Einheitskreis gilt für den Kreisumfang U = 2π. Bereits der griechische Mathematiker Archimedes schätzte den Kreisumfang U durch einbeschriebene Polygone ab und konnte somit Näherungen für π finden. y 1 p3 p2 1

−1

x

Abb. 2.1: Berechnung von π.

Zeichnet man z. B. in den Einheitskreis ein gleichseitiges Viereck oder 22 -Eck bzw. ein gleichseitiges Achteck oder 23 -Eck, so ergeben sich die Seitenlängen q2 des gleichseitigen Vierecks bzw. q3 des gleichseitigen Achtecks zu (s. Abb. 2.1) q2 = √2,

q3 = √2 − √2.

Es sei Un der Umfang eines dem Einheitskreis einbeschriebenen 2n -Ecks, und es bezeichne pn = Un /2. Für das gleichseitige Viereck und das gleichseitige Achteck folgen p2 = 2√2,

p3 = 4√2 − √2.

Das Vorgehen kann fortgeführt werden, so dass dem Einheitskreis nacheinander jeweils ein 2n -Eck für n = 4, 5, . . . einbeschrieben ist. Für die halben Umfänge pn dieser

2.2 Maschinenzahlen |

9

2n -Ecke hat Archimedes die Rekursionsformel p1 = 2,

pn = 2n−1 √2(1 − √(1 −

p2n−1 )) (n = 2, 3, 4, . . .) 22n−2

(2.1)

gefunden. Es kann bewiesen werden, dass limn→∞ pn = π gilt. Theoretisch streben die Zahlen pn mit größer werdendem n gegen die Zahl π. Die in der Tab. 2.1 zusammengestellten numerischen Auswertungen von Formel 2.1 bei Begrenzung auf zehn bzw. zwanzig Dezimalstellen führen zu unsinnigen Ergebnissen. Da der Algorithmus richtig ist, kommt es durch sich verstärkende Fehler bei den numerischen Rechnungen zu den falschen Ergebnissen. Durch Umrechnung kann die Formel 2.1 in eine andere Gestalt überführt werden. Es ergibt sich nacheinander pn = 2n−1 ⋅ √2(1 − √(1 − p2n = 22n−2 ⋅ 2(1 − √. . .) = =

22n−2 ⋅ 2(1 − (1 − 1 + √. . . 2 ⋅ pn−1

pn =

√2(1 + √(1 −

p2n−1 )) 22n−2

22n−2 ⋅ 2(1 − √. . .)(1 + √. . .)

p2n−1 22n−2

1 + √. . .

))

.

=

4 ⋅ p2n−1 2(1 + √. . .) (2.2)

p2n−1 )) 22n−2

Die numerische Auswertung der Formel 2.2 ergibt eine Zahlenfolge p1 , p2 , . . ., die auch bei endlicher Stellenzahl stets zu einer Näherung für die Zahl π führt. Der numerisch instabile Algorithmus in der Formel 2.1 ist durch diese Umstellung in den numerisch stabilen Algorithmus in der Formel 2.2 überführt worden. In der dritten Spalte der Tabelle 2.1 ist die Auswertung der Formel 2.2 bei Begrenzung auf zwanzig Dezimalstellen angeführt.

2.2 Maschinenzahlen Bereits einfache Beispiele zeigen einen besonders zu beachtenden Punkt bei numerischen Rechnungen. Anstelle von beliebigen reellen Zahlen muss mit Maschinenzahlen gerechnet werden. In der reellen Analysis erfolgen die Untersuchungen auf der Menge der reellen Zahlen ℝ. Die Rechengesetze auf dieser Menge sind als bekannt vorausgesetzt. Auf Rechenautomaten können reelle Zahlen nur mit endlich vielen Stellen als Maschinenzahlen gespeichert und verarbeitet werden. Sie sind nur eine Teilmenge der Menge

10 | 2 Numerisches Rechnen und Fehler Tab. 2.1: Auswertung der Näherungsformel für π.

n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

pn nach 2.1 9 Dezimalen

pn nach 2.1 20 Dezimalen

pn nach 2.2 20 Dezimalen

2.000000000 2.828427125 3.061467459 3.121445153 3.136548491 3.140331164 3.141277258 3.141513781 3.141572714 3.141586274 3.141594618 3.141594618 3.141661371 3.141928372 3.142996147 3.142996147 3.142996147 3.210595196 2.621440000 0 . . .

2.00000000000000000000 2.82842712474619009760 3.06146745892071817383 3.12144515225805228554 3.13654849054593926390 3.14033115695475291226 3.14127725093277286776 3.14151380114430108032 3.14157294036709141850 3.14158772527715986672 3.14159142151120050140 3.14159234557011644158 3.14159257658487388445 3.14159263433855725314 3.14159264877684442058 3.14159265238692353568 3.14159265329264752603 3.14159265351138841423 3.14159265356607363628 3.14159265378481452445 3.14159265334733274808 3.14159265509725985321 3.14159266209696826395 3.14159260609930054130 3.14159271809463498846 3.14159271809463498847 3.14159092616880472792 3.14158375845526273214 3.14161242921131017638 3.14149774461714521132 3.14149774461714521133 3.14149774461714521133 3.12678338857460069443 3.09714496243378424793 2.97564062940748689726 3.43597383680000000000 0 .

2.00000000000000000000 2.82842712474619009760 3.06146745892071817382 3.12144515225805228556 3.13654849054593926380 3.14033115695475291230 3.14127725093277286804 3.14151380114430107632 3.14157294036709138414 3.14158772527715970064 3.14159142151119997400 3.14159234557011774234 3.14159257658487266568 3.14159263433856298908 3.14159264877698566948 3.14159265238659134580 3.14159265328899276526 3.14159265351459312016 3.14159265357099320888 3.14159265358509323106 3.14159265358861823660 3.14159265358949948800 3.14159265358971980084 3.14159265358977487906 3.14159265358978864862 3.14159265358979209100 3.14159265358979295160 3.14159265358979316676 3.14159265358979322054 3.14159265358979323398 3.14159265358979323734 3.14159265358979323818 3.14159265358979323838 3.14159265358979323842 3.14159265358979323844 3.14159265358979323844 . .

der reellen Zahlen. Es zeigt sich, dass die Rechengesetze für die reellen Zahlen nicht in vollem Umfang für Maschinenzahlen gelten, was zu Fehlleistungen der Rechenmaschinen führen kann.

2.2 Maschinenzahlen |

11

2.2.1 Zahlendarstellungen Man kann Maschinenzahlen mit verschiedenen Festlegungen benutzen. Wir werden zu Übungszwecken unterschiedliche Darstellungen in den Beispielen zulassen. Spricht man von Zahlen mit m Dezimalen, dann bedeutet das, dass diese Zahlen m Ziffern nach dem Dezimalpunkt oder -komma haben: g2 g1 .z1 z2 . . . zm . Beispiel 2.1. Zahlen mit fünf Dezimalen: 3.41063, 0.02031, 678.00201. Diese Form wird als Fixpunktdarstellung bezeichnet. Auf die Fixpunktdarstellung gehen wir nicht ein, da sie bei modernen Rechnern keine große Rolle spielt. Rechner arbeiten meistens mit einer Gleitpunktdarstellung der Art y = (sgn)a ⋅ 10e

(2.3)

für Maschinenzahlen. Bei der Gleitpunktdarstellung heißen a die Mantisse und e der Exponent. Die Mantisse besteht aus m Ziffern d1 , d2 , . . . , dm . Es gibt zwei Arten der Normung: I. a = d1 .d2 . . . dm , (d1 ≠ 0), II. a = 0.d1 d2 . . . dm , (d1 ≠ 0). Beide Arten sind äquivalent. Für die di gilt 0 ≤ di ≤ 9 (i = 1, 2, . . . , m). Wir werden beide Darstellungsformen nebeneinander benutzen. In Computern ist häufig die zweite Art realisiert. Der Exponent e ist eine Vorzeichen behaftete ganze Zahl. Für den Exponenten e ist je nach Maschine und Software ein gewisses Intervall −K ≤ e ≤ K zugelassen. Der übliche Bereich in Taschenrechnern ist z. B. −99 ≤ e ≤ 99. Die reelle Zahl 0 wird davon abweichend durch 0 = 0.00 . . . 0 ⋅ 100 dargestellt. Die betragsmäßig kleinste von null verschiedene Maschinenzahl und die betragsmäßig größte Maschinenzahl zweiter Art sind ymin = 0.10 . . . 0 ⋅ 10−K

und

ymax = 0.99 . . . 9 ⋅ 10K .

Die Menge der Maschinenzahlen ist endlich. Sie besteht aus der Null und allen mit m Ziffern und den Exponenten e darstellbaren Zahlen.

2.2.2 Rundung Da mit den Maschinenzahlen nur ein Teil der Menge der reellen Zahlen erfasst werden kann, muss es eine Vorschrift geben, um die anderen reellen Zahlen auf jeweils eine der Maschinenzahlen abzubilden, und sie dann so weiter zu verarbeiten. Es gibt zwei

12 | 2 Numerisches Rechnen und Fehler Vorgehensweisen, um einer beliebigen reellen Zahl x eine Maschinenzahl y zuzuordnen. Das Vorgehen wird für die Darstellungsart II. beschrieben. Bei der Darstellungsart I. ist das Vorgehen äquivalent. Aus der Analysis ist bekannt, dass jede reelle Zahl x durch einen Dezimalbruch darstellbar ist, der in der Form x = (sgn) ⋅ (0.d1 d2 . . . dm dm+1 . . .) ⋅ 10e

(2.4)

geschrieben werden kann. Bei der Zuordnung x zu y geht es darum, über dm+1 und die nachfolgenden Dezimalstellen Aussagen zu treffen. 2.2.2.1 Abbruch Definition 2.2. Es gilt y = chp(x) = (sgn) ⋅ (0.d1 d2 . . . dm ) ⋅ 10e .

(2.5)

Die überzähligen Dezimalstellen dm+1 , . . . werden weggelassen. Man spricht von m gültigen Ziffern für die Zahl x. Beispiel 2.2. x = 0.1198 = 0.1198 ⋅ 100 ,

m=2:

y = 0.11 ⋅ 100 ,

x = −3624 = −0.3624 ⋅ 104 ,

m=2:

y = −0.36 ⋅ 104 ,

x = 4.899999 = 0.4899999 ⋅ 101 ,

m=4:

y = 0.4899 ⋅ 101 .

2.2.2.2 Rundung Definition 2.3. Es gilt 󸀠 y = rd(x) = (sgn) ⋅ (0.d1󸀠 d2󸀠 . . . dm ) ⋅ 10e .

(2.6)

Ist dm+1 ≤ 4 bleibt dm erhalten. Bei dm+1 ≥ 5 wird dm um 1 erhöht. Durch eventuelle Überträge kann diese Erhöhung auch auf dj mit 1 ≤ j ≤ (m − 1) wirken. Beispiel 2.3. x = 0.1198 = 0.1198 ⋅ 100 ,

m=2:

y = 0.12 ⋅ 100 ,

x = −3624 = −0.3624 ⋅ 104 ,

m=2:

y = −0.36 ⋅ 104 ,

x = 4.899999 = 0.4899999 ⋅ 101 ,

m=4:

y = 0.4900 ⋅ 101 .

2.3 Fehlerfortpflanzung

| 13

2.2.3 Unterlauf, Überlauf Definition 2.4. Ist |x| < ymin , wird y = 0.00 . . . 0 ⋅ 100 gesetzt. Es wird in der Regel kein Fehler angezeigt und mit dem Zwischenergebnis null weiter gerechnet. Ist |x| > ymax , wird der Maschinenzahlbereich überschritten. Die Rechnung wird infolge Überlauf abgebrochen.

2.3 Fehlerfortpflanzung Eine wesentliches Problem bei Benutzung numerischer Methoden ist die Fortpflanzung von Fehlern, die bereits mit den Eingangsdaten eingebracht werden. Wie wirken sich solche Eingangsfehler auf das Endresultat aus und welche Fehlerschranken müssen bei erhaltenen numerischen Ergebnissen berücksichtigt werden?

2.3.1 Maximalfehler Wir betrachten eine Funktion z = f (x, y) in dem Definitionsbereich D. Die Funktion sei in D nach beiden Variablen differenzierbar. Die Untersuchungen lassen sich ohne Schwierigkeiten auf Funktionen von mehreren Variablen ausbauen. Bei der numerischen Rechnung sind die Variablen x und y durch Näherungswerte x̃ und ỹ gegeben. Wenn damit nach der Funktionsvorschrift das Resultat z̃ = f (x,̃ y)̃ berechnet wird, so ist z̃ ebenfalls nur ein Näherungswert für den exakten Wert z. Gesucht werden Abschätzungen für die Abweichungen Δz = z̃ − z

bzw. δz =

z̃ − z , z

wenn Abweichungen Δx, Δy bzw. δx, δy in D bekannt sind. Wir benutzen die Taylor-Reihenentwicklung der Funktion f (x,̃ y)̃ in D an der Stelle (x, y) ∈ D und brechen die Reihenentwicklung nach den linearen Gliedern ab: f (x,̃ y)̃ = f (x + Δx, y + Δy)

𝜕f (x, y) 𝜕f (x, y) (x̃ − x) + (ỹ − y) + ⋅ ⋅ ⋅ 𝜕x 𝜕y 𝜕f (x, y) 𝜕f (x, y) (x̃ − x) + (ỹ − y). ≈ f (x, y) + 𝜕x 𝜕y = f (x, y) +

Unter Berücksichtigung von f (x,̃ y)̃ − f (x, y) = z̃ − z = Δz

14 | 2 Numerisches Rechnen und Fehler folgt bei Beschränkung auf lineare Glieder Δz =

𝜕f (x, y) 𝜕f (x, y) Δx + Δy. 𝜕x 𝜕y

(2.7)

Hieraus lässt sich in D eine Maximalabschätzung für Δz gewinnen: 󵄨󵄨 𝜕f (x, y) 󵄨󵄨 󵄨󵄨 𝜕f (x, y) 󵄨󵄨 󵄨 󵄨 󵄨󵄨 󵄨󵄨 |Δz| ≤ 󵄨󵄨󵄨 󵄨󵄨 |Δx| + 󵄨󵄨󵄨 󵄨|Δy|. 󵄨󵄨 𝜕x 󵄨󵄨 󵄨󵄨 𝜕y 󵄨󵄨󵄨

(2.8)

Um eine Maximalabschätzung für die Abweichung des Näherungswertes z̃ vom exakten Wert z zu erhalten, müssen Abschätzungen der partiellen Ableitungen der Funktion f (x, y) sowohl nach x als auch nach y im Definitionsbereich der Funktion f (x, y) möglich sein. Auf ähnliche Weise kann eine Maximalabschätzung für die relativen Fehler gefunden werden. Es gilt δz =

z̃ − z Δz x 𝜕f (x, y) Δx y 𝜕f (x, y) Δy = = + . z f (x, y) f (x, y) 𝜕x x f (x, y) 𝜕y y

Daraus folgt als Maximalabschätzung im D 󵄨󵄨 y 𝜕f (x, y) 󵄨󵄨 󵄨󵄨 x 𝜕f (x, y) 󵄨󵄨 󵄨󵄨 󵄨󵄨 󵄨 󵄨 |δz| ≤ 󵄨󵄨󵄨 󵄨󵄨 |δx| + 󵄨󵄨󵄨 󵄨 |δy|. 󵄨󵄨 f (x, y) 𝜕y 󵄨󵄨󵄨 󵄨󵄨 f (x, y) 𝜕x 󵄨󵄨 Beispiel 2.4. Gegeben sind folgende Eingangsgrößen und Abweichungen: x̃ = 3.4,

Δx = −0.04,

δx = −1.163 ⋅ 10−2 ,

ỹ = 68,

Δy = 0.4,

δy = 5.92 ⋅ 10−3 .

Für die Funktion z = f (x, y) = x + y

(D : x > 0, y > 0)

ergeben sich 𝜕f = 1, 𝜕x

𝜕f =1 𝜕y

und |Δz| ≤ 1 ⋅ 0.04 + 1 ⋅ 0.4 = 0.44.

Als Ergebnis folgt z̃ = 71.4

und

Δz ≤ 0.44

oder z = 71.4±0.44.

Für den relativen Fehler erhält man: 󵄨󵄨 y 󵄨󵄨 󵄨󵄨󵄨 x 󵄨󵄨󵄨 󵄨 󵄨 |δz| ≤ 󵄨󵄨󵄨 ⋅ 1󵄨󵄨󵄨 ⋅ 1.163 ⋅ 10−2 + 󵄨󵄨󵄨 ⋅ 1󵄨󵄨󵄨 ⋅ 5.92 ⋅ 10−3 󵄨󵄨 x + y 󵄨󵄨 󵄨󵄨 x + y 󵄨󵄨 ≤ 1.163 ⋅ 10−2 + 5.92 ⋅ 10−3 = 1.755 ⋅ 10−2 . Der relative Fehler ist kleiner als 1.8 %.

(2.9)

2.3 Fehlerfortpflanzung

| 15

Beispiel 2.5. Die Schwingungsdauer T des mathematischen Pendels der Länge l beim Wirken der Erdbeschleunigung g berechnet sich zu T = 2π √

l g

(D : l > 0, g > 0).

Die Größen l und g haben einen relativen Messfehler von höchstens 0.1 %. Welchen prozentualen Fehler für den Wert T hat man höchstens zu erwarten? Es sind δl = Δl/l = 0.001 sowie δg = Δg/g = 0.001 gegeben und δT = ΔT/T gesucht. Mit T = T(l, g) = 2π √

l g

folgen

𝜕T π = 𝜕l √g ⋅ l

und

l 𝜕T = −π √ 3 . 𝜕g g

Damit ergibt sich δT = =

𝜕T g 𝜕T l ⋅ ⋅ δl + ⋅ ⋅ δg T(l, g) 𝜕l T(l, g) 𝜕g l 2π√ gl



π g l 1 1 ⋅ π √ 3 ⋅ δg = δl − δg. ⋅ δl − l 2 2 g √g ⋅ l 2π√ g

Man erhält |δT| ≤ 1/2|δl| + 1/2|δg| = 0.001. Der relative Fehler von T ist ≤ 0.1 %.

2.3.2 Fehlerquadratsumme Da bei den Maximalabschätzungen die Vorzeichen der Abweichungen unberücksichtigt bleiben, überlagern sich alle Einflüsse in einer Richtung, was im allgemeinen zu überhöhten Maximalschranken führt. Gauß hat eine Abschätzung mit der Fehlerquadratsumme eingeführt. Definition 2.5. Als Fehlerquadratsumme wird in D erklärt Δzm = √[

2

2

𝜕f (x, y) 𝜕f (x, y) ⋅ Δx] + [ ⋅ Δy] . 𝜕x 𝜕y

Δzm heißt mittlerer absoluter Fehler,

Δzm z

(2.10)

mittlerer relativer Fehler.

Wie der Name ausdrückt, geben die mittleren Fehler keine oberen Schranken an. Sie können in ungünstigen Fällen überschritten werden. Beispiel 2.6. In einem Experiment werden Temperaturen T1 und T2 gemessen, die absoluten Fehler ΔT1 und ΔT2 seien bekannt. In der Auswertung sind Abschätzungen des

16 | 2 Numerisches Rechnen und Fehler absoluten Fehlers Δz und des mittleren absoluten Fehlers Δzm der Temperaturdifferenz z = T2 − T1 gesucht. Mit 𝜕z/𝜕T1 = −1, 𝜕z/𝜕T2 = 1 ergeben sich als Abschätzungen für den absoluten Fehler |Δz| ≤ |ΔT1 | + |ΔT2 | und für den mittleren absoluten Fehler Δzm = √(−ΔT1 )2 + (ΔT2 )2 . Im speziellen Fall ΔT1 = ΔT2 = ΔT werden |Δz| ≤ 2ΔT und Δzm = √2ΔT. Beispiel 2.7. Die Knickkraft F eines runden Stabes mit dem Durchmesser d, der Länge l und dem Elastizitätsmodul E berechnet sich zu F(d, l, E) =

π 3 d4 E ⋅ . 64 l2

Für die Eingangsgrößen d, l, E sind die relativen Fehler δd, δl, δE bekannt. Zu bestimmen ist der relative mittlere Fehler ΔFm /F. Es gilt 𝜕F π 3 4d3 E , = 𝜕d 64 l2

𝜕F π 3 (−2d4 E) , = 𝜕l 64 l3

𝜕F π 3 d4 . = 𝜕E 64 l2

Damit folgt für den mittleren absoluten Fehler ΔFm = =

2

2

2

2d4 E π 3 √ 4d3 E d4 ( 2 ) ⋅ Δd2 + ( 3 ) ⋅ Δl2 + ( 2 ) ⋅ ΔE 2 64 l l l π 3 √ d6 E 2 d8 d8 E 2 16 4 ⋅ Δd2 + 4 6 ⋅ Δl2 + 4 ⋅ ΔE 2 . 64 l l l

Als relativer mittlerer Fehler ergibt sich ΔFm = F

π3 ... 64 √ π 3 d4 E 64 l2

= √16(

2

2

2

Δl ΔE Δd ) + 4( ) + ( ) d l E

= √16δd2 + 4δl2 + δE 2 . Ausführliche Untersuchungen zur Fehlerfortpflanzung und -abschätzung bei numerischen Rechnungen gehen über den Rahmen dieser Einführung hinaus. Insbesondere ist dazu auch eine gemeinsame Behandlung von Eingangs-, Verfahrens- und Rundungsfehlern erforderlich. Als Hinweis wird angeführt: Die Grenze der erreichbaren Genauigkeit bei numerischen Rechnungen wird durch die Rundungsfehler gesetzt. Eingangs- und Verfahrensfehler können durch entsprechende Maßnahmen heruntergedrückt werden. Rundungsfehler werden durch

2.4 Konditionszahlen |

17

den benutzten Algorithmus und die benutzten Hilfsmittel, z. B. Computer mit endlicher Stellenzahl für reelle Zahlen initiiert. Es ist sinnlos, in der numerischen Rechnung weitere Näherungen zu bestimmen, wenn der Verfahrensfehler bis zur Größenordnung der Rundungsfehler gesunken ist. Wenn keine besseren Informationen oder Abschätzungen vorliegen, kann als Faustregel benutzt werden: Die numerischen Rechnungen werden mit einer höheren Stellenzahl ausgeführt als für das Ergebnis gebraucht werden. Üblicherweise wird mit zwei bis drei sogenannten Schutzstellen gerechnet.

Falls das Ergebnis z. B. auf vier Stellen genau sein soll, ist mit sechs oder sieben Stellen zu rechnen, um den Einfluss der Rundungsfehler möglichst klein zu halten.

2.4 Konditionszahlen 2.4.1 Konditionszahlen bei Funktionen Bei den Abschätzungen der absoluten bzw. relativen Fehler spielten die partiellen Ableitungen der zu berechnenden Funktion f (x, y) eine große Rolle. Die Höchstwerte der partiellen Ableitungen in D bestimmen wesentlich die Fehlerfortpflanzung. Um ein Maß für den Einfluss der Fehlerfortpflanzung zur Verfügung zu haben, sind die Konditionszahlen eingeführt worden. Definition 2.6. Die in der Formel Δz =

𝜕f (x, y) 𝜕f (x, y) Δx + Δy 𝜕x 𝜕y

(2.11)

auftretenden partiellen Ableitungen 󵄨󵄨 𝜕f (x, y) 󵄨󵄨 󵄨󵄨 𝜕f (x, y) 󵄨󵄨 󵄨󵄨 󵄨󵄨 󵄨󵄨 󵄨 󵄨󵄨 bzw. 󵄨󵄨󵄨 󵄨 󵄨󵄨 󵄨󵄨 𝜕y 󵄨󵄨󵄨 󵄨󵄨 𝜕x 󵄨󵄨

(2.12)

werden als absolute Konditionszahlen bezeichnet. Die in δz =

y 𝜕f (x, y) x 𝜕f (x, y) ⋅ δx + ⋅ δy f (x, y) 𝜕x f (x, y) 𝜕y

(2.13)

vorkommenden Ausdrücke 󵄨󵄨 x 𝜕f (x, y) 󵄨󵄨 󵄨󵄨 y 𝜕f (x, y) 󵄨󵄨 󵄨󵄨 󵄨󵄨 󵄨 󵄨󵄨 󵄨󵄨 󵄨󵄨 bzw. 󵄨󵄨󵄨 󵄨 󵄨󵄨 f (x, y) 𝜕x 󵄨󵄨 󵄨󵄨 f (x, y) 𝜕y 󵄨󵄨󵄨 heißen relative Konditionszahlen.

(2.14)

18 | 2 Numerisches Rechnen und Fehler Die Konditionszahlen sind von der betrachteten Stelle (x, y) abhängig. Sie können im vorgegebenen Definitionsbereich abgeschätzt werden. Mit den Konditionszahlen lässt sich die Verstärkung der Eingangsfehler in einem numerischen Algorithmus charakterisieren. Sie stellen ein Maß für die numerische Stabilität des Algorithmus dar. Beispiel 2.8. Es wird wieder die Funktion z = f (x, y) = x + y

(D : x > 0, y > 0)

aus Beispiel 2.4 betrachtet. Aus 𝜕f /𝜕x = 1 und 𝜕f /𝜕y = 1 folgt, dass die absoluten Konditionszahlen 1 sind. Die Eingangsfehler werden durch den Algorithmus nicht verstärkt. Mit 󵄨󵄨 x 𝜕f 󵄨󵄨 󵄨󵄨 y 𝜕f 󵄨󵄨 x y 󵄨󵄨 󵄨󵄨 󵄨 󵄨󵄨 ⋅ 1 ≤ 1 und 󵄨󵄨󵄨 ⋅1≤1 󵄨󵄨 󵄨󵄨 = 󵄨= 󵄨󵄨 f (x, y) 𝜕x 󵄨󵄨 x + y 󵄨󵄨 f (x, y) 𝜕y 󵄨󵄨󵄨 x + y sind die relativen Konditionszahlen höchstens gleich 1. Die relativen Eingangsfehler werden folglich nicht verstärkt. Beispiel 2.9. Für die Funktion T(l, g) = 2π √

l g

(D : l > 0, g > 0)

folgen 󵄨󵄨 𝜕T 󵄨󵄨 π 󵄨󵄨 󵄨󵄨 󵄨󵄨 󵄨󵄨 = 󵄨󵄨 𝜕l 󵄨󵄨 √g ⋅ l

󵄨󵄨 𝜕T 󵄨󵄨 l 󵄨 󵄨 und 󵄨󵄨󵄨 󵄨󵄨󵄨 = π √ 3 . 󵄨󵄨 𝜕g 󵄨󵄨 g

Die absoluten Konditionszahlen zeigen, dass für 0 < g < 1 und 0 < l ⋅ g < 1 eine Verstärkung der Eingangsfehler zu erwarten ist. Für die relativen Konditionszahlen ergeben sich 󵄨󵄨 l 𝜕T 󵄨󵄨 1 󵄨󵄨 󵄨󵄨󵄨 = 󵄨󵄨 󵄨󵄨 T 𝜕l 󵄨󵄨󵄨 2

und

󵄨󵄨 g 𝜕T 󵄨󵄨 1 󵄨󵄨 󵄨󵄨󵄨 = . 󵄨󵄨 󵄨󵄨 T 𝜕g 󵄨󵄨󵄨 2

Der relative Fehler wird durch den Algorithmus verbessert. 2.4.2 Konditionszahlen bei linearen Gleichungssystemen Zur Fehleranalyse bei der numerischen Lösung von linearen Gleichungssystemen A⋅x=b

(2.15)

mit a11 A = ( ... an1

... .. . ...

a1n .. ) , . ann

x1 x = ( ... ) xn

und

b1 b = ( ... ) bn

(2.16)

2.4 Konditionszahlen |

19

werden die Konditionszahlen für das System A ⋅ x = b benötigt. Sie sind mit Hilfe der Koeffizientenmatrix A definiert. Definition 2.7. Es seien A eine reguläre Matrix vom Typ (n, n) und ‖ ⋅ ‖p eine gewählte Matrixnorm. Dann heißen acondp (A) = ‖A‖p

󵄩 󵄩 condp (A) = 󵄩󵄩󵄩A−1 󵄩󵄩󵄩p ⋅ ‖A‖p

bzw.

(2.17)

die absolute bzw. relative Konditionszahl des Systems A ⋅ x = b bezüglich der Norm ‖ ⋅ ‖p . Beispiel 2.10. Für die folgende Matrix A und ihre Inverse 2 A = (1 1

3 2 −1

2 1) , 0

2 2 −5

−1 A−1 = (−1 3

1 0) −1

erhält man bezüglich der Spaltensummennorm 󵄩󵄩 −1 󵄩󵄩 󵄩󵄩A 󵄩󵄩1 = max(5, 9, 2) = 9,

‖A‖1 = max{4, 6, 3} = 6, acond1 (A) = 6,

cond1 (A) = 9 ⋅ 6 = 54.

Für die Zeilensummennorn gilt 󵄩󵄩 −1 󵄩󵄩 󵄩󵄩A 󵄩󵄩∞ = max{4, 3, 9} = 9, cond∞ (A) = 9 ⋅ 7 = 63.

‖A‖∞ = max{7, 4, 2} = 7 acond∞ (A) = 7,

Beispiel 2.11. Für die Hilbertmatrix B und ihre Inverse 1

B=

( 21 1 3

1 2 1 3 1 4

1 3 1 ) 4 1 5

B

−1

9 = (−36 30

−36 192 −180

30 −180) 180

ergeben sich analog 11 13 47 11 , , }= , 6 12 60 6 11 acond1 (B) = , 6 11 13 47 11 ‖B‖∞ = max{ , , }= , 6 12 60 6 11 acond∞ (B) = , 6 ‖B‖1 = max{

󵄩󵄩 −1 󵄩󵄩 󵄩󵄩B 󵄩󵄩1 = max{75, 408, 390} = 408, cond1 (B) = 748, 󵄩󵄩 −1 󵄩󵄩 󵄩󵄩B 󵄩󵄩∞ = max{75, 408, 390} = 408, cond∞ (B) = 748.

Weitere ausführliche Untersuchungen zur Fehleranalyse und zu Konditionszahlen sind bei Maess [22], Becker–Dreyer–Haacke–Nabert [5], Schwetlick–Kretzschmar [33] zu finden.

20 | 2 Numerisches Rechnen und Fehler

2.5 Aufgaben Aufgabe 2.1. Bestimmen Sie die Konditionszahlen acondp (⋅) und condp (⋅) der Matrizen 2 A=( 3

1 ), −2

1 B = (−3 4

4 −4 0

7 −2) , −1

2 3 C=( −2 −1

−1 −6 5 0

5 −1 7 −4

3 4 ) −3 0

jeweils mit der ‖ ⋅ ‖1 - und ‖ ⋅ ‖∞ -Norm. Aufgabe 2.2. Bestimmen Sie die Konditionszahlen acondp (⋅) und condp (⋅) der symmetrischen Matrizen 2 A=( 3

3 ), −2

4 B = (−3 2

−3 7 −1

jeweils mit der ‖ ⋅ ‖1 - und ‖ ⋅ ‖∞ -Norm.

2 −1) , 4

1 2 C=( 3 −4

2 3 −4 5

3 −4 5 6

−4 5 ) 6 7

3 Iterationsverfahren 3.1 Iterationsprobleme 3.1.1 Einführung In den Ingenieur- und Naturwissenschaften ist häufig die Aufgabe gestellt, Lösungen von Gleichungen bzw. Vektor- oder Matrizengleichungen aufzusuchen. Im Folgenden sei y = f (x) eine in einem Intervall [a, b] stetige und differenzierbare Funktion einer unabhängigen Variablen. Für diese Funktion ist eine Nullstelle x ∗ zu bestimmen, es ist also die Lösung x∗ einer Gleichung f (x) = 0 zu suchen. Es wird angenommen, dass die Lösung mit Näherungsverfahren ermittelt werden muss. Polynomgleichungen lassen sich zwar bis 4-ten Grades theoretisch noch analytisch geschlossen auflösen, aber bereits bei Polynomgleichungen 3-ten Grades sind die Lösungsformeln kompliziert und unübersichtlich und dadurch für praktische Berechnungen ungeeignet. Für Polynomgleichungen höheren als 4-ten Grades gibt es nach einem Beweis von Abel im Allgemeinen keine geschlossenen Lösungen mehr. Ebenso können für transzendente Gleichungen, wie z. B. tan x −x = 0 oder ex +ln x = 0 Lösungen nur mit Näherungsverfahren gefunden werden. Wenn die Gleichung f (x) = 0 mit einem Näherungsverfahren zu lösen ist, tritt sofort das Problem der Genauigkeit auf. Es wird vom Näherungsverfahren eine hinreichend gute Genauigkeit oder eine vorgegebene Genauigkeit verlangt. Zuerst ist zu überlegen, was beim numerischen Rechnen eigentlich unter der Bestimmung einer Zahl x∗ , so dass f (x∗ ) = 0 wird, zu verstehen ist. Die Frage, ob f (x ∗ ) = 0 gilt, kann in der Numerik nicht sinnvoll gestellt werden. Zwei Zahlenwerte lassen sich nicht oder nur selten auf Gleichheit prüfen, da reelle Zahlen bei Rechnungen mit endlicher Stellenzahl nur angenähert angegeben werden können. Es können also bereits die Eingangsdaten durch Rundung auf die verfügbare Stellenzahl mit Fehlern behaftet sein. Diese Fehler pflanzen sich in der numerischen Rechnung fort. Außerdem ist es möglich, dass im Verlauf der Rechnung weitere Rundungsfehler entstehen. Diese Fehler bewirken, dass zwei Zahlen bei numerischen Rechnungen ungleich sind, die streng theoretisch gleich sein müssten. Deshalb ist es sinnvoller zu fordern, dass die Bedingung |f (x∗ )| < ϵ erfüllt ist. Dabei muss ϵ als eine kleine positive Zahl entsprechend der Problemstellung vorgegeben werden.

3.1.2 Zwischenwertsatz Betrachtet wird eine Funktion f (x) auf einem abgeschlossenen Intervall [a, b], wobei f (a) ⋅ f (b) < 0 gilt. Diese Forderung besagt, dass sich die Funktionswerte von f an den Intervallgrenzen im Vorzeichen unterscheiden. https://doi.org/10.1515/9783110665604-003

22 | 3 Iterationsverfahren

f (a)

y x1⋆

f (x) x3⋆

x2⋆

a

x b

f (b)

Abb. 3.1: Zwischenwertsatz von Bolzano.

Satz 3.1 (Zwischenwertsatz von Bolzano). Eine stetige Funktion y = f (x) nimmt im abgeschlossenen Intervall [a, b] jeden Wert zwischen f (a) und f (b) mindestens einmal an. Aus diesem Satz folgt, dass im Fall f (a) ⋅ f (b) < 0 die Funktion f (x) mindestens eine Nullstelle x∗ mit a < x∗ < b besitzt (s. Abb. 3.1). 3.1.3 Iterationsverfahren Die näherungsweise Bestimmung der Lösung der Gleichung f (x) = 0 kann schrittweise erfolgen. – Es wird eine grobe Näherungslösung x (0) (auch Startwert genannt) ermittelt. – Diese Näherung wird verbessert, bis eine geforderte Genauigkeit erreicht ist. Definition 3.1. Ein numerisches Verfahren, bei dem von einem Startwert x (0) ausgehend eine Folge von Näherungswerten x(1) , x (2) , . . . erhalten wird, heißt Iterationsverfahren. Zur Auffindung eines geeigneten Startwertes können u. a. Wertetabellen und einfache grafische Methoden benutzt werden. Beispiel 3.1. Gegeben ist y = f (x) = x2 − cos x = 0 (0 ≤ x ≤ π). Gesucht wird ein Startwert x(0) durch eine Wertetabelle (s. Tab. 3.1). Mit x = 1, f (x) > 0 und x = 0.8, f (x) < 0 folgt x (0) = (1 + 0.8)/2 = 0.9. Tab. 3.1: Wertetabelle für die Kurve y = f (x). x

y

x

y

x

y

0.0 0.2

−1.0000 −0.9401

0.4 0.6

−0.7611 −0.4653

0.8 1.0

−0.0567 0.4597

Beispiel 3.2. Gegeben ist y = f (x) = x2 − cos x = 0 (0 ≤ x ≤ π). Gesucht wird ein Näherungswert auf grafischem Wege (s. Abb. 3.2). Aus der Grafik kann x (0) = 0.83 abgelesen werden.

3.1 Iterationsprobleme

| 23

y x0 1

0.5 −0.5

x

f (x)

−1

Abb. 3.2: Skizze für die Kurve y = f (x).

Beispiel 3.3. Gegeben sei y = f (x) = x3 + 0.1 ⋅ cos x − 1 = 0 (0 ≤ x ≤ 1). Zu suchen ist ein Startwert x(0) durch eine Skizze. Dabei wird die gegebene Funktion f (x) zerlegt in f (x) = f1 (x) − f2 (x) und ein Schnittpunkt x(0) im vorgegebenen Intervall bestimmt. Die Funktionen f1 und f2 sollten möglichst einfach zu zeichnen sein. Die Graphen der Funktionen f1 (x) = x3 − 1 und f2 (x) = −0.1 ⋅ cos x ergeben durch ihren Schnitt bei x(0) = 0.95 den gesuchten Startwert (s. Abb. 3.3). y x0 f2 (x)

x

1

0.5

−0.5 f1 (x) −1

Abb. 3.3: Skizze für y = f1 (x) und y = f2 (x).

Bei der Untersuchung von Iterationsverfahren spielt der Begriff der Konvergenz eine zentrale Rolle. Definition 3.2. Erzeugt das Iterationsverfahren ab einem gewissen i Näherungswerte x(i) , x(i+1) , . . ., die die gesuchte Lösung x∗ der Gleichung mehr und mehr annähern, gilt also |x (i) − x∗ | > |x(i+1) − x∗ | (i = i0 , i0 + 1, . . .), so heißt das Verfahren konvergent. Allgemein lautet die Aufgabenstellung für das Iterationsverfahren: Wenn für eine im gegebenen Intervall a ≤ x ≤ b stetige und differenzierbare Funktion y = f (x) eine Anfangsnäherung x(0) für die Lösung der Gleichung f (x) = 0 bestimmt ist, sind rekursive Beziehungen der Art x(k+1) = ϕk+1 (x(0) , x(1) , . . . , x(k) ) (k = 0, 1, 2, . . .)

(3.1)

24 | 3 Iterationsverfahren zu finden und Zahlenfolgen x(0) , x(1) , x(2) , . . . in a ≤ x ≤ b zu konstruieren, die gegen die Lösung x∗ mit x∗ ∈ [a, b] konvergieren. Dabei hat die Wahl der Funktionen ϕ großen Einfluss sowohl auf die Konvergenz selbst als auch auf die Schnelligkeit der Annäherung. Wir nehmen zwei Vereinfachungen vor: (i) Die Funktion ϕ hänge nicht von k ab, also ϕk+1 (. . .) = ϕ(. . .) in a ≤ x ≤ b. (ii) Die Näherung x(k+1) benötigt zur Berechnung nur die vorhergehende Näherung x(k) , also x(k+1) = ϕ(x(k) ) in a ≤ x ≤ b.

(3.2)

Verfahren mit der Eigenschaft (i) heißen stationär. Bei Vorliegen der Eigenschaft (ii) spricht man von Einschrittverfahren. Im Folgenden beschäftigen wir uns mit stationären Einschrittverfahren. Aus einer vorgegebenen Gleichung f (x) = 0 kann ein stationäres Einschrittverfahren z. B. durch folgende Umformung gewonnen werden: f (x) = 0



f (x) = x − ϕ(x) = 0



x(k+1) = ϕ(x(k) ).

mit ϕ(x) = −f (x) + x

Die Umformung der Gleichung f (x) = 0 in einen Iterationsalgorithmus ist im Allgemeinen auf verschiedene Arten möglich. Da davon die Konvergenz und die Effizienz des Verfahrens abhängen kann, ist man gegebenenfalls zu mehreren Anläufen gezwungen. Eine allgemeine Regel lässt sich nicht angeben. Beispiel 3.4. Gegeben ist die Gleichung f (x) = x − tan(x) = 0. Es sind verschiedene Umwandlungen in einen Iterationsalgorithmus möglich: a) ϕ(x) = tan(x) ⇒ x(k+1) = tan(x(k) ). b) x = tan(x) ⇒ arctan(x) = x ⇒ ϕ(x) = arctan(x) ⇒ x(k+1) = arctan(x(k) ). Da nicht jede Umformung einen konvergenten Iterationsalgorithmus liefert, möchte man Kriterien kennen, bei deren Beachtung ein praktisch gut funktionierendes Verfahren entsteht. Wir gehen von der Vorschrift x(k+1) = ϕ(x(k) ) a ≤ x ≤ b aus und stellen zwei Fragen: 1) Unter welchen Bedingungen konvergiert die Zahlenfolge {x (k) } in [a, b]? 2) Falls Konvergenz vorhanden ist, stellt der Grenzwert x ∗ eine Lösung der Gleichung dar? 3.1.4 Fixpunktsatz Es wird angenommen, dass x∗ eine Lösung von x = ϕ(x) in [a, b] ist, das heißt, dass x∗ ∈ [a, b] und x∗ = ϕ(x∗ ) gilt. Aus x(n+1) = ϕ(x (n) ) ergibt sich durch Subtraktion

3.1 Iterationsprobleme

| 25

gleicher Ausdrücke auf beiden Seiten der Gleichung x(n+1) − x∗ = ϕ(x(n) ) − ϕ(x∗ ). Da die Funktion ϕ(x) als stetig in [a, b] und differenzierbar in (a, b) vorausgesetzt ist, kann für das Intervall [x(n) , x∗ ] ⊂ [a, b] der Mittelwertsatz der Differentialrechnung angewendet werden. Danach gibt es im Intervall [x (n) , x ∗ ] einen Wert x = ξ (n) , für den gilt ϕ(x(n) ) − ϕ(x∗ ) = ϕ󸀠 (ξ (n) ). x(n) − x∗

Setzt man dies in die obige Gleichung ein und benutzt die Absolutbeträge, folgt x(n+1) − x∗ = ϕ󸀠 (ξ (n) ) ⋅ (x (n) − x ∗ ) 󵄨󵄨 (n+1) 󵄨 󵄨 󵄨 󵄨 󵄨 − x∗ 󵄨󵄨󵄨 = 󵄨󵄨󵄨ϕ󸀠 (ξ (n) )󵄨󵄨󵄨 ⋅ 󵄨󵄨󵄨xn − x ∗ 󵄨󵄨󵄨. 󵄨󵄨x Entsprechend ergibt sich (immer in [a, b]) 󵄨󵄨 (n) 󵄨 󸀠 (n−1) 󵄨󵄨 󵄨󵄨 (n−1) 󵄨 ∗󵄨 )󵄨󵄨 ⋅ 󵄨󵄨x − x ∗ 󵄨󵄨󵄨 󵄨󵄨x − x 󵄨󵄨󵄨 = 󵄨󵄨󵄨ϕ (ξ .. . 󵄨󵄨 (2) 󵄨 󵄨 󸀠 (1) 󵄨 󵄨 (1) ∗ ∗󵄨 󵄨󵄨x − x 󵄨󵄨󵄨 = 󵄨󵄨󵄨ϕ (ξ )󵄨󵄨󵄨 ⋅ 󵄨󵄨󵄨x − x 󵄨󵄨󵄨 󵄨󵄨 (1) 󵄨 󸀠 (0) 󵄨 󵄨 (0) ∗󵄨 ∗󵄨 󵄨󵄨x − x 󵄨󵄨󵄨 = 󵄨󵄨󵄨ϕ (ξ )󵄨󵄨󵄨 ⋅ 󵄨󵄨󵄨x − x 󵄨󵄨󵄨. Wir nehmen an, dass die Ableitung der Funktion ϕ(x) auf dem Intervall [a, b] beschränkt ist, 󵄨󵄨 󸀠 󵄨󵄨 󵄨󵄨ϕ (x)󵄨󵄨 ≤ M

∀x ∈ [a, b].

Damit folgt 󵄨󵄨 (n+1) 󵄨 󵄨 󵄨 − x∗ 󵄨󵄨󵄨 ≤ M ⋅ 󵄨󵄨󵄨x(n) − x ∗ 󵄨󵄨󵄨 󵄨󵄨x 󵄨󵄨󵄨x(n) − x∗ 󵄨󵄨󵄨 ≤ M ⋅ 󵄨󵄨󵄨x(n−1) − x ∗ 󵄨󵄨󵄨 󵄨 󵄨 󵄨 󵄨 .. . 󵄨󵄨 (1) 󵄨 (0) ∗ 󵄨󵄨 ∗󵄨 󵄨󵄨x − x 󵄨󵄨 ≤ M ⋅ 󵄨󵄨󵄨x − x 󵄨󵄨󵄨. Setzen wir diese Ausdrücke von unten nach oben der Reihe nach ein, ergibt sich 󵄨󵄨 (n+1) 󵄨 󵄨 󵄨 − x∗ 󵄨󵄨󵄨 ≤ M n+1 ⋅ 󵄨󵄨󵄨x(0) − x ∗ 󵄨󵄨󵄨. 󵄨󵄨x Im Fall M < 1 erhält man daraus 󵄨 󵄨 lim 󵄨󵄨x(n) − x∗ 󵄨󵄨󵄨 = 0

n→∞󵄨

oder

lim x (n) = x ∗ .

n→∞

(3.3)

Damit ist eine hinreichende Bedingung für die Konvergenz des Iterationsverfahrens gefunden. Der Fixpunktsatz kann so formuliert werden:

26 | 3 Iterationsverfahren Satz 3.2. Liegen x (0) , x(1) , . . . und die Lösung x ∗ der Gleichung x = ϕ(x) in einem Intervall [a, b], in dem ϕ(x) stetig und differenzierbar ist, und ist in diesem Intervall stets |ϕ󸀠 (x)| ≤ M < 1, so konvergiert das durch x (n+1) = ϕ(x(n) ) beschriebene Iterationsverfahren gegen die Lösung x∗ . Dieser Satz kann auf weniger strenge Voraussetzungen verallgemeinert werden. Dazu sollte man sich in der entsprechenden Literatur informieren. Aus dem Fixpunktsatz sind für konkrete Aufgabenstellungen Aussagen in verschiedenen Richtungen zu folgern. So kann geprüft werden, ob ein gegebener Algorithmus x(n+1) = ϕ(x(n) ) konvergent gegen eine Lösung x ∗ ∈ [a, b] ist. Andererseits lassen sich die Konvergenzbereiche des Iterationsalgorithmus feststellen. Beispiel 3.5. Für die Funktion f (x) = x ⋅ ln x − 1 gilt f (1.5) = −0.3918 und f (2) = 0.3863. Wegen ihrer Stetigkeit hat sie mindestens eine Nullstelle x ∗ im Intervall [1.5, 2]. Gesucht ist ein Iterationsalgorithmus zur Berechnung dieser Nullstelle. Erster Versuch zur Bestimmung eines Iterationsalgorithmus: x ⋅ ln x − 1 = 0



x=

1 = ϕ(x). ln x

Der Betrag der Ableitung ϕ󸀠 (x) = − x⋅(ln1 x)2 ist im Intervall [1.5, 2] monoton fallend und nimmt deshalb sein Minimum in der oberen Intervallgrenze an. Daraus erhält man für alle x ∈ [1.5, 2]: 1 󵄨󵄨 󸀠 󵄨󵄨 = 1.047 > 1. 󵄨󵄨ϕ (x)󵄨󵄨 ≥ 2 ⋅ (ln 2)2 Der abgeleitete Iterationsalgorithmus x(n+1) =

1 ln x(n)

ist im vorgegebenen Intervall un-

brauchbar, da die Konvergenz der entstehenden Zahlenfolge x (0) , x (1) , . . . nicht gesichert werden kann (s. Tab. 3.2). Tab. 3.2: Näherungsfolgen mit verschiedenen Startwerten für Beispiel 3.5. k

x (k)

x (k)

k

x (k)

x (k)

k

x (k)

0 1 2

1.60000 2.12764 1.32448

1.90000 1.55799 2.25533

3 4 5

3.55849 0.78781 −4.19286

1.22957 4.83884 0.63425

6 7

n. d.

Untersuchung eines zweiten Algorithmus: x ⋅ ln x − 1 = 0



ln x =

1 x



Der Betrag der Ableitung 1

ex ϕ (x) = − 2 x 󸀠

1

eln x = x = e x = ϕ(x).

x (k) −2.19627 n. d.

3.1 Iterationsprobleme

| 27

ist für positive x monoton fallend. Das Maximum liegt also am linken Rand des betrachteten Intervalls [1.5, 2]. Damit wird 1

󵄨󵄨 󸀠 󵄨󵄨 e 1.5 = 0.8657 < 1. 󵄨󵄨ϕ (x)󵄨󵄨 ≤ 1.52 Der Iterationsalgorithmus x(n+1) = exp(

1

x(n)

)

ergibt für jeden Anfangswert x(0) ∈ [1.5, 2] eine Zahlenfolge x (0) , x (1) , . . ., die gegen die Nullstelle x⋆ von f (x) = 0 konvergiert. Einige Beispiele für Iterationsfolgen bei Rechnung mit 5 Dezimalstellen sind in der nachfolgenden Tab. 3.3 angeführt. Tab. 3.3: Verschiedene Startwerte für Beispiel 3.5. k

x (k)

x (k)

x (k)

k

x (k)

x (k)

x (k)

0 1 2 3 4 5 6 7 8 9 10 11

1.80000 1.74291 1.77492 1.75665 1.76697 1.76110 1.76443 1.76254 1.76361 1.76300 1.76335 1.76315

1.00000 2.71828 1.44467 1.99811 1.64950 1.83353 1.72529 1.78535 1.75087 1.77029 1.75924 1.76549

0.10000 22026.0 1.00005 2.71816 1.44469 1.99808 1.64951 1.83352 1.72529 1.78534 1.75088 1.77029

12 13 14 15 16 17 18 19 20 21 22 23

1.76326 1.76320 1.76324 1.76322 1.76323 1.76322 1.76322

1.76194 1.76395 1.76281 1.76346 1.76309 1.76330 1.76318 1.76325 1.76321 1.76323 1.76322 1.76322

1.75924 1.76549 1.76194 1.76395 1.76281 1.76346 1.76309 1.76330 1.76318 1.76325 1.76321 1.76323

Es zeigt sich, dass das tatsächliche Einzugsgebiet für den Iterationsalgorithmus des Beispiels weit über das vorgegebene Intervall hinausgeht. Die Eigenschaft |ϕ󸀠 (x)| ≤ 1 ist für alle x > 1.42153 erfüllt. Die Startwerte der Beispielrechnungen in den beiden hinteren Spalten der Tab. 3.3 genügen dieser Bedingung zwar nicht, die Iterationsfolge springt aber in beiden Fällen in den Konvergenzbereich des Verfahrens. Beispiel 3.6. Es wird ein Algorithmus zur Bestimmung der Nullstelle der Funktion f (x) = x −

1 x2 + 2

gesucht. Als Iterationsalgorithmus bietet sich an x−

1 =0 x2 + 2



x=

1 = ϕ(x). x2 + 2

28 | 3 Iterationsverfahren Für die Ableitung ϕ󸀠 (x) = −

2x (x 2 + 2)2

erhält man die Abschätzungen 2|x| 2 2 1 󵄨󵄨 󸀠 󵄨󵄨 ≤ ≤ = , 󵄨󵄨ϕ (x)󵄨󵄨 = 2 (x + 2)2 (x 2 + 2)2 22 2 2 1 2 2|x| 󵄨 󵄨 = ≤ . ≤ |x| > 1 : 󵄨󵄨󵄨ϕ󸀠 (x)󵄨󵄨󵄨 = 2 (x + 2)2 ( 2 + x2 )2 ( 2 )2 2 √|x| √|x| √|x|

|x| ≤ 1 :

Insgesamt gilt daher |ϕ󸀠 (x)| ≤ 0.5 < 1. Die Bedingung |ϕ󸀠 (x)| ≤ M < 1 ist für alle x erfüllt. Das Iterationsverfahren x(n+1) = (n) ϕ(x ) konvergiert auf der gesamten x-Achse. Jede reelle Zahl kann als Ausgangswert x(0) einer Iterationsfolge x(0) , x(1) , . . . gewählt werden, die gegen die einzige Nullstelle x⋆ von f (x) strebt. Beispiel 3.7. Gesucht sind die Nullstellen der Funktion f (x) = x2 − 2x − 8. Bestimmung eines ersten Iterationsalgorithmus ϕ: x2 − 2x − 8 = 0



x(x − 2) = 8



x=

Feststellen von Konvergenzgebieten für den Algorithmus: Die erste Ableitung ϕ󸀠 (x) = −

8 = ϕ(x). x−2

8 (x − 2)2

erfüllt die Konvergenzbedingung |ϕ󸀠 (x)| < 1 für −∞ < x < −0.828 und 4.828 < x < ∞. Mit einem Anfangswert x(0) aus dem Intervall (−∞, ∞)\[−0.828, 4.828] ergibt der Iterationsalgorithmus x(n+1) =

8 x (n) − 2

eine Folge von Zahlen x(0) , x(1) , x(2) , . . ., die gegen die Nullstelle x ⋆ von f (x) = 0 in diesem Intervall konvergiert. Folgen mit unterschiedlichen Anfangswerten sind etwa (bei Rechnung mit 5 Dezimalstellen) in Tab. 3.4 angegeben. Das Gebiet, aus dem ein geeigneter Anfangswert x (0) für eine konvergente Iterationsfolge gegen x⋆ = 2 gewählt werden kann, ist in der Regel größer als das durch die Abschätzung garantierte Intervall. Alle konvergenten Folgen aus dem vorbestimmten Intervall streben mit diesem Iterationsalgorithmus gegen die Nullstelle x ⋆ , die durch den Fixpunktsatz vorausbestimmt ist. Über weitere Nullstellen lässt sich mit diesem Algorithmus und seinen Abschätzungen allgemein keine Aussage angeben. Wird als Startwert x (0) die im Konvergenzbereich liegende Nullstelle x∗ gewählt, kommt natürlich keine Iteration zustande.

3.1 Iterationsprobleme

| 29

Tab. 3.4: Verschiedene Startwerte für Beispiel 3.7. k

x (k)

x (k)

x (k)

x (k)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

−1.00000 −2.66667 −1.71429 −2.15385 −1.92593 −2.03774 −1.98131 −2.00939 −1.99532 −2.00234 −1.99883 −2.00059 −1.99971 −2.00015 −1.99993 −2.00004 −1.99998 −2.00001 −2.00000 −2.00000 −2.00000

5.00000 2.66667 12.00000 0.80000 −6.66667 −0.92308 −2.73684 −1.68889 −2.16867 −1.91908 −2.04130 −1.97956 −2.01027 −1.99488 −2.00256 −1.99872 −2.00064 −1.99968 −2.00016 −1.99992 −2.00004

1.00000 −8.00000 −0.80000 −2.85714 −1.64706 −2.19355 −1.90769 −2.04724 −1.97665 −2.01174 −1.99415 −2.00293 −1.99854 −2.00073 −1.99963 −2.00018 −1.99991 −2.00005 −1.99998 −2.00001 −1.99999

3.50000 5.33333 2.40000 20.00000 0.44444 −5.14286 −1.12000 −2.56410 −1.75281 −2.13174 −1.93623 −2.03240 −1.98393 −2.00807 −1.99597 −2.00201 −1.99899 −2.00050 −1.99974 −2.00013 −1.99994

Beispiel 3.8. Zweite Ableitung eines Iterationsalgorithmus ϕ für die Funktion f (x) aus Beispiel 3.7 durch x2 − 2x − 8 = 0



x2 = 2x + 8

x = √2x + 8 = ϕ(x).



Es gilt ϕ󸀠 (x) =

1 √2x + 8

min

x∈[−0.828,4.828]

√2x + 8 = 2.519



󵄨󵄨 󸀠 󵄨󵄨 󵄨󵄨ϕ (x)󵄨󵄨 ≤ 0.397 < 1.

Damit folgt als Konvergenzgebiet 1 −3.5.

Mit einem Anfangswert x(0) aus dem Intervall −3.5 < x (0) < ∞ konvergiert der Iterationsalgorithmus x(n+1) = √2x (n) + 8, n = 1, 2, . . . gegen die Nullstelle x ⋆ von f (x) = 0 in dem bestimmten Intervall. Folgen mit unterschiedlichen Anfangswerten x (0) sind etwa (bei Rechnung mit 5 Dezimalstellen) in Tab. 3.5 zu sehen. Falls die Kontraktivitätsbedingung |ϕ(x)󸀠 | ≤ M < 1 immer erfüllt ist, kann nach folgendem Vorgehen ein Intervall gefunden werden, in dem die Nullstelle x ⋆ liegt:

30 | 3 Iterationsverfahren Tab. 3.5: Verschiedene Startwerte für Beispiel 3.8. k

x (k)

x (k)

x (k)

x (k)

0 1 2 3 4 5 6 7 8 9 10

0.00000 2.82843 3.69552 3.92314 3.98074 3.99518 3.99880 3.99970 3.99992 3.99998 4.00000

3.00000 3.74166 3.93488 3.98369 3.99592 3.99899 3.99974 3.99994 3.99998 4.00000 4.00000

6.00000 4.47214 4.11634 4.02898 4.00724 4.00181 4.00045 4.00011 4.00001 4.00000 4.00000

−2.00000 2.00000 3.46410 3.86370 3.96578 3.99144 3.99786 3.99946 3.99987 3.99997 3.99999

Es wird ein beliebiger Wert a gewählt und b = ϕ(a) bestimmt. Weiter wird eine Zahl 0 < q < M < 1 gewählt und damit r = |b−a| berechnet. Dann liegt die Nullstelle x ⋆ in 1−q dem Intervall [a − r, a + r]. Dazu ist nachzuweisen, dass aus a − r < x < a + r stets a − r < ϕ(x) < a + r folgt. Dies ist gleich bedeutend damit, dass aus |x − a| < r immer |ϕ(x) − a| < r folgen muss. Wenn die Kontraktivitätsbedingung erfüllt ist, gilt für beliebige x1 , x2 󵄨󵄨 󵄨 󵄨󵄨ϕ(x1 ) − ϕ(x2 )󵄨󵄨󵄨 ≤ M|x1 − x2 |. Für jedes x aus dem Intervall |x − a| < r ergibt sich aus dem Fixpunktsatz 󵄨󵄨 󵄨 󵄨 󵄨 󵄨󵄨ϕ(x) − b󵄨󵄨󵄨 = 󵄨󵄨󵄨ϕ(x) − ϕ(a)󵄨󵄨󵄨 ≤ M|x − a| ≤ M ⋅ r, und weiter 󵄨󵄨 󵄨 󵄨 󵄨 󵄨 󵄨 󵄨󵄨ϕ(x) − a󵄨󵄨󵄨 = 󵄨󵄨󵄨ϕ(x) − b + b − a󵄨󵄨󵄨 ≤ 󵄨󵄨󵄨ϕ(x) − b󵄨󵄨󵄨 + |b − a| ≤ M ⋅ r + (1 − q)r = (1 + M − q)r < r, wie gefordert. Beispiel 3.9. Im Beispiel 3.6 können damit abhängig von der Wahl der Werte a und q Intervalle konstruiert werden, die die Nullstelle x ⋆ von f (x) enthalten: a = 0, b = ϕ(a) = −0.50 : q = 0.60 q = 0.51

a = 2, b = ϕ(a) = 0.1667 : q = 0.60 q = 0.51

⇒ ⇒ ⇒ ⇒

x ∗ ∈ [−1.25, 1.25],

x ∗ ∈ [−1.02, 1.02],

x∗ ∈ [−2.58, 6.58],

x∗ ∈ [−1.74, 5.74].

Einige Beispielfolgen mit Anfangswerten x(0) (bei Rechnung mit 5 Dezimalstellen) sind in Tab. 3.6 aufgeführt.

3.2 Anschauliche Deutung des Iterationsverfahrens | 31 Tab. 3.6: Verschiedene Startwerte für Beispiel 3.9. k

x (k)

x (k)

0 1 2 3 4 5 6 7 8 9

0.00000 0.50000 0.44444 0.45505 0.45308 0.45345 0.45339 0.45339

1.25000 0.28070 0.48104 0.44814 0.45437 0.45321 0.45343 0.45339 0.45339

x (k) −5.00000 0.03704 0.49966 0.44451 0.45504 0.45309 0.45345 0.45338 0.45339 0.45339

x (k) 10.00000 0.00980 0.49998 0.44445 0.45506 0.45309 0.45345 0.45339 0.45339

3.2 Anschauliche Deutung des Iterationsverfahrens In den folgenden Skizzen ist die Konvergenz und Divergenz von Iterationsverfahren anschaulich dargestellt. Das erste Bild (s. Abb. 3.4) zeigt eine „flache“ Iterationsfunktion ϕ(x), das heißt mit der Eigenschaft |ϕ󸀠 (x)| < 1. Die Hilfslinien sollen dabei die Konstruktion der Folge x(0) , x(1) , . . . veranschaulichen. y

y=x

ϕ(x)

x

x

x x∗ (2) x

(1)

(0)

Abb. 3.4: Konvergenz der Iterationsfolge.

Wie aus Abb. 3.4 ersichtlich ist, konvergiert diese Folge monoton gegen die gesuchte Stelle x∗ . Dieses Verhalten ist eine Folge des positiven Anstiegs von ϕ(x). Dem interessierten Leser sei die Anfertigung einer analogen Skizze für den Fall −1 < ϕ󸀠 (x) < 0 empfohlen, in der eine anschauliche Darstellung für die in diesem Falle alternierende Konvergenz der Iterationsfolge gegen x∗ erkennbar wird. Auf der zweiten Grafik (s. Abb. 3.5) ist im Gegensatz dazu eine „steile“ Iterationsfunktion, das heißt mit |ϕ󸀠 (x)| > 1, dargestellt. Die in Analogie zur Abb. 3.4 eingetragene Folge x(0) , x(1) , . . . divergiert. In der Abb. 3.4 hat die Iterationsvorschrift x(n+1) = ϕ(x(n) ) in einem Intervall um ihren Fixpunkt x∗ die Eigenschaft |ϕ󸀠 (x)| < 1 und die Iterationsfolge konvergiert gegen x∗ . Ein solcher Fixpunkt heißt anziehend. Ein Fixpunkt wie in Abb. 3.5 heißt abstoßend.

32 | 3 Iterationsverfahren ϕ(x)

y

y=x

x x∗ (0) (1) x

x

x(2)

x(3)

x(4)

Abb. 3.5: Divergenz der Iterationsfolge.

Derartige Grafiken sind ein nützliches und häufig eingesetztes Hilfsmittel zur Veranschaulichung des Verhaltens konkreter Iterationsalgorithmen.

3.3 Fehlerabschätzungen Natürlich will man bei einer Iteration wissen, wie weit man mit der erreichten Näherung noch vom exakten Wert entfernt ist. Da eine exakte Angabe bei unbekanntem genauen Wert nicht möglich ist, muss man versuchen, Abschätzungen zu gewinnen. Nach dem Mittelwertsatz gibt es zwischen allen x (n) und x (n−1) aus der Iterationsfolge jeweils ein ξ (n) mit der Eigenschaft ϕ(x(n) ) − ϕ(x(n−1) ) x (n+1) − x (n) = (n) = ϕ󸀠 (ξ (n) ). x(n) − x(n−1) x − x (n−1) Mit |ϕ󸀠 (ξ (n) )| ≤ M < 1 erhält man 󵄨󵄨 (n+1) 󵄨 󵄨 󵄨 − x(n) 󵄨󵄨󵄨 ≤ M ⋅ 󵄨󵄨󵄨x (n) − x (n−1) 󵄨󵄨󵄨. 󵄨󵄨x

(3.4)

Aus 3.4 können zwei allgemeine Fehlerabschätzungen gewonnen werden. Bessere Fehlerschranken ergeben sich natürlich, wenn die speziellen Eigenschaften der Funktion ϕ(x) berücksichtigt werden können. Zunächst wird geschrieben 󵄨󵄨 (n+1) 󵄨 󵄨 󵄨 − x(n) 󵄨󵄨󵄨 ≤ M 󵄨󵄨󵄨x (n) − x (n−1) 󵄨󵄨󵄨 󵄨󵄨x 󵄨 󵄨 ≤ MM 󵄨󵄨󵄨x (n−1) − x (n−2) 󵄨󵄨󵄨 .. . 󵄨 󵄨 ≤ MM ⋅ ⋅ ⋅ M 󵄨󵄨󵄨x (1) − x (0) 󵄨󵄨󵄨.

(3.5)

󵄨󵄨 (n+1) 󵄨 󵄨 󵄨 − x(n) 󵄨󵄨󵄨 ≤ M n 󵄨󵄨󵄨x (1) − x (0) 󵄨󵄨󵄨. 󵄨󵄨x

(3.6)

Also gilt

3.3 Fehlerabschätzungen

| 33

Es sei jetzt m > n + 1 beliebig und n fest. Damit erhält man 󵄨 (m) 󵄨 󵄨󵄨 (m) (m−1) (n) 󵄨 + x(m−1) − x(m−2) + ⋅ ⋅ ⋅ + x (n+1) − x (n) 󵄨󵄨󵄨 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 󵄨󵄨󵄨x − x 󵄨 󵄨 󵄨 󵄨 󵄨 󵄨 ≤ 󵄨󵄨󵄨x(m) − x(m−1) 󵄨󵄨󵄨 + 󵄨󵄨󵄨x(m−1) − x(m−2) 󵄨󵄨󵄨 + ⋅ ⋅ ⋅ + 󵄨󵄨󵄨x (n+1) − x (n) 󵄨󵄨󵄨 󵄨 󵄨 󵄨 󵄨 ≤ M m−1 󵄨󵄨󵄨x(1) − x(0) 󵄨󵄨󵄨 + M m−2 󵄨󵄨󵄨x(1) − x (0) 󵄨󵄨󵄨 󵄨 󵄨 + ⋅ ⋅ ⋅ + M n 󵄨󵄨󵄨x(1) − x(0) 󵄨󵄨󵄨 󵄨 󵄨 = (M m−1 + M m−2 + ⋅ ⋅ ⋅ + M n )󵄨󵄨󵄨x (1) − x (0) 󵄨󵄨󵄨 󵄨 󵄨 = M n (M m−n−1 + M m−n−2 + ⋅ ⋅ ⋅ + 1)󵄨󵄨󵄨x (1) − x (0) 󵄨󵄨󵄨.

(3.7)

(3.8)

Da M < 1 ist, folgt für die endliche geometrische Reihe 1 + ⋅ ⋅ ⋅ + M m−n−2 + M m−n−1 = Daraus ergibt sich

1 − M m−n . 1−M

M n (1 − M m−n ) 󵄨󵄨 (1) M n − M m 󵄨󵄨 (1) 󵄨󵄨 (m) (n) 󵄨 (0) 󵄨 (0) 󵄨 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 󵄨󵄨x − x 󵄨󵄨󵄨 = 󵄨x − x 󵄨󵄨󵄨 1−M 1−M 󵄨 M n 󵄨󵄨 (1) (0) 󵄨 ≤ 󵄨x − x 󵄨󵄨󵄨. 1−M󵄨

(3.9)

(3.10)

Durch den Grenzübergang m → ∞ und limm→∞ x(m) = x ⋆ folgt M n 󵄨󵄨 (1) 󵄨󵄨 ⋆ (n) 󵄨 (0) 󵄨 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 󵄨x − x 󵄨󵄨󵄨. 1−M󵄨

(3.11)

Definition 3.3. Die Formel 3.11 heißt a-priori-Abschätzung. Beispiel 3.10. Gegeben ist die oben bereits behandelte Gleichung f (x) = x2 − 2x − 8,

ϕ(x) =

8 , x−2

ϕ󸀠 (x) = −

8 . (x − 2)2

Es wird eine Nullstelle im Intervall [−2.5, −1] gesucht. Mit f (−2.5) = 3.25 und f (−1) = −5 erhält man 8 󵄨󵄨 󸀠 󵄨󵄨 = 0.8889 = M. 󵄨󵄨ϕ (x)󵄨󵄨 ≤ (−3)2 Der Anfangswert x(0) = −1 ergibt x(1) = −2.66667. Als a-priori-Abschätzung erhält man (0.8889)n 󵄨󵄨 ⋆ (n) 󵄨 | − 2.66667 + 1| = (0.8889)n ⋅ 15.0018 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 1 − 0.8889 ≤ 15.1 ⋅ (0.8889)n . Nach n = 18 Näherungen ergibt die a-priori-Abschätzung |x ⋆ − x(18) | < 1.813. Der Vergleich mit der ausgeführten Näherungsfolge zeigt, dass diese Abschätzung relativ ungenau ist. Das liegt vor allem an dem großen M-Wert.

34 | 3 Iterationsverfahren Beispiel 3.11. Im Beispiel 3.6 wurde bereits zur Nullstellenbestimmung der Funktion 1 x2 + 2

f (x) = x − der Iterationsalgorithmus ϕ(x) =

1 x2 + 2

mit ϕ󸀠 (x) = −

2x (x 2 + 2)2

verwendet. Dabei wurde nachgewiesen, dass für alle x-Werte |ϕ󸀠 (x)| ≤ 0.5 = M gilt. Mit x(0) = 0 folgt x(1) = 0.5. Als a-priori-Abschätzung ergibt sich (0.5)n 󵄨󵄨 ⋆ (n) 󵄨 |0.5 − 1| = (0.5)n . 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 1 − 0.5 Nach n = 7 Näherungen folgt hieraus |x⋆ − x (7) | ≤ (0.5)7 = 0.00781. x

Beispiel 3.12. Die Funktion f (x) = x − e−( 2 ) hat wegen f (0) = −1 und f (1) = 0.3935 eine Nullstelle im Intervall [0, 1]. Ein möglicher Iterationsalgorithmus zur Bestimmung dieser Nullstelle ist x

ϕ(x) = e−( 2 ) . x

Damit folgt ϕ󸀠 (x) = −0.5 ⋅ e−( 2 ) und |ϕ󸀠 (x)| ≤ 0.5 = M in 0 < x < 1. Mit den Anfangswerten x(0) = 0.8 und x (1) = 0.6703 erhält man die a-priori-Abschätzung (0.5)n 󵄨󵄨 ⋆ (n) 󵄨 |0.6703 − 0.8| = (0.5)n−1 ⋅ 0.1297 < 0.13 ⋅ (0.5)n−1 . 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 1 − 0.5 Mit obigen Anfangswerten kann man eine Näherungsfolge berechnen. In der Tab. 3.7 werden für einige Näherungen die wahren Abweichungen zum exakten Wert x⋆ = 0.70346742 und die a-priori-Abschätzungen gegenüber gestellt. Als weitere Anwendung der a-priori-Abschätzung kann vor Beginn des Iterationsprozesses abgeschätzt werden, wie viele Iterationen auszuführen sind, um eine vorgegebene Genauigkeitsschranke ϵ zum exakten Wert x⋆ zu unterschreiten. Aus M n 󵄨󵄨 (1) 󵄨󵄨 ⋆ (0) 󵄨 (n) 󵄨 󵄨x − x 󵄨󵄨󵄨 < ϵ 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 1−M󵄨 Tab. 3.7: Näherungsfolge zu Beispiel 3.12. n

x (n)

|x ⋆ − x (n) |

a-priori

5 7 9

0.7030 0.7034 0.7035

0.0005 0.0001 0.0000

0.0081 0.0020 0.0005

(3.12)

3.3 Fehlerabschätzungen

| 35

folgt Mn
− ln ϵ − ln(1 − M) + ln󵄨󵄨󵄨x (1) − x (0) 󵄨󵄨󵄨.

Damit erhält man für die Mindestanzahl der nötigen Iterationsschritte n>

− ln ϵ − ln(1 − M) + ln |x (1) − x (0) | . − ln M

(3.13)

Beispiel 3.13. Setzt man im Beispiel 3.6 als Genauigkeitsschranke ϵ = 10−3 , so ergibt sich aus der Formel 3.13 n > 9.96, das bedeutet, dass mindestens 10 Iterationsschritte ausgeführt werden müssen. Im Beispiel 3.12 erhält man mit ϵ = 10−3 aus 3.13 n>

6.9078 + 0.6931 − 2.0425 = 8.02, 0.6931

also n = 9.

Andererseits wird angestrebt, aus der Differenz der jeweils letzten beiden Näherungswerte den verbleibenden Restfehler abzuschätzen. Ausgangspunkt ist wieder 󵄨󵄨 (n+1) 󵄨 󵄨 󵄨 − x(n) 󵄨󵄨󵄨 ≤ M 󵄨󵄨󵄨x(n) − x(n−1) 󵄨󵄨󵄨. 󵄨󵄨x Für m > n + 1 beliebig und n fest gilt 󵄨󵄨 (m) 󵄨 (m) 󵄨 (n) 󵄨 (m−1) + x(m−1) − x(m−2) + ⋅ ⋅ ⋅ + x(n+1) − x (n) 󵄨󵄨󵄨 󵄨󵄨x − x 󵄨󵄨󵄨 = 󵄨󵄨󵄨x − x 󵄨 󵄨 󵄨 󵄨 󵄨 󵄨 ≤ 󵄨󵄨󵄨x(m) − x(m−1) 󵄨󵄨󵄨 + 󵄨󵄨󵄨x(m−1) − x(m−2) 󵄨󵄨󵄨 + ⋅ ⋅ ⋅ + 󵄨󵄨󵄨x(n+1) − x(n) 󵄨󵄨󵄨. Unter Benutzung von 󵄨󵄨 (m) 󵄨 (m−1) 󵄨 󵄨 󵄨 (m−1) 󵄨󵄨 − x(m−2) 󵄨󵄨󵄨 ≤ M 2 ⋅ 󵄨󵄨󵄨x(m−2) − x(m−3) 󵄨󵄨󵄨 ≤ ⋅ ⋅ ⋅ 󵄨󵄨x − x 󵄨󵄨 ≤ M ⋅ 󵄨󵄨󵄨x 󵄨 󵄨 ≤ M m−n ⋅ 󵄨󵄨󵄨x(n) − x(n−1) 󵄨󵄨󵄨 kann weiter gefolgert werden 󵄨󵄨 (m) 󵄨 (n) (n) 󵄨 (n−1) 󵄨󵄨 m−n + M m−n−1 + ⋅ ⋅ ⋅ + M} 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 󵄨󵄨󵄨x − x 󵄨󵄨{M 󵄨 󵄨 = M 󵄨󵄨󵄨x(n) − x(n−1) 󵄨󵄨󵄨{1 + ⋅ ⋅ ⋅ + M m−n−1 } 1 − M m−n 󵄨󵄨 (n) (n−1) 󵄨󵄨 =M 󵄨x − x 󵄨󵄨 1−M 󵄨 M 󵄨󵄨 (n) 󵄨󵄨 (m) (n−1) 󵄨󵄨 (n) 󵄨 󵄨x − x 󵄨󵄨. 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 1−M󵄨 Mit limm→∞ x(m) = x⋆ folgt M 󵄨󵄨 (n) 󵄨󵄨 ⋆ (n−1) 󵄨󵄨 (n) 󵄨 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 󵄨x − x 󵄨󵄨. 1−M󵄨

(3.14)

36 | 3 Iterationsverfahren Definition 3.4. Die Formel 3.14 wird als a-posteriori-Abschätzung bezeichnet. x

Beispiel 3.14. Für die Funktion f (x) = x−e−( 2 ) und die zugehörige Iterationsvorschrift x ϕ(x) = e−( 2 ) wurde im Beispiel 3.12 |ϕ󸀠 (x)| ≤ 0.5 = M (0 ≤ x ≤ 1) nachgewiesen. Daraus ergibt sich als a-posteriori-Abschätzung 󵄨󵄨 ⋆ (n) 󵄨 󵄨󵄨x − x 󵄨󵄨󵄨 ≤

0.5 󵄨󵄨 (n) 󵄨 (n) (n−1) 󵄨󵄨 (n−1) 󵄨󵄨 󵄨x − x 󵄨󵄨 = 󵄨󵄨󵄨x − x 󵄨󵄨. 1 − 0.5 󵄨

Ein Vergleich der a-posteriori-Abschätzung und des wahren Fehlers für einige Iterationsschritte ist in Tab. 3.8 gegeben. Tab. 3.8: A-posteriori-Abschätzung für Beispiel 3.12. n

x (n)

|x ⋆ − x (n) |

wahrer Fehler

0 6 7 8 9

0.8000 0.7036 0.7034 0.7035 0.7035

0.0002 0.0001 0.0000

0.0001 0.0000 0.0000

3.4 Abbruchkriterien bei Iterationsverfahren Ein Iterationsverfahren muss durch eine vorgegebene Vorschrift gestoppt werden. Solche Vorschriften können sein: 1. Falls n ≥ N0 , dann abbrechen. 2. Falls |x⋆ − x(n) | < ϵ1 , dann abbrechen. 3. Falls |x(n) − x(n−1) | < ϵ2 , dann abbrechen. Beim numerischen Rechnen wird die einfache Abbruchbedingung (3) häufig benutzt. Es ist aber zu beachten, dass diese Bedingung eine Abbruchschranke ist und keine Fehlerschranke zu sein braucht. Aus der a-posteriori-Abschätzung für den Fehler folgt 󵄨󵄨 ⋆ (n) 󵄨 󵄨󵄨x − x 󵄨󵄨󵄨 ≤

M 󵄨󵄨 (n) M (n−1) 󵄨󵄨 ϵ. 󵄨x − x 󵄨󵄨 < 1−M󵄨 1−M 2

(3.15)

Eine Fehlerschranke ϵ1 für den Abstand der n-ten Näherung zur exakten Lösung erhält man aus der Abbruchbedingung durch Multiplikation mit dem Faktor M/(1−M), wobei |ϕ󸀠 (x)| ≤ M < 1 ist.

3.5 Konvergenzordnung

| 37

3.5 Konvergenzordnung Mit dem Nachweis der Konvergenz einer Iterationsfolge {x(n) } (n = 1, 2, . . .) für den Iterationsalgorithmus x(n+1) = ϕ(x (n) ) mit dem Fixpunkt x ⋆ ist noch nicht geklärt, wie rasch diese Folge sich dem gesuchten Wert x⋆ nähert. Das aber hat durch die Anzahl der notwendigen Operationen Auswirkungen auf die Rechendauer und die auftretenden Fehler. Als ein vorteilhaftes Kriterium zur Beurteilung eines Iterationsalgorithmus hat sich die Konvergenzordnung bewährt. Definition 3.5. Bei dem Iterationsalgorithmus x(n+1) = ϕ(x(n) ) ergibt sich ausgehend von einem Anfangswert x(0) in einem Intervall I eine Folge von Näherungswerten x (n) (n = 1, 2, . . .), die gegen den exakten Wert x⋆ streben. Diese Konvergenz gegen x⋆ ist von p-ter Ordnung, wenn es eine positive Konstante q so gibt, dass mit einer der eingeführten Normen gilt: ‖x(n+1) − x⋆ ‖ = q. n→∞ ‖x (n) − x ⋆ ‖p lim

(3.16)

Die Konvergenzordnung p besagt, dass der Fehler Δ(n+1) = x (n+1) − x ⋆ der (n + 1)-ten Näherung x(n+1) etwa gleich der p-fachen Potenz des Fehlers x (n) − x ⋆ der n-ten Näherung x(n) ist. Es gilt 󵄩󵄩 (n+1) 󵄩󵄩 󵄩 (n) 󵄩p 󵄩󵄩Δ 󵄩󵄩 ≈ q󵄩󵄩󵄩Δ 󵄩󵄩󵄩 .

(3.17)

Falls die Iterationsvorschrift ϕ p-mal stetig differenzierbar in I ist und ϕ(x ⋆ ) = x⋆ ,

ϕ󸀠 (x⋆ ) = ϕ󸀠󸀠 (x ⋆ ) = ⋅ ⋅ ⋅ = ϕ(p−1) (x⋆ ) = 0,

ϕ(p) (x⋆ ) ≠ 0

(3.18)

gilt, dann lässt sich q bestimmen zu q=

1 󵄩 󵄩 max󵄩󵄩ϕ(p) (x)󵄩󵄩󵄩. p! x∈I 󵄩

(3.19)

Die Bestimmung der Konvergenzordnung p gehört zur theoretischen Untersuchung eines aufgestellten Iterationsalgorithmus. Eine experimentelle Gewinnung der Konvergenzordnung für einen laufenden Iterationsalgorithmus ist kaum möglich. Bei den behandelten Iterationsverfahren ist auf die zugehörige Konvergenzordnung hingewiesen. Bei p = 1 heißt der Iterationsalgorithmus von linearer Konvergenz, bei p = 2 von quadratischer Konvergenz. Beispiel 3.15. Es ist die Nullstelle x⋆ der Funktion f (x) = x ln x − 1 im vorgegebenen Intervall [1.5, 2.0] aufzusuchen.

38 | 3 Iterationsverfahren Als möglicher Iterationsalgorithmus war im Beispiel 3.5 1

x(k+1) = ϕ(x(k) ) = e x(k)

󵄨 󵄨 mit 󵄨󵄨󵄨ϕ󸀠 (x)󵄨󵄨󵄨 ≤ 0.8657 < 1

gefunden worden.

Tab. 3.9: Iterationsfolge zu Beispiel 3.15 mit linearer Konvergenz. k

x (k)

k

x (k)

k

x (k)

0 1 2 3 4 5 6 7

1.60000 1.86825 1.70795 1.79592 1.74511 1.77363 1.75736 1.76656

8 9 10 11 12 13 14 15

1.76133 1.76430 1.76262 1.76357 1.76303 1.76333 1.76316 1.76326

16 17 18 19 20 21

1.76320 1.76323 1.76322 1.76323 1.76322 1.76322

Tab. 3.10: Iterationsfolge mit quadratischer Konvergenz. k

x (k)

k

x (k)

0 1 2

1.60000 1.76870 1.76323

3 4

1.76322 1.76322

Für jeden Anfangswert aus [1.5, 2.0] ist die Konvergenz des Iterationsalgorithmus gegen die eindeutige Lösung x⋆ ∈ [1.5, 2.0] gesichert. Um aber vom Ausgangswert x0 = 1.6 ausgehend eine Genauigkeit auf fünf Dezimalstellen nach dem Punkt zu erreichen, werden bei diesem Iterationsalgorithmus mit linearer Konvergenz 21 Iterationsschritte benötigt (s. Tab. 3.9). Bei Benutzung eines Iterationsalgorithmus mit quadratischer Konvergenz (z. B. Newton-Verfahren, siehe Abschnitt 3.6.3) benötigt man wesentlich weniger Schritte (s. Tab. 3.10). Für die schlechte Konvergenz des ersten Iterationsverfahrens sind die große Lipschitzkonstante M = 0.8657 und vor allem die niedrige Konvergenzordnung verantwortlich. Es ist anzustreben, bei langsam konvergierenden Verfahren Möglichkeiten aufzufinden, die Konvergenz zu beschleunigen (siehe Abschnitt 3.7).

3.6 Spezielle Iterationsverfahren

| 39

3.6 Spezielle Iterationsverfahren 3.6.1 Bisektionsmethode 3.6.1.1 Vorgehen Eine einfache Methode zur Berechnung von Nullstellen ist die Bisektionsmethode oder Intervallhalbierungsmethode. Es sei f (x) eine im Intervall [a, b] stetige Funktion, und es gelte für zwei verschiedene x-Werte a(0) < b(0) aus dem Intervall f (a(0) )⋅f (b(0) ) < 0. Dann hat die Funktion f (x) nach dem Zwischenwertsatz im Intervall (a(0) , b(0) ) mindestens eine Nullstelle x⋆ . Eine erste Näherung ist x(1) =

a(0) + b(0) . 2

Man berechnet f (x(1) ). Es seien f (a(0) ) bekannt und f (x (1) ) ≠ 0. Gilt f (x(1) ) ⋅ f (a(0) ) > 0, dann liegt die Nullstelle x ⋆ im Intervall (x (1) , b(0) ). Man setzt a(1) = x(1) , b(1) = b(0) . Gilt f (x(1) ) ⋅ f (a(0) ) < 0, dann liegt die Nullstelle x ⋆ im Intervall (a(0) , x (1) ). Man setzt a(1) = a(0) , b(1) = x(1) . Zur zweiten Näherung x(2) =

a(1) + b(1) 2

ist f (x(2) ) zu berechnen. f (a(1) ) sei bekannt. So fortfahrend, gilt allgemein für m = 0, 1, 2, . . .: – Für die m-te Näherung sind bekannt a(m) , b(m) , f (a(m) ), f (b(m) ). – Die (m + 1)-te Näherung ergibt sich mit x(m+1) =

– –

a(m) + b(m) 2

und f (x(m+1) ), dabei sei f (x(m+1) ) ≠ 0. Gilt f (x(m+1) ) ⋅ f (a(m) ) > 0, dann setzt man a(m+1) = x (m+1) , b(m+1) = b(m) . Gilt f (x(m+1) )⋅f (a(m) ) < 0, dann setzt man a(m+1) = a(m) , b(m+1) = x (m+1) (s. Abb. 3.6).

3.6.1.2 Fehlerabschätzung Bei der Bisektionsmethode entsteht eine Folge von Intervallen, die alle eine Lösung von f (x) = 0 enthalten und von denen jedes halb so lang wie das vorhergehende ist. Nach n Schritten ist eine Nullstelle im Intervall (a(n) , b(n) ) eingeschlossen. Die Intervallänge ist |b(n) − a(n) | = 2−n |b(0) − a(0) |. Für den Fehler der n-ten Näherung x (n)

40 | 3 Iterationsverfahren y

a(0)

f (x)

a(1) x(3) a(2) a(3) x

(2)

b(2)

x

x b

(1)

(0)

b(1)

b(3)

Abb. 3.6: Bisektionsmethode.

gilt |b(0) − a(0) | 󵄨󵄨 (n) ⋆󵄨 . 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 2n

(3.20)

Bei einer vorgegebenen Genauigkeitsschranke ϵ als Abbruchbedingung ist solange zu halbieren, bis gilt |b(0) − a(0) | < ϵ. 2n Ein Vorteil der Bisektionsmethode ist, dass keine Ableitungen berechnet werden müssen. Die Methode konvergiert relativ langsam. Die Konvergenz ist für jede stetige Funktion gesichert, solange man das Vorzeichen von f (x) bestimmen kann. Falls bei der Auswertung der Funktion Rundungsfehler zu einem falschen Vorzeichen führen, so wird die falsche Hälfte des Intervalls gewählt, und eine Verbesserung ist nicht mehr erzielbar. Bei der Anwendung der Bisektionsmethode ist zu empfehlen, die maximale Anzahl der Iterationen von vornherein festzulegen. Für ein auf d Stellen nach dem Dezimalpunkt genaues Ergebnis muss der Fehler kleiner sein als ϵ = 0.5 ⋅ 10−d . Damit ergibt sich |b(0) − a(0) | < 0.5 ⋅ 10−d 2n



n>1+

d + log |b(0) − a(0) | . log 2

(3.21)

Beispiel 3.16. Die Lösung der Gleichung f (x) = xex − 1 = 0 ist mit Hilfe der Bisektionsmethode auf drei Dezimalstellen genau zu bestimmen. Es gilt f (0.5) = −0.175,

f (0.6) = 0.093,

d = 3.

Damit erhält man n>1+

log 0.1 + 3 2 =1+ = 7.64. log 2 log 2

Es sind 8 Iterationsschritte erforderlich. Die Ergebnisse dieser 8 Schritte sind in der folgenden Tab. 3.11 zusammengefasst. Die auf drei Dezimalstellen genaue Lösung ist x ⋆ = 0.567.

3.6 Spezielle Iterationsverfahren |

41

Tab. 3.11: Bisektionsmethode für Beispiel 3.16. k

a(k)

b(k)

x (k+1)

f (x (k+1) )

0 1 2 3 4 5 6 7

0.5000 0.5500 0.5500 0.5625 0.5625 0.5657 0.5657 0.5665

0.6000 0.6000 0.5750 0.5750 0.5688 0.5688 0.5673 0.5673

0.5500 0.5750 0.5625 0.5688 0.5657 0.5673 0.5665 0.5669

−0.04670 0.02185 −0.01285 0.00458 −0.00398 0.00043 −0.00178 −0.00067

3.6.2 Regula falsi 3.6.2.1 Vorgehen Die Funktion f (x) habe im Intervall [a, b] eine einfache Nullstelle x ⋆ . Es wird vorausgesetzt, dass 󵄨 󵄨 0 < m1 ≤ 󵄨󵄨󵄨f 󸀠 (x)󵄨󵄨󵄨 ≤ M1

(x ∈ [a, b])

(3.22)

gilt.

Man wähle eine feste Stelle x(0) mit f (x(0) ) ≠ 0 aus [a, b]. Als erste Näherung wird eine Stelle x(1) so gesucht, dass f (x(1) ) ⋅ f (x(0) ) < 0 gilt. Dann liegt die Nullstelle x ⋆ zwischen x(0) und x (1) (s. Abb. 3.7). y

x(1)

g1 (x)

x(2) g2 (x)

x(3)

x x

f (x)

(0)

Abb. 3.7: Konvergenz der ersten Variante der Regula falsi.

Es werden die Punkte P0 (x(0) , f (x(0) )) und P1 (x(1) , f (x (1) )) durch die Gerade g1 mit der Gleichung y − f (x(1) ) f (x(1) ) − f (x (0) ) = x − x(1) x(1) − x (0)

(3.23)

42 | 3 Iterationsverfahren verbunden. Diese Gerade schneidet an der Stelle x (2) mit x(2) = x(1) −

x(1) − x(0) f (x(1) ) f (x(1) ) − f (x (0) )

(3.24)

die x-Achse. Im nächsten Schritt wird der Punkt P2 (x (2) , f (x (2) )) mit dem Startpunkt P0 durch die Gerade g2 verbunden und danach von dieser Geraden die Stelle x (3) , an der sie die x-Achse schneidet, berechnet. So fortfahrend ergibt sich eine Folge von Werten x(0) , x (1) , . . . , x (n) , . . . mit x(n) = x(n−1) −

x(n−1) − x(0) f (x(n−1) ) = ϕ(x(n−1) ) f (x(n−1) ) − f (x (0) )

(3.25)

als Resultat eines Iterationsalgorithmus, der Regula falsi. Es lässt sich nachweisen, dass unter obigen Bedingungen die Folge x (0) , x(1) , x (2) , . . . gegen die Nullstelle x ⋆ in [a, b] konvergiert. Die Konvergenzordnung ist p = 1 (s. Maess [21]). Falls die Funktion f (x) im Intervall [a, b] eine Extremwertstelle xm besitzt, so dass die Bedingung 3.22 wegen f 󸀠 (xm ) = 0 verletzt ist, kann es zum Versagen der Regula falsi kommen. Abb. 3.8 veranschaulicht diese Möglichkeit. y

f (x)

g2 (x)

x

x(1) x

(2)

x

(0)

g1 (x)

Abb. 3.8: Versagen der ersten Variante der Regula falsi.

Das Vorgehen der Regula falsi kann abgeändert werden, indem zur Gewinnung der Näherungen x(n) (n = 1, 2, . . .) der Punkt P0 (x (0) , f (x (0) )) nicht mehr als fest vorausgesetzt wird. Wie oben erfolgt der Start mit zwei Werten x (0) und x (1) , für die f (x (0) ) ⋅ f (x(1) ) < 0 gelten muss. Dann wird ein Wert x (2) , in dem die Gerade g1 die x-Achse schneidet durch x(2) = x(1) −

x(1) − x(0) f (x(1) ) f (x(1) ) − f (x (0) )

bestimmt. Nun erfolgt eine Prüfung der Stelle x (2) : – Gilt f (x(2) )⋅f (x(0) ) < 0, dann liegt die Nullstelle x ∗ zwischen x (0) und x (2) . Die Stelle x(0) wird weiter verwendet, und wie oben wird ein neuer Wert ermittelt x(3) = x(2) −

x (2) − x (0) f (x(2) ). f (x(2) ) − f (x (0) )

(3.26)

3.6 Spezielle Iterationsverfahren |



43

Gilt f (x(2) ) ⋅ f (x(0) ) > 0, dann liegt die Nullstelle x ∗ zwischen x (1) und x (2) . Daher wird x(0) durch x(1) ersetzt, und der neue Wert x (3) errechnet sich durch x(3) = x(2) −

x(2) − x(1) f (x (2) ). f (x(2) ) − f (x(1) )

(3.27)

So fortfahrend ergibt sich nach der Vorschrift x(n+1) = x(n) −

x(n) − x(k) f (x (n) ) (k = 0, 1, . . . ; n = 1, 2, . . .) f (x(n) ) − f (x(k) )

(3.28)

eine Folge von Werten x(0) , x(1) , . . . , x(k) , . . . , x(n) , . . .. Dabei ist k der größte Indexwert kleiner als n, der die Bedingung f (x(n) ) ⋅ f (x(k) ) < 0 erfüllt. Vorausgesetzt ist, dass f (x(l) ) ≠ 0 (l = 0, 1, 2, . . .) gilt, da ansonsten x∗ = x(l) eine Lösung darstellt (s. Abb. 3.9). y

g2 (x)

f (x)

x

x(1) x

(3)

x

x

(2)

(0)

g1 (x) Abb. 3.9: Regula falsi, 2. Variante.

Es ist auch hier nachgewiesen, dass die Folge x (0) , x (1) , . . . gegen die Nullstelle x ∗ in [a, b] konvergiert und dass die Konvergenzordnung im allgemeinen p = 1 ist. Diese Variante der Regula falsi konvergiert immer unter der Voraussetzung, dass f (x) in [a, b] stetig ist und dass f (a) ⋅ f (b) < 0 gilt. 3.6.2.2 Fehlerabschätzung Die zweite Form der Regula falsi gestattet eine einfache Abschätzung des Fehlers. Sind x(p) und x(q) mit p < q zwei Werte der Folge {x(n) }, die die Bedingung f (x (p) ) ⋅ f (x (q) ) < 0 erfüllen, liegt die gesuchte Lösung x∗ im Intervall x (p) < x ∗ < x (q) . 1

Beispiel 3.17. Für f (x) = e x − x ist eine Nullstelle im Intervall [1.5, 2] gesucht. Die erste Variante der Regula falsi mit festem x(0) = 2 und zweitem Startwert x (1) = 1.6 ergibt den in der Tab. 3.12 zusammengestellten Iterationsverlauf. Im Vergleich dazu ergibt die zweite Variante der Regula falsi mit identischen Anfangswerten die in der Tab. 3.13 angegebene Iteration.

44 | 3 Iterationsverfahren Tab. 3.12: Iteration mit Regula falsi, 1. Variante. k

x (k)

f (x (k) )

|x (k) − x (k−1) |

0 1 2 3 4 5 6 7

2.000000 1.600000 1.773195 1.762664 1.763254 1.763221 1.763223 1.763223

−0.3512788 0.2682459 −0.0155870 0.0008759 −0.0000489 0.0000029 −0.0000003 −0.0000003

0.173195 0.010531 0.000590 0.000033 0.000002 0.000000

Tab. 3.13: Iteration mit Regula falsi, 2. Variante. k

x (k)

f (x (k) )

|x (k) − x (k−1) |

0 1 2 3 4 5 6 7

2.000000 1.600000 1.773195 1.763684 1.763244 1.763224 1.763223 1.763223

−0.3512788 0.2682459 −0.0155871 −0.0007227 −0.0000332 −0.0000019 −0.0000003 −0.0000003

0.173195 0.009511 0.000440 0.000020 0.000001 0.000000

Tab. 3.14: Iteration mit erstem Startwert. k

x (k)

f (x (k) )

|x (k) − x (k−1) |

0 1 2 3

0.00000 5.00000 2.66667 −6.66659

−8.00000 7.00000 −6.22221 49.77664

2.33333 9.33326

Beispiel 3.18. Gesucht ist eine Nullstelle von f (x) = x 2 − 2x − 8 im Intervall [0, 5]. Es wird die erste Variante der Regula falsi mit fester Stelle x (0) = 0 und zweitem Startwert x(1) = 5 verwendet. Die Funktion f (x) hat in x = 1 eine Extremstelle, die Bedingung 3.22 ist also verletzt. Das Verfahren konvergiert nicht (s. Tab. 3.14). Bei der Wahl des festen Werte x(0) = 2 und des zweiten Startwertes x (1) = 5 liegt die Extremstelle nicht mehr im betrachteten Intervall. Mit diesen Startwerten konvergiert die erste Variante der Regula falsi (s. Tab. 3.15). Die mit den gleichen Anfangswerten gestartete zweite Variante der Regula falsi erreicht diese Genauigkeit mit weniger Schritten (s. Tab. 3.16).

3.6 Spezielle Iterationsverfahren

| 45

Tab. 3.15: Iteration mit erster Variante der Regula falsi. k

x (k)

f (x (k) )

|x (k) − x (k−1) |

0 1 2 3 .. . 15 16 17

2.000000 5.000000 4.066667 3.967213 .. . 3.999992 4.000004 4.000000

−8.000000 7.000000 0.404446 −0.195647 .. . −0.000048 0.000024 0.000000

0.933333 0.099457 .. . 0.000024 0.000012 0.000004

Tab. 3.16: Iteration mit zweiter Variante der Regula falsi. k

x (k)

f (x (k) )

|x (k) − x (k−1) |

0 1 2 3 4 5 6 7 8 9 10

2.000000 5.000000 3.600000 3.930394 3.991266 3.998751 3.999820 3.999974 3.999996 3.999999 4.000000

−8.000000 7.000000 −2.240000 −0.359963 −0.052328 −0.007493 −0.001080 −0.000156 −0.000024 −0.000006 0.000000

1.400000 0.330394 0.051872 0.007485 0.001069 0.000154 0.000022 0.000003 0.000001

3.6.3 Newtonsches Iterationsverfahren 3.6.3.1 Vorgehen Das verbreitetste Verfahren zur Lösung nichtlinearer Gleichungen ist die Iteration nach Newton. Es konvergiert bei hinreichend guter Anfangsnäherung schneller als die bisher behandelten Verfahren. Die Konvergenzordnung ist p = 2, d. h., der Fehler in jedem Schritt ist proportional dem Fehlerquadrat des vorhergehenden Schrittes. Es sei f (x) stetig und zweimal stetig differenzierbar. Gesucht ist eine Lösung x ⋆ von f (x) = 0. Mit x(0) werde ein erster Näherungswert von x ⋆ bezeichnet. Die Taylor-Reihe für f (x) um x(0) ergibt f (x) = f (x(0) ) + f 󸀠 (x (0) )(x − x(0) ) +

f 󸀠󸀠 (ξ ) 2 (x − x (0) ) . 2

(3.29)

46 | 3 Iterationsverfahren Dabei ist ξ ∈ (x, x(0) ). Für x = x⋆ erhält man mit f (x ⋆ ) = 0 0 = f (x (0) ) + f 󸀠 (x(0) )(x⋆ − x (0) ) +

f 󸀠󸀠 (ξ ) ⋆ 2 (x − x (0) ) . 2

Die Auflösung nach x⋆ liefert x⋆ = x(0) −

f 󸀠󸀠 (ξ ) f (x(0) ) 2 − (x ⋆ − x (0) ) . f 󸀠 (x(0) ) 2f 󸀠 (x (0) )

Liegt der Näherungswert x(0) genügend dicht bei x ⋆ , kann der Term R2 = −

f 󸀠󸀠 (ξ ) 2 (x ⋆ − x (0) ) 󸀠 (0) 2f (x )

unterdrückt werden. Die verbleibende Gleichung ergibt zwar nicht den exakten Wert x⋆ , aber eine gegenüber dem Startwert x(0) verbesserte Näherungslösung. So fortfahrend kann allgemein aus einer Näherung x (n) eine verbesserte Näherung x (n+1) durch folgende Iterationsvorschrift erhalten werden (s. Abb. 3.10): x(n+1) = x(n) −

f (x (n) ) = ϕ(x(n) ). f 󸀠 (x (n) )

(3.30)

Es ist zu untersuchen, welche Bedingung ein Anfangswert x (0) erfüllen muss, um eine konvergente Iterationsfolge x(0) , x(1) , x(2) , . . . zu erzeugen. y

f (x)

x

(0)

x

t1 (x)

x

(2)

t0 (x)

x

(1)

Abb. 3.10: Iterationsverfahren nach Newton.

Die Konvergenz ist nach dem Fixpunktsatz gesichert, wenn |ϕ󸀠 (x)| ≤ M < 1 für alle x-Werte in der Nähe der Nullstelle erfüllt wird. Aus ϕ(x) = x −

f (x) f 󸀠 (x)

und

ϕ󸀠 (x) =

f (x) ⋅ f 󸀠󸀠 (x) (f 󸀠 (x))2

folgt die hinreichende Bedingung für die Konvergenz 󵄨󵄨 f (x) ⋅ f 󸀠󸀠 (x) 󵄨󵄨 󵄨󵄨 󵄨󵄨 󵄨󵄨 󵄨󵄨 ≤ M < 1. 󵄨󵄨 (f 󸀠 (x))2 󵄨󵄨

(3.31)

3.6 Spezielle Iterationsverfahren |

47

Diese Bedingung muss insbesondere der Anfangswert x(0) erfüllen. Da die Folge x(0) , x(1) , x(2) , . . . monoton gegen x⋆ konvergiert, ist die Bedingung dann auch für alle anderen Näherungen erfüllt. Man braucht die Bedingung daher nur für den Anfangswert x(0) nachzuprüfen. Dabei ist zu beachten, dass in der Nähe von x⋆ oder in x ⋆ die erste Ableitung f 󸀠 (x) nicht verschwindet, d. h., die Nullstelle x⋆ muss bei Benutzung des hergeleiteten einfachen Newtonschen Verfahren einfach sein. Das Newtonsche Iterationsverfahren kann bei Verletzung der Bedingung 3.31 versagen. Abbildung 3.11 veranschaulicht einen solchen Fall. y

f (x)

t1 (x) t0 (x) x

(0)

x x

(1)

x

(2)

x

(3)

Abb. 3.11: Versagen der Newton-Iteration.

3.6.3.2 Fehlerabschätzung Beim Newtonschen Verfahren wird in der Regel die Abbruchbedingung 󵄨󵄨 (n) (n−1) 󵄨󵄨 󵄨󵄨x − x 󵄨󵄨 < ϵ

(3.32)

mit vorgegebenen ϵ benutzt. Durch die Fixpunkteigenschaft ist bei gesicherter Konvergenz die Folge der Verbesserungen |x(n) − x(n−1) | (n = 0, 1, 2, . . .) monoton fallend. Falls für ein n0 gilt |x(n0 ) − x(n0 −1) | < ϵ, so ist diese Schranke für alle n > n0 ebenfalls erfüllt. Die Abschätzung des Fehlers ist aufwändiger. Dazu wird vorausgesetzt, dass die Funktion f (x) im betrachteten Intervall [a, b], das die Nullstelle x ⋆ enthält, zweimal stetig differenzierbar ist und dass 󵄨󵄨 󸀠 󵄨󵄨 󵄨󵄨f (x)󵄨󵄨 ≥ k > 0

󵄨 󵄨 und 󵄨󵄨󵄨f 󸀠󸀠 (x)󵄨󵄨󵄨 ≤ K

(x ∈ [a, b])

gilt. Die Entwicklung von f (x) an der Stelle x⋆ in eine Taylor-Reihe ergibt f (x) = f (x⋆ ) + (x − x⋆ )f 󸀠 (ξ ) = (x − x⋆ )f 󸀠 (ξ )

(ξ ∈ (x, x ⋆ )).

Für x = x(n) folgt dann f (x(n) ) = (x (n) − x⋆ )f 󸀠 (ξ )

(ξ ∈ (x(n) , x ⋆ ))

(3.33)

48 | 3 Iterationsverfahren 󵄨 󵄨󵄨 (n) 󵄨󵄨 󵄨󵄨 (n) ⋆ 󵄨󵄨 󸀠 󵄨󵄨f (x )󵄨󵄨 = 󵄨󵄨x − x 󵄨󵄨󵄨󵄨󵄨󵄨f (ξ )󵄨󵄨󵄨 󵄨 󵄨 ≥ 󵄨󵄨󵄨x(n) − x⋆ 󵄨󵄨󵄨k.

(3.34)

Die Entwicklung von f (x) in eine Taylor-Reihe an der Stelle x = x (n−1) ergibt f (x) = f (x(n−1) ) + (x − x(n−1) )f 󸀠 (x(n−1) ) 1 2 + (x − x(n−1) ) f 󸀠󸀠 (ξ 󸀠 ) (ξ 󸀠 ∈ (x; x(n−1) )). 2 Für x = x(n) folgt daraus f (x(n) ) = f (x(n−1) ) + (x (n) − x (n−1) )f 󸀠 (x(n−1) ) 1 2 + (x(n) − x (n−1) ) f 󸀠󸀠 (ξ 󸀠 ) 2 1 2 = (x(n) − x(n−1) ) f 󸀠󸀠 (ξ 󸀠 ) 2 󵄨󵄨 (n) 󵄨󵄨 1 󵄨󵄨 (n) (n−1) 󵄨󵄨2 󵄨󵄨 󸀠󸀠 󸀠 󵄨󵄨 󵄨󵄨f (x )󵄨󵄨 = 󵄨󵄨x − x 󵄨󵄨 󵄨󵄨f (ξ )󵄨󵄨 2 1󵄨 󵄨2 ≤ 󵄨󵄨󵄨x(n) − x(n−1) 󵄨󵄨󵄨 K. 2

(3.35)

Die Ungleichungen 3.34 und 3.35 ergeben zusammen 󵄨 󵄨 󵄨 󵄨 k 󵄨󵄨󵄨x(n) − x⋆ 󵄨󵄨󵄨 ≤ 󵄨󵄨󵄨f (x (n) )󵄨󵄨󵄨 ≤

1 󵄨󵄨 (n) (n−1) 󵄨󵄨2 󵄨󵄨x − x 󵄨󵄨 K 2

beziehungsweise K 󵄨󵄨 (n) 󵄨󵄨 (n) (n−1) 󵄨󵄨2 ⋆󵄨 󵄨x − x 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 󵄨󵄨 . 2k 󵄨

(3.36)

Diese Fehlerabschätzung wird als a-posteriori-Abschätzung bezeichnet. Durch die Bestimmung von k und K ist sie praktisch schwer handhabbar. Beispiel 3.19. Die Funktion f (x) = x ln x − 1 hat eine Nullstelle im Intervall [1.5, 2]. Gesucht ist die a-posteriori-Abschätzung für die Newtonsche Iterationsvorschrift. Die Ableitung der Funktion ist f 󸀠 (x) = ln x +1, ihr Betrag ist auf dem Intervall [1.5, 2] monoton wachsend. Das Minimum wird also in der unteren Intervallgrenze angenommen 󵄨󵄨 󸀠 󵄨󵄨 󵄨󵄨f (x)󵄨󵄨 ≥ ln 1.5 + 1 > 1.4 = k. Der Betrag der zweiten Ableitung f 󸀠󸀠 (x) = 1/x ist auf dem betrachteten Intervall monoton fallend, daher wird das Maximum ebenfalls in der unteren Grenze des Intervalls angenommen 1 󵄨󵄨 󸀠󸀠 󵄨󵄨 < 0.7 = K. 󵄨󵄨f (x)󵄨󵄨 ≤ 1.5 Daraus ergibt sich als a-posteriori-Abschätzung 󵄨󵄨 (n) 󵄨 (n) ∗󵄨 (n−1) 󵄨󵄨2 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 0.25 ⋅ 󵄨󵄨󵄨x − x 󵄨󵄨 .

3.6 Spezielle Iterationsverfahren |

49

Abschließend sollen noch einige Beispiele die Arbeit mit dem Newton-Verfahren illustrieren. Beispiel 3.20. Gesucht wird die Nullstelle von f (x) = ex − x 2 + 2x − 2 = 0 im Intervall [0, 1] mit der Genauigkeitsschranke ϵ = 5.0⋅10−6 . Die Ableitungen sind f 󸀠 (x) = ex −2x+2 und f 󸀠󸀠 (x) = ex − 2. Ein nahe liegender Anfangswert ist x (0) = 0.5 mit f (0.5) = 0.398721,

f 󸀠 (0.5) = 2.648721

und f 󸀠󸀠 (0.5) = −0.351279.

Dieser Anfangswert ist wegen 󵄨󵄨 f (x(0) ) ⋅ f 󸀠󸀠 (x(0) ) 󵄨󵄨 0.398721 ⋅ 0.351279 󵄨󵄨 󵄨󵄨 = 0.019964 < 1 󵄨󵄨 = 󵄨󵄨 2.6487212 󵄨󵄨 [f 󸀠 (x(0) )]2 󵄨󵄨 anwendbar. Der Iterationsverlauf ist in Tab. 3.17 dargestellt. Es ergibt sich als hinreichende Näherung x⋆ = 0.35126. Tab. 3.17: Iterationsverlauf zu Beispiel 3.20. k

x (k)

f (x (k) )

f 󸀠 (x (k) )

0 1 2 3

0.5000000 0.3495000 0.3512620 0.3512626

0.3987210 −0.0047920 −0.0000015

2.648721 2.719358 2.718336

|x (k) − x (k−1) | 1.5 ⋅ 10−1 1.8 ⋅ 10−3 5.5 ⋅ 10−7

Beispiel 3.21. Die Funktion f (x) = x2 − a mit a > 0 hat die Nullstellen ±√a. Ihre Ableitungen sind f 󸀠 (x) = 2x und f 󸀠󸀠 (x) = 2. Als Newton-Formel erhält man x(n+1) = x(n) −

a f (x(n) ) (x(n) )2 − a 1 (n) (n) = x − = (x + (n) ). 󸀠 (n) (n) 2 f (x ) 2x x

Die Folge x(0) , x(1) , x (2) , . . . strebt gegen √a, wenn für den Anfangswert x (0) gilt 󵄨󵄨 f (x(0) ) ⋅ f 󸀠󸀠 (x(0) ) 󵄨󵄨 󵄨󵄨 ((x(0) )2 − a) ⋅ 2 󵄨󵄨 󵄨󵄨 󵄨󵄨 󵄨󵄨 󵄨󵄨 󵄨󵄨 󵄨=󵄨 󵄨= 󵄨󵄨 [f 󸀠 (x(0) )]2 󵄨󵄨󵄨 󵄨󵄨󵄨 4 ⋅ (x(0) )2 󵄨󵄨󵄨

1 󵄨󵄨󵄨󵄨 a 󵄨󵄨󵄨 󵄨󵄨1 − (0) 2 󵄨󵄨󵄨 < 1. 2 󵄨󵄨 (x ) 󵄨󵄨

Im speziellen Fall a = 211, ϵ = 10−3 und x(0) = 15 ergibt sich der in Tab. 3.18 angegeben Ablauf der Iteration. Die hinreichende Näherung ist √211 = 14.525839. Für a = 0.0376, ϵ = 10−4 und x(0) = 1 ist die Iteration in Tab. 3.19 gegeben. Als hinreichende Näherung ergibt sich √0.0376 = 0.193907.

50 | 3 Iterationsverfahren Tab. 3.18: Erster Iterationsverlauf für Beispiel 3.21. k

x (k)

|x (k) − x (k−1) |

0 1 2 3

15.000000 14.533333 14.525840 14.525839

0.46777 0.00749 0.000001

Tab. 3.19: Zweiter Iterationsverlauf für Beispiel 3.21. k

x (k)

|x (k) − x (k−1) |

0 1 2 3 4 5 6

1.000000 0.518800 0.295630 0.211400 0.194630 0.193900 0.193907

0.4812 0.2232 0.0842 0.0168 0.00072 0.000007

3.7 Konvergenzverbesserung 3.7.1 Verkleinern der Lipschitzkonstanten Wenn die Ableitung der Iterationsvorschrift ϕ󸀠 (x) im betrachteten Intervall [a, b] die Bedingung |ϕ󸀠 (x)| ≤ M < 1 erfüllt, wenn aber M > 0.5 gilt, ist die Konvergenz langsam. 1 Für die zweite (konvergente) Iterationsvorschrift ϕ(x) = e x des Beispiels 3.5 wurde dort die Abschätzung 󵄨󵄨 󸀠 󵄨󵄨 󵄨󵄨ϕ (x)󵄨󵄨 ≤ 0.8657 = M

(x ∈ [1.5, 2])

bestimmt. Damit ergibt sich für diesen Algorithmus gemäß (3.14) die a-posterioriAbschätzung 0.8657 󵄨󵄨 (n) 󵄨󵄨 (n) 󵄨 (n) (n−1) 󵄨󵄨 ∗󵄨 (n−1) 󵄨󵄨 󵄨󵄨x − x 󵄨󵄨󵄨 ≤ 󵄨x − x 󵄨󵄨 = 6.4460󵄨󵄨󵄨x − x 󵄨󵄨. 0.1343 󵄨 Der Genauigkeitsgewinn pro Schritt wird nur gering sein. Diese Iterationsvorschrift sollte in einen neuen Iterationsalgorithmus transformiert werden, der die Konvergenz gegen denselben x∗ -Wert garantiert, bei dem aber die Lipschitzkonstante M unterhalb von 0.5 liegt. Die Ausgangsbeziehung wird mit einem Parameter μ umgeformt in x − μx = ϕ(x) − μx.

3.7 Konvergenzverbesserung

| 51

Daraus erhält man x=

ϕ(x) − μx = Φ(x) 1−μ

und

Φ󸀠 (x) =

ϕ󸀠 (x) − μ . 1−μ

Der Parameter μ ist so festzulegen, dass Φ󸀠 (x) in der Nähe der einfachen Nullstelle x ∗ möglichst klein wird. Der beste Wert wäre μ = ϕ󸀠 (x⋆ ). Da aber x ⋆ nicht bekannt ist, ̄ Der Iterationsalgorithmus lautet muss eine Näherung x̄ gewählt werden: μ = ϕ󸀠 (x). dann x(n) = Φ(x(n−1) ) =

̄ (n−1) ϕ(x (n−1) ) − ϕ󸀠 (x)x . 󸀠 1 − ϕ (x)̄

(3.37)

Beispiel 3.22. Für den im Beispiel 3.5 benutzten Iterationsalgorithmus 1

x = ϕ(x) = e x

(x ∈ [1.5, 2.0]) 1

ergibt sich bei der Wahl von x̄ = 1.6 mit ϕ󸀠 (x) = −e x /x2 der Parameter μ = ϕ󸀠 (x)̄ = −0.72978. Die resultierende Iterationsvorschrift 1

x

(n)

e x(n−1) + 0.72978x(n−1) = 1.72978

führt wesentlich rascher zu einer guten Näherung (s. Tab. 3.20). Tab. 3.20: Näherungen mit verbesserter Lipschitzkonstanten. n

x (n)

n

x (n)

n

x (n)

0 1

1.60000 1.76247

2 3

1.76315 1.76322

4

1.76322

3.7.2 Verfahren von Aitken Es sei ein konvergenter Iterationsalgorithmus x(n) = ϕ(x(n−1) )

󵄨 󵄨 mit 󵄨󵄨󵄨ϕ󸀠 (x)󵄨󵄨󵄨 ≤ M < 1 (x ∈ [a, b])

gegen eine einfache Lösung x⋆ von f (x) = 0 vorgegeben, der aber nur langsam konvergent ist. Mit den Abweichungen δ(n) = x(n) − x⋆ kann mit ξ (n) ∈ (x (n) , x ⋆ ) nach dem Mittelwertsatz der Differentialrechnung ϕ(x (n−1) ) − ϕ(x ⋆ ) δ(n) = = ϕ󸀠 (ξ (n−1) ) δ(n−1) x(n−1) − x⋆

52 | 3 Iterationsverfahren gebildet werden. Mit n → ∞ streben sowohl x (n) → x ⋆ als auch ξ (n) → x ⋆ . Das ergibt δ(n) = lim ϕ󸀠 (ξ (n−1) ) = ϕ󸀠 (x⋆ ). n→∞ δ(n−1) n→∞ lim

(3.38)

Daher gilt näherungsweise δ(n) ≈ ϕ󸀠 (x⋆ ) δ(n−1)

bzw.

δ(n+1) ≈ ϕ󸀠 (x ⋆ ) und δ(n)

δ(n+1) δ(n) ≈ (n−1) . (n) δ δ

(3.39)

Daraus kann gefolgert werden x⋆ ≈

x(n+1) x(n−1) − (x(n) )2 (x (n) − x (n−1) )2 (n−1) = x − . x(n+1) − 2x(n) + x(n−1) x (n+1) − 2x(n) + x (n−1)

Diese Näherung für x⋆ wird mit z (n+1) bezeichnet. Es kann nachgewiesen werden, dass die Folge z (n+1) (n = 1, 2, . . .) schneller gegen x ⋆ konvergiert als die Folge x (n) (n = 0, 1, 2, . . .). Der Rechengang besteht darin, im (n + 1)-ten Schritt neben x(n+1) mit den bereits ermittelten Werten von x(n) und x(n−1) die Näherung z (n+1) (n = 1, 2, . . .) zu berechnen und die Folge z (n) als Iterationsfolge zu betrachten. 1

Beispiel 3.23. Es wird wieder die zweite Iterationsvorschrift ϕ(x) = e x aus dem Beispiel 3.5 betrachtet. Man erhält 1

} x(n+1) = ϕ(x(n) ) = e x(n) } (n) (n−1) 2 (x − x ) } (n+1) (n−1) } z =x − (n+1) (n) (n−1) x − 2x + x }

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

Die Näherungen mit dem Anfangswert x(0) = 1.6 sind in Tab. 3.21 angegeben. Tab. 3.21: Näherungen mit Verfahren von Aitken. n

x (n)

0 1 2 3 4 5

1.60000 1.86825 1.70789 1.79592 1.74511 1.77363

z (n)

1.76789 1.76472 1.76370 1.76338

n

x (n)

z (n)

6 7 8 9 10

1.75736 1.76656 1.76133 1.76430 1.76262

1.76327 1.76324 1.76323 1.76322 1.76322

3.7.3 Steffensen-Verfahren Zur der Konvergenzverbesserung für einen langsam konvergierenden Iterationsalgorithmus x(n) = ϕ(x (n−1) ) in [a, b] kann das Verfahren von Steffensen

3.8 Aufgaben

x(n) = x(n−1) −

(ϕ(x(n−1) ) − x(n−1) )2 = Φ(x(n−1) ) ϕ(ϕ(x(n−1) )) − 2ϕ(x(n−1) ) + x (n−1)

| 53

(3.40)

(n = 1, 2, . . .) benutzt werden. Die Berechnung der Werte x(n) ist zwar aufwändiger, aber die Konvergenzordnung erhöht sich bedeutend. Man hat bewiesen: Hat der Iterationsalgorithmus x(n) = ϕ(x(n−1) ) die Konvergenzordnung p = 1, so hat der Algorithmus von Steffensen mindestens die Konvergenzordnung p = 2. Beispiel 3.24. Für den bereits mehrfach behandelten Iterationsalgorithmus 1

x(n) = ϕ(x(n−1) ) = e x(n−1) aus Beispiel 3.5 erhält man den folgenden Steffensen-Algorithmus: x(n) = x(n−1) −

y(n−1) z (n−1)

(n = 1, 2, . . .)

mit 1

2

y(n−1) = (e x(n−1) − x(n−1) ) ,

1 1

1

z (n−1) = (e e x(n−1) − 2e x(n−1) + x (n−1) ).

Die mit x(0) = 1.6 gewonnenen Näherungen sind in Tab. 3.22 angeführt. Tab. 3.22: Näherungen mit Verfahren von Steffensen. n

x (n)

n

x (n)

0 1 2

1.60000 1.76789 1.76323

3 4

1.76322 1.76322

3.8 Aufgaben Aufgabe 3.1. Es sind Lösungen der Gleichungen a) f (x) = x3 + 2x 2 + 10x − 20 = 0 [0, 2] b) f (x) = x ⋅ ex − 1 = 0 [0.5, π] c) f (x) = x2 − 5 = 0 [−3, 3] d) f (x) = sin 2x − 0.5x + 2 = 0 [1, 3] iterativ zu bestimmen. Überführen Sie die Gleichungen in iterierfähige Formen x (n+1) = ϕ(x(n) ) und geben Sie Bereiche für die Startwerte einer Näherungsfolge {x (n) } an, die gegen eine Lösung x∗ konvergieren.

54 | 3 Iterationsverfahren Aufgabe 3.2. Führen Sie die Iterationen für die Gleichungen aus Aufgabe 3.1 mit verschiedenen Startwerten aus, und ermitteln Sie bei Beachtung von sechs Dezimalstellen die gegen eine Lösung strebende Näherungsfolge bis alle mitgeführten Dezimalstellen unverändert bleiben. Aufgabe 3.3. Geben Sie für die Lösungen der Gleichungen aus Aufgabe 3.1.a und 3.1.b, die mit der Iterationsvorschrift x(n+1) = ϕ(x(n) ) zu ermitteln sind, a-priori-Abschätzungen an, wenn n = 5, n = 10 bzw. n = 15 Iterationsschritte ausgeführt werden. Aufgabe 3.4. Die Lösungen der Gleichungen aus Aufgabe 3.1.a und 3.1.b sind durch Näherungen x(n+1) = ϕ(x(n) ) zu ermitteln. Es sei eine Fehlerschranke ϵ = 10−6 vorgegeben. Bestimmen Sie ausgehend von der a-priori-Abschätzung die Anzahl der Iterationsschritte n, um diese Genauigkeit garantieren zu können. Aufgabe 3.5. Die Lösungen der Gleichungen a) f (x) = e−x − sin 2x = 0 [0, 1] b) f (x) = e1.6x − 5.88x 2 = 0 [1, 4] c) f (x) = x3 − 3x 2 + x + 3 = 0 [−1, 5] d) f (x) = 5x6 + 3x 5 − 54x4 + 60x 3 − 64x2 − 5x + 7 = 0 [1, 5] sind mit der Bisektionsmethode bei einer Genauigkeit von ϵ = 10−6 zu ermitteln. Aufgabe 3.6. Geben Sie für die Näherungen x(n) , die gegen eine Lösung der Gleichungen aus Aufgabe 3.5 konvergieren, eine Fehlerabschätzung an nach n = 5, n = 10 bzw. n = 15 Iterationsschritten. Aufgabe 3.7. Die gegen eine Lösung der Gleichungen aus Aufgabe 3.5 konvergierende Näherungsfolge ist abzubrechen, wenn der Fehler ϵ = 10−8 unterschritten wird. Schätzen Sie die Anzahl n der mindestens erforderlichen Iterationsschritte ab. Aufgabe 3.8. Ermitteln Sie eine Lösung der Gleichungen aus Aufgabe 3.5 mit der ersten Form der Regula falsi bei einer Genauigkeitsschranke (Abbruchschranke) von ϵ = 10−6 . Aufgabe 3.9. Ermitteln Sie eine Lösung der Gleichungen aus Aufgabe 3.5 mit der zweiten Form der Regula falsi bei einer Genauigkeitsschranke (Abbruchschranke) von ϵ = 10−6 . Aufgabe 3.10. Bestimmen Sie mit dem Newtonschen Iterationsverfahren, ausgehend von einem geeigneten Startwert x(0) , bei einer Genauigkeitschranke von ϵ = 10−8 die Lösungen der Gleichungen: a) f (x) = x3 + 2x 2 + 10x − 20 = 0 [0, 2] b) f (x) = x ⋅ ex − 1 = 0 [0.5, π] c) f (x) = x2 − 5 = 0 [−3, 3] d) f (x) = sin 2x − 0.5x + 2 = 0 [1, 3].

3.8 Aufgaben

| 55

Aufgabe 3.11. Bestimmen Sie mit dem Newtonschen Iterationsverfahren, ausgehend von einem geeigneten Startwert x(0) , bei einer Genauigkeitschranke von ϵ = 10−8 die Lösungen der Gleichungen: a) f (x) = e2x − 2x 2 − 3x = 0 [−3, 3] b) f (x) = x6 − 5 = 0 [0, 2] c) f (x) = 7x − 9 = 0 [0, 2] d) f (x) = 5x5 + 4x 4 − 3x3 − 2x 2 + x + 3 = 0 [−2, 2]. Aufgabe 3.12. Bestimmen Sie mit dem Newtonschen Iterationsverfahren, ausgehend von einem geeigneten Startwert x(0) , bei einer Genauigkeitschranke von ϵ = 10−8 die Lösungen der Gleichungen: a) f (x) = e−x − sin 2x = 0 [0, 1] b) f (x) = e1.6x − 5.88x2 = 0 [1, 4] c) f (x) = x3 − 3x 2 + x + 3 = 0 [−1, 5] d) f (x) = 5x6 + 3x 5 − 54x4 + 60x 3 − 64x2 − 5x + 7 = 0 [1, 5]. Aufgabe 3.13. Geben Sie für die Näherungsfolgen zur Ermittlung von Lösungen der Gleichungen aus Aufgabe 3.10, die mit dem Newtonschen Iterationsverfahren gefunden worden sind, Fehlerabschätzungen nach n = 5, n = 10 bzw. n = 15 Iterationsschritten an. Aufgabe 3.14. Für die Gleichungen aus Aufgabe 3.10 sind nach Überführung in iterierfähige Formen, mit geeigneten Startwerten x(0) beginnend, Näherungswerte nach n = 10 Iterationsschritten zu bestimmen. Aufgabe 3.15. Für die Iterationsgleichungen aus Aufgabe 3.14 sind Konvergenzverbesserungen durch Verkleinern der Lipschitzkonstanten einzuführen und danach Näherungswerte nach n = 6 Iterationsschritten zu bestimmen. Aufgabe 3.16. Für die Iterationsgleichungen aus Aufgabe 3.14 sind Konvergenzverbesserungen mit dem Steffensen-Verfahren einzuführen und danach Näherungswerte nach n = 4 Iterationsschritten zu bestimmen.

4 Lineare Gleichungssysteme 4.1 Aufgabenstellung Die numerische Auflösung von linearen Gleichungssystemen ist ein zentrales Thema der numerischen Mathematik. Viele Probleme der Anwendung der Mathematik führen auf lineare Gleichungssysteme. Aber auch als Zwischenschritt bei anderen Verfahren kommt der Auflösung von linearen Gleichungssystemen große Bedeutung zu. Zur ersteren Gruppe zählen z. B. Netzwerke, Optimierungs- und Lagerhaltungsprobleme und zur zweiten Gruppe z. B. Spline-Interpolation bzw. Finite-ElementeMethoden und die numerische Lösung von Differentialgleichungen. Das Gleichungssystem habe im Folgenden die Gestalt a11 x1 + a12 x2 + ⋅ ⋅ ⋅ + a1n xn = b1 a21 x1 + a22 x2 + ⋅ ⋅ ⋅ + a2n xn = b2 .. .. .. .. .. . . . . . an1 x1 + an2 x2 + ⋅ ⋅ ⋅ + ann xn = bn

(4.1)

oder in Matrizenschreibweise A⋅x=b

(4.2)

mit a11 a21 A=( . .. an1

a12 a22 .. . an2

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

a1n a2n .. ) , . ann

x1 x2 x = ( . ), .. xn

b1 b2 b = ( . ). .. bn

(4.3)

Die theoretischen Grundlagen über die Lösbarkeit von linearen Gleichungssystemen werden als bekannt vorausgesetzt. Da numerisch eine existierende Lösung x berechnet werden soll, sind die Voraussetzungen dafür als gegeben anzusehen. Insbesondere müssen Existenz und Eindeutigkeit der Lösung gesichert sein. Es wird daher angenommen: – Es sind n Gleichungen für n Unbekannte x1 , x2 , . . . , xn vorhanden, die Matrix A ist vom quadratischen Typ (n, n). – Die Koeffizienten des Gleichungssystems aij (i, j = 1, 2, . . . , n) sind reell. – Die rechten Seiten des Gleichungssystems bk (k = 1, 2, . . . , n) sind ebenfalls reell. Der Vektor der rechten Seiten b ist kein Nullvektor, also mindestens ein bk ist ungleich null. – Die Matrix A ist regulär, d. h. A = det A ≠ 0. Die im folgenden behandelten Möglichkeiten zur Lösung von linearen Gleichungssystemen obiger Art https://doi.org/10.1515/9783110665604-004

58 | 4 Lineare Gleichungssysteme – –

Eliminationsverfahren mit Gauß-Algorithmus Rotationsverfahren mit Givens-Matrizen

können auf allgemeine lineare Gleichungssysteme mit einer Koeffizientenmatrix A vom Typ (m, n) und einem m-reihigen Vektor der rechten Seiten b a11 x1 + a12 x2 + ⋅ ⋅ ⋅ + a1n xn = b1 a21 x1 + a22 x2 + ⋅ ⋅ ⋅ + a2n xn = b2 .. .. .. .. .. . . . . . am1 x1 + am2 x2 + ⋅ ⋅ ⋅ + amn xn = bm

(4.4)

erweitert werden. Das Lösungsverhalten ist dann in Abhängigkeit von der Koeffizientenmatrix A und dem Vektor der rechten Seiten b vielfältiger. Neben eindeutigen Lösungen können vieldeutige, von willkürlichen reellen Parametern abhängende Lösungen auftreten oder auch keine Lösung existieren. Beispiel 4.1. Als begleitende Beispiele werden folgende lineare Gleichungssysteme behandelt: 2x1 − 4x2 + 6x3 − 2x4 = 3, 3x1 − 6x2 + 10x3 + 2x4 = −4, x1 + 3x2 + 13x3 − 6x4 = 3, 5x2 + 11x3 − 6x4 = −5,

1 x1 + x2 + 2 1 1 x1 + x2 + 2 3 1 1 x + x + 3 1 4 2

1 x = 1, 3 3 1 x = −1, 4 3 1 x = 1. 5 3

4.2 Eliminationsverfahren 4.2.1 Gaußscher Algorithmus Zur Vereinfachung der Schreibweise und im Hinblick auf die praktische Durchführung auf einem Rechner wird eine schematische Darstellung benutzt. Im Falle n = 4 lässt sich das allgemeine Vorgehen hinreichend gut erläutern. Die schematische Darstellung hat in diesem Fall die Gestalt x1 a11 a21 a31 a41

x2 a12 a22 a32 a42

x3 a13 a23 a33 a43

x4 a14 a24 a34 a44

1 b1 b2 . b3 b4

(4.5)

Beispiel 4.2. Für die Gleichungssysteme des Einführungsbeispiels ergeben sich die Schemata

4.2 Eliminationsverfahren

2 3 1 0

−4 −6 3 5

6 10 13 11

−2 2 −6 −6

3 −4 3 −5

1

1 2 1 3

und

1 2 1 3 1 4

1 3 1 4 1 5

| 59

1 −1 . 1

Um bei der Rechnung Vorteile ausnutzen und um Rundungsfehler klein halten zu können, ist es oftmals wünschenswert, das Ausgangssystem oder entstehende Zwischensysteme so um zuordnen, dass die Lösung dadurch nicht verändert wird. Dazu können drei Arten von Äquivalenzoperationen ausgeführt werden: – Vertauschung von Zeilen. – Multiplikation einer ganzen Zeile mit einer reellen Zahl l ≠ 0. – Addition eines Vielfachen einer Zeile zu einer anderen. An der Reihenfolge der Spalten werden wir keine Änderungen vornehmen. Spaltenänderungen sind möglich, aber mit dem Wechsel von i-ter und j-ter Spalte müssen auch die beiden zugehörigen Variablen xi und xj vertauscht werden. Man sollte zuerst prüfen, ob das Ausgangssystem günstiger gestaltet werden kann, so darf beispielsweise keine Null als Pivotelement stehen. Bei der Rechnung mit der Hand kann eine Eins als Pivotelement die Rechnung deutlich vereinfachen. Andererseits sollte bei der maschinellen Lösung der Gleichungssysteme das betragsmäßig größte Element als Pivotelement genutzt werden, um die Rundungsfehler klein zu halten. Beispiel 4.3. Eine mögliche Umformung des ersten Schemas aus dem vorigen Beispiel könnte sein x1 1 2 3 0

x2 3 −4 −6 5

x3 13 6 10 11

x4 −6 −2 2 −6

1 3 3 . −4 −5

Die Zielstellung beim Gaußschen Algorithmus ist, unter Benutzung der Äquivalenzoperationen das vorliegende Ausgangssystem in die Dreiecksgestalt x1 r11 0 0 0

x2 r12 r22 0 0

x3 r13 r23 r33 0

x4 r14 r24 r34 r44

1 c1 c2 c3 c4

(4.6)

zu bringen. Diese Form hat den Vorteil, durch Auflösung von unten die Lösung einfach zu erhalten. Es ergibt sich

60 | 4 Lineare Gleichungssysteme c4 r44 c r c r c x3 = 3 − 31 ⋅ x4 = 3 − 31 ⋅ 4 r33 r33 r33 r33 r44 .. .

x4 =

Folgendermaßen ist vorzugehen: Es sei a11 ≠ 0. Dies lässt sich durch Vertauschungen immer erreichen. Das (eventuelle neue) Element a11 wird als Pivotelement bezeichnet. Danach subtrahieren wir von den i-ten Zeilen mit i ≥ 2 das ai1 /a11 -fache der ersten Zeile mit dem Ziel, außer a11 alle anderen Elemente der ersten Spalte zu null zu machen, x1 a11

x2 a12

x3 a13

x4 a14

1 b1

0

a(1) 22

a(1) 23

a(1) 24

0

a(1) 32 a(1) 42

a(1) 33 a(1) 43

a(1) 34 a(1) 44

b(1) 2 . (1) b3

0

(4.7)

b(1) 4

Als Abkürzungen werden benutzt: li1 =

ai1 a11

(i = 2, 3, . . . , n)

a(1) = aik − li1 a1k ik

b(1) i

= bi − li1 b1

(i, k = 2, 3, . . . , n)

(4.8)

(i = 2, , 3, . . . , n).

Das neue Gleichungssystem ist zu dem alten äquivalent. Die erste Zeile bleibt erhalten, und es entsteht ein neues Untersystem (gekennzeichnet durch hochgestelltes (1)) von (n − 1) Gleichungen für (n − 1) Unbekannte x2 , x3 , . . . , xn . Die Variable x1 ist eliminiert. Sie kann aus Zeile 1 berechnet werden, wenn x2 , . . . , xn bekannt sind. Beispiel 4.4. Der erste Schritt der betrachteten Beispielsysteme liefert: a11 = 1 ≠ 0 a l21 = 21 = 2 a11 a31 l31 = a11 x1 1 0 0 0

x2 3 −10 −15 5

x3 13 −20 −29 11

x4 −6 10 20 −6

a11 = 1 ≠ 0 a l21 = 21 = a11 a31 l31 = = a11 1 3 −3 −13 −5

x1

1

0 0

x2 1 2 1 12 1 12

1 2 1 3

x3 1 3 1 12 4 45

1 1

− 32 2 3

4.2 Eliminationsverfahren

| 61

(anschließend Zeilentausch) x1 1 0 0 0

x2 3 5 −10 −15

x3 13 11 −20 −29

x4 −6 −6 10 20

1 3 −5 . −3 −13

Es sei jetzt a(1) 22 ≠ 0. Dies ist das Pivotelement des zweiten Schritts. Mit den Hilfsgrößen li2 =

a(1) i2

a(1) 22

(i = 3, 4, . . . , n)

(4.9)

lauten die Elemente nach dem zweiten Schritt: a(2) = a(1) − li2 a(1) ik ik 2k

b(2) i

=

b(1) i



(i, k = 3, 4, . . . , n)

li2 b(1) 2

(4.10)

(i = 3, 4, . . . , n)

x1 a11

x2 a12

x3 a13

x4 a14

1 b1

0

a(1) 22

a(1) 23

a(1) 24

0

0

a(2) 33

a(2) 34

b(1) 2 . (2) b3

0

0

a(2) 43

a(2) 44

b(2) 4

(4.11)

Beispiel 4.5. Für die Gleichungssysteme des Einführungsbeispiels erhalten wir in diesem Schritt x1 1 0 0 0

x2 3 5 0 0

x3 13 11 2 4

x4 −6 −6 −2 2

1 3 −5 −13 −28

x1 und

1

0 0

x2 1 2 1 12

0

x3

1 3 1 12 1 180

1 1

− 32 13 6

.

Die Fortsetzung der Eliminationsschritte führt nach (n − 1) Schritten zu einem Schema, welches in absteigender Folge jeweils eine Unbekannte weniger enthält. Um die Koeffizienten einheitlich zu bezeichnen, definieren wir a(0) = aik ik

b(0) i

= bi

rik = a(i−1) ik ci =

b(i−1) i

(i, k = 1, 2, . . . , n) (i = 1, 2, . . . , n) (k = i, i + 1, . . . n, i = 1, 2, . . . , n) (i = 1, 2, . . . , n).

(4.12)

62 | 4 Lineare Gleichungssysteme Damit lautet die Endform x1 r11 0 0 0

x2 r12 r22 0 0

x3 r13 r23 r33 0

x4 r14 r24 r34 r44

1 c1 c2 . c3 c4

(4.13)

Beispiel 4.6. Die Abschlussschemata der beiden Beispielsysteme sind dann x1 1 0 0 0

x2 3 5 0 0

x3 13 11 2 0

x4 −6 −6 −2 6

1 3 −5 −13 −2

x1

x2 1 2 1 12

1

und

0 0

0

x3

1 3 1 12 1 180

1 1

− 32

.

13 6

Nach Ausführung des Schemas ergibt sich ein Gleichungssystem der Art r11 x1 + r12 x2 + ⋅ ⋅ ⋅ + r1n xn = c1

r22 x2 + ⋅ ⋅ ⋅ + r2n xn = c2 ..

.

.. .

(4.14)

.. .

rnn xn = cn . In Matrizenschreibweise kann dies zusammengefasst werden zu Rx = c

(4.15)

mit r11 0 R=( . .. 0

r12 r22 .. . 0

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

r1n r2n .. ) . rnn

und

c1 c2 c = ( . ). .. cn

(4.16)

Dieses Gleichungssystem lässt sich rückwärts auflösen. Es ergibt sich: cn rnn rn−1,n xn c = n−1 − rn−1,n−1 rn−1,n−1

xn = xn−1 .. .

.. .

x1 =

r x c1 r12 x2 − − ⋅ ⋅ ⋅ − 1n n . r11 r11 r11

(4.17)

4.2 Eliminationsverfahren

| 63

Diesen Prozess nennt man Rückwärtseinsetzen, da die Gleichungen in umgekehrter Reihenfolge zur Bestimmung der xi benutzt werden. Beispiel 4.7. Rückwärtseinsetzen ergibt als Lösung der Beispielsysteme: x4 = −

2 = −0.3333 6

13 = 390 6 3 1 x2 = 12(− − x3 ) = −408 2 12 1 1 x1 = (1 + x2 − x3 ) = 75. 2 3

x3 = 180

1 x3 = (−13 + 2x4 ) = −6.8333 2 1 x2 = (−5 − 11x3 + 6x4 ) = 13.6333 5

x1 = (3 − 3x2 − 13x3 + 6x4 ) = 48.9333,

4.2.2 Pivotstrategie Bei der Umstellung des linearen Gleichungssystems Ax = b in die Dreiecksform Rx = c ist es theoretisch erforderlich, dass die Pivotelemente nur von null verschieden sein müssen. In den Beispielen wurde versucht, für die Handrechnung günstige Zahlen in die Pivotposition zu bringen. Beim numerischen Rechnen mit dem Computer ist es dem Rechner gleichgültig, welche Zahl Pivotelement ist. Es kann aber bei ungünstiger Wahl der Pivotelemente ein Verlust der Rechengenauigkeit eintreten, besonders wenn die Größenordnungen der Matrixelemente unterschiedlich sind. Beispiel 4.8. Zur Illustration sei ein einfaches Beispiel angeführt. Dabei werden reelle Zahlen in Gleitkommadarstellung mit fünfziffriger Mantisse d1 .d2 d3 d4 d5 ⋅ 10e benutzt. Es ist das lineare Gleichungssystem zu lösen 4.5608 ⋅ 10−4 x1 + 2.3674 ⋅ 100 x2 = 5.6277 ⋅ 100

1.2475 ⋅ 100 x1 + 1.3182 ⋅ 100 x2 = 7.0854 ⋅ 100 .

Es wird der Gaußsche Eliminationsalgorithmus mit a11 = 4.5608⋅10−4 als Pivotelement benutzt: 4.5608 ⋅ 10−4 1.2475 ⋅ 100

4.5608 ⋅ 10

−4

0

2.3674 ⋅ 100

5.6277 ⋅ 100

1.3182 ⋅ 100

7.0854 ⋅ 100

−6.4742 ⋅ 103

−1.5386 ⋅ 104

0

2.3674 ⋅ 10

5.6277 ⋅ 10

0

l21 =

a21 a11

64 | 4 Lineare Gleichungssysteme Durch Rückwärtseinsetzen ergeben sich x2 = 2.3765 ⋅ 100 ,

x1 = 3.4509 ⋅ 100 .

Das Einsetzen dieser Lösung in die Gleichungen führt zur Differenz von δ = 4.97 % zwischen errechneter und exakter rechter Seite bei der zweiten Gleichung. Bei einer zweiten Durchrechnung werden vorher die Gleichungen getauscht 1.2475 ⋅ 100 x1 + 1.3182 ⋅ 100 x2 = 7.0854 ⋅ 100

4.5608 ⋅ 10−4 x1 + 2.3674 ⋅ 100 x2 = 5.6277 ⋅ 100 , so dass nun mit a11 = 1.2475 ⋅ 100 das größere Element der ersten Spalte Pivotelement ist. Mit 1.2475 ⋅ 100

1.3182 ⋅ 100

7.0854 ⋅ 100

0

0

4.5608 ⋅ 10−4

2.3674 ⋅ 100

0

2.3669 ⋅ 100

1.2475 ⋅ 10

0

1.3182 ⋅ 10

5.6277 ⋅ 100

7.0854 ⋅ 10

l21 = −

5.6251 ⋅ 100

a21 a11

erhält man x2 = 2.3766 ⋅ 100

und x1 = 3.1684 ⋅ 100 .

Beim Einsetzen der Lösungen ergibt sich eine Differenz von δ = 1.92 ⋅ 10−3 % zwischen errechneter und exakter rechter Seite bei der zweiten Gleichung. Allgemein erfolgt ein Genauigkeitsgewinn beim Ausführen des Gaußschen Eliminationsalgorithmus durch Wahl des betragsmäßig größten Elementes als Pivotelement. Es ist günstig, vor jedem Schritt im Gaußschen Eliminationsalgorithmus eine Pivotsuche vorzunehmen. Vor Ausführung des j-ten Schrittes wird die Zeile j mit derjenigen Zeile k, j ≤ k ≤ n vertauscht, die bei xj den betragsmäßig größten Koeffizienten besitzt. Dieser Tausch ist unter den angenommenen Bedingungen (det(A) ≠ 0) immer möglich. Beispiel 4.9. Mit fünfziffriger Mantisse bei Gleitkommazahlen ist das lineare Gleichungssystem mit Pivotstrategie zu lösen: 9.0000 ⋅ 10−1 x1 − 6.2000 ⋅ 100 x2 + 4.6000 ⋅ 100 x3 = 2.9000 ⋅ 100 2.1000 ⋅ 100 x1 + 2.5120 ⋅ 103 x2 − 2.5160 ⋅ 103 x3 = 6.5000 ⋅ 100 −1.3000 ⋅ 100 x1 + 8.8000 ⋅ 100 x2 − 7.6000 ⋅ 100 x3 = −5.3000 ⋅ 100 . Das Gesamtschema des Gauß-Algorithmus hat dann die folgende Gestalt:

4.2 Eliminationsverfahren

9.0000 ⋅ 10−1

−6.2000 ⋅ 100

0

0

2.1000 ⋅ 100

2.5120 ⋅ 103

−1.3000 ⋅ 10

8.8000 ⋅ 10

9.0000 ⋅ 10−1

−6.2000 ⋅ 100

2.1000 ⋅ 100

2.5120 ⋅ 103

2.1000 ⋅ 100 0

−1.3000 ⋅ 10

0

0

2.5120 ⋅ 103 0

8.8000 ⋅ 10

3

−1.0828 ⋅ 10

1.5639 ⋅ 103

2.1000 ⋅ 100

4.6000 ⋅ 100

−2.5160 ⋅ 103

−7.6000 ⋅ 10

0

−2.5160 ⋅ 103 4.6000 ⋅ 100

−7.6000 ⋅ 10

0

−2.5160 ⋅ 103 1.0829 ⋅ 10

3

1.0829 ⋅ 103

0

3

2.1000 ⋅ 100

0

−1.5651 ⋅ 10

2.5120 ⋅ 103

−2.5160 ⋅ 103

0

−7.2828 ⋅ 100

1.5639 ⋅ 10

6.5000 ⋅ 100 2.9000 ⋅ 100

−5.3000 ⋅ 100 6.5000 ⋅ 100

1.1430 ⋅ 10−1

−1.2762 ⋅ 100

−1.0828 ⋅ 103

1.5639 ⋅ 10

−5.3000 ⋅ 100

3

0

0

6.5000 ⋅ 100

−1.2762 ⋅ 100

−2.5160 ⋅ 103

3

2.9000 ⋅ 100

−1.5651 ⋅ 103

2.5120 ⋅ 103

−1.5651 ⋅ 10

3

| 65

6.5000 ⋅ 100

1.1430 ⋅ 10−1

6.5000 ⋅ 100

−1.2762 ⋅ 100

−7.6930 ⋅ 100

Die erhaltenen Lösungen sind x3 = 1.0563 ⋅ 100 ,

x2 = 1.0563 ⋅ 100 ,

x1 = 5.1072 ⋅ 100 .

4.2.3 Givens-Verfahren Beim Gaußschen Eliminationsverfahren wird die (n, n)-Koeffizientenmatrix A des linearen Gleichungssystems A ⋅ x = b in eine obere (n, n)-Dreiecksmatrix B transformiert. Dabei wird der n-reihige Vektor der rechten Seiten b in einen n-reihigen Vektor c mit transformiert. Es entsteht ein äquivalentes lineares Gleichungssystem B ⋅ x = c, das durch Rückwärtseinsetzen einfach zu lösen ist. Dieselbe Zielstellung liegt auch weiteren Verfahren zugrunde, wobei Voraussetzungen an das lineare Gleichungssystem und an die Vorgehensweise unterschiedlich sein können. Zu nennen sind u. a.: – Verfahren von Hessenberg – Verfahren von Householder – Verfahren von Givens (siehe Gander [15], Schwarz [32], Zurmühl und Falk [39]). Im Folgenden ist das Givens-Verfahren kurz behandelt. Dazu werden die im Abschnitt über orthogonale Matrizen behandelten Givensrotationsmatrizen G(i,k) (ϕ) benutzt. Es liege das lineare Gleichungssystem A ⋅ x = b mit einer regulären (n, n)-Koeffizientenmatrix A und einem n-reihigen Vektor der rechten Seiten b vor. Die Multiplika-

66 | 4 Lineare Gleichungssysteme tion von A mit der (n, n)-Givensmatrix G(i,k) (ϕi,k ) 1 .. . ( (0 ( (0 ( (0 ( ( ( .. ( (i,k) G (ϕi,k ) = ( . (0 ( ( (0 ( (0 ( ( . ( . . 0 (1. S

⋅⋅⋅ .. . ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

0 0 0 ⋅⋅⋅ 0 .. .. .. . . . . .. . . . 1 0 0 ⋅⋅⋅ 0 0 c 0 ⋅⋅⋅ 0 0 0 1 ⋅⋅⋅ 0 .. .. .. . . . . .. . . . 0 0 0 ⋅⋅⋅ 1 0 −s 0 ⋅ ⋅ ⋅ 0 0 0 1 ⋅⋅⋅ 0 .. .. .. . . . . .. . . . 0 0 0 ⋅⋅⋅ 0 i. S k. S

0 .. . 0 s 0 .. . 0 c 0 .. . 0

0 .. . 0 0 0 .. . 0 0 1 .. . 0

⋅⋅⋅ .. . ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

0 .. . 0 0 0 .. . 0 0 0 .. . 1 n. S

1. Z ) ) ) i. Z ) ) ) ) ) ) ) ) ) ) ) k. Z) ) ) ) ) )

(4.18)

n. Z )

kann durch Wahl von ϕi,k und damit von c und s so erfolgen, dass die Zeilen 1 bis (i−1), (i + 2) bis (k − 1) und (k + 1) bis n sowie die Spalten 1 bis (i − 1) in sich übergehen. Die restlichen Elemente der Zeilen i, (i + 1) und k werden verändert, wobei stets ai+i,k = 0 erzeugt wird. So ergibt die Multiplikation G(1,2) (ϕ1,2 ) ⋅ A die Matrix:

A(1,2)

c ⋅ a11 + s ⋅ a21 c ⋅ a12 + s ⋅ a22 −s ⋅ a11 + c ⋅ a21 −s ⋅ a12 + c ⋅ a22 ( a31 a32 =( .. .. . . an1 an2 (

⋅ ⋅ ⋅ c ⋅ a1n + s ⋅ a2n ⋅ ⋅ ⋅ −s ⋅ a1n + c ⋅ a2n ) ⋅⋅⋅ a3n ). . .. . . . ⋅⋅⋅ ann )

(4.19)

Der frei verfügbare Winkel ϕ1,2 wird so gewählt, dass − s ⋅ a11 + c ⋅ a21 = −a11 ⋅ sin(ϕ1,2 ) + a21 ⋅ cos(ϕ1,2 ) = 0

(4.20)

wird. Dies kann bewirkt werden durch tan(ϕ1,2 ) =

a21 a11

bzw.

cot(ϕ1,2 ) =

a11 , a21

woraus folgt s = sin(ϕ1,2 ) = c = cos(ϕ1,2 ) =

tan(ϕ1,2 ) √1 + (tan(ϕ1,2 ))2

=

1 √1 + (cot(ϕ1,2 ))2

=

a21 √a211 + a221

sin(ϕ1,2 ) a11 = sin(ϕ1,2 ) ⋅ cot(ϕ1,2 ) = . tan(ϕ1,2 ) 2 √a11 + a221

(4.21)

4.2 Eliminationsverfahren

| 67

Es entsteht die Matrix a(1,2) 11

A(1,2)

a(1,2) 12

⋅⋅⋅

a(1,2) 22

a(1,2) 1,n

0 ( ( (1,2) =( (a31 = a31 ( .. .

a(1,2) 32 = a32 .. .

⋅⋅⋅ .. .

a(1,2) 2n ) ) ) a(1,2) 3n ) . .. ) .

a(1,2) = an1 ( n1

a(1,2) n2 = an2

⋅⋅⋅

a(1,2) nn

⋅⋅⋅

)

Multipliziert man die entstandene Matrix mit G(1,3) (ϕ1,3 ), bildet man A(1,3) = G(1,3) (ϕ1,3 ) ⋅ A(1,2) = G(1,3) (ϕ1,3 ) ⋅ G(1,2) (ϕ1,2 ) ⋅ A, (1,3) (1,3) so kann durch Wahl von ϕ1,3 erreicht werden, dass neben a(1,2) 21 = a21 = 0 auch a31 = 0 wird. Ebenso können die weiteren Elemente der ersten Spalte unterhalb des ersten Elementes zum Verschwinden gebracht werden. Insgesamt folgt:

A(1,n) = G(1,n) (ϕ1,n ) ⋅ G(1,n−1) (ϕ1,n−1 ) ⋅ ⋅ ⋅ G(1,3) (ϕ1,3 ) ⋅ G(1,2) (ϕ1,2 ) ⋅ A a(1,n) 11

( 0 =( . .. (

0

a(1,n) 12

⋅⋅⋅

a(1,n) 1,n

a(1,n) 22 .. .

⋅⋅⋅ .. .

a(1,n) 2,n ) .. ) . .

a(1,n) n2

⋅⋅⋅

a(1,n) nn

(4.22)

)

Das gleiche Vorgehen wird zur Reduktion der entstandenen Untermatrix a(1,n) 22 ( ... a(1,n) n2

a(1,n) 2n .. ) . a(1,n) nn

⋅⋅⋅ .. . ⋅⋅⋅

von A(1,n) benutzt. Es ergibt sich a(2,n) 22

( 0 G(2,n) (ϕ2,n ) ⋅ ⋅ ⋅ G(2,3) (ϕ2,3 ) ⋅ A(1,m) = ( . .. (

0

a(2,n) 23

⋅⋅⋅

a(2,n) 2n

a(2,n) 33 .. .

⋅⋅⋅ .. .

a(2,n) 3n ) (2,n) .. ) = A . .

a(2,n) n3

⋅⋅⋅

a(2,n) nn

)

Der Gesamtweg ist somit abgesteckt. Man erhält schließlich: G(n−1,n) (ϕn−1,n ) ⋅ G(n−2,n) (ϕn−2,n ) ⋅ G(n−2,n−1) (ϕn−2,n−1 ) ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ G(1,n) (ϕ1,n ) ⋅ ⋅ ⋅ G(1,2) (ϕ1,2 ) ⋅ A

(4.23)

68 | 4 Lineare Gleichungssysteme a(n,n) 11

( 0 =( . .. 0

(

a(n,n) 12

a(n,n) 1n

⋅⋅⋅

a(n,n) 22 .. .

⋅⋅⋅ .. .

a(n,n) 2n ) (n,n) = B. .. ) = A .

0

⋅⋅⋅

a(n,m) nn

)

Damit ergibt sich die Möglichkeit, das lineare Gleichungssystem A ⋅ x = b in die Form zu bringen G(n−1,n) (ϕn−1,n ) ⋅ ⋅ ⋅ G(1,2) (ϕ1,2 ) ⋅ A ⋅ x = G(n−1,n) (ϕn−1,n ) ⋅ ⋅ ⋅ G(1,2) (ϕ1,2 ) ⋅ b bzw. B ⋅ x = c.

(4.24)

Letzteres lineares Gleichungssystem kann durch Rückwärtseinsetzen gelöst werden. Beispiel 4.10. Das dieses Kapitel begleitende lineare Gleichungssystem A ⋅ x = b mit der Koeffizientenmatrix A und dem Vektor der rechten Seiten b ist mit Hilfe des GivensVerfahrens auf eine Dreiecksgestalt zu transformieren. Mit 2 3 A=( 1 0

−4 −6 3 5

6 10 13 11

erhält man nacheinander: – Schritt 12: √a211 + a221 = √13, c =

2 , √13

A(1,2) = (



13 √13

− √2613

1

3

0

5

0

0

Schritt 13: √a211 + a231 = √14, c =

A(1,3) = (

14 √14

−23 √14

0

65 √182

0

0

0 5

−2 2 ), −6 −6 s=

3 , √13

42 √13 2 √13

2 √13 10 √13 )

13

−6

11 13 √13⋅√14 55 √14 2 √13 127 √182

11

3 −4 b=( ) 3 −5

− √613

− 17 b(1,2) = ( √13 ) ; 3

−6 =

13 , √182

−5 s=

−4 √14 10 √13 ) −80 √182

−6

3 , √14

b(1,3) =

−3 √14 −17 ( √4513 ) ; √182

−5

4.2 Eliminationsverfahren



Schritt 14: √a211 + a241 = √14, c = 1, s = 0, 14 √14

−23 √14

0

65 √182

0

A(1,4) = (

0 –

Schritt 23: √a222 + a232 =

5

5⋅√13 , √14

14 √14

A(2,3) = (

0

0 0



Schritt 24: √a222 + a242 =

0 5

45 , √42

14 √14

A(2,4) = (

0 0

c=

−23 √14 135 √378

0

0 –

Schritt 34: √a233 + a243 = 14 √14

A(3,4) = (

0 0

0

0 2⋅√7 , 3⋅√3

−4 √14 10 √13 ) −80 √182

11

b(1,4) =

−3 √14 −17 ( √4513 ) ; √182

−6

−5

c = 0, s = 1,

−23 √14 65 √182

0

55 √14 2 √13 127 √182

55 √14 127 √182 2 √13

11

√39 , 9

s=

55 √14 281 √378 2 √13 16 √351

−4 √14 −80 √182 ) 10 √13

−6

−23 √14 135 √378

0

0

55 √14 281 √378 14 √3549

0

−5

√42 , 9

−4 √14 −164 √378 ) 10 √13 2 √351

c = − √3⋅7⋅√313 , s = √

b(2,3) =

−3 √14 45 182 ) ; ( √−17 √13

b(2,4) =

−3 √14 −25 378 ) ; ( √−17 √13 −110 √351

8 , √13⋅√7

−4 √14 −164 √378 ) 22 √3549 6 √7

b(3,4) =

−3 √14 −25 378 ) . ( √−103 √3549 −2 √7

Durch Rückwärtseinsetzen ergeben sich die Lösungen: 734 = 48.933333, 15 −41 x3 = = −6.833333, 6 x1 =

409 = 13.633333, 30 −1 x4 = = −0.333333. 3 x2 =

| 69

70 | 4 Lineare Gleichungssysteme 4.2.4 Cholesky-Verfahren bei symmetrischer Koeffizientenmatrix Es wird vorausgesetzt, dass die Koeffizientenmatrix A des linearen Gleichungssystems symmetrisch ist, d. h. es gilt AT = A. Außerdem muss A positiv definit sein. Der Nachweis der positiven Definitheit ist bei umfangreichen Matrizen nicht leicht zu erbringen. In der Praxis ist aber von verschiedenen Problemen bekannt, dass die dabei auftretenden Matrizen positiv definit sind. Für positiv definite Matrizen A gibt es eine Zerlegung der Art

A = LLT

l11 l21 mit L = ( . .. ln1

0 l22 .. . ln2

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

0 0 .. ) . .

(4.25)

lnn

Das zugehörige lineare Gleichungssystem kann man dann in den folgenden Darstellungsformen angeben: Ax = b



LLT x = b



L(LT x) = b.

(4.26)

Es wird durch LT x = y

(4.27)

ein zunächst noch unbestimmter Hilfsvektor y eingeführt. Aus Ly = b ergibt sich ein lineares Gleichungssystem zur Bestimmung von y = (y1 y2 . . . yn )T . Da L eine Dreiecksmatrix ist, können die yi (i = 1, 2, . . . , n) aus l11 y1 = b1 l21 y1 + l22 y2 = b2 .. .. .. . . . ln1 y1 + ln2 y2 + ⋅ ⋅ ⋅ + lnn yn = bn durch Vorwärtseinsetzen berechnet werden zu: y1 = y2 = .. .. . .

yn =

b1 l11 b2 − l21 y1 l22 .. .

(4.28)

bn − ln1 y1 − ln2 y2 − ⋅ ⋅ ⋅ − ln,n−1 yn−1 . lnn

Danach lassen sich aus LT x = b durch Rückwärtseinsetzen die x1 , x2 , . . . , xn ermitteln:

4.2 Eliminationsverfahren

l11 x1 + l21 x2 + ⋅ ⋅ ⋅ + ln1 xn = y1 l22 x2 + ⋅ ⋅ ⋅ + ln2 xn = y2 .. .. .. . . . lnn xn = yn y xn = n lnn .. .. .. . . .

| 71

(4.29)

y2 − l32 x3 − ⋅ ⋅ ⋅ − ln2 xn l22 y1 − l21 x2 − ⋅ ⋅ ⋅ − ln1 xn x1 = . l11

x2 =

Es bleibt noch die Dreiecksmatrix l11 l21 L=( . .. ln1

0 l22 .. . ln2

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

0 0 .. ) .

aus

lnn

a11 a21 A=( . .. an1

a12 a22 .. . an2

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

a1n a2n .. ) . ann

zu bestimmen. Dazu kann der Algorithmus von Cholesky–Banachiewicz benutzt werden. Für i = 1, 2, . . . , n führe man jeweils die folgenden beiden Schritte durch: 1. Für k = 1, 2, . . . , n berechne lik = 2.

1

lkk

k−1

(aik − ∑ lim lkm ). m=1

(4.30)

Berechne i−1

2 . lii = √aii − ∑ lim m=1

Beispiel 4.11. Untersucht wird das lineare Gleichungssystem 4x1 + x2 + + x4 = 3 x1 + 4x2 + x3 = −2 x2 + 4x3 = 1 x1 + x4 = −1 mit der Koeffizientenmatrix 4 1 A=( 0 1

1 4 1 0

0 1 4 0

1 0 ), 0 4

(4.31)

72 | 4 Lineare Gleichungssysteme die bereits als positiv definit befunden wurde. Es ist L zu bestimmen. Man erhält: i = 1 : l11 = √a11 = 2 1 1 i = 2 : l21 = (a21 ) = l11 2 2 = √4 − l22 = √a22 − l21

1 √15 = 4 2

1 (a ) = 0 l11 31 2 1 (a − l l ) = = √15 l22 32 31 21

i = 3 : l31 = l32

2 l 2 = √4 − l33 = √a33 − l31 32

4 56 = 15 15

1 1 (a ) = l11 41 2

i = 4 : l41 =

2 1 1 1 (a − l l ) = (− ) = − √15 4 l22 42 41 21 2√15 1 2 1 1 15 (a − l l − l l ) = √ ( )= = l33 43 41 31 42 32 56 2√15 √15 √15√56

l42 = l43

2 − l2 − l2 = √4 − l44 = √a44 − l41 43 42

1 209 1 1 − − =√ . 4 4 ⋅ 15 15 ⋅ 56 56

Mit 2 L=(

1 2

0 1 2

0

√15 2 2 √15 − √115

0

0

√ 56 15

0

0

1 √15⋅56

0

√ 209 56

)

und

3 −2 b=( ) 1 −1

folgt aus Ly = b die Zwischenstufe b1 3 = l11 2 b −l y 11 y2 = 2 21 1 = − √ l22 2 15 b3 − l31 y1 − l32 y2 26 y3 = = √15 ⋅ 56 l33 b −l y −l y −l y 110 y4 = 4 41 1 42 2 43 3 = − . √56 ⋅ 209 l44 y1 =

4.2 Eliminationsverfahren

| 73

Aus LT x = y ergibt sich schließlich die Lösung y4 110 =− = −0.52632 l44 209 y −l x 99 = 0.47368 x3 = 3 43 4 = l33 209 y −l x −l x 187 x2 = 2 32 3 42 4 = − = −0.89474 l22 209 y −l x −l x −l x 231 = 1.1053. x1 = 1 21 2 31 3 41 4 = l11 209

x4 =

Beispiel 4.12. Die zu dem linearen Gleichungssystem 1 x + 2 2 1 1 x + x + 2 1 3 2 1 1 x + x + 3 1 4 2 x1 +

1 x = 1 3 3 1 x = −1 4 3 1 x = 1 5 3

gehörende Matrix

1

A = ( 21

1 3

1 2 1 3 1 4

1 3 1 ) 4 1 5

ist bereits als positiv definit bestimmt worden. Es kann die Dreiecksmatrix L berechnet werden i=1: i=2:

l11 = √a11 = 1, 1 1 l21 = {a11 } = , l11 2 2 = l22 = √a22 − l21

i=3:

1 √12

1 1 {a } = l33 31 3 1 1 {a − l l } = = √12 l22 32 31 21 1 2 − l2 = = √a33 − l31 . 32 3√20

l31 = l32 l33

Daraus erhält man: b1 = 1, l11 y x3 = 3 = 390, l33 y1 =

b2 − l21 y1 = −3√3 l22 y −l x x2 = 2 32 3 = −408, l22 y2 =

b3 − l31 y1 − l32 y2 13 = , l33 6 y1 − l21 x2 − l31 x3 x1 = = 75. l11

y3 =

4.2.5 Nachiteration Trotz optimaler Auswahl der Pivotelemente können beim Gaußschen Algorithmus erhebliche Rundungsfehler entstehen, die zu ungenauen Resultaten führen. Durch eine

74 | 4 Lineare Gleichungssysteme angeschlossene Nachiteration lässt sich die Genauigkeit oftmals steigern. Es sei A die Koeffizientenmatrix und b der Vektor der rechten Seiten des linearen Gleichungssystems Ax = b.

(4.32)

x ist der exakte Lösungsvektor. Durch die numerische Rechnung sei eine erste Näherungslösung x(1) = (x1(1)

x2(1)

xn(1) )

⋅⋅⋅

T

(4.33)

gefunden worden. Durch r(1) = Ax(1) − b

(4.34)

wird der Residuenvektor r(1) = (r1(1)

r2(1)

⋅⋅⋅

T

rn(1) )

(4.35)

erklärt. Wenn x(1) die exakte Lösung ist, so gilt r(1) = 0. Durch eine Nachiteration soll für die erhaltene Näherung x(1) eine Korrektur Δx(1) ermittelt werden, die zu einer genaueren Lösung führt. Man fordert A(x(1) + Δx(1) ) = b und erhält Ax(1) + AΔx(1) = b und

AΔx(1) + r(1) = 0.

(4.36)

Es ergibt sich wiederum ein lineares Gleichungssystem mit der gleichen Koeffizientenmatrix A wie beim Ausgangssystem. Die rechten Seiten −r(1) sind die oben eingeführten Residuen. Die Lösung dieses Gleichungssystems ist der Korrekturvektor Δx(1) . Mit Erfolg kann aber nur gerechnet werden, wenn bei der Nachiteration mit einer längeren Mantisse bei Gleitkommazahlen gearbeitet wird, z. B. mit doppeltgenauen Zahlen. Weitere Nachiterationen können angeschlossen werden. Beispiel 4.13. Das lineare Gleichungssystem 4x1 + x2 + x4 = 3 x1 + 4x2 + x3 = −2 x2 + 4x3 = 1 x1 + 4x4 = −1

4.2 Eliminationsverfahren

| 75

wird zunächst mit Gleitkommazahlen bei dreiziffriger Mantisse gelöst. Dazu ist der Gaußsche Eliminationsalgorithmus zu benutzen: 4.00 ⋅ 100

1.00 ⋅ 100

1.00 ⋅ 100

4.00 ⋅ 100

1.00 ⋅ 100

0

0

4.00 ⋅ 100 0

1.00 ⋅ 10

0

1.00 ⋅ 100 0

3.75 ⋅ 10

1.00 ⋅ 100

0

0

−2.50 ⋅ 10

0

3.75 ⋅ 100

0

4.00 ⋅ 10 0

0

1.00 ⋅ 100

4.00 ⋅ 10

1.00 ⋅ 100 0

0

0

1.00 ⋅ 10

0

3.75 ⋅ 100 0

0

0

0

4.00 ⋅ 100 0

1.00 ⋅ 10

0

4.00 ⋅ 100 0

−1

4.00 ⋅ 100

0

0

0

1.00 ⋅ 100 0

3.73 ⋅ 10

6.67 ⋅ 10−2 0

1.00 ⋅ 100 3.73 ⋅ 100 0

1.00 ⋅ 100 0

0

3.00 ⋅ 100

−2.00 ⋅ 100 1.00 ⋅ 100

−1.00 ⋅ 100 1.00 ⋅ 100

3.00 ⋅ 100

−2.75 ⋅ 100

−2.50 ⋅ 10

−1

0

1.00 ⋅ 100

0

3.75 ⋅ 10

−1.75 ⋅ 100

−2.50 ⋅ 10−1

−2.75 ⋅ 100

1.00 ⋅ 100

6.68 ⋅ 10

3.00 ⋅ 100 1.73 ⋅ 100

−2

3.73 ⋅ 100

1.00 ⋅ 100

3.00 ⋅ 100

−2.75 ⋅ 100

−2.50 ⋅ 10−1 6.68 ⋅ 10−2 3.73 ⋅ 10

0

−1.96 ⋅ 100

Als erste Näherung x(1) und Residuenvektor r(1) erhält man: x4(1) = −5.25 ⋅ 10−1

r1(1) = −1.9 ⋅ 10−2

x2(1) x1(1)

r3(1) = 0

x3(1) = 4.73 ⋅ 10−1 = −8.94 ⋅ 10−1 =

1.10 ⋅ 100

r2(1) = 0 r4(1) = 0

1.73 ⋅ 100

76 | 4 Lineare Gleichungssysteme Damit wird die Nachiteration ausgeführt: 4.00

1.00000 ⋅ 100

1.00

4.00000 ⋅ 100

1.00

0

0

4.00 0

0

1.00000 ⋅ 10

0

1.00000 ⋅ 10

0

3.75000 ⋅ 10

0

1.00000 ⋅ 100

0

−2.50000 ⋅ 10

0

3.75000 ⋅ 100

4.00 0

0

4.00 0

0

0

1.00000 ⋅ 10

1.00000 ⋅ 100

4.00000 ⋅ 10

0

1.00000 ⋅ 100 0

1.00000 ⋅ 10

0

0

0

0

4.00000 ⋅ 100 1.00000 ⋅ 10

0

−2.50000 ⋅ 10

−1

4.00000 ⋅ 100

0

0

0

1.00000 ⋅ 10

1.00000 ⋅ 100

−2.50000 ⋅ 10−1

0

3.73333 ⋅ 10

6.66667 ⋅ 10

−2

6.66667 ⋅ 10−2 1.00000 ⋅ 10

0

3.75000 ⋅ 10

0

0

1.90000 ⋅ 10−2

0

0

0

1.00000 ⋅ 100 0

0

0

−1

0

3.75000 ⋅ 10

0

3.73333

1.00000 ⋅ 100

0

1.90000 ⋅ 10−2

−4.75000 ⋅ 10−3 0

−4.75000 ⋅ 10−3 1.90000 ⋅ 10−2

−4.75000 ⋅ 10−3 1.26667 ⋅ 10−3

−5.06667 ⋅ 10−3 1.90000 ⋅ 10−2

−4.75000 ⋅ 10−3

0

−5.08929 ⋅ 10−3

6.66667 ⋅ 10−2

0

0

−2.50000 ⋅ 10

−1

3.73333 ⋅ 100

0

3.73214 ⋅ 10

1.26667 ⋅ 10−3

Der Korrekturvektor Δx(1) führt zur verbesserten Lösung x(2) = x(1) + Δx(1) : Δx4(1) = −1.36364 ⋅ 10−3

x1(2) = 1.10546 ⋅ 100

Δx2(1) = −1.47229 ⋅ 10−3

x3(2) = 4.73430 ⋅ 10−1

x2(2) = −8.95472 ⋅ 10−1

Δx3(1) = 4.30167 ⋅ 10−3 Δx1(1) = 5.45898 ⋅ 10−3

x4(2) = −5.26364 ⋅ 10−1 .

4.2.6 Berechnung der inversen Matrix Mit dem Gaußschen Eliminationsalgorithmus lässt sich zu einer regulären Matrix A die zugehörige inverse Matrix A−1 bestimmen.

Es seien die reguläre Matrix A und eine noch unbekannte Matrix X a11 a21 A=( . .. an1

a12 a22 .. . an2

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

a1n a2n .. ) , . ann

x11 x21 X=( . .. xn1

x12 x22 .. . xn2

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

x1n x2n .. ) . xnn

(4.37)

4.2 Eliminationsverfahren

| 77

gegeben. Die Matrix X ist so zu bestimmen, dass AX = E gilt. Denkt man sich die Spalten der Matrizen X und E als Vektoren x1i .. . ( ) ( xi = ( xii ) ) .. . (xni )

0 .. . ( ) ( ei = ( 1 ) ), .. .

bzw.

(4.38)

(0)

so lässt sich obige Matrizengleichung in Form von n linearen Gleichungssystemen Axi = ei

bzw.

A(x1

x2

⋅⋅⋅

xn ) = (e1

e2

⋅⋅⋅

en )

(4.39)

formulieren, die alle die gleiche Koeffizientenmatrix A besitzen. Diese n linearen Gleichungssysteme können gemeinsam unter Benutzung des Gaußschen Eliminationsalgorithmus aufgelöst werden. Ausgangspunkt ist ein Koeffizientenschema der folgenden Art: a11 a21 .. . an1

a12 a22 .. . an2

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

a1n a2n .. . ann

1 0 .. . 0

0 1 .. . 0

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

0 0 .. . 1

(4.40)

Durch Benutzung der Äquivalenzoperationen wird das Ausgangsschema in eine Dreiecksform transformiert: r11 0 .. . 0

r12 r22 .. . 0

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

r1n r2n .. . rnn

c11 c21 .. . cn1

c12 c22 .. . cn2

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

c1n c2n .. . cnn

(4.41)

Daraus können die xij durch Rückwärtseinsetzen ermittelt werden: xni = xn−1,i = .. .

cni rnn

1

rn−1,n−1 .. .. . .

x1i =

(cn−1,i − rn−1,n xni )

1 (c − r x − ⋅ ⋅ ⋅ − r12 x2i ). r11 1i 1n ni

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

(4.42)

78 | 4 Lineare Gleichungssysteme Als Ergebnis erhält man die inverse Matrix

A−1

x11 x21 =( . .. xn1

x12 x22 .. . xn2

x1n x2n .. ) . . xnn

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

(4.43)

Bei der Verwendung des Gaußschen Eliminationsalgorithmus zur Bestimmung der inversen Matrix können ebenfalls alle oben angeführten Erweiterungen benutzt werden. Beispiel 4.14. Zu der Matrix 2 A = (1 1

3 2 −1

2 1) 0

ist die Inverse gesucht. Aus dem Schema des Gauß-Algorithmus 2 1 1 2 0 0 2 0 0

3 2 −1 3

1 2 − 52

3 1 2

0

2 1 0 2 0

1 0 0 1

− 21

−1

− 21

2 0 −1

− 21

1

−3

0 1 0 0 1

0 0 1 0 0

0

1

0 1 5

0 0 1

erhält man die Elemente der inversen Matrix x31 = 3 x21 = −1 x11 = −1

x32 = −5 x22 = 2 x12 = 2

x33 = −1 x23 = 0 x13 = 1,

−1 das heißt A−1 = (−1 3

Beispiel 4.15. Es ist die Inverse der Hilbertschen Matrix 1

A = ( 21 1 3

1 2 1 3 1 4

zu bestimmen. Aus dem Gaußschen Schema

1 3 1 ) 4 1 5

2 2 −5

1 0) . −1

4.2 Eliminationsverfahren

1 1 2 1 3

1 0 0 1 0 0

1 2 1 3 1 4

1 3 1 4 1 5

1 2 1 12 1 12

1 3 1 12 4 45

− 21 − 31

1 2 1 12

1 3 1 12 1 180

− 21 1 6

0

1

0

0

0

1

0

0

0

1

1

0

0

1

0

0

1

0

0

1

0

−1

1

1

| 79

kann man wieder die Elemente der Inversen ablesen: x31 = 30 x21 = −36 x11 = 9 Die Inverse ist dann

x32 = −180 x22 = 192 x12 = −36

9 A−1 = (−36 30

−36 192 −180

x33 = 180 x23 = −180 x13 = 30. 30 −180) . 180

4.2.7 Abschätzung der Fehlerfortpflanzung Es sei das lineare Gleichungssystem in Matrizenform Ax = b gegeben. Anstelle der exakten Eingangswerte A und b muss ein solches Gleichungssystem oftmals mit fehlerbehafteten Eingangswerten (A + ΔA) bzw. (b + Δb) behandelt werden. Als Lösungsvektor von (A+ΔA)⋅(x+Δx) = b+Δb folgt ohne Berücksichtigung von Rundungsfehlern ein ebenfalls fehlerbehafteter Vektor x + Δx. Dabei ist von Bedeutung, in welchem Maße die Abweichung Δx der ermittelten Lösung von der exakten Lösung des Systems von den Eingangsfehlern ΔA und Δb abhängt. Es sei ‖ ⋅ ‖ eines der im Kapitel 2 eingeführten Normenpaare ‖ ⋅ ‖1 oder ‖ ⋅ ‖∞ und cond(A) = ‖A−1 ‖ ⋅ ‖A‖ die auf der gewählten Norm basierende relative Konditionszahl des linearen Gleichungssystems. Dann lässt sich für den relativen Fehler des Lösungsvektors ‖δx‖ = ‖Δx‖/‖x‖ unter der Bedingung ‖A−1 ‖‖ΔA‖ ≤ 1 die folgende Abschätzung herleiten (siehe Maess [21]): ‖δx‖ =

‖Δb‖ ‖ΔA‖ ‖Δx‖ cond(A)( ‖b‖ + ‖A‖ ) ≤ ‖x‖ 1 − cond(A) ‖ΔA‖ ‖A‖

=

‖A−1 ‖‖A‖( ‖Δb‖ + ‖b‖

‖ΔA‖ ) ‖A‖

1 − ‖A−1 ‖‖ΔA‖

.

(4.44)

80 | 4 Lineare Gleichungssysteme Um diese Abschätzung praktisch nutzen zu können, ist die häufig aufwändige Bestimmung von cond(A) oder ‖A−1 ‖ erforderlich. Bei Verfahren zur Auflösung von speziellen linearen Gleichungssystemen sind mitunter einfache Abschätzungen für die Konditionszahlen angebbar. Beispiel 4.16. Es ist das lineare Gleichungssystem 1 x + 2 2 1 1 x + x + 2 1 3 2 1 1 x1 + x2 + 3 4 x1 +

1 x = 1 3 3 1 x = 0 4 4 1 x = −1 5 3

1

A = ( 21

mit

1 3

1 2 1 3 1 4

1 3 1 ) 4 1 5

und

1

b = ( 0) −1

zu lösen. Als exakter Lösungsvektor ergibt sich x = (x1

x2

x3 ) = (−21

144

− 150).

Für die Hilbert-Matrix sind aus Beispiel 4.15 die Inverse A

−1

9 = (−36 30

−36 192 −180

30 −180) 180

und aus Beispiel 2.11 die Normen 11 65 47 11 ; ; }= = 1.8333 6 60 60 6 ‖A−1 ‖1 = max{75; 408; 390} = 408 ‖A‖1 = max{

cond(A) =

408 ⋅

11 = 748 6

bereits bekannt. a) Im linearen Gleichungssystem wird 1/3 durch 0.3333 ersetzt. Es ist das fehlerbehaftete lineare Gleichungssystem zu lösen: x1 + 0.5000x2 + 0.3333x3 = 1 0.5000x1 + 0.3333x2 + 0.2500x3 = 0 0.3333x1 + 0.2500x2 + 0.2000x3 = −1. Es gilt 0 ΔA = ( 0 − 31 ⋅ 10−4

− 31

0 ⋅ 10−4 0

− 31 ⋅ 10−4 ) 0 0

und ‖ΔA‖ =

1 ⋅ 10−4 . 3

4.3 Iterationsverfahren

| 81

Bei Benutzung von Zahlen mit fünf Dezimalen besitzt dieses Gleichungssystem den Lösungsvektor x3 = 1.0563 ⋅ 100 ,

x2 = 1.0563 ⋅ 100 ,

x1 = 5.1072 ⋅ 100 .

Für den relativen Fehler ‖δx‖ ergibt sich aus der Rechnung bzw. aus der Abschätzung ‖δx‖ = 8.256 ⋅ 10−3

und

‖δx‖ ≤

748 ⋅

1 3

1 − 748 ⋅

⋅ 10−4 1 3

⋅ 10−4

= 2.557 ⋅ 10−2 .

b) Im Ausgangsgleichungssystem wird der Vektor b durch die Näherung 1.1 b̃ = ( 0) , −1.1

0.1 Δb = ( 0) , −0.1

‖Δb‖ = 0.1,

‖b‖ = 1

ersetzt. Aus der Abschätzungsformel ergibt sich für den relativen Fehler ‖δx‖ ≤ cond(A) ⋅

‖Δb‖ ≤ 748 ⋅ 0.1 = 74.8. ‖b‖

Das genäherte lineare Gleichungssystem 1 x + 2 2 1 1 x + x + 2 1 3 2 1 1 x + x + 3 1 4 2 x1 +

1 x = 1.1 3 3 1 x = 0 4 4 1 x = −1.1 5 3

besitzt den Lösungsvektor x̃ = (−23.375

158.95

− 165)

und

‖δx‖ = 15.

4.3 Iterationsverfahren Es ist ein lineares Gleichungssystem der Art a11 x1 + a12 x2 + ⋅ ⋅ ⋅ + a1n xn = b1

a21 x1 + a22 x2 + ⋅ ⋅ ⋅ + a2n xn .. .

= b2 .. .. . .

an1 x1 + an2 x2 + ⋅ ⋅ ⋅ + ann xn = bn

(4.45)

82 | 4 Lineare Gleichungssysteme bzw. mit a11 a21 A=( . .. an1

a12 a22 .. . an2

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

a1n a2n .. ) , . ann

x1 x2 x = ( . ), .. xn

b1 b2 b = ( . ), .. bn

Ax = b

(4.46)

vorgelegt. Dabei wird vorausgesetzt, dass die Matrix A regulär ist. Im vorigen Abschnitt wurden mögliche Verfahren zur Auflösung derartiger Gleichungssysteme angegeben, die aber besonders bei großem n praktisch zu numerischen Problemen durch Instabilitäten infolge von Rundungsfehlern und von Datenfehlern führen können und zudem bei großer Anzahl der Unbekannten unübersichtlich werden. Der Gaußsche Algorithmus hat bei Benutzung auf Rechnern den weiteren Nachteil, dass bei einer großen Anzahl der Gleichungen ein hoher Speichervorrat des Rechners erforderlich wird. In diesen Fällen bietet sich als Ausweg eine iterative Lösung des linearen Gleichungssystems an. Man beginnt mit einer Schätzung x(0) für den Lösungsvektor x, benutzt das Gleichungssystem, um einen besser angenäherten Vektor x(1) zu ermitteln, und gewinnt auf diese Weise fortfahrend weitere Näherungen x(2) , x(3) , . . .. Wenn Konvergenz der Folge x(1) , x(2) , . . . nachgewiesen werden kann, lässt sich der Lösungsvektor x mit beliebiger Genauigkeit annähern.

4.3.1 Gesamtschritt- oder Jacobi-Verfahren Es wird vorausgesetzt, dass die Koeffizientenmatrix, eventuell nach Zeilentausch im linearen Gleichungssystem, Hauptdiagonalelemente aii ≠ 0 (i = 1, . . . , n) besitzt. Dann lässt sich das lineare Gleichungssystem umschreiben in x1 = x2 = .. .

.. . xn =

1 (b − a12 x2 − a13 x3 − ⋅ ⋅ ⋅ − a1n xn ) a11 1 1 (b − a21 x1 − a23 x3 − ⋅ ⋅ ⋅ − a2n xn ). a22 2 .. . 1 (b − an1 x1 − an2 x2 − ⋅ ⋅ ⋅ − an,n−1 xn−1 ) ann n

(4.47)

Wären die xi in den Klammern bekannt, könnten die gesuchten Lösungen xj links so-

fort berechnet werden. Wenn die Näherung xi(k) (mit der Anfangsschätzung xi(0) ) vorliegt, lässt sich aus dem linearen Gleichungssystem eine neue Näherung xi(k+1) ermitteln, von der eine Verbesserung der Ausgangsnäherung erhofft werden kann. Damit

4.3 Iterationsverfahren

| 83

ergibt sich als Schema des Gesamtschrittverfahrens nach Jacobi für k = 1, 2, . . . x1(k+1) = x2(k+1) = .. .

.. .

xn(k+1) =

1 (b − a12 x2(k) − a13 x3(k) − ⋅ ⋅ ⋅ − a1n xn(k) ) a11 1 1 (b − a21 x1(k) − a23 x3(k) − ⋅ ⋅ ⋅ − a2n xn(k) ). a22 2 .. . 1 (k) ) (b − an1 x1(k) − an2 x2(k) − ⋅ ⋅ ⋅ − an,n−1 xn−1 ann n

(4.48)

Es werden folgende zusätzliche Bezeichnungen eingeführt a11 a21 A=( . .. an1 0 a21 R=( . .. an1

0 0 .. . an2

a12 a22 .. . an2 ⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅ 0 0 .. ) , . 0

0 0 L = (. .. 0 x1 x2 x = ( . ), .. xn

a12 0 .. . 0

a1n a2n .. ) = R + D + L . ann a11 0 D=( . .. 0 ⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

b1 b2 b = ( . ), .. bn

0 a22 .. . 0

mit

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

0 0 .. ) , . ann

(4.49)

a1n a2n .. ) , . 0 x1(k)

x (k) x(k) = ( 2. ) . .. (k) xn

Dann kann das Gesamtschrittverfahren in Matrixform geschrieben werden: x(k+1) = D−1 (b − (R + L)x(k) )

(k = 1, 2, . . .)

(4.50)

4.3.2 Abbruch beim Gesamtschrittverfahren Das Iterationsverfahren erzeugt eine Folge von Vektoren x(k) (k = 1, 2, . . .), die bei Erfüllung bestimmter Konvergenzkriterien gegen die exakte Lösung x streben, diese aber erst nach unendlich vielen Schritten zu erreichen braucht. Es muss deshalb bereits vor Beginn des Iterationsalgorithmus für eine Abbruchregelung gesorgt sein. Eine solche Abbruchregelung ist auf verschiedene Arten möglich:

84 | 4 Lineare Gleichungssysteme a) Es wird ein festes n0 vorgegeben, bei dem das Iterationsverfahren anzuhalten ist. b) Es wird eine Genauigkeitsschranke ϵ vorgegeben. Das Iterationsverfahren wird beendet, falls 󵄩󵄩 (k+1) 󵄩 − x(k) 󵄩󵄩󵄩 < ϵ 󵄩󵄩x erfüllt ist, wobei ‖ ⋅ ‖ eine der eingeführten Vektornormen bezeichnet. c) Es wird eine Kombination von a) und b) benutzt. Beispiel 4.17. Es ist das lineare Gleichungssystem 6x1 + 3x2 + 2x3 = −6 x1 + 5x2 − 3x3 = 0 −2x1 + x2 − 4x3 = 8 mit der Genauigkeitsschranke ϵ = 0.5 ⋅ 10−2 zu lösen. Die Iterationsvorschrift lautet: 1 (−6 − 3x2(k) − 2x3(k) ) 6 1 x2(k+1) = ( − x1(k) + 3x3(k) ) 5 1 x3(k+1) = − (8 + 2x1(k) − x2(k) ). 4

x1(k+1) =

Mit der Anfangsnäherung x1(0) = x2(0) = x3(0) = 0 ergibt sich (siehe Tab. 4.1): Tab. 4.1: Lösung des Beispiels 4.17 mit dem Gesamtschrittverfahren. k 0 1 2 3 .. . 11 12 13 14 15

x1(k)

x2(k)

0.0000 ⋅ 100 −0.1000 ⋅ 101 −0.6167 ⋅ 100 −0.6000 ⋅ 10−4 .. . 0.9632 ⋅ 100 0.9757 ⋅ 100 0.9839 ⋅ 100 0.9894 ⋅ 100 0.9932 ⋅ 100

0.0000 ⋅ 100 0.2000 ⋅ 100 −0.7467 ⋅ 100 −0.1127 ⋅ 101 .. . −0.1969 ⋅ 101 −0.1979 ⋅ 101 −0.1986 ⋅ 101 −0.1991 ⋅ 101 −0.1994 ⋅ 101

x3(k)

0.0000 ⋅ 100 −0.1450 ⋅ 101 −0.1878 ⋅ 101 −0.2281 ⋅ 101 .. . −0.2974 ⋅ 101 −0.2983 ⋅ 101 −0.2989 ⋅ 101 −0.2993 ⋅ 101 −0.2992 ⋅ 101

‖x(k) − x(k−1) ‖

0.6166 ⋅ 100 .. . 0.1250 ⋅ 10−1 0.8200 ⋅ 10−2 0.5500 ⋅ 10−2 0.3800 ⋅ 10−2

Die hinreichend genaue Näherung und die exakte Lösung lauten x

(15)

0.9932 ⋅ 100 = (−0.1994 ⋅ 101 ) , −0.2992 ⋅ 101

1 xex = ( −2) . −3

4.3 Iterationsverfahren

| 85

4.3.3 Einzelschritt- oder Gauss-Seidel-Verfahren Im obigen Iterationsschema können im (k + 1)-ten Schritt bereits verbesserte Werte xi(k+1) sofort mitbenutzt werden. Das Einzelschrittverfahren nach Gauss-Seidel besitzt dann für k = 1, 2, . . . das Schema x1(k+1) = x2(k+1) = .. .

.. .

xn(k+1)

=

1 (b − a12 x2(k) − a13 x3(k) − ⋅ ⋅ ⋅ − a1n xn(k) ) a11 1 1 (b − a21 x1(k+1) − a23 x3(k) − ⋅ ⋅ ⋅ − a2n xn(k) ). a22 2 .. . 1 (k+1) (b − an1 x1(k+1) − an2 x2(k+1) − ⋅ ⋅ ⋅ − an,n−1 xn−1 ann n

(4.51) )

In Matrizenschreibweise folgt x(k+1) = D−1 (b − Rx(k+1) − Lx(k) ).

(4.52)

4.3.4 Abbruch beim Einzelschrittverfahren Die Abbruchregeln beim Einzelschrittverfahren sind denen beim Gesamtschrittverfahren völlig äquivalent. Beispiel 4.18. Das lineare Gleichungssystem 4.1x1 + 1.9x2 + x3 = 4.9 1.9x1 + 6.1x2 + 2.9x3 = −5.1 x3 + 2.9x2 + 4.9x3 = 1.0 ist mit der Genauigkeitsschranke ϵ = 10−4 zu lösen. Die Iterationsvorschrift lautet: x1(k+1) =

1.1951

x2(k+1) = −0.8361 − 0.3115x1(k+1)

− 0.4634x2(k) − 0.2439x3(k)

x3(k+1) = 0.2041 − 0.2041x1(k+1) − 0.5918x2(k+1)

− 0.4754x3(k) .

Mit der Anfangsnäherung x1(0) = x2(0) = x3(0) = 0 ergibt sich folgender Iterationsverlauf (siehe Tab. 4.2): Die ausreichende Näherungslösung und die exakte Lösung sind 1.8241 x(10) = (−1.8428) 0.9224

und

1.82 xex = (−1.84) . 0.92

86 | 4 Lineare Gleichungssysteme Tab. 4.2: Lösung des Beispiels 4.18 mit dem Einzelschrittverfahren. k

x1(k)

x2(k)

x3(k)

0 1 2 3 .. . 8 9 10

0.0000 1.1951 1.5904 1.7517 .. . 1.8240 1.8241 1.8241

0.0000 −1.2084 −1.6525 −1.7894 .. . −1.8427 −1.8428 −1.8428

0.0000 0.8574 0.8574 0.9055 .. . 0.9223 0.9224 0.9224

‖x(k) − x(k−1) ‖

0.1613 ⋅ 100

0.1000 ⋅ 10−4 0

4.3.5 Konvergenz beim Gesamtschrittverfahren Bei der Verwendung von Iterationsverfahren zur Lösung linearer Gleichungssysteme ist vor Beginn der Rechnung zu sichern, dass die Iterationsfolge konvergiert. Beispiel 4.19. Das lineare Gleichungssystem 3.16x1 − 4.07x2 + 1.99x3 = 5.76 2.08x1 + 2.61x2 + 3.53x3 = −4.27 −1.54x1 + 2.31x2 + 2.11x3 = 3.73 soll iterativ mit dem Gesamtschrittverfahren gelöst werden. Die zugehörige Iterationsvorschrift x1(k+1) = 1.8228

+ 1.2880x2(k) − 0.6297x3(k)

x2(k+1) = −1.6360 − 0.7969x1(k)

− 1.3525x3(k)

x3(k+1) = 1.7678 + 0.7299x1(k) − 1.0948x2(k) führt mit der Startnäherung x1(0) = x2(0) = x3(0) = 0 zur Iteration nach Tab. 4.3. Diese Iterationsfolge x(k) strebt keinem Grenzwert zu, das Gesamtschrittverfahren konvergiert nicht. Die exakte Lösung des obigen linearen Gleichungssystems lässt sich mit dem Gaußschen Algorithmus zu x1 = 5.7600,

x2 = −4.2701,

x3 = 3.7302

bestimmen. Zur Konvergenz des Gesamtschrittverfahrens gibt es folgende Aussage: Satz 4.1. Das Gesamtschritt- oder Jacobi-Verfahren für das lineare Gleichungssystem Ax = b, das mit dem Ausgangsvektor x1(0) = x2(0) = ⋅ ⋅ ⋅ = xn(0) begonnen wird, strebt für k → ∞ der Lösung x zu, wenn eine der folgenden Bedingungen erfüllt ist:

4.3 Iterationsverfahren

| 87

a

a) maxi ∑nj=1 | aij | < 1, ii

b)

j=i̸ a maxj ∑ni=1 | aij | ii i=j̸

< 1.

Tab. 4.3: Versagen des Gesamtschrittverfahrens im Beispiel 4.19. k

x1(k)

x2(k)

x3(k)

0 1 2 3 4 5 6 7 8 9 10

0.0000 1.8228 −1.3976 −8.3137 −11.6157 −5.7149 6.8961 12.8771 2.0655 −20.9293 −34.4231

0.0000 −1.6360 −5.4795 −7.1352 −4.1356 2.8717 5.8704 0.3714 −12.4040 −19.9007 −7.7542

0.0000 1.7678 4.8894 6.7460 3.5112 −2.1828 −5.5474 0.3743 10.7602 16.8553 8.2788

Beispiel 4.20. Die Koeffizientenmatrix 6 A=( 1 −2

3 5 1

2 −3) −4

des im Beispiel 4.17 behandelten Gleichungssystems erfüllt beide im Satz 4.1 genannten Kriterien: a a) maxi ∑3j=1 | aij | = max{ 65 ; 45 ; 43 } = 65 < 1, ii

b)

j=i̸ a maxj ∑3i=1 | aij | ii i=j̸

7 3 14 ; 4 ; 15 } = = max{ 10

14 15

< 1.

Beispiel 4.21. Im Gegensatz dazu sind bei der Matrix 3.16 A = ( 2.08 −1.54

−4.07 2.61 2.31

1.99 3.53) 2.11

aus dem Beispiel 4.19 beide Kriterien nicht erfüllt: a a) maxi ∑3j=1 | aij | = max{1.9177; 2.1494; 1.8246} = 2.1494 > 1, ii

b)

j=i̸ a maxj ∑3i=1 | aij | ii i=j̸

= max{1.5268; 2.3828; 1.9822} = 2.3828 > 1.

88 | 4 Lineare Gleichungssysteme 4.3.6 Konvergenz beim Einzelschrittverfahren Das Einzelschrittverfahren konvergiert ebenfalls unter den Bedingungen a) und b) des vorigen Abschnittes. Es lässt sich aber in bestimmten Fällen auch bei einer Verletzung dieser Bedingungen Konvergenz nachweisen, falls das Sassenfeld-Kriterium erfüllt ist. Satz 4.2 (Sassenfeld-Kriterium). Die Folge der Näherungen x(k) beim Einzelschrittverfahren mit der Anfangsnäherung x1(0) = x2(0) = ⋅ ⋅ ⋅ = xn(0) = 0 konvergiert mit k → ∞ gegen die Lösung x des linearen Gleichungssystems Ax = b, wenn Faktoren km , gebildet aus n 󵄨󵄨 󵄨 󵄨 a 󵄨󵄨 k1 = ∑󵄨󵄨󵄨 1i 󵄨󵄨󵄨, 󵄨a 󵄨 i=2󵄨 11 󵄨

m−1󵄨󵄨 n 󵄨󵄨 󵄨 󵄨 󵄨 a 󵄨󵄨 󵄨 a 󵄨󵄨 km = ∑ 󵄨󵄨󵄨 mi 󵄨󵄨󵄨ki + ∑ 󵄨󵄨󵄨 mi 󵄨󵄨󵄨 󵄨a m󵄨 󵄨a 󵄨 i=1 󵄨 m 󵄨 i=m+1󵄨 mm 󵄨

(m = 2, 3, . . . , n),

die Bedingung k0 = max{km } < 1 m

erfüllen. Beispiel 4.22. Die Matrix 6 A=( 1 −2

3 5 1

2 −3) −4

des Gleichungssystems aus Beispiel 4.17 erfüllt ebenfalls das Sassenfeld-Kriterium. Für die Faktoren k1 , k2 , k3 ergibt sich k1 =

5 , 6

k2 =

23 , 30

k3 =

73 120

und damit k0 =

5 < 1. 6

Beispiel 4.23. Mit der Matrix 3.16 A = ( 2.08 −1.54

−4.07 2.61 2.31

1.99 3.53) 2.11

aus Beispiel 4.19 erfüllt auch das Sassenfeld-Kriterium nicht: k1 = 1.9177,

k2 = 2.8808,

k3 = 4.5535,

k0 = 4.5535 > 1.

4.3.7 Fehlerabschätzung bei Iterationsverfahren Die Lösung des linearen Gleichungssystems Ax = b kann bei vorausgesetzter Regularität der Koeffizientenmatrix A in eine Iterationsvorschrift der Art x(k+1) = Tx(k) + v

(4.53)

4.3 Iterationsverfahren

| 89

überführt werden (siehe Maess [21]). Es bezeichnen a11 a21 A=( . .. an1

a12 a22 .. . an2

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

a1n a2n .. ) , . ann

x1 x2 x = ( . ), .. xn

a11 0 D=( . .. 0

0 a22 .. . 0

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

0 0 .. ) , . ann

0 a21 L=( . .. an1

0 0 R = (. .. 0

a12 0 .. . 0

⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

a1n a2n .. ) , . 0

0 0 .. . an2

b1 b2 b = ( . ), .. bn ⋅⋅⋅ ⋅⋅⋅ .. . ⋅⋅⋅

A = D + L + R.

0 0 .. ) , . 0

(4.54)

Beim Gesamtschrittverfahren ergibt sich aus Ax = b Dx(k+1) = b − (L + R)x(k)

x(k+1) = D−1 b − D−1 (L + R)x(k) .

(4.55)

Mit T = −D−1 (L + R)

und v = D−1 b

(4.56)

ist eine iterierfähige Form x(k+1) = Tx(k) + v

(4.57)

gefunden. Dabei ist D−1 einfach bildbar: 1 a11

D−1 = (

0

0

1 a22

⋅⋅⋅

⋅⋅⋅ 0

⋅⋅⋅ 0

⋅⋅⋅ .. . ⋅⋅⋅

0

0 .. ) . .

(4.58)

1 ann

Die Vorschrift beim Einzelschrittverfahren ergibt: Dx(k+1) = b − Rx(k) − Lx(k+1)

(D + L)x(k+1) = b − Rx(k)

x(k+1) = (D + L)−1 b − (D + L)−1 Rx(k) .

(4.59)

90 | 4 Lineare Gleichungssysteme Wird T = −(D + L)−1 R

und v = (D + L)−1 b

(4.60)

gesetzt, so ist eine iterierfähige Form x(k+1) = Tx(k) + v

(4.61)

entstanden. Allerdings ist die Ermittlung der inversen Matrix (D + L)−1 in diesem Fall aufwändiger. Die Iterationsvorschrift x(k+1) = Tx(k) + v erzeugt aus einem x(0) , z. B. x(0) = (0 0 ⋅ ⋅ ⋅ 0)T , eine Folge von Näherungen x(1) , x(2) , . . .. Unter Benutzung des Fixpunktsatzes von Banach können Aussagen über diese Näherungsfolge x(k) , k = 1, 2, . . . erhalten werden. Satz 4.3. Es sei x⋆ die exakte Lösung des linearen Gleichungssystems und δ(k) = x(k) − x⋆ die Differenz zwischen k-ter Näherung und exakter Lösung. Die Iterationsmatrix T erfülle in einer der eingeführten Normen die Bedingung ‖T‖ = M < 1. Dann strebt die Näherungsfolge x(k) für k → ∞ gegen die eindeutige Lösung x⋆ . Für die Differenz δ(k) gelten die Abschätzungen: M a) ‖δ(k) ‖ ≤ 1−M ‖x(k) − x(k−1) ‖ (a-posteriori-Abschätzung), b) ‖δ(k) ‖ ≤

Mk ‖x(1) 1−M

− x(0) ‖ (a-priori-Abschätzung).

Aus der a-priori-Abschätzung kann bei einer vorausgesetzten, mindestens zu erreichenden Genauigkeit ϵ bereits nach dem ersten Iterationsschritt die Gesamtzahl der erforderlichen Schritte abgeschätzt werden: 󵄩󵄩 (n) 󵄩󵄩 󵄩󵄩δ 󵄩󵄩 < ϵ

führt zu n >

ln ϵ ln(1 − M) . ln ‖x(1) − x(0) ‖ ln M

(4.62)

Beispiel 4.24. Es wird das lineare Gleichungssystem betrachtet Ax = b

mit

6 A=( 1 −2

3 5 1

2 −3) −4

und

−6 b = ( 0) , 8

für das die Konvergenz bereits nachgewiesen ist. Die Zerlegung der Koeffizientenmatrix ergibt: 6 D = (0 0

0 5 0

0 0) , −4

0 L=( 1 −2

0 0 1

0 0) , 0

0 R = (0 0

3 0 0

2 −3) . 0

4.3 Iterationsverfahren

| 91

A) Gesamtschrittverfahren Für die Iterationsvorschrift benötigt man noch folgende Matrizen: D

−1

1 6

= (0 0

0

0 0) ,

1 5

0 (L + R) = ( 1 −2

− 41

0

1 2

0

T = − ( 51

0

1 2

− 41

1 3 − 35 ) ,

3 0 1

2 −3) , 0

−1 v = ( 0) . −2

0

Mit 5 4 3 5 ‖T‖1 = max{ ; ; } = = M < 1, 6 5 4 6 x(0) = (0

0

0) und

x(1) = (−1

2

− 1.45)

erhält man folgende Abschätzungen für den Fehler nach 3 und nach 15 Schritten: a) a-posteriori-Abschätzung 5 6

k=3:

󵄩󵄩 (3) 󵄩󵄩 󵄩󵄩δ 󵄩󵄩 ≤

k = 15 :

󵄩󵄩 (15) 󵄩󵄩 󵄩󵄩δ 󵄩󵄩 ≤

1−

5 6

1−

5 6

󵄩󵄩 (3) (2) 󵄩 󵄩󵄩x − x 󵄩󵄩󵄩 = 5 ⋅ 0.6166 = 3.083,

5 6

󵄩󵄩 (15) (14) 󵄩 󵄩󵄩x − x 󵄩󵄩󵄩 = 5 ⋅ 0.0038 = 0.0190.

b) a-priori-Abschätzung k=3: k = 15 :

5 3 󵄩󵄩 (3) 󵄩󵄩 ( 6 ) 󵄩󵄩 (1) (0) 󵄩 δ ≤ 󵄩󵄩x − x 󵄩󵄩󵄩 = 3.47 ⋅ 1.45 = 5.035, 󵄩󵄩 󵄩󵄩 1 − 65

5 15 󵄩󵄩 (15) 󵄩󵄩 ( 6 ) 󵄩󵄩 (1) (0) 󵄩 󵄩 󵄩󵄩δ 󵄩󵄩 ≤ 󵄩x − x 󵄩󵄩 = 0.389 ⋅ 1.45 = 0.565. 5󵄩 1− 6

B) Einzelschrittverfahren Folgende Matrizen sind zur Bildung der Iterationsvorschrift nötig: (D + L)−1 =

1 0 6 1 1 ( − 30 5 11 1 − 120 20

0

0) ,

− 41

0 − 21 − 31

T = (0 0

1 10 11 40

2 ), 3 1 3

v=(

−1

1 5 ). 29 − 20

Wegen 5 5 23 73 }= =M0 ⟨ϕl , ϕk ⟩ = ∫ ϕl (x)ϕk̄ (x)dx = { k 0 a

: :

l=k l ≠ k

für alle l, k.

Wenn zusätzlich die Bedingung b

⟨ϕk , ϕk ⟩ = ∫ ϕk (x)ϕk̄ (x)dx = bk = 1

für alle k

a

erfüllt ist, spricht man von einem Orthonormalsystem. Ein Orthogonalsystem {ϕ1 , ϕ2 , . . . , ϕn } ist durch {

1 1 1 ϕ1 , ϕ2 , . . . , ϕn } √b1 √b2 √bn

in ein Orthonormalsystem überführbar. Die Orthogonalität und die Normiertheit eines Funktionensystems sind dabei an das Intervall gebunden.

118 | 5 Approximation von Funktionen Beispiel 5.11. Das System von komplexen Funktionen ϕk (x) = e

i kπx p

= cos

kπx kπx + i sin p p

(k ∈ ℤ)

(5.14)

ist bezüglich des Intervalls [0, 2p] ein Orthogonalsystem. Zum Nachweis der Orthogonalität nutzt man die Beziehung ϕk̄ (x) = e

−i kπx p

= cos

kπx kπx − i sin . p p

Damit erhält man für dieses Funktionensystem im Fall n ≠ k 2p

⟨ϕn , ϕk ⟩ = ∫ e

i nπx −i kπx p p

e

2p

dx = ∫ e

0

i (n−k)πx p

dx

0

󵄨󵄨2p ip 󵄨󵄨 (ei2(n−k)π − 1) 󵄨󵄨 = − 󵄨󵄨0 (n − k)π

p e i(n − k)π ip (cos 2(n − k)π − sin 2(n − k)π − 1) =− 2(n − k)π ip (1 − 0 − 1) = 0. =− 2(n − k)π i (n−k)πx p

=

In Fall n = k ergibt sich 2p

⟨ϕn , ϕn ⟩ = ∫ e

i nπx −i nπx p p

e

2p

dx = ∫ 1dx = 2p.

0

0

Damit ist das System ein Orthogonalsystem. Das zugehörige Orthonormalsystem ist ϕk (x) =

1 1 i kπx kπx kπx e p = (cos + i sin ) (k ∈ ℤ). p p √2p √2p

(5.15)

Das Orthogonalsystem 5.14 besteht aus Funktionen mit dem Periodenintervall [0, 2p]. Systeme aus periodischen Funktionen bleiben auch bei einer Verschiebung des Intervalls orthogonal bzw. orthonormal. Die System 5.14 und 5.15 sind daher auch bezüglich des Intervalls [−p, p] ein Orthogonal- bzw. Orthonormalsystem. Die Bedeutung von Orthonormalsystemen bei der Approximation von Funktionen ergibt sich aus den folgenden Überlegungen, die hier für den reellen Fall dargestellt werden. Das Ergebnis ist aber in ähnlicher Form auch für komplexwertige Funktionen gültig. Es sei {ϕl (x), l = 1, 2, . . . , n} ein Orthonormalsystem auf [a, b]. Die Funktion f (x) sei auf [a, b] definiert. Das verallgemeinerte Polynom n

∑ cl ϕl (x) l=1

5.3 Stetige Approximation mit der Methode der kleinsten Quadrate

| 119

soll nach der Methode der kleinsten Quadrate an f angepasst werden. Die zugehörige Extremwertaufgabe b

2

n

F(c1 , c2 , . . . , cn ) = ∫(f (x) − ∑ cl ϕl (x)) dx → min! l=1

a

liefert als notwendige Bedingung für ein Extremum das Gleichungssystem b

n 𝜕F = −2 ∫(f (x) − ∑ cl ϕl (x))ϕk (x)dx 𝜕ck l=1

(k = 1, 2, . . . , n)

a

b

n

b

l=1

a

= −2(∫ f (x)ϕk (x)dx − ∑ cl ∫ ϕl (x)ϕk (x)dx) = 0 a

für die Koeffizienten cl . Wegen der Orthonormalität b

∫ ϕl (x)ϕk (x)dx = { a

1 0

: :

l=k l ≠ k

verschwinden mit einer Ausnahme alle Summanden der in der Klammer stehenden Summe. Das System vereinfacht sich dann zu b

∫ f (x)ϕk (x)dx − ck = 0

(k = 1, 2, . . . , n).

a

Für ein verallgemeinertes Polynom aus Funktionen eines Orthonormalsystems sind die Koeffizienten deshalb durch b

ck = ∫ f (x)ϕk (x)dx

(k = 1, 2, . . . , n)

(5.16)

a

direkt zu berechnen. Ähnlich einfach ist die Berechnung der Koeffizienten ck , wenn das verallgemeinerte Polynom aus Funktionen eines Orthogonalsystems mit der Eigenschaft b

⟨ϕl , ϕk ⟩ = ∫ ϕl (x)ϕk (x)dx = { a

bk > 0 0

: :

l=k l ≠ k

gebildet wird. Das zu lösende Gleichungssystem vereinfacht sich dann zu b

ck =

1 ∫ f (x)ϕk (x)dx bk a

(k = 1, 2, . . . , n).

(5.17)

120 | 5 Approximation von Funktionen 5.3.2 Legendre-Polynome Ein Orthogonalsystem auf dem Intervall [−1, 1] sind die Legendre-Polynome ϕk (x) =

1 dk 2 k (x − 1) k k 2 k! dx

(k = 0, 1, . . . , n).

(5.18)

Der Faktor vor der Ableitung in den Legendreschen Polynomen ist kein Normierungsfaktor im Sinne eines Orthonormalsystems. Die klassische Definition der Legendreschen Polynome 0

ϕ0 (x) = (x2 − 1) = 1, ϕ1 (x) = ϕ2 (x) = ϕ3 (x) = ϕ4 (x) = ϕ5 (x) = .. .

1 d 2 (x − 1) = x, 2 dx 1 d2 2 1 2 (x − 1) = (3x2 − 1), 2 22 2 dx2 1 1 d3 2 3 (x − 1) = (5x3 − 3x), 2 23 3! dx3 1 1 d4 2 4 (x − 1) = (35x4 − 30x2 + 3), 8 24 4! dx4 1 d5 2 1 5 (x − 1) = (63x5 − 70x3 + 15x), 5 18 2 5! dx5

ist so angelegt, dass alle Polynome die Eigenschaft ϕl (1) = 1 haben (s. Abb. 5.14). Die Legendreschen Polynome sind nicht orthonormal, es gilt 1

2

∫ ϕl (x)ϕk (x)dx = { 2k+1 0

−1

: :

l=k l ≠ k.

Wenn man die ersten beiden Legendreschen Polynome kennt, lassen sich die weiteren Polynome auch nach der einfachen Rekursionsformel (k + 1)ϕk+1 = (2k + 1)xϕk − kϕk−1 berechnen. Der Vorteil einer Entwicklung nach orthogonalen Funktionen wird klar erkennbar, wenn man dieses Hilfsmittel nutzt, um die Aufgaben aus den Beispielen 5.9 und 5.10 zu bearbeiten. Die Koeffizienten höherer Legendre-Polynome und weitere orthogonale Funktionensysteme sind beispielsweise bei Rade und Westergren [27] zu finden. Beispiel 5.12. Zur Funktion y(x) = ex ist auf dem Intervall [−1, 1] das quadratische Approximationspolynom mit Hilfe der Legendreschen Polynome zu bestimmen.

5.3 Stetige Approximation mit der Methode der kleinsten Quadrate

| 121

1 y 0.5 −1

x 0.5

−0.5 −0.5 −1

1 Abb. 5.14: Die ersten sechs Legendre-Polynome.

Die Koeffizienten c0 , c1 und c2 des Polynoms

1 P2 (x) = c0 + c1 x + c2 (3x 2 − 1) 2 können nach der Formel 5.17 direkt berechnet werden. Man erhält mit c0 =

1

1

−1

−1

1 1 1 1 ∫ ex ϕ0 (x)dx = ∫ ex dx = (e − ), b0 2 2 e 1

c1 =

1

3 3 1 ∫ ex ϕ1 (x)dx = ∫ xex dx = , b1 2 e −1

−1

1

1

1 5 1 5 7 c2 = ∫ ex ϕ2 (x)dx = ∫ (3x2 − 1)ex dx = (e − ) b2 2 2 2 e −1

das Polynom

−1

1 3 5 7 1 P2 (x) = (e − ) + x + (e − )(3x2 − 1) 2 e e 4 e 3 15 7 3 11 = ( − e) + x + (e − )x 2 . 4 e e 4 e Die Erweiterung der Aufgabenstellung nach Beispiel 5.10 auf die Berechnung eines Polynoms vom Grad vier erfordert jetzt nur noch die Bestimmung der zusätzlichen Koeffizienten 1

c3 =

7 1 7 37 ∫ (5x3 − 3x)ex dx = ( − 5e), 2 2 2 e −1

1

133 9 1 c4 = ∫ (35x4 − 30x 2 + 3)ex dx = 9(18e − ). 2 8 e −1

Das neue Polynom ist dann 1 1 3 5 7 P4 (x) = (e − ) + x + (e − )(3x2 − 1) 2 e e 4 e 7 37 9 133 + ( − 5e)(5x3 − 3x) + (18e − )(35x4 − 30x2 + 3). 4 e 8 e

122 | 5 Approximation von Funktionen Durch Umstellung und Zusammenfassung von Summanden kann auch hier die aus Beispiel 5.10 bekannte Form erzeugt werden.

5.3.3 Approximation durch trigonometrische Funktionen In der Technik wird häufig die Approximation von Funktionen durch verallgemeinerte Polynome aus trigonometrischen Funktionen benötigt, beispielsweise bei der Untersuchung der in zeitlich veränderlichen Vorgängen enthaltenen harmonischen Schwingungsanteile. Die Approximation durch trigonometrische Polynome wird daher auch als harmonische Analyse bezeichnet. Die Funktionen ϕ0 (x) = 1,

kπx p kπx ϕ2k (x) = cos p

ϕ2k−1 (x) = sin

(k = 1, 2, . . .)

und

(k = 1, 2, . . .)

haben das gemeinsame Periodenintervall [−p, p]. Sie bilden bezüglich dieses Intervalls auch ein Orthogonalsystem. Zur Demonstration soll hier der Nachweis der Orthogonalität von ϕ2k−1 und ϕ2l geführt werden. Mit Hilfe der Substitutionen z=

(k + l)πx p

und y =

(k − l)πx p

erhält man aus dem Additionstheorem sin z + sin y = 2 sin

z+y z−y cos 2 2

die Formel 1 (k + l)πx (k − l)πx kπx lπx (sin + sin ) = sin cos , 2 p p p p die bei der folgenden Rechnung verwendet wird. Im Fall l ≠ k gilt: p

⟨ϕ2k−1 , ϕ2l ⟩ = ∫ sin −p

=

kπx lπx cos dx p p

p

p

−p

−p

1 (k + l)πx 1 (k − l)πx dx + ∫ sin dx ∫ sin 2 p 2 p

p p p (k + l)πx 󵄨󵄨󵄨󵄨 p (k − l)πx 󵄨󵄨󵄨󵄨 =− cos cos 󵄨󵄨 − 󵄨󵄨 󵄨󵄨−p 2(k − l)π 󵄨󵄨−p 2(k + l)π p p

5.3 Stetige Approximation mit der Methode der kleinsten Quadrate

| 123

p (cos((k + l)π) − cos(−(k + l)π)) 2(k + l)π p − (cos((k − l)π) − cos(−(k − l)π)) = 0. 2(k − l)π

=−

Im Fall l = k vereinfacht sich die Rechnung zu ⟨ϕ2k−1 , ϕ2l ⟩ =

p

p

−p

−p

p 1 2kπx 1 p 2kπx 󵄨󵄨󵄨󵄨 dx + ∫ sin 0dx = − cos ∫ sin 󵄨󵄨 2 p 2 4kπ p 󵄨󵄨−p

p (cos(2kπ) − cos(−2kπ)) = 0. =− 4kπ Zum vollständigen Nachweis der Orthogonalität fehlt noch die Überprüfung der folgenden Eigenschaften: p

⟨ϕ0 , ϕ2l ⟩ = ∫ cos −p p

⟨ϕ0 , ϕ2k−1 ⟩ = ∫ sin −p p

⟨ϕ2k , ϕ2l ⟩ = ∫ cos −p p

⟨ϕ2k−1 , ϕ2l−1 ⟩ = ∫ sin −p

lπx dx = 0 p kπx dx = 0 p kπx lπx cos dx = 0 p p

(l ≠ k)

lπx kπx sin dx = 0 p p

(l ≠ k).

Diese Rechnung sei dem interessierten Leser als Übungsaufgabe überlassen. Für die Approximationsformeln ist die Bestimmung der Größen p

b0 = ⟨ϕ0 , ϕ0 ⟩ = ∫ 12 dx = 2p, −p

p

b2k = ⟨ϕ2k , ϕ2k ⟩ = ∫ (cos −p

p

b2k−1 = ⟨ϕ2k−1 , ϕ2k−1 ⟩ = ∫ (sin −p

2

p

1 p kπx kπx kπx ) dx = [ sin cos + x] = p, p 2 kπ p p −p 2

kπx ) dx p p

1 p kπx kπx = [− sin cos + x] = p 2 kπ p p −p wichtig. Auf den Intervall [−p, p] ist also das Funktionensystem {

1 1 πx 1 πx 1 2πx 1 2πx , cos , sin , cos , sin , . . .} p √p p √p p √p p √2p √p

124 | 5 Approximation von Funktionen ein Orthonormalsystem. Der wichtigste Spezialfall dieses Systems ist das Orthonormalsystem {

1 1 1 1 1 cos x, sin x, cos 2x, sin 2x, . . .} , √2π √π √π √π √π

auf dem Intervall [−π, π]. Nun kann man das nach der Methode der kleinsten Quadrate auf dem Intervall [−p, p] beste verallgemeinerte Polynom aus trigonometrischen Funktionen zur Funktion f angeben. Solche Polynome werden als Fourier-Polynome oder Fourier-Reihenentwicklungen bezeichnet. Für die Fourier-Polynome hat sich die Schreibweise n a0 kπx kπx + ∑ (ak cos + bk sin ) 2 k=1 p p

Fn (x) =

(5.19)

durchgesetzt. Für die Koeffizienten erhält man aus der Gleichung 5.17 die Formeln p

kπx 1 dx ak = ∫ f (x) cos p p

(k = 0, 1, . . . , n)

(5.20)

(k = 1, 2, . . . , n).

(5.21)

−p p

kπx 1 bk = ∫ f (x) sin dx p p −p

Die etwas abgeänderte Form des Summanden a0 hat sich eingebürgert, da diese Schreibweise wegen ϕ0 (x) = cos 0x = 1 die Einbeziehung des Koeffizienten a0 in die allgemeine Vorschrift zur Berechnung der ak gestattet. Für den Fall der Entwicklung einer Funktion f auf dem Intervall [−π, π] in ein Fourier-Polynom hat das entstehende Polynom die Gestalt Fn (x) =

n a0 + ∑ (ak cos kx + bk sin kx). 2 k=1

(5.22)

Seine Koeffizienten werden berechnet durch π

1 ak = ∫ f (x) cos kxdx π

(k = 0, 1, . . . , n),

(5.23)

1 ∫ f (x) sin kxdx π

(k = 1, 2, . . . , n).

(5.24)

−π π

bk =

−π

Beispiel 5.13. In der Nachrichtentechnik sind Rechteckkurven der Art h f (x) = { −h

: :

0≤x

0.

k=1

(10.46)

Mit den Potenzsummen wird die quadratische, symmetrische Matrix M gebildet: s0 s M=( 1 ⋅ sn−1

s1 s2 ⋅ sn

⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅

sn−1 sn ). ⋅ s2n−2

(10.47)

Aussage 10.7. Die Anzahl g der voneinander verschiedenen Nullstellen von Pn (x) ist gleich dem Rang ρ der Matrix M. 10.4.2.2 Polynomfunktionen mit reellen Koeffizienten Die Polynomfunktion Pn (x) hat die Gestalt Pn (x) = xn + a1 xn−1 + ⋅ ⋅ ⋅ + an−1 x + an

(aj reell).

(10.48)

Dann ist M eine quadratische und symmetrische Matrix mit reellen Elementen sν (ν = 0, 1, . . . , 2n−2). Zur Bestimmung der Anzahl der Nullstellen werden der Rang der Matrix und die Hauptminoren p-ter Ordnung (p = 0, 1, . . . , n − 1) von M benötigt. Es wird mit D die Determinante der Matrix M bezeichnet 󵄨󵄨󵄨s0 s1 ⋅ ⋅ ⋅ sn−1 󵄨󵄨󵄨󵄨 󵄨󵄨 󵄨 󵄨󵄨s s2 ⋅ ⋅ ⋅ sn 󵄨󵄨󵄨󵄨 󵄨󵄨 1 D = det(M) = 󵄨󵄨 (10.49) 󵄨󵄨 . 󵄨󵄨⋅ 󵄨󵄨 ⋅ ⋅⋅⋅ ⋅ 󵄨󵄨 󵄨󵄨 󵄨󵄨󵄨sn−1 sn ⋅ ⋅ ⋅ s2n−2 󵄨󵄨󵄨 Der Hauptminor (p + 1)-ter Ordnung von D ist 󵄨󵄨s 󵄨󵄨 0 󵄨󵄨 󵄨󵄨s Dp = 󵄨󵄨󵄨 1 󵄨󵄨⋅ 󵄨󵄨 󵄨󵄨s 󵄨 p

s1 s2 ⋅ sp+1

⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅

sp 󵄨󵄨󵄨󵄨 󵄨 sp+1 󵄨󵄨󵄨󵄨 󵄨. ⋅ 󵄨󵄨󵄨󵄨 󵄨 s2p 󵄨󵄨󵄨

(10.50)

Man erhält Dp aus D, indem in D die (n − 1 − p) letzten Zeilen und Spalten gestrichen werden. Für die zu behandelnde Problemstellung benötigt man die Hauptminorenreihe 1, D0 , D1 , . . . , Dn−1 . Zur Vermeidung numerischer Probleme kann es vorteilhaft sein, eine äquivalente Hauptminorenreihe aufzustellen. Dazu wird vor dem Übergang von Dr zu Dr+1 in Dr eine gleichstellige Umordnung vorgenommen. Eine Umordnung in Dr heißt gleichstellig, wenn sowohl die i-te und k-te Zeile als auch die i-te und k-te Spalte vertauscht werden, wenn also Hauptdiagonalelemente wieder in Hauptdiagonalelemente übergehen.

10.4 Anzahl und Lage der Nullstellen von Polynomen

| 393

Aussage 10.8. Die Anzahl d der voneinander verschiedenen Paare konjugiert komplexer Nullstellen von Pn (x) ist gleich der Anzahl m der Zeichenwechsel in der Hauptminorenreihe 1, D0 , D1 , . . . , Dn−1 . Die Herleitungen der Aussagen findet man bei Fricke [14], Obreschkoff [24] und Gantmacher [16]. Die Bestimmung des Ranges ρ der Matrix M und die Berechnung der Determinanten der Hauptminorenreihe erfordern umfangreiche Rechnungen. Dieser Aufwand kann wesentlich verringert werden, wenn die Matrix M auf eine Dreiecksgestalt transformiert wird. Mit den Bezeichnungen (0) s(0) u,v = sv,u = su+v

(u, v = 0, 1, . . . , n − 1)

(10.51)

folgt s(0) 0,0 s(0) 1,0

M=( ⋅

s(0) n−1,0

s(0) 0,1

s(0) 0,n−1

⋅⋅⋅

s(0) 1,1

⋅⋅⋅

s(0) 1,n−1



⋅⋅⋅



s(0) n−1,1

⋅⋅⋅

s(0) n−1,n−1

(10.52)

).

Ziel ist eine Dreiecksform der Art s(0) 0,0

M∗ = (

0

s(0) 0,1

⋅⋅⋅

s(0) 0,n−1

s(1) 1,1

⋅⋅⋅

s(1) 1,n−1





⋅⋅⋅



0

0

⋅⋅⋅

s(n−1) n−1,n−1

(10.53)

).

Durch die Querstriche ist vermerkt, dass eventuelle erforderliche gleichstellige Umordnungen bei der Transformation von M auf die Dreiecksform ausgeführt worden sind. Für die Transformation wird das übliche Vorgehen der Gaußschen Elimination benutzt. Ergibt sich im Laufe der Rechnung eine Teilmatrix, in der auch nach erfolgter gleichstelliger Umordnung alle Hauptdiagonalelemente null sind, 0 M∗∗ =

s(t) t,t+1

s(t) t,t+2

s(t) t,n−1

s(t) t+1,n−1

0

s(t) t+2,t+1

0

⋅⋅⋅

) ), s(t) t+2,n−1 )







⋅⋅⋅



s(t) n−1,t+1

s(t) n−1,t+2

⋅⋅⋅

0

(t) (sn−1,t

s(t) t+1,t+2

⋅⋅⋅

s(t) ( t+1,t (s(t) ( t+2,t

⋅⋅⋅

)

(10.54)

394 | 10 Polynome so kann man durch eine gleichstellige Zeilen- und Spaltenaddition mit q ≠ 0, beliebig reell, die Teilmatrix auf eine für die Weiterrechnung geeignete Form (t) q(s(t) t,t+1 + st+1,t )

M∗∗∗ =

s(t) ( t+1,t (s(t) ( t+2,t

s(t) t,t+1

s(t) t,t+2

0

(t) (sn−1,t

⋅⋅⋅

s(t) t,n−1

s(t) t+1,n−1

0

⋅⋅⋅

) ), s(t) t+2,n−1 )





⋅⋅⋅



s(t) n−1,t+1

s(t) n−1,t+2

⋅⋅⋅

0

s(t) t+2,t+1



⋅⋅⋅

s(t) t+1,t+2

(10.55)

)

gebracht werden. Die Rechnung wird abgebrochen, wenn entweder die Matrix vollständig in eine Dreiecksform überführt ist oder sich eine Teilmatrix ergibt, die aus lauter Nullen besteht. Durch den Umwandlungsprozeß werden sowohl der Rang ρ der Matrix M als auch die Hauptminorenreihe bestimmt. Hat man bei der Umwandlung (ρ−1) s(0) 0,0 , . . . , sρ−1,ρ−1 ≠ 0 berechnet und sind die Elemente der nachfolgenden (n − 1 − ρ) Zeilen alle gleich null, so ist Dρ−1 ≠ 0

und

Dρ = Dρ+1 = ⋅ ⋅ ⋅ = Dn−1 = 0,

(10.56)

und der Rang der Matrix M ist gleich ρ. Da durch die gleichstellige Umordnung von Zeilen und Spalten bei der Ausführung der Transformation auf Dreiecksgestalt Hauptminoren von M wieder in Hauptminoren des gleichen Typs überführt werden, erhält man mit den Hauptdiagonalelementen der transformierten Matrix die Hauptminorenreihe w−1

Dw = ∏ s(σ) σ,σ σ=0

(w = 1, 2, . . . , ρ − 1).

(10.57)

Zur Bestimmung der Anzahl m der Zeichenwechsel in der Hauptminorenreihe genügt es, die Anzahl der Minuszeichen in der Hauptdiagonalelementenfolge s(σ) σ,σ , σ = 0, 1, 2, . . . , ρ − 1 abzuzählen. Aussage 10.9. Für eine Polynomfunktion Pn (x) seien: – g Anzahl der voneinander verschiedenen Nullstellen, – r Anzahl der voneinander verschiedenen reellen Nullstellen, – d Anzahl der voneinander verschiedenen Paare konjugiert komplexer Nullstellen. Dann ergibt sich g = ρ,

r = ρ − 2m,

d = m.

(10.58)

Beispiel 10.18. Betrachtet wird die Polynomfunktion P4 (x) = x 4 − 5x 3 + 6x2 + 4x − 8. Mit a1 = 5, a2 = 6, a3 = 4, a4 = −8 folgen s0 = 4 s1 = 5

10.4 Anzahl und Lage der Nullstellen von Polynomen

| 395

s2 = −{2 ⋅ 6 − 5 ⋅ 5} = 13

s3 = −{3 ⋅ 4 + 6 ⋅ 5 − 5 ⋅ 13} = 23

s4 = −{−4 ⋅ 8 + 4 ⋅ 5 + 6 ⋅ 13 − 5 ⋅ 23} = 49

s5 = −{−8 ⋅ 5 + 4 ⋅ 13 + 6 ⋅ 23 − 5 ⋅ 49} = 95

s6 = −{−8 ⋅ 13 + 4 ⋅ 23 + 6 ⋅ 49 − 5 ⋅ 95} = 193 und 4 5 M=( 13 23

5 13 23 49

13 23 49 95

23 49 ). 95 193

Die Überführung in Dreiecksgestalt liefert 4 0 ( 0 0

5

27 4 27 4 81 4

13 27 4 27 4 81 4

23

81 4) 81 4 243 4

4 0 ( 0 0



5

13

23

0 0

0 0

0 0

27 4

27 4

81 4 ).

Die Auswertung ergibt: – ρ = 2: zwei voneinander verschiedene reelle Nullstellen, – m = 0: keine konjugiert komplexen Nullstellen. Die exakten Nullstellen sind x1 = −1, x2,3,4 = 2. Beispiel 10.19. Von dem Polynom P4 (x) = x4 − 6x 3 + 14x2 − 16x + 8 sind die Anzahlen der voneinander verschiedenen Nullstellen zu bestimmen. Es folgen s0 = 4 s1 = 6

s2 = −(2 ⋅ 14 − 6 ⋅ 6) = 8

s3 = −(−3 ⋅ 16 + 14 ⋅ 6 − 6 ⋅ 8) = 12

s4 = −(4 ⋅ 8 − 16 ⋅ 6 + 14 ⋅ 8 − 6 ⋅ 12) = 24

s5 = −(8 ⋅ 6 − 16 ⋅ 8 + 14 ⋅ 12 − 6 ⋅ 24) = 56

s6 = −(8 ⋅ 8 − 16 ⋅ 12 + 14 ⋅ 24 − 6 ⋅ 56) = 128 und 4 6 M=( 8 12

6 8 12 24

8 12 24 56

12 24 ). 56 128

396 | 10 Polynome Die Transformation auf Dreiecksgestalt liefert 4 0 ( 0 0

6 −1 0 6

8 0 8 32

12 6 ) 32 92



4 0 ( 0 0

6 −1 0 0

8 0 8 32

12 6 ) 32 128

4 0 ( 0 0



6 −1 0 0

8 0 8 0

12 6 ). 32 0

Für die Nullstellenanzahlen erhält man: – ρ = 3: drei voneinander verschiedene Nullstellen, – m = 1: ein Paar konjugiert komplexer Nullstellen. Das Polynom besitzt die exakten Nullstellen x1,2 = 2, x3 = 1 + i, x4 = 1 − i. Beispiel 10.20. Untersuchungsgegenstand ist das Polynom P4 (x) = x 4 − 1. Man erhält s0 = 4,

s1 = 0,

s2 = 0,

s3 = 0,

s4 = 4,

0 0 0 4

0 4 ). 0 0

s5 = 0,

s6 = 0

und 4 0 M=( 0 0

0 0 4 0

Die Transformation in die Dreiecksgestalt ergibt mit gleichstelligen Umordnungen 4 0 ( 0 0

0 4 0 0

0 0 0 4

0 0 ) 4 0



4 0 ( 0 0

0 4 0 0

0 0 8 4

0 0 ) 4 0



4 0 ( 0 0

0 4 0 0

0 0 8 0

0 0 ). 4 −2

Das bedeutet: – ρ = 4: vier verschiedene Nullstellen, – m = 1: ein Paar konjugiert komplexer Nullstellen. Die exakten Nullstellen lauten x1 = 1, x2 = −1, x3 = i, x4 = −i. 10.4.2.3 Polynomfunktionen mit komplexen Koeffizienten Die Polynomfunktion Pn (x) mit komplexen Koeffizienten aj = cj + idj habe die Gestalt Pn (x) = xn + (c1 + id1 )xn−1 + ⋅ ⋅ ⋅ + (cn−1 + idn−1 )x + (cn + idn ).

(10.59)

Es ergibt sich eine quadratische, symmetrische Matrix M, deren Elemente ebenfalls komplex sind. Mit einem bekannten Verfahren, z. B. mit dem Gaußschen Algorithmus, kann der Rang l dieser komplexen Matrix M bestimmt werden.

10.4 Anzahl und Lage der Nullstellen von Polynomen

| 397

Aussage 10.10. Bezeichnet k die Anzahl der voneinander verschiedenen komplexen Nullstellen (außer den Paaren konjugiert komplexer Nullstellen) einer Polynomfunktion Pn (x), so gilt r + k + 2d = l.

(10.60)

Multipliziert man weiterhin das komplexe Polynom Pn (x) mit dem konjugiert komplexen Polynom Pn (x) Pn (x) = xn + (c1 − id1 )xn−1 + ⋅ ⋅ ⋅ + (cn−1 − idn−1 )x + (cn − idn ),

(10.61)

ergibt sich eine Polynomfunktion Q2n (x) vom Grade 2n Q2n (x) = Pn (x) ⋅ Pn (x) = x2n + r1 x2n−1 + ⋅ ⋅ ⋅ + r2n−1 x + r2n

(10.62)

mit reellen Koeffizienten. Für die Polynomfunktion Q2n (x) können mit Hilfe der oben beschriebenen Vorgehensweise der Rang ρ der zugehörigen Matrix N und die Anzahl m der Zeichenwechsel in der Hauptminorenreihe bestimmt werden. Da Pn (x) die Konjugierten der Nullstellen von Pn (x) als Nullstellen besitzt, treten bei der Polynomfunktion Q2n (x) die reellen Nullstellen von Pn (x) als reelle Doppelnullstellen und die komplexen Nullstellen von Pn (x) als Paare konjugiert komplexer Nullstellen auf. Hat Pn (x) ein Paar konjugiert komplexer Nullstellen, so tritt bei Q2n (x) ein entsprechendes konjugiert komplexes Doppelnullstellenpaar auf. Aussage 10.11. Für eine Polynomfunktion Pn (x) mit komplexen Koeffizienten gilt g = l,

r = ρ − 2m,

k = ρ − l,

d = m + l − ρ.

(10.63)

Beispiel 10.21. Vorgegeben ist das Polynom P2 (x) = x 2 + (−1 + i)x + (6 − 3i). Es folgen s0 = 2,

s1 = 1 − i,

s2 = −12 + 4i

und 2 1−i

M=(

1−i ). −12 + 4i

Die Determinante D = det(M) hat den Wert −24 + 10i, d. h. es ist ρ = 2. Bei Polynomen Pn mit komplexen Koeffizienten ist Q2n zu bilden: Q4 (x) = P2 (x) ⋅ P2 (x)

= (x 2 + (−1 + i)x + (6 − 3i))(x2 + (−1 − i)x + (6 + 3i)) = x4 − 2x 3 + 14x2 − 18x + 45.

Für diese Polynomfunktion Q4 (x) mit reellen Koeffizienten ergeben sich s0 = 4,

s1 = 2,

s2 = −24,

s3 = −6,

s4 = 180,

s5 = 18,

s6 = −1512

398 | 10 Polynome und

4 2 N=( −24 −6

2 −24 −6 180

−24 −6 180 18

−6 180 ). 18 −1512

Die Transformation auf Dreiecksgestalt führt zu 4 0 ( 0 0

2 −25 6 183

−24 6 36 −18



−6 183 ) −18 −1521



4

2

0 ( 0 0

0

4

2

0 ( 0 0

0

−24

−6

−25

−6

183

0

936 25 648 25

−24

−6

−25

−6

183

0

936 25

0

648 25 − 2475 13

648 25 − 4311 25

)

).

Mit l = 2, ρ = 4 und m = 2 folgen g = 2, r = 0, k = 2 und d = 0. Die exakten Nullstellen des Polynoms sind x1 = 1 + 2i, x2 = −3i.

10.5 Aufgaben Aufgabe 10.1. Führen Sie folgende Polynomdivision mit dem Horner-Schema aus: a) (x3 − 216) : (x − 6), b) (6x 5 + 13x4 − 17x3 − 5x2 + 3x) : (x + 3). Aufgabe 10.2. Bei den folgenden Gleichungen ist eine Lösung bekannt. Bestimmen Sie die restlichen Lösungen: a) x3 − x2 + 17x + 87 = 0, x1 = −3, b) x3 − 9x 2 + 26x − 24 = 0, x1 = 4, c) x4 + 5x3 + 5x2 − 5x − 6 = 0, x1 = −1, d) x4 − 10x 3 + 35x2 − 50x + 24 = 0, x1 = 4. Aufgabe 10.3. Berechnen Sie den Wert der folgenden Polynome für die jeweils angegebenen x-Werte: a) P3 (x) = x3 − 6x 2 + 7x − 1 für x = 2, −3, 5, b) P4 (x) = x4 − x3 + 2x − 12 für x = 2, 3, 5. Aufgabe 10.4. Gegeben ist die Polynomfunktion P5 (x) = 0.5x 5 − 2x4 − 16x3 + 25x2 − 126x + 1025. Berechnen Sie mit Hilfe des Horner-Schemas die Funktionswerte P5 (xi ) für x1 = 2, x2 = 4.26, x3 = −3 und x4 = −5.94.

10.5 Aufgaben

| 399

Aufgabe 10.5. Berechnen Sie mit Hilfe des Horner-Schemas die Funktionswerte: a) P3 (−2) von P3 (x) = 2x 3 − 3x2 + 4x + 10, b) P4 (1.2) von P4 (x) = x4 + 4.40x3 + 9.24x2 − 10.08x + 4.32, c) P4 (−1.28) von P4 (x) = 1.6x4 − 2.8x 3 − 10.2x2 + 5.8x − 12.6. Aufgabe 10.6. Berechnen Sie mit dem Horner-Schema die Werte der ersten Ableitungen der Funktionen aus Aufgabe 10.5 an den dort vorgegebenen Stellen. Aufgabe 10.7. Gegeben ist die Polynomfunktion P3 (x) = x 3 − 6x2 + 9x − 2: a) Stellen Sie die Funktion im Intervall [−1, 5] grafisch dar. Berechnen Sie dazu mit Hilfe des Horner-Schemas eine Wertetafel und wählen Sie auf der x-Achse 2 cm und auf der y-Achse 0.5 cm als Einheiten. b) Bestimmen Sie mit dem Horner-Schema die Nullstellen der Funktion. Aufgabe 10.8. Lösen Sie die folgenden Gleichungen: a) x6 − 5x5 + 9x4 − 5x3 = 0, b) x4 − 2x3 − 8x2 + 18x − 9 = 0, c) x4 − x3 − 27x + 27 = 0, d) x5 − x4 − 27x2 + 27x = 0. Aufgabe 10.9. Bestimmen Sie alle Lösungen x ∈ ℂ und zerlegen Sie die Polynomfunktion in Faktoren: a) x3 + 2x2 + 4x + 8 = 0, b) 4x 3 − 27x − 27 = 0, c) x4 + 3x3 − x − 3 = 0. Aufgabe 10.10. Die Gleichung x3 − 0.21x2 + 1.79x − 8.84 = 0 besitzt zwischen x = 1 und x = 2 eine Lösung. Bestimmen Sie diese mit dem Horner-Schema auf zwei Dezimalstellen genau. Wie lauten die beiden anderen Lösungen? Aufgabe 10.11. Entwickeln Sie folgende ganzrationale Funktionen nach Potenzen von (x − x0 ): a) P4 (x) = 3x4 − 2x3 + 4x − 12, x0 = 2, b) P3 (x) = −2x 3 + 5x + 10, x0 = 3, c) P4 (x) = x4 + 2.40x3 − 3.45x − 4.08, x0 = −1.20, d) P4 (x) = −0.80x 4 + 2.28x 2 + 1.04x + 3.16, x0 = 1.18, e) P4 (x) = x4 − 10x2 − 20x − 16, x0 = −2, f) P3 (x) = x3 − 5x2 + 3x + 9, x0 = 3. Aufgabe 10.12. Bestimmen Sie für die Polynomfunktionen aus Aufgabe 10.11 die Werte von Pi󸀠 (x), Pi󸀠󸀠 (x), . . . für die genannten x0 mit dem Horner-Schema.

400 | 10 Polynome Aufgabe 10.13. Führen Sie folgende Polynomdivisionen mit dem mehrzeiligen HornerSchema aus: a) (16x6 + 10x 5 − 17x4 + 33x3 + 14x2 ) : (x2 + 7x + 2), b) (40x 5 + 56x4 + 69x3 + 88x 2 + 62x + 15) : (8x 3 + 9x + 5). Aufgabe 10.14. Gegeben ist das Polynom sechsten Grades mit reellen Koeffizienten P6 (x) = x6 − 6x5 − 4x4 + 64x3 − 45x2 − 82x + 24. Von P6 (x) ist das Polynom P4 (x) = x4 − 2x3 −13x2 +14x +24 mit dem mehrzeiligen Horner-Schema abzuspalten. Die Nullstellen des Restpolynoms sind anzugeben. Aufgabe 10.15. Vom Polynom P4 (x) = x4 + 3x 3 − 5x 2 − 2x + 8 sind die Nullstellen x1 = −4 und x2 = −1.20556943 bekannt. Man bestimme die restlichen Nullstellen bei Rechnung mit acht Dezimalen. Aufgabe 10.16. Zu dem Polynom P4 (x) = x4 − 5.8x 3 − 1.23x2 + 35.92x − 9.43 sind die Nullstellen x1,2 = 2 ± √3 bekannt. Man spalte diese Nullstellen vom Ausgangspolynom mit dem allgemeinen Horner-Schema ab und bestimme die restlichen Nullstellen mit dem Newtonschen Näherungsverfahren mit den Startnäherungen x3 = −2.00000, x4 = 4.00000. Die zu erzielende Genauigkeit ist ϵ = 10−3 . Es ist mit fünf Dezimalstellen zu rechnen. Aufgabe 10.17. Gegeben sind die Polynome P6 (x) mit reellen Koeffizienten: a) P6 (x) = x6 − 12x5 + 63x4 − 192x 3 + 367x2 − 420x + 225, b) P6 (x) = x6 − 6x 5 + 23x4 + 4x3 − 165x2 + 650x − 507. Es ist zu zeigen, dass für a) x1,2 = 3, x3 = −2 + i, x4 = −2 − i bzw. für b) x1,2 = 2 + 3i, x3,4 = 2 − 3i Nullstellen sind. Man spalte diese Nullstellen von Ausgangspolynom ab und bestimme die restlichen Nullstellen. Aufgabe 10.18. Es ist das Polynom sechsten Grades mit komplexen Koeffizienten P6 (x) = x6 +(−8+2i)x5 +(32−18i)x4 +(−80+70i)x 3 +(127−158i)x 2 +(−124+208i)x+(60−120i) gegeben. Man zeige, dass x1,2 = 2, x3 = 1 + 2i und x4 = 1 − 2i Nullstellen des Polynoms sind, spalte diese Nullstellen vom Ausgangspolynom mit dem komplexen HornerSchema ab und bestimme das Restpolynom. Aufgabe 10.19. Für das Polynom dritten Grades mit reellen Koeffizienten P3 (x) = x 3 + 5x2 + 3x − 9 sind Anzahl und Lage der Nullstellen zu ermitteln. Aufgabe 10.20. Für das Polynom zweiten Grades mit komplexen Koeffizienten P2 (x) = x2 + (−2 − 2i)x + (−3 + 6i) bestimme man Anzahl und Lage der Nullstellen.

Lösungen Lösungen zu Kapitel 2 zu Aufgabe 2.1 n

‖A‖1 = max ∑ |aij |

Spaltensummennorm,

‖A‖∞ = max ∑ |aij |

Zeilensummennorm,

j

i=1 n

i

j=1

acondp (A) = ‖A‖p , A

−1

=

C−1 =

2 ( 37 7

1 7 ), − 72

2 15 7 ( 20 1 − 30 5 12

‖A‖∞ = 5,

5 ‖A−1 ‖∞ = , 7 ‖A‖1 = 5, 5 ‖A−1 ‖1 = , 7

condp (A) = ‖A−1 ‖p ⋅ ‖A‖p , B

−1

− 45 − 35

=

1 18 11 (− 72 2 9

− 14 15

− 19 15

7 30 1 12

1 15 2 3

9 − 20

1 5

0

− 51

1 18 − 29 72 2 9

5 18 ), − 19 72 1 9

),

‖B‖∞ = 12, 59 ‖B−1 ‖∞ = , 72 ‖B‖1 = 10, 49 ‖B−1 ‖1 = , 72

‖C‖∞ = 17, 44 ‖C−1 ‖∞ = , 15 ‖C‖1 = 17, 11 ‖C−1 ‖1 = , 5 25 cond∞ (A) = , acond1 (A) = 5, 7 59 , acond1 (B) = 10, cond∞ (B) = 6 799 , acond1 (C) = 17, cond∞ (C) = 15

acond∞ (A) = 5, acond∞ (B) = 12, acond∞ (C) = 17, zu Aufgabe 2.2 Inverse Matrizen: A

C−1 =

15 88 23 ( 1761 11 13 − 176

−1

=

23 176 9 88 9 − 176 1 22

2 ( 13 3 13

3 13 ), − 132

1 11 9 − 176 5 88 7 176

https://doi.org/10.1515/9783110665604-011

13 − 176

B

1 22 ), 7 176 3 88

−1

=

27 56 5 ( 28 11 − 28

5 28 3 14 1 − 28

25 , 7 245 cond1 (B) = , 36 187 cond1 (C) = . 5

cond1 (A) =

11 − 56

− 181 ), 19 56

402 | Lösungen

acond∞ (A) = 5, acond∞ (B) = 11, acond∞ (C) = 22,

cond∞ (A) = 5,

66 cond∞ (B) = , 7 41 cond∞ (C) = , 4

acond1 (A) = 5, acond1 (B) = 11, acond1 (C) = 22,

cond1 (A) = 5,

66 , 7 41 cond1 (C) = . 4 cond1 (B) =

Lösungen zu Kapitel 3 zu Aufgabe 3.1

a) f (x) = x3 + 2x 2 + 10x − 20 = 0 ⇒ x = ϕ(x) = Iterierfähige Form: x(n+1) = ϕ󸀠 (x) =

−40(x + 1) , (x2 + 2x + 10)2

20 (x(n) )2 + 2x(n) + 10

|ϕ󸀠 (x)| ≤ 1

20 , x 2 + 2x + 10 ,

erfüllt für alle x.

b) f (x) = xex − 1 = 0 ⇒ x = ϕ(x) = e−x , (n) Iterierfähige Form: x(n+1) = e−x , ϕ󸀠 (x) = −e−x , |ϕ󸀠 (x)| ≤ 1

erfüllt für alle x ≥ 0. x2 + 3x − 5 , c) f (x) = x2 − 5 = 0 ⇒ x = ϕ(x) = 3

(x(n) )2 + 3x(n) − 5 , 3 2x + 3 ϕ󸀠 (x) = , |ϕ󸀠 (x)| ≤ 1 erfüllt für −3 ≤ x ≤ 0. 3 sin(2x) + 1.5x + 2 , d) f (x) = sin(2x) − 0.5x + 2 = 0 ⇒ x = 2 sin(2x(n) ) + 1.5x (n) + 2 , Iterierfähige Form: x(n+1) = 2 2 cos(2x) + 1.5 , |ϕ󸀠 (x)| ≤ 1 erfüllt für 0.66 ≤ x ≤ 2.48 (periodisch ϕ󸀠 (x) = 2 mit π). Iterierfähige Form: x(n+1) =

zu Aufgabe 3.2 a)

b)

x (0)

Lösung x ∗

Iterationen n

−5.0 0.0 2.0 10.0 0.0 1.0 3.0 10.0

1.368808 1.368808 1.368808 1.368808 0.567143 0.567143 0.567143 0.567143

19 19 18 20 26 25 27 27

c)

d)

x (0)

Lösung x ∗

Iterationen n

−3.0 −1.0 1.0 3.0 0.0 1.5 2.0 3.0

−2.236068 −2.236068 −2.236068 – 2.156853 2.156853 2.156853 4.568323

21 19 21 – 16 15 14 12

Lösungen

| 403

zu Aufgabe 3.3 M n (1) |x∗ − x(n) | ≤ |x − x(0) |, M = max |ϕ󸀠 (x)|, 1−M x∈[a,b] 40(x + 1) a) ϕ󸀠 (x) = ⇒ M = 0.4812, 2 (x2 + 2x + 10) b) ϕ󸀠 (x) = e−x ⇒ M = 0.6066,

n

|x ∗ − x (n) | 5

a b

0.027 0.13

10

15

0.69 ⋅ 10 0.011

0.18 ⋅ 10−4 0.89 ⋅ 10−3

−3

zu Aufgabe 3.4 − ln ε − ln(1 − M) + ln |x(1) − x(0) | n> , − ln M a) b)

n ist die Anzahl der Intervallhalbierungen,

x (0)

n

x (0)

n

1.0 1.0

19 29

2.0 2.0

17 30

zu Aufgabe 3.5 a) b)

x∗

n

0.3776331 1.9275072

20 22

c) d)

x∗

n

−0.7692921 2.5605574

23 22

zu Aufgabe 3.6 |b − a| |x(n) − x∗ | ≤ , 2n a) b) c) d)

a

b

n=5

n = 10

n = 15

0 1 −1 1

1 4 5 5

0.0313 0.0938 0.188 0.125

0.977 ⋅ 10 0.293 ⋅ 10−2 0.586 ⋅ 10−2 0.391 ⋅ 10−2

0.305 ⋅ 10−4 0.916 ⋅ 10−4 0.183 ⋅ 10−3 0.122 ⋅ 10−3

−3

zu Aufgabe 3.7 n

a)

b)

c)

d)

27

29

30

29

404 | Lösungen zu Aufgabe 3.8 a) b)

x∗

n

1.4527376 1.9274898

22 269

c) d)

x∗

n

−0.7692925 2.5605387

11 381

x∗

n

−0.7692924 0.3275565

8 21

zu Aufgabe 3.9 a) b)

x∗

n

0.377630 0.7535908

10 7

c) d)

zu Aufgabe 3.10 a) b) c) d)

x (0)

x∗

n

x (0)

x∗

n

0.0 0.0 −2.0 1.0 1.0 1.5

1.36880811 nicht geeignet −2.23606798 nicht geeignet nicht geeignet 2.15685334

6

1.36880811 0.56714329 nicht geeignet 2.23606798 nicht geeignet 2.15685334

5 5

6

2.0 1.0 2.0 2.0 1.2 2.5

n

x (0)

x∗

6 56

5 6 73

1.0 3.0 1.0 2.0 1.0 2.0 −0.5 2.0

nicht geeignet −1.51590732 nicht geeignet 1.30766049 1.12915007 1.12915007 nicht geeignet −1.19744718

4

4 5

zu Aufgabe 3.11 a) b) c) d)

x (0)

x∗

−3.0 2.0 0.5 1.5 0.5 1.5 −1.5 1.5

−1.51590732 −1.51590732 nicht geeignet 1.30766049 nicht geeignet 1.12915007 −1.19744718 −1.19744718

5

n 25 7 4 6 19

zu Aufgabe 3.12 a) b) c) d)

x (0)

x∗

n

x (0)

x∗

n

0.5 2.5 0.5 2.5 −1.0 2.0 1.0 3.0

0.37763284 nicht geeignet 0.75359084 1.92750785 −0.76929235 nicht geeignet 0.32755574 2.56055820

5

1.5 π 1.5 3.5 1.0 3.0 2.0 4.0

1.45273794 3.16275351 nicht geeignet 1.92750785 nicht geeignet −0.76929235 nicht geeignet 2.56055820

4 3

5 7 5 6 6

9 9 8

Lösungen

zu Aufgabe 3.13

M (n) |x − x (n−1) |2 2m f (x) = x3 + 2x 2 + 10x − 20, [0, 2], m = 10, M = 16, f (x) = xex − 1, [0.5, π], m = 2.4731, M = 188.4021, f (x) = x2 − 5, [−3, 3], m = 0, M = 2, f (x) = sin(2x) − 0.5x + 2, [1, 3], m = 0.5, M = 1,

|f 󸀠 (x)| ≥ m > 0, |f 󸀠󸀠 (x)| ≤ M in [a; b], a) b) c) d)

|x (n) − x ∗ | a) b) c) d)

|x (n) − x∗ | ≤

x (0)

n=5

n = 10

n = 15

0.00 0.00 – 0.75

0.444 ⋅ 10 0.426 keine 0.409 ⋅ 10−5

0.132 ⋅ 10 0.149 ⋅ 10−2 Abschätzung 0.152 ⋅ 10−9

0.391 ⋅ 10−9 0.514 ⋅ 10−5 möglich 0.578 ⋅ 10−14

−2

−5

zu Aufgabe 3.14 a) b) c) d)

x (0)

x (10)

x (0)

x (10)

0.00 0.00 −3.00 0.75

1.36841368 0.56487935 −2.23668128 2.15684636

10.0 10.0 1.0 0.9

1.36961311 0.57114276 −2.23528646 2.15685389

zu Aufgabe 3.15 −40(x + 1) , x = 1, μ = ϕ󸀠 (x) = −0.473 a) ϕ󸀠 (x) = − 2 (x + 2x + 10)2 13.5777 ⇒ x(n+1) = (n) 2 + 0.3211x(n) , (x ) + 2x (n) + 10 x (0)

x (6)

x (0)

x (6)

0.0

1.36878716

10.0

1.36878720

b) ϕ󸀠 (x) = −e−x , x = 0.5, μ = ϕ󸀠 (x) = 0.6065 ⇒

x

(n+1)

=

e−x

(n)

+ 0.6065x(n) , 1.6065

x (0)

x (6)

x (0)

x (6)

0.0

0.56714329

10.0

0.56714681

2x + 3 , x = −3.0, μ = ϕ󸀠 (x) = −1.0 3 (x(n) )2 + 6x (n) − 5 x(n+1) = , 6

c) ϕ󸀠 (x) = ⇒ x (0)

x (6)

x (0)

x (6)

−3.0

−2.23616353

1.0

−2.20081803

| 405

406 | Lösungen d) ϕ󸀠 (x) = cos(2x) + 0.75, x = 2.0, x(n+1) =



μ = ϕ󸀠 (x) = 0.09636

sin(2x (n) ) + 1.30728x(n) + 2 , 1.80728

x (0)

x (6)

x (0)

x (6)

0.75

2.15685334

0.9

2.15685334

zu Aufgabe 3.16 w(n) x(n+1) = x(n) − (n) , w = (ϕ(x) − x)2 , z a) b) c) d)

z = ϕ (ϕ(x)) − 2ϕ(x) + x,

x (0)

x (4)

x (0)

x (4)

0.00 0.00 −3.00 0.75

1.36880811 0.56714329 −2.23606798 2.15685334

10.0 10.0 0.0 1.0

1.36880811 0.56714329 −2.23606798 2.15685334

Lösungen zu Kapitel 4 zu Aufgabe 4.1 a) b)

x1

x2

x3

2.08 1.23

0.02 −1.39

−0.59 −1.36

c) d)

x1

x2

x3

x4

2.15 0.44

−0.82 −0.22

−0.17 0.44

0.80 0.47

zu Aufgabe 4.2 x1 a) b)

2.0842 1.2280

x2

x3

0.0176 −1.3899

x1 c) d)

−0.5869 −1.3561

2.1545 0.4379

zu Aufgabe 4.3 A−1

−1.0 −1.5 =( 0.0 0.5

−3.0 −3.0 1.0 −0.5

0.482143 B−1 = ( 0.178571 −0.196429

2.5 3.0 −0.5 0.0

1.5 1.0 ), −0.5 0.5

0.178571 0.214286 −0.035714

−0.196429 −0.035714), 0.339286

x2 −0.8246 −0.2225

x3 −0.1667 0.4398

x4 0.7966 0.4684

Lösungen

0.170455 C−1 = ( 0.130682 0.090909

0.130682 0.102273 0.045455

0.090909 −0.051136 0.039773

| 407

−0.073864 0.045455). 0.034091

zu Aufgabe 4.4 6 1 A=( 3 −1

1 4 2 0

√6

3 2 5 1

−1 0 ), 1 7

x1

x2

x3

x4

0.8732

−2.0488

0.1610

0.6732

AC =

1√ 6 ( 61 √6 2 1√ −6 6

0

1√ 138 6 3 √ 138 46 1 √ 138 138

0

0

0

0

1 √ 1541 23 33 √ 1541 1541

einfach nachiteriert

−2 6 3

1 3) , 5

2

0

1 2

7 √ 5 10

AC = (−1

√5

0 0

),

1 √ 230 10

x1

x2

x3

−0.186 −0.185870

−0.839 −0.839348

1.195 1.194783

zu Aufgabe 4.6 a) b) c) d)

x1

x2

x3

1.110045 0.280225 1.227955 Verfahren

0.048500 0.387834 −1.389857 konvergiert

0.059086 0.312996 −1.356103 nicht

x4

n

0.158856

20 19 14

),

1 √ 27470 67

zu Aufgabe 4.5 4 A = (−2 1

0

zu Aufgabe 4.7 ‖ ⋅ ‖∞ – Norm,

a) maxi {0.621, 0.630, 0.684} = 0.684 < 1

Konvergenz gesichert

b) maxi {0.654, 0.561, 0.694, 0.723} = 0.723 < 1

Konvergenz gesichert

c) maxi {0.882, 0.844, 0.837, 0.837} = 0.882 < 1

Konvergenz gesichert

d) maxi {3.258, . . .} > 1

Konvergenz nicht gesichert

408 | Lösungen zu Aufgabe 4.8 a) b) c) d)

x1

x2

x3

1.110045 0.280225 1.227955 Verfahren

0.048500 0.387834 −1.389857 konvergiert

0.059086 0.312996 −1.356102 nicht

x4

n

0.158856

17 11 11

zu Aufgabe 4.9

Sassenfeld-Kriterium a) k0 = maxm {0.62068, 0.49126, 0.35797} = 0.62068 < 1

Konverg. ges.

b) k0 = maxm {0.65403, 0.46050, 0.44568, 0.36988} = 0.65403 < 1

Konverg. ges.

c) k0 = maxm {0.88225, 0.78800, 0.67306} = 0.88225 < 1

Konverg. ges.

d) k0 = maxm {3.258, . . .} > 1

Konverg. n. ges.

zu Aufgabe 4.10 ‖δx‖p ≤

‖A−1 ‖p ⋅ ‖A‖p {

‖Δb‖p ‖b‖p

1 − ‖A−1 ‖p ⋅ ‖ΔA‖p

a) ‖A‖1 = 15‖A−1 ‖1 = 7.5, ‖b‖1 = 8.85,

, ‖A−1 ‖p ⋅ ‖ΔA‖p < 1,

‖A‖∞ = 12, ‖A−1 ‖∞ = 8.5,

‖b‖∞ = 4.31, ‖δx‖1 ≤ 0.636, ‖δx‖∞ ≤ 1.183,

b) ‖A‖1 = 22, ‖A ‖1 = 0.46591, −1

‖b‖1 = 58,

‖ΔA‖p } ‖A‖p

+

‖A‖∞ = 22,

‖A−1 ‖∞ = 0.46591,

‖b‖∞ = 23, ‖δx‖1 ≤ 0.0177, ‖δx‖∞ ≤ 0.0446,

c) ‖A‖1 = 12.9, ‖A−1 ‖1 = 0.452663, ‖b‖1 = 11.85,

‖A‖∞ = 11.35, ‖A−1 ‖∞ = 0.422954,

‖b‖∞ = 6.75, ‖δx‖1 ≤ 0.493 ⋅ 10−2 ,

zu Aufgabe 4.11

a) ‖δx‖∞ ≤ 0.290,

b) ‖δx‖∞ ≤ 0.142,

c) ‖δx‖∞ ≤ 0.0943.

zu Aufgabe 4.12

Gesamtschrittverfahren T = −D−1 (L + R)

0 a) T = − ( −0.36680 −0.17142

‖T‖∞ = 0.6835 = M,

‖δ(3) ‖∞ ≤ 1.237,

−0.22413 0 −0.51208

0.39655 0.26359 ),

‖x(1) − x(0) ‖∞ = 1.12261,

‖δ(15) ‖∞ ≤ 0.0126,

‖δx‖∞ ≤ 0.711 ⋅ 10−2 .

Lösungen

0 −0.29159 b) T = − ( 0.34243 −0.19869

0.22299 0 0.23972 0.43649

‖T‖∞ = 0.72252 = M,

−0.35625 −0.08983 0 0.08734

0.07479 −0.17996 ), −0.11132 0

‖x(1) − x(0) ‖∞ = 0.48424,

‖δ(3) ‖∞ ≤ 0.658, ‖δ(15) ‖∞ ≤ 0.0133.

zu Aufgabe 4.13

Einzelschrittverfahren T = − (D + L)−1 R, 0 0.757843 −0.124373 c) T = ( 0 0.362314 −0.425675 ), 0 0.289254 0.302663 ‖T‖∞ = 0.882216 = M, ‖x(1) − x(0) ‖∞ = 1.480226, ‖δ(3) ‖∞ ≤ 8.629, ‖δ(15) ‖∞ ≤ 1.918.

zu Aufgabe 4.14 a) b) c) d) e) f)

x1

x2

x3

x4

x5

x6

1 2 54 + 57 t − 34 −5 1

3 1 16 + 18t − 20 9 4 2

4 −1 −3 − 4t

2 −2 t 53 − 36 −2 −3

1 −2

−1

17 9

3 3

zu Aufgabe 4.15 1 6 −11

−1 A−1 = (−3 6

−1 −7) , 13

−0.6 C−1 = ( −1.2 1.0

−1.2 −0.4 1.0

1 0 =( 0 0

−3 2 1 0

F−1

0 1 0 0

1.0 1.0) , −1.0 2 1 ), −1 1

1 0 −1 B−1 = ( 2 −1 0), −2 1 1 1 −3 −8 −14 0 1 3 4 −1 D =( ), 0 0 1 2 0 0 0 1

G−1

1 0 = (0 0 0

3 1 0 0 0

−2 −1 1 0 0

4 0 −2 1 0

5 2 −1), −3 1

| 409

410 | Lösungen

H−1

−19 −2 =( −56 12

K−1

0 1 =( −1 1

−9 −1 −27 6 −1 0 1 −1

1 −1 0 1

−3 0 −9 2

8 1 ), 23 −5

I−1

2.0 0.0 =( 5.0 2.0

−1.0 0.5 −4.0 −1.5

−1.0 1.0 −3.0 −1.0

−1 1 ). −1 0

Lösungen zu Kapitel 5 zu Aufgabe 5.1 a) y = 70.762374 + 0.288069 ⋅ x,

b) y = 673.114286 − 24.517857 ⋅ x.

zu Aufgabe 5.2 a) y = 100.791143 − 2.606619 ⋅ x + 0.023381 ⋅ x2 , b) y = 52.008571 + 17.130000 ⋅ x − 3.664286 ⋅ x 2 . zu Aufgabe 5.3 a) y = 2.009442 ⋅ x0.281265 , zu Aufgabe 5.4 a) y = 1.007925 ⋅ e0.045243x ,

b) y = 1520527.1623 ⋅ x−2.001365 .

b) y = 2.044543 ⋅ e−1.014425x .

zu Aufgabe 5.5 y=

289.570344 . x + 7.228941

zu Aufgabe 5.6 1 1 a) √1 − x2 ≈ f4 (x) = 1 − x2 − x4 , 2 8 0.5

b)

1 1 ∫ x ⋅ (1 − x2 − x4 ) dx = 0.11686198, 2 8

0 0.5

c)

∫ x ⋅ √1 − x2 dx = 0.11682698. 0

1.0 −0.5 ), 2.0 0.5

Lösungen

| 411

zu Aufgabe 5.7 1 1 3 a) √1 + x ≈ f2 (x) = 1 + x − x2 , 3 9 1

1

0

0

1 1 3 a) ∫ √1 + xdx ≈ ∫ (1 + x − x2 ) dx = 1.12962963. 3 9

zu Aufgabe 5.8 a) f (x) = √1 + x

1 3 , f 󸀠󸀠󸀠 (x) = 8 √(1 + x)5 󵄨󵄨 3 󵄨󵄨 3 1 󵄨󵄨 󵄨 b) M2 = max 󵄨󵄨󵄨 󵄨󵄨 = , 5 󵄨 x∈[0,1] 󵄨 8 √(1 + x) 󵄨󵄨 8 3 1 = 0.0625. c) |R2 | ≤ 8 |1|2 = 3! 16 ⇒

zu Aufgabe 5.9 a) Skizze der Funktion (Abb. 1)

1

−1

y x 2

4

6 Abb. 1: Skizze zu Aufgabe 5.9.

4 ∞ (−1)m sin ((2m + 1)x), ∑ π m=1 (2m + 1)2 π 3π c) Spezielle Werte: f (0) = 0, f ( ) = . 2 2 b) Fourier-Reihe: f (x) =

zu Aufgabe 5.10 I) Periodenlänge: T = 2, Ansatz für die Fourier-Reihe: f (x) = 1 Fourier-Koeffizienten: a0 = − , 2 II) Periodenlänge: T = 2c,

ak =

Ansatz für die Fourier-Reihe: f (x) = Fourier-Koeffizienten: a0 = h,

a0 ∞ + ∑ (a cos(kπx) + bk sin(kπx)), 2 k=1 k

ak =

1 [cos(kπ) − 1] , k2 π2

bk = −

1 . kπ

a0 ∞ kπ kπ + ∑ (a cos ( x) + bk sin ( x)), 2 k=1 k c c 2h [cos (kπ) − 1] , k2 π2

bk = 0.

412 | Lösungen zu Aufgabe 5.11 Stetige Approximation auf dem Intervall [−1, 1]:

a)

P3 (x) ≈ f (x) = ex − e−x

P3 (x) = c0 + c1 x + c2 x2 + c3 x3 1 = ( (105e − 765e−1 ) x + (−175e + 1295e−1 ) x 3 ) 2 = 1.99590975x + 0.35227817x3 ,

b)

P5 (x) ≈ f (x) = ex − e−x

P5 (x) = c0 + c1 x + c2 x 2 + c3 x3 + c4 x 4 + c5 x5 1 = ( (−53865e + 398055e−1 ) x + (252630e − 1866690e−1 ) x 3 8 + (−227997e + 1684683e−1 ) x5 ) c)

d)

= 2.00003313x + 0.33303563x3 + 0.01731838x5 , π P2 (x) ≈ g(x) = − cos ( x) 2 P2 (x) = c0 + c1 x + c2 x2 3 (π 2 − 20) 15 (π 2 − 12) 2 = − x π3 π3 = −0.98016241 + 1.03062790x2 , π P4 (x) ≈ g(x) = − cos ( x) 2 P4 (x) = c0 + c1 x + c2 x2 + c3 x3 + c4 x4 15 (π 4 − 308π 2 + 3024) 105 (π 4 − 228π 2 + 2160) 5 =− + x 4π 5 2π 5 4 2 315 (π − 180π + 1680) 4 − x 4π 5 = −0.99957951 + 1.22479888x2 − 0.22655371x 4 .

zu Aufgabe 5.12 Stetige Approximation auf dem Intervall [−1, 1] mit Hilfe von Legendre-Polynomen: a)

P3 (x) ≈ f (x) = ex − e−x

P3 (x) = c0 p0 (x) + c1 p1 (x) + c2 p2 (x) + c3 p3 (x) 5 = ( (21e − 153e−1 ) x + (−35e + 259e−1 ) x 3 ) 2 = 1.99590975x + 0.35227817x3 ,

Lösungen

b)

P5 (x) ≈ f (x) = ex − e−x P5 (x) = c0 p0 (x) + c1 p1 (x) + c2 p2 (x) + c3 p3 (x) + c4 p4 (x) + c5 p5 (x) 21 = ( (−2565e + 18955e−1 ) x + (12030e − 88890e−1 ) x 3 8 + (−10857e + 80223e−1 ) x5 )

c)

d)

= 2.00003318x + 0.33303559x3 + 0.01731844x5 , π P2 (x) ≈ g(x) = − cos ( x) 2 P2 (x) = c0 p0 (x) + c1 p1 (x) + c2 p2 (x) 3 = 3 ( (−20 + π 2 ) + (60 − 5π 2 ) x2 ) π = −0.98016241 + 1.03062791x2 , π P4 (x) ≈ g(x) = − cos ( x) 2 15 ( (−3024 + 308π 2 − π 4 ) + (30240 − 3192π 2 + 14π 4 ) x 2 P4 (x) = 4π 5 + (−35280 + 3780π 2 − 21π 4 ) x4 ) = −0.99957951 + 1.22479898x2 − 0.22653292x4 .

zu Aufgabe 5.13 Bézier-Kurven zu vorgegebenen Punkten, jeweils t ∈ [0, 1]: a)

x(t) = 2(1 − t)7 + 7t(1 − t)6 + 21t 2 (1 − t)5 + 70t 3 (1 − t)4 + 175t 4 (1 − t)3 +126t 5 (1 − t)2 + 42t 6 (1 − t) + 5t 7

= −32t 7 + 112t 6 − 126t 5 + 35t 4 + 21t 2 − 7t + 2 y(t) = 3(1 − t)7 + 14t(1 − t)6 + 21t 2 (1 − t)5 + 21t 5 (1 − t)2 + 14t 6 (1 − t) + 3t 7 = 14t 6 − 42t 5 + 35t 4 − 7t + 3

Skizze der Kurve (Abb. 2) 3 y

P7

P0

2 1

x 1

2

3

4

5

6

Abb. 2: Skizze zu Aufgabe 5.13.a.

| 413

414 | Lösungen b)

x(t) = 6(1 − t)5 + 20t(1 − t)4 + 10t 2 (1 − t)3 + 10t 3 (1 − t)2 + 20t 4 (1 − t) + 6t 5 = −20t 4 + 40t 3 − 10t 2 − 10t + 6

y(t) = 4(1 − t)5 + 40t 3 (1 − t)2 + 20t 4 (1 − t) = 16t 5 − 40t 4 + 40t 2 − 20t + 4

Skizze der Kurve (Abb. 3)

4 y

P0

3 2 1

P5 x 1

c)

2

3

4

5

6

Abb. 3: Skizze zu Aufgabe 5.13.b.

x(t) = (1 − t)3 + 12t(1 − t)2 + 15t 2 (1 − t) + 2t 3 = −2t 3 − 6t 2 + 9t + 1 y(t) = (1 − t)3 + 6t 2 (1 − t) + 2t 3

= −5t 3 + 9t 2 − 3t + 1

Skizze der Kurve (Abb. 4)

2 y 1

P3 P0 1

x 2

3

4

5

Abb. 4: Skizze zu Aufgabe 5.13.c.

Lösungen zu Kapitel 6 zu Aufgabe 6.1 (x − 3)(x − 4)(x − 6) 2x(x − 4)(x − 6) + 72 9 x(x − 3)(x − 6) x(x − 3)(x − 4) − + . 4 36 Skizze des Polynoms (Abb. 5) P3L (x) = −

Lösungen

| 415

y

2 1

x 4

2

Abb. 5: Interpolationspolynom zu Aufgabe 6.1.

6

zu Aufgabe 6.2 (x − 1)(x − 2)(x − 7) (x + 1)(x − 2)(x − 7) + 48 4 (x + 1)(x − 1)(x − 7) (x + 1)(x − 1)(x − 2) + + 15 240 7 34 2 3 3 64 + x− x + x , = 15 10 15 10

P3L (x) = −

5(x + 1)(x − 1) 3(x + 1)(x − 1)(x − 2) + 3 10 64 7 34 2 3 3 = + x− x + x . 15 10 15 10

P3N (x) = 2 + x −

Skizze des Polynoms (Abb. 6) 4 y 2 −1

−2 −4

x 1

2

3

4

5

6

−6 −8 −10

7

Abb. 6: Interpolationspolynom zu Aufgabe 6.2.

Hinzunahme eines weiteren Stützpunktes (x − 1)(x − 2)(x − 7)(x − 8) (x + 1)(x − 2)(x − 7)(x − 8) − 432 28 (x + 1)(x − 1)(x − 7)(x − 8) (x + 1)(x − 1)(x − 2)(x − 8) − − 90 240 (x + 1)(x − 1)(x − 2)(x − 7) 221 2 361 2 5 3 29 4 + = + x− x + x − x , 378 45 7 126 7 630 5(x + 1)(x − 1) 3(x + 1)(x − 1)(x − 2) P4N (x) = 2 + x − + 3 10 29(x + 1)(x − 1)(x − 2)(x − 7) 221 2 361 2 5 3 29 4 − = + x− x + x − x . 630 45 7 126 7 630 P4L (x) =

416 | Lösungen zu Aufgabe 6.3 x2 (x − 1)2 3x2 (x − 1)2 (x − 2) − 4 4 2x 2 (x − 1)2 (x − 2)2 17x2 (x − 1)2 (x − 2)2 (x − 3) + − 3 36 13x2 (x − 1)2 (x − 2)2 (x − 3)2 35x2 (x − 1)2 (x − 2)2 (x − 3)2 (x − 4) + − 72 576 137 2 12563 3 2255 4 53059 5 2753 6 x − x + x − x + x =x+ 6 144 18 576 72 2615 7 83 8 35 9 − x + x − x . 288 72 576

P9H (x) = x − x2 + x2 (x − 1) −

Skizze des Hermite-Polynoms (Abb. 7) 1 y 0.5

x 1

2

3

4

Abb. 7: Hermite-Interpolationspolynom.

zu Aufgabe 6.4 Quadratisches Interpolationspolynom P2 (x) = 0.18394x(x − 1) − (x − 1)(x + 1) + 1.35914x(x + 1). Fehlerabschätzung auf dem Intervall [−1, 1]

f (3) (ξ ) eξ 2.71828 (x + 1)x(x − 1) = (x + 1)x(x − 1) ≤ ⋅ 0.3849 3! 6 6 = 0.17438.

f (x) − P2 (x) =

zu Aufgabe 6.5 a) Lagrange-Polynome zu den Stützstellen x0 , x1 = x0 + h, x2 = x0 + 2h: (x − x0 − h)(x − x0 − 2h) (x − x1 )(x − x2 ) = (x0 − x1 )(x0 − x2 ) 2h2 2 2 (x − x0 ) − 3h(x − x0 ) + 2h (x − x0 )2 3(x − x0 ) = = − +1 2h 2h2 2h2 (x − x0 )(x − x0 − 2h) 2(x − x0 ) (x − x0 )2 (x − x0 )(x − x2 ) =− = − L1 (x) = (x1 − x0 )(x1 − x2 ) h h2 h2 2 (x − x0 )(x − x1 ) (x − x0 )(x − x0 − h) (x − x0 ) (x − x0 ) L2 (x) = = = − (x2 − x0 )(x2 − x1 ) 2h 2h2 2h2

L0 (x) =

Interpolationspolynom im Intervall [x0 , x2 ]

Lösungen

| 417

P2 (x) = f0 L0 (x) + f1 L1 (x) + f2 L2 (x)

f0 f f (x − x1 )(x − x2 ) − 12 (x − x0 )(x − x2 ) + 22 (x − x0 )(x − x1 ) 2 2h h 2h x2 x0 +2h (x − x0 )3 3(x − x0 )2 8h h − + x] = − 3h + 2h = ∫ L0 (x)dx = [ 2 4h 6 3 6h x0 =

b)

x0 x2

x0 +2h

(x − x0 )2 (x − x0 )3 − ] ∫ L1 (x)dx = [ h 3h2 x0

x0 x2

∫ L2 (x)dx = [

x0 x2

= 4h −

x0 +2h

(x − x0 )3 (x − x0 )2 ] − 4h 6h2 x0

=

8h 4h = 3 3

8h h −h= 6 3

x2

∫ P2 (x)dx = ∫ (f0 L0 (x) + f1 L1 (x) + f2 L2 (x))dx

x0

x0

x2

x2

x2

= f0 ∫ L0 (x)dx + f1 ∫ L1 (x)dx + f2 ∫ L2 (x)dx x0

x0

x0

h 4h h h = f0 ⋅ + f1 ⋅ + f2 ⋅ = (f0 + 4f1 + f2 ) 3 3 3 3 c) Der letzte Ausdruck einspricht 8.15, der Simpson-Formel für das Intervall [x0 , x2 ]. zu Aufgabe 6.6 a) Interpolationspolynom (x + 2)(x − 1)(x − 4) (x + 2)x(x − 1) 11 3 25 2 58 P3 (x) = + = x − x − x+1 8 36 72 72 72 b) Kubischer Spline 0 { { { { { 305 { { (x + 2) − { 282 { { 41 187 s(x) = { 1 − 282 (x − 0) − 47 (x − 0)2 + { { { 69 113 { { (x − 1) + 94 (x − 1)2 − − 141 { { { { {0 c) Grafischer Vergleich (s. Abb. 8)

2

P3 (x)

−2

s(x) 1

−1

:

x < −2

:

−2 ≤ x ≤ 0

:

0≤x≤1

:

1≤x≤4

:

4