Allgemeine numerische Methoden

Ähnliche Dokumente
2. Lineare Gleichungssysteme: direkte und iterative Lösungsverfahren

Iterative Verfahren, Splittingmethoden

Begleitmaterial zur Vorlesung Numerik I

Lineare Gleichungssysteme

Institut für Geometrie und Praktische Mathematik

Lösung der Diplom-Vorprüfung Höhere Mathematik III/IV Aufgabe N1 (LR-Zerlegung mit Pivotisierung) Gegeben seien R 3.

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR

Lineare Gleichungssysteme: direkte Verfahren

Matrixzerlegungen. 6. Vorlesung Numerische Methoden I. Clemens Brand. 2. April Nachträge und Wiederholung. Links-Rechts- Zerlegung

Numerik für Informatiker und Bioinformatiker. Daniel Weiß

Klausur Numerische Mathematik (für Elektrotechniker), Samstag, 19. August 2017

VF-2: 2. Es seien x = 1 3 und y = π Bei der Berechnung von sin(x) sin(y) in M(10, 12, 99, 99) tritt. Auslöschung auf.

Lineare Gleichungssysteme

Spezielle Matrixformen

Beginn der Vorlesung zur Numerik I (Wintersemester 2010/2011)

Diplom VP Numerik 28. August 2006

Kapitel 2: Lineare Gleichungssysteme

Diplom VP Numerik 27. August 2007

KAPITEL 1. Einleitung

38 Iterative Verfahren für lineare Gleichungssysteme

Erweiterungen der LR-Zerlegung

Kurztest zur Numerik I WiR AG, Dep. Mathematik, NT-Fakultät, Universität Siegen

A2.3 Lineare Gleichungssysteme

Lineare Gleichungssysteme, LR-Zerlegung

5 Interpolation und Approximation

3. Lineare Gleichungssysteme

Numerisches Programmieren, Übungen

Numerische Lineare Algebra

Iterative Lösung Linearer Gleichungssysteme

4. Übungsblatt zur Mathematik II für Inf, WInf

5 Numerische Mathematik

2 Lineare Gleichungssysteme

3.6 Eigenwerte und Eigenvektoren

Numerisches Programmieren, Übungen

Lineare Algebra 1. Roger Burkhardt

Gliederung. Links-Rechts-Zerlegung Elimination faktorisiert A = L R. Determinante Inverse. Kleinste Quadrate. Lösung durch. Links-Rechts- Zerlegung

Kapitel 1. Vektoren und Matrizen. 1.1 Vektoren

4. Großübung. Lösung linearer Gleichungssysteme


Numerische Mathematik für Ingenieure (SoSe 2013)

Multiplikationen und Divisionen Hauptarbeit des Algorithmus liegt somit in der Berechnung der LR-Zerlegung. (n 1)n(2n 1) 6. = n3 3 n2.

IV. Matrizenrechnung. Gliederung. I. Motivation. Lesen mathematischer Symbole. III. Wissenschaftliche Argumentation. i. Rechenoperationen mit Matrizen

Lineare Algebra und Numerische Mathematik für D-BAUG

Algorithmen und Datenstrukturen (für ET/IT)

3 Lineare Gleichungssysteme

Kapitel 2: Lineare Gleichungssysteme. 2.1 Motivation: Bildverarbeitung Sei B = (B(n, m)) ein N M stochastisches Feld mit ZVen

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

Cramersche Regel. Satz Es sei A R n n eine quadratische Matrix mit det(a) 0. Für ein LGS Ax = b sei. A j := (a 1,...,a j 1,b,a j+1,...

VF-3: Es seien A R n n beliebig aber regulär, b R n und gesucht sei die Lösung x R n von A x = b.

Algorithmen und Datenstrukturen (für ET/IT)

LR Zerlegung. Michael Sagraloff

III. Iterative Löser. III.1 Direkte Löser und ihre Nachteile. III.2 Klassische lineare Iterationsverfahren

Übungen zur Linearen Algebra, Kap. 1 bis Kap. 3

2. Geben Sie für das Jacobi-Verfahren eine scharfe a-priori Abschätzung für den Fehler. x (10) x p

37 Gauß-Algorithmus und lineare Gleichungssysteme

MODULPRÜFUNG Numerische Methoden (Elektrotechnik, Meteorologie, Geodäsie und Geoinformatik)

$Id: lgs.tex,v /11/26 08:24:56 hk Exp hk $ Definition 5.1: Ein lineares Gleichungssystem besteht aus m linearen Gleichungen

Polynominterpolation

4.2.5 Das Cholesky-Verfahren

In diesem Kapitel betrachten wir direkte Verfahren zur Lösung von linearen Gleichungssystemen.

3 Matrizenrechnung. 3. November

(d) das zu Grunde liegende Problem gut konditioniert ist.

Matrizen. a12 a1. a11. a1n a 21. a 2 j. a 22. a 2n. A = (a i j ) (m, n) = i te Zeile. a i 1. a i 2. a i n. a i j. a m1 a m 2 a m j a m n] j te Spalte

Lineare Algebra. 5. Übungsstunde. Steven Battilana. battilana.uk/teaching

Kapitel 2: Lineare Gleichungssysteme. 2.1 Motivation: Bildverarbeitung Sei B = (B(n, m)) ein N M stochastisches Feld mit ZVen

Begleitmaterial zur Vorlesung Numerik I

B - 8 Gauß - Elimination (1850) Lineare Systeme in zwei Variablen

Lineare Algebra 1. Roger Burkhardt

Musterlösungen zur Leistungsnachweisklausur vom Studiengang Informatik, Ingenieurinformatik, Lehramt

19. Januar Universität Erlangen-Nürnberg Department Mathematik PD Dr. Markus Bause. . Danach liefert die Gauss-Elinination. .

Mathematik I Herbstsemester 2018 Kapitel 8: Lineare Algebra 8.2 Determinanten

Institut für Geometrie und Praktische Mathematik

Klausur Numerische Mathematik (für Elektrotechniker), 24. Februar 2016

Institut für Geometrie und Praktische Mathematik

PS Numerische Mathematik für LAK WS 08/09, LV-Nr.: , HS Übungsblatt (bis )

Matrizen, Gaußscher Algorithmus 1 Bestimmung der inversen Matrix

Inverse Matrix. 1-E Ma 1 Lubov Vassilevskaya

Numerisches Programmieren, Übungen

Mathematik I Herbstsemester 2014 Kapitel 8: Lineare Algebra 8.2 Determinanten

TU Ilmenau Institut für Mathematik FG Numerische Mathematik und Informationsverarbeitung PD Dr. W. Neundorf Datei: UEBG2.TEX

