Übungsblatt 12 Musterlösung

Ähnliche Dokumente
QR-Iteration. Ax = λx Q T AQQ T x = λq T x.

3 Eigenwertberechnung

Einführung Eigenwerte

Einführung Eigenwerte

QR Zerlegung mit Householder Transformationen. Numerische Mathematik1 WS 2011/12

LR-Zerlegung. N = size(a,1); for n=1:n-1 A(n+1:N,n) = A(n+1:N,n)/A(n,n); A(n+1:N,n+1:N) = A(n+1:N,n+1:N) - A(n+1:N,n) * A(n,n+1:N); end;

Übungsblatt Matlab-Zentralübung Musterlösung

4.6 Berechnung von Eigenwerten

2 Direkte Lösungsverfahren für lineare Gleichungen

Lineares Gleichungssystem

Abschnitt 2.5: QR-Verfahren 31

Numerisches Programmieren, Übungen

Numerik SS Musterlösung zu Hausaufgabenblatt 1

Numerische Methoden 4. Übungsblatt

1 Euklidische Approximation

Woche 20/12 13/01 4. Iterative Lösung linearer Gleichungssysteme 1 / 5

TU Ilmenau Institut für Mathematik FG Numerische Mathematik und Informationsverarbeitung PD Dr. W. Neundorf Datei: UEBG2.TEX

2 Direkte Lösungsverfahren für lineare Gleichungen

2. Lineare Gleichungssysteme: direkte und iterative Lösungsverfahren

KAPITEL 7. Berechnung von Eigenwerten. Av = λv

Numerisches Programmieren, Übungen

VF-2: 2. Es seien x = 1 3 und y = π Bei der Berechnung von sin(x) sin(y) in M(10, 12, 99, 99) tritt. Auslöschung auf.

Musterlösung. Aufgaben zu Iterative Lösung Linearer Gleichungssysteme. Vordiplomskurs Numerische Methoden Sommer 2008

Musterlösung 11. D-INFK Lineare Algebra HS 2017 Özlem Imamoglu Olga Sorkine-Hornung

Begleitmaterial zur Vorlesung Numerik I

Kurze Einführung in Octave

Begleitmaterial zur Vorlesung Numerik II

Einführung in numerische Methoden für Ingenieure (nach A. Quarteroni, F. Saleri: Wissenschaftliches Rechnen mit MATLAB)

Numerische Lineare Algebra

1 Euklidische Approximation

Lösungen zu Prüfung Lineare Algebra I/II für D-MAVT

QR-Zerlegung mit Householder-Transformationen

D-ITET, D-MATL Numerische Methoden FS 2014 Dr. R.Käppeli M. Sprecher. Musterlösung 4

D-INFK Lineare Algebra HS 2016 Özlem Imamoglu Olga Sorkine-Hornung. Musterlösung 8. die gegebene Basis und b = die gesuchte Orthonormalbasis.

Lineare Algebra für Ingenieure

KAPITEL 1. Einleitung

Beispiellösung Serie 7

1 Euklidische Approximation

Elastodynamik 2 Lösungsblatt 1. [1 l l N /m N /m 6000 N 3000 N 6000 N 4000 Nm] =0,5m = 3000 N. =0,00060 m = 6000 N

Mathematische Grundlagen

Lineare Gleichungssysteme

Einführung in die Grundlagen der Numerik

Übungsblatt 5 Musterlösung

Iterative Verfahren, Splittingmethoden

MC-Serie 11: Eigenwerte

Orthonormalisierung. ein euklidischer bzw. unitärer Vektorraum. Wir setzen

Übungsblatt

Musterlösung für die Klausur vom 31. März. (a) Wir bestimmen zunächst einen Normalenvektor von E 1 :

6 Eigenwerte und Eigenvektoren

Ausgewählte Lösungen zu den Übungsblättern 9-10

Klausur zu Grundlagen der Computermathematik

Lineare Algebra und Geometrie II, Übungen

D-INFK Lineare Algebra HS 2017 Özlem Imamoglu Olga Sorkine-Hornung. Serie 11

D-MATH, D-PHYS, D-CHAB Lineare Algebra II FS 14 Manfred Einsiedler. Musterlösung 8. i=1. w 2, w 2 w 2 =

Sommer 2017 Musterlösung

6 Eigenwerte und Eigenvektoren

Vorlesung Mathematik für Ingenieure 3 (Wintersemester 2009/10)

D-ITET. D-MATL, RW Lineare Algebra HS 2017 Dr. V. Gradinaru T. Welti. Online-Test 2. Einsendeschluss: Sonntag, den

Numerische Lineare Algebra - Matlab-Blatt 2

Rechenaufwand der LR- und LDL T - Zerlegung

