Zagadnienia

3. Zagadnienie własne III

Metodę potęgową można traktować jako iteracje podprzestrzeni jednowymiarowej startujące ze spanx0. Naturalnym uogólnieniem tego procesu są iteracje podprzestrzeni o wyższych wymiarach. Właśnie iteracje podprzestrzeni są punktem wyjścia konstrukcji obecnie najpopularniejszego algorytmu QR, którego zadaniem jest obliczenie jednocześnie wszystkich wartości własnych.

Chociaż metody prezentowane w tym rozdziale mogą być stosowane w większej ogólności, dla uproszczenia będziemy zakładać, że macierz A jest nieosobliwa, rzeczywista i symetryczna, tzn. A=ATRn,n i detA0. Przypomnijmy, że wtedy istnieje baza ortonormalna ξii=1n wektorów własnych macierzy,

Aξi=λiξi,1in.

Będziemy również zakładać, że wartości własne są uporządkowane tak, że

λ1λ2λn>0.

3.1. Iteracje podprzestrzeni

3.1.1. Algorytm ogólny

Niech 1pn-1 oraz Y0Rn będzie podprzestrzenią o wymiarze p. Dla k=1,2,3, rozpatrzmy następujące iteracje:

Yk:=AYk-1=Ax:xYk-1.

Oczywiście, wobec nieosobliwości A wszystkie podprzestrzenie Yk mają też wymiar p. Pokażemy, że przy pewnych niekrępujących założeniach ciąg podprzestrzeni Yk zbiega do podprzestrzeni własnej

Pp:=spanξ1,ξ2,,ξp,

przy czym przez ,,zbieżność” rozumiemy tu zbieżność do zera kąta pomiędzy tymi podprzestrzeniami.

Przypomnijmy, że kąt pomiędzy dwiema podprzestrzeniami Y,ZRn definiujemy jako

Yk,Pp:=maxyYkminzPpy,z.

(Jako ćwiczenie można wykazać, że jeśli dimY=dimZ to Y,Z=Z,Y.)

Twierdzenie 3.1

Niech

ρp:=λp+1λp<1 oraz γk:=Yk,Pp,k=0,1,2,.

Jeśli γ0<π/2 to

γkρpγk-1ρpkγ0.
Dowód

Niech y będzie wektorem spełniającym y,Pp<π/2. Wtedy

y=i=1nvi,vispanξi,1in,

gdzie nie wszystkie vi dla 1ip, są są zerowe, oraz Ay=i=1nλivi. Stąd

Ay,Pp=i=p+1nλi2vi22i=1pλi2vi22λp+1λpi=p+1nvi22i=1pvi22=ρpy,Ppp.(3.1)

Jeśli teraz γk+1=yk+1,Pp dla yk+1Yk+1 oraz yk+1=Ayk to z (3.1) wynika, że

γk+1ρpyk,Ppρpγk,

co kończy dowód.

3.1.2. Iteracje ortogonalne

W praktyce, iteracje podprzestrzeni realizujemy reprezentując kolejne Yk przez ich bazy ortonormalne. Wtedy algorytm, zwany w tym przypadku również iteracjami ortogonalnymi, przybiera następującą postać. Wybieramy macierz kolumnowo-ortogonalną Z0 formatu n×p jako macierz startową, a następnie dla k=1,2,3, iterujemy:

(IO)Yk:=AZk-1;Yk:=ZkRk;(ortonormalizacja)

przy czym w drugiej linii następuje ortonormalizacja macierzy Yk realizowana poprzez rozkład tej macierzy na iloczyn macierzy kolumnowo-ortonormalnej Zk formatu n×p i macierzy trójkątnej górnej Rk formatu p×p. Dokonuje się tego znanym nam już algorytmem wykorzystującym odbicia Householdera.

łatwo zauważyć, że jeśli przyjmiemy, iż wektory-kolumny macierzy Z0 tworzą bazę ortonormalną podprzestrzeni Y0 to w kolejnych krokach wektory-kolumny Zk tworzą bazę ortonormalną podprzestrzeni Yk. Rzeczywiście, ponieważ Yk=AZk-1 to kolumny Yk stanowią bazę Yk. Kolumny te są z kolei liniową kombinacją kolumn Zk, czyli rozpinają tą samą podprzestrzeń co kolumny Zk.

Poczynimy teraz kluczową obserwację. Przypuśćmy, że wszystkie wartości własne λi są parami różne. Gdybyśmy rozpoczynali iteracje od macierzy Y¯0 składającej się jedynie z p¯ początkowych kolumn macierzy Y0, przy czym 1p¯<p, to otrzymane w procesie iteracyjnym macierze Y¯k i Z¯k (formatu n×p¯ i p¯×p¯) byłyby odpowiednio ,,okrojonymi” macierzami Yk i Zk. Stąd, jeśli wszystkie wartości własne macierzy A mają różne moduły, to dla każdego takiego p¯ podprzestrzeń Ykp¯ rozpięta na początkowych p¯ wektorach macierzy Zk ,,zbiega” do podprzestrzeni własnej Pp¯, przy czym

