Große lineare Gleichungssysteme - TUM...me mit mehreren Hunderttausend oder garMillionen...

1
Universit ¨ at Stuttgart Fakult ¨ at Mathematik Große lineare Gleichungssysteme I. Lineare Gleichungssysteme II. Direkte Verfahren Numerische Simulationsverfahren uhren oftmals auf große linea- re Gleichungssysteme. Bei nichtlinearen Problemen sind in der Regel in jedem Teilschritt lineare Probleme zu l¨ osen. Die Dis- kretisierung komplexer Geometrieen in drei Raumdimensionen kann bereits bei geringen Genauigkeitsanforderungen auf Syste- me mit mehreren Hunderttausend oder gar Millionen Unbekannten uhren. Somit bilden L ¨ osungsverfahren f¨ ur lineare Gleichungssy- steme das Herzst ¨ uck einer numerischen Simulation. Ein lineares Gleichungssystem ist ein Problem der Gestalt mit einer bekannten Matrix und der rechten Seite . Viele Problemklas- sen f¨ uhren auf d¨ unnbesetzte Matrizen mit Bandstruktur. Das Hauptziel ist eine m ¨ oglichst schnelle und billige Berechnung einer genau genugen N ¨ aherungsl ¨ osung. Grunds ¨ atzlich unterscheidet man zwischen direkten und iterativen Methoden. Man spricht von optimalen Verfahren, falls der Aufwand linear von der Anzahl der Unbekannten abh ¨ angt. Direkte Verfahren berechnen die L ¨ osung exakt. Die Matrix wird in ein Produkt zweier Matrizen zerlegt. Diese sind so gew ¨ ahlt, dass sich (bzw. ) leicht berechnen lassen. Die L ¨ osung ergibt sich als . Bandmatrix unstrukturierte Matrix nz = 480 n = 64 nz = 909 nz = 2112 n = 256 nz = 7709 nz = 8832 n = 1024 nz = 63549 A L nz = 480 n = 64 nz = 1237 nz = 2112 n = 256 nz = 14775 nz = 8832 n = 1024 nz = 223209 A L Fill-in Effekt einer LU-Zerlegung Zur Anwendung auf große Systeme sind direkte Verfahren aller- dings oftmals zu langsam und ben ¨ otigen zuviel Speicherplatz. III. Iterative Verfahren IV. Vorkonditionierer Iterative Verfahren berechnen die L ¨ osung n¨ aherungsweise. Aus- gehend von einem Startwert wird in jedem Schritt die neue aherung aus den vorhergehenden Iterationswerten berechnet. Ist eine gew¨ unschte Genauigkeit erreicht, so endet der Algorith- mus. Die Qualit¨ at eines Iterationsverfahrens h¨ angt entscheidend von der Konvergenzrate und dem Aufwand pro Schritt ab. 0 1 2 3 4 5 6 7 x 100 50 100 150 200 250 Anzahl Unbekannte Zeit iterativ (CG-Verfahren) direkt (LU-Zerlegung) 10 1 10 1 10 2 10 3 10 4 10 5 Dimension der Matrix ist nAnzahl der Iterationen (Abbruchkriterium: rel. Residuum <= 1e-8) Vergleich von Jacobi, Gauss-Seidel und opt. SOR Jacobi Gauss-Seidel opt. SOR Zeitvergleich (links) und klassische Iterationsverfahren (rechts) Iterative L ¨ oser gibt es in einer Vielzahl von Varianten. Die Auswahl richtet sich vor allem nach der Beschaffenheit der Matrix . F¨ ur große Systeme sind iterative Verfahren im allgemeinen schneller als direkte und ben ¨ otigen weniger Speicherplatz. Vorkonditionierer werden zur Beschleunigung von iterativen Ver- fahren eingesetzt. Ein guter Vorkonditionierer ist eine Matrix, die zwei Anforderungen erf¨ ullt. Zum einen sollte die Konditions- zahl oglichst klein sein. Außerdem muss sich das Produkt unstig berechnen lassen. Gel ¨ ost wird nun das zum Ausgangsproblem ¨ aquivalente System . Oh- ne den Einsatz von Vorkonditionierern w¨ are die L¨ osung anwen- dungsrelevanter Probleme oft nicht in akzeptabler Zeit m¨ oglich. ur die Effizienz ist die richtige Auswahl aus dem breiten Ange- bot von zentraler Bedeutung. Eingesetzt werden unter anderem Vorkonditionier basierend auf der Schurkomplement–Methode, Dirichlet–Neumann–Methode, Multilevel–Methode, ¨ uberlappenden Schwarzmethode. V. Mehrgitter VI. Parallelisierung Mehrgitterverfahren sind opti- V-Zylus male iterative L¨ osungsverfah- ren, die auf einer Frequenz- zerlegung des (elliptischen) Differentialoperators basieren. Hoch- und niederfrequente Anteile werden dabei von un- terschiedlich feinen Gittern re- pr¨ asentiert, auf denen sukzes- sive die L ¨ osung berechnet wird. Im Gegensatz zu direkten L ¨ osern ist der L¨ osungsaufwand hier proportional zur Anzahl der Unbe- kannten. Das macht Mehrgitterverfahren besonders geeignet f¨ ur große Probleme mit vielen Unbekannten. Parallelrechner bieten eine ausge- 2 4 8 16 32 64 0 10 20 30 40 50 60 70 Anzahl Prozessoren Speedup ideale Beschleunigung realisierte Beschleunigung Beschleunigung zeichnete M ¨ oglichkeit additive aber auch multiplikative osungsverfah- ren zu beschleunigen. Die Rechen- arbeit wird dabei auf mehrere Pro- zessoren aufgeteilt. Idealerweise sollte das Verfahren beim Einsatz von Prozessoren -mal schneller sein als bei Verwendung eines Pro- zessors. In der Praxis wird dies aber selten erreicht. Zus ¨ atzlich zur eigentlichen Rechenzeit wird Zeit f ¨ ur die Kommunikation zwi- schen den einzelnen Prozessoren ben ¨ otigt. Daher ist ein schnel- les Kommunikationsnetz sehr wichtig. Kontakt: Lehrstuhl 7, Mathematisches Institut A Numerische Mathematik f ¨ ur H ¨ ochstleistungsrechner E-Mail: [email protected]