Henning Krause Lineare Algebra Julia Sauter SS 2017 Klausur mit Lösungsvorschlag Jan Geuenich

Musterlösung Serie 21

Numerische Lineare Algebra

Mathematik für Wirtschaftswissenschaftler, SS 2010 Musterlösungen zu Aufgabenblatt 11

2. Dezember Lineare Algebra II. Christian Ebert & Fritz Hamm. Skalarprodukt, Norm, Metrik. Matrizen. Lineare Abbildungen

D-INFK Lineare Algebra HS 2014 Roman Glebov Marc Pollefeys. Serie 13

Numerisches Programmieren, Übungen

20 Kapitel 2: Eigenwertprobleme

8. Vorlesung, 5. April Numerische Methoden I. Eigenwerte und Eigenvektoren

3. Lineare Gleichungssysteme

EINFÜHRUNG IN DIE NUMERIK - ÜBUNGSBLATT 3 Sommersemester 2010

Lösung 23: Sylvesters Trägheitssatz & Singulärwertzerlegung

Vortrag 20: Kurze Vektoren in Gittern

Übungsblatt 5 Musterlösung

Klausur Numerische Mathematik (für Elektrotechniker), Samstag, 19. August 2017

Klausurenkurs zum Staatsexamen (WS 2015/16): Lineare Algebra und analytische Geometrie 3

Name: Matr.-Nr.: 2. Aufgabe 1. Gegeben sei das folgende lineare Gleichungssystem: b a 2 3a 1

MODULPRÜFUNG MODUL MA 1302 Einführung in die Numerik

Lineare Algebra für D-ITET, D-MATL, RW. Beispiellösung für Serie 12. Aufgabe Herbstsemester Dr. V. Gradinaru D. Devaud.

Ökonometrische Analyse

Institut für Geometrie und Praktische Mathematik

Klausur zu Grundlagen der Computermathematik

Diplom VP Numerik 27. August 2007

Lösungen der Aufgaben zu Kapitel 11

2 Lineare Gleichungssysteme

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR

Kapitel 2: Lineare Gleichungssysteme

Wiederholung von Linearer Algebra und Differentialrechnung im R n

D-ITET, D-MATL Numerische Methoden FS 2013 Prof. Dr. A. Jentzen M. Sprecher. Musterlösung 4

2.2. Übung. Einführung in die Programmierung (MA 8003)

Ingenieurinformatik II Numerik für Ingenieure Teil 2

9. Übungsblatt zur Mathematik I für Maschinenbau

10. Übung zur Linearen Algebra II -

Klausur zur Vordiplom-Prüfung

Numerische Mathematik II. (a) mit der geschlossenen Formel von Newton-Cotes. k k. (b) mit der Formel von Gau-Legendre fur w(x) = 1

Programmiervorkurs für die Numerik Teil 2/4

Numerische Methoden der Elektrotechnik

QR-Algorithmus Praktische Anwendung auf reelle und komplexe Eigenwerte

Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS Matlab: Fortsetzung. Jan Mayer. 4. Mai 2006

Transkript:

NumLinAlg WS56 Übungsblatt 2 Musterlösung Lösung 44 (QR-Algorithmus mit Wilkinson-Shift und Deflation) a)+b) Die QR-Iteration zur Berechnung aller Eigenwerte einer Matrix A kann wie folgt implementiert werden: function [V,D] = qr_eig(a,max_iter) 2 % Berechnet die Eigenwerte und Eigenvektoren von A mittels 3 % QR Iteration, wobei A schon in Hessenberg Form ist. 4 % max_iter ist die maximale Anzahl von Iterationen 5 % Rueckgabe: D Diagonalmatrix mit Eigenwerten von A 6 % V Orthonormalbasis mit Eigenvektoren von A 7 8 % QR Schleife mit Givens Rotationen 9 [n, ~] = size(a); 0 Qall = eye(n); for k=:max_iter 2 A_old = A; 3 [Q,R] = qr_givens(a); 4 A = R*Q; 5 Qall = Qall*Q; 6 if(norm(a A_old,'fro')<eps*norm(A,'fro')) 7 break; 8 end 9 end 20 % Eigenwerte stehen auf der Diagonalen von R 2 D = diag(a); 22 % Berechnung der Eigenvektoren der oberen Dreiecksmatrix R. 23 % Nicht noetig wenn R Diagonalmatrix 24 V = qr_eigenvect(a); 25 % Transformation auf die Eigenvektoren von A 26 V = Qall*V; Die Funktion qr_givens(a) ist die selbe Routine aus Aufgabe 23. Die Funktion qr_eigenvect(r) ist wie folgt definiert: function V = qr_eigenvect(r) 2 3 % Berechnet die Eigenvektoren der oberen Dreiecksmatrix R 4 % durch (R lambda*i)v=0 5 6 % Groesse der Matrix R 7 n = size(r,); 8 % Initialisieren der Loesung 9 V = zeros(n,n);

