• Keine Ergebnisse gefunden

7. Iterative L¨ osung

N/A
N/A
Protected

Academic year: 2022

Aktie "7. Iterative L¨ osung"

Copied!
46
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

7. Iterative L¨ osung

linearer Gleichungssysteme

(2)

Grundlagen und Wiederholung (1)

Die Grundlagen decken sich mit dem Stoff, der einen Teil des Kapitels 2 - Numerik ausmacht und bereits in Mathematik behandelt wurde.

Eine zentrale Rolle bei numerischen Berechnungen spielen lineare Glei- chungssysteme

• Es sind die am h¨aufigsten auftretenden numerischen Probleme

• Anwendungsgebiete sind z.B.

* fast alle naturwissenschaftlich-technischen Problemstellungen vom Wetterbericht bis zur W¨armeentwicklung auf einer Koch- platte oder der Planung der Leiterbahnen auf Mikrochips,

* Bildverarbeitung oder z.B Beleuchtungsprobleme in der Com- putergrafik,

* wirtschaftlichen Fragestellungen wie Versicherungskosten oder B¨orsenkursvorhersage.

(3)

Grundlagen und Wiederholung (2)

L¨osungsverfahren

• Die direkten Verfahren liefern eine mit Rundungsfehlern behaftete L¨osung nach endlich vielen Schritten.

• Die iterativen Verfahren beginnen mit einer Anfangsn¨aherung und produzieren eine verbesserte N¨aherungsl¨osung nach endlich vielen Schritten.

• Falls m¨oglich wird das Problem mit einem direkten Verfahren be- rechnet und anschließend werden die Rundungsfehler mit einem iterativen Verfahren verringert.

(4)

Grundlagen und Wiederholung (3)

Problemstellung: Berechne den Vektor x = (x1, x2, . . . xn) aus

a1,1x1 + a1,2x2 + · · ·a1,nxn = b1 a2,1x1 + a2,2x2 + · · ·a2,nxn = b2

·

·

an,1x1 + an,2x2 + · · ·an,nxn = bn

oder in Matrix-Schreibweise

Ax = b

Bemerkung: Vektoren werden hier ohne Vektorpfeil geschrieben

(5)

Wiederholung Gauß-Verfahren (1)

Schulbeispiel:

E1 : x1 + x2 + 3x4 = 4 E2 : − x2 − x3 − 5x4 = −7 E3 : − 4x2 − x3 − 7x4 = −15 E4 : 3x2 + 3x3 + 2x4 = 8 Mit Matrix:

A =

1 1 0 3

0 −1 −1 −5 0 −4 −1 −7

0 3 3 2

, x =

x1 x2 x3 x4

, b =

4

−7

−15 8

(6)

Wiederholung Gauß-Verfahren (2)

Erlaubte Transformationen zur L¨osung des Gleichungssystems

• Multiplizieren einer Zeile (Gleichung) mit einer Zahl verschieden von Null

• Addieren eines Vielfachen einer Zeile zu einer anderen Zeile

• Vertauschen von Zeilen (Gleichungen) bzw. Spalten (Unbekann- ten, entspricht Umnummerierung)

Mit Hilfe dieser Transformationen reduziere Gleichungssystem auf ein Dreieckssystem.

(7)

Wiederholung Gauß-Verfahren (3)

Zweite Spalte des Schulbeispiels:

1 1 0 3

0 −1 −1 −5 0 −4 −1 −7

0 3 3 2

·

x1 x2 x3 x4

=

4

−7

−15 8

·

a3,i = a3,i − a3,2/a2,2 · a2,i b3 = b3 − a3,2/a2,2 · b2 a4,i = a4,i − a4,2/a2,2 · a2,i b4 = b4 − a4,2/a2,2 · b2

(8)

Wiederholung Gauß-Verfahren (4)

Schulbeispiel wird zu

E1 : x1 + x2 + 3x4 = 4 E2 : − x2 − x3 − 5x4 = −7

E3 : 3x3 + 13x4 = 13

E4 : − 13x4 = −13

oder allgemein

a1,1 a1,2 · · · a1,n a2,2 · · · a2,n

. . . ...

an,n

·

x1 x2 ...

xn

=

b1 b2 ...

bn

·

(9)

Wiederholung Gauß-Verfahren (5)

Ein Dreieckssystem ist leicht zu l¨osen. Aus E4: x4 = 1