Ykp¯,Pp¯ρp¯kY0p¯,Pp¯.

Z powyższej obserwacji wynika, że gdybyśmy realizowali iteracje podprzestrzeni przyjmując p=n i startując z macierzy identycznościowej Z0:=I formatu n×n to mielibyśmy zbieżność Ykp do podprzestrzeni własnych Pp dla wszystkich p=1,2,,n.

W przypadku gdy pracujemy na bazach ortogonalnych i startujemy z Z0=I, zbieżność tą można wyrazić również w następujący sposób. Oznaczmy

V=ξ1,ξ2,,ξn,Zk=z1k,z2k,,znk.
Lemat 3.1

Niech Bk będzie macierzą przejścia od bazy ξ1,,ξn do z1k,,znk,

Zk=VBk.

Dla 1pn-1, niech

Bk=B1,1kB1,2kB2,1kB2,2k,

gdzie B1,1k jest podmacierzą formatu p×p, a pozostałe podmacierze odpowiednio formatów p×n-p, n-p×p, n-p×n-p. Jeśli ρp=λp+1/λp<1 i γ0<π/2 to

B1,2k2,B2,1k2ρpkγ0.
Dowód

Niech Zk=Z1k,Z2k, V=V1,V2, gdzie Z1k i V1 są formatu n×p. Wtedy

Z1k=V1B1,2k+V2B2,1k.

Mnożąc to równanie z lewej strony przez V2T dostajemy B2,1k=V2TZ1k. Stąd

B2,1k2=V2TZ1k2=supx2=1V2TZ1kx2.

Oznaczając y=Z1kx zauważamy, że yYk:=spanz1k,,zpk i y2=1. Stąd wektor V2Ty zawiera współczynniki rzutu ortogonalnego y na Pp:=spanξp+1,,ξn w bazie ξp+1,,ξn. Z definicji normy drugiej i twierdzenia 3.1 dostajemy więc

B2,1k2=supx2=1sinZ1kx,Ppρpkγ0.

Rozumując analogicznie i wykorzystując fakt, że

sinYk,Pp=sinYk,Pp

dostajemy taką samą nierówność dla B1,2k2.

Z lematu 3.1 wynika natychmiast, że jeśli moduły wartości własnych macierzy A są parami różne to wyrazy pozadiagonalne bi,jk macierzy Bk zbiegają do zera, a ponieważ Bk jest ortogonalna, to bi,ik zbiegają do jedynki. Algorytm (IO) można więc uzupełnić o obliczanie w każdym kroku macierzy

Ak:=ZkTAZk,

która powinna zbiegać do Λ=diagλ1,,λn. Fakt ten, łącznie z analizą szybkości zbieżności, pokażemy formalnie w następnym podrozdziale.

3.2. Metoda QR

3.2.1. Wyprowadzenie metody

Załóżmy, że realizujemy algorytm iteracji ortogonalnych (IO) z macierzą początkową Z0=I. Wtedy AZk-1=ZkRk, skąd

Ak-1=Zk-1TAZk-1=Zk-1TZkRk.

Oznaczając Qk:=Zk-1TZk widzimy, że ostatnia równość to nic innego jak rozkład ortogonalno-trójkątny macierzy Ak-1,

Ak-1=QkRk.

Prawdziwe są więc związki rekurencyjne

Ak=ZkTAZk=ZkTZk-1Zk-1TAZk-1Zk-1TZk
=QkTAk-1Qk,
Zk=Zk-1Zk-1TZk=Zk-1Qk.

Zależności te prowadzą do ALGORYTMU QR, który oblicza kolejne macierze Ak i Zk w następujący sposób.

A0:=A;Z0:=I;
dlak=1,2,3,
(QR)Ak-1:=QkRk;(ortonormalizacja),Ak:=RkQk;Zk:=Zk-1Qk;

3.2.2. QR a iteracje ortogonalne

Przypomnijmy, że w rozkładzie ortogonalno-trójkątnym macierz ortogonalna jest wyznaczona jednoznacznie z dokładnością do znaków jej wektorów-kolumn. Dlatego macierze Zk (a tym samym także Ak) powstałe w wyniku realizacji algorytmów (IO) i (QR) nie muszą być takie same. Algorytmy te są jednak równoważne w następującym sensie.

Lemat 3.2

Niech Z~k, A~k i Zk, Ak będą macierzami powstałymi w wyniku realizacji odpowiednio algorytmów (IO) i (QR). Wtedy