0 % Durchfuehrung des Algorithmus for k=:n 2 % Setze untersten Eintrag auf 3 V(k,k) = ; 4 % Berechne die anderen Eintraege 5 for i=k : : 6 V(i,k) = (R(i,i+:k)*V(i+:k,k))/(R(k,k) R(i,i)); 7 end 8 % normiere die Vektoren 9 V(:,k) = V(:,k)/norm(V(:,k)); 20 end Wir generieren die zwei Matrizen mit dem Skript % Maximale Anzahl von Iterationen des QR Algorithmus 2 max_iter = 2000; 3 4 % Definition der D Poisson Matrix 5 v = 2*ones(20,); 6 w = ones(9,); 7 P = diag(v)+diag(w,)+diag(w, ); 8 9 % Definition der Gauss Matrix 0 n = 4; beta = ones(n,); 2 G = zeros(n+,n+); 3 for i=:n 4 beta(i) = 0.5*( (2*i)^( 2))^( 0.5); 5 G(i,i+) = beta(i); 6 G(i+,i) = beta(i); 7 end Wir wenden die QR-Iteration an den zwei angegebenen Matrizen an. % Teil a) und b) 2 [eigvp, eigwp] = eig(p); 3 [eigvg, eigwg] = eig(g); 4 fehler_p = zeros(max_iter/00,); 5 fehler_g = zeros(max_iter/00,); 6 for i=00:00:max_iter 7 [VP,DP] = qr_eig(p,i); 8 fehler_p(i/00) = norm(sort(dp) sort(diag(eigwp)),2); 9 if(fehler_p(i/00)<0^ 3) 0 break end 2 end 3 for i=00:00:max_iter 4 [VG,DG] = qr_eig(g,i); 5 fehler_g(i/00) = norm(sort(dg) sort(diag(eigwg)),2); 6 end 7 for i = :size(dp,) 8 err_p_matlab(i) = norm(p*eigvp(:,i) eigwp(i,i)*eigvp(:,i),2); 9 err_p_qr_eig(i) = norm(p*vp(:,i) DP(i)*VP(:,i),2); 20 end 2 norm(err_p_matlab,inf) 2

22 norm(err_p_qr_eig,inf) 23 for i = :size(dg,) 24 err_g_matlab(i) = norm(g*eigvg(:,i) eigwg(i,i)*eigvg(:,i),2); 25 err_g_qr_eig(i) = norm(g*vg(:,i) DG(i)*VG(:,i),2); 26 end 27 norm(err_g_matlab,inf) 28 norm(err_g_qr_eig,inf) 29 30 % grafische Ausgabe des Fehlers in Abhaengigkeit von n 3 semilogy(00:00:max_iter,fehler_p,00:00:max_iter,fehler_g,'linewidth',3); 32 set(gca,'fontsize',4); 33 legend('poisson Matrix','Gauss Matrix','Location','South'); 34 xlabel('iterationen des QR Alg'); 35 ylabel('fehler'); 36 title('fehler der EW Berechnung mit QR Alg') 37 38 %% Teil c) und d) 39 % QR Algorithmus mit Rayleigh Shift 40 [VR, DR, fehler_rayleigh] = qr_eig_shift(g,); 4 lr = size(fehler_rayleigh,2); 42 subplot(,2,) 43 semilogy(:lr,fehler_rayleigh,'linewidth',3); 44 set(gca,'fontsize',4); 45 xlabel('iterationen des QR Alg'); 46 ylabel('fehler'); 47 title('fehler der EW Berechnung beim QR Alg mit Rayleigh Shift') 0 5 Fehler der EW-Berechnung mit QR-Alg 0 0 Fehler 0-5 0-0 Poisson Matrix Gauss-Matrix 0-5 0 500 000 500 2000 Iterationen des QR-Alg Der QR-Iteration für die Matrix G konvergiert nicht, weil die Eigenwerte von G symmetrisch sind, d.h. falls λ ein Eigenwert von G ist, dann ist λ auch ein Eigenwert. Beispiel dazu: ( ) 0 A = 0 3

