34
2/1 Universität Stuttgart Wissensverarbeitung und Numerik Institut für Kernenergeti und Energiesystem Numerik partieller Dglen, SS 01 Teil 1: Kp. 2 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

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

Embed Size (px)

Citation preview

Page 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

2/1

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Numerik partieller Differentialgleichungen Teil 1: Grundverfahren der Numerik

Kap. 2: Lösung von linearen Gleichungssystemen

Inhalt: Direkte Verfahren:Leicht invertierbare MatrizenDer verkettete Gauß-Algorithmus Das Cholesky-VerfahrenIterative Verbesserung

Iterative Verfahren:Iterative Lösung von Gleichungssystemen

Sonderverfahren:Mehrgitterverfahren (Multigrid Method)Das Verfahren der konjugierten Gradienten

Versuche: Cholesky, Gauß-Seidel, Konjugierte Gradienten

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

2/2

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 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.

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

2/3

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Beispiele für Gleichungssysteme

nnn d

d

d

d

x

x

x

x

ac

bac

bac

ba

2

1

3

2

1

333

222

11

nnnn bxd

bxd

bxd

bxd

3333

2222

1111

nnnnnnn

nn

nn

nn

bxaxaxaxa

bxaxaxaxa

bxaxaxaxa

bxaxaxaxa

332211

33333232131

22323222121

11313212111

.....

2.) A Diagonalmatrix D

1.) A volle Matrix 3.) A tridiagonale Matrizen

4.) A untere Dreiecksmatrix L

nnnnnnn bxlxlxlxl

bxlxlxl

bxlxl

bxl

...

.....

332211

3333232131

2222121

1111

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

2/4

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

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

1111

DdaA

DA

iiii

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

2/5

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

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 h1 = -b1 / a1

rechte Seite p1 = d1 / a1

und x1 = p1 + h1 x2

Dann für i = 2 bis n: hi = -bi / (ai + hi-1 ci) pi = (di - pi-1 ci) / (ai + hi-1 ci)

und xi = pi + hi xi+1

Für i = n kann dann xn berechnet werden: xn = pn = (dn - pn-1 cn) / (an + hn-1 cn)

Aus der rückläufigen Sequenz i = n-1 bis 1 folgen die restlichen Lösungen:

xi = pi + hi • xi+1

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

2/6

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Leicht invertierbare Matrizen - Blocktridiagonale Matrizen

Beachte: Statt der Rechnung mit Zahlen sind hier Matrizenoperationen und die Lösung von Gleichungssystemen erforderlich.

1

111

11

11

11

11

11

11

1,1

,2

1

iiii

mm

iiiiiii

iii

XHPXmi

PXmi

PCDHCAPBHCAHmi

DAPBAHi

nD

D

D

nX

X

X

nA

nC

BAC

BA

2

1

2

1

222

11

Bei blocktriagonalen Matrizen werden die Matrixelemente selber Matrizen und entsprechend die Vektorelemente Vektoren:

Ai, Bi und Ci sind quadratische kxk-Matrizen und Xi, Di sind Vektoren der Länge k. Der Algorithmus für tridiagonale Matrizen kann auf blocktridiagonale Matrizen erweitert werden:

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

2/7

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Leicht invertierbare Matrizen - Dreiecksmatrizen

Eine Matrix A lässt sich als Produkt einer unteren Dreiecksmatrix L und einer oberen Dreiecksmatrix U darstellen. Wegen

gilt A = 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 n2-Gleichungen zur Verfügung.

n weitere Werte müssen festgelegt werden. Häufige Wahlen sind

1. lii = 1 Gauß‘scher Algorithmus

2. lii = uiiCholesky-Verfahren

Die Aufgabe der Lösung eines allgemeinen Gleichungssystems ist damit, reduziert auf die Aufgabe zwei Gleichungssysteme, mit leicht invertierbaren Matrizen zu lösen.

kjk

ikij ula

kjk

ikij ula

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

2/8

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Leicht invertierbare Matrizen - Dreiecksmatrizen

ni

i

k kyiklibiil

iy

...,,2,1

1

1

1

1...,1,

1

1

nni

n

x

ikxikuiy

iiuix

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

0

0

jiijlijlLbyL

und

jiijuijuUyxU

Die beiden