Numerisches Rechnen. (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang. Institut für Geometrie und Praktische Mathematik RWTH Aachen

9.2 Invertierbare Matrizen

Mathematik für Naturwissenschaftler II SS 2010

1 Einführung Gleichungen und 2 Unbekannte Gleichungen und 3 Unbekannte... 4

4.6 Berechnung von Eigenwerten

Musterlösungen Blatt Mathematischer Vorkurs. Sommersemester Dr. O. Zobay. Matrizen

8.2 Invertierbare Matrizen

Begleitmaterial zur Vorlesung Numerik II

KLAUSUR zur Numerik I mit Lösungen. Aufgabe 1: (10 Punkte) [ wahr falsch ] 1. Die maximale Ordnung einer s-stufigen Quadraturformel ist s 2.

Lösung Semesterendprüfung

Lineare Algebra 1. Roger Burkhardt

Matrizenoperationen mit FORTRAN

Numerische Behandlung von linearen Gleichungssystemen

Rechenaufwand der LR- und LDL T - Zerlegung

Partialbruchzerlegung

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016

9 Lineare Gleichungssysteme

Copyright, Page 1 of 5 Die Determinante

Brückenkurs Mathematik. Mittwoch Freitag

Matrizen, Determinanten, lineare Gleichungssysteme

Transkript:

Allgemeine numerische Methoden Dr.-Ing. Jens Uwe Böhrnsen INSTITUT FÜR ANGEWANDTE MECHANIK Technische Universität Braunschweig Spielmannstraße 3806 Braunschweig Autor Prof. Dr.-Ing. Martin Schanz TECHNISCHE UNIVERSITÄT GRAZ Institut für Baumechanik Technikerstraße 4 800 Graz, Österreich April 00

Vorwort Dieses Skript zur Vorlesung Allgemeine numerische Methoden richtet sich an Studenteninnen und Studenten des Bauwesens und des Maschinenbaus im Masterstudium. Im Ingenieurwesen werden in zunehmender Weise numerische Methoden eingesetzt, um physikalische Modelle zu simulieren. Die Anwendung numerischer Verfahren ohne Kenntnisse der Algorithmen, sozusagen als Black Box angewandt, führt oft auf fehlerhafte Ergebnisse. Daher soll hier eine Einführung in eine Reihe von grundlegenden numerischen Verfahren und ihre Eigenschaften gegeben werden. Ausgewählt wurden Verfahren, die insbesondere in der Mechanik benötigt werden, jedoch auch in anderen Fachgebieten zum Einsatz kommen. Das erste Kapitel beschäftigt sich mit der Lösung von linearen Gleichungssystemen, welche immer auftreten, wenn ein System durch mehr als eine Unbekannte beschreibbar ist. Es werden hier sowohl direkte, als auch iterative Gleichungslöser vorgestellt. Im nächsten Kapitel wird die Interpolation besprochen, die nicht nur zur Erstellung von Kurven durch gegebene Punkte benötigt wird, sondern auch Grundlage für einige der nachfolgenden Verfahren bildet. So basieren die numerischen Integrationsformeln, welche im dritten Kapitel vorgestellt werden, auf einer Polynominterpolation des Integranden. In diesem Kapitel werden auch die weit verbreiteten Gaußschen Quadraturformeln eingeführt. Wurde zu Beginn die Lösung von algebraischen Gleichungssystemen behandelt, so folgt im vierten Kapitel nun die numerische Lösung von Differentialgleichungssystemen. Den Abschluß bilden Verfahren zur Lösung von nichtlinearen Gleichungen. Aufbauend auf mathematischen Kenntnissen, wie sie im Vordiplom vermittelt werden, werden die ausgewählten Algorithmen hergeleitet und an Beispielen erläutert. Auf Beweise wurde aus Gründen der Übersichtlichkeit bewußt verzichtet. Dennoch werden an einigen Stellen Begriffe aus der Funktionalanalysis benötigt, die im Anhang kurz dargestellt sind, so daß ein Studium entsprechender Lehrbücher der Funktionalanalysis zum Verständnis nicht erforderlich ist. Da die Methoden im Vordergrund stehen, und nicht die Implementierung auf dem Computer, werden keine Kenntnisse einer speziellen Programmiersprache vorausgesetzt. Selbstverständlich erleichtert eine gewisse Erfahrung mit einer Programmiersprache das Verständnis, aber auch ein Leser ohne Kenntnisse der EDV kann dem Vorlesungsstoff folgen. Die im folgenden vorgestellten Beispiele, die mit dem Computer gelöst wurden, sind als C++ Programm-Code auf unserem Web-Server http://www.infam.tu-braunschweig.de per http verfügbar. Als begleitende Literatur sind die Bücher von SCHWARZ [8], von HERRMANNN [5, 6], von SCHWETLICK,KRETSCHMAR [9] und von STOER, BULIRSCH [0, ] zu empfehlen. Dabei sind die beiden Bände von HERRMANN als Aufgabensammlung mit kurzen und prägnanten Zusammenfassungen der Theorie und die beiden Bände von STOER,BULIRSCH als mathema-

tische Grundlage hervorzuheben. Da der computerorientierte Aspekt der Numerik hier eine nur untergeordnete Rolle spielt, sollten die Bücher von ÜBERHUBER [4, 5] nicht unerwähnt bleiben. In diesen zwei Bänden wird u.a. die Implementierung von Algorithmen auf dem Computer und die Hintergründe einer effizienten Programmierung ausführlich behandelt. Weiterhin ist dort eine sehr umfangreiche Sammlung von Hinweisen auf sowohl kommerzielle, als auch frei verfügbare numerische Software zu finden. Abschließend hoffe ich, mit diesem Inhalt dem Leser eine Einführung in die Numerik und ein Gefühl für die Problematik der Numerik vermitteln zu können. Braunschweig, im Frühjahr 00 Jens Uwe Böhrnsen

Inhaltsverzeichnis Lineare Gleichungssysteme. Matrixeigenschaften und Fehlerabschätzungen.................... Matrixeigenschaften............................. Fehlerabschätzung............................ 3. Gaußscher Algorithmus.............................. 5.. LU-Zerlegung.............................. 9.. Cholesky-Zerlegung.............................3 Tridiagonale Gleichungssysteme..................... 3.3 Iterative Gleichungslöser............................. 4.3. Jacobi- und Gauß-Seidel-Verfahren................... 5.3. Relaxationsverfahren........................... 7 Interpolation. Lagrange-Interpolation............................... Newton-Interpolation............................... 5.3 Hermite-Interpolation............................... 9.4 Fehlerabschätzung bei Polynominterpolation................... 3.5 Spline-Interpolation................................ 34.5. B-Splines................................. 39 3 Integration und Differentiation 45 3. Interpolatorische Quadraturformeln....................... 46 3. Gaußsche Quadraturformeln........................... 50 3.3 Numerische Differentiation............................ 53 4 Gewöhnliche Differentialgleichungen 57 4. Einschrittverfahren................................ 58 4.. Einige einfache Verfahren........................ 59 4.. Konsistenz und Konvergenz von Einschrittverfahren.......... 6 4..3 Runge-Kutta-Verfahren.......................... 64 4. Lineare Mehrschrittverfahren........................... 70 4.. Konsistenz von Mehrschrittverfahren.................. 7 4.. Einige gebräuchliche Verfahren..................... 74 i

4..3 Nullstabilität und Konvergenz...................... 79 5 Nichtlineare Gleichungen 83 5. Konvergenz von Iterationsverfahren....................... 83 5. Skalare Gleichungen............................... 88 5.. Bisektions-Verfahren........................... 88 5.. Newton-Verfahren............................ 89 5..3 Sekanten-Verfahren............................ 90 5.3 Systeme nichtlinearer Gleichungen........................ 9 5.3. Newton-Verfahren............................ 94 A Mathematik 97 A. Normen...................................... 97 A. Legendre-Polynome................................ 99 A.3 Die Taylor-Reihe................................. 00 B Aufgaben 0 ii

Kapitel Lineare Gleichungssysteme Die Lösung linearer Gleichungssysteme spielt in der Numerik eine zentrale Rolle, da viele Probleme der angewandten Mathematik auf diese Aufgabe zurückgeführt werden. Es münden die meisten Diskretisierungsverfahren wie z.b. die Finite Element oder Finite Differenzen Methode in ein lineares Gleichungssystem. Ein lineares Gleichungssystem besteht meistens nur solche sollen hier betrachtet werden aus n linearen Gleichungen für n Unbekannte. Es kann also in der Form a x + a x +... + a n x n = b a x + a x +... + a n x n = b.. a n x + a n x +... + a nn x n = b n (.) oder in Matrixschreibweise a... a n x b Ax = b mit A =.. x =. b =. (.) a n... a nn x n b n dargestellt werden. Da genau so viel Unbekannte x i wie Gleichungen existieren, ist die Matrix A ein quadratische (n n) Matrix. Weiterhin soll vorausgesetzt werden, daß A regulär ist, also det A 0 gilt. Diese Voraussetzung sichert die Existenz einer Lösung des Gleichungssystems (.). Das Lösen solcher Systeme erfolgt bei direkten Gleichungslösern häufig auf der Basis des Gaußschen Algorithmus, welcher die Matrix A in eine Rechtsdreiecksmatrix umformt, und dann durch sogenanntes Rückwärtseinsetzen die Lösung berechnet. Eine andere Möglichkeit das Gleichungssystem zu lösen, ist die Anwendung iterativer Verfahren, die sich, ausgehend von einem Startvektor, an die tatsächliche Lösung heraniterieren. Ob tatsächlich die richtige Lösung berechnet wird, hängt bei beiden Möglichkeiten entschieden von gewissen Eigenschaften der Matrix A ab. Daher werden hier zuerst einige Begriffe aus der linearen Algebra eingeführt.

. Matrixeigenschaften und Fehlerabschätzungen Lineare Gleichungssysteme. Matrixeigenschaften und Fehlerabschätzungen.. Matrixeigenschaften Diagonal dominante Matrix Eine für die Gleichungslösung sehr angenehme Eigenschaft der Matrix A ist die Dominanz der Diagonalelemente. Dies ist wie folgt definiert: Diagonal Dominanz Eine Matrix A heißt diagonal dominant, falls in jeder Zeile der Betrag des Diagonalelementes größer ist als die Summe der Beträge der übrigen Matrixelemente derselben Zeile. Es gilt also a ii > n k= k i a ik, i =,,...,n. (.3) Gleichungssysteme, die mit solchen Matrizen beschrieben werden, haben sehr gutmütige Lösungseigenschaften. Ein Beispiel für eine diagonal dominante Matrix ist: 5 A = 0 3 (.4) 0 Positiv definite Matrix Eine in der Praxis sehr oft erfüllte, und sehr nützliche, Eigenschaft der Matrix A ist die positive Definitheit. Positiv Definite Matrizen werden z.b. bei der Finiten Element Methode erzeugt. Diese Eigenschaft ist folgendermaßen definiert: Positive Definitheit Eine (n n) Matrix A heißt positiv definit, wenn gilt: i) A ist symmetrisch, d.h. A T = A ii) x T Ax > 0 für alle x R n und x 0 Ist oben im Punkt ii) das > Zeichen nicht erfüllt, sondern nur ein, dann spricht man von einer semi definiten Matrix, und falls ein < Zeichen gilt, heißt die Matrix negativ definit. Es gilt der Zusammenhang: wenn A positiv definit ist, dann ist A negativ definit. (Anmerkung: Es gibt auch Definitionen der positiven Definitheit, bei denen die Symmetrie der Matrix A nicht Voraussetzung ist.) Im folgenden sind Bedingungen für die positive Definitheit einer Matrix A angegeben: Notwendige Bedingungen A existiert und ist positiv definit

