Link - Hochschule Ulm
Link - Hochschule Ulm
Link - Hochschule Ulm
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