Z~k=ZkDkorazA~k=DkAkDk,

gdzie Dk są pewnymi macierzami diagonalnymi z elementami ±1 na głównej przekątnej.

Dowód

Zastosujemy indukcję względem k. Dla k=1 mamy Z~0=I=Z0 oraz A~0=A=A0. Załóżmy, że lemat jest prawdziwy dla k-1, tzn. Z~k-1=ZkDk-1. Wtedy, z jednej strony

A~k-1=Dk-1Ak-1Dk-1=Dk-1QkRkDk-1,

a z drugiej strony

A~k-1=Z~k-1TZ~kR~k=Dk-1Zk-1TZ~kR~k.

Mamy więc

Dk-1A~k-1=Zk-1TZ~kR~k=QkRkDk-1,

przy czym równości te przedstawiają dwa rozkłady ortogonalno-trójkątne tej samej macierzy Dk-1A~k-1. A jeśli tak, to czynniki ortogonalne tych rozkładów różnią się jedynie znakami kolumn. Równoważnie, istnieje macierz diagonalna Dk z elementami ±1 na głównej przekątnej taka, że

Zk-1TZ~k=QDkorazR~k=DkRkDk-1.

Stąd

Z~k=Zk-1QkDk=ZkDk.

Dowód kończy następujący rachunek:

A~k=Z~kTAZ~k=DkTZkTAZkDk=DkAkDk.

Zauważmy jeszcze, że jeśli przez a~i,jk i ai,jk oznaczymy odpowiednio elementy macierzy A~k i Ak oraz Dk=diagd1k,,dnk z dik=±1 to

a~i,jk=dikdjkai,jk.

To oznacza, że dla ij elementy te różnią się jedynie znakiem, a dla i=j są sobie równe.

3.2.3. Analiza zbieżności

Jesteśmy już gotowi do przedstawienia twierdzeń o zbieżności metody QR.

Twierdzenie 3.2

Dla 1pn, niech ρp:=λp+1/λp<1 i γk:=Yk,Pp. Niech dalej

Ak=A1,1kA1,2kA2,1kA2,2k,Qk=Q1,1kQ1,2kQ2,1kQ2,2k,Rk=R1,1kR1,2k0R2,2k,

gdzie podmacierze A1,1k,Q1,1k,R1,1k są formatu p×p, a pozostałe podmacierze formatów odpowiednio p×n-p, n-p×p i n-p×n-p. Wtedy, przyjmując

εpk=ρpkγ0

mamy γkεpk\tg oraz

A1,2k2=A2,1k22εpkA2,(3.2)
Q1,2k2,Q2,1k22εpk,(3.3)
R1,2k24εpkA2.(3.4)
Dowód

Wobec wykazanej w lemacie \tg (teoretycznej) równoważności metody QR i iteracji (IO), nierówność γkεpk została już udowodniona w twierdzeniu 3.1. Aby pokazać (3.3), zapiszemy Zk w postaci Zk=Z1k,Z2k, gdzie Z1k i Z2k składają się odpowiednio z pierwszych p i z ostatnich n-p kolumn macierzy Zk. Wtedy

Q2,1=Z2k-1Z1k=VTZ2k-1TVTZ1k,

gdzie V=ξ1,ξ2,,ξn. Pisząc V=V1,V2, podobnie jak dla Zk, mamy teraz

VTZ1k=[V1TZ1kV2TZ1k]=:[FG].

Ponieważ V12=Z1k2=1 to F21, natomiast G2εpk, jak pokazaliśmy w dowodzie lematu 3.1.

Pisząc z kolei

VTZ2k-1=:[FG],

w analogiczny sposób pokazujemy, że F21 i G2εpk. Stąd mamy

Q2,1k2=GTF+FTG2G2F+F2G2εk-1+εpk2εpk.

Dokładnie tak samo pokazujemy oszacowanie dla Q1,22.

Aby pokazać (3.2) zauważmy, że wobec Ak=QkRk mamy też A2,1k=Q2,1kR1,1k. Ale

R1,12Rk2=A22=A2,

co w połączeniu z (3.3) dowodzi (3.2).

W końcu, wobec Rk=AkQkT mamy

R1,2k=A1,1kQ2,1kT+A1,2kQ2,2kT.

Nierówność (3.4) wynika teraz z nierówności A1,1k2Ak2=A2, (3.2), (3.3), oraz Q2,2k21.

Z twierdzenia 3.2 wynika, że elementy pozadiagonalne macierzy Ak zbiegają do zera liniowo, przy czym iloraz zbieżności zależy od wartości ρp=λp+1/λp. Dokładniej, dla danego elementu ai,jk macierzy Ak, gdzie 1i<jn, prawdziwe jest oszacowanie

ai,jkminεik,εi+1k,εj-1k

