12.07.2015 Views

Numericna linearna algebra

Numericna linearna algebra

Numericna linearna algebra

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Bor PlestenjakNumerična <strong>linearna</strong> <strong>algebra</strong>osnutekverzija: 22. september 2009


Kazalo1 Nesimetrični problem lastnih vrednosti 31.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Schurova forma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Teorija motenj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4 Potenčna metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.5 Inverzna iteracija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.6 Ortogonalna iteracija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.7 QR iteracija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.7.1 Redukcija na Hessenbergovo obliko . . . . . . . . . . . . . . . . . . . . . . 161.7.2 Premiki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.8 Implicitna QR metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Simetrični problem lastnih vrednosti 232.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2 Rayleighova iteracija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.3 QR iteracija za simetrični lastni problem . . . . . . . . . . . . . . . . . . . . . . . . 282.4 Sturmovo zaporedje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.5 Deli in vladaj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.6 Jacobijeva metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Posplošitve problema lastnih vrednosti 353.1 Posplošeni problem lastnih vrednosti . . . . . . . . . . . . . . . . . . . . . . . . . 353.1.1 Ax = λBx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.1.2 Ax = λW T DWx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.1.3 A T DAx = ω 2 B T MBx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2 Kvadratni problem lastnih vrednosti . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3 Reševanje problema lastnih vrednosti v Matlabu . . . . . . . . . . . . . . . . . . . 374 Singularni razcep 384.1 Singularni razcep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2 Teorija motenj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.3 Problemi defektnega ranga in nedoločeni problemi . . . . . . . . . . . . . . . . . 434.4 Regularizacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.5 Računanje singularnega razcepa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.6 QR iteracija za računanje singularnega razcepa . . . . . . . . . . . . . . . . . . . . 474.7 Jacobijeva metoda za singularni razcep . . . . . . . . . . . . . . . . . . . . . . . . 482


