369
e X amen.press

Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Embed Size (px)

Citation preview

Page 1: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

eXamen.press

Page 2: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

eXamen.press ist eine Reihe, die Theorie undPraxis aus allen Bereichen der Informatik fürdie Hochschulausbildung vermittelt.

Page 3: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Thomas Huckle · Stefan Schneider

NumerischeMethodenEine Einführung für Informatiker,Naturwissenschaftler, Ingenieureund Mathematiker

2. AuflageMit 103 Abbildungen und 9 Tabellen

123

Page 4: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Thomas HuckleTechnische Universität MünchenInstitut für InformatikBoltzmannstr. 385748 [email protected]

Stefan SchneiderBMW GroupMax-Diamand-Str. 1380937 Mü[email protected]

Bibliografische Information der Deutschen BibliothekDie Deutsche Bibliothek verzeichnet diese Publikation in der DeutschenNationalbibliografie; detaillierte bibliografische Daten sind im Internet überhttp://dnb.ddb.de abrufbar.

Die 1. Auflage erschien 2002 unter dem Titel „Numerik für Informatiker“

ISSN 1614-5216ISBN-10 3-540-30316-2 Springer Berlin Heidelberg New YorkISBN-13 978-3-540-30316-9 Springer Berlin Heidelberg New YorkISBN 3-540-42387-7 1. Auflage Springer Berlin Heidelberg New York

Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere dieder Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen,der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und derSpeicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vor-behalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfallnur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der BundesrepublikDeutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlichvergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechts-gesetzes.

Springer ist ein Unternehmen von Springer Science+Business Media

springer.de

© Springer-Verlag Berlin Heidelberg 2002, 2006Printed in Germany

Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werkberechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinneder Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher vonjedermann benutzt werden dürften. Text und Abbildungen wurden mit größter Sorgfalt erarbeitet.Verlag und Autor können jedoch für eventuell verbliebene fehlerhafte Angaben und deren Folgenweder eine juristische Verantwortung noch irgendeine Haftung übernehmen.

Satz: Druckfertige Daten der AutorenHerstellung: LE-TEX, Jelonek, Schmidt & Vöckler GbR, LeipzigUmschlaggestaltung: KünkelLopka Werbeagentur, HeidelbergGedruckt auf säurefreiem Papier 33/3100 YL – 5 4 3 2 1 0

Page 5: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

”The purpose of computing is insight, not numbers.“

R.W. Hamming

Page 6: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Vorwort

Das vorliegende Buch entstand aus dem Skript zur Vorlesung ”Konkrete Ma-thematik – Numerische Programmierung“, die an der TU Munchen fur In-formatikstudenten seit dem Wintersemester 1995 angeboten wird. Das Zieldieser Veranstaltung, und somit auch des Buches, ist es, Informatikstudieren-de mit den wesentlichen Problemen und Losungsmethoden der NumerischenMathematik vertraut zu machen. Daher orientieren sich Stoffmenge, Niveau,Prasentation und Anwendungsbeispiele an dem entsprechenden Wissensstandund Interessengebiet.

Viel Wert wird auf aktuelle Anwendungsbeispiele aus dem Umfeld Com-puter Science gelegt, wie z.B. Bildverarbeitung, Computer-Graphik, DataMining und Wettervorhersage. Historische Bemerkungen erganzen die Dar-stellung.

Dieses Lehrbuch eignet sich auch fur Studierende der Mathematik, sowieder Ingenieurs- und Naturwissenschaften, die einen modernen Zugang zumEinsatz numerischer Methoden suchen.

An der Fertigstellung dieses Buches waren viele Mitarbeiter beteiligt.Im Einzelnen danken wir allen, die im Rahmen der Vorlesung ”Konkrete

Mathematik“ zum Erstellen von Ubungs- und Programmieraufgaben beige-tragen haben, so Herrn Dr. Michael Bader, Markus Pogl, Andreas Krahnke,Dr. Miriam Mehl, Dr. Florian Meier, Dr. Anton Frank, Dr. Christoph Kranz,Max Emans, Frank Gunther und Dr. Jochen Staudacher.

Ganz besonderer Dank gebuhrt Frau Britta Liebscher, die sich aufop-ferungsvoll darum bemuhte, das Skript mittels LATEX in eine lesbare undansprechende Form zu bringen und viele Graphiken beisteuerte. Herr Dr.Markus Kowarschik hat durch intensives Lesen von Korrekturen viel zu einerverstandlicheren Darstellung beigetragen.

Munchen, Thomas HuckleJuni 2002 Stefan-Alexander Schneider

Page 7: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

VIII Vorwort

Die zweite Auflage wurde inhaltlich erweitert sowohl um einige aktuelleAspekte der Software-Entwicklung als auch neue Beispiele, wie die numeri-sche Modellierung von Tsunamis, Audio-Verarbeitung und das Abspielformatmp3, die Mathematik der Suchmaschine Google und der Begriff des Pagerank,Bildkomprimierung und digitaler Autofokus.

Der Anhang wurde erganzt um ein neues Kapitel mit Hinweisen zuUbungsaufgaben, Softwarequellen und Literaturangaben. Das Kapitel ”Rech-nerarithmetik und Rundungsfehler“ erlautert nun zusatzlich grundlegendetechnische Begriffe des Rechnens mit dem Computer.

Auf den Webseiten www5.in.tum.de/lehre/vorlesungen/konkr_math/zur Vorlesung ”Konkrete Mathematik - Numerisches Programmieren“ findensich inzwischen vielfaltige Hinweise und Hilfestellungen zu vielen Ubungsauf-gaben dieses Buches.

Durch die Titelanderung soll deutlich gemacht werden, dass wegen derverstandlichen Darstellung und der Einbeziehung vieler Anwendungsbeispieledieses Lehrbuch nicht nur fur Informatikstudierende sondern auch fur andereStudiengange als Einstieg in die Numerische Mathematik geeignet ist.

Die zweite Auflage ist der Verdienst vieler Mitarbeiter. Ganz besondererDank gebuhrt hier Antje Roser-Huckle fur intensives Korrekturlesen. Da-durch wurde die Lesbarkeit und Verstandlichkeit wesentlich verbessert.

Munchen, Thomas HuckleDezember 2005 Stefan-Alexander Schneider

Page 8: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Inhaltsverzeichnis

Teil I Motivation und Einordnung

1 Die Entwicklung des Rechnens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Numerische Mathematik, Reine Mathematik und Informa-tik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1 Informatik als die Wissenschaft vom Computer . . . . . . . . . . . . . 72.2 Informatik und Numerik im Wissenschaftlichen Rechnen . . . . 72.3 Numerische Methoden in der Informatik . . . . . . . . . . . . . . . . . . . 9

3 Benotigtes Grundwissen aus Informatik und Mathematik . 113.1 Informatik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Einordnung in die Mathematik . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.3 Beziehung zu anderen natur- und ingenieurwissenschaftlichen

Fachgebieten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Teil II Rechnerarithmetik und Rundungsfehler

4 Rundungs- und Rechenfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.1 Rundungsfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.2 Rechenfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.3 Gesamtfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.4 Analyse weiterer Fehlerquellen . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.5 Sicherheitsrelevante Entwicklungsprozesse und Standards . . . . 24

5 Zahldarstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.1 Binarzahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.2 Addition und Subtraktion von Binarzahlen . . . . . . . . . . . . . . . . 365.3 Multiplikation und Division von Binarzahlen . . . . . . . . . . . . . . . 415.4 Integer-Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.5 Darstellung reeller Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.5.1 Festkommazahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.5.2 Intervallarithmetik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.5.3 Gleitpunktzahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Page 9: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

X Inhaltsverzeichnis

5.5.4 Rundung von Gleitpunktzahlen . . . . . . . . . . . . . . . . . . . . 62

6 Gleitpunktarithmetik und Fehlerfortpflanzung . . . . . . . . . . . . 696.1 Realisierung einer Maschinenoperation . . . . . . . . . . . . . . . . . . . . 696.2 Rundungsfehleranalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706.3 Ausloschung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

7 Kondition und Stabilitat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

8 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Teil III Lineare Gleichungssyteme

9 Losung Linearer Gleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . 1019.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019.2 Auflosen von Dreiecksgleichungssystemen . . . . . . . . . . . . . . . . . . 1049.3 Gauß-Elimination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069.4 Gauß-Elimination und LU -Zerlegung . . . . . . . . . . . . . . . . . . . . . . 1099.5 Kondition eines linearen Gleichungssystems . . . . . . . . . . . . . . . . 1119.6 Kosten der Gauß-Elimination . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

10 Lineare Ausgleichsrechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11510.1 Methode der kleinsten Quadrate . . . . . . . . . . . . . . . . . . . . . . . . . . 11510.2 QR-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11910.3 Regularisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

11 Effiziente Losung linearer Gleichungssysteme . . . . . . . . . . . . . 12711.1 Dunnbesetzte Gleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . 12711.2 Gleichungssysteme und Computer-Architektur . . . . . . . . . . . . . 131

12 Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14312.1 Computertomographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14312.2 Neuronale Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14612.3 Leontief’sches Weltmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

13 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Teil IV Interpolation und Integration

Page 10: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Inhaltsverzeichnis XI

14 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15514.1 Interpolationsaufgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15514.2 Interpolation mit Polynomen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15714.3 Fehler bei der Polynom-Interpolation . . . . . . . . . . . . . . . . . . . . . 16214.4 Newton-Form des Interpolationspolynoms . . . . . . . . . . . . . . . . . 16414.5 Weitere Interpolationsansatze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

15 Quadratur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17515.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17515.2 Quadraturregeln aus Flachenbestimmung . . . . . . . . . . . . . . . . . . 17615.3 Regeln aus der Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17715.4 Gauß-Quadratur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17915.5 Extrapolationsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18015.6 Adaptive Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18215.7 Weitere Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

16 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18716.1 Interpolation von Bilddaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18716.2 Registrierung und Kalibrierung von Bilddaten . . . . . . . . . . . . . . 18816.3 Gauß’scher Weichzeichner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19016.4 Fuzzy-Steuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

17 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

Teil V Die schnelle Fourier-Transformation

18 Eigenschaften und Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . 19918.1 Diskrete Fourier-Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 19918.2 Schnelle Fourier-Transformation am Beispiel der IDFT . . . . . . 20118.3 FFT-Algorithmus am Beispiel der IDFT . . . . . . . . . . . . . . . . . . . 203

19 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21119.1 Schnelle Multiplikation von Polynomen . . . . . . . . . . . . . . . . . . . . 21119.2 Fourier-Analyse der Sonnenfleckenaktivitat . . . . . . . . . . . . . . . . 21219.3 Bildkompression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

19.3.1 Mathematische Modellierung von Graustufenbildern . . 21519.3.2 JPEG-Verfahren zur Komprimierung von Bildern . . . . . 21519.3.3 Cosinus Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 21619.3.4 Reduktion auf die bekannte FFT . . . . . . . . . . . . . . . . . . . 216

19.4 Filter und Bildverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21719.5 Wavelets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

20 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

Page 11: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

XII Inhaltsverzeichnis

Teil VI Iterative Verfahren

21 Fixpunktgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23321.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23321.2 Banach’scher Fixpunktsatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

22 Newton-Verfahren zur Nullstellenbestimmung . . . . . . . . . . . . 23922.1 Beschreibung des Newton-Verfahrens . . . . . . . . . . . . . . . . . . . . . . 23922.2 Weitere Methoden zur Nullstellenbestimmung . . . . . . . . . . . . . . 241

22.2.1 Sekantenverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24122.2.2 Bisektionsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24322.2.3 Newton-Verfahren fur Polynome . . . . . . . . . . . . . . . . . . . . 24522.2.4 Newton-Verfahren zur Berechnung eines Minimums . . . 246

23 Iterative Losung Linearer Gleichungssysteme . . . . . . . . . . . . . 24923.1 Stationare Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24923.2 Gradientenverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25423.3 Vektoriteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

24 Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26124.1 Iteration und Chaos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

24.1.1 Logistische Parabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26124.1.2 Komplexe Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26324.1.3 Newton-Iteration und Chaos . . . . . . . . . . . . . . . . . . . . . . . 264

24.2 Iterative Verfahren in Anwendungen . . . . . . . . . . . . . . . . . . . . . . 26524.2.1 Neuronale Netze und iterative Verfahren . . . . . . . . . . . . 26524.2.2 Markov-Ketten und stochastische Automaten . . . . . . . . 26624.2.3 Data Mining und Information Retrieval . . . . . . . . . . . . . 268

25 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

Teil VII Numerische Behandlung von Differentialgleichungen

26 Gewohnliche Differentialgleichungen . . . . . . . . . . . . . . . . . . . . . . 27926.1 Numerische Losungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28326.2 Gewohnliche Differentialgleichungen hoherer Ordnung . . . . . . . 28826.3 Fehleruntersuchung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28926.4 Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

26.4.1 Rauber-Beute-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29426.4.2 Lorenz-Attraktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29526.4.3 Algebraische Differentialgleichungen und Chip-Design . 297

Page 12: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Inhaltsverzeichnis XIII

27 Partielle Differentialgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . 29927.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29927.2 Diskretisierungsmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

27.2.1 Finite Differenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30527.2.2 Iterative Losungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . 31127.2.3 Finite-Element-Diskretisierungen . . . . . . . . . . . . . . . . . . . 321

27.3 Weitere Beschleunigungsmethoden . . . . . . . . . . . . . . . . . . . . . . . . 32627.3.1 Adaptivitat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32627.3.2 Parallelitat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

28 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33128.1 Wetter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33128.2 Tsunami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33628.3 Bildverarbeitung und PDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

29 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339

Teil VIII Anhang

A Werkzeuge aus der Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347A.1 Taylor-Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347A.2 Landau-Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

B Werkzeuge aus der Linearen Algebra . . . . . . . . . . . . . . . . . . . . . 353B.1 Vektoren und Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353B.2 Normen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355B.3 Orthogonale Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358B.4 Eigenwerte und Singularwerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359B.5 Bestapproximation in der ‖.‖2-Norm . . . . . . . . . . . . . . . . . . . . . . 360

C Komplexe Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

D Fourier-Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

E Praktische Hinweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369E.1 Hinweise zu Ubungs- und Programmieraufgaben . . . . . . . . . . . . 369E.2 Uberblick zu Software fur numerische Anwendungen . . . . . . . . 370E.3 Literaturhinweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371

Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381

Page 13: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Teil I

Motivation und Einordnung

Page 14: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

1 Die Entwicklung des Rechnens

”Das Einmaleins ist mir bis auf diese Stunde nicht gelaufig.“

Franz Grillparzer

Die Geschichte der Menschheit ist untrennbar verbunden mit der Verwen-dung von Zahlen. Wahrend Naturvolkern zum Rechnen die beiden Handegenugten, so ist die moderne Wissenschaft und Technik auf komplizierte Re-chenverfahren angewiesen. Dabei haben sich Zahldarstellung, Rechenverfah-ren, Rechenmaschinen und technische Entwicklung, sowie der sich darausergebende gesellschaftliche Nutzen gegenseitig beeinflusst und vorangetrie-ben.

Bereits zu Beginn des 2. Jahrtausends v.Chr. kannten die babylonischenMathematiker eine Zahlenschrift, die nur einen senkrechten Nagel fur eineEins und einen offenen Winkel fur die 10 benutzte. Ein Nagel konnte dabei –je nach seinem Abstand zu den anderen Winkeln oder Nageln – eine 1 odereine 60 bedeuten. 3661 = 60 · 60 + 60 + 1 wurde so also durch drei Nagelmit Abstand angezeigt, wahrend die drei Nagel ohne Abstand einfach fur 3standen. Das Problem der eindeutigen Darstellung der Zahl 3601 wurde fast2000 Jahre spater gelost, indem man als Platzhalter fur eine fehlende Stellezwei schrag hochgestellte oder liegende Nagel einfuhrte; daher wurde also3601 = 60 · 60 + 0 · 60 + 1 dargestellt durch zwei Nagel, getrennt durch diebeiden hochgestellten Nagel.

Im dritten Jahrhundert v.Chr. wurde in Nordindien ein Zehnersystementwickelt, das fur die Ziffern 1 bis 9 graphische Zeichen benutzte, und dabeifur diese Ziffern in verschiedenen Zehnerpotenzen auch verschiedene Zeichenzur Verfugung hatte, also z.B. fur 9, 90, 900, usw. jeweils ein eigenes Zei-chen. Im 5. Jahrhundert n. Chr. fanden indische Mathematiker heraus, dassihr Zahlensystem sich stark vereinfachen ließ, wenn man auf diese Unter-scheidung der Potenzen verzichtete und stattdessen durch eine eigene neueZiffer, die Null, die Auslassung einer Zehnerpotenz anzeigte. Das indischeWissen wurde durch Araber wie Mohammed Ibn Musa al-Charismi1 nachEuropa weiter vermittelt. Anfang des 13. Jahrhunderts verbreitete vor allemder Mathematiker Leonardo Fibonacci aus Pisa die Kenntnis der arabischen1 Von seinem Namen leitet sich der Begriff Algorithmus ab

Page 15: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

4 1 Die Entwicklung des Rechnens

Ziffern in seinem ”liber abaci“. Aus dem arabischen Wort as-sifr (die Leere)kreierte er den lateinischen Namen zefirum, aus dem sich sowohl das WortZiffer, als auch das englische ”zero“ ableitet. Mit den indisch-arabischen Zei-chen konnte sich so das schriftliche Rechnen langsam durchsetzen und dieromischen Ziffern verdrangen. Aber selbst Adam Ries (1492 bis 1559) be-schrieb in seinen Rechenbuchern neben dem schriftlichen Rechnen mit denarabischen Ziffern hauptsachlich noch das Rechnen mit Abakus, Linien undSteinen, das nur wenige, meist Verwaltungsbeamte, Kaufleute und Gelehr-te beherrschten. So war wegen der Notwendigkeit des Umgangs mit immergroßeren Zahlen durch die Einfuhrung der Null die Grundlage gelegt wor-den, auf der sich spater einfachere Rechenverfahren durchsetzen und in derBevolkerung verbreiten konnten.

Michael Stifel fuhrte bereits kurze Zeit spater die negativen Zahlen einund pragte den Begriff Exponent. Lord John Napier (1550-1617) entdeckteden naturlichen Logarithmus und konnte auf Rechenstabchen (den Napier-Bones) eine logarithmische Skala herstellen, die das Multiplizieren von Zah-len auf einfache Weise auf die Addition zuruckfuhrte2. Diese Napier Boneswurden 1650 von Edmund Gunter und William Oughtred zum ersten funkti-onsfahigen Rechenschieber verbessert und spater von Isaac Newton und JohnWarner weiterentwickelt.

Die neue Zahldarstellung mit der Null ermoglichte auch das Automatise-ren von Rechenschritten. So baute bereits 1623 Wilhelm Schickard in Tubin-gen die erste ”Rechenuhr“, und daraufhin stellte 1642 Blaise Pascal das erstemechanische Rechenwerk fur Addition und Subtraktion mit durchlaufendemZehnerubertrag vor. Im Jahre 1671 entwickelte Gottfried Wilhelm Leibniz ei-ne Rechenmaschine, die bereits alle vier Grundrechenarten beherrschte. Kurzdarauf beschrieb er das binare Zahlensystem, ohne das die heutige elektroni-sche Datenverarbeitung nicht vorstellbar ware. Im 19. Jahrhundert entwarfCharles Babbage eine Maschine, die sogar Logarithmen berechnen konnte.Außerdem plante er seine ”Differenzmaschine Nr. 2“, die getrennte Bau-gruppen fur Speicher und Rechenwerk und sogar ein Druckwerk vorsah. DieseMaschine sollte mittels Lochkarten gesteuert werden, die von Joseph-MarieJacquard 1805 zur Steuerung von Webstuhlen erfunden worden waren.

In der Zeit von 1848 bis 1850 entwickelte George Boole die ”Boole’scheAlgebra“, die Grundlage der heutigen binaren Rechenschaltungen. Die techni-sche Entwicklung wurde vorangetrieben 1890 durch die Lochkartenmaschinevon Herman Hollerith, die zur Volkszahlung in den USA entwickelt wurde. Inden dazugehorigen Lesegeraten steckten kleine Metallstabe, die an den Stel-len, wo die Karte gelocht war, einen Kontakt zuließen, so dass elektrischerStrom fließen konnte. Die Auswertung der Daten dauerte mit dieser Technikstatt mehrerer Monate nur einige Wochen.2 Fur positive Zahlen x und y konnen wir das Produkt x · y = exp(log(x)) ·

exp(log(y)) = exp(log(x)+log(y)) auf die Addition log(x)+log(y) zuruckfuhren.

Page 16: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

1 Die Entwicklung des Rechnens 5

Der Hohepunkt der mechanischen Rechenmaschinen war wohl mit demersten Taschenrechner, der Curta, erreicht. Im Konzentrationslager Buchen-wald vollendete der judische Haftling Curt Herzstark die Plane fur seinen

”Lilliput“-Rechner, der von der SS als Siegesgeschenk an den Fuhrer vorge-sehen war. Wieder in Freiheit wurde Herzstark in Liechtenstein TechnischerDirektor der Cortina AG zur Herstellung und Vertrieb der Curta, einer ver-besserten Form des Lilliput.

Zur gleichen Zeit setzte die Entwicklung der elektronischen Rechner ein.Konrad Zuse entwickelte 1941 mit der Zuse Z3 den ersten Relaisrechner. Da-bei verwendete er als Kompromiss zwischen der Festkomma-Zahldarstellung,mit der problemlos addiert werden kann, und einer logarithmischen Darstel-lung, die das Multiplizieren vereinfacht, die heute ubliche Gleitpunktdarstel-lung. 1946 stellte John von Neumann die Fundamentalprinzipien eines freiprogrammierbaren Rechners auf (Prozessor, Speicher, Programm und Datenim Prozessor). Der ENIAC3 war im gleichen Jahr der erste Rechner, derRohren verwendete. Die Telefunken TR 4 war der erste Computer auf derBasis von Transistor-Bausteinen. 1958 entstand der erste Chip, und 1967 er-oberte der erste Taschenrechner den Markt. Neun Jahre spater wurde der ers-te Home-Computer Apple geboren, und 1981 begann der Siegeszug des PC4.Inzwischen dokumentieren Schlagworte wie VLSI-Design, RISC-Architektur,Pipelining, Vektor- und Parallelrechner die rasante Entwicklung.

Mit dem frei programmierbaren Computer entfiel die Beschrankung aufwenige, einfache Grundrechenarten, wie sie noch mechanische Rechner pragte.Ein Computer kann eine riesige Zahl unterschiedlichste Kombinationen vonRechnungen in kurzester Zeit ausfuhren. Damit kommt der Software, alsoden Programmen, die diese Computer mit Anweisungen versorgen, eine im-mer großere Bedeutung zu. Es werden auch immer komplexere Algorithmenmoglich, so dass ein Betriebssystem wie Windows 95 z.B. aus ca. 10 MillionenZeilen Code besteht.

Fur Aufgabenstellungen, die die Leistungsfahigkeit von PC’s weit uber-steigen, werden heutzutage auch Supercomputer entwickelt, um immer große-re und kompliziertere Fragestellungen in den Griff zu bekommen. Die Erstel-lung einer verlasslichen Wettervorhersage, aber auch Schach-Computer oderdie Berechnung von immer mehr Stellen der Kreiszahl π sind Herausfor-derungen, die sowohl die Entwicklung der Hardware als auch der Softwarevorantreiben. Getragen wird diese Entwicklung von der Erwartung, dass derFortschritt in der Computerisierung auch der Menschheit dient.3 Electronic Numerical Integrator and Calculator4 Computer kommt von lateinisch

”computare“. Damit bezeichneten die Romer das

Zusammenzahlen von Kerben, die man in Holz schnitzte (putare = schneiden) umeinfache Rechnungen durchzufuhren. In Zusammenhang mit Rechenmaschinenwurde das Wort compute zum ersten Mal von John Fuller zur Verwendung einesRechenschiebers 1850 gebraucht

Page 17: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

6 1 Die Entwicklung des Rechnens

Die Zukunft wird voraussichtlich stark gepragt von der weiteren Ent-wicklung des Computers. So konnte sich in kommenden Jahren der DNS-Computer durchsetzen, der mittels biologischer Prozesse Rechenaufgabenlost. Einen alternativen Ansatz stellt der Quantencomputer dar, der auf derBasis von Energiezustanden von Atomen rechnet, und dadurch unvorstell-bar viele Operationen parallel durchfuhren kann. Ausgangspunkt aber wirdstets das menschliche Gehirn bleiben, das sich als Rechner immer schnellereSupercomputer ausdenkt und realisiert. Auch auf diesen zukunftigen Rechen-anlagen wird Numerische Mathematik betrieben werden.

Page 18: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

2 Numerische Mathematik, Reine Mathematik

und Informatik

”Wissenschaftliche Forschung lauft immer darauf hinaus, dass esplotzlich mehrere Probleme gibt, wo es fruher ein einziges gegebenhat.“

Norman Mailer

2.1 Informatik als die Wissenschaft vom Computer

Versteht man die Informatik – wie im englischen Sprachgebrauch – als die

”Wissenschaft vom Computer“ (Computer Science), so ist durch diese Defi-nition die Numerische Mathematik in naturlicher Weise darin eingeschlossen.Jeder, der mit dem Computer arbeitet, kommt daher auch direkt oder indi-rekt mit Grundverfahren der Numerik in Beruhrung. Dies gilt insbesonderefur die Bereiche Zahldarstellung und -arithmetik, Bildverarbeitung, Compu-tergraphik und Parallelrechner, die in beiden Fachgebieten behandelt werden.Andere Verfahren wie die Gauß-Elimination oder das Newton-Verfahren sindvon so grundsatzlicher Bedeutung, dass sie jedem natur- oder ingenieurswis-senschaftlich Tatigen gelaufig sein sollten.

2.2 Informatik und Numerik im WissenschaftlichenRechnen

Ein großer Bereich, in dem Numeriker und Informatiker tatig sind, ist der Be-reich des Wissenschaftlichen Rechnens. Hier geht es darum, ein Anwendungs-problem fachubergreifend in Zusammenarbeit verschiedener Wissenschaftenzu losen. An der Wettervorhersage arbeiten z.B. Meteorologen, die gewisseModelle und Zusammenhange entwickeln, die das naturliche Wettergesche-hen moglichst gut darstellen. In Zusammenarbeit mit Mathematikern werdendiese Vorgange dann durch physikalische Gesetze naherungsweise als ma-thematische Gleichungen geschrieben. Die Numerische Mathematik ist dafur

Page 19: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

8 2 Numerische Mathematik, Reine Mathematik und Informatik

zustandig, fur diese komplizierten mathematischen Gleichungen Losungsver-fahren zu entwickeln, die dann in Zusammenarbeit mit Informatikern imple-mentiert werden. Dazu ist es notwendig, dass die beteiligten Wissenschaft-ler uber eine ”gemeinsame Sprache“ verfugen und daher in den beteiligtenFachern ”mitreden“ konnen.

Auf jeder dieser Abstraktionsstufen von der Natur bis zur Implementie-rung konnen Fehler und Unzulanglichkeiten auftreten. So kann das mathe-matische Modell zu grob sein, der numerische Algorithmus falsche Ergebnisseliefern, oder die Implementierung ineffizient sein. In einem solchen Fall mussjeweils das beteiligte Verfahren ausgetauscht oder verbessert werden.

Der Informatiker ist in diesem Prozess fur die Effizienz der Implemen-tierung verantwortlich; Stichworte sind hier Rechenzeit, Speicherverwaltung,Berucksichtigung von Cache-Effekten, Einsatz von Parallelrechnern. Dane-ben beschaftigt sich die Informatik aber auch mit Fragen der Entwicklungund dem Einsatz geeigneter Rechnerarchitekturen, Compiler, Programmier-techniken und Visualisierungstools.

Der Numeriker beschaftigt sich u.a. mit der Entwicklung effizienter,schneller Algorithmen und Methoden, die das mathematische – zumeist kon-tinuierliche – Problem moglichst gut diskret approximieren. Besondere Auf-merksamkeit muss dabei auf Rechengenauigkeit und Rundungsfehlerentwick-lung gelegt werden.

Im Wissenschaftlichen Rechnen treten auf jeder Ebene Fehler auf:

– Die Natur lasst sich offensichtlich nicht vollstandig durch mathemati-sche Gleichungen beschreiben; einige Effekte wie Reibung werden oft ver-nachlassigt oder die Große des betrachteten Gebietes wird reduziert, umuberhaupt bei der derzeitigen Rechnerkapazitat und -geschwindigkeit eineLosung in vernunftiger Zeit zu erhalten.

– Die kontinuierlichen Gleichungen werden diskretisiert, um z.B. Gleichungs-systeme zu erhalten, die auf dem Rechner gelost werden konnen. Hierbeitritt ein sogenannter Diskretisierungsfehler auf. Durch ungeschickte Wahldes Modells kann es passieren, dass das diskretisierte Modell zu Ergebnis-sen fuhrt, die mit dem Ausgangsproblem nicht mehr ubereinstimmen, diedie Wirklichkeit also schlecht oder gar nicht beschreiben.

– Bei der numerischen Losung des diskretisierten Problems konnen sich durchRundungsfehler wahrend der Berechnung so viele zusatzliche Fehler ansam-meln, dass die berechneten Werte weit entfernt von der gesuchten Losungdes diskretisierten Problems sind.

Um in diesem Prozess der Modellierung auf jeder Stufe brauchbare Er-gebnisse zu erhalten, werden also Wissenschaftler benotigt, die auch in derNumerischen Mathematik uber Vorkenntnisse verfugen (genauso wie Mathe-matiker, Numeriker und Naturwissenschaftler, die zusatzlich auf dem Gebietder Informatik ausgebildet sind).

Page 20: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

2.3 Numerische Methoden in der Informatik 9

2.3 Numerische Methoden in der Informatik

Auch in eigentlichen Kernbereichen der Informatik treten Probleme auf, diesich nur mit Mitteln der Numerik behandeln lassen. Als wichtigste Gebietewaren hier zu nennen:

– Implementierung mathematischer Funktionen– Computergraphik (Darstellung von Objekten)– Bildverarbeitung (Kompression, Analyse, Bearbeiten)– Neuronale Netze (Lernverfahren)– Information Retrieval (Vektorraummodell)– Chip Design (Algebraische Differentialgleichungen)– stochastische Automaten und Markov-Ketten (Prozessverwaltung, Warte-

schlangen)

Wir werden in den jeweiligen Kapiteln fur die Informatik besonders rele-vante Anwendungsbeispiele aus den oben genannten Bereichen prasentieren.

Page 21: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

3 Benotigtes Grundwissen aus Informatik und

Mathematik

”Der Anfang ist die Halfte des Ganzen.“

Aristoteles

3.1 Informatik

In einfuhrenden Informatik-Vorlesungen wird ublicherweise die Zahldarstel-lung im Rechner behandelt. Entscheidend fur uns ist dabei die Tatsache, dassein endlicher Speicher selbstverstandlich auch nur eine beschrankte Anzahlvon Stellen einer potentiell unendlich langen Zahl aufnehmen kann. Die An-zahl der auf dem Computer darstellbaren Zahlen ist somit beschrankt. Damitunmittelbar verbunden sind Rundungsfehler, die beim Darstellen bzw. beimRechnen mit beliebigen Zahlen unausweichlich auftreten werden.

Bei der Programmierung orientiert sich die Informatik an funktionalen,objekt-orientierten, maschinennahen und imperativen Sprachen. In der Nu-merik werden hauptsachlich einfache imperative Sprachen wie FORTRANoder C verwendet, inzwischen aber auch verstarkt objekt-orientierte Spra-chen (C++, JAVA). Die wesentlichen Befehle sind dabei FOR- und WHILE-Schleifen sowie die IF-Anweisung in Verbindung mit mehrdimensionalen Fel-dern (Arrays, Vektoren, Matrizen). Auch komplexe Zahlen konnen als Daten-typ auftreten. In einzelnen Fallen spielen auch Rekursionen in Verbindungmit divide-and-conquer-Strategien eine wichtige Rolle.

Weitere Teilgebiete der Informatik mit direktem Bezug zur Numerik sinddie Komplexitatstheorie und die Beschaftigung mit effizienten Algorithmen.Relevante Fragestellungen sind hier z.B. die Bestimmung der Zeit- und Spei-cherkomplexitat wichtiger numerischer Verfahren.

3.2 Einordnung in die Mathematik

Die sogenannte ”Reine Mathematik“ liefert i.Allg. Aussagen uber die Existenzund Eindeutigkeit von Losungen, aber nicht unbedingt die Losung selbst.

Page 22: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

12 3 Benotigtes Grundwissen aus Informatik und Mathematik

So kann es aus Sicht der Existenz- und Eindeutigkeitstheorie vollkommengenugen, eine Losung in der Form

a =

∞∫0

e−t2dt, x = A−1b ∈ IRn oder y mit f(y) = 0,

anzugeben, wahrend der Anwender naturlich die Losungszahlen a und y bzw.den Losungsvektor x in expliziter Form benotigt. Auf dieser Basis lassensich aber nur unbefriedigend quantitative Aussagen gewinnen. Daher wird esim Folgenden unsere Aufgabe sein, diese in expliziter Form anzugeben, undzwar moglichst exakt und moglichst effizient. In Computeralgebrasystemenwie MAPLE oder MATHEMATICA wird dieser Unterschied sehr deutlich:Bis zu einem gewissen Punkt ist es moglich, Ergebnisse formal implizit zubeschreiben; dann muss aber oft doch zu numerischen Rechnungen uberge-gangen werden, um quantitative Resultate zu erhalten.

Numerik lasst sich somit vereinfachend als die Wissenschaft umschrei-ben, die versucht, die mathematischen Probleme, die im Zusammenhang mitquantitativen Aussagen auftreten, moglichst effizient und exakt zu losen.

Voraussetzung zum Verstandnis dieses Buches sind nur elementare Vor-kenntnisse aus der Mathematik, die normalerweise Stoff einfuhrender Ma-thematik-Vorlesungen fur Informatiker und Naturwissenschaftler sind. Hilfs-mittel, die daruber hinaus gehen, sind im Anhang kurz und verstandlichzusammengefasst. Dies sind im Wesentlichen:

– Ableitungen und Integrale,– Taylor-Reihe und Mittelwertsatz,– Matrizen und Normen,– komplexe Zahlen.

3.3 Beziehung zu anderen natur- undingenieurwissenschaftlichen Fachgebieten

Naturwissenschaftler und Ingenieure verfugen in der Regel uber gute mathe-matische Vorkenntnisse, so dass die Lekture des Buches auch fur diesen Per-sonenkreis ohne Schwierigkeiten moglich sein sollte. Viele der beschriebenenAnwendungsbeispiele sind außerdem eng verknupft mit naturwissenschaft-lichen oder technischen Fragestellungen, so dass sich das vorliegende Werkauch gerade fur Studierende eignet, die nicht Mathematik oder Informatikstudieren.

Page 23: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Teil II

Rechnerarithmetik und Rundungsfehler

Page 24: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

4 Rundungs- und Rechenfehler

”Was immer ein endliches Wesen begreift, ist endlich.“

Thomas von Aquin

Die Leistung von integrierten Schaltkreisen, gemessen in ausgefuhrten Tran-sistorfunktionen, verdoppelt sich seit ca. 1962 im Durchschnitt alle 18 Mo-nate, siehe [13] und Abb. 4.1 links. Der Herstellungspreis pro Transistor falltentsprechend rasant, siehe Abb. 4.1 rechts: Ein Transistor kostet zur Zeit un-gefahr soviel wie das Drucken eines einzelnen Buchstabens in einer Zeitung.Gordon E. Moore, ein Grunder der Firma Intel, erkannte in der damals nochjungen Halbleitertechnologie diese Gesetzmaßigkeit, siehe [84], die als MooresGesetzmaßigkeit bekannt wurde. Daran gekoppelt steigt die Anzahl der vierarithmetischen Grundoperationen +, −, · und ÷, die ein Rechner pro Sekundedurchfuhren kann, und liegt im Vergleich zum Kopfrechnen um Großenord-nungen hoher, siehe die Aufgaben 25 und 26. Wir kommen nochmals in derAnmerkung 11 auf den technischen Zusammenhang zwischen Transistorenund arithmetischen Grundoperationen zuruck. Ein Ende dieser Leistungsstei-gerung ist nicht abzusehen. Zwar sind die Grenzen der Silizium-Technik balderreicht, wie vorher auch schon die Grenzen der Relais-, Elektronenrohren-oder Transistortechnik, doch kann man davon ausgehen, dass Computer auchin der Zukunft immer weiter verkleinert werden.

Im Vergleich zur Anwendung eines Taschenrechners oder dem Kopfrech-nen werden mit dem Computer die vier Grundoperationen sogar noch mitunuberbietbarer Zuverlassigkeit ausgefuhrt. Arithmetische Berechnungen las-sen sich effizient und verlasslich durchfuhren und finden immer mehr relevanteAnwendung in der Praxis, z.B. in der

– Telekommunikationstechnik fur Mobiltelefone,– Verkehrstechnik fur Eisenbahnsignalanlagen, Antiblockiersysteme, Aufzu-

ge, Fahrtreppen und Verkehrsampeln,– Medizintechnik fur Infusionspumpen und Beatmungsgerate,– Be- und Verarbeitungstechnik fur Pressen, Industrieroboter und Werkzeug-

maschinen sowie– Energie- und Verfahrenstechnik fur Reaktorschutz, Chemieanlagen, Bren-

nersteuerung und Flammuberwachung

Page 25: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

16 4 Rundungs- und Rechenfehler

1960 1965 1970 1975 1980 1985 1990 1995 2000 200510

100

1.000

10.000

Gordon Moore, 1965

4004

8086

286

Intel386TM

Intel486TMIntel Pentium

Intel Pentium 4

Intel Itanium 2

Intel Dual Core Itanium

Moore’s LawA

nzah

l Tra

nsis

tore

n

106

105

107

108

109

1010

1960 1965 1970 1975 1980 1985 1990 1995 2000 2005

0.001

0.01

0.1

1Kosten pro Transistor

Kos

ten

in U

S−

Dol

lar

10−6

10−4

10−5

10−7

Abb. 4.1. Die Leistungssteigerung der jeweils aktuellsten Rechner seit 1962 istlinks dargestellt: Die Anzahl der Transistorfunktionen ist halblogarithmisch gegendie Jahreszahl aufgetragen. Die Abbildung rechts zeigt die Herstellungskosten ei-nes einzelnen Transistors seit 1968: Der Preis der Transistoren ist in US-Dollarhalblogarithmisch gegen die Jahreszahl aufgetragen.

und sind so unbemerkt als sogenannte reaktive Systeme1, wie z.B. ein Kraft-fahrzeug in Abb. 4.2, ein Teil des taglichen Lebens

Abb. 4.2. Ein Autombil als Beispiel fur ein reaktives System (Grafik: Mit freund-licher Genehmigung der BMW AG).

1 Ein reaktives System bezeichnet allgemein ein ereignisgesteuertes System, in demdie Ausfuhrungsreihenfolge der Berechnungsmethoden wesentlich durch externeEreignisse und Daten aus der Umgebung bestimmt ist. Ein reaktives Systembeobachtet standig seine Umgebung und ist daher auch ein Echtzeitsystem.

Page 26: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

4 Rundungs- und Rechenfehler 17

geworden. Die Rechner in diesen reaktiven Systemen werden haufig nichtsachgemaß eingesetzt und die daraus resultierenden Probleme mit dem rech-nergestutzten Losen insbesondere mathematischer Aufgabenstellungen uber-sehen, namlich

1. eine Zahl kann nur mit endlicher Genauigkeit in einem Rechner gespei-chert und verarbeitet werden,

2. in einem Speicher kann nur eine endliche Anzahl von Zahlen aufgenom-men werden sowie

3. jeder Rechner kann die vier arithmetischen Grundoperationen +, −, ·und ÷ nur naherungsweise korrekt durchfuhren.

Der Umgang mit diesen Ungenauigkeiten ist ein wesentlicher Gegenstand dernumerischen Mathematik und ist auf ein gemeinsames Grundproblem zuruck-zufuhren:Jeder Rechner verfugt nur uber einen begrenzten, endlichen Speicherplatz,wahrend die zu losenden Aufgabenstellungen meist mit Hilfe umfassendererMengen, wie etwa der Menge der reellen Zahlen IR formuliert werden. Wirstecken somit in dem Dilemma, die unendliche Menge IR, deren Zahlen auchaus unendlich vielen Ziffern bestehen, approximieren zu mussen mit einerendlichen, noch zu wahlenden Menge IM der in einem Rechner reprasentier-baren Zahlen. Wir geben dieser Menge IM einen Arbeitstitel in der

Definition 1 (Maschinenzahlen). Die endliche Menge IM ⊂ IR der ineinem Rechner darstellbaren Zahlen heißt Menge der Maschinenzahlen.

Wir analysieren die Eigenschaften der endlichen Menge IM ohne zunachstauf eine konkrete Konstruktion der Menge IM einzugehen. Die vom Rechnenmit den reellen Zahlen IR gewohnten Eigenschaften, wie z.B. Assoziativitat,Kommutativitat oder Monotonie der Rundung, sind z.T. prinzipiell nicht miteiner endlichen Menge IM vereinbar oder sind nur fur konkret angegebeneMengen IM nachweisbar, siehe [74]. Beispiele fur Mengen IM von Maschinen-zahlen werden wir in Abschnitt 5 kennen lernen.

Wir interessieren uns zunachst allgemein fur die Auswirkungen der End-lichkeit der Menge IM auf das Rechnen mit einem Computer. Die darausresultierenden Folgerungen untersuchen wir in den anschließenden Kapiteln.

Das zentrale Problem basiert unmittelbar auf der Endlichkeit der MengeIM: Denn sei m > 1 die großte positive Maschinenzahl der Menge IM, sosind z.B. die beiden Zahlen m + m > m und m · m > m > 1 nicht mehrin der Menge IM enthalten. Weniger offensichtlich entsteht dieses Problemauch bei der Berechnung des arithmetischen Mittelwerts (m + n)/2 zweierMaschinenzahlen m, n ∈ IM, die in der Menge IM direkt aufeinander folgen.Denn wenn keine Zahl r ∈ IR mit m ≤ r ≤ n in der Menge IM enthaltenist, kann folglich auch das arithmetische Mittel nicht dargestellt werden. Wirverdeutlichen dies im

Beispiel 1. Wir wahlen die Menge IM = {0, . . . , 10}. Das sind gerade alleganzen Zahlen, die wir mit den Fingern beider Hande darstellen konnen. Die

Page 27: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

18 4 Rundungs- und Rechenfehler

Zahlen 10+10 = 20, 10·10 = 100 oder das arithmetische Mittel (5+6)/2 = 5.5der aufeinander folgenden Zahlen 5 und 6 sind in IM nicht reprasentierbar,wie Sie sich eigenhandig uberzeugen konnen.

Diesen Sachverhalt halten wir fest im

Theorem 1 (Endlichkeit und Abgeschlossenheit von IM). Die beidenBedingungen Endlichkeit der Menge IM und Abgeschlossenheit der Menge IMgegenuber den vier arithmetischen Grundoperationen sind nicht vereinbar.

Diese grundlegende Erkenntnis hat weitreichende Konsequenzen fur dieDurchfuhrung der arithmetischen Grundoperationen in einem Rechner, mitder wir uns in Abschnitt 4.2 sowie Kapitel 6 beschaftigen. Wir entwickelndie wesentlichen Gedankengange exemplarisch am Beispiel der Addition. DieErgebnisse gelten in gleicher Weise auch fur die drei anderen arithmetischenGrundoperationen: Subtraktion, Multiplikation sowie Division.

4.1 Rundungsfehler

Die Menge der reellen Zahlen IR approximieren wir durch die Menge der Ma-schinenzahlen IM. Die Darstellung einer reellen Zahl r ∈ IR als Maschinenzahlm ∈ IM wird durch Abbildungen vermittelt. Diese Abbildungen mussen min-destens zwei Anforderungen erfullen, siehe dazu die

Definition 2 (Rundung). Eine Abbildung rd : IR −→ IM von den reellenZahlen IR in die Teilmenge der Maschinenzahlen IM ⊂ IR bezeichnen wir alsRundung, wenn die zwei Bedingungen

rd(m) = m ∀ m ∈ IM.

undr ≤ s ⇒ rd(r) ≤ rd(s) ∀ r, s ∈ IR

erfullt sind2.

Die Rundungsabbildung ist in Programmiersystemen unterschiedlich umge-setzt. Die Diskussion der Eigenschaften einer Rundung rd fuhrt an dieserStelle zu weit und wir verweisen auf die detaillierte Analyse der Rundungs-abbildung im Zusammenhang mit endlichen Mengen IM ebenfalls auf [74].Ein Beispiel fur eine konkrete Rundung findet sich in der Definition 16 imAbschn. 5.5.3.

Die Vielzahl existierender Rundungen unterscheidet sich genau in der Zu-ordnung der Zahlen aus IR\IM auf IM.

2 Andere Definitionen verlangen zusatzlich die Bedingung rd(−r) = −rd(r)∀ r ∈ IR.

Page 28: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

4.2 Rechenfehler 19

Anmerkung 1 (Implementierung der Rundungsabbildung). Die Mehrdeutig-keit in der Implementierung der Rundung rd stellt eine zusatzliche Fehlerquel-le dar. Dies muss insbesondere bei der Entwicklung von robuster Software3

beachtet werden, die auf verschiedenen Plattformen zuverlassig ausgefuhrtwerden soll; so z.B. bei Entwicklung der Software auf einem Hostprozessorund Einsatz der Software auf einem Targetprozessor.

Ubung 1 (Doppeldeutige Abbildung). Warum definiert die Gleichungm = rdmin(r) mit |r − m| = minn∈IM |r − n| keine Rundung rdmin?

Wir wollen den prinzipiellen Fehler, den wir bei der Rundung machen,analysieren. Wir abstrahieren von der konkreten Wahl der Rundung in der

Definition 3 (Rundungsfehler). Der Fehler frd(r) ∈ IR, der beim Rundennach Definition 2 fur die reelle Zahl r ∈ IR gemacht wird, heißt Rundungs-fehler und ist gegeben durch

frd(r) := δr := r − rd(r). (4.1)

Jede Zahl r ∈ IR\IM produziert nach (4.1) den Rundungsfehler frd(r) = 0.Wir halten dies fest in der

Anmerkung 2 (Charakterisierung der Maschinenzahlen). Die Zahl r ∈ IR istgenau dann eine Maschinenzahl aus der Menge IM, wenn frd(r) = 0, d.h.

frd(r) = 0 ⇔ r ∈ IM.

In einem Rechner werden auch die Rechenoperationen nur innerhalb derMaschinenzahlen IM durchgefuhrt. Diese zusatzliche Fehlerquelle analysierenwir im folgenden Abschnitt.

4.2 Rechenfehler

Die Addition + ist eine zweistellige Verknupfung von reellen Zahlen r, s ∈ IRin die reellen Zahlen IR3 Software-Schwachstellen werden mit dem englischen Begriff bug bezeichnet und

bedeutet auf Deutsch Kafer oder Insekt. Diese Bezeichnung geht angeblich aufein Ereignis aus dem Jahr 1945 zuruck:Der Großrechner Harvard Mark II des US-Marine-Waffenzentrum in Dahlgren,Virginia, einer der damals ersten Großrechner der Welt, arbeitete noch mit me-chanischen Relais. Der Rechner wurde lahm gelegt durch eine Motte, die ineinem der Schalter festgeklemmt war. Die Wissenschaftlerin Grace Hopper ent-fernte diese Motte und klebte sie in ihr Fehler-Logbuch und dokumentierte sodas erste

”debugging“ eines Systems. Dieser Fehlerreport inklusive der Motte

soll noch heute im Smithsonian Institute zu besichtigen sein.

Page 29: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

20 4 Rundungs- und Rechenfehler

+ : IR × IR −→ IR,

(r, s) �−→ r + s. (4.2)

Das Ergebnis einer Verknupfung, wie z.B. der Addition, muss nach Theo-rem 1 nicht notwendigerweise in der Menge der Maschinenzahlen IM enthaltensein. Die Summe muss allerdings wieder durch eine Zahl der Menge IM darge-stellt und dafur ggf. in die Menge der Maschinenzahlen IM gerundet werden.Dieses Vorgehen fuhrt zu einem systematischen Fehler, den wir untersuchenwollen. Wir fuhren dazu eine zweite binare Verknupfung +IM ein, die dieAddition im Rechner auf der Basis der Maschinenzahlen IM vermittelt. ZurVereinfachung fordern wir von der diskreten Maschinenoperation +IM, dasszwei Maschinenzahlen m und n wegen IM ⊂ IR zunachst wie reelle Zahlenexakt addiert werden und erst dann deren Summe m + n in die Menge derMaschinenzahlen gerundet wird

+IM : IM · IM −→ IM,

m +IM n �−→ rd(m + n). (4.3)

Der dabei auftretenden Fehler soll quantifiziert werden konnen. Wir machendaher analog zur Definition 3 die

Definition 4 (Rechenfehler). Den Fehler fre(m, n) ∈ IR, der beim Rech-nen durch (4.3) fur die Zahlen m, n ∈ IM gemacht wird, bezeichnen wir alsRechenfehler und er ergibt sich aus

fre(m, n) := (m + n) − (m +IM n) . (4.4)

Die Basis fur eine Analyse ist damit geschaffen und wir konnen den Ge-samtfehler einer arithmetischen Operation untersuchen.

4.3 Gesamtfehler

Wir interessieren uns fur den Gesamtfehler f+ ∈ IR der naherungsweisenAddition, den wir durch die Rundung rd der Eingabedaten r, s ∈ IR in Ma-schinenzahlen und die darauf folgende Maschinenoperation +IM verursachen.Wir ersetzen die beiden Summanden r und s durch ihre Approximationenrd(r) und rd(s) sowie die exakte Addition + durch die Maschinenaddition+IM und erhalten fur den Gesamtfehler

f+ := (r + s) − (rd(r) +IM rd(s)) . (4.5)

Wir fugen die Zahl Null

0 = − (rd(r) + rd(s)) + (rd(r) + rd(s))

in (4.5) ein und erhalten

Page 30: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

4.4 Analyse weiterer Fehlerquellen 21

f+ = (r + s) − (rd(r) + rd(s))︸ ︷︷ ︸=:fIR→IM

+ (rd(r) + rd(s)) − (rd(r) +IM rd(s))︸ ︷︷ ︸=:f+→+IM

.

Ubergang von IR zu IM Ubergang von + zu +IM

(4.6)Aus Gleichung (4.6) lernen wir, dass sich der Gesamtfehler f+ aus zwei

Anteilen zusammensetzt, die sich jeweils beim Ubergang von einer ideali-sierten zu einer im Rechner formulierten Aufgabenstellung ergeben. Dabeientsteht der erste Fehleranteil fIR→IM in (4.6) aus der Summe der Rundungs-fehler (4.1) fur die beiden Summanden r und s

fIR→IM := (r + s) − (rd(r) + rd(s))= (r − rd(r)) + (s − rd(s))= frd(r) + frd(s), (4.7)

und der zweite Fehleranteil f+→+IM in (4.6) aus der Rechnerarithmetik aufden Maschinenzahlen rd(r) und rd(s) der auszufuhrenden Summe

f+→+IM := (rd(r) + rd(s)) − (rd(r) +IM rd(s))= fre(rd(r), rd(s)). (4.8)

Wir wollen die Fehleranteile (4.7) und (4.8) so klein wie moglich halten.Dazu mussen wir verstehen, wie

1. die Menge der Maschinenzahlen IM konstruiert und dargestellt wird, sieheAbschnitt 5,

2. die elementaren arithmetischen Grundoperationen, wie z.B. die nahe-rungsweise Addition +IM, durchgefuhrt werden, siehe Abschnitt 6 und

3. sich ein Fehler in einer Folge von hintereinander auszufuhrenden elemen-taren Rechenoperationen fortpflanzt, siehe Abschnitt 7.

Abschließend soll der Inhalt dieses Abschnitts vertieft werden, in der

Ubung 2 (Gesamtfehler fur Multiplikation). Fuhren Sie den Gesamt-fehler f·, der durch die naherungsweise Multiplikation ·IM im Rechner ent-steht, analog auf die beiden Fehleranteile Rundungsfehler und Rechenfehlerzuruck. Was muss zusatzlich beachtet werden?

4.4 Analyse weiterer Fehlerquellen

Rundungs- und Rechenfehler sind nicht die einzigen Fehler, die bei reaktivenSystemen auftreten konnen: Sensoren liefern z.B. Messwerte mit begrenzterGenauigkeit. Diese dritte Fehlerquelle beruht auf unvermeidlichen Fehlernin den Eingabedaten. In diesem Abschnitt weisen wir zusatzlich auf weiteremethodische Fehlerquellen hin.

Page 31: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

22 4 Rundungs- und Rechenfehler

Eine Aufgabenstellung leitet sich in der Regel von einem vorliegenden Pro-blem P ab. Die entsprechende Ausgangsbeschreibung ist i.Allg. zu abstraktformuliert und kann nur mit hinreichender Aufbereitung von einem Rechnergelost werden. So erfordert z.B. die numerischen Vorhersage des Wetters, diedas Wetter bestimmenden physikalischen Gesetze in mathematische Formelnzu fassen. Die Abhangigkeiten der relevanten Großen voneinander beschrei-ben wir quantitativ mit einem System partieller Differentialgleichungen, sie-he auch Abschnitt 28.1. Wir erhalten ein Modell M des Problems P . Wennwir das zugrunde liegende Modell M rechnergestutzt losen wollen, mussenwir eine rechnergeeignete Formulierung des Modells M finden. Dieser Uber-gang ist i.Allg. nicht einfach, denn kontinuierliche Operatoren wie z.B. Dif-ferentialquotienten oder Integrale mussen durch eine endliche Folge der vierarithmetischen Grundoperationen approximiert4 werden. Wir bezeichnen die-se Transformation als Diskretisierung und erhalten ein diskretes Modell D desursprunglichen Problems P . Die Wahl der angemessenen Datentypen und dernumerischen Berechnungsmethoden ist in diesem Schritt von zentraler Be-deutung. In vielen Anwendungsbeispielen konnen wir das diskrete Modell Daufgrund nicht akzeptabler Rechenzeiten nicht exakt losen und mussen unsmit einer naherungsweisen Losung L des diskreten Modells D zufrieden ge-ben. So brechen z.B. iterative Berechnungsmethoden beim Erreichen einervorgegebenen Genauigkeit den Losungsvorgang ab. Schließlich mussen wirdie gefundene Losung, die i.Allg. durch eine nicht uberblickbare Anzahl vonZahlen reprasentiert wird, geeignet aufbereiten. Wir mussen die Losung Lz.B. graphisch anzeigen und stellen die Losung L mittels einer Visualisie-rung V dar. Die Gute einer Darstellung V des ursprunglichen Problems Plasst sich mit dem Gesamtfehler, symbolisiert mit |P − V |5, abschatzen. DerGesamtfehler |P − V | setzt sich aus folgenden vier Teilen zusammen

1. Modellierungsfehler |P −M | beim Ubergang vom konkret gestellten Pro-blem P zum Modell M ,

2. Diskretisierungsfehler6 |M − D| beim Ubergang vom aufgestellten Mo-dell M zum diskreten Modell D,

3. Abbruchfehler |D − L|, der entsteht, wenn ein unendlicher durch einenendlichen Losungsprozess ersetzt wird wegen beschrankter RessourcenSpeicherplatz und Laufzeit - haufig steht auch nicht so sehr der Wunsch

4 Die vier arithmetischen Grundoperationen erlauben, wenn uberhaupt, nur eineexakte Berechnung von rationalen Ausdrucken.

5 Die ausfuhrliche Definition der Begriffe Differenz − und Norm |.| sind sehrspezifisch fur die unterschiedlich abstrakten Beschreibungen P, M, D, L und Vund damit abhangig von der vorliegenden Aufgabenstellung und fur das weitereVerstandnis an dieser Stelle nicht notwendig.

6 Aufgabenstellungen bzw. numerische Algorithmen werden in der Regel mit Hilfeder reellen Zahlen IR formuliert bzw. hergeleitet und in einem Rechner mit Hilfevon Maschinenzahlen IM sowie der vier Grundrechenarten Addition, Subtrak-tion, Multiplikation und Division implementiert.

Page 32: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

4.4 Analyse weiterer Fehlerquellen 23

nach exakten Ergebnissen im Vordergrund, sondern schnell und einfachzu brauchbaren Naherungsergebnissen zu kommen - und

4. Darstellungsfehler |L − V |, den wir im letzten Schritt machen.

Ein anschauliches Beispiel fur einen Darstellungsfehler ist der so genannte

Anmerkung 3 (Heisenberg-Effekt der Arithmetik). Die Gleitkommaeinheit ei-nes Rechners kann intern mit hoherer Genauigkeit rechnen, so verwenden z.B.Intel Prozessoren den Datentyp long double mit der Wortbreite von 80 Bit.Viele Software-Werkzeuge arbeiten allerdings nicht mit der internen Genauig-keit, sondern nur mit doppelter Genauigkeit, und so kann es vorkommen, dassdie Genauigkeit des Endergebnisses einer Berechnung davon abhangt, ob undggf. mit welcher Genauigkeit Zwischenergebnisse einer internen Berechnunggespeichert werden. So kann z.B. die Darstellung eines Zwischenergebnissesauf dem Bildschirm das Zahlenformat der Zwischenergebnisse andern undsomit die Genauigkeit des Endergebnisses7.

Der Gesamtfehler |P − V | kann mit den vier Fehleranteilen durch dieuntere Schranke

max {|P − M |, |M − D|, |D − L|, |L − V |} ≤ |P − V | (4.9)

und die obere Schranke

|P − V | ≤ |P − M | + |M − D| + |D − L| + |L − V | (4.10)

abgeschatzt werden.Wir lesen aus (4.9) ab: Eine konkrete Losung L konnen wir nur dann

akzeptieren, wenn in allen vier Schritten Fehler derselben Großenordnunggemacht wurden. Es ist daher z.B. nicht notig, das diskrete Problem D ohneFehler zu losen, wenn das zugrunde liegende Modell M das Problem P nurunzureichend beschreibt. Haufig sind Modelle M auch zu detailliert, um eineLosung L in absehbarer Zeit berechnen zu konnen. In beiden Fallen mussenwir abwagen, denn ein ”zu viel“ an Modell M bedeutet im Gegenzug oftein ”zu wenig“ an Losung L und umgekehrt. Die Abschatzung (4.10) zeigtandererseits, dass fur eine Aussage uber die Gute der Losung L der gesamteLosungsprozess beachtet werden muss.

Bevor wir zum Ende dieses Kapitels kommen, machen wir nochmals einenExkurs in eine ganz menschliche Fehlerquelle in der

Anmerkung 4 (Weltraumsonde auf Crashkurs). Die Mars-Sonde Climate Or-biter verfehlte im Jahr 1999 kurz vor dem Ende der Reise das Ziel. Einefalsche Maßeinheit war daran schuld. Die vom Zulieferer Lookheed Mar-tin Astronautics verwendeten Steuerungsdusen arbeiteten bei der Angabeder wirkenden Kraft mit englischen Einheiten und nicht mit den von der7 Ein Beispiel findet sich z.B. auf www.inf.ethz.ch/news/focus/res_focus/

april_2005/.

Page 33: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

24 4 Rundungs- und Rechenfehler

US-Raumfahrtbehorde NASA geforderten metrischen Einheiten. Der Fehlerwurde weder vor dem Start erkannt noch wahrend des Fluges korrigiert. Diefalsch interpretierten Werte fur die ”small forces“ veranderten den Kurs aufder 670 Millionen Kilometer langen und zehn Monate dauernden Reise nurleicht. Die 125 Millionen US-Dollar teure Sonde kam dann dem Mars beimEinschwenken auf eine Umlaufbahn zu nahe und wurde dabei zerstort.

4.5 Sicherheitsrelevante Entwicklungsprozesse undStandards

Diese und ahnliche Missverstandnisse ergeben sich z.B. aus fehlerhafter Kom-munikation zwischen den Entwicklungsingenieuren8 oder fehlendem Gesamt-systemverstandnis, siehe dazu die Anmerkung 13. Die zusatzlichen Fehler-quellen sind z.B. Spezifikations-, Programmier- oder Fertigungsfehler sowieInstandhaltungs-, Nutzungs- und Handhabungsfehler bis hin zum bewusstfalschen Einsatz: der Sabotage. Diese Fehlerquellen konnen z.B. auf mangeln-de prozesstechnische Vorgaben in der Entwicklung oder auf unvollstandigenUbergabeprozessen der Entwicklungsartefakte zwischen den Entwicklungsab-teilungen, wie auch zwischen Zulieferer und Hersteller, zuruckgefuhrt werden.Der Gesetzgeber fordert daher fehlerrobuste Entwicklungsprozesse, um Ver-trauen in die Entwicklungsprodukte, wie z.B. Steuergeratesoftware, gewinnenzu konnen.

Diese Anforderungen konnen aus abstrakt formulierten, internationalgultigen Normen abgeleitet werden, wie z.B. aus der Norm ISO 9000 - QualityManagement and Quality Assurance Standards, siehe [62], die einen allgemei-nen Rahmen fur Qualitatsmanagementsysteme unabhangig vom angewende-ten Entwicklungsbereich definiert. Die beiden Normen IEC 60880 - Softwarefor Computers important to Safty for Nuclear Power Plants; Software aspectsof Defence against common Cause Failures, Use of Software Tools and of Pre-developed Software, siehe [58], die speziell fur die Sicherheitssoftware in Kern-reaktoranlagen entwickelt wurde und die IEC 61508 - Functional Saftety ofElectrical/Electronic/Programmable Electronic Safety-Related Systems, siehe[59], die aus der Anlagensteuerung stammt, sind spezifisch fur die Software-branche und geben vor, wie sowohl die Software zu entwickeln ist, als auch,wie die Software auszusehen hat, um in sicherheitsrelevanten Systemen ein-gesetzt werden zu konnen. Der Anwendungsbereich speziell der IEC 61508 istsomit die funktionale Sicherheit von Rechnern, die in rechnergestutzten Sys-temen Einfluss auf die Abwendung von Gefahren fur Leib und Leben oderdie Gesundheit von Personen sowie Umweltschaden haben. Die IEC 61508fordert z.B. die Verwendung einer formalen Methode um verschiedenartige8 Ein klassisches Beispiel fur ein Missverstandnis zwischen Informatikern und Ma-

thematikern ist, ob mit der Zahl 0 oder der Zahl 1 begonnen wird zu zahlen.

Page 34: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

4.5 Sicherheitsrelevante Entwicklungsprozesse und Standards 25

Klassen von Unstimmigkeiten und Fehlern erkennen zu konnen. Eine formaleMethode bietet i.Allg. an:

1. eine Notation, wie z.B. diskrete Mathematik,2. ein Verfahren zur Aufstellung einer Beschreibung in dieser Notation und3. verschiedene Formen der Analyse zur Uberprufung einer Beschreibung

auf unterschiedliche Eigenschaften der Korrektheit.

Die Norm RTCA9 DO-178B, siehe [95] ist der aktuelle Standard fur Soft-ware Considerations in Airborne Systems and Equipment Certification undregelt die Freigabe von Systemen und Geraten, die Software enthalten, furdie Anwendungen in der Luftfahrt.

Anmerkung 5 (Reifegradmodelle). Entwicklungsprozesse konnen auch sinn-voll klassifiziert werden unter der Annahme, dass die Qualitat eines Entwick-lungsproduktes entscheidend von der Gute des zugehorigen Entwicklungs-prozesses abhangt. Die beiden folgenden Reifegradbewertungen haben sichin Amerika und Europa etabliert:

– Capability Maturity Model, kurz CMM, siehe z.B. [22], beschreibt die Pro-zessfahigkeit im Bereich System- und Softwareentwicklung, ist ein Stu-fenmodell mit strukturiertem Leitfaden und ermoglicht eine verbesserteEinschatzung und gezielte Verbesserung von Entwicklungsprozessen sowie

– Software Process Improvement and Capability Determination, abgekurztmit SPICE, siehe [105]. Diese Norm ISO 15504 wurde 1998 als technischerReport verabschiedet und soll Ende 2005 komplett veroffentlicht werden.Die Kernpunkte dieses Modells sind Verbesserungen von Prozessen unddie Bestimmung des Prozessreifegrades; dies dient als Grundlage fur dasBewerten von Unternehmensprozessen.

Beide Normen uberprufen im Wesentlichen nur die Reife der einzelnen Pro-zessschritte und haben leider keinen anleitenden Charakter.

Ein beschreibender Entwicklungsstandard wurde als Reaktion auf eineVielzahl fehlgelaufener Software-Projekte der Bundeswehr vom Bundesminis-terium fur Verteidigung in Auftrag gegeben: der Entwicklungsstandard furIT-Systeme des Bundes, siehe [116], der dann auf die anderen Bundesminis-terien ubertragen wurde und mittlerweile in der Software-Branche etabliertist. Die Version von 1997

– regelt in einem ganzheitlichen Ansatz die Software- und Hardwareentwick-lung als Bestandteile der Systementwicklung,

– unterteilt in Anwenderanforderungen und technologische Anforderungen,– unterstutzt damals neue Technologien wie inkrementelle Systementwick-

lung oder objektorientierte Vorgehensweisen und– unterstutzt den Einsatz von Standard-Software.9 Die Abkurzung RTCA steht fur Radio Technical Commission for Aeronautics,

Inc.

Page 35: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

26 4 Rundungs- und Rechenfehler

Die bisher beschriebenen Methoden unterstutzen die Erstellung sicherheits-relevanter Software:

– Software fur die Funktion des Systems: Betriebssystemen, Firmware oderAnwendersoftware als auch fur die Software und

– Software, die fur die Entwicklung und Herstellung benotigt wird, wie z.B.C-Codegeneratoren, Compiler, Assembler, Linker oder Steuerungen vonFertigungseinrichtungen.

Die bisher beschriebenen Vorgehensweisen erleichtern eine anschließende Be-gutachtung. Dieses Vorgehensmodell10 ist unter dem SchlagwortV-Modell be-kannt geworden und ist mittlerweile ein international anerkannter Standard,der einheitlich und verbindlich festlegt, wie die Aufgaben Projektmanage-ment, Systemerstellung, Qualitatssicherung und Konfigurationsmanagementin einem Systementwicklungsprojekt koordiniert und durchgefuhrt werdensollen. Die Anwendung des V-Modells ist in [33] ausfuhrlich beschrieben undsoll sicherstellen, dass keine relevanten Aspekte der Systementwicklung uber-sehen wurden und damit das Ergebnis den Anforderungen des Auftraggebersentspricht. Eine detaillierte Analyse des Systementwicklungsprozesses unter10 Der Begriff Vorgehensmodell stammt aus der Softwaretechnik oder englisch

Software-Engineering. Die Vorgehensmodelle umfassen in diesem Zusammen-hang alle Phasen von der Aufgabenstellung bis zur endgultigen Ausmusterungeines Programmes: Problemanalyse, Softwareentwurf, Implementierung, Funkti-onsuberprufung, Leistungsuberprufung, Installation und Abnahme sowie War-tung. Das Software-Engineering wiederum entstand Ende der 1960-Jahre alsAntwort auf die immer noch andauernde Softwarekrise: Die standig komplexerwerdende Software wird immer fehleranfalliger. Die Softwarekrise konnte wederdurch die Einfuhrung strukturierter noch objektorientierter Methoden im Soft-wareentwurf und in der Programmierung beendet werden.

Dieser Umstand ist umso merkwurdiger, wenn man den Standpunkt ein-nimmt, dass Software nur eine endliche Folge von einfachen Ja/Nein-Ent-scheidungen umsetzt. Die große Anzahl nicht voneinander unabhangiger Ja-/Nein-Entscheidungen fuhrt zu einer irreduziblen Komplexitat, die im wahr-sten Sinne des Wortes kein Mensch mehr uberblicken kann und notgedrungenwird die Beherrschung dieser Komplexitat aus der Hand der Entwickler auf im-mer geschicktere Ubersetzungsprogramme fur immer abstraktere,

”hohere“ Pro-

grammiersprachen delegiert. Diesen Compilern fehlt allerdings der Kontext derRealitat.

Die Entwicklung der Hardware ist der Software-Technik weit voraus, da sichdiese auf physikalische Gesetze stutzen kann. Damit ist es moglich, Laufzeitenzu minimieren oder den Energieverbrauch einer logischen Operation zu bestim-men. Der Software-Technik fehlen ahnliche bestimmende Gleichungen. StevenJ. Wallach, der seit 1970 fuhrend an der Entwicklung von Computer-Hardwarebeteiligt ist, pragte in diesem Zusammenhang den Begriff Softon als Elementar-teilchen fur die Software, das ahnlich den physikalischen Elementarteilchen, dasVerhalten der Software vollstandig beschreiben konnen soll.

Page 36: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

4.5 Sicherheitsrelevante Entwicklungsprozesse und Standards 27

sicherheitsrelevanten Aspekten findet sich z.B. in [100]. Ein Beispiel fur einenkonkreten Entwicklungsprozess ist ausfuhrlich in [16] beschrieben.

Zur konkreten Zulassung einer neuen technischen Applikation, wie z.B.in einem Typgenehmigungsverfahren fur Kraftfahrzeuge, wird abhangig vommoglicherweise verursachten Gefahrdungspotential ein unabhangiges Gutach-ten in Form eines Zertifikates eingeholt. Zertifizierungsberechtigt sind wieder-um nur vom Gesetzgeber akkreditierte Stellen, wie z.B. der TUV11 oder dieDEKRA12. Der Begriff Gefahrdungspotential wird plausibilisiert in der

Anmerkung 6 (Safety Integrity Level / Sicherheitsintegritatslevel). Die NormIEC 61508 unterscheidet z.B. vier Sicherheitsniveaus: die Anforderungsklas-sen oder Safety Integrity Level eins bis vier, kurz SIL 1 bis SIL 4. Aus-gangspunkt fur diese Uberlegung ist eine Risikobetrachtung, siehe [41]: DasRisiko R wird als Erwartungswert des Schadens interpretiert und ergibtsich fur eine konkrete Schadensbetrachtung aus der zu erwartenden Haufig-keit h ∈ [0, 1] des Eintritts dieses Schadens und des verursachten Schadens-ausmaßes S, gemessen z.B. in Geldmenge oder Personenschaden, als

R = h · S.

Dabei ist es das objektiv vorhandene Risiko und nicht das von der Gesellschaftoder von dem Einzelnen empfundene Risiko, das sich im Begriff Risikoakzep-tanz niederschlagt.

Rundungs- und Rechenfehler sind sicherlich nicht die einzigen sicherheits-relevanten Fehlerquellen in einem Entwicklungsprojekt. Allerdings tragt dasVerstandnis fur diese Fehlerquellen zu einem wesentlichen Detailverstandnisund somit zu einer Absicherung des Gesamtsystems bei.

Wir schließen das Kapitel mit der schon langst falligen

Anmerkung 7 (Murphys Gesetzmassigkeit). ”If anything can go wrong, itwill.“13

11 Die Abk. TUV steht fur Technischer Uberwachungsverein.12 Die Abk. DEKRA steht fur Deutscher Kraftfahrzeug Uberwachungsverein.13 Die Bemerkungen auf der Internetseite www.murphys-laws.com/ garantieren eine

abschließende kurzweilige Unterhaltung.

Page 37: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5 Zahldarstellung

”Die naturlichen Zahlen hat der liebe Gott gemacht, alles andere istMenschenwerk.“

Leopold Kronecker

Die Fahigkeit des Zahlens ist notwendig, um unterschiedliche Mengen ahnli-cher Objekte miteinander vergleichen zu konnen. Die Einfuhrung von Zahlengehort zu den großen Kulturleistungen der Menschheit und ermoglicht, voneiner betrachteten Menge zu abstrahieren und Eigenschaften abzuleiten, dienur in der zugeordneten Machtigkeit der Menge begrundet sind. So entsprichtz.B. dem Vereinigen von Mengen unter bestimmten Annahmen das Addierender Zahlen, bzw. dem Vergleichen von Mengen das Feststellen der Gleich-heit der zugeordneten Machtigkeiten. Diese und andere Fahigkeiten sind vonelementarer Bedeutung.

Wir benotigen daher einheitliche Konventionen sowohl

1. zum Zahlen von Mengen als auch2. zur Darstellung dieser Zahlen,

um damit Eigenschaften von Mengen uberhaupt langfristig verfugbar ma-chen und Nachrichten ubertragen zu konnen. Diese Zahlen werden dabei mitSymbolen kodiert.

Ein sehr anschauliches Beispiel fur den Ubergang vom Prozess des Zahlenszur Darstellung der Zahlen vermitteln die bereits von den Inkas eingefuhrtenQuipus. Diese Knotenschnure1, die auch heute noch auf Markten in Peruverwendet werden, waren ca. 55 cm lang und hatten bis zu neun Knoten, dievon einem Hauptstrang oder einem Stock ausgingen. Die Knotenanzahl undihre Knupfart entsprachen Zahlenwerten im Zehnersystem.

In den fruhen Hochkulturen entwickelten sich unterschiedliche Konzep-te zur Darstellung von Zahlen, die nach Art der Zusammenstellung und derAnordnung der Ziffern in Additionssysteme und Positions- oder Stellenwert-systeme einteilbar sind. Additionssysteme ordnen jeder Ziffer eine bestimmte1 Eine Nachbildung findet sich z.B. im Heinz Nixdorf Museums-Forum in Pader-

born, siehe www.hnf.de/.

Page 38: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

30 5 Zahldarstellung

Zahl zu, wie z.B. beim Rechnen mit einem Abakus. Im Gegensatz dazu ord-nen Positions- oder Stellenwertsysteme2 jeder Ziffer aufgrund der relativenPosition zu anderen Ziffern eine Zahl zu. So haben die beiden Ziffern 2 und 5im Dezimalsystem je nach Zusammenstellung entweder den Wert 25 oder 52.Alle Zahlensysteme bauen auf einer so genannten ganzzahligen Grundzahl3

b > 1, auch Basis genannt, auf.Das ca. 5000 Jahre alte agyptische Additionssystem durfte das alteste

logische Zahlensystem sein und baut auf der Basis b = 10 auf. Die erstensieben Stufenzahlen 10i mit 0 ≤ i ≤ 6 verwendeten spezielle Hieroglyphen alsZahlzeichen, siehe Abb. 5.1. Die fehlende Null wird bei dieser Darstellungsartnicht als Mangel empfunden.

Abb. 5.1. Die antiken Agyptern stellten Zahlen mit Hieroglyphen dar: Ein Strichwar ein Einer, ein umgekehrtes U ein Zehner, die Hunderter wurden durch eineSpirale, die Tausender durch die Lotusblute mit Stiel und die Zehntausender durcheinen oben leicht angewinkelten Finger dargestellt. Dem Hunderttausender ent-sprach eine Kaulquappe mit hangendem Schwanz. Erganzend ohne Bild hier: DieMillionen wird durch einen Genius, der die Arme zum Himmel erhebt, reprasentiert.

Abb. 5.2. Babylonische Reprasentation der Zahl 46821 = 13 ·602 +0 ·601 +21 ·600

als 13|0|21.

Soll die Bedeutung einer Ziffer von der Position abhangen, kommen wirum die Darstellung einer leeren Position durch die Ziffer Null4 nicht herum.2 Zahlensysteme in eindeutigen Positionen gab es bereits im 2. Jahrtausend v.Chr.

in Mesopotamien.3 Die am weitesten verbreiteten Grundzahlen sind 2, 5, 10, 12, 20 und 60, von denen

die wichtigsten Basen 2 und 10 sind. Die Zahl 60 ist besonders interessant, dasowohl die Zahl 30, das entspricht ungefahr der Anzahl der Tage der Mondperiodeoder eines Monats, als auch die Zahl 12, die Anzahl der Monate in einem Jahr,Teiler sind.

4 Die Babylonier fuhrten um ca. 500 v. Chr. ein eigenes Zeichen fur die Leer-stelle im Ziffernsystem ein, siehe z.B. [61]. Auch wenn dieses Zeichen nicht als

Page 39: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5 Zahldarstellung 31

Wir sind dann z.B. in der Lage, die beiden Zahlen 701 und 71 zu unter-scheiden. Die Ziffer Null deutet das ”Auslassen“ einer Stufenzahl bi an undermoglicht eine ubersichtlichere Darstellung in der modernen Nomenklatur

z =n∑

i=0

zi bi. (5.1)

Die Symbole fur die Ziffern zi ∈ {0, 1, . . . , b−1} konnen wir als Koeffizien-ten der Stufenzahlen bi interpretieren. Die moglichen Ziffern besteht aus derMenge {0, 1, . . . , b − 1}. Die Ziffer zi gibt entsprechend der Position i in derDarstellung von z nach (5.1) an, mit welcher Stufenzahl bi sie multipliziertwerden muss.

Die Einfuhrung der fur uns heute nicht mehr wegzudenkenden Null alseigenstandige Ziffer verdanken wir bekanntermaßen den Indern, siehe auchAbb. 5.3. Die Ziffer Null findet sich erstmalig in einer Handschrift von 976n.Chr. und galt lange Zeit in Europa als Teufelswerk.

Abb. 5.3. Arabische und indische Symbole zum Darstellen von Zahlen:In der ersten Zeile sehen wir die indischen Ziffern des 2. Jahrhunderts n.Chr. Diesebildhaften Ziffern wurden erst von den Arabern ubernommen (zweite Zeile) undspater von den Europaern (dritte bis sechste Zeile: 12., 14., 15. und 16. Jahrhundert)immer abstrakter dargestellt.

Zahlen wurden in Europa bis ins Mittelalter mit lateinischen Großbuch-staben reprasentiert. Im romischen Zahlensystem5 standen I, V, X, L, C, Dund M fur 1, 5, 10, 50, 100, 500 und 1000. Großere Zahlen wurden einfachzusammengesetzt, so steht MMMDCCCLXXVI z.B. fur die Zahl 3876. Die-

Zahl oder Menge Null verstanden wurde, wurden damit schon Bruchrechnungendurchgefuhrt. Die Zahl Null wurde auch in der geheimen heiligen Zahlenschriftder Priester bei den Mayas in Mittelamerika verwendet.

5 Interessanterweise kamen die Zahlen D und M erst im 15. Jahrhundert hinzu.

Page 40: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

32 5 Zahldarstellung

ses Reprasentationssystem war allerdings kaum zum Rechnen geeignet undwurde daher ab dem 13. Jahrhundert von den arabischen Ziffern abgelost.

Der Mathematiker Leonardo von Pisa, auch unter dem Namen Fibonac-ci bekannt, hatte eine arabische Ausbildung erhalten. Die moslemische Welthatte damals von den Hindus ein neues Zahlensystem ubernommen. Fibonac-ci fuhrte die ”arabischen“ Ziffern im Jahr 1202 in seinem Buch Liber Abaciin Europa ein. Dieses Rechenbuch verbreitete die arabische Zahlschrift undermoglichte neue Berechnungsmethoden. Diese Berechnungsmethoden fan-den insbesondere fur kaufmannische Zwecke praktische Anwendungen. Seinumfangreiches Werk erklarte detailliert das Multiplizieren, Dividieren, Bruch-rechnen, Potenzrechnen, Wurzelziehen und die Losung von quadratischen undkubischen Gleichungen.

Der Mathematiker und Philosoph Gottfried Wilhelm Leibniz legte denentscheidenden Grundstein zu einer automatisierten Durchfuhrung von Be-rechnungsmethoden. Im folgenden Abschnitt stellen wir die von ihm im Jahre1679 eingefuhrte binare Zahldarstellung6 vor.

5.1 Binarzahlen

Die exakte Darstellung (5.1) einer positiven ganzen Zahl z ∈ ZZ≥0 benotigtin Abhangigkeit der Basis b ∈ IN∗ mit b > 1 mindestens s = [ logb(z)] ∈ INStellen. Diese Darstellung ist kein Selbstzweck, sondern sollte wichtige Ope-rationen effizient erlauben, z.B. die Multiplikation zweier s-stelliger Zahlenm und n: in einer arithmetischen Einheit wird ahnlich wie beim schriftlichenRechnen auf die b2 elementaren Multiplikationen 0 · 0 bis (b − 1) · (b − 1)zuruckgegriffen. Die Basis b legt somit bei vorgegebenem darzustellendemZahlenumfang [0, zmax] mit zmax > 0 sowohl die Anzahl der abzuspeichern-den Stellen s ∼ logb(zmax) als auch die Anzahl ∼ b2 der zu implementieren-den elementaren Rechenoperationen fest. Der Speicher kostet nach Abb. 4.1vergleichsweise wenig gegenuber der Rechenzeit der arithmetischen Opera-tionen.6 Die binare Zahldarstellung ist auch als duale oder dyadische Zahldarstel-

lung bekannt, siehe dazu auch die Bande der Akademie-Ausgabe unter www.

leibniz-edition.de/, Reihe I Allgemeiner, politischer und historischer Brief-wechsel, Seiten 404 bis 409. Gottfried Wilhelm Leibniz hatte bereits im Jahr 1672die Idee, das Rechnen von einer geeigneten Maschine durchfuhren zu lassen, diealle vier Grundrechenarten beherrschte. Die Idee basiert auf damals neuen me-chanischen Schrittzahler, die die Anzahl der Schritte aufsummieren. Das einzigeerhaltene Original von insgesamt vier gebauten, so genannten Vierspeziesrechen-maschinen wird heute in der Gottfried Wilhelm Leibniz Bibliothek, ehemals Nie-dersachsischen Landesbibliothek, aufbewahrt, siehe www.nlb-hannover.de/. EinNachbau aus dem Jahr 1924 ist offentlich zuganglich. Das Original kann nurunter Voranmeldung besichtigt werden.

Page 41: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.1 Binarzahlen 33

Die Wahl der Basis ist somit von zentraler wirtschaftlicher und technischerBedeutung: Die Basis b = 2 wird daher im Wesentlichen aus zwei Grundenverwendet:

1. Die Mikroelektronik basiert auf den Zustandspaaren: leitende ↔ nicht-leitende elektrischen Leitungen und geladene ↔ ungeladene Speicherein-heiten jeweils in einer gewissen Zeiteinheit.

2. Die Grundrechenarten konnen auf die minimale Anzahl von vier elemen-taren Rechenoperationen reduziert und implementiert werden.

Anmerkung 8 (Alternative Basis b). Im Folgenden verwenden wir die Basisb = 2. Alle Uberlegungen lassen sich auch auf andere Basen ubertragen. Dieskonnte insbesondere dann von Bedeutung sein, wenn der traditionelle RAM-Speicher7 durch ein Speichermedium ersetzt wurde, das wesentlich schnellereZugriffe, eine effiziente Implementierung der Grundrechenarten gewahrleistetsowie einen energiesparenderen Betrieb erlaubt und nicht notwendigerweiseauf der Basis b = 2 beruht.

Anmerkung 9 (Technische Klassifizierung von Speichertechnologien). Halb-leiterspeicher klassifiziert sich wie folgt in:

– nichtfluchtigen Speicher, der sich wiederum unterteilt in– herstellerprogrammierten Speicher, der nicht loschbar ist, als Read Only

Memory, kurz ROM, oder programmable ROM, kurz PROM, und– anwenderprogrammierten Speicher, der durch ein Programmiergerat pro-

grammierbar ist, entweder ebenfalls als programmable ROM, wenn ernicht loschbar ist, als erasable PROM, kurz EPROM, wenn er nur durchUV-Licht loschbar ist oder als flash EPROM, kurz Flash, wenn er nurelektrisch loschbar ist,

– anwenderprogrammierten Speicher, der in einer Schaltung programmier-bar und zugleich elektrisch loschbar ist, als electrical EPROM, kurz EE-PROM, sowie

– fluchtigen Speicher, entweder als– statischer Speicher static RAM, kurz SRAM, oder– dynamischer Speicher dynamic RAM, kurz DRAM.

Der Ingenieur Herman Hollerith verwendete im Jahr 1886 als erstes Spei-chermedium fur Daten die bis dahin zur Steuerung von Webstuhlen verwen-deten Lochkarten8, die die Große einer Dollarnote hatten. Verwaltungs- undBurotatigkeiten wurden durch die Lochkartenmaschine, fur die Hollerith 18897 Die englische Abkurzung RAM steht fur Random Access Memory und wird fur

den Typ von Speicher verwendet, der sowohl gelesen als auch beliebig oft be-schrieben werden kann, siehe auch Anmerkung 9.

8 In den dazugehorigen Lesegeraten der Lochkarten steckten kleine Metallstabe,die an den Stellen, wo die Karte gelocht war, einen Kontakt zuließen und somitelektrischer Strom fließen konnte. Lochkartenstanzer und Lesegerate hatten ihrenersten bedeutenden Einsatz bei der elften US-Volkszahlung im Jahr 1890: 43

Page 42: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

34 5 Zahldarstellung

die Goldmedaille der Pariser Weltausstellung bekam, weitgehend automati-siert und konnten wesentlich schneller erledigt werden.

Das Oktal- und Hexadezimalsystem mit den Basen 8 und 16 eignet sichsehr gut fur die Darstellung von Bitfolgen zur Speicherung von großeren Zah-len. Insbesondere ist die Hexadezimaldarstellung einer Bitfolge, zu erkennenan den fuhrenden Ox, intuitiver zu erfassen als die entsprechende, vergleichs-weise langere Bitfolge, z.B. fur die Zahl

(848)10 = (0011 0101 0000)2 = Ox350.

Die binare Zahldarstellung geht von der kleinstmoglichen ganzzahligenBasis b = 2 aus. Jede positive ganze Zahl z ∈ ZZ lasst sich eindeutig nach (5.1)zerlegen in

z =s−1∑i=0

zi · 2i. (5.2)

Die ganze Zahl z konnen wir nach (5.2) mit einer Folge von Ziffern zs−1,zs−2, . . . , z0 mit zi ∈ {0, 1} fur 0 ≤ i < s identifizieren. Die Anzahl s ≥ 1der verwendeten Ziffern bezeichnen wir als Stellenzahl. Die zugehorigen Stu-fenzahlen entsprechen gerade den Zweierpotenzen 2i. Die Zahl z bezeichnenwir in diesem Zusammenhang auch kurz als Binarzahl.

Die Ziffern zi mit 0 ≤ i ≤ s− 1 einer Binarzahl konnen genau zwei Werteannehmen: entweder Null oder Eins. Dieser minimale Informationsgehalt istfur die technische Realisierung von herausragender Bedeutung. Wir machendie

Definition 5 (Informationsgehalt). Ein Bit9 ist die Maßeinheit fur denInformationsgehalt und kann genau zwei Werte annehmen: entweder Nulloder Eins. Ein Byte 10 fasst acht Bits zusammen. In der Tabelle 5.1 sind

Hollerithmaschinen werteten 62 Millionen Lochkarten aus und verkurzten diereine Datenauswertung von mehreren Jahren auf knapp zehn Wochen. SeineFirma Tabulating Machine Company verkaufte er 1911 an die Firma Computing-Tabulating-Recording Company, die 1924 in International Business Machines,kurz IBM, umbenannt wurde.

9 Der Begriff Bit wurde wahrscheinlich das erste Mal von John Tukey 1949 alskurzere Alternative zu bigit oder binit fur binary digit verwendet. Das Wort digitkommt aus dem Lateinischen und bedeutet Finger.

10 Das Wort Byte ist eine kunstliche Mischung von bit und bite und wurde 1956von Werner Buchholz gepragt. Die Schreibweise Byte wurde Bite vorgezogen umVerwechslungen mit Bit zu vermeiden. Ein Byte umfasste bis in die 1980 Jahrenicht notwendigerweise genau 8 Bits, sondern konnte weniger mehr oder sogarunterschiedlich viele Bits bedeuten. Ein Tupel von 8 Bits wird in der Norm IEC60027-2 Letter Symbols to be used in Electrical Technology aus dem Jahre 2000daher korrekt als Oktett, englisch octet, bezeichnet. Erst als sich die Interpretationvon IBM durchsetzte, konnten die Begriffe Byte und Oktett synonym verwendetwerden. Der Begriff Byte kann daruber hinaus bedeuten: eine adressierbare Spei-

Page 43: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.1 Binarzahlen 35

gangige Einheiten11 des Informationsgehalts und entsprechende Beispiele12

angegeben.

Tabelle 5.1. Ubersicht zu Einheiten des Informationsgehalts mit Beispielen.

Einheit Prafix Abk. Anzahl Menge

Bit - b Grundeinheit Ja oder NeinByte - B 23 = 8 Bits eine Zahl von 0 bis 255Kibibyte Kibi KiB 210 = 1024 Bytes eine halbe Seite TextMebibyte Mebi MiB 220 = 1024 KiB ein Buch ohne Bilder, ein

FotofarbfilmGibibyte Gibi GiB 230 = 1024 MiB ein kurzer Videofilm, zwei

Musik-CDsTebibyte Tebi TiB 240 = 1024 GiB Textmenge einer großen

Bibliothek (1 Mio Bande)Pebibyte Pebi PiB 250 = 1024 TiB geschatzte Datenmenge, die

wahrend eines hundertjahrigenMenschenlebens auf Augen undOhren einstromt

Exibyte Exbi EiB 260 = 1024 PiB Datenmenge mit reinphilosophischem Charakter

Die Verwendung derselben Prafixe fur binare und dezimale Einheiten kannzur Verwirrung fuhren, wie demonstriert wird in der folgenden

Anmerkung 10 (Verwendung der SI- und IT-Prafixe). Eine 40-Gigabyte-Festplatte enthalt nicht 40 ∗ 10243 ≈ 42, 95 ∗ 109 Byte, sondern nur 40 Mil-liarden Byte. Ein PCI-Bus ubertragt 32 dezimale Bits mit einer Rate von33,3 MHz, also ca. 133,3 Millionen Bytes pro Sekunde. Das sind zwar, wieangegeben 133,3 dezimale MBytes/s, aber nur 127,2 binare MBytes/s. EinModem mit 56,6 kbit/s ubertragt nicht 56,6 · 1024 = 57 958 Bit pro Sekunde,sondern nur 56 600. Eine so genannte 1,44-MByte-Diskette hat wiederum eineKapazitat von 1440 binaren KBytes: entweder 1,41 oder 1,47 MByte.

Viele Programmiersprachen bieten den Datentyp Bool oder Boolean anum ein Bit abspeichern zu konnen.

chereinheit, die einem Zeichen aus dem American Standard Code for InformationInterchange, kurz ASCII, entspricht, ein Datentyp fur eine 8 Bit breite Einheitoder eine Datenmenge von zwei Nibbles zu je 4 Bit. Die Verwendung der Begriffefallt bei den meisten Rechnern zusammen.

11 Die Norm IEC60027-2 sieht in Anlehnung an die griechischen SI-Prafixe kilo,mega, giga, tera, peta, exa etc., die fur die Werte 103, 106, 109, 1012, 1015, 1018

. . . stehen, fur die Klassifizierung von Speichern die IT-Prafixe Kibi, Mibi, Gibi,Tibi, Pibi und Eibi fur die Werte 210, 220, 230, 240, 250, 260 . . . vor.

12 Das Bonmot”640 kB should be enough for everybody.“ wird Bill Gates zuge-

schrieben, 1981.

Page 44: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

36 5 Zahldarstellung

5.2 Addition und Subtraktion von Binarzahlen

Die Addition zweier s-stelliger Binarzahlen kann auf die Additionstabelle 5.2fur die zwei Ziffern 0 und 1 zuruckgefuhrt werden. Die Implementierung einerAddition wird erlautert in

Anmerkung 11 (Implementierung einer Rechenoperation). Die Additionsta-belle wird in einem Rechenwerk fest verdrahtet und weder als Tabelle nochals Fallunterscheidung in Software realisiert. Ein Addierwerk setzt sich kas-kadisch aus Volladdierern zusammen, die wiederum jeweils aus zwei Halbad-dierern bestehen.

Tabelle 5.2. Die Addition zweier ein-stelliger Binarzahlen reduziert sich auf dieUnterscheidung der vier Falle: 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1 und 1 + 1 = 10. Diefuhrende Eins im letzten Fall wird in den Ubertrag geschoben. Die Tabelle wird ineinem Rechenwerk direkt als Halbaddierer verdrahtet.

+ 0 10 0 11 1 10

Die Addition zweier s-stelliger Binarzahlen a = (as . . . a1)2 und b =(bs . . . b1)2 wird bitweise implementiert. Ein Halbaddierer verknupft die bei-den Bit-Eingange ai und bi mit zwei elementaren logischen Operationen:

1. der exklusiven ODER-Verknupfung XOR-Gatter zu dem ersten Bit-Aus-gang, der so genannten Halbsumme

si = ai XOR bi := ai AND ¬(bi) OR ¬(ai) AND bi und (5.3)

2. der UND-Verknupfung AND-Gatter, auch Konjunktion, zu dem zweitenBit-Ausgang Ubertrag oder auch Carry-Bit

ci = ai AND bi. (5.4)

Ein Halbaddierer berucksichtigt den Ubertrag nicht. Ein Schaltbild des Halb-addierers, symbolisiert durch + / 2 , findet sich in der Abb. 5.4.

Ein Volladdierer + berucksichtigt einen ggf. zu ubernehmenden Uber-trag im Carry-Bit ci−1 aus der vorangegangenen Bit-Halbaddition fur dieStellen ai−1 und bi−1 und hat folglich die drei Bit-Eingange ai, bi und ci−1.Ein Schaltbild eines Volladdierers findet sich in der Abb. 5.5.

Anmerkung 12 (Herstellung eines integrierten Schaltkreises). Die Gleichun-gen (5.3) bzw. (5.4) stellen die logische Reprasentation des Halb- bzw. Vollad-dierers dar. Die entsprechenden Schaltbilder 5.4 bzw. 5.5 setzen die logische

Page 45: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.2 Addition und Subtraktion von Binarzahlen 37

�ai

�bi

��

�AND

AND

AND

XOR

�ci

�si

Abb. 5.4. Das Schaltbild eines 1-Bit-Halbaddierers, symbolisiert durch + / 2 , fur

ai und bi mit den logischen Verknupfungen: dem XOR-Gatter fur die so genannteHalbsumme si und dem AND-Gatter fur den Ubertrag ci. Die beiden ausgefulltenKreise reprasentieren die logische NICHT-Verknupfung ¬.

�ai

�bi

�ci

+ / 2 + / 2

OR ����ci+1

�si

Abb. 5.5. Das Schaltbild eines 1-Bit-Volladdierers, der aus zwei

1-Bit-Halbaddierern, symbolisiert mit + / 2 , besteht.

Reprasentation in die schematische Reprasentation um. Der Herstellungs-prozess eines integrierten Schaltkreises, wie z.B. der eines Addierwerks, siehtallgemein die folgenden unterschiedlichen Abstraktions- und Entwurfsschrittevor:

1. Spezifikation der gewunschten Funktionalitat,2. logische Reprasentation mit Funktionstabellen und der entsprechenden

disjunktiven Normalform sowie bekannten Grundbausteinen der Digital-technik, z.B. elementare logische Verknupfungen wie XOR- oder AND-Gatter,

3. schematische Reprasentation als Transistorschaltung,4. elektrische Reprasentation als elektrisches Schaltbild, siehe dazu auch das

Beispiel im Abschn. 9.1 ,

Page 46: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

38 5 Zahldarstellung

5. physikalische Reprasentation als Layout der Leiterbahnen auf einem Wa-fer13,

6. Maskenerzeugung fur die Belichtungsprozesse des Wafers,7. Herstellung durch Belichtung, Atzen und Schleifen, siehe z.B. die Leiter-

bahnen in Abb. 5.6,8. Test und Analyse sowie9. Vertrieb des integrierten Schaltkreises.

Die unterschiedlichen Entwurfsschritte werden z.B. durch Simulationen und /oder durch Regelprufprogramme gegen die geforderte Spezifikation uberpruft.

Die Herstellung basiert auf der MOS-Technik14. MOS-Schaltungen arbei-ten mit spannungsgesteuerten Transistoren, die je nach Verschaltung ent-weder eine Kapazitat oder einen nichtlinearen Widerstand reprasentierenkonnen. Die Transistoren sind somit ein universelles Bauelement und bildendie Brucke zwischen der Funktionalitat in Form der disjunktiven Normal-form und dem Herstellungsprozess im Silizium einer integrierten Schaltung.Die technische Realisierung von Transistoren15 ist somit von herausragen-der Bedeutung und leitete die Revolution in der Halbleitertechnik ein. DieMOS-Technik ermoglichte die Verkleinerung der Transistoren auf dem Wa-fer. Die Skalierung der folgenden physikalischen und technischen Großen mitdem Faktor α: Betriebsspannung U/α, Oxid-Dicke tOx/α, LeitungsbreiteW/α, Gate-Lange L/α, Diffusionstiefe xd/α und Dotierung des SubstratesNA ·α fuhrt zu hoherer Transistordichte ∼ α2 auf dem Wafer, hoherer Schal-tungsgeschwindigkeit ∼ α, geringerer aufgenommener Leistung des Transis-tors ∼ α−2 und zu konstanter Leistungsdichte ∼ c.

Die Herstellung immer kleinerer Mikrochips ist aufgrund von geringerenAusfallraten durch Verschmutzungen im Herstellungsprozess sogar noch kos-tengunstiger, siehe Abb. 4.1. Die Skalierung der Transistoren mit der MOS-Technik ist einer der entscheidenden Grunde fur die Leistungssteigerung derintegrierten Schaltungen uber nunmehr vier Dekaden16 und fuhrt zu demSelbstverstarkungseffekt: mit der jeweils aktuellen Generation von Rechnern,die aus Bauteilen der vorhergehenden Halbleitergeneration hergestellt wur-den, wird die jeweils nachste Generation der Halbleitertechnik entworfen.

13 Ein Wafer ist eine dotierte Siliziumscheibe mit einem Durchmesser von bis zu 300mm und einer Dicke zwischen 100 und 900 μm. Ein Wafer ist eine Tragerstruk-tur, in den die Leiterbahnen eingearbeitet werden, und auf der der integrierteSchaltkreis so oft wie moglich plaziert wird.

14 Die Abkurzung MOS steht fur Metal-Oxide-Semiconductor.15 Die Abkurzung Transistor kommt von transfer resistor. Der 23. Dezember 1947

markiert den Startschuß fur die Revolution in der Halbleitertechnik, an diesemTag die testeten die Ingenieure William Shockley, Walter Brattain und JohnBardeen erstmals erfolgreich einen Transistor.

16 Gordon E. Moore fasste dies 1995 kurz zusammen:”By making things smaller,

everything gets better simultanously. There is little need for tradeoff.“

Page 47: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.2 Addition und Subtraktion von Binarzahlen 39

Abb. 5.6. Die Vergroßerung der Leiterbahnen eines integrierten Schaltkreises (Fo-to: Mit freundlicher Genehmigung der Infineon Technologies AG).

Das weitere Studium dieses Kapitels setzt elementare Kenntnisse derLandau-Notation O voraus, siehe Anhang A.2.

Der Aufwand fur eine Addition ist proportional zur Stellenanzahl s: O(s).Dies entspricht genau dem Aufwand zum Transportieren des Ergebnisses inden Speicher. Die Addition benotigt somit fur zwei s-stellige Binarzahlenfur das Auslesen der Summanden aus dem Speicher, die Addition und dasRuckschreiben des Ergebnisses in eine Speicherzelle die Rechenzeit O(s).

Ubung 3. Kommentieren Sie folgendes, Gottfried Wilhelm Leibniz zuge-schriebenes Bonmot: ”Das Addieren von Zahlen ist bei der binaren Zahldar-stellung so leicht, dass diese nicht schneller diktiert als addiert werdenkonnen“17.

Das Design von Rechenwerken wird maßgeblich durch effiziente und zu-verlassige Rechenoperationen bestimmt. Die Konstruktion muss unterschied-17 Die gesamte Tragweite dieses Bonmots erschließt sich aus der folgenden Anekdo-

te nach [27]:”Im 15. Jahrhundert hatte ein deutscher Kaufmann einen Sohn, den

er im Handel weiter ausbilden lassen wollte. Er ließ einen bedeutenden Professorkommen, um ihn zu fragen, welche Institution zu diesem Zwecke die geeignetstesei. Der Professor antwortete, daß der junge Mann seine Ausbildung vielleichtauf einer deutschen Universitat empfangen konne, wenn er sich damit beschei-de, addieren und subtrahieren zu lernen. Wolle er es aber bis zur Multiplikationund Division bringen, so sei Italien nach seiner, des Professors Meinung, daseinzige Land, wo man ihm dies beibringen konne.“ Die Rechenoperationen Mul-tiplikation und Division hatten damals tatsachlich nicht viel gemein mit denRechenarten, die heute diesen Namen tragen. So war z.B. die Multiplikation ei-ne Abfolge von Verdopplungen und die Division beschrankte sich auf die Teilungin zwei gleiche Teile.

Page 48: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

40 5 Zahldarstellung

liche Aspekte gegeneinander abwagen, wie z.B. die durchzufuhrende Rechen-operation und die zu garantierende Genauigkeit des Ergebnisses, den Be-fehlssatz des Prozessors, die interne Registerbreite des Rechenwerkes, dieSpeicherarchitektur mit ggf. Verwendung von Cache-Speicher zum Abspei-chern von Zwischenergebnissen, um schneller auf interne Tabellen zugreifenzu konnen, etc..

Die Automatisierung von Berechnungen ist nicht nur heutzutage eine zen-trale Frage. Als es noch keine mechanischen oder elektrischen Rechner gab,wurden der Einfachheit halber Menschen mit der Durchfuhrung von Berech-nungen beauftragt.

Anmerkung 13 (Adam Ries). Ein beruhmter Rechenmeister war der Chur-furstlich Sachs. Hofarithmetikus Adam Ries, der durch seine Rechenbucher,z.B. Rechenung auff den Linihen un Federn18, aus dem Jahr 1522 zumsprichwortlichen Rechenlehrer der Deutschen wurde: nach Adam Ries(e)steht fur richtig, genau gerechnet. Er trug nicht zuletzt durch sein didak-tisches Geschick maßgebend zur Verbreitung des schriftlichen Rechnens inDeutschland bei.

Die Subtraktion zweier Binarzahlen fuhren wir auf die Addition zuruck.Wir benotigen die

Definition 6 (Zweierkomplement). Die Zweierkomplementdarstellungeiner positiven ganzen Zahl z in Binardarstellung nach (5.2) ist die Zahl

z =s−1∑i=0

(1 − zi) · 2i + 1.

Alle Ziffern der binaren Zahl werden durch ihr Komplement ersetzt: diebinare Eins wird zur binaren Null und die binare Null wird zur binaren Eins.Das Zweierkomplement erhalten wir aus diesem Einserkomplement, wenn an-schließend das Ergebnis um Eins erhoht wird. Das Ersetzen der Ziffern einerBinarzahl wird in einem Schaltbild einfach durch die NICHT-Verknupfungrealisiert. Diese Operation ist effizient implementierbar mit Aufwand O(s).Daran schließt sich die

Ubung 4. Zeigen Sie, dass fur die Summe einer s-stelligen Binarzahl z ≥ 0und ihres s-stelligen Zweierkomplements z gilt

z + z =s−1∑i=0

1 · 2i + 1 = 2s. (5.5)

Die Subtraktion zweier Binarzahlen m ≥ 0 und n ≥ 0 kann mit derZweierkomplementdarstellung18 Das Rechnen auf den Linien steht fur das Rechnen mit dem Abakus und das

Rechnen mit der Feder fur das Rechnen mit arabischen Ziffern.

Page 49: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.3 Multiplikation und Division von Binarzahlen 41

m − n = m + n − 2s (5.6)

auf die Summe der Binarzahlen m und n zuruckgefuhrt werden:

1. Im Fall eines Ubertrags bei der Addition m+n in der hochsten Stufenzahl2s−1 in die nicht mehr reprasentierbare Stufenzahl 2s, ist das Ergebnispositiv und die Differenz entspricht m + n + 1 − 2s, also dem Ergebnisder Addition ohne Ubertrag.

2. Im anderen Fall, d.h. es gibt keinen Ubertrag, ist das Ergebnis negativund hat den Betrag des Zweierkomplements der Addition m + n.

Die Subtraktion von Binarzahlen kann mit einer zusatzlichen Fallunterschei-dung auf die Addition und die Darstellung als Zweierkomplement zuruck-gefuhrt werden. Ein Schaltbild fur die Subtraktion wird in Aufgabe 29 ent-wickelt.

5.3 Multiplikation und Division von Binarzahlen

Die Analyse der Multiplikation beginnen wir mit dem einfachen Fall der Mul-tiplikation einer Zahl z in Binardarstellung (5.2) mit einer Zweierpotenz 2l

mit l ≥ 0. Das Produkt p kann dargestellt werden als

p = 2l · z = 2l ·s−1∑i=0

zi · 2i =s+l−1∑

i=l

zi−l · 2i. (5.7)

Die Binardarstellung des Produktes

p =t−1∑j=0

pj · 2j

benotigt t := s + l Stellen. Der Vergleich mit (5.7) liefert pj = zj−l fur j ≥ lund pj = 0 fur j < l. Das Bitmuster des Produktes p ergibt sich aus demum l Stellen nach links verschobenen Bitmuster der Zahl z. Der Spezialfalll = 0 entspricht der Multiplikation mit der Zahl Eins und erfordert keineBitverschiebung.

Dies motiviert die

Definition 7 (Verschiebeoperator). Der Verschiebeoperator definiert furl ≥ 0 die Abbildung Vl : ZZ �−→ ZZ, die der Binarzahl

z =s−1∑i=0

zi · 2i

die Binarzahl

Vl(z) =s−1∑i=0

zi · 2i+l (5.8)

zuordnet.

Page 50: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

42 5 Zahldarstellung

Verschiebungen des Bitmusters lassen sich sehr effizient implementierenund benotigen den Aufwand O(l), da l Bits in die binare Reprasentationeingefugt werden mussen.

Das Multiplizieren zweier Zahlen m und n in s-stelliger Binardarstellungkann mittels mehrfacher Anwendung des Verschiebeoperators

m · n =s−1∑i=0

mi · 2i · n =s−1∑i=0

mi · Vi(n) (5.9)

realisiert werden. In dem Fall mi = 0 liefert der entsprechende Summandmi · Vi(n) keinen Beitrag zum Produkt m · n. Im anderen Fall mi = 1 tra-gen die im Bitmuster verschobenen Binarzahlen Vi(n) zum Ergebnis bei. DieMultiplikation zweier s-stelliger Binarzahlen reduziert sich auf maximal sAdditionen mit dem gesamten Aufwand O(s2).

Es gibt mehrere Moglichkeiten diese Komplexitat zu reduzieren. Im Fol-genden wird der Karatsuba-Algorithmus vorgestellt. Dabei werden zwei hin-reichend große Binarzahlen m und n mit gerader Stellenanzahl s zerlegt in

m = m0 + m1 · be, n = n0 + n1 · be mit e = s/2. (5.10)

Im Fall ungerader Stellenzahl wird eine fuhrende Null eingefugt.

Ubung 5. Geben Sie die vier Reprasentationen der Binarzahlen m0, m1, n0

und n1 explizit an. Zeigen Sie, dass diese maximal s/2 Stellen haben.

Das Produkt kann dargestellt werden als

m · n = m0 · n0 + (m0 · n1 + m1 · n0) · be + m1 · n1 · b2e.

Die explizite Berechnung der vier Produkte m0 · n0, m0 · n1, m1 · n0 undm1 · n1 kann umgangen werden, indem man

p0 = m0 · n0, p1 = (m0 + m1) · (n0 + n1) und p2 = m1 · n1

berechnet und das Produkt m · n darstellt als

m · n = p0 + (p1 − p0 − p2) · be + p2 · b2e.

Das Produkt zweier s-stelliger Binarzahlen wird dadurch auf zwei Sum-men und zwei Differenzen fur Produkte von Binarzahlen mit s/2 Stellenzuruckgefuhrt. Diese Zerlegung konnen wir rekursiv anwenden. Wir erhaltenfur die Großenordnung der durchzufuhrenden Operationen R in Abhangigkeitvon der Stellenzahl s wegen

R(s) = 3 · R(s

2

)+ O(s)

und somit

Page 51: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.3 Multiplikation und Division von Binarzahlen 43

R(s) = O(slog(3)/ log(2)

)= O (s1.5849...

).

Die Verschiebeoperation ist sehr effektiv implementierbar und daher lohntsich in der Praxis der Aufwand der Karatsuba-Multiplikation erst fur Stel-lenanzahlen mit s � 100. Daran schließt sich die

Ubung 6. Verallgemeinern Sie den Karatsuba-Algorithmus, indem Sie dieBinarzahlen anstatt in zwei Summanden wie in (5.10) in h > 2 Summandenzerlegen. Die Multiplikation zweier s-stelliger Binarzahlen lasst sich dann mitder Komplexitat O(slog(2h−1)/ log(h)) realisieren.

Die Analyse der Division von Binarzahlen beginnen wir mit der

Anmerkung 14 (Division mit Rest). Das Ergebnis der Division ganzer Zahlenm und n ist nicht notwendigerweise wieder eine ganze Zahl. Der Quotientm ÷ n =: q ∈ ZZ und der Rest m mod n =: r ∈ ZZ soll fur n > 0 moglichstdie folgenden drei Bedingungen erfullen:

1. die definierende Gleichung

m = q · n + r (5.11)

soll erfullt sein,2. wenn sich das Vorzeichen von m andert, soll sich nur das Vorzeichen von

q andern und nicht der Betrag |q| und3. es soll sowohl 0 ≤ r als auch 0 < n gelten.

Alle drei Bedingungen konnen leider nicht zugleich eingehalten werden. Wirbetrachten dazu das Beispiel 5÷2 mit dem Quotient 2 und dem Rest 1, womitdie erste Bedingung erfullt ware. Wenn das Ergebnis der Division −5÷2 nachder zweiten Eigenschaft gleich q := −2 sein soll, ware wegen (5.11) der Restr := −1 < 0 im Widerspruch zur dritten Eigenschaft. Wenn im anderen Fallder Rest der Division −5÷ 2 nach der zweiten Eigenschaft gleich r := 1 seinsoll, ware wegen (5.11) das Ergebnis q := −1 im Widerspruch zur zweitenEigenschaft.

Die meisten Programmiersprachen implementieren die Division ganzerZahlen m und n so, dass die ersten beiden Eigenschaften erfullt sind. Die Pro-grammiersprache C garantiert sogar nur die erste Eigenschaft sowie |r| < |n|und fur die ganzen Zahlen m ≥ 0 und n > 0 den Rest r ≥ 0. Diese Bedin-gungen sind weniger einschrankend als die Bedingungen 2 oder 3.

Die Division positiver ganzer Zahlen m und n konnen wir z.B. implemen-tieren, indem wir den Divisor n solange vom Dividend m abziehen, bis deraktuelle Wert m kleiner als n ist. Der Ausgabewert der Funktion

\\ Eingabewerte: m und nk = 0;WHILE m > n :

m = m - n;

Page 52: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

44 5 Zahldarstellung

k = k + 1;ENDWHILE\\ Ausgabewert: k

ist der gesuchte Quotient k. Die Division lasst sich auf das mehrfacheAusfuhren der Subtraktion m − n zuruckfuhren.

Diese einfache und robuste Implementierung der Division ganzer Zah-len nach Anmerkung 14 ist nicht effizient, denn die Rechenzeit ist nichtunabhangig vom Ergebnis und benotigt den Aufwand O((m ÷ n) · s). Ei-ne detaillierte Besprechung effizienterer Divisionsalgorithmen findet sich z.B.in [88]. Die verwendeten Divisionsalgorithmen sind wesentlich komplizierterund folglich fehleranfalliger, wie wir zeigen in der

Anmerkung 15 (Divisions-Fehler im Pentium Prozessor, 1994). Ein einfa-cher Test fur das fehlerfreie Arbeiten eines Prozessors ist die Berechnung desAusdrucks x− (x/y) ·y mit dem Ergebnis 0 fur y = 0 und exakter Rechnung.Der damals neue Pentium Prozessor lieferte allerdings fur x = 4 195 835 undy = 3 145 727 das Ergebnis 256.

Der Divisions-Algorithmus Radix-4 SRT war wie folgt implementiert:

1. Sammle die signifikanten Stellen in Dividend m und Divisor n.2. Schatze mit Hilfe einer Tabelle die nachste Stelle q des Quotienten.3. Multipliziere den Divisor n mit der Schatzung q und subtrahiere diesen

Wert vom Dividenden m = m − q · n.4. Speichere die Stellen des Quotienten in den am wenigsten signifikanten

Stellen des Quotienten-Registers.5. Verschiebe den Rest und den Quotienten um eine Stelle nach rechts.6. Sammle die signifikanten Stellen des Rests und fahre fort wie oben.

Dieser Algorithmus erzeugt pro Takt zwei gultige Stellen des gesuchten Quo-tienten. Die verwendete Tabelle sah 1066 Eintrage vor. Durch eine fehlerhafteFOR-Schleife wurden nur 1061 Werte in den Pentium Prozessor aufgenommen.Diese nicht vorhandenen Tabellenwerte wirkten sich in seltenen Fallen bei derDurchfuhrung einer Gleitpunktdivision aus und lieferten falsche Resultate ander vierten Dezimalstelle19. Der Schaden fur die Firma Intel bezifferte sichauf uber 400 Millionen Dollar.

In diesem Abschnitt haben wir gezeigt, dass die binare Zahldarstellungder effizienten Ausfuhrung der vier Grundrechenoperationen sehr entgegenkommt. Mit der Stellenanzahl s bestimmen wir den zur Darstellung einerBinarzahl z verwendeten Speicher und damit gleichzeitig auch den Um-fang der darstellbaren Zahlen. Da wir nur einen endlichen Speicherplatz zurVerfugung haben, konnen wir nicht alle ganzen Zahlen ZZ darstellen. Wirmussen daher die Reprasentation (5.2) auf eine feste Stellenanzahl s ein-schranken. Im folgenden Abschnitt zeigen wir, was wir konkret im Umgangmit diesem beschrankten Bereich zu beachten haben.19 Siehe auch www.intel.com/procs/support/pentium/fdiv/.

Page 53: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.4 Integer-Zahlen 45

5.4 Integer-Zahlen

Die binare Zahldarstellung (5.2) ermoglicht es, eine endliche Teilmenge derganzen Zahlen ZZ exakt in einem Rechner darzustellen. Der endliche Spei-cher beschrankt dabei die Anzahl der reprasentierbaren ganzen Zahlen. Wirlegen eine feste Stellenanzahl s fest. Die sich daraus ergebende Menge derMaschinenzahlen IMI beschreibt folgende

Definition 8 (Integer-Zahlen). Die ganze Zahl z ∈ ZZ gehort genau dannzur Menge der Integer-Zahlen IMI , falls

z =s−1∑i=0

mi · 2i − 2s−1, mi ∈ {0, 1}, i = 0, . . . , s − 1 (5.12)

gilt.

Der Summand −2s−1 in (5.12) ermoglicht die Reprasentation negativerganzer Zahlen. Der darstellbare Bereich der Integer-Zahlen umfasst nach De-finition 8 alle ganzen Zahlen der Menge −2s−1, −2s−1 + 1, . . . , 2s−1 − 2,2s−1 − 1. Die Asymmetrie der oberen und unteren Schranke ruhrt von derDarstellung der Zahl Null her. Eine Integer-Zahl wird mit s Bits im Speicherabgelegt.

Anmerkung 16 (Explizites Vorzeichen-Bit). Negative ganze Zahlen konnenalternativ zu (5.12) auch durch ein explizites Vorzeichen-Bit dargestellt wer-den mit

z = (−1)v ·s−1∑i=0

mi · 2i, mi ∈ {0, 1} i = 0, . . . , s − 1. (5.13)

Die Darstellung (5.13) benotigt s + 1 Bits und deckt den Bereich der ganzenZahlen symmetrisch von −2s + 1 bis 2s − 1 ab. Die Zahlendarstellung (5.12)hat den Vorteil, bei Verwendung gleich vieler Bits t = s + 1 zusatzlich dieZahl −2t−1 darzustellen. Dies liegt daran, dass +0 = −0 ist und mit (5.13)die Zahl Null ”doppelt“ reprasentiert wird.

Die Anzahl der Bits zur Darstellung einer Integer-Zahl hangt von derRegisterbreite des Prozessors ab. Die Programmiersprache C bietet z.B. denDatentyp int an, der abhangig vom Prozessor typischerweise t = 8, t = 16oder t = 32 Bits zur Darstellung verwendet. Die minimal und maximal dar-stellbaren Integer-Zahlen geben wir unabhangig von der Stellenzahl t einenNamen in der

Definition 9 (Minimale und maximale Integer-Zahl). Die kleinstebzw. großte darstellbare Integer-Zahl im Format (5.12) bezeichnen wir un-abhangig von der Stellenzahl t mit der minimalen Integer-Zahl INT_MIN bzw.der maximalen Integer-Zahl INT_MAX. Es gilt

Page 54: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

46 5 Zahldarstellung

INT_MIN := −2t−1 undINT_MAX := 2t−1 − 1.

Die Tabelle 5.3 zeigt die Werte INT_MIN und INT_MAX abhangig von der Stel-lenzahl t.

Tabelle 5.3. Die minimale Integer-Zahl −2t−1 und die maximale Integer-Zahl 2t−1 − 1 abhangig von der Stellenzahl t.

Stellenzahl t INT_MIN INT_MAX

8 −128 12716 −32.768 32.76732 −2.147.483.648 2.147.483.64764 −9.223.372.036.854.775.808 9.223.372.036.854.775.807

Die Integer-Zahlen decken den Zahlenbereich aller ganzen Zahlen zwischenINT_MIN und INT_MAX ab.

Wir machen noch die folgende

Definition 10 (Datentypen signed integer und unsigned integer).Der Datentyp unsigned integer uint<Bitanzahl>, wie z.B. uint16 oderuint32, bezeichnet eine Binarzahl z ∈ ZZ nach (5.2) mit s = t − 1

z =t−1∑i=0

mi · 2i, mi ∈ {0, 1}, i = 0, . . . , t − 1. (5.14)

Der Datentyp signed integer int<Bitanzahl>, wie z.B. int16 oder int32,bezeichnet entsprechend eine Integer-Zahl z ∈ ZZ nach (5.12) mit s = t − 1

z =t−1∑i=0

mi · 2i − 2t−1, mi ∈ {0, 1}, i = 0, . . . , t − 1. (5.15)

Beide Datentypen benotigen genau t Bits im Speicher.

Beispiel 2 (Umwandlung in das Format einer Integer-Zahl). Die Dezimalzahl11 soll als Integer-Zahl mit t = 5 Stellen dargestellt werden. Wir berechnen

11 = 27 − 16= 16 + 11 − 24

= 16 + (8 + 3) − 24

= 16 + 8 + (2 + 1) − 24

= 24 + 23 + 21 + 20 − 24

= 1 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 1 · 20 − 24

= (11011)2 − 24.

Page 55: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.4 Integer-Zahlen 47

Daran schließt sich die

Ubung 7. Wie lautet die Darstellung der Zahl 11 mit t = 6 Stellen?

Wenden wir uns dem Rechnen mit Integer-Zahlen zu. Die Integer-Zahlensind eine Teilmenge der ganzen Zahlen und so konnen die im Abschn. 5.1vorgestellten Berechnungsmethoden angewendet werden: Das Ergebnis ei-ner Addition, Subtraktion oder Multiplikation von Integer-Zahlen muss nichtnotwendigerweise im Bereich der darstellbaren Integer-Zahlen enthalten sein.Wenn das Ergebnis einer Integer-Rechenoperation nicht mehr in der Mengeder darstellbaren Integer-Zahlen [INT_MIN, INT_MAX] liegt, dann findet einUber- oder Unterlauf des Zahlenbereichs statt, bei dem das so genannteCarry-Bit gesetzt wird, siehe dazu die

Anmerkung 17 (Wrap-Around). Der Integer-Zahlenbereich wird projektivabgeschlossen, indem man sich den Bereich der darstellbaren Integer-Zahlenvon INT_MIN bis INT_MAX auf einem Kreis angeordnet vorstellt. Durch dieseKonstruktion erscheint der Integer-Zahlenbereich geschlossen, siehe Abb. 5.7.Der Wrap-Around bezeichnet dann das Ergebnis eines Zahlenuber- oder un-terlaufs. Eine Bereichsuberschreitung, z.B. um den Wert Eins, fuhrt zu demnicht mehr darstellbaren Resultat 2t−1 und wird als benachbarte Zahl aufdem Kreis interpretiert. Der Wrap-Around liefert somit als Ergebnis die be-tragsmaßig großte, negative darstellbare Zahl INT_MIN.

Der so beschriebene Wrap-Around realisiert mathematisch gesehen einenRestklassenring modulo 2t fur den Datentyp unsigned integer.

+1

t−1−2

2t−1

−1

−2t−1

2

0

...

...1

−2t−1

Abb. 5.7. Die projektive Schließung des Bereichs der Integer-Zahlen [−2t−1, 2t−1−1].

Das Carry-Bit wird im Fall einer Bereichsuberschreitung gesetzt: Zu-verlassige Software sollte ggf. eine fehlgeschlagene Rechenoperation in Ab-

Page 56: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

48 5 Zahldarstellung

hangigkeit vom Status des Carry-Bits abfangen. Das Carry-Bit wird z.B. beieiner Addition immer dann benotigt, wenn das Ergebnis der Addition dieRegisterbreite uberschreitet.

Beispiel 3 (Verwendung des Carry-Bits). Die beiden hexadezimalen Zahlena = 0x1A0 und b = 0x1B0 sollen addiert werden. Ein entsprechender Pro-grammabschnitt in der Programmiersprache C lautet z.B.

int16 A = Ox1A0, B = Ox1B0;int16 C = A + B;

Wir betrachten die Wirkungsweise des Carry-Bits anhand der Folge derAssembler-Befehle, die ein Compiler aus diesem Programmabschnitt erzeugt.Die im Folgenden beschriebene Intel8086-Assembler-Routine addiert die bei-den 16-Bit-Summanden a und b mit Hilfe von 8-Bit-Registern. Das Regis-ter AL dient als Zwischenregister. Die Intel Prozessoren verfugen uber zweiverschiedene Addierbefehle: der Befehl adc berucksichtigt ein ggf. gesetztesCarry-Bit und der oben verwendete Befehl add nicht. Zuerst werden die bei-den Lowbytes ohne Berucksichtigung des Carry-Bits addiert:

# BEGIN# Lowbyte des ersten Summanden in das Register AL ladenmov AL, 0xA0; # AL = 0xA0

# Lowbyte des zweiten Summanden zum Register AL addierenadd AL, 0xB0; # AL = 0xB0, Carry-Bit = 1

# ...

Das Carry-Bit wird im Fall eines Uberlaufes, wie in diesem Beispiel, gesetzt.

# ...# Ergebnis Lowbyte nach BL kopierenmov BL, AL; # BL = 0x50

# ...

Der Registerladebefehl mov verandert das Carry-Bit nicht.

# ...# Highbyte des zweiten Summanden in das Register AL ladenmov AL, 0x01; # AL = 0x01

# ...

Die anschließende Addition der Highbytes mit dem Befehl adc beachtet dasgesetzte Carry-Bit und erhoht den Wert der Summe 0x01+0x01 um den Wert1:

# ...# Highbyte des zweiten Summanden zum Register AL addierenadc AL, 0x01; # AL = 0x03, Carry-Bit = 0

# ...

Page 57: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.4 Integer-Zahlen 49

Der Befehl adc erzeugte keinen Uberlauf und daher wird das Carry-Bit wiedergeloscht. Das Highbyte des Ergebnisses wird zuletzt noch in das Register CLverschoben:

# ...# Highbyte des Ergebnisses nach CL kopierenmov CL, AL; # CL = 0x03

# Ergebnis: Highbyte in CL 0x03 und Lowbyte in BL 0x50# END

Die Ergebnis int16 c = 0x350 landet in dem Registerpaar CL (Highbyte)und BL (Lowbyte).

Die Programmiersprache C sieht explizit keinen Befehl zum Auslesen desCarry-Bits vor. Es ist daher nicht moglich den Status des Carry-Bit auf derAbstraktionsebene C abzufragen. Wenn es notwendig ist, wahrend der Pro-grammlaufzeit auf einen Uberlauf reagieren zu mussen, ist in der Program-miersprache C ein Trick anzuwenden: das Ergebnis wird zunachst in einerZwischenvariablen mit großerem Wertebereich berechnet und anschließendgepruft, ob das Ergebnis im Wertebereich der Zielvariablen enthalten ist, wiegezeigt wird in der

Anmerkung 18 (Saturierte Multiplikation). Die drei Variablen a, b und dasProdukt c = a * b haben denselben Datentyp uint8. Ein Uberlauf soll ggf.abgefangen werden. Es bietet sich folgender C-Code an:

uint8 a = 20, b = 40, c;uint16 d;

d = a * b;c = ((d < (uint16) 255) ? (uint8) d : (int8) 255);

Das Ergebnis c entspricht dem Produkt a * b , solange der Wertebereichder Variablen c nicht uberschritten wird. Im Fall eines Uberlaufs lautet dasErgebnis in dem Beispiel c = 255, also dem maximalen Wert des zulassigenWertebereiches des Datentyps uint8.

Die Division von Integer-Zahlen liefert i.Allg. keine ganzzahligen Ergeb-nisse mehr (vgl. Abschn. 5.3). Soll das Ergebnis eine Integer-Zahl sein, mussenwir die Division zweier Integer-Zahlen als Division ohne Rest, symbolisiertdurch ÷, implementieren. Wir geben das

Beispiel 4. Die Integer-Division fuhrt z.B. zu folgenden Resultaten

4 ÷ 2 = 2, −7 ÷ 3 = −2 und 1 ÷ 3 = 0. (5.16)

Die Integer-Division kann als Rundung zur Null hin interpretiert werden.Die beiden letzten Divisionen im Beispiel 4 sind gleichzeitig auch Beispielefur einen unvermeidbaren Rechenfehler fre = 1/3 entsprechend (4.4). Diese

Page 58: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

50 5 Zahldarstellung

Rechenfehler konnen in der Analyse der Algorithmen nicht vernachlassigtwerden, wie spater im Beispiel 6 gezeigt werden wird.

Die Programme brechen in der Regel bei der Division durch die ZahlNull ohne Fehlermeldung ab. Es lohnt sich daher, diese unzulassigen Falleabzufangen, wie wir sehen in

Beispiel 5 (Division durch Null). Das US-Kriegsschiff Yorktown trieb im Sep-tember 1997 fur einen halben Tag manovrierunfahig im Atlantik. Die Eingabeeiner Null wurde nicht abgefangen und fuhrte zu einem Uberlauf, der das ge-samte System lahm legte20.

Ein Programmabschnitt, der Divisionen enthalt, sollte vor einem Pro-grammlauf analysiert21 werden, um sicherstellen zu konnen, dass fur allezulassigen Eingabedaten entweder keine Division durch die Zahl 0 stattfin-den kann oder die entsprechenden Divisionen sinnvollerweise gekapselt wer-den: das Programm kann dann kontrolliert terminieren. So bietet es sich z.B.an, die entsprechende Division zu ersetzen durch die Routine

int division(int dividend, int divisor){if (divisor != 0)return (dividend / divisor);

else... // Fehlerhinweis, Defaultwert, etc.

}

Die Eigenschaften der Datentypen und der zugehorigen Arithmetik sindsorgfaltig zu beachten, wie gezeigt wird in der

Anmerkung 19 (Bestrahlung und Wrap-around). Das Steuerungsprogrammdes medizinischen Bestrahlungsgerates Therac-25 zeigte mit einer 8-Bit Inte-ger-Variablen sowohl den Geratestatus als auch die Anzahl der fehlgeschla-genen Bestrahlungsversuche an:

1. Wenn alle Gerateeinstellungen in Ordnung waren, wurde der Variablender Wert 0 zugewiesen und die Bestrahlung konnte beginnen.

2. Wenn die Gerateeinstellungen gegen die fur den Betrieb vorgesehenenRegeln verstießen, wurde der Wert der Variable um den Wert 1 erhohtund war somit insbesondere ungleich 0 und die Bestrahlung konnte nichtausgefuhrt werden.

Der Wert der Variablen nahm nach 256 Fehlversuchen wegen des Wrap-around, siehe Anmerkung 17, den Wert 0 an, und trotz fehlerhafter Gerateein-stellung wurde die Bestrahlung begonnen - mit teils verheerenden Folgen furdie Patienten.20 Siehe auch www.gcn.com/archives/gcn/1998/july13/cov2.htm.21 Die Firma Polyspace Technologies bietet z.B. mit der Software Polyspace Verifier

ein solches Analyseprogramm fur C-Code an.

Page 59: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.5 Darstellung reeller Zahlen 51

Zusammenfassung: Die vier arithmetischen Grundoperationen im Be-reich der Integer-Zahlen erfordern die detaillierte Analyse der Wertebereicheder Variablen. Die implementierten Algorithmen mussen insbesondere sowohldie Uber- oder Unterschreitung des Bereichs der Integer-Zahlen als auch diebereits im Bereich der ganzen Zahlen ZZ nicht zugelassene Division durch Nullabfangen konnen. Rechenfehler treten dann nur noch bei der Division auf,wenn die Division nicht auf geht.

Mit diesen Betrachtungen wollen wir die Approximation ganzzahligerZahlenbereiche verlassen und uns dem Problem der Reprasentation reellerZahlen zuwenden.

5.5 Darstellung reeller Zahlen

In einem Rechner konnen wegen der Endlichkeit des Speichers – ahnlich wiebei den ganzen Zahlen ZZ – nur endlich viele reellen Zahlen IR dargestelltwerden: Jedes nicht-leere Intervall [a, b] ⊂ IR enthalt unendlich viele reelleZahlen und daher konnen im Gegensatz zu den ganzen Zahlen ZZ nicht mehralle Zahlen aus einem Teilintervall exakt reprasentiert werden. Zusatzlich trittein weiteres Problem auf: Wie klein auch die noch zu definierende Genauig-keit der reprasentierenden Zahlen gewahlt ist, irrationale Zahlen wie z.B. dieKreiszahl π oder

√2 konnen niemals korrekt dargestellt werden, da sie unend-

lich viele Stellen haben. Die Eingabedaten konnen daher nur in Spezialfallenexakt verarbeitet werden. In diesem Zusammenhang hat es sich auch nichtals sinnvoll erwiesen, die rationalen Zahlen als Bruche mittels Zahler undNenner durch ganze Zahlen darzustellen.

5.5.1 Festkommazahlen

In einem ersten Ansatz konnen wir zusatzlich zu den ”Vorkommastellen“ derBinarzahlen noch eine feste Anzahl von Nachkommastellen zulassen. Diesfuhrt zu der

Definition 11 (Festkommazahlen). Die Menge IMF der Festkommazah-len fasst alle reellen Zahlen r ∈ IR zusammen, die sich mit einer festen vor-gegebenen Stellenzahl v, n ∈ IN∗22 sowohl vor als auch hinter dem Komma,den Vor- und Nachkommastellen23, und der Basis b als

r = (−1)s ·v−1∑

i=−n

ri · bi (5.17)

22 Die Menge IN∗ bezeichnet nach der Norm ISO 31-11 Mathematical signs andsymbols for use in the physical sciences and technology die Menge der naturlichenZahlen ohne die Null.

23 Jede reelle Zahl kann durch eine unendliche b-adische Entwicklung mit n = ∞eindeutig dargestellt werden, siehe auch Aufgabe 28.

Page 60: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

52 5 Zahldarstellung

mit ri ∈ {0, . . . , b − 1} und −n ≤ i ≤ v − 1 darstellen lassen.

Eine Festkommazahl in der Reprasentation (5.17) benotigt somit n+v+1Bits: n + v Bits fur die Vor- und Nachkommastellen sowie ein weiteres Bitfur das Vorzeichen.

Anmerkung 20 (Komma). Die heute gultige Zahlennotation mit dem Kommageht auf den flamischen Mathematiker Simon Stevin zuruck. In seinem BuchDe Thiende von 1585, siehe [106], stellte er z.B die Zahl 2, 632 als

2 0 6 1 3 2 2 3dar. Der Stellenwert der Ziffer wurde in einem tiefgestellten Kreis gemerkt.Die Position der Ziffer ordnet den Stellenwert zu und so genugte es bald, nureinen Kreis 0 , z.B. fur die Einser-Position, zu machen, aus dem sich danndas bekannte Komma entwickelte.

Das Komma ist mittlerweile laut der Norm ISO 31-11 durch den Dezi-malpunkt abgelost. Die Ziffern werden durch Leerzeichen zwischen Gruppenvon jeweils drei Ziffern separiert.

Anmerkung 21. Die Reprasentation (5.17) der Festkommazahlen ist bis aufden Faktor bn formal aquivalent zu der Reprasentation (5.1): Festkommazah-len lassen sich als rationale Zahlen mit ganzzahligem Zahler und konstantemNenner bn interpretieren. Die Implementierung der vier Grundrechenartenlasst sich ahnlich wie fur die Binarzahlen durchfuhren.

Die Reprasentation mit Festkommazahlen wird bevorzugt angewendet,wo die Anzahl der relevanten Vor- und Nachkommastellen bekannt ist: DieAngaben von Devise wie z.B. Dollar.Cent oder Euro.Cent sind nur zwei Nach-kommastellen notwendig (b = 10). Die genaue Kenntnis der Vor- und Nach-kommastellen reicht allerdings nicht aus, um die Rechenfehler in einer Be-rechnung zu beherrschen, wie wir nachvollziehen konnen an dem

Beispiel 6 (Vancouver Borsenindex). Der Aktien-Index war an der Akti-enborse in Vancouver rechnerisch von anfanglich 1000.0000 am 25. November1983 auf 574.0810 gefallen, obwohl der tatsachliche Wert des Aktien-Indexesbei 1098.8920 stand. Der Aktien-Index wurde nach jeder der taglich ca. 3000Verkaufsereignisse neu berechnet. Der aktuelle Wert des Aktien-Index wurdemit vier Nachkommastellen gespeichert und nach jeder Aktualisierung an-statt korrekt gerundet, ahnlich wie bei der Integer-Division, einfach nur umdie nicht relevanten, mitberechneten Nachkommastellen ”abgehackt“. DieseAbschneidefehler waren der Grund fur den falschen Wert des Indexes.

Das Rechnen mit Festpunktzahlen fuhrt sehr haufig zu Bereichsuber-schreitungen. Die unerwunschten Unter- oder Uberlaufe konnen bei detail-lierter Analyse der Berechnung durch Skalierungsfaktoren verhindert werden,wie gezeigt wird in

Page 61: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.5 Darstellung reeller Zahlen 53

Beispiel 7 (Skalierungsfaktoren). Die Funktion

y = f(x) =√

x

1 + x

soll fur Werte der Form

x =(a + b) · c

d,

mit a, b, c ∈ (0, 1) und d ∈ (0.1, 1) ausgewertet werden. Es soll sichergestelltwerden, dass kein Zwischenergebnis den Wert 1 uberschreitet. Eine Proze-dur zur Wurzelberechnung sei vorhanden. Das Ergebnis der Funktion f(x)schatzen wir mit der Ungleichung zwischen dem harmonischen und geome-trischen Mittel

21a + 1

b

≤√

a · b fur positive a, b ∈ IR,

fur x > 0 mit

√x

1 + x=

12· 2

1√x

+√

x≤ 1

2·√

1√x· √x =

12

nach oben ab. Das Endergebnis y uberschreitet den Wert 1 nicht. Allerdingskann der Wert x fur die Belegung a = b = c = 1 und d = 0.1 den Wert20 annehmen. Dies steht im Widerspruch zu der Forderung, dass alle Zwi-schenergebnisse kleiner als 1 sein sollen. Wir erweitern daher den Ausdruckfur y mit dem Skalierungsfaktor d und definieren z := d · x = (a + b) · c. AlsResultat erhalten wir

y =

√d · √z

d + z. (5.18)

Aufgrund der angegebenen Restriktionen fur a, b, c und d konnen wir dieneuen Argumente abschatzen: 0 ≤ z < 2 und 0 < d + z < 3. Daher erwei-tern wir die Darstellung (5.18) nochmals mit dem Skalierungsfaktor 1/3. Diegewunschte Berechnungsmethode lautet endlich

y =

√d/3 ·√z/3d/3 + z/3

.

Die Anwendung von Festpunktzahlen empfiehlt sich nur fur Berechnun-gen, bei denen die Großenordnung der einzelnen (Zwischen-)Ergebnisse leichtabzuschatzen sind. Dies ist i.Allg. nicht immer so leicht analysierbar wie inBeispiel 7. Wir weichen daher auf andere Zahlendarstellungen aus.

5.5.2 Intervallarithmetik

Eine Moglichkeit, akkumulierte Fehler in den Griff zu bekommen, bestehtdarin, jede Zahl mit beliebig vielen Stellen zu reprasentieren, wie das z.B.

Page 62: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

54 5 Zahldarstellung

Mathematica zulasst. Da jeder Rechenschritt i.Allg. die Anzahl der notwen-digen Stellen zur exakten Reprasentation der internen Zwischenergebnisseerhoht, hangt die Rechenzeit von der Reihenfolge und Anzahl der Berech-nungsschritte ab.

Die Eingabedaten sind i.Allg. mit Fehler behaftet. Es macht also nur we-nig Sinn, mit diesen fehlerbehafteten Zahlen beliebig genau zu rechnen. Esliegt daher die Idee nahe, die Zahlen durch einschließende Intervalle darzu-stellen. Das Intervall liefert dann auch gleich einen Hinweis auf die Guteder Reprasentation. Dies ist die Grundidee24 der Intervallrechnung, die wirfesthalten in der

Definition 12 (Intervallarithmetik). Jeder reellen Zahl r ∈ IR wird eineinschließendes Intervall [r1, r2] mit r1 ≤ r ≤ r2 zugeordnet. Beide Intervall-grenzen r1 und r2 sind Maschinenzahlen.

Anmerkung 22 (Beschrankte Genauigkeit durch Messung). In der Messtech-nik ist es ublich, charakteristische Großen eines Objektes, die einer direktenMessung nicht zuganglich sind, aus gemessenen Hilfsgroßen zu berechnen.Wollen wir z.B. die Geschwindigkeit eines Fahrzeugs bestimmen, messen wirden Abstand zweier Lichtschranken und die Zeit, die das Fahrzeug benotigt,beide Lichtschranken zu passieren. Da wir sowohl den Abstand als auch dieZeit mit endlicher Genauigkeit messen, etwa in Meter [m] und in Sekunden[s], konnen wir nur minimale und maximale Grenzen fur die tatsachlicheGeschwindigkeit angeben.

Aufbauend auf Definition 12 der Intervalle konnen wir mathematische Ge-setze fur das Rechnen mit Intervallen herleiten. Bei der Verknupfung zweierZahlen r ∈ IR und s ∈ IR, reprasentiert durch die Intervalle [r1, r2] und[s1, s2], werden im Sinne der Intervallarithmetik untere und obere Schrankenfur das gesuchte Ergebnis bestimmt. Bei der Addition ergibt sich so z.B. furdie Summe r + s ohne Berucksichtigung der Rundungsfehler die Intervall-reprasentation

[r1, r2] +IM [s1, s2] := [r1 + s1, r2 + s2]. (5.19)

Entsprechend ergibt sich fur die Multiplikation

[r1, r2] ·IM [s1, s2] :=[

mini,j∈{1,2}

{ri · sj}, maxi,j∈{1,2}

{ri · sj}]

Daran schließt sich die24 Erste Veroffentlichungen zu der so genannten Intervallrechnung wurden 1958 von

dem Mathematiker Teruo Sunaga gemacht. In Karlsruhe lief bereits 1967 eineentsprechende Erweiterung der Programmiersprache ALGOL-60 auf einer Anla-ge Z23 von Konrad Zuse. Die Intervallarithmetik hat sich bisher nicht allgemeindurchgesetzt.

Page 63: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.5 Darstellung reeller Zahlen 55

Ubung 8. Welche Intervallreprasentation hat die Division zweier ”Intervall-Zahlen“ r, s ∈ IR, dargestellt durch die Intervalle [r1, r2] und [s1, s2] mitr2 < 0 < s1, bei Rechnung ohne Rundungsfehler?

Das Ergebnis ist ein Intervall, das das gesuchte Resultat r + s bzw. r ·s einschließt. Werden auftretende Rundungsfehler bei der Bestimmung derIntervallgrenzen r1 +IM s1 sowie r2 +IM s2 mit berucksichtigt, so runden wirdie Ergebnisse fur die Intervallgrenzen ”nach außen“ auf Maschinenzahlen,d.h.

[r1, r2] +IM [s1, s2] := [Abrunden(r1 + s1), Aufrunden(r2 + s2)].

Das Umschalten zwischen Auf- und Abrunden kostet auf gangigen Prozes-soren zusatzlich viel Rechenzeit, weil es in dem heute fast allgemein befolg-ten IEEE-Standard von der eigentlichen Rechenoperation getrennt ist. DieIntervallarithmetik ist deshalb vergleichsweise langsam. Abhilfe konnen dageeignet entworfene Prozessoren schaffen, die parallel beide Intervallgrenzenberechnen. Dann ist eine elementare Operation mit Intervallen so schnell wiemit ”gewohnlichen“ Maschinenzahlen.

Im Laufe der Berechnung verfugen wir uber exakte untere und obereSchranken fur das aktuelle Ergebnis. Allerdings kann es durch das Auf- undAbrunden zu erheblichen Uberschatzungen der Intervallgroße kommen. DasErgebnis ist dann zwar korrekt eingeschlossen, die Intervallgrenzen konnenzunehmend ungenauer werden und haben im Fall −∞ und +∞ jede Aussa-gekraft verloren.

Verifizierende numerische Berechnungsverfahren beruhen ganz wesentlichdarauf, dass exakte Informationen uber den Wertebereich bei Funktionsaus-wertungen zur Verfugung gestellt werden. Dazu wird eine garantierte Ober-menge des Wertebereichs [y1, y2] einer Funktion f mit dem Definitionsinter-vall X = [x1, x2] berechnet. Der Wertebereich kann insbesondere bei ”großen“Intervallen und ungeschickter Berechnung von f ungunstig vergroßert wer-den, so dass das berechnete Intervall nutzlos wird. Wir studieren das im

Beispiel 8. Der Wertebereich Y der Funktion f(x) = x/(1 − x) mit demDefinitionsbereich X = [2, 3] kann mittels Intervallarithmetik nach Ubung 8abgeschatzt werden:

f([X ]) = f([2, 3]) =X

1 − X=

[2, 3]1 − [2, 3]

=[2, 3]

[−1,−2]= [−3,−1]. (5.20)

Der exakte Wertebereich ist Y = f([X ]) = [−2,−1.5] ⊂ [−3,−1].

Das uberschatzte Ergebnisintervall (5.20) gilt es zu minimieren. Dazuwird die Berechnungsmethode f mathematisch aquivalent umgeformt. In demBeispiel 8 ist das mit einem einfachen Trick moglich, siehe

Ubung 9. Zeigen Sie, dass sich mit der alternativen Darstellung f(x) :=1/( 1

x − 1) der Funktion f fur x = 0 der exakte Wertebereich [−2,−1.5] be-rechnen lasst.

Page 64: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

56 5 Zahldarstellung

Die Intervall-Arithmetik wird vor allem in Analyseprogrammen, wie z.B.dem Verifier der Firma Polyspace Technologies, oder in bestimmten Phaseneines Compilers eingesetzt, um den Wertebereich einer Variablen bestimmenzu konnen. Die Wertebereiche werden wiederum zur Detektion von Uber-oder Unterlaufen verwendet.

Die Vorstellung der Intervall-Arithmetik soll damit beendet werden. Wirwenden uns der heute ubliche Approximation reeller Zahlen mit dem Gleit-punktformat zu.

5.5.3 Gleitpunktzahlen

Die Entwicklung des Gleitpunktzahlenformats ist historisch gesehen die Ant-wort auf die Frage, welches Maschinenformat fur die Darstellung reellwertigerZahlen notwendig ist um alle vier Grundrechenarten: Addition, Subtraktion,Multiplikation und Divisionen effizient durchfuhren zu konnen.

Die Binardarstellung (5.2) erlaubt, wie bereits in Abschn. 5.1 gezeigt, dieeffiziente Durchfuhrung von Addition und Subtraktion. Es liegt daher die Ideenahe, die Multiplikation und Division mit Hilfe einer logarithmischen Zahlen-darstellung auf die effiziente Addition und Subtraktion zuruckzufuhren: DieMultiplikation a·b bzw. Division a/b der positiven reellen Zahlen a und b kann,ahnlich wie bei einem Rechenschieber, siehe Abb. 5.8, auf Grund der mathe-matischen Formeln log(a · b) = log(a) + log(b) und log(a/b) = log(a)− log(b)auf die Addition log(a) + log(b) bzw. Differenz log(a) − log(b) der Logarith-men log(a) und log(b) zuruckgefuhrt werden. Multiplikationen und Divisionenlassen sich mit Hilfe der logarithmischen Zahlendarstellung bis auf die Kon-vertierung zwischen binarem und logarithmischem Format genauso schnelldurchfuhren wie Additionen und Subtraktionen.

Abb. 5.8. Die Multiplikation zweier Zahlen a · b wird mit einem Rechenschieberauf die Addition der entsprechenden Logarithmen log(a) + log(b) zuruckgefuhrt.

Die Berechnung eines Skalarprodukts wurde allerdings mehrfache Kon-vertierungen zwischen der rein binaren und der rein logarithmischen Darstel-lung erzwingen und unnotige Rechenzeit verschwenden. Im Jahr 1935 um-ging der Erfinder Konrad Zuse dieses Problem mit der Umwandlung, in demer die halblogarithmische Zahlendarstellung, heute als Gleitpunktdarstellung

Page 65: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.5 Darstellung reeller Zahlen 57

bekannt, einfuhrte25 und stellte den ersten funktionierenden, frei program-mierbaren Rechner der Welt her, siehe folgende

Anmerkung 23 (Rechenmaschine Z3). Der gelernte Bauingenieur Konrad Zu-se wollte ab 1936 die standardisierten und langwierigen Berechnungen derStatiker automatisch und zuverlassig durchfuhren konnen. Er entwarf undrealisierte dazu bis 1941 eine frei programmierbare und mit ausreichend vielSpeicher fur Zwischenergebnisse vorgesehene Rechenmaschine mit den fol-genden wesentlichen Neuerungen:

1. alle Zahlen wurden binar dargestellt,2. die effiziente Durchfuhrung aller vier Grundrechenoperationen wurde

durch das Gleitpunktzahlenformat ermoglicht, so genannte Vierspezies-rechenmaschine, und

3. die binaren Schaltelemente wurden realisiert mit Blechstreifen, die mitSteuerstiften gekoppelt waren.

Eine Simulation der Rechenmaschine Z3 findet sich in dem Internet-Archivwww.zib.de/zuse/.

Die halblogarithmische Zahldarstellung26 zerlegt jede reelle Zahl r ∈ IR indrei Bestandteile: ein Vorzeichen (−1)v, mit v ∈ {0, 1}, eine Mantisse m ∈ IRund einen Exponenten e ∈ ZZ durch

r = (−1)v · m · 2e. (5.21)

Die Diskussion der effizienten Durchfuhrung aller vier Grundrechenartenstellen wir noch etwas zuruck und behandeln diese im Abschn. 6.1 uber dieRealisierung einer Maschinenoperation. Zunachst wollen wir uns mit den Ei-genschaften der Gleitpunktzahlen vertraut machen.

Die Darstellung nach (5.21) legt die Werte von Mantisse und Exponentnicht eindeutig fest, wie gezeigt wird in

Beispiel 9. Die Zahl 16 genugt wegen

· · · = 0.25 · 26 = 0.5 · 25 = 1 · 24 = 2 · 23 = 4 · 22 = · · ·

der Reprasentation (5.21) mit v = 0, m = 2−i und e = i + 4 mit i ∈ ZZ.Fur die Zahl 16 existieren abzahlbar unendlich viele Darstellungsmoglichkei-ten (5.21).

25 Siehe das Patent: Verfahren zur selbstatigen Durchfuhrung von Rechnungen mitHilfe von Rechenmaschinen, Patent Z 23 139/GMD Nr. 005/021/Jahr 1936, sie-he auch www.zib.de/zuse/ oder www.zuse.org/. Im Jahr 1985 definierte dieOrganisation IEEE die Darstellung von binaren Gleitpunktzahlen fur Computerin dem Standard ANSI/IEEE Standard 754-1985 for Floating Point Numbers,siehe [60] und folgte ohne Referenz dem Patent von Konrad Zuse.

26 Mantisse und Exponent leiten sich von lateinisch mantissa und exponere ab, wasZugabe und herausstellen bedeutet.

Page 66: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

58 5 Zahldarstellung

Redundante, mehrfache Darstellungen derselben Zahl r sollten auch aufGrund des begrenzten Speicherplatzes nicht zugelassen werden und dahersoll jede Zahl r eindeutig reprasentiert werden. Dies garantiert eine optimaleAusnutzung des vorhandenen Speichers. Wir normieren deshalb die Darstel-lung (5.21): Der Exponent e wird so gewahlt, daß die Mantisse m genau einevon Null verschiedene Stelle vor dem Komma besitzt. Dies motiviert die

Definition 13 (Normalisierte Gleitpunktzahlen). Die reelle Zahl r ∈IR mit der Darstellung

r =: (−1)v · m · 2e =: (−1)v ·t−1∑i=0

ri · 2−i · 2e mit r0Δ= 1, (5.22)

gehort der Menge der normierten Gleitpunktzahlen IMN oder IMN,t an. DasVorzeichen (−1)v wird durch das Vorzeichen-Bit v ∈ {0, 1}, der Wert derMantisse m durch die Ziffern ri ∈ {0, 1}, i = 1, . . . , t − 1 und der Wert desExponenten e ∈ ZZ durch eine ganze Zahl mit emin < e < emax festgelegt27.

Daran schließt sich die

Ubung 10. Zeigen Sie: Der Wertebereich der Mantisse m liegt nach Defini-tion 13 im halboffenen Intervall:

1 ≤ m < 2. (5.23)

Anmerkung 24 (Alternative Normierung). Die Normierung kann alternativauch so stattfinden, dass alle Vorkommastellen gleich Null sind und genau dieerste Nachkommastelle den Wert Eins annehmen soll, d.h. m = 0.r1 . . . rt−1

mit r1 = 1. In diesem Fall verschieben sich die Mantissen-Bits um eine Po-sition nach links in Relation zu (5.22) und der entsprechende Exponent evergroßert sich um den Wert Eins. Der Wertebereich der Mantisse ist dann

12≤ m < 1.

Anmerkung 25 (Speicheranordnung einer Gleitpunktzahl). Eine Gleitpunkt-zahl wird als eine Zeichenkette von Bits abgespeichert: Zuerst das Vorzei-chen v, dann der Exponent e und zuletzt die Mantisse m, kurz [v, e, m] =[v, e, r0, . . . , rt−1].

Die Speicheranordnung der Bits [v, e, m] ist fur Gleitpunktzahlen gerade sogewahlt, dass ein Vergleich zweier Gleichtpunktzahlen effizient durchgefuhrtwerden kann, wie gezeigt wird in der27 Die beiden Falle e = emin und e = emax definieren spezielle erganzende Zahlen-

mengen, siehe dazu weiter unten die beiden Definitionen 14 und 15.

Page 67: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.5 Darstellung reeller Zahlen 59

Anmerkung 26 (Vergleich von normierten Gleitpunktzahlen). Zwei Gleit-punktzahlen [v1, e1, m1] und [v2, e2, m2] unterscheiden sich entweder bereitsim Vorzeichen v1 = v2 oder bei gleichem Vorzeichen v1 = v2 im Exponentene1 = e2 der normierten Darstellung, oder wenn sowohl Vorzeichen als auchExponent gleich sind, in der Mantisse m1 = m2. Die Mantissen-Bits wer-den in der Reihenfolge der Speicheranordnung solange verglichen, bis sich einMantissen-Bit r1,i = r2,i fur i = 1, . . . , t − 1 unterscheidet. Anderenfalls sinddie beiden Gleitpunktzahlen gleich. Der Vergleich zweier Gleitpunktzahlenreduziert sich somit auf den Bit-Vergleich ihrer Speicherreprasentationen.

Fur die Umwandlung in das normierte Gleitpunktzahlenformat geben wirdas

Beispiel 10. Die Dezimalzahl 13.6 soll in das Format (5.22) umgewandeltwerden. Das Vorzeichen ist positiv und somit v = 0. Die einzelnen Stellenerhalten wir z.B. durch folgende Zerlegung

13.6 = 8 + 5.6= 8 + (4 + 1.6)= 8 + 4 + (1 + 0.6)= 8 + 4 + 1 + (0.5 + 0.1)= 8 + 4 + 1 + 0.5 + (0.0625 + 0.0375)= 8 + 4 + 1 + 0.5 + 0.0625 + (0.03125 + 0.00625)= . . . ,

und die Darstellung im Zweiersystem

(13.6)10 = (1101.10011 . . .)2.

Die normierte Gleitpunktdarstellung nach (5.22) ergibt sich, wenn derExponent e so gewahlt wird, dass die erste nicht verschwindende Stelle direktvor dem Komma sitzt

13.6 = (−1)0 · (1.10110011 . . .)2 · 23.

Der Exponent lautet daher e = 3.

Jede reelle Zahl r = 0 ist prinzipiell nach Definition 13 als normalisierteGleitpunktzahl darstellbar. Der begrenzte Speicher erzwingt allerdings einendliches Speicherformat fur Gleitpunktzahlen, bei dem z.B. einheitlich so-wohl die Anzahl t der Stellen der Mantisse als auch die Anzahl der Stellenfur den Exponent e festgelegt werden.

Einfache und doppelte Genauigkeit verwenden nach dem IEEE-Standard754 for Binary Floating-Point Arithmetic28 fur die Mantisse m 23 bzw. 5228 Der IEEE-Standard 754-1985 hat drei wichtige Anforderungen: Das Gleitpunkt-

zahlenformat ist unabhangig von der Rechnerarchitektur, die Ergebnisse derGleitpunktzahlenarithmetik werden korrekt gerundet und Ausnahmen, wie z.B.die Division durch Null, werden konsistent betrachtet.

Page 68: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

60 5 Zahldarstellung

und fur den Exponenten e 8 bzw. 11 Bits. Das ergibt zusammen mit demVorzeichenbit fur einfache Genauigkeit insgesamt 32 und fur doppelte Ge-nauigkeit 64 Bits. Das entspricht 4 bzw. 8 Bytes.

Die Zahl r = 0 kann im Format (5.22) nur mit ri = 0 fur i = 0, . . . , t − 1dargestellt werden. Das steht im Widerspruch zur normalisierten Darstellungmit r0 = 1. Die Zahl Null erfordert daher ein gesondertes Format, das wirvorstellen in der

Definition 14 (Subnormale Gleitpunktzahlen (e = emin)). Die reelleZahl r ∈ IR mit der Darstellung

r =: (−1)v · m · 2e =: (−1)v ·t−1∑i=0

ri · 2−i · 2emin mit r0Δ= 0, (5.24)

gehort zur Menge der nicht-normierten oder subnormalen GleitpunktzahlenIMS oder IMS,t an. Es gilt analog zu Definition 13: Das Vorzeichen (−1)v

wird durch das Vorzeichen-Bit v ∈ {0, 1}, der Wert der Mantisse m durchdie Ziffern ri ∈ {0, 1}, i = 1, . . . , t − 1 und der Wert des Exponenten e ∈ ZZdurch eine ganze Zahl festgelegt.

Anmerkung 27 (Null). Die Zahl Null ist eine spezielle subnormale Zahl undwird einheitlich - allerdings nicht eindeutig - durch

0 = (−1)v · 0 · 2emin (5.25)

reprasentiert, d.h. ri = 0 mit i = 0, . . . , t − 1 und e = emin.

Die Zahlen mit der Speicheranordnung [v, emax, m], die also den großtenExponent e = emax in 5.24 verwenden, sind fur die Darstellung von Sonder-werten reserviert, die wir festlegen in der

Definition 15 (Sonderwerte Unendlich ∞ und Not-a-Number NaN(e = emax)). Die Belegung der Mantissen-Bits ri = 0 mit i = 0, . . . , t − 1und der Exponent e = emax identifizieren die Werte (−1)v ∞. Alle restli-chen Kombinationen, bei denen mindestens ein Bit ri mit i = 0, . . . , t − 1nicht verschwindet und e = emax ist, sind fur Sonderwerte vorgesehen: Not-a-Number-Werte, abgekurzt mit NaN.

Das Rechnen mit den Sonderwerten ∞ und NaN wird gezeigt in der

Anmerkung 28 (Rechnen mit den Sonderwerten ∞ und NaN). Ein Uberlaufdes Bereichs der normalisierten Gleitpunktzahlen fuhrt zu dem Ergebnis ∞.Das Ergebnis einer Rechenoperationen mit einer positiven, normalisiertenGleitpunktzahlen r > 0 ergibt fur

– Rechnen mit 0 z.B. die Ergebnisse 0 + rΔ= r, 0 · r

Δ= 0, r/0 Δ= ∞ und0/0 Δ= NaN,

Page 69: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.5 Darstellung reeller Zahlen 61

– Rechnen mit ±∞ z.B. die Ergebnisse ∞ + 0 Δ= ∞, ∞ · r Δ= ∞, r/∞ Δ= 0,∞ · 0 Δ= NaN, ∞±∞ Δ= NaN oder ∞/∞ Δ= NaN,

– Reste der ganzzahligen Division bei r ÷ 0 Δ= NaN und ∞÷ rΔ= NaN sowie

– alle arithmetische Operationen mit mindestens einem Argument NaN wiez.B.

√NaN Δ= NaN und sin(NaN) Δ= NaN.

Wir veranschaulichen die Mengen IMN und IMS in dem

Beispiel 11. Die Mengen der normalisierten und subnormalen Gleitpunkt-zahlen IMN,t und IMS,t mit der Stellenanzahl t = 3 und dem zulassigen Ex-ponenten emin := −2 ≤ e < 2 =: emax sind in Tabelle 5.4 aufgefuhrt. DieNormalisierung wird fur den Exponenten e = emin = −2 aufgehoben und dieerste Stelle vor dem Komma durch eine Null ersetzt, siehe dritte Spalte.

Tabelle 5.4. Die Mengen der normalisierten und subnormalen GleitpunktzahlenIMN,3 und IMS,3 mit emax := 2 > e ≥ −2 =: emin.

Mantisse e = 1 e = 0 e = −1 e − 2 (subnormal)

m = (1.00)2 2 1 0.5 m = (0.00)2 → 0m = (1.01)2 2.5 1.25 0.625 m = (0.01)2 → 0.125m = (1.10)2 3 1.5 0.75 m = (0.10)2 → 0.25m = (1.11)2 3.5 1.75 0.875 m = (0.11)2 → 0.375

Die Gleitpunktzahlen sind wegen der halblogarithmischen Zahlendarstellungnicht, wie z.B. die Integer-Zahlen, aquidistant verteilt. Die Abb. 5.9 zeigtdies exemplarisch fur die in Beispiel 11 definierten Zahlenmengen.

0 0.5 1 1.5 2 2.5 3 3.5

Abb. 5.9. Die Mengen der normalisierten und subnormalen GleitpunktzahlenIMN,3 und IMS,3 mit emax := 2 > e ≥ −2 =: emin. Die normalisierten Gleitpunkt-zahlen sind mit Kreis ©, Stern � und Quadrat � markiert und entsprechen in derTabelle 5.4 den Zahlen der zweiten, dritten und vierten Spalte. Die Zahlen, die miteinem Plus + markiert sind, entsprechen den subnormalen Gleitpunktzahlen in derletzten Spalte der Tabelle.

Die Menge IM der Gleitpunktzahlen ist die Vereinigung der beschriebenenZahlenmengen in den drei Definitionen 13, 14 und 15.

Alle Zahlen der Menge IM werden durch die Bit-Folge [v, e, m] im Speicherdargestellt: Ein Bit fur das Vorzeichen v, t Bits fur die Mantisse m und s

Page 70: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

62 5 Zahldarstellung

Bits fur den Exponenten e. Die beiden Werte fur den Exponenten emin undemax sind fur die Darstellung der subnormalen Gleitpunktzahlen und derSonderwerte reserviert.

Anmerkung 29 (Wert und Codierung des Exponenten). Der ganzzahlige Ex-ponent e wird nicht als Binarzahl im Format (5.2), sondern als Integer-Zahlahnlich dem Format (5.12) abgespeichert: Der IEEE-Standard754 interpre-tiert bei einfacher Genauigkeit29 das 8-Bit-Muster [0000, 0000] als minimalenExponentenwert emin = −127 und das 8-Bit-Muster [1111, 1111] als maxima-len Exponentenwert emax = 128. Der Exponentenwert e ergibt sich fur dienormalisierte Gleitpunktzahlen, d.h. −127 < e < 128, aus dem Bitmuster[e7, . . . , e0] einer entsprechenden Binarzahl mit der Umrechnungsformel

e =7∑

i=0

ei · 2i − 127.

In der Tabelle 5.5 sind die wichtigsten Eigenschaften der Gleitpunktzahlen fureinfache und doppelte Genauigkeit zusammengefasst. Die Menge der Gleit-

Tabelle 5.5. Eigenschaften der Zahlenformate nach IEEE-Standard 754.

Format einfach doppelt

Vorzeichen-Bit 1 1Mantissen-Bits 23 52Exponenten-Bits 8 11emin −126 −1022emax 127 1023kleinste pos. Zahl (sub.) 2−149 ≈ 1.4 10−45 2−1075 ≈ 2.4 10−134

kleinste pos. Zahl (nor.) 2−126 ≈ 1.2 10−38 2−1022 ≈ 2.2 10−308

großte pos. Zahl (nor.) 2128 − 1 ≈ 3.4 1038 21024 − 1 ≈ 1.8 10308

punktzahlen enthalt nicht alle ganzen Zahlen des abgedeckten Bereichs. LosenSie dazu die

Ubung 11. Geben Sie die kleinste, positive naturliche Zahl in Abhangigkeitvon t und emin an, die nicht zur Menge der normierten Gleitpunktzahlen ausIM gehort.

5.5.4 Rundung von Gleitpunktzahlen

Das Runden ist fur das Rechnen mit Gleitpunktzahlen IM von zentraler Be-deutung. Wir fordern von einer effizienten Rundung, dass der unvermeidbareRundungsfehler sowohl kontrollierbar als auch so klein wie moglich ist.29 Die entsprechenden Grenzen lauten fur doppelte Genauigkeit: emin := −1023

und emax := 1024 und somit e =P10

i=0 ei · 2i − 1023.

Page 71: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.5 Darstellung reeller Zahlen 63

Der Entwurf von Algorithmen kann Rundungsfehler ausschließen, wenndie vorhandenen Datentypen auf die Aufgabenstellung angepasst werden. Sobietet es sich z.B. an, bei der Implementierung einer ganzzahligen Berech-nungsmethode auch den Datentyp integer zu verwenden um Rundungsfeh-ler zu vermeiden, die sich u.U. in den Losungsweg einschleppen konnen. Auchbeim Arbeiten mit Gleitpunktzahlen kann es sinnvoll sein, die binare Dar-stellung zu beachten. Wir machen die

Anmerkung 30 (Rundungsfehler). Eine US-amerikanische Patriot-Rakete ver-fehlte wahrend des ersten Golfkriegs am 25. Februar 1991 in Saudi-Arabieneine angreifende irakische Scud-Rakete, die in eine Kaserne einschlug. Es wa-ren 28 Menschenleben zu beklagen.

Ursache war ein Rundungsfehler in Zusammenhang mit der Berechnungder Zeitdifferenz, die seit dem Start des Systems vergangen war. Die interneUhr speicherte die verstrichene Zeit in Zehntelsekunden. Der Umrechnungs-faktor zwischen der gemessenen Zeit in Zehntelsekunden und Sekunden wurdemit 24 Bit abgespeichert und betrug

(0.000 1100 1100 1100 1100 1100)2.

Die Zahl 1/10 ist in der Binardarstellung allerdings eine unendliche Ziffern-folge

110

=∞∑

i=1

2−4i + 2−4i−1 = (0.0001100)2,

die nicht nach 24 Stellen abbricht. Dies fuhrt zu dem Rundungsfehler

∞∑i=6

2−4i + 2−4i−1 =45229

≈ 8.38 · 10−8.

Das Patriot-System sollte deshalb laut Bedienungsanleitung in regelmaßigenAbstanden neu gestartet werden, da sich dieser Rundungsfehler z.B. nach 100Betriebsstunden akkumuliert zu der Zeitdifferenz

100 · 60 · 60 · 10 · 8.38 · 10−8 Zehntelsekunden = 0.302 Sekunden.

Die Scud-Rakete flog mit einer Geschwindigkeit von ca. 1.676 km/s und warin 0.302 Sekunden ca. 500 m weiter als angenommen und damit außerhalbder Reichweite des ”Aufspursystems“ der Patriot-Rakete.

Das Vorzeichen (−1)v wird durch v = 0 oder v = 1 exakt dargestellt. DerExponent e einer Gleitpunktzahl ist eine ganze Zahl mit emin ≤ e < emax.Wenn der Exponent in diesen Bereich liegt, sind keine Rundungsfehler zubeachten. Im anderen Fall ist der Exponent der Zahl betragsmaßig entwederzu groß (e ≥ emax) oder zu klein (e < emin), um korrekt dargestellt werden zukonnen. Im ersten Fall terminieren Programme i.Allg. mit der Meldung einesUberlauffehlers. Im zweiten Fall wird der zu kleine Wert kommentarlos durch

Page 72: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

64 5 Zahldarstellung

Null ersetzt, obwohl ein so genannter Unterlauf erzeugt wurde. So wird z.B.die Zahl 1.1 · 2−1968 sowohl fur einfache als auch fur doppelte Genauigkeitauf die Zahl Null abgerundet, siehe Tabelle 5.5. Insbesondere halten wir fest,dass ein erzeugter Unterlauf in der Regel unproblematisch ist.

Diese Vorbemerkungen reduzieren die Untersuchung der Eigenschafteneiner Rundung der Mantisse m. Wir stellen eine spezielle Rundungsart vorin der

Definition 16 (Standardrundung). Die Mantisse m einer normiertenGleitpunktzahl

m = 1.r1r2r3 . . . rt−1|rt . . .

wird in Abhangigkeit des letzten Mantissen-Bits rt−1 und der ersten nichtmehr gespeicherten Stelle rt entsprechend der folgenden Fallunterscheidunggerundet:

1. Im Fall rt = 0 wird abgerundet:

rd(m) = 1.r1r2 · · · rt−1.

2. Im Fall rt = 1 werden zwei weitere Moglichkeiten unterschieden:a) Wenn die zu runden Zahl m = 1.r1r2 . . . rt−1|1000 . . . genau zwischen

zwei normierten Gleitpunktzahlen liegt, wird fur rt−1 = 0 abgerundet:

rd(m) = 1.r1r2 · · · rt−20

und fur rt−1 = 1 aufgerundet

rd(m) = 1.r1r2 · · · rt−21 + 21−t.

b) In allen anderen Fallen mit rt = 1 wird aufgerundet:

rd(m) = 1.r1r2 · · · rt−1 + 21−t.

Der Rundungsfehler frd kann nach Definition 16 fur eine reelle Zahl r durchdie obere Schranke 2e−t+1/2 abgeschatzt werden:

|frd(r)| := |r − rd(r)| ≤ 2e−t. (5.26)

Die in Definition 16 vorgestellte Rundung ist eine von vier Moglichkeiten,die der IEEE-Standard 754 vorsieht. Die drei weiteren Rundungsarten stellenwir vor in der

Anmerkung 31 (Alternative Rundungsarten). Die drei Rundungsarten Ab-runden (floor), Aufrunden (ceil) oder Runden zur Null (round to zero) sindeinfacher zu implementieren und daher i.Allg. schneller ausfuhrbar. Der Run-dungsfehler

|frd(r)| := |r − rd(r)| ≤ 21+e−t

ist allerdings um den Faktor 2 großer als in der Abschatzung (5.26).

Page 73: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.5 Darstellung reeller Zahlen 65

Durch Rundung kann auch bei kleinsten Fehlern leicht wichtige Informa-tion verlorengehen, wie aufgetreten in

Beispiel 12. Die Partei der Grunen erhielt im Jahr 1992 bei den Landtags-wahlen in Schleswig-Holstein 4.97% der Stimmen und hatte somit knapp denSprung uber die 5.0%-Hurde verpasst. Die Darstellung der Ergebnisse ba-sierte auf einem Programm, das jedes Zwischenergebnis automatisch auf eineStelle nach dem Komma rundete und gestand dadurch den Grunen 5.0% unddamit den Einzug in den Landtag zu. Der Fehler wurde erst nach Mitternacht,nachdem die offiziellen Ergebnisse bereits veroffentlicht waren, entdeckt.

Ubung 12. Zeigen Sie, dass die Abbildungen rd, die in Definition 16 explizitund in Anmerkung 31 nur angedeutet beschrieben sind, auch eine Rundungim Sinne der Definition 2 sind.

Das Ergebnis einer Rundung hangt nicht nur von der zu rundenden Zahlund der Rundungsart ab, sondern auch von der Anzahl Mantissen-Bits t, wiedas Beispiel 10 in der Tabelle 5.6 zeigt. Die Anzahl t der Mantissen-Bits ist

Tabelle 5.6. Die Zahl r = 13.6 aus Beispiel 10 und ihre Reprasentation inAbhangigkeit der Anzahl der Mantissen-Bits t.

t Reprasentation Rundung Fehler δr

2 (1.1)2 · 23 ab (1.6)103 (1.11)2 · 23 auf (0.4)104 (1.110)2 · 23 auf (0.4)105 (1.1011)2 · 23 ab (0.1)106 (1.10110)2 · 23 ab (0.1)107 (1.101101)2 · 23 auf (0.025)10

von entscheidender Bedeutung, wie wir zeigen in

Beispiel 13 (Ariane-5-Rakete). Am 4. Juni 1996 startete eine Ariane-5-Rake-te der ESA30 zu ihrem Jungfernflug von Franzosisch Guyana aus. Die unbe-mannte Rakete hatte vier Satelliten an Bord. 36.7 Sekunden nach dem Startwurde in einem Programm versucht, den gemessenen Wert der horizontalenGeschwindigkeit von 64 Bit Gleitpunktdarstellung in 16 Bit signed Integerumzuwandeln.

Die entsprechende Maßzahl war großer als 215 = 32 768 und erzeugtebei der Konvertierung einen Uberlauf. Das Lenksystem versagte daraufhinseine Arbeit und gab die Kontrolle an eine unabhangiges zweites, identischesSystem ab. Dieses System produzierte folgerichtig ebenfalls einen Uberlauf.30 European Space Agency, www.esa.int/

Page 74: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

66 5 Zahldarstellung

Der Flug der Rakete wurde instabil und die Triebwerke drohten abzu-brechen: die Rakete zerstorte sich selbst. Es entstand ein Schaden von ca.500 Millionen Dollar durch den Verlust der Rakete und der Satelliten.

Die Software des Tragheitsnavigationssystems stammte von der Vorgan-gerrakete Ariane-4 und wurde ohne zu testen in die Ariane-5 ubernommen,da die Ariane-4 vergleichsweise wenig Probleme bereitete. Die Ariane-5 warleistungsfahiger und flog daher schneller. Die Anpassung der Variablenty-pen der internen Darstellung der Geschwindigkeit wurde offensichtlich beider Ubergabe der Software nicht beachtet: Als die Software fur die Ariane-4programmiert wurde, musste man nicht von so großen Geschwindigkeiten aus-gehen und hat daher die Umwandlung der Zahldarstellung z.B. nicht durcheine Abfrage abgesichert, wie der wiederverwendete ADA-Code-Ausschnittder Ariane-4 zeigt:

beginsensor_get(vertical_veloc_sensor);sensor_get(horizontal_veloc_sensor);vertical_veloc_bias := integer(vertical_veloc_sensor);horizontal_veloc_bias := integer(horizontal_veloc_sensor);...exceptionwhen numeric_error => calculate_vertical_veloc();when others => use_irs1();

end;

Die fehlerhafte Konvertierung integer trat in der vierten Zeile auf.Eine internationale Expertenkommission, siehe [2], untersuchte das Un-

gluck und legte einen Untersuchungsbericht und Verbesserungsvorschlage vor;fur zukunftige Entwicklungen wurde u.a. die Rolle des Software-Architekteneingefuhrt, siehe auch [75].

Der absolute Rundungsfehler frd ist zur Beurteilung eines Fehlers nichtaussagekrafig genug. So ist der absolute Fehler 1/2 fur die Zahl 3 im Verhalt-nis wesentlich großer als fur die Zahl 123 456.7. Es ist daher sinnvoller, denabsoluten Rundungsfehler frd(r) auf die zu rundende Zahl r zu beziehen.Dies motiviert die

Definition 17 (Relativer und absoluter Rundungsfehler). Die Diffe-renz δr ∈ IR

frd(r) := δr := r − rd(r) (5.27)

bezeichnet den absoluten Rundungsfehler und wurde bereits in (4.1) und(5.26) eingefuhrt. Der Quotient frel(r) ∈ IR

frel(r) := εr :=frd(r)

r=

δr

r=

r − rd(r)r

fur r = 0 (5.28)

heißt relativer Rundungsfehler.

Page 75: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

5.5 Darstellung reeller Zahlen 67

Der quantitative Zusammenhang zwischen einer beliebigen reellen Zahlr und ihrer Reprasentation als Maschinenzahl rd(r) kann daher beschriebenwerden durch

rd(r) = r · (1 − frel(r)) . (5.29)

Wir wollen den relativen Rundungsfehler frel(r) einer normierten Gleit-punktzahl mit der definierenden Gleichung (5.28) nach oben abschatzen. DerZahler ist wegen (5.26) mit 2e−t nach oben beschrankt. Die Mantisse mliegt wegen der Normierungsbedingung aus Definition 13 in dem Intervall1 ≤ m < 2 und somit ist die zu rundende Zahl r nach unten durch 2e be-schrankt. Daraus folgt

|frel(r)| ≤ 2e−t

1 · 2e= 2−t. (5.30)

Der maximale relative Rundungsfehler hangt nur von der Stellenanzahlder Mantisse t ab. Diese wichtige numerische Große bekommt einen Namenin der

Definition 18. Die obere Schranke fur den maximalen relativen Rundungs-fehler, der bei der Rundung einer Zahl r ∈ IR in eine Maschinenzahlrd(r) ∈ IM mit t-stelliger Mantisse auftreten kann, heißt Maschinengenauig-keit ε und ergibt sich nach (5.30) zu

ε := 2−t. (5.31)

Wir machen die

Anmerkung 32. Die Maschinengenauigkeit ε kann auch durch die Eigenschaft

großte Maschinenzahl δ > 0 mit 1.0 +IM δ = 1.0

charakterisiert werden.

Die Eigenschaft aus Anmerkung 32 verwenden wir zur Losung der nachs-ten

Ubung 13. Bestimmen Sie die Maschinengenauigkeit Ihres Rechners. Schrei-ben Sie dazu ein Programm, das die Maschinengenauigkeit ε bestimmt.Hinweis: Bilden Sie Summen der Art 1+2−i mit i ≥ 0 und sehen Sie sichdie Ergebnisse an.

Die Maschinengenauigkeit stellt die Verbindung zwischen der Rechenge-nauigkeit und der Anzahl der fur die Mantisse verwendeten Bits her: DieGenauigkeit der normierten Gleitpunktdarstellung verdoppelt sich mit je-dem Bit. Der Zahlenbereich zur Reprasentation des Exponenten e ist fur dieRechengenauigkeit normalerweise nicht relevant.

In diesem Sinn sind Genauigkeit und Darstellungsbereich miteinander ver-tauschbar: hohere Genauigkeit geht bei gleicher Anzahl von Bits auf Kostendes Darstellungsbereichs und umgekehrt.

Page 76: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

6 Gleitpunktarithmetik und

Fehlerfortpflanzung

”Abyssus abyssum invocat: ein Fehler zieht den anderen nach sich.“

Lateinische Redewendung

6.1 Realisierung einer Maschinenoperation

In diesem Abschnitt beschaftigen wir uns mit den vier Grundrechenoperatio-nen fur Gleitpunktzahlen. Die arithmetischen Operationen laufen alle nachdemselben Schema ab: Die Verknupfung der beiden Maschinenzahlen r unds wird mit hoherer Genauigkeit realisiert und das Ergebnis r ◦ s anschließendauf eine Maschinenzahl gerundet. Ein Rechenfehler entsteht, bei hinreichendhoher interner Genauigkeit1 erst im zweiten Schritt, wenn das quasi exakteErgebnis wird auf eine Maschinenzahl gerundet wird.

Wir wollen dieses Vorgehen im Fall der Addition zweier Maschinenzahlenr und s in Zahlendarstellung mit t-stelliger Mantisse genauer analysieren undgeben ein Modell eines Additionsalgorithmus an:

1. Die Darstellungen der beiden Zahlen r und s nach Definition 13 werdenzunachst so aneinander angepasst, dass beide den selben Exponentenhaben.

2. Die resultierenden Mantissen werden in hoherer Genauigkeit addiert.3. Das Ergebnis wird normalisiert, d.h. solange verschoben, bis es nur eine

fuhrende Eins vor dem Komma gibt.4. Die resultierende Mantisse wird nach Definition 13 auf eine Maschinen-

zahl gerundet. In diesem letzten Schritt wird ein Rundungsfehler in dasErgebnis eingeschleppt.

Wir veranschaulichen dieses Vorgehen an dem

Beispiel 14. Die beiden Maschinenzahlen r = 7/4 = (1.11)2 · 20 und s =3/8 = (1.10)2 · 2−2 sollen addiert werden. Die Summe r + s = 17/8 wird mitdrei-stelliger Mantisse berechnet:1 Die Addition und Subtraktion kommen mit einer zusatzlichen Stelle, dem so

genannten guard digit, in der Mantisse der”kleineren“ Zahl aus. Die Multipli-

kation und Division setzt die doppelte Anzahl der zur Darstellung verwendetenMantissenstellen voraus.

Page 77: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

70 6 Gleitpunktarithmetik und Fehlerfortpflanzung

(1.11)2 · 20 +IM (1.10)2 · 2−2 1.= (111)2 · 2−2 + (1.10)2 · 2−2

2.= (1000.10)2 · 2−2

3.= (1.00010)2 · 21

4.→ (1.00)2 · 21.

Das Ergebnis der naherungsweisen Addition r +IM s = 2 ist genau mit demabsoluten Rundungsfehler ε+ = |17/8 − 2| = 1/8 aus Schritt 4 behaftet undentspricht dem relativen Fehler

∣∣∣ 1/817/8

∣∣∣ = 0.0588 . . . ≈ 6%.Das Ergebnis ist relativ gut, auch wenn ein relativer Fehler von 6% recht

groß erscheint: eine hohere Genauigkeit als die Maschinengenauigkeit ε =2−3 = 12.5% fur eine drei-stellige Mantisse kann man beim Runden nach(5.30) nicht erwarten.

Der absolute Rundungsfehler ε+ ∈ IR, der im vierten Schritt einer Gleit-punktaddition r + s zweier Maschinenzahlen r, s ∈ IM eingeschleppt wird

r +IM s = rd(r + s) = (r + s) (1 + ε+) , (6.1)

kann nach (5.29) und (5.30) durch die Maschinengenauigkeit ε nach obenabgeschatzt

|ε+| = |frel| ≤ ε (6.2)

werden. Diese Analyse gilt unabhangig von der betrachteten Operation undes gilt ganz allgemein:

Anmerkung 33 (Realisierung einer Gleitpunktoperation). Jede Gleitpunkt-operation ◦ ∈ {+,−, ∗, /} fur zwei Maschinenzahlen r, s ∈ IM liefert alsErgebnis

r ◦ IM s = rd(r ◦ s) = (r ◦ s) (1 + ε◦) .

Der relative Fehler ist deshalb stets beschrankt durch |ε◦| ≤ ε.

Die Abschatzung des Rundungsfehlers mit der Maschinengenauigkeit εin Anmerkung 33 ist von zentraler Bedeutung und ermoglicht nicht nur dieRundungsfehleranalyse einer einzelnen Rechenoperation, sondern auch dieAnalyse der Fehlerfortpflanzung durch eine Folge von Rechenoperationen.

6.2 Rundungsfehleranalyse

Die wichtigsten Fehlerquellen wurden in den Abschn. 4 und 5 beschrieben;sowohl Fehler in den Eingabedaten als auch Rundungsfehler bei Zwischener-gebnissen konnen sich bei jeder elementaren Rechenoperation verstarken undzu vollig falschen Endergebnissen fuhren. In diesem Abschnitt stellen wir dieWerkzeuge bereit, mit denen wir Folgen von Rechenoperationen analysieren

Page 78: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

6.2 Rundungsfehleranalyse 71

konnen um moglichst robuste und fehlertolerante Algorithmen entwerfen zukonnen.

Ein numerisches Berechnungsverfahren, bei dem die Fehler im Endergeb-nis relativ wesentlich großer als die Fehler in den Eingabedaten sein konnen,ist unzuverlassig und in der Regel unbrauchbar. Im ungunstigsten Fall hatdas berechnete Endergebnis uberhaupt nichts mehr mit der gesuchten Losungzu tun. Eine zusatzliche Anforderung an numerische Aufgabenstellungen istdaher, Berechnungsmethoden zu entwickeln, die garantieren konnen, dass furbestimmte Eingabedaten verlassliche Endergebnisse produziert werden. Wirerarbeiten die typische Vorgehensweise anhand eines einfachen Beispiels, derAddition dreier Zahlen.

Der Grundstein fur eine solche Rundungsfehleranalyse ist bereits im letz-ten Abschnitt bei der Untersuchung der Addition zweier Zahlen in (6.1) gelegtworden. Darauf aufbauend wenden wir uns dem nachstkomplizierteren Fallzu im

Beispiel 15. Rechenoperationen Wir wollen die Summe y = a + b + c dreierMaschinenzahlen a, b und c berechnen.

Wir zerlegen die Gesamtrechnung in zwei Teilschritte, die der Reihe nachim Rechner ausgefuhrt werden

1. : e = a +IM b und 2. : y = e +IM c. (6.3)

Die Addition dreier Zahlen kann somit auf die bereits analysierte Addi-tionen zweier Zahlen zuruckgefuhrt werden. Es gilt

y(6.3), 2.

= e +IM c(6.1)= (e + c)(1 + ε2)

(6.3), 1.= ((a +IM b) + c)(1 + ε2)

(6.1)= ((a + b)(1 + ε1) + c)(1 + ε2)= a + b + c + (a + b)ε1 + (a + b + c)ε2 + (a + b)ε1ε2,

mit |ε1|, |ε2| ≤ ε. Die quadratische Terme εiεj mit i, j ∈ {1, 2} sind kleiner alsε2 sind und werden wegen ε2 � ε � 1 im Zwischenergebnis nicht gespeichertund konnen daher fur die Rundungsfehleranalyse vernachlassigt werden. Inerster Naherung ergibt sich

y.= a + b + c + (a + b)ε1 + (a + b + c)ε2. (6.4)

Der Punkt uber dem Gleichzeichen deutet an, dass Terme hoherer Ord-nung vernachlassigt wurden. Die Rechenfehler der beiden Additionen ε1 undε2 werden nach Gleichung (6.4) mit den Faktoren a+b und a+b+c verstarkt.

Um die Wirkung dieser Gewichte zu verstehen, berechnen wir fur dasEndresultat y den relativen Fehler und sortieren nach den auftretenden Ep-silons

Page 79: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

72 6 Gleitpunktarithmetik und Fehlerfortpflanzung

frel(y) :=y − y

y

.=a + b + c − (a + b + c + (a + b)ε1 + (a + b + c)ε2)

a + b + c

= − a + b

a + b + cε1 − ε2

und erhalten die Abschatzung

|frel(y)| ≤∣∣∣∣ a + b

a + b + cε1 + ε2

∣∣∣∣ ≤ (1 +∣∣∣∣ a + b

a + b + c

∣∣∣∣) ε. (6.5)

Gleichung (6.5) beschreibt den quantitativen Zusammenhang zwischendem relativen Fehler frel(y) des Resultats y, der speziellen Berechnungs-methode nach (6.3), den Eingangsdaten a, b und c und der Maschinenge-nauigkeit ε. Der relative Fehler frel(y) ist i.Allg. in der Großenordnung derMaschinengenauigkeit ε und kann sich enorm verstarken, wenn der Wert derSumme a + b + c ungefahr Null ist: in diesem Fall verstarkt sich der bei derBerechnung von a+b entstandene Fehler ε1 durch den Faktor (a+b)/(a+b+c)im relativen Fehler frel(y) und fuhrt zu einem stark verfalschten Ergebnis.

Bevor wir das an einem numerischen Beispiel nachvollziehen, weisen wirdarauf hin, dass die spezielle Berechnungsmethode tatsachlich einen Einflussauf die Art der Fehlerverstarkung besitzt.

Die Addition der reellen Zahlen R ist assoziativ und daher kann diein (6.3) vorgeschlagene Reihenfolge getauscht werden, ohne das Ergebnis inexakter Arithmetik zu andern:

1. : e = b +IM c und 2. : y = a +IM e (6.6)

Ubung 14. Zeigen Sie: Die Addition nach (6.6) fuhrt zu dem relativen Fehler

|frel(y)| :=∣∣∣∣y − y

y

∣∣∣∣ ≤ (1 +∣∣∣∣ b + c

a + b + c

∣∣∣∣) ε.

Vergleichen Sie das Ergebnis mit der Abschatzung (6.5) und erklaren Sie dieUrsache des Unterschieds!

Die Reihenfolge der Additionen konnen sich bei einer konkreten numeri-schen Addition auswirken, wie gezeigt wird im

Beispiel 16. Die drei Maschinenzahlen a := (1.11)2 · 2−1, b := −(1.10)2 · 2−1

und c := (1.10)2 · 2−3 mit drei-stelliger Mantisse sollen nach (6.3) und (6.6)addiert werden. Im ersten Fall ergibt sich das exakte Ergebnis:

y =((1.11)2 · 2−1 +IM (−(1.10)2 · 2−1)

)+IM (1.10)2 · 2−3

= (1.00)2 · 2−3 +IM (1.10)2 · 2−3

= (1.01)2 · 2−2.

Page 80: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

6.2 Rundungsfehleranalyse 73

Die erste Zwischensumme a + b ist exakt berechnet und daher kann der Re-chenfehler ε1 = 0 nicht verstarkt werden.

Im zweiten Fall verhalt sich das ganz anders:

y = (1.11)2 · 2−1 +IM

((−(1.10)2 · 2−1) +IM (1.10)2 · 2−3

)= (1.11)2 · 2−1 +IM (−(1.00)2 · 2−1)= (1.10)2 · 2−2

mit dem relativem Fehler∣∣∣∣(1.01)2 · 2−2 − (1.10)2 · 2−2

(1.01)2 · 2−2

∣∣∣∣ = 20%,

da die Zwischensumme b + c bereits mit dem absoluten Fehler 1/8 behaftetist, der im Endergebnis durch den Faktor (b+ c)/(a+ b+ c) = −1.8 verstarktwird.

Das Beispiel 16 zeigt, dass die Rechneraddition +IM nicht assoziativ ist:die Reihenfolge der Rechenoperationen kann zu unterschiedlichen Endergeb-nissen fuhren. Die Rechneraddition +IM ist auch nicht kommutativ, da dasEndergebnis zusatzlich von der Reihenfolge der Summanden abhangt2, wiegezeigt wird in2 Der Einfluss der Reihenfolge der Summanden auf das Ergebnis ist keine neue

mathematische Erkenntnis und ist bekannt aus der Theorie der unendlichen Rei-hen mit exakter Arithmetik: Das Kommutativgesetz gilt nicht mehr allgemeinfur unendliche Reihen, siehe [71]. Die konvergente unendliche Reihe

s =

∞Xn=1

(−1)n−1

n= 1 − 1

2+

1

3− 1

4+

1

5− 1

6+

1

7· · · = ln 2 (6.7)

mit dem Wert s = ln 2 kann umgeordnet werden in die ebenfalls konvergenteunendliche Reihe

s =∞X

k=1

„1

4k − 3+

1

4k − 1− 1

4k

«= 1 +

1

3− 1

2+

1

5+

1

7− 1

6· · · =

3

2ln 2.

mit dem Wert s = 3/2 ln 2 = 3/2 s = s. Es kann sogar gezeigt werden, dass dieunendliche Reihe (6.7) durch passende Umordnungen in ebenfalls konvergenteunendliche Reihen umgewandelt werden kann, die gegen jede beliebige reelle Zahls ∈ IR konvergieren! Auch das Assoziativgesetz gilt nicht mehr uneingeschranktfur unendliche Reihen, wie das folgende einfache Beispiel zeigt: Die unendlicheReihe ∞X

n=0

(1 − 1) = (1 − 1) + (1 − 1) + · · · = 0 + 0 + · · · = 0

konvergiert gegen den Wert 0. Die unendliche Reihe ohne Klammerung

∞Xk=0

(−1)k = 1 − 1 + 1 − 1 + · · ·

Page 81: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

74 6 Gleitpunktarithmetik und Fehlerfortpflanzung

Beispiel 17. Die Reihenfolge der Summanden hat wegen der Ausloschungeinen entscheidenden Einfluss auf das Ergebnis. Die in exakter Arithmetikgleichwertigen Ausdrucke mit der Summe 136 ergeben z.B. mit acht-stelligerMantisse

220 +IM 24 −IM 23 +IM 27 −IM 220 = +(0000 0000)2 = 0,

220 +IM 24 −IM 220 −IM 23 +IM 27 = +(0111 1000)2 = 120,

220 −IM 220 +IM 24 −IM 23 +IM 27 = +(1000 1000)2 = 13 und220 +IM 24 +IM 27 −IM 220 −IM 23 = −(0000 1000)2 = −8.

Die Rundungsfehleranalyse wird zum Abschluss des Abschnitts ausge-dehnt auf die Berechnung der Summe a + b + c mit bereits mit Rundungs-fehlern εa, εb und εc behafteten Eingabedaten a, b und c. Die Addition die-ser fehlerbehafteten Summanden wird nach der Berechnungsmethode (6.3)durchgefuhrt

1. : e = (a · (1 + εa)) +IM (b · (1 + εb))und 2. : y = e +IM (c · (1 + εc)) . (6.8)

Die Analyse uberlassen wir Ihnen in der

Ubung 15. Rechnen Sie nach, dass sich fur die Addition dreier Zahlen a, bund c unter Berucksichtigung von Rundungsfehlern mit dem Ansatz (6.8) furden relativen Rundungsfehler der Summe in erster Naherung

frel(y) .=a

a + b + cεa +

b

a + b + cεb +

c

a + b + cεc︸ ︷︷ ︸

Verstarkung der Eingabefehler

+a + b

a + b + cε1 + ε2.︸ ︷︷ ︸

Verstarkung der Rechenfehler

(6.9)

ergibt. Die Rechenfehler der beiden Additionen sind dabei ε1 und ε2.

Der gesamte relative Fehler frel(y) der Summe a + b + c setzt sich nach (6.9)zusammen aus den in Abschn. 4 postulierten Anteilen:

1. Eingabefehler εa, εb und εc, die im Verhaltnis ihres Werts zur Gesamt-summe verstarkt werden. Die Eingabefehler konnen z.B. durch bereitsgemachte Rechenfehler entstanden sein.

2. Rechenfehlern ε1 und ε2, die sich abhangig von der Berechnungsmethodeverstarken konnen.

ist dagegen nicht mal mehr konvergent, sondern divergiert unbestimmt zu denWerten 0 und 1.

Fazit: Endliche Reihen mit endlich genauer Arithmetik verhalten sich alsoahnlich wie unendliche Reihen mit unendlich genauer Arithmetik.

Page 82: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

6.3 Ausloschung 75

Das Beispiel zeigt, dass sich Rundungsfehler im Endergebnis sehr stark aus-wirken konnen, wenn der Wert der Gesamtsumme nahe bei Null liegt. Dieseund ahnlich ungunstige Falle beschaftigen uns im nachsten Abschnitt.

6.3 Ausloschung

Ausloschung tritt immer dann auf, wenn ungefahr gleich große, bereits mitFehlern behaftete Zahlen voneinander abgezogen werden und signifikanteMantissenstellen wortlich ausgeloscht werden. Wir verdeutlichen dies an

Beispiel 18. Die zwei reellen Zahlen r = 3/5 und s = 4/7 mit den normierten,gerundeten Reprasentationen mit funf-stelliger Mantisse nach Definition 13(1.0011)2 · 2−1 und (1.0010)2 · 2−1 haben die Differenz r − s = 1/35 und esergibt sich naherungsweise

(1.0011)2 · 2−1 − (1.0010)2 · 2−1 = (0.0001)2 · 2−1 (6.10)= (1.0000)2 · 2−5 .

Das Ergebnis 1/32 ist behaftet mit dem Fehler 1/35−1/321/32 = −0.0938, ca.

9.4%. Das ist ungefahr das drei-fache der Maschinengenauigkeit ε = 0.031 =3.1%.

Die Berechnung der Differenz mit nur drei-stelliger Mantisse liefert

1.01 · 2−1 − 1.01 · 2−1 = 0

und damit ein absoluten Fehler von 100%.

Die in (6.10) unterstrichenen Stellen sind signifikant und loschen sichdurch die Subtraktion aus. Die signifikanten Stellen gehen durch das an-schließende Normieren des Resultats verloren und werden willkurlich durch

”ahnungslose“ Nullen ersetzt. Es ist daher nicht verwunderlich, dass sichgroße Fehler in die Berechnung einschleppen konnen. Die ausgeloschten signi-fikanten Stellen konnen nicht gerettet werden. Ausloschungsfehler sind daherprinzipiell nicht behebbar, siehe dazu die

Ubung 16. Welchen Einfluss hatte das Ersetzen der ausgeloschten Stellenanstatt durch Nullen durch Einser oder zufallige Ziffern?

Anmerkung 34 (Differenz exakter Zahlen). Sind die beiden Zahlen x und yexakt, so ist auch das Ergebnis der Differenz exakt; da weder x noch y fehler-behaftete Stellen besitzen, sind auch alle signifikanten Stellen des Resultatsexakt, auch, wenn viele Stellen sich durch die Differenz gegenseitig weg heben.

Anmerkung 35 (Verzicht auf Normalisierung). Die Normalisierung tauschtim Fall der Ausloschung eine nicht vorhandene Genauigkeit vor. Daher gabes Ansatze auf die Normalisierung zu verzichten, siehe [97].

Page 83: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

76 6 Gleitpunktarithmetik und Fehlerfortpflanzung

Wir analysieren den kritischen Teil einer Berechnungsmethode, der zurAusloschung fuhren kann: der relative Fehler der Differenz y := a − b zweierZahlen a und b mit kleinen relativen Fehlern εa und εb lautet:

εy :=a − b − (a(1 + εa) − b (1 + εb))(1 + ε−)

a − b

= − a

a − bεa +

b

a − bεb − ε−. (6.11)

Extreme Fehlerverstarkung wird es nach Gleichung (6.11) geben, wenn |a|oder |b| sehr groß ist verglichen mit |a − b|, also

|a − b| << min{|a|, |b|}.

Differenzen zwischen annahernd gleich großen, fehlerbehafteten Zahlen mus-sen moglichst algorithmisch vermieden werden und konnen oftmals durcheine gewissenhafte Analyse der Reihenfolge der Additionen und Subtraktio-nen umgangen werden. Die Berechnungsschritte konnen z.B. mit Hilfe desAssoziativ- und / oder des Kommutativgesetzes aquivalent umgestellt wer-den und produzieren dann verlasslichere Ergebnisse. Wir studieren dazu das

Beispiel 19 (Numerische Berechnung der Exponentialfunktion[67]). Wir be-rechnen die Exponentialfunktion exp (x) mittels Reihenentwicklung

ex = 1 + x +x2

2!+

x3

3!+ · · · . (6.12)

Wir addieren dazu die Summanden y = xk/k! mit k ≥ 0 in einem Programmsolange, bis sich der Ruckgabewert z nicht mehr andert:

// Eingabewert: xz = 0.0; y = 1.0; k = 1;WHILE z != z + s*x/k :

z = z+y; y = y*x/k; k = k+1;ENDWHILE// Ausgabewert: z

Wir wollen klaren, ob wir die Werte der Exponentialfunktion ex fur alle x ∈ IRbis auf Maschinengenauigkeit genau berechnen konnen, und berechnen dazudie Ruckgabewerte z des Programms auf einem Rechner mit der Maschinen-genauigkeit ε = 10−14 fur verschiedene Werte x, siehe Tabelle 6.1.

Der oben angegebene Algorithmus liefert fur positive Werte x > 0 korrek-te Ergebnisse z und fur x < 0 vollkommen falsche Werte: Die Summanden yhaben fur negative x alternierende Vorzeichen und es konnte Ausloschung vor-liegen. Die Reihenentwicklung der Exponentialfunktion ex im Punkt x = −20bestatigt diesen Verdacht, wie die Liste der Summanden in der Tabelle 6.2insbesondere fur k = 19 und k = 20 zeigt.

Page 84: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

6.3 Ausloschung 77

Tabelle 6.1. Die Ruckgabewerte z, siehe mittlere Spalte, eines Programms zurnumerischen Berechnung der Exponentialfunktion ex, siehe rechte Spalte, auf einemRechner mit der Maschinengenauigkeit ε = 10−14 fur verschiedene Werte x, siehelinke Spalte. Die korrekten Stellen sind unterstrichen.

x z ex

1 2.7182818 · 100 2.7182818 · 100

20 4.8516531 · 108 4.8516520 · 108

-10 -1.6408609 · 10−4 4.5399930 · 10−5

-20 1.2029660 · 100 2.0611537 · 10−9

Tabelle 6.2. Die Summanden y = xk/k! der Reihenentwicklung der Exponential-funktion ex in Abhangigkeit von k fur x = −20.

k y = xk

k!

0 11 −202 200...

...19 −0.4309980412 · 108

20 0.4309980412 · 108

......

60 0.1385558575 · 10−3

......

70 0.9855863063 · 10−9

......

99 −0.6791503299 · 10−27

......

Die Summanden y = (−20)k/k! fur die Berechnung des Funktionswertse−20 nehmen zunachst immer großer werdende Werte mit wechselndem Vor-zeichen an, die schließlich mit großer werdendem k wegen der Fakultat k! imNenner gegen Null konvergieren. Die Summe enthalt somit auch Differenzenzweier nahezu gleich großer, bereits mit Rundungsfehlern behafteter Zahlen.Die Summanden xk/k! sind z.B. fur k = 20 um den Faktor 1017 großer alsdas Resultat e−20 ≈ 2.0611537 · 10−9. Die Maschinengenauigkeit des Rech-ners ist ε = 10−14 und daher ist es nicht verwunderlich, dass die signifikantenStellen restlos ausgeloscht sind und die Summe z um Großenordnungen vondem gewunschten Resultat abweicht.

Analysieren Sie folgenden Verbesserungsvorschlag in der

Page 85: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

78 6 Gleitpunktarithmetik und Fehlerfortpflanzung

Ubung 17. Der Einfluss der Rundungsfehler soll minimiert werden und dazuaddieren wir die Summanden y = xk/k! in der Reihenfolge aufsteigenderBetrage. Wir berechnen dazu zunachst alle Summanden y = xk/k!, die großerals die Maschinengenauigkeit ε sind, sortieren alle z.B. mit Quicksort alleSummanden und bilden abschließend die Summe.

In diesem Zusammenhang weisen wir auf einen haufig zu beobachtendenProgrammierfehler hin in der

Anmerkung 36 (Vergleich von Gleitpunktzahlen). Der berechnete Wert r ei-ner nicht ganzzahligen Variable wird i.Allg. wegen der Rundungsfehler derRechenoperationen vom erwarteten Wert s abweichen: r = s. Die Abfrageauf Gleichheit in der Form

IF r == s THEN...

ENDIF

ist daher sinnlos, da der berechnete Wert nur zufallig r = s sein wird. Die-se Form der Abfrage soll nach der Richtlinie 13.3 der RichtliniensammlungMISRA-C:2004, siehe [81], vermieden werden3. Stattdessen verwenden wirbesser

IF |r-s| <= epsilon THEN...

ENDIF

mit einer passenden kleinen positiven Schranke epsilon.Manche Programmiersprachen, wie z.B. die Programmiersprache C, er-

moglichen textuelle Ersetzungen mit Praprozessoranweisungen. Damit de-klarieren wir z.B. die Vergleichsgenauigkeit

#define epsilon (0.00390625) // 2^(-8)

und definieren Vergleichsoperationen:

// Vergleich zweier Gleitpunktzahlen auf Genauigkeit epsilon#define EQ(d1,d2) (fabs((d1) - (d2)) < (epsilon))#define LT(d1,d2) ((d1) + (epsilon) < (d2) - (epsilon))#define LE(d1,d2) (EQ(d1,d2) || LT(d1,d2))

Der Vergleich EQ liefert den Wert wahr, falls beide Zahlen bis auf epsilongleich sind, andernfalls den Wert falsch. Die beiden Vergleiche LT und LE

3 Aus dem selben Grund verbietet die Richtlinie 13.4 der RichtliniensammlungMISRA-C:2004 die Verwendung von Gleitpunktzahlen z.B. als Schleifenzahler,da sich Rundungsfehler in dem Schleifenzahler akkumulieren konnen. Im unguns-tigsten Fall kann dann die Schleifenabbruchbedingung nicht mehr erreicht wer-den, so dass die Schleife nicht mehr terminieren kann.

Page 86: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

6.4 Zusammenfassung 79

liefern den Wert wahr, falls die beiden Zahlen bis auf epsilon echt kleinerbzw. kleiner gleich sind, sonst den Wert falsch.

Die verwendete Vergleichsgenauigkeit epsilonmuss eine darstellbare Ma-schinenzahl sein, z.B. eine Zweierpotenz. Andernfalls schleichen sich bei demVergleichsoperator < erneute Fehler ein. Die Vergleichsgenauigkeit epsilondarf nicht kleiner als die Maschinengenauigkeit ε sein, da die Einfuhrung derVergleichsoperationen sonst nicht sinnvoll ist.

Damit sollte die Losung einfach sein fur die nachste

Ubung 18. Warum beschranken wir uns bei Anmerkung 36 auf nicht ganz-zahlige Variablen?

Abschließend machen wir noch die

Anmerkung 37 (Skalarprodukt4). Das Skalarprodukt zweier Vektoren x =(x1, . . . , xn) und y = (y1, . . . , yn) ist in vielen numerischen Anwendungenvon zentraler Bedeutung. Die Großenordnung des Skalarprodukts x ◦ y isti.Allg. nicht abschatzbar. Ausloschung vermeiden wir, indem wir das Ergeb-nis mit hoherer Genauigkeit ohne jegliche Rundung berechnen und erst nachder letzten Addition in die Menge der Gleitpunktzahlen runden. Rechner, diefur numerische Anwendungen konzipiert sind, sehen Speichervariablen mithoherer Genauigkeit vor, auf die schnell lesend und schreibend zugegriffenwerden kann.

6.4 Zusammenfassung

Die Rundungsfehleranalyse ermoglicht die Fehlerquellen fur eine gegebeneBerechnungsmethode aufzudecken und gleichzeitig den Einfluss dieser Feh-lerquellen auf das Endergebnis vorherzusagen. Die Rundungsfehler ergebensich entweder aus bereits fehlerbehafteten Eingabedaten oder dem nahe-rungsweisen Rechnen mit Gleitpunktoperationen. Die Rundungsfehleranaly-se kann linear durchgefuhrt werden, da Terme hoherer Ordnung in ε wegen|ε| � 1 i.Allg. nicht in den Zwischenvariablen gespeichert werden. Die Ana-lyse bleibt deswegen auch verhaltnismaßig ubersichtlich. Die Rundungsfeh-leranalyse wird wegen der zentralen Bedeutung der Maschinengenauigkeit εals Schranke fur die Rechenfehler auch kurz als Epsilontik bezeichnet.

Wir haben gesehen, dass wir besonders auf die Ausloschung signifikan-ter Stellen achten mussen. Die Ausloschung tritt nicht nur bei betragsmaßiggleich großen Zahlen auf, sondern auch bei der Addition unterschiedlich4 Das Skalarprodukt zweier Vektoren wird wegen der zentralen Bedeutung fur nu-

merische Anwendungen haufig auch als funfte Grundrechenart bezeichnet undim Rechenwerk z.T. fest implementiert. Da sich das Skalarprodukt aber auf ei-ne Folge von elementaren Additionen und Multiplikationen zuruckfuhren lasst,fuhren wir es hier nicht extra auf.

Page 87: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

80 6 Gleitpunktarithmetik und Fehlerfortpflanzung

großer Zahlen, bei der die signifikanten Stellen des Ergebnisses in einer be-tragmaßig kleinen Eingabezahl stecken und die Addition mit großeren Zah-len die signifikanten Stellen ausloscht. Je nach Reihenfolge der Additionenkonnen wir in solchen Fallen sehr unterschiedliche Endergebnisse erhalten.

Haben wir eine Stelle in der Berechnungsmethode identifiziert, die zusolchen ungenauen Resultaten fuhren kann, ist noch nicht klar, ob wir einerobuste Ersatz-Berechnungsmethode angeben konnen. Denn es kann sich ei-nerseits um ein in der Aufgabenstellung liegendes oder andererseits erst durchdie konkrete Berechnungsmethode eingeschlepptes Problem handeln.

Page 88: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

7 Kondition und Stabilitat

”Nobody is perfect“

Osgood Fielding III zu Daphne (Jerry)aus ”Some like it hot“ von Billy Wilder

Der Begriff der Berechnungsmethode ist in diesem Abschnitt von zentralerBedeutung. Wir beginnen daher mit der

Definition 19 (Berechnungsmethode). Eine Berechnungsmethode ist ei-ne wohldefinierte Folge von mathematischen Elementarberechnungen, wie Ad-dition, Subtraktion, Multiplikation und Division, die aus den Eingangsdatenx ∈ IRn, n ∈ IN∗ das Ergebnis

y = f(x) ∈ IR (7.1)

berechnet. Die Berechnungsmethode legt sowohl die Elementarberechnungenals auch die Reihenfolge dieser Elementarberechnungen fest.

Daran schließt sich die

Anmerkung 38 (Klassifikation der Berechnungsmethoden). Das Ergebnis ei-ner Aufgabenstellung kann i.Allg. uber eine Vielzahl von moglichen Be-rechnungsmethoden ermittelt werden. Diese Berechnungsmethoden konnensich sowohl in der Verwendung der Elementarberechnungen als auch in derReihenfolge der Elementarberechnungen unterscheiden. Eine zentrale Aufga-be der numerischen Mathematik besteht darin, diese Berechnungsmethodenbzgl. der Fehlertoleranz, der Großenordnung der Rechenoperationen und derVerwendung des Speicherplatzes zu klassifizieren.

Die vier arithmetischen Grundoperationen sind nach Definition 19 Ele-mentarberechnungen und somit Berechnungsmethoden mit n := 2. Im letz-ten Abschnitt haben wir das Beispiel 15 der Summe dreier Zahlen a, b undc besprochen und die beiden Berechnungsmethoden (6.3) und (6.6) kennengelernt. Wir interpretieren diese als Berechnungsmethoden fur die Aufgaben-stellung

fsumme(x1, x2, x3) := x1 + x2 + x3

Page 89: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

82 7 Kondition und Stabilitat

mit n := 3 und den Eingangsdaten x1 := a, x2 := b und x3 := c.Wir gehen der zentralen Frage nach, wie sich Eingabefehler in der Rei-

henfolge der Elementarberechnungen einer Berechnungsmethode verstarkenkonnen. Die Eingangsdaten xi, 1 ≤ i ≤ n sind i.Allg. mit absoluten Run-dungsfehlern δxi behaftet. Die Verstarkung analysieren wir mit Hilfe derTaylor-Reihenentwicklung, siehe Abschn. A.1. Der quantitative Zusammen-hang zwischen dem absoluten Fehler δy in dem Ergebnis y und dem absolutenFehler δx in der Eingabe x ergibt sich fur hinreichend glatte Funktionen faus der lineare Taylorentwicklung der Funktion f

y + δy = f(x + δx) = f(x) + f ′(x)δx + O (δ2x

)(7.2)

und lautet unter Vernachlassigung von Termen hoherer Ordnung

δy.= f ′(x) · δx.

Die Verstarkung des relativen Rundungsfehler εy des Resultats y ergibt sichfur x · y = 0

εy := frel(y) :=δy

y

.=x · f ′(x)

y

δx

x

=x · f ′(x)

yfrel(x) =:

x · f ′(x)y

εx (7.3)

aus dem relativen Rundungsfehler εx der Eingabe x.Der Verstarkungsfaktor zwischen den relativen Rundungsfehlern in (7.3)

ist fur die numerische Mathematik von zentraler Bedeutung. Wir machen die

Definition 20 (Kondition).Die Kondition der Funktion y = f(x) ergibt sich aus dem Verstarkungsfaktor

κf (x) :=∣∣∣∣x · f ′(x)

f(x)

∣∣∣∣ (7.4)

zwischen den relativen Rundungsfehlern aus Gleichung (7.3) und ist eineMaßzahl fur die Sensitivitat des Resultats y in Bezug auf die Eingabe x.

Wir sprechen von einer bezuglich x gut konditionierten Aufgabenstellungf(x), wenn kleine relative Eingabefehler εx bei exakter Arithmetik, d.h. ohneEinfluss von Rechenfehlern, zu vergleichsweise kleinen, relativen Fehlern εy

im Resultat y fuhren. In diesem Fall haben die relativen Rundungsfehler εx

und εy die gleiche Großenordnung. Anderenfalls liegt schlechte Kondition vonf an der Stelle x vor.

Daran schließt sich die

Anmerkung 39. Die Kondition ist eine Funktion der Eingabe x und nach (7.4)eine Eigenschaft der Aufgabenstellung und nicht der Berechnungsmethode.

Page 90: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

7 Kondition und Stabilitat 83

Ubung 19. Nehmen Sie Stellung zu der Aussage eines Kommilitonen: ”Scha-de, dass nicht alle Berechnungsverfahren schlecht konditioniert sind.“

Die Kondition κf ist eine Funktion der Eingabe x

κf (x) :=∣∣∣∣x · f ′(x)

f(x)

∣∣∣∣und wachst direkt proportional mit dem Argument x und der Ableitung f ′(x)sowie indirekt proportional mit dem Resultat f(x).

Schlechte Kondition liegt meist dann vor, wenn entweder das Verhalt-nis von Eingabewert zu Ausgabewert x/f(x) oder die Ableitung f ′(x) be-tragsmaßig groß sind. Die Terme x, f(x) und f ′(x) konnen sich auch gegen-seitig kompensieren oder verstarken, wie wir sehen in der

Ubung 20. Berechnen Sie die Kondition der Funktion y = xr , r ∈ IR.Diskutieren Sie, fur welche Werte r schlechte Kondition vorliegt und welcherTerm dafur verantwortlich ist.

Die Kondition bestimmt nach Definition 20 den unvermeidbaren Fehler,der durch dir Aufgabenstellung gegeben ist und den wir bei Anwendung dergeschicktesten numerischen Berechnungsmethode nicht unterbieten konnen.

Wir berechnen die Konditionen fur Elementarberechnungen in der

Ubung 21 (Konditionen fur Elementarberechnungen). Leiten Sie dieKonditionen fur die Elementarberechnungen: Zuweisung y = x, Additiony = a + x, Subtraktion y = a − x, Multiplikation y = a · x, Divison y = a/x,Wurzel y =

√x, Exponentialfunktion y = exp(x) und Logarithmus y = log(x)

in der Tabelle 7.1 her.

Tabelle 7.1. Die Konditionen κ fur ausgewahlte Elementarberechnungen.

Zuweisung y = x κ= = 1

Addition y = a + x κ+ =˛

xa+x

˛Subtraktion y = a − x κ− =

˛x

a−x

˛Multiplikation y = a · x κ· = 1Divison y = a/x κ/ = 1Wurzel y =

√x κ√ = 0.5

Exponentialfunktion y = exp(x) κexp = |x|Logarithmus y = ln(x) κln = 1

| ln(x)|

Die Kondition der Funktion f(x) = exp(x) lautet κexp = |x| und ist furbetragsmaßig nicht zu große Werte von x gut konditioniert. Die Umkehr-funktion f(x) = ln(x) hat die Kondition κln = |1/ ln(x)| und ist fur x ≈ 1schlecht konditioniert.

Page 91: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

84 7 Kondition und Stabilitat

Die Bereiche mit schlechter Kondition sind graphisch sehr einfach zu er-kennen und fur eine Beispielfunktion y = f(x) in Abb. 7.1 gekennzeichnet mitKreisen. Mehrere Eigenschaften einer Funktion konnen zu schlechter Kondi-tion fuhren, so z.B. wenn das Resultat y um Großenordnungen kleiner istals die Eingabe x, d.h. ‖x/f(x)‖ � 1 oder bei steilem Funktionsverlauf f ,wenn kleine Schwankungen in x große Schwankungen in y bewirken, d.h.|f ′(x)| � 1.

Abb. 7.1. Die schlecht konditionierten Bereiche der Funktion f sind mit Kreisengekennzeichnet: kleine Anderungen in Eingaben x verursachen große Anderungenin dem Resultat y = f(x).

Die Kondition κf hangt nur von der Funktion f ab und fuhrt die Sensiti-vitat einer Aufgabenstellung mit (7.4) auf die Eigenschaften der Funktion fzuruck; die gewahlte Berechnungsmethode hat insbesondere keinen Einflussauf die Kondition.

Ubung 22 (Summe dreier Zahlen). Leiten Sie die Konditionen bzgl. derEingabedaten a, b und c fur die Berechnungsmethode in Beispiel 15 mit derKondition κ+ = x/(a + x) der Elementarberechnung fur die Addition zweierZahlen aus Tabelle 7.1 her. Es ergeben sich

κa =∣∣∣∣ a

a + b + c

∣∣∣∣ , κb =∣∣∣∣ b

a + b + c

∣∣∣∣ und κc =∣∣∣∣ c

a + b + c

∣∣∣∣ .Die Konditionen entsprechen den Verstarkungsfaktoren der relativen Run-dungsfehler der Eingabewerte in (6.9).

Die ausgewahlte Berechnungsmethode hat, wie wir bereits im letzten Ab-schnitt gelernt haben, einen entscheidenden Einfluss auf die Verstarkung derRechenfehler. Es ist daher sinnvoll an dieser Stelle einen weiteren Begriffeinzufuhren in der

Definition 21 ((Numerisch) Stabile Berechnungsmethode). Eine(numerisch) stabile Berechnungsmethode vergroßert nicht die relativen Ein-

Page 92: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

7 Kondition und Stabilitat 85

gabefehler einer gut konditionierten Aufgabenstellung y = f(x). Eine Be-rechnungsmethode, die trotz kleiner Kondition κf , große relative Fehler imErgebnis produziert, heißt (numerisch) instabil.

In Abbildung 7.2 zeigen wir die Abgrenzung der Begriffe gut konditionier-te Aufgabenstellung, numerisch stabile Berechnungsmethode und effizienterAlgorithmus.

stabil

alle Probleme

gut konditioniert

numerisch

effizient lösbar

Abb. 7.2. Die Abgrenzung der Begriffe gut konditionierte Aufgabenstellung, nu-merisch stabile Berechnungsmethode und effizienter Algorithmus.

Eine Berechnungsmethode kann nach Definition 20 als eine Verkettungvon Teilberechnungsmethoden oder Elementarberechnungen z = g(y) undy = f(x)

z = g(y) = g(f(x)) = (g ◦ f)(x)

mit den Konditionen

κg =∣∣∣∣y · g′(y)

z

∣∣∣∣ und κf =∣∣∣∣x · f ′(x)

y

∣∣∣∣ .aufgefasst werden. Die Konditionszahl fur die verkettete Berechnungsmetho-de κg◦f ergibt sich aus der Kettenregel mit

κg◦f =∣∣∣∣x · (g ◦ f)′(x)

z

∣∣∣∣=∣∣∣∣x · g′(f(x)) · f ′(x) · y

z · y∣∣∣∣

=∣∣∣∣y · g′(y)

z

∣∣∣∣ · ∣∣∣∣x · f ′(x)y

∣∣∣∣= κg · κf .

Dieses Ergebnis halten wir fest in dem

Page 93: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

86 7 Kondition und Stabilitat

Theorem 2 (Kondition verketteter Berechnungsmethoden). DieKonditionszahl κg◦f der verketteten Berechnungsmethode

z = g(y) = g(f(x)) = (g ◦ f)(x)

ergibt sich aus dem Produkt der Konditionen der beiden Berechnungsmetho-den z = g(y) und y = f(x)

κg◦f = κg · κf .

Eine gut konditionierte Aufgabenstellung muss nicht notwendigerweiseaus gut konditionierten Teilaufgabenstellungen zusammengesetzt sein, wiegezeigt wird in der

Anmerkung 40 (Kondition einer Teilaufgabenstellung). Wir betrachten einegut konditionierte Aufgabenstellung z = (g ◦ f)(x) mit der zusatzlichen An-nahme, dass die Eingabe x und das Resultat z von gleicher Großenordnung|z| ≈ |x| sind. Die Aufgabenstellung kann in zwei Teilaufgabenstellungeny = f(x) und z = g(y) aufgespalten werden. Wenn zusatzlich das Zwischen-ergebnis y um Großenordnungen großer als das Resultat z, also |z| << |y|,ist, dann kann die Kondition κg wegen

κg =∣∣∣∣y · g′(y)

z

∣∣∣∣groß sein. Die Gesamtaufgabenstellung z = (g ◦ f)(x) enthalt somit eineTeilaufgabenstellung z = g(y), die schlecht konditioniert ist und daher furg ◦ f bei Eingabe x eine numerisch instabile Berechnungsmethode liefert.In diesem Fall bestimmt die (Rest-)Teilberechnungsmethode z = g(y), obdie Gesamtberechnungsmethode numerisch stabil ist oder nicht. Ein Berech-nungsmethode ist somit insbesondere numerisch instabil, wenn mindestenseine Teilberechnungsmethode schlecht konditioniert ist. Dieser Fall kann ins-besondere auftreten, wenn in einer Berechnungsmethode relativ große Zwi-schenwerte produziert werden.

In relevanten Anwendungen in der Praxis ist es nicht immer einfach fureine gut konditionierte Aufgabenstellung auch eine numerisch stabile Berech-nungsmethode anzugeben. In dem Fall einer schlecht konditionierten Aufga-benstellung, ist es i.Allg. nicht sinnvoll, eine Berechnungsmethode anzugeben.Unter dem Motto der Schadensbegrenzung kann es je nach der Aufgabenstel-lung sinnvoll sein, entweder fur exakte Eingabedaten x oder nur fur gewisseTeilmengen der Eingabe x eine Berechnungsmethode anzugeben, das zu klei-nen relativen Fehlern im Ergebnis fuhrt und den unvermeidbaren Fehler sogut wie moglich begrenzt. So gibt es z.B. unterschiedliche Moglichkeiten, dieGenauigkeit der Arithmetik zu erhohen, wie z.B. den Vorschlag von J. R.Shewchuk in [103], die Gleitpunktarithmetik mit adaptiver beliebiger Genau-igkeit in Software nachzubilden.

Page 94: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

7 Kondition und Stabilitat 87

Ubung 23 (Kondition fur die Ausloschung). Vergleichen Sie die Kon-ditionen κa und κb bezuglich a und b fur den Fall der Ausloschung a− b mitden Verstarkungsfaktoren in Gleichung (6.11).

In den folgenden Beispielen machen wir uns mit den neu eingefuhrtenBegriffen vertraut.

Beispiel 20 (Erweiterung mit Bruch). Der Ausdruck

f(x) := 1 −√

1 − x2 (7.5)

soll fur kleine Werte x ≈ 0 numerisch berechnet werden. Diese Aufgabenstel-lung ist wegen

κf =

∣∣∣∣∣ x2(1 −√

1 − x2)√

1 − x2

∣∣∣∣∣→ 2 mit x → 0

sehr gut konditioniert. Die numerische Auswertung des Ausdrucks (7.5) fuhrtallerdings zu Ergebnissen mit extrem großen relativen Rundungsfehlern wiegezeigt wird in der folgenden

Ubung 24. Berechnen Sie den Ausdruck (7.5) z.B. mit einem Taschenrech-ner fur x = 1.0 · 10−i und große i ∈ IN.

Die evtl. vorhandenen relativen Eingabefehler εx in x und die Rechenfehler,die durch das Quadrieren, Subtrahieren und Wurzelziehen entstehen, entfal-ten durch Ausloschung im letzten Rechenschritt 1−√· · · eine große Wirkungauf das Endergebnis. Die Berechnungsmethode (7.5) ist daher nach Definition21 numerisch instabil.

Eine numerisch stabile Berechnungsmethode erhalten wir, wenn wir denAusdruck (7.5) mittels Erweiterung von Zahler und Nenner

1 −√

1 − x2 =(1 −√

1 − x2)(1 +√

1 − x2)1 +

√1 − x2

=1 − (1 − x2)1 +

√1 − x2

=x2

1 +√

1 − x2(7.6)

umformen und so die Ausloschung umgehen.

Der Ausdruck (7.5) in Beispiel 20 ist numerisch instabil und verstarktdie relativen Rundungsfehler, obwohl die Aufgabenstellung gut konditioniertist. Eine numerisch stabile Berechnungsmethode (7.6) wurde durch Erweiternvon Zahler und Nenner gefunden.

Numerisch instabile Berechnungsmethoden konnen auch durch Fallunter-scheidung vermieden werden, wie z.B. in dem

Page 95: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

88 7 Kondition und Stabilitat

Beispiel 21 (Fallunterscheidung). Die Berechnungsmethode (6.12) fur dieExponentialfunktion exp (x) in Beispiel 19 ist nur fur x < 0 numerisch in-stabil. Eine numerisch stabile Berechnungsmethode fur x < 0 kann durcheinfache Umformung gefunden werden und lautet

ex =1

e−x=

11 − x + x2

2! − x3

3! + · · · . (7.7)

Die Exponentialfunktion exp(x) kann somit mit der Fallunterscheidung furx > 0 mit (6.12) und fur x < 0 mit (7.7) fur alle x ∈ IR numerisch stabilberechnet werden.

Die Aufgabenstellung Berechnung der Nullstellen eines Polynoms hat inder Notation der Definition 19 die Form

0 Δ= p(y) := yn +n−1∑i=0

xi · yi

mit den Polynomkoeffizienten xi mit i = 0, · · ·n − 1 als Eingabe und denNullstellen yi mit i = 0, · · ·n als Ergebnis. Die Berechnung der Nullstelleneines Polynoms in Abhangigkeit der Polynomkoeffizienten ist i.Allg. schlechtkonditioniert, wie gezeigt wird in dem

Beispiel 22 (Nullstellen eines Polynoms). Die Nullstellen des Polynoms

p(y) = y4 − 4y3 + 8y2 − 16y + 15.999 999 99 = (y − 2)4 − 10−8

lauten y1,2 = ±2.01 und y3,4 = 2 ± 0.01i. Die Eingabe des Polynomkoeffi-zienten x = 15.9999 9999 wird bei der Maschinengenauigkeit ε ≈ 10−10 alsx = 16 abgespeichert und ist mit dem relativen Eingabefehler εx = 6.25·10−10

behaftet. Ein Programm mit exakter Arithmetik berechnet die vierfacheNullstelle y1,2,3,4 = 2. Der relative Fehler εy der reellen Nullstellen ist0.01/2.01 = 4.975 · 10−3. Die Kondition der reellen Nullstellen ist somit

κx1,2 = εy/εx ≈ 5.0 · 107.

Die Aufgabenstellung der Berechnung der Nullstellen y1,2 ist schlecht kondi-tioniert.

Wir machen die abschließende

Anmerkung 41 (Aussagekraft der Stellenanzahl). Die Gleichung (7.3) zeigt,dass der relative Rundungsfehler εy und damit die Anzahl der korrektenStellen eines Ergebnis y einer Berechnungsmethode y = f(x) sowohl von derKondition κf der Aufgabenstellung als auch von dem relativen Rundungs-fehler εx der Eingabe abhangt. Der relative Rundungsfehler εy ist somit auchein Maß fur die Genauigkeit des Ergebnisses und es macht daher i.Allg. kei-nen Sinn, ein Ergebnis mit hoherer Genauigkeit anzugeben: Aussagen, wie

Page 96: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

7 Kondition und Stabilitat 89

z.B. ”Es leben 6.575.461.384 Menschen auf der Erde“ tauschen durch einekonkrete Angabe aller Vorkommastellen eine große Genauigkeit vor, obwohldiese Zahl nicht exakt ermittelt werden kann und - wenn uberhaupt - auchnur einen kurzen Augenblick lang richtig sein konnte.

Es empfiehlt sich daher die Anzahl der gultigen Stellen genau zu kennenum die Aussagekraft eines Ergebnisses beurteilen zu konnen. Die Anzahl dergultigen Stellen eines Ergebnisses hangt insbesondere ab von:

1. relativen Rundungsfehler εx der Eingabe,2. Maschinengenauigkeit ε,3. Kondition κ der Aufgabenstellung und4. numerischer Stabilitat der Berechnungsmethode.

Zusammenfassung

Wenn wir eine gegebene Aufgabenstellung mit Hilfe einer Berechnungsme-thode losen wollen, mussen wir Algorithmen entwerfen, die ggf. vorhandenerelative Rundungsfehler in den Eingangsdaten x sowie Rundungs- und Re-chenfehler berucksichtigen und wenn nicht verkleinern, dann wenigstens nichtzusatzlich verstarken. Am Anfang steht die Analyse der Aufgabenstellung, dader Entwurf der Berechnungsmethode davon abhangt, ob die Aufgabenstel-lung gut oder schlecht konditioniert bezuglich der Eingangsdaten ist. Danachmuss untersucht werden, ob die Berechnungsmethode numerisch stabil ist,d.h. die unvermeidlichen Fehler durch Eingabefehler, die mit der Konditionder Aufgabenstellung verstarkt werden, nicht weiter zu extremen Verschlech-terungen fuhren. Die Berechnungsmethode muss daruber hinaus auch Wertemit sehr unterschiedlicher Großenordnung verarbeiten konnen ohne dabei anRechengenauigkeit zu verlieren. Insbesondere ist auf Teilberechnungsmetho-den zu achten, die Genauigkeit in der Form signifikanter Stellen verlieren, wiez.B.

– Ausloschung bei Subtraktion nahezu gleichgroßer Zahlen, siehe Ubung 23,– Summen, wobei die signifikanten Stellen in den relativ kleinen Summanden

enthalten sind, siehe Beispiel 17 und– Berechnungsmethoden, bei denen relativ große Zwischenergebnisse vor-

kommen konnen, wie z.B. die schlecht konditionierte Teilberechnungsme-thode in Beispiel 19 (siehe auch Anmerkung 40).

Diese und andere Beispiele zeigen, dass wir dem Ergebnis einer numeri-schen Berechnung nicht blind vertrauen durfen. Numerisch instabile Berech-nungsmethoden einer gut konditionierten Aufgabenstellung konnen oftmalsin stabile Berechnungsmethode umgewandelt werden, z.B. mit

– Anderung der Reihenfolge der Teilberechnungsmethoden,– Anwendung trigonometrischer oder algebraischer Umformungen und– Berechnung mittels Taylor-Entwicklungen.

Page 97: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

90 7 Kondition und Stabilitat

Dies ist ein kreativer und spannender Teil der numerischen Mathematik.Wenn die Aufgabenstellung dagegen schlecht konditioniert ist, werden

unvermeidbar großere relative Fehler produziert. Eine Verbesserung kann nurin beschranktem Rahmen z.B. durch genauere Rechnung erreicht werden,indem wir z.B. die Anzahl t der in der Mantisse aufgefuhrten Stellen erhohen,und mit hoherer Genauigkeit rechnen, z.B. mit double precision.

Welche Großenordnung der Kondition κ akzeptabel ist, hangt einerseitsvon der Maschinengenauigkeit ε und andererseits von der geforderten Ge-nauigkeit des Endresultats ab. Eine Berechnungsmethode auf einem Rechnermit der Maschinengenauigkeit ε = 10−16 produziert fur eine Aufgabenstel-lung mit der Kondition κ = 108 Ergebnisse mit einem relativen Fehler derGroßenordnung 10−8. Der Anwender muss entscheiden, ob diese Genauigkeitausreicht oder nicht. Daraus leitet sich eine weitere Anforderung an eine Be-rechnungsmethode ab: Berechnungsmethoden mussen so entworfen sein, dasssystematische Fehler, wie z.B. durch die Rundungsvorschrift im Beispiel 6,vermieden werden; auch relativ kleine Fehler konnen durch eine große Anzahlvon durchgefuhrten Elementarberechnungen zu großen relativen Fehlern imErgebnis fuhren.

Anmerkung 42 (Epsilontik und Storungsrechnung). Die Analyse der Konditi-on κf basiert auf der Linearisierung der Funktion f mit der Taylorentwicklungin (7.2). Die Analysis hat wesentlich machtigere Analysemethoden hervorge-bracht und so konnten wir die Fortpflanzung der (Rundungs-)Fehler einer Be-rechnungsmethode wesentlich detaillierter z.B. mit der Differentialrechnungdurchfuhren, indem wir die einzelnen Teilschritte der BerechnungsmethodeSchritt fur Schritt analysieren (siehe Anmerkung 40).

Die in diesem Kapitel vorgestellte einfachere Analyse, kurz als Epsilontikbezeichnet, ist eine vereinfachte Storungsrechnung erster Ordnung mit Hilfevon Taylor-Entwicklungen der Teilberechnungsmethoden, siehe [107].

Wir geben einen Ausblick auf alternative Analysemethode in der abschlie-ßenden

Anmerkung 43 (Vorwarts- und Ruckwartsanalyse). Die Epsilontik ist einSpezialfall der so genannten Vorwartsanalyse bei der das berechnete Ergebnisy als gestortes exaktes Ergebnis y = y + δy zu den exakten Eingabedaten xinterpretiert wird. Die Vorwartsanalyse ermoglicht die direkte Abschatzungdes relativen Fehlers εy. Die Vorwartsanalyse einer Berechnungsmethodenkann u.U. leider sehr oder sogar zu kompliziert werden.

In diesen Fallen bietet sich die so genannte Ruckwartsanalyse an: DasErgebnis y wird als exaktes Ergebnis y = y zu veranderten Eingaben x mitx = x + δx interpretiert; existiert ein x mit kleinem |δx|, das bei exakterRechnung auf y fuhrt, so wird das Berechnungsverfahren als ”ruckwarts stabil“ bezeichnet. Die Ruckwartsanalyse ist i.Allg. einfacher und daher leichterauch in komplizierten Fallen anwendbar.

Page 98: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

7 Kondition und Stabilitat 91

Es ist also stets angebracht, Ergebnissen numerischer Berechnungsmetho-den ein gesundes Misstrauen entgegenzubringen. Dieses Kapitel gibt dem An-wender eine Reihe von Analyse- und Bewertungsmoglichkeiten an die Hand,um in eine Berechnungsmethode Vertrauen gewinnen zu konnen.

Page 99: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

8 Aufgaben

”Nicht alleine in Rechnungssachen soll der Mensch sich Muhe ma-chen...“

Wilhelm Busch, Max und Moritz, vierter Streich.

Ubung 25 (Schriftliches Rechnen). Stoppen Sie die Zeit in Sekunden,die Sie fur die Kopfrechnung der Zwischenschritte fur die Multiplikation13061968 · 8121971 benotigen. Wie viele elementare Additionen und Mul-tiplikationen des kleinen Einmaleins haben Sie dabei ausgefuhrt? Wie vieleUberlaufe hatten Sie zu beachten? Uberprufen Sie das Ergebnis mit einemTaschenrechner. Haben Sie zuverlassig gerechnet?

Ubung 26 (Kopfrechnen). Die Inderin Shakuntala Devi1 soll im Jahr1980 zwei 13-stellige Zahlen in nur 28 Sekunden im Kopf korrekt multi-pliziert haben. Wie viele elementare Additionen und Multiplikationen deskleinen Einmaleins hat sie dafur pro Sekunde durchgefuhrt?

Ubung 27 (Wurzel mit dem Taschenrechner). Geben Sie die Zahl 2 aufeinem Taschenrechner Ihrer Wahl ein. Berechnen Sie den Wert 21/2k

= 2k√2 =√

· · · √2 in dem Sie k-mal die Wurzel berechnen. In der Anzeige erscheint dieZahl x ≈ 1. Versuchen Sie diese Operation ruckgangig zu machen, indemSie die Zahl x entsprechend k-mal quadrieren und somit x2k

berechnen. Furwelche Zahlen k ∈ IN∗ erhalten Sie den Ausgangswert 2? Warum? Wie hangtk mit der Maschinengenauigkeit ε des Taschenrechners zusammen?

Ubung 28 (Mehrdeutige Darstellung von Zahlen im Positionssys-tem). Jede positive reelle Zahl r ∈ IR kann in einem Positionssystem mit derBasis b ∈ IN∗ und b > 1 in der Form1 Auch wenn dieser Rekord angezweifelt wird, da erstens u.a. einer der beiden Mul-

tiplikatoren auf die Ziffer 0 endete und da zweitens der Rekord schlichtweg inextremen Maße uber allen bekannten Leitungen anderer Kopfrechner liegt, gibtdiese Rechenleistung zumindest eine obere Schranke fur Kopfhochleistungsarith-metik an. Eine Ubersicht zu Weltrekorden fur Gedachtnis und Kopfrechnen findetsich z.B. auf www.recordholders.ord/de/list/memory.htm.

Page 100: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

94 8 Aufgaben

r =s−1∑i=0

ri · bi +∞∑

i=1

r−i · r−i (8.1)

mit den Koeffizienten 0 ≤ ri < b fur ri mit 0 ≤ i < s und r−i mit i > 0dargestellt werden. Die Darstellung einer Zahl nach (8.1) ist nicht eindeutig.Geben Sie ein Beispiel fur eine Zahl r und eine Basis b an, das zwei Darstel-lungen (8.1) zulasst.

Ubung 29 (Schaltbild fur die Subtraktion). Entwerfen Sie ein Schalt-bild fur die Subtraktion zweier zwei-stelliger Binarzahlen mittels Zweierkom-plementdarstellung (5.6)!Hinweis: Das Ersetzen der Ziffern einer Binarzahl wird in einem Schaltbildeinfach durch die NICHT-Verknupfung ¬ realisiert.

Ubung 30 (Rundung zerstort Strukturerhaltung). Zeigen Sie an ei-nem einfachen Beispiel Ihrer Wahl, dass es keinen strukturerhaltenden Ho-momorphismus aus der Menge der reellen Zahlen IR in eine beliebig konstru-ierte Menge von Gleitpunktzahlen IM gibt.

Ubung 31 (Analyse mit Epsilontik). Analysieren Sie die Berechnungs-methode y = a2 − b2 mit Hilfe der Epsilontik:

a) Berechnen Sie die Konditionen bezuglich a und b. Unter welchen Bedin-gungen ist die Aufgabenstellung schlecht konditioniert?

b) Zeigen Sie, dass fur den relativen Fehler des Resultats gilt

εy = − 2a2

a2 − b2· εa +

2b2

a2 − b2· εb − a2

a2 − b2· ε1 +

b2

a2 − b2· ε2 − ε3 .

Die Werte εa und εb reprasentieren die relativen Fehler in den Eingabe-daten a und b und die Werte ε1, ε2 und ε3 die relativen Fehler in denBerechnungen von a ·IM a, b ·IM b und a2 −IM b2.

c) Analysieren Sie auch die alternative Berechnungsmethode(a +IM b) ·IM (a −IM b). Vergleichen und diskutieren Sie die Ergebnisse.

d) Welche Berechnungsmethode wurden Sie empfehlen? Warum?

Ubung 32 (Rechnergestutzte Geometrie). Entwickeln Sie eine robusteBerechnungsmethode zur Entscheidung, welcher der zwei Punkte A und Bnaher an der Geraden g liegt, siehe Abb. 8.1.

Die Koordinaten der Punkte A = (ax, ay) und B = (bx, by) sowie dieDarstellung der Geraden g mit mx + ny + t = 0 sei in Integer-Zahlen exaktgegeben, d.h. ax, ay, bx, by, m, n, t ∈ IMI .

Wo liegen bei folgender, nahe liegender L“osung die methodischen Fehlerund wie wurden Sie diese ggf. beheben?

1. Aufstellen der Hesse-Normalform n ◦ (x − a) = 0 der Geraden g,2. Berechnung des Abstandes eines Punktes P durch d(P ) Δ= n ◦ (p − a),

Page 101: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

8 Aufgaben 95

0

B

g

A

Abb. 8.1. Die Abstande d(A) und d(B) werden miteinander verglichen um festzu-stellen, welcher Punkt naher an der Geraden g liegt.

3. Berechnung der Abstande d(A) und d(B) sowie4. vergleichen der beiden Abstande d(A) und d(B).

Hinweis: Rechnen Sie so lange wie moglich in exakter Darstellung mit ange-passtem Datentyp und wechseln Sie erst dann in den Bereich der Gleitkom-mazahlen, wenn es nicht mehr anders moglich erscheint!

Ubung 33 (Umformen). Entscheiden Sie, welche der folgenden Berech-nungsmethoden

a) 2 sin2(

x2

)= 1 − cos(x) fur x ≈ 0,

b) log(

xy

)= log(x) − log(y) fur x > 0 und y > 0,

c) f(x) = 1 + sin(x),d) f(x) = (x − 1)2 − (x + 1)2 fur x ≈ 0 sowiee) f(x) = exp(x) − 1 − x fur x ≈ 0

fehleranfalliger sind, indem Sie

1. zunachst die entsprechende Kondition bestimmen und dann2. entscheiden, ob und ggf. unter welchen Bedingungen, die angegebene Be-

rechnungsmethode numerisch stabil ist sowie3. versuchen Sie ggf. eine numerische stabilere Berechnungsmethode anzu-

geben und schließlich4. untersuchen Sie zusatzlich noch den Fall exakter Eingabedaten.

Ubung 34 (Vergleich von berechneten Gleitpunktzahlen). Die Zah-len sin(π/4) und cos(π/4) sind beide gleich der irrationalen Zahl

√2/2 und

nicht exakt in einem Rechner darstellbar. Wie ”klein“ kann die Vergleichs-genauigkeit epsilon, gemessen in Maschinengenauigkeit ε, in der Anmer-kung 36 gewahlt werden, um den Vergleich

sin(π/4) == cos(π/4)

sinnvoll zu implementieren?

Page 102: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

96 8 Aufgaben

Ubung 35 (Ableitung). Ersetzen Sie den Differentialoperator dxΔ= d/dx

fur stetig differenzierbare Funktionen f ∈ C1[0, 1] durch den Differenzenope-rator Δh

x mit

Δhxf(x) Δ=

f(x + h) − f(x)h

mit h > 0.

Betrachten Sie der Einfachheit halber nur den Rundungsfehler, der durch dieDifferenz f(x + h) − f(x) entsteht und den Fehler, der durch die Diskreti-sierung, d.h. das Ersetzen des Differential- durch den Differenzenoperator,gemacht wird. Der resultierende Gesamtfehler fd setzt sich zusammen ausder Differenz −IM und der angenaherten Ableitung Δh

x und ist abhangig vonder Schrittweite h. Fur welche Schrittweite h ist der Gesamtfehler minimal?Uberprufen Sie die Aussage durch ein Beispiel auf dem Rechnern.Hinweis: Analysieren Sie den Diskretisierungsfehler mit Hilfe der Taylor-Reihe fur f(x + h). Geben Sie auch die auftretenden Konstanten an! Derdurch die Differenz verursachte Fehler sei gerade so groß wie die Maschinen-genauigkeit ε.

Ubung 36 (Numerische Berechnungsverfahren fur die trigonome-trische Funktion sin). Vergleichen Sie die folgenden numerischen Berech-nungsmethoden fur die Funktion f(x) Δ= sin(x) fur x ∈ [0, π/2] unter denAspekten: Kondition der Aufgabenstellung, numerische Stabilitat der Be-rechnungsmethoden, maximale relative Genauigkeit in Float-Genauigkeitenεfloat

Δ= 1.1921 · 10−7 sowie Anzahl der Rechenoperationen.

1. lineare Approximation: a1(x) Δ= x,2. kubische Approximation: a2(x) Δ= x − x3/3!,3. Approximation funfter Ordnung: a3(x) Δ= x − x3/3! + x5/5!,4. Approximation siebter Ordnung: a4(x) Δ= x − x3/3! + x5/5! − x7/7! und5. Approximation in einem Tricore-Prozessor der Firma Infineon mit der

Substitution ξΔ= x/π und ξ ∈ [0, 1/2] im Horner-Schema: a5(x) Δ=

((((1.800293·ξ)+0.5446778)·ξ−5.325196)·ξ)+0.02026367)·ξ+3.140625)·ξ.Welche der funf Berechnungsmethoden ai mit i = 1, . . . , 5 wurden Sie furwelchen Anwendungsfall empfehlen?

Ubung 37 (Bestimmung der Nullstellen kubischer Gleichungen).Wir betrachten das Polynom dritter Ordnung in der allgemeinen Form

x3 + a x2 + b x + cΔ= 0 (8.2)

mit den Koeffizienten a, b und c ∈ IR. Die Gleichung 8.2 wird mit der Sub-stitution y

Δ= x + a/3 in die Normalform

y3 + p y + qΔ= 0

Page 103: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

8 Aufgaben 97

mit pΔ= (3b − a2)/3 und q

Δ= c + 2/27a3 − ab/3 uberfuhrt. Die Diskriminan-te D

Δ= (p/3)3 + (q/2)2 legt die Vielfalt der Nullstellen fest:

1. D < 0: drei verschiedene reelle Nullstellen,2. D = 0: drei reelle Nullstellen mit einer doppelten Nullstelle und3. D > 0: eine reelle und zwei komplex-konjugierte Nullstellen.

Mit den Abkurzungen uΔ= 3

√−q/2 +

√D und v

Δ= 3

√−q/2 −√

D lauten diedrei Nullstellen x1,2,3 ∈ IR lauten mit der Cardanoschen Berechnungsmethode

x1Δ= −a/3 + u + v und

x2,3Δ= −a/3 − (u + v)/2 ± ı

√3(u − v)/2.

Die drei verschiedenen reellen Nullstellen im Fall D < 0 lauten insbesonderemit cosφ

Δ= −q/(2 ·√(|p|/3)3)

x1 = −a/3 + 2√|p|/3 cos(φ/3),

x2 = −a/3− 2√|p|/3 cos((φ − π)/3) und

x2 = −a/3− 2√|p|/3 cos((φ + π)/3).

Diskutieren Sie die Cardanosche Berechnungsmethode fur die Bestimmungder Nullstellen unter den Aspekten: Kondition, numerische Stabilitat sowieAnzahl der Rechenoperationen.Hinweis: Bewerten Sie im Vorgriff auf Kapitel 22 eine numerische Berech-nungsverfahren zur Bestimmung von Nullstellen einer kubischen Gleichung.

Ubung 38 (Kondition der negativen Funktion). Zeigen Sie, dass ganzallgemein fur eine Berechnungsmethode y = f(x) gilt

κ−f = κf .

Ubung 39 (Diskussion der Kondition κ+). Die Kondition κ+ der Ad-dition a + x kann laut Tabelle 7.1 fur a, x > 0 nach oben abgeschatzt werdendurch

κ+ =∣∣∣∣ x

a + x

∣∣∣∣ = ∣∣∣∣ 1ax + 1

∣∣∣∣ ≤ 1,

d.h. der relative Rundungsfehler des Resultats ist kleiner als der relativeFehler in der Eingabe. Interpretieren Sie dieses Ergebnis!

Ubung 40 (Konstante Kondition). Geben Sie alle Funktionen f(x) an,die fur alle Argumente x die konstante Kondition κf = k besitzen.Insbesondere: fur welche Funktion wird der Fehler in den Eingangsdaten uber-haupt nicht verstarkt (k = 0)?Hinweis: Schlagen Sie die Losung der Differentialgleichung

y′ = k · y

xmit k ∈ IR

in einer Formelsammlung nach.

Page 104: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

98 8 Aufgaben

Ubung 41 (Kondition). Uberlegen Sie sich, warum die eingekreisten Stel-len in Abb. 7.1 zu schlechter Kondition der Funktion f fuhren und vergleichenSie grob die zugehorigen Konditionen.

Ubung 42 (Berechnung des Kreismittelpunkts). Zeigen Sie: Die Be-rechnung der Koordinaten des Kreismittelpunkts M = (m1, m2) eines Kreises�(A, B, C), der durch drei vorgegebene Punkte A = (a1, a2), B = (b1, b2) undC = (c1, c2) einer Ebene geht, ist genau dann schlecht konditioniert, wenndie drei Punkte A, B und C nahezu kollinear sind.

Page 105: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Teil III

Lineare Gleichungssyteme

Page 106: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

9 Losung Linearer Gleichungssysteme

”Die Losung linearer Gleichungen ist eines der lastigsten Problemedes numerischen Rechnens, da die Schwierigkeit nicht prinzipiellerArt ist, sondern erst durch die hohe Zahl von Gleichungen und Un-bekannten entsteht“

Ewald Bodewig

9.1 Einleitung

Lineare Gleichungen und Gleichungssysteme gehoren zu den elementarsten –zugleich aber auch zu den wichtigsten und in der Praxis wohl am haufigstenauftretenden numerischen Problemen.

Die Ermittlung der Losung von zwei bzw. drei linearen Gleichungen mitzwei bzw. drei Unbekannten hat wohl jeder schon einmal per Hand errech-net. In diesem Kapitel untersuchen wir endlich viele lineare Gleichungen mitendlich vielen Unbekannten. Mit Hilfe des Matrixkalkuls lassen sich Aussagengewinnen uber die Losbarkeit solcher Gleichungssysteme und uber die Anzahlder vorhandenen Losungen (siehe Anhang B.1) und uber deren Ermittlung.

Wir lernen als Berechnungsverfahren u.a. den Gauß’schen Algorithmuskennen, den Gauß mit dem Ziel der Landvermessung entwickelte und derseitdem erfolgreich eingesetzt wird. Zur Zeit der elektrischen Rechenmaschi-nen benotigte ein Rechner fur die Losung eines Gleichungssystems aus 17bis 20 Gleichungen mit ebenso vielen Unbekannten etwa drei Wochen. DieHilfsmittel der Rechentechnik gestatten heute die Losung von Systemen mithunderttausend und mehr Gleichungen und entsprechend vielen Unbekann-ten.

Die existierenden Losungsverfahren lassen sich in zwei Klassen einteilen:

1. direkte Verfahren, die nach endlich vielen Operationen die Losung liefern,evtl. mit Rundungsfehlern behaftet (diese wollen wir in diesem Kapiteluntersuchen), und

Page 107: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

102 9 Losung Linearer Gleichungssysteme

2. iterative Verfahren, die beginnend mit einer Anfangsnaherung nach einerAnzahl von Iterationsschritten eine verbesserte Naherungslosung bereit-stellen (siehe Kapitel 23).

Bei den Verfahren der ersten Klasse stellt sich die Frage nach den benotig-ten Rechenoperationen und der Rechengenauigkeit, wahrend in der zweitenKlasse interessiert, wie hoch die Konvergenzgeschwindigkeit und wie teuerein Iterationsschritt ist. Haufig werden Verfahren der ersten Klasse mit einemVerfahren der zweiten Klasse kombiniert, um die im direkten Losungsverfah-ren aufgetretenen Rundungs- und Rechenfehler durch einen nachgeschalteteniterativen Loser zu verringern.

Lineare Gleichungssysteme treten uberall in den Anwendungen in Phy-sik, Technik, Betriebswirtschaftslehre usw. auf; sie begegnen uns z.B. in derStatik bei der Berechnung statisch unbestimmter Systeme, in der Elektro-technik bei der Berechnung von Netzwerken und bei der Behandlung vonEigenwertproblemen der mathematischen Physik. Auch andere Bereiche dernumerischen Mathematik beruhen auf der Losung linearer Gleichungssyste-me, so z.B. das Newton-Verfahren (Kapitel 22), die Methode der kleinstenQuadrate von Gauß (Kapitel 10) und die Losung partieller Differentialglei-chungen (Kapitel 27).

Stellvertretend fur all diese Bereiche wahlen wir den Bereich Elektrotech-nik, der im Zusammenhang mit der Entwicklung von Mikrochips auch fur dieInformatik wichtig ist, und bringen das

Beispiel 23. Wir betrachten die Schaltung aus Abb. 9.1, die aus sogenanntenMaschen besteht.

Wir interessieren uns fur die Stromstarken I1, . . . , I6, wenn wir an denStromkreis mit den Widerstanden R1, . . . , R6 die Spannung U anlegen.

Um die Stromstarkenverteilung in Beispiel 23 berechnen zu konnen, stel-len wir zunachst ein lineares Gleichungssystem auf. Dazu benutzen wir einer-seits das Ohm’sche Gesetz U = R · I fur jeden Widerstand und andererseitsdie zwei Kirchhoff’schen Regeln:

1. An jedem Verzweigungspunkt (Knoten) mehrerer Leiter ist die Summeder zufließenden elektrischen Strome gleich der Summe der abfließenden.Fur die vier Knoten A, B, C und D aus Abb. 9.1 gilt daher

I: (A) I1 + I4 = I3,II: (B) I2 + I5 = I3,

III: (C) I2 + I6 = I1 undIV: (D) I4 + I6 = I5.

(9.1)

2. In jedem beliebig herausgegriffenen, in sich geschlossenen Stromkreis(Masche) einer elektrischen Schaltung (Netzwerk) ist die Summe der elek-trischen Spannungsabfalle in den einzelnen Zweigen gleich der Summe

Page 108: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

9.1 Einleitung 103

C

AB

D

U

R6R3

R5R4

I3

I4

I5

I6

I2

I1

R2R1

Abb. 9.1. Stromkreis mit Ohm’schen Widerstanden in Reihen- und Parallelschal-tung.

der in diesem Stromkreis vorhandenen Quellenspannungen. Fur die vierMaschen aus Abb. 9.1 gilt daher

V: (ADC) R1 · I1 − R4 · I4 + R6 · I6 = U,VI: (BCD) R2 · I2 − R5 · I5 − R6 · I6 = 0,

VII: (ABD) R3 · I3 + R4 · I4 + R5 · I5 = 0 undVIII: (ABC) R1 · I1 + R2 · I2 + R3 · I3 = U.

(9.2)

Fur die sechs unbekannten Stromstarken I1, . . . , I6 ergibt sich aus denGleichungen (9.1) und (9.2) das lineare Gleichungssystem in Matrizenschreib-weise ⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

1 0 −1 1 0 00 −1 1 0 −1 0−1 1 0 0 0 10 0 0 −1 1 −1

R1 0 0 −R4 0 R6

0 R2 0 0 −R5 −R6

0 0 R3 R4 R5 0R1 R2 R3 0 0 0

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠·

⎛⎜⎜⎜⎜⎜⎜⎝I1

I2

I3

I4

I5

I6

⎞⎟⎟⎟⎟⎟⎟⎠ =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

0000U00U

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠. (9.3)

Das sind acht Gleichungen fur sechs Unbekannte, von denen wegen

(IV) = −((I) + (II) + (III)), bzw. (VIII) = (V) + (VI) + (VII) (9.4)

zwei Gleichungen keine weiteren Einschrankungen liefern und weggelassenwerden konnen. Schließlich erhalten wir daher sechs unabhangige Gleichun-gen fur die sechs unbekannten Strome I1, . . . , I6 bei bekannten WiderstandenR1, . . . , R6 und bekannter Spannung U .

Page 109: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

104 9 Losung Linearer Gleichungssysteme

Damit haben wir das ursprungliche Problem aus Beispiel 23 in einen ma-thematischen Formalismus gepackt und mussen fur ein aus sechs linearenGleichungen in Matrixform (9.3) gegebenes Gleichungssystem die Unbekann-ten I1, . . . , I6 bestimmen. Wie wir ein solches System auflosen, wollen wir imFolgenden vorstellen. Theoretische Betrachtungen zu linearen Gleichungssys-temen und Eigenschaften von Vektoren und Matrizen finden sich im An-hang B.1.

Im nachsten Abschnitt betrachten wir eine Teilklasse von Systemen vonlinearen Gleichungen, die sehr anschaulich zu losen sind: Dreiecksgleichungs-systeme. Den allgemeinen Fall fuhren wir in Abschn. 9.3 auf die Losung vonDreiecksgleichungssystemen zuruck.

9.2 Auflosen von Dreiecksgleichungssystemen

Wir betrachten das

Beispiel 24. Gegeben sei das Gleichungssystem

10x1 − 7x2 + 0x3 = 72.5x2 + 5x3 = 2.5

6.2x3 = 6.2 (9.5)

oder in Matrixschreibweise⎛⎝10 −7 00 2.5 50 0 6.2

⎞⎠⎛⎝x1

x2

x3

⎞⎠ =

⎛⎝ 72.56.2

⎞⎠ . (9.6)

Wegen der Dreiecksform lasst sich das Gleichungssystem (9.6) trivial vonunten her auflosen, indem man zunachst x3 aus der letzten Gleichung be-stimmt,

x3 = 6.2/6.2 = 1.

Da x3 bereits berechnet ist, liefert die zweite Gleichung aus (9.6) dieBedingung, mit der wir x2 bestimmen konnen:

2.5x2 = 2.5 − 5x3 = −2.5, und somit x2 = −1.

Setzen wir die schon bekannten Werte fur x2 und x3 in die oberste Zeileein, so ergibt sich

10x1 = 7 + 7x2 = 7 − 7 = 0, oder x1 = 0.

Damit ist der Losungsvektor fur Beispiel 24

Page 110: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

9.2 Auflosen von Dreiecksgleichungssystemen 105⎛⎝x1

x2

x3

⎞⎠ =

⎛⎝ 0−11

⎞⎠gefunden. Die Grundidee dieser Losungsmethode ist, dass wir bereits berech-nete Losungskomponenten xi+1, . . . , xn in noch nicht verwertete Gleichun-gen einsetzen, um Bedingungen zu erhalten, die nur noch eine unbekannteKomponente xi enthalten. Bei diesem sukzessiven Vorgehen kommt uns dieDreiecksstruktur entgegen, da wir die letzte Unbekannte xn aus der letztenZeile berechnen und uns dann von Zeile zu Zeile nach oben hoch arbeitenkonnen.

Wir fassen das eben beschriebene Vorgehen allgemein zusammen in fol-gendem Algorithmus:

Wir losen das Gleichungssystem, das durch die obere Dreiecksmatrix⎛⎜⎜⎜⎝a11 a12 · · · a1n

a22 · · · a2n

. . ....

ann

⎞⎟⎟⎟⎠⎛⎜⎜⎜⎝

x1

x2

...xn

⎞⎟⎟⎟⎠ =

⎛⎜⎜⎜⎝b1

b2

...bn

⎞⎟⎟⎟⎠mit aii = 0, i = 1, . . . , n, gegeben ist, indem wir zunachst

xn =bn

ann,

berechnen und dann schrittweise

xi =bi −∑n

j=i+1 aijxj

aiifur i = n − 1, n− 2, . . . , 1.

Analog konnen wir untere Dreiecksmatrizen, bzw. Dreiecksgleichungssys-teme der Form ⎛⎜⎜⎜⎝

a11

a21 a22

.... . .

an1 · · · ann

⎞⎟⎟⎟⎠⎛⎜⎜⎜⎝

x1

x2

...xn

⎞⎟⎟⎟⎠ =

⎛⎜⎜⎜⎝b1

b2

...bn

⎞⎟⎟⎟⎠von oben her auflosen mittels

x1 =b1

a11,

xi =bi −∑i−1

j=1 aijxj

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

Anmerkung 44. Die Elemente aii, i = 1, ..., n, bilden die Hauptdiagonale derMatrix A. Ist einer der Hauptdiagonaleintrage aii gleich Null, so ist das Glei-chungssystem nicht eindeutig losbar und die Determinante der dazugehorigenMatrix ist gleich Null.

Page 111: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

106 9 Losung Linearer Gleichungssysteme

9.3 Gauß-Elimination

In Abschnitt 9.2 haben wir gelernt, Dreiecksgleichungssysteme effektiv zulosen. Es liegt daher nahe, die Behandlung allgemeiner quadratischer Systemeauf diesen einfacheren Fall zuruckzufuhren. Das Verfahren erlautern wir andem einfachen

Beispiel 25.10x1 −7x2 = 7,−3x1 +2x2 +6x3 = 4

5x1 −x2 +5x3 = 6

oder in Matrixschreibweise⎛⎝ 10 −7 0−3 2 65 −1 5

⎞⎠⎛⎝x1

x2

x3

⎞⎠ =

⎛⎝746

⎞⎠ .

Wir wollen schrittweise zu aquivalenten, einfacheren Gleichungssystemenubergehen, die jeweils genau dieselbe Losung besitzen. Ziel ist es dabei, dasGleichungssystem bzw. die Matrix beginnend mit der ersten Spalte auf Drei-ecksgestalt zu bringen.

Folgende Umformungen, die die Losung offensichtlich nicht verandern,sind erlaubt:

1. Multiplizieren einer Zeile (Gleichung) mit einer Zahl verschieden vonNull;

2. Addieren eines Vielfachen einer Zeile (Gleichung) zu einer anderen Zeile;3. Vertauschen von Zeilen bzw. Spalten (Vertauschen von Gleichungen bzw.

Umnummerierung von Unbekannten).

Dabei ist zu beachten, daß diese Operationen nicht nur an der Matrix,sondern eventuell auch an dem Vektor der rechten Seite b, bzw. an demLosungsvektor x, durchzufuhren sind. Vertauschen wir z.B. in der Matrix dieSpalten i und j, so sind in dem Losungsvektor entsprechend die Komponentenxi und xj zu vertauschen.

Um das Gleichungssystem auf Dreiecksgestalt zu bringen, mussen in derersten Spalte unterhalb der Diagonalen Nullen erzeugt werden. Dies wirderreicht, indem man passende Vielfache der ersten Zeile (Gleichung) von denunteren Zeilen abzieht (Umformungsregel 2). Um z.B. das Element a21 zueliminieren, muss das (−3)/10-fache der ersten Zeile von der zweiten Zeilesubtrahiert werden. Dies fuhrt auf das aquivalente System⎛⎝10 −7 0

0 −0.1 65 −1 5

⎞⎠⎛⎝x1

x2

x3

⎞⎠ =

⎛⎝ 76.16

⎞⎠ .

Eliminieren wir a31 durch Subtrahieren des 5/10-fachen der ersten Zeile,so ergeben sich die neuen Gleichungen

Page 112: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

9.3 Gauß-Elimination 107⎛⎝10 −7 00 −0.1 60 2.5 5

⎞⎠⎛⎝x1

x2

x3

⎞⎠ =

⎛⎝ 76.12.5

⎞⎠ .

Um vollstandige Dreiecksform zu erhalten, ist noch a32 zu bearbeiten.Dazu subtrahieren wir das 2.5/(−0.1)-fache der aktuellen zweiten Zeile vonder neuen dritten Zeile. Insgesamt haben wir damit das Ausgangssystem aufobere Dreiecksform gebracht:⎛⎝10 −7 0

0 −0.1 60 0 155

⎞⎠⎛⎝x1

x2

x3

⎞⎠ =

⎛⎝ 76.1155

⎞⎠ .

Das so erzeugte System kann in dieser Form wie im vorherigen Abschnittgezeigt von unten her gelost werden.

Bei dieser Transformation kann eine zusatzliche Schwierigkeit auftreten,die uns dazu zwingt, das oben beschriebene Verfahren zu modifizieren. Gebenwir namlich im ursprunglichen System dem Element a22 den Wert 2.1 anstellevon 2, so ist nach Bearbeitung der ersten Spalte der neue Eintrag an dieserStelle 0 (anstelle von −0.1), und fuhrt auf⎛⎝10 −7 0

0 0 60 2.5 5

⎞⎠⎛⎝x1

x2

x3

⎞⎠ =

⎛⎝ 76.12.5

⎞⎠ .

In dieser Form ist es unmoglich, unter Benutzung von a22 durch ein pas-sendes Vielfaches der zweiten Zeile die Dreiecksgestalt zu erreichen. Abhilfeschafft hier die Veranderung der Reihenfolge der Gleichungen, indem die zwei-te mit der dritten Zeile vertauscht wird; die Losung des Gleichungssystemsist davon nicht betroffen und bleibt unverandert (Umformungsregel 3).

Auch in der ursprunglichen Form von Beispiel 25 ist es aus numerischenErwagungen heraus vernunftiger, nicht mit der kleinen Zahl 0.1 die anderenEintrage zu eliminieren, sondern auch schon durch Zeilentausch eine großereZahl an die Stelle a22 zu schaffen. Denn in Kapitel 7 haben wir gezeigt, dassgroße Zwischenwerte – in obigen Beispiel der Wert 155 an der Position a33

– darauf hindeuten, dass es sich um einen numerisch instabilen Algorithmushandelt. Um an der Diagonalposition ein moglichst betragsgroßes Element zuerhalten, konnen wir alle Eintrage in dieser Spalte unterhalb des Diagonal-eintrags vergleichen, und die Zeile mit dem betragsgroßten Eintrag mit deraktuellen Zeile vertauschen. Dieser Vorgang wird als Pivotsuche1 bezeichnet.In obigen Fall spricht man von Spalten-Pivotsuche, da wir das betragsgroßteElement einer Spalte suchen.

Anmerkung 45. Analog sind dann Zeilen-Pivotsuche bzw. Total-Pivotsuchezu verstehen. Hierbei werden dann auch Spalten, bzw. Zeilen und Spalten1 Pivot bezeichnet im Franzosischen: Nabe, Angelpunkt

Page 113: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

108 9 Losung Linearer Gleichungssysteme

vertauscht; Spaltentausch entspricht einer Umnummerierung der Unbekann-ten, die dann in dem letztlich erhaltenen Losungsvektor berucksichtigt wer-den muss. Das heißt, die Spaltenvertauschungen mussen gespeichert werden,und am Schluss entsprechend die Komponenten von x wieder in die richti-ge Reihenfolge gebracht werden. Die ausgewahlten betragsgroßten Elemente,die an die Diagonalposition gesetzt werden, heißen Pivotelemente. Man be-achte dabei, daß Total-Pivotsuche wesentlich aufwandiger ist, wahrend dieSpaltenpivotsuche einfach und in den meisten Fallen auch ausreichend ist.Total-Pivotsuche empfiehlt sich nur in extremen Fallen, wenn die Matrix-elemente von extrem unterschiedlicher Großenordnung sind, oder die Matrixfast singular ist. In solchen Fallen wendet man aber meist nicht mehr Gauß-Elimination an, sondern die QR-Zerlegung, die wir in Kapitel 10.2 kennenlernen werden.

Nach der Bearbeitung der ersten Spalte wird in der zweiten Spalte diePivotsuche durchgefuhrt; nach entsprechender Vertauschung der zweiten unddritten Zeile folgt ⎛⎝ 10 −7 0

0 2.5 50 −0.1 6

⎞⎠⎛⎝x1

x2

x3

⎞⎠ =

⎛⎝ 72.56.1

⎞⎠und damit die Dreicksgestalt⎛⎝ 10 −7 0

0 2.5 50 0 6.2

⎞⎠⎛⎝x1

x2

x3

⎞⎠ =

⎛⎝ 72.56.2

⎞⎠mit der Losung (0,−1, 1).

Allgemein lasst sich die Umwandlung eines Gleichungssystems in Drei-ecksform mit Spalten-Pivotsuche beschreiben durch den Algorithmus:

FOR k = 1,...,n-1: # k durchlaeuft Spaltenalpha = |a[k,k]|; j = k;FOR s = k+1,...,n: # Spalten-PivotsucheIF |a[s,k]| > alpha THEN

alpha = |a[s,k]|; j = s;ENDIF

ENDFORFOR i = k,...,n: # Zeilen vertauschen

alpha = a[k,i]; a[k,i] = a[j,i]; a[j,i] = alpha;ENDFORalpha = b[j]; b[j] = b[k]; b[k] = alpha;FOR s = k+1,...n:

l[s,k] = a[s,k]/a[k,k]; b[s] = b[s] - l[s,k] * b[k];# Eliminierungsfaktor und rechte Seite bearbeiten

Page 114: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

9.4 Gauß-Elimination und LU -Zerlegung 109

FOR i = k+1,...,n:a[s,i] = a[s,i] - l[s,k] * a[k,i];

# ZeilenmanipulationENDFOR

ENDFORENDFOR

Anmerkung 46. Die beiden inneren Schleifen in s und i beginnen jeweils mitdem Index k + 1, da die Zeilen 1 bis k nicht mehr verandert werden mussen;weiterhin werden in der k-ten Spalte Nullen erzeugt, die daher nicht berechnetund gespeichert werden mussen.

Anmerkung 47 (Gauß-Elimination). Dieses Losungsverfahren wurde in vol-ler Allgemeinheit erstmals wohl 1810 von C.F.Gauß angegeben in seiner Ar-beit ”Disquisitio de elementis ellipticis Palladis ex oppositionibus annorum1803, 1804, 1805, 1807, 1808, 1809“ uber die Storungen der Pallas, einer derhellsten und großten Planetoiden. Allerdings wurde bereits in ”Neun Bucheruber die Kunst der Mathematik“ (202–200 v. Chr.) in China wahrend derHan-Dynastie die Losung von Gleichungssystemen mittels Umformung derKoeffizientenmatrix beschrieben.

9.4 Gauß-Elimination und LU-Zerlegung

Wir wollen die in der Gauß-Elimination ausgefuhrten Rechnungen genaueranalysieren und fuhren folgende Definitionen ein:

Definition 22. Mit Ak bezeichnen wir die Matrix, die wir nach dem (k−1)-ten Eliminationsschritt erhalten. Insbesondere gilt A1 = A. Die Matrix An =U , die sich nach n − 1 Schritten ergibt, hat somit obere Dreiecksgestalt.

Die Matrix L bezeichne die untere Dreicksmatrix mit 1 auf der Diagonalenund den Eintragen lsk wie im obigen Programm berechnet:

L :=

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

1 0 · · · 0

l2,1. . . . . .

.... . . 1

. . ....

... lk+1,k 1 0

......

. . . . . .ln,1 · · · ln,k · · · ln,n−1 1

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠.

Ahnlich definieren wir die Matrizen

Page 115: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

110 9 Losung Linearer Gleichungssysteme

Lk :=

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎝

0 0. . .

0lk+1,k 0

.... . .

ln,k 0

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎠, fur k = 1, . . . , n − 1.

Weiterhin sei P eine Permutationsmatrix, die die bei der Spalten-Pivot-suche vorgenommenen Vertauschungen enthalt.

Im Folgenden beschranken wir uns zunachst auf das Verfahren der Gauß-Elimination ohne Pivotsuche. Dann kann der k-te Schritt dieses Verfahrensals ein Produkt zwischen der aktuellen Matrix Ak und der Matrix I − Lk

geschrieben werden: Ak+1 = (I − Lk)Ak. Dabei bezeichnet I die Einheits-matrix (siehe Anhang B.1). Mit A1 = A fuhrt z.B. der erste Schritt derGauß-Elimination auf die Matrix A2 = (I − L1)A1 = A1 − L1A1; dabeienthalt L1A1 genau die Terme, die bei der Eliminierung der ersten Spalteabgezogen werden mussen.

Formal konnen wir nun alle Eliminationsschritte durch Matrizenproduktebeschreiben in der Form

U = An = (I − Ln−1)An−1 = · · · =

L︷ ︸︸ ︷(I − Ln−1) · · · (I − L1)A1 = LA

und definieren dabei

L := (I − Ln−1) · · · (I − L2)(I − L1).

Weiterhin gilt LiLj = 0 fur i ≤ j, da bei der Berechnung der einzelnenEintrage dieser Matrix in jedem auftretenden Term stets ein Faktor Nullvorkommt. Daher folgt (I − Lj)(I + Lj) = I − Lj + Lj − LjLj = I, also(I − Lj)−1 = I + Lj. Um die Inverse L−1 = (I + L1) · · · (I + Ln−1) zuberechnen, schließen wir mittels

(I + L1)(I + L2) = I + L1 + L2 + L1L2 = I + L1 + L2,

und damit

L−1 = (I + L1)(I + L2) · · · (I + Ln−1) = I + L1 + L2 + . . . + Ln−1 = L.

Zusammenfassend erhalten wir so aus LA = U die Gleichung

A = LU.

Berucksichtigen wir nun wieder die im allgemeinen Fall wegen der Spalten-Pivotsuche auftretenden Permutationen, so bekommen wir nicht die LU -Fak-torisierung von A selbst, sondern von der permutierten Matrix A, also

Page 116: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

9.5 Kondition eines linearen Gleichungssystems 111

PA = LU.

Vertauschungen bei der Pivotsuche mussen auch in L mitberucksichtigtwerden. Um Speicherplatz zu sparen, werden oft an den freiwerdenden Unter-diagonalstellen von A, die eigentlich Null werden, die entsprechenden Unter-diagonaleintrage von L gespeichert, die sowieso von dem Programm berechnetwerden.

Das Beispiel 25 liefert die LU -Zerlegung⎛⎝ 1 0 00 0 10 1 0

⎞⎠⎛⎝ 10 −7 0−3 2 65 −1 5

⎞⎠ =

⎛⎝ 1 0 00.5 1 0−0.3 −0.04 1

⎞⎠⎛⎝10 −7 00 2.5 50 0 6.2

⎞⎠ .

Diese Formel betrifft nur A und kann im Folgenden dazu benutzt werden,jedes weitere Gleichungssystem mit derselben Matrix A unmittelbar zu losen.Dazu berechnen wir zunachst y aus dem unteren Dreiecksgleichungssystemin L und danach x aus dem oberen Dreiecksgleichungssystem in U :

Ax = P T L Ux = b =⇒ 1. Ly = Pb und 2. Ux = y.

Die Multiplikation mit P T entspricht genau der Permutation, die die vor-herige Vertauschung durch P ruckgangig macht (Anhang B.3).

Anmerkung 48. Meist ist es unnotig, die Inverse A−1 zu berechnen, da mittelsL und U jeder Vektor A−1b = U−1L−1Pb effizient berechenbar ist.

9.5 Kondition eines linearen Gleichungssystems

Gesucht ist die Losung eines linearen Gleichungssystems Ax = b. Durch denbegrenzten Zahlbereich verfugen wir nur uber ungenaue Eingangsdaten, d.h.die rechte Seite des Gleichungssystems stimmt nicht mit den echten Wertenuberein; wir losen ein verandertes System Ax = b. Der Einfachheit halbergehen wir davon aus, dass die Eintrage von A Maschinenzahlen sind und imVerlauf der Berechnung keine Rechenfehler auftreten. Wir wollen bestimmen,wie weit sich durch eine Abweichung in b die Losung verandern kann.

Wir setzen x = x + Δx und b = b + Δb mit kleinem Δb. Diese Großenerfullen die Gleichungen Ax = b und Ax = A(x + Δx) = b + Δb = b, oderAΔx = Δb. Damit erhalten wir die Ungleichungen (siehe Anhang B.2 furEigenschaften von Matrix- und Vektornormen)

‖Δx‖2 = ‖A−1Δb‖2 ≤ ‖A−1‖2 ‖Δb‖2

und ‖b‖2 = ‖Ax‖2 ≤ ‖A‖2 ‖x‖2.

Die Kombination dieser Ungleichungen ergibt

Page 117: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

112 9 Losung Linearer Gleichungssysteme

‖Δx‖2

‖x‖2≤ (‖A−1‖2 ‖A‖2

) ‖Δb‖2

‖b‖2.

Dadurch wird der relative Fehler der Eingangsdaten verknupft mit demrelativen Fehler der Losung. Der Fehler wird dabei in einer Vektornorm ge-messen. Ist der Ausdruck

κ(A) = ‖A−1‖2‖A‖2 (9.7)

klein, so konnen bezuglich der euklid’schen Vektornorm kleine Eingangsfehlerauch nur zu kleinen Ausgangsfehlern fuhren. Ist κ(A) groß, ist stets damit zurechnen, dass kleine Fehler in den Eingangsdaten zu großen Fehlern in derLosung fuhren. Die Große κ(A) heißt Kondition der Matrix A bezuglich dereuklid’schen Norm und gibt an, wie sensibel die Losung auf kleine Anderun-gen in den Eingangsdaten reagiert.

Man beachte, dass sich der relative Fehler auf den Gesamtvektor bezieht.Der relative Fehler einer einzelnen Komponente kann sehr groß sein, ohne denGesamtvektor stark zu beeinflussen. Die Vektoren (10−16, 1)T und (0, 1)T sindfast ununterscheidbar, wahrend die ersten Komponenten dieser Vektoren einesehr große relative Abweichung aufweisen.

Beispiel 26. Wir wollen zeigen, dass die Matrix

A =(

10−9 00 1

), mit A−1 =

(109 00 1

)schlecht konditioniert ist.

Als Normen ergeben sich ‖A‖2 = 1 und ‖A−1‖2 = 109, und damit κ(A) =109.

Aus kleinen Storungen (Δb1

Δb2

)werden Fehler in der Losung(

Δx1

Δx2

)= A−1

(Δb1

Δb2

)=(

109Δb1

Δb2

).

Ein Fehler in der ersten Komponente von b wirkt sich verstarkt mit demFaktor 109 in der ersten Komponente von x aus!

Fur die WahlΔb2 = 0, b1 = 10−9, b2 = 1

folgt

x =(

11

), Δx =

(109Δb1

0

), ‖Δb‖2 = |Δb1|.

Durch Einsetzen kann man nachprufen, dass sich aus den obigen Beziehungendie Gleichung

Page 118: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

9.6 Kosten der Gauß-Elimination 113

‖Δx‖2

‖x‖2= 109

√1 + 10−18

2‖Δb‖2

‖b‖2

ergibt. Dieses Zahlenbeispiel zeigt, dass der relative Fehler sich tatsachlich inder Großenordnung der Kondition verschlechtern kann.

Anmerkung 49. Eine wichtige Rolle spielt die Klasse der reellen Matrizen mitKondition 1, die orthogonalen Matrizen Q mit Q−1 = QT oder QT Q = I.Dann ist ‖Qx‖2

2 = xT QT Qx = xT x = ‖x‖22 und daher ‖Q‖2 = ‖Q−1‖2 = 1

(siehe Anhang B.3).

Nach Anmerkung 49 verschlechtern Operationen mit orthogonalen Ma-trizen die Kondition einer Matrix nicht. Viele numerisch stabile Algorithmenbasieren auf der Verwendung solcher orthogonaler Matrizen (siehe z.B. Ka-pitel 10.2).

9.6 Kosten der Gauß-Elimination

Wir wollen die Zahl der Operationen bestimmen, die der Gauß-Algorithmusbenotigt, um die gewunschte Losung zu berechnen. Zunachst betrachten wirdie Auflosung des oberen Dreiecksgleichungssystems

xn =bn

annxi =

bi −∑n

j=i+1 aijxj

aiifur i = n − 1, . . . , 1 .

oder als Programm formuliert

FOR i = n, ..., 1:x[i] = b[i];FOR j = i+1, ..., n:

x[i] = x[i] - a[ij] x[j];ENDFORx[i] = x[i] / a[ii];

ENDFOR

In jedem Schritt fallen an: eine Division, n − i Additionen und n − iMultiplikationen. Daraus resultieren insgesamt: n Divisionen und

n−1∑i=1

(n−i) =n−1∑j=1

j =n(n − 1)

2=

n2

2−n

2Additionen, bzw. Multiplikationen.

Vernachlassigen wir in dieser Formel den Term n/2 gegenuber dem we-sentlich großeren Term n2/2, so spricht man davon, dass dieser Algorithmusim Wesentlichen n2/2 flop’s benotigt. Dabei steht flop fur ”floating-point ope-ration“ und bezeichnet Addition, Subtraktion, Multiplikation oder Division.Mit Hilfe der Landau-Notation (siehe Anhang A.2) schreiben wir auch, dass

Page 119: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

114 9 Losung Linearer Gleichungssysteme

das Auflosen eines Dreiecksgleichungssystems in n2/2 + O(n) = O(n2) flop’sdurchgefuhrt werden kann.

Wir konnen die Kosten auch durch den Algorithmus selbst berechnenlassen, indem wir nur die Schleifenstruktur beibehalten und das Programmzu einem einfachen Zahlverfahren umbauen:

add = div = mult = 0;FOR i = n,...1:

FOR j = i+1,...,n:add = add+1;mult = mult+1;

ENDFORdiv = div+1;

ENDFOR

Die Zahl der Additionen, die der ursprungliche Algorithmus benotigt,erhalten wir, indem wir die FOR-Schleifen durch entsprechende Summen er-setzen:

add =1∑

i=n

n∑j=i+1

1 =1∑

i=n

(n − i) =n−1∑k=1

k =n(n − 1)

2=

n2

2+ O(n).

Wenden wir uns nun dem eigentlichen Verfahren der Gauß-Elimination zu.Hier besteht der k-te Schritt im Wesentlichen aus Berechnungen der Form

aij = aij − likakj ,

die fur die Indizes von i, j = k + 1, . . . , n durchzufuhren sind. Das sind (n −k)2 Additionen und genauso viele Multiplikationen. Insgesamt benotigt dasVerfahren der Gauß-Elimination zur Losung eines linearen Gleichungssystemsdaher

2n−1∑k=1

(n − k)2 = 2n−1∑j=1

j2 =2(n − 1)n(2n− 1)

6=

2n3

3+ O(n2) flop’s.

Page 120: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

10 Lineare Ausgleichsrechnung

”If you don’t read poetry how the hell can you solve equations?“

Harvey Jackins

In der Praxis liegen haufig nicht-quadratische Gleichungssysteme vor. Sospricht man von einem uberbestimmten System, falls mehr Gleichungen alsUnbekannte gegeben sind, bzw. von einem unterbestimmten System, wennder umgekehrte Fall vorliegt. In diesen Fallen existiert keine eindeutigeLosung mehr. Dasselbe Verhalten kann auch im quadratischen Fall eintre-ten, wenn die n × n-Matrix nicht vollen Rang n hat, bzw. singular ist. Indiesem Abschnitt wollen wir zeigen, wie sich allgemeine Gleichungssystemeauf quadratische, regulare Probleme zuruckfuhren lassen, und entsprechendeLosungsverfahren beschreiben.

10.1 Methode der kleinsten Quadrate

Im Kapitel 9 haben wir gesehen, wie lineare Gleichungssysteme zu losen sind,wenn die Anzahl der Bedingungen (= Gleichungen) mit der Anzahl der Un-bekannten ubereinstimmt und zu einer regularen n× n-Matrix fuhrt. Liegenmehr Unbekannte als Gleichungen vor, so ist das Gleichungssystem unterbe-stimmt und, wenn es uberhaupt losbar ist, so hat es unendlich viele Losungen(vgl. Anhang B.1).

In diesem Kapitel sind wir an dem umgekehrten Fall interessiert, namlichdass das gegebene Gleichungssystem uberbestimmt ist. Zu der Aufgabe ”Axsoll gleich b sein“ gehort dann eine m × n-Matrix A mit m > n und diesesProblem ist i.Allg. nicht losbar. Wir nehmen aber an, dass A vollen Rang hat:rang(A) = n = min{n, m}. In diesem Fall wollen wir die gestellte Aufgabewenigstens so gut wie moglich losen. Das lasst sich erreichen, indem manzumindest den Abstand Ax − b bezuglich der euklid’schen Norm minimiert

minx

‖Ax − b‖2.

Wir verwenden hier die euklid’sche Norm, da sie zu einer Minimierungs-aufgabe mit einer differenzierbaren Funktion fuhrt.

Page 121: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

116 10 Lineare Ausgleichsrechnung

Um die anfallenden Rechnungen zu vereinfachen, gehen wir zu der qua-drierten Funktion uber und definieren

f(x1, . . . , xn) = ‖Ax − b‖22

= (Ax − b)T (Ax − b) = xT AT Ax − 2xT AT b + bT b

=∥∥∥(∑n

j=1 ak,jxj − bk

)mk=1

∥∥∥22

=∑m

k=1

(∑nj=1 ak,jxj − bk

)2.

Diese Summe von quadratischen Termen nimmt ihr Minimum an, wennalle Ableitungen gleich 0 sind

0 =df

dxi= 2

m∑k=1

⎛⎝ n∑j=1

ak,jxj − bk

⎞⎠ ak,i , i = 1, . . . , n ,

oderm∑

k=1

ak,i

n∑j=1

ak,jxj =m∑

k=1

ak,ibk , i = 1, . . . , n.

Die Matrixnotation dieser Gleichungen lautet

(AT Ax)i = (AT b)i.

Fassen wir daher diese n Gleichungen zu einem System zusammen, soerhalten wir aus der Minimierung der Funktion xT AT Ax−2xT AT b+bT b dasneue Gleichungssystem

AT Ax = AT b,

das wegen rang(AT A) = rang(A) = n eindeutig losbar ist. Der Losungsvek-tor x liefert den Vektor mit kleinstem Abstand ‖Ax − b‖2. Man bezeichnetAT Ax = AT b als die Normalgleichung zu A und b. Das neue Gleichungssys-tem kann mittels Gauß-Elimination gelost werden. Die Kondition des neuenGleichungssystems κ(AT A) ist aber haufig sehr viel schlechter als die Konditi-on des Ausgangsproblems κ(A); daher werden wir in Kapitel 10.2 ein anderes,numerisch stabileres Verfahren zur Losung des linearen Ausgleichsproblemskennen lernen.

Ubung 43. Fur einige einfache Beispiele vergleiche man κ(AT A) und κ(A).Insbesondere gilt κ(AT A) = κ2(A).Hinweis: Verwende die Singularwertezerlegung A = UΣV aus Anhang B.4.

Beispiel 27. Wir betrachten das uberbestimmte Gleichungssystem

Page 122: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

10.1 Methode der kleinsten Quadrate 117⎛⎝ 1 12 1−1 4

⎞⎠(x1

x2

)≈⎛⎝1

00

⎞⎠ .

Die dazugehorige Normalgleichung lautet(1 2 −11 1 4

)⎛⎝ 1 12 1−1 4

⎞⎠(x1

x2

)=(

1 2 −11 1 4

)⎛⎝ 100

⎞⎠oder (

6 −1−1 18

)(x1

x2

)=(

11

)und liefert die Losung

x =( 19

1077

107

).

Dieses Verfahren bezeichnen wir auch als die Methode der kleinsten Qua-drate. Damit sind wir in der Lage, zu gegebenen Punkten in der Ebene dielineare Ausgleichsgerade zu bestimmen (Abb. 10.1):

Die Aufgabe besteht darin, zu vorgegebenen Punkten (xj , yj), j = 1, . . . ,n, in der (x, y)-Ebene eine Gerade zu finden, die moglichst nahe an denvorgegebenen Punkten liegt. Diese lineare Ausgleichsgerade g(x) = a + bxsoll also moglichst ⎛⎜⎝ a + bx1

...a + bxn

⎞⎟⎠ ≈

⎛⎜⎝ y1

...yn

⎞⎟⎠oder

A

(ab

)≈ y

erfullen mit

A =

⎛⎜⎝1 x1

......

1 xn

⎞⎟⎠ .

Diese Aufgabe konnen wir umformulieren zu: Berechne a und b so, dass∥∥∥∥A(ab

)− y

∥∥∥∥22

=n∑

j=1

(a + bxj − yj)2

minimal ausfallt. Die dazugehorige Normalgleichung lautet⎛⎝ n∑n

j=1 xj∑nj=1 xj

∑nj=1 x2

j

⎞⎠⎛⎝a

b

⎞⎠ =

⎛⎝∑nj=1 yj∑nj=1 xjyj

⎞⎠ .

Page 123: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

118 10 Lineare Ausgleichsrechnung

x

y

Abb. 10.1. Ausgleichsgerade.

Durch Auflosen dieses 2×2-Gleichungssystems erhalten wir mittels a undb die gesuchte Gerade g(x) = a + bx.

Mit der hergeleiteten Technik konnen wir auch das folgende allgemeinereAusgleichsproblem behandeln:

Gegeben ist eine Familie von Ansatzfunktionen gk(x), k = 1, . . . , m, undPunkte (xj , yj), j = 1, . . . , n mit n > m.Gesucht ist diejenige Funktion f(x) =

∑mk=1 akgk(x) als Linearkombination

der Ansatzfunktionen, die moglichst nahe an den vorgegeben Punkten liegt.Definieren wir die n × m-Matrix

G =

⎛⎜⎝ g1(x1) · · · gm(x1)...

...g1(xn) · · · gm(xn)

⎞⎟⎠ ,

so ist die optimale Funktion f wieder bestimmt durch die Koeffizienten aT =(a1, . . . , am)T , die ‖Ga−y‖2 minimieren, also die Losung der Normalgleichung

GT G

⎛⎜⎝ a1

...am

⎞⎟⎠ = GT

⎛⎜⎝ y1

...ym

⎞⎟⎠ .

Ubung 44. Als Ansatzfunktionen gk(x) wahle man die Polynome 1, x, x2,. . . , xm−1. Welche Form hat die Matrix G? Welche Vereinfachung kann manim Fall n = m vornehmen?

Anmerkung 50 (Gauß und die Methode der kleinsten Quadrate). Die Bestim-mung von Positionen und Bahnkurven von Asteroiden hat in der historischen

Page 124: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

10.2 QR-Zerlegung 119

Entwicklung der Astronomie eine bedeutende Rolle gespielt. Am 1. Januar1801 entdeckte der italienenische Astronom Guiseppe Piazzi (1746 – 1826)einen ”beweglichen Stern“ der siebten Großenklasse, den er Ceres nannte. Pi-azzi konnte das Objekt nur bis zum 11. Februar 1801 beobachten, da danachdie Position Ceres zu nahe an die Sonne ruckte. Im Herbst 1801, als Cereseigentlich wieder sichtbar sein sollte, konnte sie trotz intensiver Suche nichtwieder aufgefunden werden. Die damals verfugbaren mathematischen Me-thoden waren nicht geeignet, mit den wenigen Beobachtungsdaten eindeutigfestzustellen, ob Ceres ein Komet oder ein Asteroid war.

Im Herbst 1801 entwicklte dann Gauß eine neue Methode zur Bahnbestim-mung, die mit nur wenigen Beobachtungsdaten auskam. Gauß konnte dabeiauf seine bereits fruher entwickelte Fehlerausgleichsrechnung zuruckgreifen.Im Spatherbst hatte Gauß die sehr umfangreichen numerischen Rechnungenbeendet. Genau ein Jahr nach der Entdeckung konnte der Astronom v. ZachCeres genau an der von Gauß vorhergesagten Stelle auffinden.

Beschrieben hat Gauß das Verfahren der Normalgleichungen in seiner

”Theoria motus corporum coelestium in sectionibus conicis solem ambien-tum“ (1809). Allerdings wurde diese Methode tatsachlich zuerst veroffentlichtvon A.M. Legendre im Jahre 1805.

10.2 QR-Zerlegung

Kondition und Gauß-Elimination:

In fast allen Fallen liefert die Gauß-Elimination mit Pivotsuche Ergebnissevon ausreichender Genauigkeit. In Extremfallen kann es aber vorkommen,dass im Verlauf des Eliminationsprozesses Matrizen Ak von schlechter Kon-dition erzeugt werden. Ein recht illustratives Beispiel ist hier die Matrix [111]

Beispiel 28.

A =

⎛⎜⎜⎜⎜⎜⎝1 1

−1 1 1−1 −1 1 1

· · · . . ....

−1 −1 · · · −1 1

⎞⎟⎟⎟⎟⎟⎠ .

Die Eliminierung der Unterdiagonalelemente erfolgt einfach durch Aufad-dieren der k-ten Zeile zu allen darunter liegenden Zeilen, k = 1, . . . , n − 1.Dadurch entstehen Matrizen der Form⎛⎜⎜⎜⎜⎜⎜⎜⎝

1 0 0 · · · 10 1 0 0 · · · 20 0 1 0 · · · 40 0 −1 1 · · · 40 0 −1 −1 · · · 4...

......

......

⎞⎟⎟⎟⎟⎟⎟⎟⎠

Page 125: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

120 10 Lineare Ausgleichsrechnung

und am Ende des Eliminationsprozesses landet man bei der oberen Dreiecks-matrix

U =

⎛⎜⎜⎜⎜⎜⎜⎜⎝

1 11 2

1 4. . .

...1 2n−2

2n−1

⎞⎟⎟⎟⎟⎟⎟⎟⎠.

Daher sind die großten Matrixeintrage im Verlauf der Gauß-Eliminationvon der Ordnung 2k−1. Die Kondition von A ist von der GroßenordnungO(n), wahrend die Kondition der n-ten Matrix An gleich O(2n−1) ist. Ent-sprechend treten in der Losung wesentlich großere Fehler auf, als von derGroße von κ(A) zu erwarten waren. In der praktischen Anwendung begegnetuns allerdings ein solches Verhalten so gut wie nie. Um aber zu verhindern,dass wir in U = An = LA oder auch in der Normalgleichung AT A wesent-lich schlechter konditionierte Probleme zu losen haben, empfiehlt sich dieAnwendung von orthogonalen Transformationen. Denn fur eine orthogonaleMatrix Q ist κ(QA) = κ(A), so dass orthogonale Transformationen (im Ge-gensatz zu den in der Gauß-Elimination auftretenden Dreiecksmatrizen) dieKondition des Ausgangsproblems nicht verschlechtern. Daher wollen wir imFolgenden – ahnlich zur LU -Faktorisierung – eine Zerlegung von A mittelsorthogonaler Matrizen herleiten. Dies fuhrt zu einer stabileren Methode zurLosung linearer Gleichungssysteme, die auch auf nichtquadratische Probleme(lineare Ausgleichsrechnung) anwendbar ist.

Im Zusammenhang mit schlecht konditionierten oder sogar singularen Ma-trizen stellt sich auch die Frage nach dem Rang der Matrix. Wenden wirz.B. Gauß-Elimination mit Total-Pivotsuche auf eine rechteckige Matrix vomRang k an, so werden spatestens nach k Eliminationsschritten die Pivot-Elemente sehr klein. Denn die oberen k Zeilen haben bereits vollen Rang k,und daher sollten – in exakter Arithmetik – die unteren Zeilen eigentlich nurnoch Nullen enthalten; durch Rundungsfehler werden die unteren Zeilen abermit sehr kleinen Zahlen aufgefullt. Dabei ist nun zu entscheiden, ob eine sol-che kleine Zahl nur durch Rundungsfehler entstanden ist, und eigentlich einerNull entspricht, oder ob sie auch bei genauer Rechnung zwar sehr klein, abervon Null verschieden ware. Bei der Matrix

A =

⎛⎝1 10 ε1

0 ε2

⎞⎠mussten wir entscheiden, ob die beiden kleinen εi fur Nullen stehen, unddamit A vom Rang 1 ist, oder ob zumindest eine als von Null verschieden zubetrachten ist und damit A vom Rang 2 ist.

Um auch hier ein verlassliches Verfahren anzugeben, wie groß der Rangder Matrix ist, wenden wir uns von der Gauß-Elimination und der dazugehori-

Page 126: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

10.2 QR-Zerlegung 121

gen LU -Zerlegung ab und versuchen, eine numerisch stabilere sogenannteQR-Zerlegung zu berechnen. Dabei steht R fur eine obere Dreiecksmatrix,aber fur Q wollen wir nur orthogonale Matrizen zulassen. Es sei daran er-innert, dass orthogonale Matrizen euklid’sche Norm 1 haben und daher dieKondition der Matrix R genau wieder die Kondition der Ausgangsmatrix Aist!

Berechnung der QR-Zerlegung:

Im Folgenden wollen wir ein Standard-Verfahren zur Erzeugung einer QR-Zerlegung einer beliebigen Matrix A beschreiben. Dazu beschranken wir unszunachst auf den Fall von 2 × 2-Matrizen

A =(

a11 a12

a21 a22

)und verwenden spezielle orthogonale Matrizen:

Definition 23. Eine 2 × 2-Givens-Reflexion ist eine Matrix

G =(

cos(ϕ) sin(ϕ)sin(ϕ) − cos(ϕ)

),

und hat die Eigenschaften GGT = GT G = G2 = I.

Ziel ist es nun, durch richtige Wahl des Parameters ϕ dafur zu sorgen,dass bei dem Produkt

A = GA =(

a11 a12

a21 a22

)eine obere Dreiecksmatrix entsteht, also

a21 =(sin(ϕ) − cos(ϕ)

)(a11

a21

)= sin(ϕ)a11 − cos(ϕ)a21 = 0

gilt. Dies ist durch die Wahl von

cot(ϕ) =a11

a21, also ϕ = arccot

(a11

a21

)oder ϕ = arctg

(a21

a11

)erfullt.

Die Givens-Reflexion wird numerisch stabiler berechnet durch das Ver-fahren

� = sign(a11)√

a211 + a2

21, cos(ϕ) = a11/� und sin(ϕ) = a21/�.

Ist a11 nicht Null, aber a21 = 0, so muss zur Eliminierung von a21 keineTransformation angewandt werden. Ist a11 = 0 und a21 nicht Null, so permu-tiere man die Zeilen. Gilt a11 = 0 und a21 = 0, so hat die Matrix nicht vollen

Page 127: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

122 10 Lineare Ausgleichsrechnung

Rang; dann werden auch noch Spaltenvertauschungen benotigt, damit sicheine QR-Zerlegung der Form AP = QR berechnen lasst (siehe Aufgabe 60).

Dieses Vorgehen kann direkt auf großere Matrizen ubertragen werden,indem man in der richtigen Reihenfolge, namlich beginnend mit der erstenSpalte zunachst a21 bis an1 eliminiert, dann in der zweiten Spalte entspre-chend a32 bis an2 usw. Dazu verwenden wir Givens-Reflexionen Gij der Form

Gij =

j i⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

1. . .

1cos(ϕ) sin(ϕ)

1. . .

1sin(ϕ) − cos(ϕ)

1. . .

1

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

j

i

,

die sich nur auf die i-te bzw. j-te Zeile und Spalte auswirken. Um den Eintragaij , i > j, zu Null zu machen, stellen wir fest, dass die i-te Zeile durchMultiplikation mit Gij ubergeht in

aik �−→ sin(ϕ)ajk − cos(ϕ)aik

und die j-te Zeileajk �−→ cos(ϕ)ajk + sin(ϕ)aik.

Daher fuhrt die Wahl

ϕ = arccot(

ajj

aij

)zu dem gewunschten Ergebnis. Das Diagonalelement ajj dient also zur Eli-mination von aij .

Die orthogonale Matrix Q ist dann gegeben als Produkt der orthogonalenGivens-Reflexionen

QT = Gn,m · · ·Gm+1,mGn,m−1 · · ·Gm,m−1 · · · · · ·Gn2 · · ·G32Gn1 · · ·G21,

wobei die Givens-Reflexionen in folgender Reihenfolge die Eintrage in A zuNull machen:

Page 128: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

10.2 QR-Zerlegung 123

�1 �2 n �...

... �m-1 n+m-3 �m n+m-2 �...

......

n−1 2n−3 · · · · · · · · · nm −m(m+1)/2

Es werden insgesamt nm − m(m + 1)/2 Givens-Matrizen benotigt. DieMatrix R ist dann das Ergebnis der gesamten Multiplikation der Form QT A =R oder A = QR.

Dabei ist Q stets eine quadratische n × n-Matrix und R von der selbenGroße wie A, also i.Allg. n × m.

Weitere Verfahren zur Bestimmung einer QR-Zerlegungen einer gegebe-nen Matrix sind das Orthogonalisierungsverfahren nach Gram-Schmidt unddie Methode der Householder-Transformationen (siehe z.B. [107] oder andereLehrbucher zur Numerischen Mathematik).

Wir wollen die QR-Zerlegung nun auch zur Losung des linearen Aus-gleichsproblems gewinnbringend einsetzen. Gegeben sei eine n×m-Matrix Amit n ≥ m und rang(A) = m, sowie ein Vektor b der Lange n. Verfugen wiruber eine QR-Zerlegung von A, so kann das lineare Ausgleichsproblem

‖Ax − b‖2 = min ‖QRx − b‖2 = min ‖Rx − QT b‖2

besser gelost werden. Dazu vermerken wir, dass die euklid’sche Matrixnorminvariant unter orthogonalen Matrizen ist (d.h. ‖QA‖2 = ‖A‖2) und R denselben Rang wie A haben muss. Daher lasst sich R schreiben als

R =(

R1

0

)=

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

r11 · · · · · · r1n

0 r22

...... 0

. . ....

.... . . rnn

... 0

......

0 · · · · · · 0

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠.

Indem wir nun die orthogonale Matrix QT mit b multiplizieren zu c =QT b = (c1, c2)T und c entsprechend der Struktur von R partitionieren, bleibtnur noch das Dreieckssystem R1x = c1 zu losen:

Page 129: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

124 10 Lineare Ausgleichsrechnung

‖Rx − QT b‖22 = ‖

(R1x0

)−(

c1

c2

)‖22 = ‖R1x − c1‖2

2 + ‖c2‖22 .

Dabei ist die Kondition von R1 gleich der Kondition der Ausgangsmatrix.Wie gut die Losung des Ausgleichsproblems min ‖Ax − b‖2 ist, um Ax ≈ bzu erreichen, kann man nun leicht an der Große von ‖c2‖2 ablesen.

Bei der Berechnung der QR-Zerlegung lasst sich außerdem an den Ein-tragen von R wesentlich besser entscheiden, ob ein sehr kleiner Eintrag bereitsals Null zu werten ist und durch Rundungsfehler im Verlauf der Rechnungzustande gekommen ist; denn die Großenordnung der Matrixeintrage kannsich nicht so dramatisch andern wie bei der Gauß-Elimination. An den Dia-gonalelementen von R kann daher der Rang von A, d.h. die Anzahl linearunabhangiger Zeilen, bzw. Spalten, wesentlich genauer abgelesen werden.

Allgemein wollen wir festhalten: Die QR-Zerlegung sollte eingesetzt wer-den bei schlecht konditionierten quadratischen Matrizen, bei allgemeinenrechteckigen Gleichungssystemen (ev. auch in der allgemeineren Form QAP =R mit einer zusatzlichen Permutation P ), und zur Bestimmung des Rangseiner Matrix.

10.3 Regularisierung

In vielen praktischen Anwendungen liegt ein uberbestimmtes Gleichungssys-tem vor, dessen zugehorige Matrix A bzw. die zugehorige Dreiecksmatrix R1

extrem schlecht konditioniert ist. Selbst in exakter Arithmetik werden daherkleinste (unvermeidliche) Ungenauigkeiten Δb in den Eingangsdaten b durch

x = inv(AT A)AT (b + Δb) = xexakt + inv(AT A)AT · Δb

so verstarkt, dass man keine sinnvollen Resultate mehr erhalt. Daher lasstsich das eigentliche Problem

min ‖Ax − b‖2

selbst mit Verwendung der QR-Zerlegung nicht mehr angemessen losen; derberechnete Vektor x hat mit dem ursprunglichen Problem nichts mehr zutun. Man spricht hier von einem schlecht gestellten inversen Problem (ill-posed inverse problem). Der Anteil der Losung, der dafur verantwortlich ist,dass das Problem fast singular ist, ist dann im Wesentlichen durch Messfeh-ler und Rundungsfehler bestimmt (Rauschen oder noise) und uberwiegt denrestlichen eigentlichen Anteil so stark, dass die eigentliche Losung nicht mehrzu erkennen ist. Um das Problem auf den Bereich zu reduzieren, der wirklichverlassliche Information erhalt, versuchen wir daher, das zugrunde liegendeProblem so umzuformulieren, dass ein besser konditioniertes lineares Glei-chungssystem entsteht. Durch die Forderung, dass die berechnete Losung xklein bleiben soll, soll erreicht werden, dass das Rauschen inv(AT A)AT Δbausgeblendet wird. Dazu erweitern wir das lineare Ausgleichsproblem zu

Page 130: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

10.3 Regularisierung 125

minx

‖Ax − b‖2 + γ2‖x‖2.

Wie bei der Herleitung der Normalgleichung fuhrt dieses Minimierungs-problem durch Nullsetzen der Ableitung (des Gradienten) zu der Gleichung

(AT A + γ2I)x = AT b .

Diese Methode der Regularisierung eines schlecht gestellten inversen Pro-blems wird als Tikhonov-Regularisierung bezeichnet. Der Regularisierungs-parameter γ ist so zu wahlen, dass der Storungseinfluss reduziert wird, ohnedie eigentliche Information wesentlich zu verandern. Anders ausgedruckt: DasSystem soll eine vernunftige Losung liefern, die nicht durch zufalliges Rau-schen verfalscht und damit unbrauchbar ist.

Wir werden die Methode der Tikhonov-Regularisierung in Kapitel 12.1im Zusammenhang mit dem Problem der Computertomographie wieder auf-greifen.

Mit Gauß-Elimination, QR-Zerlegung und Regularisierung verfugen wirnun uber die wichtigsten Hilfsmittel, um beliebig auftretende Gleichungssys-teme zu behandeln.

Page 131: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

11 Effiziente Losung linearer

Gleichungssysteme

”Du wolltest Algebra. Da hast du den Salat.“

Jules Verne

In praktischen Anwendungen haben wir es oft mit sehr großen Gleichungs-systemen zu tun, die auf speziellen Rechner moglichst schnell und effizientgelost werden sollen. Vollbesetzte Matrizen benotigen O(n2) Speicherplatzund Gauß-Elimination O(n3) Operationen. Daher ubersteigen der Speicher-bedarf und die Rechenzeit zur Losung solch großer, vollbesetzter Gleichungs-systeme oft die Leistungsfahigkeit heutiger Rechner.

11.1 Dunnbesetzte Gleichungssysteme

Um moglichst große Probleme noch losen zu konnen, bietet es sich an, durchgeschickte Formulierung des Problems dunnbesetzte Matrizen zu erzeugen.

Standardbeispiele dunnbesetzter Matrizen sind Bandmatrizen

A =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

a11 · · · a1p

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

aq1. . . . . . . . . . . .. . . . . . . . . . . . an−p+1,n

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

an,n−q+1 · · · ann

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠mit unterer Bandbreite q, oberer Bandbreite p und Gesamtbandbreite p+q−1. Zur Speicherung dieser Matrix ist es nicht notwendig, die uberwiegendeAnzahl von Nullen explizit anzugeben. Statt dessen kann man die einzelnenDiagonalen in p + q − 1 Vektoren aufteilen, oder die Rechteckmatrix

Page 132: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

128 11 Effiziente Losung linearer Gleichungssysteme

B =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

∗ · · · ∗ a11 · · · · · · a1p

... · a21

......

∗ · ......

...

aq1

......

......

...... an−p+1,p

......

... · ∗...

...... an−1,n · ...

an,n−q+1 · · · an−1,n ann ∗ · · · ∗

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠verwenden. Fur B benotigen wir nur (p + q − 1)n Speicherplatze.

Um ein Gleichungssystem mit A zu losen, soll das Verfahren der Gauß-Elimination an die vorhandene Bandstruktur angepasst werden. Ohne Pivot-suche bleibt die Bandstruktur erhalten und der Gauß-Algorithmus ist nur sozu modifizieren, dass die beiden inneren Schleifen nicht bis zum Zeilen- bzw.Spaltenende, sondern nur maximal p- bzw. q-mal zu durchlaufen sind. DerGesamtaufwand reduziert sich damit zu O(npq) Operationen. Erlaubt manaus Stabilitatsgrunden die Spalten-Pivotsuche, so kann sich die Bandbreiteschlechtestenfalls verdoppeln.

Hat die gegebene dunnbesetzte Matrix keine einfache und regelmaßigeStruktur, so mussen andere Methoden zur Speicherung verwendet werden:

Definition 24. Eine dunnbesetzte Matrix A kann gespeichert werden, indemdie Werte und die dazugehorigen Zeilen- und Spaltenindizes in drei langenVektoren val, zind und sind abgelegt werden. Dabei enthalt val alle Nicht-Nulleintrage von A, und zu einem Wert val(i) stehen in zind(i) und sind(i)die dazugehorigen Zeilen- und Spaltenindizes, also

val(i) = azind(i),sind(i).

Beispiel 29. Die Matrix

A =

⎛⎜⎜⎜⎜⎝1.1 0 0 0 2.20 0 0 3.3 00 4.4 0 0 5.50 0 0 6.6 00 0 7.7 0 8.8

⎞⎟⎟⎟⎟⎠wird gespeichert in dem Vektor der Zahlenwerte

val = (1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8),

dem Vektor der dazugehorigen Zeilenindizes

zind = (1 1 2 3 3 4 5 5)

Page 133: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

11.1 Dunnbesetzte Gleichungssysteme 129

und den Spaltenindizes

sind = (1 5 4 2 5 4 3 5).

Dann ergibt sich z.B. val(i) = azind(i),sind(i), also z.B. val(2) = a1,5 = 2.2.

Die Struktur dunnbesetzter Matrizen kann sehr gut durch Graphen darge-stellt und untersucht werden. Dazu betrachten wir zu einer n×n Matrix einenGraphen G = (V, E) mit n Ecken (Knoten) Pi, i = 1, . . . , n. In diesen Gra-phen nehmen wir nun eine gerichtete Kante von Pi nach Pj genau dann auf,wenn das Matrixelement aij nicht Null ist. Anders ausgedruckt, bilden wir zuA diejenige Matrix, die entsteht, wenn wir jeden Nicht-Nulleintrag durch denWert Eins ersetzen. Diese neue Matrix lasst sich als Adjazenzmatrix einesGraphen G auffassen, den wir benutzen wollen, um die Besetztheitsstruktureiner dunnbesetzten Matrix zu untersuchen.

P1

P2

P3

P4

Abb. 11.1. Graph mit vier Knoten und drei Kanten.

Definition 25. Die Adjazenzmatrix eines Graphen G = (V, E) mit n Kno-ten ist eine n × n-Matrix mit der Festlegung

aij ={

1, falls eine Kante von Pi nach Pj in G ist0, sonst.

Jeder Graph lasst sich durch eine Adjazenzmatrix reprasentieren. Im Bei-spiel des durch Abb. 11.1 beschriebenen Graphen lautet die Adjazenzmatrix

A =

⎛⎜⎜⎝0 1 0 10 0 0 01 0 0 00 0 0 0

⎞⎟⎟⎠ .

Zur dunnbesetzten Matrix aus Beispiel 29 gehort dann die Matrix⎛⎜⎜⎜⎜⎝1 0 0 0 10 0 0 1 00 1 0 0 10 0 0 1 00 0 1 0 1

⎞⎟⎟⎟⎟⎠

Page 134: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

130 11 Effiziente Losung linearer Gleichungssysteme

(durch Ersetzen jedes Nicht-Null-Eintrags durch 1) und damit der Graph ausAbb. 11.2.

P2 P3

P4

P1

P5

Abb. 11.2. Graph zur Matrix aus Beispiel 29.

Der Graph G, der auf diese Art und Weise mit einer Matrix verknupftwerden kann, kann nun z.B. dazu verwendet werden, geeignete Umordnungenvon Zeilen und Spalten von A zu finden, so dass sich das Gleichungssystemmit Gauß-Elimination mit weniger ”fill-in“ losen lasst. Man ist also daraninteressiert, dass im Verlauf der Gauß-Elimination moglichst wenige Nicht-Nulleintrage neu erzeugt werden, da ansonsten die Dunnbesetztheit der Aus-gangsmatrix verloren geht. Im schlimmsten Fall konnen die LU -Faktoren vonA nahezu vollbesetzt sein.

Ubung 45. Wir wollen ein System Ax = b mit folgender Matrixstrukturbetrachten

A =

⎛⎜⎜⎜⎜⎜⎜⎝

d1 e2 e3 · · · en

c2 d2 0 · · · 0

c3 0 d3. . .

......

.... . . . . . 0

cn 0 · · · 0 dn

⎞⎟⎟⎟⎟⎟⎟⎠ .

Das Verfahren der Gauß-Elimination wurde hier vollbesetzte Matrizen Lund U erzeugen. Um dies zu vermeiden, sollten zunachst Zeilen- und Spalten-vertauschungen angewendet werden, so dass bei dem neuformulierten Glei-chungssystem die Matrizen L und U dunnbesetzt bleiben. Es ist vorteilhaft,dazu den Graphen von A zu betrachten.

Beispiel 30. Gegeben sei ein Gleichungssystem mit einer Matrix folgenderBesetztheitsstruktur: ⎛⎜⎜⎜⎜⎜⎜⎝

∗ 0 0 0 ∗ ∗0 ∗ ∗ ∗ 0 00 ∗ ∗ ∗ 0 00 ∗ ∗ ∗ 0 0∗ 0 0 0 ∗ ∗∗ 0 0 0 ∗ ∗

⎞⎟⎟⎟⎟⎟⎟⎠

Page 135: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

11.2 Gleichungssysteme und Computer-Architektur 131

P1

P2 P3

P4

P5P6

Abb. 11.3. Graph zur Matrix aus Beispiel 30.

Der Graph zu dieser Matrix ist in Abb. 11.3 dargestellt. Aus dem Bildersieht man, dass der Graph in zwei unabhangige Teilgraphen (Zusammen-hangskomponenten) zu den Indizes 2, 3, 4 und 1, 5, 6 zerfallt. Vertauschen wirin dem Ausgangssystem erste und vierte Zeile und Spalte, so ergibt sich eineMatrix der Form ⎛⎜⎜⎜⎜⎜⎜⎝

∗ ∗ ∗∗ ∗ ∗∗ ∗ ∗

∗ ∗ ∗∗ ∗ ∗∗ ∗ ∗

⎞⎟⎟⎟⎟⎟⎟⎠ ,

und die Losung eines solchen Gleichungssystems zerfallt in zwei unabhangigeTeilprobleme halber Große. Auf diese Art und Weise kann nach der durch denGraphen identifizierten Umnummerierung das ursprungliche Problem wesent-lich effizienter gelost werden.

Ubung 46. Wir betrachten Block-Matrizen der Form

A =

⎛⎜⎜⎜⎜⎜⎜⎝

D1 E1

C2 D2 E2

C3 D3. . .

. . . . . . En−1

Cn Dn

⎞⎟⎟⎟⎟⎟⎟⎠mit Diagonalmatrizen Di, Ei und Ci. Man skizziere den Graph zu dieserMatrix. Wie lasst sich A geschickt umsortieren?

11.2 Gleichungssysteme und Computer-Architektur

Unser Ziel sollte es sein, einen vorgegebenen Algorithmus wie z.B. das Verfah-ren der Gauß-Elimination moglichst effizient zu implementieren. Dazu ist eserforderlich, die Eigenschaften heutiger Rechner und Prozessoren zu beruck-sichtigen. Deshalb wollen wir die wesentlichen Prinzipien vorstellen, die dabeizu beachten sind.

Page 136: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

132 11 Effiziente Losung linearer Gleichungssysteme

Prinzip 1: Effiziente Bereitstellung der Daten. Neben der eigentlichenRechenzeit spielt die Zeit fur das Bereitstellen der Daten eine immer großereRolle. Ein heutiger Prozessor besteht zu weiten Teilen aus Speicherberei-chen, in denen die zu verarbeitenden Daten so gespeichert werden, dass siein der richtigen Reihenfolge an die eigentliche CPU angeliefert werden. JederDatentransport zwischen langsameren und schnellerem Speichermedium wiezwischen Festplatte und Arbeitsspeicher oder zwischen Arbeitsspeicher undRegisterspeicher kostet wesentlich mehr Zeit als die arithmetischen Opera-tionen, die auf den Daten ausgefuhrt werden sollen.

Das Ziel des schnellen Datentransfers hat zur Entwicklung von Cache1-Speichern gefuhrt. Dabei versucht man zu erraten, welche Daten als nachstebearbeitet werden und sammelt diese Daten in einem schnellen Zwischenspei-cher. Um hier zu einer vernunftigen Auswahl zu kommen, haben sich folgendeAnnahmen als sinnvoll erwiesen:

– Daten, die gerade im Gebrauch sind, werden sehr wahrscheinlich auch infolgenden Rechenschritten noch weiterbearbeitet,

– Nachbardaten, die lokal im Speicher in der Nahe der gerade aktiven Datenstehen, sind wohl auch Kandidaten, die demnachst von der CPU angefor-dert werden.

Diese beiden Annahmen entsprechen dem Prinzip der Haufigkeit und demPrinzip der Lokalitat: Von Daten, die haufig benutzt werden oder die nebengerade benutzten Daten stehen, ist zu erwarten, dass sie demnachst verar-beitet werden, und sie sollten daher moglichst griffbereit sein.

Mit diesem Zwischenspeicher ist naturlich zusatzlicher Verwaltungsauf-wand verbunden, insbesondere, wenn der gesuchte Datensatz sich doch nichtim Cache befindet, erhoht sich der Zeitaufwand fur die Bereitstellung die-ser Daten. Das Prinzip des Speicher-Caches hat sich allerdings inzwischen sobewahrt, dass er uberall zum Einsatz kommt.

Daten sollten in der CPU moglichst im Paket verarbeitet werden; d.h. aneinem Datenpaket, das in den Registerspeicher der CPU geladen wurde, soll-ten moglichst alle Operationen ausgefuhrt werden, bevor dann das nachsteDatenpaket in die CPU geleitet wird. Dazu dient die Blockbildung: Bei Auf-gaben mit mehrdimensionalen Feldern empfiehlt es sich, das Gesamtproblemblockweise aufzuspalten mit Blocken, deren Große genau dem Speicherplatzim Register oder Cache angepasst ist. Im Falle der Gauß-Elimination werdenhierbei Matrixelemente durch Blockmatrizen⎛⎜⎝ A11 · · · A1m

......

Am1 · · · Amm

⎞⎟⎠ersetzt, wobei die Aij selbst kleine Matrizen der Dimension k = n/m sind.Formal kann die Gauß-Elimination nun genauso wie im skalaren Fall durch-1 Cache kommt von englisch: Waffenlager

Page 137: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

11.2 Gleichungssysteme und Computer-Architektur 133

gefuhrt werden. Dabei ist die Division durch ajj durch die Multiplikation mitder Inversen Blockmatrix A−1

jj zu ersetzen.Durch diese Blockbildung stehen die in diesem Schritt benotigten Zah-

len im Registerspeicher zur Verfugung und konnen ohne zusatzlichen Daten-fluss entsprechend abgearbeitet werden (vgl. auch den folgenden Abschnittuber Parallelisierbarkeit). Problematisch hierbei wird naturlich die Pivotsu-che: Anstelle des betragsgroßten Eintrags ist ein Block als Pivotblock aus-zuwahlen, der gut konditioniert.

Beispiel 31 (Matrix-Vektor-Produkt A · b). Wir partitionieren die Matrix Aund den Vektor b in Blocke

A =

⎛⎜⎜⎝a11 a12 a13 a14

a21 a22 a23 a24

a31 a32 a33 a34

a41 a42 a43 a44

⎞⎟⎟⎠ ; b =

⎛⎜⎜⎝b1

b2

b3

b4

⎞⎟⎟⎠ ;

A =(

A11 A12

A21 A22

); b =

(B1

B2

);

A · b =(

A11B1 + A12B2

A21B1 + A22B2

)Dann werden die ”kleinen“ Matrix-Vektor-Produkte Ai,jBj jeweils in ei-

nem Arbeitsschritt berechnet, wobei die Blockgroße der Große des Cache-Speichers angepasst ist. Anschließend werden diese Zwischenergebnisse zumLosungsvektor zusammengebaut.

Beispiel 32 (Matrix-Matrix-Multiplikation nach Strassen). Bei der Multipli-kation zweier Matrizen hat diese Art der Blockbildung noch einen weiterenVorteil. Das Verfahren von Strassen zeigt, dass durch rekursive Blockbildungdie Zahl der benotigten Operationen zur Berechnung von C = A × B ver-ringert werden kann. Bei der Ausfuhrung von drei FOR-Schleifen benotigtdas Matrixprodukt zwischen der k × n-Matrix A und der n × m-Matrix Binsgesamt O(nmk) Operationen. Diese Komplexitat kann durch Anwendungdes Divide-and-Conquer-Prinzips reduziert werden. Wir wollen hier nur denSpezialfall quadratischer Matrizen behandeln.

Wir partitionieren die n × n Matrizen A und B in der Form

A =(

A11 A12

A21 A22

), B =

(B11 B12

B21 B22

), C =

(C11 C12

C21 C22

).

Mit den Hilfsmatrizen

H1 = (A12 − A22)(B21 + B22), H2 = (A11 + A22)(B11 + B22),H3 = (A11 − A21)(B11 + B12), H4 = (A11 + A12)B22,

H5 = A11(B12 − B22), H6 = A22(B21 − B11)und H7 = (A21 + A22)B11

Page 138: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

134 11 Effiziente Losung linearer Gleichungssysteme

kann die Produktmatrix

C =(

H1 + H2 − H4 + H6 H4 + H5

H6 + H7 H2 − H3 + H5 − H7

)durch 7 Matrixmultiplikationen und 18 Matrixadditionen berechnet werden,wobei die beteiligten Matrizen nur noch halb so viele Zeilen und Spalten be-sitzen wie die Ausgangsmatrizen. Wenden wir auf die 7 neuen Matrixmultipli-kationen rekursiv wieder dasselbe Partitionierungsschema an, so lassen sichdie Gesamtkosten zur Berechnung der n×n-Matrix C dadurch auf O(nlog2(7))reduzieren.

Um dies zu beweisen, bezeichnen wir mit Mn die Kosten fur die Matrix-multiplikation und mit An die Kosten fur die Matrixaddition zweier n × n-Matrizen. Dann gilt fur die Kosten des Strassen-Algorithmus

M2n = 7Mn + 18An = 7Mn + 18n2.

Mit n = 2m und der Schreibweise Fm = M2m = Mn ergibt sich

Fm+1 = 7Fm + 18 · (2m)2 = 7(7Fm−1 + 18 · (2m−1)2

)+ 18 · 4m

= 49(7Fm−2 + 18 · 4m−2) + 7 · 18 · 4m−1 + 18 · 4m

= . . .

= 7mF1 + 18m−1∑j=0

7j · 4m−j = O(7m)

= O((

2log2(7))log2(n)

)= O(2log2(7)·log2(n)

)= O(nlog2(7)

)Daher ergeben sich fur die Matrixmultiplikationen nach der Methode von

Strassen Gesamtkosten von O(nlog2(7)) Operationen.

Ubung 47. Vergleiche fur verschiedene Werte von n die Kosten der Matrix-multiplikation nach dem Standardverfahren mit den Kosten fur den Strassen-Algorithmus. Fur welche n ist das neue Verfahren zu empfehlen?

Bei der Speicherung mehrdimensionaler Felder wie z.B. Matrizen mussauch noch ein weiterer Gesichtspunkt berucksichtigt werden. Um den Da-tenzugriff zu beschleunigen, ist es hilfreich zu wissen, wie mehrdimensionaleFelder im Speicher physikalisch abgelegt werden. So werden in der Program-miersprache C zweidimensionale Feldern zeilenweise abgespeichert, also inder Reihenfolge

a11, a12, · · · , a1n, a21, · · · , a2n, · · · , amn.

Will man also mit diesen Werten rechnen, so empfiehlt es sich, die Programm-schleife dieser Reihenfolge anzupassen in der Form

Page 139: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

11.2 Gleichungssysteme und Computer-Architektur 135

FOR i = 1,..,n:FOR j = 1,..,m:

... a[ij] ...;ENDFOR

ENDFOR

so dass in der inneren Schleife jeweils eine ganze Zeile elementweise angefor-dert wird. In FORTRAN wird eine solche Matrix spaltenweise im Speicherabgelegt, so dass die entsprechende Doppelschleife genau umgekehrt durch-gefuhrt werden sollte.

Haufig in Programmen auftauchende, einfache FOR-Schleifen (Loops) kon-nen effizienter programmiert werden. Ziel dabei ist es, den Verwaltungsauf-wand, der mit dem Loop verbunden ist, zu verringern und damit die Kos-tenrelation zwischen eigentlich auszufuhrenden Operationen und dem dazuerforderlichen Verwaltungs-Overhead zu verbessern. Betrachten wir z.B. deneinfachen Loop

a = 0;FOR j = 1,..,n:

a = a + x[j];ENDFOR

Nach jedem Rechenschritt muss stets j um 1 erhoht werden und abgefragtwerden, ob das Schleifenende erreicht ist. Effizienter setzen wir dafur mitn = m · k:

a = 0;FOR j = 1,..,n:

a = a + x (k * (j-1) + 1) + ... + x (k * (j-1) + k);ENDFOR

Dabei benotigen wir ganze Zahlen m und k, die Teiler von n sind.Mit BLAS und LAPACK stehen fur viele Standardprobleme wie Addi-

tion oder Inneres Produkt zweier Vektoren, sowie dem Losen von linearenGleichungssystemen optimierte Programme zur Verfugung, die bereits aufdie Speichergroße des verwendeten Rechners abgestimmt sein sollten [1].

Prinzip 2: Vektorisierbarkeit und Parallelisierbarkeit2. Heutige Rech-ner besitzen Prozessoren, die weitgehend mit Pipeline-Technik arbeiten. Dasheißt, dass eine Operation wie die Addition in einzelne Teilschritte zerlegtwird, die dann an vielen Daten gleichzeitig wie an einem Fließband ausgefuhrt2 Seinen ersten Computer baute Seymour Cray noch fur Control Data. Besessen

von der Idee, immer leistungsfahigere Computer zu bauen, grundete er 1976die Firma Cray Research. Sein erstes Modell, die Cray-1, kam auf eine Rechen-leistung von 167 Millionen Rechenoperation pro Sekunde. Heute baut die FirmaCray Computer, die inzwischen zum Silicon Graphics-Konzern (SGI) gehort, mo-derne Parallelrechner fur Forschungs-, militarische und meteorologische Zwecke.

Page 140: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

136 11 Effiziente Losung linearer Gleichungssysteme

werden. Damit dies effizient funktioniert, muss dafur gesorgt werden, dass diePipeline stets gefullt ist. Dann kann in jedem Takt ein vollstandig berechnetesEndergebnis das Fließband verlassen. Alle Operationen sollten entsprechendin der CPU vorbereitet sein und direkt in die Pipeline eingefuttert werden.

Operationen, die sich gut in einer Pipeline verarbeiten lassen, sind Vek-toroperationen wie das Addieren zweier Vektoren (in BLAS-Notation auchSAXPY-Operation genannt, da in einfacher Genauigkeit (Single precision)der mit der Zahl A multiplizierte Vektor x zu dem Vektor y addiert (Plus)wird).

x1

y1

+ykkx

Abb. 11.4. Allgemeines Schema einer Additionspipeline zur Berechnung von x+y.

Andere Probleme wie das Innere Produkt oder das Aufsummieren ein-zelner Vektorkomponenten lassen sich nicht so effizient durch Pipelines be-rechnen; dabei stecken oft im nachsten Schritt benotigte Zwischenwerte, dieaufaddiert werden sollen, noch mitten in der Pipeline, und die Abarbeitungmuss unterbrochen werden, bis diese Zwischenrechnung beendet ist und dieZahl an den Eingang der Pipeline transportiert wurde. Als Ausweg kann hierzur besseren Vektorisierbarkeit ein Fan-in-Prinzip verwendet werden. Dabeiwird die ursprungliche Summe durch Paarbildung zerlegt

x1 + x2 + . . . + x8 = ((x1 + x2) + (x3 + x4)) + ((x5 + x6) + (x7 + x8)).

Wir leiten also zunachst paarweise die voneinander unabhangigen Addi-tionen x1 + x2, x3 + x4, x5 + x6 und x7 + x8 in die Additionspipeline. Liegendie beiden ersten Ergebnisse x1 + x2 und x3 + x4 vor, so konnen diese wie-der an den Beginn der Pipeline weitergereicht werden, um die Summe derersten vier Zahlen zu berechnen. Auf diese Weise kann fur eine hohe Auslas-tung der Pipeline gesorgt werden, ohne allzu lange Wartezeiten auf benotigteZwischenergebnisse.

Zur Losung großer Probleme werden verstarkt Parallelrechner eingesetzt.Dazu ist es notwendig, das Ausgangsproblem so zu formulieren, dass es inweitgehend unabhangige Teile zerlegbar ist, die dann auf verschiedenen Pro-zessoren selbststandig abgearbeitet werden konnen. Gut parallelisierbar istz.B. das Matrix-Vektor-Produkt Ax, da die Matrix zeilenblockweise auf dieverfugbaren Prozessoren verteilt werden kann. Somit sind diese Prozessorenin der Lage, ihre Teilkomponente des Losungsvektors ohne weitere Kommu-nikation zu berechnen.

Page 141: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

11.2 Gleichungssysteme und Computer-Architektur 137

Schlecht parallelisierbar ist das Auflosen von Dreiecksgleichungssystemen.Denn hier werden der Reihe nach die bereits berechneten Komponenten beider Berechnung der nachsten Komponenten benotigt. Wir sprechen dahervon einem rein sequentiellen Vorgehen, das in dieser Form keine vollstandigeAufspaltung in parallele Teilprobleme zulasst.

Als Faustregel konnen wir festhalten, dass in einem Programmteil, deraus Mehrfachschleifen besteht, darauf geachtet werden sollte, die innersteSchleife moglichst einfach und gut vektorisierbar zu machen, und die außersteSchleife so, dass sie moglichst umfangreich ist und Aufrufe - unabhangig vonden anderen Aufrufen - parallel abgearbeitet werden konnen. Dadurch wirdeine optimale Ausnutzung der Pipelines und der evtl. mehrfach vorhandenenProzessoren gewahrleistet.

Betrachten wir nach dem bisher Gesagten nochmals unseren Algorith-mus der Gauß-Elimination ohne Pivotsuche und ohne Berucksichtigung derrechten Seite b etwas genauer:

FOR k = 1,...,n-1:FOR s = k+1,...,n:

l[sk] = a[sk] / a[kk];ENDFORFOR i = k+1,...,n:

FOR j = k+1,...,n:a[ij] = a[ij] - l[ik] * a[kj];

ENDENDFOR

ENDFOR

Diese Variante wird als die kij-Form der Gauß-Elimination bezeichnet.Die innerste Schleife bedeutet, dass von dem Vektor ai., das ist die i-te Zeile,der Vektor ak. (die k-te Zeile) skaliert abgezogen wird. Dies ist eine gut zuvektorisierende Operation. Allerdings sollte wieder darauf geachtet werden,dass der Zugriff auf eine Matrix in der Programmiersprache C zeilenweise,in FORTRAN jedoch spaltenweise erfolgt. In FORTRAN ist daher die kji-Form vorzuziehen, bei der die letzten beiden FOR-Anweisungen vertauschtsind. Dann werden dadurch nicht Zeilenvektoren addiert, sondern Spalten-vektoren. Bei allen Varianten der Gauß-Elimination, die durch Vertauschungder Reihenfolge der Schleifen gebildet werden, ist darauf zu achten, dass inden FOR-Schleifen fur die Indizes stets gilt: n ≥ i > k und n ≥ j > k.

Noch gunstiger in Bezug auf Ausnutzung der Eigenschaften von Prozes-soren ist die ikj-Form:

FOR i = 2,...,n:FOR k = 1,...,i-1:

l[ik] = a[ik) / a[kk);FOR j = k+1,...,n:

a[ij] = a[ij) - l[ik) * a[kj);

Page 142: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

138 11 Effiziente Losung linearer Gleichungssysteme

ENDFORENDFOR

ENDFOR

In der ikj-Form lassen sich die beiden inneren Schleifen auffassen alsmehrfache Vektoraddition der i-ten Zeile mit den ersten Zeilen von U , d.h.den schon auf obere Dreiecksform gebrachten oberen Teil von A.

Auf Parallelrechnern empfiehlt es sich, Block-Varianten der Gauß-Elimi-nation zu verwenden. Wie bei den ijk-Varianten kann man sich fur verschie-dene Reihenfolgen der Berechnung der Block-Faktoren L und U entscheiden.Je nach Art der Abarbeitung unterscheiden wir hier rechtsschauende, links-schauende und Crout-Variante der Gauß-Elimination. Bei der linksschauen-den Variante wird im aktuellen Schritt genau eine Block-Spalte in L, bzw.U neu berechnet, und die links davon stehenden Teile von L verwendet. Dierechtsschauende Variante entspricht der normalen Gauß-Elimination (kij-Form), bei der der linke und obere Teil von A, L, und U nicht mehr verandertwird.

Im Folgenden wollen wir zunachst die Crout-Variante genauer untersu-chen. Der Rechenfluss sieht so aus, dass L von links nach rechts und U vonoben nach unten berechnet werden soll; dabei werden die bereits berechne-ten Teile oben links von L und U nicht mehr und der noch nicht benutzterechte untere Teil von A noch nicht verwendet. Wir stellen uns vor, dass wirfolgende Partitionierung von L und U bereits erreicht haben:

L =

⎛⎝L11

L21 L22

L31 L32 L33

⎞⎠ , U =

⎛⎝U11 U12 U13

U22 U23

U33

⎞⎠ .

Dabei seien die erste Blockspalte von L und die erste Blockzeile von Uschon bekannt. Ziel ist es, im nachsten Schritt die mittlere Blockspalte vonL, resp. Blockzeile von U zu berechnen. Dazu formulieren wir die BedingungA = LU fur die Blocke, also

LU =

⎛⎝L11

L21 L22

L31 L32 ∗

⎞⎠⎛⎝U11 U12 U13

U22 U23

⎞⎠

=

⎛⎝L11U11 L11U12 L11U13

L21U11 L21U12 + L22U22 L21U13 + L22U23

L31U11 L31U12 + L32U22 ∗

⎞⎠=

⎛⎝A11 A12 A13

A21 A22 A23

A31 A32 A33

⎞⎠ .

Die mit ∗ gekennzeichneten Teile von L und U wurden noch nicht benutzt.Die neu zu erfullenden Bedingungen ergeben sich dann an den Positionen A22,

Page 143: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

11.2 Gleichungssysteme und Computer-Architektur 139

A23 und A32. Sie lauten(L22

L32

)U22 =

(A22

A32

)−(

L21

L31

)U12 =:

(A22

A32

)und

L22U23 = A23 − L21U13 =: A23.

Die erste Gleichung losen wir durch Anwendung der Gauß-Eliminationauf die Matrix (

A22

A32

)und erhalten daraus die Teile L22, L32 und U22; die zweite Gleichung liefertdann durch Auflosen des Dreicksgleichungssystems in L22 die Matrix U23 =L−1

22 A23.Die neu berechneten Teile konnen nun zu L•1 und U1• aufgenommen

werden. Daraufhin fuhrt eine Aufspaltung der bisher unberucksichtigten ∗-Teile zu neuen Mittelblocken L•2 und U2•, die wieder auf die selbe Weiseberechnet werden konnen.

Abb. 11.5. Berechnungsschema bei der Berechnung der LU-Faktorisierung nachCrout. Der linke Spaltenblock von L und der obere Zeilenblock von U sind bereitsberechnet (gestrichelt); aktuell sollen der mittlere Spaltenblock von L und der mitt-lere Zeilenblock von U berechnet werden (durchgezogene Linie); die Blocke rechtsunten in L und U werden noch nicht berucksichtigt (gepunktet).

Wir wollen auch noch andere Methoden betrachten, die LU -Zerlegung zuberechnen. Bei der so genannten linksschauenden Variante wird jedes Malgenau eine Blockspalte in L, bzw. in U neu berechnet; dabei werden alleTeile links von diesen Spalten als bekannt vorausgesetzt und verwendet. Da-her werden L.1 und U.1 benutzt, um L22, L23, U12, und U22 zu bestimmen.

Page 144: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

140 11 Effiziente Losung linearer Gleichungssysteme

Abb. 11.6. Berechnungsschema bei der Berechnung der LU-Faktorisierung nachlinks-schauenden Variante. Die linken Spaltenblocke von L und U sind bereits be-rechnet (gestrichelt); aktuell sollen die mittleren Spaltenblocke von L und von Uberechnet werden (durchgezogene Linie); die rechten Spaltenblocke in L und Uwerden noch nicht berucksichtigt (gepunktet).

v

b v

n

Abb. 11.7. Blockweise Partitionierung nach Crout.Dabei bezeichnet v die schon berechneten und in diesem Schritt auch noch ver-wendeten Daten; n sind die bisher noch nicht verwendeten und auch noch nichtberechneten Daten in L und U . b bezeichnet den Teil, der bereits berechnet, abernicht mehr verwendet wird. Schraffiert sind die gerade zu bestimmenden Blockspal-ten und -zeilen von L und U .

Speziell ergibt sich U12 aus U12 = L−111 A12. Die anderen Blocke konnen dann

ahnlich wie bei Crout gewonnen werden aus der LU -Zerlegung

Page 145: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

11.2 Gleichungssysteme und Computer-Architektur 141(L22

L32

)U22 =

(A22

A32

)−(

L21

L31

)U12 =:

(A22

A32

).

Danach werden die Blocke in L, U und A neu partitioniert; die geradeberechneten Teile werden in die erste Blockspalte aufgenommen; aus der altendritten Blockspalte wird eine neue mittlere Blockspalte gewonnen, die die alsnachstes zu berechnenden Elemente enthalt. Nun wiederholen wir das obigeVerfahren, bis L und U insgesamt bestimmt sind.

Zur Beschreibung der rechtsschauenden Methode verwenden wir ein re-kursives Verfahren Wir partitionieren die Matrizen in 2 × 2 Blocke in derForm

L =(

L11 0L21 L22

), U =

(U11 U12

0 U22

),

A =(

A11 A12

A21 A22

)=(

L11U11 L11U12

L21U11 L21U12 + L22U22

).

Zunachst bestimmen wir L11 und U11 aus einer kleinen LU -Zerlegung vonA11. Danach konnen wir L21 = A21U

−111 und U12 = L−1

11 A12 berechnen. ZurBestimmung von L22 und U22 betrachten wir

A := L22U22 = A22 − L21U12 .

Die Berechnung der LU -Zerlegung von A liefert dann L22 und U22. Dazupartitionieren wir A wieder in 2 × 2 Blockform, womit wir wieder in derAusgangslage sind, diesmal mit A an Stelle von A. Dieses Vorgehen konnenwir also rekursiv wiederholen, bis ganz A abgearbeitet ist.

Diese Blockversionen der LU -Zerlegung beruhen in jedem Teilschritt aufkleineren Dreiecksgleichungssystemen, kleineren LU -Zerlegungen und kleine-ren Matrix-Matrix-Produkten. Das Arbeiten in Blocken fuhrt zu einer Verbes-serung des Datenflusses; außerdem besteht ein Großteil der Rechnungen nunaus einfachen Matrix-Matrix-Produkten. Die parallele Aufteilung der aus-zufuhrenden Operationen ist so wesentlich leichter durchfuhrbar. Dies erhohtdie Effizienz und erlaubt hohere Megaflop-Raten, besonders fur die rechts-schauende und fur die Crout-Variante.

Fur eine symmetrisch positiv definite Matrix A kann nach demselben Be-rechnungsschema wie bei Crout eine Cholesky-Zerlegung A = LT L bestimmtwerden. Dabei gilt wegen der Symmetrie U = LT ; man spart daher Kostenund Speicher, da mit L gleichzeitig auch U berechnet wird. Dadurch ent-steht ein Algorithmus, der in n3/3 + O(n2) Operationen nur halb so teuerist wie die urspungliche Gauß-Elimination. Das Cholesky-Verfahren lasst sichbeschreiben durch das Programm

Page 146: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

142 11 Effiziente Losung linearer Gleichungssysteme

FOR j=1,...,n:L[j,j]=A[j,j];FOR k=1,...,j-1:

L[j,j]=L[j,j]-L[j,k]^2;ENDFORL[j,j]=sqrt(L[j,j]);FOR i=j+1,...,n:

L[i,j]=A[i,j];FOR k=1,...,j-1:

L[i,j]=L[i,j]-L[i,k]*L[j,k]/L[j,j];ENDFOR

ENDFORENDFOR

Ubung 48. Es soll nachgepruft werden, dass die durch obiges Programmberechnete Matrix L eine Cholesky-Faktorisierung A = LT L liefert.

Zusammenfassung: Zum Erstellen effizienter Programme ist es wichtig,Speichereffekte, Datenfluss und -zugriff zu berucksichtigen. Bei Mehrfach-schleifen sollte sich die innerste Schleife einfach und gut zur Fließbandverar-beitung eignen; der außerste Loop sollte umfangreich und gut parallelisierbarsein. Das blockweise Aufteilen der Daten fuhrt meist zu schnelleren Laufzei-ten.

Als Hilfsmittel zur Erstellung von Programmen auf Parallelrechnern ste-hen inzwischen mit PVM3, MPI4 und OpenMP leistungsfahige Tools zurVerfugung. Weiterhin ist High Performance FORTRAN eine Programmier-sprache, die auf die Verwendung in paralleler Umgebung zugeschnitten ist.

3 Parallel Virtual Machine4 Message Passing Interface

Page 147: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

12 Anwendungsbeispiele

”Insofern sich die Satze der Mathematik auf die Wirklichkeit bezie-hen, sind sie nicht sicher, und insofern sie sicher sind, beziehen siesich nicht auf die Wirklichkeit.“

Albert Einstein

12.1 Computertomographie

Bei der Computertomographie stehen wir vor der Aufgabe, uber das Innen-leben eines Gegenstandes genauere Information zu erhalten, ohne den Ge-genstand zu zerlegen (was wohl besonders bei lebenden Organismen nichtangebracht ware). Insbesondere soll die Dichtefunktion im Inneren des Ge-genstands bestimmt werden, mit deren Hilfe dann einzelne Bestandteile (Kno-chen, Organe) identifiziert werden konnen.

Die Dichte des Korpers ist dafur verantwortlich, daß z.B. ein Rontgen-strahl beim Durchlaufen des Gegenstandes an Intensitat verliert. Die Aufga-be der Computertomographie besteht darin, aus diesen Intensitatsverlustenuber moglichst viele Strahlenrichtungen ein Bild des Innenlebens des Gegen-standes zu errechnen.

Körper

0 I 1I

Strahla b

Intensität

S

Intensität

Abb. 12.1. Intensitatsverlust bei Durchstrahlung eines Korpers.

Der infinitesimale Intensitatsverlust dI an einer Stelle s im Korper ist pro-portional zur Dichte und Intensitat an dieser Stelle s und zur infinitesimalenLange ds, die wir betrachten, also

Page 148: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

144 12 Anwendungsbeispiele

dI = −�(s)Ids.

Daraus ergibt sich fur den Intensitatsverlust I0/I1 durch Integration entlangdes Strahls S ∫ I1

I0

dI

I= ln(

I1

I0

)= −∫ b

a

�(s)ds

oder ∫ b

a

� ds = ln(

I0

I1

).

Durch Messgerate konnen I0 und I1 fur beliebige Strahlen bestimmt wer-den, aber naturlich nur fur endlich viele. Aus diesen endlich vielen Messwertensoll eine Abschatzung fur die Dichte � im Inneren abgeleitet werden.

Wir wollen hier das Problem nur in sehr vereinfachter Form zweidimen-sional behandeln. Dazu nehmen wir eine einfache Flache Q, die in 9 QuadrateQij , i, j = 1, 2, 3 konstanter Dichte �ij eingeteilt ist.

0 I 1L 21IS

Abb. 12.2. Einfaches Modell zur Computertomographie.

Fur den Intensitatsverlust eines Strahles Sk folgt aus diesen Vorgaben

Vk = ln(

I0

I1

)=

3∑i,j=1

∫Qij

�ijds =3∑

i,j=1

�ijLk,ij ,

wobei Lk,ij die Lange des Strahls Sk im Quadrat Qij ist.Fur jeden Strahl Sk liefert dies eine Gleichung zwischen den unbekann-

ten Dichten �ij und dem gemessenen Intensitatsverlust Vk. Die dazugehorigeMatrix hangt von der Aufteilung des Korpers in Segmente ab und von denausgewahlten Strahlen.

Wir wahlen mindestens neun Strahlen S1, . . . , Sm aus, messen Vk undversuchen daraus die Dichten �ij zu bestimmen. Wir verteilen die gesuchtenDichtewerte in den Vektor

r = (�11, �12, �13, �21, . . . , �33)T

Page 149: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

12.1 Computertomographie 145

mit Komponenten rl, l = 1, . . . , 9, und die Intensitatsverluste in den VektorV = (V1, . . . , Vm).

Um die gemessenen Werte so gut wie moglich mit einer passenden Dichte-funktion zur Ubereinstimmung zu bringen, verwenden wir wieder das lineareAusgleichsproblem der Form

min ‖(Lk,l)m, 9k=1, l=1 r − V ‖2.

Die gesuchte Dichte ist dann die Losung der Normalgleichung

LT Lr = LT V.

Ubung 49. Als Strahlen wahlen wir drei Diagonalen, drei waagrechte unddrei senkrechte Strahlen durch die Mittelpunkte der Zellen. Durch diese geo-metrischen Vorgaben ist die Matrix L bestimmt. Ist LT L eine regulare Ma-trix? Wie sieht das regularisierte Gleichungssystem aus (vgl. Kapitel 10.3)?

Abb. 12.3. Strahlenverlauf zu Ubung 49.

Zu der in Abb. 12.3 beschriebenen Geometrie betrachten wir eine Dich-teverteilung, bei der alle �ij gleich Null sind und nur das Quadrat �31 denWert Eins hat. Aus diesen Daten soll der sich ergebende Vektor der Inten-sitatsverluste V theoretisch berechnet werden. Daraus soll durch Auflosen desregularisierten Gleichungssystems eine Dichteverteilung r ermittelt werden.Durch Hinzufugen weiterer Strahlen lasst sich eine bessere Naherung an diegegebene Dichtefunktion bestimmen.

Fur praktische Anwendungen erweist sich dieses einfache Modell als nichtgeeignet. Bessere Verfahren findet man z.B. in [39].

Page 150: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

146 12 Anwendungsbeispiele

12.2 Neuronale Netze

Neuronale Netze dienen der Modellierung komplexer Systeme und sind derFunktionsweise des menschlichen Gehirns nachempfunden. Im einfachstenFall besteht das Netz aus n Knoten N1, . . . , Nn. Jeder Knoten Ni empfangtein Eingangssignal xi, verstarkt dieses Signal mit einem Faktor wi und gibt esan einen gemeinsamen Ausgangsknoten weiter, der alle eingehenden Signaleaufsummiert zu

y =n∑

i=1

wixi.

Auf den Wert y wird dann noch eine Entscheidungsfunktion f(.) angewendet,und der Funktionswert f(y) ist dann die Ausgabe des Neuronalen Netzes.

i

n

w2x2

x3 w3

wx

xn

11

f( . )

......

xiwΣ

w

Abb. 12.4. Einschichtiges Neuronales Netz mit Funktion f(y).

Oft ist man daran interessiert, gegebene Eingabedaten x1, . . . , xn auto-matisch auf eine gesuchte Eigenschaft hin zu analysieren. Dazu definieren wirdie Funktion f : IRn → {0, 1}, so dass sie abhangig von y dann Null(=Nein)oder Eins(=Ja) liefert. Auf diese Weise kann ein Neuronales Netz wie inAbb. 12.4 beschrieben dazu dienen, bestimmte Eigenschaften der Zahlen xi

zu erkennen und durch den Wert Null oder Eins anzuzeigen.Als Beispiel wollen wir die Steuerung der Wassermenge in einer Waschma-

schine betrachten. Nach Einfullen einer gewissen Wassermenge prufen meh-rere Sensoren die Trubung des Wassers durch Schmutz anhand von n Wer-ten xi der Lichtdurchlassigkeit des Wassers (trubes Wasser bedeutet starkverschmutzte Wasche). Wir konnen mittels wi := 1/n die Zahl y als denMittelwert der xi berechnen. Unterschreitet y nun einen bestimmten vorge-gebenen Wert, so wird dies als stark verschmutzte Wasche interpretiert unddie Waschmaschine kann darauf reagieren, indem sie mehr Wasser hinzufugtund die Waschzeit verlangert. Die dazugehorige Funktion f(y) ist in diesemFall also definiert durch

Page 151: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

12.3 Leontief’sches Weltmodell 147

f(y) ={

0, falls y < α1, sonst.

In Verbindung mit Fuzzy-Steuerungsmechanismen finden solche Verfah-ren verstarkt Anwendung in alltaglichen Gebrauchsgeraten.

Ein Neuronales Netz ist hauptsachlich durch die Gewichte wi bestimmt,die daher so zu wahlen sind, dass das Netz die gesuchte Losung eines Pro-blems finden und angeben kann. Bei komplizierteren Fragestellungen uber-nimmt diese Aufgabe ein Lernalgorithmus, der anhand von Testbeispielen dasNeuronale Netz optimiert, so dass das Netz moglichst die gewunschte richtigeAntwort in Form einer Zahl y liefert. Um geeignete Gewichte zu konstruie-ren, gehen wir also davon aus, dass wir Tests Bj mit Eingabedaten x(j) undbekannten Resultaten yj verwenden, j = 1, . . . , m. Wir fuhren die Vektorenw = (w1, . . . , wn)T , y = (y1, . . . , ym)T und x(j) = (x(j)

1 , . . . , x(j)n )T ein. Dann

sind die Gewichte so zu wahlen, dass

n∑i=1

wix(j)i = wT x(j) = x(j)T w ≈ yj, j = 1, . . . , m

ist. Verwenden wir wieder die euklid’sche Norm, so fuhrt dies auf das LineareAusgleichsproblem

minw

‖Xw − y‖2, X =

⎛⎜⎜⎝x(1)T

...x(m)T

⎞⎟⎟⎠ ,

und das gesuchte Neuronale Netz ist gegeben durch die Gewichte, die wir ausder Losung von

XT Xw = XT y

erhalten.

12.3 Leontief’sches Weltmodell

Wir betrachten ein einfaches Modell fur den Ressourcenaustausch von Pro-dukten zwischen Herstellern H1, . . . , Hn. Die Produktionsmenge wird ange-geben in e als Preis, der fur die entsprechende Menge zu zahlen ist. Es sei ai,j

der Preis, fur den Hj von Hi Waren einkaufen muss, um selbst seine eigenenWaren im Wert von 1 e produzieren zu konnen. Die Matrix A = (ai,j)n

i,j=1

beschreibt dann die kompletten Wirtschaftsbeziehungen der beteiligten Her-steller. In dem Vektor x = (x1, . . . , xn)T bezeichne xi die Gesamtproduktiondes Herstellers Hi.

Wir nehmen zunachst an, dass die n Hersteller nur untereinander lie-fern, also kein Export nach außen stattfindet. Dann handelt es sich bei den

Page 152: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

148 12 Anwendungsbeispiele

Wirtschaftsbeziehungen um einen stationaren Prozess.∑n

i=1 ai,j ist die Wa-renmenge, die Hj insgesamt bei den anderen einkaufen muss, um Waren fur1 e produzieren zu konnen; daher ist(

1 · · · 1)A =(1 · · · 1

)oder

AT

⎛⎜⎝1...1

⎞⎟⎠ =

⎛⎜⎝1...1

⎞⎟⎠ .

Matrizen mit dieser Eigenschaft heißen stochastische Matrizen.Die i-te Komponente von Ax, namlich

∑nj=1 ai,jxj , ist dann die Waren-

menge, die Hersteller Hi an die anderen Produzenten liefert und damit gleichder Produktion von Hi. Also gilt in diesem geschlossenen Wirtschaftsmodell

Ax = x .

Zur Beschreibung der Produktionsmengen, die notwendig sind, damit derWirtschaftskreislauf funktioniert, mussen wir also ein Gleichungssystem

(A − I)x = 0

losen.Das Problem, einen Vektor x mit der Eigenschaft Ax = λx, λ ∈ IR, zu

finden, heißt Eigenwertproblem (vgl. Anhang B.4). Mit obiger Gleichung istalso ein Eigenvektor x zu dem Eigenwert Eins gesucht.

Ubung 50. Wie lasst sich ein singulares lineares Gleichungssystem wie (A−I)x = 0 durch Gauß-Elimination losen? Wie viele Losungen gibt es, wenn dieMatrix A − I vom Rang n − 1 ist?

Lassen wir Export zu, so sprechen wir von einem offenen Weltmodell.Dann hat jeder Produzent auch die Moglichkeit, seine Waren noch an andereAbnehmer zu verkaufen. Diese zusatzliche Produktion sei ausgedruckt durchden Vektor b, wobei bi wieder die zusatzliche Produktion von Hi bezeichne.Die Eintrage der Matrix A haben im offenen Modell andere Werte als imgeschlossenen Modell; insbesondere ist nicht mehr (1 · · · 1)A = (1 · · · 1), dadas Modell Austausch mit anderen Partnern zulasst.

Nun beschreibt (Ax)i die internen Lieferungen von Hi, und der Uber-schuss zwischen den internen Lieferungen und der Gesamtproduktion mussgleich dem Export sein. Daher erfullt die Gesamtproduktion die Gleichung

Ax + b = x, oder (I − A)x = b .

Es ist diesmal ein lineares Gleichungssystem mit einer Matrix I −A zu losen.

Page 153: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

13 Aufgaben

”A mathematician is a blind man in a dark room looking for a blackcat which isn’t there“

Charles R. Darwin

Ubung 51. Berechnen Sie das Matrix-Vektor-Produkt(uv

)=(

a bc d

) (xy

)Die Eingangsdaten x und y seien mit einem relativen Fehler εx bzw. εy

behaftet. Die absoluten Fehler bezeichnen wir mit Δu, Δv, Δx und Δy. DieElemente der Matrix A seien exakt.

a) Bestimmen Sie den relativen Fehler Δu in Abhangigkeit der Eingangs-fehler und der bei Addition und Multiplikation auftretenden Rundungs-fehler. Wann ist die Aufgabe, u zu berechnen, schlecht konditioniert?

b) Wir nehmen an, dass die auftretenden Rechnungen exakt ausgefuhrt wer-den. Bestimmen Sie den relativen Fehler des Vektors (u, v)T in Abhangig-keit vom relativen Fehler des Vektors (x, y)T :

(Δu, Δv)T

‖(u, v)T ‖ = f(x, y, Δx, Δy) · (Δx, Δy)T

‖(x, y)T ‖ , f =?

c) Geben Sie eine Ungleichung an, die die Norm dieses relativen Fehlersdurch den relativen Fehler im Eingabevektor (x, y)T mittels der Kondi-tion von A begrenzt.

d) Wann ist die Aufgabe, den Vektor (u, v)T zu berechnen, schlecht kondi-tioniert?

Ubung 52 (Kondition einfacher Matrizen). Bestimmen Sie die Kondi-tion der folgenden Matrizen:

a) A1 = diag(1, 2) und A2 = diag(1, 2, · · · , 100),

b) A3 =(

1 11 −1

),

Page 154: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

150 13 Aufgaben

c) A4 = A1 ∗ A3 und A5 = A3 ∗ A1.

Ubung 53 (Matrixkondition und QR-Zerlegung). Im Folgenden be-trachten wir die Matrix A ∈ IR2,2, gegeben durch

A =(

1 10001000 1

).

Zudem definieren wir die Einheitsvektoren e1 = (1, 0)T und e2 = (0, 1)T .

a) Berechnen Sie die die beiden Matrix-Vektor-Produkte Ae1 und Ae2.Zeichnen Sie die beiden Ergebnisvektoren zusammen mit den Einheits-vektoren in ein Koordinatensystem. Begrunden Sie damit, warum dieMatrix A ihrer Meinung nach eher oder eher schlecht konditioniert ist.

b) Berechnen Sie die LU -Zerlegung (ohne Pivotsuche) von A. BestimmenSie dann die beiden Matrix-Vektor-Produkte Le1 und Le2. Liefern Sie(wiederum mit Hilfe einer Zeichnung) Anhaltspunkte fur die Konditionvon L.

c) Berechnen Sie die QR-Zerlegung von A. Treffen Sie analog zur Vorge-hensweise in den Teilaufgaben a) und b) eine begrundete Aussage uberdie Kondition der Matrix Q.

Ubung 54. Gegeben ist ein lineares Gleichungssystem mit einer Tridiago-nalmatrix ⎛⎜⎜⎜⎜⎜⎜⎜⎝

a1 c1 0 · · · 0

d2 a2 c2

...

0. . . . . . . . . 0

.... . . . . . cn−1

0 · · · · · · dn an

⎞⎟⎟⎟⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎝

x1

x2

...

...xn−1

xn

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎠=

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎝

b1

b2

...

...bn−1

bn

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎠a) Formulieren Sie das Verfahren der Gauß-Elimimation ohne Pivotsuche in

einem Pseudocode zur Losung des obigen Gleichungssystems.b) Wieviele Additionen, Multiplikationen, Divisionen benotigt dieser Algo-

rithmus?c) Man untersuche die Fragestellung von Teilaufgabe a) und b) fur den Fall

von Spalten-, Zeilen- und Total-Pivotsuche.

Ubung 55. Gegeben ist ein lineares Gleichungssystem der Form⎛⎜⎜⎜⎜⎜⎜⎜⎜⎝

a1,1 a1,2 0 · · · 0 a1,n

a2,1 a2,2 a2,3 0 · · · 0

0 a3,2. . . . . . . . .

......

. . . . . . . . . . . . 00 · · · 0 an−1,n−2 an−1,n−1 an−1,n

an,1 0 · · · 0 an,n−1 an,n

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎝

x1

x2

...

...xn−1

xn

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎠=

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎝

b1

b2

...

...bn−1

bn

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎠

Page 155: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

13 Aufgaben 151

a) Beschreiben Sie, wie sich die Besetztheitsstruktur der Matrix andert,wenn Sie Gauß-Elimination ohne Pivotsuche durchfuhren.

b) Geben Sie ein Verfahren an, die Eintrage der Matrix so zu speichern, dassim Verlauf der Gauß-Elimination ohne Pivotsuche keine uberflussigenNullen gespeichert werden.

c) Formulieren Sie das Verfahren der Gauß-Elimimation ohne Pivotsuche ineinem Pseudocode zur Losung des obigen Gleichungssystems. Benut-zen Sie dabei die in b) definierte Speicherung der Matrix. Schatzen Siegroßenordnungsmaßig die Anzahl der anfallenden Rechenoperationen ab.

d) Wie kann sich die Struktur der Matrix andern, wenn Sie Spalten-Pivot-suche durchfuhren?

Ubung 56. Gegeben ist das lineare Gleichungssystem in Hessenberg-Form

⎛⎜⎜⎜⎜⎜⎜⎝

h1,1 h1,2 · · · · · · h1,n

h2,1 h2,2 · · · · · · h2,n

0. . . . . .

......

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

0 · · · 0 hn,n−1 hn,n

⎞⎟⎟⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎝

x1

x2

...

...xn−1

xn

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎠=

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎝

b1

b2

...

...bn−1

bn

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎠a) Formulieren Sie in einem Pseudo-Code das Verfahren der Gauß-Elimi-

nation ohne Pivotsuche unter Ausnutzung der Struktur der gegebenenMatrix.

b) Wie viele Operationen benotigen Sie großenordnungsmaßig?c) Womit ist zu rechnen, wenn Sie Spalten- oder Zeilen-Pivotsuche zulassen?

Ubung 57. Zu zwei Vektoren u und v der Lange n ist das Produkt uvT einen× n-Matrix. Zeigen Sie zu einer regularen n× n-Matrix mit vT A−1u = −1die Sherman-Morrison-Woodbury-Formel:

(A + uvT

)−1= A−1 − A−1uvT A−1

(1 + vT A−1u).

Gegeben sei eine dunnbesetzte Matrix der Form⎛⎜⎜⎜⎝∗∗ ∗...

. . .∗ ∗

⎞⎟⎟⎟⎠ .

Geben sie die Inverse dieser Matrix explizit an.

Ubung 58. Wie viele Operationen sind notig, um fur eine n × m-Matrix,n ≥ m mit vollem Rang, die QR-Zerlegung mittels Givens-Reflexionen zuberechnen?

Page 156: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

152 13 Aufgaben

Ubung 59. Wie viele Operationen sind notig, um fur eine symmetrische,positiv definite n×n-Matrix, die Cholesky-Zerlegung zu berechnen?

Ubung 60. Bestimmen Sie eine QR-Zerlegung der Form AP = QR fur dieMatrix

A =

⎛⎝0 2 10 0 10 0 1

⎞⎠ .

Ubung 61. Bestimmen Sie die effiziente Speicherung und Varianten derGauß-Elimination bei linearen Gleichungssystemen mit Matrizen folgenderGestalt:

AX =

⎛⎜⎜⎜⎜⎝∗ ∗∗ ∗∗

∗ ∗∗ ∗

⎞⎟⎟⎟⎟⎠ , AN =

⎛⎜⎜⎜⎜⎝∗ ∗∗ ∗ ∗∗ ∗ ∗∗ ∗ ∗∗ ∗

⎞⎟⎟⎟⎟⎠ , AZ =

⎛⎜⎜⎜⎜⎝∗ ∗ ∗ ∗ ∗

∗∗

∗∗ ∗ ∗ ∗ ∗

⎞⎟⎟⎟⎟⎠ .

Page 157: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Teil IV

Interpolation und Integration

Page 158: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

14 Interpolation

”Der Begriff der Mathematik ist der Begriff der Wissenschaft uber-haupt.“

Novalis

14.1 Interpolationsaufgabe

Die Technik der Interpolation war schon vor dem Computerzeitalter weitverbreitet und notwendig. In Tafelwerken, die man heute fast nur noch an-tiquarisch kaufen kann, waren fur bestimmte Funktionen wie Logarithmus,Exponentialfunktion, Sinus oder Cosinus die Werte an vorgegeben Stellentabelliert. So konnten fur die Exponentialfunktion aus dem Tafelwerk dieWertepaare exp(0.45) = 1.5683 und exp(0.46) = 1.5841 abgelesen werden.War der Wert exp(0.454) gesucht, so wurde diese Zahl durch lineare Interpo-lation naherungsweise berechnet. Dazu bestimmte man zu den Wertepaarenan den Stellen 0.45 und 0.46 das dazugehorige Interpolationspolynom vomGrad 1, das entspricht der Geraden durch diese Punkte. Als Naherungswertfur exp(0.454) wurde dann der Wert dieser Geraden an der Stelle 0.454 ge-setzt, also

1.574598 . . . = exp(0.454)

≈ 1.5683 +1.5841− 1.5683

0.46 − 0.45(0.454 − 0.45)

= 1.5746.

Unter Verwendung von mehr Stutzstellen und Polynomen hoheren Gradeslasst sich ein besserer Naherungswert bestimmen.

Definition 26. Unter einem Interpolationsproblem verstehen wir

– zu paarweise verschiedenen Stellen xj und dazu gehorigen vorgegebenenWerten yj, j = 0, 1, . . . , n, die zu einer unbekannten Funktion f(x) mitf(xj) = yj gehoren,

Page 159: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

156 14 Interpolation

exp(x)

0.45 0.46

1.574598

0.4541.5683

1.5841

1.5746

Abb. 14.1. Naherungsweise Berechnung von exp(0.454).

– und gegebenen Ansatzfunktionen g0(x), . . . , gn(x) (wie zum Beispiel xk

oder cos(kx), jeweils fur k = 0, . . . , n)

Koeffizienten c0, c1, . . . , cn zu finden, so dass

G(xj) =n∑

k=0

ckgk(xj) = yj, mit j = 0, 1, . . . , n,

gilt.

Ziel ist es also, eine gegebene Funktion durch Linearkombination der An-satzfunktionen so anzunahern, dass die beiden Funktionen an den Stutzstel-len genau ubereinstimmen. Diese n+1 Bedingungen beschreiben ein linearesGleichungssystem der Form⎛⎜⎝ g0(x0) g1(x0) · · · gn(x0)

......

...g0(xn) g1(xn) · · · gn(xn)

⎞⎟⎠⎛⎜⎝ c0

...cn

⎞⎟⎠ =

⎛⎜⎝ y0

...yn

⎞⎟⎠ .

Durch Losen dieses Systems konnen wir die gesuchten Koeffizienten cj

und die Funktion G(x), die als Linearkombination aus den Ansatzfunktionendie Interpolationsbedingung erfullt, berechnen.

Zur Unterscheidung sei noch auf das damit eng verwandte Approximati-onsproblem verwiesen. Bei der Approximation suchen wir ebenfalls Koeffizi-enten c0, . . . , cm zu Ansatzfunktionen g0(x), . . . , gm(x), so dass zum Beispielbezuglich der euklid’schen Norm⎛⎝ n∑

j=0

(m∑

k=0

ckgk(xj) − yj

)2⎞⎠

minimal wird (vgl. Kapitel 10). In beliebiger Vektornorm lautet das Problemalso:

Page 160: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

14.2 Interpolation mit Polynomen 157

minc0,...,cm

∥∥∥∥∥∥∥⎛⎜⎝∑m

k=0 ckgk(x0) − y0

...∑mk=0 ckgk(xn) − yn

⎞⎟⎠∥∥∥∥∥∥∥ .

Damit sich diese Minimierungsaufgabe effizient losen lasst, wird in derRegel die euklid’sche Norm verwendet.

Ubung 62 (Approximation in anderen Normen). Um die Vorteile dereuklid’schen Norm schatzen zu lernen, betrachten wir ein einfaches Approxi-mationsproblem in anderen Normen: Es soll diejenige Gerade y(x) = ax + bbestimmt werden, die von den Punkten (0, 0), (1, 1) und (0.5, 0.25) den kleins-ten Abstand in der Maximumsnorm hat:

mina,b

{max{|b|, |a + b − 1|, |0.5a + b − 0.25|}}

Hinweis: Das Minimum in obigem Ausdruck wird angenommen, wenn zweider drei Terme gleich sind. Durch eine geeignete Fallunterscheidung kannman daher die optimalen Werte fur a und b bestimmen.

Um die Minimallosung in der 1-Norm zu finden, bestimme man a und bdurch

mina,b

{|b| + |a + b − 1| + |0.5a + b − 0.25|}

14.2 Interpolation mit Polynomen

Wenden wir uns zunachst der Polynominterpolation zu. Die Ansatzfunk-tionen sind von der Form gk(x) = xk. Wir suchen also dasjenige Po-lynom p(x) =

∑nk=0 ckxk, das die Interpolationsbedingung p(xj) = yj ,

j = 0, 1, . . . , n erfullt. In diesem Spezialfall erhalten wir das Gleichungssystem⎛⎜⎝1 x0 · · · xn0

......

...1 xn · · · xn

n

⎞⎟⎠⎛⎜⎝ c0

...cn

⎞⎟⎠ =

⎛⎜⎝ y0

...yn

⎞⎟⎠ . (14.1)

Das sind n+1 Gleichungen fur die n+1 Unbekannten c0, . . . , cn. Die da-zugehorige Matrix

(xk

j

)j,k=0,...,n

hat offensichtlich eine sehr spezielle Strukturund heißt Vandermonde-Matrix.

Lagrange-Polynome

Die Bestimmung der Koeffizienten c0, . . . , cn des Interpolationspolynoms zuden Wertepaaren (x0, y0), . . . , (xn, yn) kann durch Losen des obigen linea-ren Gleichungssystems (14.1) erfolgen. Wir wollen im Folgenden effizientereWege aufzeigen. Dazu definieren wir spezielle Polynome vom Grad n, die sogenannten Lagrange-Polynome

Page 161: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

158 14 Interpolation

Lj(x) =n∏

i=0,i=j

x − xi

xj − xi

=(x − x0) · · · (x − xj−1)(x − xj+1) · · · (x − xn)

(xj − x0) · · · (xj − xj−1)(xj − xj+1) · · · (xj − xn)

fur j = 0, 1, . . . , n. Jedes Lj(x) hat die Eigenschaft, dass es genau an denStutzstellen = xj zu Null wird, und nur genau an der Stelle xj den Wert 1annimmt (Abb. 14.2):

Lj(xj) = 1 und Lj(xi) = 0, falls i = j.

−0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5−1

−0.5

0

0.5

1

1.5

2

2.5

3

Abb. 14.2. Lagrange-Polynom L2(x) zu Stutzstellen xj = j, j = 0, 1, 2, 3, 4.

Das Polynom

p(x) =n∑

j=0

yjLj(x),

ist ein Polynom n-ten Grades, und erfullt offensichtlich die Interpolationsbe-dingungen

p(xi) =n∑

j=0

yjLj(xi) = yiLi(xi) = yi, fur i = 0, . . . , n.

Daher ist p(x) eine Losung der Interpolationsaufgabe. Wir haben damitgezeigt, dass das Polynominterpolationsproblem stets eine Losung besitzt.

Daruber hinaus konnen wir auch leicht die Eindeutigkeit dieser Losungbeweisen. Wesentliches Hilfsmittel dabei ist der Hauptsatz der Algebra:

Page 162: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

14.2 Interpolation mit Polynomen 159

Theorem 3. Jedes Polynom p(x) vom Grad n kann als Produkt von n li-nearen Faktoren (den evtl. komplexen Nullstellen) geschrieben werden als

p(x) = α(x − x1)(x − x2) · · · (x − xn) .

Nehmen wir an, dass wir zwei Losungen p1(x) und p2(x) der Interpolati-onsaufgabe gefunden haben. Wegen p1(xi) = yi = p2(xi), hat das Polynomq(x) := p1(x)−p2(x) daher n+1 Nullstellen x0, . . . , xn. Da q(x) vom Grad nist und sogar n + 1 paarweise verschiedene Nullstellen besitzt, muss α inder obigen Faktorisierung und damit auch q(x) konstant gleich Null sein,q(x) ≡ 0. Daraus ergibt sich p1(x) ≡ p2(x) und die beiden Losungen sindidentisch. Daher gibt es genau eine Losung des Polynominterpolationspro-blems.

Zur numerischen Bestimmung des Interpolationspolynoms wird norma-lerweise nicht die Lagrange-Darstellung verwendet, da sie keine genaue Run-dungsfehleranalyse zulasst, aufwendig ist und inflexibel in Bezug auf Verande-rung der Stutzstellen.

Induktive Berechnung des Interpolationspolynoms

Wir wollen zu den Stutzpaaren (xj , yj), j = 0, 1, . . . , n, eine andere Methodevorstellen, das dazugehorige Interpolationspolynom vom Grade n zu bestim-men.

Dazu bezeichnen wir das Interpolationspolynom zu den Stutzpaaren(xi, yi), . . . , (xi+l, yi+l) mit pi,...,i+l(x). Wir konnen die Berechnung diesesPolynoms vom Grade l zuruckfuhren auf die beiden interpolierenden Polyno-me pi+1,...,i+l(x) und pi,...,i+l−1(x) vom Grade l − 1 mittels

pi,...,i+l(x) =(x − xi)pi+1,...,i+l(x) − (x − xi+l)pi,...,i+l−1(x)

xi+l − xi. (14.2)

Um dies zu sehen, genugt es, die Interpolationsbedingungen an den Stutzstel-len zu uberprufen; denn aus den Interpolationsbedingungen fur pi+1,...,i+l(x)und pi,...,i+l−1(x) folgt unmittelbar, dass die Interpolationsbedingungen furpi,...,i+l(x) ebenfalls erfullt sind:

pi,...,i+l(xi) =0 − (xi − xi+l)yi

xi+l − xi= yi,

pi,...,i+l(xi+l) =(xi+l − xi)yi+l − 0

xi+l − xi= yi+l

und fur i < j < i + l

pi,...,i+l(xj) =(xj − xi)yj − (xj − xi+l)yj

xi+l − xi= yj .

Daher ist pi,...,i+l(x) das eindeutige Interpolationspolynom zu (xi, yi), . . .,(xi+l, yi+l).

Page 163: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

160 14 Interpolation

Bei der Polynominterpolation unterscheiden wir zwei Aufgaben. Die erste,recht haufige Aufgabe tritt auf, wenn man nur an wenigen Werten des Po-lynoms interessiert ist. Dabei geht es um die Auswertung von p(x) an einervorgegebenen Stelle x. Bei der zweiten Aufgabe will man das Interpolations-polynom tatsachlich explizit angeben; damit werden wir uns in Kapitel 14.4beschaftigen.

Zunachst wollen wir Formel (14.2) verwenden, um p(x) an einer einzigenStelle x auszuwerten. Abbildung 14.3 zeigt das Tableau von Funktionsauswer-tungen der Interpolationspolynome wachsenden Grades an der Stelle x. Dabeiwird jeweils aus zwei benachbarten Interpolationsproblemen vom Grad l − 1der Wert des nachsten Polynoms vom Grad l hergeleitet.

Mittels Formel (14.2) wird zu einer Stelle x das Neville-Tableau (Abb.14.3) gebildet; dabei wachst der Grad der Polynome von links nach rechts,die erste Spalte enthalt also konstante, die zweite Spalte lineare Polynomeusw. Der Wert ganz rechts ist der Wert des interpolierenden Polynoms unterBerucksichtigung aller Stutzstellen an der Stelle x.

x0 y0=p0(x)

p01(x)

x1 y1=p1(x) p012(x)

p12(x) p0123(x)

x2 y2=p2(x) p123(x)

p23(x)

x3 y3=p3(x)

Grad 0 1 2 3

Abb. 14.3. Neville-Schema zur Berechnung von p0123(x) an einer Stelle x.

Beispiel 33. Wir approximieren die Funktion 2x mit den Stutzstellen −1, 0,1 durch ein quadratisches Polynom. An der Stelle x = 2 konnen wir dannden Wert des interpolierenden Polynoms mit dem exakten Wert 22 = 4 ver-gleichen.

Zu den Stutzpaaren (−1, 1/2), (0, 1) und (1, 2) gehoren die Lagrange-Polynome

Page 164: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

14.2 Interpolation mit Polynomen 161

L0(x) =(x − 0)(x − 1)

(−1 − 0)(−1 − 1),

L1(x) =(x + 1)(x − 1)(0 + 1)(0 − 1)

,

L2(x) =(x + 1)(x − 0)(1 + 1)(1 − 0)

,

und daher hat das zugehorige Interpolationspolynom die Form

p012(2) =12· L0(2) + 1 · L1(2) + 2 · L2(2)

=12− 3 + 6 = 3.5.

Vergleichen wir dieses Ergebnis mit der Auswertung des Neville-Tableausfur p012(2). Mit (14.2) erhalten wir

p01(2) =(2 + 1)p1(2) − (2 − 0)p0(2)

0 + 1= 3 · 1 − 2 · 1

2= 2

p12(2) =(2 − 0)p2(2) − (2 − 1)p1(2)

1 − 0= 2 · 2 − 1 = 3

und damit

p012(2) =(2 + 1)p12(2) − (2 − 1)p01(2)

1 + 1=

3 · 3 − 22

= 3.5,

dargestellt im Tableau der Abb. 14.4.

x0=-1 y

0=p

0(2)=1/2

2

x1=0 y

1=p

1(2)=1 7/2

3

x2=1 y

2=p

2(2)=2

Abb. 14.4. Neville-Tableau zur Bestimmung von p012(2) aus Beispiel 33.

Zur Auswertung des Interpolationspolynoms zu den Stutzpaaren (xi, yi),i = 0, 1, . . . , n an einer Stelle c konnen wir daher folgendes Programm ange-ben, das auf einer leichten Umformulierung von (14.2) basiert:

Page 165: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

162 14 Interpolation

FOR i=0,...,n:p[i] = y[i];FOR k=i-1,...,0:p[k] = p[k+1] + (p[k+1]-p[k])*(c-x[i]) / (x[i]-x[k]);

ENDFORENDFOR

14.3 Fehler bei der Polynom-Interpolation

Es ist wichtig zu wissen, wie gut das interpolierende Polynom eine gegebeneFunktion darstellt.

Theorem 4. Zu Stutzstellen x0 < x1 < . . . < xn sei eine genugend oftdifferenzierbare Funktion f(x) gegeben und das Interpolationspolynom p(x)vom Grade n mit p(xi) = f(xi) fur = 0, 1, . . . , n. An einer beliebigen Stelle xgilt dann fur die Abweichung zwischen Funktion und Polynom die Formel

f(x) − p(x) =f (n+1)(χ)(n + 1)!

(x − x0) · · · (x − xn).

Dabei ist f (n+1)(χ) die (n+1)-te Ableitung der Funktion f an einer Zwi-schenstelle χ, die in dem von x, x0 und xn gebildeten Intervall I liegt.

Beweis. Wir definieren mit K ∈ IR die Hilfsfunktion

g(x) = f(x) − p(x) − K(x − x0) · · · (x − xn).

Die Funktion g hat offensichtlich die Nullstellen xi, i = 0, . . . , n. Zusatz-lich gilt g(x) = 0, wenn wir speziell

K =f(x) − p(x)

(x − x0) · · · (x − xn)

wahlen. Also hat g in dem Intervall I mindestens n + 2 Nullstellen; daherhat die erste Ableitung g′(x) immer noch n + 1, die zweite Ableitung g′′(x)noch n, usw., und die n + 1-te Ableitung g(n+1)(x) daher mindestens eineNullstelle in I, die wir mit χ bezeichnen wollen. Die obigen Beziehungenzwischen den Nullstellen der Ableitungen einer Funktion folgen direkt ausdem Mittelwertsatz A.1. Also gilt an der Stelle χ

0 = g(n+1)(χ)

= f (n+1)(χ) − p(n+1)(χ) − K · dn+1

dxn+1((x − x0) · · · (x − xn))

∣∣∣∣χ

= f (n+1)(χ) − K(n + 1)!und daher

K =f (n+1)(χ)(n + 1)!

.

Page 166: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

14.3 Fehler bei der Polynom-Interpolation 163

Denn p(x) ist nur vom Grad n, d.h. die (n + 1)-te Ableitung verschwindet.Die (n +1)-te Ableitung von xn+1 ist gerade (n + 1)!, wahrend sie fur Termexj , j ≤ n, gleich Null ist. Mit g(x) = 0 folgt damit die behauptete Formelfur f(x) − p(x). ��

Ist die (n + 1)-te Ableitung von f(x) in dem Intervall I beschrankt durcheine Konstante M ,

M = maxx∈I

|f (n+1)(x)| < ∞,

so kann der Fehler zwischen dem Interpolationspolynom und der gegebenenFunktion an jeder Stelle x ∈ I abgeschatzt werden durch

|f(x) − p(x)| ≤ M

(n + 1)!|(x − x0) · · · (x − xn)|.

Diese Ungleichung gibt einen Hinweis, wie wir die Stutzstellen wahlensollten, um ein moglichst genaues Ergebnis zu erhalten. Der Schlussel dazuist die Betrachtung der Funktion w(x) = |(x − x0) · · · (x − xn)|. Liegt dieStelle x am Rande des Intervalls [x0, xn] oder sogar außerhalb, so kann w(x)groß werden. Liegt aber x in der Mitte dieses Intervalls, so bleibt w(x) klein,da die meisten Faktoren in w(x) klein sind. Als Beispiel betrachten wir inAbb. 14.5 den Verlauf der Funktion w(x) zu den Stutzstellen 0.1, 0.2, 0.3,0.4 und 0.5.

Um fur alle x aus dem Intervall [x0, xn] eine gleich gute Naherung zuerreichen, sollten daher die Stutzstellen nicht aquidistant gewahlt werden,sondern besser so, dass ihre Zahl zum Rand hin zunimmt. Dies wird z.B.durch die Chebycheff-Stutzstellen erreicht, die im Falle des Intervalls [−1, 1]gegeben sind durch (Abb. 14.6)

xj = cos(

(2j + 1)π2n + 2

), j = 0, . . . , n.

Interpolationspolynome hohen Grades neigen zu starken Oszillationen, daman zwischen den Stutzstellen keine Kontrolle uber die Polynome hat, undda die Polynome in der Regel viele reelle Nullstellen haben. Interpolation mitPolynomen ist daher nur sinnvoll fur kleinen Grad, also mit nicht zu vielenStutzstellen. Ein eindrucksvolles Beispiel fur das Auftreten von Oszillationenliefert die Funktion von Runge

R(x) =1

1 + 25x2, x ∈ [−1, 1],

die bei aqidistanter Stutzstellenwahl fur wachsenden Grad zu großen Aus-schlagen im interpolierenden Polynom fuhrt (Abb. 14.7).

Ubung 63. Der Interpolationsfehler an einer Stelle x hangt stark von derFunktion w(x) = |(x− x0) · · · (x− xn)| ab. Fur x0 = 0 und x2 = 1 mit n = 2soll eine Zwischenstelle x1 bestimmt werden, so dass

Page 167: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

164 14 Interpolation

0 0.1 0.2 0.3 0.4 0.5 0.60

0.2

0.4

0.6

0.8

1

1.2x 10

−3

Abb. 14.5. Verlauf der Funktion w(x) zu den Stutzstellen 0.1, 0.2, 0.3, 0.4 und0.5.

max0≤x≤1

w(x)

minimal wird.Hinweis: Bestimmen Sie die relativen Extremwerte des Polynoms p(x) =x(1 − x)(x − x1), und wahlen Sie x1 so, dass |p(x)| an diesen Stellen dengleichen Wert annimmt.

14.4 Newton-Form des Interpolationspolynoms

Ublicherweise ist ein Polynom in der Form

p(x) = anxn + · · · a1x + a0

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

0

Abb. 14.6. Chebycheff-Stutzstellen zum Intervall [−1, 1].

Page 168: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

14.4 Newton-Form des Interpolationspolynoms 165

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.5

0

0.5

1

1.5

2

Abb. 14.7. Interpolation der Runge-Funktion mit einem Polynom vom Grad 20mit Stutzstellen −1, −0.9, . . . , 0.9, 1.

gegeben. Um an einer gegebene Stelle c nun p(c) auszuwerten, wird dasHorner-Schema1 verwendet. Durch geschickte Klammersetzung wird p ge-schrieben als

p(x) = (. . . ((anx + an−1)x + an−2)x + . . . + a1)x + a0.

Dies entspricht dem Programm

y = a[n];FOR j = n-1,...,0:

y = y*c + a[j];ENDFOR

Die Ausfuhrung dieses Programms benotigt offensichtlich O(n) Operatio-nen. Dagegen kostet die Auswertung des Neville-Tableaus zu den Stutzstellenx0, . . . , xn mit Gleichung (14.2) O(n2) flop’s. Dies legt es nahe, das Interpo-lationspolynom explizit anzugeben, wenn man p(x) an mehr als einer Stelle

1 William G. Horner veroffentlichte sein Schema 1819 in den”Philosophical Tran-

sactions of the Royal Society“. Allerdings war diese Methode bereits dem Chi-nesen Chu Shih-chieh bekannt. In seinem Buch Ssu-yuan yu-chien (

”Precious

Mirror of the Four Elements“) verwendete er dieses Schema zur Losung einerallgemeinen Gleichung 14-ten Grades.

Page 169: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

166 14 Interpolation

berechnen muss. Denn dann ist zu erwarten, dass mit dem Horner-Schema je-de Auswertung wesentlich schneller ausgefuhrt werden kann. Diese Idee fuhrtauf die Newton-Form des interpolierenden Polynoms, die wir kurz skizzierenwollen. Wir verwenden dabei fur das interpolierende Polynom den Ansatz

p(x) = f [x0] + (x − x0)f [x0, x1] + (x − x0)(x − x1)f [x0, x1, x2]. . . + (x − x0) · · · (x − xn−1)f [x0, . . . , xn].

Die dazugehorigen Koeffizienten f [xi, . . . , xi+k], die dividierten Differen-zen, konnen nun nach (14.2) durch

f [xi, . . . xi+k] =f [xi+1, . . . , xi+k] − f [xi, . . . , xi+k−1]

xi+k − xi

bestimmt werden. Dabei lasst sich, ahnlich wie beim Neville-Schema, einTableau aufbauen. Aus diesem Tableau der dividierten Differenzen werdendie Koeffizienten des Polynoms in der Newton-Form abgelesen. Durch einHorner-artiges Programm kann dann effizient p(c) berechnet werden.

Ubung 64. Uberprufen Sie, dass die dividierten Differenzen f [xi, · · · , xi+k]genau die Koeffizienten der entsprechenden interpolierenden Polynome in derNewton-Form sind. Bilden Sie das Tableau der dividierten Differenzen, lesenSie daraus die Koeffizienten fur p(x) ab, und beschreiben Sie die Horner-artigeAuswertung von p(x) an einer Stelle x.

14.5 Weitere Interpolationsansatze

Wir haben bereits die Probleme durch Oszillationen angesprochen, mit denenbei der Polynominterpolation zu rechnen ist. Dazu kommt eine starke globaleAbhangigkeit der Losung von den Werten an einer Stutzstelle, d.h. eine Ande-rung in einer Stutzstelle wirkt sich auf das Gesamtverhalten des Polynomsaus. Daher wollen wir im Folgenden einige andere Interpolationsmethodenvorstellen, die diese Nachteile zu vermeiden suchen. Von besonderer Bedeu-tung sind solche Verfahren dann in der Computergraphik. Hier tritt z.B. dasProblem auf, Linien und Kurven zu zeichnen, die durch diskrete Werte ge-ben sind. Will man eine Darstellung am Bildschirm erzeugen, so mussen diesePunkte durch eine moglichst glatte Funktion verbunden werden.

Hermite-Interpolation

Eine Methode, um die Oszillationen der Polynominterpolation zu vermeiden,besteht darin, bei der Interpolation nicht nur die Funktionswerte, sondernauch die Ableitungen fur das Interpolationspolynom vorzugeben. Man sprichtdann von Hermite-Interpolation. Im einfachsten Fall bei Berucksichtigung derersten Ableitungen ergibt sich folgende Aufgabe:

Page 170: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

14.5 Weitere Interpolationsansatze 167

Finde ein Polynom vom Grad 2n + 1 mit p(xj) = yj und p′(xj) = y′j

fur j = 0, 1, . . . , n.

Dieses Problem kann wieder auf ein regulares lineares Gleichungssystemzuruckgefuhrt werden.

Ubung 65. Man stelle ein lineares Gleichungssystem zur Losung der obenbeschriebenen Hermite-Interpolationsaufgabe auf.

Ahnlich zu Lagrange-Polynomen kann das Hermite-Polynom aber auchdurch geschickte Ansatz-Polynome direkt angegeben werden (Ubung 77)

Spline-Interpolation

Meist wird aber ein anderer Ansatz verwendet, um gute naherungsweise Dar-stellungen von Funktionen zu erhalten. Man ist vor allem daran interessiert,dass die sich ergebende Kurve die Stutzpunkte moglichst ”direkt“ verbin-det, also wenig gekrummt ist. Dazu definieren wir zu Stutzstellen x0, . . . , xn

Funktionen, die mit minimaler Gesamtkrummung stuckweise aus Polynomenzusammengesetzt sind und die die Interpolationsbedingungen erfullen.

Definition 27. Unter einer Splinefunktion2 vom Grad k zu Stutzstellen x0,. . . , xn verstehen wir eine Funktion S mit folgenden Eigenschaften:S(x) sei (k − 1)-mal stetig differenzierbar und auf den Intervallen [xi, xi+1],i = 0, . . . , n − 1, ein Polynom k-ten Grades, pxi,xi+1(x).

Eine Spline-Funktion hat also n(k + 1) Parameter, das sind die Koeffizi-enten der n Polynome vom Grade k auf den n Teilintervallen. Diese Parame-ter sind teilweise festgelegt durch die Bedingung, dass die Gesamtfunktion(k − 1)-mal stetig differenzierbar sein muss.

Daher muss fur j = 0, . . . , k − 1 und i = 0, . . . , n − 1 gelten

p(j)xi,xi+1

(xi+1) = p(j)xi+1xi+2

(xi+1).

Dies liefert (n− 1)k Gleichungen. Dazu kommen die n+1 Interpolations-bedingungen an den Stutzstellen

S(xi) = yi, i = 0, 1, . . . , n.

Insgesamt verfugt die Splinefunktion uber n(k + 1) Parameter, die(n − 1)k + (n + 1) = n(k + 1) + (1 − k) Gleichungen erfullen mussen.

Man kann daher noch k−1 zusatzliche Forderungen an die Splinefunktionstellen, z.B. dass S(x) eine periodische Funktion sein soll, also moglichst vieleAbleitungen am linken und rechten Rand ubereinstimmen sollen, d.h.2 Spline bezeichnet im Englischen eine hochelastische, dunne Latte, die dazu be-

nutzt wurde, die optimale Form von Spanten beim Schiffsbau zu bestimmen

Page 171: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

168 14 Interpolation

S(j)(x0) = S(j)(xn) fur j = 1, . . . , k − 1.

Dies ist naturlich nur dann sinnvoll, wenn fur die gegebenen Daten schonS(x0) = S(xn) gilt. Andere Zusatzbedingungen bestehen darin, an den End-punkten x0 und xn moglichst viele Ableitungswerte explizit vorzugeben, ahn-lich wie bei der Hermite-Interpolation, also

S(j)(x0) = y(j)(x0), S(j)(xn) = y(j)(xn) fur j = 1, . . . , (k − 1)/2

bei ungeradem k. Insgesamt fuhren beide Varianten zur Losung des Interpola-tionsproblems beim Spline-Ansatz auf ein quadratisches lineares Gleichungs-system in n(k + 1) Unbekannten.

Beispiel 34. Bei Verwendung von Polynomen nullten Grades auf jedem Teil-intervall [xi, xi+1] erhalt man als interpolierende Funktion die stuckweise kon-stante Treppenfunktion

f(x) = yj fur xj ≤ x < xj+1, j = 0, 1, . . . , n − 1.

Im Folgenden wollen wir einen direkteren Weg beschreiten, indem wirgeeignete Ansatzfunktionen wahlen, die es erlauben, die Losung von Interpo-lationsproblemen, ahnlich zu den Lagrange-Polynomen, direkt anzugeben.

Um eine stetige, interpolierende Funktion zu erzeugen, gehen wir mitk = 1 zu stuckweise linearen Polynomen uber. Wir definieren auf jedemIntervall [xj , xj+2] (siehe Abb. 14.8)

Bj(x) =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

x−xj

xj+1−xjfur x ∈ [xj , xj+1]

x−xj+2xj+1−xj+2

fur x ∈ [xj+1, xj+2]

0 sonst

Die Funktionen Bj(x) bezeichnet man als B-Splines, fur k = 1 also lineareB-Splines. Diese Funktionen eignen sich sehr gut als Basisfunktionen zurLosung der Interpolationsaufgaben. Die interpolierende Funktion ergibt sichdann wieder ganz einfach (vgl. Lagrange-Polynome aus Abschn. 14.2) als

f(x) =n∑

j=0

yjBj−1(x) mit f(xi) = yi,

und stellt eine stuckweise lineare, stetige interpolierende Funktion dar.Ein quadratischer B-Spline Bi zu den Stutzstellen xi, xi+1, xi+2, xi+3, ist

durch folgende Eigenschaften gegeben:

– auf jedem Teilintervall ist Bi ein Polynom zweiten Grades,– jedes Bi ist insgesamt stetig differenzierbar,

Page 172: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

14.5 Weitere Interpolationsansatze 169

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Abb. 14.8. Linearer B-Spline B4(x), gestrichelt B2, B3 und B5.

– außerhalb des Intervalls [xi−1, xi+2] ist Bi konstant gleich Null,–∫

Bi(x)dx = 1 (um die uninteressante Losung Bi(x) ≡ 0 auszuschließen)

Die Losung im aquidistanten Fall ist gegeben durch

Bi(x) =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

12h2 · (x − xi)2 fur xi ≤ x ≤ xi+1

12h2 · (h2 + 2h(x − xi+1) − 2(x − xi+1)2

)fur xi+1 ≤ x ≤ xi+2

12h2 · (xi+3 − x)2 fur xi+2 ≤ x ≤ xi+3

0 sonst

Soll mit diesen Basisfunktionen ein Interpolationsproblem (xj , yj),j = 0, 1, . . . , n, gelost werden, so fuhrt das mit dem Ansatz

p(x) =n−1∑i=−1

aiBi(x)

und den n + 1 Bedingungen

p(xj) = yj , j = 0, 1, . . . , n

zu einem bidiagonalen Gleichungssystem zur Bestimmung der n + 1 Koeffi-zienten ai, i = −1, . . . , n − 1. Dabei benotigen wir hilfsweise die zusatzliche

Page 173: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

170 14 Interpolation

−0.5 0 0.5 1 1.5 2 2.5 3 3.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Abb. 14.9. Quadratischer B-Spline, zusammengesetzt aus Polynomen zweiten Gra-des auf jedem der Teilintervalle [0, 1], [1, 2] und [2, 3].

Stutzstelle x−1 und den dazugehorigen B-Spline B−1(x), damit ein eindeutiglosbares Problem vorliegt.

Am haufigsten sind kubische Teilpolynome, die so zusammengefugt wer-den, dass die Gesamtfunktion zweimal stetig differenzierbar ist. Der Vorteilsolcher Splineansatze liegt darin, dass die gesuchten Koeffizienten der inter-polierenden Funktion sich durch Losung einfacher linearer Gleichungssystemebestimmen lassen, und dass die entstehenden Funktionen keine zusatzlichenOszillationen aufweisen.

Bezier-Kurven

In der Computergraphik ist man interessiert an einer leicht und einfach steu-erbaren Darstellung von Kurven, die nicht unbedingt interpolierend sein sol-len.

Dazu eignen sich z.B. Bezier-Kurven3. Sie setzen sich zusammen ausBernstein-Polynomen, die wir daher kurz einfuhren wollen. Fur n ∈ IN sind

B(n)i (t) =

(n

i

)(1 − t)n−iti, i = 0, . . . , n,

3 In den 70er Jahren entwickelten Pierre Bezier und Pierre Casteljau - zeitgleich,aber unabhangig - bei Renault und Citroen zu CAD/CAM-Zwecken diese Art derKurvendarstellung. Bezier-Kurven werden in allen fortgeschrittenen Graphikpro-grammen verwendet

Page 174: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

14.5 Weitere Interpolationsansatze 171

die n+1 Bernstein-Polynome vom Grad n. Die Nullstellen von B(n)i (x) liegen

bei Null und Eins, mit den Vielfachheiten i und n − i. Wir sind nur an demBereich 0 ≤ t ≤ 1 interessiert.

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

Abb. 14.10. Bernstein-Polynome B(4)i (x) fur n = 4, i = 0, . . . , 4.

Die Bernstein-Polynome haben folgende Eigenschaften:

B(n)i (t) ≥ 0 fur 0 ≤ t ≤ 1

n∑i=0

B(n)i (t) =

n∑i=0

(n

i

)(1 − t)n−iti = ((1 − t) + t)n = 1

B(n)i (t) = t · B(n−1)

i−1 − B(n−1)i .

Wegen der ersten beiden Eigenschaften sind die Polynome B(n)i , i =

0, . . . , n, geeignete Gewichtsfunktionen. Die letzte Eigenschaft ist nutzlich,um den Wert eines Bernstein-Polynoms an einer Stelle t induktiv zu bestim-men. Wie aus Abb. 14.10 ersichtlich, nehmen die Bernstein-Polynome furgroßes n in weiten Bereichen des betrachteten Intervalls [0, 1] nur sehr kleineWerte an.

Zu gegebenen Punkten bi ∈ IRk, i = 0, 1, . . . , n, den Kontrollpunkten,definieren wir nun die zugehorige Bezier-Kurve mittels

X(t) =n∑

i=0

biB(n)i (t)

fur 0 ≤ t ≤ 1. X(t) ist die gewichtete Summe der beteiligten Kontrollpunktebi, versehen mit den Gewichten B

(n)i (t). Beim Durchlaufen des Parameters t

von Null nach Eins wird die Kurve X(t) von allen Kontrollpunkten der Reihe

Page 175: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

172 14 Interpolation

nach ”angezogen“. Eines der B(n)i liefert dabei jeweils das großte Gewicht und

bewirkt, dass der Kontrollpunkt bi den Kurvenverlauf in dem entsprechendenParameterbereich bestimmt.

Weiterhin gilt, dass die Kurve in b0 startet und in bn endet; insgesamtverlauft die Kurve in der konvexen Hulle des von den bi gebildeten Polygons.Die Tangente in b0 zeigt wegen dX/dt|0 = n(b1− b0) in Richtung von b1, undgenauso im anderen Eckpunkt in Richtung bn−1.

Fur genau drei Punkte gilt, dass die Tangenten in b0 und b2 sich genauin b1 schneiden, also die Bezier-Kurve ganz in dem von den Kontrollpunktenaufgespannten Dreieck liegt.

b

b

20

1

b

0

Abb. 14.11. Bezier-Kurve zu drei Kontrollpunkten b0, b1 und b2.

Der Verlauf der Bezier-Kurve wird also durch die Kontrollpunkte be-stimmt und es treten keine ungewunschten Oszillationen auf.

Ersetzt man in der Definition von X(t) die Bernstein-Polynome als Ge-wichtsfunktionen durch B-Splines, so erhalt man eine B-Spline-Kurve

Xn,k(t) =n∑

i=0

biBi,k(t) fur 0 ≤ t ≤ n − k + 2

mit B-Splines Bi,k(t) vom Grad k zu Stutzstellen 0, 1, . . . , n − k + 2. ImGegensatz zu Bezier-Kurven hat man mit dem zusatzlichen Paramter k dieWahl, wie oft die Kurve stetig differenzierbar sein soll. Außerdem wirken sichlokale Anderungen eines Kontrollpunktes nur in den direkten Nachbarpunk-ten aus, da die Funktionen Bi,k(t) nur auf einem kleinen Teilintervall vonNull verschieden sind. Die Gesamtkurve reagiert auf lokale Anderungen alsonur lokal. Außerdem verfugen B-Spline-Kurven uber sehr gute Approximati-onseigenschaften.

Zusammenfassung: Die Bestimmung geeigneter Ansatzfunktionen ist einesder wichtigsten Grundprobleme der Numerik. Klassische Ansatzfunktionensind Polynome und Potenzreihen in xk (Taylor-Reihe, Laurent-Reihe), bzw.

Page 176: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

14.5 Weitere Interpolationsansatze 173

0 0.5 1 1.5 2 2.5 3 3.5 40

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Abb. 14.12. Bezier-Kurven fur drei verschiedene Werte des letzten Kontroll-punktes b4.

in cos(kx) und sin(kx) (Fourier-Reihen, vgl. Anhang D). Wichtige Anforde-rungen an eine Familie von Ansatzfunktionen sind:

1. Variabilitat im Grad der Differenzierbarkeit (angepasst an die Differen-zierbarkeit der gesuchten Losung)

2. gute Approximationseigenschaften (Ansatzfunktionen sind ”dicht“ in demFunktionenraum, der die Losung enthalt, bilden ein vollstandiges Systemoder Basis)

3. gute Adaptivitatseigenschaften, d.h. sie bieten die Moglichkeit, auch lokalz.B. durch feinere Diskretisierung, hohere Genauigkeit zu erreichen

4. Lokalitat, Sprunge, bzw. Unstetigkeiten in der gesuchten Funktion wirkensich nur lokal auf einige Ansatzfunktionen aus

5. schnelle Algorithmen, am besten in Echtzeit O(n) und6. sie erlauben eine Analyse der untersuchten Daten (Frequenzanalyse, Mul-

tiskalenanalyse)

Ubung 66. Prufen Sie nach, welche der obigen Forderungen von Polynomen,trigonometrischen Ansatzfunktionen oder B-Splines erfullt werden.

Besonders die Punkte 4. – 6. haben zu einem verstarkten Interesse anneuen Ansatzfunktionen gefuhrt. In Kapitel V werden wir mit Fourier-Reihenund Wavelet-Funktionen noch zwei wichtige Funktionenfamilien kennen ler-nen und genauer untersuchen, die eine Analyse gegebener Daten erlauben.

Page 177: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

15 Quadratur

”Das Buch der Natur ist mit mathematischen Symbolen geschrieben.“

Galileo Galilei

15.1 Einleitung

Es soll das bestimmte Integral I(f) =∫ b

af(x)dx berechnet werden. Diese

Aufgabe konnen wir fur eine kleine Klasse von Funktionen durch expliziteAngabe einer Stammfunktion F (x) losen:∫ b

a

f(x)dx = F (b) − F (a),

z.B. fur die Monome∫ b

a

xkdx =[

xk+1

k + 1

]ba

=1

k + 1(bk+1 − ak+1).

In vielen Fallen lasst sich aber die Stammfunktion nicht in geschlossenerForm angeben und man ist auf Naherungsverfahren angewiesen.

So haben einige wichtige Funktionen keine explizite Darstellung derStammfunktion. Als Beispiel betrachten wir die Gauß’sche Glockenkurve zurBeschreibung von Wahrscheinlichkeitsverteilungen. Ist eine Variable x nor-malverteilt, so beschreiben der Mittelwert μ und die Standardabweichung σdie gesamte Wahrscheinlichkeitsverteilung mittels der Funktion

1σ√

2πexp(− (x − μ)2

2σ2

).

Wollen wir nun wissen, mit welcher Wahrscheinlichkeit ein Wert x zwi-schen a und b auftritt, so ist diese Wahrscheinlichkeit durch das Intergral

1σ√

∫ b

a

exp(− (x − μ)2

2σ2

)dx

Page 178: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

176 15 Quadratur

gegeben, das wir nur numerisch berechnen konnen. Diese Wahrscheinlichkeitentspricht genau der Flache unter der Kurve zwischen a = 1 und b = 2 inAbb. 15.1.

−5 −4 −3 −2 −1 0 1 2 3 4 50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Abb. 15.1. Gauß’sche Glockenkurve fur μ = 0, σ = 1: Die Wahrscheinlichkeit, dasseine (0, 1)-normalverteilte Zufallsvariable einen Wert zwischen 1 und 2 annimmt,entspricht der Große der schraffierten Flache.

Die Vorgehensweise bei der numerischen Quadratur besteht darin, dieFunktion an bestimmten Stellen (wieder Stutzstellen genannt) auszuwerten,und mit Hilfe dieser Werte und Gewichten wi einen Naherungswert mittelseiner Quadraturregel

I(f) =∫ b

a

f(x) dx ≈n∑

i=0

wif(xi) = In(f)

zu bestimmen. Wie sind nun die xi und wi zu wahlen, um bei vorgegebener– moglichst kleiner – Anzahl n einen brauchbaren Naherungswert In(f) zuerhalten? Um dem Problem der Ausloschung aus dem Wege zu gehen, sollendie Gewichte wi alle positiv sein.

15.2 Quadraturregeln aus Flachenbestimmung

Das bestimmte Integral lasst sich interpretieren als die Flache unter demFunktionsgraphen von f(x). Daher ist I(f) genau die Große der von f(x)und der x-Achse begrenzten Flache zwischen a und b an. So liefert z.B. dasIntegral von −1 nach 1 der Funktion f(x) = x den Wert Null, da sich dieFlachen oberhalb und unterhalb der x-Achse gegenseitig wegheben. Mit Hilfedieser anschaulichen Bedeutung des Integrals konnen wir I(f) annahern, indem wir die dazugehorigen Flache approximieren.

Page 179: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

15.3 Regeln aus der Interpolation 177

Eine erste Moglichkeit besteht darin, die von f(x) begrenzte Flache durchdas Trapez mit den Eckpunkten (a, 0), (b, 0), (b, f(b)), (a, f(a)) zu ersetzen.Dies fuhrt auf die Trapezregel (Abb. 15.2)

I(f) =∫ b

a

f(x)dx ≈ f(a) + f(b)2

(b − a) =b − a

2f(a) +

b − a

2f(b)

mit den Stutzstellen a und b und den Gewichten w0 = w1 = (b − a)/2.

f(x)

a

f(b)

b

f(a)

Abb. 15.2. Trapezflache als Appro-ximation.

a

f(x)

b

f(a)

f(b)

(a+b)/2

Abb. 15.3. Rechteckflache als Ap-proximation.

Genauso konnen wir ein einfaches Rechteck finden, das die Flache unterder Funktion annahert. Dieses Rechteck (Abb. 15.3) ist bestimmt durch dieEcken (a, 0), (b, 0), (a+b

2 , f(a+b2 )) und liefert

I(f) ≈ (b − a)f(a + b

2),

mit nur einer Stutzstelle (a + b)/2 und Gewicht w0 = (b − a). Dies ist dieMittelpunktsregel.

15.3 Regeln aus der Interpolation

Es liegt nahe, die zu untersuchende Funktion f durch ein interpolierendesPolynom zu ersetzen; denn das Integral uber die auftretenden Terme xk kanneinfach mittels der Stammfunktion berechnet werden. Außerdem haben wirin Kapitel 14 Verfahren kennen gelernt, eine Funktion mittels Interpolationdurch ein Polynom anzunahern. Damit ist die folgende Vorgehensweise nahegelegt:

Wahle Stutzstellen x0, . . . , xn, der Einfachheit halber aquidistant,

xi = a + ih, i = 0, 1, . . . , n, h =b − a

n,

mit x0 = a und xn = b. Die Gewichte w0, . . . , wn ergeben sich dann aus derQuadratur des interpolierenden Polynoms in der Lagrange-Darstellung

Page 180: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

178 15 Quadratur

p(x) =n∑

i=0

f(xi)Li(x)

mit der Naherung∫ b

a

f(x)dx ≈∫ b

a

p(x)dx =n∑

i=0

f(xi)∫ b

a

Li(x)dx. =n∑

i=1

fiwi

Trapezregel

Fur n = 1 ergibt sich x0 = a, x1 = b, h = b − a, und

p(x) = f(a) +f(b) − f(a)

b − a(x − a).

Damit wird der Wert des Integrals angenahert durch∫ b

a

f(x)dx ≈∫ b

a

p(x)dx

= f(a)(b − a) +f(b) − f(a)

b − a

(b2 − a2

2− a(b − a)

)= h

(12f(a) +

12f(b))

,

mit den Gewichten w0 = w1 = h/2 = (b − a)/2. Dies ist genau wieder dieTrapezregel.

Fur den Fehler gilt mit der Fehlerformel bei der Interpolation (Kapi-tel 14.3) ∣∣∣∣∣

∫ b

a

(f(x) − p(x))dx

∣∣∣∣∣ =∣∣∣∣∣∫ b

a

(f (2)(χ)

2(x − a)(x − b)

)dx

∣∣∣∣∣≤ M2

2

∫ b

a

(x − a)(b − x)dx

=M2

2(b − a)3

6

=M2(b − a)3

12=

M2

12h3

mit Mk = maxx∈[a,b] |f (k)(x)|. Daher ist die Trapezregel fur Polynome vonGrad Eins exakt (dann ist M2 = 0).

Simpson-Regel

Als wichtigste neue Regel ergibt sich fur n = 2 die Simpson-Regel

Page 181: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

15.4 Gauß-Quadratur 179

x0 = a, h =b − a

2,

x1 =a + b

2, w0 = w2 =

h

3,

x2 = b, w1 =43h

I(f) ≈ h

3

(f(a) + 4f

(a + b

2

)+ f(b)

).

Fur den Fehler erhalt man dann∣∣∣∣∣∫ b

a

(f(x) − p(x)) dx

∣∣∣∣∣ ≤ M4(b − a)5

2880=

M4

90h5,

eine Ordnung besser, als eigentlich zu erwarten ware.Die Simpson-Regel ist daher sogar fur Polynome vom Grad 3 exakt.

Dies wird dadurch erreicht, dass die drei zugehorigen Stutzstellen optimalgewahlt sind in Beziehung auf die Fehlerabschatzung aus Theorem 4 (vgl.auch Ubung 85)

Allgemein haben diese Quadraturregeln, die aus der Darstellung mittelsinterpolierender Polynome gewonnen werden, die spezielle Form∫ b

a

f(x)dx ≈∫ b

a

p0,1,...,n(x)dx = h

n∑i=0

αif(a + ih).

Leider treten bei der Verwendung dieser Formeln fur n > 6 auch negativeGewichte wi = hαi auf, und diese Regeln sind daher nicht gebrauchlich.

15.4 Gauß-Quadratur

Bei der Polynominterpolation hatten wir festgestellt, dass die Wahl der Stutz-stellen das Ergebnis stark beeinflusst und dass am Rand mehr Stutzstellenplaziert sein sollten. Diese Erkenntnis soll jetzt im Zusammenhang mit derQuadratur auch berucksichtigt werden. Die Idee der Gauß-Quadratur bestehtnun darin, die Stutzstellen nicht aquidistant, sondern moglichst optimal zulegen, d.h. so dass Polynome moglichst hohen Grades noch exakt integriertwerden. Entsprechend konnen wir dann auch mit einer besseren Naherungrechnen. Dadurch, dass wir die aquidistante Stutzstellenwahl aufgeben, schaf-fen wir neue Freiheitsgrade, die zu genaueren Quadraturregeln fuhren.

Das Problem besteht jetzt also darin, Gewichte wi und Stutzstellen xi ,i = 0, 1, . . . , n zu finden, die den Bedingungen

bj+1 − aj+1

j + 1=∫ b

a

xjdx = I(xj) =n∑

i=0

wixji

Page 182: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

180 15 Quadratur

fur j = 0, 1, . . . , m mit moglichst großem m genugen. Die neue Quadraturre-gel soll also fur die Polynome 1, x, x2,...,xm den exakten Wert des Integralesliefern. Dies fuhrt auf m + 1 (nichtlineare!) Gleichungen fur die 2n + 2 Un-bekannten xi und wi.

Ubung 67. Zeigen Sie: Fur n = 1 ergeben sich die Stutzstellen (a+b)/2±(b−a)/2

√3 mit Gewichten (b − a)/2. Damit werden dann sogar noch Polynome

vom Grad 3 exakt integriert.

Fur Integrale der speziellen Form∫ 1

−1

f(x)dx√

1 − x2

ergeben sich als Stutzstellen gerade die Nullstellen der Chebycheff-Polynomecos(π(2j + 1)/(2n + 2)), j = 0, . . . , n.

Allgemein sind die optimalen Stutzstellen die Nullstellen von Orthogonal-Polynomen wie z.B. Hermite-Polynome, Legendre-Polynome oder Laguerre-Polynome, je nach Art des Integrationsbereichs.

Die Vorteile der Gauß-Quadratur sind offensichtlich: Unter Verwendungvon n Funktionswerten f(xi) kann ein wesentlich besseres Resultat erzieltwerden als mit n aquidistant vorgegebenen Stutzstellen. Einen Nachteilmussen wir dabei aber in Kauf nehmen: Ist der Naherungswert fur I(f) nochnicht gut genug, so konnen im aquidistanten Fall die alten Werte f(xi) wiederverwendet werden, indem z.B. die Schrittweite h halbiert wird. Wollen wir je-doch bei der Gauß-Quadratur ein genaueres Ergebnis erzielen, so mussen wirfur das großere n auch ganz neue Funktionswerte zu den sich neu ergebendenStutzstellen berechnen.

Als Ausweg bieten sich hier Gauß-Kronrod-Verfahren an. Dabei werdendie vorher bestimmten n Stutzstellen beibehalten, und es werden nur k neueStutzstellen erlaubt. Dann sind also k neue Stutzstellen und n + k Gewich-te optimal so zu bestimmen, dass wieder Polynome moglichst hohen Gradesexakt integriert werden. Dazu benotigen wir dann nur k neue Funktionsaus-wertungen!

15.5 Extrapolationsverfahren

Wie schon bei der Interpolation sollten wir Polynome hohen Grades zur Her-leitung von Quadraturregeln vermeiden (Oszillationen, negative Gewichte wi

und damit verbundene Gefahr der Ausloschung). Als Ausweg empfiehlt essich hier, eine einfache, relativ ungenaue Regel auf vielen kleinen Teilinter-vallen anzuwenden, und diese Zwischenergebnisse dann zum Gesamtwert auf-zusummieren. Im Fall der Trapezregel und einer aquidistanten Einteilung von[a, b] in Teilintervalle [xi, xi+1], auf denen jeweils die Trapezregel angewendet

Page 183: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

15.5 Extrapolationsverfahren 181

wird, ergibt sich so mit h = (b − a)/n und xi = a + ih die Trapezsumme alsQuadraturregel

I(f) =∫ b

a

f(x)dx =n−1∑i=0

∫ xi+1

xi

f(x)dx

≈n−1∑i=0

h

2(f(xi) + f(xi+1))

= h

(12f(a) + f(a + h) + . . . + f(b − h) +

12f(b))

Fur eine Folge von Schrittweiten hi = (b − a)/ni berechnen wir die Tra-pezsummen

Ti = hi ·(

12

f0 + f1 + . . . + fni−1 +12

fni

), i ≤ m

hi =b − a

ni, fj = f(xj); xj = a + j · hi, 0 ≤ j ≤ ni

Die Trapezsumme ist also eine Funktion der Schrittweite h; wir vermerkendies durch die Schreibweise T (h). Bei exakter Rechnung ist dann zu erwarten,dass T (0) gleich dem gesuchten Integral I(f) ist, da bei immer feinerer Dis-kretisierung die Flache unter der Kurve immer besser durch die Trapezflachenangenahert wird. Eine genauere Analyse liefert die Entwicklung (bekannt un-ter dem Namen Euler-MacLaurin’sche Summenformel)

T (h) =∫ b

a

f(x)dx +N∑

k=1

ckh2k + O(h2N+2).

Dies legt es nahe, T (h) als eine Funktion in h2 anzusehen und mittelsder im vorigen Abschnitt eingefuhrten Interpolationsverfahren zu Stutzstellenh2

0, h21, . . . , h2

m den gesuchten Wert an der Stelle h2 = 0 durch die Werteder interpolierenden Polynome an der Stelle Null anzunahern. Dazu wahlenwir eine Folge hi, die gegen Null konvergiert. Ein solches Verfahren wirdals Extrapolation bezeichnet, da der gesuchte Wert an der Stelle h2 = 0außerhalb des von den Stutzstellen h2

i gebildeten Intervalls liegt.Nach dem Neville-Tableau aus Kapitel 14.2, geschrieben in h2 an Stelle

von x, konnen wir die erhaltenen Ergebnisse fur die Trapezsummen Ti dannnach der Formel

Ti,...,i+k = Ti+1,...,i+k +Ti+1,...,i+k − Ti,...,i+k−1(

hi

hi+k

)2− 1

,

0 ≤ i ≤ m − k, 1 ≤ k ≤ m

Page 184: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

182 15 Quadratur

zu verbesserten Approximationen von T (0) kombinieren. Die Idee besteht alsodarin, das zu den Stutzstellen h2

0, h21, . . . , h2

m interpolierende Polynom an derStelle 0 als Naherung an T (0) zu verwenden. Vorteil dieser Vorgehensweiseist es, dass mit geringem Zeitaufwand wesentlich bessere Naherungswerteberechnet werden konnen als durch die einfache Trapezsumme allein.

Der Fehler I(f) − In(f) ist bei der Verwendung der Trapezsumme vonder Form O(h2

0 · h21 · · ·h2

m) [108].Als Folge der naturlichen Zahlen zur Bestimmung der Schrittweiten kann

n0 Start: ni = 2ni−1, 1 ≤ i ≤ m

verwendet werden. Dann lassen sich bei der Berechnung von Ti+1 viele Funk-tionsauswertungen einsparen und aus der Berechnung der vorgehenden Tra-pezsumme Ti entnehmen.

Ubung 68. Verifizieren Sie die obige Extrapolationsformel in den Ti,...,i+k.Untersuchen Sie, wie man bei der obigen Folge ni Funktionsauswertungeneinsparen kann. Uberlegen Sie sich andere Varianten von Folgen hi, bei denenviele Funktionsauswertungen eingespart werden konnen.

15.6 Adaptive Verfahren

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10.6

0.8

1

1.2

1.4

1.6

1.8

2

Abb. 15.4. Beispiel einer Funktion mit stark unterschiedlichem Verlauf.

Page 185: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

15.6 Adaptive Verfahren 183

Wie wir schon bei der Polynominterpolation gesehen haben, ist eine aqui-distante Stutzstellenwahl im Allgemeinen nicht zu empfehlen. Die zu inte-grierende Funktion kann beispielsweise uber weite Strecken nahezu konstantsein, und nur in einem kleinen Teilbereich starker variieren (Abb. 15.4). Dannkann in dem ersten Gebiet mit relativ großer Schrittweite gearbeitet werden,wahrend in dem stark veranderlichen Bereich kleinere Schrittweiten gewahltwerden mussen. Wie groß die Schrittweite sein sollte, kann festgelegt werdenz.B.

– unter Berucksichtigung der vorhergehenden Schritte (wahle zunachst diezuletzt benutzte Schrittweite)

– unter Berucksichtigung der Ableitung an der letzten Stutzstelle (Ablei-tungswerte nahe Null erlauben großere Schrittweiten, wahrend betrags-große Ableitungen die Verwendung feinerer Schrittweiten erfordern)

– durch Austesten und Vergleich von Verfahren unterschiedlicher Ordnungoder Schrittweite (liefern die Verfahren stark unterschiedliche Werte, somuss das bessere Verfahren verwendet werden, andernfalls kann das ei-gentlich ungenauere (und billigere) benutzt werden).

Bei der letzten Variante vergleicht man die Naherungswerte, die man mitverschiedenen Verfahren erhalten hat. Stimmen die Werte genugend uberein,so kann man mit der dazugehorigen Schrittweite weiterarbeiten; andernfallssollte die Schrittweite verkleinert oder ein besseres Verfahren verwendet wer-den.

Beispiel 35 (Archimedes-Quadratur). Als erste Naherung einer Funktion fauf dem Intervall [a, b] kann man die lineare Interpolation dieser Funktionmit den Intervallgrenzen als Stutzstellen verwenden (Abb. 15.5).

a b

f(b)

a)

f(a)

Abb. 15.5. Lineare Interpolation.

f(a)

a b

f(b)

b)

c0

Abb. 15.6. Erste Korrektur c0.

Wertet man nun in der Intervallmitte den Fehler aus, so kann man alsKorrektur eine Hutchenfunktion mit der Hohe c0 des Fehlers auf die bisherigeApproximation aufaddieren (Abb. 15.6).

Dieses Vorgehen lasst sich auf den Teilintervallen fortsetzen (Abb. 15.7und 15.8). Man bricht ab, wenn die Hohe der korrigierenden Hutchenfunktioneine gewisse Fehlerschranke ε unterschreitet.

Page 186: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

184 15 Quadratur

c)

f(b)

ba

f(a)2c

0c

c1

Abb. 15.7. Zweite Korrektur c1 undc2.

d)

f(b)

ba

f(a)

3c

2c

0c

c1c

4

Abb. 15.8. Dritte Korrektur c3 undc4.

Auf diese Art und Weise kann die Funktion f auf [a, b] so naherungsweisedargestellt werden, dass in unterschiedlichen Teilintervallen mehr oder weni-ger Unterteilungen vorgenommen werden, um die gewunschte Genauigkeit zuerreichen.

Mittels dieser approximativen Darstellung kann das Integral I(f) nahe-rungsweise berechnet werden, in dem die Flachen der Hutchenkorrekturenberechnet und aufsummiert werden.

Ubung 69. Berechnen Sie die Flache eines korrigierenden Hutchens in Ab-hangigkeit von der Hutchenbreite h und der Große c der Korrektur.

15.7 Weitere Verfahren

Wir wollen noch einige Moglichkeiten aufzeigen, das Integrationsintervall [a, b]umzutransformieren. Dies ist oft sinnvoll, um die Integration auf ein Standard-intervall wie [0, 1] oder [−1, 1] zuruckzufuhren. Wahlen wir z.B. die Transfor-mation

y = g(x) = a + (b − a)x

mitdy

dx= y′ = g′(x) = b − a, x =

y − a

b − a,

so geht das Integral auf [a, b] uber in ein Integral auf [0, 1]:∫ b

a

f(y)dy =∫ 1

0

f(g(x))g′(x)dx = (b − a)∫ 1

0

f (a + (b − a)x) dx.

Eine solche Transformation ist oft auch hilfreich, wenn das gegebene In-tegral sich bis ins Unendliche erstreckt. Fur das Integral uber [1,∞] wahlenwir die Substitution y = 1/x und mit∫ ∞

1

f(y)dy =∫ 0

1

f

(1x

)(−dx

x2

)=∫ 1

0

1x2

f

(1x

)dx

liefert dies ein endliches Integral.

Page 187: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

15.7 Weitere Verfahren 185

Eine weitere nutzliche Methode besteht darin, bei Integralen uber unbe-grenzte Intervalle z.B. [a,∞], nur ein endliches Intervall [a, b] zu betrachten;denn solche Integrale konnen in der Regel nur dann einen endlichen Wertliefern, wenn f(x) → 0 fur x → ∞ gilt. Wahlen wir also b genugend groß, soist der Beitrag

∫∞b (f(x)dx so klein, dass wir ihn vernachlassigen konnen.

In manchen Fallen empfiehlt es sich auch, in der Nahe kritischer Stelleneine Reihenentwicklung von f(x) zu benutzen und dann uber ein entspre-chendes Taylor-Polynom zu integrieren. Als Beispiel hierfur betrachten wir∫ 1

0

√x · sin(x)dx, das wir zerlegen in

∫ ε

0

√x sin(x)dx und

∫ 1

ε

√x sin(x)dx. Das

erste Integral berechnen wir mittels Reihenentwicklung

√x sin(x) = x3/2 − x7/2

3!+

x11/2

5!− . . .

und der Naherung∫ ε

0

√x sin(x)dx ≈

n∑j=0

∫ ε

0

(−1)j x4j+3

2

(2j − 1)!dx =

n∑j=0

(−1)j 2ε4j+5

2

(4j + 5)(2j − 1)!.

Das zweite Integral kann durch eine der oben genannten ublichen Quadra-turregeln bestimmt werden. Wichtig ist dabei die geschickte Wahl von ε, sodass beide Integrale moglichst effektiv berechnet werden konnen: ε so klein,dass ein kleines n genugt in dem ersten Teilintegral, und ε so groß, dass daszweite Teilintegral von der Nicht-Differenzierbarkeit bei x = 0 genugend weitentfernt ist.

Anmerkung 51 (Monte-Carlo-Methoden). Ein vollig anderes Vorgehen fuhrtzu den Monte-Carlo-Methoden, die besonders bei mehrdimensionalen Funk-tionen verwendet werden. Dabei wahlen wir n Zufallspunkte xi ∈ IRn,i = 1, . . . , n, aus dem Integrationsbereich Q ⊂ IRn. Dann berechnen wiran diesen Punkten die Funktionswerte fi = f(xi), und setzen als Naherungfur das gesuchte Integral I =

∫Q

f(x)dx – bzw. fur das gesuchte Volumen imIRn+1 – einfach den Mittelwert

I ≈n∑

i=1

fi|Q|n

.

Dabei stellen wir uns vor, dass jeder zufalligen Funktionsauswertung f(xi)genau der gleiche Anteil an der ”Grundflache“ Q (namlich |Q|/n) zugeordnetist, also ein Quader des Inhalts fi|Q|/n.

Page 188: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

16 Beispiele

”Alles, was lediglich wahrscheinlich ist, ist wahrscheinlich falsch.“

R. Descartes

16.1 Interpolation von Bilddaten

Schwarz-Weiß-Bilder bestehen ublicherweise aus einem Feld (bzw. einer Ma-trix) von Punkten, (oder ”Pixeln“), die jeweils einen gewissen Grauwert be-sitzen. Mathematisch ist ein Bild also eine diskrete Funktion g(x, y) der Form

g : [0, b]⊗ [0, h] → [0, 1],

definiert auf einem diskreten quadratischen Gitter, wobei die Pixelwerte im-mer genau dem Wert der Funktion an einem Gitterpunkt entsprechen. EinGrauwert von Null steht fur Schwarz, ein Grauwert von Eins fur Weiß.

Wollen wir das gegebene Bild einer Drehung unterwerfen oder in der Großeverandern, so bedeutet dies fur die Funktion g(x, y), dass wir das diskreteGitter, auf dem g definiert ist, verandern. Dadurch liegen die Gitterpunktedes neuen Gitters innerhalb von Quadraten von alten Gitterpunkten.

Abb. 16.1. Gitter des ursprunglichen Bildes und verschobenes Pixel-Gitter.

Page 189: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

188 16 Beispiele

Um also das Bild auf das neue Gitter, das durch Drehung oder Vergroße-rung entstanden ist, umzurechnen, mussen wir – ausgehend von der Funkti-on g(x, y) auf dem alten Gitter – eine neue Funktion h(u, v) auf dem neuenGitter definieren. Dazu betrachten wir zu jedem neuen Gitterpunkt (u, v)die bekannten Werte von g an benachbarten Punkten des alten Gitters undgewinnen daraus durch Interpolation einen Wert fur h(u, v). Dazu sind dreiVarianten am gebrauchlichsten:

1. Suche zu (u, v) den nachsten Gitterpunkt (x, y) und setze h(u, v) =g(x, y).

2. Bestimme zu (u, v) ein Quadrat aus alten Gitterpunkten, das (u, v)enthalt; dieses Quadrat werde gebildet von den Punkten (xi, yi),(xi+1, yi), (xi, yi+1) und (xi+1, yi+1). Zu diesen vier Stutzpunkten wirddas bilinear interpolierende Polynom p(x, y) = a+bx+cy+dxy bestimmtund g(u, v) = p(u, v) gesetzt.

3. Bestimme zu (u, v) ein Quadrat aus alten Gitterpunkten, das (u, v)enthalt; zusatzlich werden alle Nachbarquadrate betrachtet, also insge-samt 16 Punkte des alten Gitters, die zu (u, v) benachbart liegen. Mitdiesen 16 Punkten als Stutzstellen wird das bikubisch interpolierendePolynom berechnet in der Form

q(x, y) = a + bx + cy + dx2 + exy + fy2 + gx3 + hx2y + ixy2 + jy3

+kx3y + lx2y2 + mxy3 + nx3y2 + ox2y3 + px3y3

Dann setzen wir wieder g(u, v) = q(u, v).

Ubung 70. Beim bilinearen Ansatz konnen wir wieder die Lagrange-ahnli-chen Polynome verwenden, wie z.B.

pi,j(x, y) =(x − xi+1)(y − yj+1)

(xi − xi+1)(yj − yj+1).

pi,j(x, y) ist bilinear und liefert an drei Stutzstellen den Wert 0 und an derStelle (xi, yj) den Wert Eins.

Beschreiben Sie, wie man das Interpolationsproblem und damit die Be-rechnung von p(u, v) mit Hilfe dieser Lagrange-Polynome durchfuhren kann.

16.2 Registrierung und Kalibrierung von Bilddaten

Ein Standardproblem der Bildverarbeitung besteht darin, zwei Bilder, diedas selbe Objekt zeigen, aber aus verschiedenen Blickwinkeln, oder die mitverschiedenen Aufnahmetechniken (CT, IR, Ultraschall) erzeugt wurden, zuvergleichen. Dazu mussen die Bilder zunachst durch eine geometrische Trans-formation (Drehung, Verschiebung) zur Deckung gebracht werden. DiesenVorgang bezeichnet man als Registrierung.

Page 190: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

16.2 Registrierung und Kalibrierung von Bilddaten 189

Zunachst kann man dazu mehrere Markierungspunkte in den Bilddateneindeutig identifizieren (Pi in Bild B1 entspricht genau Qi in Bild B2). Danachmuss durch Ausgleichsrechnung diejenige lineare Transformation

g(x) = Ax + b , A eine orthogonale Matrix, b ein Vektor

naherungsweise bestimmt werden, die die Bilder so gut wie moglich zur De-ckung bringt, also

minA,b

∑i

‖(APi + b) − Qi‖22 .

Unterscheiden sich die beiden Bilder nur gering, so konnen wir im Zwei-dimensionalen fur die Drehung A naherungsweise den Ansatz

A =(

1 ϑ−ϑ 1

)wahlen. Dann sind nur drei Parameter, namlich ϑ und der Vektor b zu be-stimmen durch Losen eines linearen Ausgleichsproblems.

Neben dem Problem der Registrierung treten in vielen Fallen auch nochVerzerrungen zwischen den Bildern auf. Hier stehen wir vor dem Problem derKalibrierung.

Wir nehmen dazu an, dass eine verzerrte Aufnahme eines bekannten, ein-fachen Objekts, z.B. eines aquidistanten Gitters, erstellt wurde. Die Gitter-punkte stellen nun eine Menge von Referenzpunkten (xi, yi) dar, deren echtePosition wir genau kennen. In der Aufnahme haben sich durch die Verzerrungdie Referenzpunkte verschoben und liegen nun an Positionen (xi, yi). Um dieVerzerrung ”wegzurechnen“, suchen wir eine einfache Funktion mit

f(xi, yi) = (xi, yi).

Die Anwendung dieser Funktion auf das gesamte verzerrte Bild sollte danneine zumindest weniger verzerrte Aufnahme liefern.

Probleme solcher Art treten bei mediengestutzten Operationstechnikenauf, die z.B. Rontgenaufnahmen vor und wahrend des Eingriffs verwenden.Dabei ist in Echtzeit die unvermeidliche, z.B. durch das Erdmagnetfeld er-zeugte Verzerrung der Rontgenstrahlung mittels der schon vor der Operati-on bestimmten Funktion f(x, y) zu beseitigen. Referenzpunkte konnen hierdurch ein eingeblendetes Stahlgitter geliefert werden.

Als Ansatz fur die Funktion f bieten sich verschiedene Varianten an. Imeindimensionalen Fall konnen wir ein Polynom

p(x) = a0 + a1x + . . . + amxm

vom Grad m verwenden, um die n gestorten Referenzpunkte (xi) moglichstgut auf die tatsachlichen Positionen (xi) fur i = 0, 1, . . . , n abzubilden.

Page 191: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

190 16 Beispiele

Im Zweidimensionalen konnen wir entsprechend zwei Polynome zweitenGrades

p(x, y) = a0 + a1x + a2y + a3x2 + a4y

2 + a5xy

q(x, y) = b0 + b1x + b2y + b3x2 + b4y

2 + b5xy

fur die x-, bzw. y-Komponente ansetzen. Dann ergeben sich fur die n Refe-renzpunkte zwei lineare Ausgleichsprobleme zur Bestimmung der Koeffizien-ten von p, bzw. von q durch

min ‖(p(xi, yi) − xi, q(xi, yi) − yi)‖22 .

Ubung 71. Stellen Sie die linearen Gleichungssysteme zu obigen Ausgleichs-problemen auf.

16.3 Gauß’scher Weichzeichner

Bilddaten sind oft durch statistisches Rauschen gestort; d.h. jeder Pixelwertist dabei um einen kleinen Wert verschoben. Diese Storungen lassen sich –wegen ihres statistischen Charakters – durch eine Mittelwertbildung zwischenbenachbarten Pixeln abschwachen. Weiterhin ist es oft sinnvoll, Bildbereiche,an deren Feinstruktur man nicht interessiert ist, zu glatten. In beiden Fallenkann der Gauß’sche Weichzeichner eingesetzt werden:

Liegt das ursprungliche Bild – der Einfachheit halber – eindimensional ineiner Funktion f(x) vor, so modelliert man diese weich zeichnende Mittel-wertbildung durch eine Transformation der Form

f(x) �−→ g(x) =∫

K(x − t)f(t)dt

mit

K(x) = exp(−x2

2πσ2

).

Mathematisch entspricht diese Operation einer Faltung der Funktion fmit der Gauß-Funktion. Dabei wird also – grob gesprochen – jeder Pixel-wert auf seine Nachbarpixel verteilt mit einer Gewichtung, die durch eineGauß’sche Glockenkurve gegeben ist. Ahnliche Operatoren auf Bilddaten wer-den auch in Kapitel 19.4 diskutiert.

Nach derselben Methode konnen wir auch haufig vorkommende Storun-gen von Bilddaten modellieren. So wird bei der Aufnahme von Objekten imWeltall durch die Erdatmosphare jeder ursprunglich scharfe Bildpunkt zueinem unscharfen Fleck verschmiert; wir sprechen hier vom Blurring. Die-ser Prozess ist wieder vergleichbar einer – in diesem Falle unerwunschten –Mittelwertbildung, bzw. Faltung.

Page 192: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

16.4 Fuzzy-Steuerung 191

Um die Beziehung zwischen den originalen Bilddaten f und der gestortenAufnahme, beschrieben durch eine Funktion g, zu modellieren, stellen wiruns vor, dass die Storung durch Anwendung des Faltungsintergrals zustandegekommen ist, also durch die Verbreiterung und Uberlagerung aller Pixel-punkte. Das Faltungsintegral ersetzen wir naherungsweise durch eine Summeunter Anwendung der Mittelpunktsregel. Dadurch entsteht ein linearer Zu-sammenhang g = Kf zwischen den Pixelpunkten zu f und zu g mit einerMatrix K, die durch die Integrationsregel bestimmt ist.

Wollen wir nun aus gemessenen unscharfen Daten g das ursprunglicheund ungestorte Bild f wiedergewinnen, so ist das Gleichungssystem g =Kf zu losen. Allerdings haben wir es hierbei mit einem schlecht gestellten,inversen Problem zu tun (vgl. 10.3). Daher sind wir gezwungen, zu einemregularisierten Gleichungssystem uberzugehen, um brauchbare Ergebnisse zuerzielen. In diesem Spezialfall ist K symmetrisch und positiv semidefinit,d.h. xT Kx ≥ 0 fur alle x. Daher kann man g = Kf ersetzen durch dasSystem g = (K + �2I)f mit Regularisierungsfaktor �. Das zu losende lineareGleichungssystem mit Matrix K + �2I ist wesentlich besser konditioniert alsdas ursprungliche Problem zur Matrix K.

Ubung 72. Zu Pixeln xj = jh, Grauwerten f(xj), j = 0, ..., n mit h =1/n untersuche man verschiedene Naherungsformeln fur den neuen Grauwertg(xk), der sich aus der Faltung

g(xk) =∫

K(xk − t)f(t)dt =n−1∑j=0

∫ xj+1

xj

K(xk − t)f(t)dt

ergibt unter der Annahme, dass f(x) = 0 fur x < 0 und x > 1 gilt. Wiesieht dann die Matrix K aus? Fur welche Funktionen K(x) ergibt sich eineBandmatrix?

16.4 Fuzzy-Steuerung

Fuzzy-Steuerung ist eine einfache Methode, fur komplizierte Vorgange nahe-zu optimale Steuerung zu erreichen. Bei klassischen mathematischen Steue-rungsalgorithmen wird zu Eingabe-Messwerten anhand einer mathematischenFunktion exakt ein Ausgabe-Steuerwert berechnet. In vielen Fallen ist es abergar nicht moglich, mathematisch eine Optimallosung zu bestimmen. Oft istman auch nur an einer billigen, aber einigermaßen vernunftigen Wahl derSteuergroße interessiert. Dazu verwendet man in der Fuzzy-Steuerung diefolgende Vorgehensweise:Zunachst werden die exakten Messwerte durch eine Kombination gewichte-ter, unscharfer Intervalle reprasentiert; je nachdem, in welchen Bereich einneuer Messwert fallt, wird dann nach einem vorgegebenen Regelwerk aus den

Page 193: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

192 16 Beispiele

Messwert-Intervallen eine neue gewichtete Kombination von Intervallen be-stimmt, die die anzuwendende Steuergroße darstellen sollen. Diese unscharfeDarstellung der Steuergroße ist vergleichbar mit einer Wahrscheinlichkeitsver-teilung fur die Wahl der Steuergroße. Aus dieser Verteilungsfunktion mussnun wieder ein eindeutiger Ausgabewert gewonnen werden, der dann zurSteuerung verwendet wird. Beim diesem letzten Schritt, dem so genanntenDefuzzify, steht man also vor dem Problem, aus einer Funktion f(t), die unterBerucksichtigung aller angesprochenen Intervalle durch Aufaddieren entstan-den ist, einen eindeutigen Steuerparameter x auszuwahlen. Diese Zuordnungf(t) → x erfolgt haufig durch das ”mean-of-area“-Kriterium; dabei wird demgesuchten Parameter x der Wert zugewiesen, der dem Schwerpunkt der Flacheunterhalb von f entspricht:

x =

∫ b

a tf(t)dt∫ b

af(t)dt

Dies ist gleichzeitig auch der Erwartungswert der ’Verteilungsfunktion’ f(t).Wir haben also auf einem Intervall [a, b] zu einer Funktion f(t) ≥ 0 die

Integrale uber f(t) und tf(t) zu berechnen. Die sich ergebende Steuergroße xist der gewichtete Mittelwert.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10.6

0.7

0.8

0.9

1

1.1

1.2

Abb. 16.2. Schwerpunkt x = 11/23 ≈ 0.4783 in [0, 1] fur f(t) = 1 + t/4 − t2/2.

Ein anderes Vorgehen konnte darin bestehen, dasjenige x zur Funktionf(t) auszuwahlen, das die Gesamtflache in zwei genau gleich große Teile zer-legt. Wir wollen also x so bestimmen, dass∫ x

a

f(t)dt =∫ b

x

f(t)dt.

In der Funktion aus Abb. 16.2 liefert das ”mean-of-area“-Kriterium denWert 0.4783, wahrend das zweite Verfahren x = 0.4698 als Steuerparameterausgeben wurde.

Page 194: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

17 Aufgaben

”Mathematics is the only instructional material that can be presentedin an entirely undogmatic way.“

Max Dehn

Ubung 73. Bestimmen Sie die Anzahl der Operationen zur Berechnung desinterpolierenden Polynoms p0,...,n(c) an einer Stelle c mittels

a) Lagrange-Polynomb) Neville-Schemac) Newton-Form des interpolierenden Polynoms.

Ubung 74. Wir betrachten die Funktion f(x) = x8. Bestimmen Sie zu fdas interpolierende Polynom vom Grad kleiner gleich 6 zu den Stutzstellen−3,−2,−1, 0, 1, 2, 3.

Ubung 75. Approximieren Sie die Funktion ld(x) = log2(x).

a) Berechnen Sie das Interpolationspolynom zu ld(x) mit den Stutzstellen16, 32 und 64.

b) Bestimmen Sie die lineare Ausgleichsgerade zu diesen Stutzstellen undvergleichen Sie sie mit dem Interpolationspolynom aus a).

Ubung 76 (Trigonometrische Interpolation). Im Intervall [0, 2π] seienn Stutzstellen xk = 2π

n k, k = 0, . . . , n − 1 und n Interpolationsfunktionengl : IR → C, gl(x) = exp(ilx), l = 0, . . . , n − 1 gegeben.

Zu den n Stutzwerten fk soll nun der Interpolant p(x) gefunden werden,so dass gilt:

p(xk) = fk fur k = 0, . . . , n − 1, wobei p(x) =n−1∑l=0

βlgl(x)

a) Formulieren Sie diese Interpolationsaufgabe als Gleichungssystem By =f .

b) Zeigen Sie: BBH = nI. Wie erhalt man daher B−1 und den Interpolantenp(x)?

Page 195: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

194 17 Aufgaben

Hinweis: Zeigen Sie:

n−1∑j=0

exp(

νj2πi

n

)={

n falls ν = 0,±n,±2n, · · ·0 sonst

Ubung 77 (Lagrange-Polynome bei der Hermite-Interpolation). Be-stimmen Sie zu Stutzstellen x0 < x1 < . . . < xn ein Polynom der Form

p(x) = (x − x0)2 · · · (x − xj)2(x − xj+1)2 · · · (x − xn)2(αx + β) (17.1)= w2(x)(αx + β) (17.2)

mit p(xk) = p′(xk) = 0 fur k = 0, 1, . . . , j − 1, j + 1, . . . , n und

a) p(xj) = 0, p′(xj) = 1b) p(xj) = 1, p′(xj) = 0

Wie lasst sich mit Hilfe dieser Polynome die Hermite-Interpolationsaufgabe 65aus Abschn. 14.5 losen?

Ubung 78 (Bernstein-Polynome). Auf dem Intervall [0, 1] soll eine Kur-ve S = {(x, s(x)) ; x ∈ [0, 1]} in drei beliebig vorgegebene Punkte Pi =(xi, yi); i = 0, 1, 2, eingepasst werden. P0 und P2 sollen dabei auf den Inter-vallrandern (also x0 = 0 und x2 = 1) liegen und interpoliert werden. P1 wirdim Allgemeinen nicht auf der Kurve liegen. Die Kurve S wird mittels

s(x) :=2∑

i=0

yiBi(x) mit Bi(x) =(

2i

)xi(1 − x)2−i

definiert.

a) Berechnen Sie die Ableitung der Funktion s(x) an den Stellen x0 undx1 in Abhangigkeit der Werte yi, i = 0, 1, 2. Verwenden Sie dazu dieAbleitungen der Bernsteinpolynome Bi(x).

b) Bestimmen Sie die beiden Kurventangenten in den Punkten P0 und P2

mit Hilfe Ihrer Ergebnisse aus Teilaufgabe a). Berechnen Sie dann denSchnittpunkt P = (x, y) dieser beiden Geraden.

c) Es seien die Werte y0 und y2 so wie ein Punkt P∗ = (0.5, y∗) gegeben.Berechnen Sie y1 so, dass P∗ auf der Kurve S liegt.

Ubung 79. Prufen Sie nach, dass die einfache Simpson-Regel Polynome vomGrad 3 exakt integriert.

Ubung 80. Zu Stutzstellen x0 < x1 < x2 mit bekannten Funktionswertenf(x0), f(x1) und f(x2) soll das Integral

∫ b

af(x)dx naherungsweise bestimmt

werden; dabei sei a ≤ x0 < x2 ≤ b.Beschreiben Sie, wie man mittels eines Polynoms zweiten Grades dieses

Integral naherungsweise berechnen kann und geben Sie eine explizite Qua-draturregel an der Form

Page 196: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

17 Aufgaben 195∫ b

a

f(x)dx ≈2∑

j=0

wjf(xj).

Ubung 81. Gesucht ist eine Quadraturregel auf dem Intervall [0, 1] zurLosung von Integralen der Form I(f) =

∫ 1

0 f(x)dx. Bekannt seien von f dieWerte der Ableitungen an den Stellen 0 und 1, also f ′(0) und f ′(1). Weiterhinsei an einer Stelle z ∈ [0, 1] der Funktionswert f(z) bekannt. Wir ersetzennun unter dem Integral die Funktion f(x) durch ein geeignetes Polynom.

Welchen Grad sollte das Polynom haben und welche Bedingungen solltees erfullen? Wie lautet die so gewonnene Quadraturregel? Fur Polynome wel-chen Grades liefert diese Regel den exakten Wert? Wie sollte man z wahlen,damit Polynome moglichst hohen Grades exakt integriert werden?

Ubung 82. Gegeben sei eine Integrationsregel mit nur einer Stutzstelle x0

und einem Gewicht α:

αf(x0) ≈∫ b

a

f(x)dx.

Bestimmen Sie x0 und α so, daß die Integrationsregel fur Polynomemoglichst hohen Grades exakt gilt. Konnen Sie eine entsprechende Regelfur zwei Stutzstellen und zwei Gewichte finden?

Ubung 83. Bestimmen Sie zu den Stutzstellen x0 = 0, x1 = a, x2 = 1Gewichte w0, w1, w2 und die Stutzstelle a so, daß die Integrationsregel∫ 1

0

f(x)dx = w0f(0) + w1f(a) + w2f(1)

fur Polynome moglichst hohen Grades exakt ist.

Ubung 84. Gegeben sind die Stutzstellen a = x0, x1 = x0 + h, . . . , xn−1 =x0 +(n−1)h, xn = b, h = b/n, n gerade, und eine Funktion f(x). Gesucht istein Naherungswert fur

∫ b

af(x)dx. Bestimmen Sie mittels der Simpson-Regel∫ v

u

g(x)dx ≈ v − u

6

(g(u) + 4g

(u + v

2

)+ g(v)

),

angewandt jeweils auf die Teilintervalle [x0, x2], . . . , [xn−2, xn], eine Formelder Form

∑nj=0 cjf(xj) als Naherung des gesuchten Wertes.

Ubung 85 (Fehlerabschatzung der Simpson-Regel).

a) Bestimmen Sie zu x0 = a, x2 = b, x1 = (a + b)/2 mit gegebenen Wertenf(a), f(b), f((a + b)/2) das interpolierende quadratische Polynom in derForm

p(x) = α + β(x − x1) + γ(x − x1)2.

Zu berechnen sind also α, β und γ in Abhangigkeit von den gegebenenStutzpaaren.

Page 197: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

196 17 Aufgaben

b) Bestimmen Sie die Taylor-Entwicklung von f(x) um x1 bis zur viertenOrdnung. Damit konnen dann f(a) und f(b) durch Funktionswert undAbleitungen an der Stelle x1 ausgedruckt werden. Dasselbe gilt dann auchfur α, β und γ.

c) Zur Abschatzung von∣∣∣∫ b

a(f − p)dx

∣∣∣ setze man p(x) ein mit α, β, γ ausb) und fur f(x) die Taylor-Entwicklung bis zur vierten Ordnung. Bewei-sen Sie durch Abschatzung dieser Formel die Fehlerabschatzung fur dieSimpson-Regel aus 15.3.

Page 198: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Teil V

Die schnelle Fourier-Transformation

Page 199: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

18 Eigenschaften und Algorithmen

”Mathematical Analysis is as extensive as nature herself.“

J. Fourier

Wir betrachten hier einen Vektor von Daten, der untersucht werden soll.Beispielsweise kann dieser Vektor als Komponenten die mittleren Tagestem-peraturen der letzten Jahre enthalten. Die diskrete Fourier-TransformationDFT beschreibt nun eine Basistransformation des Cn, die es ermoglicht, diein dem gegebenen Vektor enthaltenen Daten zu analysieren und ev. zu mo-difizieren. Die DFT ist also nichts anderes als eine andere Beschreibung dergegebenen Daten in einer Form, die besser zuganglich und verstandlich ist.Aus den Fourier-transformierten Daten konnen dann z.B. Gesetzmaßigkeitenund periodische Anteile extrahiert werden, oder die Daten konnen entspre-chend bestimmter Vorgaben verandert werden.

Wegen der großen Bedeutung der Fourier-Transformation in den An-wendungen ist es naturlich wichtig, effiziente und schnelle Algorithmen zurDurchfuhrung der DFT zu haben. Daher beschaftigen wir uns in den folgen-den Abschnitten mit schnellen Verfahren fur die DFT, die unter dem NamenFast Fourier Transformation oder FFT bekannt sind. Diese Algorithmen be-ruhen alle auf dem divide-and-conquer-Prinzip und sind als spezielle rekursiveVerfahren sehr interessant. Dabei sollten wir aber nie vergessen, dass die DFTnichts weiter als eine einfache Matrix-Vektor-Multiplikation ist.

Im zweiten Abschnitt stellen wir dann wichtige Anwendungsmoglichkeitenund Weiterentwicklungen der DFT vor. Wir beschaftigen uns dabei insbeson-dere mit Anwendungen in der Bildverarbeitung und mit den Themen Filternund Wavelets.

18.1 Diskrete Fourier-Transformation

Mit den n-ten Einheitswurzeln exp(

2πijn

), j = 0, 1, . . . , n − 1, (siehe An-

hang C) als Stutzstellen wollen wir das komplexe Polynominterpolationspro-blem (vgl. Kapitel 14 und Ubung 76)

Page 200: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

200 18 Eigenschaften und Algorithmen

vj = p

(exp(

2πij

n

))= c0 + c1 exp

(2πij

n

)+ . . . + cn−1 exp

(2πij(n − 1)

n

)=

n−1∑k=0

ck exp(

2πijk

n

)=

n−1∑k=0

ckωjk

betrachten. Dabei benutzen wir im Folgenden die Abkurzung ω = exp(

2πin

).

Die Aufgabe lautet also:

Finde n komplexe Zahlen c0, . . . , cn−1, so daß vj = p(ωj) fur j =0, 1, . . . , n − 1 gilt.

Dies fuhrt auf das lineare Gleichungssystem⎛⎜⎜⎜⎜⎜⎝1 1 1 · · · 11 ω ω2 · · · ωn−1

1 ω2 ω4 · · · ω2(n−1)

......

......

1 ωn−1 ω2(n−1) · · · ω(n−1)(n−1)

⎞⎟⎟⎟⎟⎟⎠ ·

⎛⎜⎜⎜⎜⎜⎝c0

c1

c2

...cn−1

⎞⎟⎟⎟⎟⎟⎠ =

⎛⎜⎜⎜⎜⎜⎝v0

v1

v2

...vn−1

⎞⎟⎟⎟⎟⎟⎠ . (18.1)

Glucklicherweise lasst sich fur diese Matrix die Inverse leicht angeben, dadiese Vandermonde-Matrix bis auf einen Faktor 1/

√n unitar ist (vgl. Aufgabe

76 und Anhang B.3). Die Inverse der Matrix aus (18.1) ist gerade das Her-mite’sche dieser Matrix – bis auf einen zusatzlichen Faktor 1/n. Die Losungdes Gleichungssystems erhalten wir einfach als⎛⎜⎜⎜⎜⎜⎝

c0

c1

c2

...cn−1

⎞⎟⎟⎟⎟⎟⎠ =1n

⎛⎜⎜⎜⎜⎜⎝1 1 1 · · · 11 ω ω2 · · · ωn−1

1 ω2 ω4 · · · ω2(n−1)

......

......

1 ωn−1 ω2(n−1) · · · ω(n−1)(n−1)

⎞⎟⎟⎟⎟⎟⎠ ·

⎛⎜⎜⎜⎜⎜⎝v0

v1

v2

...vn−1

⎞⎟⎟⎟⎟⎟⎠oder

ck =1n

n−1∑j=0

vjωjk, k = 0, 1, . . . , n − 1. (18.2)

Die Formeln (18.2) beschreiben nun gerade die diskrete Fourier-Trans-formation DFT des Vektors (v0, . . . , vn−1), also⎛⎜⎜⎜⎜⎜⎝

c0

c1

c2

...cn−1

⎞⎟⎟⎟⎟⎟⎠ = DFT

⎛⎜⎜⎜⎜⎜⎝v0

v1

v2

...vn−1

⎞⎟⎟⎟⎟⎟⎠ = FH · c .

Page 201: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

18.2 Schnelle Fourier-Transformation am Beispiel der IDFT 201

Die Umkehrbeziehung⎛⎜⎜⎜⎜⎜⎝v0

v1

v2

...vn−1

⎞⎟⎟⎟⎟⎟⎠ = IDFT

⎛⎜⎜⎜⎜⎜⎝c0

c1

c2

...cn−1

⎞⎟⎟⎟⎟⎟⎠ = F · c

entspricht dem ersten Gleichungssystem (18.1). In Summenform ausgeschrie-ben

vj =n−1∑k=0

ckωjk, j = 0, 1, . . . , n − 1 ,

stellt dies die inverse diskrete Fourier-Transformation IDFT dar.In dieser Form entspricht der Aufwand der Berechnung der DFT den Kos-

ten eines Matrix-Vektor-Produkt, also O(n2). Wir wollen nun ein schnelleresVerfahren herleiten, das fur spezielle Werte von n in O(n log(n)) Operationendie DFT berechnet und daher auch als FFT (Fast Fourier Transformation)bezeichnet wird. Eine solche effiziente Berechnung ist angebracht, da die DFTin vielen praktischen Anwendungen benotigt wird.

Anmerkung 52. Die Normierungsfaktoren in der DFT und IDFT sind in derLiteratur nicht ganz einheitlich definiert. Manchmal normiert man z.B. beidemit 1/

√n – dann sind beide zugehorigen Matrizen unitar. Immer aber ist die

Normierung so vorzunehmen, dass insgesamt bei Anwendung beider Trans-formationen der Faktor 1/n entsteht. Weiterhin sind in manchen Lehrbucherndie Definitionen von DFT und IDFT genau vertauscht; dann entspricht dieMatrix F H der IDFT, und F entspricht der DFT.

18.2 Schnelle Fourier-Transformation am Beispiel derIDFT

Die Grundidee besteht darin, die Summen uber n in je zwei Summen halberLange zu zerlegen und dies rekursiv nach dem Prinzip des divide-and-conquerso lange durchzufuhren, bis man bei trivialen Summen der Lange 1 angelangtist. Dazu notwendig ist naturlich im ersten Schritt, dass n = 2m gerade ist.Um das Verfahren voll durchfuhren zu konnen, wollen wir uns von vornhereinauf den Fall beschranken, dass n eine Zweierpotenz ist, n = 2p und daherm = 2p−1.

Wir untersuchen im Folgenden die inverse Fourier-Transformation; dasVerfahren fur die eigentliche DFT erhalt man daraus offensichtlich durchUbergang zum konjugiert Komplexen und einem zusatzlichen Faktor 1/n:

DFT (v) =1n

IDFT (v).

Page 202: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

202 18 Eigenschaften und Algorithmen

Fur (v0, . . . , vn−1) = IDFT (c0, . . . , cn−1) gilt

vj =n−1∑k=0

ck exp(

2πijk

n

)

=

n2 −1∑k=0

c2k exp(

2πij2k

n

)+

n2 −1∑k=0

c2k+1 exp(

2πij(2k + 1)n

)

=m−1∑k=0

c2k exp(

2πijk

m

)+ ωj

m−1∑k=0

c2k+1 exp(

2πijk

m

)fur j = 0, 1, . . . , m − 1. Die noch fehlenden Eintrage vm, . . . , vn−1 erhaltenwir nach demselben Prinzip aus

vm+j =m−1∑k=0

c2k exp(

2πi(j + m)2k

n

)+

m−1∑k=0

c2k+1 exp(

2πi(j + m)(2k + 1)n

)

=m−1∑k=0

c2k exp(

2πijk

m

)− ωj

m−1∑k=0

c2k+1 exp(

2πijk

m

)fur j = 0, 1, . . . , m − 1. Dabei ist

exp(

2πi(j + m)n

)= exp (πi) exp

(πij

m

)= − exp

(πij

m

)= −ωj.

Wir konnen also die Berechnung von

(v0, . . . , vn−1) = IDFT (c0, . . . , cn−1)

zuruckfuhren auf

(v(1)0 , . . . , v

(1)m−1) = IDFT (c0, c2, . . . , cn−2)

und(v(2)

0 , . . . , v(2)m−1) = IDFT (c1, c3, . . . , cn−1)

mit Vektoren halber Lange. Daran anschließend folgt eine Kombination derVektoren v(1) und v(2), versehen mit Gewichtsfaktoren ωj , um die erste bzw.zweite Halfte der gesuchten Losung (v0, . . . , vn−1) zu erhalten. Wir teilendabei also den Ausgangsvektor auf in je einen Vektor halber Lange mit dengeraden Koeffizienten und mit den ungeraden, wenden auf diese Teilvektorendie IDFT an und kombinieren die Ergebnisvektoren zur gesuchten Losungdes Ausgangsproblems. Diese Vorgehensweise wiederholen wir rekursiv, d.h.auch die IDFT der Teilvektoren fuhren wir auf Vektoren wiederum halberLange zuruck, bis wir bei Vektoren der Lange Eins angelangt sind, fur diedie Berechnung der IDFT trivial ist.

In einer ersten Formulierung konnen wir diesen Algorithmus nun durchein rekursives Programm beschreiben:

Page 203: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

18.3 FFT-Algorithmus am Beispiel der IDFT 203

FUNCTION (v[0], .., v[n-1]) = IDFT(c[0], .., c[n-1],n)IF n == 1 THEN

v[0] = c[0];ELSE

m = n/2;z1 = IDFT(c[0], c[2], .., c[n-2], m);z2 = IDFT(c[1], c[3], .., c[n-1], m);omega = exp(2*pi*i/n);FOR j=0, ..., m-1:

v[j] = z1[j] + omega^j * z2[j];v[m+j] = z1[j] - omega^j * z2[j];

ENDFORENDIF

Die wesentliche Operation ist also die komponentenweise Verknupfung derZwischenvektoren z(1) und z(2) durch einen ”Butterfly“ (Abb. 18.1).

j

b

a

a

a

w j

j

j

j −w j bj

j +wj b

Abb. 18.1. Butterfly, der die elementare Verknupfung zweier Komponenten beider FFT beschreibt.

Ein Aufruf des Programms IDFT (c0, c1, c2, c3) ergibt den in Abb. 18.2dargestellten Baum, der die verschiedenen Aufrufe von IDFT verschiedenerLange und ihre zeitliche Reihenfolge darstellt.

18.3 FFT-Algorithmus am Beispiel der IDFT

In Anbetracht der großen Bedeutung der diskreten Fourier-Transformation invielen Anwendungsbereichen sind wir mit dieser rekursiven Formulierung derDFT noch nicht zufrieden. Um ein besseres Laufzeit- und Speicherplatzver-halten zu bekommen, werden wir versuchen, die Rekursion mittels einfacherFOR-Schleifen zu realisieren.

Page 204: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

204 18 Eigenschaften und Algorithmen

V0 V2 V1

C0

C0C 2

C 2 C1

C1 C3

C3

V3

C1 C 2C0 C3

0

1

2

3

4

5

6

7

8

9

10

Abb. 18.2. Aufrufbaum der FFT fur n = 4.

Denn zum einen erlauben nicht alle Programmiersprachen rekursive Pro-grammaufrufe, und zum anderen kostet jeder rekursive Aufruf naturlichzusatzlich Zeit, um z.B. neuen Speicherplatz fur das Anlegen der entspre-chenden neuen Variablen zur Verfugung zu stellen. Eine genauere Analyse,die in diesem Abschnitt durchgefuhrt wird, zeigt, wie sich das rekursive Pro-gramm auf einfache FOR-Schleifen (Loops) zuruckfuhren lasst.

Wir wollen einmal die verschiedenen rekursiven Aufrufe der FunktionIDFT im Falle n = 8 genau verfolgen. Zunachst wird also der Vektor(c0, . . . , c7) in zwei Vektoren (c0, c2, c4, c6) und (c1, c3, c5, c7) mit den gera-den, bzw. ungeraden Koeffizienten aufgeteilt. Fur jeden dieser Vektoren wirdwieder IDFT aufgerufen. Also wird z.B. (c0, . . . , c6) nun wiederum aufge-teilt nach gerade und ungerade in (c0, c4) und (c2, c6). Dasselbe wiederholtsich auf dieser Ebene, und (c0, c4) wird aufgespalten in (c0) und (c4). Einerneuter Aufruf von IDFT stoßt nun aber auf den Sonderfall eines Vektorsder Lange 1, und die inverse Fourier-Transformation besteht nun einfach dar-in, die Zahl unverandert zu ubernehmen. Bis hierher wurde also nur durchrekursive Funktionsaufrufe der Ausgangsvektor in immer kleinere Einheitenzerlegt, bis wir bei Lange Eins angekommen sind, und die Ausfuhrung derIDFT trivial ist. Nun meldet der letzte Funktionsaufruf von IDFT sich aufder aufrufenden Ebene zuruck mit seinem Ergebnis. Das aufrufende Pro-gramm baut die Zwischenergebnisse nach dem bekannten Schema aj ± ωjbj

zu einem doppelt so langen Vektor zusammen, und meldet sein Ergebnis nachoben. Dies wird so lange durchgefuhrt, bis wir auf der obersten Ebene des ur-sprunglich aufgerufenen Programms angekommen sind. Abb. 18.3 beschreibtden Datenfluss und die elementaren Rechenschritte der FFT fur n = 8.

Der Aufruf von IDFT bewirkt also zunachst ein rekursives Aufteilen desAusgangsvektors in Anteile mit geraden und ungeraden Indizes. Erst danachbeginnt die eigentliche Rechenphase mit der Kombination einzelner Kompo-nenten mittels des Butterflys aus Abb. 18.1. Wir wollen daher im Folgenden

Page 205: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

18.3 FFT-Algorithmus am Beispiel der IDFT 205

c1

c2

c3

c4

c5

c6

c7

c0 c0

c2

c4

c6

c1

c3

c5

c7

c4

c0

c2

c6

c1

c5

c3

c7

z1

z1

z1

z2

z2

z1

z2

z2

z1

z2

z1

z2

z1

z2

w0

w1

w2

w3

w4

w5

w6

w7

Sortierphase Kombinationsphase

Abb. 18.3. Programmfluß bei der FFT der Lange 8.

den Gesamtalgorithmus in eine Sortierphase und eine anschließende Kombi-nationsphase aufteilen.

Die Sortierphase:

Zunachst betrachten wir die Sortierphase. In unserem Beispiel mit n = 8wird der Vektor (c0, . . . , c7) durch wiederholtes Aufspalten in 8 Vekto-ren der Lange Eins transformiert, und erscheint in der neuen Reihenfolgec0, c4, c2, c6, c1, c5, c3, c7 (entspricht der dritten Spalte in Abb. 18.3). Dabeisteht nun z.B. c4 an zweiter Stelle, c3 an vorletzter usw. In dieser Reihen-folge werden die Vektoren in der Kombinationsphase entsprechend aj ±ωjbj

wieder zu langeren Vektoren zusammengesetzt. Die Sortierung ordnet alsojedem Index k zu Komponente ck eine Zahl π(k) zu, die beschreibt, an wel-

Page 206: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

206 18 Eigenschaften und Algorithmen

cher Stelle ck nach der Sortierung steht. So ist π(1) = 4, da c1 durch dieSortierung an Position 5 gelangt, an der sich ursprunglich c4 befand.

Beschreiben wir fur n = 2p die Indizes k im Binarsystem mit p Stellen,so erfolgt die Sortierung nach der einfachen Regel, dass im ersten SchrittIndizes k mit letzter Binarziffer Eins (Einerstelle) in den hinteren Teil ver-schoben werden (da ungerade), also am Ende der Sortierphase auf jedenFall eine Eins als erste (hochste) Binarziffer aufweisen werden. Umgekehrtfuhrt eine Null an der letzten Stelle dazu, dass die Zahl in die vordere Half-te ruckt, also auch nach der Sortierung Null als erste Stelle fuhren wird.Analog erfolgt die Sortierung im zweiten Schritt dann nach der zweitletztenBinarziffer (wird zur zweithochsten) usw. Insgesamt erhalten wir also π(k)aus k = (bp−1bp−2 · · · b0)2, indem in der Binardarstellung von k die Reihen-folge der Ziffern genau umgekehrt wird, also π(k) = (b0 · · · bp−1)2. DieserVorgang wird als ’Bitreversal‘ bezeichnet.

In obigem Beispiel mit p = 3 erhalten wir:

k = 5 = (101)2 → π(k) = (101)2 = 5,

k = 3 = (011)2 → π(k) = (110)2 = 6,

k = 1 = (001)2 → π(k) = (100)2 = 4,

also genau entsprechend der Sortierung aus Abb. 18.3.Diese Kenntnis wollen wir dazu benutzen, ein direktes Loop-Programm

fur die Sortierphase anzugeben. Ist namlich π(k − 1) schon bekannt, so gilt

k − 1 = (bp−1bp−2bp−3 . . . 011 . . .11)2und π(k − 1) = (11 . . . 110 . . . bp−3bp−2bp−1)2.

Damit folgt

k = (bp−1bp−2bp−3 . . . 100 . . .00)2und π(k) = (00 . . . 001 . . . bp−3bp−2bp−1)2.

Dabei betrachten wir von k − 1 den rechten Block von aufeinander fol-genden Einsen gefolgt von der ersten Null (von rechts); durch die Erhohungum Eins in k verwandelt sich diese Null in eine Eins und der Einser-Blockin entsprechend viele Nullen. Genauso verwandelt sich in π(k − 1) die Fol-ge 11 . . . 110 in 00 . . .001 in π(k). Dieses Vorgehen entspricht also einemHoherzahlen von links (statt von rechts, wie das normalerweise geschieht).

Um also aus π(k − 1) nun π(k) zu erhalten, wird von links her das erstePaket aufeinander folgender Einsen durch entsprechende Nullen ersetzt unddie erste auftretende Null durch eine Eins. Die restlichen Stellen bleiben un-verandert. Hat das erste 1er-Paket die Lange Null, d.h. π(k − 1) beginnt miteiner Null, so reduziert sich dieser Schritt, und es wird nur diese Null durcheine Eins ersetzt. Daraus resultiert folgender Algorithmus fur die Sortierphaseder Fast Fourier Transformation:

Page 207: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

18.3 FFT-Algorithmus am Beispiel der IDFT 207

pi[0] = 0;FOR k = 1, ..., n-1:

pi[k] = pi[k-1];FOR j = 1, ..., p:

IF pi[k] < 2^(p-j) THENpi[k] = pi[k] + 2^(p-j);BREAK

ELSEpi[k] = pi[k] - 2^(p-j);

ENDIFENDFOR

ENDFOR

Im Vektor π ist dann die Permutation P gespeichert, die angibt, an wel-che Stelle eine entsprechende Komponente des Eingabevektors c durch dieSortierung wandert, also c →P v oder v = c(π(k)). Mit v bezeichnen wirden Vektor, in dem das Zwischenergebnis nach der Sortierphase gespeichertist. Offensichtlich hat diese Permutation die Eigenschaft, dass sie sich beizweimaliger Anwendung aufhebt, also P−1 = P . Die Kosten der Sortierphasesind offensichtlich O(n log2(n)), da die Anzahl der Operationen in obigemProgramm gegeben ist durch

n−1∑k=1

p−1∑j=1

1 ≤ p · n = n log2(n).

Die Kombinationsphase:

Nach der Sortierphase konnen wir nun auch die Kombinationsphase direktdurch FOR-Schleifen beschreiben. Im ersten Schritt haben wir es mit Vektorender Lange m = 20 = 1 zu tun. Dies sind die einzelnen Komponenten desvon der Sortierphase gelieferten Vektors v (gleich der mittleren Spalte inAbb. 18.3). Die einzelnen Komponenten dieser Vektoren der Lange 1 = 2L

mit L = 0 werden paarweise mit dem Faktor ω = exp(πiL/m) = 1 in derForm a ± b kombiniert.

Im zweiten Schritt (nachste rechte Spalte) haben wir es mit Vektoren derLange m = 2 zu tun. Die ersten Komponenten zweier Nachbarn zu L = 0werden jeweils mit ω = 1 kombiniert, die zweiten Komponenten zu L = 1mit ω = exp(πi/2) = i, also a ± ib; dies wird wiederholt fur zwei Blocke vonNachbarpaaren im Abstand 2m = 4.

Allgemein haben wir also im K-ten Schritt Vektoren der Lange m = 2K−1

und zu kombinierende Nachbarpaare im Abstand 2m. Gleiche Komponen-ten eines Nachbarpaares gehoren zu gleichem L und werden mit gleichemω = exp(πiL/m) kombiniert. Also legt in jeder Spalte die Komponente ei-nes Vektors fest, welches ω dazugehort, und gleiche Nachbarkomponentengehoren zum gleichen ω.

Page 208: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

208 18 Eigenschaften und Algorithmen

Dies konnen wir in folgendem Programm beschreiben:

j=1;FOR K = 1, ..., p:

m = j;j = 2*m;FOR L = 0, ..., m-1:

omega = cos(pi*L/m) + i*sin(pi*L/m);FOR M = 0, j, 2*j, ..., n-j:

g = vtilde[L+M];h = omega * vtilde[L+M+m];vtilde[L+M] = g + h;vtilde[L+M+m] = g - h;

ENDFORENDFOR

ENDFOR

Dabei gibt K die Spalte in Abb. 18.3 an, L die Komponente des Vektors,und mit M durchlaufen wir alle Nachbarpaare im Abstand 2m = 2K . NachBeendigung dieses Programmes liegt in vtilde = v der gesuchte Vektor v.

Damit haben wir insgesamt ein einfaches Loop-Programm zur Ausfuhrungder schnellen Fourier-Transformation entwickelt. Die Kosten dieses Pro-gramms ergeben sich aus der Ausfuhrung des Butterflys fur p Spalten ausAbb. 18.3, wobei in jeder Spalte n paarweise Kombinationen anfallen. Alsosummiert sich der Gesamtaufwand der FFT in dieser Form zu O(n log(n))arithmetischen Operationen.

Wir wollen an dieser Stelle eine genauere Kostenanalyse durchfuhren. Furdie Anzahl der Operationen Tn (= Anzahl der arithmetischen Operationenfur die FFT der Lange n) gilt offensichtlich die einfache Beziehung

T2n = 2Tn + αn.

Nun fuhren wir die Beziehung fp := Tn = T2p mit n = 2p ein. Fur dieFolge der fp gilt dann

fp+1 = 2fp + α2p.

Betrachten wir nun die zu den Koeffizienten fp gehorige erzeugende Funk-tion F (x) =

∑∞p=0 fpx

p, so gewinnen wir fur F (x) eine explizite Darstellungder Form

F (x) =αx

(1 − 2x)2+

f0

1 − 2x.

Aus der Reihenentwicklung von F(x) lassen sich die Koeffizienten fp ab-lesen zu

fp = (αp + 2f0)2p−1, fur p = 1, 2, . . .

und daher gilt

Page 209: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

18.3 FFT-Algorithmus am Beispiel der IDFT 209

Tn = T2p = fp =α

2n log2(n) + f0n = O(n log2(n))

Anmerkung 53. Man beachte, dass diese divide-and-conquer-Idee nur funk-tionieren kann, wenn die Lange des Eingabevektors n eine Zweier-Potenz ist,oder zumindest in viele Primfaktoren zerfallt. Ist n aber eine Primzahl, sobenotigt die DFT O(n2) Operationen, da keine Aufspaltung in Teilproble-me moglich ist. Allerdings kann dann die Berechnung der DFT auf die Be-stimmung von Fourier-Transformationen von Vektoren anderer Lange zuruckgefuhrt werden; diese sind dann nicht von Primzahl-Lange und konnen wiederrekursiv schnell bestimmt werden.

Ist n = 2p = 4(p/2) = 4q, so ist z.B. auch eine Aufspaltung in 4 Teilsum-men der Lange n/4 moglich, die wiederum in 4 Teilsummen zerlegt werdenkonnen. Dieses Vorgehen kann q-mal wiederholt werden, bis wieder trivialeTeilsummen der Lange Eins erreicht sind. Fur jede Teilsumme besteht also dieMoglichkeit zwischen einer Aufspaltung in 2 oder 4 Teilprobleme. Allgemeinbestimmt jede Faktorisierung n = n1 ·n2 · · ·nk eine mogliche Aufspaltung inTeilsummen.

Abb. 18.4. Mogliche FFT-Varianten aus verschiedenen Faktorisierungen von n =8 = 1 · 8 = 2 · 4 = 2 · 2 · 2 = 4 · 2 = 8 · 1.

Anmerkung 54. Unter FFTW versteht man das Programm ’Fastest FourierTransform in the West‘. Unter Berucksichtigung des benutzten Computers(Speicher, Cache usw.) und der Vektorlange n und ihrer verschiedenen Prim-faktorzerlegungen wird diejenige Aufspaltung in Teilsummen (bzw. Folge vonFaktorisierungen von n) und Modifikation der FFT bestimmt, die auf dembenutzten Rechner zur schnellsten Laufzeit fuhren sollte. Dazu wird ein ent-sprechender Programmcode erstellt und mit diesem individuell angepasstenProgramm wird die DFT berechnet.

Page 210: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

19 Anwendungen

”Willst du dich am Ganzen erquicken, so musst du das Ganze imKleinsten erblicken.“

J.W. von Goethe

19.1 Schnelle Multiplikation von Polynomen

Gegeben seien die beiden Polynome C(x) = c0 + c1x+ . . .+ cγxγ und D(x) =d0 + d1x + . . . + dδx

δ vom Grad γ bzw. δ.Gesucht ist das Produktpolynom P(x) = C(x) · D(x) = p0 + p1x + . . . +

pNxN vom Grad N = δ + γ.Die Koeffizienten berechnen sich gemaß

pj =j∑

l=0

cldj−l j = 0, 1, . . . , N.

Die Berechnung aller Koeffizienten gemaß dieser Formel benotigt alsoO(N2) Operationen. Mit Hilfe der Fourier-Transformation lasst sich jedochein schnelleres Verfahren finden:

Da N nicht notwendig eine Zweierpotenz ist, bestimmt man zunachst nals die kleinste Zweierpotenz echt großer N . Dann berechnet man an denStellen exp(2πil/n), l = 0, . . . , n − 1, die Werte der beiden Polynome C undD :

C(e2πil/n

)=

n−1∑k=0

cke2πikl/n D(e2πil/n

)=

n−1∑k=0

dke2πikl/n (19.1)

Fur k > δ bzw. k > γ, setzen wir ck := 0 bzw. dk := 0; wir verlangernalso die Polynome kunstlich durch Nullkoeffizienten. Die sich ergebendenGleichungen entsprechen dann gerade der IDFT und lassen sich daher inO(n log(n)) Operationen berechnen.

An den Stellen exp(2πil/n) hat das Produktpolynom P = C ·D die Werte

Page 211: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

212 19 Anwendungen

vl := P(e2πil/n

)= C(e2πil/n

)· D(e2πil/n

)l = 0, 1, . . . , n − 1

Mittels der zur IDFT inversen Transformation, also der DFT, lassen sichaus diesen Werten die Koeffizienten des Produktpolynoms gewinnen:

pk :=1n

n−1∑l=0

vle−2πikl/n k = 0, 1, . . . , n − 1. (19.2)

Alle drei Transformationen aus diesen letzten Gleichungen werden durchdie Schnelle Fourier-Transformation mit Aufwand O(n log(n)) berechnet. Dadie Multiplikation der Werte nur O(n) Operationen braucht, setzt sich derGesamtaufwand also nur noch aus O(n log(n)) = O(N log(N)) Operationenzusammen.

Die Korrektheit dieses Verfahrens folgt aus der eindeutigen Losbarkeit destrigonometrischen Interpolationsproblems.

19.2 Fourier-Analyse der Sonnenfleckenaktivitat

Die Aktivitat der Sonnenflecken folgt einem Zyklus von ca. 11 Jahren. Diesog. Wolf oder Wolfer-Zahl, benannt nach den beiden Schweizer AstronomenRudolf Wolf und Alfred Wolfer, misst sowohl Anzahl als auch Große der Son-nenflecken. Diese Zahl wurde seit fast 300 Jahren von Astronomen bestimmtund tabelliert (Abb. 19.1 und 19.2).

1700 1750 1800 1850 1900 1950 20000

20

40

60

80

100

120

140

160

180

200

Abb. 19.1. Wolfer-Zahlen fur die Jahre 1700 bis 2000.

Page 212: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

19.2 Fourier-Analyse der Sonnenfleckenaktivitat 213

1700 1705 1710 1715 1720 1725 1730 1735 1740 1745 17500

20

40

60

80

100

120

140

Abb. 19.2. Wolfer-Zahlen fur die Jahre 1700 bis 1750.

Wir sammeln diese Werte fur jedes Jahr in einem Vektor v. Diesen Vektorwollen wir mit Mitteln der Fourier-Analyse in MATLAB untersuchen und diefestgestellte Periode von 11 Jahren dadurch bestatigen [79].

Der Gesamtbeobachtungszeitraum T besteht also aus 300 Jahren; dabeiist Δ = 1 Jahr das Zeitintervall, in dem jeweils eine Wolfer-Zahl bestimmtwurde und N = T/Δ ist die Anzahl der Beobachtungsintervalle oder dieLange des Vektors v. Die Grundfrequenz 1/(300J) gehort also zur Wellenzahlk = 1 mit Grund-Periode 300 Jahre (zur Definition von Wellenzahl, Periodeund Frequenz siehe Anhang D). Wir betrachten hier also als Grundintervallnicht das Intervall [0, 2π] bzw. [−π, π] sondern das Intervall [0Δ, 300Δ] =[0Δ, T ]. Daher lautet die Fourier-Reihe der zugrunde liegenden Funktion g,die das Verhalten der Wolfer-Zahl beschreibt,

g(x) =∞∑

k=−∞ck exp

(i2πΔT

kx

)=

∞∑k=−∞

ck exp(2kπix300

) =

=∞∑

k=0

(ak cos(2kπx

300) + bk sin(

2kπx

300)).

Um die periodischen Bestandteile der Wolfer-Zahl zu erkennen, wen-den wir die DFT auf den Vektor v an, um Naherungen fur die Fourier-Koeffizienten ck zu gewinnen.

Da die Wolfer-Zahl pro Jahr gebildet wird, lassen sich nur periodischeAnteile bestimmen, die nicht feiner sind als eine Periode von 2Δ = 2 Jahre;Schwingungen mit einer kleineren Periode als 2 Jahren konnen durch die zweiZahlenwerte der Wolfer-Zahl fur diesen Zeitraum gar nicht dargestellt und

Page 213: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

214 19 Anwendungen

erfasst werden. Daher ist die großte beobachtbare Wellenzahl k gleich N/2,bzw. die hochste beobachtbare Frequenz gleich Δ/2, die Nyquist-Frequenz,die bestimmt ist durch die Feinheit Δ der verwendeten Diskretisierung.

Zunachst wenden wir die DFT auf v an und erhalten y = DFT (v), einenVektor komplexer Zahlen. Die erste Komponente von y ist die Summe uberdie vj , und bedeutet nur eine Verschiebung der zugrunde liegenden Funktiong und kann ignoriert werden. Der Vektor y enthalt nun naherungsweise dieFourier-Koeffizienten von g.

Interessanter fur die Analyse der Funktion g ist der Vektor aus den qua-drierten Betragen der Komponenten von y, p(k) = |y(k)|2, k = 1, . . . , N/2.Wir verwenden hier nur die erste Halfte der Daten bis zur Nyquist-Frequenz.Damit entspricht jeder Wert p(k) der Große der Komponente zu dem k-ten Vielfachen der Grundfrequenz, also zu der Frequenz f(k) = k(1/T ) =k/(ΔN), k = 1, . . . , N/2. Wir konnen auch sagen, dass p(k) das Gewicht derPeriode 1/f(k) = T/k angibt. Tragen wir nun den Vektor p(k) gegen denVektor der dazugehorige Perioden T/k auf, so entsteht die Abb. 19.3, aus dersich die Periode von 11 Jahren als betragsgroßter Eintrag ablesen lasst.

0 5 10 15 20 25 30 35 400

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2x 10

7

p

Periode

Abb. 19.3. Betragsquadrate der Fourier-Koeffizienten aufgetragen uber dazu-gehorige Perioden.

Page 214: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

19.3 Bildkompression 215

19.3 Bildkompression

19.3.1 Mathematische Modellierung von Graustufenbildern

Wir wollen ein Graustufenbild (Schwarz-Weiß-Bild) wieder auffassen als eineMatrix von Grauwerten. Jeder Grauwert gij entspricht dem des Bildpixels inZeile i und Spalte j des Bildes. Um unabhangig von der Anzahl der verwende-ten Graustufen zu bleiben, legen wir fest, daß die gij Werte aus dem Intervall[0, 1] annehmen durfen. Null entspricht der Farbe Schwarz, Eins entsprichtWeiß.

19.3.2 JPEG-Verfahren zur Komprimierung von Bildern

Das JPEG-Verfahren macht sich die spezielle Frequenzverteilung von ”naturli-chen“ Bildern zunutze, um diese stark komprimiert zu speichern. Dabei wer-den kleine Verluste in der Bildqualitat in Kauf genommen. Die Komprimie-rung der Bilddaten geschieht in folgenden Schritten:

– Farbbilder werden in das YUV-Farbmodell umgewandelt. Y steht dabei furdie Helligkeitsinformation, U und V bezeichnen Farbton und -sattigung. Dadas menschliche Auge Farbunterschiede schlechter unterscheiden kann alsHelligkeitsunterschiede, wird oft vorneweg als erster Kompressionsschrittdie Auflosung der U- und V-Komponenten reduziert.

– Das Bild wird in 8 × 8 Pixel große Blocke eingeteilt. Auf jeden einzelnenBlock wird eine Schnelle Cosinus-Transformation angewandt (FCT, ”FastCosine Transform“, beschrieben in Abschn. 19.3.3).

– Die Frequenzwerte werden quantisiert, d.h. es werden nur einige diskreteWerte fur die Frequenzen zugelassen. Dazwischen liegende Frequenzwertemussen entsprechend gerundet werden (vergleiche die Definition von Ma-schinenzahlen in Kapitel 4).Dieser Arbeitsschritt ist wesentlich fur die Qualitatsverluste bei der Kom-primierung verantwortlich.

– In den restlichen Schritten werden die quantisierten Daten auf ”herkommli-che“ Art und Weise gepackt (Zero Packing, Run Length Encoding, HuffmanEncoding)1.

Anmerkung 55 (Digitaler Autofokus). Die Cosinus Transformation von JPEGwird in digitalen Kameras haufig auch noch zur Scharfeinstellung des Ka-meraobjektivs verwendet. Dabei geht man davon aus, dass ein unscharfes1 Der Programmierer Phil Katz, der im Alter von 37 Jahren in Milwaukee, Wis-

consin, starb, entwickelte PKZip, das Freeware-Programm, mit dem Dateien ein-und ausgepackt werden. Fast jede großere Datei aus dem Internet (fruher auchaus den Mailboxen) tragt das Kennzeichen .zip. Katz entwickelte PKZip 1986am Kuchentisch seiner Mutter. Er traute dem Programm anfangs nicht zu, einkommerzieller Erfolg zu werden und betrachtete es nur als Hobby. Der viel ver-sprechende junge Mann starb an den Folgen seiner Alkoholsucht.

Page 215: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

216 19 Anwendungen

Bild wenig Information enthalt, also stark komprimierbar ist. Ablesen lasstsich dies an der Große der Koeffizienten zu hochfrequenten Anteilen nachAusfuhrung der DCT. Ein scharfes Bild liefert großere hochfrequente Koef-fizienten, die die Feinstruktur des Bildes widerspiegeln. Nun kann fur ver-schiedene Objektiveinstellungen die Große der hochfrequenten Koeffizientenverglichen werden; aus den verschiedenen Moglichkeiten wahlt die Kameradann automatisch die Einstellung aus, die die beste Feinstrukturinformationenthalt, also das scharfste Bild liefert.

19.3.3 Cosinus Transformation

Bilddaten sind weder periodisch, noch haben sie komplexe Anteile. Daher istdie ”herkommliche“ Fourier-Transformation nicht sinnvoll anwendbar. DasJPEG-Verfahren bedient sich folgender Cosinus Transformation:

Fk =N−1∑j=0

fj cos

(πk(j + 1

2

)N

)k = 0, . . . , N − 1

fj =2N

N−1∑k=0

′ Fk cos

(πk(j + 1

2

)N

)

:=2N

(F0

2+

N−1∑k=1

Fk cos

(πk(j + 1

2

)N

))j = 0, . . . , N − 1 .

Die entsprechende 2D-Transformation lautet:

Fk1k2 =

N1−1Xj1=0

N2−1Xj2=0

fj1j2 cosπk1

`j1 + 1

2

´N1

!cos

πk2

`j2 + 1

2

´N2

!, (19.3)

fj1j2 =4

N1N2·

N1−1Xk1=0

′N2−1Xk2=0

′ Fk1k2 cosπk1

`j1 + 1

2

´N1

!cos

πk2

`j2 + 1

2

´N2

!. (19.4)

19.3.4 Reduktion auf die bekannte FFT

Die oben angegebene 2D-Cosinus Transformation lasst sich in 3 Schritten aufdie bekannte FFT zuruckfuhren:

1. Die 2D-Cosinus Transformation lasst sich durch Hintereinanderausfuhrenvon 1D-Transformationen ausfuhren. (siehe Aufgabe 86.)

Page 216: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

19.4 Filter und Bildverarbeitung 217

2. Durch Spiegelung der Werte von Fk bzw. fj lasst sich die CosinusTrans-formation in eine modifizierte Fourier-Transformation doppelter Langeuberfuhren, d.h. mit

fj ={

fj , j = 0, . . . , N − 1f2N−j−1, j = N, . . . , 2N − 1 und

Fk =

⎧⎨⎩2Fk, k = 0, . . . , N − 10, k = N−2F2N−k, k = N + 1, . . . , 2N − 1

gilt:

fj =1

2N

2N−1∑j=0

Fk exp(−2πi(j + 1

2 )k2N

),

(19.5)

Fk =2N−1∑j=0

fj exp(

2πi(j + 12 )k

2N

).

3. Durch geeignete Skalierung der Fk und fj wird die obige Fourier-Trans-formation in die DFT aus Kapitel 18.1 uberfuhrt (siehe Aufgabe 87).

Ubung 86. Zeigen Sie, daß die Cosinus Transformation aus Gleichung (19.3)und (19.4) durch Hintereinanderausfuhren von je N1 und N2 1DTransforma-tionen durchfuhrbar ist.

Ubung 87. Finden Sie Faktoren γk, so daß fur gk = γkFk aus den modifi-zierten Transformationen aus Gleichung (19.5) die folgenden Fourier-Trans-formationen entstehen:

fj =1

2N

2N−1∑j=0

gk exp(−2πijk

2N

), gk =

2N−1∑j=0

fj exp(

2πijk

2N

).

19.4 Filter und Bildverarbeitung

Ein Bild stellen wir uns wieder vor als eine Matrix, deren Eintrage die Grau-stufen in den entsprechenden Pixeln reprasentieren. Um ein solches Bildzu bearbeiten, verwenden wir lokale Operatoren, die in jedem Bildpunkt,abhangig von den Werten in den Nachbarpunkten, einen neuen Grauwert be-rechnen. Solche Operatoren werden bei der Bild-Vorbearbeitung eingesetzt,um eine visuelle Beurteilung des Bildmaterials zu erleichtern oder nachfol-gende Analyseverfahren zu ermoglichen.

Page 217: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

218 19 Anwendungen

Ein Filter heißt homogen, wenn er den neuen Pixelwert unabhangig vonder Position nach demselben Verfahren aus den Nachbarpunkten berechnet.Die Auswahl der dabei benutzten Pixel-Nachbar-Punkte erfolgt mittels einerMaske, die im Laufe der Anwendung des Filteroperators uber das gesamteBild lauft und jeden Pixel entsprechend neu berechnet.

Durch solche Filter lassen sich z.B.

– wichtige Merkmale hervorheben, wie Ecken und Kanten– Storungen wie z.B. Rauschen unterdrucken– die Bildscharfe erhohen oder erniedrigen.

Wenden wir einen solchen Filter auf die Bilddaten direkt an, so sprechenwir von einer Bearbeitung im Ortsraum. So bestimmen wir z.B. an jeder Stellei, j einen neuen, gefilterten Grauwert als Mittelwert der neun benachbartenPunkte

pi,j =19

1∑m,k=−1

pi+m,j+k.

Diese Operation wird beschrieben durch die Maske

19

⎡⎣ 1 1 11 1 11 1 1

⎤⎦ .

Man kann auch Filter definieren, indem man die Daten zunachst vomOrtsraum mittels DFT in den sog. Frequenzraum transferiert, und dann eineFiltermaske auf diese transformierten Zahlen anwendet; die Wirkung einessolchen Filters wird durch seine Transferfunktion f beschrieben:

p = IDFT (DFT (p) · f)

p → DFT (p) =: q → (qj ∗ fj)nj=1 =: g → IDFT (g) = p .

Solche Filter werden unter anderem auch bei der Audiokomprimierung,z.B. mit MP3 eingesetzt.

Als Tiefpassfilter zur Abschwachung von hochfrequentem Rauschen kannman den oben definierten Rechteckfilter benutzen. Durch die Mittelwertbil-dung wird das Bild wird weicher, Kanten verwischen, Details werden abge-schwacht. Sehr gut eignet sich dazu auch der Gauß-Filter (eng verwandt mitder Gauß’schen Glockenkurve aus Abb. 15.1 und dem Gauß’schen Weich-zeichner 16.3), beschrieben durch die Maske

116

⎡⎣ 1 2 12 4 21 2 1

⎤⎦ .

Hochpassfilter benutzt man, um Bilddetails genauer herauszuarbeiten;Kanten werden betont, das Bild wird harter, homogene Bilddaten werden

Page 218: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

19.4 Filter und Bildverarbeitung 219

geloscht. Geeignete Operatoren ergeben sich hier aus der Uberlegung, dassKanten hauptsachlich durch ihre großen Ableitungswerte bzw. Differenzenauffallen. Aus dem Differenzenoperator ergibt sich unmittelbar der Sobel-Filter

12

⎡⎣ 0 0 0−1 0 1

0 0 0

⎤⎦bzw. aus der Differenz zweiter Ordnung der Laplace-Filter

116

⎡⎣ 0 −1 0−1 4 −1

0 −1 0

⎤⎦ .

Anmerkung 56 (Audiodesign und mp3). Naturlich spielen auch in der digi-talen Musikbearbeitung Filter ein große Rolle. Ein Audiosignal ist zunachstnichts anderes als eine einfache Funktion oder Kurve. Um diese Funktion zudigitalisieren, muss man sich zunachst fur eine Abtastrate entscheiden, alsodas kleinste Zeitintervall, in dem man die Funktionswerte – stellvertretendfur die ganze Funktion – speichert. Meist wird fur dieses Sampling eine Abta-strate von 44100 Hz gewahlt, da das menschliche Ohr nur Tone zwischen 16Hz und 20 kHz wahrnehmen kann (vgl. die Nyquist-Frequenz). Diese Mess-werte sind aber nun wieder reelle Zahlen, die zur Speicherung in spezielleendliche Maschinenzahlen verwandelt werden mussen. Je nach Anzahl derverwendeten Bit spricht man hier von 8 oder 16 Bit Quantisierung. Dieselange Kette von gerundeten Messwerten reprasentiert dann das Audiosignal.Beim Abspielen wird aus der zugeordneten Treppenfunktion durch Interpo-lation wieder eine glatte Kurve erzeugt, die dann ausgegeben wird. Bei dieserVorgehensweise werden naturlich hochfrequente Fehler in Kauf genommen,die aber als Rauschen vom menschlichen Ohr nicht mehr wahrgenommenwerden.

Abb. 19.4. Digitalisierung eines Audiosignals mit 3 Bit Quantisierung.

Durch den Prozess der Digitalisierung entsteht naturlich eine riesige Da-tenmenge; weiterhin benotigt die Aufnahme einer Beethoven-Symphonie den-

Page 219: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

220 19 Anwendungen

selben Speicherplatz wie ein gleich langes gerauschloses Audiosignal. Daherwurden speichereffizientere Audioformate entwickelt. Dabei wird die Funk-tion stuckweise in den Frequenzraum transformiert durch Anwendung derFFT. In dieser Form lassen sich nun viele Daten ohne Verlust einsparen.So sind Frequenzanteile mit einer Amplitude (Lautstarke) unterhalb der fre-quenzabhangigen Horschwelle vom menschlichen Ohr nicht mehr wahrnehm-bar und konnen geloscht werden. Auch tritt beim Horen oft ein Verdeckungs-effekt auf: Ein starker Ton verdeckt benachbarte leisere Frequenzanteile, diekurz nach und auch schon kurz vor dem lauten Ton auftreten. Auch dieseleisen Frequenzanteile konnen ersatzlos eliminiert werden. Insgesamt erlaubtdie Ausnutzung dieser Erkenntnisse der Psychoakustik eine wesentliche Re-duktion der Datenmenge. Dies ermoglicht den schnellen Austausch von Au-diodateien via Internet mit den bekannten rechtlichen und wirtschaftlichenAuswirkungen auf die Musikindustrie.

Abb. 19.5. Horschwelle des menschlichen Ohrs.

19.5 Wavelets

Ausgehend von der eben beschriebenen Filtertechnik wollen wir die Analysegegebener Daten durch Wavelets2 beschreiben. Weiterhin wollen wir im Fol-2 wavelet = franz. kleine Welle

Page 220: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

19.5 Wavelets 221

genden die enge Verbindung aufzeigen, die zwischen Wavelets, B-Splines undder diskreten Fourier-Tranformation besteht.

Wir beschranken uns der Einfachheit halber auf eindimensionale Filter,die auf einen Vektor v = (v0, . . . , vn−1) der Lange n angewandt werden. AlsMaske betrachten wir zunachst

14[1 2 1],

Dies entspricht der Operation

vj =vj−1 + 2vj + vj+1

4, fur j = 0, . . . , n − 1,

wobei wir fur die Randwerte z.B. v−1 = vn = 0 annehmen.Diese Transformation des Vektors v entspricht der Matrixmultiplikation

v −→ 14

⎛⎜⎜⎜⎜⎜⎝2 11 2 1

. . . . . . . . .1 2 1

1 2

⎞⎟⎟⎟⎟⎟⎠ · v.

Einen solchen glattenden Tiefpassfilter bezeichnen wir auch als Mittelwert-filter.

Entsprechend gehort zur Maske

14[−1 2 − 1]

die Operation

vj =−vj−1 + 2vj − vj+1

4, j = 0, . . . , n − 1,

und die Matrixmultiplikation

v −→ 14

⎛⎜⎜⎜⎜⎜⎝2 −1−1 2 −1

. . . . . . . . .−1 2 −1

−1 2

⎞⎟⎟⎟⎟⎟⎠ · v .

Einen solchen Hochpassfilter bezeichnet man auch als Differenzfilter.Die Anwendung beider Filter wurde nun zu einer Verdoppelung der Da-

tenmenge und zu Redundanz fuhren. Daher wenden wir diese Filter nun nichtauf jede Komponente von v an, sondern nur auf jede zweite Komponente. Diesentspricht damit der Matrixmultiplikation

Page 221: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

222 19 Anwendungen

(vt

vh

)=

14

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎝

1 2 11 2 1

. . . . . .−1 2 −1

−1 2 −1. . . . . .

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎠v

oder indem man die Komponenten von vt und vh, bzw. die Zeilen der Matrixumsortiert

14

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

1 2 1−1 2 −1

1 2 1. . .

−1 2 −1. . .

. . . 1. . . −1

1 2−1 2

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠v.

Durch diese Operation wird der ursprungliche Vektor transformiert ineinen neuen Vektor derselben Lange, der sich aber aus dem tiefpassgefiltertenMittelwertanteil vt und dem hochpassgefilterten Differenzanteil vh zusam-mensetzt. In dieser neuen Darstellung enthalt der Differenzanteil vh Infor-mationen daruber, wie sich das beobachtete Signal v in der entsprechendenGroßenordnung oder Skalierung verandert; dies entspricht in etwa der In-formation, die man auch aus einem Fourier-Koeffizienten der dazugehorigenSkalierung erhalt. Außerdem ist bei glatten Daten zu erwarten, dass der Dif-ferenzanteil großenordnungsmaßig viel kleiner sein wird als die Komponentenvon vt; daher lassen sich Eintrage in vh weit eher ohne großeren Verlust durchNull ersetzen, oder zumindest mit geringerer Genauigkeit darstellen. DieserEffekt kann zu einer verlustbehafteten Komprimierung von v benutzt werden.

Auf den errechneten Mittelwertanteil lasst sich dieses Vorgehen ebensoanwenden, und dies ermoglicht – unter der Annahme n = 2p – eine rekursiveUmrechnung der Ausgangsdaten nach einem Schema von Abb. 19.6.

Die volle Information, die zu Beginn dem Vektor v entsprach, befindetsich am Ende in den p − 1 Differenzanteilen vh der jeweiligen Lange 2p−1

bis 20 auf allen Leveln und dem letzten, ganz unten stehenden Mittelwertan-teil vt der Lange Eins; dies sind zusammengenommen auch genau n Zahlen.Allerdings eignet sich diese neue Darstellung von v wesentlich besser zurKomprimierung bzw. zur Analyse von v. Die einzelnen Differenzanteile aufden verschiedenen Leveln stellen das Verhalten von v auf verschiedenen Ska-len – d.h. in verschiedenen Großenordnungen – dar. Man spricht daher auchvon einer Multiskalenanalyse der Daten, die in dem Vektor v vorliegen.

Page 222: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

19.5 Wavelets 223

v

t

vt

vt

vh

vh

vh

...

v

Abb. 19.6. Rekursive Aufspaltung in Mittelwert- und Differenzanteil.

Außerdem sind die Gesamtkosten fur diese wiederholte Matrixmultiplika-tion

p∑j=0

konst · 2j−p = O(2p) = O(n).

Das Verfahren ist also noch dazu wesentlich schneller als die FFT mitO(n log(n)), bietet aber ahnliche Analysemoglichkeiten.

Die algorithmischen Unterschiede zur FFT sieht man am besten an deneinfachsten Masken (1/2)[1 1] und (1/2)[1 −1], die zum Haar-Wavelet, be-schrieben durch die Matrix

H =12

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

1 11 −1

1 11 −1

· · ·· · ·

1 11 −1

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠,

gehoren. Im Folgenden wollen wir uns daher auf die Untersuchung dieserTransformation beschranken.

Ubung 88. Bestimmen Sie die Umkehrabbildung der durch die Matrix Hbeschriebenen Transformation.

Die rekursive Anwendung dieser Mittelwert- und Differenzfilter entsprichtdem Butterfly aus Abb. 19.7. Der Datenfluss kann fur n = 8 – ahnlich wiebei der FFT in Abb. 18.3 – in Abb. 19.8 dargestellt werden.

Im Unterschied zur FFT fehlt eine Sortierphase, der Butterfly ist einfacherund von der Position unabhangig und in jedem Schritt wird nur die Halfte der

Page 223: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

224 19 Anwendungen

u (u+v)/2

v (u−v)/2

Abb. 19.7. Butterfly fur das Haar-Wavelet.

Komponenten weiter bearbeitet, die dem letzten Mittelwertanteil entspricht.Dadurch ergibt sich auch die O(n)-Gesamt-Komplexitat des Verfahrens. Derletzte Mittelwertanteil in der rechten Spalte in Abb. 19.8 entspricht demGesamtmittelwert der Komponenten von v.

7

v6

v5

v4

v3

v2

v1

v0 (v

0+v1)/2

(v −v0 1)/2

(v2+v )/23

(v2 −v3)/2

(v4+v5)/2

(v4

−v5)/2

(v6

+v )/27

(v6 −v7)/2

(v +v0 )/22

(v0 −v2)/2

(v4 +v )/26

(v4 −v6)/2

(v0 −v )/24

(v0 +v )/24

v

Abb. 19.8. Datenfluss bei der Haar-Wavelet-Transformation fur n = 8.

Ubung 89. Man uberlege sich, wie aus den Daten, die aus der rekursivenAnwendung der Haar-Transformation resultieren, der ursprungliche Vektorwieder rekonstruiert werden kann.

Im Folgenden wollen wir dieses Filterverfahren auf Funktionen anwendenund damit die Verbindung zu eigentlichen Wavelets herstellen. Ausgangs-punkt ist die Suche nach passenden Ansatzfunktionen, um eine Funktion f(x)darzustellen. Die Rolle des Vektors v wird dabei von Koeffizienten fk in einerpassenden Darstellung von f(x) ubernommen.

Page 224: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

19.5 Wavelets 225

Als Stutzstellen wahlen wir die ganzen Zahlen und definieren dazu denstuckweise konstanten B-Spline Φ(x), der zwischen Null und Eins den WertEins annimmt und an allen anderen Stellen den Wert Null (vgl. Kapitel 14.5),die sog. Boxfunktion. Aus dieser Skalierungsfunktion Φ(x) erhalten wir eineganze Familie von Ansatzfunktionen, indem wir zu den anderen Stutzstel-len die verschobenen B-Splines dazu nehmen, also alle Funktionen Φ(x − k),k = −∞, . . . ,−1, 0, 1, . . .∞. Mit diesen B-Splines konnen wir alle stuckweisekonstanten Funktionen darstellen, die auf den Intervallen [k, k + 1[ konstantsind, und zwar durch

f(x) =∞∑

k=−∞fkΦ(x − k) . (19.6)

Dies sind genau die Treppenfunktionen mit den ganzen Zahlen als Sprung-stellen.

Naturlich ist diese Familie von Ansatzfunktionen noch viel zu grob, umeine beliebige gegebene Funktion mit ausreichender Genauigkeit darzustellen.Wir konnen aber Funktionen mit einer besseren Auflosung leicht gewinnen,indem wir die Skalierungsfunktion Φ(x) mit dem Faktor 2 umskalieren, undzu den Ansatzfunktionen Φ(2x − k), k ∈ ZZ ubergehen, die aus der FunktionΦ(2x) durch Verschiebungen um k hervorgehen.

Zwischen den beiden B-Splines Φ(x) und Φ(2x) besteht nun die einfacheBeziehung

Φ(x) = Φ(2x) + Φ(2x − 1),

die sog. Skalierungsgleichung. Der Ubergang von Φ(x−k) auf die FunktionenΦ(2x − k) wird daher beschrieben durch die – bis auf den Faktor 2 – schonbekannte Filtermaske [ 1 1 ].

Um eine gegebene Darstellung der Funktion f(x) auf einer Skalierung 2x−k umzurechnen auf das Level x − k, benotigen wir noch die eigentliche Wa-veletfunktion W (x), die dem Differenzfilter aus dem vorherigen Kapitel ent-spricht. Hier verwenden wir die Funktion

W (x) = Φ(2x) − Φ(2x − 1),

zu der Filtermaske [ 1 − 1 ].Wir gehen nun davon aus, dass f(x) auf einer feinen Skalierung dargestellt

ist durchf(x) =

∑k

fkΦ(2x − k).

Aus der Skalierungsgleichung und der Definition der Waveletfunktion folgtnun umgekehrt

Φ(2x) = 2Φ(x) + 2W (x) und Φ(2x − 1) = 2Φ(x) − 2W (x) .

Daher erhalten wir fur f(x) die neue Darstellung

Page 225: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

226 19 Anwendungen

1

1

1

0.50 0

1

Abb. 19.9. Haar-Skalierungsfunktion (=Boxfunktion) und Haar-Waveletfunktion.

f(x) =∑

k

f2kΦ(2x − 2k) + f2k+1Φ(2x − 2k − 1) =

2∑

k

f2k(Φ(x − k) + W (x − k)) + f2k+1(Φ(x − k) − W (x − k)) =

2∑

k

(f2k + f2k+1)Φ(x − k) + 2∑

k

(f2k − f2k+1)W (x − k) = t(x) + h(x) .

Durch Anwendung der Filtermatrix 4H , bzw. der Filtermasken 2 · [ 1 1 ] und2 · [ 1 −1 ], auf denjenigen Vektor, der aus den Koeffizienten fk der Funktionf gebildet wird, erhalten wir so neue Koeffizienten zu zwei Funktionen t(x)und h(x) auf dem groberen Level. Dadurch spalten wir also f(x) wiederauf in einen glatten Mittelwertanteil und einen rauen Differenzanteil. Hierist also die Aufspaltung der Vektoren nun auch direkt verknupft mit einerAufspaltung von Funktionen.

Allgemein wahlen wir nun als Ausgangspunkt eine Funktion f(x) =∑k fkΦ(2jx − k) in einer sehr feinen Diskretisierung. Dann konnen wir ge-

nauso die Darstellung dieser Funktion auf dem Level j aufteilen in eine Dar-stellung auf dem Level j − 1, die aus dem Mittelwertanteil (Tiefpass) und ei-nem Differenzanteil (Hochpass) besteht. Dieses Vorgehen konnen wir rekursivwiederholen und erhalten so wie in Abb. 19.6 eine Folge von Mittelwert- undDifferenzfunktionen. In dieser neuen Form erlauben die gewonnenen Datennun wieder eine Multiskalenanalyse. Die Funktion befindet sich dadurch ineiner neuen, aquivalenten Form, die weit bessere Moglichkeiten zur Analyseoder Komprimierung bietet.

Umgekehrt erhalten wir die ursprunglichen Koeffizienten fk von f(x) =t(x) + h(x) aus den Koeffizienten tk und hk von t(x) und h(x) zuruck via

f(x) = t(x) + h(x) =∑

k

tkΦ(x − k) + hkW (x − k) =

∑k

tk(Φ(2x − 2k) + Φ(2x − 2k − 1)) + hk(Φ(2x − k) + Φ(2x − 2k − 1)) =

∑k

(tk + hk)Φ(2x − 2k) +∑

k

(tk − hk)Φ(2x − 2k − 1) =

Page 226: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

19.5 Wavelets 227∑k

f2kΦ(2x − 2k) +∑

k

f2k+1Φ(2x − (2k + 1)),

also durch Anwendung des inversen Filters, beschrieben durch die Masken[ 1 1 ] und [ 1 − 1 ].

Ubung 90. Der in Abb. 19.7 beschriebene Butterfly des Haar-Wavelets sollso berechnet werden, dass kein zusatzlicher Speicherplatz benotigt wird (in-place-Berechnung)!

Die Wavelet-Transformation bietet also gegenuber den Fourier-Methodeneinige wesentliche Vorteile:

– die Kosten beschranken sich auf O(n),– wegen des lokalen Charakters der Ansatzfunktionen (hier B-Splines) eignen

sich Wavelets auch sehr gut zur Darstellung von Funktionen mit Unstetig-keitsstellen,

– wie B-Splines lassen sich zu vorgegebenem k Wavelet-Funktionen definie-ren, die k-mal stetig differenzierbar sind,

– auf jedem Level verfugt man uber eine evtl. grobere Darstellung der Aus-gangsdaten.

Insgesamt konnen wir feststellen, dass Wavelets die Vorteile der trigo-nometrischen Funktionen und der B-Spline-Funktionen verbinden. Waveletsliefern daruber hinaus einen einheitlichen mathematischen Formalismus zurErzeugung von Filteroperatoren mit vorgegebenen Eigenschaften.

In der Bildkompression hat der in Kapitel 19.3.2 beschriebene JPEG-Standard vor allem Schwierigkeiten mit scharfen Kanten, wie sie z.B. beiFingerabdrucken oder in geometrischen Abbildungen auftreten. Daher hatman sich bei JPEG2000 fur die Verwendung von Wavelets entschieden.

Page 227: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

20 Aufgaben

”Do not worry about your problems with mathematics, I assure youmine are far greater.“

A. Einstein

Ubung 91. Bilden Sie fur n = 30 alle Faktorzerlegungen und geben Sie alleFFT-Varianten an, die zu den Zerlegungen gehoren.

Ubung 92. Fur c = DFT (w) und wj ∈ IR gilt: cn−k = ck. Fur wj ∈ iIRgilt: cn−k = −ck.

Wie konnen Sie die Fourier-Koeffizienten ck zu wj = gj + ihj aus denKoeffizienten von gj und hj berechnen? Wie vereinfacht sich die Rechnung,falls gj und hj selbst reell sind?

Ubung 93 (Sortierphase). Fur einen Vektor c0, · · · , c15) der Lange 16 be-schreibe man die Umsortierung, die als Ergebnis der Sortierphase der FFTzustande kommt.

Ubung 94. Zeigen Sie fur j, k ∈ IN:∫ π

−π

cos(jx) cos(kx)dx = 0 fur j = k∫ π

−π

sin(jx) sin(kx)dx = 0 fur j = k∫ π

−π

cos(jx) sin(kx)dx = 0 fur alle j und k

Ubung 95. Sei f eine stuckweise stetige periodische Funktion mit Fourier-Reihe

f(x) =a0

2+

∞∑k=1

(ak cos(kx) + bk sin(kx)).

Zeigen Sie, dass die Fourier-Koeffizienten gegeben sind durch

ak =1π

∫ π

−π

f(x) cos(kx)dx und bk =1π

∫ π

−π

f(x) sin(kx)dx

Page 228: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

230 20 Aufgaben

Ubung 96. Zeigen Sie, dass fur eine stuckweise stetige periodische Funktionwie in Ubung 95 ‖fn(x) − f(x)‖2 minimal ist uber alle trigonometrischenPolynome vom Grade n. fn(x) ist das trigonometrische Polynom mit denFourier-Koeffizienten von f (Anhang D).

Ubung 97. Wir betrachten die Sagezahnfunktion

f(x) ={

x fur −π < x < π0 fur x = ±π

Bestimmen Sie die Fourier-Koeffizienten ak und bk und fertigen Sie einenGraph der Funktion fn(x) an im Intervall [−3π, 3π]. Fur dasselbe n untertei-len wir dieses Intervall aquidistant, und wenden auf den Vektor (f(xk))n−1

k=0

die Haar-Wavelet-Transformation an. Die entsprechende Funktionsapproxi-mation ist die stuckweise konstante Treppenfunktion zu den Werten f(xk).Vergleichen Sie die Große der Fourier- und der Waveletkoeffizienten.

Ubung 98. Sei n = 3m, also durch drei teilbar. Beschreiben Sie, wie

wj =n−1∑k=0

cke2πijk/n, j = 0, 1, . . . , n − 1

in drei Summen der Lange m aufgespalten werden kann. Wie kann mit dieserAufspaltung die Berechnung der IDFT eines Vektors der Lange n auf dieBerechnung von mehreren IDFT’s kurzerer Vektoren zuruckgefuhrt werden?

Ubung 99. Zur n × n Matrix A ist die 2D-DFT beschrieben durch

bjk =n−1∑s=0

n−1∑t=0

aste−2πijs/ne−2πikt/n.

Zeigen Sie, dass mit der Fourier-Matrix F = (ωjk)n−1j,k=0 die 2D-Fourier-

Transformation von A gegeben ist durch B = FAF .

Page 229: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Teil VI

Iterative Verfahren

Page 230: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

21 Fixpunktgleichungen

”To Infinity and Beyond“

Buzz Lightyearaus ”Toy Story“

In vielen Fallen lasst dich die Losung eines Problems nicht direkt berech-nen, sondern nur iterativ approximieren. Dabei wird mittels einer geeignetenIterationsvorschrift eine Folge konstruiert, deren Grenzwert gerade die ge-suchte Losung ist. Wir stehen hier also vor dem Problem, geeignete Folgenzu definieren, und mussen dann deren Konvergenzverhalten analysieren.

21.1 Problemstellung

Unter einer allgemeinen Iteration verstehen wir ein Verfahren der Form

x0 ∈ IR Startwert, xk+1 = Φ(xk) ∈ IR, k = 0, 1, . . .

mit einer Iterationsfunktion Φ(x). Falls die so definierte Folge der xk konver-giert, also xk → x oder ‖xk − x‖ → 0 fur k → ∞, so folgt fur eine stetigeFunktion Φ sofort, daß x = Φ(x) gilt. Wir nennen ein x mit dieser Eigenschafteinen Fixpunkt von Φ.

Beispiel 36. Sei Φ(x) = x2. Damit gilt also xk+1 = x2k, und durch Induktion

offensichtlich xk = x2k−1 = x4

k−2 = . . . = x2k

0 . Das Konvergenzverhaltendieser Folge hangt nun ausschließlich vom Startwert x0 ab:

x0 = 0 =⇒ xk = 0, k = 1, 2, . . . , x1 = 0x0 = ±1 =⇒ xk = 1, k = 1, 2, . . . , x2 = 1,

0 < |x0| < 1 =⇒ xk = x2k

0 → 0 = x1,

|x0| > 1 =⇒ xk = x2k

0 → ∞.

Die Folge konvergiert also fur fast alle Startwerte entweder gegen denFixpunkt x1 = 0, oder gegen ∞ (in gewisser Weise auch ein Fixpunkt wegen

Page 231: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

234 21 Fixpunktgleichungen

∞ = ∞2); allerdings ist offensichtlich x2 = 1 ebenfalls ein Fixpunkt, aberkeine der erzeugten Folgen konvergiert gegen 1, es sei denn, der Startwert x0

ist schon exakt gleich ±1. Wir sprechen dann von einem abstoßenden Fix-punkt. Die Folgen in diesem Beispiel sind stets monoton fallend (xk+1 ≤ xk

fur k > 0) oder monoton wachsend (xk+1 ≥ xk fur k > 0).

Beispiel 37 (Grippeausbreitung im Kindergarten). Wir bezeichnen mit ti einediskrete Folge von Zeitpunkten, z.B. im Abstand eines Tages, mit ki dierelative Anzahl von zum Zeitpunkt ti erkrankten Kindern, und mit α > 1 dieInfektionsrate. Es werden nun um so mehr neue Kinder erkranken, je mehrgesunde und je mehr kranke Kinder es gibt; denn eine Virusubertragung kannnur bei einer Begegnung zwischen einem gesunden und einem kranken Kindstattfinden. Weiterhin gehen wir vereinfachend davon aus, dass nach einemZeitschritt die kranken Kinder wieder gesund sind, aber sich im Folgendenwieder neu anstecken konnen. Daher ist die Anzahl ki+1 der zum Zeitpunktti+1 Erkrankten direkt proportional der Anzahl Gesunder und der AnzahlKranker zum Zeitpunkt ti. Damit erhalten wir folgende Modellbeziehung furdie Ausbreitung der Krankheit:

ki+1 = αki(1 − ki).

Die dazugehorige Iterationsfunktion Φ(x) = αx(1 − x) mit α > 1 ist einekonkave Parabel, die logistische Parabel mit dem relativen Maximum beix = 0.5, Φ(0.5) = 0.25α; die Nullstellen von Φ liegen bei Null und Eins. DerFixpunkt von Φ ist gegeben durch

x = Φ(x) = αx(1 − x) ⇒ x =α − 1

α.

Speziell fur α = 1.5 wird x = 1/3, und ein Startwert k0 = 0.1 fuhrt zuAbb. 21.2, die die gegen 1/3 konvergierende Folge zeigt.

Ein Fixpunkt x ist also geometrisch nichts anderes als der Schnittpunktder Geraden g(x) = x mit der Iterationsfunktion Φ(x) (Abb. 21.1).

21.2 Banach’scher Fixpunktsatz

An Beispiel 36 haben wir gesehen, dass die erzeugte Folge manchmal kon-vergiert, manchmal divergiert und manche Fixpunkte abstoßend sind. Dahermussen wir klaren, welche Eigenschaften Φ, der Startwert x0 und der Fix-punkt x haben mussen, damit Konvergenz vorliegt:

Theorem 5 (Banach’scher Fixpunktsatz). Sei I ein abgeschlossenesIntervall, so dass x0 ∈ I gilt, und Φ das Intervall in sich abbildet, also x ∈I ⇒ Φ(x) ∈ I. Ist weiterhin Φ in I eine kontrahierende Abbildung, d.h. esgibt eine Konstante 0 < L < 1, so dass stets

Page 232: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

21.2 Banach’scher Fixpunktsatz 235

0 0.5

0.5

α x(1−x)

Fixpunkt

x

x

y

Abb. 21.1. Fixpunkt als Schnittpunkt der Funktionen Φ(x) und x.

x0 x

1 x

2

x1

x2

x3

x

y

α x(1−x)

Abb. 21.2. Ausbreitung des Grippevirus.

Page 233: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

236 21 Fixpunktgleichungen

|Φ(x) − Φ(y)| ≤ L|x − y|fur x, y ∈ I gilt, dann konvergiert die Folge xk gegen den eindeutigen Fixpunktx von Φ in I.

Beweis. Da Φ kontrahierend in I ist und alle Iterierten in I liegen, gilt

|xk+1 − xk| = |Φ(xk) − Φ(xk−1)| ≤ L|xk − xk−1|≤ L(L|xk−1 − xk−2|) ≤ . . . ≤ Lk|x1 − x0|.

Damit ergibt sich fur den Abstand zweier Iterierten xm und xk fur m > k:

|xm − xk| = |(xm − xm−1) + (xm−1 − xm−2) + . . . + (xk+1 − xk)|≤ |xm − xm−1| + |xm−1 − xm−2| + . . . + |xk+1 − xk)|≤ (Lm−1 + . . . + Lk)|x1 − x0|

≤∞∑

j=k

Lj |x1 − x0| =Lk

1 − L|x1 − x0|.

Daher wird dieser Abstand zwischen zwei Zahlen xm und xk beliebigklein, wenn nur m und k genugend groß sind; eine Folge mit einer solchenEigenschaft heißt Cauchy-Folge. Eine Cauchy-Folge in einer abgeschlossenenMenge ist konvergent, d.h. es existiert ein x aus der Menge, dem sich dieIterierten immer mehr annahern. Daher gibt es eine Zahl x ∈ I mit xk → x.Dieses x ist der gesuchte Fixpunkt in I, da

0 ≤ |x − Φ(x)| ≤ |x − xk| + |xk − Φ(x)|≤ |x − xk| + |Φ(xk−1) − Φ(x)| ≤ |x − xk| + L|xk−1 − x| k→∞−→ 0 .

Dieser Fixpunkt ist eindeutig; nehmen wir namlich an, wir hatten zweiverschiedene Fixpunkte x und x in I, so gilt

|x − x| = |Φ(x) − Φ(x)| ≤ L|x − x| < |x − x|,was nicht moglich ist. ��

Fur die zu Φ gehorige Folge gilt also

|xk+1 − x| = |Φ(xk) − Φ(x)| ≤ L|xk − x|mit 0 < L < 1. Man spricht hier von linearem Konvergenzverhalten.

Genugend nahe bei x kann fur eine stetig differenzierbare Funktion Φ dannL ≈ |Φ′(x)| gesetzt werden. Denn aus dem Mittelwertsatz (Anhang A.1)

Φ(y) = Φ(x) + Φ′(z)(y − x)

mit einer zwischen x und y gelegenen Zahl z folgt

Page 234: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

21.2 Banach’scher Fixpunktsatz 237

|Φ(y) − Φ(x)| ≤ maxz∈I

|Φ′(z)| · |y − x|.

Ist nun |Φ′(x)| < 1, so nennt man den Fixpunkt x einen anziehendenFixpunkt von Φ; denn es gibt dann ein kleines Intervall I um x, so dass Φdie Voraussetzungen des Banach’schen Fixpunktsatzes erfullt.

Theorem 6. Sei x ein anziehender Fixpunkt der stetig differenzierbarenFunktion Φ(x). Dann kann man ein Intervall I mit x ∈ I angeben, so dassfur jeden Startwert x0 ∈ I die Folge xk gegen x konvergiert.

Beweis. Setze I := [x−h, x+h]; fur h genugend klein gilt L := maxz∈I |Φ′(z)|< 1, da sich sonst ein Widerspruch zur Stetigkeit von Φ′(x) ergeben wurde.Fur ein x ∈ I folgt weiterhin

|Φ(x) − x| = |Φ(x) − Φ(x)| ≤ L|x − x| < h,

und es gilt: Φ(x) ∈ I. Daher sind die Voraussetzung von Theorem 5 erfulltund xk konvergiert gegen x. ��

Gilt |Φ(x)| > 1, so ist Φ lokal bei x nicht kontrahierend, und keine Folgemit Startwert x0 = x wird gegen den Fixpunkt x konvergieren; wir habendann also einen abstoßenden Fixpunkt wie x2 = 1 im Beispiel 36:

Beispiel 38 (Fortsetzung von Beispiel 36). Wir konnen als Intervall I =[0, 0.4] wahlen. Dann gilt auf diesem Intervall mit L = 0.8

|Φ(y) − Φ(x)| = |y2 − x2| = (x + y)|y − x| ≤ 0.8|y − x|.

Weiterhin ist die Ableitung in den Fixpunkten Φ′(0) = 0 < 1 und Φ′(1) =2 > 1; daher ist x1 = 0 ein anziehender Fixpunkt und x2 = 1 ein abstoßender.

Beispiel 39 (Fortsetzung von Beispiel 37). Fur die Ableitung im Fixpunktgilt:

Φ′(x) = α(1 − 2x) = α

(1 − 2α − 2

α

)= 2 − α.

Nur solange also α ∈]1, 3[ ist, wird die Folge gegen den Fixpunkt kon-vergieren. Wir konnen dabei noch die Falle α ∈]1, 2[ und α ∈]2, 3[ unter-scheiden. Im ersten Fall erhalten wir eine monoton wachsende oder fallende,konvergente Folge (Abb. 24.1). Im zweiten Fall ergibt sich eine alternierende,konvergente Folge mit Φ′(x) < 0 (Abb. 24.2).

Page 235: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

22 Newton-Verfahren zur

Nullstellenbestimmung

”Nimmt man die Mathematik vom Anfang der Welt bis zur Zeit New-tons, so ist das, was er geschaffen hat, die weitaus bessere Halfte.“

Gottfried Willhelm Leibniz

22.1 Beschreibung des Newton-Verfahrens

Gesucht ist eine Nullstelle x einer Funktion f(x) : IR → IR, es soll alsogelten f(x) = 0. Man bezeichnet dann x als Losung einer durch f gegebenennichtlinearen Gleichung (vgl. dazu eine lineare Gleichung Ax − b = 0 ausKapitel 9).

Bisher haben wir uns mit Iterationsverfahren beschaftigt, die einen Fix-punkt einer Funktion bestimmen. Wir versuchen daher nun, das Nullstellen-problem in eine Fixpunktaufgabe umzuformulieren. Dazu verwenden wir dieTaylor-Entwicklung von f in der letzten Iterierten xk:

0 = f(x) = f(xk) + f ′(xk)(x − xk) + O((x − xk)2).

Dabei setzen wir voraus, dass f genugend oft stetig differenzierbar ist. Umnun ein Iterationsverfahren zu erhalten, ignorieren wir in obiger Gleichungden quadratischen Term, und benutzen die entstehende lineare Gleichungzur Bestimmung der nachsten Iterierten, indem wir x durch xk+1 ersetzen.Auflosen nach xk+1 liefert dann das Newton-Verfahren zur Bestimmung einerNullstelle von f :

xk+1 = xk − f(xk)f ′(xk)

, falls f ′(xk) = 0.

Die dazugehorige Iterationsfunktion ist also

Φ(x) = x − f(x)f ′(x)

,

und die Nullstelle x von f ist offensichtlich auch ein Fixpunkt von Φ, solangef ′(x) = 0 gilt.

Page 236: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

240 22 Newton-Verfahren zur Nullstellenbestimmung

In Kapitel 21 hatten wir gesehen, dass der Wert der Ableitung von Φ imFixpunkt ausschlaggebend dafur ist, ob der Fixpunkt anziehend oder absto-ßend ist. In dem vorliegenden Fall gilt

Φ′(x) = 1 − f ′(x)2 − f(x)f ′′(x)f ′2(x)

=f(x)f ′′(x)

f ′2(x).

Unter der Annahme, dass x eine einfache Nullstelle von f ist, f ′(x) = 0gilt, ergibt sich daher im Fixpunkt

Φ′(x) = 0.

Daher ist Φ genugend nahe bei x stets kontrahierend, und das Newton-Verfahren konvergiert stets gegen x, wenn wir den Startwert x0 nur nahegenug bei x wahlen.

Theorem 7. Die Folge xk ist lokal quadratisch konvergent gegen die Null-stelle x, wenn x eine einfache Nullstelle von f ist.

Beweis. Wir betrachten wieder die Taylor-Entwicklung von f in xk

0 = f(x) = f(xk) + f ′(xk)(x − xk) +12f ′′(z)(x − xk)2

mit einer Zwischenstelle z. Aus dieser Gleichung erhalten wir durch Umfor-mung

x − xk +f(xk)f ′(xk)

= −12

f ′′(z)f ′(xk)

(x − xk)2

und daher fur die Betrage

|x − xk+1| =∣∣∣∣ f ′′(z)2f ′(xk)

∣∣∣∣ · |x − xk|2 = C(xk, x)|x − xk|2.

Ist f ′(x) = 0, so konnen wir in einer Umgebung von x den Wert von Cdurch eine Konstante L nach oben beschranken, und es gilt fur den Abstandder Naherungslosung zur echten Nullstelle die Ungleichung

|x − xk+1| ≤ L|x − xk|2.

Die Folge xk ist daher quadratisch konvergent gegen x, wenn wir nurgenugend nahe an der gesuchten Stelle sind. ��

Aus Theorem 7 resultiert im Falle der Konvergenz ein sehr schnelles Ver-fahren. Als Voraussetzungen fur die quadratische Konvergenz benotigen wir,dass

– f ′(x) = 0 gilt, also x nur eine einfache Nullstelle von f ist; dies kann manauch so formulieren, dass f(x) = (x − x)g(x) mit g(x) = 0; und

Page 237: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

22.2 Weitere Methoden zur Nullstellenbestimmung 241

– der Startwert genugend nahe bei x liegt.

Das Newton-Verfahren zur Berechnung einer einfachen Nullstelle ist alsolokal quadratisch konvergent. Ausgehend von einem Startwert x0 iterieren wirso lange, bis die xk sich nicht mehr andern, oder die relative Anderung|xk − xk+1|/|xk+1| genugend klein ist.

Ist x eine mehrfache Nullstelle, so konvergiert das Newton-Verfahren lokalnur noch linear, d.h. es gibt eine Konstante L < 1 mit

|x − xk+1| ≤ L|x − xk|.

Dazu nehmen wir an, dass x eine m-fache Nullstelle von f ist und dahergilt: f(x) = (x − x)mg(x) mit g(x) = 0. Damit folgt fur unsere Iterations-funktion

Φ(x) = x − (x − x)mg(x)m(x − x)m−1g(x) + (x − x)mg′(x)

und daherΦ′(x) = 1 − 1

m< 1.

Dann ist x ein anziehender Fixpunkt und wir haben lineare Konvergenzim Sinne des Banach’schen Fixpunktsatzes.

Geometrisch gesehen besteht das Newton-Verfahren darin, die Funktionf(x) lokal an der Stelle xk linear durch eine Gerade zu ersetzen – gerade dieTangente an f bei xk, und die Nullstelle dieser Geraden als xk+1 zu wahlen.Denn die Tangentengerade ist bestimmt durch die Beziehung

g(x) = f(xk) + f ′(xk)(x − xk),

und es ist g(xk+1) = 0 (Abb. 22.1).Die Nachteile des Newton-Verfahrens bestehen darin, dass wir Ableitun-

gen benotigen und dass die Konvergenz nur fur einen ”guten“ Startwert x0

garantiert ist. Liegt zum Beispiel x0 nahe bei einem lokalen Maximum oderMinimum von f , so ist die Tangente fast waagrecht und x1 kann beliebig weitvon x0 entfernt liegen (Abb. 22.2). Ist die Ableitung f ′(x0) sogar Null, so istx1 gar nicht definiert, und wir mussen die Iteration neu starten.

22.2 Weitere Methoden zur Nullstellenbestimmung

22.2.1 Sekantenverfahren

Wir wollen noch zwei andere Algorithmen vorstellen, die in Zusammenhangmit dem Newton-Verfahren stehen. Im ersten Verfahren ersetzen wir die Tan-gente durch die Sekantengerade, die bestimmt ist durch die beiden letztenNaherungswerte xk−1 und xk. Der Schnittpunkt dieser Geraden mit der x-Achse liefert uns dann den neuen Wert xk+1.

Page 238: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

242 22 Newton-Verfahren zur Nullstellenbestimmung

Tangente

0x1

x

y

f(x)

g(x)

Nullstelle

x

Abb. 22.1. Geometrische Herleitung des Newton-Verfahrens.

Also

k

f’(x)=0

g(x)

y

xx

Abb. 22.2. Problem des Newton-Verfahrens an einer Stelle xk mit f ′(xk) ≈ 0.

Page 239: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

22.2 Weitere Methoden zur Nullstellenbestimmung 243

21

x

y

f(x)

Nullstelle

Sekante

x3 xx

Abb. 22.3. Graphische Darstellung des Sekantenverfahrens.

g(x) = f(xk−1) + (f(xk) − f(xk−1))x − xk−1

xk − xk−1

mit der Nullstelle

xk+1 = xk−1 − f(xk−1)(xk − xk−1)f(xk) − f(xk−1)

=xk−1f(xk) − xkf(xk−1)

f(xk) − f(xk−1).

Auch hier konnen wir nur mit lokaler Konvergenz rechnen, aber es werdenkeine Ableitungen benotigt, sondern die Werte der beiden letzten Iterierten:denn xk+1 berechnet sich aus den Funktionswerten bei xk und xk−1. Dar-aus folgt eine langsamere Konvergenzgeschwindigkeit, aber dafur sind keineAbleitungen notig und jeder Iterationsschritt kostet nur eine neue Funkti-onsauswertung.

22.2.2 Bisektionsverfahren

Dieses Verfahren kommt ebenfalls ohne die Berechnung von Ableitungen ausund ist daruber hinaus stets konvergent (man spricht von globaler Konver-genz). Allerdings ist dafur die Konvergenzgeschwindigkeit nur noch linear.Wir beginnen mit zwei Startwerten a und b, die eine Nullstelle von f ein-schließen. Das konnen wir garantieren, wenn f stetig ist, und f(a) und f(b)

Page 240: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

244 22 Newton-Verfahren zur Nullstellenbestimmung

x

y

f(x)

f(x)>0

Nullstelle

c=(a+b)/2

Ersetze a durch c

c b

f(x)<0

a

Abb. 22.4. Graphische Darstellung des Bisektionsverfahrens.

verschiedene Vorzeichen haben, also sign(f(a)f(b)) = −1. Nun wahlen wirals c genau die Zwischenstelle c = (a + b)/2 und berechnen f(c).

Das Ziel besteht darin, mittels c ein neues, nur noch halb so großes In-tervall anzugeben, das garantiert eine Nullstelle von f enthalt. Dazu ersetztman von a und b dasjenige durch c, dessen Funktionswert dasselbe Vorzei-chen wie f(c) hat, wodurch automatisch wieder sign(f(a)f(b)) = −1 erfulltist (Abb. 22.4). Also

Ist sign(f(a)f(c)) = 1: setze a := cIst sign(f(b)f(c)) = 1: setze b := c.

Nach jedem Schritt ist das Einschließungsintervall und damit der Abstandvon der Losung x um einen Faktor 1/2 verkleinert, und wegen der Vorzeichen-bedingung enthalten die Intervalle garantiert eine Nullstelle von f . Genauergilt fur die Folge der Einschließungsintervalle [ak, bk]:

|x − ak+1| + |bk+1 − x| = x − ak+1 + bk+1 − x

= |bk+1 − ak+1| =12|bk − ak| =

12

(|x − ak| + |bk − x|) .

Der mittlere Abstand der Intervallgrenzen von der Nullstelle schrumpftin jedem Schritt um den Faktor 1/2.

Page 241: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

22.2 Weitere Methoden zur Nullstellenbestimmung 245

Oft wird Newton- und Bisektionsverfahren kombiniert, um ein global kon-vergierendes Verfahren zu erhalten, das zusatzlich lokal quadratisch konver-giert. Dazu startet man mit dem Bisektionsverfahren, und schaltet auf dasNewton-Verfahren um, sobald man genugend nahe an der gesuchten Stelleist.

Die Kombination von Bisektionsverfahren und Sekantenverfahren liefertdie Regula falsi, bei der wie bei der Bisektion eine Folge von Einschließungs-intervallen erzeugt wird; der neue Kandidat zum Austausch einer Intervall-grenze wird dabei aber als die Nullstelle aus dem Sekantenverfahren gewahlt.

Beispiel 40 (Das Newton-Verfahren zur Berechnung der Quadratwurzel, vgl.Ubungsaufgabe 106). Gesucht ist fur a > 0 die Quadratwurzel von a, alsogenau die Nullstelle von f(x) = x2 − a. Daraus folgt die Iterationsvorschrift

xk+1 = xk − x2k − a

2xk=

12xk +

12

a

xk

Beispiel 41. In Kapitel 16.4 haben wir das Problem kennen gelernt, einergegebenen Funktion einen einzigen Wert zuzuordnen. Anstelle des ”mean ofarea“-Kriteriums soll wieder dasjenige x bestimmt werden mit∫ x

a

f(t)dt =∫ b

x

f(t)dt.

Diese Aufgabe konnen wir umformulieren als Nullstellenproblem fur

F (x) :=∫ x

a

f(t)dt −∫ b

x

f(t)dt =∫ b

a

f(t)dt − 2∫ b

x

f(t)dt.

Das Newton-Verfahren liefert wegen F ′(x) = 2f(x) die Iterationsvor-schrift

xk+1 = xk − F (xk)2f(xk)

,

die lokal quadratisch gegen die Losung x konvergiert, falls f(x) = 0 gilt.

22.2.3 Newton-Verfahren fur Polynome

Fur das Polynom

p(x) = anxn + an−1xn−1 + . . . + a1x + a0

soll (zunachst nur) eine Nullstelle gefunden werden. Wir verwenden dazu dasNewton-Verfahren

xk+1 = Φ(xk) = xk − p(xk)p′(xk)

mit einem geeigneten Anfangswert x0.

Page 242: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

246 22 Newton-Verfahren zur Nullstellenbestimmung

Betrachten wir nur Polynome mit lauter reellen Nullstellen ξ1 > . . . > ξn,dann konvergiert das Newton-Verfahren fur alle Startwerte x0 > ξ1 monotonfallend gegen die großte Nullstelle ξ1.

Mittels Polynomdivision kann das Polynom p1(x) = p(x)/(x−ξ1) definiertwerden. Dieses hat, bei exakter Rechnung, bis auf ξ1 dieselben Nullstellen wiep(x). Wie oben kann also die Nullstelle ξ2 von p(x) als Nullstelle von p1(x)bestimmt werden.

Durch fortgesetztes Bestimmen der großten Nullstelle und folgendes Ab-dividieren dieser Nullstelle kann man also der Reihe nach alle Nullstellen vonp berechnen.

In der Praxis jedoch treten beim Abdividieren der Nullstellen Rundungs-fehler auf, die die Berechnung der Nullstellen empfindlich beeintrachtigenkonnen. Mittels eines auf Maehly zuruckgehenden Tricks lasst sich das Ab-dividieren vermeiden. Fur das Polynom p1 gilt

p′1(x) =p′(x)x − ξ1

− p(x)(x − ξ1)2

,

und damit ergibt sich die Newton’sche Iterationsvorschrift:

xk+1 = xk − p1(xk)p′1(xk)

= xk −p(xk)xk−ξ1

p′(xk)xk−ξ1

− p(xk)(xk−ξ1)2

= xk − p(xk)

p′(xk) − p(xk)xk−ξ1

.

Allgemein erhalt man fur die Berechnung der Nullstelle ξj+1 die Polynome

pj(x) =p(x)

(x − ξ1) · · · (x − ξj)

p′j(x) =p′(x)

(x − ξ1) · · · (x − ξj)− p(x)

(x − ξ1) · · · (x − ξj)

j∑i=1

1x − ξi

und die Iterationsvorschrift

xk+1 = xk − p(xk)

p′(xk) −j∑

i=1

p(xk)xk − ξi

.

22.2.4 Newton-Verfahren zur Berechnung eines Minimums

Berechnung von Nullstellen im IRn: Das Newton-Verfahren kann dazuverwendet werden, Nullstellen mehrdimensionaler Funktionen zu bestimmen.Betrachten wir die Funktion

f : IRn −→ IRn mit

f(x) = f(x1, . . . , xn) =

⎛⎜⎝ f1(x1, . . . , xn)...

fn(x1, . . . , xn).

⎞⎟⎠

Page 243: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

22.2 Weitere Methoden zur Nullstellenbestimmung 247

Die Ableitungen dieser Funktion werden in der Jacobi-Matrix zusammen-gefasst:

J =

⎛⎜⎝∂f1∂x1

. . . ∂f1∂xn

.... . .

...∂fn

∂x1. . . ∂fn

∂xn

⎞⎟⎠ .

Damit lasst sich formal das Newton-Verfahren zur Bestimmung einer Null-stelle x ∈ IRn schreiben als

xk+1 = xk − J−1f(xk).

Berechnung des Minimums einer Funktion: Zur Bestimmung eineslokalen Extremums einer Funktion f benotigen wir die Nullstellen der Ablei-tung f ′, also Punkte mit waagrechter Tangente. Wie bekannt liegt fur positivezweite Ableitung ein lokales Minimum vor, und fur negative zweite Ableitungein lokales Maximum. Die Iterationsvorschrift zur Berechnung einer Nullstelleder Ableitung lautet

xk+1 = xk − f ′(xk)f ′′(xk)

.

Oft wird unsere zu minimierende Funktion nicht nur von einer Variablenabhangen, sondern von mehreren. Unser Problem ist dann also gegeben durch

minx1,...,xn

F (x1, x2, . . . , xn).

Ein lokales Minimum ist auf jeden Fall ein Punkt mit waagrechter Tan-gente, d.h. die Ableitung oder besser gesagt der Gradientenvektor

∇F =

⎛⎜⎝∂F∂x1...

∂F∂xn

⎞⎟⎠muss dort eine Nullstelle haben. Wir sind dabei also auf das Problem gesto-ßen, fur eine Vektorfunktion der Form

∇F = f(x1, . . . , xn) =

⎛⎜⎝ f1(x1, . . . , xn)...

fn(x1, . . . , xn)

⎞⎟⎠eine Nullstelle zu finden mit

fj(x1, . . . , xn) = 0, j = 1, . . . , n.

Wir konnen nun das Newton-Verfahren genauso formulieren und herleitenwie im skalaren Fall. Allerdings wird die Ableitung der aus n Komponentenbestehenden Funktion f(x1, . . . , xn) eine Matrix der Form

Page 244: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

248 22 Newton-Verfahren zur Nullstellenbestimmung

Df =

⎛⎜⎝∂f1∂x1

· · · ∂f1∂xn

......

∂fn

∂x1· · · ∂fn

∂xn

⎞⎟⎠ =(

∂F

∂xi∂xj

)n

i,j=1

sein, die Hesse-Matrix zur Funktion F (x). Das Newton-Verfahren sieht dannformal so aus: ⎛⎜⎝ x1

...xn

⎞⎟⎠(k+1)

=

⎛⎜⎝ x1

...xn

⎞⎟⎠(k)

− Df−1

⎛⎜⎝ f1

...fn

⎞⎟⎠(k)

.

Dabei bezeichnet der hochgestellte Index den k-ten Iterationsschritt. Injedem Schritt ist also ein lineares Gleichungssystem mit der Matrix Df zulosen.

Das ist nur moglich, solange Df regular ist. Um die Kosten zu reduzie-ren, ersetzt man haufig die Matrix Df durch eine billiger zu gewinnendeNaherung B, aber unter der Vorgabe, dass B wichtige Eigenschaften von Dfenthalt. Man spricht von Quasi-Newton-Verfahren, bei denen in jedem Itera-tionsschritt eine verbesserte Naherung B an die Hesse-Matrix Df berechnetwird.

Nichtlineare Ausgleichsrechnung: Eine weitere Anwendung des Newton-Verfahrens ergibt sich in der Ausgleichsrechnung. In Verallgemeinerung vonKapitel 10 stehen wir hier vor der Aufgabe:

minx∈IRn

∥∥∥∥∥∥∥⎛⎜⎝ f1(x1, . . . , xn)

...fm(x1, . . . , xn)

⎞⎟⎠− b

∥∥∥∥∥∥∥2

2

.

Um dieses Problem auf den bekannten linearen Fall zuruckzufuhren, erset-zen wir f durch den Anfang der Taylor-Entwicklung an der zuletzt berechne-ten Naherungslosung. Mit der Jacobi-Matrix J fuhrt dies auf das einfachereProblem

minx ‖(f(x(k)) + J · (x − x(k))

)− b‖22

= minx ‖Jx − (b + Jx(k) − f(x(k)))‖2

2.

Dieses lineare Ausgleichsproblem kann wie in Kapitel 10 gelost werdenund liefert in x(k+1) eine nachste Naherung. Dieses Vorgehen wird in x(k+1)

wiederholt, und wir erhalten so eine Folge x(k), die im gunstigen Fall gegendas gesuchte Minimum konvergiert.

Man spricht hier vom Gauß-Newton-Verfahren, da in jedem Schritt eineLinearisierung erfolgt wie bei der Newton-Iteration , und das lineare Teilpro-blem gerade ein lineares Ausgleichsproblem darstellt.

Page 245: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

23 Iterative Losung Linearer

Gleichungssysteme

”Schon die Mathematik lehrt uns, dass man Nullen nicht ubersehendarf.“

Gabriel Laub

23.1 Stationare Methoden

Fur große, dunnbesetzte Matrizen wird man oft direkte Verfahren zum Loseneines linearen Gleichungssystems Ax = b vermeiden, da in der Regel derVorteil der Dunnbesetztheit im Verlauf der Gauß-Elimination verloren geht.Dunnbesetzte Matrizen lassen sich normalerweise mit O(n) Speicherplatzdarstellen, und man ist an Losungsverfahren interessiert, die ebenfalls vondieser Großenordnung sind. Hier bieten iterative Verfahren große Vorteile,da sie von den Eingangsdaten des Problems nur ein Programm benotigen,das beschreibt, wie die Matrix mit einem Vektor multipliziert wird. Die Ge-samtkosten eines iterativen Gleichungssystemlosers ergeben sich unter dieserVoraussetzung als

(Anzahl der Iterationen) · O(n);

man muss also ”nur noch“ fur genugend schnelle Konvergenz des Verfahrenssorgen.

Das einfachste iterative Verfahren ist das Richardson-Verfahren; es resul-tiert aus folgendem Ansatz:

b = Ax = (A − I)x + x ⇐⇒ x = b + (I − A)x.

Dies kann interpretiert werden als Iterationsvorschrift der Form

x(k+1) = b + (I − A)x(k) = x(k) + (b − Ax(k)) = Φ(x(k)),

so dass, ausgehend von einem Startvektor x(0), eindeutig die Folge x(k) be-rechnet werden kann; dazu notwendig ist nur ein Unterprogramm zur Berech-nung von Ax(k). Die Iterationsfunktion ist Φ(x) = b + (I − A)x.

Page 246: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

250 23 Iterative Losung Linearer Gleichungssysteme

Hier stellt sich die Frage der Konvergenz. Wenn wir die tatsachlicheLosung mit x = A−1b bezeichnen, ist diese Iterationsfunktion nur sinnvoll,wenn die Iterierten x(k) gegen x konvergieren. Wir betrachten den Fehler imk + 1-ten Schritt

x − x(k+1) = x − x(k) − (b − Ax(k))= x − x(k) − (Ax − Ax(k)) = (I − A)(x − x(k)).

Daher gilt

‖x − x(k+1)‖2 = ‖(I − A)(x − x(k))‖2 ≤ ‖I − A‖2‖x − x(k)‖2

und damit‖x − x(k)‖2 ≤ ‖I − A‖k

2 ‖x − x(0)‖2.

Der Fehler geht gegen Null und die Folge x(k) konvergiert gegen die ge-suchte Losung, wenn die Norm der Matrix I − A kleiner als Eins ist. Wirkonnen auch Theorem 5 anwenden und mussen dazu nur prufen, ob die Funk-tion Φ im IRn kontrahierend ist,

‖Φ(x) − Φ(y)‖2 ≤ ‖I − A‖2‖x − y‖2.

Das Richardson-Verfahren ist nur sinnvoll, wenn die Ausgangsmatrix ”na-he an der Einheitsmatrix“ ist. Davon kann man in der Praxis nicht ausgehen.Andererseits ist dieses Verfahren doch der Kern und Ausgangspunkt weitbesserer Methoden, die durch nahe liegende Verbesserungen eingefuhrt wer-den konnen. Um nahe an der Einheitsmatrix zu sein, sollten zum Beispieldie Diagonalelemente alle Eins sein. Dies lasst sich aber einfach erreichen.Dazu bezeichnen wir mit D = diag(A) die Diagonalmatrix, bestehend ausden Diagonaleintragen von A, die alle von Null verschieden sein sollen. Da-mit fuhren wir die Diagonalmatrix D−1 ein, indem wir jedes Diagonalelementdurch d−1

ii ersetzen. Offensichtlich hat die neue Matrix D−1A nun als Dia-gonaleintrage nur noch Einsen. Weiterhin konnen wir das Ausgangssystemaquivalent umformen

Ax = b ⇐⇒ (D−1A)x = (D−1b)

oderAx = b, mit A = D−1A, b = D−1b.

Fur die Matrix A konnen wir mit besserer Konvergenz im Richardson-Verfahren rechnen, da die Verbesserung in jedem Iterationsschritt von ‖I −D−1A‖2 abhangt. Man spricht hier davon, dass das ursprungliche Problemdurch einen Prakonditionierer – in diesem Fall D – auf eine neue Matrixtransformiert wird, bei der wir mit schnellerer Konvergenz rechnen konnen.

Die Richardson-Iteration auf A lautet

Page 247: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

23.1 Stationare Methoden 251

x(k+1) = x(k) + (b − Ax(k)) = x(k) + D−1(b − Ax(k))oder Dx(k+1) = Dx(k) + (b − Ax(k)) = b + (D − A)x(k).

Dieselbe Iterationsvorschrift lasst sich auch auf eine andere Art und Weisegewinnen. Durch Abspalten der Diagonalelemente von A schreibt man dasursprungliche Problem Ax = b in der Form

b = Ax = (D + A − D)x = Dx + (A − D)x,

oder Dx = b + (D − A)x,

und benutzt diese Schreibweise als Ausgangspunkt eines iterativen Verfah-rens. In dieser Formulierung spricht man vom Jacobi-Verfahren zur iterativenLosung eines linearen Gleichungssystems. Ein Iterationsschritt wird beschrie-ben durch folgendes Programm:

FOR i = 1, ..., n:xneu[i] = b[i];FOR j = 1, ..., i-1, i+1, ..., n:

xneu[i] = xneu[i] - a[i,j] * x[j];ENDFORxneu[i] = xneu[i] / a[i,i];

ENDFOR

Wie bei Richardson oder Jacobi konnen wir weitere Splittings von Aeinfuhren, um unseren Verfahren zu schnellerer Konvergenz zu verhelfen. Da-zu zerlegen wir A in den Diagonalteil D, den unteren Dreiecksteil L und denoberen Dreiecksteil U und schreiben:

b = Ax = (L + D + U)x = (L + D)x + Ux.

Daraus ergibt sich die Iterationsvorschrift

(L + D)x(k+1) = b − Ux(k) = b − (A − L − D)x(k)

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

Dabei ist zur Berechnung der nachsten Iterierten ein Gleichungssystemzu losen, allerdings ein sehr einfaches; denn die zugehorige Matrix L + Dist eine untere Dreiecksmatrix. Das so definierte iterative Verfahren wird alsGauß-Seidel-Verfahren bezeichnet:

FOR i = 1, ..., n:xneu[i] = b[i];FOR j = 1, ..., i-1:

xneu[i] = xneu[i] - a[ij] * xneu[j];ENDFORFOR j = i+1, ..., n:

Page 248: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

252 23 Iterative Losung Linearer Gleichungssysteme

xneu[i] = xneu[i] - a[ij] * x[j];ENDFORxneu[i] = xneu[i] / a[ii];

ENDFOR

Dieses Verfahren unterscheidet sich vom Jacobi-Verfahren dadurch, dasszur Berechnung der nachsten Iterierten x(k+1) = xneu sofort die in diesemSchritt bereits vorliegenden Komponenten von xneu eingesetzt werden. Da-mit erhalt man unter Verwendung nur eines einzigen Vektors x das einfachereProgramm

FOR i = 1, ..., n:x[i] = b[i];FOR j = 1, ..., i-1, i+1, ..., n:

x[i] = x[i] - a[ij] * x[j];ENDFORx[i] = x[i] / a[ii];

ENDFOR

Die Konvergenz hangt nun ab von

‖I − (L + D)−1A‖2.

Die Matrix (L+D)−1 wird als Prakonditionierer bezeichnet, da das neue Sys-tem (L + D)−1A besser konditioniert sein sollte. Das Gauß-Seidel-Verfahrenist dann genau das Richardson-Verfahren, angewandt auf das prakonditio-nierte Gleichungssystem

(L + D)−1Ax = (L + D)−1b.

Durch die verbesserte Kondition des neuen Gleichungssystems nach Anwen-dung des Prakonditionierers (L + D) soll eine schnellere Konvergenz erreichtwerden.

Allgemein erhalten wir ein stationares Iterationsverfahren, indem wir Ain der Form A = M − N darstellen, wobei die Matrix M leicht invertierbarsein soll. Dann konnen wir aquivalent umformen

b = Ax = (M − N)x = Mx − Nx

⇐⇒ Mx = Nx + b

⇐⇒ x = M−1Nx + M−1b.

Nun haben wir unser Gleichungssystem in eine Form x = Φ(x) gebracht,die wir von unseren Fixpunktbetrachtungen her kennen. Die gesuchte Losungwollen wir daher als Fixpunkt der obigen Gleichung mit der Iteration

x(k+1) = Φ(x(k)) = M−1Nx(k) + M−1b

Page 249: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

23.1 Stationare Methoden 253

berechnen. Um die Frage der Konvergenz dieser Vorschrift zu klaren, konnenwir den Banach’schen Fixpunktsatz heranziehen. Diese Folge ist danach kon-vergent, wenn die Funktion Φ(x) kontrahierend ist:

‖Φ(x) − Φ(y)‖2 = ‖M−1N(x − y)‖2 ≤ ‖M−1N‖2 ‖x − y‖2.

Ist die Matrixnorm L = ‖M−1N‖2 < 1, so liegt lineare Konvergenz vorgegen den Fixpunkt von Φ, der gleichzeitig die Losung von Ax = b ist. DieKonvergenzgeschwindigkeit hangt von L = ‖M−1N‖ ab; je kleiner diese Zahl,desto schneller die Konvergenz. Ist L nahe bei Eins, so wird die Konvergenzsehr langsam sein.

In der allgemeinen Form

x(k+1) = M−1Nx(k) + M−1b = M−1(M − A)x(k) + M−1b

= x(k) + M−1(b − Ax(k))

ist dieses Verfahren bestimmt durch eine Suchrichtung M−1(b − Ax(k)), indie der nachste Schritt erfolgt. Daher liegt es nahe, hier eine Schrittweite αeinzufuhren und das gedampfte Verfahren

x(k+1) = x(k) + αM−1(b − Ax(k))

zu definieren. Dabei kann α noch moglichst gut gewahlt werden.Ublicherweise werden, ausgehend von einem Startvektor x(0), die Nahe-

rungslosungen x(k) so lange berechnet, bis das relative Residuum‖Ax(k) − b‖2/‖Ax(0) − b‖2 genugend klein ist.

Die bisher besprochenen stationaren Verfahren sind also Spezialfall einerIterationsvorschrift

x(k+1) = Φ(x(k))

, x(k), x(k+1) ∈ IRn. (23.1)

Eine nahe liegende Verbesserung eines solchen Verfahrens kann dadurcherreicht werden, dass wir bei der Berechnung einer neuen Komponentex

(k+1)i = Φi(x

(k)1 , . . . , x

(k)n ) auf der rechten Seite in Φ die bereits verbesserten

Komponenten von x(k+1) einsetzen. Wenn wir den Vektor in der ublichenReihenfolge von Eins bis n durchlaufen, so fuhrt dies auf

x(k+1)i = Φi

(x

(k+1)1 , . . . , x

(k+1)i−1 , x

(k)i , . . . , x(k)

n

)was sich durch das einfache Programm

FOR i = 1, ..., n:x[i] = Phi[i] (x[1], ..., x[n]);

ENDFOR

realisieren lasst. Dieses Vorgehen wird mit Einzelschrittverfahren bezeichnet.Im Gegensatz dazu heißt das durch (23.1) beschriebene Verfahren Gesamt-schrittverfahren.

Page 250: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

254 23 Iterative Losung Linearer Gleichungssysteme

Der Unterschied zwischen Gesamt- und Einzelschrittverfahren entsprichtdem Unterschied zwischen Jacobi- und Gauß-Seidel-Verfahren bei der Losunglinearer Gleichungssysteme. Man beachte, dass beim Einzelschrittverfahrendie Reihenfolge, in der die Komponenten neu berechnet werden, frei wahlbarist und großen Einfluss auf die Konvergenzgeschwindigkeit haben kann.

23.2 Gradientenverfahren

Im Folgenden gehen wir davon aus, dass A symmetrisch positiv definit ist,also AT = A und xT Ax > 0 fur alle x = 0 gilt.

−0.10

0.10.2

−0.10

0.10.2

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

Abb. 23.1. Paraboloid mit Tangentenrichtung.

Nun fuhren wir die Funktion

F (x) =12xT Ax − bT x

ein. Diese Funktion stellt die Verallgemeinerung einer Parabel in mehr Di-mensionen dar, einen Paraboloiden (Abb. 23.1). Daher existiert ein eindeuti-ges Minimum von F (x), das dadurch charakterisiert ist, dass die Ableitungvon F an dieser Stelle gleich Null ist (waagrechte Tangente). Die Ableitungvon F (x) ist der Gradient ∇F (x) (siehe Abschn. 22.2.4), und dient dazu,die Richtungsableitung von F (x) zu bestimmen. Schranken wir die Funktion

Page 251: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

23.2 Gradientenverfahren 255

F (x) auf eine Dimension ein, indem wir nur solche x zulassen von der Formx = x0+αy, so ist die gewohnliche eindimensionale Ableitung nach α gegebendurch

ddα

F (x0 + αy) = ∇F (x0) · y.

Das relative Minimum x0 von F (x) ist dadurch gekennzeichnet, dass alleRichtungsableitungen in x0 und damit der Gradient gleich Null sein muss.Der Gradient ist Ax − b, so dass das Minimum von F genau die Losung deslinearen Gleichungssystems Ax = b ist.

Daher liegt es nahe, das Problem des linearen Gleichungssystems zu er-setzen durch das Problem der Minimierung von F (x).

Zur Bestimmung des Minimums einer gegebenen Funktion formulierenwir folgenden Ansatz fur ein Iterationsverfahren:

xk+1 = xk + αkdk.

Dabei ist dk eine Suchrichtung, die eine Verkleinerung des Funktionswer-tes F (xk) erlaubt, und αk ist eine Schrittweite, die angibt, wie weit manin Suchrichtung laufen sollte, damit der neue Funktionswert moglichst klein,also moglichst nahe an dem gesuchten Minimum liegt.

Iterative Verfahren zur Bestimmung eines Minimums einer Funktion un-terscheiden sich im Wesentlichen durch die Wahl der Suchrichtung. Ausder Beschrankung auf den eindimensionalen Fall sieht man, dass die Rich-tungsableitung den betragsgroßten negativen Wert annimmt fur die Richtungy = −∇F . Denn nach dem Mittelwertsatz gilt, dass an der Stelle xk die ein-dimensionale Funktion in α beschrieben werden kann durch

F (xk + αy) = F (xk) + α∇F (xk)y + O (α2).

Die Richtungsableitung von F (x) in Richtung y an der Stelle xk ist da-bei gegeben durch ∇F (xk)y; daher nimmt F (x) bei xk am starksten ab inRichtung des negativen Gradienten y = −∇F (xk). Dieser negative Gradienteignet sich also gut als Suchrichtung, da auf jeden Fall fur genugend kleine αdie Funktion F (x) kleinere Werte annimmt als in F (xk), zumindest solangexk noch nicht die gesuchte Losung mit ∇F (x) = 0 ist. Man nennt −∇F (xk)daher auch Abstiegsrichtung fur F in xk, da die Funktion F in dieser Rich-tung lokal abnimmt. Um also von xk aus naher an das gesuchte Minimum zukommen, kann man den negativen Gradienten dk = b−Axk als Suchrichtungwahlen. Daraus resultiert die Iteration

xk+1 = xk + αk(b − Axk),

und es bleibt nur noch αk zu bestimmen. Dazu erinnern wir uns daran, dasswir das Minimum von F suchen, also sollte man auch αk so wahlen, dass dieFunktion

G(α) := F (xk + α(b − Axk))

Page 252: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

256 23 Iterative Losung Linearer Gleichungssysteme

minimal wird. Dies ist ein einfaches, eindimensionales Problem - quadratischin α, und lasst sich direkt losen. Nullsetzen der Ableitung nach α und Auflosendieser Gleichung nach αk liefert

αk =dT

k dk

dTk Adk

.

Die Iterationsvorschrift lautet daher insgesamt

xk+1 = xk +‖b − Axk‖2

2

(b − Axk)T A(b − Axk)(b − Axk).

Die dazugehorige Fixpunktgleichung hat die Form

x = Φ(x) := x +‖b − Ax‖2

2

(b − Ax)T A(b − Ax)(b − Ax),

mit dem eindeutigen Fixpunkt x = A−1b.

Abb. 23.2. Graph von F (x), Hohenlinien mit Zick-Zack-Weg der Iterierten.

Da die Suchrichtung durch den Gradienten festgelegt ist, wird dieses Ver-fahren das Gradientenverfahren oder ”steepest descent“ (steilster Abstieg)genannt. Wie man an dem Paraboloiden sieht, konvergiert dieser Algorith-mus fur jeden Startwert x0 gegen das gesuchte Minimum, aber evtl. sehrlangsam. Ist namlich A schlecht konditioniert, so ist der Paraboloid stark

Page 253: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

23.3 Vektoriteration 257

verzerrt. Dann wird sich die Folge der xk in einer Zickzack-Linie dem Mi-nimum annahern, da die lokale Abstiegsrichtung nicht zum Minimum weist(Abb. 23.2 und 23.3).

Abb. 23.3. Hohenlinien von F (x) und Zick-Zack-Iterationsschritte im Gradienten-verfahren.

Anmerkung 57. Um eine Verbesserung der Konvergenzgeschwindigkeit zu er-reichen, modifizieren wir die Abstiegsrichtung dk. Wir wahlen nicht den Gra-dientenvektor selbst, sondern nur diejenige Komponente, die A-orthogonalzu den bereits vorher verwendeten Suchrichtungen ist, d.h. es soll geltendT

j Adk = 0 fur j < k. Auf diese Art und Weise erreicht man ein wesent-lich besseres Verfahren, das Verfahren der konjugierten Gradienten, kurzcg-Verfahren fur conjugate gradient method. Fur unsymmetrische Matrizenwurden ahnliche Verfahren entwickelt, wie z.B. GMRES (Generalized Mi-nimum Residual). Dabei versucht man, beste Naherungen an die gesuchteLosung aus speziellen, kleinen Unterraumen zu bestimmen. Als Unterraumebetrachtet man die aus A und r0 = Ax0 − b gewonnenen sog. KrylovraumeKp(A, r0) := span{r0, Ar0, ..., A

p−1r0} zu Startvektor x0. In jedem Schrittwird dann die Funktion ‖Ax − b‖2 uber den Krylovraumen Kp wachsenderDimension minimiert.

23.3 Vektoriteration

Wir betrachten die Fixpunktgleichung zur Iterationsfunktion Φ(x) = Ax / λmit einer n × n-Matrix A und einer Zahl λ = 0. Ein Fixpunkt x = 0 kannnur existieren, wenn λx = Ax gilt, oder anders ausgedruckt, die Gleichung(λI −A)x = 0 eine nichttriviale Losung besitzt. Dies kann aber nur dann derFall sein, wenn λI − A singular ist, oder

det(λI − A) = 0.

Die Zahlen λ, fur die diese Matrix singular wird, nennt man Eigenwertevon A (siehe Anhang B.4). Fur solche Eigenwerte λ existiert also auch einFixpunkt x zu Φ(x), genannt Eigenvektor. Man beachte, dass mit x auchjedes skalare Vielfache αx, α = 0, wieder ein Eigenvektor zum Eigenwert λist.

Page 254: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

258 23 Iterative Losung Linearer Gleichungssysteme

Der Einfachheit halber nehmen wir an, dass A wieder symmetrisch positivdefinit ist. Zur Bestimmung des großten Eigenwertes betrachten wir dann dieIterationsvorschrift

xk+1 =Axk

‖Axk‖ .

Im Falle der Konvergenz dieser Folge gilt:

xk → x und x =Ax

‖Ax‖ .

Daher ist x ein Eigenvektor der Lange Eins zu dem Eigenwert λ = ‖Ax‖wegen

‖Ax‖x = Ax.

Um dieses Verfahren genauer zu analysieren, stellen wir den Startvektorx0 in der Orthogonalbasis der Eigenvektoren dar

x0 = c1v1 + . . . + cnvn.

Dann folgt

Ax0 = A(c1v1 + . . . + cnvn) = c1λ1v1 + . . . + cnλnvn

und allgemeinAkx0 = c1λ

k1v1 + . . . + cnλk

nvn.

Ist nun λ1 der eindeutig betragsroßte Eigenwert, so gilt

Akx0

λk1

= c1v1 + c2

(λ2

λ1

)k

v2 + . . . + cn

(λn

λ1

)k

vn −→ c1v1

fur k → ∞, und dasselbe gilt fur Akx0/‖Akx0‖, also

Akx0

‖Akx0‖ −→ c1v1

‖c1v1‖ .

Nun unterscheiden sich die k-te Iterierte xk und der Vektor Akx0 abernur um einen konstanten Faktor, also xk = r · Akx0, und daher folgt:

xk =xk

‖xk‖ =Akx0

‖Akx0‖ −→ σv1

mit |σ| = 1. Daher konvergiert die Folge xk gegen einen Eigenvektor zumEigenwert λ1.

Ist A z.B. eine unsymmetrische Matrix, so muss die Skalierung von xk+1

so modifiziert werden, dass z.B. xTk+1xk > 0 ist, um ein Hin-und-Her-Springen

der Iterierten zwischen den Fixpunkten −v1 und +v1 zu vermeiden. Außer-dem konnen wir nur dann Konvergenz erwarten, wenn ein eindeutiger be-tragsgroßter Eigenwert existiert.

Page 255: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

23.3 Vektoriteration 259

Beispiel 42 (Weltmodelle und iterative Verfahren). In Abschnitt 12.3 habenwir ein Austauschmodell zur Verteilung von Ressourcen vorgestellt. Die Ma-trix A erfullt dabei die Bedingung

(1, . . . , 1) · A = (1, . . . , 1).

Daher ist 1 ein Eigenwert von A mit Links-Eigenvektor (1, . . . , 1). Daszu losende Gleichungssystem Ax = x entspricht der Eigenwertgleichung zudiesem Eigenwert 1. Wir konnen daher die Bedingung (A − I)x = 0 losen,indem wir zum Eigenwert 1 den entsprechenden Rechts-Eigenvektor bestim-men, z.B. durch das oben beschriebene Verfahren der Vektoriteration.

Mit der Vektoriteration haben wir ein einfaches Verfahren zur Bestim-mung von Eigenwerten kennen gelernt. Fur weitergehende Methoden wie dasQR-Verfahren wollen wir hier nur auf weiterfuhrende Literatur verweisen[108].

Page 256: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

24 Anwendungsbeispiele

”Eine mathematische Aufgabe kann manchmal genauso unterhaltsamsein wie ein Kreuzwortratsel.“

George Polya

24.1 Iteration und Chaos

24.1.1 Logistische Parabel

Wir betrachten die Iterationsvorschrift

xi+1 = αxi(1 − xi) = Φ(x)

aus Beispiel 37 fur verschiedene Werte von α. Fur einen Startwert 0 < x0 < 1erhalten wir die Folge (x0, x1, x2, . . .) von Iterierten, die wir als Orbit vonx0 bezeichnen. Dieser Orbit kann nun unterschiedliches Verhalten zeigen.Die Folgenglieder konnen konvergieren, divergieren oder zwischen mehrerenPunkten, sog. Attraktoren, hin und her springen; dann besitzt die Folge meh-rere konvergente Teilfolgen.

Fur 1 < α ≤ 2 konvergiert der Orbit gegen den Fixpunkt x, und zwarfur 0 < x0 < x monoton wachsend und fur x < x0 < 1 monoton fallend.Fur 2 ≤ α < 3 und 0 < x0 < 1 konvergiert die Folge alternierend gegen denFixpunkt x.

Ein anderes Verhalten zeigt der Fall α > 3. Fur α = 3.1 ist der Fixpunktx abstoßend und es findet keine Konvergenz statt. Stattdessen erhalten wirzwei Attraktoren – die Fixpunkte zur Iterationsfunktion

Φ(Φ(x)) = α2x(1 − x)(1 − αx + αx2),

und die Folge der xi zerfallt in zwei gegen diese Attraktoren konvergenteTeilfolgen x2k und x2k+1 (Abb. 24.3).

Die Fixpunkte von Φ(x) sind dann abstoßend, wahrend sie als Fixpunktevon Φ(Φ(x)) anziehend sind. Wir konnen die Folge xk zerlegen in die durch die

Page 257: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

262 24 Anwendungsbeispiele

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

Abb. 24.1. Monoton wachsendeFolge fur α = 1.5.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Abb. 24.2. Alternierende Folge furα = 2.8.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Abb. 24.3. xk mit α = 3.1 und zweiFixpunkten.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Abb. 24.4. xk mit α = 3.5 und vierFixpunkten.

Iterationsfunktion Φ(Φ(x)) erzeugten Folgen x2k zu Startwert x0 und x2k+1

zu Startwert x1.Erhoht man α noch weiter, so nimmt die Zahl der Attraktoren immer

weiter zu. Fur α = 4 liegt chaotisches Verhalten vor, d.h. die Iteration hatkeine einzelnen Haufungspunkte mehr, sondern fullt das ganze Intervall [0, 1]aus (Abb. 24.5).

Zusatzlich tritt ein weiteres Phanomen auf, das uns in Kapitel 7 begeg-net ist. Fur zwei nahe beieinander liegende Startwerte x0 = 0.99999999 undy0 = x0 + 10−16 vergleichen wir die entstehenden Orbits. Eine Rechnungmit MATLAB liefert x44 = 0.0209 . . . und y44 = 0.9994 . . .. Also hat eineminimale Storung in den Anfangsdaten dazu gefuhrt, dass sich bereits nach44 Schritten ein vollig anderes Resultat ergibt. Auch das ist ein Zeichen chao-tischen Verhaltens. Es ist praktisch unmoglich, den Orbit einer solchen Folgeuber langere Zeit vorherzusagen. Wir wurden – in Anlehnung an Kapitel 7 –dieses Problem als extrem schlecht konditioniert bezeichnen.

Ubung 100. Man untersuche, warum die Bestimmung des Orbits der Itera-tionsfunktion Φ(x) = 4x(1 − x) schlecht konditioniert ist.

Page 258: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

24.1 Iteration und Chaos 263

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

Abb. 24.5. Folge xk mit α = 4; chaotisches Verhalten.

24.1.2 Komplexe Iteration

Betrachten wir nun Startwerte im Komplexen, z0 ∈ C, und eine Iterations-funktion Φ(x) = x2 − c. Wir teilen unsere komplexen Startwerte in zweiKategorien. Die eine Menge M0 enthalte alle Zahlen z0 mit beschranktemOrbit; die andere Menge M∞ umfasse alle Startwerte z0, bei denen Folgen-glieder beliebig groß werden konnen. Im Beispiel c = 0 haben wir ein einfachesVerhalten: Startwerte |z0| < 1 fuhren zu einer Konvergenz der zi gegen denFixpunkt Null, und Startwerte |z0| > 1 haben als Attraktor den Fixpunkt∞.

Fur c = 0 vereinfachen wir die Verhaltnisse. Wir sagen, ein Startwertgehort zur Menge M0, wenn z.B. nach 60 Iterationsschritten immer noch|zi| ≤ max{|c|, 2} erfullt ist. Dadurch sparen wir uns die Analyse unend-lich langer Zahlenfolgen. Stellen wir diese Mengen M0 graphisch dar, so er-halten wir komplizierte Bilder von sog. Julia-Mengen, die sich durch einefraktale, selbstahnliche Form auszeichnen. Dabei bezeichnet man Objekte alsselbstahnlich, wenn sich in unterschiedlichen Vergroßerungen wieder dassel-be Bild ergibt; d.h. ein Zoom in das Objekt zeigt immer wieder die gleichenFormen.

Auch hier tritt das Phanomen auf, dass sehr nahe beieinander liegendeStartpunkte zu vollig verschiedenem Verhalten fuhren konnen; ein z0 erzeugteinen beschrankten Orbit, wahrend ein benachbarter Startwert zu einem un-beschrankten Orbit fuhrt. Es liegt daher wieder chaotisches – oder schlechtkonditioniertes – Verhalten vor.

Anmerkung 58. Weitere fraktale Formen lassen sich auch leicht rekursiv de-finieren; typisches Beispiel ist die bekannte Koch’sche Schneeflocke. SolcheGebilde finden dann auch in der Computergraphik Anwendung, um naturli-che Gegenstande wie Pflanzen, Wolken oder Gebirge zu modellieren. All dieseObjekte haben die Eigenschaft, dass sie aus unterschiedlicher Entfernung be-trachtet die gleiche Struktur besitzen.

Page 259: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

264 24 Anwendungsbeispiele

Anmerkung 59. Fraktale finden aber auch in anderen Bereichen der Informa-tik Verwendung. So sind eindimensionale, fraktale, rekursiv definierte Kurvenin der Lage, mehrdimensionale Bereiche vollstandig zu uberdecken. Beispieleiner solchen raumfullenden Kurve ist die zweidimensionale Hilbert-Kurve(Abb. 24.6). Durch immer weiter gehende rekursive Verfeinerung der Kurvekann dabei das ganze zweidimensionale Quadrat durch eine eindimensionaleKurve uberdeckt werden. Diese Eigenschaft lasst sich auch ausnutzen bei derIndizierung und Suche in großen, mehrdimensionalen Datenfeldern.

Abb. 24.6. Konstruktionsvorschrift fur die Hilbert-Kurve.

24.1.3 Newton-Iteration und Chaos

Wir betrachten das kubische Polynom

y = p(x) = x3 − x

mit den Nullstellen χ1 = −1, χ2 = 0, und χ3 = 1. Das Newton-Verfahrenliefert die Iterationsvorschrift

xi+1 = Φ(xi) = xi − f(xi)f ′(xi)

= xi − x3i − xi

3x2i − 1

.

Wahlen wir als Startwert ein x0 = ±√1/3, so konvergiert die erzeugteFolge gegen einen der drei Fixpunkte von Φ(x) bzw. Nullstellen von p(x).Gegen welche der Nullstellen die Folge konvergiert, wird durch den Startwertbestimmt. Liegt der Startwert x0 < −√1/3, so konvergiert xi gegen χ1.Entsprechend fur

√1/3 < x0 Konvergenz gegen χ3. Vergleichen wir nun

Page 260: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

24.2 Iterative Verfahren in Anwendungen 265

das Konvergenzverhalten fur die drei nahe beieinander liegenden Startwerte0.44720, 0.44725 und 0.44730 so stellen wir fest, dass sie zur Konvergenzgegen χ2, χ1, bzw. χ3 fuhren. Hier zeigt sich also wieder chaotisches, schlechtkonditioniertes Verhalten. Kleinste Abweichungen im Startwert fuhren zuvollig verschiedenen Losungen unseres Ausgangsproblems.

Die Menge von Startwerten, die zur Konvergenz gegen eine der drei Null-stellen fuhrt, ist von fraktaler, selbstahnlicher Form [7].

24.2 Iterative Verfahren in Anwendungen

24.2.1 Neuronale Netze und iterative Verfahren

Wir wollen an den Abschn. 12.2 anknupfen. Gesucht ist ein Neuronales Netz,das fur verschiedene Eingabedaten moglichst genau einen vorgegebenen Aus-gabewert liefert. Also sind wieder Gewichte wi so zu bestimmen, dass

n∑i=1

wix(j)i = wT x(j) ≈ yj , j = 1, . . . , m

gilt. Zur Losung dieses Problems konnen wir nun auch ein iteratives Verfahrenheranziehen. Dazu gehen wir von geschatzten Gewichten wi aus, und versu-chen, anhand eines neuen Testbeispieles die Gewichte leicht zu verandern, sodass das Neuronale Netz auch fur dieses neue Beispiel eine gute Naherungliefert. Dazu soll also die neue Eingabe xneu moglichst zum Resultat yneu

fuhren; tatsachlich liefert das Neuronale Netz aber den Wert y = wT xneu

und damit eine Abweichung dneu = yneu − y. Nehmen wir an, dass wir dieGewichte verandern wollen, so dass das neue Testbeispiel mit berucksichtigtist. Dies bedeutet, dass

(yneu − wT xneu)2 = 0

ist. Die Ableitung bzw. der Gradient dieser Funktion ist

∇ ((y2neu + (wT xneu)2 − 2yneu(wT xneu)

)= const · xneu.

Um die Gewichte so zu verandern, dass das neue Testbeispiel fur d2 =(yneu−y)2 ungefahr Null liefert, verschiebt man die Gewichte in Richtung die-ses Gradienten, da der negative Gradient immer in Richtung des Minimumszeigt. Daher setzen wir als verbesserte Gewichte

wneu = w + αxneu.

Damit liefert das modifizierte Netz die Ausgabe

wTneuxneu = y + αxT

neuxneu = y + α‖xneu‖2.

Page 261: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

266 24 Anwendungsbeispiele

Diese Modifizierung sollte zu dem gewunschten Wert yneu fuhren; dazumussten wir α = dneu/‖xneu‖2 wahlen. Nun will man aber die bisherigenTestbeispiele nicht vollstandig vernachlassigen; daher setzen wir statt α hierηα ein mit einer vorgegebenen Zahl 0 < η < 1, der Lernrate η.

Auf diese Art und Weise konnen wir jedes neue Testbeispiel sofort fureine verbesserte Schatzung der Gewichte des Neuronalen Netzes verwendenund Testbeispiel fur Testbeispiel verbesserte Gewichte berechnen durch

wneu = walt + ηyneu − wT

altxneu

‖xneu‖2xneu.

Man spricht hier von Lernregeln fur ein Neuronales Netz, die offensichtlicheng mit dem Gradientenverfahren aus Abschn. 23.2 verwandt sind.

24.2.2 Markov-Ketten und stochastische Automaten

Wir betrachten einen Automaten mit Zustanden S1, . . . , Sn. Ausgehend voneinem Startzustand S1 kann der Automat in verschiedene Folgezustande mitWahrscheinlichkeit pij ubergehen. Dabei bedeutet pij die Wahrscheinlich-keit, mit dem der Automat vom Zustand Si in den Zustand Sj ubergeht.Daher muss fur alle i = 1, . . . , n

∑nj=1 pij = 1 gelten. Zu diesem Automaten

definieren wir eine Matrix, wobei jede i-te Zeile dieser Matrix die Ubergangs-wahrscheinlichkeiten enthalten soll, ausgehend vom Zustand Si:

A = (pij)ni,j=1.

Ein Vektor xt = (xt1, . . . , x

tn) beschreibt dann eine mogliche Wahrschein-

lichkeitsverteilung des Automaten auf die Zustande zu einem Zeitpunkt t;also gibt dann z.B. xt

1 die Wahrscheinlichkeit fur den Zustand S1 zur Zeit tan. Die Wahrscheinlichkeitsverteilung zu dem nachsten Zeitpunkt t′ errech-net sich aus xtA = xt′ . Wegen der Eigenschaft A(1, . . . , 1)T = (

∑j pij)n

i=1 =(1, . . . , 1)T nennt man A auch eine stochastische Matrix. Dies bedeutet auch,dass der Vektor (1, . . . , 1)T ein (Rechts-)Eigenvektor dieser stochastischenMatrix ist mit Eigenwert 1.

Wir gehen davon aus, dass zunachst nur der Zustand S1 eingenommenwird, dies entspricht dem Vektor x0 = (1, 0, . . . , 0). So lasst sich nach mehre-ren Schritten der Zustandsvektor xk = x0Ak berechnen, dessen j-te Kompo-nente angibt, mit welcher Wahrscheinlichkeit nach k Schritten ein ZustandSj eingenommen wird.

Beispiel 43. Wir untersuchen eine Schule mit n Jahrgangen [57]. Am Endedes i-ten Jahres gibt es fur einen Schuler folgende Aussichten:

Mit der Wahrscheinlichkeit pi bricht er die Schule ab;Mit der Wahrscheinlichkeit qi muss er die Klasse wiederholen;

Page 262: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

24.2 Iterative Verfahren in Anwendungen 267

Mit der Wahrscheinlichkeit ri = 1 − pi − qi wird er in die nachste Klasseversetzt bzw. besteht er die Abschlussprufung im Falle i = n.

Unsere Zustandsmenge besteht nun aus den Zustanden

S0 fur: Abschlussprufung bestandenS1 fur: Abbruch der AusbildungSl+1 fur: Befindet sich im l-ten Schuljahr.

8

Abbruch

qq1

q2

q3

q4

q5

q6

q7

q9

r1 r2 r3 r4 r5 r6 r7 r8 r9

p2

p3

p4

p5

p6

p7

p8

p9

p1

erfolgreicherSchulabschluß

Abb. 24.7. Gewichteter Graph der moglichen Zustandsubergange.

Damit erhalten wir die folgende (n+2)× (n+2) Ubergangsmatrix

A =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

1 00 1 0... p1 q1 r1

... p2 0 q2 r2

......

. . . . . .0 pn−1 0 · · · · · · qn−1 rn−1

rn pn 0 · · · · · · 0 qn

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠.

Ein Schuler ist verknupft mit einem Vektor x, der widerspiegelt, mit wel-cher Wahrscheinlichkeit sich der Schuler in einem bestimmten Zustand (Jahr-gang) befindet. Ausgehend von einem Startvektor (meist (0, 0, 1, 0, ..., 0),wenn der Schuler sich in der ersten Klasse befindet), berechnet sich danndie Wahrscheinlichkeit fur den Zustand des Schulers nach k Schuljahren ausxk = xAk = xAA . . . A. Wir betrachten nun ein Schulsystem, in dem derSchuler beliebig lange die Schule besuchen darf. Es stellt sich dann die Frage,mit welcher Wahrscheinlichkeit ein Schuler die Abschlussprufung erfolgreich

Page 263: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

268 24 Anwendungsbeispiele

ablegen wird, wenn er sich gerade in einer bestimmten Jahrgangsstufe befin-det, und wenn jeder Schuler beliebig lange Zeit hat, um die Abschlussprufungzu erreichen.

Dazu betrachten wir die Grenzmatrix

A = limk→∞

Ak =

⎛⎜⎜⎜⎜⎜⎝1 0 · · · · · · 00 1 0 · · · 0b1 1 − b1 0 · · · 0...

......

...bn 1 − bn 0 · · · 0

⎞⎟⎟⎟⎟⎟⎠ .

Die Komponenten von Ak(1, 0, ..., 0)T geben die Wahrscheinlichkeit fur einenerfolgreichen Schulabschluss nach k Schuljahren an, ausgehend von einemZustand S0, S1,..., bzw. Sn+1. Im Grenzfall k → ∞ bedeutet so z.B. derKoeffizient bn, mit welcher Wahrscheinlichkeit ein Schuler der letzten Klassedie Abschlussprufung bestehen wird. Zur Bestimmung der Koeffizienten bj

berechnen wir Ak(1, 0, . . . , 0)T und Ak(0, 1, 0, . . . , 0)T fur großes k.Die beiden ersten Spalten der obigen Grenzmatrix A entsprechen zwei

linear unabhangigen Eigenvektoren der Ausgangsmatrix A zu dem maximalenEigenwert 1. Dies folgt aus der Beziehung⎛⎜⎜⎜⎜⎜⎝

10b1

...bn

⎞⎟⎟⎟⎟⎟⎠← Ak+1e1 = AAke1 → A

⎛⎜⎜⎜⎜⎜⎝10b1

...bn

⎞⎟⎟⎟⎟⎟⎠ .

Die obere Grenzmatrix A kann also berechnet werden durch zwei ein-fache Vektoriterationen zur Bestimmung der beiden Eigenvektoren zu dembetragsgroßten Eigenwert 1 von A, jeweils mit den Startvektoren e1, bzw. e2.

24.2.3 Data Mining und Information Retrieval

Numerische Verfahren spielen heutzutage eine wesentliche Rolle auch in Be-reichen, von denen man es zunachst nicht erwarten wurde. So hat sich zurSuche in großen Datenmengen das Vektorraummodell als sehr hilfreich er-wiesen. Dazu stellen wir jedes Dokument D(j) durch einen Vektor u(j) ∈ IRm

dar, wobei jede Komponente u(j)i verknupft ist mit einem Suchterm Ti; u

(j)i

kann als die Gewichtung angesehen werden, mit der der Term Ti mit die-sem Dokument verknupft ist. Genauso stellen wir uns jede Suchanfrage alseinen Vektor l ∈ IRm vor, wobei jede Komponente wieder das Gewicht aus-druckt, mit dem der entsprechende Term in die Suche eingehen soll. Fassenwir n Dokumentvektoren u(j) zu einer m × n-Matrix zusammen, so ist Adie Term-Dokument-Matrix, ihre Zeilen heißen Termvektoren (∈ IRn), ihre

Page 264: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

24.2 Iterative Verfahren in Anwendungen 269

Spalten Dokumentvektoren (∈ IRm). Jeder Eintrag aij gibt die gewichteteHaufigkeit an, mit der Term Ti im Dokument D(j) auftritt.

Um Information daruber zu erhalten, welche Dokumente zu einer vorge-gebenen Suchanfrage ”passen“, untersuchen wir die Winkel zwischen Anfra-gevektor und den Dokumentvektoren u(j),

cos(θj) =lT u(j)

‖l‖2‖u(j)‖2=

∑mi=1 aij li√∑m

i=1 a2ij

√∑mi=1 l2i

.

Dokumentvektor und Anfragevektor sollten moglichst ”verwandt“ sein, alsomoglichst linear abhangig oder parallel; daher wahlen wir solche Dokumenteaus, fur die θj nahe bei 0 ist, bzw. cos(θj) nahe bei 1.

In dieser einfachen Form fuhrt das Vektorraummodell haufig zu un-genugenden Ergebnissen. Es hat sich als Erfolg versprechend erwiesen, diesehr große Matrix A zunachst durch eine einfachere Matrix zu approximie-ren, die besser in der Lage ist, die wesentliche Zusammenhange herauszufin-den; man konnte auch sagen, dass in der Matrix A sehr viel Rauschen undStorungen enthalten sind, die entfernt werden sollten, um bessere Resultatezu erhalten.

Eine erste Methode zur Reduktion der Matrix A besteht in der Berech-nung der QR-Zerlegung von A, A = QR. Aus R lasst sich ablesen, welcheEintrage sehr klein sind und als Rauschen zu interpretieren sind. Dazu schrei-ben wir

R =(

R11 R12

0 R22

)und nehmen an, dass R22 klein ist im Verhaltnis zur Gesamtmatrix. Dannersetzen wir A = QR durch eine Approximation niederen Ranges

A = Q

(R11

0

)und bearbeiten unsere Suchanfrage durch Anwendung von l auf die Spaltenvon A.

Eine Approximation niederen Ranges liefert auch die Singularwertzer-legung A = UΣV (Anhang B.4). Um eine Reduktion der Term-Dokument-Matrix A zu erhalten, loschen wir in der Singularwertzerlegung in Σ sehr klei-ne Diagonaleintrage. Dies ergibt eine Diagonalmatrix Σ. Damit ist A = UΣVwieder eine Approximation niedrigeren Ranges an A. Diese Art der Reprasen-tation einer großen Datenmenge bezeichnet man als rangreduziertes Vektor-raummodell oder als latent semantic indexing.

Gerade im Bereich des World Wide Web spielen Suchverfahren eine großeRolle. Zu einem Suchbegriff wird es moglicherweise bis zu Hunderttausendund mehr Webseiten geben, in denen dieser Suchbegriff auftaucht. Um ausdieser Menge wichtige Adressen auszuwahlen, verwenden bisherige Suchma-schinen oft einfache Daumenregeln wie: ”Je ofter die Suchbegriffe in einem

Page 265: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

270 24 Anwendungsbeispiele

Dokument vorkommen, desto wichtiger ist das Dokument“. Offensichtlichwerden dadurch oft uninteressante Webseiten uberbewertet oder eine WWW-Seite wird kunstlich ”wichtig“ gemacht, indem besondere Schlusselworte oftwiederholt werden.

Anmerkung 60 (Pagerank und Google). Geschicktere Ansatze gehen davonaus, die auf Webseiten befindlichen Hyperlinks als Kriterien zu verwenden.Dazu betrachtet man das World Wide Web als gewichteten Graph, dessenKnoten die einzelnen Webseiten sind. Die Kanten sind die Links zwischen deneinzelnen Webseiten. Hat eine Seite i genau d ausgehende Kanten, so erhaltjede dieser Kanten das Gewicht 1/d. Dies entspricht einer Adjazenzmatrixmit Eintragen sij = 1/d, falls Knoten i genau d ausgehende Kanten hat, undeine davon zu Seite j fuhrt. Ansonsten ist sij = 0, falls keine Verbindung voni nach j besteht, bzw. sij = 1/n, falls i uberhaupt keine ausgehende Kantenhat. Dabei ist n die Große der Matrix, bzw. die Zahl aller Webseiten. Dahermisst sij die Wahrscheinlichkeit, dass ein Surfer von Seite i zu j springt. Dieentstehende Adjazenzmatrix S ist wieder eine stochastische Matrix mit derEigenschaft S 1 = 1 = (1, 1, ..., 1)T . Also ist 1 ein Rechtseigenvektor von S zuEigenwert 1. Eine Komponente wi des Linkseigenvektors w mit wT S = wT

zu diesem maximalen Eigenwert 1 gibt nun die Wahrscheinlichkeit an, mitder ein Surfer die i-te Webseite besucht. Die Suchmaschine Google verwendetnun nicht die Matrix S selbst, sondern G := αS + (1 − α) 1 vT mit einemDampfungsfaktor 0 < α < 1 und einem ”personalization vector” v ≥ 0,∑n

j=1 |vj | = ‖v‖1 = 1. Dann ist auch G wieder eine stochastische Matrix.Der gesuchte Linkseigenvektor von G zu Eigenwert 1 ist dann eindeutig undlasst sich numerisch bestimmen. Außerdem verfugt man durch die Wahl von vnoch uber eine zusatzliche Einflussmoglichkeit, um die Gewichte der Websei-ten positiv oder negativ zu beeinflussen. Die i-te Komponente dieses Linksei-genvektors ist dann der Pagerank der i-ten Webseite. Um den Pagerank zu be-stimmen, muss also z.B. durch Vektoriteration dieser Eigenvektor moglichstgenau berechnet werden. Dies wird in bestimmten Zeitabstanden wieder neudurchgefuhrt, um die zwischenzeitlichen Veranderungen zu berucksichtigen.Der Pagerank jeder Seite wird dann gespeichert und kann schnell abgefragtwerden. Eine Suchanfrage findet dann die zu den Suchbegriffen passendenWebseiten mit maximalem Pagerank. Die genaue Rezeptur des verwendetenVerfahrens wird von Google naturlich geheim gehalten, um nicht gegenuberMitkonkurrenten den erreichten Vorsprung zu verlieren.

Analysiert man das WWW genauer, so kristallisieren sich zwei Sorten voninteressanten Webadressen heraus. Zum einen sogenannte Authorities, dassind Adressen, die zu einem Suchvektor wichtig sind; zum anderen Hubs1,darunter sind Sammlungen relevanter Webseitenlinks zu verstehen. Bezogenauf einen vorgegebenen Themenbereich lassen sich diese beiden Mengen ver-schrankt definieren:1 hub bedeutet ubersetzt Nabe, Angelpunkt

Page 266: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

24.2 Iterative Verfahren in Anwendungen 271

– eine angesehene Authority ist eine Webseite, auf die viele gute Hubs ver-weisen

– ein nutzlicher Hub ist eine Webseite, die auf viele gute Authorities verweist.

Wir starten mit einer Menge geeigneter Hubs, d.h. wir haben einen Start-vektor, der fur jeden moglichen Hub eine a priori-Gewichtung enthalt. JederHub verweist nun auf mehrere Authorities, so dass wir zu unserem Start-vektor sofort einen Vektor von dazugehorigen Authorities angeben konnen.Diese Authorities stehen nun aber selbst wieder in einigen Hubs, die auf dieseWebseiten verweisen, so dass wir auf diese Art und Weise – ausgehend voneiner Startgewichtung der Hubs – wieder bei einer neuen Gewichtung derHubs angekommen sind. Dasselbe konnen wir auch formulieren, indem wirmit einer Gewichtung von Authorities starten.

Um diese Vorgehensweise etwas genauer zu formulieren, definieren wirdie n × m Matrix B als Hub-Authority-Matrix, deren Werte bij angeben,mit welchem Gewicht Authority Aj , j = 1, . . . , n im Hub Hi vorkommt,i = 1, . . . , m. Seien H(0) und A(0) Startannahmen fur Hubs und Authorities,d.h. jede Komponente H

(0)i des Vektors H(0) spiegelt das Gewicht des j-ten

Hubs wieder. Also gibt (BA(0))i wieder, wie oft der i-te Hub auf eine derStart-Authorities verweist. Entsprechend gibt (BT H(0))j an, mit welchemGewicht die Start-Hubs auf die j-te Authority zeigen.

Wiederholen wir diesen Prozess, so ergibt sich die Iteration

A(k+1) =(BT B)A(k)

|(BT B)A(k)| ,

H(k+1) =(BBT )H(k)

|(BBT )H(k)| .

Dies entspricht zwei unabhangigen Vektoriterationen zu der Matrix BT Bbzw. BBT . Daher konvergieren die Vektorfolgen gegen die jeweiligen Eigen-vektoren zu dem maximalen Eigenwert von BT B (der gleich dem maxima-len Eigenwert von BBT ist). Die Komponenten dieser Eigenvektoren gebendann eine Gewichtung der Hub- bzw. Authority-Seiten an, bezogen auf denausgewahlten Themenbereich. Eine Suchmaschine sollte daher auf eine An-frage hin WWW-Seiten hoher Gewichtung anzeigen, also Dokumente, die zubetragsgroßen Komponenten in den Eigenvektoren zu dem maximalen Ei-genwert gehoren. Der Vorteil einer solchen Vorgehensweise liegt darin, dassdie Suchanfrage von Anfang an mit berucksichtigt wird und dass die Hub-Authority-Matrix wesentlich kleiner ist als die Anzahl aller WWW-Seiten.Andererseits bedeutet dies auch, dass die entsprechende Vektoriteration erstnach Eingang der Suchabfrage durchgefuhrt werden kann und also quasi inEchtzeit das Ergebnis liefern musste; diese Schwierigkeit ist auch der Grunddafur, dass es bisher nicht gelungen ist, aus diesem Ansatz eine konkur-renzfahige Suchmaschine zu entwickeln.

Page 267: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

25 Aufgaben

”Anyone who cannot cope with mathematics is not fully human. Atbest he is a tolerable subhuman who has learned to wear shoes, batheand not make messes in the house.“

Lazarus Long in ”Time Enough for Love” von Robert A. Heinlein

Ubung 101 (Fixpunkt des Cosinus). Zeigen Sie, dass die Iteration

xn+1 = cos(xn)

fur alle x0 ∈ IR gegen den einzigen Fixpunkt χ, χ = cos(χ), konvergiert.

a) Formulieren Sie ferner ein Newton-Verfahren zur Berechnung von χ. Kon-vergiert dieses Verfahren ebenfalls fur jeden beliebigen Startwert?

b) Vergleichen Sie die Konvergenzgeschwindigkeit der beiden Iterationsver-fahren.

Ubung 102 (Fixpunkt-Iteration und Newton-Verfahren). Gegebensei eine Funktion Φ : IR → IR. Wir wollen einen Fixpunkt x∗ ∈ IR von Φfinden. Um das Newton-Verfahren anwenden zu konnen, benotigen wir eineFunktion f : IR → IR mit der Eigenschaft

Φ(x) = x ⇔ f(x) = 0.

a) Geben Sie eine Funktion f an, die obige Bedingung erfullt.b) Formulieren Sie das Newton-Verfahren fur die in Teilaufgabe a) bestimm-

te Funktion.c) Ist das in Teilaufgabe b) entwickelte Verfahren stets quadratisch konver-

gent? Begrunden Sie Ihre Antwort und nennen Sie gegebenenfalls not-wendige Bedingungen an Φ, um quadratische Konvergenz zu erzielen.

Ubung 103 (Konvergenzgeschwindigkeit des Newton-Verfahrens).Wir suchen eine einfache Nullstelle χ einer Funktion g(x). Naturlich ist dannχ auch eine Nullstelle von g2(x).

Page 268: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

274 25 Aufgaben

a) Formulieren Sie das Newton-Verfahren zur Bestimmung von χ einmalmittels der Funktion g(x) und einmal mittels Funktion g2(x) (unter Ver-wendung von g′(x)).

b) Da χ eine einfache Nullstelle ist, konnen wir g(x) = (x−χ)h(x) schreibenmit h(χ) = 0. Welches der beiden Verfahren konvergiert schneller? Wieist der Unterschied zu erklaren?

c) Sei nun χ eine zweifache Nullstelle einer Funktion f(x). Wie kann daherdas Newton-Verfahren modifiziert werden, so dass schnellere Konvergenzerreicht wird? Diskutieren Sie mehrere Moglichkeiten.

Ubung 104. Zur Berechnung von 1/b suchen wir eine Nullstelle χ der Funk-tion f(x) = 1/x − b, b = 0.

a) Formulieren Sie das Newton-Verfahren zur Bestimmung von χ. Fur wel-che Startwerte konvergiert das Verfahren in einem Schritt?

b) Fur welche b ist das Newton-Verfahren lokal quadratisch konvergent?c) Diskutieren Sie die Iteration, die durch die Festlegung Φ(x) = bx2, xk+1 =

Φ(x) definiert ist. Wo liegen evtl. Fixpunkte? Ist dieses Verfahren zurBerechnung von 1/b zu empfehlen?

Ubung 105. Wir betrachten die Iterationsfunktion Φ(x) = x2 + 1/(2x).Welche Fixpunkte hat Φ? Sind diese Fixpunkte abstoßend oder anziehend?

Zeigen sie dass fur einen Startwert x0 gilt:

|xk+1 − 1| ≤ 12xk

(xk − 1)2.

Was folgt daraus fur die Konvergenzordnung dieses Verfahrens?Man bestimme ein Intervall I so, dass fur x ∈ I die Funktion Φ kontra-

hierend ist und eine Abbildung Φ : I → I darstellt.

Ubung 106 (Quadratwurzelberechnung nach Heron [78]). Das Ver-fahren von Heron dient dazu, die Quadratwurzel einer beliebigen positivenZahl mit festem Aufwand auf Maschinengenauigkeit zu berechnen. Es basiertauf der Bestimmung der positiven Nullstelle der Funktion f(x) = x2 − amittels Newton-Verfahrens.

a) Bestimmen Sie zunachst mittels linearer Interpolation fur a ∈ [1, 4) einenguten Naherungswert fur

√a. Verwenden Sie die Funktion

s(x) =124

(8x + 17)

als Naherung an die Wurzelfunktion. Schatzen Sie den relativen Fehlerdes gefundenen Naherungswertes ab (also die Große von (s(x)−√

x)/√

x).b) Formulieren Sie das Newton-Verfahren zur Bestimmung der Nullstelle

√a

von f(x). Wie entwickelt sich der Fehler wahrend der Iteration? Wie vieleIterationen sind notig, um

√a bis auf Maschinengenauigkeit zu berech-

nen, falls a ∈ [1, 4) ist?

Page 269: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

25 Aufgaben 275

c) Wie kann das obige Verfahren angewandt werden, falls a /∈ [1, 4) gilt?Dazu schreiben wir a in der Form a = α22p mit passendem p und α ∈[1, 4).

Ubung 107 (Nachiterieren zur Losung eines linearen Gleichungs-systems Ax = b). Wir nehmen an, dass bereits mit einem direkten Verfah-ren, z.B. der Gauß-Elimination, eine Naherungslosung x des linearen Glei-chungssystems berechnet wurde. Diese Losung ist mit Rundungsfehlern be-haftet, d.h. b − Ax = r = 0. Um die Storung zu verringern, setzen wirx = x + c mit einem zu bestimmenden Korrekturvektor c; daher muss geltenb = Ax = A(x + c) = Ac + Ax oder

Ac = b − Ax = r

Dies ist ein neues lineares Gleichungssystem zur Bestimmung der Korrek-tur c, das evtl. wieder mit einem direkten Verfahren gelost werden kann. Wirwollen statt dessen ein iteratives Verfahren einsetzen. Dazu setzen wir

c0 = c, ci+1 = ci + S(r − Aci).

Welche Bedingung muss die Matrix S erfullen, damit diese Iteration konver-giert?

Ubung 108. Sei f eine zweimal stetig differenzierbare Funktion. Wir wollenmittels Newton-Verfahren eine Nullstelle unbekannter Ordnung bestimmen,unter Verwendung der Funktion h(x) := f(x)/f ′(x). Was lasst sich uber dieKonvergenz des Newton-Verfahrens, angewandt auf die Funktion h, sagen?

Ubung 109. Gesucht ist eine Nullstelle x von f(x). Wir betrachten diedurch die Iterationsfunktion Φ = αf(x) + x und einem Startwert x0 definier-te Folge xk. Was lasst sich – in Abhangigkeit von α – uber die Konvergenzdieser Folge sagen?

Ubung 110. Zu Bestimmung eines Fixpunktes x einer Funktion Φ(x) defi-nieren wir die Hilfsfunktion f(x) := Φ(x) − x. Wie kann man mittels f(x)den gesuchten Fixpunkt x bestimmen?

Page 270: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Teil VII

Numerische Behandlung von

Differentialgleichungen

Page 271: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

26 Gewohnliche Differentialgleichungen

”Die Mathematiker sind eine Art Franzosen; redet man mit ihnen, soubersetzen sie es in ihre Sprache, und dann ist es alsobald ganz etwasanderes.“

Johann Wolfgang von Goethe

In diesem Kapitel wenden wir uns nochmals einem spannenden Teilgebiet derMathematik zu. Dies ist aus der zugegebenermaßen etwas trockenen Uber-schrift nicht ohne weiteres erkennbar und daher schicken wir folgende moti-vierende Bemerkung voraus:

Viele technische, physikalische und okonomische Vorgange lassen sich mitmathematischen Modellen simulieren, bei denen die relevanten Großen mitihren zeitlichen und/oder raumlichen Veranderungen verknupft sind. Die ge-suchte Große, die wir mathematisch als eine Funktion interpretieren, ist da-her durch Gleichungen gegeben, in der sowohl die gesuchte Funktion als auchDifferentialquotienten der Funktion auftauchen. Mit Hilfe dieser Differential-gleichungen konnen wir z.B. die komplette, unbelebte Materie beschreiben.Dies dient nicht nur dem tieferen Verstandnis unserer Umwelt. Wir sind auchin der Lage, quantitative Voraussagen fur Ereignisse in der Zukunft zu ma-chen. Differentialgleichungen bilden somit eine Grundlage fur Simulationenund, darauf aufbauend, auch fur Optimierungen. Kein Wunder also, dasssich Physiker, Ingenieure und Techniker dafur interessieren, wie Losungenvon Differentialgleichungen konstruiert werden konnen. Beginnen wollen wirmit der

Definition 28 (Differentialgleichungen). Unter einer Differentialglei-chung verstehen wir eine Gleichung, in der neben der gesuchten Funktionauch Differentialquotienten der Funktion auftreten. Je nachdem, ob nur Ab-leitungen einer Funktion u einer Variablen, z.B. nach der Zeit t oder demOrt x, oder partielle Ableitungen mehrerer Variablen, z.B. nach dem Ort xund y zugleich, auftreten, unterscheiden wir gewohnliche und partielle Dif-ferentialgleichungen. Die Losung einer Differentialgleichung ist eine Funkti-on u, die, zusammen mit ihren Ableitungen, fur alle Werte des Definitionsbe-reichs der Variablen die Differentialgleichung erfullt. Die hochste auftretende

Page 272: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

280 26 Gewohnliche Differentialgleichungen

Ableitungsordnung der gesuchten Funktion legt die Ordnung der Differential-gleichung fest.

Einen Uberblick auf die numerischen Losungsmethoden fur gewohnlicheDifferentialgleichungen geben wir in diesem Kapitel. Partielle Differentialglei-chungen behandeln wir im Kapitel 27.

Wir fuhren ein einfaches Beispiel einer gewohnlichen Differentialgleichungan in dem

Beispiel 44 (Freier Fall im konstanten Schwerefeld). Ein Korper wird ausder Hohe h0 zum Zeitpunkt t0 = 0 losgelassen und unter dem Einfluss derkonstanten Erdanziehung −g nach unten beschleunigt. Zum Zeitpunkt desLoslassens ist die Anfangsgeschwindigkeit gerade v0 = 0. Wir wollen sowohldie momentane Hohe h(t) als auch Geschwindigkeit v(t) in Abhangigkeit vonder Zeit t bestimmen.

Aus der Physik kennen wir die fundamentalen Beziehungen zwischen derBeschleunigung a(t) = −g, der Geschwindigkeit v(t) und der Hohe h(t) alsSystem von gewohnlichen Differentialgleichungen

v(t) = h(t) =dh

dt, und (26.1)

a(t) = v(t) =dv

dt=

d2h

dt2= h(t). (26.2)

Die Geschwindigkeit v(t) bestimmen wir durch Integration von (26.2) mitder bekannten Beschleunigung a(t) = −g

v(t) =∫ t

t0

a(τ)dτ = −g

∫ t

0

dτ = −gt. (26.3)

Die Geschwindigkeit v(t) steigt somit proportional mit der verstrichenenFallzeit t an. Die Proportionalitatskonstante entspricht der konstanten Be-schleunigung −g. Um die Hohe h(t) zu bestimmen, integrieren wir (26.1) underhalten

h(t) = h0 +∫ t

t0

v(τ)dτ = h0 − g

∫ t

0

τdτ = h0 − gt2/2.

Somit haben wir die Hohe h(t) und die Geschwindigkeit v(t) in Abhangig-keit der Zeit t berechnet und konnen z.B. die Aufschlagzeit t1 und die ent-sprechende Aufschlaggeschwindigkeit v1 auf dem Boden aus der Bedingungh(t1) = 0 ermitteln:

t1 =

√2h0

gund v1 = −

√2h0g.

Page 273: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

26 Gewohnliche Differentialgleichungen 281

Das Beispiel 44 ist vergleichsweise einfach durch zweifache Integration zulosen, weil die auftretende Differentialgleichung nur eine Funktion der un-abhangigen Variablen t und nicht von den abhangigen Variablen h(t) oderv(t) ist. In allgemeiner Form lautet die Aufgabe der gewohnlichen Differenti-algleichung in expliziter Form: Bestimme die Funktion y(x), deren Ableitungdie Gleichung

y′(x) = ϕ(y, x) (26.4)

erfullt. Neben der expliziten Form (26.4) konnen gewohnliche Differential-gleichungen auch durch eine implizite Gleichung

ψ(y′, y, x) = 0.

gegeben sein.

Anmerkung 61 (Ableitungsnotation). Wir werden in den beiden folgendenAbschnitten sowohl die ”physikalische“, wie etwa v(t), als auch die ”mathe-matische“ Notation y′(x) fur die Ableitung verwenden.

Gewohnliche Differentialgleichungen besitzen i.Allg. immer eine Schar vonLosungen. Im Beispiel 44 wahlten wir davon eine konkrete Losung aus, indemwir spezielle Anfangswerte v0 und h0 zum Zeitpunkt t0 vorgegeben haben.Das Beispiel 44 ist keine Ausnahme und daher lohnt sich die

Definition 29 (Anfangswertproblem). Um eine Losung y(x) der gewohn-lichen Differentialgleichung

y′(x) = ϕ(y, x) (26.5)

eindeutig festzulegen, benotigen wir den Anfangswert

y(x0) = y0. (26.6)

Die gesuchte Losung y(x) des Anfangswertproblems erfullt daher sowohldie gewohnliche Differentialgleichung (26.5) fur x ≥ x0 als auch die Anfangs-wertbedingung (26.6).

Im Folgenden wollen wir Losungen fur Anfangswertprobleme konstruie-ren. In Spezialfallen konnen wir analytische Losungen angeben, wie in dem

Beispiel 45 (Einfaches Populationsmodell). Das Anfangswertproblem

y′(x) = ϕ(y, x) := ay mit y(x0) = y0 und a ∈ IR (26.7)

beschreibt die zeitliche Entwicklung der Anzahl der Individuen y(x) einerPopulation in Abhangigkeit von der Zeit x. In diesem Modell nehmen wir an,dass die Zerfalls- oder Wachstumsprozesse (a < 0 oder a > 0), also die Ab-oder Zunahme der Anzahl der Individuen y′(x) zum Zeitpunkt x proportional

Page 274: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

282 26 Gewohnliche Differentialgleichungen

zur vorhandenen Anzahl der Individuen y(x) ist. Wir bestimmen die zeitlicheEntwicklung durch Integration mittels Trennung der Variablen x und y

dy

dx= ay ⇐⇒ dy

y= a dx

und daher∫ y

y0

η=∫ x

x0

a dξ,

oder ln y − ln y0 = a(x − x0).

Fur die Losung gilty(x) = y0ea(x−x0). (26.8)

Jede Losung der Differentialgleichung (26.7) hat die Form (26.8). Um eineeindeutige Losung festzulegen, mussen wir den Anfangswert y(x0) = y0 vor-geben.

Generell empfiehlt es sich, die gefundene Losung eines Anfangswertpro-blems durch eine Probe zu bestatigen. Wir uberlassen Ihnen dies in der

Ubung 111. Zeigen Sie, dass die Funktionen y(x), definiert in (26.8), sowohldie Differentialgleichung (26.7) lost als auch den Anfangswert erfullt.

Die beiden Beispiele 44 und 45 besitzen vergleichsweise einfach struktu-rierte rechte Seiten ϕ(y, x) und erlauben die Berechnung der Losung durch In-tegration. In anwendungsrelevanten Aufgabenstellungen ist dies i.Allg. nichtmehr der Fall.

Eine generelle Losungsmethode erschließt sich aus der

Anmerkung 62 (Geometrische Interpretation). Wir konnen die Konstruktionder Losung eines Anfangswertproblems auf die folgende geometrische Aufga-be reduzieren:

Wir betrachten die Losung des Anfangswertproblems y(x) als eine Funk-tion in der xy-Ebene. Die gewohnliche Differentialgleichung (26.4) ordnet je-dem Punkt (x, y) dieser Ebene genau die Tangentenrichtung (1, ϕ(y, x)) zu.Dieses Richtungsfeld tragen wir in die Ebene ein, wie z.B. in der Abb. 26.1.Die Grundidee besteht darin, beginnend vom Punkt (x0, y0), der die An-fangswertbedingung reprasentiert, eine stetige Linie zu zeichnen, die in jedemPunkt (x, y(x)) genau die durch das Richtungsfeld vorgegebenen Geraden alsTangenten besitzt. So wird z.B. die Tangente im Anfangswert durch die Glei-chung

g(x) = y0 + ϕ(y0, x0)(x − x0) (26.9)

beschrieben. Ziehen wir entlang dieser Tangente einen Strich, erhalten wirangenahert einen Teil der Losungskurve und gelangen zu einem zweiten Aus-gangspunkt, fur den wir erneut die Tangente bestimmen konnen. Mit dieserMethode konnen wir uns relativ einfach einen Uberblick uber die Losungsviel-falt verschaffen und gewinnen einen qualitativen Eindruck sowohl uber den

Page 275: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

26.1 Numerische Losungsverfahren 283

Abb. 26.1. Beispiel fur ein Richtungsfeld einer gewohnlichen Differentialgleichung.

Verlauf der Losungsfunktion y(x) als auch den Definitions- und Wertebereichder Variablen x und y.

Mittels der geometrischen Methode aus Anmerkung 62 wollen wir dieLosung fur das Beispiel 44 berechnen. In Abb. 26.2 zeigen wir das entspre-chende Richtungsfeld der Differentialgleichung (26.1). Es zeichnet sich da-durch aus, dass es in jedem Punkt der Ebene die konstante Richtung (1,−g)hat. Wir erhalten die Losung fur die Geschwindigkeit v(t), indem wir – aus-gehend vom Anfangswert v(0) = 0, der durch den Punkt (0, 0) reprasentiertwird – dem konstanten Richtungsfeld folgen. Daher ist die Tangente an diegesuchte Losung v(t) in dem Punkt (0, 0) genau die Losung des Anfangswert-problems. Nach (26.9) ergibt sich daher fur die Losung

v(t) = 0 − g(t − 0) = −gt.

Die Losung v(t) ist die Gerade durch den Ursprung mit der Steigung −g.So anschaulich dieses einfache Beispiel auch ist, zeigt es aber die Grenzen

der geometrischen Losungsmethode auf: Die Qualitat der Losung hangt ei-nerseits von der Anzahl der eingetragenen Richtungsvektoren und damit derAnzahl der Tangentenabschnitte und andererseits von der Dicke des verwen-deten Bleistiftes ab. Daher ist sie fur anwendungsrelevante Probleme i.Allg.nicht ausreichend. Dennoch greifen wir auf die Grundidee im nachsten Ab-schnitt zuruck und zeigen eine Vielzahl von Losungsansatzen auf, mit denenwir rechnergestutzt gewohnliche Differentialgleichungen losen konnen.

26.1 Numerische Losungsverfahren

Um ein gegebenes Anfangswertproblem, festgelegt wie in Definition 29, nu-merisch zu losen, nahern wir die gesuchte Losung y(x) durch eine stuckweise

Page 276: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

284 26 Gewohnliche Differentialgleichungen

v(t)=-gt

0

t

v

Abb. 26.2. Das Richtungsfeld der Differentialgleichung (26.1) aus Beispiel 44 mitder Losung v(t) = −gt fur das Anfangswertproblem.

lineare Funktion an. Wir wahlen die linearen Abschnitte dieses Ansatzes alsTangentenstucke der geometrischen Losungsmethode aus Anmerkung 62 andas Richtungsfeld der zu losenden Differentialgleichung. Die Tangentenstuckekonstruieren wir schrittweise. Wir starten mit dem Anfangswert (x0, y0) undder zugehorigen Tangente (26.9) und legen den Geltungsbereich dieses Tan-gentenabschnittes fur das Intervall [x0, x1] mit x0 < x1 fest, siehe Abb. 26.3.Der Endpunkt des Geltungsbereichs (x1, y0 + ϕ(y0, x0)(x1 − x0)) ist zugleichder Ausgangspunkt fur das folgende Tangentenstuck. Auf diese Weise erhal-ten wir eine Folge von Naherungswerten yk an den vorgegebenen Stellen xk

fur die exakten Funktionswerte y(xk) mit 0 ≤ k ≤ n ∈ IN. Wir ”hangeln“uns schrittweise durch das Richtungsfeld der Differentialgleichung von einemPunkt (xk, yk) zum nachsten (xk+1, yk+1). Dieses Verfahren wurde von Eu-ler erstmalig in den Werken ”Institutiones calculi integralis“, erschienen 1768bis 1770, als Losungsmethode fur Differentialgleichungen erster und hohererOrdnung vorgeschlagen.

Verwenden wir der Einfachheit halber in jedem Schritt die gleiche Schritt-weite h > 0, dann lautet das Euler-Verfahren

x[0] = x0; y[0] = y0;FOR k = 0, ..., n-1:

x[k+1] = x[k] + h;y[k+1] = y[k] + h * phi (y[k],x[k]);

ENDFOR

Ein Schritt im Euler-Verfahren kostet zwei Additionen und sowohl eineMultiplikation als auch eine Funktionsauswertung. Die Große der Schrittwei-te h ergibt sich aus dem Anfangswert x0 = a und dem Endwert xn = b, indem wir die Losung y(b) durch yn angenahert berechnen wollen. Bei aquidi-stanter Schrittweite erhalten wir h = (b − a)/n. Die Schrittweite h steuert

Page 277: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

26.1 Numerische Losungsverfahren 285

y(x)

1

y0

x 0

y1

y(x1)

x

Abb. 26.3. Der erste Schritt im Euler-Verfahren. Die Losung y(x) wird durch dieTangente im Punkt (x0, y0) angenahert.

auch den Fehler, den wir bei dem Euler-Verfahren machen. Wir analysierendas Euler-Verfahren mit der Taylor-Entwicklung der Losungfunktion y(x)nach Anhang A.1 in dem Punkt x0

y(x1) = y(x0 + h) = y(x0) + hy′(x0) +h2

2y′′(ξ) (26.10)

mit dem Anfangswert y(x0) = y0 und dem Zwischenwert ξ ∈ [x0, x1]. Ver-nachlassigen wir den Term mit h2, so erhalten wir wegen der vorgeschriebenenDifferentialgleichung

y′(x0) = ϕ(y0, x0)

den ersten Schritt des Euler-Verfahrens fur die erste Naherung y1 ≈ y(x1).Daher machen wir einen Fehler in der Approximation der Funktion y(x)mit der Großenordnung O(h2). D.h., je genauer wir die Differentialgleichungapproximieren wollen, desto kleiner ist h zu wahlen und desto mehr Rechen-aufwand mussen wir spendieren.

In der Herleitung des Euler-Verfahrens in (26.10) haben wir die Losungs-funktion y(x) im Punkt x0 in eine Taylor-Reihe entwickelt. Verwenden wirdagegen den Punkt x1, so erhalten wir analog zu dem obigen Algorithmus desVorwarts-Euler-Verfahrens das implizite oder Ruckwarts-Euler-Verfahren

Page 278: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

286 26 Gewohnliche Differentialgleichungen

x[0] = x0; y[0] = y0;FOR k = 0, ..., n-1:

x[k+1] = x[k] + h;SOLVE: y[k+1] = y[k] + h * phi(y[k+1],x[k+1]);

ENDFOR

Bei diesem Verfahren wird der ”neue“ Naherungswert yk+1 implizit durchdie Gleichung

f(z) := z − yk − hϕ(z, xk+1) = 0

festgelegt. Die Nullstelle von f(z) konnen wir z.B. durch das Newton-Verfahren berechnen. Wir werden spater den Vorteil des impliziten Verfahrenskennen lernen.

Eine alternative Herleitung des Euler-Verfahren erhalten wir, wenn wirden Differentialquotienten y′(x) durch den Differenzenquotienten

dy

dx≈ Δy

Δx=

y1 − y0

x1 − x0(26.11)

ersetzen. Betrachten wir die rechte Seite als Naherung an y′(x) im Punkt x0,resp. x1, so ergibt sich das Euler-, resp. Ruckwarts-Euler, -Verfahren. Dieserallgemeine Losungsansatz, bei dem wir alle auftretenden Differentialquotien-ten naherungsweise durch Differenzenquotienten ersetzen, wird Finite-Diffe-renzen-Methode genannt.

Das Euler-Verfahren lasst sich auch mittels Integration herleiten, wie wirzeigen in der

Anmerkung 63 (Euler-Verfahren mittels Integration). Die Differentialglei-chung (26.4) kann durch formale Integration in die Gleichung

y(x1) − y(x0) =∫ x1

x0

y′(x)dx =∫ x1

x0

ϕ(y(x), x)dx (26.12)

uberfuhrt werden. Um das Integral auf der rechten Seite von (26.12) zu be-rechnen, konnen wir auf Integrationsmethoden aus dem Kapitel 15 zuruck-greifen. Nahern wir das Integral mit der Flache des Rechtecks mit den Eck-punkten (x0, 0), (x1, 0), (x1, ϕ(y0, x0)) und (x0, ϕ(y0, x0)) entsprechend derAbb. 26.4 mittels ∫ x1

x0

ϕ(y(x), x)dx ≈ (x1 − x0)ϕ(y0, x0)

an, so erhalten wir ebenfalls das Euler-Verfahren.

Den Zusammenhang aus Anmerkung 63 zwischen Losungen gewohnlicherDifferentialgleichungen und Quadraturregeln nutzen wir, um eine weitereKlasse von numerischen Losungsverfahren zu konstruieren. Wir berechnendas Integral in (26.12) nicht mehr nur mit den beiden Intervallgrenzen, son-dern beziehen weitere, schon bekannte Werte mit ein. Kennen wir z.B. die

Page 279: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

26.1 Numerische Losungsverfahren 287

y

1

(y(x),x)Φ

x 0 xx

Abb. 26.4. Zur Herleitung des Euler-Verfahren durch Integrationsregeln.

Naherungswerte fur yk und yk+1 an den Stellen xk und xk+1, so konnen wirbei aquidistanter Schrittweite mit der Mittelpunktsregel

y(xk+2) − y(xk) =∫ xk+2

xk

y′(x)dx =∫ xk+2

xk

ϕ(y(x), x) dx

≈ (xk+2 − xk) ϕ(yk+1, xk+1)

herleiten. Den ”neuen“ Naherungswert yk+2 berechnen wir mittels

yk+2 = yk + 2hϕ(yk+1, xk+1).

Die Startwerte verschaffen wir uns z.B. mit dem Euler-Verfahren. Dies fuhrtzu dem Verfahren

x[0] = x0; y[0] = y0; x[1]=x[0] + h;y[1] = y[0] + h * phi(y[0],x[0]);FOR k = 1, ..., n-2:

y[k+2] = y[k] + 2 * h * phi (y[k+1],x[k+1]);ENDFOR

Abschließend stellen wir eine weitere Verallgemeinerungsmoglichkeit vor.Um eine hohere Approximationsgenauigkeit zu erreichen, liegt es nahe, beider Herleitung sowohl des Euler- als auch des Ruckwarts-Euler-Verfahrensmittels Taylor-Reihenentwicklung weitere Entwicklungsterme zu berucksich-tigen. Wir leiten die benotigten hoheren Ableitungen der gesuchten Losungs-funktion y(x) an der Stelle x0 bzw. x1 aus der gegebenen Differentialgleichungy′(x) = ϕ(y, x) unter Verwendung der partiellen Ableitungen von ϕ(y, x) nachx und y ab. Fur die zweite Ableitung ist z.B.

Page 280: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

288 26 Gewohnliche Differentialgleichungen

y′′(x) =dy′(x)

dx=

ddx

ϕ(y(x), x) =∂

∂yϕ(y, x)

dy

dx+

∂xϕ(y, x)

=∂

∂yϕ(y, x)ϕ(y, x) +

∂xϕ(y, x).

Wir erhalten ein Verfahren mit hoherer Genauigkeit, bei dem der Unter-schied zwischen exakter Losung und Naherung von der Großenordnung O(h3)ist

yk+1 = yk + hy′(xk) +h2

2y′′(xk)

= yk + hϕ(yk, xk)

+h2

2

(∂

∂yϕ(y, x)

∣∣∣∣(yk,xk)

ϕ(yk, xk) +∂

∂xϕ(y, x)

∣∣∣∣(yk,xk)

).

26.2 Gewohnliche Differentialgleichungen hohererOrdnung

In Beispiel 44 leitet sich das System der beiden gewohnlichen Differentialglei-chungen (26.1) und (26.2) aus der allgemeinen physikalischen Bewegungs-gleichung ”actio gleich reactio“ ab. Im Fall des konstanten Schwerefeldesentspricht dies der gewohnlichen Differentialgleichung zweiter Ordnung

d2h

dt2= a(t) := −g. (26.13)

In diesem Abschnitt stellen wir vor, wie wir gewohnliche Differentialglei-chungen hoherer Ordnung

djy

dxj= y(j)(x) = Ψ(y(j−1), . . . , y, x) (26.14)

mit j > 1 in ein gleichwertiges System von j gewohnlichen Differentialglei-chungen erster Ordnung uberfuhren und die im letzten Abschnitt besproche-nen Verfahren zur Losung heranziehen konnen.

Wir fuhren den Vektor

u(x) = (u1(x), . . . , uj(x))T

ein und definieren die hoheren Ableitungen als ”eigenstandige“ Funktionen

u1(x) := y(x), u2(x) := y′(x), . . . , uj(x) := y(j−1)(x).

Mit dieser Transformation erhalten wir aus (26.14) das System von jDifferentialgleichungen erster Ordnung

Page 281: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

26.3 Fehleruntersuchung 289

u′(x) =

⎛⎜⎜⎜⎝u′

1...

u′j−1

u′j

⎞⎟⎟⎟⎠ =

⎛⎜⎜⎜⎝u2

...uj

Ψ(uj , . . . , u1, x)

⎞⎟⎟⎟⎠ = ϕ(u, x)

mit den transformierten Anfangsbedingungen

y(x0) = y0, . . . , y(j−1)(x0) = y(j−1)0

in u(x0) =

⎛⎜⎝ y0

...y(j−1)0

⎞⎟⎠ .

Im allgemeinen Fall konnen wir nun also eine vektorwertige Funktiony(x) = (y1(x), . . . , yn(x))T und ein zugehoriges Anfangswertproblem

y′(x) =

⎛⎜⎝ y′1(x)...

y′n(x)

⎞⎟⎠ = ϕ(y, x) =

⎛⎜⎝ ϕ1(y1, . . . , yn, x)...

ϕn(y1, . . . , yn, x)

⎞⎟⎠mit vorgegebenem Startvektor y(x0) betrachten; wir wenden dann die bisherbeschriebenen skalaren Losungsverfahren komponentenweisen an. Damit sindwir in der Lage, auch explizite Differentialgleichungen hoherer Ordnung zulosen.

Ubung 112 (Herleitung der Bewegungsgleichungen). Leiten Sie aus(26.13) die Bewegungsgleichungen (26.1) und (26.2) fur das Beispiel 44 ”FreierFall im konstanten Schwerefeld“ her.

26.3 Fehleruntersuchung

Die Losung y(x) des Anfangswertproblems (26.5) ersetzen wir beim Euler-Verfahren und seiner geometrischen Interpretation nach Anmerkung 62schrittweise durch eine stuckweise lineare Funktion. In jedem Schritt machenwir durch diese Diskretisierung der Losung y(x) mittels der Tangente (26.9)einen Fehler, dem wir einen Namen geben in der

Definition 30 (Lokaler Diskretisierungsfehler). Unter dem lokalenDiskretisierungsfehler verstehen wir den Fehler

ek+1 := yk+1 − y(k)(xk+1) fur k ≥ 0, (26.15)

den wir machen, wenn wir die Losungsfunktion y(x) schrittweise durch dieLosung y(k) des lokalen Anfangswertproblems

y(k)′(x) = ϕ(y(k)(x), x) mit y(k)(xk) = yk (26.16)

in den Teilintervallen [xk, xk+1] ersetzen, siehe Abb. 26.5. Wir vereinbarenweiterhin e0 := 0.

Page 282: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

290 26 Gewohnliche Differentialgleichungen

3

1

y3

x =a0 x1 x2 x

y

x =b4x

y

globaler Fehler

lokale Fehlery0

yy42

Abb. 26.5. Zur Definition der lokalen Diskretisierungsfehler ek mit k ≥ 0 undderen Beitrag zum globalen Diskretisierungsfehler gn.

Die lokalen Diskretisierungsfehler ek+1 sind nach der Taylor-Entwicklung(26.10) von der Großenordnung O(h2). Wir mussen die Schrittweite h ver-kleinern, wenn wir die Werte yk+1 mit k ≥ 0 genauer berechnen wollen. Umden Wert yn in einem fest vorgegebenen Endpunkt b = xn zu erhalten, sindO(h−1) Euler-Schritte durchfuhren. Hohere Genauigkeit schlagt sich in einemhoheren Rechenaufwand nieder. Wir wollen den Fehler yn − y(xn), den wirmachen, nun analysieren.

Definition 31 (Globaler Diskretisierungsfehler). Mit dem globalen Dis-kretisierungsfehler

gk := yk − y(xk) fur k ≥ 0 (26.17)

bezeichnen wir die Differenz an den Stellen xk zwischen der gesuchtenLosung y(x) des originalen Anfangswertproblems (26.5) und der Folge derkonstruierten Naherungswerte yk mit k ≥ 0.

Wir machen die

Anmerkung 64. Die Definitionen 30 und 31 unterscheiden sich nur in derjeweiligen ”Referenzlosung“ y(k)(xk+1) des lokalen Anfangswertproblems(26.16) bzw. y(x) des globalen Anfangswertproblems (26.5).

Daran schließt sich die

Ubung 113. Machen Sie sich klar, dass die beiden Definitionen 30 und 31nur fur k = 1 zusammenfallen und daher g1 = e1 ist.

Page 283: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

26.3 Fehleruntersuchung 291

Der globale Diskretisierungsfehler gk wird fur k > 1 i.Allg. vom loka-len Diskretisierungsfehler ek abweichen, wie wir in Abb. 26.5 exemplarischstudieren konnen.

Mit dem globalen Diskretisierungsfehler bewerten wir die Gute der kon-struierten Approximation.

Definition 32 (Konvergenz). Wir nennen ein Losungsverfahren einesAnfangswertproblems konvergent, wenn fur die Losungen an der Stelle b inexakter Arithmetik, d.h. ohne Rundungsfehlereinfluss, gilt:

limh→0, n→∞

yn = y(b).

Wir analysieren den globalen Diskretisierungsfehler gn, der bei der Kon-struktion der Losungsfolge yk mit k ≥ 0 auftritt, abhangig von der rechtenSeite ϕ(y, x) und dem Anfangswert y0. Da wir den Wert gn i.Allg. nur furSpezialfalle direkt berechnen konnen, fuhren wir ihn auf die lokalen Diskreti-sierungsfehleranteile e0, e1, . . . , ek−1, die bei der schrittweisen Konstruktionder Werte yk entstehen, zuruck. Wir wenden den Mittelwertsatz auf die rech-te Seite der Differentialgleichung q(y) := ϕ(y, xk) zwischen den Stellen y(xk)und yk an und folgern

gk+1 := y(xk+1) − yk+1

= y(xk) + hϕ(y(xk), xk) +h2

2y′′(zk) − (yk + hϕ(yk, xk))

= (y(xk) − yk) + h(ϕ(y(xk), xk) − ϕ(yk, xk)) +h2

2y′′(zk)

= (y(xk) − yk) + h∂ϕ

∂y(wk, xk)(y(xk) − yk) +

h2

2y′′(zk)

=(

1 + h∂ϕ

∂y(wk, xk)

)gk, +ek (26.18)

mit geeigneten Zwischenstellen wk und zk.Wir zeigen fur das Beispiel 45 mit der Losung

y(x) = y0 exp(λx), mit y0 > 0, (26.19)

wie wir mit der Gleichung (26.18) den globalen Diskretisierungsfehler bestim-men konnen:

Ubung 114. Zeigen Sie, dass die Gleichung (26.18) fur die rechte Seiteϕ(y(xk), xk) := λy

gk+1 = (1 + hλ)gk + ek fur k ≥ 0 (26.20)

lautet und fur den lokalen Diskretisierungsfehler nach (26.15) mit Hilfe derTaylor-Reihenentwicklung

Page 284: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

292 26 Gewohnliche Differentialgleichungen

ek+1 = ykO((hλ)2) fur k ≥ 0 (26.21)

gilt.

Der in jedem Schritt neu eingeschleppte, lokale Diskretisierungsfehler ek+1

wird nach (26.20) fur |1+hλ| < 1 gedampft. Die Losung y(x) wird qualitativkorrekt approximiert. Wir verifizieren dies, indem wir die Naherungslosungenmit den Euler-Verfahren berechnen:

Ubung 115. Zeigen Sie, dass das Euler-Verfahren fur das Anfangswertpro-blem

y′(x) = λy mit y(x0) = y0 > 0 (26.22)

aus Beispiel 45 die Nahrungswerte

yk = (1 + hλ)ky0 mit k ≥ 0 (26.23)

produziert.

Ohne Einschrankung der Allgemeinheit wahlen wir x0 = 0. Der globaleDiskretisierungsfehler gk ergibt sich aus der Differenz der Losungswerte y(xk)aus (26.19) und der Naherungswerte yk aus Ubung 115

gk = y0

(exp(λhk) − (1 + hλ)k

). (26.24)

Der globale Diskretisierungsfehler gk verschwindet nach (26.24) hochstensdann, wenn sich beide Ausdrucke qualitativ gleich verhalten, d.h. fur x → ∞entweder streng monoton wachsen oder fallen. Dies ist fur λ > 0 wegenh > 0 immer sichergestellt, da sowohl die Funktion exp(x) als auch dasMonom xk fur x → ∞ wachsen. Dagegen bildet fur λ < 0 das Monom xk dieexponentielle Dampfung der Funktion exp(x) nur unter der Zusatzbedingung

|1 + hλ| < 1 (26.25)

ab. Dieser Bedingung geben wir einen Namen in der

Definition 33 (Stabilitat). Die Stabilitatsbedingung (26.25) garantiertfur das Euler-Verfahren, dass die Losung y(x) des Anfangswertproblems (29)dasselbe qualitative Verhalten hat, wie die Folge der Naherungslosungen yk

mit k ≥ 0.

Daran schließt sich die

Ubung 116 (Schrittweitenbegrenzung). Zeigen Sie, dass die Stabilitats-bedingung (26.25) zu

λ > 0 oder(

λ < 0 und h <

∣∣∣∣ 2λ∣∣∣∣) (26.26)

aquivalent ist.

Page 285: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

26.3 Fehleruntersuchung 293

Wir konnen nach Ubung 116 die Schrittweite h nicht beliebig wahlen undmussen die Bedingung (26.26) beachten: Wenn die Schrittweitenbegrenzungfur h nicht erfullt ist, kann der globale Diskretisierungsfehler gk nach (26.24)beliebig groß werden. Wir durfen fur das Euler-Verfahren im Fall λ < 0 kei-ne Schrittweiten h großer als |2/λ| wahlen. Da wir, wie weiter oben schonbemerkt, O(h−1) Euler-Schritte durchfuhren mussen, um yn zu berechnen,fuhrt diese zusatzliche, von dem Euler-Verfahren eingeschleppte Stabilitats-bedingung fur λ < 0 in vielen Anwendungsaufgaben zu nicht akzeptablemRechenaufwand.

Anmerkung 65 (Implizites Euler-Verfahren). Wir berechnen entsprechend(26.23) fur das implizite Euler-Verfahren die Naherungswerte

yk =y0

(1 − hλ)kfur k ≥ 0.

Das implizite Euler-Verfahren erfullt unabhangig von der Schrittweite hfur λ < 0 die Stabilitatsbedingung. Allerdings mussen wir pro Schritt eineGleichung mit dem Newton-Verfahren losen.

Abschließend weisen wir darauf hin, dass die Stabilitatsbedingung ins-besondere fur Systeme von gewohnlichen Differentialgleichungen eine Ein-schrankung darstellt. Wir betrachten das

Beispiel 46 (Steife Differentialgleichung). Fur das System der gewohnlichenDifferentialgleichungen

y′1(x) = λ1y1(x) und

y′2(x) = λ2y2(x)

mit λ2 � λ1 < 0 lautet das Euler-Verfahren(yk+11

yk+12

)=(

yk1

yk2

)+ h

(λ1y

k1

λ2yk2

)Die beiden Losungsfolgen y0

1 , y11 , . . . und y0

2 , y12 , . . . konnten in diesem ein-

fachen Fall voneinander entkoppelt berechnet werden. Diese Entkoppelungist aber i.Allg. nicht moglich oder sinnvoll. Betrachten wir z.B. ein vektor-wertiges System y′(x) = A(x)y(x), so ware die Entkoppelung der einzelnenKomponenten nur durch Diagonalisierung der Matrix A(x) moglich! Daherwollen wir auch hier in diesem einfachen Fall das Euler-Verfahren simultanauf y1 und y2 anwenden. Dann erlaubt aber die Stabilitatsbedingung fur dieSchrittweite h des Euler-Verfahrens nur

h < min{2/|λ1|, 2/|λ2|} = 2/|λ2|,wenn jeweils beide Komponenten das qualitativ richtige Verhalten fur x → ∞zeigen sollen. Obwohl wir erwarten konnen, dass die zweite Losungsfolge we-gen λ2 � λ1 < 0 schneller abfallt, beschrankt gerade diese Komponente

Page 286: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

294 26 Gewohnliche Differentialgleichungen

die Schrittweite h. In solchen Fallen ist es sinnvoll, z.B. auf das impliziteEuler-Verfahren auszuweichen und den zusatzlichen Rechenaufwand fur dieNewton-Iteration in Kauf zu nehmen, da dann die Schrittweite h keiner Sta-bilitatsbedingung unterliegt und großer gewahlt werden kann.

26.4 Anwendungsbeispiele

26.4.1 Rauber-Beute-Modell

In diesem Abschnitt verallgemeinern wir das einfache Populationsmodell ausdem einfuhrenden Beispiel 45. Wir untersuchen die Populationsdynamik vonzwei Arten: Beutetieren x(t) und Raubern y(t), siehe [6]. In den Jahren 1910bis 1923 regten Beobachtungen der Fischpopulationen im Adriatischen Meerdie Entwicklung eines mathematischen Modells an. Unter vereinfachendenAnnahmen gelangen wir zu dem nichtlinearen Differentialgleichungssystem

x(t) = ax − byx,y(t) = cxy − dy,

fur t0 ≤ t ≤ tn. (26.27)

Die zeitliche Anderung der Populationen x(t) und y(t) ist abhangig vonder Anzahl von Rauber- und Beutetieren x(t) und y(t) mit entsprechendenGeburts- und Sterberaten. Die Variable a > 0 beschreibt die Geburtenrateder Beutetiere x und c die Sterberate der Rauber y. Sowohl die Sterberate bder Beutetiere x als auch die Geburtenrate c der Rauber y ist proportionalzum Produkt der momentanen Anzahl von Individuen x(t)y(t).

Als Anfangswerte zur Zeit t = t0 nehmen wir an, dass x0 Beutetiere undy0 Rauber existieren

x(t0) = x0, y(t0) = y0. (26.28)

Wir verallgemeinern das Euler-Verfahren und ersetzen die rechten Seitendurch ein gewichtetes Mittel

xi+1 − xi

τ= λ(a xi+1 − b xi+1 yi+1) + (1 − λ)(a xi − b xi yi, ),

yi+1 − yi

τ= λ(c xi+1 yi+1 − d yi+1) + (1 − λ)(c xi yi − d yi).

(26.29)

Der Parameter λ ∈ [0, 1] steuert dabei das Diskretisierungsverfahren: Wir er-halten fur λ = 0 als Spezialfall das Euler-Verfahren, fur λ = 1 das Ruckwarts-Euler-Verfahren und fur λ = 1/2 das Crank-Nicolson-Verfahren.

Fur λ = 0 ist zur Bestimmung der Werte xi+1 und yi+1 in jedem Schrittdas System (26.29) zu losen. Durch Addition der beiden mit c (obere Glei-chung) bzw. b (untere Gleichung) multiplizierten Gleichungen erhalten wirdie Beziehung

Page 287: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

26.4 Anwendungsbeispiele 295

c(xi+1 − xi) + b(yi+1 − yi)= τλ(acxi+1 − bdyi+1) + τ(1 − λ)(acxi − bdyi)

=⇒ yi+1 =1

b + τλbd( c (τλa − 1)xi+1 + ω ) , (26.30)

mit ω = cxi + byi + τ(1 − λ)(acxi − bdyi).

Setzen wir (26.30) in die obere Gleichung (26.29) ein, folgt eine quadra-tische Gleichung fur die Bestimmung von xi+1

β2x2i+1 + β1xi+1 + β0 = 0 (26.31)

mit: β0 = −xi − τ(1 − λ)(axi − bxiyi)

β1 = 1 − τλa +τλω

1 + τλd

β2 =τλc

1 + τλd(τλa − 1) .

Wir berechnen mit dem Newton-Verfahren xi+1, ausgehend von demStartwert xi, und mussen sicherstellen, dass die ”richtige“ der beiden Nullstel-len gefunden wird. Mit Gleichung (26.30) konnen wir dann yi+1 berechnen.

26.4.2 Lorenz-Attraktor

Wir betrachten das Differentialgleichungssystem

x(t) = a(y − x)y(t) = bx − y − xz (26.32)z(t) = xy − cz.

Die Losung dieses Systems ist eine spiralformige Kurve mit zwei Attrak-toren, d.h. zwei Punkten, denen sich die Losungskurve abwechselnd immermehr annahert, siehe Abb. 26.6. Dabei springt die Kurve in unregelmaßigenAbstanden von einem Attraktor zum anderen.

Diese Gleichung wurde von Lorenz eingefuhrt, um die durch die Sonnen-strahlung angeregte Luftzirkulation in der Erdatmosphare zu beschreiben.Die Losung dieses Problems hangt dann naturlich von den gewahlten An-fangswerten ab. Aus dem Verlauf der Losung sehen wir aber, dass schon einekleine Veranderung der Anfangswerte zu einem anderen ”Zweig“ der Kurvefuhrt und zu einem anderem Losungsverhalten in dem gefragten Zeitraum.Dies ist also ein Beispiel fur Unvorhersehbarkeit, die daraus resultiert, dasswir die Anfangswerte exakt kennen mussten, um eine glaubwurdige Vorher-sage fur einen spateren Zeitpunkt machen zu konnen. Wir beobachten chao-tisches Verhalten.

Page 288: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

296 26 Gewohnliche Differentialgleichungen

Abb. 26.6. 2D-Projektion des Lorenz-Attraktors als Losung des Differentialglei-chungssystems (26.32).

An diesem Beispiel werden die Herausforderungen einer brauchbaren Wet-tervorhersage deutlich. Wir konnen das poetisch so beschreiben, dass der

”Flugelschlag eines Schmetterlings“ die Anfangswerte, z.B. fur eine Wetter-prognose, so verandern kann, dass sich zu einem spateren Zeitpunkt ein qua-litativ anderes Losungsverhalten, in diesem Fall das Wetter, ergibt, wie be-schrieben in der

Anmerkung 66 (Wintersturm Lothar, 1990). Automatische Messgerate mel-deten in der Nacht vom 25. auf den 26. Dezember 1999, dass der Luftdruckuber der Biskaya innerhalb von nur drei Stunden im Durchschnitt um ca.zwanzig Hektopascal gesunken war. Die Station Caen an der franzosischenKanalkuste beobachtete den extremen Luftdruckabfall von 27,7 Hektopas-cal zwischen 3 und 6 Uhr MEZ. Solche Werte sind laut Deutschem Wet-terdienst, siehe www.dwd.de, noch nie in Kontinentaleuropa aufgetreten. Dasgroßraumige Auftreten dieser extremen Druckabfalle verursachte hohe Wind-geschwindigkeiten, wie z.B. 259 km/h auf dem Wendelstein in Oberbayern.Der Deutsche Wetterdienst hatte allerdings keine Sturmwarnung herausgege-ben, da das Prognoseprogramm den extremen Luftdruckabfall als Messfehlerinterpretierte und einfach ignorierte, so als ob die Messgerate defekt gewe-sen waren. Dadurch wurden falsche Anfangswerte von den Differentialglei-chungsloser des DWD benutzt. Die Wettervorhersage warnte daher nur vorWindgeschwindigkeiten bis zu 90 km/h. Der Schaden, den Lothar verursach-te, wird in dreistellige Millionenhohe geschatzt. Mehrere Menschen starbensogar nachtraglich noch bei den Aufraumarbeiten.

Wir konnten – im Anschluss an Kapitel 7 – auch davon sprechen, dassdas Problem der Wettervorhersage sehr schlecht konditioniert ist, da kleinsteAnderungen in den Eingabedaten zu qualitativ unterschiedlichen Ausgangs-daten fuhren konnen.

Page 289: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

26.4 Anwendungsbeispiele 297

26.4.3 Algebraische Differentialgleichungen und Chip-Design

In Beispiel 23 von Kapitel 9 haben wir die einfachen Kirchhoff’schen Re-geln benutzt, das Gesetz uber die Summe der Strome (Schleifen) und dasGesetz uber die Summe der Spannungen (Maschen). Dies sind einfache li-neare Gleichungen. Dazu kommen die Regeln uber die Schaltkreiselementewie Widerstande, Kondensatoren und Induktoren (immer noch linear), undnichtlineare Bedingungen fur Dioden und Transistoren. Zusatzlich enthaltendiese Regeln die zeitlichen Ableitungen der Unbekannten, fuhren also aufgewohnliche Differentialgleichungen.

Wir bezeichnen mit q(x, t) die Ladung zum Zeitpunkt t, j(x, t) denStromfluss und e(t) die von Außen angelegte Erregung. Weiterhin bezeichnetx = x(t) den unbekannten Vektor der Schaltkreisvariablen.

Dabei wird z.B.

– ein Widerstand R in dem zu untersuchenden Schaltkreis lokal beschriebendurch die Gleichung I = U/R

– ein Kondensator mit der Kapazitat C durch die Differentialgleichung I =CU

– und eine Spule mit der Induktivitat L durch U = LI.

Dann giltq(x, t) + j(x, t) = e(t).

Das bedeutet, eine Ladungsanderung kann nur durch einen Strom und einevon Außen angelegte Erregung erfolgen.

Im stationaren Fall (Gleichgewichtsfall, keine Ladungsanderung mit derZeit, d.h. q = 0) bei konstanter Erregung e(t) = e0 vereinfacht sich dies zu

j(x0) = e0.

Lassen wir kleine Schwankungen zu, so erhalten wir

q(x0 + x(t)) + j(x0 + x(t)) = e0 + e(t)

und in erster Naherung

∂q

∂x

∣∣∣∣x0

x(t) +∂j

∂x

∣∣∣∣x0

x(t) = e(t)

oderCx(t) + Gx(t) = e(t).

Dies ist eine gewohnliche Differentialgleichung und gleichzeitig kommenMatrizen C und G vor, die singular sein konnen. Fur den Spezialfall C = 0vereinfacht sich die Differentialgleichung zu einem linearen Gleichungssystem;ist C regular, so bleibt ein System von Differentialgleichungen. Wir sprechenhier wegen der Vermischung von linearem Gleichungssystem mit Differential-gleichungssystem von Algebraischen Differentialgleichungen. Der schwierigeund interessante Fall ist dann gegeben, wenn die Matrix C singular ist.

Page 290: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27 Partielle Differentialgleichungen

”Die Physik erklart die Geheimnisse der Natur nicht, sie fuhrt sieauf tieferliegende Geheimnisse zuruck.“

C.F. von Weizsacker

27.1 Einleitung

Wenden wir uns der numerischen Behandlung partieller Differentialgleichun-gen zu. Nach Definition 28 verknupfen partielle Differentialgleichungen Ab-leitungen nach mehreren unabhangigen Variablen in einer Gleichung. DasDefinitionsgebiet Ω einer partiellen Differentialgleichung ist eine Teilmengeeines mehr-dimensionalen Raumes, in dem wir eine spezielle Losungsfunktionnumerisch annahern mussen.

Wir illustrieren Definition 28 und geben das

Beispiel 47 (Laplace-Gleichung). Die Funktionenschar

u(x, y) := sin(mπx) sin(nπy), (x, y) ∈ Ω := [0, 1]2 (27.1)

mit den Parametern m, n ∈ IN lost die partielle Differentialgleichung zweiterOrdnung

−Δu(x, y) = 0, ∀(x, y) ∈ Ω (27.2)

mit dem Laplace-Operator

−Δ := −∂xx − ∂yy.

Die Gleichung (27.2) heißt daher auch Laplace-Gleichung.

Die Funktionenschar (27.1) liefert die Losung der Laplace-Gleichung (27.2),wie Sie in Ubungsaufgabe 140 zeigen konnen.

Mit der Laplace-Gleichung (27.2) konnen wir Gleichgewichtszusande be-schreiben: In der Gravitationstheorie z.B. die Wechselwirkung des New-ton’schen Potentials, in der Elektrodynamik die Verteilungen statischer elek-trischer und magnetischer Felder, in der Hydrodynamik die Geschwindigkeits-verteilung inkompressibler und wirbelfreier Stromungen.

Page 291: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

300 27 Partielle Differentialgleichungen

Die Laplace-Gleichung ist ein Beispiel einer partiellen Differentialglei-chung zweiter Ordnung. Mit partiellen Differentialgleichung zweiter Ordnunglassen sich außer Gleichgewichtszusanden sowohl Ausgleichsvorgange, etwavon Energiedifferenzen mittels Warmeleitung, von Dichtedifferenzen mittelsDiffusion, von Impulsdifferenzen mittels Flussigkeitsreibung, von Spannungs-differenzen mittels Elektrizitatsleitung, als auch Schwingungsvorgange, wiez.B. in der Akustik die Ausbreitung des Schalls, in der Elektrodynamikveranderliche elektrische und magnetische Felder, in der Optik die Ausbrei-tung des Lichts, u.a. beschreiben. In diesem Kapitel wollen wir uns auf diesewichtige Klasse partieller Differentialgleichungen konzentrieren.

Die mathematische Analyse partieller Differentialgleichungen zweiter Ord-nung zeigt, dass es drei unterschiedliche Grundtypen von Gleichungen gibt,die sich qualitativ in den Eigenschaften ihrer Losungen unterscheiden. Wirgeben das

Beispiel 48 (Typeinteilung, Perron 1928). Damit das Differentialgleichungs-system

ux − uy − vy = 0 undbuy − vx + vy = f(x + y)

mit den Anfangswerten

u(0, y) = 0 undv(0, y) = 0 mit b ∈ IR,

stetige Losungen u und v besitzt, muss fur b < 0 die Funktion f analytischsein (die Differentialgleichung ist dann vom elliptischen Typ), d.h. durch einePotenzreihe darstellbar, fur b = 0 zweimal stetig differenzierbar (paraboli-scher Typ) und fur b > 0 stetig (hyperbolischer Typ).

Wir unterscheiden partielle Differentialgleichungen von elliptischen, para-bolischen und hyperbolischen Typ1 und halten dies fest in der

Definition 34 (Normalformen Partieller Differentialgleichungen 2.Ordnung).Die drei Typen unterschiedlicher partieller Differentialgleichungen 2. Ord-nung haben die Normalformen

elliptisch − Δu = f,parabolisch ut − Δu = f undhyperbolisch utt − Δu = f.

Dabei stehen ut und utt fur die erste und zweite Ableitung nach der Zeit t.1 Die Namensgebung beruht nicht auf der Klassifikation der Losungsfunktion u

selbst, sondern auf der verwendeten Transformation, um eine der drei Grund-typen zu erreichen, siehe [25]. Der Typ hangt weiterhin von den unabhangigenVariablen ab und muss nicht notwendigerweise uber das gesamte Gebiete Ω uber-all derselbe sein.

Page 292: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.1 Einleitung 301

Daran schließt sich die

Anmerkung 67 (Zuordnung der Typen). Partielle Differentialgleichungen deselliptischen Typs beschreiben Gleichgewichtszustande, solche des paraboli-schen Typs beschreiben Ausgleichsvorgange und des hyperbolischen TypsSchwingungsvorgange.

Aussagen uber die Existenz von Losungen partieller Differentialgleichun-gen sind i.Allg. schwer aufzustellen, siehe [119]. Wie das Beispiel 47 derLaplace-Gleichung (27.2) zeigt, haben partielle Differentialgleichungen, wennsie eine Losung besitzen, haufig eine Schar von Losungen. Um aus der Mengeder Losungen einer gegebenen partiellen Differentialgleichung eine eindeutigeLosung zu erhalten, mussen zusatzlich Anfangswert- und/oder Randwertbe-dingungen vorgeschrieben werden. Diese Vorgabe ist insbesondere fur die nu-merische Konstruktion einer Losung von zentraler Bedeutung. Wir betrachtendie

Ubung 117 (Hadamard).Zeigen Sie: Das elliptische System partieller Differentialgleichungen2

ux + vy = 0, uy + vx = 0

mit den Anfangswerten

u(x, y) = 0, v(x, y) = − 1n2

cosnx,

mit n ∈ IN, hat die Losung

u(x, y) =1n2

sin nx sinh ny,

v(x, y) = − 1n2

cosnx coshny.

Aufgrund der unbeschrankten Funktionen sinh und cosh konnen sich klei-ne Anderungen in den Anfangswerten mit n → ∞ sehr stark in der Losungauswirken. Die Losung der partiellen Differentialgleichung hangt nicht stetigvon den Anfangswerten ab.

Da die Anfangswerte i.Allg. mit Rundungsfehlern behaftet sind, ist esnicht sinnvoll, die Losung eines elliptischen Anfangswertproblems numerischzu berechnen.

Damit die Losung stetig von den vorgeschriebenen Bedingungen abhangt,mussen wir entsprechend des Typs der partiellen Differentialgleichung unter-schiedliche Bedingungen vorschreiben: Elliptische partielle Differentialglei-chungen benotigen ausschließlich Randbedingungen. Bei parabolischen und2 Fur Systeme partieller Differentialgleichungen lasst sich eine konsistente Typen-

einteilung definieren.

Page 293: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

302 27 Partielle Differentialgleichungen

hyperbolischen partiellen Differentialgleichungen mussen sowohl Anfangs- alsauch Randwertbedingungen vorgegeben werden.

Die Vorgabe der Bedingungen kann sich entweder auf die gesuchte Großeselbst oder auf eine ihrer Ableitungen beziehen. Je nachdem unterscheidenwir Dirichlet-Bedingungen, die die Funktionswerte am Rand vorschreiben,oder Neumann-Bedingungen, bei denen Funktionswerte und Ableitungen amRande verknupft werden. Die Bedingungen werden auf dem Rand des Defi-nitionsgebietes Ω vorgeschrieben und mussen nicht einheitlich sein.

Anfangswertbedingungen entsprechen z.B. der raumlichen Wellen- oderTemperaturverteilung a(x, y) oder deren Ableitungen zu einem gewissenStartzeitpunkt t0. Damit konnen wir die weitere Verteilungsentwicklung be-rechnen. Dagegen beschreiben Randwertbedingungen g(t) den zeitlichen Ver-lauf der Verteilung oder deren Ableitung am Rand ∂Ω des Definitionsgebie-tes Ω.

Leider lassen sich i.Allg. die Losungen u partieller Differentialgleichun-gen nur in Ausnahmefallen in geschlossener Form analytisch angeben. In [69]findet sich z.B. ein Uberblick uber die geschlossen losbaren Differentialglei-chungen und ihre Konstruktion.

Denn ein Konigsweg zur Konstruktion von Losungen partieller Differenti-algleichungen existiert (noch) nicht. Vor ca. 100 Jahren wurden gegebene par-tielle Differentialgleichungen mittels geeigneter Transformationen auf schongeloste partielle Differentialgleichung zuruckgefuhrt unter Anwendung derzu diesem Zeitpunkt schon relativ weit entwickelten Funktionentheorie. We-gen der Stagnation bei nichtlinearen partiellen Differentialgleichungen, schlugJohn von Neumann im Juni 1946 vor, einen ”digitalen Windkanal“ zu entwi-ckeln. Stromungsmechanische Verhaltnisse sollten in einem Rechner simuliertwerden. Um solche komplizierten Aufgabenstellungen anpacken zu konnen,bedurfte es erst der Entwicklung leistungsfahiger Rechner3.

Parallel dazu, aber weniger von der Offentlichkeit beachtet, wurden im-mer effizientere Losungsverfahren vorgeschlagen. Heute werden moderne, nu-merische Algorithmen mit leistungsfahigen Rechenanlagen kombiniert, umpartielle Differentialgleichungen zu losen, und viele Anwendungen sind inerreichbare Nahe geruckt, wie z.B. die Vorhersage der atmospharischen Dy-namik und damit der Wettererscheinungen, der Simulation von Fahrzeugzu-sammenstoßen oder der Zirkulation der Ozeane.

Um eine gegebene partielle Differentialgleichung einer numerischen Losungzuganglich zu machen, wird die gegebene Aufgabe in einem ersten Schritt inein lineares Gleichungssystem, das die Eigenschaften der partiellen Differen-tialgleichung in einem noch zu spezifizierenden Sinne moglichst gut nachbil-det, uberfuhrt. Dieser Schritt, allgemein als Diskretisierung bezeichnet, ist einmathematischer Aspekt der Losung partieller Differentialgleichungen. In ei-3 Den Startschuss dafur hat der Ingenieur Jack Kilby im Jahr 1971 gegeben. Er

entwickelte den ersten integrierten Schaltkreis (Chip) bei Texas Instruments undist dafur im Jahre 2000 mit dem Nobelpreis ausgezeichnet worden.

Page 294: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.1 Einleitung 303

nem zweiten Schritt wird das aufgestellte Gleichungssystem gelost. Prinzipiellhaben wir in Kapitel 9 Losungsmethoden bereit gestellt. Verwenden wir al-lerdings die vorgeschlagenen Losungstechniken, so verschwenden wir unnotigSpeicher und Rechenzeit. Die Bereitstellung effizienter Werkzeuge zur op-timalen Nutzung vorhandener Ressourcen stellt einen Aspekt der Losungpartieller Differentialgleichungen dar, der in den Bereich der Informatik fallt.

Allgemein beruhen numerische Losungsverfahren auf folgender Grund-idee: Zunachst stellen wir sicher, dass die gesuchte Losung eindeutig ist, indemwir z.B. konkrete, sich nicht widersprechende Anfangs- und/oder Randwert-bedingungen vorschreiben. Die gegebene partielle Differentialgleichung sollsinnvoll gestellt sein und die zu konstruierende Losung muss im Wesentlichennur einigen Differenzierbarkeitsanforderungen genugen. Als Losungskandida-ten stehen uberabzahlbar viele Funktionen aus dem Raum aller Funktionen,die die notigen Differenzierbarkeitsvoraussetzungen erfullen, zur Verfugung.

Um das Problem einer rechnergestutzten Losung zuganglich zu machen,mussen wir das unendlich-dimensional formulierte Problem in ein endlich-dimensional definiertes Problem uberfuhren. In einem endlich-dimensionalenFunktionenraum konnen wir eine Basis auswahlen und die Koeffizienten zurDarstellung der Losung abspeichern. Dieser Schritt entspricht der Diskreti-sierung. Wir erwarten, dass sich die Losungen des diskretisierten Problemsqualitativ wie die Losungen des originalen Problems verhalten. Schließlichmacht es keinen Sinn, Losungen zu berechnen, die sich nicht aus dem ur-sprunglichen Problem ableiten.

Anmerkung 68. Der Typ einer partiellen Differentialgleichung hat einen we-sentlichen Einfluss auf die Wahl des endlich-dimensionalen Funktionenraums,wie das Beispiel 48 zeigt. Weiterhin legt der Typ der Differentialgleichung denzugehorigen Losungsalgorithmus fest. Darauf gehen wir in diesem Kapitel al-lerdings nicht ein.

Die Anzahl N der ausgewahlten Basisfunktionen bestimmt die Kom-plexitat des Losungsalgorithmus. Ist sichergestellt, dass wir es mit einergenugend genauen Diskretisierung zu tun haben, bleibt – und das ist ausSicht der Numerik der spannende Punkt – die Aufgabe, einen Algorithmuszur Berechnung der Losung des diskreten Naherungsproblems effizient in Re-chenzeit und Speicher, d.h. in O(N), anzugeben. Wir erwarten von diesemLosungsalgorithmus, dass er uns Auskunft daruber gibt, wie gut wir in einemnoch zu spezifizierenden Sinn die Losung der originalen partiellen Differenti-algleichung und deren Anfangs- und Randwertbedingungen erfullen.

Nur in Spezialfallen werden das diskrete und das originale Problem exaktubereinstimmen. Daher werden wir i.Allg. nur Naherungslosungen mit unter-schiedlicher Genauigkeit berechnen konnen. Um genauere Naherungslosun-gen zu erhalten, bietet es sich an, auf einer Naherungslosung aufzubauen,um geeignetere Diskretisierungen des Problems anzugeben, mit der sich einegenauere Naherungslosung berechnen lasst. Diese adaptive Vorgehensweise,

Page 295: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

304 27 Partielle Differentialgleichungen

abwechselnd eine Naherungslosung zu berechnen und daraus eine neue Dis-kretisierung abzuleiten, ist Gegenstand der aktuellen Forschung, siehe dazuAbschn. 27.3.1.

Wir unterscheiden drei wichtige Diskretisierungsmethoden: Finite-Diffe-renzen-, Finite-Elemente- und Finite-Volumen-Methoden.

Finite Differenzen. In Abschn. 27.2.1 stellen wir die Finite-Differenzen-Methode vor. Beim Ubergang zum diskreten Problem werden die in derpartiellen Differentialgleichung auftretenden Differentialoperatoren durchDifferenzenoperatoren ersetzt. Die Differenzenoperatoren werden an ge-wissen Gitterpunkten des Definitionsgebietes ausgewertet und die ent-sprechenden Funktionswerte als Koeffizienten abgespeichert.

Finite Elemente. Bei Finiten-Element-Methoden wird die gegebene par-tielle Differentialgleichung in ein aquivalentes Variationsproblem umfor-muliert, siehe Abschn. 27.2.3. Mit diesem Ansatz konnen wir die Losungder gegebenen partiellen Differentialgleichung als eine extremale Losungeines zugehorigen Variationsproblems interpretieren. Wir definieren aufden Finiten Elementen, das sind Teilgebiete des Definitionsbereiches Ω,Test- und Ansatzfunktionen, deren Koeffizienten abgespeichert werden.

Finite Volumen. Der Vollstandigkeit halber geben wir schließlich noch dieGrundidee der Finiten-Volumen-Methoden an, die hier nicht behandeltwerden. Das Definitionsgebiet Ω der partiellen Differentialgleichung wird– ahnlich wie bei der Finiten-Element-Methode – in eine endliche Anzahlvon Teilgebieten zerlegt. In diesen Teilgebieten wird die gegebene parti-elle Differentialgleichung mittels Gauß’schem Integralsatz umformuliert.Die darin auftretenden Flusse koppeln die unterschiedlichen Teilgebie-te uber gemeinsame Rander. Weitere Gleichungen ergeben sich aus demPrinzip der Erhaltung in den einzelnen Teilgebieten, denn die Summealler Zu- und Abflusse sowie Quellen und Senken muss verschwinden. AlsFunktionswerte werden die Flusse uber die Rander abgespeichert.

Wir deuten die unterschiedlichen Diskretisierungsmethoden in Abb. 27.1 an.

27.2 Diskretisierungsmethoden

In diesem Abschnitt zeigen wir, wie eine gegebene partielle Differentialglei-chung so formuliert werden kann, dass sie einer rechnergestutzten Losungzuganglich wird. Die partiellen Differentialgleichungen werden an einer end-lichen Menge von Stellen ausgewertet und uber lineare Gleichungen in Be-ziehung zueinander gesetzt. Es entstehen große lineare Gleichungssysteme.Die notwendigen Uberlegungen entwickeln wir fur die Finite-Differenzen- undFinite-Elemente-Methode an einem Modellproblem, das wir bereitstellen inder

Page 296: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.2 Diskretisierungsmethoden 305

Finite−Volumen−Methode

Finite−Elemente−Methode

Finite−Differenzen−Methode

Abb. 27.1. Die Finite-Differenzen-, die Finite-Element- und die Finite-Volumen-Methode im Vergleich: Die zu bestimmenden diskreten Werte sind beim Finiten-Differenzen-Ansatz Funktionswerte auf den Gitterpunkten, bei dem Finiten-Ele-mente-Modell Koeffizienten der Ansatzfunktionen auf den einzelnen Flachen undbei der Finiten-Volumen-Methode Großen, die den Austausch uber die Kanten dereinzelnen Volumina angeben.

Definition 35 (Modellproblem).Wir wollen die d-dimensionale Poisson-Gleichung mit Dirichlet-Randwertbe-dingungen

−Δu = f und u|∂Ω = g (27.3)

losen. Die Funktion f beschreibt die Quellen und Funktion g die Randwertedes Modellproblems.

Bei der Vorstellung der Diskretisierungsmethoden beginnen wir mit derhistorisch zu erst entwickelten Finiten-Differenzen-Methode, die erstmals in[25] besprochen wurde.

27.2.1 Finite Differenzen

Bei der Methode der Finiten-Differenzen gehen wir von einer Losungsfunk-tion u aus, die sich in jedem Punkt ihres Definitionsgebietes in eine Taylor-Reihe entwickeln lasst, siehe Kapitel A.1. Die Losung muss mindestens einmalmehr stetig differenzierbar sein, als die Ordnung der partiellen Differential-gleichung. Fur das Modellproblem 35 bedeutet dies, dass die Losungsfunk-tion u im Gebiet Ω nach allen Raumrichtungen mindestens dreimal stetigdifferenzierbar sein muss. Wir konnen ein beliebiges Gitter uber das Definiti-onsgebiet Ω legen und fur jeden Gitterpunkt die in der partiellen Differenti-algleichung enthaltenden Differentialoperatoren durch Differenzenoperatorenersetzen.

Wir geben ein Beispiel fur ein aquidistantes Gitter. Fur das Definitions-gebiet Ω := [0, 1]2 verwenden wir die Diskretisierungspunkte (xi, yj) mit

xi = ih und yj = jh, 0 ≤ i, j ≤ 1/h ∈ IN, (27.4)

die in Abb. 27.2 fur die Parameter h = 1/2, h = 1/4, h = 1/8 und h = 1/16zu sehen sind. Die zugehorigen Funktionswerte kurzen wir ui,j := u(xi, yj)ab.

Page 297: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

306 27 Partielle Differentialgleichungen

Anmerkung 69. Aquidistante Gitter sind die einfachsten Beispiele struktu-rierter Gitter. Sie erlauben einen schnellen Zugriff auf die abgespeichertenWerte durch Speicherung der benotigten Werte in Feldern, deren EintrageElemente einer vorgegebenen Datenstruktur sind.

Der Laplace-Operator −Δ besteht aus der Summe der zweiten Ableitun-gen in alle Raumrichtungen

−Δu :=d∑

i=1

∂xixiu. (27.5)

Die Diskretisierung des d-dimensionalen Laplace-Operators konnen wirauf die Summe der Diskretisierungen der zweiten Ableitungen ∂xixiu in eineRichtung xi mit 1 ≤ i ≤ d zuruckfuhren. Nach dem Satz von Taylor gilt furden Entwicklungspunkt mit xi-Komponente (xi)k = kh bei festgehaltenenanderen Variablen xj , j = i

u((xi)k + h) = u((xi)k+1) = uk+1

= u((xi)k) + huxi((xi)k)h2

2uxixi((xi)k) + · · · und

u((xi)k − h) = u((xi)k−1) = uk−1

= u((xi)k) − huxi((xi)k)h2

2uxixi((xi)k) + · · · .

Fur den Differenzenoperator ∂hxixi

folgt als Approximation des Differential-operator ∂xixi

∂hxixi

uk :=uk−1 − 2uk + uk+1

h2

= ∂xixiuk +h2

24uxixixixi(ξ), (27.6)

mit einem Zwischenwert ξ mit |ξ − xi,k| < h. Dieser Ansatz ist gultig furviermal stetig differenzierbare Funktionen u. Fur praktische Anwendungenist das i.Allg. zu hoch. Wir erhalten z.B. fur den zwei-dimensionalen Laplace-Operator

−Δui,j =4ui,j − ui,j+1 − ui,j−1 − ui−1,j − ui+1,j

h2

− 124

(uxxxx(ξ) + uyyyy(η)) . (27.7)

Entsprechendes ergibt sich fur den d-dimensionalen Laplace-Operator. Be-trachten wir die letzte Gleichung (27.7); da samtliche vierte Ableitungen ste-tig sind, ist die Losungsfunktion u in eine Taylor-Reihe entwickelbar. Erset-zen wir naherungsweise den Differentialoperator −Δu durch den Differen-zenoperator Δh, so machen wir einen Fehler der Großenordnung O(h2). Weildieser Fehler von zentraler Bedeutung ist, geben wir ihm einen Namen in der

Page 298: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.2 Diskretisierungsmethoden 307

Definition 36 (Diskretisierungsfehler und Konsistenzordnung ).Der Unterschied zwischen Differential- und Differenzenoperator, ausgewertetan einer beliebigen Stelle des Definitionsgebietes Ω, heißt Diskretisierungs-fehler. Die kleinste, fuhrende Potenz gibt dabei die Ordnung des Diskretisie-rungsfehlers an und wird Konsistenzordnung genannt.

Unter gewissen Bedingungen, auf die wir hier nicht eingehen konnen,ubertragt sich die Konsistenzordnung auf die Genauigkeit der diskretenLosung. In diesem Fall ist dann die Differenz zwischen der Losung der par-tiellen Differentialgleichung u und der Losung des diskreten Ersatzproblemsebenfalls eine Funktion des Diskretisierungsparameters h. Die fuhrende Po-tenz gibt die Ordnung der Konvergenz an und stimmt i.Allg. mit der Kon-sistenzordnung uberein. Wir konnen die Genauigkeit der Losung mit der Ge-nauigkeit der Diskretisierung und daher mit dem Diskretisierungsparameter hsteuern.

h=1/2 h=1/4

h=1/8 h=1/16

Abb. 27.2. Gitter zu verschiedenen Maschenabstanden h zu Beispiel 49.

Wir wollen dies fur das zwei-dimensionale Modellproblem 35 mit derLosung

u(x, y) := exp(x + y) (27.8)

verdeutlichen, in dem

Beispiel 49. Fur die aquidistanten Diskretisierungen ergeben sich als Losun-gen der diskreten Probleme fur die Parameter h = 1/2, h = 1/4, h = 1/8und h = 1/16 die in Abb. 27.3 linear interpolierenden Funktionen uh. Wirbeachten, dass die Funktionswerte fur i = 0, j = 0, i = 1/h und j = 1/hjeweils durch Randwerte vorgeschrieben sind. Das sich ergebende aquidistan-te Gitter ist in Abb. 27.2 zu sehen. Fur die Anzahl der Freiheitsgrade Nerhalten wir N = ((1/h) − 1)2. In Tabelle 27.1 geben wir den maximalen

Page 299: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

308 27 Partielle Differentialgleichungen

Betragsfehler ε und die Anzahl der Freiheitsgrade N in Abhangigkeit desDiskretisierungsparameters h an.

12

3

1

2

30

2

4

6

8

h=1/2

02

46

0

50

2

4

6

8

h=1/4

05

10

0

5

100

2

4

6

8

h=1/8

010

20

0

10

200

2

4

6

8

h=1/16

Abb. 27.3. Die linear interpolierenden Losungen uh der diskreten Probleme furh = 1/2, h = 1/4, h = 1/8 und h = 1/16.

Ubung 118. Bestimmen Sie aus Tabelle 27.1 sowohl die Konsistenz- alsauch Konvergenzordnung der Diskretisierung mittels aquidistanten Gittern.

Tabelle 27.1. Der maximale Betragsfehler ε und die Anzahl der Freiheitsgrade Nin Abhangigkeit des Diskretisierungsparameters h.

h N ε

1/2 1 7.1 · 10−3

1/4 9 2.1 · 10−3

1/8 49 5.4 · 10−4

1/16 225 1.4 · 10−4

Wir uberzeugen uns, dass der maximale Betragsfehler ebenso wie derDiskretisierungsfehler von der Großenordnung O(N−1) = O(h2) ist.

Um den Fehler der diskreten Losung zu verringern, mussen wir den Dis-kretisierungsparameter h > 0 verkleinern.

Es stellt sich die Frage, welche Auswirkungen dies auf den Losungsalgo-rithmus hat. Wir speichern die Werte der Naherungslosung u an den Stellen

Page 300: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.2 Diskretisierungsmethoden 309

des Gitters (xi, yj) mit 0 ≤ i, j ≤ N in dem Losungsvektor u = (uk)1≤k≤N

mit N Komponenten ab. Der Parameter N ist der Schlussel zur Quantifizie-rung des Speicherplatzbedarfs, des Rechenaufwands und der Genauigkeit.

Fur den d-dimensionalen Fall hangt die Genauigkeit ε der Naherungslo-sung mit N Diskretisierungpunkten bei einem aquidistanten Gitter mittels

ε = O(N−2/d) (27.9)

zusammen. Die Genauigkeit ε ist nicht unabhangig von der Dimensionsanzahld: Mit zunehmender Dimension d nimmt die Verbesserung durch Erhohungder Anzahl der Diskretisierungspunkte N ab. Dies ist als Fluch der Dimen-sion4 bekannt.

Unter Vernachlassigung der Restglieddarstellung der Taylor-Reihe istnach Gleichung (27.7) jeder Diskretisierungspunkt (xi, yj) mit 0 ≤ i, j ≤ Nmit seinen unmittelbar benachbarten Gitterpunkten uber eine lineare Glei-chung

4ui,j − ui,j+1 − ui,j−1 − ui−1,j − ui+1,j = h2 · fi,j (27.10)

verknupft. Wir erhalten fur das gesamte diskretisierte Problem ein Systemvon linearen Gleichungen. Um die Werte ui,j in einen Vektor zu verwandeln,fuhren wir eine zeilenweise Nummerierung durch. Dadurch erhalten wir mitk = iN + j die gesuchten Koeffizienten in einem Vektor uk als Losung desGleichungssystems mit Matrix4 R. Bellmann verwendete den Begriff Fluch der Dimension erstmalig in Dynamic

Programming 1957. Damit wird i.Allg. zum Ausdruck gebracht, dass die optimaleKonvergenzordnung negativ von der Dimension d beeintrachtigt wird.

Page 301: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

310 27 Partielle Differentialgleichungen

A :=1

h2

0BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@

−4 1 1

1. . .

. . .. . .

. . .. . . 1

. . .

1 −4 1

1 −4 1. . .

. . . 1. . .

. . .. . .

. . .. . .

. . . 1. . .

1 1 −4. . .

. . .. . . 1

. . .. . .

. . .

. . .. . .

. . .

. . .. . . 1

1 −4 1

. . . 1. . .

. . .

. . .. . .

. . . 11 1 −4

1CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCA

. (27.11)

Die Eintrage am,n der Matrix A geben die Abhangigkeit zwischen denKoeffizienten un und um wider. Damit mussen wir das Gleichungssystem

Au = b (27.12)

losen. Der Vektor b sammelt die Einflusse durch die Randwerte g und dieQuellterme f der Modellgleichung 35.

Ubung 119 (Rechte Seite).Berechnen Sie aus Gleichung (27.10) die explizite Darstellung der rechten

Seite b des Gleichungssystems (27.12) aus den Quellterm- und Randwertfunk-tionen f und g.

In Kapitel 9 haben wir einige Algorithmen zur Losung von linearen Glei-chungssystemen bereitgestellt. Der vorgestellte Gauß-Algorithmus benotigtzur Abspeicherung der in Gleichung (27.11) definierten Matrix O(N2) Spei-cherplatze und zur Losung des Gleichungssystems O(N3) Rechenoperationen.

Ubung 120. Geben sie den Zusammenhang in Großenordnungen zwischender Genauigkeit ε der Losung des diskreten Problems und

a) dem Rechenaufwand R sowieb) dem Speicherplatzbedarf S

Page 302: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.2 Diskretisierungsmethoden 311

an. Interpretieren Sie die Ergebnisse.

Aus datenverarbeitungstechnischer Sicht wollen wir diese Gleichungssys-teme sowohl kompakt abspeichern als auch effizient losen. Dabei lassen wiruns von folgendem Gedanken leiten:Der verfugbare Speicher sollte ”nur“ durch die Anzahl N der Losungskompo-nenten und nicht durch die Anzahl der N2 � N � 1 Matrixeintrage zur Ab-speicherung der Matrix A in einem N ×N -Feld erschopft werden. Denn sonstverschwenden wir den Speicherplatz durch den speziellen Losungsansatz,hier den Gauß-Algorithmus, der nicht zwingend durch das vorliegende Pro-blem vorgeschrieben ist. Um dies bewerkstelligen zu konnen, verandern wirschrittweise den Gauß’schen Losungsalgorithmus als ”Mutter“ aller Losungs-verfahren, indem wir spezielle Eigenschaften partieller Differentialgleichun-gen vorteilhaft verwenden. Wir untersuchen die gegebene Matrix aus Glei-chung (27.11) etwas genauer. Alle von Null verschiedenen Eintrage an,m derMatrix A sind in einem Band der Breite w um die Hauptdiagonale gruppiert.Dies spiegelt eine allgemeingultige Eigenschaft partieller Differentialgleichun-gen wider: Die lokale Abhangigkeit des Differentialoperators. Daher ist esnicht nur fur dieses Beispiel sinnvoll, nur diese lokalen Abhangigkeiten abzu-speichern und alle anderen Interaktionen, die wir im diskretisierten Problemnicht zu beachten haben, naturlicherweise nicht mit abzuspeichern. Dies be-deutet aus Sicht der Datenverarbeitung, dass wir dort keinen Speicherplatzspendieren, wo es fur die Losung nicht notwendig ist.

Ubung 121. Wie viel Speicherplatz konnen wir sparen, wenn wir anstatt dervollen N×N -Matrix A nur eine Bandmatrix der Breite w ≤ N abspeichern?Interpretieren Sie das Ergebnis.

Da im Rahmen des Gauß’schen Losungsalgorithmus die Matrix A schritt-weise durch Zeilenmanipulationen umgeformt wird und die sich neu erge-benden Eintrage abgespeichert werden mussen, hilft die Abspeicherung derMatrix A als Bandmatrix nicht weiter. Verwenden wir die Gauß-Eliminationohne Pivotsuche zur Losung von (27.12), so transformiert sich A in eineBandmatrix mit Bandbreite

√N . Damit reduzieren sich die Speicherkosten

zu O(N3/2) und es werden O(N2) arithmetische Operationen zur Losungbenotigt.

Da uns die optimale Speicherplatzausnutzung wichtiger ist als die Verwen-dung des Gauß’schen Losungsalgorithmus, gehen wir zu iterativen Losungs-verfahren uber.

27.2.2 Iterative Losungsverfahren

Bei einem Iterationsverfahren beginnen wir mit einer Naherung u0 furdie Losung u des Gleichungssystems (27.12). Ausgehend von dieser erstenSchatzung erzeugen wir eine Folge von weiteren Naherungslosungen u1, u2,

Page 303: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

312 27 Partielle Differentialgleichungen

. . . . Um eine weitere Naherungslosung ui+1 zu berechnen, wenden wir einenoch festzulegende Iterationsvorschrift ui+1 = Φ(ui) auf die jeweils aktuelleNaherungslosung ui mit i ≥ 0 an. Wir wiederholen die Iteration solange,bis die Naherungslosung ui+1 das Gleichungssystem (27.12) hinreichend guterfullt. Um dies festzustellen, prufen wir, wie gut oder wie schlecht wir mitder aktuellen Naherungslosung ui+1 die rechte Seite b annahern. Ein nahe-liegendes Maß ist das Residuum r = Au − b.

Wir versehen nun das Jacobi-Verfahren aus Abschn. 23.1 mit einemdie Diagonale wichtenden Relaxationsparameter 0 = ω ∈ IR und wahlenDω := ω−1diag(A) und setzen E := A − ω−1diag(A) = A − Dω. Mit demParameter ω konnen wir, wie wir weiter unten noch sehen werden, die Ite-ration beschleunigen. Aus b = Au = (A − Dω + Dω)u erhalten wir dann dieIterationsvorschrift

ui+1 = D−1ω (b − Eui)

= D−1ω (b − Eui − Dωui + Dωui)

= ui + D−1ω (b − Aui)

= ui + D−1ω ri fur i ≥ 0. (27.13)

Um aus der ”alten“ Naherungslosung ui die ”neue“ Naherungslosung ui+1

berechnen zu konnen, mussen wir zunachst das Residuum ri = b − Aui be-reitstellen. Aus Gleichung (27.13) folgt die Iterationsvorschrift

ui+1 = Φ(ui) :=(I − D−1

ω A)ui + D−1

ω b fur i ≥ 0, (27.14)

wobei I die Einheitsmatrix reprasentiert. Die Berechnung der Losung u desGleichungssystems (27.12) reduziert sich auf eine Folge von Matrix-Vektor-Produkten und Vektor-Additionen.

Fur die Analyse des Iterationsverfahrens stellen wir eine weitere, wichtigeGleichung bereit. Analog zu (27.14) erhalten wir eine Beziehung zwischenaufeinanderfolgenden Residuen

ri+1 = (I − AD−1ω )ri, fur i ≥ 0. (27.15)

Falls q := ‖I −AD−1ω ‖ < 1 in einer vorgegebenen Norm ist, so verkleinert

das Iterationsverfahren das Residuum mit jedem Iterationsschritt um einenFaktor q. Nach dem Banach’schen Fixpunktsatz konvergiert eine so konstru-ierte Folge von Naherungslosungen ui mit 0 ≤ i dann gegen die Losung desGleichungssystems u mit streng monoton fallender Residuumsnorm

‖ri‖ ≤ qi‖r0‖. (27.16)

Aus Gleichung (27.16) ergibt sich die Forderung, dass der Wert des Reduk-tionsfaktors q so klein wie moglich sein soll. In der Praxis sollte der Wert von qnicht zu nahe bei Eins liegen, damit nicht zu viele Iterationen durchzufuhren

Page 304: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.2 Diskretisierungsmethoden 313

sind. Wir brechen die Iteration ab, wenn die Residuumsnorm ‖ri‖ der aktuel-len Naherungslosung ui eine vorgegebene Genauigkeitsgrenze unterschrittenhat. Dies ist spatestens bei Erreichen der Maschinengenauigkeit εmach derFall. Denn dann ist die Norm des Residuum bis auf Maschinengenauigkeitgleich Null und die Losung u ist gefunden. Bestatigen Sie das in der

Ubung 122. Zeigen Sie: Das Residuum r := b − Av ist genau dann Null,wenn v das Gleichungssystem (27.12) lost.

Daran schließt sich die

Ubung 123. Geben Sie die Anzahl der Iterationen n in Abhangigkeit derMaschinengenauigkeit εmach, des Startresiduums ‖r0‖ und des Reduktions-faktors q an, um das Residuum auf Maschinengenauigkeit genau berechnenzu konnen.

Mit Hilfe der Gleichung (27.15) konnen wir den Reduktionsfaktor 0 ≤q < 1 analysieren. Verwenden wir ein iteratives Verfahren, das aus einemSplitting A = A− M + M hervorgeht, so hangt der sich ergebende Redukti-onsfaktor q = ‖I − AM−1‖ entscheidend von den Eigenschaften der MatrixI − AM−1 ab. Idealerweise mussten wir M := A wahlen, denn dann ware qund damit das Residuum ri ab der ersten Iteration immer identisch gleichNull. Leider widerspricht das der Forderung nach der einfachen Invertier-barkeit der Matrix M . Damit der Reduktionsfaktor q klein wird, muss dieMatrix M hinreichend gut die Matrix A approximieren. Die Wahl der Ma-trix M steht zwischen den beiden Polen hinreichend guter Approximationder Matrix A fur einen kleinen Reduktionsfaktor q und einfacher Invertier-barkeit fur eine schnelle Iteration. Wie die Praxis zeigt, sind diese beidenForderungen nicht immer einfach zu vereinbaren.

Mit Gleichung (27.15) lasst sich der Reduktionsfaktor q quantitativ ab-schatzen. Wir fuhren die Analyse der Einfachheit halber fur das ein-dimen-sionale Modellproblem 35 durch und uberlassen den allgemeinen d-dimensio-nalen Fall als Ubungsaufgabe 141.

Wir untersuchen im Folgenden die Wirkung der Iteration (27.18) fur einein-dimensionale Modellproblem 35 auf die Funktionen sin(kπx), k =1, . . . , N , die an den Stellen j/N , j = 1, . . . , N , diskretisiert als Vektorensin(kπj/N)j=1,...,N fur k = 1, . . . , N , vorliegen. Berechnen Sie zunachst dieMatrix A und die rechte Seite b fur das ein-dimensionale Modellproblem inder

Ubung 124 (”Ein-dimensionale“Varianten von A und b). Zeigen Sie,dass die ”ein-dimensionale“Variante der Matrix A in Gleichung (27.11) fol-gender Matrix A entspricht:

A :=1h2

⎛⎜⎜⎜⎜⎝−2 1

1. . . . . .. . . . . . 1

1 −2

⎞⎟⎟⎟⎟⎠ . (27.17)

Page 305: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

314 27 Partielle Differentialgleichungen

Wie lautet ”ein-dimensionale“Variante der rechten Seite b aus Ubung 119?

Stellen wir das Residuum mit diesen Vektoren als Basis dar, so konnen wirden Einfluss der Matrix I − AD−1

ω auf das Residuum ri mittels der Fourier-Zerlegung

ri(x) =N−1∑k=1

rik sin(kπx) (27.18)

studieren.Wir berechnen die Verstarkung der einzelnen Frequenzanteile sin(kπx)

mit 0 < k < N fur das Jacobi-Verfahren mit Relaxationsfaktor ω.

Ubung 125. Rechnen Sie die Identitat

(I − ADω−1)ri(x) =

N−1∑k=1

(1 − ω + ω cos

(πk

N

))rik sin(kπx) (27.19)

nach. Beachten Sie dabei, dass die Matrix Dω nur ein skalares Vielfaches derEinheitsmatrix ist.

Der Reduktionsfaktor qk ist eine Funktion der Frequenzkomponente k undentspricht nach Gleichung (27.19) genau dem k-ten Eigenwert der MatrixI − ADω

−1. Durch Vergleich der Gleichungen (27.18) und (27.19) definierenwir

qk := 1 − ω + ω cos(

πk

N

)= 1 − 2ω sin2

(πk

2N

), mit 0 < k < N. (27.20)

Das Residuum wird pro Iterationsschritt verringert, wenn wir die Redukti-onsfaktoren qk fur 0 < k < N betragsmaßig durch Eins beschranken konnen.Anderenfalls wurde eine entsprechende Residuenkomponente von Iterations-schritt zu Iterationsschritt vergroßert werden und die Iteration divergieren.Daraus konnen wir folgern, dass der Relaxationsparameter ω der Bedingung

0 < ω ≤ 1 (27.21)

genugen muss. Mit der betragsmaßig großten Verstarkung der Residuenkom-ponenten konnen wir den Reduktionsfaktor q abschatzen:

q := max1<k<N

qk

= 1 − ω + ω cos( π

N

). (27.22)

Der Reduktionsfaktor q wird fur alle zulassigen ω von der niederfrequen-testen Residuenkomponente k = 1 dominiert. Nur im Fall ω = 1 gilt wegender Symmetrie der cos-Funktion q = q1 = qk. Der Wert des Reduktions-faktors ist nach Gleichung (27.20) immer echt kleiner als 1. Das Residuum

Page 306: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.2 Diskretisierungsmethoden 315

reduziert sich pro Iterationsschritt im Wesentlichen um den Faktor q1. Da dieGenauigkeit der Diskretisierung mit der Anzahl der Diskretisierungspunkte Nzunimmt, ergibt sich im Grenzfall mit N →∞ fur den Reduktionsfaktor qaus Gleichung (27.22) mit Hilfe eines Reihenentwicklungsansatzes

q → 1 − 2ω( π

2N

)2fur N → ∞. (27.23)

Je mehr Diskretisierungspunkte N fur die Losung spendiert werden, destogeringer fallt die Reduktion des Residuums pro Iterationsschritt aus. Um dieszu verdeutlichen, berechnen wir die quantitative Abhangigkeit der Anzahl derIterationsschritte n von dem Reduktionsfaktor q in der

Ubung 126 (Anzahl der Iterationen).Zeigen Sie, dass asymptotisch

n := −2 log(q0)ωπ2

N2 fur N → ∞ (27.24)

Iterationen benotigt werden, um eine vorgegebene Reduktion 0 ≤ q0 < 1 derNorm des Startresiduums ‖r0‖ zu erreichen.

Das Ergebnis ist nicht ermutigend: Denn einerseits steuert die Anzahl derDiskretisierungspunkte N uber die Gleichung (27.24) die Anzahl der Iteratio-nen n um eine vorgeschriebene Reduktion des Residuums q0 zu erreichen undeine Genauigkeit der numerischen Naherungslosung un zu garantieren. Ande-rerseits wird uber die Gleichung (27.9) die prinzipiell erreichbare Genauigkeitder diskreten Losung un festgelegt. Um ein verlassliches Resultat zu erhalten,mussen wir sowohl die Anzahl der Diskretisierungsparameter N hinreichendgroß wahlen als auch die Anzahl der Iterationsschritte n. Da wir pro Itera-tionsschritt O(N) Rechenzeit und insgesamt O(N2) Iterationschritte benoti-gen, erhalten wir die Komplexitat O(N3) fur den Gesamtrechenaufwand. Diesentspricht genau der Komplexitat des Gauß’schen Losungsalgorithmus fur li-neare Gleichungssysteme. Aufgrund der Endlichkeit der dargestellten Zahlendroht das Iterationsverfahren ab einem gewissen N0 sogar uberhaupt nichtmehr zu konvergieren.

Verantwortlich fur dieses Siechtum der Iteration ist nach Abschatzung(27.22) die niederfrequenteste Residuenkomponente k = 1 der Fourier-Zerlegung (27.18). Diese wird mit N →∞ zunehmend schlechter gedampft.

Die hochfrequenten Residuenkomponenten k → N dagegen konnen wirdurch geschickte Wahl des Relaxationsparameters ω unabhangig von Nstarker dampfen. In Abb. 27.4 sind die Reduktionsfaktoren qk in Abhangigkeitdes Relaxationsparameters ω und der Residuenkomponenten k aufgetragen.

Ubung 127. Zeigen Sie, dass durch die Wahl des Relaxationsparametersωopt := 2/3 fur alle Reduktionsfaktoren qk mit N/2 < k < N erreicht werdenkann

maxN/2<k<N

|qk| < 1/3.

Page 307: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

316 27 Partielle Differentialgleichungen

ω=1

ω=2/3

−1

−0.5

0

0.5

1

0 0.2N 0.4N 0.6N 0.8N N

N

q

q,

q,

Abb. 27.4. Dampfung der Residuumskomponente in Abhangigkeit von k und ωfur k = 0, . . . , N und ω = 2/3 (kurz gestrichelt) und ω = 1 (lang gestrichelt, untereKurve).

Wahlen wir ω = ωopt, so werden die hochfrequenten Fehleranteile mitN/2 < k < N wesentlich starker gedampft als die niederfrequenten Fehleran-teile mit 0 < k < N/2 siehe Abb. 27.5.

Nach wenigen Iterationsschritten ist der hochfrequente Fehleranteil starkreduziert worden. Der Gesamtfehler wird nur noch von niederfrequenten Feh-leranteilen dominiert. Zur Reprasentation dieser niederfrequenten Fehleran-teile genugt ein groberes Gitter, wie es in der Abb. 27.6 exemplarisch gezeigtwird.

Der Ubergang von einem feineren Gitter mit N Diskretisierungspunktenzu einem groberen Gitter mit N/g Diskretisierungspunkten, wobei 1 < g <N/2 ein Teiler von N ist, hat zwei wesentliche Vorteile: Erstens benotigenwir statt N nur mehr N/g Diskretisierungspunkte um eine glatte Residuen-komponente darzustellen. Und zweitens relaxiert ein Jacobi-Schritt auf demgroberen Gitter die entsprechende Residuenkomponente bedeutend schnellerals auf dem ursprunglichen, relativ feinen Gitter. Wir veranschaulichen diesin der Abb. 27.7.

Um diese Beschleunigung quantitativ zu erfassen, reprasentieren wir denniederfrequenten Fehleranteil sin(kπx) mit 0 < k < N/2 sowohl auf demfeinen Gitter an den Stellen x = i/N mit 0 ≤ i ≤ N als auch auf dem grobenGitter an den Stellen x = j/(N/g) = gj/N mit i = jg, 0 ≤ j ≤ N/g. Furalle Punkte des groben Gitters gilt die Gleichung

sin(

kπi

N

)= sin(

kπi/g

N/g

)= sin(

k

i

N/g

). (27.25)

Page 308: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.2 Diskretisierungsmethoden 317

0

0.01

0.02it=0

0

0.01

0.02it=4

0

0.01

0.02it=8

−0.02

0

0.02

−0.02

0

0.02

−0.02

0

0.02

−0.01

0

0.01

−0.01

0

0.01

−0.01

0

0.01

−0.01

0

0.01

−0.01

0

0.01

−0.01

0

0.01

−0.01

0

0.01

−0.01

0

0.01

−0.01

0

0.01

−0.01

0

0.01

−0.01

0

0.01

−0.01

0

0.01

mode 1

mode 2

mode 4

mode 8

mode 16

mode 32

Abb. 27.5. Wirkung der gedampften Jacobi-Iteration auf verschiedene Residuen-komponenten.

x x x x x x x x0 1 2 3 4 5 6 7 x8

Abb. 27.6. Eine niederfrequente Sinuswelle wird durch N und N/2 Diskretisie-rungspunkte dargestellt.

Der Fehleranteil sin(kπx) erscheint auf dem feinen Gitter mit der Ma-schenweite 1/N als Residuenkomponente k und auf dem groberen Git-ter mit der Maschenweite g/N als Residuenkomponente k/g. Entsprechendglattet ein Jacobi-Schritt auf dem feineren Gitter nach (27.20) mit demFaktor 1 − 2ω sin2(π/2N) und auf dem groberen Gitter mit dem Faktor1− 2ω sin2(gπ/2N) pro Iterationsschritt. Im Grenzfall fur große N bedeutetdies eine Verbesserung um ungefahr den Faktor g2 − 1. Dies fuhrt zu einerReduktion der Iterationsschritte um den Faktor 1/(g2 − 1).

Page 309: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

318 27 Partielle Differentialgleichungen

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1 0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

5 Iterationen, q

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

10 Iterationen, q

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

0 Iterationen, q

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

5 Iterationen, q

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

10 Iterationen, q

0 Iterationen, q

2 2

1 1 1

2

Abb. 27.7. Wir relaxieren niederfrequente Fehleranteile auf einem feinen (obereZeile) und groberen (untere Zeile) Gitter mit 5 und 10 Iterationsschritten. Auf demgroben Gitter wird der Fehleranteil deutlich schneller gedampft.

Wir geben eine anschauliche Erklarung: Beim Jacobi-Verfahren errechnetsich der ”neue“ Residuenwert ri+1(x) nach der Iterationsvorschrift (27.15)als konvexe Summe des ”alten“ Residuenwertes ri(x) und des Mittelwertesseiner beiden Nachbarwerte ri(x − 1/N) und ri(x + 1/N) nach der Formel

ri+1(x) = (1 − ω)ri(x)ωri(x − 1/N) + ri(x + 1/N)

2. (27.26)

Die Mittelwertbildung der unmittelbar benachbarten Residuenwerte nachGleichung (27.26) fuhrt daher zu einer Ausloschung von hochfrequenten Re-siduenkomponenten. Dagegen konnen niederfrequente Residuenkomponentennur sehr langsam abgebaut werden, wie wir das in Abb. 27.8 an einem Beispielstudieren konnen.

Wir fassen zusammen: Ubertragen wir eine glatte Residuenkomponenteauf ein goberes Gitter mit der Maschenweite g/N , so kann die Mittelwert-bildung uber die g-fache Distanz wirken. Die entsprechend niederfrequentenResiduenkomponenten konnen somit effizient geglattet werden. Denn der nie-derfrequenten Residuenkomponte k der ursprunglichen Diskretisierung mitN Diskretisierungsparametern entspricht die Residuenkomponente k/g dergroberen Diskretisierung mit N/g Diskretisierungsparametern.

Damit haben wir den Schlussel zu einem effektiven Losungsverfahren inder Hand. Denn es liegt folgende Idee nahe: Wir starten den Iterationsvorgangmit n so genannten Vorglattungsschritten mittels Jacobi-Iteration mit dem

Page 310: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.2 Diskretisierungsmethoden 319

0 20 40 60−1000

−500

0

500

1000it=0

0 20 40 60−30

−20

−10

0

10

20it=5

0 20 40 60−30

−20

−10

0

10

20it=10

0 20 40 60−0.5

0

0.5

1

1.5

0 20 40 60−0.5

0

0.5

1

1.5

0 20 40 60−0.5

0

0.5

1

1.5

Residuum

Lösung

Abb. 27.8. Verlauf des Residuums und der Losung eines eindimensionalen Pro-blems nach einigen Iterationsschritten.

Relaxationsparameter ω = ωopt auf dem problemangepassten feinen Aus-gangsgitter mit N Diskretisierungspunkten. Wie wir oben gezeigt haben, wirddas Residuum nach dem Vorglatten durch relativ niederfrequente Fehlerantei-le dominiert sein. Daher konnen wir diesen ubrigen Residuumanteil auf einemrelativ groberen Gitter mit z.B. N/2 Diskretisierungspunkten reprasentieren.Den Ubergang von einem Gitter zu einem relativ groberen Gitter bezeich-nen wir als Restriktion. Dabei wird meist der neue Wert auf dem groberenGitter durch Mittelwertbildung berechnet. In einer Dimension entspricht diesder Anwendung der einfachen Filtermaske [1 2 1] (vgl. Kapitel 19.4). Dieseserste vergroberte Gitter betrachten wir wiederum als ein feines Gitter fureine zweite Restriktion und fuhren daher auf dem vergroberten Gitter eineVorglattung durch. Anschließend wird der niederfrequente Fehleranteil aufein noch groberes Gitter mit N/4 Diskretisierungspunkten ubertragen. Wirwechseln Vorglatten und Restriktion solange ab, bis wir ein Gitter mit N = 2Punkten erreicht haben. Dadurch erreichen wir, dass alle Fehlerkomponenteneffizient reduziert werden konnen. Anschließend interpolieren wir sukzessivedie so reduzierten Residuen auf die jeweils nachst feineren Gitter. Bei die-sem Ubergang tragen wir Interpolationsfehler in die Iteration ein, die wir beider Analyse des Verfahrens nicht vernachlassigen durfen. Diese Fehler glatten

Page 311: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

320 27 Partielle Differentialgleichungen

wir erneut mit m Jacobi-Glattungsschritten mit dem Relaxationsparameterω = ωopt. Dies entspricht der so genannten Nachglattung. Wir zeigen denGitterdurchgang in Abb. 27.9.

h

2h

4h

8h

16h

Abb. 27.9. Der wegen seiner V-formigen graphischen Darstellung auch genann-te V-Zyklus des Mehrgitteralgorithmus mit den Gitterubergangen und Vor- undNachglattungen.

Die Anzahl n der Vorglattungs- und m der Nachglattungsschritte wird soeingestellt, dass der neu eingeschleifte Interpolationsfehler hinreichend gutgedampft wird. Wir erreichen eine effektive Dampfung der glatten Fehleran-teile unabhangig von der Anzahl der Diskretisierungsparamter N .

Die vorgestellte Reihenfolge der verschachtelten Operationen Vorglattung,Restriktion, Interpolation und Nachglattung beschreibt einen Schritt desMehrgitterverfahrens, der erstmals in [109] analysiert wurde. Das Mehrgitter-verfahren unterscheidet sich von einem Schritt eines klassischen Verfahrenswie z.B. des Jacobi-Verfahrens durch die Abfolge von mehrstufiger Restrikti-on, Glattung und Interpolation, die wir unter dem Begriff Grobgitterkorrekturzusammenfassen.

Wir wollen den Speicherplatzbedarf des Mehrgitterverfahrens fur ein d-dimensionales Gitter mit n Diskretisierungspunkten in jeder Koordinaten-richtung abschatzen in der

Ubung 128 (Speicherplatzbedarf des Mehrgitterverfahrens).Fur das feinste Gitter benotigen wir N = nd Gitterpunkte. Um die Grobgit-terkorrektur durchfuhren zu konnen, mussen Ergebnisse auf groberen Gitternmit (n/2)d, (n/4)d, . . . abgespeichert werden. Zeigen Sie, dass sich die Summeder Gitterpunkte mit

11 − 2−d

N ≤ 2N (27.27)

abschatzen lasst.

Page 312: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.2 Diskretisierungsmethoden 321

Die Aufgabe 128 zeigt, dass wir unabhangig von der Dimension d nichtmehr als doppelt so viele Diskretisierungspunkte benotigen. Ebenso konnenwir fur die Anzahl der arithmetischen Operationen argumentieren: Wirbenotigen O(N) Rechenoperationen fur eine Grobgitterkorrektur.

Da die Reduktion des Residuums unabhangig von der Anzahl der Dis-kretisierungsparameter N ist, hangt auch die Anzahl der durchzufuhrendenIterationsschritte, um eine vorgegebene Reduktion des Residuums zu errei-chen, nicht mehr von N ab. Wir haben einen Losungsalgorithmus fur dasModellproblem 35 angegeben, der linear sowohl in Rechenzeit als auch imSpeicherplatz ist. Das Mehrgitterverfahren ist optimal in dem Sinn, dass dieAnzahl der zur Losung der betreffenden Gleichungssysteme erforderlichenRechenoperationen proportional zur Anzahl der Unbekannten ist.

Wir konnen die beschriebene Mehrgittermethode auch unter dem Aspektder Filterung (Kap. 19.4 und 19.5) betrachten. Die Projektion auf das grobeGitter entspricht der Anwendung eines Mittelwertfilters mit Maske [ 1 2 1 ].Durch die vorausgegangenen Glattungsschritte ist der hochfrequente Anteilim Residuum so stark reduziert, dass wir den Differenzanteil vernachlassigenkonnen und den Vektor auch schon durch weniger Gitterpunkte gut darstellenkonnen. Die Anwendung von Hochpass- und Tiefpass-Filtern nach Abb. 19.6reduziert sich daher auf die Ausfuhrung der Mittelwertfilter. Es ergibt sicheine neue Darstellung auf dem groberen Gitter. Die neuen Vektoren wer-den wieder geglattet, und das Verfahren rekursiv wiederholt. Auf untersterStufe wird das sich ergebende kleine Gleichungssystem exakt gelost, und dieLosungsvektoren wieder Level fur Level hoch projiziert auf die feineren Git-ter, bis auf der obersten Stufe eine verbesserte Losung bereit steht.

27.2.3 Finite-Element-Diskretisierungen

Eine weitere, wichtige Diskretisierungsmethode ist die Finite-Elemente-Me-thode. Diese Technik wurde im Wesentlichen von Ingenieuren entwickelt. ImJahr 1956 wurde sie erstmalig als umfassendes Naherungsverfahren fur die ge-samte Struktur- und Kontinuumsmechanik fur die Berechnung gefeilter Flug-zeugtragflugel bei dem Flugzeughersteller Boeing in Seattle eingesetzt. DieFinite-Elemente-Methode gliedert komplizierte Teile in einfache Abschnitte,die eine naherungsweise Berechnung des realen Bauteils ermoglichen. Hierbeiwird ein idealisiertes Modell aus einfachen (endlichen) Bauelementen wie z.B.Staben, Dreieckselementen oder Tetraedern, den sogenannten finiten Elemen-ten, zusammengesetzt. Damit lassen sich Verformungen, mechanische Span-nungen, Drehungen u.a. an komplizierten, analytisch nicht berechenbaren,belasteten Bauteilen ermitteln. Der Begriff Finite Elemente beschrankt sichheutzutage nicht mehr auf Probleme der Festigkeitslehre, sondern steht furein allgemeines numerisches Losungsverfahren. Wir geben eine spektakulareAnwendung in dem

Page 313: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

322 27 Partielle Differentialgleichungen

Beispiel 50. Das Dach des Munchner Olympiastadions, siehe Abb. 27.10,wurde Ende der sechziger Jahre mit Hilfe der Finiten-Element-Methode kon-struiert. Die Struktur des Dachs, die sich unter Berucksichtigung seines Ei-gengewichts oder des zusatzlichen Gewichts einer Schneedecke ergeben wurde,konnte so berechnet werden. Weiterhin konnten die durch den Wind auf dieTragseile wirkenden Krafte abgeschatzt werden.

Abb. 27.10. Das an Seilen aufgehangte Munchner Olympiastadion Dach wurdevor dem Bau mit der Finiten-Element-Methode analysiert.

In diesem Abschnitt befassen wir uns allerdings nicht mit einem so ehr-geizigen Ziel. Wir entwickeln die Finite-Element-Technik vielmehr an demuns vertrauten Modellproblem (35). Der generelle Ausgangspunkt fur dieFinite-Element-Methode ist ein Variationsproblem. Wir formen das Modell-problem (35) um: Durch multiplizieren mit einer beliebigen Funktion v ∈ Veines Funktionenraumes V und anschließendem Integrieren uber das gesamteDefinitionsgebiet Ω erhalten wir

−∫

Ω

vΔudx =∫

Ω

vfdx ∀ v ∈ V. (27.28)

Die Gleichung (27.28) formen wir mittels des Gauß’schen Integrationssat-zes um in∫

Ω

∇v ◦ ∇udx =∫

Ω

vfdx +∫

∂Ω

v∂νudS ∀ v ∈ V. (27.29)

In dem Funktionenraum V sammeln wir alle die Funktionen v, fur die dieIntegrale aus Gleichung (27.29) definiert sind. Eine ausfuhrliche Beschreibungdieser Sobolev-Raume und ihrer Eigenschaften findet sich in [119].

Diese Umformulierung ist von zentraler Bedeutung. Daher fuhren wir ei-nige Abkurzungen ein in der

Definition 37. Im Folgenden wollen wir vereinbaren

Page 314: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.2 Diskretisierungsmethoden 323

a(v, u) :=∫

Ω

∇v ◦ ∇udx ∀ u, v ∈ V (27.30)

sowiel(v) :=

∫Ω

vfdx +∫

∂Ω

v∂νudS ∀ v ∈ V. (27.31)

Die Ableitung ∂νu beschreibt die Ableitung in Richtung des Normalenvektor νan den Rand ∂Ω.

Fur die Gleichung (27.28) ergibt sich

a(v, u) = l(v) ∀ v ∈ V, (27.32)

als variationelle oder schwache Formulierung des Modellproblems (27.3).

Mit (27.30) wird ein abstraktes Skalarprodukt fur Funktionen v, u ∈ Vdefiniert. Die variationelle Formulierung (27.32) hat gegenuber der differen-tiellen Formulierung (27.3) eine attraktive Eigenschaft: Die Berechnung derLosung u lasst sich als eine Suche nach einem Minimum in einem abstraktenFunktionenraum interpretieren. Dies machen wir uns klar in dem

Theorem 8 (Minimierungseigenschaft der schwachen Formu-lierung). Das Funktional

J(v) :=12a(v, v) − l(v) (27.33)

nimmt sein Minimum u genau dann in V an, wenn Gleichung (27.32) erfulltist. Den einfachen Beweis uberlassen wir als Ubungsaufgabe 142.

Anmerkung 70. Diese mathematische Minimierungseigenschaft ist eine Fol-ge eines physikalischen Energieprinzips, denn stationare Losungen nehmenstets ein relatives Energieminimum an. Viele physikalische Aufgabenstellun-gen werden in Form von Variationsproblemen gestellt. Der Umweg uber dieFormulierung als ein differentielles Problem erscheint als mathematische Kur.

Die variationelle Formulierung (27.32) ist der Ausgangspunkt fur dieDiskretisierung. Wir nehmen an, dass die Losung u des variationellen Pro-blems im Ansatzraum u ∈ A ⊂ V liegt. Wir ersetzen die beiden unendlich-dimensionalen Funktionenmengen A und V durch endlich-dimensionale Funk-tionenmengen AN und VM . Wahlen wir AN = VM , so sprechen wir von einerRitz-Galerkin-Diskretisierung. Im allgemeinen Fall mit AN = VM von einerPetrov-Galerkin-Diskretisierung.

Als Beispiel fur die Wahl des Ansatzraumes AN und des Testraumes VM

zeigen wir die ein-dimensionale Standard-Hutchen-Basis, siehe Abb. 27.11.Die Losung uN ∈ AN erhalten wir aus der diskretisierten variationellen

Formulierunga(vM , uN ) = l(vM ) ∀vM ∈ VM . (27.34)

Page 315: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

324 27 Partielle Differentialgleichungen

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Abb. 27.11. Die ein-dimensionale Standardhutchen-Basis fur den Ansatzraum AN

und den Testraum VM .

Formal gesehen ergibt sich Gleichung (27.34) aus Gleichung (27.32), in-dem wir den Ansatzraum A durch AN und den Testraum V durch VM erset-zen.

Wir veranschaulichen den Zusammenhang der Losung u der Gleichung(27.32) und der Losung uN der Gleichung (27.34) in der Abb. 27.12.

VN

u

uN

V

Abb. 27.12. Eine geometrische Interpretation der Finiten-Element-Methode: DieOrthogonalprojektion der gesuchten, exakten Losung u ∈ V liefert die numerischeNaherungslosung uh ∈ Vh in dem endlich-dimensionalen Unterraum Vh.

Die Losung uN ∈ VM konnen wir als Bestapproximation der Losung u ∈ Vinterpretieren, siehe auch Anhang B.5. Dazu mussen wir noch zeigen, dassdie Bilinearform a(., .) ein Skalarprodukt ist. Dies uberlassen wir in der

Page 316: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.2 Diskretisierungsmethoden 325

Ubung 129. Zeigen Sie: Durch die Bilinearform a(., .) aus Gleichung (27.30)wird ein Skalarprodukt vermittelt.

Um die Funktionen uN und vM in einem Rechner darstellen zu konnen,fuhren wir die beiden Funktionenbasen {aj∈ V |0 ≤ j ≤N} fur den Ansatz-raum AN und {ti ∈ V |0 ≤ i ≤ M} fur den Testraum VM ein. Jede Funkti-on uN ∈ AN hat dann eine eindeutige Reprasentation

uN =N∑

j=0

ujaj (27.35)

Diese Darstellung aus Gleichung (27.35) setzen wir in Gleichung (27.32)ein und erhalten

N∑j=0

uja(ti, aj) = l(ti) ∀ ti ∈ VM . (27.36)

Die Gleichungen (27.36) stellen ein lineares Gleichungssystem

Au = b (27.37)

fur den Vektor u der Koeffizienten ui der gesuchten Naherungslosung uN dar.Fur die Matrix A und die rechte Seite b erhalten wir aus Gleichung (27.36)

A = (a(ti, aj))0≤j≤N, 0≤i≤M und (27.38)

b = (l(ti))0≤i≤M . (27.39)

Ubung 130. Berechnen Sie die Eintrage der Matrix A fur die ein-dimensio-nale Standard-Hutchen-Basis, wie sie in Abb. 27.11 definiert ist.

Wir stehen vor der Aufgabe, das Gleichungssystem (27.36) effizient zulosen. Dazu konnen wir den Gauß-Algorithmus, ein klassisches Iterationsver-fahren oder das eine Modifikation des oben eingefuhrten Mehrgitterverfahrenverwenden.

An dieser Stelle wollen wir die Eigenschaft des Energieminimums derLosung u der variationellen Ausgangsgleichung (27.32) aus Ubung 8 nutzen.Diese energieminimale Interpretation trifft auch fur die diskrete variationelleFormulierung (27.36) zu.

Ubung 131 (Energieminimum des diskreten variationellenProblems). Zeigen Sie, dass die in (27.38) definierte Matrix A positiv definitist. Unter dieser Voraussetzung gilt wie bei Theorem 8:

Die Losung uN des linearen Gleichungssystems (27.36) minimiert das dis-krete Funktional

JN (v) := 1/2 vT Av − bT v, mit v ∈ VM . (27.40)

Geben Sie den Wert des Funktionals JN fur das Minimum uN an.

Fur positiv definite Matrizen A ist die Bestimmung der Losung desGleichungssystems (27.37) mit dem Aufsuchen eines Minimums nach Glei-chung (27.40) aquivalent. Wir verweisen auf die Verfahren aus Abschn. 22.

Page 317: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

326 27 Partielle Differentialgleichungen

27.3 Weitere Beschleunigungsmethoden

In diesem Kapitel wollen wir noch zwei weitere Ideen vorstellen, wie wir dienumerische Losung weiter beschleunigen konnen. Diese stellen auch aus Sichtder Datenverarbeitung interessante Probleme dar.

27.3.1 Adaptivitat

In Abschnitt 27.2 haben wir gelernt, dass die Genauigkeit ε einer diskretenLosung mit der Anzahl des Diskretisierungspunkte N uber eine Gleichungder Art

ε = O(Nα) (27.41)

mit einem 0 > α ∈ IR zusammenhangt. So haben wir z.B. in Tabelle 27.2den maximalen Betragsfehler ε der Anzahl der Freiheitsgrade N gegenubergestellt.

Da wir das Ausgangsproblem so genau wie moglich berechnen wollen,interpretieren wir die Genauigkeit ε im Folgenden als Nutzen einer Diskre-tisierung. Dem gegenuber stehen die Kosten des Losungsalgorithmus, derSpeicherplatz benotigt und Rechenzeit verwendet. Konnten wir jedem die-ser Diskretisierungspunkte ein Kosten-Nutzen-Verhaltnis zuschreiben, dannlage es nahe, nur die Diskretisierungspunkte zu verwenden, die relativ vielzur Genauigkeit betragen, und die Diskretisierungspunkte wegzulassen, dienur unnotig Speicher und Rechenzeit verschwenden. Um diesen okonomi-schen Aspekt in die Diskretisierung einbringen zu konnen, benotigen wireinen Fehlerschatzer, der jedem Diskretisierungspunkt ein Kosten-Nutzen-Verhaltnis zuschreibt. Es gibt viele Ansatze fur Fehlerschatzer, die wir hiernicht aufzahlen konnen. Einen Uberblick gibt [115].

Ein nahe liegendes Maß ist z.B. eine bestimmte Ableitung in dem Dis-kretisierungspunkt. Dabei gehen wir von der Vorstellung aus, dass Bereichemit relativ großen Ableitungen starker aufgelost werden mussen als Bereiche,die relativ glatt sind, um ein bestimmten Fehler ε kontrollieren zu konnen.Wir konnen so das Gitter an die spezielle Struktur der zu losenden partiellenDifferentialgleichung anpassen. Wir sprechen in diesen Zusammenhang vonAdaptivitat.

Prinzipiell unterscheiden wir zwei Arten von Fehlerschatzern: die apriori-und die aposteriori-Fehlerschatzer5.

Ein apriori-Fehlerschatzer leitet aus der speziellen Differentialgleichung,den Anfangs- und Randwertvorgaben die Bereiche sensibler Auflosung ab undverdichtet dort die Diskretisierungspunkte. Danach wird die Losung berech-net. Die Feinheit des Gitters ist fest vorgegeben. In Abb. 27.13 sehen wir einvor der numerischen Rechnung erzeugtes Gitter.

Im Gegensatz dazu wird bei einem aposteriori-Fehlerschatzer zunachsteine Losung auf einem relativ groben Gitter berechnet. Anschließend zeigt5 apriori = lat. vorher; aposteriori = lat. nachher

Page 318: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.3 Weitere Beschleunigungsmethoden 327

Abb. 27.13. Adaptive Diskretisierung mit feinerem Gitter in der Nahe des kriti-schen Knickbereichs.

der Fehlerschatzer die Bereiche an, in denen es sich lohnt, weitere Diskre-tisierungspunkte einzufugen, und wo wir ggf. sogar Diskretisierungspunktewieder herausnehmen konnen. Die zugrunde liegende Datenstruktur musssolche Einfuge- und Herausnahmeoperationen effizient unterstutzen konnen.Der Losungsalgorithmus wird solange das Gitter verfeinern und die entspre-chende Losung berechnet, bis eine vorgegebene Genauigkeit ε0 unterschrittenwird. Das ist ein großer Vorteil, denn haufig wissen wir nicht im Vorhinein, wowir die Diskretisierungspunkte geschickt zu verteilen haben. Auch hangt dieoptimale Gittergenerierung ganz davon ab, fur welches Fehlermaß wir uns in-teressieren. Diese Arbeit kann ein selbstadaptiver Algorithmus ubernehmen,den wir hier angeben.

[Der selbst-adaptive Algorithmus]konstruiere grobes Startgitter G[0];n = 0;DOloese diskretes Problem fuer Gitter G[n];schaetze Kosten/Nutzen-Beitraege mit dem

aposteriori-Fehlerschaetzer;fuege dem Gitter G[n] an den angezeigten Stellen neue

Gitterpunkte hinzu,daraus entsteht dann das Gitter G[n+1];

n = n + 1;UNTIL ( "geschaetzer Fehler" > epsilon[0] )\\ n = Anzahl der Verfeinerungsschritte

Page 319: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

328 27 Partielle Differentialgleichungen

Dieser selbstadaptive Algorithmus konnte z.B. in der Wettersimulationsinnvoll eingesetzt werden. In der Nahe der berechneten Wetterfronten konnteder Algorithmus automatisch mit einer verfeinerten Gitterauflosung nach-iterieren. Es konnte gezeigt werden, dass derartige selbstadaptive Verfahrendie benotigten Rechenzeiten um einen Faktor 100 reduzieren konnten.

Aus diesem Beispiel wird klar, dass es sich bei der Adaptivitat um einzusatzliches Prinzip zum Beschleunigen von Losungsalgorithmen handelt.

27.3.2 Parallelitat

Die Parallelisierung ist ein universelles Werkzeug zur Beschleunigung vonAlgorithmen. Wie wir dieses Werkzeug fur die numerische Losung partiellerDifferentialgleichungen nutzen konnen, stellen wir in diesem Abschnitt vor.

Aufgrund der lokalen Eigenschaft der Differentialoperatoren wirken sichRandbedingungen und Quellterme immer nur auf benachbarte Diskretisie-rungspunkte aus. Daher erlaubt die Losung partieller Differentialgleichungeneinen hohen Grad an Parallelitat. Um eine partielle Differentialgleichung zulosen, konnen wir das ursprungliche Definitionsgebiet Ω in zusammenhangen-de Teilgebiete Ωi, 1 ≤ i ≤ p, zerlegen. In Abb. 27.14 geben wir ein Beispielfur eine Gebietszerlegung an.

Ω1

Ω2

Abb. 27.14. Gebietszerlegung, rechtsschraffiert Gebiet Ω1, linksschraffiert Ω2.

Auf jedem dieser Teilgebiete Ωi losen wir die gegebene Differentialglei-chung. Wir benotigen fur jedes Teilgebiet Ωi Randwertbedingungen. Falltder Rand von Ωi mit dem Rand von Ω zusammen, dann wahlen wir die vor-gegebene Randwertbedingung. Ist dies nicht der Fall, mussen wir die nochfehlenden Randwertbedingungen aus den entsprechenden bekannten Nahe-rungswerten des Nachbargebiets Ωj ubernehmen. Da dies ein symmetrischerProzess ist – denn aus Sicht des Teilgebietes Ωj bestimmen wir die fehlendenRandwertbedingungen aus dem Teilgebiet Ωi und umgekehrt – sind Gebiets-zerlegungsmethoden immer ein iteratives Verfahren: Mit den Randbedingun-gen aus Ω1 berechnen wir eine Losung in Ω2; mit den neuen Randbedingun-

Page 320: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

27.3 Weitere Beschleunigungsmethoden 329

gen aus Ω2 bestimmen wir eine Losung in Ω1 usw.. Dieses iterative Verfahrenbrechen wir ab, wenn die ”inneren” Randwertbedingungen, die im Innern vonΩ1 oder Ω2 liegen, nicht mehr korrigiert werden mussen. Die daraus berech-neten Teillosungen setzen wir zusammen und erhalten die gesuchte Losungdes ursprunglichen Problems. Daraus wird klar, dass die Gebietszerlegung Ωi,1 ≤ i ≤ p das Definitionsgebiet Ω vollstandig uberdecken muss, d.h. es giltΩ ⊂ ∪p

i=1Ωi.Ordnen wir jedem dieser Teilgebiete Ωi einen eigenen Prozessor zu, so

konnen wir die Teillosungen gleichzeitig berechnen. Aus Effizienzgrunden soll-te bei der Zerlegung darauf geachtet werden, dass der Durchschnitt zweierbeliebiger Teilgebiete Ωi und Ωj nicht ”zu groß“ wird. Denn sonst bestim-men wir die Losung im Durchschnittsgebiet Ωi ∩Ωj unnotigerweise doppelt.Andererseits sollte der Durchschnitt groß genug sein, um einen schnellen In-formationsfluss von einem Teilgebiet ins andere zu ermoglichen, damit dieinneren Randwerte – und damit das Gesamtverfahren – schnell konvergieren.

Wie oben schon bemerkt, werden bei der Berechnung der Losung jeweilszwischen den zugeordneten Prozessoren zweier Teilgebiete Ωi und Ωj uberderen gemeinsamen Rand Daten ausgetauscht. Die Organisation dieser noti-gen Kommunikation ist die ”hohe Kunst“ der Gebietszerlegungsmethoden. ImVergleich zu einem sequentiellen Losungsalgorithmus verlangen wir von einemrobusten Gebietszerlegungsalgorithmus, dass wir beim Einsatz von p Prozes-soren eine Beschleunigung der Rechenzeit um den Faktor 1/p unabhangigvon der Art der Gebietszerlegung erzielen. Dazu mussen wir erreichen, dassdie benotigte Rechenzeit zum Zerlegen des Ausgangsproblem, der notigenKommunikation zwischen den Teilgebieten wahrend der Iteration und zumZusammenfugen der Teillosungen vernachlassigbar ist gegenuber der Rechen-zeit zum Losen der einzelnen Teilprobleme.

Der Speed-up durch diese Losungsbeschleunigung liegt zwischen dem WertEins – d.h. keine Beschleunigung – und p, was der maximal zu erwartendenBeschleunigung entspricht. Da die Rechenzeit des parallelen Losungsalgorith-mus im Wesentlichen durch die benotigte Rechenzeit des langsamsten Teil-prozesses bestimmt ist, versuchen wir, diesen Prozess zu identifizieren und zuentlasten, indem wir das Gebiet Ω so zerlegen, dass alle Prozessoren moglichstgleich ausgelastet sind. Um eine ideale Gleichauslastung der Prozessoren zuerhalten, verwenden wir Load-Balancing-Methoden. Darunter verstehen wirdie Verteilung der einzelnen Arbeitsauftrage auf die einzelnen Prozessoreneiner parallelen Applikation. Das Ziel der Lastverteilung ist, moglichst solcheTeilaufgaben zu definieren, die unter Beachtung der moglicherweise unter-schiedlich schnellen Prozessoren zu einer minimalen Gesamtlaufzeit fuhren.

Abschließend analysieren wir eine spezielle Gebietszerlegungsmethodemathematisch. Wir betrachten den Spezialfall einer minimalen Uberlappungder Teilgebiete Ωi fur eine Finite-Differenzen Diskretisierung. Es handelt sichum eine sog. nichtuberlappende Gebietszerlegung, bei der der Durchschnittzweier Teilgebiete nur aus einer dunnen Randschicht besteht. Die Diskreti-

Page 321: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

330 27 Partielle Differentialgleichungen

sierungspunkte nummerieren wir entsprechend den Teilgebieten. Die innerenDiskretisierungspunkte des Teilgebiets Ω1 erhalten daher die Nummern 1,. . . , n1, des Teilgebiets Ω2 die Nummern n1 + 1, . . . , n1 + n2, usw. DieDiskretisierungspunkte auf den Grenzlinien aller Durchschnitte Ωi ∩ Ωj miti = j werden mit den Nummern n1 + . . .+np + li, . . . versehen. Die Matrix Aaus (27.37) erhalt dadurch die Struktur⎛⎜⎜⎜⎜⎜⎝

A1 B1

A2 B2

. . ....

Ap Bp

C1 C2 · · · Cp AS

⎞⎟⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎜⎝u1

u2

...up

uS

⎞⎟⎟⎟⎟⎟⎠ =

⎛⎜⎜⎜⎜⎜⎝b1

b2

...bp

bS

⎞⎟⎟⎟⎟⎟⎠ . (27.42)

Die oberen p Blocke entsprechen gerade den Steifigkeitsmatrizen Ai allerTeilgebiete Ωi mit 1 ≤ i ≤ p. Wir konnen die Matrix A nun in Blockformschreiben (

AI BC AS

)(xI

xS

)=(

bI

bS

)(27.43)

mit Block-Diagonalmatrix AI . Diese Diagonalform ist nun der Grund fur diegute Parallelisierbarkeit. Zum effizienten Losen von (27.43) eliminieren xI

mittelsAIxI + BxS = bI → xI = A−1

I (bI − BxS). (27.44)

Dieser Schritt entspricht der Losung der partiellen Differentialgleichung aufden Teilgebieten Ωi, i = 1, ..., p. Die Gebietszerlegung erlaubt also p kleinereRandwertprobleme zu losen; dazu benotigt wird aber die Kenntnis von xS .Setzen wir die gesuchten Teillosungen in (27.43) ein, so erhalten wir eineGleichung zur Bestimmung von xS :

bS = CxI + ASxS = CA−1I (bI − BxS) + ASxS

=(AS − CA−1

I B)xS + CA−1

I bI (27.45)

und daher(AS − CA−1

i B)xS = bS − CA−1I bI . (27.46)

Die Losung des ursprunglichen Gleichungssystems (27.42) ist auf dieLosung eines kleineren Systems mit der Matrix AS − CA−1

I B, dem Schur-Komplement von AI in A, zuruckgefuhrt worden.

Das Gebietszerlegungsverfahren unterstutzt somit die effiziente, paralleleLosung des ursprunglichen Problems durch geschickte Nummerierung dergesuchten Koeffizienten. Daraus resultiert eine Aufspaltung der Matrix ineine große Block-Diagonalmatrix plus Randspalten und -zeilen, die mittelsSchurkomplement gelost werden kann.

Page 322: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

28 Beispiele

”Fur regelmaßige numerische Wettervorhersagen ist ein Heer vonrund 64000 mit Rechenmaschinen bewaffneten Mathematikern not-wendig.“

Lewis Fry Richardson (1881 bis 1953)

28.1 Wetter

Eine mathematisch-physikalische Wettervorhersage geht von der folgendenGrundidee aus: Wir kennen den kompletten Zustand der Atmosphare zu ei-nem gegebenen Zeitpunkt t0 und berechnen fur die Zukunft mit Hilfe phy-sikalischer Gesetzmaßigkeiten die sich daraus ergebenden atmospharischenBewegungen und Veranderungen. Daraus lassen sich die Wettererscheinun-gen ableiten. Ein atmospharischer Zustand ist vollstandig durch die drei-dimensionale raumliche Verteilung von insgesamt sechs Variablen beschrie-ben: Den drei Geschwindigkeitskomponenten des Windes v, dem Luftdruck p,der Luftdichte � und der Luftfeuchte.

Das Wetter sorgt als ein gigantisches Energieunternehmen dafur, dass dievon der Sonne hauptsachlich am Aquator einfallende Energie zu den beidenPolen abgefuhrt wird, wo diese Energie in den Weltraum abgestrahlt wird.Wir konnten sonst keine stabilen Verhaltnisse fur das Leben auf der Erdevorfinden. Die fur das Wetter relevanten atmospharischen Bewegungen spie-len sich zwischen der Erdoberflache und der Tropopause1 ab, die sich uberdem Aquator in einer Hohe von ca. 15 km und uber den Polen in der Hohevon ca. 8 km befindet, siehe Abb. 28.1.

In den Randbedingungen des Wetters gehen die Wechselwirkungsprozessezwischen der Atmosphare und einerseits der Erd- und Wasseroberflache undandererseits des Weltraums ein.1 Die Tropopause ist die obere Grenze der Troposphare, des untersten Stockwerks

der Atmosphare. Das Wort Troposphare leitet sich aus dem Griechischen ab undist eine Kurzbildung von Trope = Wendung und Atmosphare. Sie enthalt 3/4der gesamten Atmospharenmasse und den gesamten Wasserdampf.

Page 323: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

332 28 Beispiele

Abb. 28.1. Bild der Erde mit Erd- und Wasseroberflache, sowie Tropopause undWechselwirkungen zwischen Sonne, Erde und Weltraum.

Den Anfangszustand der Atmosphare liefert die meteorologische numeri-schen Analyse: Die Verteilung eines atmospharischen Zustands wird an Beob-achtungsstationen gleichzeitig zu den Mannheimer Stunden ermittelt und ineinem drei-dimensionalen diskreten Gitter, bestehend aus den entsprechen-den Beobachtungsorten, dargestellt. Bei dieser vereinfachten Reprasentationder Atmosphare gehen viele Details sowie kleinraumige Strukturen verloren.Wir machen an dieser Stelle einen Modellierungsfehler: Jeder numerischenVorhersagerechnung liegt eine mehr oder weniger vereinfachte Wiedergabeder wirklichen Atmosphare zugrunde. Je nach Art und Grad der Vereinfa-chung unterscheiden wir verschiedene Wettermodelle, welche sich nicht nur inder Maschenweite des verwendeten horizontalen Gitternetzes unterscheiden,sondern auch in der Anzahl der Flachen, mit der die drei-dimensionale Atmo-sphare dargestellt wird, siehe Abb. 28.2. Vor allem aber in deren Annahmenuber die physikalischen Prozesse, die nicht ohne tief greifende Vereinfachungbehandelt werden konnen. Eine Diskussion dieser Vereinfachungen wurde zuweit gehen. Doch damit nicht genug: Prinzipiell konnten wir auch nur un-gefahr 1/3 der Erdoberflache mit einem hinreichend engen Netz von orts-festen Beobachtungsstationen versehen. Denn auf den Ozeanen sind Wetter-beobachtungen nur bedingt moglich: Zwar gibt es einige Hauptverkehrswas-

Page 324: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

28.1 Wetter 333

serwege und die dort reisenden Schiffe konnen Wetterbeobachtungen liefern,doch decken diese die Weltmeere nicht flachendeckend ab.

Abb. 28.2. Drei-dimensionales Gitter zur Modellierung der Erdatmosphare.

Ein analysierter Anfangszustand der Atmosphare zu einem bestimmtenZeitpunkt t0, die Kenntnis der Randbedingungen und ein angemessenes phy-sikalisches Modell erlauben die Berechnung eines Zustandes der Atmospharezu einem in der Zukunft liegendem Zeitpunkt t1 > t0. Diesen konnen wir alsAnfangszustand interpretieren und einen weiteren atmospharischen Zustandzum Zeitpunkt t2 > t1 berechnen. Diese Iteration liefert die zeitliche Ent-wicklung der atmospharischen Zustande zu einer Folge von Zeitpunkten t0,t1, t2, . . .

Von einer Wetterprognose verlangen wir, dass sich die Ergebnisse schnellerberechnen lassen, als sich die Atmosphare selbst weiterentwickelt.

Zur Vorausberechnung eines atmosphahrischen Zustands, der wie bereitserwahnt aus sechs Variablen besteht, benotigen wir aus mathematischenGrunden ein Gleichungssystem von ebenfalls sechs unabhangigen Gleichun-gen. Ein Wettermodell muss mindestens sechs Gleichungen aufweisen.

Wir geben eine motivierte, aber knappe Einfuhrung zu den Modellglei-chungen. Weiterfuhrende Literatur findet man in [76]. Wir beginnen mit derDynamik der Atmosphare. Gemaß dem zweiten Newton’schen Axiom ”Kraft= Masse × Beschleunigung“ setzt sich die resultierende Beschleunigung einesgegebenen Luftquantums aus der Summe der in der Atmosphare wirkendenKrafte, der Gravitationskraft, der Gradientenkraft, der Corioliskraft und derReibungskraft, zusammen. Wir erhalten fur die drei Komponenten des Windsdie drei hydrodynamischen Bewegungsgleichungen

ddt

v =1ρ∇p − g − 2Ω ◦ v + F. (28.1)

Page 325: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

334 28 Beispiele

Dabei beschreibt g die lokale Gravitationsbeschleunigung, Ω die Winkel-geschwindigkeit der Erde und F das Dissipationsmoment auf ein bestimmtesLuftquantum, siehe Abb. 28.3.

p

p+dp

Abb. 28.3. Durch Druckdifferenzen erzeugte Kraft auf ein Luftquantum.

Da die Atmosphare ein im Wesentlichen abgeschlossenes System darstellt,und atmospharische Masse weder neu entsteht noch verloren geht, leiten wiraus der Massenerhaltung die Kontinuitatsgleichung

ddt

ρd = −ρd∇ ◦ v, (28.2)

fur die Dichte �d der trockenen Luft ab, siehe Abb. 28.4.

m0

m2m4

m1

m3

m5

Abb. 28.4. Die Summe aller zu- und abstromenden Massen verschwindet fur jedesLuftquantum.

Um den Effekt, der die Atmosphare antreibt, zu beschreiben, modellierenwir mittels des ersten Hauptsatzes der Warmelehre

Page 326: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

28.1 Wetter 335

cpddt

T − Rddt

p = Q (28.3)

die Erhaltung der Energie. Dabei beschreibt cp die spezifische Warmekapa-zitat bei konstantem Druck p, T die Temperatur, R die Gaskonstante derfeuchten Luft und Q die zu- oder abgefuhrte Warmemenge. Die sechste Glei-chung (28.4) ist die Zustandsgleichung idealer Gase, die einen Zusammenhangzwischen der Dichte �, der Temperatur T und dem Druck p herstellt. Damitkonnen wir die nur schwer zu bestimmende Luftdichte � durch den Luftdruckp und die Temperatur T ersetzen

p = �RT. (28.4)

Diese Gleichung wird in die anderen Gleichungen eingesetzt und die An-zahl der Variablen und Gleichungen um Eins reduziert. Schließlich wirdzur Vorhersage der Luftfeuchte noch eine Wasserdampftransportgleichungbenotigt, die neben dem Transport auch Quellen und Senken des Wasser-dampfs beschreiben kann:

ddt

�w = −�w∇ ◦ v + S. (28.5)

Hier bedeuten �w die Dichte des Wasserdampfs und S Wasserdampfquel-len und -senken. Fur die gesamte Luftdichte ergibt sich

� = �d + �w. (28.6)

Dieses mathematisch-physikalische Grundmodell fur die Meteorologie istvor weit mehr als 100 Jahren in seinen Grundzugen entwickelt worden. Esbeschreibt die Vorgange in der Atmosphare, die die Wettererscheinungenbestimmen, und hat im Laufe seiner Weiterentwicklung eine Vielzahl vonErganzungen und Verbesserungen erfahren.

Das Gleichungssystem (28.1) bis (28.6) ist wegen der Nichtlinearitat derpartiellen Differentialgleichungen so kompliziert, dass es nicht analytischlosbar ist. Nicht einmal die Anfangs- und Randwertvorgaben sind geschlossenbeschreibbar.

Numerische Verfahren bieten hier einen erfolgversprechenden Losungsan-satz. Bei der Losung dieses Gleichungssystems diskretisieren wir alle Glei-chungen einzeln und koppeln diese uber ihre gemeinsamen Variablen. Dabeigehen wir wiederum iterativ vor: Wir losen der Reihenfolge nach die Glei-chungen und verwenden deren Losung jeweils als Anfangs- und Randwertefur die nachste Gleichung. Wir iterieren solange, bis sich die Losung des ge-samten Systems nicht mehr verandert. Wir schließen ab mit der

Ubung 132 (Speicherplatzabschatzung fur Wettervorhersage). Ver-deutlichen Sie sich den enormen Speicherbedarf einer Diskretisierung einesatmospharischen Zustandes zu einem festen Zeitpunkt ti. Geben sie den Spei-cherplatzbedarf an, unter der Annahme, dass wir die gesamte Erdoberflache

Page 327: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

336 28 Beispiele

mit einem Gitter der Maschenweite h uberdecken konnten und nach oben fFlachen verwenden, siehe in Erganzung auch Ubung 143.

28.2 Tsunami

Die Vorhersage von Wasserwellen bietet ein breites interessantes Anwen-dungsgebiet der angewandten Mathematik, insbesondere in der Modellbil-dung, der Theorie der partiellen Differentialgleichungen und deren numeri-schen Losung. Wasserwellen kann man zunachst grob danach unterscheiden,welche Wasserschichten bewegt werden:

1. ”gewohnliche“Meereswellen, wie sie z.B. durch den Wind angeregt wer-den, die nur oberflachennahe Wasserschichten bewegen und

2. Tsunamis2, die die gesamte Wassersaule bis zum Meeresboden bewegen.

In diesem Abschnitt wenden wir uns der Diskussion der Tsunamis zu,die i.Allg. durch Unterwasserseebeben ausgelost werden, wie dies z.B. am26.12.2004 im indischen Ozean geschah. Tsunamis haben auf hoher See i.Allg.eine sehr kleine Amplitude und sind daher meistens sehr unauffallig. Die Was-serwelle steilt sich erst in Kustennahe zu zerstorerischer Hohe auf.

Der englischen Ingenieur John Scott Russel beobachtete diese außer-gewohnlichen Wasserwellen erstmals im Jahr 1834 in einem Kanal bei seinemLandhaus in Schottland, siehe www.ma.hw.ac.uk/~chris/scott_russel.html. Russel experimentierte mit diesen Kanalwellen, so genannten Solito-nen, und erkannte, dass die Solitonen keine ”Oberflachenwellen“sind. DieKanalwellen sind formstabil und breiten sich mit einer Geschwindigkeit aus,die im Wesentlichen von der Wassertiefe h abhangt. Die Uberlagerung vonKanalwellen fuhrt nicht zu den bei Wellen erwarteten Phanomenen wie Inter-ferenz oder Ausloschung: Die Solitionen verhalten sich uberraschenderweiseganz im Gegenteil eher wie Teilchen.

Der niederlandische Mathematiker Diederik Korteweg und sein Dokto-rand Gustav de Vries zeigten im Jahr 1895, dass Solitionenwellen mit derAmplitude u in einem Gewasser mit der konstanten Tiefe h der partiellenDifferentialgleichung

1gh

ut +(

1 +32h

u

)ux +

h2

6uxxx

Δ= 0 (28.7)

genugen und gaben die Losung

u(x, t) = A cosh−2 x − vt

L

mit dem Parameter L als Breite der Welle an. Die partielle Differentialglei-chung (28.7) lasst sich normieren zu der heute bekannten Korteweg-de-Vries-Gleichung2 Das japanische Wort Tsunami bedeutet Hafenwelle.

Page 328: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

28.3 Bildverarbeitung und PDE 337

ut + uxxx − 6 u uxΔ= 0. (28.8)

Die Korteweg-de-Vries-Gleichung (28.8) ist eine nicht-lineare Differentialglei-chung und lasst sich aus den Euler-Lagrange-Gleichungen der Hydrodyna-mik unter vereinfachenden Annahmen, wie ein-dimensionaler Ausbreitung inRichtung x, konstanter Wassertiefe h etc., herleiten. Die Korteweg-de-Vries-Gleichung beschreibt nicht nur das Verhalten der Tsunamis, sondern z.B.auch das Verhalten von optischen Solitonen, die verlustfrei Information inGlasfaserkabeln transportieren.

Die Diskussion, ob die Korteweg-de-Vries-Gleichung die Solitonenwellenhinreichend korrekt modelliert, ist noch nicht abgeschlossen. Korteweg undde Vries haben eine fur die Herleitung notwendige Taylor-Entwicklung zu fruhabgeschnitten, namlich nach dem dritten anstatt nach dem funften Glied.

Die Simulation eines Tsunamis ist grundsatzlich nur dann moglich, wennSeebeben und ihre Epizentren genau detektiert werden konnen. Eine sinnvolleWarnung kann wiederum nur dann ausgesprochen werden, wenn die Solito-nenwellen mindestens in Echtzeit simuliert werden konnen. Dagegen sprechenmindestens folgende Punkte:

– Anfangswerte: nicht genugend und unvollstandige Anfangsdaten der Was-serwellen,

– Randbedingungen: zu ungenaues Kartenmaterial fur die Ozeane und derenKustenregionen,

– Modellgleichungen fur das ”Innere“ der Ozeane: fehlende Bestimmungs-gleichungen fur eine drei-dimensionale Beschreibung sowie

– Modellgleichungen fur den ”Rand“ der Ozeane: Beschreibungen fur denUbergang zur Kuste, wo sich die Wellen aufsteilen.

Die drei-dimensionale Beschreibung ist insbesondere fur die numerische Simu-lation ein großes Problem, da man aus Speicherplatzgrunden kein hinreichendfeines Gitter uber einen gesamten Ozean legen kann. Hier fehlen noch Stra-tegien, wie man das Gitter adaptiv verfeinern kann. Die haufigen Fehlalarmedeuten auch darauf hin, dass diese grundlegenden Probleme der Simulation(noch) nicht gelost sind, siehe auch [121].

28.3 Bildverarbeitung und PDE

Zunachst sollen hier kurz die wirkenden Mechanismen bei Konzentrati-onsveranderungen in Flussigkeiten beschreiben. Dazu betrachten wir eineFlussigkeit, in der sich ein Stoff in unterschiedlicher, ortsabhangiger Kon-zentration befindet. Durch den Dichteunterschied wird nun eine Stromungj hervorgerufen in Richtung des negativen Gradienten der Konzentrationu(x, t), also

j(x, t) = −D∇u(x, t).

Page 329: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

338 28 Beispiele

Aus der Massenerhaltung folgt weiterhin, dass die Anderung der Kon-zentration in einem Volumenelement nur durch Stromung erfolgen kann, unddaher

∂tu(x, t) = −div(j) = − ∂

∂x1j − ∂

∂x2j − ∂

∂x3j.

Fasst man diese beiden physikalischen Bedingungen zusammen, so folgt

ut = div(D∇u).

Fur den Fall, dass die Diffusionskonstante isotrop ist, d.h. orts- und rich-tungsunabhangig ist, ergibt sich D als reelle Zahl, und damit vereinfacht sichdie Gleichung zu

ut = D div(∇u) = D Δu

mit dem Laplace-Operator Δ.Wir wollen das Modell der Diffusion nun auf die Bildverarbeitung anwen-

den. Dazu betrachten wir ein Schwarz-Weiß-Bild, gegeben durch Grauwer-te in einem zweidimensionalen Feld von Pixeln. Die Grauwerte konnen nunals Konzentration eines Farbstoffes angesehen werden. Dadurch erscheint dasBild als zeitabhangige Momentaufnahme eines Diffusionsprozesses. Abhangigvon der eingesetzten Diffusionskonstanten D kann nun das Bild so in der Zeitvor oder zuruck gerechnet werden, um den Zustand des Bildes vor oder nachEinwirkung der hypothetischen Diffusion zu erhalten. Das gegebene Bild undseine Grauwerte werden also als Startwerte fur eine Diffusionsgleichung

ut = div(D∇u)

aufgefasst. Mittels einer Diskretisierung in Orts- und Zeitvariablen konnenwir dann die Grauwerte des Bildes im folgenden Zeitschritt wegen (uij,k+1 −uij,k)/τ ≈ ut(xij , tk) naherungsweise berechnen aus

uk+1 = uk + τ div(D∇u)|xij ,tk.

Die Orts-Diskretisierung entspricht dabei dem durch die Pixel gegebenemGitter. Auf diese Art und Weise kann durch verschiedene Wahl der Konstan-ten D und eine bestimmte Anzahl von Zeitschritten das Bild weicher oderscharfer gemacht werden.

Page 330: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

29 Aufgaben

”The essence of mathematics is not to make simple things complica-ted, but to make complicated things simple.“

S. Gudder

Ubung 133 (Verdauung der Wiederkauer). Wiederkauer, wie z.B. Hir-sche, Schafe oder Rinder, haben einen komplizierten Magen. Frisch gefresse-nes, unzerkautes Futter gelangt in ein Vorratskompartiment, Pansen oderRumen genannt. Spater, wenn es zerkaut ist, geht es durch den Blatterma-gen (Omasum), dann in den Labmagen (Abomasum), wo es weiter verdautwird.

Eine erste Naherung fur die Futtermengen im Rumen r(t) und im Abo-masum u(t) zur Zeit t ergibt folgendes mathematisches Modell

r(t) = −k1r, r(t0) = r0,

u(t) = k1r − k2u, u(t0) = u0, (29.1)

mit k1, k2 > 0 und k1 = k2, den so genannten spezifischen Verdauungsraten.Uberzeugen Sie sich, dass das Anfangswertproblem (29.1) ein Spezialfall

des allgemeinen linearen Anfangswertproblems(x0(t)x1(t)

)= A

(x0(t)x1(t)

),

(x0(t0)x1(t0)

)=(

x00

x10

),

mit der Kopplungsmatrix

A =(

a00 a01

a10 a11

)ist. Geben Sie die Besetzung von A sowie x00 und x10 in Abhangigkeit vonk0, k1 und r0, u0 an!

Diskretisieren Sie das AWP (29.1) nach Euler, nach Crank-Nicolson undRuckwarts-Euler. Was ergibt sich jeweils fur f in(

xi+10

xi+11

)= f

(τ, A,

(xi

0

xi1

))?

Page 331: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

340 29 Aufgaben

Hinweis: Nicht nur hier bewahrt sich die Formel(a bc d

)−1

=1

ad − bc

(d −b−c a

).

Ubung 134 (Endwertproblem). Fur y′ = Φ(y, x) und Intervall [a, b] be-trachten wir das Endwertproblem:

Gegeben sei y(b), gesucht ist y(a).

Formulieren Sie ein Verfahren zur naherungsweisen Berechnung von y(a).

Ubung 135. Gegeben ist ein Anfangswertproblem der Form y′(x) = Φ(y, x),y(a) = y0. Bei aquidistanter Schrittweite h betrachten wir die Iterationsvor-schrift

yk+1 = yk +h

2(Φ(yk, xk) + Φ(yk+1, xk+1)) .

a) Aus welcher Quadraturregel ergibt sich dieses Verfahren? Man beschreibeden Zusammenhang!

b) Zeigen Sie, wie man aus der obigen Beziehung bei bekannten Wertenvon xk, yk, und h den neuen Wert yk+1 berechnen kann. Um welcheArt von Problemen handelt es sich dabei? Welche Art von Verfahrenkann man benutzen? Beschreiben Sie die Startbedingungen eines solchenVerfahrens.Geben Sie einen Algorithmus an zur Losung des Anfangswertproblemsmit naherungsweiser Berechnung von y(b) fur ein b > a.

Ubung 136 (Lokale Diskretisierungsfehler des Eulerverfahrens).Gegeben ist das Anfangswertproblem

y′(x) = ϕ(y, x) = x, x0 = 0, y(x0) = 0.

Wir benutzen die aquidistante Einteilung x0 = 0, x1 = h, . . . , xn = nh = b.

a) Bestimmen Sie die exakte Losung y(x) und die Naherungswerte yj ≈y(xj), j = 1, . . . , n, die durch das (Vorwarts)Euler-Verfahren gegebenwerden.

b) Wie groß ist der lokale Diskretisierungsfehler |y1 − y(x1)|? Wie groß istder globale Fehler |yn − y(b)|?

Ubung 137. Gegeben ist das Anfangswertproblem(uv

)′=(−1000 α

α −1

)(uv

), x0 = 0, u(x0) = 1, v(x0) = 1.

Wir benutzen die aquidistante Einteilung x0 = 0, x1 = x0 + h, . . . , xn =x0 + nh = b, also h = b/n.

Page 332: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

29 Aufgaben 341

a) Formulieren Sie das (Vorwarts-)Euler-Verfahren zur Bestimmung vonNaherungslosungen uj ≈ u(xj) und vj ≈ v(xj).

Im Folgenden betrachten wir den Spezialfall α = 0.

b) Bestimmen Sie die exakten Losungen u(x) und v(x). Man gebe eine ein-fache Formel fur die Naherungswerte uj ≈ u(xj) und vj ≈ v(xj) an, diedurch das (Vorwarts)-Euler-Verfahren gegeben werden, in Abhangigkeitvon h.

c) Wie groß darf h gewahlt werden, so dass uj und vj beide fur j → ∞ dasrichtige Verhalten zeigen? Wie groß darf h gewahlt werden, so dass vj furj → ∞ das richtige Verhalten zeigt?

Ubung 138 (Einfaches Populationsmodell). Die Annahme, dass die Ge-burten- und Sterberate einer Population jeweils proportional zur Anzahl derIndividuen ist, fuhrt zu einem einfachen Populationsmodell, das durch fol-gendes Anfangswertproblem beschrieben wird:

x(t) = a x(t), x(t0) = x0.

a) Integrieren Sie das Anfangswertproblem analytisch. Stellen Sie die Er-gebnisse graphisch dar.

b) Diskutieren Sie das Problem mit dem Euler-, dem Ruckwarts-Euler- unddem Crank-Nicolson-Verfahren und beschreiben Sie einen Algorithmuszur numerischen Losung des Anfangswertproblems.

c) Welche Diskretisierungsordnung O(τ) haben die unterschiedlichen Ver-fahren?

Ubung 139 (DuFort-Frankel-Diskretisierung). Die parabolische parti-elle Differentialgleichung

∂tu = λ∂xxu

wird mit der Methode der Finiten Differenzen1

Δt

[un+1

j − un−1j

]=

λ

Δx2

[un

j+1 − (un+1j + un−1

j ) + unj−1

](29.2)

mit Δt > 0 und Δx > 0 diskretisiert. Die Diskretisierung ist wegen

Δhui,j − (ut − uxx) = (Δt)2uttt/6 − (Δx)2uxxxx/12 + (Δt/Δx)2utt + . . .

nur dann konsistent, wenn Δt ”schneller“ als Δx gegen Null geht.Zeigen Sie, dass die Losung der Gleichung (29.2) fur Δt/Δx → q = 0 gegendie Losung der hyperbolischen partiellen Differentialgleichung

q2utt − uxx + ut = 0

konvergiert.Hinweis: Die DuFort-Frankel-Diskretisierung empfiehlt sich insbesondere ausdiesem Grund nicht fur adaptive Verfeinerungsalgorithmen, da die zusatzlicheBedingung, namlich Δt und Δx durfen nicht gleichmaßig gegen Null gehen,zu beachten ist.

Page 333: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

342 29 Aufgaben

Ubung 140 (Laplace-Gleichung). Zeigen Sie, dass die Funktionenscharaus (27.1)

u(x, y) := sin(mπx) sin(nπy), (xy) ∈ Ω := [0, 1]2

fur alle Parameter m, n ∈ IN die Laplace-Gleichung (27.2)

−Δu(x, y) = 0, ∀(x, y) ∈ Ω.

erfullt.

Ubung 141 (d-dimensionale Analyse). Analysieren Sie den Reduktions-faktor q fur das Modellproblem 35 (vgl. Seite 313) im d-dimensionalen Fall.Welchen Einfluss hat die Dimension d?

Ubung 142 (Charakterisierung der variationellen Formulierung alsMinimierungseigenschaft). Beweisen Sie das Theorem 8. Berechnen Sieden Wert des Funktionals fur die Funktion u + tv ∈ V mit u, v ∈ V undt ∈ IR. Zeigen Sie zunachst, dass gilt:

J(u + tv) = J(u) + t

(∫Ω

∇v ◦ ∇vdx −∫

Ω

vfdx − ∂νudS

)+

+t2

2

∫Ω

∇v ◦ ∇vdx (29.3)

Lost die Funktion u die variationelle Formulierung (27.32), so gilt

J(u + tv) = J(u) + t2/2∫

Ω

∇v ◦ ∇vdx > J(u)

∀ 0 = v ∈ V, 0 = t ∈ IR.

Damit ist gezeigt, dass u das Funktional J(.) minimiert. Warum?Minimiert die Funktion u das Funktional J(.), so muss die Ableitung

des Funktionals J(u+ tv)/dt nach t fur alle Funktionen v ∈ V verschwinden.Berechnen Sie diese Ableitung mittels Gleichung (29.3) und folgern Sie darausdie Gleichung (27.32).

Beweisen Sie die Eindeutigkeit der Losung u ebenfalls mit Gleichung(29.3).

Ubung 143 (Notwendige Leistungsfahigkeit fur Wettervorhersage).Schatzen Sie die mindestens notwendige Rechenleistung eines Rechner(-verbundes) in Rechenoperationen pro Sekunde ab, um Zugrichtung einesTiefdruckgebietes mit einer Geschwindigkeit von 500 bis 2500 km/Tag vor-hersagen zu konnen.Hinweis: Die Maschenweite h muss dazu mindestens sowohl die Große einerGewitterzelle mit einem Durchmesser von ca. 10 km als auch f = 30 Flachenabbilden konnen, siehe auch Ubung 132. Geben Sie die Anzahl der Diskreti-sierungspunkte N an. Nehmen Sie weiter an, dass

Page 334: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

29 Aufgaben 343

1. der Zustand der globalen Atmosphare alle 15 Minuten berechnet werdensoll und

2. der numerische Losungsalgorithmus optimale lineare Komplexitat O(N)hat.

Gibt es einen solchen Supercomputer heute schon?

Ubung 144 (Satellitenbahnen im Einfluss von Erde und Mond). DasSystem von Differentialgleichungen

x = x + 2y − μ′ x + μ

((x + μ)2 + y2)2/3− μ

x − μ′

((x − μ′)2 + y2)2/3

y = y − 2x − μ′ y

((x + μ)2 + y2)2/3− μ

y

((x − μ′)2 + y2)2/3

beschreibt die Bewegung eines kleinen Korpers, z.B. eines Satelliten, imKraftfeld zweier großer Korper, z.B. von Erde und Mond. Wir nehmen an,dass die Bewegung der drei Korper in einer festen Ebene erfolgt und dass diebeiden großen Korper mit konstanter Winkelgeschwindigkeit und konstantemgegenseitigem Abstand um ihren gemeinsamen Schwerpunkt rotieren. Insbe-sondere vernachlassigen wir die Storungen durch den kleinen Korper. In einemmitrotierenden Koordinatensystem, in welchem die beiden großen Korper alsruhend erscheinen, wird die Bahn des kleinen Korpers durch ein Funktio-nenpaar (x(t), y(t)) beschrieben, welches dem System von zwei gewohnlichenDifferentialgleichungen zweiter Ordnung genugt. Der Nullpunkt entsprichtdem Schwerpunkt der beiden auf der x-Achse sitzenden großen Korper, μund μ′ = 1 − μ dem Verhaltnis der Massen des auf der positiven bzw. nega-tiven x-Achse gelegenen Korpers zur Gesamtmasse beider Korper. Ferner istdie Langeneinheit so gewahlt, dass der Abstand der beiden großen Korpergleich Eins ist, die Zeiteinheit derart, dass die Winkelgeschwindigkeit derRotation gleich Eins ist, d.h. dass ein Umlauf 2π Zeiteinheiten dauert. Be-rechnen Sie mit dem Euler-Verfahren die Bewegung der kleinen Masse. DasMassenverhaltnis Erde zu Mond betragt μ = 0.011213, die Anfangsbedingun-gen lauten x(0) = 1.2, y(0) = 0, x(0) = 0 und y(0) = −1.04936. Die Periode(Umlaufdauer) betragt T = 6.19217.

Page 335: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Teil VIII

Anhang

Page 336: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

A Werkzeuge aus der Analysis

”Das Argument gleicht dem Schuss einer Armbrust – es ist gleicher-maßen wirksam, ob ein Riese oder ein Zwerg geschossen hat.“

Francis Bacon

A.1 Taylor-Entwicklung

In vielen Fallen benotigen wir lokale Naherungen fur eine vorgegebene Funk-tion f . Als wesentliches Hilfsmittel dient uns dazu die Taylor-Entwicklung,die daher kurz beschrieben werden soll. Wir nehmen im Folgenden an, dassdie Funktion f genugend oft stetig differenzierbar ist.

Die einfachste Form der Taylor-Entwicklung ist der Mittelwertsatz derDifferentialrechnung

f(x) − f(x0)x − x0

= f ′(η), η ∈ [x0, x] oder η ∈ [x, x0].

Anschaulich lasst sich dies so interpretieren, dass die Verbindungsstre-cke zwischen f(x0) und f(x) als Tangentenrichtung in einer Zwischenstelle ηvorkommt, die zwischen x0 und x liegt. Die parallel verschobene Verbin-dungsstrecke zwischen (x0, f(x0)) und (x, f(x)) ist an einer Stelle η genaueine Tangente an f (siehe Abb. A.1).

Nun sind wir auf der Suche nach einer moglichst guten, einfachen, lokalenNaherungsfunktion fur f . Daher wollen wir an einer Stelle x die Funktiondurch eine Gerade moglichst gut darstellen. Diese Gerade ist dann genau dieGerade durch (x0, f(x0)) mit Steigung f ′(x0), also

g(x) = f(x0) + f ′(x0)(x − x0).

Der Satz uber die Taylor-Entwicklung gibt an, wie gut diese Approximationdurch g ist:

f(x) = g(x) +f ′′(η)

2(x − x0)2

= f(x0) + f ′(x0)(x − x0) +f ′′(η)

2(x − x0)2.

Page 337: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

348 A Werkzeuge aus der Analysis

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1x=0, y=1, eta=0.5

Abb. A.1. Zwischenstelle mit Tangente parallel zur Sekante.

Dabei tritt wieder eine Zwischenstelle η auf. Die Gerade stimmt um so bessermit f uberein, je naher wir an die Stelle x0 kommen und je kleiner |f ′′|zwischen x0 und x ist.

Dieses Resultat lasst sich verbessern, indem wir statt Geraden Parabeln,kubische Polynome, usw. zulassen. Die entsprechenden Naherungspolynomepm(x) gehen dann durch den betrachteten Punkt (x0, f(x0)) und haben mitf an der Stelle x0 soviele Ableitungen wie moglich gemeinsam, also p′m(x0) =f ′(x0), p′′m(x0) = f ′′(x0), . . . . Diese Polynome sind gegeben durch

pm(x) = f(x0) + f ′(x0)(x − x0) +

+f ′′(x0)

2(x − x0)2 + . . . +

f (m)(x0)m!

(x − x0)m,

und die dabei auftretende Abweichung von f kann durch das Restglied

f(x) = pm(x) +f (m+1)(η)(m + 1)!

(x − x0)m+1,

mit einer Zwischenstelle η angegeben werden. Die Darstellung wird um sobesser, je kleiner |x − x0| und je kleiner |f (m+1)| zwischen x und x0 ist. Furden einfachsten Fall eines konstanten Polynoms m = 0 erkennen wir denMittelwertsatz.

Fur Polynome immer hoheren Grades erhalten wir im Grenzwert eineunendliche Reihe, die Taylor-Reihe von f in x0. Ist diese Reihe

f(x) =∞∑

j=0

f (j)(x0)j!

(x − x0)j

Page 338: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

A.1 Taylor-Entwicklung 349

konvergent bei x0, so liefert sie unter gewissen Zusatzvoraussetzungen imKonvergenzintervall eine gultige Darstellung der Funktion f . In Anwendun-gen werden wir es oft mit Funktionen zu tun haben, die nicht explizit bekanntsind. Normalerweise kennen wir von der Funktion – z.B. aus Messungen –Funktionswerte an diskreten Stellen xj . Statt der Funktionswerte f(xj) lasstsich f aber oft auch durch Angabe der Taylor-Koeffizienten beschreiben.

Betrachten wir als Beispiel die Exponential-Funktion an der Stelle x0 = 0.Die Ableitungen sind an der Stelle Null alle gleich Eins und es ergeben sichdie Taylor-Polynome

pm(x) =m∑

j=0

xj

j!.

Die Approximation von exp(x) bei x0 = 0 durch konstante, lineare, qua-dratische und kubische Taylor-Polynome ist in der Abbildung A.2 dargestellt.Der Fehler ist gegeben durch

|f(x) − pm(x)| =exp(η)|x|m+1

(m + 1)!.

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 10

0.5

1

1.5

2

2.5

3

Abb. A.2. Taylor-Polynome fur exp(x) wachsenden Grades um x0 = 0; die dunnedurchgezogene Linie ist die Funktion exp(x).

Viele der Algorithmen beruhen darauf, die gegebene Funktion f lokaldurch ein Taylor-Polynom kleinen Grades zu ersetzen, und das gestellte Pro-blem (Integration, gesuchte Nullstelle, . . . ) fur diese wesentlich einfachereFunktion zu losen. Den auftretenden Fehler kann man durch die Große desRestgliedes abschatzen.

Page 339: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

350 A Werkzeuge aus der Analysis

Die Ableitung einer Vektor-Funktion y = F (x1, ..., xn) ∈ IR ist gegebendurch den Gradienten

∇F =

⎛⎜⎝∂F∂x1...

∂F∂xn

⎞⎟⎠ .

Der Gradient bestimmt alle eindimensionalen Richtungsableitungen in Rich-tung des Vektors u d

dtF (x + tu) = ∇F (x)T u. Die Verallgemeinerung aufvektorwertige Funktionen

f(x1, . . . , xn) =

⎛⎜⎝ f1(x1, . . . , xn)...

fn(x1, . . . , xn)

⎞⎟⎠fuhrt dann auf die Jacobi-Matrix der Ableitungen

Df =

⎛⎜⎝∂f1∂x1

· · · ∂f1∂xn

......

∂fn

∂x1· · · ∂fn

∂xn

⎞⎟⎠ .

Erzeugende Funktionen und Komplexitatsanalyse: Taylor-Reihenspielen im Bereich der Informatik auch in der Komplexitatstheorie eine wich-tige Rolle. Hier kann die Reihendarstellung dazu dienen, den Aufwand einesAlgorithmus fur verschiedene Eingabelangen n in geschlossener Form zu be-schreiben. Betrachten wir z.B. die durch die Fibonacci-Folge gegebene Zah-lenfolge

an+2 = an+1 + an mit Startwerten a0 und a1. (A.1)

Als erzeugende Funktion der so definierten Folge konnen wir die Funktionf(x) =

∑∞n=0 anxn betrachten. Um f zu bestimmen, multiplizieren wir obige

Gleichung mit xn und summieren dann alle diese Gleichungen zu verschiede-nen n auf:

1x2

∞∑n=0

an+2xn+2 =

1x

∞∑n=0

an+1xn+1 +

∞∑n=0

anxn

oder1x2

∞∑n=2

anxn =1x

∞∑n=1

anxn +∞∑

n=0

anxn.

Erganzen wir in den Summen die fehlenden Terme, so dass uberall f(x)erscheint, erhalten wir

f(x) − a0 − a1x

x2=

f(x) − a0

x+ f(x),

und damit

Page 340: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

A.2 Landau-Notation 351

f(x) =a0 + (a1 − a0)x

1 − x − x2.

Diese Funktion f hat die Eigenschaft, dass der n-te Taylor-Koeffizientf (n)(0)/n! = an gleich der n-ten Fibonacci-Zahl ist. Auf diese Art und Weiselasst sich die Fibonacci-Folge auf einfache Art und Weise durch eine einzi-ge Große, die erzeugende Funktion f , eindeutig und geschlossen beschrei-ben. Bei vielen Algorithmen kennen wir eine Formel der Form (A.1), dieden benotigten Aufwand beschreibt. Durch das Hilfsmittel der erzeugendenFunktion kann durch Bestimmung von f die Komplexitat fur alle moglichenauftretenden Falle angegeben werden (vgl. Beispiel 32 in Kapitel 11.2 unddie Kostenanalyse der FFT in Kapitel 18.3).

A.2 Landau-Notation

Bei der naherungsweisen Beschreibung des Verhaltens einer Funktion fur be-tragsmaßig sehr große oder sehr kleine Werte werden die Landau’schen Sym-bole verwendet. Die Notation O(.) ist definiert durch

f(n) = O(g(n)),

falls wir M ∈ IR und N ∈ IR angeben konnen mit

f(n)g(n)

≤ M < ∞ fur n > N.

Diese Beziehung ist z.B. erfullt, wenn g(n) der am starksten wachsende Termin f ist, f(n) = g(n)+ Terme kleinerer Ordnung.

Genauso istf(h) = O(g(h)),

falls wir c ∈ IR und δ ∈ IR angeben konnen, mit∣∣∣∣f(h)g(h)

∣∣∣∣ ≤ c < ∞ fur |h| < δ.

Diese Beziehung ist erfullt, wenn g(h) der am langsamsten schrumpfendeTerm in f fur h → 0 ist, oder f(h) = g(h)+ kleinere Terme. Die Landau-Notation ist sehr nutzlich, um die wesentlichen Kosten eines Algorithmus zubeschreiben oder eine Fehleranalyse durchzufuhren.

Page 341: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

B Werkzeuge aus der Linearen Algebra

”Strukturen sind die Waffen der Mathematiker“

Nicolas Bourbaki

B.1 Vektoren und Matrizen

Eine n×m-Matrix A beschreibt eine lineare Abbildung, die einem Vektor x ∈IRm einen anderen Vektor y ∈ IRn zuordnet durch die Festlegung y = Ax oder⎛⎜⎝ y1

...yn

⎞⎟⎠ =

⎛⎜⎝ a11 · · · a1m

......

an1 · · · anm

⎞⎟⎠⎛⎜⎝ x1

...xm

⎞⎟⎠ =

⎛⎜⎝∑m

j=1 a1jxj

...∑mj=1 anjxj

⎞⎟⎠ .

Zu zwei Matrizen B und A wird die Hintereinanderausfuhrung der zu-gehorigen Abbildungen y = A(Bx) = (AB)x beschrieben durch die MatrixAB, also das Matrixprodukt von A und B.

Fur eine k × n-Matrix A und eine n × m-Matrix B

A =

⎛⎜⎝ a11 · · · a1n

......

ak1 · · · akn

⎞⎟⎠ , B =

⎛⎜⎝ b11 · · · b1m

......

bn1 · · · bnm

⎞⎟⎠ergibt sich die Produktmatrix

C = AB =

⎛⎜⎝∑n

j=1 a1jbj1 · · · ∑nj=1 a1jbjm

......∑n

j=1 akjbj1 · · · ∑nj=1 akjbjm

⎞⎟⎠ .

Man beachte, dass die Großen der Matrizen zueinander passen mussen –A hat genau so viele Spalten, wie B Zeilen hat. Das neue Element cij ergibtsich als das Skalarprodukt zwischen der i-ten Zeile von A und der j-ten Spaltevon B.

Page 342: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

354 B Werkzeuge aus der Linearen Algebra

Zwei wichtige Spezialfalle sind: Das Skalarprodukt zwischen zwei Vektorenx, y ∈ IRn:

C = xT y

und das außere Produkt

C = xyT =

⎛⎝ x1y1 · · · x1ym

. . . . . .xny1 · · · xnym

⎞⎠fur Vektoren x ∈ IRn und y ∈ IRm. Mit hochgestelltem T bezeichnen wir dasTransponieren einer Matrix

AT =

⎛⎜⎝ a11 · · · a1n

......

ak1 · · · akn

⎞⎟⎠T

=

⎛⎜⎝ a11 · · · ak1

......

a1n · · · akn

⎞⎟⎠ .

Eine Matrix A mit der Eigenschaft AT = A heißt symmetrische Matrix.Als Rang einer Matrix beziehungsweise eines Gleichungssystems bezeich-

nen wir die Anzahl der linear unabhangigen Zeilen. Im ersten Beispiel 23uber Stromkreise lieferten uns die Maschen- und Knotenregel 8 Gleichun-gen fur 6 Unbekannte. Zwei der Gleichungen konnten wir ersatzlos streichen,da sie keine neuen Bedingungen an unsere Unbekannten erbrachten, sondernautomatisch mit dem Losen der 6 Gleichungen schon miterfullt waren. DieAusgangsmatrix hatte also 8 Zeilen und 6 Spalten (eine 8 × 6-Matrix), derRang der Matrix war aber 6. Die oben betrachte n×n-Matrix xyT hat sogarnur Rang 1, da jede Zeile nur ein anderes Vielfaches des Vektors yT ist.

Wir hatten mit demselben Ergebnis den Rang auch als die Anzahl linearunabhangiger Spalten definieren konnen, da beides denselben Wert liefert.

Der Rang einer Matrix spielt fur die Losbarkeit eines Gleichungssystemseine entscheidende Rolle. Ax = b ist genau dann losbar, wenn rang(A) =rang(A|b). Anders ausgedruckt, ist das Gleichungssystem nur losbar, wennsich die rechte Seite b als geeignete Summe uber die Spaltenvektoren Aj vonA darstellen lasst: b =

∑xjAj = Ax. Weiterhin bestimmt der Rang einer

Matrix, wie viele verschiedene Losungen es geben kann.Wir sind hauptsachlich an dem Fall interessiert, dass A eine quadratische

n × n-Matrix mit vollem Rang n ist, dann existiert stets eine eindeutigeLosung x. Denn dann ist A invertierbar, d.h. es existiert eine n × n MatrixA−1 = inv(A), die Inverse von A, mit

A−1 · A = A · A−1 = I =

⎛⎜⎜⎜⎜⎝1 0 · · · 0

0 1...

.... . . 0

0 · · · 0 1

⎞⎟⎟⎟⎟⎠ .

Page 343: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

B.2 Normen 355

Hier bezeichnet I die Einheitsmatrix, die die Eigenschaften der Eins bezuglichder Matrizenmultiplikation hat. Die Einheitsmatrix ist Spezialfall einer Dia-gonalmatrix, also einer Matrix, die nur Eintrage auf der Hauptdiagonalenhat, I = diag(1, ..., 1). Fur Diagonalmatrizen D = diag(d1, ..., dn) kann dieInverse sofort angegeben werden in der Form D−1 = diag(1/d1, ..., 1/dn).

Die Losung von Ax = b ist also gegeben durch x = A−1b. Andererseitskann die Inverse durch das Losen der n Gleichungssysteme Ax = ei berechnetwerden. ei sei der Vektor, der uberall Nulleintrage hat, aber 1 an der i-tenKomponente.

Definition 38. Wir nennen eine quadratische Matrix A singular, wenn kei-ne Inverse existiert (A hat nicht vollen Rang), andernfalls heißt A regular.

Wir geben ein Beispiel einer singularen Matrix

A =(

0 00 1

). (B.1)

Gleichungssysteme mit singularen Matrizen haben entweder gar keineLosung, oder unendlich viele Losungen; die Dimension eines solchen Losungs-raums (falls Losungen existieren) ist gegeben durch n − rang(A). Die Ma-trix A aus (B.1) und die Matrix xyT sind z.B. Rang-1-Matrizen (n = 2,rang(A) = 1), d.h. das lineare Gleichungssystem Ax = 0 hat unendlichviele Losungen, und der Raum der Losungen ist ein 1-dimensionaler Vektor-raum, der sich beschreiben lasst als die Menge der Vielfachen eines beliebigenLosungsvektor.

Beispiel 51. Die Gleichungssysteme zu (B.1) haben folgende Losungen:

– b = (1, 1)T hat keine Losung,– b = (0, 0)T hat als Losungen alle Vektoren der Form x = (a, 0)T fur belie-

biges a und– b = (0, 1)T hat als Losungen alle Vektoren der Form (0, 1)T + (a, 0)T fur

beliebiges a.

Im Zusammenhang mit der Diskreten Fourier-Transformation treten auchMatrizen auf, die komplexe Zahlen als Eintrage besitzen. In diesem Fall be-zeichnen wir mit AH = conj(AT ) das Hermite’sche der Matrix A. Dabei wirddie Matrix A transponiert, dann aber auch noch jedes Element aij durch denkonjugiert-komplexen Wert conj(aij) = aij ersetzt.

B.2 Normen

Um Aussagen uber die auftretenden Fehler und die Gute der berechnetenLosung bei linearen Gleichungssystemen treffen zu konnen, benotigen wir alsHilfsmittel den Begriff der Norm. Sei

Page 344: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

356 B Werkzeuge aus der Linearen Algebra

x =

⎛⎜⎝ x1

...xn

⎞⎟⎠ein Vektor der Lange n mit reellen Zahlen x1, . . . , xn.

Definition 39. Unter der Norm ‖x‖ des Vektors x verstehen wir die Abbil-dung des Raums der Vektoren in die reellen Zahlen mit den folgende Eigen-schaften:

1. ‖x‖ > 0 fur x = 0,2. ‖αx‖ = |α| ‖x‖ fur alle x und alle α ∈ IR und3. ‖x + y‖ ≤ ‖x‖ + ‖y‖ fur alle Vektoren x, y.

Die dritte Bedingung der Definition 39 wird als Dreiecksungleichung be-zeichnet, da sie geometrisch bedeutet, dass die Summe zweier Dreiecksseitenlanger als die dritte ist. Die Norm eines Vektors ist also zu interpretieren alsseine Lange, gemessen in einem evtl. verzerrten Maßstab.

Wie sich leicht nachprufen lasst, erfullt die euklid’sche Norm

‖x‖2 =

√√√√ n∑j=1

|xj |2

die obigen Forderungen. Geometrisch beschreibt ‖.‖2 die Lange eines Vektorsim ublichen Sinne. Andere, haufig benutzte Vektornormen sind

‖x‖1 =n∑

j=1

|xj |

und die Maximumsnorm‖x‖∞ =

nmaxj=1

|xj |.

Eng verknupft mit dem Begriff Norm ist die Definition des Skalarprodukts(oder Inneren Produkts) zweier Vektoren x und y. So gehort zur euklid’schenNorm ‖x‖2 das Skalarprodukt

(x, y) = yT x = xT y = (x1, · · ·xn) ·

⎛⎜⎝ y1

...yn

⎞⎟⎠ =n∑

j=1

xjyj.

Aus diesem Skalarprodukt ergibt sich mittels ‖x‖2 =√

(x, x) die eu-klid’sche Norm. Fur komplexe Vektoren ist das Skalarprodukt definiert durch(x, y) = xHy =

∑nj=1 xjyj .

Page 345: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

B.2 Normen 357

Auch fur Matrizen mussen wir den Begriff der Norm einfuhren, wiederdurch die drei Bedingungen von Definition 39. Die haufigste Matrixnorm istdie 2-Norm, abgeleitet von der euklid’schen Vektornorm, und gegeben durch

‖A‖2 = maxx =0

‖Ax‖2

‖x‖2.

Neben den ublichen drei Eigenschaften von Definition 39 erfullt dieseMatrixnorm noch die Eigenschaft der Submultiplikativitat, d.h.

‖A · B‖2 ≤ ‖A‖2 · ‖B‖2 ,

und sie ist mit der euklid’schen Vektornorm vertraglich, d.h.

‖Ay‖2 ≤ ‖A‖2 · ‖y‖2.

Die drei Eigenschaften von Definition 39 ergeben sich aus

‖A‖2 = 0 ⇔ stets ‖Ax‖2 = 0 ⇔ A = 0,

‖αA‖2 = maxx

‖αAx‖2

‖x‖2= |α|max

x

‖Ax‖2

‖x‖2,

und ‖A + B‖2 = maxx

‖Ax + Bx‖2

‖x‖2≤ max

x

‖Ax‖2

‖x‖2+ max

x

‖Bx‖2

‖x‖2,

da die euklid’sche Norm eine Vektornorm ist.Die Vertraglichkeit folgt direkt aus

‖Ay‖2

‖y‖2≤ max

x

‖Ax‖2

‖x‖2= ‖A‖2,

und die Submultiplikativitat ergibt sich durch

‖AB‖2 = maxx

‖ABx‖2

‖x‖2≤ max

x

‖A(Bx)‖2 · ‖Bx‖2

‖Bx‖2 · ‖x‖2

≤ maxy

‖Ay‖2

‖y‖2max

x

‖Bx‖2

‖x‖2.

Wir konnen eine so definierte Matrixnorm folgendermaßen interpretieren:Die Norm einer Matrix ist die großte Langenanderung eines Vektors x, diedurch die Multiplikation mit A vorkommen kann.

Analog konnen wir eine Matrix-1-Norm, beziehungsweise eine Matrix-∞-Norm einfuhren z.B. als ‖A‖1 = maxx ‖Ax‖1/‖x‖1. Unabhangig von Vek-tornormen konnen wir auch direkt Matrixnormen definieren, z.B. ‖A‖ =maxi,j{|aij |} oder die Frobenius-Norm einer Matrix

‖A‖F =√∑

i,j

|ai,j |2.

Page 346: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

358 B Werkzeuge aus der Linearen Algebra

Ubung 145. Zeigen Sie fur die oben definierten Normen, dass die Norm-eigenschaften von Definition 39 erfullt sind. Weiterhin soll untersucht werden,ob diese beiden Normen submultiplikativ bzw. mit der euklid’schen Normvertraglich sind.

B.3 Orthogonale Matrizen

Eine wichtige Sonderklasse von quadratischen Matrizen bilden die linearenAbbildungen, die die Lange eines Vektors bezuglich der euklid’schen Normunverandert lassen. Das bedeutet, dass fur die Abbildung, die durch die Ma-trix Q durch y = Qx definiert ist, gilt:

xT x = ‖x‖22 = ‖y‖2

2 = ‖Qx‖22 = (Qx)T (Qx) = xT (QT Q)x.

Daher muss fur ein solches Q gelten: QT Q = I mit der Einheitsmatrix I,oder Q−1 = QT . Matrizen mit dieser Eigenschaft heißen orthogonale Matri-zen.

Sind U und V orthogonal, so ist auch das Produkt Q = UV orthogonal,da Q−1 = (UV )−1 = V −1U−1 = V T UT = (UV )T . Dasselbe gilt fur dieInverse: Q = U−1, dann folgt Q−1 = U = (U−1)T = QT .

Die euklid’sche Norm einer orthogonalen Matrix ist Eins, da

‖Q‖2 = maxx

‖Qx‖2

‖x‖2= 1.

Jede orthogonale n× n-Matrix ist verbunden mit einer Orthogonal-Basisdes IRn, bestehend aus den Spalten qj , j = 1, . . . , n von Q = (q1, · · · , qn). Dasbedeutet, dass sich jeder Vektor des IRn, x = (x1, · · · , xn)T schreiben lasst alsx =∑n

j=1 αjqj . Die Koeffizienten αj dieser neuen Basisdarstellung berechnensich wegen x = Q(QT x) = (q1, · · · , qn)(QT x) einfach als (α1, · · · , αn)T =QT x. Da die n Vektoren q1, . . . , qn linear unabhangig sind und sich jedes xaus ihnen kombinieren lasst, bilden die qi eine Basis des IRn.

Genauso sind die beiden Vektoren q1 und q2 eine Orthonormalbasis desUnterraums U , der von diesen beiden Vektoren aufgespannt wird, U ={α1q1 + α2q2|α1, α2 ∈ IR}.

Um eine allgemeine Basis a1, . . . , ak eines Unterraums U in eine Orthonor-malbasis q1, . . . , qk zu verwandeln, kann das QR-Verfahren aus Kapitel 10.2verwendet werden. Dabei berechnet man fur die Matrix A = (a1, . . . , ak) dieQR-Zerlegung A = QR; dann bilden die Spalten von Q = (q1, . . . , qk) eineOrthonormalbasis von U .

Besondere Bedeutung kommt den Permutationsmatrizen P zu. Darunterverstehen wir orthogonale Matrizen, die in jeder Zeile und Spalte genau ein-mal 1 stehen haben und sonst uberall nur aus Nullen bestehen. Multipliziertman P mit einer anderen Matrix A zu PA, so werden dadurch die Zeilen von

Page 347: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

B.4 Eigenwerte und Singularwerte 359

A permutiert. Die Umordnung der Komponenten eines Vektors entspricht derMultiplikation dieses Vektors mit einer Permutationsmatrix.

Haben wir es mit Matrizen uber komplexen Zahlen zu tun, so mussen wirdie Definitionen verallgemeinern. Wir nennen eine Matrix dann unitar, wenndie Inverse genau das Hermite’sche der Matrix ist, also UUH = I gilt.

B.4 Eigenwerte und Singularwerte

Als Eigenwert einer quadratischen Matrix A bezeichnet man eine reelle oderkomplexe Zahl λ, zu der ein Vektor x = 0, der Eigenvektor zu λ, existiertmit Ax = λx. Ist A sogar symmetrisch, so weiß man, dass sogar eine Ortho-normalbasis aus Eigenvektoren existiert, also Q = (x1, . . . , xn) mit xT

j xk = 0fur j = k, und Axj = λjxj . Daher gilt AQ = QΛ mit der DiagonalmatrixΛ = diag(λ1, . . . , λn). Fur die 2-Norm einer symmetrischen Matrix A ergibtsich wegen A = QΛQT

‖A‖22 = max

x

‖Ax‖22

‖x‖22

= maxx

xT AT Ax

xT x= max

y

yT Λ2y

yT y= λ2

max(A).

Daher ist ‖A‖2 gleich dem Absolutbetrag des betragsgroßten Eigenwertesvon A.

Eine symmetrische Matrix A, deren Eigenwerte alle positiv sind, heißtpositiv definit. Dann gilt xT Ax = xT QΛQT x = yT Λy =

∑nj=1 λjy

2j > 0 fur

jeden Vektor x = Qy = 0.Aus der Eigenwertgleichung Ax = λx sieht man, dass ein Eigenvektor

zu Eigenwert λ = 0 eine Gerade durch den Koordinatenursprung bestimmt,die durch die lineare Abbildung x �→ Ax in sich uberfuhrt wird; eine solcheGerade bezeichnet man daher als Fixgerade.

Ein Koordinatensystem, das genau aus Eigenvektoren besteht, eignet sichsehr gut zur Beschreibung der Abbildung A. Beschranken wir uns auf densymmetrischen Fall, so existiert eine Orthonormalbasis von Eigenvektorenx1, . . . , xn und es gilt:

A(x1, . . . , xn) = (x1, . . . , xn) · diag(λ1, . . . , λn) =⇒AQ = QΛ =⇒ QT AQ = Λ

d.h. im Koordinatensystem der Eigenvektoren ist die Matrix A eine einfacheDiagonalmatrix.

Fur eine beliebige Matrix A konnen wir durch Ubergang zu den symmetri-schen Matrizen AT A bzw. AAT eine ahnliche Zerlegung definieren. Zu jederbeliebigen reellen n × m-Matrix A exisitiert eine Faktorisierung der Form

Page 348: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

360 B Werkzeuge aus der Linearen Algebra

A = UΣV, Σ =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

σ1 0 · · · · · · 0 · · · 00 σ2 0 · · · 0 · · · 0...

. . . . . ....

...... 0 σk 0 · · · 00 · · · · · · 0 0 · · · 0...

......

...0 · · · · · · 0 0 · · · 0

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠mit orthogonalen Matrizen U und V , Σ eine n×m-, U eine n×n- und V einem × m-Matrix. Dabei sind die Matrizen U und V gerade die Eigenvektorenvon AT A und AAT ; die σj heißen die Singularwerte von A und sind dieWurzeln aus den Eigenwerten von AT A bzw. AAT . Weiterhin bezeichnet kden Rang von A, der gleich dem Rang von AT A und AAT ist.

Ubung 146. Zeigen Sie, dass die Eigenwerte einer orthogonalen Matrix allevom Betrag 1 sind. Welche Werte konnen die singularen Werte einer ortho-gonalen Matrix annehmen?

Ubung 147. Zeigen Sie, dass AT A und AAT stets symmetrisch positiv se-midefinit sind und die selben Eigenwerte besitzen.

Fur die 2-Norm erhalten wir fur eine beliebige Matrix A

‖A‖22 = max

x

‖Ax‖22

‖x‖22

= maxx

xT AT Ax

xT x=

= maxy

yT ΣT Σy

yT y= λmax(AT A) = σ2

max(A).

Dabei ist AT A = V ΣT ΣV T , und die 2-Norm einer beliebigen Matrix istdaher gleich ihrem großten Singularwert σmax.

B.5 Bestapproximation in der ‖.‖2-Norm

Oft stehen wir in der angewandten Mathematik vor der Aufgabe, Daten aussehr großen oder sogar unendlich-dimensionalen Raumen durch wesentlichkleinere, endliche Unterraume anzunahern.

Wir betrachten als Modellproblem den Vektorraum IRn und einen k-dimensionalen Unterraum U mit k � n. Um nun fur einen Vektor x ∈ IRn

eine gute Naherung u ∈ U zu gewinnen, bestimmen wir u als Orthogonal-projektion von x auf den Unterraum U . Wir verwenden die euklid’sche Norm‖x‖2 und das Skalarprodukt (x, y) = xT y.

Theorem 9. ‖x − u‖2 ist genau dann minimal fur alle v ∈ U , wenn x − uorthogonal zu allen v ∈ U ist, d.h. stets (x − u, v) = (x − u)T v = 0 gilt.

Page 349: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

B.5 Bestapproximation in der ‖.‖2-Norm 361

Beweis. Wir betrachten fur die Optimallosung u und beliebiges v ∈ U dieFunktion

g(ε) := (x − u + εv, x − u + εv) = ‖x − u‖22 + 2ε(v, x − u) + ε2‖v‖2

2.

Da ‖x − u‖2 minimal ist, muss (v, x − u) gleich Null sein fur alle v ∈ U ,da ansonsten durch Wahl von ε eine bessere Losung als u gefunden werdenkonnte.

Ist andererseits fur ein u ∈ U und alle v ∈ U stets (v, x− u) = 0, so folgt,dass ‖x − u + εv‖2 minimal ist fur ε = 0; da dies fur beliebige v ∈ U gilt,muss u die gesuchte Optimallosung mit minimalem Abstand zu x sein.

Anmerkung 71. Aus dem Beweis sieht man, dass fur die Optimallosung gilt:

‖x − u‖22 = (x − u)T (x − u) = xT (x − u) − uT (x − u) = xT (x − u)

= xT x − xT u = xT x − (x − u + u)T u = xT x − (x − u)T u − uT u

=∣∣‖x‖2

2 − ‖u‖22

∣∣ .Sei u1, . . . , uk eine Basis des Unterraums U . Dann berechnet sich die

Optimallosung durch den Ansatz u =∑n

j=1 αjuj aus

0 = (x − u)T uk = (x −n∑

j=1

αjuj)T uk = xT uk −n∑

j=1

αjuTj uk

oder aus dem Gleichungssystem

n∑j=1

(uTj uk)αj = xT uk fur k = 1, . . . , n.

Ist u1, . . . , un sogar eine Orthonormalbasis von U , so erhalten wir direktαk = xT uk.

Page 350: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

C Komplexe Zahlen

”Von zwei wahrscheinlichen Losungen ist meist die einfachere dierichtige.“

William v. Ockham

Es sollen die komplexen Zahlen eingefuhrt und das Rechnen mit ihnen erklartwerden. Die imaginare Zahl i wird definiert, um die Losung der quadratischenGleichung x2 = −1 zu ermoglichen. Eine beliebige komplexe Zahl x lasstsich dann schreiben als x = a + ib, a und b reelle Zahlen, die als Real-und Imaginarteil bezeichnet werden. So wie sich reelle Zahlen mit Hilfe desZahlenstrahles visualisieren lassen, so kann man die komplexen Zahlen auchals Vektoren mit zwei Komponenten x = (a, b)T in der Ebene darstellen.

Real

sin(φ)

r cos(φ) a

bx

Imag

r

φ

r

Abb. C.1. Darstellung einer komplexen Zahl.

Der Betrag einer komplexen Zahl ist – wie die Lange des entsprechendenVektors – gegeben durch |x| =

√a2 + b2, und mit x = a − ib bezeichnen

wir die zu x = a + ib konjugiert komplexe Zahl, die an der reellen Achsegespiegelte Zahl. Beschranken wir uns auf Zahlen der Lange 1, so beschreibendiese Vektoren den Einheitskreis.

Zwischen Realteil, Imaginarteil, und dem Winkel ϕ kann man aus obigemBild sofort einige elementare Beziehungen ablesen. So lasst sich jede komplexe

Page 351: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

364 C Komplexe Zahlen

Zahl auf dem Einheitskreis (mit Betrag r = 1) in Abhangigkeit von demWinkel ϕ zwischen dem Vektor und der x-Achse beschreiben durch

x = cos(ϕ) + i sin(ϕ) = eiϕ.

Diese letzte Beziehung ist sehr wichtig und ermoglicht eine andere Dar-stellung der komplexen Zahlen. Doch zunachst wollen wir diese Gleichungmittels der Reihendarstellung von Exponentialfunktion, Sinus und Cosinusbegrunden:

eiϕ =∞∑

n=0

(iϕ)n

n!=

∞∑k=0

(iϕ)2k

(2k)!+

∞∑k=0

(iϕ)2k+1

(2k + 1)!

=∞∑

k=0

(−1)kϕ2k

(2k)!+ i

∞∑k=0

(−1)kϕ2k+1

(2k + 1)!= cos(ϕ) + i sin(ϕ).

Daraus ergibt sich die elementare Beziehung zwischen e, π und i der Formexp(2iπ) = cos(2π) + i sin(2π) = 11. Umgekehrt errechnet sich der Cosinusaus der komplexen Exponentialfunktion mittels

cos(x) =12(eix + e−ix

)=

12(cos(x) + i sin(x) + cos(−x) + i sin(−x)).

Wir wollen aber wieder zu den Eigenschaften komplexer Zahlen zuruck-kehren. Jedes x mit Betrag

√a2 + b2 kann auf Lange Eins normiert werden

mittels x/|x|, und damit kann jede Zahl x dargestellt werden als

x = a + ib =√

a2 + b2(cos(ϕ) + i sin(ϕ)) = reiϕ

mitr =√

a2 + b2, tan(ϕ) =b

a.

Damit haben wir zwei verschiedene Darstellungsformen einer komplexenZahl hergeleitet und konnen bei Bedarf die jeweils gunstigere wahlen undjeweils von einer Form in die andere umrechnen.

Fur komplexe Zahlen gelten die ublichen Rechenregeln:

x + y = (a + ib) + (c + id) = (a + c) + i(b + d)x · y = (a + ib) · (c + id) = (ac − bd) + i(ad + bc),

oder in der Exponentialdarstellung der komplexen Zahlen1 Diese Gleichung wird von vielen Mathematikern fur eine der schonsten Formeln

der Mathematik gehalten, da sie die”Extrem“-Zahlen e, π und i so verknupft,

dass sie sich gegenseitig zu Eins aufheben

Page 352: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

C Komplexe Zahlen 365

x · y = (|x|eiϕ) · (|y|eiψ) = (|x| · |y|)ei(ϕ+ψ),

xn = (a + ib)n =n∑

j=0

(n

j

)an−j(ib)j = |x|neinϕ,

x = a − ib = |x|eiϕ = |x|e−iϕ.

In der zweiten Form ist das Produkt zweier komplexer Zahlen also zuruck-gefuhrt auf das Produkt der Betrage und die Summe der Winkel.

Nun wollen wir auf dem Einheitskreis aquidistante Stutzstellen auswahlen.Deshalb definieren wir uns die n-ten Einheitswurzeln

exp(

2πijn

), j = 0, 1, . . . , n − 1.

Der Name kommt daher, dass die n-ten Einheitswurzeln genau die ein-deutigen Losungen der Gleichung xn = 1 sind, die n-ten Wurzeln aus derEins bzw. die n Nullstellen des Polynoms xn − 1.

1−1

−i

i

π4

Abb. C.2. Einheitskreis mit achten Einheitswurzeln.

Page 353: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

D Fourier-Entwicklung

”Mathematik ist die Sprache der Gotter.“

Novalis

Zunachst wollen wir eine Reihenentwicklung fur Funktionen beschreiben, diestuckweise stetig und periodisch sind. Der Einfachheit halber betrachten wirden Fall der Periode 2π, f(x + 2π) = f(x) fur x ∈ IR. Dann kann f alsunendliche Reihe geschrieben werden in der Form

f(x) =a0

2+

∞∑k=1

(ak cos(kx) + bk sin(kx)). (D.1)

Die Koeffizienten ak, bk heißen Fourier-Koeffizienten und lassen sich be-rechnen mittels

ak =1π

∫ π

−π

f(x) cos(kx)dx, (D.2)

bk =1π

∫ π

−π

f(x) sin(kx)dx, (D.3)

fur k = 0, 1, . . . .

Ubung 148. Die obige Formel gilt, falls f periodisch auf dem Intervall[−π, π] ist. Sei eine Funktion g gegeben, die periodisch auf einem beliebi-gen Intervall [a, b] ist. Wie transformieren sich (D.1) – (D.3) auf g?

Ubung 149. Die Funktion f(x) aus D.1 kann auch mittels der komplexenExponentialfunktion geschrieben werden in der Form

f(x) =∞∑

k=−∞ck exp(ikx) (D.4)

mit komplexen Zahlen ck. Stellen Sie die Verbindung her zwischen den reellenZahlen ak, bk und den komplexen Zahlen ck.

Page 354: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

368 D Fourier-Entwicklung

Die Fourier-Koeffizienten beschreiben, wie sich die Funktion aus bestimm-ten Frequenzanteilen zusammensetzt. Dabei bezeichnet k die Wellenzahl,k/2π die Frequenz und 2π/k die dazugehorige Periode. Also geben die Zahlenak und bk an, wie sich f im Frequenzbereich um k/2π verhalt.

Außerdem stellt das endliche trigonometrische Polynom

fn(x) =a0

2+

n∑k=1

(ak cos(kx) + bk sin(kx))

eine Approximation an f dar, fur die die Norm

‖fn(x) − f(x)‖22 :=∫ π

−π

(fn(x) − f(x))2dx

minimal ist uber alle trigonometrischen Polynome vom Grad n (siehe Ubungs-aufgabe 96).

Wir wollen die Fourier-Koeffizienten mittels Trapezregel und Stutzstellenx0 = −π, xj = −π + 2π

N j, xN = π annahern. Dann folgt

ak =1π

∫ π

−π

f(x) cos(kx)dx

≈ 1π· 2π

N

(12f(−π) cos(−kπ) + f(x1) cos(kx1)

+ . . . + f(xN−1) cos(kxN−1) +12f(π) cos(kπ)

)=

2N

N−1∑j=0

f(xj) cos(

k

(−π +

Nkj

))

=2N

cos(kx0)N−1∑j=0

f(xj) cos(

2πkj

N

)− 2

Nsin(kx0)

N−1∑j=0

f(xj) sin(

2πkj

N

)

und wir benotigen die Koeffizienten

gk =2N

N−1∑j=0

f(xj) cos(

2πkj

N

)und hk =

2N

N−1∑j=0

f(xj) sin(

2πkj

N

),

die sich beide ausN−1∑j=0

f(xj) exp(

2πikj

N

)(D.5)

als Real-, bzw. Imaginarteil ergeben. Formel (D.5) beschreibt das Matrix-Vektor-Produkt, das wir in Kapitel 18.1 als Diskrete Fourier-Transformationdes Vektors (f0, . . . fN−1) definieren.

Page 355: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

E Praktische Hinweise

”Die Mathematik als Fachgebiet ist so ernst, dass man keine Gelegen-heit versaumen sollte, dieses Fachgebiet unterhaltsamer zu gestalten.“

Blaise Pascal

E.1 Hinweise zu Ubungs- und Programmieraufgaben

Dieses Lehrbuch uber numerische Berechnungsmethoden ging aus der Vor-lesung ”Konkrete Mathematik, Numerisches Programmieren“ hervor. DieUbungen zu den Vorlesungen finden sich im Internet unter www5.in.tum.de/lehre/vorlesungen/konkr_math/. Dort sind auch Hinweise zur Losungvieler Ubungsaufgaben aus diesem Buch zu finden, die interaktiv Hilfestel-lungen geben (www5.in.tum.de/lehre/vorlesungen/konkr_math/05_06/).

Die Losung von Ubungsaufgaben ist besonders motivierend und fordertdas Verstandnis fur numerische Berechnungsmethoden, wenn die Aufgabenaus einer anwendungsbezogenen, kapitelubergreifenden Fragestellung kom-men, wie z.B. die Diskussion der Probleme der Bildverarbeitung mit denAspekten:

1. Rundungsfehler (Quantisierung)2. Gleichungssysteme (Filter, Deblurring, Registrierung)3. Interpolation (Bildtransformation)4. Iterative Verfahren (z.B. bei Gleichungssystemen) und5. Differentialgleichungen (Diffusion).

Neben der Bildverarbeitung (Wintersemester 03/04, www5.in.tum.de/lehre/vorlesungen/konkr_math/03_04/prog/prog.html) eignen sich hier auchfolgende Fragestellungen:

1. Audioverarbeitung, siehe (Wintersemester 04/05, www5.in.tum.de/lehre/vorlesungen/konkr_math/04_05/prog/prog.html),

2. Computergraphik,3. Implementierung elementarer Berechnungsmethoden sowie4. partielle Differentialgleichungen des Wissenschaftlichen Rechnens.

Page 356: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

370 E Praktische Hinweise

E.2 Uberblick zu Software fur numerische Anwendungen

– Numerische Lineare Algebra (Vektoren, Matrizen):– BLAS: www.netlib.org/blas/– LAPACK: www.netlib.org/lapack/– Templates for the solution of Linear Systems:netlib2.cs.utk.edu/linalg/html\_templates/Templates.html

– Templates for the Solution of Algebraic Eigenvalue problems:www.cs.ucdavis.edu/~bai/ET/contents.html

– ATLAS: math-atlas.sourceforge.net/– Programme fur Parallelrechner:

– ScaLAPACK: www.netlib.org/scalapack/scalapack\_home.html– PLAPACK: www.cs.utexas.edu/users/plapack/– MPI: www.mpi-forum.org/docs/mpi-20-html/mpi2-report.html– OpenMP: www.openmp.org/drupal/– PETSc: www-unix.mcs.anl.gov/petsc/petsc-as/– PARDISO: http://www.computational.unibas.ch/cs/scicomp/software/pardiso/

– Software-Umgebungen (kommerziell):– MATLAB: Mathworks www.mathworks.com/– MATHCAD: www.mathcad.de/– Mathematica: www.wolfram.com/products/mathematica/index.html– Maple: www.maplesoft.com/

– Graph Partitioning: Metis: www-users.cs.umn.edu/~karypis/metis/– FFTW: www.fftw.org/– Gewohnliche Diff’gleichungen: ODEPACK: www.netlib.org/odepack/– Computational Fluid Dynamics codes: icemcfd.com/cfd/CFD– Optimierung: plato.la.asu.edu/guide.html– Allgemeine Software:

– Numerical Recipes: www.nr.com/– Netlib: www.netlib.org/– GAMS: Guide to available mathematical Software: gams.nist.gov/– Matrix Market: math.nist.gov/MatrixMarket/– JavaNumerics: math.nist.gov/javanumerics/– Object-oriented Numerics: www.oonumerics.org/oon/– GNU Scientific Library: www.gnu.org/software/gsl/– TOMS, Transactions on mathematical Software:math.nist.gov/toms/Overview.html

– Kommerzielle Bibliotheken:– IMSL: www.vni.com/products/imsl/– NAG: www.vni.com/products/imsl/– MSC/NASTRAN: www.mscsoftware.com/products/– Diffpack: www.diffpack.com/

Page 357: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

E.3 Literaturhinweise 371

E.3 Literaturhinweise

– Grundlagen der Mathematik:– Analysis 1 – Differential und Integralrechnung einer Veranderlichen, O.

Forster– Analysis 1, Th. Brocker– Lineare Algebra, G. Fischer– Lineare Algebra, K. Janich

– Numerik fur Nicht-Mathematiker:– Numerische Mathematik kompakt, R. Plato– Numerische Methoden, J. D. Faires, R. L. Burden– Numerische Mathematik mit Matlab, G.Gramlich, W. Werner– Numerik fur Anfanger, G. Opfer– Computer-Numerik, Chr. Uberhuber– Wissenschaftliches Rechnen, J. Herzberger– Numerik fur Informatiker, F. Locher

– Anwendungsbezogene Numerik:– Numerical methods and software, D. Kahaner, C. Moler, S. Nash– An Introduction to High Peformance Computing, L. Fosdick, E. Jessup,

J. C. Schauble, G. Dominik– Grundlagen der Numerischen Mathematik und des Wissenschaftlichen

Rechnens, M. Hanke-Bourgeois– Numerische Mathematik, M. Bollhofer, V. Mehrmann

– Numerik fur Mathematiker:– Numerische Mathematik, H. R. Schwarz,– Numerische Mathematik, P. Deuflhard, A. Hohmann, F. Bornemann– Numerische Mathematik, J. Stoer, R. Bulirsch– Numerische Mathematik, R. Schaback, H. Werner– Numerische Mathematik, G. Hammerlin, K.-H. Hoffmann

– Numerische Lineare Algebra:– Iterative Methods for Sparse Linear Systems, Y. Saad– Numerik linearer Gleichungssysteme, A. Meister– Numerik linearer Gleichungssysteme, Chr. Kanzow– Numerische Lineare Algebra, W. Bunse, A. Bunse-Gerstner– Applied Numerical Linear Algebra, J. Demmel– Matrix Computations, G. Golub, Ch. van Loan– Numerical Linear Algebra, L. N. Trefethen, D. Bau

– Wavelets:– Wavelets. Die Mathematik der kleinen Wellen, B. B. Hubbard– Wavelets – Eine Einfuhrung, Chr. Blatter– A friendly guide to wavelets, G. Kaiser

– Fast-Fourier-Transformation:– FFT-Anwendungen, E. O. Brigham– Computational Frameworks for the Fast Fourier Transform, Ch. van Lo-

an

Page 358: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

372 E Praktische Hinweise

– Computer Arithmetik und Rechnerarchitektur:– Numerical computing with IEEE floating point arithmetic, M. L. Over-

ton– Aufbau und Arbeitsweise von Rechenanlagen, W. Coy– Rechnerarchitektur, W. K. Giloi– Rechnerarchitektur, J. Hennessy, D. Patterson, D. Goldberg– Accuracy and stability of Numerical Algorithms, N. Higham

– Parallelrechner:– Paralleles Rechnen, W. Huber– Solving linear systems on vector and shared memory computers, J. Don-

garra, I. Duff, D. Sorensen– Numerical linear algebra for high- performance computers, J. Dongarra,

I. Duff, D. Sorensen– Losung linearer Gleichungssysteme auf Parallelrechnern, A. Frommer– Parallel Multilevel Methods for Elliptic Partial Differential Equations,

B. Smith, P. Bjorstad, W. Gropp– Computertomographie:

– An Introduction to High Peformance Computing, L. Fosdick, E. Jessup,J. C. Schauble, G. Dominik

– Mathematical Methods in Image Reconstruction, F. Natterer, F. Wubbe-ling

– Audio: Audiodesign, H. Raffaseder– PDE und Bildverarbeitung:

– Digitale Bildverarbeitung, B. Jahne– Anisotropic Diffusion in Image Processing, J. Weickert– Numerical Methods for Image Registration, J. Modersitzki

– Data Mining:– Understanding Search Engines, M. Berry, M. Browne– Data Mining. Introdutory and Advanced Topics, M. Dunham

– Ordinary Differential Equations und Chip Design:– Differentialgleichungen, E. Kamke– Analysis and Simulation of Semiconductor Devices, S. Selberherr

– Markov Ketten und stochastische Matrizen:– Nonnegative matrices in mathematical Sciences, A. Berman, R. J. Plem-

mons– Angewandte Lineare Algebra, B. Huppert

– Neuronale Netze und Fuzzy Logik:– Fuzzy Thinking, B. Kosko– Neuro-Fuzzy-Methoden, H.-H. Bothe

– Iteration, Fraktale und Chaos:– Chaos, B. Eckhardt– Dynamische Systeme und Fraktale, K.-H. Becker, M. Dorfler– A first course in chaotic dynamical systems, R. Devaney– Chaos and Fractals, H.-O. Peitgen, H. Jurgens, D. Saupe

Page 359: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

E.3 Literaturhinweise 373

– Computergraphik:– Einfuhrung in die Computergraphik, H. Bungartz, M. Griebel, Chr. Zen-

ger– Graphische Datenverarbeitung, R. Zavodnik, H. Kopp

– Partielle Differentialgleichungen und Multigrid:– Partielle Differentialgleichungen, J. Wloka– A Multigrid Tutorial, L. W. Briggs, W. van Emden Henson, S. McCor-

mick– Multigrid, U. Trottenberg, C. Osterlee, A. Schuller– Multigrid Methods, K. Stuben, U. Trottenberg

– Partielle Differentialgleichungen und Anwendungen:– Uber die partiellen Differentialgleichungen der mathematischen Physik,

R. Courant, K. Friedrichs, H. Lewy– Methoden der Mathematischen Physik, R. Courant, D. Hilbert– Allgemeine Meteorologie, G. Liljequist, K. Cehak

– Softwarefehler:– Softwarefehler und ihre Folgen, www5.in.tum.de/~huckle/bugsn.pdf– Collection of Software Bugs, www5.in.tum.de/~huckle/bugse.html

– Weitere interessante Themen:– Audio Paradoxa: www.noah.org/science/audio_paradox/– Top 10 Algorithms, Dongarra and Sullivan, in Computing in Science and

Engineering, 2 (1), 2000.– Top500 Supercomputer: www.top500.org– Heisenberg-Effekt der Arithmetik: www.inf.ethz.ch/news/focus/res_focus/april_2005/

– Murphy’s Law: www.murphys-laws.com/– Vierspeziesrechenmaschine von Leibniz: www.nlb_hannover.de/Leibniz– Curta: www.curta.de– Zuse: www.konrad-zuse-computermuseum.de, www.zib.de/zuse undwww.deutsches-museum.de/ausstell/meister/zuse.htm

– Moore’s Law: www.intel.com/technology/mooreslaw/

Page 360: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Literaturverzeichnis

1. E. Anderson, Z. Bai, C. Bischof. LAPACK user’s guide. SIAM, 1995.2. Ariane-5: Inquiry Board traces Failure to Overflow Error. www.siam.org/

siamnews/general/ariane.htm, 19963. Z. Bai, J. Demmel, J. Dongarra, A. Ruhe, H. van der Vorst. Templates for the

Solution of Algebraic Eigenvalue Problems: A Practrical Guide. SIAM, 2000.4. R. Barett, M. Berry, T. Chan, J. Demmel, J. Donato, V. Eijkhout, R. Pozo,

Ch. Romine, H. van der Vorst. Templates for the Solution of Linear Systems.SIAM, 1995.

5. R. Barret, M. Berry, T. Chan. Templates for the Solution of Linear Systems:Building Blocks for Iterative Methods. SIAM, 1994. http://www.netlib.org/linalg/html_templates/Templates.html.

6. E. Batschelet. Einfuhrung in die Mathematik fur Biologen. Springer Verlag,Berlin, 1980.

7. K.-H. Becker, M. Dorfler. Dynamische Systeme und Fraktale. Computergrafi-sche Experimente mit Pascal. Vieweg Verlag, 1989.

8. A. Berman, R. Plemmons. Nonnegative Matrices in the MathematicalSciences. SIAM, 1994.

9. M. W. Berry, M. Browne. Unterstanding Search Engines: Mathematical Mo-deling and Text Retrieval. SIAM,1999.

10. L.S. Blackford, J. Choi, A. Cleary. ScaLAPACK User’s Guide. SIAM, 1997.11. Chr. Blatter. Analysis 1. Springer Verlag, 1974.12. Chr. Blatter. Wavelets. Eine Einfuhrung. Vieweg Verlag, 1998.13. A. Bode. Neue Architekturen fur Mikroprozessoren. Spektrum der Wissen-

schaften, 5, 2000.14. M. Bollhofer, V. Mehrmann. Numerische Mathematik. Vieweg Verlag, Wies-

baden, 2004.15. H.-H. Bothe. Neuro-Fuzzy-Methoden. Springer Verlag, 1998.16. M. Bozo. Detaillierung und Dokumentation eines durchgangigen Prozesses

fur Entwurf und Implementierung von Software im Automobil. TechnischeUniversitat Munchen, 2006.

17. L. Briggs, W. van Emden Henson, S. F. McCormick. A Multigrid Tutorial.SIAM, 2000.

18. E. O. Brigham. FFT-Anwendungen. Oldenbourg Verlag, 1997.19. Th. Brocker. Analysis 1. Spektrum Akademischer Verlag, 1992.20. H.-J. Bungartz, M. Griebel, C. Zenger. Einfuhrung in die Computergraphik.

Vieweg Verlag, 1996.21. W. Bunse, A. Bunse-Gerstner. Numerische Lineare Algebra. Teubner Verlag,

1985.

Page 361: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

376 Literaturverzeichnis

22. The Capability Maturity Model: Guidelines for Improving the Software Pro-cess. Addison-Wesley, 1995.

23. G.J. Cody, W. Waite. Software manual for the Elementary Functions. PrenticeHall, 1980.

24. R. Courant, K. Friedrichs, H. Lewy. Uber die partiellen Differentialgleichungender mathematischen Physik. Math. Ann., 100:32 – 74.

25. R. Courant, D. Hilbert. Methoden der Mathematischen Physik I,II. SpringerVerlag, 1968.

26. W. Coy. Aufbau und Arbeitsweise von Rechenanlagen. Braunschweig, 1992.27. T. Danzig. Le nombre, language de la science. Paris, 1931.28. J. W. Demmel. Applied numerical linear Algebra. SIAM, 1997.29. P. Deuflhard, A. Hohmann. Numerische Mathematik I. de Gruyter, 1993.30. R. L. Devaney. A first course in chaotic dynamical systems. Addison-Wesley,

1992.31. J. J. Dongarra, I. S. Duff, D. C. Sorensen. Solving linear systems on vector

and shared memory computers. SIAM, 1991.32. J. J. Dongarra, I. S. Duff, D. C. Sorensen. Numerical linear algebra for high-

performance computers. SIAM, 1998.33. W. Droschel, M. Wiemers (Hrsg.). Das V-Modell 97. Der Standard fur die

Entwicklung von IT-Systemen mit Anleitung fur den Praxiseinsatz. Munchen,2000.

34. M. Dunham. Data Mining. Introductory and Advanced Topics. Prentice Hall,2003.

35. B. Eckhard. Chaos. Fischer Verlag, 2004.36. R. L. Faires, J. D. Burden. Numerische Methoden. Springer Verlag, 2000.37. G. Fischer. Lineare Algebra. Vieweg Verlag, 2005.38. O. Forster. Analysis 1. Vieweg Verlag, 2004.39. L. D. Fosdick, E. R. Jessup, C. J.C. Schauble, G. Domik. An Introduction to

high-performance Scientific Computing. The MIT Press, 1995.40. A. Frommer. Losung linearer Gleichungssysteme auf Parallelrechnern. Vieweg

Verlag, 1990.41. H. Gall, K. Kemp, H. Schabe. Betriebsbewahrung von Hard- und Software

beim Einsatz von Rechnern und ahnlichen Systemen fur Sicherheitsaufgaben.Schriftenreihe der Bundesanstalt fur Arbeitsschutz und Arbeitsmedizin, 2000.

42. Carl Friedrich Gauß. disquisitio de elementis ellipticis palladis ex oppositioni-bus annorum 1803, 1804, 1805, 1806, 1808, 1809. Number 6 in Carl FriedrichGauß Werke. Konigliche Gesellschaft der Wissenschaften, Gottingen, 1874.

43. W.K. Giloi. Rechnerarchitektur. Berlin, 1993.44. Goldberg. What every computer scientist should know about floating-point

arithmetics. ACM Computing Surveys, 23(1):5 – 48, 1991.45. G. Golub, Ch. van Loan. Matrix Computations. Johns Hopkins University

Press, second edition, 1989.46. G. Gramlich, W. Werner. Numerische Mathematik mit Matlab. dpunkt Verlag,

2000.47. G. Hammerlin, K.-H. Hoffmann. Numerische Mathematik. Springer Verlag,

1989.48. M. Hanke-Bourgeois. Grundlagen der Numerischen Mathematik und des Wis-

senschaftlichen Rechnens. Teubner Verlag, 2002.49. L. Hatton. Safer C - Developing Software for High-integrity and Safety-critical

Systems. McGraw-Hill, 1994.

Page 362: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Literaturverzeichnis 377

50. J. L. Hennessy, D. A. Patterson, D. Goldberg. Rechnerarchitektur: Analyse,Entwurf, Implementierung, Bewertung. Vieweg Verlag, 1994.

51. J. Herzberger. Wissenschaftliches Rechnen: Eine Einfuhrung in das ScientificComputing. Akademie Verlag, 1995.

52. M.R. Hestenes, E. Stiefel. Methods of conjugate gradients for solving linearsystems. J. Res. Nat. Bur. Standards, 49:409 – 436, 1952.

53. N. J. Higham. Accuracy and Stability of Numerical Algorithms. SIAM, 1996.54. C. Hills. Embedded C -Traps and Pitfalls.55. B. B. Hubbard. Wavelets - Die Mathematik der kleinen Wellen. Birkhauser

Verlag, 1997.56. W. Huber. Paralleles Rechnen. Oldenbourg Verlag, 1997.57. B. Huppert. Angewandte Lineare Algebra. de Gruyter, 1990.58. IEC International Electrotechnical Commission: IEC 60880 - Software for

Computers important to Safty for Nuclear Power Plants; Software aspectsof Defence against common Cause Failures, Use of Software Tools and of Pre-developed Software. International Organisation for Standardization.

59. IEC International Electrotechnical Commission: IEC 61508 - Functional Safte-ty of Electrical/Electronic/Programmable Electronic Safety-Related Systems.http://www.61508.org.uk/, 1998.

60. IEEE standard for binary floating-point arithmetic: ANSI/IEEE std 754-1985.Reprinted in SIGPLAN notices 22, 2, 1985.

61. G. Ifrah. Universalgeschichte der Zahlen. Frankfurt/Main, 1993.62. ISO International Organisation for Standardization: ISO 9000 - Quality Ma-

nagement and Quality Assurance Standards. International Organisation forStandardization, 1994.

63. ISO International Organisation for Standardization: ISO 31-11 - Mathematicalsigns and symbols for use in the physical sciences and technology. InternationalOrganisation for Standardization.

64. ISO International Organisation for Standardization: ISO 9899 - Programminglanguages - C. International Organisation for Standardization, 1990.

65. B. Jahne. Digitale Bildverarbeitung. Springer Verlag, 2001.66. K. Janich. Lineare Algebra. Springer Verlag, 2003.67. D. Kahaner, C. Moler, S. Nash. Numerical methods and software. Prentice

Hall International, 1989.68. G. Kaiser. A friendly guide to wavelets. Birkhauser Verlag, 1994.69. E. Kamke. Differentialgleichungen, Losungsmethoden und Losungen I,II.

Teubner Verlag, Stuttgart, 1983.70. Chr. Kanzow. Numerik Linearer Gleichungssysteme. Springer Verlag, 2005.71. K. Knopp. Theorie und Anwendung der unendlichen Reihen. Springer Verlag,

1964.72. A. Koenig. C Traps ans Pitfalls. AT&T Bell Laboratories, 1988.73. B. Kosko. Fuzzy Thinking. Hyperion, 1993.74. U. Kulisch. Grundlagen des Numerischen Rechnens: Mathematische Be-

grundung der Rechnerarithmetik. Bibliographisches Institut, 1976.75. P. Lacan, J. Monfort, L. Ribal, A. Deutsch, G. Gonthier. ARIANE 5 The Soft-

ware Reliability Verification Process: The ARIANE 5 Example. ProceedingsDASIA’98, 1998.

76. G. H. Liljequist, K. Cehak. Allgemeine Meteorologie. Vieweg Verlag, 1984.77. Chr. van Loan. Computational Frameworks for the Fast Fourier Transform.

SIAM, 1992.

Page 363: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

378 Literaturverzeichnis

78. F. Locher. Numerische Mathematik fur Informatiker. Springer Verlag, 1992.79. MATLAB. http://www.mathworks.com/.80. A. Meister. Numerik Linearer Gleichungssysteme. Vieweg Verlag, 2005.81. MISRA The Motor Industry Software Reliability Association: Guidelines for

the Use of the C Language In Vehicle Based Software. Motor Industry Rese-arch Association, 2004.

82. J. Modersitzki. Numerical Methods for Image Registration. Oxford UniversityPress, 2004.

83. Gordon E. Moore. Cramming more Components onto Integrated Circuits.Electronics, 8(38):114–117, 1965.

84. Gordon E. Moore. =http://www.intel.com/research/silicon/mooreslaw.

htm .85. P. Muller. Lexikon der Datenverarbeitung, 8. Auflage. Munchen, 1992.86. F. Natterer, F. Wubbeling. Mathematical Methods in Image Reconstruction.

SIAM, 2001.87. G. Opfer. Numerik fur Anfanger. Vieweg Verlag, 1994.88. M. L. Overton. Numerical Computing with IEEE Floating Point Arithmetic.

SIAM, 2001.89. H.-O. Peitgen, H. Jurgens, D. Saupe. Chaos and Fractals. Springer Verlag,

1992.90. R. Plato. Numerische Mathematik kompakt. Vieweg Verlag, 2000.91. William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P.

Flannery. Numerical Recipes in FORTRAN: The Art of Scientific Computing.Cambridge University Press, 1992.

92. William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P.Flannery. Numerical Recipes in FORTRAN 90: The Art of Parallel ScientificComputing. Cambridge University Press,1996.

93. William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flan-nery. Numerical Recipes in C: The Art of Scientific Computing. CambridgeUniversity Press, 1999.

94. H. Raffaseder. Audiodesign. Hanser, 2002.95. RTCA: Software Considerations in Airborne Systems and Equipment Certifi-

cation. www.rtca.org, 1992.96. Y. Saad. Iterative methods for sparse linear systems. SIAM, 2003.97. K. Samelson, F. L. Bauer. Optimale Rechengenauigkeit bei Rechenanlagen

mit gleitenden Komma. Z. angew. Math. Phys. 4, 312–316, 1953.98. R. Schaback, H. Werner. Numerische Mathematik. Springer Verlag, 1992.99. J. Schauffele, T. Zurawka. Automotive Software Engineering: Grundlagen,

Prozesse, Methoden und Werkzeuge. Vieweg Verlag, 2003.100. M. Schronen Methodology for the Development of Mircoprocessor-based Safety-

critical Systems. Aachen, 1998.101. H. R. Schwarz. Numerische Mathematik. Teubner Verlag, 1993.102. S. Selberherr. Analysis and Simulation of Semiconductor Devices. Springer

Verlag, 1984.103. J. R. Shewchuk. Adaptive Precision Floating-point Arithmetic and Fast Robust

Geometric Predicates. 1996.104. B. Smith, P. Bjorstadt, W. Gropp. Parallel Multilevel Methods for Elliptic

Partial Differential Equations. Cambridge University Press, 1996.105. Software Process Improvement and Capability Determination.

Page 364: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Literaturverzeichnis 379

106. S. Stevin. De Thiende. 1585.107. J. Stoer. Numerische Mathematik 1. Springer Verlag, 1999.108. J. Stoer, R. Bulirsch. Numerische Mathematik 2. Springer Verlag, 2000.109. K. Stuben, U. Trottenberg. Multigrid Methods: Fundamental Algorithms,

Model Problem Analysis and Applications. In W. Hackbusch and U. Trot-tenberg, editors, Multigrid Methods, Proceedings of the Conference held atKoln-Porz, November, 23 – 27, 1981, Lecture Notes in Mathematics, Berlin,1982. Springer Verlag.

110. K.-D. Thies. Nutzung mathematischer Bibliotheksfunktionen in Assembler undC. Munchen, 1989.

111. L. N. Trefethen, D. Bau. Numerical Linear Algebra. SIAM, 1997.112. U. Trottenberg, C. Osterlee, A. Schuller. Multigrid. Academic Press, 2001.113. C. Uberhuber. Computer-Numerik 1. Springer Verlag, 1995.114. C. Uberhuber. Computer-Numerik 2. Springer Verlag, 1995.115. R. Verfurth. A Review of A posteriori Error Estimates and adaptive mesh-

refinement techniques. Teubner Verlag,1995.116. V-Modell 1997, Entwicklungsstandard fur IT-Systeme des Bundes. Bundes-

ministerium fur Verteidigung, 1997.117. P. von der Linden. Expert C Programming, Deep C Secrets. 1994.118. J. Weickert. Anisotropic Diffusion in Image Processing. Teubner Verlag, 1998.119. J. Wloka. Partielle Differentialgleichungen. Teubner Verlag, 1982.120. R. Zavodnik, H. Kopp. Graphische Datenverarbeitung. Carl Hanser Verlag,

1995.121. G. M. Ziegler. DMV Mitteilungen, Band 13 (1), 51, 2005.

Page 365: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Index

Abakus, 30Abstiegsrichtung, 255adaptiv, 182Adaptivitat, 173, 325Addierwerk, 36Anfangswertbedingung, 301Anfangswertproblem, 281Archimedes-Quadratur, 183ASCII, 35assoziativ, 17, 72, 73, 76Audio, 218Ausgleichsrechnung– nichtlineare, 248Ausloschung, 75, 89

B-Spline, 168B-Spline-Kurve, 172Banach’scher Fixpunktsatz, 234Bandmatrix, siehe MatrixBasis, 30, 358– Orthogonal-Basis, 358Berechnungsmethode, 32, 47, 71, 79–82,

84, 85, 88–90– Cardanosche, 97– numerisch stabile, 84Berechnungsverfahren, 71Bernstein-Polynom, 170, 194Bestapproximation, 360Bezier-Kurve, 170Bildkompression, 215Bildverarbeitung, 337Binarzahl, 34Bisektionsverfahren, 243Bit, 34– Carry, 36– Vorzeichen, 45Bitreversal, 206Butterfly, 203, 223

Byte, 34

Cache, 132Cauchy-Folge, 236cg-Verfahren, 257Chaos, 261Chebycheff-Polynom, 180Chebycheff-Stutzstellen, 163Chip-Design, 297Cholesky-Zerlegung, 141Computertomographie, 143Cosinus Transformation, 216Crank-Nicolson-Verfahren, 294Crout-Verfahren, 138

Datentypen, 21Differentialgleichung– algebraisch, 297– elliptischer Typ, 300– explizite Form, 281– gewohnliche, 279

– hoherer Ordnung, 288– hyperbolischer Typ, 300– implizite Form, 281– parabolischer Typ, 300– partielle, 21, 279

– zweiter Ordnung, 300– steife, 293Differentialgleichungssystem– nichtlinear, 294Differentialoperator, 306Differentialquotient, 286Differenzenoperator, 306Differenzenquotient, 286Diskretisierung, 302– sfehler, 306

– globaler, 290– lokaler, 289

Page 366: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

382 Index

– smethoden, 305dividierte Differenzen, 166Dreiecksgleichungssystem, 104–105, 137

Eigenvektor, 257Eigenwert, 257, 359Einheitswurzel, 365Einzelschrittverfahren, 253Entwicklungsprozess, 24Entwicklungsstandard, 25Epsilontik, 79, 90, 94erzeugende Funktion, 350Euler-MacLaurin’sche Summenformel,

181Euler-Verfahren, 284– implizites, 285, 293– Ruckwarts-, 285Exponent einer Gleitpunktzahl, 57Extrapolationsverfahren, 180

Faltung, 190Fehler– Uberlauffehler, 63– Abbruch, 22– absoluter, 82– Darstellung, 22– Diskretisierungs, 22– Modellierungs, 22– relativer, 82– Rundungsfehler, 17, 63, 64, 69

– analyse, 70, 71– schatzer, 326

– aposteriori, 326– apriori, 326

– Unterlauffehler, 64Festkommazahlen, 51Filter, 217Finite Differenzen, 304, 305– Methode, 286Finite Elemente, 304– Diskretisierungen, 321Finite Volumen, 304Fixpunkt, 233– abstoßend, 234– anziehend, 237Fixpunktsatz– Banach’scher, 234, 312flop, 113Fourier-Analyse, 212

Fourier-Entwicklung, 367Fourier-Transformation– DFT, 200– diskret, 199– FFT, 201– Kombinationsphase, 207– Sortierphase, 205Fourier-Zerlegung, 313Fuzzy-Steuerung, 191

Gauß’scher Weichzeichner, 190Gauß-Algorithmus, 310Gauß-Elimination, 106–113– blockweise, 138Gauß-Kronrod, 180Gauß-Newton-Verfahren, 248Gauß-Quadratur, 179Gauß-Seidel-Verfahren, 251Gebietszerlegung, 328– nicht uberlappend, 329– smethoden, 328, 329Gefahrdungspotential, 26Genauigkeit– adaptiv, 86– beliebig, 86– doppelt, 59– einfach, 59Gesamtschrittverfahren, 253Gesetzmaßigkeit– -Moore, 15Givens-Reflexion, 121Gleichung– nichtlinear, 239Gleitpunktzahl– Speicheranordnung, 58– Vergleich, 59Gleitpunktzahlen, 56– Darstellung, 56– Exponent, 57– normalisiert, 58– subnormal, 60Google, 270Gradientenverfahren, 254Graph, 129Grobgitterkorrektur, 319

Halbaddierer, 36Hermite-Interpolation, 166Heron, 274

Page 367: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Index 383

Hesse-Matrix, siehe MatrixHieroglyphen, 30Hinweise, 369Horner-Schema, 165Hydrodynamik, 337

IEEE, 55, 59, 62Information Retrieval, 268Integer-Zahlen, 45– Addition, 47– Division, 49, 52– Multiplikation, 47– Subtraktion, 47Integration, 175–185Interpolationsfehler, 162Intervallrechnung, 54– Addition, 54– Division, 55– Multiplikation, 54Iterative Losungsverfahren, 311

Jacobi-Iteration, 319Jacobi-Matrix, siehe MatrixJacobi-Verfahren, 251, 313JPEG-Verfahren, 215

Kalibrierung, 188Karatsuba-Algorithmus, 42Kombinationsphase, siehe Fourier-

Transformationkommutativ, 17, 73, 76Komplexe Zahlen, 363Kondition, 81, 82Kondition einer Matrix, 112Konfigurationsmanagement, 26Konsistenzordnung, 306

Lagrange-Polynome, 157Landau-Notation, 351Laplace-Gleichung, 299Laplace-Operator, 299, 306Leonardo von Pisa, 32Leontief’sches Weltmodell, 147Lineare Ausgleichsrechnung, 115–125Load-Balancing, 329Logistische Parabel, 261Lorenz-Attraktor, 295LU -Zerlegung, 109–111

Mantisse, 57, 64, 67

Markov-Kette, 266Maschinen– genauigkeit, 67, 70, 79, 95, 312– zahl, 17Matrix, 353– Adjazenzmatrix, 129– Bandmatrix, 127, 311– dunnbesetzte, 127, 249– Diagonalmatrix, 250, 269, 359

– Block-, 330– Einheitsmatrix, 355– Hermite’sch, 355, 359– Hesse-, 248

– Normalform, 94– inverse, 354– Jacobi-, 247– orthogonal, 358– Permutations-, 358– positiv definit, 141, 254, 258, 359– Rang einer Matrix, 354– regular, 355– singular, 355– stochastische, 266– symmetrisch, 141, 254, 258, 354, 359– transponiert, 354– unitar, 200, 359Mehrgitterverfahren, 319Methode der kleinsten Quadrate, 117MISRA-C, 78Mittelpunktsregel, 177, 287Mittelwertsatz, 347Modell, 21, 279Monte-Carlo-Methoden, 185MP3, 218Multiplikation– saturiert, 49

NaN, 60Neuronale Netze, 146, 265Neville-Tableau, 160, 181Newton-Interpolation, 164Newton-Verfahren, 239–248Norm, 355– euklid’sch, 356– IEC 60880, 24– IEC 61508, 24– IEEE 754, 57– ISO 15504, 25

Page 368: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

384 Index

– ISO 9000, 24– RTCA DO-178B, 24– vertraglich, 357Normalform, 300Normalgleichung, 116Not-a-Number, 60Nullstellenbestimmung, 88Nyquist-Frequenz, 214

Pagerank, 270Parallelisierbarkeit, 135Parallelitat, 327Permutationsmatrix, 110Pipeline, 135Pivotelement, 108Pivotsuche, 107– Spalten-, 107– Total-, 107– Zeilen-, 107Poisson-Gleichung, 305Positionssystem, 30Prakonditionierer, 250Projektmanagement, 26

QR-Zerlegung, 119–124, 150, 269Quadratur, 175–185Qualitatssicherung, 26Quasi-Newton-Verfahren, 248Quicksort, 78

Rauber-Beute-Modell, 294romisches Zahlensystem, 31Randwertbedingung, 301– Dirichlet-, 302– Neumann-, 302Rechenfehler, 19Rechenschieber, 56Rechnergestutzte Geometrie, 94Registerbreite, 40, 45, 48Registrierung, 188Regula falsi, 245Regularisierung, 124Reifegradmodelle, 24– CMM, 24– SPICE, 25Reihenentwicklung, 76Relaxationsfaktor, 313Residuum, 311Restriktion, 319

Richardson-Verfahren, 249Richtungsfeld, 282, 284Rundungsart, 64Rundungsfehler, siehe Fehler, 19– absoluter, 66– relativer, 66

Safety Integrity Level, 26Satz von Taylor, 306Schrittweite, 284Sekatenverfahren, 241Simpson-Regel, 178Singularwert, 359Singularwertzerlegung, 269Skalarprodukt, 79, 354, 356Softron, 26Software-Engineering, 25Softwarekrise, 25Softwaretechnik, 25Solitonen, 336Sonnenfleckenaktivitat, 212Sortierphase, siehe Fourier-

TransformationSpeichertechnologie– DRAM, 33– EEPROM, 33– EPROM, 33– Flash, 33– PROM, 33– ROM, 33– SRAM, 33Spline-Interpolation, 167Stabilitat, 81, 292Stellenwertsystem, 30Strassen, 133Submultiplikativitat, 357System– reaktiv, 16, 21Systementwicklung, 25Systemerstellung, 26

Taylor-Entwicklung, 82, 89, 285, 347Tikonov-Regularisierung, 125Trapezregel, 177, 178Trapezsumme, 181Trigonometrische Interpolation, 193Tsunami, 336Typgenehmigungsverfahren, 26

V-Modell, 25

Page 369: Numerische Methoden: Eine EinfГјhrung fГјr Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker (eXamen.press) (German Edition)

Index 385

Vandermonde-Matrix, 200Variationsproblem, 321Vektor, 353Vektorisierbarkeit, 135Vektoriteration, 257Vektorraummodell, 268Verknupfung– NICHT, 40, 94– ODER, 36– UND, 36Verschiebeoperator, 41Vierspeziesrechenmaschine, 32, 57Volladdierer, 36

Wachstumsprozess, 281Wavelet, 220

– Haar-, 223Weltmodelle, 259Wetter, 302, 327, 331– modell, 332– vorhersage, 331Wettervorhersage, 21, 296Wrap-Around, 47

Zahl, 29Zahldarstellung, 32– halblogarithmisch, 56, 57Zahlen, 29Zerfallsprozess, 281Zertifikat, 26Ziffer, 30Zweierkomplement, 40