Gleichungssysteme

lassen sich mit folgenden

Formeln lösen:

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

2/9

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Der verkettete Gauß‘sche Algorithmus

11i1loder

111i1a sicherbit so ,Matrix der 1 Spalteder mit Matrix der bis 2 Zeilen diejetzt ert multipliziMan 3)

bekannt. von 1 Spalte und 1 von ZeileElemente alle sindDamit

.11ist Ergebnis Das .Matrix n Spalten voallen mit Matrix von 1 ert ZeilemultipliziMan 2)

bekannt. von 1 der Zeile Elemente alle sindDamit

1 :festgelegt wirdElementefreien - dieFür 1)

:tenTeilschritfolgenden in erfolgt Matrix der gAufspaltun Die

uia

uilULn

UiuiaUL

LiI

n

A

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

2/10

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

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 u2i .

5) Entsprechend dem Vorgehen in 3 werden jetzt die Elemente li2 bestimmt.

Das Ergebnis dieses Vorgehens läßt sich allgemein angeben:

kjui

k iklijaijuoder

kjui

k iklijuija

giltjiFür

1

1

1

11

:

L

U

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

2/11

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Der verkettete Gauß‘sche Algorithmus

Für i > j gilt:

jju

j

k kjuiklija

ijloder

kjuj

k ikljjuijlija

1

1

1

1

Für i > j gilt:

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

2/12

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Der verkettete Gauß‘sche Algorithmus

Aus diesem Vorgehen lassen sich leicht eine Reihe von Folgerungen ableiten:

a) Sind in einer Zeile die Elemente ai1 bis aim je 0, so sind auch die Elemente li1 bis lim je 0

b) Sind in einer Spalte j die Elemente a1j bis amj je 0, so sind auch die Elemente u1j bis umj je 0.

c) Ist ein Element aij 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.

.2

2

nn

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

2/13

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Das Cholesky-Verfahren

Für symmetrische Matrizen gilt AT = A und die Zerlegung nach Gauß ergibt

TI

LDTI

UTAI

UDI

LUI

LA

Wobei der Index I andeutet, dass die Hauptdiagonalelemente 1 sind.

Da diese Zerlegung eindeutig ist, gilt: ILTIU

Das bedeutet für A:

IU0,5DUmitUTU

IU0,5D0,5DTIU

IUDTIUA

Für i = j gilt:

2/11

12

21

1

i

k kiuiiaiiu

iiukiu

i

k kiuiia

a):

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

2/14

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Das Cholesky-Verfahren

Für i < j gilt:

1

1

1

1

1

i

k kju

kiuija

iiuiju

ijuiiukju

i

k kiuija

Aus Gleichung (a) kann das Diagonalelement uii 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):

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

2/15

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Beispiel Direkte Verfahren 1

Gegeben sei das Gleichungssystem

5.4

5.4

0.5

3

2

1

5.35.20.1

5.20.50.2

0.10.20.4

x

x

x

Wir schreiben die Matrix als Produkt UTU, d.h.

33

2322

131211

332313

2212

11

00

00

00

5.35.20.1

5.20.50.2

0.10.20.4

u

uu

uuu

buu

uu

u

Und bestimmen die Elemente von U. Aus der ersten Zeile der Matrizengleichung erhalten wir die drei Gleichungen

00.1

00.2

00.4

1311

1211

211

uu

uu

u

Wir bestimmen daraus die Unbekannten 5.0,0.1,0.20.4 131211 uuu

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

2/16

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Beispiel Direkte Verfahren 2

Die zweite Zeile liefert die Gleichungen

232223221312

222

222

212

1211

5.05.2

0.100.5

00.2

uuuuuu

uuu

uu

u11 und u12 sind schon bekannt, so dass nur noch die restlichen beiden Gleichungen gelöst werden müssen. Die Lösung lautet

0.1,0.20.10.5 2322 uu

Schließlich bestimmen wir aus der dritten Zeile die letzte Unbekannte

5.10.125.05.333 u

Durch Vorwärtssubstitution bestimmen wir nun die Komponenten des Hilfsvektors y

3

2

1

5.10.15.0

00.20.1

000.2

5.4

5.4

0.5

y

y

y

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

2/17

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Beispiel Direkte Verfahren 3