Transcript of Große lineare Gleichungssysteme - TUM...me mit mehreren Hunderttausend oder garMillionen...

Page 1: Große lineare Gleichungssysteme - TUM...me mit mehreren Hunderttausend oder garMillionen Unbekannten fuhren.¨ Somit bilden L¨osungsv erfahren fur¨ lineare Gleichungssy-steme das

�������� � �� � � � ��� � ��������� � � �! " # $ % &'()*+,-

Universitat Stuttgart Fakultat Mathematik

Große lineare Gleichungssysteme

I. Lineare Gleichungssysteme II. Direkte Verfahren

Numerische Simulationsverfahren fuhren oftmals auf große linea-re Gleichungssysteme. Bei nichtlinearen Problemen sind in derRegel in jedem Teilschritt lineare Probleme zu losen. Die Dis-kretisierung komplexer Geometrieen in drei Raumdimensionenkann bereits bei geringen Genauigkeitsanforderungen auf Syste-me mit mehreren Hunderttausend oder gar Millionen Unbekanntenfuhren. Somit bilden Losungsverfahren fur lineare Gleichungssy-steme das Herzstuck einer numerischen Simulation. Ein linearesGleichungssystem ist ein Problem der Gestalt

.0/2143mit einer

bekannten Matrix.

und der rechten Seite3. Viele Problemklas-

sen fuhren auf dunnbesetzte Matrizen.

mit Bandstruktur. DasHauptziel ist eine moglichst schnelle und billige Berechnung einergenau genugen Naherungslosung. Grundsatzlich unterscheidetman zwischen direkten und iterativen Methoden. Man spricht vonoptimalen Verfahren, falls der Aufwand linear von der Anzahl derUnbekannten abhangt.

Direkte Verfahren berechnen die Losung exakt. Die Matrix.

wirdin ein Produkt

.514687zweier Matrizen zerlegt. Diese sind so

gewahlt, dass sich6:9<;>=

(bzw.7?9<;>=

) leicht berechnen lassen.Die Losung ergibt sich als

/@1A. 9<; 3B1C7 9<; 6 9<; 3.

Bandmatrix unstrukturierte Matrix

nz = 480

n = 64

nz = 909

nz = 2112

n = 256

nz = 7709

nz = 8832

n = 1024

nz = 63549

A

L

nz = 480

