Problem lastnih vrednosti Naj bo A R n n. Iščemo lastni par, da zanj velja Ax = λx, kjer je x C n, x 0 (desni) lastni vektor, λ C pa lastna vrednost. Vektor y 0, pri katerem je y H A = λy H, je levi lastni vektor. Če je y levi lastni vektor A za lastno vrednost λ, je y desni lastni vektor A H za lastno vrednost λ. Zato zadošča, da pri algoritmih obravnavamo le računanje desnih lastnih vektorjev. Matrika A se da diagonalizirati, če obstajata nesingularna matrika X = [x 1 x n ] in diagonalna matrika Λ = diag(λ 1,..., λ n ), da je A = X ΛX 1. V tem primeru je Ax i = λ i x i za i = 1,..., n in stolpci X so lastni vektorji. Če je det(s) 0, sta matriki A in B = S 1 AS podobni in imata enake lastne vrednosti. Velja, da je x desni lastni vektor za A natanko tedaj, ko je S 1 x desni lastni vektor za B. Lastne vrednosti so ničle karakterističnega polinoma det(a λi ). Matrika A ima tako n lastnih vrednosti λ 1,..., λ n, pri čemer večkratne ničle štejemo večkrat. B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 1 / 36
Motivacija za računanje lastnih vrednosti B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 2 / 36 Obstajajo številne aplikacije, kjer potrebujemo lastne vrednosti in lastne vektorje matrike. Nekaj primerov: Strukturna analiza: iz strukture (npr. sistema mas in vzmeti, zgradbe,...) dobimo matriko, iz lastnih vrednosti matrike pa lastne frekvence. Tako lahko npr. preverimo, da lastne frekvence zgradb niso blizu frekvenc potresov. Rešitev diferencialne enačbe ẋx(t) = Ax(t), x(0) = x 0 ima obliko x(t) = x 0 e At. Če lahko matriko A diagonaliziramo, lahko poceni izračunamo izraz e At. Rešitev je stabilna, če za vse lastne vrednosti λ matrike A velja R(λ) < 0. Za stabilno reševanje predoločenih sistemov, kjer matrika ni polnega ranga, potrebujemo singularni razcep, računanje SVD pa je povezano z lastnim problemom za A H A.
Primer uporabe lastnih vrednosti Po Newtonovih zakonih za odmike uteži y i velja sistem diferencialnih B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 3 / 36 Denimo, da imamo sistem treh uteži in treh vzmeti.
B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 4 / 36 enačb My + Ky = 0, kjer sta m 1 0 0 k 1 + k 2 k 2 0 M = 0 m 2 0, K = k 2 k 2 + k 3 k 3, 0 0 m 3 0 k 3 k 3 M je masna matrika, K pa togostna matrika. Sistem niha z lastno frekvenco ω, kar pomeni, da za komponente rešitve velja y k (t) = x k e iωt, kjer so x 1, x 2, x 3 amplitude. Lastno frekvenco in amplitude določimo iz Kx = ω 2 Mx, saj mora veljati y k (t) = ω2 x k e iωt. To prevedemo na lastni problem Ax = λx, kjer je A = M 1 K in λ = ω 2.
Direktna metoda ne obstaja B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 5 / 36 Lastne vrednosti so ničle karakterističnega polinoma det(a λi ), lahko pa tudi obratno za vsak polinom skonstruiramo matriko, katere karakteristični polinom bo kar izbrani polinom. Ker se ničel splošnega polinoma stopnje 5 ali več ne da izračunati drugače kot numerično, to velja tudi za lastne vrednosti in direktne metode za lastne vrednosti torej ni. Računanje preko karakterističnega polinoma ni numerično stabilno. To smo videli že na Wilkinsonovem zgledu. Glede na potrebe in lastnosti matrike imamo različne algoritme. Pomembno je: Ali je matrika majhna in polna ali velika in razpršena? Ali je matrika simetrična (hermitska)? Ali potrebujemo vse ali le nekatere lastne vrednosti? Ali poleg lastnih vrednosti potrebujemo tudi lastne vektorje?
Občutljivost problema B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 6 / 36 Kaj se dogaja z lastnimi vrednostmi, ko zmotimo elemente matrike? Lastne vrednosti so zvezne funkcije elementov matrike, toda... Npr., za n n matriko 0 1...... je karakteristični polinom A = 0 1 ɛ 0 p(λ) = λ n ɛ in λ = n ɛ. Pri n = 16 in ɛ = 10 16 je λ = 0.1. Motnja ɛ je spremenila prvo števko vseh lastnih vrednosti. Matrika A ni simetrična!.
Občutljivost lastnih vrednosti Izrek Naj bo λ enostavna lastna vrednost A, x ustrezni desni, y pa levi lastni vektor in x 2 = y 2 = 1. Če je λ + δλ ustrezna lastna vrednost A + δa, potem velja λ + δλ = λ + y H δax y H x + O( δa 2 ). Dokaz. Za pravi lastni par Ax = λx, za zmotenega pa (A + δa) (x + δx) = (λ + δλ)(x + δx). Če pomnožimo z leve z y H in zanemarimo člene drugega reda, dobimo δλ = y H δax y H x + O ( δa 2) 1 Količina y H je občutljivost lastne vrednosti. Za večkratno lastno x vrednost je občutljivost, saj lahko dobimo y H x = 0 in motnja lastne vrednosti je neomejena. V primeru A = A T in δa = δa T, dobimo δλ δa + O ( δa 2). B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 7 / 36
Potenčna metoda B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 8 / 36 Potenčna metoda je metoda za računanje dominantnega lastnega vektorja (in pripadajoče lastne vrednosti). izberi x 0 0; za k = 0, 1,... z k+1 = Ax k ; x k+1 = z k+1 z k+1 ; Izrek Denimo, da lahko A diagonaliziramo kot A = W ΛW 1, kjer je Λ = diag(λ 1,..., λ n ) in W = [w 1 w n ]. Naj velja λ 1 > λ 2 λ 3. Zaporedje vektorjev (x k ) konvergira proti dominantnemu lastnemu vektorju x 1.
Konvergenca potenčne metode B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 9 / 36 Dokaz. Če začetni vektor x 0 razvijemo kot x 0 = n i=1 α iw i, dobimo x k = Ak x 0 A k x 0 = α 1w 1 + α 2 ( λ2 λ 1 ) k w 2 + α n ( λn λ 1 ) k w n α 1 w 1 + α 2 ( λ2 λ 1 ) k w 2 + α n ( λn λ 1 ) k w n in x k konvergira v smeri proti w 1, ko k. Konvergenca je linearna in je odvisna od λ 2 / λ 1. Konvergenco imamo tudi v primeru večkratne dominantne lastne vrednosti, v ostalih primerih pa si lahko pomagamo s premikom in računamo lastne vrednosti matrike A σi. Numerična metoda v praksi konvergira za vsak x 0 (tudi če je α 1 = 0, saj nam v tem primeru pomagajo zaokrožitvene napake). Če iščemo lastno vrednost nesingularne matrike A, ki je najmanjša po absolutni vrednosti, delamo potenčno metodo za A 1, saj ima A 1 lastne vrednosti λ 1,..., λ 1 n. V algoritmu namesto množenja z k+1 = A 1 x k rešujemo sistem Az k+1 = x k (inverzna iteracija).
Rayleighov kvocient B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 10 / 36 S potenčno metodo (ali z inverzno iteracijo) dobimo približek za lastni vektor. Kako do približka za lastno vrednost? Imamo približek x za lastni vektor in iščemo lastno vrednost. Najboljši približek je λ, ki minimizira rešitev pa je Rayleighov kvocient Ax λx 2, ρ(a, x) = x T Ax x T x, definiran za x 0. Je rešitev predoločenega sistema xλ = Ax. Za Rayleighov kvocient velja, da je ρ(a, x) = ρ(a, αx) za α 0. Očitno je tudi, da iz Ax = λx sledi ρ(a, x) = λ. Pravi kriterij za zaustavitev potenčne metode je torej Ax k ρ(a, x k )x k < ɛ.
Inverzna iteracija B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 11 / 36 Če uporabimo potenčno metodo na matriki (A σi ) 1, potem bo dominantna lastna vrednost tista, ki je najbližja σ, saj so lastne vrednosti (A σi ) 1 1 enake λ i σ, i = 1,..., n. Algoritem: izberi x 0 0; za k = 0, 1,... reši sistem (A σi )z k+1 = x k ; x k+1 = 1 z k+1 z k+1 ; Postopek ponavadi uporabljamo za izračun lastnega vektorja, ko že izračunamo lastno vrednost. Zaradi močne dominance v enem ali dveh korakih dobimo lastni vektor iz poljubnega začetnega približka. Metodo imenujemo inverzna iteracija.
Preostale lastne vrednosti Ko izračunamo en lastni par (λ 1, x 1 ), lahko ostale izračunamo npr. z redukcijo: a) Hotelingova redukcija za A = A T. Definiramo B = A λ 1 x 1 x T 1. Velja Bx 1 = 0 in Bx k = λ k x k za k i. b) Householderjeva redukcija za splošno matriko. Poiščemo ortogonalno Q, da je Qx 1 = e 1. Potem ima B = QAQ T obliko [ ] λ1 b B = T, 0 C saj je Be 1 = QAQ T e 1 = QAx 1 = Qλ 1 x 1 = λ 1 e 1. Preostale lastne vrednosti dobimo v matriki C. Pri obeh metodah je pomembno, da matrike B ne izračunamo eksplicitno, temveč upoštevamo formulo za B in tako izračunamo produkt Bx na ekonomičen način. B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 12 / 36
Razmislek ob računanju vseh lastnih vrednosti B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 13 / 36 Pri numeričnem računanju lastnih vrednosti bi radi matriko spravili v podobno matriko B = S 1 AS za neko nesingularno matriko S, pri čemer je B taka, da znamo iz nje prebrati lastne vrednosti. Idealna B bi bila diagonalna matrika, a to ne gre, saj se vsake matrike ne da diagonalizirati. Denimo, da smo za A izračunali S in B. Sedaj nas zanima, ali je S 1 (A + δa) S = B za nek majhen δa. Pri tem predpostavimo, da je S točna, za B pa velja B = B + δb. Iz S 1 (A + δa)s = B + δb sledi S 1 δas = δb, od tod pa lahko ocenimo δa S S 1 δb = κ(s) δb. Če je občutljivost κ(s) zelo velika, to ni obratno stabilno. Stabilno pa bo, če bo matrika S unitarna.
Jordanova forma Za vsako matriko A obstaja taka nesingularna matrika X, da je X 1 AX = J, kjer je J = diag(j 1,..., J k ) in je λ i 1...... J i =... 1 λi Jordanova kletka. Matrika J je Jordanova forma. Jordanova forma pove veliko o matriki A, na žalost pa ni stabilna. Ker ni zvezna funkcija elementov matrike A, jo lahko majhne motnje popolnoma spremenijo. Npr. 0 1...... A(ɛ) =... 1 ɛ 0 ima za ɛ = 0 eno samo kletko, za ɛ 0 pa n kletk 1 1 z lastnimi vrednostmi n ɛ. Računanje Jordanove forme tudi ni obratno stabilno. Problem nastane, ker je matrika X lahko zelo občutljiva. B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 14 / 36
Schurova forma B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 15 / 36 Z unitarnimi prehodnimi matrikami, ki so neobčutljive, lahko pridemo do trikotne oblike. Izrek Za vsako matriko A obstajata unitarna matrika Q in zgornja trikotna matrika T, da je Q H AQ = T (Schurova forma). Dokaz. Uporabimo indukcijo po n. Za n = 1 izrek očitno velja. n 1 n: Naj bo λ lastna vrednost A in x normiran lastni vektor. Obstaja taka unitarna matrika U, da je Ue 1 = x (Givens, Householder). Matrika B = U H AU ima obliko B = ( 1 n 1 ) 1 λ, n 1 0 C saj je Be 1 = U H AUe 1 = U H Ax = U H λx = λe 1.
B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 16 / 36 Po indukcijski predpostavki obstaja Schurova forma za C. Torej obstaja unitarna V 1, da je V1 HCV 1 = T 1 zgornja trikotna. Sedaj je [ ] [ ] [ ] 1 0 1 0 λ 0 V1 H B = 0 V 1 0 T 1 }{{}}{{} V H V in V } H {{ U H } A }{{} UV je zgornja trikotna matrika, torej Schurova forma za Q H Q matriko A.
Realna Schurova forma B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 17 / 36 Schurova forma je stabilna, saj je podobnostna transformacija ortogonalna. Schurova forma ni enolična, saj je npr. vrstni red λ i poljuben. Matriki Q in T sta lahko kompleksni, saj ima realna matrika lahko kompleksne lastne vrednosti. Za realno matriko obstaja realna Schurova forma Q T AQ = T, kjer je Q ortogonalna matrika in T kvazi zgornja trikotna matrika (na diagonali ima lahko bloke 2 2, v katerih so skriti konjugirani pari kompleksnih lastnih vrednosti).
Ortogonalna iteracija B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 18 / 36 Osnova praktično pomembnim algoritmom za prevedbo na Schurovo formo je ortogonalna iteracija: izberi matriko Z 0 velikosti n p, p n, z ortonormiranimi stolpci; za k = 0, 1,... Y k+1 = AZ k ; izračunaj QR razcep (osnovni, Q R n,p ) Y k+1 = QR; Z k+1 = Q; Opomba. Pri p = 1 je to kar potenčna metoda. Izrek Naj velja A = X ΛX 1, kjer je X = [x 1 x n ] in Λ = diag(λ 1,..., λ n ). Lastne vrednosti naj bodo urejene po absolutni vrednosti nerastoče in naj velja λ p > λ p+1. Če je matrika V 0 := (X 1 Z 0 )(1 : p; 1 : p) polnega ranga p, zaporedje matrik (Z k ), ki ga generira ortogonalna iteracija, konvergira proti ortonormirani bazi za invariantni podprostor L(x 1,..., x p ).
Dokaz. Velja L(AZ k ) = L(Y k+1 ) = L(Z k+1 ). Če to iteriramo, ugotovimo L(Z k ) = L ( A k Z 0 ). Ker je A k = X Λ k X 1, v diagonalni matriki 1 λ k p Λ k zadnjih n p diagonalnih elementov konvergira proti 0. To poreže zadnjih n p stolpcev v matriki X in zadnjih n p vrstic v matriki X 1 Z 0 R n,p. Kvadratna podmatrika, prvih p vrstic in stolpcev te matrike je polnega ranga po predpostavki. Torej L(Z k ) = L ( X Λ k X 1 Z 0 ) = L ( X (:; 1 : p) ( X 1 Z 0 ) (1 : p; :) ) = L(X (:; 1 : p)) Kaj je vsebina zahteve, da je V 0 = (X 1 Z 0 )(1 : p, 1 : p) polnega ranga p? Naj bo Z 0 = [ n i=1 α ikx i ] p k=1. Tedaj V 0 = X 1 (1 : p; 1 : n)z 0 = [α ik ] p i,k=1. Podobno za r < p velja, da L(Z k (:, 1 : r)) konvergira proti L(x 1,..., x r ). Vzemimo kar p = n in poljubno nesingularno matriko Z 0. V tem primeru seveda ne računamo invariantnega podprostora dimenzije n, saj je to kar celotni prostor. Pri predpostavki, da so absolutne vrednosti λ i paroma različne (kar hkrati pomeni, da so vse realne), lahko pokažemo, da matrika A k = Z T k AZ k konvergira proti Schurovi formi. B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 19 / 36
B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 20 / 36 Izrek Izberimo Z 0 = I n. Če so absolutne vrednosti λ i paroma različne in matrike X 1 (1 : p, 1 : p) za vse p polnega ranga, zaporedje matrik, danih z A k := Z T k AZ k, konvergira proti Schurovi formi. Dokaz. Matriki A in A k := Zk T AZ k sta podobni, saj je Z k ortogonalna matrika. Naj bo Z k = [Z k1 Z k2 ], kjer ima Z k1 p stolpcev. Potem je [ Zk T Z T AZ k = k1 AZ k1 Zk1 T AZ ] k2 Zk2 T AZ k1 Zk2 T AZ. k2 Ker L(Z k1 ) konvergira proti invariantnemu podprostoru L({x 1,..., x p }), enako velja tudi za L(AZ k1 ), to pa pomeni, da Z T k2 AZ k1 konvergira proti 0, saj je Z T k2 Z k1 = 0. Ker to velja za vsak p = 1,..., n, sledi, da matrika A k = Z T k AZ k res konvergira proti zgornji trikotni matriki, torej proti Schurovi formi za matriko A. Če je matrika X 1 (1 : p, 1 : p) izrojena, numerične napake prinesejo, da po koraku iteracije ni več.
QR metoda B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 21 / 36 To je metoda, ki se trenutno uporablja v numeričnih paketih. Realni Schurov razcep dobimo z naslednjim algoritmom: A 0 = A; za k = 0, 1,... A k = Q k R k ; (QR razcep matrike A k ) A k+1 = R k Q k ; V vsakem koraku tako izračunamo razcep QR matrike in faktorja v zamenjanem vrstnem redu zmnožimo v novo matriko. Iz A k+1 = R k Q k = Q T k A kq k sledi, da sta si matriki A k+1 in A k ortogonalno podobni, torej je A k ortogonalno podobna začetni matriki A. Izkaže se, da je QR iteracija povezana z ortogonalno iteracijo. Od tod ugotovimo, da A k konvergira proti Schurovi formi.
B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 22 / 36 Lema Matrika A k pri QR iteraciji je enaka A k = Z T k AZ k, kjer je Z k matrika, ki jo dobimo v ortogonalni iteraciji, z začetkom Z 0 = I. Torej v primeru, ko imajo lastne vrednosti paroma različne absolutne vrednosti, A k konvergira proti Schurovi formi matrike A, brž ko so glavne podmatrike X (1 : p; 1 : p), p = 1,..., n matrike lastnih vektorjev X neizrojene. Dokaz. Pogoj matriki X zagotavlja, da je matrika X 1 (1 : p; 1 : p) neizrojena in po predpostavki za lastne vrednost ortogonalna iteracija z začetkom Z 0 = I n konvergira k podprostoru L({x 1,..., x p }) za vsak p, 1 p n. Treba je pokazati še A k = Zk T AZ k. Uporabimo indukcijo po k. Na začetku je A 0 = Z0 T AZ 0 = A in trditev velja, saj je Z 0 = I. Denimo, da je A k = Zk T AZ k. Potem je ) = Z T k Z k+1 = Q k R k. A k = Z T k AZ k = Z T k ( Zk+1 U k+1 }{{} QRrazcep AZ k } {{ } ort. U k+1 }{{} zg.trik. Zaradi enoličnosti (do diagonalne matrike z elementi ±1) je to kar QR razcep matrike A k. Odtod ugotovimo A k+1 = R k Q k = U k+1 Zk T Z k+1 = Zk+1AZ T T k Zk Z k+1 = Z }{{} k+1az T k+1. U k+1
K uporabni obliki QR metode B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 23 / 36 Metoda QR v predstavljeni obliki je potratna. Hitrost konvergence je λ odvisna od razmerij p λ p+1. Vsak korak iteracije zahteva O ( n 3) operacij. Koraki v zmanjšanje časovne zahtevnosti Število operacij posameznega koraka lahko zmanjšamo, če skrčimo zahtevnost razcepa QR. To pomeni, da je treba poiskati podobnostno (ortogonalno zaradi stabilnosti) transformacijo, ki matriko preoblikuje tako, da je korak QR hitrejši, hkrati pa to obliko iteracija ohranja. Pokaže se, da na začetku poiščemo ortogonalno matriko Q, da je Q T AQ zgornja Hessenbergova (A A T ) oziroma tridiagonalna matrika (A = A T ). Pokaže se tudi, da se ta oblika ohranja. Hitrost konvergence lahko pospešimo s premiki, ki smo jih spoznali pri inverzni iteraciji.
Redukcija na Hessenbergovo obliko ( ) A = ( ) ( ). ( ) Poiščemo ortogonalno Q 1, da je Q 1A = 0 0, A1 = Q1AQT 1 = 0 ( ) 0 ( ). 0 0 ( ) Nato poiščemo ortogonalno Q 2, da je Q 2A 1 = 0 0 0, A2 = Q2A1QT 2 = 0 0 0 ( ), 0 0 0 0 ( ) na koncu pa še ortogonalno Q 3, da je Q 3A 2 = 0 0 0, H = Q3A2QT 3 = 0 0 0 0 0 0 0 0 0 Tako smo dobili H = Q 3Q 2Q 1A(Q 3Q 2Q 1) T. B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 24 / 36
Redukcija na Hessenbergovo obliko B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 25 / 36 Algoritem za redukcijo na Hessenbergovo obliko s Householderjevimi zrcaljenji je: Q = I ; { Če potrebujemo Q. } za i = 1,..., n 2 določi w i R n i, tako da P i prezrcali A(i + 1 : n i) v ±ke 1 ; A(i + 1 : n, i : n) = P i A(i + 1 : n, i : n); A(1 : n, i + 1 : n) = A(1 : n, i + 1 : n)p i ; Q(i + 1 : n, i : n) = P i Q(i + 1 : n, i : n); { Če potrebujemo Q. } Število operacij je 10 3 n3 + O(n 2 ) oziroma 14 3 n3 + O(n 2 ) če potrebujemo tudi Q.
Hessenbergova oblika se ohranja B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 26 / 36 Izrek Če je A zgornja Hessenbergova, se oblika med QR iteracijo ohranja, tudi če uporabljamo premike. Dokaz. Naj bo A k zgornje Hessenbergove oblike in σ k premik, ki ga uporabimo na k-tem koraku. Razcep QR = A k σ k I da matriko Q, ki je tudi zgornje Hessenbergove oblike, saj ima i-ti stolpec matrike P i na mestih i + 2, i + 3,..., n ničelne elemente, kot jih ima po predpostavki A k σ k I. Zato je matrika RQ + σ k I tudi zgornja Hessenbergova. Če na začetku A reduciramo na Hessenbergovo obliko, porabimo za en korak QR iteracije le še O(n 2 ) namesto O(n 3 ) operacij.
Ireducibilna matrika Definicija Hessenbergova matrika H je ireducibilna, če so vsi njeni subdiagonalni elementi h i+1,i neničelni. Če je H reducibilna, je npr. oblike H = 0 0 0 0 0 0 0 in problem lastnih vrednosti razpade na dva ločena problema. Zaradi tega lahko vedno predpostavimo, da je H ireducibilna. Če ni, iščemo lastne vrednosti vsakega ireducibilnega dela zase. Naj bo H = [h ij ] n i,j=1 zgornja Hessenbergova matrika in h r+1,r = 0, za nek 1 r n. Ker je ( ) ( ) det (H λi n ) = det [h ij ] r i,j=1 λi r det [h ij ] n i,j=r+1 λi n r, lastne vrednosti iščemo za vsako od podmatrik [h ij ] r i,j=1 in [h ij] n i,j=r+1 posebej. B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 27 / 36
Premiki B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 28 / 36 Konvergenco lahko pospešimo s premiki: A 0 = A; za k = 0, 1,... izberi premik σ k ; A k σ k I = Q k R k ; { Izračunamo QR razcep.} A k+1 = R k Q k + σ k I ; Lastne vrednosti se ohranjajo Matriki A k in A k+1 pri iteraciji QR s premikom sta ortogonalno podobni, saj tako kot prej velja A k+1 = R k Q k + σ k I = Q T k (Q k R k + σ k I ) Q k = Q T k A k Q k.
B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 29 / 36 Za hitro konvergenco moramo za premik izbrati čim boljši približek za lastno vrednost. Če bi za premik izbrali kar lastno vrednost, potem iz naslednje leme sledi, da bi se v enem koraku QR iteracije iz matrike izločila ta lastna vrednost in bi računanje lahko nadaljevali na manjši matriki. Lema Če je σ lastna vrednost ireducibilne Hessenbergove matrike A in A σi = QR, B = RQ + σi, potem je b n,n 1 = 0 in b nn = σ. Dokaz. Ker je A ireducibilna, je prvih n 1 stolpcev matrike A σi linearno neodvisnih. V razcepu A σi = QR zato velja r ii 0, i = 1,..., n 1. Ker pa je A σi singularna, mora biti r nn = 0. To pa pomeni, da je zadnja vrstica v matriki RQ enaka 0, torej v matriki B = RQ + σi velja b n,n 1 = 0 in b nn = σ. Preostale lastne vrednosti lahko sedaj izračunamo iz matrike B(1 : n 1, 1 : n 1).
Enojni in dvojni premik B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 30 / 36 a) enojni premik: Za σ k izberemo a (k) nn. V tem primeru imamo kvadratično konvergenco v bližini lastne vrednosti, vendar premik ni dober za kompleksne lastne vrednosti. b) dvojni premik: Vzamemo lastni vrednosti σ (k) 1, σ(k) 2 (lahko tudi kompleksni) podmatrike [ a (k) n 1,n 1 a (k) n,n 1 ] a (k) n 1,n a nn (k) in naredimo dva premika v enem koraku: A k σ (k) 1 I = Q kr k (izračunamo QR razcep) A k = R k Q k + σ (k) 1 I A k σ (k) 2 I = Q kr k (izračunamo QR razcep) A k+1 = R kq k + σ (k) 2 I Ko (približno) najdemo eno lastno vrednost, nadaljujemo računanje z manjšo podmatriko.
B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 31 / 36 Izkaže se, da kompleksna aritmetika ni potrebna, saj je A k+1 = U T k A ku k, kjer je U k ortogonalna matrika iz razcepa QR realne matrike N k := A 2 k (σ (k) 1 + σ (k) 2 )A k + σ (k) 1 σ(k) 2 I. Res, Q k Q kr kr k = Q k ( A k σ (k) = Q k Q H k = ) 2 I R k ( ) A k σ (k) 2 I Q k R k = ( ) ( ) A k σ (k) 2 I A k σ (k) 1 I = A 2 k (σ (k) 1 + σ (k) 2 )A k + σ (k) 1 σ(k) 2 I. ( A k σ (k) 2 I ) Q k R k Torej je (Q k Q k ) (R k R k) razcep QR realne matrike N k. Na prvi pogled nam to ne pomaga dosti, saj v formuli za N k nastopa matrika A 2 k. Za izračun le te pa potrebujemo O ( n 3) operacij. Kot bomo videli, v resnici potrebujemo le prvi stolpec matrike N k, katerega izračun zahteva le O ( n 2) operacij.
Implicitna metoda QR B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 32 / 36 Izrek (Q-izrek) Če je Q = [q 1 q n ] takšna ortogonalna matrika, da je Q T AQ = H ireducibilna Hessenbergova matrika, potem so stolpci q 2,, q n do predznaka natančno določeni s q 1. Dokaz. Naj bo Q T AQ = H in V T AV = G, kjer je V = [v 1 v n ] ortogonalna matrika, G ireducibilna Hessenbergova matrika in v 1 = q 1. Potem je W := V T Q ortogonalna matrika. Če jo zapišemo po stolpcih W = [w 1 w n ], je w 1 = e 1. Velja GW = GV T Q = V T AQ = V T QH = WH. Odtod Gw i = i+1 j=1 h jiw j in h i+1,i w i+1 = Gw i i j=1 h jiw j. Ker je w 1 = e 1 in G zgornja Hessenbergova matrika, po indukciji sledi, da ima w i neničelne elemente kvečjemu v prvih i vrsticah. Torej mora biti W zgornja trikotna matrika. Ker pa je hkrati tudi ortogonalna, je to mogoče le, če je W = diag(1, ±1,..., ±1), torej v i = ±q i.
Posledica Q-izreka B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 33 / 36 Če v koraku algoritma QR, A k = Q k R k, A k+1 = R k Q k = Q T k A kq k poznamo prvi stolpec matrike Q k, lahko izračunamo matriko A k+1, ne da bi računali celoten QR razcep matrike A k. Tako dobimo implicitno QR iteracijo. Kakšne predznake stolpcem matrike Q k izberemo, ni pomembno. Če izračunamo razcep A k σ k I = Q k R k, vse druge dobimo z Q k R k = (Q k S k )(S k R k ), za neko matriko S k = diag(±1,..., ±1). Odtod A k+1 = (S k R k )(Q k S k ) + σ k I = S k (Q k R k + σ k I )S k in so si vse A k+1 diagonalno podobne. Imajo torej iste lastne vrednosti, razlikujejo se le v predznakih vrstic in stolpcev. Posledica Q-izreka Ker je morata prva stolpca matrik A k σ k I in Q k R k enaka, moramo za izračun A k+1 = Q T k A kq k - izbrati prvi stolpec matrike Q k, tako, da je vzporeden prvemu stolpcu matrike A k σ k I, - določiti druge stolpce matrike Q k tako, da bo Q k ortogonalna in A k+1 zgornja Hessenbergova matrika.
Implicitna metoda QR z enojnim premikom B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 34 / 36 Poglejmo implicitno QR iteracijo z enojnim premikom. Vemo, da je prvi stolpec Q k enak normiranemu prvemu stolpcu matrike A k σ k I. Če uspemo poiskati tako ortogonalno matriko Q k, ki bo imela za prvi stolpec normirani prvi stolpec A k σ k I in bo Qk T A kq k zgornja Hessenbergova matrika, potem je po Q-izreku matrika Qk T A kq k enaka matriki iz naslednjega koraka metode QR. Matriko Q k poiščemo kot produkt Givensovih rotacij Q k = R 12 R 23 R n 1,n. Prva rotacija R 12 je že določena s prvim stolpcem A k σ k I, c 1 s 1 s 1 c 1 R12 T = 1,... 1 to pomeni da moramo za [c 1, s 1, 0,..., 0] T izbrati normiran vektor [a 11 σ k, a 21, 0,..., 0] T. Ostale pa določimo tako, da bo A k+1 = Q T k A kq k zgornja Hessenbergova matrika.
Premikanje grbe B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 35 / 36 Poglejmo si korake na primeru matrike velikosti 5 5. Po prvem koraku dobimo R12A T k R 12 = +. Pri tem je na nepravem mestu nastal nov neničelni element, označen s +. Imenujemo ga grba in ga z naslednjimi rotacijami pomikamo navzdol. Drugi korak da 1 R23 T = c 1 s 1 s 1 c 1 1, RT 23R12A T k R 12 R 23 = +. 1
B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 36 / 36 Na tretjem koraku dobimo 1 1 R34 T = c 1 s 1 s 1 c 1, RT 34R23R T 12A T k R 12 R 23 R 34 =. 1 + Končno dobimo c 1 s 1 Q k = R 12 R 23 R 34 R 45 = s 2 s 3, s 4 A k+1 = Qk T A k Q k = R45R T 34R T 23R T 12A T k R 12 R 23 R 34 R 45 =.