x4 einsetzten in E3:

3x3 + 13 = 13 → x3 = 0 x3, x4 einsetzten in E2:

−x2 − 5 = −7 → x2 = 2 x2, x3, x4 einsetzten in E1:

x1 + 2 + 3 = 4 → x1 = −1 Der Gauß-Algorithmus ist von der Ordnung O(n3).

(10)

Norm von Vektoren und Matrizen

Unterschiedliche Definitionen von Normen sind m¨oglich, hier nur die sogenannte 2-Norm:

• 2-Norm oder euklidische Norm von Vektoren (L¨ange eines Vek- tors):

||x||2 =

v u u t

n X i=1

x2i

• 2-Norm oder Spektralnorm von Matrizen (Wurzel aus der Summe der Quadrate der Diagonalelemente bei einer Diagonalmatrix):

||A||2 = maxx6=0||Ax||

||x|| =

q

ρ(ATA)

(11)

Iterative Verfahren (1)

Da das Gauß-Verfahren

• O(n3) ist und damit oft zu lange dauert,

• viele Matrizen nur d¨unn besetzt sind, das Gauß-Verfahren aber die Matrix f¨ullt

• und das Gauß-Verfahren zu viele Rundungsfehler hat,

werden meist iterative Gleichungsl¨oser verwendet. Beispiele:

• alle Programme f¨ur Computergraphiken, wie z.B. PovRay,

• alle Programme f¨ur Computersimulationen wie im IMH.

(12)

Iterative Verfahren (2)

Idee: Fixpunktgleichung

Eine Gleichung der Form F(x) = x heißt Fixpunktgleichung. Ihre L¨osungen, also der Werte, der die Gleichung F(x) = x erf¨ullen, heißen Fixpunkte

Definition:

Gegeben sei F : [a, b] → R,

x0 ∈ [a, b]. Die rekursive Folge xn+1 := F(xn), n = 0, 1, . . . heißt Fixpunktiteration von F zum Startwert x0.

X0 X

1 X

2 X

3

X1

X2

X3

(13)

Iterative Verfahren (3)

Anwendungsbeispiel

Bestimme die Nullstelle von p(x) = x3−x+ 0.3 oder l¨ose die Gleichung x = x3 + 0.3.

Methode: F¨uhre die Fixpunktiteration xn+1 = F(xn) = x3n+ 0.3, durch Ergebnis:

• Startwert x0 = 0 : konvergiert gegen x = 0.3389 . . .

• Startwert x0 = 1: divergiert

Z.B. kann die Gleichung x = 2 sin(x) + 1 nur iterativ gel¨ost werden!

(14)

Iterative Verfahren (4)

Iterative L¨osungsverfahren konstruieren ganz allgemein eine L¨osung aus einer Startl¨osung:

x(0) → x(1) → x(2) → . . .

Angewendet auf die Berechnung der L¨osung eines linearen Gleichungs- systems ist die Konvergenz abh¨angig von den Eigenschaften der Matrix und den Details des iterativen L¨osungsverfahrens.

Es gibt zwei Gruppen von Verfahren

• die “klassischen” Verfahren, das Jacobi- und das Gauß-Seidel- Iterationsverfahren und darauf aufbauend Relaxationsverfah- ren, entwickelt im sp¨aten 18. Jahrhundert, werden heute noch angewandt.

• Krylov Unterraum-Methoden, die allgemeiner und oft schneller sind, jedoch ist in vielen F¨allen die Konvergenz unklar.

(15)

Richardson Iterationsverfahren (1)

Richardson Iterationsverfahren:

Idee: Formuliere ein passendes Fixpunktproblem

b = Ax = (A − I)x + x x = b + (I − A)x := F(x) Iterationsvorschrift:

x(t+1) = b + (I − A)x(t) = x(t) + (b Ax(t)) = x(t) + r(t) F¨ur x(t+1) = x(t) gilt r(t) = 0 oder b Ax(t) = 0

Der gesuchte Vektor x ist der Fixpunkt der Gleichung und wir oft auch als ¯x bezeichnet.

Der Vektor r(t) heißt Rest- oder Residuenvektor (manchmal Residu- umsvektor oder kurz Residuum) und ist ein Maß f¨ur den Fehler.

(16)

Richardson Iterationsverfahren (2)