Damit lassen sich durch Rückwärtssubstitution die Komponenten von x bestimmen:

.0.1,0.0,0.1 123 xxx

Durch „Rückwärtseinsetzen“ erhalten wir die Lösung

Daraus ergeben sich die drei Gleichungen

5.1..,0.15.05.45.1

0.1..,0.15.40.2

5.2..,5.00.2

3213

212

11

yhdyyy

yhdyy

yhdy

5.1

0.1

5.2

5.100

0.10.20

5.00.10.2

3

2

1

x

x

x

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

2/18

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Beispiel Direkte Verfahren 4

Anmerkung:

Man vermeidet das Wurzelzeichen, wenn man auf folgende Darstellung zurückgreift:

DTD

ITI

UDU

UDDDUA1

1

Dann wird für alle i j

Diiii

DkkDkjDki

i

kijDij

uDund

uuuau

/1

1

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

2/19

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Iterative Verbesserung

Bei den direkten Lösungsverfahren treten Rundungsfehler hauptsächlich bei der Triangularisierung auf.

Löst man über so erhält man eine Lösung .

Bildet man das Produkt der ursprünglichen Matrix und der Lösung so kann man ein Residuum berechnen:

bxA ,bxUL 1x

1x

1r 11 xAbr Den Beitrag von zur Lösung erhält man aus

1r

11 rxUL

Damit kann man verbessern1x

112 xxx

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.

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

2/20

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Algorithmus

Die Matrix wird aufgespalten in einen Anteil , der leicht invertierbar ist, und einen

Rest mit dem iteriert wird:

bMtundNMT

txTx

bxNxM

NMA

11

Dann gilt

mit

Die zugehörige Iterationsvorschrift lautet

txTx nn 1

A MN

heißt Iterationsmatrix, ist der Startvektor. T ox

Iterative Lösung von Gleichungssystemen

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

2/21

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

xULbxD

dann

trixDiagonalmaistD

ULDA

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.

kkk xUxLbDx

1

1

oder

ijkjiji

iiki xab

ax

11

Jakobi Iteration:

Gauss Seidel Iteration :

1

1 111

1 i

j

n

ijkiijkjiji

iiki xaxab

ax

Werden schon bekannte Werte berücksichtigt gelangt man zur Gauss Seidel Formulieriung

Jacobi und Gauß-Seidel Iteration

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

2/22

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

SOR - Iteration (Successive Overrelaxation)

Der Wert (xi)k+1 wird verbessert unter Berücksichtigungen der Konvergenzeigenschaften des Verfahrens.

bkiki

kib

kikiki

xx

xxxx

1

11

1

wo bkix 1

der unter dem Gauß-Seidel-Verfahren berechnete Wert ist.

1

1

1

ationUnterrelax

SeidelGauß

tionÜberrelaxa

SOR Iteration

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

2/23

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

UDLDTSOR

ULDTSeidelGauß

ULDTJakobi

SOR

GS

1:

:

:

1

1

1

Die Iterationsmatrizen für diese Verfahren sind:

Iterationsmatrizen

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

2/24

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Das schon im letzten Kapitel verwendete Beispiel soll das Vorgehen erläutern:

Beispiel: Gegeben sei das Gleichungssystem

5.4

5.4

0.5

5.35.20.1

5.20.50.2

0.10.20.4

3

2

1

x

x

x

Das Beispiel soll nach dem Gauß-Seidel-Verfahren gelöst werden. Als Startvektor wählen wir

{ x0 } = ( 0, 0, 0)+

Für den ersten Iterationsschritt erhalten wir:

64.0

.,25.240.05.225.10.15.45.3

40.0

.,0.20.025.10.25.40.5

25.1

.,0.50.00.00.50.4

13

13

12

12

11

11

x

hdx

x

hdx

x

hdx

Beispiel Iterative Verfahren -1

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

2/25

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Für den zweiten Iterationsschritt erhalten wir

87.05.322.05.289.00.15.4

22.00.564.05.289.00.25.4

89.00.464.00.140.00.20.5

23

22

21

x

x

x

Die Ergebnisse der nächsten Iterationen lauten:

t

t

t

t

x

x

x

x

00.1,00.0,00.1

00.1,01.0,99.0

98.0,04.0,96.0

