universität stuttgart wissensverarbeitung und numerik i nstitut für k ernenergetik und e...
Post on 05-Apr-2015
106 Views
Preview:
TRANSCRIPT
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
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.
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
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
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
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:
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
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:
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
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
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:
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
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):
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):
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
top related