Lineare Gleichungssysteme. Matrixeigenschaften und Fehlerabschätzungen alle Diagonalelemente von A sind positiv Notwendige und hinreichende Bedingungen alle Hauptunterdeterminanten sind echt größer Null alle Eigenwerte sind positiv A läßt sich durch elementare Gaußsche Zeilenumformungen in eine Dreiecksmatrix mit positiven Diagonalelementen überführen A läßt sich in R nach Cholesky zerlegen Die letzten beiden Bedingungen greifen etwas voraus auf Verfahren, die in den folgenden Kapiteln beschrieben werden. Unter den Hauptunterdeterminanten, oder auch Hauptabschnittsdeterminanten oder Hauptminoren genannt, versteht man die Determinante a... a k det.. a k... a kk, k =,...,n. (.5) BEISPIEL.. : Positiv definite Matrizen Welche der folgenden Matrizen sind positiv definit? (a) (b) (c) Zu (a): Da zwei Elemente auf der Hauptdiagonalen a und a 33 kleiner Null sind, ist diese Matrix nicht positiv definit. Zu (b): Als Entscheidungskriterium werden hier die Hauptabschnittsdeterminanten benutzt. Die erste lautet ( ) det = 0. Damit ist ebenfalls gezeigt, daß diese Matrix nicht positiv definit ist. Zu (c): Diese Matrix ist nicht symmetrisch, also auch nicht positiv definit... Fehlerabschätzung Alle Rechnungen auf einem Computer haben nur eine endliche Genauigkeit, d.h. es können nur eine beschränkte Anzahl von exakten Stellen angegeben werden. Dies trifft nicht nur auf Ergebnisse zu, sondern auch schon auf die Darstellung der Zahlen, im Falle eines linearen Gleichungssystems also der Koeffizienten a i j und der rechten Seite b i. Zusätzlich zu diesen Darstellungsfehlern kommen noch Rundungsfehler aus etwaigen vorherigen Rechnungen, deren 3

. Matrixeigenschaften und Fehlerabschätzungen Lineare Gleichungssysteme Resultat das Gleichungssystem ist, hinzu. Deshalb soll hier der mögliche Einfluß von Fehlern in den Ausgangsdaten auf die Lösung x untersucht werden. Es stellt sich damit die Frage, wie groß ist die Änderung x der Lösung x falls die Matrix A um A und die rechte Seite b um b geändert werden? Dabei sollen A und b kleine Störungen sein, so daß auch die Matrix A + A noch regulär ist. Damit ist x + x Lösung des Gleichungssystems (A + A)(x + x) = b + b. (.6) Durch Ausmultiplizieren und Umformen erhält man die Änderung x = ( I + A A ) A [ b Ax]. (.7) Betrachtet man nun die Norm x bezogen auf die Norm von x x x ( I + A A ) [ A A + b ] x (.8) so erhält man mit der Abschätzung (Beweis siehe [0]) ( I + A A ) A A für A A < (.9) die Fehlerabschätzung des gestörten Gleichungssystems (.6) x x cond(a) cond(a) A A [ A A + b ] b. (.0) Die benutzte Matrixnorm muß selbstverständlich zur benutzten Vektornorm verträglich sein (bzgl. Normen und Konditionszahl siehe Anhang A.). An der Abschätzung (.0) erkennt man deutlich, daß die Lösung wesentlich von der Konditionszahl cond(a) abhängt. BEISPIEL.. : Kondition und Fehlerabschätzung Gegeben sei die Matrix ( ) 3.0003 3 A = 3 3 (a) Berechnen Sie die Konditionszahl von A (.) (b) Wieviel richtige Mantissenstellen können in der Lösung x des linearen Gleichungssystems Ax = b bei g-stelliger Gleitkommarechnung erwartet werden, wenn für den relativen Fehler gilt A A b b 5 0 g? (.) Zu (a): Für die in Anhang A. angegebenen Matrixnormen und ergibt sich A = A = 6.0003, (.3) 4

Lineare Gleichungssysteme. Gaußscher Algorithmus und mit deta = 0.0009 die inverse Matrix zu A = ( ) 3 3. (.4) 0.0009 3 3.0003 Mit den Normen A = A = 6667 (.5) erhält man dann die Konditionszahl cond(a) = A A = A A = 40004.000. (.6) Mit der Spektralnorm würde die Konditionszahl cond(a) = 4000.00008 lauten. Daran ist zu erkennen, daß unterschiedliche Definitionen der Normen nicht zu den gleichen Werten, und damit auch nicht zu gleichen Konditionszahlen führen müssen. Zu (b): Der relative Fehler kann nach Formel (.0) berechnet werden. Es gilt näherungsweise x x 4 0 4 4 0 4 5 0 g 5 0 g 4 = 0 g+5 0 g+5 (.7) Falls nun g sehr viel größer als 5 ist, z.b. bei 6-stelliger Gleitkommarechnung g = 6, so ist der Nenner, und damit der relative Fehler x x 4 0 (g 5). (.8) Damit können für einen relativen Fehler von 5 0 g für die vorgegebenen Größen nur ca. g 5 richtige Mantissenstellen erwartet werden.. Gaußscher Algorithmus Der Gaußsche Algorithmus verfolgt das Ziel ein Gleichungssystem so umzuformen, daß die Unbekannten sukzessive durch Rückwärtseinsetzen berechnet werden können. Dazu muß die Matrix A in eine Rechtsdreiecksmatrix umgeformt werden. Dabei werden folgende Operationen auf die Matrix angewandt: Vertauschen von Zeilen Multiplikation einer ganzen Zeile mit einer Zahl 0 Addition eines Vielfachen einer Zeile zu einer anderen. 5