Die Eigenwerte der Matrix A berechnen sich zu λ = und λ 2 =. Dann folgt mit der QR-Zerlegung A (0) = Q (0) R (0) mit ( ) ( ) 0 0 Q (0) =, R (0) = 0 0 und somit A () = R (0) Q ( (0) )( ) 0 0 = 0 0 ( ) 0 =. 0 Also konvergiert die QR-Iteration auf A nicht. c)+d) Die QR-Iteration mit Shift µ kann wie folgt implementiert werden: function [V,D,fehler] = qr_eig_shift(a,shift) 2 % qr_eig_shift berechnet die Eigenwerte der Matrix A mittels... QR Iteration 3 % mit Shift, wobei A schon in Hessenberg Form ist. 4 % Das Input Parameter shift beziechnet die Wahl des Shiftes: 5 % shift = => Rayleigh Shift 6 % shift!= => Wilkinson Shift 7 % Rueckgabe: D : Diagonalmatrix mit den Eigenwerten von A 8 % V : Orthonormalbasis mit Eigenvektoren von A 9 % fehler: Vektor der Werten a^k_{(n,n)} a^(k )_{(n,n)}. 0 [N,~] = size(a); 2 tol = 0^( 6); % Tolleranz 3 D = zeros(n,); % Initialisierung des Vektors der Eigenwerte 4 k = ; % Iterationszaehler 5 Qall = eye(n); % Initialisierung der orthogonalen Matrix 6 Rall = zeros(n,n); % Initialisierung der oberen Dreiecksmatrix 7 8 for n=n: :2 9 Atemp = A(n,n); 20 while (k<3000 &&... abs(a(n,n ))>tol*(abs(a(n,n))+abs(a(n,n )))) %... Abbruchkriterien 2 if shift == % Rayleigh Shift 22 mu = A(n,n); 23 else % Wilkinson Shift 24 d = (A(n,n ) A(n,n))/2; 25 if (d ~= 0) 26 mu = A(n,n)+d sign(d)*sqrt(d^2+a(n,n)^2); 27 else 28 mu = A(n,n) A(n,n)^2; % Falls d=0, setze sign(0)=+ 29 end 30 end 3 [Q,R] = qr_givens(a mu*eye(n)); % QR Zerlegung 32 A = R*Q+mu*eye(n); % Neue Iterierte A(k+) 33 fehler(k) = abs(a(n,n) Atemp); 4

34 k = k+; 35 Qall(:n,:n) = Qall(:n,:n)*Q; 36 Atemp = A(n,n); 37 end 38 D(n) = A(n,n); % Speicher den n ten Eigenwert von A 39 Rall(:n,n) = A(:n,n); 40 A = A(:n,:n ); % Deflation 4 if n==2 % Letzter Fall 42 D()=A(,); 43 Rall()=A(,); 44 end 45 end 46 % Berechnung der Eigenvektoren der oberen Dreiecksmatrix R. 47 % Nicht noetig wenn R Diagonalmatrix 48 V = qr_eigenvect(rall); 49 % Transformation auf die Eigenvektoren von A 50 V = Qall*V; % Teil c) und d) 2 % QR Algorithmus mit Rayleigh Shift 3 [VR, DR, fehler_rayleigh] = qr_eig_shift(g,); 4 lr = size(fehler_rayleigh,2); 5 subplot(,2,) 6 semilogy(:lr,fehler_rayleigh,'linewidth',3); 7 set(gca,'fontsize',4); 8 xlabel('iterationen des QR Alg'); 9 ylabel('fehler'); 0 title('fehler der EW Berechnung beim QR Alg mit Rayleigh Shift') 2 3 % QR Algorithmus mit Wilkinson Shift 4 [VW, DW, fehler_wilkison] = qr_eig_shift(g,2); 5 lw = size(fehler_wilkison,2); 6 subplot(,2,2) 7 semilogy(:lw,fehler_wilkison,'linewidth',3); 8 set(gca,'fontsize',4); 9 xlabel('iterationen des QR Alg'); 20 ylabel('fehler'); 2 title('fehler der EW Berechnung beim QR Alg mit Wilkinson Shift') Lösung 45 (Konvergenz von Iterationsverfahren) a) Für eine aus einer Vektornorm erzeugte Matrixnorm gilt es: M = sup x 0 Mx x λ i für alle Eigenwerte λ i von M. Daraus folgt direkt 0 2 (M) = max i ( λ i ) M. ( ) b) Sei M = 2. Es folgt, dass λ,2 = gilt. Damit gilt auch (M) =. Es gilt: 2 2 Mx M = sup x =0 x = sup Mx. 5

Mit = 2 die euklidische Norm folgt M = sup = sup Mx = sup ( 2 x ) +x 2 2 x 2 4 x2 +x x 2 +x 2 2 + 4 x2 2 5 4 >, wobei wir den Vektor x = (0,) gewählt haben. Damit gilt: Nein, der Umkehrschluss aus Teilaufgabe a) folgt nicht. Die in Teilaufgabe a) gegebene Bedingung zur Konvergenz eines Verfahrens ist nur hinreichend, aber nicht notwendig! 6