Abbruchbedingung der Iterationsverfahren: Der Betrag des Re- siduenvektors ||r(t)|| = ||b Ax(t)|| = ||A(x x(t))|| oder besser der relative Betrag ||r(t)||/||x(t)|| muss klein sein.

||x|| steht f¨ur die 2-Norm oder der L¨ange des Vektors x

||x|| =

v u u t

n X i=1

x2i Fehlerbetrachtung im t-ten Schritt

x x(t) = x x(t−1) (b Ax(t−1))

= x x(t−1) (Ax Ax(t−1))

= (I − A)(x x(t−1))

(17)

Richardson Iterationsverfahren (3)

Mit der 2-Norm

||x x(t)||2 = ||(I − A)(x x(t−1))||2

≤ ||(I − A)||2 · ||(x x(t−1))||2

≤ ||(I − A)||22 · ||(x x(t−2))||2

· · ·

≤ ||(I − A)||t2 · ||(x x(0))||2 Konvergenz liegt sicher vor f¨ur

||(I − A)|| < 1 oder A ist fast eine Einheitsmatrix.

(Die 2-Norm der Matrix ist die “Spektralnorm” und wird hier nicht n¨aher betrachtet, siehe Kapitel 2 zu Matrixnorm)

(18)

Jacobi Iterationsverfahren (1)

Verbesserung:

In vielen praktischen Problemen sind die Matrixeintr¨age auf der Dia- gonalen groß. Betrachte dann das modifizierte Problem

D−1Ax = D−1b mit D = diag(A) Diese ¨Anderung ¨andert die L¨osung nicht!

D−1A ≈ I bzw. ||(I− D−1A)|| < 1 ist aber eher erf¨ullt als ||(I −A)|| < 1 Beispiel:

A =

5 2 1 2 7 4

−1 2 8

, D1 =

1/5 0 0

0 1/7 0

0 0 1/8

, I−D1A =

0 2/7 1/8 2/5 0 4/8

−1/5 2/7 0

,

Matrizen, deren gr¨oßte Eintr¨age auf der Diagonalen sind, kommen z.B.

bei Beleuchtungsproblemen (Kapitel 2) oder bei sogenannten partiel- len Differentialgleichungen vor (Kapitel 10).

(19)

Jacobi Iterationsverfahren (2)

Aus Ax = b wurde D1Ax = D1b, also, ersetze im Richardson- Verfahren A → D−1A und b D−1b:

x(t+1) = x(t) + (D−1b D−1Ax(t)) oder

Dx(t+1) = Dx(t) + (b Ax(t)) = b + (D A)x(t) Das ist das Jacobiverfahren

Historisch wurde das Verfahren anders hergeleitet, so wie es auch meist in der Literatur zu finden ist.

Ersetze Ax durch (D + A − D)x und forme den Ausdruck in eine Fix- punktgleichung um

Ax = Dx + (A D)x = b Das f¨uhrt zur selben Iterationsvorschrift:

Dx(t+1) = b + (D A)x(t)

(20)

Jacobi Iterationsverfahren (3)

Elementweise geschrieben:

ajjx(jt+1) = bj + ajjx(jt)X

k

ajkx(kt)

x(t+1)j = 1 ajj

bjX

k6=j

ajkx(t)k .

• Multipliziere die Matrix ohne Diagonalelemente mit x(t)

• Ziehe das Ergebnis vom Vektor b ab

• Teile jedes Element durch das entsprechende Diagonalelement

• F¨uhre das solange durch, bis der Residuenvektor klein ist

(21)

Gauß-Seidel Verfahren (1)

Weitere Verbesserung: Zerlege die Matrix in 3 Teile:

• D: Diagonalteil von A

• −L: Unterdiagonalteil von A

• −U: Oberdiagonalteil von A L¨ose

b = Ax = (D − L − U)x = (D − L)x Ux

¨

uber die Iterationsvorschrift

(D − L)x(t+1) = b + Ux(t) = b − (A − (D − L))x(t)

= (D − L)x(t) + (b − Ax(t)) = (D − L)x(t) + r(t)

(22)

Gauß-Seidel Verfahren (2)

Das Gauß-Seidel Verfahren lautet

x(t+1) = x(t) + (D − L)−1(b Ax(t)) und ist gleich einer Richardson Iteration angewandt auf