(gdzie skorzystaliśmy także z faktu, że moduł pojedynczego elementu macierzy jest nie większy od normy drugiej tej macierzy).

A jaka jest zbieżność elementów diagonalnych Ak do wartości własnych macierzy A? Oznaczmy

ε¯pk=ε1kp=1,maxεp-1k,εpk2pn-1,εn-1kp=n.
Twierdzenie 3.3

Dla wszystkich 1pn mamy

ap,pk-λp 4ε¯pk2A2.
Dowód

Wobec Zk=VBk mamy

ap,pk=zpkTAzpk=VbpkTAVbpk
=bpkVTAVbpk=bpkΛbpk
=λpbp,pk2+ipλibi,jk2.

Stąd i z lematu 3.1 otrzymujemy

ap,pk-λp=-λp1-bp,pk2+ipλibi,pk2=ipbi,pk2λi-λp
2A2i<pbi,pk2+p<ibi,pk2 4ε¯pk2A2.

Elementy diagonalne ap,pk macierzy Ak zbiegają więc do wartości własnych λp macierzy A co najmniej jak λ2/λ12k dla p=1, λn/λn-12k dla p=n, oraz minλp/λp-12k,λp+1/λp2k dla 2pn-1.

3.3. QR z przesunięciami i deflacja

Tak jak w przypadku metody potęgowej, można spróbować przyspieszyć zbieżność metody QR poprzez przesunięcie widma macierzy A, czyli zastosowanie QR do macierzy A¯=A-σI. Oznaczmy przez A¯k kolejne macierze powstające w tym procesie. Z wcześniejszej analizy metody QR wynika, że jeśli

λi*-σ<minii*λi-σ

to wyraz a¯n,nk w prawym dolnym rogu macierzy A¯k zbiega do λi*-σ i zbieżność jest tym lepsza im σ jest bliższe λi*. Dlatego ważne jest, aby σ wybrać tak, aby dobrze aproksymowała jedną z wartości własnych macierzy A. Oczywiście, przesunięcie możnaby w każdym kroku wybierać w zależności od aktualnie dostępnej informacji. Metoda wyglądałaby wtedy następująco:

A0:=A;Z0:=I;
dlak=1,2,3,
(QR-shift)Ak-1-σkI:=QkRk;(ortonormalizacja)Ak:=RkQk+σkI;Zk:=Zk-1Qk;

Jasne, że

Ak=QkTAk-1-σkIQk+σkI=QkTAk-1Qk,

tzn. kolejne macierze Ak są ortogonalnie podobne. Okazuje się, że QR ma jeszcze jedną ważną własność. Oznaczmy przez znk ostatnią kolumnę macierzy Zk, przez rn,nk wyraz w prawym dolnym rogu macierzy trójkątnej górnej Rk, oraz przez en ostatni wersor. Wtedy dla każdego k mamy

A-σkIznk=Zk-1Ak-1-σk-1ITZk-1Tznk
=Zk-1QkRkTZk-1Tznk
=Zk-1RkTZkTznk=Zk-1RkTen
=rn,nkZk-1en=rn,nkznk-1,

czyli

znkrn,nk=A-σkI-1znk-1.

To zaś oznacza, że w kolejnych krokach iteracji QR z przesunięciami σk ostatnia kolumna macierzy Zk jest taka sama jak wektor xk w odwrotnej metodzie potęgowej z wektorem startowym en i kolejnymi przesunięciami σk. A jeśli tak, to możemy wykorzystać wyniki rozdziału 2.4 i stwierdzić, że dobrym wyborem przesunięcia jest

σk=znkTAznk=enTZkTAZken=enAken=an,nk.

Przy tak dobranym σk dostajemy asymptotycznie zbieżność sześcienną elementu an,nk do λi*.

Dla informacji podamy jeszcze, że możliwy jest też wybór przesunięcia Wilkinsona, gdzie jako σk bierze się tą wartość własną macierzy 2×2,

an-1,n-1kan-1,nkan,n-1kan,nk,

która jest najbliższa an,nk, a jeśli obie są jednakowo oddalone od an,nk to mniejszą z nich. Wtedy co prawda nie zwiększamy szybkości zbieżności, ale za to metoda jest zawsze zbieżna.

Pozostałe wartości własne macierzy A możemy obliczyć stosując deflację. Mianowicie, gdy już jesteśmy dostatecznie blisko wartości własnej λi* (co zwykle osiąga się wykonując kilka kroków QR i sprawdza przez obliczenie residuum Aznk-an,nkznk2) to uznajemy, że wyrazy w ostatniej kolumnie i ostatnim wierszu macierzy Ak, poza wyrazem an,nk, są zerowe i redukujemy problem do macierzy formatu n-1×n-1. Oczywiście, ten ogólny przepis wymaga właściwej implementacji.

Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.

Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.