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.

Matrix-Vektor Produkte, das heißt A kann explizit<br />

oder als eine Funktion, die Matrix-Vektor<br />

ausführt, angegeben werden. In der einfachsten<br />

Form kann eigs wie eig aufgerufen werden:<br />

[V,D] = eigs(A). Dann werden die sechs<br />

größten Eigenwerte und dazugehörige Eigenvektoren<br />

berechnet. Siehe doc eigs für weitere<br />

Details. Diese Funktion ist eine Schnittstelle<br />

zum ARPACK Paket, siehe [12]. Als<br />

Beispiel berechnen wir nun die fünf größten<br />

Eigenwerte einer dünn besetzten symmetrischen<br />

Matrix. Zum Vergleich verwenden wir<br />

die Funktion eig, welche erwartet, dass die<br />

Matrix im Speichermodus full vorliegt.<br />

1 >> A = delsq(numgrid(’N’,40));<br />

2 >> n = length(A)<br />

3 n =<br />

4 1444<br />

5 >> nnz(A)/n^2 %Anteil nicht Null.<br />

6 ans =<br />

7 0.0034<br />

8 >> tic, e_alle = eig(full(A)); toc<br />

9 Elapsed time is 10.600102 seconds.<br />

10 >> e_alle(n:-1:n-4)<br />

11 ans =<br />

12 7.9870<br />

13 7.9676<br />

14 7.9676<br />

15 7.9482<br />

16 7.9354<br />

17 >> options.disp = 0; %Keine<br />

Ausgabe.<br />

18 >> tic, e = eigs(A,5,’LA’,options)<br />

;<br />

19 >> toc %LA = Largest Algebraic<br />

20 Elapsed time is 1.676173 seconds.<br />

21 >> e<br />

22 e =<br />

23 7.9870<br />

24 7.9676<br />

25 7.9676<br />

26 7.9482<br />

27 7.9354<br />

Mit den Funktion tic und toc kann man Zeitmessungen<br />

durchführen. Es ist klar, dass eigs<br />

viel schneller ist als eig und auch weniger<br />

Speicherplatz benötigt.<br />

51.9.3. Iterative Methoden für<br />

Singulärwertsysteme<br />

Die Funktion, um ein paar singuläre Werte und<br />

singuläre Vektoren einer Matrix A ∈ C m×n iterativ<br />

zu berechnen, heißt: sdvs. Die Funktion<br />

svds verwendet dabei die Funktion eigs, indem<br />

eigs auf die Hermitesche Matrix<br />

[<br />

Om A<br />

angewendet wird.<br />

A ∗ O n<br />

]<br />

51.10. Funktionen einer Matrix<br />

Mit der Funktion expm kann man für eine quadratische<br />

Matrix A die Matrixexponentialfunktion<br />

e A , die durch<br />

e A = E + A + 1 2! A2 + 1 3! A3 + · · ·<br />

definiert ist, berechnen. Wir geben ein Beispiel,<br />

siehe Beispiel 3.5 in [4].<br />

1 >> A = [1 1; -2 4];<br />

2 >> expm(A)<br />

3 ans =<br />

4 -5.3074 12.6965<br />

5 -25.3930 32.7820<br />

107 Copyright c○ G. Gramlich

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!