(D − L)−1Ax = (D − L)−1b

Das Verfahren ist konvergent, falls ||I − (D − L)−1A||2 < 1

In vielen Anwendungen, basierend auf der diskretisierten Form soge- nannter partieller Differentialgleichungen, kommt eine Variante dieser Methode zum Einsatz (Kapitel 10).

(23)

Gauß-Seidel Verfahren (3)

Elementweise geschrieben:

(D − L)x(t+1) = b + Ux(t) ajjx(t+1)j + X

k<j

ajkx(t+1)k = bjX

k>j

ajkx(t)k .

Berechnet x(1t+1), und damit x(2t+1) usw.

a11x(t+1)1 = b1X

k>1

a1kx(t)k a22x(t+1)2 + a21x(t+1)1 = b2X

k>2

a2kx(t)k a33x(3t+1) + a31x(1t+1) + a32x(2t+1) = b3X

k>3

a3kx(kt) ... = ...

(24)

Relaxationsverfahren

Die Wahl der Matrix, mit der die urspr¨unglich Fixpunktgleichung mo- difiziert wird, ist im Prinzip beliebig (siehe Pr¨akonditionierung)

Das SOR (successive over-relaxation) Verfahren modifiziert das Gauß- Seidel Verfahren durch

(D − L) → (D

ω − L) Eingesetzt und multipliziert mit ω folgt

(D − ωL) x(t+1) = [(1 − ω)D + ωU]x(t) + ωb

Die richtige Wahl vom ω kann den Algorithmus stark beschleunigen.

(25)

Pr¨ akonditionierung

Verallgemeinerung der obigen Methoden: Anstatt das Originalproblem zu l¨osen, betrachte

M−1Ax = M−1b

M sollte leicht zu invertieren sein und in der N¨ahe von A liegen, damit M−1A leicht zu berechnen ist und in der N¨ahe der Einheitsmatrix liegt.

Die Richardson Iterationsvorschrift f¨ur das pr¨akonditionierte System lautet

x(t+1) = (1−M−1A)x(t)+M−1b = x(t)+M−1(b−Ax(t)) = x(t)+M−1r(t) mit hoffentlich kleiner Iterationsmatrix C = 1 − M−1A. Jacobi bzw.

Gauß-Seidel Verfahren entsprechen den Pr¨akonditionierungsmatrizen M = D bzw. M = D − L.

(26)

Krylov Unterraum-Methoden (1)

Problem:

Die bis jetzt vorgestellten Methoden konvergieren nur, wenn die Itera- tionsmatrix ||C|| = ||1 − M−1A|| klein ist.

F¨ur das Jacobi-, Gauß-Seidel- und SOR-Verfahren bedeutet das, dass die Nebendiagonalelemente von A im Vergleich zu den Diagonalele- menten klein sein m¨ussen.

Krylov Unterraum-Methoden beruhen auf einer Verallgemeinerung der bisher vorgestellten Fixpunktgleichungen. Aus dem pr¨akonditio- niertem Richardson Iterationsverfahren wird

x(t+1) = x(t) + M1r(t) x(t+1) = x(t) + α(t)p(t).

Je nach Wahl von α(t) und p(t) ergeben sich unterschiedliche Metho- den, wobei nur sicher gestellt werden muss, dass x(t) jede m¨ogliche Richtung annehmen kann, so dass die L¨osung gefunden werden kann, und dass der Betrag des Residuums ||b Axk|| immer kleiner wird.

(27)

Krylov Unterraum-Methoden (2)

Was ist ein Krylov Unterraum?

Beispiel: F¨ur die einfachste Iterationsvorschrift: Die Richardson Itera- tion

x(t+1) = x(t) + r(t). gilt

r(t) = b Ax(t)

= b A(x(t−1) + r(t−1))

= b A(x(t−1) + b Ax(t−1))

= (I − A)(b Ax(t−1))

= (I − A)r(t−1)

= (I − A)2r(t−2)

= . . . = (I − A)tr(0)

(28)

Krylov Unterraum-Methoden (3)

Mit dem Startvektor x(0) = 0 und damit r(0) = b Ax0 = b folgt x(t+1) = x(t) + r(t)

= x(t−1) +

t X j=t−1

r(j)

= x(0) +

t X j=0

r(j)

=

t X j=0

(I − A)j b

(29)

Krylov Unterraum-Methoden (4)

Die Iterationsl¨osung x(t) = Pt−1j=1(I − A)j b ist somit Element des Un- terraums

x(t) ∈ {b, Ab, . . . , At−1b} = Kt(A,b)

Dieser Raum wird als Krylov Unterraum der Dimension t, Kt(A,b) bezeichnet.

Die Iterationsl¨osung xt liegt bei einem Krylov-Unterraumverfahren in Kt(A,b).

Je nachdem, wie die Iterationsl¨osung innerhalb des Unterraums bestimmt wird, gibt es verschiedene Iterations-Strategien.

(30)

Krylov Unterraum-Methoden (5)

Die bekanntesten sind

• Ritz-Galerkin Ansatz: r(t) orthogonal zu Kt(A,b) (z.B. CG).

Das bedeutet genauer:

xt Kt und rt = (b Axt) ∈ Kt

• Petrov-Galerkin Ansatz: r(t) orthogonal zu einem allgemeinen Un- terraum Lt (z.B. BI-CG oder QMR))

• Minimierung von ||r(t)||2 (z.B. MINRES oder GMRES)

• Hybride Verfahren (z.B. Bi-CGSTAB)

• Minimierung des Fehlers ||x x(t)||2 (z.B. GMERR)

Es werden laufend neue Verfahren, angepasst an spezielle Probleme entwickelt.

(31)

Einschub: Schreibweisen f¨ ur Vektoren und Matrizen

• Vektoren werden mit einem Vektorpfeil nur geschrieben, wenn es sich um Vektoren im Raum handelt, ansonsten meist durch “fetten Schriftsatz” gekennzeichnet.

• Ein Skalarprodukt zweier Vektoren wird geschrieben als

* ab oder a·b, h¨aufig bei Ingenieuren und in der Schule verwendet

* ha,bi oder (a,b), Bra-Ket Schreibweise, beliebt bei z.B. Physi- kern und angewandten Mathematikern

* aTb, Matrix-Schreibweise, beliebt bei Mathematikern

• Dementsprechend gilt z.B.

a (Mb) ≡ aTMb (a, Mb)

(32)

CG (1)

Das konjugierte Gradientenverfahren (CG) ist Grundlage vieler moder- ner Iterationsverfahren (entwickelt 1952 von Stiefel und Hestens).

• Es konvergiert (falls keine Rundungsfehler vorliegen) f¨ur positiv definite und symmetrische Matrizen

a(x) = xTAx = (x, Ax) > 0; Ai,j = Aj,i

der Gr¨oße n × n in n Schritten und ist somit eine schnelle und sichere Methode zur L¨osung des Gleichungssystems.

• Die Rundungsfehler f¨uhren bei großen Systemen jedoch dazu, dass man in vielen F¨allen nicht n sondern ca. 3n Schritte anwendet.

• Es ist das einzige iterative Verfahren, f¨ur das die Konvergenz im Allgemeinen bewiesen wurde.

• Da jeder Schritt einer Matrixmultiplikation entspricht, lohnt sich das Verfahren besonders f¨ur d¨unn besetzte Matrizen.

(33)

CG (2)

Grundlage ist ein Optimierungsproblem. Die L¨osung von Ax = b

ist ein Minimum der Funktion f(x) = 1

2(x, Ax) − (b,x)

und umgekehrt. Begr¨undung: Sie x der L¨osungsvektor von Ax = b, so gilt f¨ur einen beliebigen Vektor x + p

f(x + p) = 1

2(x + p, A(x + p)) − (b,x + p)

= f(x) + (p,(Ax b)) + 1

2 (p, Ap) = f(x) + 1

2 (p, Ap) > f(x) Das Verfahren setzt sich aus 2 Teilen zusammen: die Methode des

“steilsten Abstiegs” und die Methode der “konjugierten Richtung”.

(34)

CG (3)

Die Methode des “steepest descent” der Gradientenverfahren:

• Richtung: Beginnt man mit einem Vektor x + p und m¨ochte ent- lang des steilsten Abstiegs das Minimum erreichen, so muss man entlang des Negativen der Ableitung der Funktion f(x) nach x gehen, also entlang

−f(x) = −(Ax b) = r.

Das Residuum gibt die Richtung des steilsten Abstiegs an.

• Relaxationsfaktor: Betrachte die Funktion f(x+αp) und bestimmt f¨ur einen Vektor p das Minimum im Parameter α:

df(x + αp)

dα = d

dα(f(x) + (αp,(Ax b)) + 1

2 α2(p, Ap))

= (p,(Ax b)) + α(p, Ap) = 0 oder

αopt = (p,r) (p, Ap)

(35)

CG (4)

Algorithmus: Ausgangspunkt ist eine verallgemeinerte Richardson Ite- rationsvorschrift x(i+1) = x(i) + αip(i).

• Verwende die Richtung des steilsten Abstiegs p = r und αopt.

• Setze x(0) und berechne r(0) = b Ax(0)

• F¨uhre folgende Schritte durch:

αi = (r(i),r(i)) (r(i), Ar(i)) x(i+1) = x(i) + αir(i)

r(i+1) = b Ax(i+1) = r(i) αiAr(i)

Das Verfahren konvergiert immer f¨ur positiv definite und symmetri- sche Matrizen, aber meist sehr langsam, da die Richtung des steilsten Abstiegs zu einer oszillierenden Bewegung der L¨osung f¨uhren kann.

(36)

CG (5)

Beispiel aus G.Opfer:

Bestimme die L¨osung des Gleichungssystem 1 0

0 10

!

· x1 x2

!

= 0

0

!

mit der Methode des steilsten Abstiegs. Das ¨aquivalente System ist:

Bestimme das Minimum der Funktion f(x) = 1

2(x, Ax) − (b,x)

= 1 2

x1 x2 · 1 0 0 10

!

· x1 x2

!

0 0 · x1 x2

!

= 1

2(x21 + 10x22)

(37)

CG (6)

W¨ahle als Startvektor x(0)T = (1.0, 0.1)

Der L¨osungsvektor oszilliert zur L¨osung

-0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

min(x_1^2 + 10 x_2^2)

(38)

CG (7)

Die Methode der “konjugierten Richtung”:

Ausgangspunkt f¨ur Methode des “steepest descent” war die Funktion f. Als Richtung wurde der Gradient festgelegt und die L¨ange des Gradientenvektors durch das Minimum der Funktion f

f(x + αp) = f(x) + α(p,(Ax b)) + 1

2 α2 (p, Ap)

= f(x) + α(p, Ax) + 1

2 α2 (p, Ap) − α(p,b)

als Funktion von α bestimmt. Verfahren zur Vermeidung der Oszilla- tionen (nur zum Verst¨andnis, ohne Beweise):

• Die Richtungen, in der sich x(i) entwickelt, seien in einem Unter- raum P(i) =< p(0), p(1), . . . p(i−1) >

(39)

CG (8)

• Der Vektor x(i) l¨asst sich dann schreiben als x(i) = x(i−1) + α(i−1)p(i−1) = x(0) +

i−1 X j=0

α(j)p(j)

• W¨ahle als n¨achste Richtung zur Berechnung von x(i+1) nicht den Gradienten, sondern eine Richtung p(i), so dass der 2. Summand in f(x + αp) f¨ur alle Betr¨age von x in Richtung x(i) wegf¨allt

(p(i), Ax(i)) = 0

• Da x(i) eine Linearkombination der x(j), j = 1, . . . , i−1 ist, bedeutet das

(p(i), Ap(j)) = 0 f¨ur j ≤ i

(40)

CG (9)

• Die Vektoren p(0),p(1), . . . ,p(i) heißen paarweise zu A-konjugierte Richtungen, da gilt

(p(k), Ap(j)) = 0 f¨ur k 6= j

• Bestimme nun, wie gehabt, das optimale α.

αopt = (p(i),r(i)) (p(i), Ap(i))

• und berechne damit

x(i+1) = x(i) + αp(i)

(41)

CG (10)

Algorithmus: (bis jetzt)

Verwende einen Satz von konjugierten Suchrichtungen pi. Setze x(0) und r(0) = b Ax(0)

Dann f¨uhre folgende Schritte durch:

αi = (r(i),p(i)) (p(i), Ap(i)) x(i+1) = x(i) + αip(i)

r(i+1) = b Ax(i+1) = r(i) αiAp(i)

Die verbleibende Aufgabe ist es, die Suchrichtungen p(i) g¨unstig zu w¨ahlen, dass sich schnell eine gute N¨aherung ergibt.

(42)

CG (11)

Die “konjugierte Gradienten-Methode” von Hestens und Stiefel Hier werden die konjugierten Richtungen aus den Restvektoren kon- struiert werden.

p(0) = r(0)

p(i) = r(i) + β(i)p(i−1).

Ist β(i) = 0, ergibt sich die Methode des Gradientenverfahren. Die Koeffizienten β(i) werden so gew¨ahlt, dass die Richtungen p(i) wie gefordert zueinander konjugiert sind.

0 = (p(m), Ap(i)) = (r(m), Ap(i))+β(m)(p(m−1), Ap(i)) f¨ur i = 0, . . . , m−1

(43)

CG (12)

Da

(p(m−1), Ap(i)) = 0 f¨ur i < m − 1 folgt

β(m−1) = − (r(m), Ap(m−1)) (p(m−1), Ap(m−1))

Ohne Beweis: Jetzt gilt f¨ur den neuen Residuenvektor (r(i+1),p(j)) = 0 f¨ur j = 0, . . . , i,

d.h. der Vektor steht senkrecht auf dem Raum P(i). Da sich der Vek- torraum bei jedem Iterationsschritt um eine Dimension vergr¨oßert, ist sicher gestellt, dass das Verfahren nach n Schritten eine L¨osung findet.

Nach einigen Umrechnungen ergibt sich CG-Algorithmus.

(44)

CG (13)

Endg¨ultiger Algorithmus (ohne Beweis!):

Starte mit p(0) = r(0) = b−Ax(0). Dann f¨uhre folgende Schritte durch:

α(i−1) = |r(i−1)|2

(p(i−1), Ap(i−1))

x(i) = x(i−1) + α(i−1)p(i−1) r(i) = r(i−1) − α(i−1)Ap(i−1) β(i) = |r(i)|2

|r(i−1)|2

p(i) = r(i) + β(i)p(i−1)

(45)

CG (14)

Nochmal das Beispiel aus G.Opfer

1 0 0 10

!

· x1 x2

!

= 0

0

!

W¨ahle als Startvektor wieder x(0)T = (1.0,0.1) Der L¨osungsvektor oszilliert nicht mehr und die L¨osung wird in 2 Schritten erreicht.

-0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

min(x_1^2 + 10 x_2^2)

(46)

CG (15)

Rechenaufwand pro Iteration 1 Matrixmultiplikation A,

2 Skalarprodukte, 3 AXPYs

Es werden (theoretisch) n Iterationen ben¨otigt.

Einfache Erweiterung f¨ur nicht-symmetrische Matrizen

Ist die Matrix nicht symmetrisch und positiv definite, betrachte ATAx = ATb

und konstruiere die L¨osung in Ki(ATA, ATb) unter Verdoppelung der Anzahl der Matrix-Vektor Multiplikationen (geht besser durch Erwei- terung des Krylov-Unterraums).

Referenzen

ÄHNLICHE DOKUMENTE

(Beachten Sie, dass die Regel “g¨ unstige F¨ alle/m¨ ogliche F¨ alle” hier nicht angewendet werden kann, weil nicht alle Elementarereignisse gleiche Wahrscheinlichkeit

Bei der Wahrscheinlichkeitsverteilung einer diskreten Zufallsvariable X kann die Wahr- scheinlichkeit f¨ ur das Ereignis x, also P (X = x) niemals gr¨ osser als 1 sein (weil

Welche Information in der folgenden Auswahl ist die einzige, die man nicht braucht, wenn man die Stichprobengr¨ osse f¨ ur einen t-Test berechnen

F¨ ur jede Person wurde die “Lean Bo- dy Mass” (Variable lbm; LBM = K¨ orpermasse ohne Fett; Einheit: kg) und die K¨ orperkraft (Variable strength; maximales Drehmoment am

Sehen Sie sich noch einmal die Singul¨arwertzerlegung von Aufgabe 45 und Itera- tionsverfahren von Aufgabe 48

Sie m¨ ussen also noch zeigen, dass σ A positiv definit ist.. ¨ Uberlegen Sie sich, wie Ihnen die Injektivit¨ at von

Sei (V, σ) ein

• Die iterativen Verfahren beginnen mit einer Anfangsn¨ aherung und produzieren eine verbesserte N¨ aherungsl¨ osung nach endlich vielen Schritten.. • Falls m¨ oglich wird das