Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/1.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/1."—  Präsentation transkript:

1 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/1 Numerik partieller Differentialgleichungen Teil 1: Grundverfahren der Numerik Kap. 2: Lösung von linearen Gleichungssystemen Inhalt: Direkte Verfahren: Leicht invertierbare Matrizen Der verkettete Gauß-Algorithmus Das Cholesky-Verfahren Iterative Verbesserung Iterative Verfahren: Iterative Lösung von Gleichungssystemen Sonderverfahren: Mehrgitterverfahren (Multigrid Method) Das Verfahren der konjugierten Gradienten Versuche: Cholesky, Gauß-Seidel, Konjugierte Gradienten

2 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/2 Lösung von linearen Gleichungssystemen - Grundlagen Zu Lösen ist ein Gleichungssystem: A x = b dabei sind A eine n*n Matrix, x der Vektor der Unbekannten und b der Vektor der rechten Seite Bei den Verfahren zur Lösung von Gleichungssystemen unterscheiden wir zunächst zwischen direkten und iterativen Verfahren. Direkte Verfahren lassen sich in der Regel in zwei Schritte unterteilen. Im ersten erfolgt eine Transformation der Systemmatrix derart, dass die neue Matrix leicht invertierbar wird. Leicht invertierbare Matrizen sind etwa Diagonalmatrizen oder Dreiecksmatrizen. Im zweiten Schritt erfolgt die eigentliche Inversion. Bei iterativen Verfahren wird die Systemmatrix aufgespalten in einen Teil, der leicht invertierbar ist und einen Rest, der im Gleichungssystem der rechten Seite zugeschlagen wird. Die rechte Seite kann daher nur näherungsweise bestimmt werden. Die Näherung ist in den verschiedenen Iterationsschritten zu verbessern. In diesem Kapitel werden direkte und iterative Verfahren vorgestellt. Ausserdem werden einige Hinweise auf modernere Verfahren (konjugierte Gradienten- und Mehrgitter- Verfahren) gegeben.

3 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/3 Beispiele für Gleichungssysteme 2.) ADiagonalmatrix D 1.)Avolle Matrix 3.) A tridiagonale Matrizen 4.) A untere Dreiecksmatrix L

4 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/4 Leicht invertierbare Matrizen Leicht invertierbare Matrizen sind a)Diagonalmatrizen, b)tridiagonale Matrizen, c)blockdiagonale Matrizen, d)Dreiecksmatrizen. Im Folgenden werden Verfahren zur Lösung von Gleichungssystemen, deren Systemmatrix eine dieser Formen hat, angegeben. Für Diagonalmatrizen gilt

5 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/5 Leicht invertierbare Matrizen - Tridiagonale Matrizen Die Lösung von Gleichungssystemen mit tridiagonalen Matrizen erfolgt in 2 Schritten. Im ersten Schritt wird aus jeder Gleichung eine Unbekannte eliminiert. Im 2. Schritt wurden die Gleichungen dann aufgelöst. Dazu berechnet man zuerst die Hilfsgröße h 1 = -b 1 / a 1 rechte Seite p 1 = d 1 / a 1 und x 1 = p 1 + h 1 x 2 Dann für i = 2 bis n: h i = -b i / (a i + h i-1 c i ) p i = (d i - p i-1 c i ) / (a i + h i-1 c i ) und x i = p i + h i x i+1 Für i = n kann dann x n berechnet werden: x n = p n = (d n - p n-1 c n ) / (a n + h n- 1 c n ) Aus der rückläufigen Sequenz i = n-1 bis 1 folgen die restlichen Lösungen: x i = p i + h i x i+1

6 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/6 Leicht invertierbare Matrizen - Blocktridiagonale Matrizen Beachte: Statt der Rechnung mit Zahlen sind hier Matrizenoperationen und die Lösung von Gleichungssystemen erforderlich. Bei blocktriagonalen Matrizen werden die Matrixelemente selber Matrizen und entsprechend die Vektorelemente Vektoren: A i, B i und C i sind quadratische kxk-Matrizen und X i, D i sind Vektoren der Länge k. Der Algorithmus für tridiagonale Matrizen kann auf blocktridiagonale Matrizen erweitert werden:

7 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/7 Leicht invertierbare Matrizen -Dreiecksmatrizen Eine Matrix A lässt sich als Produkt einer unteren Dreiecksmatrix L und einer oberen Dreiecksmatrix U darstellen. Wegen giltA = L U,und aus dem Gleichungssystem Ax = b wird ein System von 2 Gleichungssystemen mit Dreiecksmatrizen Ax = L U x =L y = b mit U x = y Für die Berechnung der n (n+1)-Elemente von L und U stehen aus n 2 -Gleichungen zur Verfügung. n weitere Werte müssen festgelegt werden. Häufige Wahlen sind 1.l ii = 1Gaußscher Algorithmus 2.l ii = u ii Cholesky-Verfahren Die Aufgabe der Lösung eines allgemeinen Gleichungssystems ist damit, reduziert auf die Aufgabe zwei Gleichungssysteme, mit leicht invertierbaren Matrizen zu lösen.

8 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/8 Leicht invertierbare Matrizen -Dreiecksmatrizen Gelingt es also, die Matrix [A] in das Produkt zweier Dreiecksmatrizen aufzuspalten, so kann man mit den angegebenen Formeln das Gleichungssystem lösen. Die Algorithmen von Gauss und Cholesky leisten solche Aufspaltungen. Vorwärts- Substitution Rückwärts- Substitution Die beiden Gleichungssysteme lassen sich mit folgenden Formeln lösen:

9 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/9 Der verkettete Gaußsche Algorithmus

10 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/10 Der verkettete Gaußsche Algorithmus 4)Im nächsten Schritt werden Zeile 2 der Martrix und alle Spalten der Matrix multipliziert. Daraus bestimmt man die Elemente u 2i. 5)Entsprechend dem Vorgehen in 3 werden jetzt die Elemente l i2 bestimmt. Das Ergebnis dieses Vorgehens läßt sich allgemein angeben:

11 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/11 Der verkettete Gaußsche Algorithmus Für i > j gilt:

12 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/12 Der verkettete Gaußsche Algorithmus Aus diesem Vorgehen lassen sich leicht eine Reihe von Folgerungen ableiten: a) Sind in einer Zeile die Elemente a i1 bis a im je 0, so sind auch die Elemente l i1 bis l im je 0 b) Sind in einer Spalte j die Elemente a 1j bis a mj je 0, so sind auch die Elemente u 1j bis u mj je 0. c) Ist ein Element a ij ungleich 0, so sind auch die entsprechenden Elemente der triangularisierten Matrix ungleich 0 und es können zu allen folgenden Elementen von L bzw. U Beiträge erwartet werden. Durch die Triangularisierung wird die Form der von Null verschiedenen Matrixteile nicht verändert: Es werden aber Gebiete aufgefüllt. Für die Triangularisierung sind also nursolche Speichertechniken möglich, die dieses Auffüllen erlauben. Die Zahl der Operationen (Multiplikationen) läßt sich nach diesem Vorgehen abschätzen zu ~ Ein einfacher Trick erlaubt es, das Verfahren auch auf symmetrische Matrizen zu erweitern.

13 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/13 Das Cholesky-Verfahren Für symmetrische Matrizen gilt A T = A und die Zerlegung nach Gauß ergibt Wobei der Index I andeutet, dass die Hauptdiagonalelemente 1 sind. Da diese Zerlegung eindeutig ist, gilt: Das bedeutet für A: Für i = j gilt: a):

14 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/14 Das Cholesky-Verfahren Für i < j gilt: Aus Gleichung (a) kann das Diagonalelement u ii der Zeile i berechnet werden. Die übrigen Elemente der Zeile i ergeben sich aus (b). So wird [U] zeilenweise (i = 1,..., n) berechnet. Notwendig ist, dass die Matrix [A] positiv definiert ist, andernfalls kann sich in a) ein negativer Radikand ergeben. Ein Beispiel soll das Vorgehen beim Cholesky-Verfahren veranschaulichen. b):

15 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/15 Beispiel Direkte Verfahren 1 Gegeben sei das Gleichungssystem Wir schreiben die Matrix als Produkt U T U, d.h. Und bestimmen die Elemente von U. Aus der ersten Zeile der Matrizengleichung erhalten wir die drei Gleichungen Wir bestimmen daraus die Unbekannten

16 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/16 Beispiel Direkte Verfahren 2 Die zweite Zeile liefert die Gleichungen u 11 und u 12 sind schon bekannt, so dass nur noch die restlichen beiden Gleichungen gelöst werden müssen. Die Lösung lautet Schließlich bestimmen wir aus der dritten Zeile die letzte Unbekannte Durch Vorwärtssubstitution bestimmen wir nun die Komponenten des Hilfsvektors y