95.0,10.0,92.0

6

5

4

3

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

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

2/26

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Die exakte Lösung des Gleichungssystems sei . Nach n Iterationen, die nach der VorschriftbxA

txTx

nn

1

exx

durchgeführt wurden, wird ein Fehlervektor

11

nexn

nexnnexn

exx

exxxxe

definiert. Durch Einsetzen in die Iterationsvorschrift erhält man

teTxTex

nexnex

1

Für die exakte Lösung gilt txTxexex

Konvergenz iterativer Verfahren -1

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

2/27

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Daraus bekommt man eine Beziehung für die Fehlerfortpflanzung:

1

nneTe

e(o) sei der Fehler zu Beginn der Iteration. Durch wiederholte Anwendung bekommt man:

onneTe

Nun geht man zu den Normen über. Es gilt

onononneTeTeTe

Soll für einen beliebigen Anfangsfehler nach n Iterationen unter eine vorgegebene Schranke sinken, muß gelten

ne

oe

1T

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

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

2/28

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

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 nnnn pxx 1

Für nicht symmetrische Matrizen A : A AT heißt das Verfahren biconjugiertes Gradienten (BICO)-Verfahren. Es gilt

0000

00

rrPP

xAbr

nnnn

nnnn

nn

nn

n

nTnnn

nnnn

nnnn

nTn

nn

n

prp

prp

rr

rr

pArr

pAxx

prr

PAP

rr

11

11

11

1

1

1

1. Initialisierungsphase

2. Iterationsphase

Das Verfahren der konjugierten Gradienten -1

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

2/29

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Da die Konditionszahlmin

max

Acond

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:

AC ACA

k

bCxAC Dies ist gleichbedeutend mit:

KKbxA

.

11

maxmin1

EundAzwischenMatrixAwirdACFür

mitEtrixEinheitsmaAwirdACFürk

k

Für symmetrische Matrizen ist und das BICO-Verfahren geht in das konjugierte Gradienten-Verfahren über.

ist dann gleich

AAT

p rgleichistrundp

Das Verfahren der konjugierten Gradienten -2

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

2/30

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

0:

:

:00

00

0

k

rp

Axbr

beliebigxwähle

Start

?genugkleinr k

kkk

kTk

kTk

apxx

App

rra

:

:

1

1

11

:

:

:

kkk

kTk

kTk

kk

aprprr

rra

Axar

1: kk

ja

nein

(Minimierung längs der Suchrichtung p( k ) )

(Berechnung der nächsten Suchrichtung:

r( k ) läßt sich auch nach

11 kkk aAprr

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 derkonjugierten Gradienten -3

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

2/31

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Die Differentialgleichung der Balkenbiegung ist von 4. Ordnung. Die Diskretisierung nach der Differenzenmethode ergibt folgende Matrix (Modellproblem 2)

541

4641

14641

14641

.....

14641

14641

1464

145

A

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:

Njfürb

jfürb

j

j

....,,3,20

11

bAxex

1

NjfürjNjNN

jxexj ...,,2,1221

16

Testproblem Balkenbiegung -1

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

2/32

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Die Eigenwerte der Matrix A können aus dem Eigenwertproblem

explizit angegeben werden:

xxA

NjfürN

jj ...,,2,1

12sin2

4

Damit kann auch die Kondition der Matrix A bestimmt werden:

Für große N gilt näherungsweise:

4

21

1sin2

21sin2

N

N

N

Acond

412

N

Acond

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

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

2/33

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

Vergleichslösung nach Cholesky auf 32 bit Maschine

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

2/34

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Numerik partieller Dglen, SS 01 Teil 1: Kp. 2

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 n•n Zahlen, Funktionen oder Operatoren. Bei der Diskretisierung von Differentialgleichungen entstehen große (n, m >> 106) 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 Matrizensiehe Numerische Methoden

torSpaltenvekoderSpalte:1m

orZeilenvektoderZeile:1n

,1;,1,

mkniaoderAoderA ik

Identität: Zwei Matrizen sind dann und nur dann gleich, wenn ihre Elemente gleich sind

kiBA ,allefürafolgtAus ik

ReihenundSpaltenvonAnzahlgleichehabenundungVoraussetz BAnSubtraktio

baBAAddition ikik

Bezeichnung: