TU Ilmenau Institut für Mathematik FG Numerische Mathematik und Informationsverarbeitung PD Dr. W. Neundorf Datei: pb ewp.tex Praktikumsbeispiele zum Lehrgebiet WR II, Numerische Mathematik und CAS Serie EWP Eigenwertproblem ) Allgemeines EWP Sei A eine reelle oder komplexe n n)-matrix, A = An, n) = a ij ). λ C heißt Eigenwert EW) oder charakteristischer Wert von A, falls ein Vektor x C n, x 0, existiert, so dass gilt Ax = λx x heißt zugehöriger) Eigenvektor EV), Rechts-EV oder Eigenlösung. Zuweilen wird auch das Links-EWP y T A = λy T, y 0, betrachtet. y ist Links-EV genau dann, wenn y EV von A T ist. Ein EV ist bis auf eine multiplikative Konstante eindeutig definiert. ) Lineares oder klassisches EWP Ax = λx mit A R n,n, λ C, x C n, x 0. Algorithmus der Vektoriteration Die Vektoriteration beinhaltet die iterative Bestimmung des einfachen betragsgrößten EW und zugehörigen EV. Das Verfahren findet man auch unter den Bezeichnungen - einfache Vektoriteration, - Potenzmethode, - Matrixpotenzierung, - von Mises-Verfahren. Vorteile: - einfache Darstellung, - die Grundoperation ist die Matrix-Vektor-Multiplikation, - Erhalt der Ausgangsmatrix, - mögliche Konvergenzbeschleunigung, z. B. mittels Rayleigh-Quotienten, - Ausnutzung spezieller Matrixstrukturen. Nachteile: - es wird nur ein Paar von EW, EV bestimmt, - eventuell langsame Konvergenz, - Notwendigkeit einer Skalierung von Größen. Basisalgorithmus der Vektoriteration Satz Für die reelle Matrix An, n) mögen die folgenden Voraussetzungen gelten. ) Sei λ > λ λ 3... λ n, d.h. die Matrix A hat einen dominanten EW. ) Die entsprechenden EV x, x,...,x n, x i = x i, x i,..., x in ) T R n sind linear unabhängig. A ist somit diagonalisierbar. 3) Ein Startvektor y 0) habe eine Komponente in Richtung von x, d.h. y 0) = n c i x i, c 0. i=
Dann liefert die Vektoriteration y m+) = Ay m), m = 0,,,..., den EW λ und seinen zugehörigen EV x. Der Beweis für diesen Satz findet sich in der Darlegung des Algorithmus mit seinen Eigenschaften wieder. Beschreibung des Verfahrens y m+) = Ay m) = A m+ y 0), m = 0,,,..., n ) y m) = A m y 0) = A m c i x i i= = λ m [c x + n A m y 0) c λ m = x + n i= i= = n c i λ m i x i i= c i λi λ ) mxi ], c i c λi λ ) mxi. Für eine k-te Komponente der Vektoren y m), y m+) gilt y m+) k y m) k = λ c x k + c x k λ λ ) m+ +... + cn x nk λn λ ) m+ c x k + c x k λ λ ) m +... + cn x nk λn λ ) m mit c 0 und x k 0 wegen x 0. Weiterhin erhält man auf Grund der Voraussetzung λ i /λ <, i =, 3,..., n, die Beziehungen λ = lim m λ = lim m y m+) k y m), k y m+) y m) A m y 0) x = lim m c λ m Ay m) = lim m y m), = lim m y m) c λ m. Die Konvergenzgeschwindigkeit hängt wesentlich vom Verhältnis des betragsgrößten EW zum zweiten EW λ ab, denn λ = ym+) k y m) k λ m) + O λ mit λ /λ m als Konvergenzrate. Der iterierte Vektor wird im Grenzfall zum EV und der Betrag von λ bedeutet die Streckung des EV durch die Matrix A. Die Realisierung der Iteration y m+) = Ay m) kann zu betragsgroßen Vektorkomponenten führen. Da jedoch für λ nur das Verhältnis Ay m) / y m) aufeinander folgender Iterierter wichtig ist und die EV bis auf einen Faktor eindeutig bestimmt sind, verwendet man praktisch noch eine Normierungsgröße. Wäre nämlich y m) =, so ist λ Ay m) = y m+). Also dividiert man nach jeder Iteration den Vektor durch seine Norm, die sowieso berechnet wird. Das Vorzeichen von λ erhalten wir aus dem Vergleich von geeigneten Komponenten der Vektoren y m), y m+). In der folgenden Prozedur sowie in den meisten Beispielen wird die euklidische Vektornorm verwendet. Analyse des Aufwands Pro Iterationsschritt sind etwa n + n Multiplikationen/Divisionen für yn = Ay, yn nötig. Für großes n und moderate Anzahl von Iterationen ist die Rechenzeit proportional zu n.
Inverse Vektoriteration Sei A regulär. Die Berechnung des betragskleinsten EW und zugehörigen EV erfolgt gemäß y m+) = A y m), m = 0,,..., y 0) Startvektor. Dabei tritt die Lösung des LGS Ay m+) = y m) auf, die i. Allg. auf die Verwendung einer Faktorisierung von A zurückgreift. Es gilt λ min y m+) = lim m y m). Das Vorzeichen von λ min folgt wiederum aus dem Komponentenvergleich. Turbo Pascal Prozedur type float=extended; const nmax = 30; type vektor =array[..nmax] of float; matrix =array[..nmax] of vektor; procedure EWP_EVIn:integer; var a:matrix; var y0,eiv:vektor; var eiw:float; itermax:integer; eps:float; var iter:integer; var eiw_abw:float); { A.. xm+) = A*xm).. ew := xm+) / xm) y0 Startvektor eiv EV oder letzter Vektor eiw EW oder letzter Wert itermax maximale Iterationsanzahl eps Test auf Abbruch der Iteration iter benoetigte Iterationsanzahl eiw_abw eiwiter)-eiwiter-) < eps } var it,i,j:integer; l,c,s,ha,eiw_alt,eiw_neu:float; y,yn:vektor; log:boolean; begin {Skalierung auf y =, euklidische Norm} c:=0; for i:= to n do c:=c+sqry0[i]); c:=sqrtc); if c=0 then begin iter:=0; eiv:=y0; eiw:=0; eiw_abw:=0; exit; end; for i:= to n do y[i]:=y0[i]/c; it:=0; eiw_alt:=0; ha:=eps+; while it<itermax) and ha>eps) do begin it:=it+; c:=0; for i:= to n do begin s:=0; for j:= to n do s:=s+a[i,j]*y[j]; yn[i]:=s; c:=sqrs)+c; end; c:=sqrtc); eiw_neu:=c; ha:=abseiw_neu-eiw_alt); {Skalierung auf y =} if c=0 then begin iter:=itermax; eiv:=yn; eiw:=0; eiw_abw:=ha; end else begin for i:= to n do y[i]:=yn[i]/c; eiw_alt:=eiw_neu; end; end; iter:=it; eiw_abw:=ha; eiv:=y; {Vorzeichen des EW feststellen} l:=; log:=true; i:=0; while log do begin i:=i+; s:=0; for j:= to n do s:=s+a[i,j]*y[j]; s:=y[i]*s; if s<>0 then begin l:=signs); log:=false; end; end; eiw:=l*eiw_neu; end; 3
Beispiele 4. Hilbert-Matrix A = A T, a ij =, i, j =,,..., n. i + j Die Kondition von A verschlechtert sich mit wachsendem n. EW: λ > λ >... > λ n > 0, λ n 0 EW von A6, 6): 0.08 79 948 457E-6, 0.5 707 57 6E-4, 0.65 748 354 83E-3, 0.63 5 3 99E-, 0.4 360 870 575,.68 899 858 94. Boothroyd-Dekker-Matrix a ij = n i + j n + i i ) n n j ) N, i, j =,,..., n EW von A6, 6): 0.490 346 467 078E-3, 0.40 99 370 5E-, 0.366 479 964 44,.78 66 3 88, 4.505 940 063 06, 039.374 334 558 07. A6, 6) = 3. Wilkinson-Matrix A4, 4) = 6 5 0 5 6 70 05 84 35 6 56 0 336 80 0 6 504 840 70 35 56 5 050 800 575 700 6 46 980 3465 3080 386 5 0.943 0 4 0 0 0 0.876 0.756 0 4 0 0 0.7943 0.843 0.9504 0 4 0 0.807 0.63 0.765 0.73 0 4 A =.3, A =.5 0 6, λ i = a ii, i =,, 3, 4 4. Matrix mit Blockstruktur A B A4, 4) = C A ), A 7, 7), B7, 7), C7, 7) A = ã ij ), B = b ij ), b ij = ã 8 i,j A = 5 4 7 5 6 7 5 4 8 7 8 8 6 7 8 0 9 8 7 7 5 7 9 9 7 5 6 8 8 9 0 8 9 7 8 7 7 8 0 0 5 6 7 5 9 0 0, C = 8 9 0 9 0 0 3 7 5 3 5 3 6 5 6 0 0 0 5 0 0 0 0 0 6 0 0 0 0 0 7 0 0 0 0 0 8 0 0 0 0 0 0. EW: 7.74 365 060 385, 35.038 686 30 84,.5 809 793 006, 9.784 043 55 56, 7.848 95 40 57, 6.80 367 958 875, 4.774 68 05 066,.99 865 877 97, 0.553 948 0 387 ±.44 58 753 8i, 0.497 34 54 994,.79 9 908 68,.36 6 46 77, 0.756 64 449 869
5. Matrix A4, 4) = 30 0. 3 80 4.74 0 8 75 0 0.4 3.986 0 8 4. 0 0.7 9 0 9 5 Um zehn gültige Mantissenstellen der EW zu erhalten, muss man mit einem GP-Format rechnen, dass ca. 3 Dezimalstellen erfasst. EW: 0.398 59 999 5E9, 0.0 47 69 0E3, 0.53 366 7 9E-3, 0.53 385 5 E-3 6. )-Matrizen A =.0000 ), B =.0000 ) EW: λ, A) = 0 5 0 5) ± + 0 5 = 0.003 57 8, 0.003 67 8 λ, B) = + 0 5 7. n n)-matrizen A = ± + 0 5 ) 0 5 =.000 005 000 05, 4.999 9875E-6 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 = tridiag,, ) EW: λ i = cosih) = 4 sin ih/), i =,,..., n, h = π/n + ) EV: v i) = v i) A =, vi),..., vi) n ) T, v i) = sinijh) 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 j = tridiag, 0, ) EW: λ i = cosih), i =,,..., n, h = π/n + ) EV: v i) = v i), vi),..., vi) n ) T, v i) = sinijh) j 8. Tridiagonalmatrix b c 0 0 0 a b c 0 0 An, n) = 0 a b 0 0... = tridiaga, b, c) mit a, c 0, b a + c 0 0 0 b c 0 0 0 a b EW: λ i = { b, falls a c = 0, b + c a/c cosiπ/n + )), falls a c > 0, i =,,..., n
9. Parameterabhängige Matrix α α A = α α, α R, σa) = { α, α, + α} α α 6 0. Parameterabhängige Matrix + α cos/α) α sin/α) Aα) = α sin/α) α cos/α) ), α R, α 0 EW/EV: λ = + α, v = λ = α, v =. Schlecht konditionierte Matrix ) 0.780 0.563 A = 0.93 0.659 B = A T A = deta) = 0 6,, cos/α) sin/α) sin/α) ) T + cos/α),.44 969.040 807.040 807 0.75 50 ) T ), C = AA T 0.95 369.083 57 =.083 57.67 850 σa) = {.438 999, 6.949 74E-7} detb) = detc) = 0, σb) = σc) = {.93 9, 4.558 508E-3}. Parameterabhängige Matrix + α... + α... An, n) = + α......, α R... + α λ = α ist n )-facher EW, ranga αi) = bzw. Rangabfall von A αi ist n. Weiter ist λ = n + α einfacher EW, weil deta n + α)i) = 0 ist oder anders gesagt, weil die Summe aller Zeilen wie auch Spalten) der Matrix A n + α)i den Nullvektor ergibt. Spezialfälle sind α =, 0,. 3. Matrix An, n) = 3 4 5... 3 4 5 6... 4 5 6 7... 5 6 7 8.........., a ij = i + j λ = 0 ist n )-facher EW, weil ranga) = ist. Die zwei Nichtnull-EW sind Lösung einer quadratischen Gleichung. n = 3 : p 3 λ) = λλ λ 6), λ = 0, λ,3 = 6 ± 4 = 6 ± 6.480 74 n = 4 : p 4 λ) = λ λ 0λ 0), λ, = 0, λ 3,4 = 0 ± 0 = 0 ± 0.954 45 n = 0 : p 0 λ) = λ 8 λ 0λ 85), λ,,...,8 = 0, λ 9,0 = 55 ± 5 54 = 55 ± 6.048 368 )
4. Matrix An, n) =...... 3 3... 3 4.........., a ij = mini, j) 7 n = 3 : λ = 0.307 978 58, λ = 0.643 04 3, λ 3 = 5.048 97 340 n = 4 : λ = 0.83 8 583, λ = 0.46 0 048, λ 3 =, λ 4 = 8.90 859 369 5. Matrix An, n) = / /4 /8... / /4 /8 /6... /4 /8 /6 /3... /8 /6 /3 /64.........., a ij = i+j λ = 0 ist n )-facher EW, weil ranga) = ist, also λ,,...,n = 0. Der Nichtnull-EW kann explizit berechnet werden gemäß der Formel λ n = n + ) n n p n ), wobei p n x) = { für n = x n +x n 3 x n 4 +x n 5... + ) n x+ ) n+ für n 6. Matrix An, n) = 0 3... 0... 0... 3 0.......... n = 3 : λ, = ± 3, λ 3 = n = 4 : λ, = ±, λ 3,4 = ± 0 7. Wilkinson-Matrix, a ij = i j A, ) = A T = tridiag0, 9,...,, 0,,,...,0;,,...,) A = 0 0 9... 0... 9 0 0 EW: λ < λ <... < λ 0 < λ λ 0 = 0.746 94 8 903 3, λ = 0.746 94 8 903 393
8. )-Matrizen ) 0 A =, σa ) = {, } ) 3 A =, 3 σa ) = {, 4} ) 5 4 A 3 =, σa 3 ) = {3, 3} ) 5 4 A 4 =, σa 4 ) = {3, 3} ) cosϕ) sinϕ) A 5 =, sinϕ) cosϕ) σa 5 ) = {cosϕ) ± ı sinϕ)} ) + s A 6 = + s, σa 6 ) = {s, + s } ) s A 7 =, 0 σa 7 ) = {, } A 8 = 5 3 ) 5/3 4 3, 5/3 9 σa 8 ) = {, 5} ) 4 A 9 =, 3 σa 9 ) = { 5 ± )} 8 9. 3 3)-Matrizen 3 A = 8 3 λ = 3 3 + 3 33 789 8 33 55 54 3 789 + 55 = 8.36 836 4 478 8 54 λ,3 =.93 58 937 76 ±.54 970 47 63 ı 0 A =, σa ) = {0,, 3} 0 3 A 3 =, σa 3 ) = {,, 3} 3 0.50 A 4 = 0.5, σa 4 ) = { 0.034 85, 0.803 766,.3 086} 0.50 0.5.9 5.960.656 A 5 = 5.960 3.376 0.303, σa 5 )={0.34 7, 4.675 746, 4.675 836}.656 0.303 4.66 3 0 A 6 = 5 0, σa 6 ) = {,, 4} 0 0
A 7 = A 8 = A 9 = 3 3 3 5 4 4 5, σa 7 ) = {.46 44,.78 56, 6.364 88} 5/4 5/4 0 5/4 5/4 0 0 0, σa 8 ) = {,, 0}, σa 9 ) = {5 + 5)/4,, 5 5)/4} = {.8 46,, 0.8 754} 4 0 A 0 =, σa 0 ) = {4.460 504 870,.39 3 78, 0.300 37 85} 0 4. 3.4 0.3 A = 4.7 3.9 0.3, σa ) = {0.5, 0.5, 0.4} 5.6 5. 0. 0 A =, σa ) = { 3,, 0} 0 5.509 88.870 086 0.4 908 A 3 = 0.87 865.8 654 5.7 900, 0.049 099 4.308 033.970 687 σa 3 ) = { 7.397 655, 7.594 378, 5.300 90} 9 9 A 4 = 3, σa 4 ) = {,, } 6 4 6 6 54 4 A 5 = 3 8 3, σa 5 ) = {, ± 5ı} 6 56 5 A 6 =, σa 6 ) = {3, 0, 0} 0 A 7 =, σa 7 ) = {, ± ı 5} 0 A 8 = 0, σa 8 ) = {, ± ı 5} 0 / A 9 = /4, σa 9 ) = { 0.034 85 490, 0.803 766 49,.3 085 998} / /4 / A 0 = /4, σa 0 ) = { 0.06 647 84,.480 43,.536 55 860} / /4 9
A = A = A 3 = A 4 = 0 0 0 0 8, σa ) = {, 3, 8} 3.3.5.77.5 9.5.3.77.3.56 3 3 3 s s s s 0 s 0 s, σa 3 ) = {,, 5}, σa ) = {0.60 69 976, 3.67 79 893, 0.6 578 3}, σa 4 ) = {0, s, + s } A 5 =, σa 5 ) = {0, ± ı 7} 4 A 6 = 3 0, σa 6 ) = {0,, 5} 4 0 0. 4 4)-Matrizen A = A T = 0 0 0, σa ) = {4 sin iπ/0), i =,, 3, 4}{ cosiπ/5)} = { 3 ± 5), 5 ± 5)} 5 7 6 5 A = A T = 0 8 7 0 9 0 σa ) = {0.00 50 484, 0.843 07 50, 3.858 057 456, 30.88 685 346} 0 7 3 A 3 = A T 3 = 5 4 3 σa 3 ) = {.60 949 79,.73 048 870, 6.460 54 70, 3.57 386 0} 0 A 4 = A T 4 = 0 0 σa 4 ) = {.844 884 93,.378 80 4,.884 940 68, 3.338 4 435} A 5 = A T 5 = 0 0 σa 5 ) = {.08 53 8,.458 56 388,.458 56 39, 3.08 53 85}
A 6 = A T 6 = A 7 = A 8 = 3.0 0.0.0 0.0.5 0.5 0.5 3.0 0.5.5, σa 6 ) = {.0 97 86,,.059 686 783, 4.04 3 043}.0 55 0.6 069 0.87 08 0.49 969 0.8 40 0.74 5 0.76 368 0.83 70 0.36 4 0.097 0.97 09 0.6 483 0.433 864 0.48 965 0.93 686 0.006 47 σa 7 ) = {0.667 483, 0.667 483, 0.346 48, 0.87 639} 5.509 88.870 086 0.4 908 0.008 84 0.87 865.8 654 5.7 900 0.058 77 0.049 099 4.308 033.970 687 0.9 36 0.006 35 0.69 85.397 369 7.596 07 σa 8 ) = { 7.863 03, 7.5 66, 7.574 04, 5.98 70} 0. 0.0 0. 0.4 A 9 = A T 9 = 0.4 0.04 0.06 0.8 0.08 0.6 σa 9 ) = {0.06, 0., 0.4, 0.48} 4 A 0 = A T 0 = 4 4 4 σa 0 ) = { 5, 5, 5, } A = A T = 0 0 A = σa ) = {.744 39 7,.376 64 334,.55 087 4, 3.965 856 83} 0 0 0 0 σa ) = {.770 998 939,.335 336 69,.54 447 5, 3.563 887 688} A 3 = 3 4 3, σa 3) = { ± ı 37 + 33), ± ı 37 33)} 4 4 0 0 0. A 4 = 0 0 0. 0. 0 σa 4 ) = {4.006 8 933, 0.998 669 030, 0.997 574 59 ± ı.35 748 57}
A 5 = 5 3 9 5 6 6 47 3 6 4 35 9 47 35 95 σa 5 ) = {0.03 058 76 099, 0.85 539 766 776, 3.409 857 734 575, 3.73 543 736 549}. 5 5)-Matrizen 0 3 6 7 4 A = 38 33 8 3 3 6 6, σa ) = { 5,,,, } 3 6 6 6 EV: v = 3 3, v = 3, v 3 = v 4 = 7 6 9, v 5 = 6 4 0 Zum EW λ = gehört nur ein linear unabhängiger EV, da ranga I) = 4 ist. 3 3 4 4 A = 0 0 0 0 0 0, σa ) = { 5,,,, } 0 0 0. 6 6)-Matrix A = A T = 4 0 0 0 4 0 0 0 4 0 0 4 0 0 4 4 σa) = {.98 06 64,.753 00 396, 3.554 958 3, 4.445 04 868, 5.46 979 604, 5.80 937 736} 3. 7 7)-Matrix A = A T = 5 4 0 0 0 0 6 4 0 0 0 6 4 0 0 6 4 0 6 4 6 4 5 σa) = {0.03 77 30, 0.343 45 75,.54 38 979, 4, 7.647 53 897,.656 854 49, 4.805 49 8}