17 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/17 Beispiel Direkte Verfahren 3 Damit lassen sich durch Rückwärtssubstitution die Komponenten von x bestimmen: Durch Rückwärtseinsetzen erhalten wir die Lösung Daraus ergeben sich die drei Gleichungen

18 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/18 Beispiel Direkte Verfahren 4 Anmerkung: Man vermeidet das Wurzelzeichen, wenn man auf folgende Darstellung zurückgreift: Dann wird für alle i j

19 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/19 Iterative Verbesserung Bei den direkten Lösungsverfahren treten Rundungsfehler hauptsächlich bei der Triangularisierung auf. Löst man überso erhält man eine Lösung. Bildet man das Produkt der ursprünglichen Matrix und der Lösung so kann man ein Residuum berechnen: Den Beitrag von zur Lösung erhält man aus Damit kann man verbessern Wiederholt man diesen Vorgang, so werden die Auswirkungen der Triangularisierung immer kleiner. Der Aufwand pro Iterationsschritt beträgt weniger als der für zwei Auflösungen mit dem triangularisierten System.

20 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/20 Algorithmus Die Matrix wird aufgespalten in einen Anteil, der leicht invertierbar ist, und einen Rest mit dem iteriert wird: Dann gilt mit Die zugehörige Iterationsvorschrift lautet heißt Iterationsmatrix, ist der Startvektor. Iterative Lösung von Gleichungssystemen

21 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/21 Zur Berechnung der rechten Seite müssen von { x } Werte bekannt sein. Sind sie nur näherungsweise zu { x o } bekannt, so muß { x } iterativ bestimmt werden. oder Jakobi Iteration : Gauss Seidel Iteration : Werden schon bekannte Werte berücksichtigt gelangt man zur Gauss Seidel Formulieriung Jacobi und Gauß-Seidel Iteration

22 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/22 SOR - Iteration (Successive Overrelaxation ) Der Wert (x i ) k+1 wird verbessert unter Berücksichtigungen der Konvergenzeigenschaften des Verfahrens. wo der unter dem Gauß-Seidel-Verfahren berechnete Wert ist. SOR Iteration

23 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/23 Die Iterationsmatrizen für diese Verfahren sind: Iterationsmatrizen

24 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/24 Das schon im letzten Kapitel verwendete Beispiel soll das Vorgehen erläutern: Beispiel:Gegeben sei das Gleichungssystem Das Beispiel soll nach dem Gauß-Seidel-Verfahren gelöst werden. Als Startvektor wählen wir { x 0 } = ( 0, 0, 0) + Für den ersten Iterationsschritt erhalten wir: Beispiel Iterative Verfahren -1

25 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/25 Für den zweiten Iterationsschritt erhalten wir Die Ergebnisse der nächsten Iterationen lauten: Die iterative Methode scheint zunächst aufwendiger als die direkten Verfahren zu sein, jedoch kann bei günstiger Wahl des Startvektors die Anzahl der Iterationsschritte wesentlich gesenkt werden. Ein weiterer Vorteil besteht darin, dass nur die Elemente wirklich benötigt werden, die ungleich Null sind. Das Verfahren kann also unabhängig von der Speicherung der Matrizen angewandt werden. Beispiel Iterative Verfahren -2

26 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/26 Die exakte Lösung des Gleichungssystems sei. Nach n Iterationen, die nach der Vorschrift durchgeführt wurden, wird ein Fehlervektor definiert. Durch Einsetzen in die Iterationsvorschrift erhält man Für die exakte Lösung gilt Konvergenz iterativer Verfahren -1

27 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/27 Daraus bekommt man eine Beziehung für die Fehlerfortpflanzung: e (o) sei der Fehler zu Beginn der Iteration. Durch wiederholte Anwendung bekommt man: Nun geht man zu den Normen über. Es gilt Soll für einen beliebigen Anfangsfehlernach n Iterationen unter eine vorgegebene Schranke sinken, muß gelten Man sagt dazu, das Iterationsverfahren konvergiert. Das Konvergenzverfahren wird durch die Iterationsmatrix und nur indirekt durch die Matrix des Gleichungssystems bestimmt. Konvergenz iterativer Verfahren -2