. Gaußscher Algorithmus Lineare Gleichungssysteme Diese Operationen verändern das gegebene Gleichungssystem nicht, wenn auch gleichzeitig die rechte Seite b entsprechend umgeformt wird. Dazu wird das Gleichungssystem in der Form a [ ]... a n b A b =... (.9) a n... a nn b n dargestellt. Subtrahiert man nun das l i = a i a -fache der ersten Zeile von den i-ten Zeilen (i =,3,...,n) erhält man ein System, das in der ersten Spalte nur ein Element a 0 enthält Die restlichen Elemente sind durch a a... a n b [ ] 0 a ()... a () n b () A b =.... a () ik 0 a () n... a () nn b () n = a ik l i a k b () i = b i l i b i,k =,3,...,n. (.0) (.) gegeben. Es wurde stillschweigend vorausgesetzt, daß a 0 ist. Dieses Element nennt man Pivotelement oder auch einfach Pivot. Nach dieser Umformung enthält nur noch die erste Zeile des entsprechenden Gleichungssystems die Unbekannte x. Diese könnte also durch die übrigen x i ausgedrückt werden, die wiederum aus dem verbleibendem System der Koeffizienten a () i j berechnet werden können. Unter der Annahme a () 0 (dies ist das Pivot des zweiten Schrittes) kann nun auch die zweite Spalte unterhalb von a () zu Null gezwungen werden. Setzt man dies n-mal fort, so erhält man eine Rechtsdreiecksmatrix U (engl. upperdiagonal matrix) mit den Elementen [ ] [ ] A b = U c = u u... u n c 0 u... u n c.... 0 0... u nn c n (.) u ik = a (i ) ik a (0) ik = a ik k = i,i +,...,n c i = b (i ) i b (0) (.3) i = b i für alle i =,,...,n. In der Form Ux = c kann das Gleichungssystem durch sogenanntes Rückwärtseinsetzen ] x i = [c i u ik x k (.4) u ii n k=i+ gelöst werden. Der Begriff Rückwärtseinsetzen resultiert aus der Tatsache, daß das Gleichungssystem in umgekehrter Reihenfolge, also mit x n beginnend, gelöst wird. 6

Lineare Gleichungssysteme. Gaußscher Algorithmus BEISPIEL.. : Gaußsches Eliminationsverfahren Das Gleichungssystem x + 3x 5x 3 = 0 4x + 8x 3x 3 = 9 6x + x + 4x 3 = (.5) soll mit dem Gaußschen Eliminationsverfahren gelöst werden. In zwei Schritten kann das Gleichungssystem in eine Rechtsdreiecksmatrix umgeformt werden 3 5 0 3 5 0 3 5 0 4 8 3 9 0 7 0 7. (.6) 6 4 0 0 4 0 0 46 46 Das Rückwärtseinsetzen ergibt die Unbekannten x 3 = x = 7 = 3 x = 0 9 5 = (.7) In der Herleitung der Gaußelimination wurde immer vorausgesetzt, daß das Pivotelement ungleich Null ist, da sonst durch Null dividiert würde. Daß nicht nur solche Pivotelemente ausgeschlossen werden müssen, sondern daß auch andere Pivotelemente Probleme aufwerfen soll das nächste Beispiel zeigen. BEISPIEL.. : Ungünstige Pivotelemente Das lineare Gleichungssystem ( 0.005 )( x x ) = ( ) 0.5 (.8) soll exakt und mit der Gaußelimination mit zweistelliger Gleitkommarechnung gelöst werden. Das Gleichungssystem wird im ersten Schritt (Pivot a = 0.005 0) zu [ ] [ ] 0.005 0.5 0.005 0.5 (.9) 0 99 99 umgeformt. Daraus lassen sich in exakter Rechnung die Lösungen x = 00 99 = 0.505 und x = 99 99 = 0.4974874 berechnen. Mit zweistelliger Gleitkommarechnung lautet der erste Schritt [ ] [ ] 0.50E 0.0E + 0.50 0.50E 0.0E + 0.50 (.30) 0.0E + 0.0E + 0.0E + 0 0.0E + 3 0.99E + und führt auf das Ergebnis 0.0E + 3 x = 0.99E + x = 0.50 0.50E x = 0.50 0.0E + x x = 0 7 (.3)

. Gaußscher Algorithmus Lineare Gleichungssysteme Das gerundete Ergebnis für x mag ja noch zufriedenstellend sein, aber x = 0 ist unakzeptabel. Schuld an dieser Ungenauigkeit ist eine Stellenauslöschung durch das sehr kleine Pivotelement a = 0.005. Natürlich ist der Wert nicht absolut zu klein, sondern nur im Vergleich zu den anderen Matrixelementen. Der Unterschied sind 3 Kommastellen, also mehr als in der Gleitkommarechnung in Beispiel.. an signifikanten Stellen mit einbezogen wurden. Um solche Effekte, und auch Pivotelemente gleich Null zu vermeiden werden Zeilen und Spalten getauscht. Wie und wann ein Tausch stattfindet wird nach einer gewissen Pivotstrategie entschieden. Eine sehr oft benutzte und äußerst effektive Strategie ist die sogenannte partielle Pivotisierung oder Spaltenpivotisierung. Darunter versteht man das folgende Vorgehen. In jedem Schritt wird das Pivotelement betragsmäßig mit allen unter ihm in der gleichen Spalte stehenden Elementen verglichen. Von all diesen Elementen wird das betragsmäßig größte ausgesucht, und die Zeile mit der aktuellen vertauscht. BEISPIEL..3 : Gaußelimination mit Spaltenpivotisierung Das lineare Gleichungssystem ( )( ) ( ) 0.005 x 0.5 = x (.3) soll mit der Gaußelimination mit zweistelliger Gleitkommarechnung und Spaltenpivotisierung gelöst werden. Im ersten Schritt werden die Elemente der ersten Zeile verglichen. a ist größer als a, also werden erste und zweite Zeile vertauscht. [ 0.50E 0.0E + 0.50 0.0E + 0.0E + 0.0E + ] [ 0.0E + 0.0E + 0.0E + 0.50E 0.0E + 0.50 ] (.33) Danach wurde die Dreiecksgestalt erzeugt, indem das 0.005-fache der ersten Zeile von der zweiten abgezogen wurde. [ ] [ ] 0.0E + 0.0E + 0.0E + 0.0E + 0.0E + 0.0E + (.34) 0.50E 0.0E + 0.50 0 0.0E + 0.50 Auf Grund der Rundung auf zwei Stellen verändern sich die Elemente der zweiten Zeile bis auf das erste Element nicht. Mit diesem Gleichungssystem erhält man das Ergebnis x = 0.50 und x = 0.50. In Beispiel..3 ist mit Spaltenpivotisierung ein deutlich besseres Ergebnis erzielt worden. Es können jedoch Beispiele erzeugt werden, bei denen eine Spaltenpivotisierung nicht ausreichend ist. In solchen Fällen wird eine totale Pivotisierung durchgeführt. Darunter versteht man eine Zeilenund Spaltenvertauschung, so daß das betragsgrößte Element der Restmatrix (die noch keine Dreiecksstruktur hat) an die Stelle des Pivots gesetzt wird. Dieses Verfahren ist zwar sehr gut, jedoch sehr aufwendig. Keine Pivotstrategie benötigen die diagonal dominanten und positiv definiten Matrizen, da diese Eigenschaften automatisch ein gutmütiges Verhalten der Gaußelimination sicherstellen. 8

Lineare Gleichungssysteme. Gaußscher Algorithmus Welche Zeilen vertauscht wurden, wird in einer Permutationsmatrix P vermerkt. Eine Permutationsmatrix ist eine Matrix, die pro Zeile maximal einmal den Wert, ansonsten nur Nullen stehen hat. Ausgehend von einer Einheitsmatrix werden in dieser Permutationsmatrix die gleichen Zeilen vertauscht wie in der Matrix A. Im Falle von Beispiel..3 hätte diese Matrix die Gestalt P = ( 0 0). Solche Permutationsmatrizen werden für jeden Eliminationsschritt angelegt, und am Ende der Elimination nach z.b. k-schritten entsprechend P = P k P k... P multipliziert. Findet in einem Schritt kein Tausch statt, dann muß die Permutationsmatrix, die ja dann die Einheitsmatrix ist, nicht mit einbezogen werden... LU-Zerlegung Die LU-Zerlegung, oder auch LR-Zerlegung genannt, ist keine neue Lösungsmöglichkeit für lineare Gleichungssysteme, sondern nur eine effektivere Darstellung der gewöhnlichen Gaußelimination. Führt man die Gaußelimination wie oben gezeigt durch, so muß man bei einer neuerlichen Rechnung für das gleiche System aber mit anderer rechten Seite die Zerlegung nochmal durchführen. Merkt man sich jedoch die jeweiligen Multiplikationen mit den l i j, so kann die Zerlegung nochmal auf eine neue rechte Seite angewandt werden. Dieser Grundgedanke der LU-Zerlegung fundiert auf dem Satz LU-Zerlegung Zu jeder regulären Matrix A existiert eine Permutationsmatrix P, so daß PA in das Produkt einer Linksdreiecksmatrix L und einer Rechtsdreiecksmatrix U zerlegbar ist gemäß PA = LU. (.35) In obigem Satz ist die Rechtsdreiecksmatrix U die Matrix aus (.) und die entsprechende Linksdreiecksmatrix L enthält unterhalb der Hauptdiagonalen, welche mit Einsen belegt ist, die Werte l i j. Multipliziert man nun das Gleichungssystem (.) mit der Permutationsmatrix P PAx = Pb L}{{} Ux = Pb, (.36) =y so erhält man die Gleichungslösung mit Hilfe der LU-Zerlegung nach dem Schema: PA = LU Ly = Pb Ux = y Zerlegung von PA Vorwärtseinsetzen zur Berechnung der Hilfsgröße y Rückwärtseinsetzen zur Berechnung der Lösung x (.37) An diesem Algorithmus ist leicht zu erkennen, daß hier die Gaußelimination nicht verändert wurde, sondern nur so gespeichert wurde, damit für eine neue rechte Seite b die Zerlegung nicht noch ein zweites Mal durchgeführt werden muß. Die Motivation für dieses Vorgehen ist nach einer Aufwandsabschätzung der einzelnen Schritte sofort ersichtlich. Als wesentliche Operationen werden nur Divisionen und Multiplikationen 9

. Gaußscher Algorithmus Lineare Gleichungssysteme gezählt. Die LU-Zerlegung wird mit Z LU = ( 3 n 3 n ) Operationen bewältigt, das Vorwärtseinsetzen benötigt Z V = ( n n ) Operationen und das Rückwärtseinsetzen Z R = ( n + n ) Operationen. Damit ergibt sich ein Gesamtaufwand von Z Gauß = 3 n3 + n 3 n (.38) wesentlichen Rechenoperationen. Damit ist der Aufwand proportional n 3, d.h. bei großen Systemen macht sich der Aufwand für das Einsetzen nicht mehr bemerkbar. Zur Umsetzung der LU-Zerlegung auf dem Rechner sollte man noch erwähnen, daß die Matrizen L und U nicht separat abgespeichert werden, sondern auf dem Speicherplatz der Matrix A abgelegt werden, da die Matrix A nach der Zerlegung nicht mehr gebraucht wird. Weiterhin wird auch die Permutationsmatrix nicht explizit aufgebaut, sondern nur in einem Vektor vermerkt, welche Zeilen miteinander vertauscht werden. Damit wird auch das Produkt Pb nicht berechnet, sondern nur die Zeilen des Vektors b entsprechend vertauscht. Ohne eine Pivotstrategie könnte eine Gleichungslösung z.b. folgendermaßen programmiert werden: //------- LU Zerlegung mit altem Speicher -----------------------------// for (k=0; k<n-; k++) { z=./mat[k][k]; for (i=k+; i<n; i++) { mat[i][k]=mat[i][k]*z; for (j=k+; j<n; j++) mat[i][j]-=mat[k][j]*mat[i][k]; } } //------- Vorwaerts Einsetzen ----------------------------------------// for (j=0;j<n;j++) { x[j]=rechte_seite[j]; // copy {b} --> {x} for (i=0;i<j;i++) x[j]-=mat[j][i]*x[i]; // Solve [L]{y} = {b} } //------- Rueckwaerts Einsetzen -------------------------------------// for (j=n-;j>=0;j--) { // Solve [U]{x} = {y} for (i=+j; i < n; i++) x[j]-=mat[j][i]*x[i]; x[j]=x[j]/mat[j][j]; } Dieses Beispielprogramm wurde in C++ programmiert, es ist aber leicht auf andere Programmiersprachen übertragbar. In diesem Beispiel wurde auch der Speicherplatz für den Hilfsvektor y eingespart, und auf dem Ergebnisvektor x zwischengespeichert. Nicht unerwähnt bleiben sollte die Möglichkeit, sozusagen als Nebenprodukt der LU-Zerlegung, die Determinante der Matrix A einfach zu berechnen. Mit der Zerlegung (.35) gilt für die Determinante deta = ±det(pa) det(pa) = det(lu) = detl detu = 0 n k= u kk. (.39)

Lineare Gleichungssysteme. Gaußscher Algorithmus Damit ist die Determinantenberechnung auf n Multiplikationen reduziert. BEISPIEL..4 : LU-Zerlegung Das Gleichungssystem Ax = b soll mit der LU-Zerlegung und Spaltenpivotisierung für 3 6 5 3 A = 6 b = b = (.40) 3 3 3 gelöst werden. Im ersten Schritt wird zuerst die erste mit der zweiten Zeile getauscht. 3 6 5 3 6 6 3 6 5 3. (.4) 3 3 3 3 3 3 Der Vektor b wird genau wie der Vektor b einfach an die Matrix A angehängt. Der obige Zeilentausch ergibt die Permutationsmatrix P und durch Abziehen des -fachen der ersten Zeile von der. und 3. Zeile den Eliminationschritt 0 0 6 [ ] P = 0 0 A b = 9 0 0 0. (.4) 0 0 0 3 0 Der letzte Schritt ist nur noch ein Vertauschen der letzten beiden Zeilen. Damit erhält man folgende Permutationsmatrix 0 0 0 0 0 0 P = P P = 0 0 0 0 = 0 0 (.43) 0 0 0 0 0 0 Die beiden Matrizen der LU-Zerlegung lauten folglich 0 0 6 L = 0 U = 0 3, (.44) 9 0 0 0 wobei in L auch der Zeilentausch durchgeführt wurde, jedoch nur für die Elemente unterhalb der Hauptdiagonalen. Durch einfaches Ausmultiplizieren kann man sich überzeugen, daß die Zerlegung tatsächlich richtig ist. Die Lösung kann nun durch Rückwärtseinsetzen erfolgen, da das Vorwärtseinsetzen zur Bestimmung des Hilfsvektors y, sowohl für b als auch für b, schon implizit mitberechnet wurde. Das Rückwärtseinsetzen liefert für beide rechte Seiten die Ergebnisse x = 5 3 3 0 x = 9 7 4 9. (.45)

. Gaußscher Algorithmus Lineare Gleichungssysteme.. Cholesky-Zerlegung Die LU-Zerlegung ist für alle Matrizen geeignet. Liegt jedoch speziell eine positiv definite Matrix A vor, so wäre es wünschenswert, wenn die Zerlegung die Symmetrieeigenschaft der Matrix ausnützen würde. Die Cholesky-Zerlegung nutzt diese Eigenschaft, und zerlegt die Matrix A in A = LL T, (.46) eine untere Dreiecksmatrix L und deren Transponierte. Die Matrix L hat nichts mit der gleichnamigen Matrix der LU-Zerlegung zu tun. Sie berechnet sich nach l ii = aii l ik für i =,,...,n i k= l ji = i [a ji l ii k= l jk l ik ] für j = i +,...,n. (.47) Mit dieser Zerlegung kann dann entsprechend dem Algorithmus (.37) der LU-Zerlegung das Gleichungsystem gelöst werden A = LL T Zerlegung von A Ly = b Vorwärtseinsetzen zur Berechnung der Hilfsgröße y L T x = y Rückwärtseinsetzen zur Berechnung der Lösung x. (.48) Eine Pivotisierung ist unnötig, da positiv definite Matrizen automatisch in einer für die Numerik günstigen Form vorliegen. Würde man die Cholesky-Zerlegung auf eine zwar symmetrische, aber nicht positiv definite Matrix anwenden, so kann die Zerlegung durchgeführt werden, aber nicht in R sondern in C, da dann Wurzeln aus negativen Zahlen berechnet werden müßten. Der ganze Algorithmus (.48) ist dann in C durchzuführen, und ergibt ein reelles Ergebnis. Will man die komplexe Rechnung umgehen, so ist eine ähnliche Zerlegung möglich, mit den Matrixelementen A = LDL T (.49) i d ii = a ii j= l ji = i [a ji d ii l i jd j j für i =,,...,n k= l jk l ik d kk ] für j = i +,...,n. (.50) In dieser Zerlegung entspricht L der Matrix L aus der LU-Zerlegung und die Matrix D ist eine Diagonalmatrix mit den Pivotelementen der Gaußelimination auf der Diagonalen. Für diese Zerlegung muß die Matrix A zwar nur symmetrisch, aber sie darf jedoch nicht indefinit sein.

Lineare Gleichungssysteme. Gaußscher Algorithmus Obwohl die Cholesky-Zerlegung zur Lösung von einem linearen Gleichungssystem n Quadratwurzeln benötigt, die bei der LU-Zerlegung nicht benötigt werden, hat sie den Vorteil, daß die Zerlegung unter Wahrung der Symmetrie erfolgt. Insgesamt benötigt die Gleichungslösung nach Cholesky nur Z Cholesky = 6 n3 + 3 n + 3 n (.5) wesentliche Operationen. Für sehr große Systeme dominiert hier, ebenso wie bei der LU- Zerlegung, der Term n 3, jedoch nur mit einem halb so großen Vorfaktor. Damit hat das Cholesky- Verfahren nur den halben Aufwand verglichen mit der normalen Gaußelimination oder der LU- Zerlegung...3 Tridiagonale Gleichungssysteme In der Anwendung treten häufig schwach besetzte Matrizen auf, die meistens auch noch nur in einem Band um die Hauptdiagonale Elemente ungleich Null haben. Solche Matrizen nennt man Bandmatrizen. Eine besonders einfach und numerisch sehr effektiv zu behandelnde Form ist eine Matrix, die nur auf der Hauptdiagonalen und den beiden Nebendiagonalen Elemente ungleich Null besitzt. Diese Matrizen nennt man tridiagonal. Bei einem Gleichungssystem, daß durch solche Matrizen beschrieben wird, enthält die i-te Gleichung nur die Unbekannten x i,x i und x i+. Diese Eigenschaft kann zur Gleichungslösung ausgenutzt werden. Setzt man voraus, daß ein Zeilen- oder Spaltentausch unnötig ist, also z.b. eine diagonal dominante oder sogar positiv definite Matrix A vorliegt, dann existiert eine Dreieckszerlegung A = LU mit bidiagonalen Matrizen L und U. Die Zerlegung lautet also α β 0 0 0 γ α β 0 0 0 γ α 3 β 3 0 0 0 γ 3 α 4 β 4 0 0 0 γ 4 α 5 = 0 0 0 0 l 0 0 0 0 l 0 0 0 0 l 3 0 0 0 0 l 4 m β 0 0 0 0 m β 0 0 0 0 m 3 β 3 0 0 0 0 m 4 β 4 0 0 0 0 m 5 (.5) für den Fall n = 5. Eingesetzt wurde auch schon, daß die Nebendiagonale von U die Elemente β i enthält. Die restlichen Unbekannten können dann durch Koeffizientenvergleich bestimmt werden. Sie werden mit dem Startwert m = α sukzessive aus l i = γ } i m i für i =,,...,n (.53) = α i+ l i β i m i+ bestimmt. Das Vorwärtseinsetzen Ly = b vereinfacht sich dann zu y i = b i l i y i für i =,3,...,n und y = b. (.54) Das Rückwärtseinsetzen Ux = y ist entsprechend einfach x i = m i (y i β i x i+ ) für i = n,n,..., mit x n = y n m n. (.55) 3

