13.01.2014 Aufrufe

Link - Hochschule Ulm

Link - Hochschule Ulm

Link - Hochschule Ulm

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6 >> x = pcg(A,b);<br />

7 pcg stopped at iteration 20<br />

without<br />

8 converging to the desired<br />

tolerance<br />

9 1e-006 because the maximum number<br />

10 of iterations was reached.<br />

11 The iterate returned (number 19)<br />

12 has relative residual 0.12<br />

13 >> x = pcg(A,b,1e-6,100);<br />

14 pcg converged at iteration 92 to a<br />

15 solution with relative residual<br />

16 9.8e-007<br />

Im ersten Aufruf haben wir nur die Systemmatrix<br />

A und die rechte Seite b eingegeben<br />

und gesehen, dass die konjugierte Gradientenmethode<br />

nicht konvergiert mit standardmäßig<br />

eingestellten 20 Iterationen und dem standard<br />

Abbruchkriterium von 10 −6 . Ein erneuerte<br />

Versuch führt nach 92 Iterationen zum Erfolg,<br />

wobei wir die Iterationsgrenze auf 100<br />

gesetzt haben. Der Toleanzwert 10 −6 wurde erfüllt.<br />

Für diese Matrix kann man zeigen, dass M<br />

= diag(diag(A)) ein guter Vorkonditionierer<br />

ist. Übergeben wir der Funktion pcg diese<br />

Matrix als fünftes Argument, so erreichen wir<br />

eine effiziente Reduktion in der Anzahl der Iterationen:<br />

1 >> [x,flag,relres,iter] = pcg(A,b<br />

,1e-6,100,diag(diag(A)));<br />

2 >> flag, relres, iter<br />

3 flag =<br />

4 0<br />

5 relres =<br />

6 8.2661e-007<br />

7 iter =<br />

8 28<br />

Beachten Sie, dass keine Bildschirmausgabe<br />

ausgegeben wird, wenn wenn man mehr<br />

als ein Ausgabeargument im Funktionsaufruf<br />

angibt. Der Wert 0 der Variablen flag<br />

gibt an, dass das Verfahren konvergiert ist<br />

mit einem relativen Residuum relres =<br />

norm(b-A*x)/nomrm(b) nach iter Iterationen.<br />

Die anderen Funktionen der Tabelle 29 werden<br />

(bis auf gmres) genauso aufgerufen und<br />

gehandelt.<br />

Mit doc sparfun (help sparfun) bekommen<br />

Sie eine komplette Liste über alle Funktionen,<br />

die bezüglich Sparserechnungen interessant<br />

sind, so auch die Funktionen für iterative<br />

Methoden von linearen Gleichungssystemen.<br />

Aufgabe 110 (Konjugierte Gradientenmethode)<br />

Berechnen Sie mit pcm die Lösung von<br />

⎡<br />

⎢⎣<br />

2 1 0<br />

1 2 1<br />

0 1 2<br />

⎤<br />

⎥⎦<br />

⎡<br />

⎢⎣<br />

x 1<br />

x 2<br />

x 3<br />

⎤⎥⎦<br />

=<br />

⎡<br />

⎢⎣<br />

1<br />

1<br />

1<br />

A x b<br />

51.9.2. Iterative Methoden für Eigensysteme<br />

Die Funktion eigs berechnet auswählbare Eigenwerte<br />

und Eigenvektoren des Standardeigenwertproblems<br />

Ax = λx oder der verallgemeinerten<br />

Eigenwertaufgabe Ax = λBx,<br />

wobei B eine reelle symmetrische positiv definite<br />

Matrix ist. Im Gegensatz dazu berechnet<br />

die Funktion eig immer das gesamte Eigensystem,<br />

also alle Eigenwerte und Eigenvektoren.<br />

Wie die iterativen Löser von linearen<br />

Gleichungssystemen, so benötigt eigs nur<br />

⎤<br />

⎥⎦ .<br />

106 Copyright c○ G. Gramlich

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!