n = 64

nz = 1237

nz = 2112

n = 256

nz = 14775

nz = 8832

n = 1024

nz = 223209

A

L

Fill-in Effekt einer LU-Zerlegung

Zur Anwendung auf große Systeme sind direkte Verfahren aller-dings oftmals zu langsam und benotigen zuviel Speicherplatz.

III. Iterative Verfahren IV. VorkonditioniererIterative Verfahren berechnen die Losung naherungsweise. Aus-gehend von einem Startwert wird in jedem Schritt die neueNaherung aus den vorhergehenden Iterationswerten berechnet.Ist eine gewunschte Genauigkeit erreicht, so endet der Algorith-mus. Die Qualitat eines Iterationsverfahrens hangt entscheidendvon der Konvergenzrate und dem Aufwand pro Schritt ab.

0 1 2 3 4 5 6 7

x 104

0

50

100

150

200

250

Anzahl Unbekannte

Zei

t

iterativ (CG−Verfahren)direkt (LU−Zerlegung)

101

101

102

103

104

105

Dimension der Matrix ist n2

Anz

ahl d

er It

erat

ione

n (A

bbru

chkr

iteriu

m: r

el. R

esid

uum

<=

1e−

8)

Vergleich von Jacobi, Gauss−Seidel und opt. SOR

JacobiGauss−Seidelopt. SOR

Zeitvergleich (links) und klassische Iterationsverfahren (rechts)

Iterative Loser gibt es in einer Vielzahl von Varianten. Die Auswahlrichtet sich vor allem nach der Beschaffenheit der Matrix

.. Fur

große Systeme sind iterative Verfahren im allgemeinen schnellerals direkte und benotigen weniger Speicherplatz.

Vorkonditionierer werden zur Beschleunigung von iterativen Ver-fahren eingesetzt. Ein guter Vorkonditionierer D ist eine Matrix,die zwei Anforderungen erfullt. Zum einen sollte die Konditions-zahl EGFHD 9<; .JI

moglichst klein sein. Außerdem muss sich dasProdukt D 9<; =

gunstig berechnen lassen. Gelost wird nun daszum Ausgangsproblem aquivalente System D 9<; .K/@1 D 9<; 3

. Oh-ne den Einsatz von Vorkonditionierern ware die Losung anwen-dungsrelevanter Probleme oft nicht in akzeptabler Zeit moglich.Fur die Effizienz ist die richtige Auswahl aus dem breiten Ange-bot von zentraler Bedeutung. Eingesetzt werden unter anderemVorkonditionier basierend auf der

L Schurkomplement–Methode,L Dirichlet–Neumann–Methode,L Multilevel–Methode,L uberlappenden Schwarzmethode.

V. Mehrgitter VI. ParallelisierungMehrgitterverfahren sind opti-

V-Zylus

male iterative Losungsverfah-ren, die auf einer Frequenz-zerlegung des (elliptischen)Differentialoperators basieren.Hoch- und niederfrequenteAnteile werden dabei von un-terschiedlich feinen Gittern re-prasentiert, auf denen sukzes-sive die Losung berechnet wird. Im Gegensatz zu direkten Losernist der Losungsaufwand hier proportional zur Anzahl der Unbe-kannten. Das macht Mehrgitterverfahren besonders geeignet furgroße Probleme mit vielen Unbekannten.

Parallelrechner bieten eine ausge-

2 4 8 16 32 640

10

20

30

40

50

60

70

Anzahl Prozessoren

Spe

edup

ideale Beschleunigungrealisierte Beschleunigung

Beschleunigung

zeichnete Moglichkeit additive aberauch multiplikative Losungsverfah-ren zu beschleunigen. Die Rechen-arbeit wird dabei auf mehrere Pro-zessoren aufgeteilt. Idealerweisesollte das Verfahren beim Einsatzvon M Prozessoren M -mal schnellersein als bei Verwendung eines Pro-zessors. In der Praxis wird dies aber selten erreicht. Zusatzlichzur eigentlichen Rechenzeit wird Zeit fur die Kommunikation zwi-schen den einzelnen Prozessoren benotigt. Daher ist ein schnel-les Kommunikationsnetz sehr wichtig.

Kontakt: Lehrstuhl 7, Mathematisches Institut ANumerische Mathematik fur HochstleistungsrechnerE-Mail: [email protected]