.3 Iterative Gleichungslöser Lineare Gleichungssysteme Die Gleichungslösung für tridiagonale Systeme reduziert sich damit im wesentlichen auf drei einfache Schleifen über n. Die Zahl der wesentlichen Operationen beträgt für alle drei Lösungsschritte Z tridiagonal Gauß = 5n 4. (.56) Der Aufwand ist damit nur proportional n verglichen zu n 3 bei der Gleichungslösung vollbesetzter Systeme. Ist die Voraussetzung, daß eine Pivotsuche überflüssig ist, nicht erfüllt kann ebenfalls ein Algorithmus definiert werden, der eine Aufwandsordnung von n hat, jedoch doppelt soviele Operationen wie obiger benötigt..3 Iterative Gleichungslöser Alle Varianten der Gaußschen Gleichungslösung eines linearen Systems liefern bei exakter Arithmetik, also abgesehen von Rundungsfehlern, die genaue Lösung. Hier sollen nun einige gängige iterative Verfahren zur Gleichungslösung beschrieben werden. Im Gegensatz zu den oben genannten liefern diese Verfahren auch dann nicht die genaue Lösung, wenn die Arithmetik exakt wäre. Oft sind sie jedoch effektiver als direkte Methoden, da sie eventuell weniger Rechenzeit benötigen und manchmal den Rundungsfehler reduzieren. Ein besonders geeigneter Anwendungsfall sind schwach besetzte Gleichungssysteme mit einer großen Anzahl von Unbekannten. Ein iteratives Verfahren zum Lösen eines Gleichungssystems Ax = b beginnt mit einer Anfangsnäherung x (0) der Lösung x und berechnet nach der Vorschrift x (k+) = Mx (k) + s k =,,... (.57) eine Folge von Werten x (k), die gegen die exakte Lösung konvergieren. Wie die Matrix M und der Vektor s von A und b abhängen, ist vom jeweiligen Verfahren abhängig. Damit ein Verfahren jedoch konvergiert, was nicht selbstverständlich ist, muß die Matrix M der folgenden Bedingung genügen: Notwendiges und hinreichendes Konvergenzkriterium Das Iterationsverfahren (.57) ist konvergent für jeden beliebigen Startvektor x (0) genau dann, wenn der Spektralradius der Iterationsmatrix M kleiner als ist: ρ(m) <. (.58) Im folgenden werden nun zwei sehr einfache Verfahren, die auf der Zerlegung der Matrix A = L + D + R basieren, vorgestellt und anschließend ein Verfahren, das zu der Gruppe der sogenannten Relaxationsverfahren gehört. 4

Lineare Gleichungssysteme.3 Iterative Gleichungslöser.3. Jacobi- und Gauß-Seidel-Verfahren Die hier vorgestellten Jacobi- und Gauß-Seidel-Verfahren werden sehr oft auch Gesamt- und Einzelschrittverfahren genannt. Für beide Verfahren wird die Matrix A in eine Linksdreiecksmatrix L, eine Diagonalmatrix D und eine Rechtsdreiecksmatrix R A = L + D + R (.59) zerlegt. Dabei beinhaltet die Matrix L den linken Teil unterhalb der Hauptdiagonalen von A, die Matrix D die Hauptdiagonale und R die Elemente von A oberhalb der Hauptdiagonalen. Solch eine Zerlegung ist bei jeder regulären Matrix möglich. Sind nun alle Hauptdiagonalelemente ungleich Null, kann die Diagonalmatrix D invertiert werden. Damit kann das Jacobi-Verfahren formuliert werden Dx (k+) = (L + R)x (k) + b M JV = D (L + R), s JV = D b. (.60) Ist auch die Matrix L + D invertierbar, so erhält man das Gauß-Seidel-Verfahren (L + D)x (k+) = Rx (k) + b M GSV = (L + D) R, s GSV = (L + D) b. (.6) Für beide Verfahren gilt die Konvergenzbedingung (.58), die jedoch nur äußerst umständlich nachzuprüfen ist, da ja für die Bestimmung des Spektralradius die Eigenwerte der Matrix M berechnet werden müssen. Zwei hinreichende Kriterien für die Konvergenz beider Verfahren sind das starke Zeilensummenkriterium oder das starke Spaltensummenkriterium. Die Kriterien sind folgendermaßen definiert: starkes Zeilensummenkriterium und entsprechend n j= j i starkes Spaltensummenkriterium n i= i j a i j < a ii i n (.6) a i j < a j j j n. (.63) In beiden Kriterien gilt echt das kleiner Zeichen, d.h. die Diagonalelemente müssen echt größer sein als entweder die Summe der Beträge aller anderen Elemente in der gleichen Zeile, oder die Summe der Beträge aller anderen Elemente in der gleiche Spalte. Matrizen, die eine dieser beiden Bedingungen erfüllen, nennt man stark diagonaldominant (siehe Kapitel..). Es kann gezeigt werden, daß das Gauß-Seidel-Verfahren für den Sonderfall einer positiv definiten Matrix A konvergiert. Daraus irgendwelche Konvergenzeigenschaften des Jacobi-Verfahrens abzuleiten ist nicht zulässig. Es gilt für M JV 0 lediglich folgender Zusammenhang: 0 < ρ(m JV ) < 0 < ρ(m GSV ) < ρ(m JV ) < (.64) ρ(m JV ) > ρ(m GSV ) > ρ(m JV ) > (.65) 5

.3 Iterative Gleichungslöser Lineare Gleichungssysteme Der Zusammenhang (.64) bedeutet, wenn das Jacobi-Verfahren konvergiert, dann konvergiert auch das Gauß-Seidel-Verfahren. Der Zusammenhang (.65) besagt weiterhin, wenn das Jacobi- Verfahren nicht konvergiert, dann divergiert auch das Gauß-Seidel-Verfahren. Dabei ist immer die Voraussetzung M JV 0 zu beachten, die bedeutet, daß alle Elemente der Matrix M JV größer oder gleich Null sind. Eine Indexschreibweise der beiden vorgestellten Methoden kann ebenfalls angegeben werden. Die Herleitung hierzu ist sehr anschaulich, und soll deshalb hier kurz skizziert werden. Angenommen es ist ein Gleichungssystem mit z.b. 3 Unbekannten a x + a x + a 3 x 3 = b a x + a x + a 3 x 3 = b (.66) a 3 x + a 3 x + a 33 x 3 = b 3 zu lösen, so kann man jede Zeile nach einer Unbekannten auflösen. Dies führt auf die drei Gleichungen x = a (b a x a 3 x 3 ) x = a (b a x a 3 x 3 ) x 3 = a 33 (b 3 a 3 x a 3 x ), (.67) die jede als Bestimmungsgleichung für eine Variable benutzt werden könnte. Setzt man nun auf der rechten Seite von (.67) entweder einen Startwert x (0) oder Ergebnisse aus vorherigen Iterationsschritten x (k) ein, so kann tatsächlich ein Ergebnisvektor x (k+) bestimmt werden. Für die i-te Komponente eines Gleichungssystems mit n Unbekannten lautet dies x (k+) i = a ii b i n j= j i a i j x (k) j. (.68) Vergleicht man diese Berechnungsvorschrift mit (.60), so erkennt man das Jacobi-Verfahren. Beim Jacobi-Verfahren werden zur Berechnung der x (k+) i die Ergebnisse aus den vorherigen Iterationsschritten benutzt. Man könnte aber doch für den Wert x (k+) i auch schon die Werte x (k+) j für j < i benutzen, da die ja schon berechnet sind, und genauer sein sollten als x (k) j. Damit erhält man das Gauß-Seidel-Verfahren ( ) x (k+) i = i b i a ii a i j x (k+) n j a i j x (k) j. (.69) j= j=i+ Auch hier kann man die Matrixbeschreibung (.6) erkennen. Aus dieser Herleitung und aus den Konvergenzbetrachtungen (.64) könnte man schlußfolgern, daß das Gauß-Seidel-Verfahren schneller konvergiert als das Jacobi-Verfahren. Dies ist auch oft der Fall, kann aber nicht verallgemeinert werden. 6

Lineare Gleichungssysteme.3 Iterative Gleichungslöser BEISPIEL.3. : Gleichungslösung mit Jacobi- und Gauß-Seidel-Verfahren Das Gleichungssystem Ax = b mit 0 0 6 A = 3 0 b = 5 (.70) 0 3 8 5 soll mit dem Jacobi- und dem Gauß-Seidel-Verfahren gelöst werden. Da die Matrix A offensichtlich stark diagonaldominant ist, ist die Konvergenz beider iterativen Verfahren gesichert. Die Matrixzerlegung ergibt hier die Matrizen 0 0 0 0 L = 0 0 0 0 0 D = 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R = 0 0 3 0 0 0 0 0 0 8 0 0 0 0. (.7) Daraus können die Iterationsmatrizen M JV und M GSV mit den zugehörigen Vektoren s JV und s GSV berechnet werden. Dies wird aber nicht explizit durchgeführt, sondern es werden die Formeln (.68) für das Jacobi-Verfahren und (.69) für das Gauß-Seidel-Verfahren benutzt. Mit dem Startvektor x (0) = (0 0 0 0) T wird die Iteration begonnen. Die exakte Lösung lautet x = ( ) T. Die Iteration wird in beiden Fällen abgebrochen, wenn gilt x (k) x (k ) x (k) < 0 4. (.7) Die Ergebnisse der Berechnung sind in Tabelle. auf 4 Nachkommastellen gerundet angegeben. Es ist deutlich zu erkennen, daß für diesen Fall das Gauß-Seidel-Verfahren wesentlich schneller konvergiert..3. Relaxationsverfahren In Beispiel.3. konvergierte das Gauß-Seidel-Verfahren sehr schnell. Dies ist jedoch nicht der Normalfall, sondern es können durchaus 30 oder 40 Iterationen nötig sein. Um die Konvergenzgeschwindigkeit zu erhöhen, und damit die Anzahl der Iterationen zu verringern, liegt der Gedanke nahe, die Iterationsmatrix M GSV und s GSV etwas zu verändern. Multipliziert man diese Größen mit einem Faktor ω, so erhält man die sogenannten Relaxationsverfahren x (k+) = ( ω)x (k) + ωd [ b Lx (k+) Rx (k)]. (.73) Für ω = erkennt man das Gauß-Seidel-Verfahren (.6), wählt man ω < spricht man von Unterrelaxation und für ω > erhält man das sogenannte SOR-Verfahren. Der Name SOR stammt aus dem englischen und bedeutet sukzessive Überrelaxation. Es ist durchaus verbreitet auch bei ω < von SOR-Verfahren zu sprechen. 7

.3 Iterative Gleichungslöser Lineare Gleichungssysteme Jacobi-Verfahren Gauß-Seidel-Verfahren k x (k) x (k) x (k) 3 x (k) 4 x (k) x (k) x (k) 3 x (k) 4 0.6.77 -..875 0.6.373-0.9877 0.87886.0473.759-0.8053 0.8853.030.0369 -.045 0.98434 3 0.9364.0533 -.0493.309.0066.0036 -.005 0.99835 4.05.9537-0.968 0.97384.0009.0003 -.0003 0.99985 5 0.98899.04 -.003.04.000-0.99999 6.003.99-0.9945 0.99443 -. 0.000.9998-0.99983 0.99979 0.99994.000 -.000.000-0.99997 0.99996 Tabelle.: Ergebnis des Jacobi- und Gauß-Seidel-Verfahrens für Gleichung (.7) Ein anderer Zugang zu den Relaxationsverfahren erhält man, wenn die Iterationsvorschrift (.69) des Gauß-Seidel-Verfahrens in einer sogenannten Korrekturform ( ) x (k+) i = x (k) i + a ii b i i j= a i j x (k+) j n j=i a i j x (k) j = x (k) i + c (k) i (.74) dargestellt wird. Multipliziert man nun den Korrekturterm c (k) i mit dem Relaxationsparameter ω, so führt dies auf die Indexschreibweise des SOR-Verfahrens ( ) x (k+) i = x (k) i + ω a ii b i = ( ω)x (k) i + ω a ii i j= ( a i j x (k+) j b i i j= n j=i a i j x (k) j a i j x (k+) j ) n a i j x (k) j. j=i+ (.75) Für die Anwendung stellt sich nun die Frage nach der Konvergenz des SOR-Verfahrens, und nach der Wahl des Relaxationsparameters ω. Allgemeine Aussagen über das Konvergenzverhalten des SOR-Verfahrens sind nicht möglich. Im Einzelfall muß nachgeprüft werden, ob die Iterationsmatrix einen Spektralradius kleiner besitzt. Für eine bestimmte Gruppe von Matrizen ist jedoch eine Aussage möglich. Konvergenz des SOR-Verfahrens Ist die Matrix A symmetrisch und sind ihre Diagonalelemente positiv, so konvergiert das SOR-Verfahren genau dann, wenn A positiv definit ist und 0 < ω < gilt. Ist die Matrix stark diagonaldominant, so konvergiert das SOR-Verfahren für 0 < ω. 8

Lineare Gleichungssysteme.3 Iterative Gleichungslöser Beachtet man, daß für ω = das SOR-Verfahren mit dem Gauß-Seidel-Verfahren identisch ist, so zeigt dieser Satz auch die Konvergenz für dieses Verfahren. Die Berechnung eines optimalen ω opt ist für eine gewisse Klasse von Matrizen A möglich, dazu siehe []. In der Anwendung kann jedoch die Abschätzung [5] mit und ω opt = + µ x (k+) x (k) q = lim k x (k) x (k ) (.76) µ = ( + q ) q ω start benutzt werden. Darin bezeichnet ω start ein gewähltes ω, mit dem solange iteriert wird, bis die Werte q sich nicht mehr ändern. Danach wird mit der Abschätzung (.76) ein optimales ω opt berechnet, und eine neue Rechnung gestartet. Konvergieren die q in der ersten Phase nicht, sondern oszillieren sie, so war das ω start zu groß. BEISPIEL.3. : SOR-Verfahren Lösen Sie das lineare Gleichungsystem Ax = b mit 5 3 A = 6 4 b = 4 (.77) 4 8 6 mit dem SOR-Verfahren, wobei als Relaxationsparameter ω = 0.9 und als Startvektor x (0) = 0 gewählt werde. Die vorgegebene Matrix ist nicht symmetrisch, und damit auch nicht positiv definit, aber sie ist stark diagonaldominant. Damit konvergiert das SOR-Verfahren, wenn 0 < ω gilt. Mit dem vorgegebenen ω ist die Konvergenz also sichergestellt. Das exakte Ergebnis lautet x = 0.5. (.78) 0.9375 Das Verfahren konvergiert auch tatsächlich nach Schritten, wenn man eine Genauigkeit von 0 5 voraussetzt. Würde man den Satz bezüglich der Konvergenz ignorieren, erhält man hier das erstaunliche Ergebnis, daß das Verfahren trotzdem konvergiert, und zwar 3 mal so schnell. Es wird dabei ein ω opt =.64 berechnet. Die Berechnung von ω opt nach (.76) liefert jedoch immer ein ω >. Die Ergebnisse des Relaxationsverfahrens für ω = 0.9 und ω opt sind in Tabelle. zusammengefaßt. Im Vergleich dazu würde das Jacobi-Verfahren bei gleicher Problemstellung nach 9 Iterationsschritten und das Gauß-Seidel-Verfahren nach 7 Iterationsschritten bei gleicher Genauigkeit abbrechen. 9

.3 Iterative Gleichungslöser Lineare Gleichungssysteme ω = 0.9 ω =.64 k x (k) x (k) x (k) 3 x (k) x (k) x (k) 3 0.54-0.59 0.50 0.99465 0.93 0.93483 0.6837-0.4837 0.690 0.9989 0.354 0.93684 3 0.887-0.088994 0.7953 0.99964 0.466 0.93736 4 0.8948 0.0000 0.8557 0.9999 0.493 0.93747 5 0.93757 0.05468 0.89047 0.99998 0.498 0.93749 6 0.96409 0.0843 0.9045 0.5 0.9375 7 0.97935 0.06 0.994 0.5 0.9375 8 0.988 0.55 0.9855 9 0.9937 0.76 0.9336 0 0.99607 0.055 0.93454. 0.99999 0.499 0.93749 Tabelle.: Ergebnis des SOR-Verfahrens für Gleichung (.77) 0

Kapitel Interpolation Die Interpolation befaßt sich mit der Problematik, eine Funktion zu bestimmen, die eine gegebene Menge von Werten darstellt. Der elementare Typ der Interpolation besteht darin ein Polynom auf eine Ansammlung von Werten zurückzuführen. Eine klassische Anwendung war die Interpolation von tabellarisch beschriebenen Funktionen, wenn ein Wert zwischen zwei angegebenen Werten berechnet werden sollte. Im Zeitalter der Computer ist diese Anwendung jedoch verschwunden, da viele elementare, vormals tabellierte, Funktionen mittlerweile auf jedem Taschenrechner verfügbar sind. Heute werden Interpolationsverfahren eingesetzt, wenn z.b. nur diskrete Werte einer Rechnung oder Messung bekannt sind, und Werte, die zwischen den Meßwerten liegen, bestimmt werden sollen. Die Grundaufgabe der Interpolation besteht also darin, durch eine Reihe von Punkten (x i,y i ),i = 0,,...,n eine geeignete Kurve hindurchzulegen. Graphisch geschieht das mit Hilfe eines Kurvenlineals, numerisch mit Hilfe einer Funktion f (x), die an den Stellen x i, den sogenannten Stützstellen, die gegebenen Werte y i als Funktionswerte annimmt. Dieser Sachverhalt wird mathematisch durch die Interpolationsbedingung f (x i ) = y i, i = 0,,...,n (.) beschrieben. Ein lineares Interpolationsproblem liegt vor, wenn die Funktion f linear von den Parametern a i f (x) = a 0 f 0 (x) + a f (x) +... + a n f n (x) (.) abhängt. Zu dieser Klasse von Interpolationen gehört die Polynominterpolation und die trigonometrische Interpolation P n (x) = a 0 + a x + a x +... + a n x n (.3) P n (x) = a 0 + a e ix + a e ix +... + a n e nix (.4) mit der imaginären Einheit i =. Die trigonometrische Interpolation wird vorwiegend zur numerischen Fourieranalyse von Meßreihen benutzt.

. Lagrange-Interpolation Interpolation Zu den nichtlinearen Interpolationsproblemen gehören die Interpolationen durch rationale Funktionen R(x) = a 0 + a x + a x +... + a n x n b 0 + b x + b x +... + b m x m (.5) und durch Exponentialsummen P n (x) = a 0 e λ 0x + a e λ x + a e λ x +... + a n e λ nx. (.6) Hier werden anschließend nur Polynominterpolationen behandelt. Der folgende Satz formuliert die Existenz und Eindeutigkeit von Polynominterpolationen (Beweis siehe [8]). Existenz und Eindeutigkeit von Polynominterpolationen Zu beliebigen (n+) Stützpunkten (x i,y i ),i = 0,,...,n mit paarweise verschiedenen Stützstellen x i x j für alle i j existiert genau ein Interpolationspolynom P n (x) mit der Eigenschaft (.), dessen Grad höchstens gleich n ist. Damit ist sichergestellt, daß es für jedes Interpolationsproblem eine Lösung gibt.. Lagrange-Interpolation Entsprechend der Interpolationbedingung (.) muß das zu suchende Polynom an den Stützstellen x i die geforderten Werte y i annehmen. Weiterhin ist durch den obigen Satz über die Existenz und Eindeutigkeit von Polynominterpolationen bekannt, daß ein solches Polynom höchstens vom Grade n ist. Da die gesuchte Interpolation über mehrere Stützpunkte (x i,y i ) geht, wird es sinnvoll sein, für jede Stützstelle jeweils ein Polynom zu finden, das dann auf den anderen Stellen verschwindet. Die Lagrange-Polynome L i (x) = n j=0 j i ( x x j ) ( xi x j ) = (x x 0)...(x x i )(x x i+ )...(x x n ) (x i x 0 )...(x i x i )(x i x i+ )...(x i x n ) i = 0,,...,n (.7) erfüllen offensichtlich beide Eigenschaften, es ist vom Grad n und hat die Eigenschaft {, für i = k L i (x k ) = δ ik = k = 0,,...,n, (.8) 0, für i k d.h. das Polynom L i (x) ist nur an der Stützstelle x i ungleich Null. Damit setzt sich das Interpolationspolynom folgendermaßen zusammen P n (x) = n i=0 y i L i (x). (.9) Setzt man die Eigenschaft (.8) in (.9) ein, so erkennt man die geforderte Interpolationseigenschaft (.). Damit ist ein Interpolationspolynom gefunden, das Lagrangesche Interpolationsformel genannt wird.

Interpolation. Lagrange-Interpolation Für die Umsetzung auf dem Rechner ist die Darstellung (.9) mit L i (x) nach (.7) sehr ungünstig. Das Polynom P n (x) kann unter der Voraussetzung x x i für alle i = 0,,...,n entsprechend ( ) n n x x n j n P n (x) = y i ( ) = y i n xi x j x x i ( ) xi x j (x x k ) (.0) i=0 j=0 j i i=0 umgeformt werden. Für diese Umformung wurde der Bruch in der Mitte von Gleichung (.0) um (x x i ) erweitert. Definiert man nun die sogenannten Stützkoeffizienten λ i = n j=0 j i ( xi x j ) = n j=0 j i j=0 j i die nur von den Stützstellen x i abhängen, und die Hilfsgröße k=0 ( ) i = 0,,...,n, (.) xi x j µ i = λ i x x i i = 0,,...,n, (.) die von der Stelle x, also der Stelle, an der interpoliert wird, abhängt, kann (.0) entsprechend einfacher P n (x) = [ n i=0 ] n µ i y i (x x k ) (.3) k=0 dargestellt werden. Allerdings ist der letzte Faktor mit dem Produkt immer noch sehr aufwendig zu berechnen. Formuliert man das Polynom P n (x) für die speziellen Werte y i =, also eine konstante Funktion, so muß P n (x) = für alle x gelten. Damit folgt aus (.3) also = [ n i=0 n k=0 ] n µ i (x x k ), k=0 (x x k ) = n i=0 µ i. (.4) Gleichung (.4) ist zwar für den Spezialfall einer konstanten Funktion berechnet, da aber das Produkt n k=0 (x x k ) unabhängig von dieser Funktion ist, gilt die Identität (.4) auch für beliebige y i. Somit erhält man die Darstellung P n (x) = 3 n i=0 µ i y i n (.5) µ i i=0

. Lagrange-Interpolation Interpolation für die Lagrangesche Interpolationsformel. Man nennt (.5) auch die baryzentrische Formel der Lagrange-Interpolation. Damit ist die Rechentechnik der Lagrange-Interpolation bestimmt. Zuerst werden die, nur von den Stützstellen x i abhängigen, Stützkoeffizienten λ i berechnet, und danach die Formel (.5) mit (.) für jede gewünschte Stelle x = x k ausgewertet. Auf den ersten Blick erfordert die Berechnung der Stützkoeffizienten λ i n(n + ) Multiplikationen. Formel (.) kann jedoch durch den i-ten Stützkoeffizienten für n + Stützstellen x 0,x,...,x n kann für weitere Stützstellen x n+ die Stützkoeffizienten λ (n+) i aus den schon bekannten Stützkoeffizienten λ (n) i nach eine Rekursionsformel ersetzt werden. Bezeichnet man mit λ (n) i λ (n+) i = λ(n) i berechnet werden. Der fehlende Koeffizient λ (n) i n i=0 x i x n+ i = 0,,...,n (.6) wird durch die Beziehung λ (n) i = 0 für n (.7) bestimmt. Zur rekursiven Berechnung der Stützkoeffizienten λ (n) i fehlt nun nur noch der Startwert λ (0) 0. Für n = mit den Stützstellen x 0 und x erhält man λ () 0 = (x 0 x ) = λ(0). Ein Vergleich mit (.6) zeigt, daß λ (0) 0 = gelten muß. Mit der Rekursionsformel (.6) reduziert sich der Berechnungsaufwand auf n(n + ) Multiplikationen. Im Spezialfall von äquidistanten Stützstellen kann für die Stützkoeffizienten eine einfache geschlossene Formel angegeben werden. Sind die Stützstellen monoton wachsend sortiert, also x 0,x = x 0 + h,...,x i = x 0 + ih,...,x n = x 0 + nh (.8) mit der Schrittweite h = x x 0, so können die Stützkoeffizienten mit der Rekursionsformel λ 0 =, λ i = λ i n i + i i =,,...,n (.9) berechnet werden. Das ergibt dann nur n wesentliche Operationen (Multiplikationen und Divisionen). BEISPIEL.. : Lagrange-Interpolation Für die gegebenen Stützstellen x 0 = 0,x =.5,x =.5 und x 3 = 4.5 und die gegebenen Werte y 0 =,y =,y = und y 3 = sollen die Werte an den Stellen x =.7 und x =. berechnet werden. Mit 4 gegebenen Stützstellen kann maximal ein Polynom der Ordnung n = 3 bestimmt werden. Mit der Rekursionsvorschrift (.6) werden die λ (k) i berechnet. Die Ergebnisse sind im 4