28 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/28 Das Verfahren der konjugierten Gradienten soll hier für eine Klasse von Verfahren stehen, bei denen versucht wird, durch zusätzliche Bedingungen eine optimale Iterationsstrategie zu finden. Eine solche Bedingung erhält man, wenn man den Lösungsvektor x nach Vektoren p entwickelt, die bezüglich der Systemmatrix A orthogonal sind. Der Ansatz für x lautet also Für nicht symmetrische Matrizen A : A A T heißt das Verfahren biconjugiertes Gradienten (BICO)-Verfahren. Es gilt 1. Initialisierungsphase 2. Iterationsphase Das Verfahren der konjugierten Gradienten -1

29 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/29 Da die Konditionszahl der Systematrix wesentlich für deren Konvergenzgeschwindigkeit und für die Genauigkeit der Lösung verantwortlich ist, ist es sinnvoll, die Konditionszahl einer Matrix durch eine Vorkonditionierung herabzusetzen und somit das Lösungsverhalten der Gleichungslöser zu verbessern. Die Vorkonditionierung erfolgt durch die Multiplikation der Systemmatrix mit einer Konditionsmatrix derart, dass die Konditionszahl der neuen Matrix kleiner wird. Das vorkonditionierte lineare Gleichungssystem lautet dann: Dies ist gleichbedeutend mit: Für symmetrische Matrizen ist und das BICO-Verfahren geht in das konjugierte Gradienten-Verfahren über. ist dann gleich Das Verfahren der konjugierten Gradienten -2

30 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/30 Start ja nein (Minimierung längs der Suchrichtung p ( k ) ) (Berechnung der nächsten Suchrichtung: r ( k ) läßt sich auch nach berechnen). STOP Der Rechenaufwand pro Iterationsschrift ist etwa doppelt so groß wie beim SOR-Verfahren. Ist q die mittlere Zahl der Nichtnullelemente in einer Zeile von A, so müssen (5+q) n Operationen/Iteration durchgeführt werden. Das Verfahren der konjugierten Gradienten -3

31 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/31 Die Differentialgleichung der Balkenbiegung ist von 4. Ordnung. Die Diskretisierung nach der Differenzenmethode ergibt folgende Matrix (Modellproblem 2) Der Lastvektor b wird nun so gewählt, dass seine Komponenten verschwinden, außer der ersten, die auf 1 normiert wird: Damit kann der exakte Lösungsvektor explizit angegeben werden. Seine Komponenten lauten: Testproblem Balkenbiegung -1

32 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/32 Die Eigenwerte der Matrix A können aus dem Eigenwertproblem explizit angegeben werden: Damit kann auch die Kondition der Matrix A bestimmt werden: Für große N gilt näherungsweise: Lösen Sie die Gleichung für N = 40 nach dem Cholesky-Verfahren, dem konjugierten Gradienten-Verfahren oder dem SOR-Verfahren. Vergleichen Sie Ihre Ergebnisse mit der angegebenen Lösung und erklären Sie den Unterschied. Testproblem Balkenbiegung -2

33 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/33 Vergleichslösung nach Cholesky auf 32 bit Maschine

34 Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/34 Diskretisiert man Variablen, so erhält man Vektoren. Bestehen zwischen Variablen Beziehungen in Form von Gleichungen, so führt die Diskretisierung auf Gleichungssysteme. In Gleichungssystemen werden Variablen durch Vektoren und ihre Verbindung über Matrizen beschrieben. Matrizen sind Gebilde aus nn Zahlen, Funktionen oder Operatoren. Bei der Diskretisierung von Differentialgleichungen entstehen große (n, m >> 10 6 ) und in der Regel dünnbesetzte Matrizen (nur etwa 10 n Elemente ungleich Null). Im Folgenden werden Eigenschaften dünnbesetzter Matrizen beschrieben, die im Kontext der numerischen Lösung partieller Differentialgleichungen Bedeutung haben. A1 Charakterisierung von Matrizen Rechenregeln Eigenschaften großer, dünnbesetzter Matrizen siehe Numerische Methoden Identität: Zwei Matrizen sind dann und nur dann gleich, wenn ihre Elemente gleich sind Bezeichnung:


Herunterladen ppt "Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Dglen, SS 01Teil 1: Kp. 22/1."

Ähnliche Präsentationen


Google-Anzeigen