Poglavje 1Nesimetrični problem lastnih vrednosti1.1 UvodDana je matrika A ∈ R n×n . Če neničelen vektor x ∈ C n in skalar λ ∈ C zadoščata enačbiAx = λx, potem pravimo, da je λ lastna vrednost, x pa (desni) lastni vektor. Neničelen vektory ∈ C n , pri katerem je y H A = λy H , je levi lastni vektor. Če je y levi lastni vektor A za lastnovrednost λ, je y desni lastni vektor A H za lastno vrednost λ. Tako zadošča, da pri algoritmih zaizračun lastnih vektorjev obravnavamo le desne lastne vektorje.Levi in desni lastni vektorji različnih lastnih vrednosti so med seboj ortogonalni, saj velja naslednjalema.Lema 1.1 Če je Ax = λx, y H A = µy H in λ ̸= µ, potem je y H x = 0.Dokaz.Enačbo Ax = λx pomnožimo z leve z y H , enačbo y H A = µy H pa z desne z x. Dobimoy H Ax = λy H x = µy H x,to pa je lahko izpolnjeno le v primeru, ko je y H x = 0.Pravimo, da se da matriko A 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 iza i = 1, . . . , n, kar pomeni, da so stolpci matrike X lastni vektorji, diagonala matrike Λ pa jesestavljena iz lastnih vrednosti.Če je S nesingularna matrika, potem pravimo, da sta matriki A in B = S −1 AS podobni in imataenake lastne vrednosti. Velja, da je x desni lastni vektor za matriko A natanko tedaj, ko je S −1 xdesni lastni vektor za matriko B.Lastne vrednosti so ničle karakterističnega polinoma p(λ) = det(A − λI). Matrika A ima takon lastnih vrednosti λ 1 , . . . , λ n , pri čemer večkratne ničle štejemo večkrat. Ker se ničel splošnegapolinoma stopnje 5 ali več ne da izračunati drugače kot numerično, to velja tudi za lastnevrednosti in direktnih metod za računanje lastnih vrednosti torej ni. Lastne vrednosti vednoračunamo z iterativnimi postopki.Če računamo lastne vrednosti matrike preko eksplicitno izračunanega karakterističnega polinoma,lahko naletimo na naslednje težave:3


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 4• Računanje koeficientov karakterističnega polinoma ni enostaven postopek.• Ničle karakterističnega polinoma so lahko zelo občutljive na motnje koeficientov, kot kaženpr. Wilkinsonov primer iz zgleda ??.• Zaokrožitvene napake pri samem računanju koeficientov povzročijo, da računamo lastnevrednosti neke bližnje matrike, ki pa ima lahko dosti oddaljene lastne vrednosti.• Pri velikih n tudi algoritmi za računanje vseh ničel polinoma niso enostavni.Zgled 1.1 Pri slepi uporabi karakterističnega polinoma lahko izgubimo natančnost. Naj bo[ ] 1 ǫA = ,ǫ 1kjer je ǫ zelo majhno pozitivno število blizu osnovne zaokrožitvene napake u. Ničli matrike A sta 1 − ǫ in1 + ǫ. Če izračunamo karakteristični polinom, zaradi zaokrožanja dobimo det(A − λI) = λ 2 − 2λ + 1,torej bi izračunali dvojno lastno vrednost 1, pravi lastni vrednosti pa sta 1 − ǫ in 1 + ǫ. □Računanje lastnih vrednosti preko karakterističnega polinoma torej ni numerično stabilno. Gledena naše potrebe in lastnosti matrike poznamo različne stabilne algoritme za izračun lastnih vrednostiin vektorjev. Izbira algoritma je odvisna od naslednjih kriterijev:• 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?1.2 Schurova formaVemo, da za vsako n × n matriko A obstaja taka nesingularna matrika X, da je X −1 AX = J,kjer je Jordanova forma J bločno diagonalna matrika J = diag(J 1 , . . . , J k ), kjer je⎡⎤λ i 1. λ ..J i = ⎢ i ⎣ . ⎥ .. 1 ⎦λ iJordanova kletka velikosti m i × m i za i = 1, . . . , k in n = m 1 + · · · + m k .Jordanova forma pove veliko o matriki A. Iz nje lahko npr. preberemo vse lastne vrednostimatrike in njihove <strong>algebra</strong>ične in geometrične večkratnosti. Zelo pomembna je tudi za računanjevrednosti funkcij matrik. Tako ima npr. rešitev sistema diferencialnih enačb s konstantnimikoeficienti y ′ (t) = Ay(t) obliko y(t) = y(t 0 )e A(t−t 0) . Za rešitev je torej potrebno znati izračunatimatriko e A , ki je definirana z razvojem v vrstoe A =∞1∑j! Aj .j=0


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 5Če je f definirana in dovoljkrat zvezno odvedljiva funkcija v lastnih vrednostih matrike A,potem s pomočjo Jordanove forme A = XJX −1 definiramo f(A) = X f(J)X −1 , kjer je f(J) =diag( f(J 1 ), . . . , f(J k )) inza i = 1, . . . , k.⎡f(λ i ) f ′ f(λ i ) · · ·(m i −1) ⎤(m i −1)!.f(J i ) =f(λ⎢i ) .. .⎣.⎥.. f ′ (λ i )⎦f(λ i )Na žalost je Jordanova forma zelo občutljiva in neprimerna za numerično računanje. Ker nizvezna funkcija elementov matrike A, jo lahko v primeru večkratnih lastnih vrednosti majhnemotnje popolnoma spremenijo. Zato tudi računanje funkcij matrik preko Jordanove forme nistabilno.Zgled 1.2 Matrika⎡ ⎤0 1... . ..A = ⎢⎣. ..⎥1 ⎦0je že kar v Jordanovi formi z eno samo kletko n × n, za poljuben ǫ > 0 pa ima Jordanova forma matrike⎡ ⎤0 1... . ..A(ǫ) = ⎢⎣. ..⎥1 ⎦ǫ 0n kletk velikosti 1 × 1 z lastnimi vrednostmin √ ǫ.□Računanje Jordanove forme tudi ni obratno stabilno. Denimo, da smo za A numerično izračunali˜X in ˜J. Sedaj nas zanima, ali je ˜X −1 (A + δA) ˜X = ˜J za neko matriko δA, ki je blizu 0. Pritem predpostavimo, da je ˜X točna, za ˜J pa velja ˜J = J + δJ. Iz X −1 (A + δA)X = J + δJ slediX −1 δAX = δJ, od tod pa lahko ocenimo‖δA‖ ≤ ‖X‖ · ‖X −1 ‖ · ‖δJ‖ = κ(X)‖δJ‖.Ker je v splošnem občutljivost κ(X) lahko poljubno velika, računanje Jordanove forme ni obratnostabilno.Za stabilnost bi bilo zanesljivo bolje, če bi bila prehodna matrika X kar ortogonalna. Izkažese, da z ortogonalno podobnostno transformacijo lahko na stabilen način pridemo do zgornjetrikotne matrike in izračunamo tako imenovano Schurovo formo.Izrek 1.2 Za vsako matriko A obstajata unitarna matrika Q in zgornja trikotna matrika T, da jeQ H AQ = T (Schurova forma).


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 6Dokaz.Naredimo 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 unitarnamatrika U, da je Ue 1 = x (skonstruiramo jo lahko npr. kar s kompleksnim Householderjevimzrcaljenjem). Matrika B = U H AU ima oblikoB =( 1 n − 11 λ × · · · ×n − 1 0 Csaj je Be 1 = U H AUe 1 = U H Ax = U H λx = λe 1 . Po indukcijski predpostavki obstaja Schurovaforma za (n − 1) × (n − 1) matriko C. Torej obstaja taka unitarna matrika V 1 , da je V1 HCV1 = T 1zgornja trikotna matrika. Sedaj je[1 00 V H1]} {{ }V Hin zgornja trikotna matrika V H U H} {{ }Q H),[ ] [ ]1 0 λ × · · · ×B =0 V 1 0 T 1} {{ }VA}{{}UV je Schurova forma matrike A.QSchurova forma ni enolična, saj je npr. vrstni red diagonalnih elementov λ i poljuben.V primeru realne matrike se lahko izognemo kompleksni aritmetiki, če dopustimo, da namestozgornje trikotne matrike dobimo kvazi zgornjo trikotno matriko, ki ima na diagonali lahko bloke2 × 2. V teh diagonalnih blokih 2 × 2 so skriti konjugirani pari kompleksnih lastnih vrednosti.Izrek 1.3 Za vsako realno matriko A obstajata ortogonalna matrika Q in kvazi zgornja trikotna matrikaT, da je Q T AQ = T (realna Schurova forma).Dokaz. Delamo indukcijo podobno kot prej. Če je λ ∈ R naredimo tako kot prej, zato predpostavimo,da velja λ ̸∈ R. Potem imamo poleg lastnega para (λ, x) tudi lastni par (λ, x). Čedefiniramox R = 1 (x + x),2 xI = 1 (x − x),2ipotem obstaja taka ortogonalna matrika U = ( 2 n − 2U 1 U 2), da je Lin(U1 ) = Lin({x R , x I }) =Lin({x, x}), Ker je Lin(U 1 ) invarianten podprostor za A, veljaU T AU =( 2 n − 22 B × · · · ×n − 2 0 Ckjer sta λ in λ lastni vrednosti bloka B, preostale lastne vrednosti pa so v C. Nadaljujemopodobno kot pri dokazu o obstoju Schurove forme.),1.3 Teorija motenjZanima nas, kaj se dogaja z lastnimi vrednostmi (in vektorji), ko zmotimo elemente matrike.Lastne vrednosti so zvezne funkcije elementov matrike (saj so ničle karakterističnega polinoma),a spremembe so lahko kljub temu zelo velike.


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 7⎡ ⎤0 1... . ..Zgled 1.3 Za n × n matriko A = ⎢ ⎥⎣ 0 1 ⎦ je karakteristični polinom p(λ) = λn − ǫ inǫ 0λ = n√ ǫ. Pri n = 16 in ǫ = 10 −16 je |λ| = 0.1.□Zgled kaže, da v primeru, ko je lastna vrednost večkratna, lahko torej pričakujemo velike spremembe.Kaj pa če je lastna vrednost enostavna? Naslednji izrek pove, od česa je odvisnaobčutljivost enostavne lastne vrednosti.Izrek 1.4 Naj bo λ i enostavna lastna vrednost matrike A, x i ustrezni desni, y i levi lastni vektor in‖x i ‖ 2 = ‖y i ‖ 2 = 1. Če je λ i + δλ i ustrezna lastna vrednost zmotene matrike A + δA in x i + δx ipripadajoči lastni vektor, potem veljaλ i + δλ i = λ i + yH iδAx iy H ix i+ O(‖δA‖ 2 ).Z izrazom ustrezna lastna vrednost je mišljeno, da si izberemo tisto lastno vrednost zmotene matrike, zakatero velja lim ‖δA‖→0 (δλ i ) = 0.Dokaz. Velja Ax i = λ i x i in (A + δA)(x i + δx i ) = (λ i + δλ i )(x i + δx i ). Če zanemarimo člene(od tod na koncu dobimo O(‖δA‖ 2 )), ki vsebujejo produkte dveh δ faktorjev in pomnožimoenačbo z leve z yi H , dobimoδλ i = yH iδAx iy H ix i.Definicija 1.5 Naj bo λ i enostavna lastna vrednost, x i in y i pa pripadajoča desni in levi lastni vektor.Če definiramoyi H x is i :=,‖x i ‖ 2 ‖y i ‖ 2je s −1iobčutljivost enostavne lastne vrednosti λ i . Če je λ i večkratna lastna vrednost, je njena občutljivostenaka ∞.Če je matrika A simetrična, potem imajo vse enostavne lastne vrednosti minimalno možnoobčutljivost 1, saj so levi lastni vektorji enaki desnim.Če se da matriko diagonalizirati, potem lahko govorimo tudi o občutljivosti lastnih vektorjev.Izrek 1.6 Naj bo lastna vrednost λ i matrike A enostavna in x i ustrezni desni, y i levi lastni vektor,‖x i ‖ 2 = ‖y i ‖ 2 = 1 za i = 1, . . . , n. Če je λ i + δλ i ustrezna lastna vrednost zmotene matrike A + δAin je x i + δx i pripadajoči lastni vektor, potem veljax i + δx i = x i +n∑j=1j̸=iy H jδAx i(λ i − λ j )s jx j + O(‖δA‖ 2 ).


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 8Dokaz.Zmoteni lastni vektor lahko izrazimo v bazi lastnih vektorjev matrike A kotx i + δx i = x i +Če v enakost (A + δA)(x i + δx i ) = (λ i + δλ i )(x i + δx i ) vstavimo zgornji razvoj, jo pomnožimoz leve z y H k , kjer je k ̸= j, in zanemarimo člene (od tod na koncu spet O(‖δA‖2 )), ki vsebujejoprodukte dveh δ faktorjev, dobimoα k =n∑j=1j̸=iyH k δAx i(λ i − λ k )s k.Pri tem smo upoštevali, da je levi lastni vektor y k ortogonalen na vse desne lastne vektorje x j ,kjer je k ̸= j.α j x j .Izrek 1.7 (Bauer–Fike) Naj se da matriko A diagonalizirati kot A = XΛX −1 , kjer je Λ diagonalnamatrika lastnih vrednosti Λ = diag(λ 1 , . . . , λ n ). Potem vse lastne vrednosti λ(ǫ) matrike A + ǫEležijo v uniji n krogov|z − λ i | ≤ ǫ‖X‖ · ‖X −1 ‖ · ‖E‖ = ǫκ(X)‖E‖, i = 1, . . . , n,kjer za normo lahko vzamemo katerokoli izmed norm ‖.‖ 1 , ‖.‖ 2 ali ‖.‖ ∞ .Dokaz. Naj bo λ(ǫ) lastna vrednost A + ǫE. Predpostavimo lahko λ(ǫ) ̸= λ i , i = 1, . . . , n, sajsicer nimamo kaj dokazovati.Matrika A + ǫE − λ(ǫ)I je singularna. Zapišemo lahko()X −1 (A + ǫE − λ(ǫ)I)X = Λ − λ(ǫ)I + ǫX −1 EX = (Λ − λ(ǫ)I) I + ǫ(Λ − λ(ǫ)I) −1 X −1 EX .Ker je Λ − λ(ǫ)I nesingularna matrika, mora biti I + ǫ(Λ − λ(ǫ)I) −1 X −1 EX singularna matrika.To pa pomeni (uporabimo lemo ??), da je1 ≤ ‖ǫ(Λ − λ(ǫ)I) −1 X −1 EX‖ ≤ ǫ‖(Λ − λ(ǫ)I) −1 ‖‖X −1 ‖‖E‖‖X‖.Izsledi‖(Λ − λ(ǫ)I) −1 ‖ =1min i=1,...,n |λ i − λ(ǫ)|min |λ i − λ(ǫ)| ≤ ǫκ(X)‖E‖.i=1,...,nOpomba 1.1 Če unija krogov razpade na povezane komponente, potem vsaka komponenta vsebuje tolikolastnih vrednosti, kot je v njej krogov (zaradi zveznosti λ i (ǫ)).Posledica 1.8 Če je A = A T in E = E T , potem jemin |λ(ǫ) − λ i| ≤ ǫ‖E‖.i=1,...,n


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 9Dokaz. Za simetrično matriko velja, da je X ortogonalna matrika, torej κ(X) = 1.Lema 1.9 Če je λ i enostavna lastna vrednost, potem je s i ̸= 0.Dokaz. Brez škode za splošnost lahko privzamemo, da je i = 1. Naj bo sedaj s 1 = 0, ‖x 1 ‖ 2 =‖y 1 ‖ 2 = 1 pa naj bosta ustrezni levi in desni lastni vektor. U naj bo taka unitarna matrika, da jeUe 1 = x 1 . Potem je matrika B = U H AU oblikeB =( 1 n − 11 λ 1 × · · · ×n − 1 0 C),saj je Be 1 = U H AUe 1 = U H Ax 1 = U H λx 1 = λ 1 e 1 . Iz enakosti Ax 1 = λ 1 x 1 , y1 H A = λ 1y1Hs 1 = y1 Hx 1 = 0 dobimoinU H AUe 1 = U H λ 1 Ue 1 = λ 1 e 1(y1 H U)UH AU = λ 1 (y1 H U) (1.1)y1 H Ue 1 = 0 (1.2)Iz (1.2) sledi, da je y H 1 U oblike [0 zH 1 ], ko pa to vstavimo v (1.1), dobimo [0 zH 1 ]B = λ 1[0 z H 1 ]oziroma z H 1 C = λ 1z H 1 . Ker je λ 1 lastna vrednost C, ima A vsaj dvojno lastno vrednost λ 1 .V primeru večkratne lastne vrednosti lahko vektorja x i in y i določimo tako, da bosta ortogonalna,ni pa to nujno res za poljubno izbrana lastna vektorja večkratne lastne vrednosti.Pri občutljivosti matrike za reševanje linearnega sistema smo videli, da je recipročna vrednostobčutljivosti enaka oddaljenosti od najbližjega singularnega sistema. Podobno tudi sedaj velja,da je občutljivost enostavne lastne vrednosti povezana z oddaljenostjo od najbližje matrike zvečkratno lastno vrednostjo.Izrek 1.10 Naj bo λ enostavna lastna vrednost matrike A z normiranima levim in desnim lastnimvektorjem y in x in naj bo |s| < 1, kjer je s = y H x. Potem obstaja matrika A + δA z večkratno lastnovrednostjo λ in‖δA‖ 2 |s|≤ √‖A‖ .2 1 − |s| 2Velika občutljivost lastne vrednosti pomeni, da je blizu večkratne lastne vrednosti, to pa sevedapomeni, da obstaja vsaj še ena taka lastna vrednost. Zato velja, da matrika na more imetinatanko ene zelo občutljive lastne vrednosti.Kaj se zgodi z občutljivostjo lastne vrednosti pri podobnostnih transformacijah? Naj bo B =S −1 AS. Potem veljaAx = λxBS −1 x = λS −1 x⇐⇒y H A = λy Hy H SB = λy H S.s =yH x‖y‖‖x‖˜s =y H x‖S H y‖‖S −1 x‖


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 10Od tod slediin ocenimo lahko|s||˜s| = ‖SH y‖‖S −1 x‖‖y‖‖x‖1|˜s| ≤ |s| ≤ κ(S)|˜s|.κ(S)Občutljivost se torej lahko v najboljšem primeru zmanjša za κ(S), v najslabšem primeru pa seza isti faktor poveča. Če je S ortogonalna matrika, potem se občutljivost ne spremeni, zato sotovrstne transformacije stabilne.1.4 Potenčna metodaPri prvem algoritmu za računanje lastnih vrednosti in vektorjev ne potrebujemo drugega kotmnoženje z matriko A.Denimo, da izberemo normiran začetni vektor z 0 in nato za k = 0, 1, . . . generimo vektorje ponaslednjem predpisu:y k+1 = Az k , z k+1 = y k+1‖y k+1 ‖ . (1.3)Dobimo zaporedje normiranih vektorjev z k , za katere se izkaže, da ko gre k proti neskončno,skonvergirajo proti lastnemu vektorju matrike A.Izrek 1.11 Naj bo λ 1 dominantna lastna vrednost matrike A, kar pomeni|λ 1 | > |λ 2 | ≥ |λ 3 | ≥ · · · ≥ |λ n |.Potem, ko gre k proti neskončnosti, vektorji z k , izračunani po predpisu (1.3), po smeri konvergirajo protilastnemu vektorju za λ 1 .Dokaz. Izrek sicer velja za splošno matriko, dokazali pa ga bomo le za primer, ko se da matrikadiagonalizirati. Naj velja A = XΛX −1 , kjer je X = [x 1 · · · x n ] in Λ = diag(λ 1 , . . . , λ n ). Začetnivektor z 0 lahko razvijemo po lastnih vektorjih kotPotem pri pogoju α 1 ̸= 0 veljaz 0 =n∑ α i x i .i=1z k = Ak x 0‖A k = α 1x 1 + α 2 ( λ 2λ 1) k x 2 + · · · α n ( λ nλ 1) k x nx 0 ‖ ∞ ‖α 1 x 1 + α 2 ( λ 2λ 1) k x 2 + · · · α n ( λ nλ 1) k x n ‖in z k konvergira v smeri proti x 1 , ko gre k proti neskončnosti.Vidimo, da se da vektor z k izraziti s produktom k-te potence matrike A z vektorjem z 0 . Zaraditega metodo, ki generira vektorje po predpisu (1.3), imenujemo potenčna metoda.V zadnjem dokazu smo predpostavili:


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 11a) α 1 ̸= 0,b) A ima enostavno dominantno lastno vrednost.Pri numeričnem računanju je predpostavka a) v praksi vedno izpolnjena, saj zaokrožitvenenapake povzročijo, da je α 1 ̸= 0. Priporočljivo je tudi, da začetni vektor izberemo kar naključno.Pri točki b) se da pokazati, da izrek velja tudi, ko je λ 1 večkratna lastna vrednost. Metoda se daustrezno predelati (če si zapomnimo in hkrati gledamo zadnje tri približke) tudi za primera:• |λ 1 | = |λ 2 | > |λ 3 | ≥ · · · in λ 1 = −λ 2 ,• |λ 1 | = |λ 2 | > |λ 3 | ≥ · · · in λ 1 = λ 2 .Vektor z k po smeri konvergira proti lastnemu vektorju za λ 1 . Zaradi tega normiranje vektorjav vsakem koraku v bistvu ni potrebno, izvajamo ga le zato, da pri numeričnem računanju nepride do prekoračitve (v primeru |λ 1 | > 1) ali podkoračitve (v primeru |λ 1 | < 1).Kako ugotovimo, kdaj je postopek že dovolj skonvergiral? Ker vektor konvergira po smeri, nepa tudi po komponentah, pogoj ‖z k+1 − z k ‖ ≤ ǫ ni dober. Potrebujemo kriterij, ki nam za danipribližek za lastni vektor pove, kako dober približek je to. Tega pa se ne da ugotoviti drugačekot da za približek za lastni vektor poiščemo še približek za lastno vrednost in potem skupajpogledamo kako dober približek za lastni par imamo.Denimo, da imamo približek x za lastni vektor in iščemo lastno vrednost. Najboljši približek jeλ, ki minimizira‖Ax − λx‖ 2 ,rešitev pa je (uporabimo normalni sistem za predoločeni sistem xλ = Ax) Rayleighov kvocientdefiniran za x ̸= 0.ρ(x, A) = xH Axx H x ,Za Rayleighov kvocient velja ρ(x, A) = ρ(αx, A) za α ̸= 0. Rayleighov kvocient je torej odvisenle od smeri, ne pa tudi od norme vektorja. Očitno je tudi, da iz Ax = λx sledi ρ(x, A) = λ.Pravilen zaustavitveni kriterij za potenčno metodo je, da za vsak vektor z k izračunamo Rayleighovkvocient ρ k = ρ(z k , A), potem pa pogledamo normo ostanka ‖Az k − ρ k z k ‖ 2 . Če je normadovolj majhna, je ρ k , z k dober približek za lastni par.Algoritem 1.1 Osnovna varianta potenčne metode. Začetni podatki so matrika A (v resnicizadošča funkcija, ki zna za dani vektor x izračunati produkt Ax), tak vektor z 0 , da je ‖z 0 ‖ 2 = 1,in toleranca ǫ.y 1 = Az 0 , ρ 0 = z0 Hy 1, k = 0while ‖y k+1 − ρ k z k ‖ 2 ≥ ǫk = k + 1z k = 1 y‖y k ‖ 2 ky k+1 = Az kρ k = zk Hy k+1


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 12Vidimo, da računanje Rayleighovega kvocienta in preverjanje konvergence ne vplivata bistvenona časovno zahtevnost. Glavna operacija, ki jo v vsakem koraku algoritma izvedemoenkrat, je množenje z matriko A. Ta ima v primeru splošne matrike zahtevnost O(n 2 ), ostaleoperacije pa imajo zahtevnost O(n).∣ Konvergenca potenčne metode je <strong>linearna</strong>. Hitrost je odvisna od razmerja ∣ λ 2 ∣∣.λ 1Če je blizu 1, bokonvergenca počasna, blizu 0 pa hitrejša. Pomagamo si lahko s premiki. Matrika A − σI imaenake lastne vektorje kot A, lastne vrednosti pa so λ i − σ, i = 1, . . . , n. Sedaj je konvergencalahko hitrejša.Tako dobimo dominantno lastno vrednost λ 1 . Naj bo x 1 pripadajoči lastni vektor z normo‖x 1 ‖ 2 = 1. Za ostale lahko lastne pare naredimo redukcijo:a) Hotelingova redukcija za A = A T . DefiniramoB = A − λ 1 x 1 x T 1 .Hitro lahko preverimo, da velja Bx 1 = 0 in Bx k = λ k x k za k ̸= i. Če uporabimo potenčnometodo na matriki B, bomo tako dobili drugo dominantno lastno vrednost matrike AMatrike B nam ni potrebno eksplicitno izračunati. Produkt matrike B s poljubnim vektorjemz lahko namreč izračunamo kot Bz = Az − λ 1 (x T 1 z)x 1. Na ta način tudi za izračunnaslednje lastne vrednosti še vedno zadošča, če poznamo le funkcijo, ki izračuna produktmatrike A z danim vektorjem.b) Householderjeva redukcija za splošno matriko. Poiščemo ortogonalno matriko Q, da jeQx 1 = e 1 , pri čemer lahko seveda uporabimo Householderjeva zrcaljenja. Potem imaB = QAQ T obliko[λ1 bB =T ],0 Csaj jeBe 1 = QAQ T e 1 = QAx 1 = Qλ 1 x 1 = λ 1 e 1 .Preostale lastne vrednosti matrike A se ujemajo z lastnimi vrednostmi matrike C.Tudi v primeru Householderjeve redukcije ekspliciten izračun matrike C ni potreben. Pripotenčni metodi moramo znati izračunati produkt Cw za vektor w ∈ C n−1 . Pri tem sipomagamo z zvezo[ ] [QAQ T 0 λ1 b=T ] [ ] [ 0 b=T ]w.w 0 C w CwPotrebujemo torej množenje z matriko A in dve množenji z ortogonalno matriko Q, ki julahko v primeru Householderjevega zrcaljenja izvedemo z zahtevnostjo O(n).Če iščemo lastno vrednost nesingularne matrike A, ki je najmanjša po absolutni vrednosti, delamopotenčno metodo za A −1 , saj ima A −1 lastne vrednosti λ −1 , . . . , λ −1n . V algoritmu namestomnoženja y k+1 = A −1 z k rešujemo sistem Ay k+1 = z k .


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 131.5 Inverzna iteracijaRayleighov kvocient nam vrne najboljši približek za lastno vrednost, ki ustreza danemu vektorju.Kaj pa obratno? Denimo, da smo že izračunali približek za lastno vrednost σ, sedaj papotrebujemo še lastni vektor. Tu si lahko pomagamo z inverzno iteracijo.Naj bo torej σ približek, kateremu je najbližja lastna vrednost λ i , potrebujemo pa lastni vektor.Naj velja |λ i − σ| ≪ |λ j − σ| za j ̸= i.Algoritem za inverzno iteracijo je v grobem:izberi z 0 ̸= 0k = 0, 1, . . .reši sistem (A − σI)y k+1 = z kz k+1 = 1‖y k+1 ‖ y k+1Opazimo, da inverzna iteracija ni torej nič drugega kot potenčna metoda za matriko (A − σI) −1 ,zato jo imenujemo tudi inverzna potenčna metoda. Od tod vemo, da vektor z k po smeri konvergiraproti lastnemu vektorju, ki pripada dominantni lastni vrednosti matrike (A − σI) −1 .Lastne vrednosti matrike (A − σI) −1 so (λ j − σ) −1 za j = 1, . . . , n. Ker velja |λ i − σ| ≪ |λ j − σ|za j ̸= i, je |(λ i − σ) −1 | ≫ |(λ j − σ) −1 | za j ̸= i. Boljši, ko je približek σ, dominantnejša je lastnavrednost (λ i − σ) −1 in hitrejša je konvergenca.Inverzno iteracijo ponavadi uporabljamo zato, da dobimo lastni vektor za numerično izračunanolastno vrednost. V tem primeru je σ kar lastna vrednost matrike A, izračunana z natančnostjoO(u). V praksi zato potrebujemo le en do dva koraka inverzne iteracije, da iz poljubnegazačetnega vektorja izračunamo pripadajoči lastni vektor.Če je σ res lastna vrednost matrike A, potem je matrika A − σI singularna in v algoritmu lahkopričakujemo težave pri reševanju sistema s to matriko. Izkaže se, da nam zaokrožitvene napakepomagajo do tega, da v praksi ne pride do deljenja z nič, zato je inverzna iteracija zeloučinkovita metoda za računanje lastnih vektorjev za lastne vrednosti.1.6 Ortogonalna iteracijaPravimo, da je N invarianten podprostor za matriko A, če velja AN ⊂ N . Naj ima matrika S 1 plinearno neodvisnih stolpcev. Če jo dopolnimo do nesingularne matrike S = [ S 1 S 2 ] in je[ ]B = S −1 B11 BAS =12,B 21 B 22potem lahko hitro preverimo, da stolpci S 1 razpenjajo invariantni podprostor natanko takrat,ko je B 21 = 0. V tem primeru so lastne vrednosti matrike A unija lastnih vrednosti matrikB 11 in B 22 . Če lastne vrednosti matrike A lahko uredimo po absolutni vrednosti tako, da velja|λ 1 | ≥ · · · ≥ |λ p | > |λ p+1 | ≥ · · · ≥ |λ n |, potem stolpci matrike S 1 razpenjajo dominantniinvariantni podprostor takrat, ko so lastne vrednosti matrike B 11 enake λ 1 , . . . , λ p .Če se da matriko diagonalizirati, potem bazo za dominantni invariantni podprostor dimenzije


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 14p lahko sestavimo iz p lastnih vektorjev, ki pripadajo po absolutni vrednosti p največjim lastnimvrednostim.Za izračun baze za dominantni invariantni podprostor imamo na voljo ortogonalno iteracijo.Algoritem v grobem je:izberi matriko Z 0 velikosti n × p z ortonormiranimi stolpcik = 0, 1, . . .Y k+1 = AZ kizračunaj QR razcep Y k+1 = QR in vzemi Z k+1 = QOpazimo lahko, da je pri p = 1 to kar potenčna metoda. Potenčna metoda skonvergira protilastnemu vektorju, linearni podprostor, ki ga razpenja lastni vektor, pa je očitno dominanteninvarianten podprostor dimenzije 1.Izrek 1.12 Naj velja A = XΛX −1 , kjer je X = [x 1 · · · x n ] in Λ = diag(λ 1 , . . . , λ n ). Lastnevrednosti naj bodo urejene po absolutni vrednosti in naj velja |λ p | > |λ p+1 |. Potem matrika Z k izortogonalne iteracije konvergira proti ortonormirani bazi za invariantni podprostor Lin({x 1 , . . . , x p }).Dokaz. Očitno je Lin(Z k+1 ) = Lin(Y k+1 ) = Lin(AZ k ), od tod pa sledi Lin(Z k ) = Lin(A k Z 0 ).Ker je A k = XΛ k X −1 , velja⎡(λ 1 /λ p ) k ⎤. .. A k Z 0 = XΛ k X −1 Z 0 = λ k pX⎢1X −1 Z⎣. ⎥ 0 ... ⎦(λ n /λ p ) kKo gre k proti neskončno, gre A k Z 0 proti X ·proti Lin({x 1 , . . . , x p }).( p )p ×, to pa pomeni, da Lin(Zn − p 0k ) konvergiraPodobno v primeru, ko je |λ r | > |λ r+ |, za prvih r < p stolpcev velja, da Lin(Z k (:, 1 : r))konvergira proti Lin({x 1 , . . . , x r }).Vzemimo kar p = n in poljubno nesingularno matriko Z 0 . V tem primeru seveda ne računamoinvariantnega podprostora dimenzije n, saj je to kar celotni prostor. Pri predpostavki, da soabsolutne vrednosti λ i paroma različne (to hkrati pomeni, da so vse realne), lahko pokažemo,da matrika A k := Z T k AZ k konvergira proti Schurovi formi.A k in Zk T AZ k sta podobni matriki, saj je Z k ortogonalna matrika. Naj bo Z k = [Z k1 Z k2 ], kjer imaZ k1 p stolpcev. Potem je[ZTZk T AZ k1AZ k1 Zk1 Tk =AZ ]k2Zk2 T AZ k1 Zk2 T AZ .k2Ker Lin(Z k1 ) konvergira proti invariantnemu podprostoru Lin({x 1 , . . . , x p }), enako velja tudiza Lin(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 zavsak p = 1, . . . , n, sledi, da matrika Z T k AZ k res konvergira proti zgornji trikotni matriki, torejproti Schurovi formi.


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 15Poddiagonalni elementi matrike A k konvergirajo proti 0 z linearno konvergenco, hitrost konvergence(i, j)-tega elementa, kjer je i > j, pa je odvisna od razmerja |λ j |/|λ i |.1.7 QR iteracijaV prejšnjem razdelku smo videli, da z ortogonalno iteracijo lahko izračunamo Schurovo formoin s tem vse lastne vrednosti matrike. V tem razdelku pa bomo spoznali algoritem, ki zna tonarediti na ekonomičnejši način. Gre za QR iteracijo, ki je trenutno najboljša numerična metodaza izračun vseh lastnih vrednosti splošne nesimetrične matrike.Osnovna varianta QR iteracije je:A 0 = Ak = 0, 1, . . . :A k = Q k R k (izračunaj QR razcep)A k+1 = R k Q kV vsakem koraku tako izračunamo QR razcep matrike in faktorja v zamenjanem vrstnem reduzmnož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 kortogonalno podobni, torej je A k ortogonalno podobna začetni matriki A. Izkaže se, da je QRiteracija povezana z ortogonalno iteracijo, od tod pa sledi, da A k konvergira proti Schuroviformi.Lema 1.13 Za matriko A k iz QR iteracije velja A k = Z T k AZ k, kjer je Z k matrika, ki jo dobimo v ortogonalniiteraciji iz Z 0 = I. V primeru, ko imajo lastne vrednosti paroma različne absolutne vrednosti,A k konvergira proti Schurovi formi.Dokaz. Uporabimo indukcijo po k.Na začetku je A 0 = Z T 0 AZ 0, saj je Z 0 = I. Denimo, da je A k = Z T k AZ k. Potem jeZk T AZ k = Zk T ( Z k+1}{{}S k+1}{{}S k+1}{{}) = Zk T Z k+1} {{ }ort. zg. trik. ort. zg. trik.} {{ }QR razcep AZ kzaradi enoličnosti pa je to kar QR razcep matrike A k . Sledi= Q k R k ,A k+1 = R k Q k = S k+1 Zk T Z k+1 = Zk+1 T AZ k Zk T } {{ }Z k+1 = Zk+1 T AZ k+1.S k+1V primeru, ko ima matrika A tudi kompleksne lastne vrednosti, matrika A k skonvergira protirealni Schurovi formi.Če pogledamo zahtevnost enega koraka QR iteracije, vidimo, da ima časovno zahtevnost O(n 3 ),saj moramo v vsakem koraku izračunati QR razcep matrike. Hitrost konvergence je odvisna odrazmerja med lastnimi vrednostmi, in če sta dve lastni vrednosti zelo blizu, lahko pričakujemo,da bo metoda potrebovala veliko korakov, preden bo skonvergirala do Schurove forme.Da pridemo do uporabne verzije QR iteracije, moramo vpeljati še nekaj izboljšav.


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 161.7.1 Redukcija na Hessenbergovo oblikoEn korak osnovne QR iteracije porabi O(n 3 ) operacij, kar ni najbolj ekonomično. Zahtevnostenega koraka lahko močno zmanjšamo, če matriko A predhodno reduciramo na zgornjo Hessenbergovoobliko.Definicija 1.14 Pravimo, da je matrika A zgornja Hessenbergova, če velja a ij = 0 za i > j + 1.Zgornja Hessenbergova matrika ima torej le zgornji trikotnik in eno poddiagonalo. Od Schuroveforme jo loči le poddiagonala. Izkaže se, da se zgornja Hessenbergova oblika ohranjamed QR iteracijo.Trditev 1.15 Če je A zgornja Hessenbergova, se oblika med QR iteracijo ohranja.Dokaz. Pri QR razcepu matrike A = [ a 1 · · · a n ] dobimo zgornjo Hessenbergovo matrikoQ in zgornjo trikotno matriko R. Pri Q = [ q 1 · · · q n ] je oblika razvidno iz dejstva, da je q i<strong>linearna</strong> kombinacija stolpcev a 1 , . . . , a i . Hitro lahko preverimo, da je produkt zgornje trikotnein zgornje Hessenbergove matrike spet zgornja Hessenbergova matrika.Vsako realno matriko A lahko z ortogonalno podobnostno transformacijo spremenimo v zgornjoHessenbergovo matriko. Za splošno matriko uporabimo Householderjeva zrcaljenja, čepa ima matrika A v spodnjem trikotniku že veliko ničel, so lahko Givensove rotacije še boljučinkovite.Zgled 1.4 Na zgledu matrike velikosti 5 × 5 poglejmo, kako matriko z ortogonalnimi podobnostnimitransformacijami spremenimo v zgornjo Hessenbergovo matriko. Naj bo⎡⎤× × × × ×(×) × × × ×A =⎢ (×) × × × ×⎥⎣ (×) × × × × ⎦ .(×) × × × ×Elementi v oklepajih označujejo elemente vektorja, ki določa Householderjevo zrcaljenje v naslednjemkoraku. Zrcaljenje določimo tako, da se označeni vektor prezrcali v smer prvega enotskega vektorja.Najprej poiščemo tako ortogonalno matriko Q 1 , da je⎡⎤⎡⎤× × × × ×× × × × ×× × × × ×Q 1 A =⎢ 0 × × × ×⎥⎣ 0 × × × × ⎦ , A 1 = Q 1 AQ1 T = × × × × ×⎢ 0 (×) × × ×⎥⎣ 0 (×) × × × ⎦ .0 × × × ×0 (×) × × ×Nato poiščemo ortogonalno matriko Q 2 , da je⎡⎤⎡⎤× × × × ×× × × × ×× × × × ×Q 2 A 1 =⎢ 0 × × × ×⎥⎣ 0 0 × × × ⎦ , A 2 = Q 2 A 1 Q2 T × × × × ×=⎢ 0 × × × ×⎥⎣ 0 0 (×) × × ⎦ ,0 0 × × ×0 0 (×) × ×


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 17na koncu pa še ortogonalno matriko Q 3 , da je⎡⎤⎡⎤× × × × ×× × × × ×× × × × ×Q 3 A 2 =⎢ 0 × × × ×⎥⎣ 0 0 × × × ⎦ , H = Q 3A 2 Q3 T × × × × ×=⎢ 0 × × × ×⎥⎣ 0 0 × × × ⎦0 0 0 × ×0 0 0 × ×Tako dobimo zgornjo Hessenbergovo matriko H = Q 3 Q 2 Q 1 A(Q 3 Q 2 Q 1 ) T .□Algoritem za splošno matriko ima naslednjo obliko.Algoritem 1.2 Redukcija na zgornjo Hessenbergovo obliko preko Householderjevih zrcaljenj.Začetni podatek je n × n matrika A. Algoritem vrne zgornjo Hessenbergovo matriko H in popotrebi tudi ortogonalno matriko Q, da je A = Q T HQ.Q = I (*)i = 1, . . . , n − 2določi w i ∈ R n−i za Householderjevo zrcaljenje P i , ki prezrcali A(i + 1 : n − i) v ±ke 1A(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 iQ(i + 1 : n, i : n) = P i Q(i + 1 : n, i : n) (*)Korake označene z (*) izvedemo le v primeru, če potrebujemo tudi prehodno matriko Q.Število operacij je 103 n3 + O(n 2 ) oziroma 14 3 n3 + O(n 2 ) če potrebujemo tudi Q.Če na začetku matriko A reduciramo na Hessenbergovo obliko, porabimo potem za en korakQR iteracije le še O(n 2 ) namesto O(n 3 ) operacij. Matrika Q k iz QR razcepa zgornje Hessenbergovematrike A k je namreč produkt n − 1 Givensovih rotacij, za eno množenje matrike zGivensovo rotacijo pa vemo, da ima zahtevnost O(n).Definicija 1.16 Hessenbergova matrika H je ireducibilna, če so vsi njeni subdiagonalni elementi h i+1,ineničelni.Če je H reducibilna, je npr.⎡⎤× × × × ×× × × × ×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.Pri numeričnem računanju subdiagonalni element a (k)i+1,i matrike A k postavimo na 0, kadar jedovolj majhen v primerjavi s sosednjima diagonalnima elementoma. To pomeni, da zadoščakriteriju|a (k)i+1,i | < ǫ(|a(k) ii| + |a (k)i+1,i+1 |),kjer je ǫ = O(u) izbrana toleranca.


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 181.7.2 PremikiZ redukcijo na Hessenbergovo obliko smo zmanjšali zahtevnost posameznega koraka QR iteracije,samo število potrebnih korakov pa se ni zmanjšalo, saj je hitrost konvergence odvisnaod razmerja med lastnimi vrednostmi.Konvergenco lahko pospešimo z vpeljavo premikov:A 0 = Ak = 0, 1, . . .izberi premik σ kA k − σ k I = Q k R k (izračunaj QR razcep)A k+1 = R k Q k + σ k INaslednja lema nam zagotavlja, da je tudi po vpeljavi premika matrika A k še vedno ortogonalnopodobna začetni matriki A.Lema 1.17 Matriki A k in A k+1 pri QR iteraciji s premikom sta ortogonalno podobni.Dokaz.A k+1 = R k Q k + σ k I = Q T k (Q kR k + σ k I)Q k = Q T k A kQ k .Za hitro konvergenco moramo za premik izbrati čim boljši približek za lastno vrednost. Če biza premik izbrali kar lastno vrednost, potem iz naslednje leme sledi, da bi se v enem korakuQR iteracije iz matrike izločila ta lastna vrednost in bi računanje lahko nadaljevali na manjšimatriki.Lema 1.18 Naj bo σ lastna vrednost ireducibilne zgornje Hessenbergove matrike A. Če je QR razcepA − σI = QR in 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. Vrazcepu A − σI = QR zato velja r ii ̸= 0 za 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 matrikiB = 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).Potrebujemo čim boljši približek za lastno vrednost A k , zato imamo na voljo različne premike:a) Enojni premik: za σ k izberemo a (k)nn . V tem primeru imamo kvadratično konvergenco vbližini lastne vrednosti, vendar premik ni dober za kompleksne lastne vrednosti.Motivacija, da za premik izberemo element v spodnjem desnem kotu je, da naj bi bil todober približek za po absolutni vrednosti najmanjšo lastno vrednost λ n matrike A.Naj bo y n levi lastni vektor za λ n . Z malce računanja lahko pokažemo, da pri QR algoritmubrez premikov veljaA k = ˜Q k−1 ˜R k−1 ,kjer je ˜Q k−1 = Q 0 · · · Q k−1 in ˜R k−1 = R k−1 · · · R 0 . Od tod sledi A −k = ˜R −1k−1 ˜Q T k−1 .Iz zadnje enakosti vidimo, da je zadnja vrstica matrike ˜Q T k−1 proporcionalna eT n A−k , to


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 19je zadnji vrstici matrike A −k . Razen v izjemnem in pri numeričnem računanju maloverjetnem primeru, ko e n nima nobene komponente v smeri y n , bo vrstica en T A−k posmeri konvergirala proti yn T. Od tod sledi, da zadnji stolpec matrike ˜Q k−1 konvergiraproti levemu lastnemu vektorju y n . Iz zveze A k = ˜Qk−1 T A ˜Q k−1 je tako razvidno, daa (k)nn = en T A k e n = ( ˜Q k−1 e n ) T A ˜Q k−1 e n konvergira proti lastni vrednosti λ n .b) Dvojni oz. Francisov premik: vzamemo podmatrikoA k (n − 1 : n, n − 1 : n) =[a (k)n−1,n−1a (k)n,n−1a (k)n−1,na (k)nn],ki ima lastni vrednosti σ (k)1, σ (k)2(lahko sta tudi kompleksni). Sedaj naredimo dva premikav enem koraku:A k − σ (k)1I = Q k R k (izračunaj QR razcep)A ′ k = R kQ k + σ (k)1IA ′ k − σ(k) 2I = Q ′ k R′ k(izračunaj QR razcep)A k+1 = R ′ k Q′ k + σ(k) 2IIzkaže se, da lahko en korak QR z dvojnim premikom izvedemo brez kompleksne aritmetike,saj velja:Q k Q ′ k R′ k R k= Q k (A ′ k − σ(k) 2I)R k= Q k Q H k (A k − σ (k)2I)Q k R k = (A k − σ (k)2I)Q k R k= (A k − σ (k)2I)(A k − σ (k)1I)= A 2 k − (σ(k) 1+ σ (k)2)A k + σ (k)1σ (k)2I =: N kin (Q k Q ′ k )(R′ k R k) je QR razcep realne matrike N k . Ker po lemi 1.17 velja tudiA k+1 = Q k′H A′ k Q′ k = Q′H k QH k A kQ k Q ′ k ,potrebujemo le realni QR razcep realne matrike N k .Na prvi pogled nam zgornja ugotovitev ne pomaga dosti, saj v formuli za N k nastopa matrikaA 2 k , za izračun le te pa potrebujemo O(n3 ) operacij. Kot bomo videli v naslednjem razdelku, pase izkaže, da v resnici potrebujemo le prvi stolpec matrike N k .1.8 Implicitna QR metodaIzrek 1.19 (Implicitni Q) Če je Q = [q 1 · · · q n ] taka ortogonalna matrika, da je Q T AQ = H ireducibilnaHessenbergova matrika, potem so stolpci q 2 , . . . , q n do predznaka natančno določeni s q 1 .Dokaz. Denimo, da je V T AV = G, kjer je V = [v 1 · · · v n ] ortogonalna matrika, G ireducibilnazgornja Hessenbergova matrika in q 1 = v 1 .


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 20Potem je W = V T Q ortogonalna matrika. Če zapišemo W = [w 1 · · · w n ], potem je w 1 = e 1 .VeljaGW = GV T Q = V T AQ = V T QH = WH.Iz te zveze sledi Gw i = ∑ i+1j=1 h jiw j oziromah i+1,i w i+1 = Gw i −i∑ h ji w j .j=1Ker je w 1 = e 1 in ima Gw i en neničelni element več od w i , sledi w i ∈ Lin({e 1 , . . . , e i }). Topomeni, da je W zgornja trikotna matrika. Ker pa je W hkrati ortogonalna, je edina možnostW = diag(1, ±1, . . . , ±1), torej v i = ±q i za i = 2, . . . , n.Posledica je, da če v QR algoritmu A k = Q k R k , A k+1 = R k Q k = Q T k A kQ k poznamo prvi stolpecmatrike Q k , potem lahko matriko A k+1 izračunamo brez tega, da bi računali celoten QR razcepmatrike A k . Tako dobimo implicitno QR iteracijo.Najprej poglejmo implicitno QR iteracijo z enojnim premikom. Vemo, da je prvi stolpec Q k enaknormiranemu prvemu stolpcu A k − σ k I. Če uspemo poiskati tako ortogonalno matriko Q k , kibo imela za prvi stolpec normirani prvi stolpec A k − σ k I in bo Q T k A kQ k zgornja Hessenbergovamatrika, potem je po izreku o implicitnem Q matrika Q T k A kQ k enaka matriki iz naslednjegakoraka QR metode.Matriko Q k poiščemo kot produkt Givensovih rotacij Q k = R 12 R 23 · · · R n−1,n . Prva rotacija R 12je že določena s prvim stolpcem A k − σ k I, ostale pa določimo tako, da bo Q T k A kQ k zgornjaHessenbergova matrika. Če je namreč⎡c 1 s 1−s 1 c 1R 12 =⎢1⎣. ..1⎤⎥⎦ ,potem je⎡⎤c 1 × · · · · · · ×−s 1 × · · · · · · ×Q k = R 12 R 23 · · · R n−1,n =×..⎢⎣ . ⎥.. . ⎦× ×Algoritem lahko označimo kot premikanje grbe. Poglejmo si ga na primeru matrike velikosti5 × 5. Po prvem koraku dobimo⎡⎤× × × × ×R12 T A × × × × ×kR 12 =⎢ + × × × ×⎥⎣ × × × ⎦ .× ×Novi neničelni element, označen s +, je grba, ki jo z naslednjimi rotacijami pomikamo navzdol


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 21ob diagonali. Tako po vrsti poiščemo R 23 , R 34 in R 45 , da je⎡× × × ×⎤×R23 T RT 12 A × × × × ×kR 12 R 23 =⎢ × × × ×⎥⎣ + × × × ⎦ ,× ×⎡× × × ×⎤×R34 T RT 23R12 T A × × × × ×kR 12 R 23 R 34 =⎢ × × × ×⎥⎣ × × × ⎦+ × ×in⎡⎤× × × × ×R45 T RT 34 RT 23 RT 12 A × × × × ×kR 12 R 23 R 34 R 45 =⎢ × × × ×⎥⎣ × × × ⎦ .× ×Dobimo zgornjo Hessenbergovo matriko, ki je po izreku o implicitnem Q enaka matriki A k+1 .Še bolj kot pri enojnem premiku nam izrek o implicitnem Q pride prav pri dvojnem premiku.Vemo, da je A k+1 = U k A k U k , kjer je U k ortogonalna matrika iz QR razcepa matrike N k =A 2 k − (σ(k) 1+ σ (k)2)A k + σ (k)1σ (k)2I. Dovolj je poznati le prvi stolpec matrike N k . Le ta ima obliko[× × × 0 · · · 0] T , za neničelne elemente pa lahko izpeljemo direktne formule.Sedaj najprej poiščemo Householderjevo zrcaljenje oblike⎡⎤× × ×× × ×P 1 =× × ×⎢1,⎣.⎥ .. ⎦1ki ima prvi stolpec enak normiranemu prvemu stolpcu matrike N k . Po množenju s P 1 dobimogrbo velikosti 2 × 2, ki jo premikamo navzdol s Householderjevimi zrcaljenji. Poglejmo si, kakoto naredimo v primeru matrike velikosti 6 × 6.⎡⎤× × × × × ×× × × × × ×P 1 A k P 1 =+ × × × × ×⎢ + + × × × ×,⎥⎣× × × ⎦× ×⎡⎤⎡⎤1P 2 =⎢⎣× × ×× × ×× × ×11× × × × × ×× × × × × ×, P 2 P 1 A k P 1 P 2 =× × × × ×⎥⎢ + × × × ×,⎥⎦⎣ + + × × × ⎦× ×


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 22⎡1P 3 =⎢⎣⎡1P 4 =⎢⎣⎡1P 5 =⎢⎣11111× × ×× × ×× × ×× × × ⎥× × × ⎦× × ×1× ×× ×⎤⎡⎤× × × × × ×× × × × × ×, P 3 P 2 P 1 A k P 1 P 2 P 3 =× × × × ×⎥⎢ × × × ×,⎥⎦⎣ + × × × ⎦1+ + × ×⎤⎡⎤× × × × × ×× × × × × ×⎥ , P 4 P 3 P 2 P 1 A k P 1 P 2 P 3 P 4 =× × × × ×⎢ × × × ×,⎥⎣× × × ⎦+ × ×⎤⎡⎤× × × × × ×× × × × × ×, P 5 · · · P 1 A k P 1 · · · P 5 =× × × × ×⎥⎢ × × × ×.⎥⎦⎣× × × ⎦× ×V vsakem koraku grbo velikosti 2 × 2 premaknemo za eno mesto navzdol, dokler je v zadnjemkoraku ne izločimo iz matrike in nam ostane A k+1 . S pomočjo izreka o implicitnem Q lahkotako en korak QR z dvojnim premikom izvedemo v O(n 2 ) operacijah.


Poglavje 2Simetrični problem lastnih vrednosti2.1 UvodNaj bo A simetrična matrika. Vemo, da so vse lastne vrednosti realne. Schurova forma zasimetrično matriko je diagonalna matrika. Lastne vrednosti lahko uredimo tako, da veljaλ n ≤ λ n−1 ≤ · · · ≤ λ 1 ,pripadajoče lastne vektorje x 1 , . . . , x n pa lahko izberemo tako, da tvorijo ortonormirano bazo.Hitro vidimo, da velja‖A‖ 2 = max(|λ 1 |, |λ n |).Ker imamo opravka le z realnimi lastnimi vektorji, tudi Rayleighov kvocient računamo le zarealne vektorje. Za x ̸= 0 jeρ(x, A) = xT Axx T x .Že iz prejšnjega poglavja vemo, da za Rayleighov kvocient veljajo naslednje lastnosti:a) Za α ̸= 0 je ρ(x, A) = ρ(αx, A).b) Za lastni vektor x i je ρ(x i , A) = λ i .c) Če je x približek za lastni vektor, je ρ(x, A) najboljša aproksimacija za lastno vrednost vsmislu, da je min σ∈R ‖Ax − σx‖ 2 dosežen pri σ = ρ(x, A).Za simetrične matrike velja še naslednja lastnost.Lema 2.1 Če je A simetrična matrika z lastnimi vrednostmi λ n ≤ · · · ≤ λ 1 , potem za vsak x ̸= 0 veljaλ n ≤ ρ(x, A) ≤ λ 1 .Dokaz.Če vektor x razvijemo po bazi lastnih vektorjev kot x = ∑ n i=1 α ix i , dobimoρ(x, A) = ∑n i=1 α2 i λ i∑ n ,i=1 α2 i23


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 24kar lahko očitno ocenimo navzgor in navzdol z λ 1 oziroma λ n .Iz zgornje leme sledi, da bi lahko največjo in najmanjšo lastno vrednost izrazili z maksimumomoziroma minimumom Rayleighovega kvocienta po vseh neničelnih vektorjih. Kot pravi naslednjiizrek, lahko podobno izrazimo tudi vse preostale lastne vrednosti. Rezultat je temelj zaštevilne pomembne teoretične rezultate.Izrek 2.2 (Courant–Fischerjev minimaks izrek) Če je A simetrična matrika z lastnimi vrednostmiλ n ≤ · · · ≤ λ 1 , potem za i = 1, . . . , n veljaλ i =minS⊂R ndim(S)=n−i+1maxx∈Sx̸=0ρ(x, A) = maxR⊂R ndim(R)=imin ρ(x, A). (2.1)x∈Rx̸=0Dokaz. Za poljubna podprostora S, R ⊂ R n , dim(R) = i in dim(S) = n − i + 1, obstajax RS ∈ R ∩ S, x RS ̸= 0, saj je dim(R) + dim(S) = n + 1. Očitno veljaminx∈Rx̸=0ρ(x, A) ≤ ρ(x RS , A) ≤ max ρ(x, A).x∈Sx̸=0Ker to velja za vsak par R, S velja tudi za par ˜R, ˜S, kjer je dosežen minimum oz. maksimum vizrazu (2.1). TorejmaxR⊂R ndim(R)=imin ρ(x, A) ≤x∈Rρ(x˜R˜S , A) ≤x̸=0minS⊂R ndim(S)=n−i+1Po drugi strani pa za par ̂R = Lin(x 1 , . . . , x i ) in Ŝ = Lin(x i , . . . , x n ) veljaOd tod sledisaj jein podobnoIz (2.2) in (2.3) sledi (2.1).maxR⊂R ndim(R)=iminx∈ ̂Rx̸=0ρ(x, A) = λ i = max ρ(x, A).x∈Ŝx̸=0min ρ(x, A) ≥x∈Rx̸=0maxR⊂R ndim(R)=iminS⊂R ndim(S)=n−i+1minx∈Rx̸=0maxx∈Sx̸=0minS⊂R ndim(S)=n−i+1ρ(x, A) ≥ min ρ(x, A)x∈ ̂Rx̸=0ρ(x, A) ≤ max ρ(x, A).x∈Ŝx̸=0max ρ(x, A). (2.2)x∈Sx̸=0max ρ(x, A), (2.3)x∈Sx̸=0Posledica 2.3 Če sta A in E simetrični matriki in so λ n ≤ · · · ≤ λ 1 lastne vrednosti matrike A,̂λ n ≤ · · · ≤ ̂λ 1 pa lastne vrednosti matrike A + E, potem za i = 1, . . . , n veljaλ i + λ n (E) ≤ ̂λ i ≤ λ i + λ 1 (E).Dokaz. Iz ρ(x, A + E) = ρ(x, A) + ρ(x, E) ocenimoρ(x, A) + λ n (E) ≤ ρ(x, A + E) ≤ ρ(x, A) + λ 1 (E)in uporabimo Courant–Fischerjev minimaks izrek.Od tod sledi naslednji, t.i. Weylov izrek. Če se vam zdi znan, to ni nič nenavadnega, saj smo gakot posledico Bauer–Fikeovega izreka zapisali že v posledici 1.8.


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 25Posledica 2.4 (Weylov izrek) Če sta A in E simetrični matriki in so λ n ≤ · · · ≤ λ 1 lastne vrednostimatrike A, ̂λ n ≤ · · · ≤ ̂λ 1 pa lastne vrednosti matrike A + E, potem za i = 1, . . . , n velja|λ i − ̂λ i | ≤ ‖E‖ 2 .Izrek 2.5 (Cauchyjev izrek o prepletanju) Če je A simetrična matrika in je A r njena vodilna podmatrikavelikosti r × r za r = 1, . . . , n − 1, potem veljaλ r+1 (A r+1 ) ≤ λ r (A r ) ≤ λ r (A r+1 ) ≤ · · · ≤ λ 2 (A r+1 ) ≤ λ 1 (A r ) ≤ λ 1 (A r+1 ).[ ]Dokaz. Dovolj je dokazati primer r = n − 1. Če je x ′ x∈ R n−1 ′in x = ∈ R0n , potem jeρ(x ′ , A n−1 ) = ρ(x, A).Po Courant–Fischerjevem minimaks izreku veljaλ k (A n−1 ) =minS ′ ⊂R n−1dim(S ′ )=n−kmax ρ(x ′ , A n−1 ).x ′ ∈S ′x ′̸=0Vsak podprostor lahko podamo z njegovim ortogonalnim komplementom, zato lahko pišemoλ k (A n−1 ) = min max ρ(x ′ , A n−1 ).p 1 ′ ,...,p′ k−1 ∈Rn−1 x ′ ∈R n−1 , x ′̸=0x ′ ⊥p ′ i , i=1,...,k−1Pogoj, da morajo biti vektorji p1 ′ , . . . , p′ k−1linearno neodvisni, lahko izpustimo, saj je minimumočitno dosežen pri linearno neodvisnih vektorjih. Sedaj lahko pišemoλ k (A n−1 ) = min max ρ(x, A)p 1 ,...,p k−1 ∈R n x∈R n , x̸=0, x⊥enx⊥p i , i=1,...,k−1≤minp 1 ,...,p k−1 ∈R nmaxx∈R n , x̸=0x⊥p i , i=1,...,k−1Tako smo pokazali λ k (A n−1 ) ≤ λ k (A). Po drugi strani pa veljaλ k (A n−1 ) = minp 1 ,...,p k−1 ∈R n= minp 1 ,...,p k−1,p k∈R np k =en≥minp 1 ,...,p k−1 ,p k ∈R nmax ρ(x, A)x∈R n , x̸=0, x⊥enx⊥p i , i=1,...,k−1ρ(x, A)maxx∈R n , x̸=0x⊥p i , i=1,...,kmaxx∈R n , x̸=0x⊥p i , i=1,...,kρ(x, A) = λ k (A).ρ(x, A) = λ k+1 (A).Naslednji izrek pove, da lahko iz norme ostanka Ax − βx približka β za lastno vrednost inpribližka x za lastni vektor dobimo zelo dobro oceno, kako natančno β aproksimira točno lastnovrednost matrike A.Izrek 2.6 Če je A simetrična matrika, ‖x‖ 2 = 1 in β približek za lastno vrednost, potem ima matrikaA vsaj eno lastno vrednost λ i , ki zadošča |β − λ i | ≤ ‖Ax − βx‖ 2 .Dokaz. Naj bo r = Ax − βx. Dokaz je podoben kot pri Bauer–Fikeovemu izreku. Predpostavimolahko, da se β razlikuje od vseh lastnih vrednosti, kar pomeni, da je A − βI nesingularna.Matrika A se da diagonalizirati kot A = XDX T , torej A − βI = X(D − βI)X T . Sedaj jex = (A − βI) −1 r, kar pomeni 1 ≤ ‖(D − βI) −1 ‖ 2 ‖r‖ 2 , odtod pa dobimomini|λ i − β| ≤ ‖r‖ 2 .


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 262.2 Rayleighova iteracijaČe inverzno iteracijo kombiniramo z Rayleighovim kvocientom, dobimo naslednji algoritem:izberi z 0 ̸= 0k = 0, 1, . . .σ k = ρ(z k , A)reši (A − σ k I)y k+1 = z kz k+1 = y k+1‖y k+1 ‖ 2Namesto fiksnega premika σ pri inverzni iteraciji uporabljamo Rayleighov kvocient, ki je najboljšipribližek za lastno vrednost danega vektorja.Metoda ni omejena le na simetrične matrike, lahko jo uporabimo tudi za nesimetrične. Pokazatise da, da je konvergenca Rayleighove iteracije v bližini enostavne lastne vrednosti kvadratična,v primeru simetrične matrike pa celo kubična.Lema 2.7 Naj bo normiran vektor z 0 približek za lastni vektor x 1 . Če za simetrično matriko A z lastnimivrednostmi |λ n | ≤ · · · ≤ |λ 2 | < |λ 1 | izvedemo en korak potenčne metode z začetnim vektorjem z 0 ,potem velja‖z 1 ± x 1 ‖ 2 ≤ |λ 2||λ 1 | ‖z 0 − x 1 ‖ 2 ,kjer predznak ± izberemo tako, da je norma razlike manjša.Dokaz. Brez škode za splošnost lahko predpostavimo, da je λ 1 > 0. Če vektor z 0 razvijemopo lastnih vektorjih, dobimo z 0 = ∑ n i=1 α ix i , kjer je α 1 ≈ 1. Od tod sledi z 1 = ∑ n i=1 β ix i , kjer jeβ 1 =α 1 λ 1) 1/2=( n∑α 2 i λ2 ii=1(1 +n∑i=21( ) 2 ( ) ) 2 1/2.αi λiα 1 λ 1Velja ‖z 0 − x 1 ‖ 2 2 = 2(1 − α 1) in podobno ‖z 1 ± x 1 ‖ 2 2 = 2(1 − β 1). Sedaj lahko ocenimotorejTako dobimo1 − β 1 ≈ 1 2‖z 1 ± x 1 ‖ 2 2 = 2(1 − β 1 ) ≤in lema je dokazana.β 1 ≈ 1 − 1 2n( ) 2 ( ) 2 αi λi∑,αi=2 1 λ 1n( ) 2 ( ) 2 αi λi∑≤ 1 ( ) 2 λ2 n∑α 2 i = 1 ( ) 2 λ2(1 − α 2αi=2 1 λ 1 2 λ 1 2 λ1).i=2 1( ) 2 ( ) 2 ( ) 2 λ2λ2λ2(1 + α 1 )(1 − α 1 ) ≤ 2(1 − α 1 ) = ‖z 0 − x 1 ‖ 2 2λ 1 λ 1 λ 1


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 27Posledica 2.8 Naj bo A simetrična matrika in |λ i − σ| ≪ |λ j − σ| za j ̸= i, j = 1, . . . , n. Če izvedemoen korak inverzne iteracije z začetnim vektorjem z 0 , potem velja‖z 1 − x i ‖ 2 = O(|λ i − σ| · ‖z 0 − x 1 ‖ 2 ).Lema 2.9 Naj bo A simetrična matrika in naj bo normiran vektor z približek za lastni vektor x k . Potemvelja|λ k − ρ(z, A)| ≤ 2‖A‖ 2 ‖z − x k ‖ 2 .Dokaz. Brez škode za splošnost lahko predpostavimo, da je k = 1. Če vektor z razvijemo polastnih vektorjih kot z = ∑ n i=1 α ix i , potem je ‖z − x 1 ‖ 2 2 = 2(1 − α 1). Za razliko Rayleighovegakvocienta dobimoin ocenimoλ 1 − ρ(z, A) = λ 1n∑i=1α 2 i −n∑i=1λ i α 2 i =n∑i=2(λ 1 − λ i )α 2 i|λ 1 − ρ(z, A)| ≤ 2‖A‖ 2n∑i=2α 2 i = 2‖A‖ 2 (1 − α 2 1) ≤ 4‖A‖ 2 (1 − α 1 ) = 2‖A‖ 2 ‖z − x 1 ‖ 2 2.Izrek 2.10 Naj bo A simetrična matrika. Potem ima Rayleighova iteracija v bližini enostavne lastnevrednosti kubični red konvergence.Dokaz. Naj Rayleighova iteracija konvergira k enostavni lastni vrednosti λ k s pripadajočimlastnim vektorjem x k . Po enem koraku Rayleighove iteracije po posledici 2.8 veljaKer po lemi 2.9 velja tudi‖z 1 − x k ‖ 2 = O(|λ k − σ 0 | · ‖z 0 − x k ‖ 2 ).|λ k − ρ(z 0 , A)| ≤ 2‖A‖ 2 ‖z 0 − x k ‖ 2 ,oceni skupaj data ‖z 1 − x k ‖ 2 = O(‖z 0 − x k ‖ 3 2) in konvergenca je res kubična.[ ][ ]λ1 0crZgled 2.1 Naj bo A = , λ0 λ 1 > λ 2 in z r = , ‖z2 s r ‖ 2 2 = c2 r + s 2 r = 1. Pri enem korakurRayleighove iteracije dobimoσ r = zr T Az r = c 2 r λ 1 + s 2 r λ 2 .Iz sistema [λ1 − c 2 r λ 1 − s 2 ]r λ 2 00 λ 2 − c 2 r λ 1 − s 2 yr λ r+1 = z r2dobimood tod pa1y r+1 =(λ 1 − λ 2 )c 2 r s 2 rz r+1 =1√c 6 r + s 6 r[ ]c3r−s 3 ,r[ ]c3r−s 3 .rOd tod v primeru s r ̸= c r sledi kubična konvergenca proti e 1 oziroma e 2 .□


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 282.3 QR iteracija za simetrični lastni problemV primeru simetrične matrike je zgornja Hessenbergova matrika tridiagonalna. Za redukcijona tridiagonalno obliko sicer zaradi simetrije porabimo približno polovico toliko operacij kotza nesimetrično matriko, a to še vedno pomeni O(n 3 ) operacij. Med samo QR iteracijo pa jerazlika večja. Zaradi tridiagonalne oblike lahko en korak QR iteracije sedaj izvedemo z zahtevnostjoO(n), medtem ko imamo pri zgornji Hessenbergovi obliki, ki nastopa pri nesimetričnemprimeru, O(n 2 ) operacij.Pri QR iteraciji torej najprej poiščemo ortogonalno matriko Q, da je T = QAQ T tridiagonalna,potem pa delamo QR z enojnim premikom:T 0 = Tk = 0, 1, . . .izberi premik σ kT k − σ k I = Q k R k (izračunaj QR razcep)T k+1 = R k Q k + σ k INaj boKako izberemo premik:⎡T k =⎢⎣a (k)1b (k)1b (k)1a (k)2b (k)2. .. . .. . ..b (k)n−2a (k)n−1b (k)n−1b (k)n−1a (k)n⎤.⎥⎦• Rayleighov premik: vzamemo σ k = a (k)n = ρ(e n , T k ). V tem primeru imamo za skoraj vsematrike zagotovljeno kubično konvergenco, a vseeno obstajajo primeri, ko metoda nekonvergira, če začetni približek ni dovolj dober.Zgled[ ]2.2 Matrika, za katero QR iteracija z Rayleighovim premikom ne konvergira, je npr. T 0 =0 1. V tem primeru je σ1 00 = 0 in T 1 = T 0 . □Kubično konvergenco v bližini enostavnih lastnih vrednosti nam zagotavlja naslednjalema, ki povezuje Rayleighovo iteracijo in QR iteracijo.Lema 2.11 Če je A simetrična in delamo QR iteracijo z Rayleighovimi premiki, potem so premikiσ k enaki Rayleighovim kvocientom, ki jih dobimo pri Rayleighovi iteraciji, če za začetni vektorvzamemo z 0 = e n .• Wilkinsonov premik: za σ k vzamemo tisto lastno vrednost matrikebližja a (k)nimamo za skoraj vse matrike kubično konvergenco (a brez dokaza).[a (k)n−1b (k)n−1b (k)n−1a (k)n], ki je. Sedaj imamo za vse matrike dokazano vsaj linearno konvergenco, v praksi pa


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 292.4 Sturmovo zaporedjeNaj bo⎡⎤a 1 b 1b 1 a 2 b 2T =. .. . .. . ..⎢⎥⎣b n−2 a n−1 b⎦n−1b n−1 a nireducibilna tridiagonalna simetrična matrika (torej b i ̸= 0 za vsak i). Če s T r označimo njenovodilno r × r podmatriko in definiramo f r (λ) = det(T r − λI), potem z razvijanjem po zadnjivrstici pridemo do rekurzivne formulef r+1 (λ) = (a r+1 − λ) f r (λ) − b 2 r f r−1 (λ)za r = 0, . . . , n − 1, ki se začne z f 0 (λ) ≡ 1 in f 1 (λ) = a 1 − λ.Izrek 2.12 Polinomi f 0 , . . . , f n tvorijo Sturmovo zaporedje, kar pomeni, da zadoščajo naslednjim tremtočkam:1) f 0 (λ) ̸= 0 za vsak λ.2) Če je f r (λ 0 ) = 0 za r < n, potem je f r−1 (λ 0 ) f r+1 (λ 0 ) < 0.3) Če je f n (λ 0 ) = 0, potem je f n−1 (λ 0 ) f ′ n(λ 0 ) < 0.Dokaz. Točka 1) je očitna. Pri točki 2) iz rekurzivne formule sledi f r+1 (λ 0 ) = −b 2 r f r−1(λ 0 ).Obe vrednosti sta neničelni, saj bi sicer veljalo f i (λ 0 ) = 0 za i = 0, . . . , n, to pa je v protislovju stočko 1).Pri točki 3) definiramo ∆ r (λ 0 ) = f r (λ 0 ) f ′ r−1 (λ 0) − f r−1 (λ 0 ) f ′ r(λ 0 ). Z računanjem lahko hitropreverimo, da velja∆ r+1 (λ 0 ) = f 2 r (λ 0 ) + b 2 r ∆ r(λ 0 ).Ker je ∆ 1 (λ 0 ) = 1 > 0, je ∆ r (λ 0 ) > 0 za vsak r. Torej tudi ∆ n (λ 0 ) = − f n−1 (λ 0 ) f ′ n(λ 0 ) > 0.Posledica 2.13 Ireducibilna tridiagonalna simetrična matrika ima enostavne lastne vrednosti.Dokaz. To sledi iz točke 3) zadnjega izreka, saj v primeru f n (λ 0 ) = 0 velja f ′ n(λ 0 ) ̸= 0.Pri fiksnem λ 0 označimo z u(λ 0 ) število ujemanj predznaka v zaporedju f 0 (λ 0 ), . . . , f n (λ 0 ). Pritem vsako notranjo ničlo štejemo za eno ujemanje, ničlo na koncu pa ne. Primeri:u(+ + − − +) = 2,u(+ + 0 − +) = 2,u(+ + 0 − +0) = 2.Lema 2.14 Število u(λ 0 ) je enako številu lastnih vrednosti matrike T, ki so strogo večje od λ 0 .


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 30Dokaz. Naj λ teče od −∞ do ∞. Pri λ = −∞ imamo očitno zaporedje + + + · · ·, pri λ = ∞ pa+ − + − · · ·. Tako je u(−∞) = n in u(∞) = 0.Pokazali bomo, da se število u(λ) lahko spremeni le, če prečkamo ničlo polinoma f n , ne patudi, če prečkamo ničlo polinoma f r , r < n.Naj bo f r (λ 0 ) = 0, r < n. Potem je iz tabeleλ 0 − ǫ λ 0 λ 0 + ǫf r−1 ± ± ±f r ± 0 ∓f r+1 ∓ ∓ ∓razvidno, da pri zadosti majhnem ǫ > 0 velja u(λ 0 − ǫ) = u(λ 0 + ǫ).V primeru f n (λ 0 ) = 0 pa iz tabeleλ 0 − ǫ λ 0 λ 0 + ǫf r−1 ± ± ±f n ± 0 ∓sledi, da pri zadosti majhnem ǫ > 0 velja u(λ 0 − ǫ) = u(λ 0 + ǫ) + 1.Sedaj lahko z bisekcijo ali kakšno drugo metodo poiščemo k-to lastno vrednost. Iščemo točkoλ k , za katero velja u(λ k − ǫ) = k in u(λ k + ǫ) = k − 1 za dovolj majhen ǫ > 0. Če nimamoboljše ocene za začetni interval, lahko vzamemo [−‖T‖, ‖T‖] za poljubno normo matrike T.Metoda je uporabna tudi, če nas zanimajo samo lastne vrednosti na določenem intervalu ali panekaj lastnih vrednosti. Tako je npr. razlika u(β) − u(α) enaka število lastnih vrednosti matrikeT, ki so na intervalu (α, β].2.5 Deli in vladajTo je trenutno najhitrejša metoda za ireducibilno simetrično tridiagonalno matriko. Naj boZa m < n razdelimo T kotkjer je⎡⎤a 1 b 1. b .. . ..T = ⎢ 1 ⎣ . .. . ⎥ .. bn−1⎦ .b n−1 a nT =[ ]T1 0+ b0 T m vv T ,2⎡⎤ ⎡a 1 b 1. b .. . ..T 1 = ⎢ 1 ⎣ . ⎥.. am−1 b ⎦ , T 2 = ⎢⎣m−1a m − b mb m−1a m+1 − b m b m+1b m+1 a m+2. ... .. .⎥ .. bn−1⎦b n−1 a n⎤


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 31inv = e m + e m+1 = [0 · · · 0 1 1 0 · · · 0] T .T 1 in T 2 sta simetrični tridiagonalni matriki, zato obstajata ortogonalni matriki Q 1 , Q 2 in diagonalnimatriki D 1 , D 2 , da je T 1 = Q 1 D 1 Q1 T in T 2 = Q 2 D 2 Q2 T . Potem je[ ] ([ ] ) [ ]Q1 0 D1 0T =+ b0 Q 2 0 D m uu T QT102 0 Q2T ,kjer je[ ] [QTu = 10 Q1 (m, :)0 Q2T v =T ]Q 2 (1, :) T .[ ]Lastne vrednosti T so tako enake lastnim vrednostim D + ρuu T D1 0, kjer je D =in0 D 2ρ = b m . Če izračunamo lastne vrednosti[in vektorje]D + ρuu T = Q ′ ΛQ ′T , potem so na diagonaliQ1 0Λ lastne vrednosti matrike T, Q =Q ′ pa so ustrezni lastni vektorji.0 Q 2Zapišimo algoritem v grobem.Algoritem 2.1 Osnovna varianta metode deli in vladaj. Začetni podatek je ireducibilna tridiagonalnasimetrična matrika T. Algoritem vrne diagonalno matriko Λ in ortogonalno matrikoQ da je T = QΛQ T .[Q, Λ]=deliinvladaj(T)če je T velikosti 1 × 1, potem vrni Q = 1, Λ = Tsicer: [ ]T1 0razdeli T = + b0 T m vv T .2[Q 1 , D 1 ]=deliinvladaj(T 1 )[Q 2 , D 2 ]=deliinvladaj(T 2 )iz Q 1 , Q 2 , D 1 , D 2 izračunaj D + ρuu Tizračunaj[lastne]vrednosti Λ in vektorje Q ′ za D + ρuu TQ1 0Q =Q0 Q ′ .2Zapisati moramo še, kako lahko ekonomično in natančno izračunamo lastne vrednosti in vektorjematrike D + ρuu T . Za samo računanje uredimo diagonalne elemente D tako, da je d 1 ≥d 2 ≥ · · · ≥ d n . Seveda moramo ustrezno preurediti tudi elemente vektorja u.Najprej izločimo vse lastne vrednosti in vektorje, kjer lahko uporabimo naslednjo lemo.Lema 2.15 Naj bo A = D + ρuu T , kjer je D = diag(d 1 , . . . , d n ), d 1 ≥ d 2 ≥ · · · ≥ d n in u =[u 1 · · · u n ] T .a) Če je d i = d i+1 je d i lastna vrednost matrike A, lastni vektor pa je [0 · · · 0 − u i+1 u i 0 · · · 0] T .b) Če je u i = 0 je d i lastna vrednost matrike A, lastni vektor pa je e i .


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 32V nadaljevanju lahko predpostavimo, da so vsi d i različni in da je u i ̸= 0 za i = 1, . . . , n.Predpostavimo še, da je λ lastna vrednost matrike D + ρuu T , matrika D − λI pa je nesingularna.Potem je()det(D + ρuu T − λI) = det (D − λI)(I + ρ(D − λI) −1 uu T ) ,od tod pa sledidet(I + ρ(D − λI) −1 uu T ) = 0.Ker vemo, da je det(I + xy T ) = 1 + y T x, so lastne vrednosti D + ρuu T ničle sekularne enačbef(λ) = 0, kjer jef(λ) = det(I + ρ(D − λI) −1 uu T ) = 1 + ρu T (D − λI) −1 uu 2 i= 1 + ρd i − λ .n∑i=1Kako zgleda graf f(λ)? Asimptota je y = 1. Ker je f ′ (λ) = ρ ∑ n u 2 ii=1 , je za ρ > 0 funkcijastrogo naraščajoča (med poli), sicer pa padajoča. Ničle ležijo med poli, ena pa desno od(d i −λ) 2zadnjega pola (pri ρ > 0) ali levo od prvega pola (pri ρ < 0).Denimo, da z neko numerično metodo, npr. Newtonovo, poiščemo lastne vrednosti. Za lastnevektorje potem velja:Lema 2.16 Če je α lastna vrednost D + ρuu T , je (D − αI) −1 u ustrezni lastni vektor.Dokaz.(D + ρuu T )(D − αI) −1 u = (D − αI + αI + ρuu T )(D − αI) −1 u == u + α(D − αI) −1 u + u(ρu T (D − αI) −1 u) == u + α(D − αI) −1 u − u = α(D − αI) −1 u,saj iz f(α) = 1 + ρu T (D − αI) −1 u = 0 sledi ρu T (D − αI) −1 u = −1.Ker rešujemo diagonalni sistem, lahko vsak lastni vektor izračunamo v O(n).Za konec si podrobno poglejmo, kako rešujemo sekularno enačbo. Navadne tangentne metodene moremo uporabiti, saj so ničle lahko zelo blizu polov in bi potrebovali zelo dobre približke.Namesto aproksimacije funkcije s tangento zato raje uporabimo preprosto racionalno funkcijo,ki se prilega funkciji f .Denimo, da iščemo rešitev na intervalu (d i+1 , d i ), začetni približek pa je x r . Sedaj poiščemoracionalno funkcijo oblikeh(λ) = c 1d i − λ + c 2d i+1 − λ + c 3,za katero velja h(x r ) = f(x r ) in f ′ (x r ) = h ′ (x r ). Zaradi stabilnosti razdelimo f na dva dela kotf(λ) = 1 + ρi∑k=1u 2 kd k − λ + ρn∑k=i+1u 2 kd k − λ =: 1 + ψ 1(λ) + ψ 2 (λ).To naredimo zato, da v vsoti za ψ 1 (λ) oziroma ψ 2 (λ) seštevamo enako predznačene člene.Sedaj določimo c 1 , c ′ 1 tako, da za h 1 (λ) = c 1d i − λ + c′ 1


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 33velja h 1 (x r ) = ψ 1 (x r ) in h1 ′ (x r) = ψ1 ′ (x r). Podobno določimo c 2 , c2 ′ tako, da zah 2 (λ) =c 2d i+1 − λ + c′ 2velja h 2 (x r ) = ψ 2 (x r ) in h ′ 2 (x r) = ψ ′ 2 (x r). Sedaj je h(λ) = 1 + h 1 (λ) + h 2 (λ) iskana racionalnafunkcija. Enačba h(λ) = 0 ima dve rešitvi, za x r+1 pa vzamemo tisto, ki leži znotraj (d i+1 , d i ).Konvergenca je zelo hitra, saj h zelo dobro aproksimira f na intervalu (d i+1 , d i ).Pri numeričnem računanju se izkaže, da so lastni vektorji, ki jih izračunamo preko leme 2.16bolj slabo ortogonalni, zato je potrebno algoritem popraviti. Pri popravku vektor u nadomestimoz bližnjim û, za katerega je potem vse v redu, vse pa temelji na Löwnerjevem izreku.Časovna zahtevnost algoritma za izračun vseh lastnih vrednosti in vektorjev je 4 3 n3 + O(n 2 ), vpraksi pa je še manjša, saj lahko velikokrat lastne vektorje in vrednosti izračunamo preko leme2.15.2.6 Jacobijeva metodaPri tej metodi matrike na začetku ne reduciramo na tridiagonalno obliko. Ideja je, da matriko Az množenji z Givensovimi rotacijami z leve in desne poskusimo spraviti čim bližje diagonalnimatriki.Denimo,[ ]da bi radi v matriki A uničili element na mestu pq. Najprej poiščemo rotacijo R =c −s, da bo veljalos c[ ] [ ] [ ] [ ] [ ]R T app a pq c s app aR =pq c −s λ1 0= . (2.4)a pq a qq −s c a pq a qq s c 0 λ 2Iz zveze (a qq − a pp )sc + a pq (c 2 − s 2 ) dobimoτ :=cos 2ϕsin 2ϕ = c2 − s 22sc= a pp − a qq2a pq.Če definiramo t := s c= tan ϕ, potem velja (uporabimo formule za tangens dvojnega kota)Rešitev jet =t 2 + 2τt − 1 = 0.sign(τ)|τ| + √ 1 + τ 2 , c = √11 + t 2 , s = ct.Tako smo dobili formule za izračun Jacobijeve rotacije jac(A, p, q), ki v A uniči element a pq .Algoritem za eno rotacijo jeA = jac(A, p, q)τ = a pp−a qqt =2a pqsign(τ)|τ|+ √ 1+τ 2


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 34√1c =1+t 2s = ctA = R pq (ϕ) T AR pq (ϕ)J = JR pq (ϕ) (če potrebujemo tudi lastne vektorje)Po rotaciji (p, q) se v A spremenita vrstici p in q ter stolpca p in q. To pomeni, da se ničle, kismo jih naredili v prejšnjih korakih, lahko s tem zrcaljenjem pokvarijo. Kljub temu pa se normaizvediagonalnih elementov z rotacijami zmanjšuje.Definicija 2.17 Za n × n matriko A definiramooff(A) = √n∑j,k=1j̸=k|a jk | 2 .Vidimo, da je off(A) v bistvu Frobeniusova norma matrike A brez diagonale.Lema 2.18 Če A ′ dobimo iz A z Jacobijevo rotacijo jac(A, p, q), potem veljaoff(A ′ ) 2 = off(A) 2 − 2a 2 pq .Dokaz. Iz A ′ = R T pqAR pq sledi ‖A ′ ‖ F = ‖A‖ F . Za diagonalne elemente A ′ velja aii ′ = a ii zai ̸= p, q, za preostala dva elementa pa zaradi (2.4) velja a ′2 pp + a qq ′2 = a 2 pp + a 2 qq + 2a 2 pq. Torej moraza izvendiagonalne elemente veljati off(A ′ ) 2 = off(A) 2 − 2a 2 pq .Z vsako Jacobijevo rotacijo se tako zmanjša off(A). Postopek ponavljamo, dokler ni off(A) ≤ ǫ.Kako uničujemo elemente:• klasična varianta: v vsakem koraku poiščemo po absolutni vrednosti največji izvendiagonalnielement in ga uničimo. Sicer imamo po številu rotacij res najhitrejšo konvergenco, aimamo veliko primerjanj, ki povečajo časovno zahtevnost metode. Če si shranjujemo poabsolutni vrednosti največje elemente v vsakem stolpcu, potem lahko največji izvendiagonalnielement poiščemo v času O(n), prav toliko pa tudi porabimo v vsakem koraku,da posodobimo seznam največjih elementov. Iskanje torej poveča časovno zahtevnost, aima isti red kot sicer porabimo za en korak Jacobijeve metode.• ciklična varianta: v vedno enakem vrstnem redu gremo skozi vse elemente. Tu nimamoprimerjanj, lahko pa zaradi uničevanja elementov, ki so majhni po absolutni vrednostiporabimo veliko korakov.• pragovna varianta: v vedno enakem vrstnem redu gremo skozi vse elemente, a uničimole tiste elemente, ki so po absolutni vrednosti čez neko mejo, ki jo zmanjšamo v vsakemsprehodu.Jacobijeva metoda porabi več operacij kot QR ali deli in vladaj, njena prednost pa je, da zasimetrične pozitivno definitne matrike lastne vrednosti blizu 0 izračuna relativno bolj natančnood ostalih metod.


Poglavje 3Posplošitve problema lastnih vrednosti3.1 Posplošeni problem lastnih vrednosti3.1.1 Ax = λBx.Denimo, da imamo poseben primer, kjer je A = A T in B s.p.d.. V tem primeru B razcepimo poCholeskem v B = VV T in dobimo,AxV −1 AxV −1 AV −T V T x= λVV T x= λV T x= λV T xTako smo dobili simetričen lastni problem Cy = λy, kjer je C = V −1 AV −T in y = V T x. Če bivzeli kar preprosto B −1 Ax = λx, pa bi izgubili simetričnost.3.1.2 Ax = λW T DWxRešujemo Ax = λBx, kjer je B = W T GW, G s.p.d. in W pravokotna matrika polnega ranga.Potem1. razcep Choleskega G = LL T ,2. QR razcep L T W = QR,3. dobimo Ax = λR T Rx, odtod pa R −T AR −1 Rx = λRx.Končni problem je Cy = λy, kjer je C = R −T AR −1 in y = Rx.3.1.3 A T DAx = ω 2 B T MBxRešujemo A T DAx = ω 2 B T MBx, kjer sta A, B pravokotni matriki in D, M s.p.d.. Potem35


m2 mncn k n+1 c2 c1 k1 k2 k3 kn q1 q2 qn m1Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 361. razcep Choleskega D = G T G,2. razcep Choleskega M = R T R,3. dobimo (GA) T (GA)x = ω 2 (RB) T (RB)x,4. uporabimo posplošeni singularni razcepGA = UCX T , RB = VSX T ,kjer sta U, V ortogonalni, C, S diagonalni in X nesingularna matrika,5. dobimo C T Cy = ω 2 S T Sy, kjer je y = X T x.Končna rešitev je ω k = c ks kza k = 1, . . . , n.3.2 Kvadratni problem lastnih vrednostiIščemo rešitve za λ 2 Ax + λBx + Cx = 0, x ̸= 0, det A ̸= 0.Dobimo 2n lastnih vrednosti. Načini reševanja so npr.a) prevedba na standardni nesimetrični lastni problemMu = λukjer so[M =0 I−A −1 C −A −1 B] [ ] x, u =λxb) prevedba na posplošeni simetrični problem lastnih vrednostiMz = λNzkjer soM =[ ] [ ] [ ]B Cx−A 0, z = , N =.C 0 λx0 CZgled 3.1 Za zgled vzemimo nihanje dušenega sistema mas in vzmeti.


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 37Če predpostavimo q 0 = q n+1 = 0, potem iz Newtonovega zakona dobimo enačbe) ( )m i ¨q i (t) = −k i(q i (t) − q i−1 (t) − k i+1 q i (t) − q i+1 (t) − c i ˙q i (t),i = 1, . . . , n, iz katerih sestavimoM ¨q(t) + C ˙q(t) + Kq(t) = 0,kjer jeM =⎡⎢⎣m 1. ..m n⎤⎡⎥ ⎢⎦ , C = ⎣c 1. ..c n⎤⎥⎦ ,⎡K =⎢⎣⎤k 1 + k 2 −k 2.−k .. . ..2 . .. . ..⎥−kn ⎦ .−k n k n + k n+1M je masna matrika, C matrika dušenja, K pa togostna matrika.V primeru, ko so vse lastne vrednosti enostavne, ima splošna rešitev homogene diferencialne enačbeM ¨q(t) + C ˙q(t) + Kq(t) = 0,obliko2nq(t) = ∑ α k e λkt x k ,k=1kjer so α 1 , . . . , α 2n poljubne konstante, λ 1 , . . . , λ n so lastne vrednosti, x 1 , . . . , x 2n pa lastni vektorji zaλ 2 Mx + λCx + Kx = 0.3.3 Reševanje problema lastnih vrednosti v Matlabu•¸℄´µ: Vrnestolpci so lastni vektorji.•´µ: Vrne vektor lastnih vrednosti matrike A.•É¸À℄××´µ: VrneA = QHQ T .diagonalno matriko D z lastnimi vrednostmi in matriko X, katereortogonalno matriko Q in zgornjo Hessenbergovo matriko H, da je•É¸Ì℄×ÙÖ´µ: Vrne Schurov razcep matrika A, kjer je T kvazi zgornja trikotna matrika,Q pa ortogonalna matrika, da je A = QTQ T .•´¸µ: Vrne vektor lastnih vrednosti posplošenega problema lastnih vrednosti Ax =λBx.•¸℄´¸µ: Vrnediagonalno matriko D z lastnimi vrednostmi in matriko X, katerestolpci so lastni vektorji posplošenega problema lastnih vrednosti Ax = λBx.•Í¸Î¸¸¸Ë℄×Ú´¸µ: Vrne posplošeni razcep singularnih vrednosti za matriki Ain B, kjer sta U in V ortogonalni, X je nesingularna, C in S pa sta nenegativni diagonalnimatriki, tako da je A = UCX T , B = VSX T , C T C + S T S = I.


Poglavje 4Singularni razcep4.1 Singularni razcepIzrek 4.1 Za vsako matriko A ∈ R m×n , m ≥ n, obstaja singularni razcepA = UΣV T ,kjer sta U ∈ R m×m in V ∈ R n×n ortogonalni matriki in je Σ ∈ R m×n oblike⎡ ⎤σ 1 . .. Σ =⎢ σ n ⎥⎣ ⎦ ,kjer so σ 1 ≥ σ 2 ≥ · · · ≥ σ n ≥ 0 singularne vrednosti A.Stolpci U = [u 1 · · · u m ] so levi, stolpci V = [v 1 · · · v n ] pa desni singularni vektorji.Dokaz. Ker je A T A simetrična pozitivno semidefinitna matrika, so vse njene lastne vrednostinenegativne:σ1 2 ≥ σ2 2 ≥ · · · ≥ σn 2 ≥ 0.Ustrezni ortonormirani lastni vektorji naj bodo A T Av i = σ 2 i v i, i = 1, . . . , n.Naj bo σ r > 0 in σ r+1 = · · · = σ n = 0. Označimo V 1 := [v 1 · · · v r ] in V 2 := [v r+1 · · · v n ]. Izsledi AV 2 = 0.(AV 2 ) T (AV 2 ) = V T 2 A T AV 2 = V T 2 [0 · · · 0] = 0Sedaj definiramo u i = 1 σ iAv i za i = 1, . . . , r. Vektorji u 1 , . . . , u r so ortonormirani, saj jeu T i u j = 1σ i σ jv T i AT Av j = σ jσ iv T i v j = δ ij , i, j = 1, . . . , r.38


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 39Označimo U 1 := [u 1 · · · u r ] in izberemo U 2 := [u r+1 · · · u n ] tako, da je U = [U 1 U 2 ] ortogonalnamatrika. Matrika U T AV ima oblikoU T AV =r n − r(r U1 T AV 1 U1 T AV )2m − r U2 T AV 1 U2 T AV .2Desna dva bloka sta zaradi AV 2 = 0 enaka 0. Za i = 1, . . . , r in k = 1, . . . , m veljau T k Av i = σ i u T k u i = σ i δ ik ,torej U2 T AV 1 = 0 in U1 T AV 1 = diag(σ 1 , . . . , σ r ). Tako smo dobili singularni razcep A = UΣV T ,kjer je S = diag(σ 1 , . . . , σ r ) in( r n − r )r S 0Σ =.m − r 0 0V primeru n < m dobimo singularni razcep tako, da transponiramo singularni razcep za A T .Pomen singularnega razcepa:• r se ujema z rang(A),• stolpci U 1 tvorijo bazo za imA,• stolpci V 2 tvorijo bazo za ker A,• stolpci U 2 tvorijo bazo za ker A T ,• stolpci V 1 tvorijo bazo za imA T .Še nekaj lastnosti singularnega razcepa:1. Če je A = A T , potem se da A diagonalizirati kot A = UDU T , U T U = I. Singularni razcepza A je potem A = UΣV T za σ i = |λ i | in v i = sign(λ i )u i (tu je sign(0) = 1).2. Lastne vrednosti A T A so σ 2 1 , . . . , σ2 n . Ortonormirani lastni vektorji AT A so desni singularnivektorji v 1 , . . . , v n .3. Lastne vrednosti AA T so σ1 2, . . . , σ2 n, 0, . . . , 0. Ortonormirani lastni vektorji AA} {{ }T so levim−nsingularni vektorji u 1 , . . . , u m .Poleg omenjenega poznamo tudi singularni razcep oblike A = Ũ˜ΣV T , kjer je Ũ matrika m × nz ortonormiranimi stolpci, ˜Σ = diag(σ 1 , . . . , σ r ), V pa je n × n ortogonalna matrika. Ũ se ujemas prvimi n stolpci matrike U, ˜Σ pa je zgornji kvadrat Σ v singularnem razcepu A = UΣV T .A predstavlja preslikavo iz R n v R m . Geometrijski pomen singularnega razcepa je, da se A zortogonalnima transformacijama baz U v R m in V v R n spremeni v diagonalno matriko, sajpotem veljaAv i = σ i u i , i = 1, . . . , n.


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 40Lema 4.2 Če je A ∈ R m×n , m ≥ n, rang(A) = n, potem je minimum ‖Ax − b‖ 2 dosežen prix =nui ∑Tbv i .σi=1 iDokaz.Naj bo A = UΣV T inU = ( n m − n( )) n SU 1 U 2 , Σ = .m − n 0[‖Ax − b‖ 2 = ‖UΣV T x − b‖ 2 = ‖ΣV T x − U T b‖ 2 =SV T x − U1 T∥b]∥ ∥∥∥2−U2 Tb .Minimum je dosežen pri SV T x = U T 1 b oziromax = VS −1 U T 1 b = n∑i=1u T i bσ iv i .Definicija 4.3 Za matriko A ∈ R m×n , m ≥ n, rang(A) = n, definiramo (Moore–Penroseov)psevdoinverz A + ∈ R n×m kotA + = (A T A) −1 A T .V primeru m < n in rang(A) = m definiramo A + = A T (AA T ) −1 .Rešitev predoločenega sistema polnega ranga Ax = b lahko zapišemo kot x = A + b.Če A ni polnega ranga, je psevdoinverz definiran preko singularnega razcepa. Naj bo A ∈R m×n , m ≥ n, rang(A) = r in A = UΣV T , kjer jeU = ( r m − r ) ( r n − r( r n − r )) r S 0U 1 U 2 , V = V 1 V 2 , Σ =m − r 0 0in S = diag(σ 1 , . . . , σ r ). Potem jekjer jeΣ + =A + = VΣ + U T ,( r m − rr S −1 )0.n − r 0 0Lema 4.4 Matrika X je psevdoinverz A natanko tedaj, ko izpolnjuje Moore–Penroseove pogoje:1) AXA = A,2) XAX = X,3) (AX) T = AX,4) (XA) T = XA.


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 41Če je A = UΣV T singularni razcep A in je rang(A) = r, potem direktno iz razcepa slediA =r∑ σ i u i vi T .i=1Izrek 4.5 (Eckart–Young–Mirsky) Naj bo A = UΣV T singularni razcep matrike A ∈ R m×n , m ≥n, in rang(A) > k. Naj bokA k = ∑ σ i u i viTi=1oziroma A k = UΣ k V T , kjer je⎡σ 1 . .. σ k 0Σ k =⎢⎣⎤. . .. 0⎥⎦Potem veljainmin ‖B − A‖ 2 = ‖A k − A‖ 2 = σ k+1rang(B)=k( n∑) 1/2min ‖B − A‖ F = ‖A k − A‖ F = σi 2 .rang(B)=ki=k+1Dokaz. Izrek bomo dokazali le za spektralno normo, kjer je dokaz enostavnejši. Če je rang(B) =k, potem je dim ker B = n − k. Naj bo V k+1 = [v 1 · · · v k+1 ]. Ker je dim imV k+1 + dim ker B =n + 1, obstaja 0 ̸= z ∈ imV k+1 ∩ ker B in ‖z‖ 2 = 1. Dobimo‖A − B‖ 2 2 ≥ ‖(A − B)z‖ 2 2 = ‖Az‖ 2 2 = ‖UΣV T z‖ 2 2 = ‖ΣV T z‖ 2 2 ≥ σ 2 k+1 ‖VT z‖ 2 2 = σ 2 k+1 .Po drugi strani je očitno, da je ‖A k+1 − A‖ 2z = v k+1 .= σ k+1 , saj je maksimum ‖V T z‖ 2 dosežen priTo pomeni, da je A k najboljša aproksimacija matrike A z matriko ranga k, σ k+1 pa nam pove,kako daleč je A od prostora matrik ranga k.Zgled 4.1 Singularni razcep lahko uporabimo za stiskanje slik. Sliko lahko predstavimo z matriko A,katere elementi predstavljajo nivo sivine. Namesto A vzamemo najboljšo aproksimacijo z matriko rangak. Pri tem namesto mn podatkov potrebujemo le (m + n)k podatkov za [u 1 · · · u k ] in [σ 1 v 1 · · · σ k v k ].Primer je na sliki 4.1, kjer matriko velikosti 468 × 468, ki predstavlja sivinsko sliko, aproksimiramo zmatrikami ranga 3, 10 in 25. Čeprav je iz slik razvidno, da pristop deluje, se v praksi za aproksimacijoslik uporabljajo še boljše metode, zelo znana je npr. metoda JPEG.□


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 42k: 3 rel.napaka: 0.100996 kompresija: 0.012834k: 10 rel.napaka: 0.038009 kompresija: 0.0427815050100100150150200200250250300300350350400400450100 200 300 400450100 200 300 400k: 25 rel.napaka: 0.015959 kompresija: 0.106952Originalna slika5050100100150150200200250250300300350350400400450100 200 300 400450100 200 300 400Slika 4.1: Uporaba singularnega razcepa za stiskanje slike. Sivinska slika velikosti 468 × 468 jepo vrsti aproksimirana z matrikami ranga 3, 10 in 25.Zgled 4.2 Singularni razcep se uporablja tudi v ozadju delovanja spletnih iskalnikov. Ko uporabljamoiskalnike, vpišemo nekaj ključnih besed in potem v kratkem času dobimo seznam strani, kjer se pojavljajoiskane ključne besede. Kako lahko iskalniki tako hitro poiščejo pravi seznam?Lahko si predstavljamo, da so vsi podatki o straneh na spletu shranjeni v m × n matriki A, kjer vsakavrstica predstavlja en spletni dokument, vsak stolpec pa eno izmed ključnih besed, ki se lahko pojaviv kateremkoli dokumentu. V preprostem modelu element a ij matrike A vsebuje število pojavitev j-teključne besede v i-tem dokumentu.Iz seznama ključnih besed, ki ga vnesemo v obrazec iskalnika, sestavimo vektor y ∈ R n , ki ima na j-tem mestu 1, če iščemo j-to ključno besedo, sicer pa 0. Produkt x = Ay je vektor iz R m . Elementx i predstavlja, kako dobro se i-ti dokument ujema z našo poizvedbo. Iskalnik kot rezultat vrne kratekseznam dokumentov, za katere so vrednosti x i največje.Matrika A je ogromna, saj je m lahko velikostnega razreda 10 11 , n pa velikostnega razreda 10 6 , in zelorazpršena. Kljub razpršenosti je izračun produkta x = Ay zelo zahteven in je ozko grlo poizvedbe.Rešitev je, da matriko A aproksimiramo z matriko A k majhnega ranga k (npr. k = 20). Če je A k =∑ k i=1 σ iu i vii T , potem kot približek za x vzamemox k = A k y =k∑ σ i (vi T y)u i,i=1ki ga lahko učinkovito izračunamo.□


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 434.2 Teorija motenjZa matriko A, ki je ranga r, definiramoκ 2 (A) = ‖A‖ 2 ‖A + ‖ 2 = σ 1(A)σ r (A) .Izrek 4.6 Naj bo A ∈ R m×n , m ≥ n, rang(A) = n, x = A + b rešitev predoločenega sistema inr = Ax − b. Naj bo ˜x = (A + δA) + (b + δb), kjer je( ‖δA‖2ǫ := max , ‖δb‖ )2< 1‖A‖ 2 ‖b‖ 2 κ 2 (A) .Potem je (A + δA) ranga n in velja‖˜x − x‖ 2‖x‖ 2≤ ǫκ 2(A)1 − ǫκ 2 (A)()‖r‖ 22 + (κ 2 (A) + 1).‖A‖ 2 ‖x‖ 2V primeru, ko je norma ostanka ‖r‖ 2 majhna, je občutljivost reda O(κ 2 (A)), če pa ostanek nizanemarljiv, je občutljivost predoločenega sistema reda O(κ2 2 (A)), V primeru r = 0 se ocenaujema z oceno občutljivosti linearnega sistema.Oceno za občutljivost predoločenega sistema moramo združiti z oceno občutljivosti n × n sistema,ki ga na koncu rešimo, da dobimo rešitev po metodi najmanjših kvadratov. Pri normalnemsistemu je občutljivost enaka κ2 2 (A), tako da imamo ne glede na občutljivost predoločenegasistema v oceni vedno κ2 2 (A). Pri QR razcepu ali singularnem razcepu pa se občutljivostne poveča in ostane κ 2 (A), tako da je celotna ocena odvisna od velikosti ‖r‖ 2 .4.3 Problemi defektnega ranga in nedoločeni problemiČe A ni polnega ranga, pravimo, da ima defekten rang. V primeru defektnega ranga rešitev,ki minimizira ‖Ax − b‖ 2 ni enolična, saj lahko x prištejemo poljuben z ∈ ker A. V takšnemprimeru pravimo, da je izmed vseh vektorjev x, ki minimizirajo ‖Ax − b‖ 2 , rešitev tisti, ki imaminimalno normo.Trditev 4.7 Če je A ∈ R m×n , m ≥ n, rang(A) = r < n in A = UΣV T singularni razcep, potem imaizmed vseh vektorjev x, ki minimizirajo normo ‖Ax − b‖ 2 , najmanjšo normo x = A + b oziromainx =r∑i=1‖Ax − b‖ 2 2 =ui Tbv iσ im∑ (ui T b)2 .i=r+1Dokaz.Za poljuben x ∈ R n velja‖Ax − b‖ 2 2 = ‖(U T AV)(V T x) − U T b‖ 2 2 = ‖Σa − U T b‖ 2 2


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 44=r∑i=1(σ i a i − u T i b)2 +m∑i=r+1(u T i b)2 ,kjer je a = V T x. To bo očitno minimalno pri a i = uT i bσ iza i = 1, . . . , r, komponente a r+1 , . . . , a mpa so poljubne. Da dobimo minimalni x = Va vzamemo a r+1 = · · · = a m = 0.Kaj pa če je rang sicer n, a je minimalna singularna vrednost σ n zelo majhna? Potem lahkopričakujemo, da bo imela rešitev veliko normo, saj velja naslednja trditev.Trditev 4.8 Naj bo A ∈ R m×n , A = UΣV T singularni razcep in σ n > 0.1. Če je x rešitev predoločenega sistema Ax = b po metodi najmanjših kvadratov, potem je‖x‖ 2 ≥ |uT n b|σ n.2. Če b zmotimo v b + δb, potem se x spremeni v x + δx, kjer je‖δx‖ 2 ≤ ‖δb‖ 2σ n.Dokaz.1. Iz x = A + b = ∑ n i=12. Velja δx = A + δb = ∑ n i=1ui Tbσ iv i sledi‖x‖ 2 2 =ui Tδbδ iv i . SlediEnakost je dosežena pri δb = αu n .( ) 2n uT∑ib≥ (uT n b)2σi=1 i σn2 .‖δx‖ 2 ≤ |uT n δb|σ n.V primeru defektnega ranga velja: če je σ r najmanjša neničelna singularna vrednost, potem zarešitev Ax = b po metodi najmanjših kvadratov veljaod tod pa je razvidno, da je ‖x‖ 2 ≥ ‖b‖ 2σ rza ‖δb‖ 2σ r.x =rui ∑Tbv i ,σi=1 iin da sprememba b v b + δb spremeni rešitev kvečjemu


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 454.4 RegularizacijaDenimo, da rešujemo linearni sistem Ax = b, kjer je A nesingularna, a zelo občutljiva matrikavelikosti n × n. Predpostavimo še, da v resnici rešujemo sistem z zmoteno desno stranjo ˜b, kjerso poleg b prisotne še majhne motnje, npr. zaradi meritev ali zaokrožitvenih napak. Rešitevzmotenega sistema ˜x lahko s pomočjo singularnega razcepa A = UΣV T izrazimo kot˜x =nu∑T˜biv i ,σi=1 ikjer ˜x razvijemo po singularnih vektorjih v 1 , . . . , v n .Če ima matrika A najmanjše singularne vrednosti zelo blizu 0, potem iz trditve 4.8 vemo, dalahko zelo majhna motnja desne strani povsem pokvari rezultat, kar pomeni, da se lahko ˜xmočno razlikuje od x. Tovrstne težave rešujemo z regularizacijo. Splošni nastavek je, da zaregularizirano rešitev x reg vzamemox reg =nu∑T φ ˜b i i v i ,σi=1 ikjer so φ i , i = 1, . . . , n, tako imenovani faktorji filtra.Z regularizacijo želimo izločiti tiste komponente v razvoju rešitve ˜x po desnih singularnih vektorjihv i , ki so preveč okužene z napako. Glavni metodi za regularizacijo sta:a) Odrezani singularni razcep. Izberemo k in vzamemo{1 : 1 ≤ k ≤ iφ i =0 : k + 1 ≤ i ≤ nTo pomeni, da matriko A nadomestimo z matriko A k , ki je po izreku 4.5 najboljša aproksimacijamatrike A z matriko ranga k, potem pa vzamemo x reg = A + k b.b) Regularizacija Tihonova. Izberemo regularizacijski parameter α > 0 in definiramo faktorjeφ i =σ2 iσ 2 i+ α 2za i = 1, . . . , n. To je ekvivalentno temu, da iščemo vektor x, ki reši naslednji problem:minx{‖b − Ax‖22 + α 2 ‖x‖ 2} .Vrednost parametra α moramo primerno izbrati. Če pošljemo α proti 0, potem bo x karrešitev sistema Ax = b, a ker je v b tudi šum, lahko potem pričakujemo, da bo normadobljenega vektorja zelo velika. Po drugi strani, če vzamemo velik α, potem je bolj bistvenoto, da ima x majhno normo, kot to, da reši sistem Ax = b. Pri primerni izbiri αnorma izračunanega vektorja x ne bo prevelika in hkrati tudi velikost ostanka b − Ax nebo prevelika.


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 464.5 Računanje singularnega razcepaZa matriko A ∈ R m×n bi radi izračunali singularni razcep A = UΣV T , kjer sta U ∈ R m×m inV ∈ R n×n ortogonalni matriki, matrika Σ ∈ R m×n pa ima na diagonali singularne vrednostiσ 1 ≥ σ 2 ≥ · · · ≥ σ n ≥ 0 matrike A (za podrobnosti poglejte razdelek 4.1). Ker veljadobimo idejo za naslednji preprost algoritem:A T A = VΣ T ΣV T ,1) izračunaj A T A,2) reši simetrični lastni problem A T A = VΛV T , odtod dobimo V,3) za Σ vzemi m × n matriko, ki ima v zgornjem bloku kvadratni koren Λ,4) reši sistem UΣ = AV za matriko U.Na žalost, kar kaže tudi naslednji zgled, računanje singularnih vrednosti z zgornjim postopkomni numerično stabilno.[ [ ]1 1Zgled 4.3 Če vzamemo A = √], kjer je η = 1 1 10 η 4 u, potem je AT A =, v premični[ ]1 1 + η1 1piki pa se to zaokroži v . Numerično izračunane singularne vrednosti so zato √ 2 in 0, točne pa1 1so √ 2 in √ η. Pri majhnih singularnih vrednostih lahko torej pride do velike relativne napake. □Za standardne algoritme, ki se jih uporablja za reševanje simetričnega problema lastnih vrednosti,velja, da za izračunano lastno vrednost ˜λ, ki je približek za točno lastno vrednost λ,velja |˜λ − λ| ≤ O(‖A‖ 2 )u.Ekspliciten izračun matrike A T A tako ni najboljša ideja in se mu poskušamo izogniti. Pri računanjusingularnega razcepa (razen pri Jacobijevi metodi) matriko najprej reduciramo na bidiagonalnoobliko. Postopek je:1) poišči ortogonalni matriki U 1 , V 1 , da bo A = U 1 BV T 1in B bidiagonalna,2) izračunaj singularni razcep za matriko B: B = U 2 ΣV T 2 ,3) singularni razcep za matriko A je A = (U 1 U 2 )Σ(V 1 V 2 ) T .Redukcijo na bidiagonalno obliko naredimo z množenji s Householderjevimi zrcaljenji z levein z desne. V primeru matrike 6 × 4 dobimo:⎡⎤ ⎡⎤× × × ×× × × ×× × × ×0 × × ×A =× × × ×⎢ × × × ×, P 1 A =0 × × ×⎥ ⎢ 0 × × ×,⎥⎣ × × × × ⎦ ⎣ 0 × × × ⎦× × × ×0 × × ×


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 47⎡⎤⎡⎤× × 0 0× × 0 00 × × ×0 × × ×P 1 AP 1 ′ = 0 × × ×⎢ 0 × × ×, P 2 P 1 AP 1 ′⎥= 0 0 × ×⎢ 0 0 × ×,⎥⎣ 0 × × × ⎦⎣ 0 0 × × ⎦0 × × ×0 0 × ×⎡⎤⎡⎤× × 0 0× × 0 00 × × 00 × × 0P 2 P 1 AP 1 ′ P′ 2 =0 0 × ×⎢ 0 0 × ×, P 4 P 3 P 2 P 1 AP 1 ′ ⎥P′ 2 =0 0 × ×= B.⎢⎥⎣⎦⎣⎦0 0 × ×0 0 × ×0 0 0 ×0 0 0 00 0 0 0Nadaljujemo z računanjem singularnega razcepa za B, pri čemer lahko predpostavimo, da je Bkvadratna matrika n × n.Lema 4.9 Naj bo B kvadratna matrika velikosti n × n s singularnimi vrednostmi in vektorji Bv i = σ i u iza i = 1, . . . , n. Lastne vrednosti matrike[ ]0 BTC =B 0[ ]so ±σ i , ustrezni lastni vektorji pa √ 1 vi2, i = 1, . . . , n.±u iDokaz.Naj bo B = UΣV T singularni razcep za B. Potem velja[ ] [ ] [0 BT V V V V=B 0 U −U U −U] [Σ 00 Σ].Tako lahko računamo singularni razcep brez računanja B T B a z dvakrat večjo matriko. Tuditu pa imamo lahko še vedno težave z majhnimi singularnimi vrednostmi. Poglejmo si nekajspecialnih metod za računanje singularnega razcepa matrike B.4.6 QR iteracija za računanje singularnega razcepaNaj boB =⎡⎢⎣a 1 b 1. .. . ..Mislimo si, da računamo implicitno QR iteracijo z Wilkinsonovimi premiki za B T B, a B T B nikoline izračunamo eksplicitno. Za Wilkinsonov premik potrebujemo lastne vrednosti desnespodnje 2 × 2 podmatrike B T B[a2n−1+ b 2 ]n−2a n−1 b n−1a n−1 b n−1 a 2 n + b 2 ,n−1a n−1b n−1a n⎤⎥⎦ .


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 48za σ 2 pa vzamemo bližnjo lastno vrednost a 2 n + b 2 n−1. Nato izračunamo Givensovo rotacijo[ ]c −sR = , da bo (glede na prvi stolpec B T B)s c[a2R 1− σ 2 ] [ ] ×=a 1 b 2 0[ ]in vzamemo R12 ′ R 0= . Ko izračunamo BR0 I12 ′ (to je ekvivalentno R′T12 BT BR12 ′ pri QR zaB T B), dobimo (v primeru 5 × 5)⎡⎤× ×BR 12 ′ + × ×=⎢ × ×⎥⎣× × ⎦ .×Dodatni neničelni element + uničimo tako, da ga z množenjem z ustreznimi rotacijami poganjamonavzdol z leve na desno. Tako dobimo⎡R 12 BR 12 ′ =⎢⎣× × +0 × ×× ×× ××⎤⎡⎥⎦ , R 12BR 12 ′ R′ 23 =⎢⎣× × 0× ×+ × ×× ××Na koncu je (R 45 R 34 R 23 R 12 )B(R12 ′ B′ 23 B′ 34 B′ 45) bidiagonalna matrika za naslednji korak QR metode.⎤⎥⎦ .4.7 Jacobijeva metoda za singularni razcepSpet delamo s polno matriko A. Mislimo si, da delamo Jacobijevo metodo za računanje lastnihvrednosti na A T A, pri čemer spet ne računamo A T A.Če delamo jac(A T A, p, q) to pomeni, da iz A T A dobimo R T pqA T AR pq . Zato lahko delamo z A inv enem koraku iz A dobimo AR pq .Algoritem za enostransko Jacobijevo metodo je:A = oneside_jac(A, p, q)izračunaj b pp = (A T A) pp , b pq = (A T A) pq , b qq = (A T A) qqče velja |b pq | > ǫ √ b pp b qq , potemτ = b pp−b qq2b pqsign(τ)|τ|+ √ 1+τ 2t =√1c =1+t 2s = ctA = AR pq (ϕ)


Bor Plestenjak - Numerična <strong>linearna</strong> <strong>algebra</strong> (verzija: 22. september 2009) 49J = JR pq (ϕ) (če potrebujemo tudi singularne vektorje).Po rotaciji (p, q) se v A spremenita stolpca p in q.V poštev pride le pragovna varianta, saj bi morali pri klasični izračunati vse elemente A T A, dabi lahko poiskali ustrezno rotacijo. Končamo, ko velja |b pq | ≤ ǫ √ b pp b qq za vse p ̸= q.Na koncu dobimo:• σ i = ‖A(:, i)‖ 2 , (to je v bistvu √ b ii ),• U = [u 1 · · · u n ], kjer je u i = 1 σ iA(:, i),• V = J (če smo shranjevali produkte).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!