Iterativne metode podprostorov Iterativne metode podprostorov uporabljamo za numerično reševanje linearnih sistemov ali računanje lastnih vrednosti problemov z velikimi razpršenimi matrikami, ki so prevelike, da bi problem lahko reševali z direktnimi metodami. Skupna značilnost metod je, da eksplicitnih matrik ne potrebujemo, moramo le znati učinkovito izračunati produkt matrike oz. transponirane matrike z danim vektorjem. Primer takšne metode je npr. potenčna metoda. Večina metod podprostorov temelji na podprostorih Krilova. Obravnavali bomo a) reševanje linearnih sistemov: GMRES, MINRES, CG, BiCG, QMR, BiCGStab, b) računanje lastnih vrednosti: Lanczoseva, Arnoldijeva, Jacobi Davidsonova metoda. Glavna značilnost metod podprostorov je, da približke dobimo iz projekcije problema na podprostor manjše dimenzije.
Podprostor Krilova Definicija 1. Za dano matriko A in vektor b je podprostor Krilova K k (A, b) = Lin(b, Ab,..., A k 1 b). Če b ni vsebovan v invariantnem podprostoru dimenzije < k, potem je dim(k k ) = k. Namesto v R n iščemo približke v projekciji problema na K k (A, b). Naj bo Q k = [ q 1 q k ] matrika z ortonormiranimi stolpci, ki so baza za K k (A, b). Potem kot približek za rešitev Ax = b vzamemo x k = Q k z za nek z R k, npr.: Vzamemo x k, ki minimizira r k 2, kjer je r k = b Ax k. Za A A T je to metoda GMRES, za A = A T pa MINRES. Če je A s.p.d., vzamemo x k, ki minimizira r k A 1. To je metoda CG (konjugirani gradienti). Izberemo x k tako, da bo r k K k (A, b). Za A A T je to varianta GMRES, za A = A T pa SYMMLQ.
Arnoldijev algoritem Denimo, da stolpci Q j = [q 1 q j ] sestavljajo ortonormirano bazo za K j. Potem je K j+1 = Lin(q 1,..., q j, Aq j ) Vse skupaj lahko zapišemo v obliki algoritma q 1 = b/ b 2 j = 1, 2,..., k z j = Aq j h j = Q H j z j q j+1 = z j Q j h j h j+1,j = q j+1 2 če je h j+1,j = 0, potem prekini računanje q j+1 = q j+1 /h j+1,j V algoritmu se skriva modificirana Gram-Schmidtova ortogonalizacija. Algoritem se konča pri izbranem k ali pa, ko je h j+1,j = 0.
Rezultat Arnoldijevega algoritma Trditev 2. Arnoldijev algoritem se lahko izvaja do j = k, kjer je k = dim K n (A, b). Za j = 1,..., k velja AQ j = Q j H j + h j+1,j [0 0 q j+1 ], kjer je H j Hessenbergova j j matrika, stolpci Q j = [q 1 K j (A, b). q j ] pa so ON baza za Zahtevnost Arnoldijevega algoritma je k množenj z matriko in O(k 2 n) za ostale zadeve, Množenje z matriko je za polno matriko O(n 2 ), za razpršeno pa je lahko tudi samo O(n). Velja AQ j = Q j+1 Hj, kjer H j dobimo tako, da H j dodamo še vrstico [0 0 h j+1,j ].
Lanczoseva metoda Če je A simetrična, je tudi H simetrična, torej tridiagonalna in Arnoldijev algoritem se občutno poenostavi. Pišemo H = T in T = α 1 β 1 β 1 α 2... β 2...... β n 2 α n 1 β n 1 β n 1 a n. Sedaj iz AQ = QT dobimo kjer je α j = q T j Aq j. Aq j = β j 1 q j 1 + α j q j + β j q j 1,
GMRES - posplošeni minimalni ostanek Pri GMRES približek x k za Ax = b dobimo iz začetnega približka x 0 tako, da x k oblike x k = x 0 + Q k y k minimizira r k 2 = b Ax k 2. Denimo, da smo s Arnoldijevim algoritmom že dobili Q k in H k. Sedaj iščemo ustrezen y R k. Če je q 1 = r 0 / r 0 2, velja b A(x 0 +Q k y k ) 2 = r 0 AQ k y k 2 = r 0 Q k+1 Hk y k 2 = r 0 2 e 1 H k y k 2. Algoritme za GMRES v grobem je: 1. izberi x 0, določi dimenzijo k za podprostor Krilova, izračunaj r 0 = b Ax 0. 2. naredi k korakov Arnoldijeve metode z začetnim vektorjem q 1 = r 0 / r 0 2, dobimo H k in Q k+1. 3. po metodi najmanjših kvadratov poišči y k, ki minimizira r 0 2 e 1 H k y k 2. Končni približek je x k = x 0 + Q k y k. Varianta GMRES za simetrične matrike, kjer se namesto Arnoldijeve metode uporabi Lanczoseva, je MINRES.
Računanje lastnih vrednosti Za matriko A in vektor u 1 definiramo podprostor Krilova kot K k (A, u 1 ) = Lin(u 1, Au 1,..., A k 1 u 1 ). Če u 1 ni vsebovan v invariantnem podprostoru dimenzije < k, potem je dim(k k ) = k. Zapišemo lahko tudi K k (A, u 1 ) = {p(a)u 1 : p P k 1 }, kjer je P k 1 prostor vseh polinomov stopnje manjše ali enake k. Iz potenčne metode vemo, da vektorji A j u 1 konvergirajo proti dominantnemu lastnemu vektorju, a v podprostoru K k, ki vsebuje še prejšnje vektorje iz potenčne metode, lahko vedno dobimo še boljšo aproksimacijo za dominanten lastni vektor.
Galerkinov pogoj in Arnoldi Približke za lastne vrednosti in vektorje iz podprostora K k dobimo iz Galerkinovega pogoja Av µv K k, v K k. Ker stolpci U k tvorijo ortonormirano bazo za K k, pri Arnoldijevem algoritmu to pomeni: µ je lastna vrednost k k matrike H k = U H k AU k, v = U k w, kjer je w, w 2 = 1, lastni vektor H k, ki pripada µ. µ je Ritzeva vrednost, v pa Ritzev vektor. Za ostanek velja torej r = Av µv = h k+1,k u k+1 e T k w, r 2 = h k+1,k e T k w.
Konvergenca k zunanjim lastnim vrednostim Za podprostor Krilova velja K k (αa + βi, u 1 ) = K k (A, u 1 ) za poljuben β in α 0. Torej dobimo isti podprostor Krilova ne glede na to, če matriko pomnožimo s skalarjem oziroma uporabimo pomik. To se mora odražati tudi na Ritzevih vrednostih. Ker so metode podprostorov Krilova invariantne na skaliranje in pomike, je položaj lastnih vrednosti glede na koordinatno izhodišče nepomemben. Namesto tega je pomembno, katere lastne vrednosti so zunanje in katere notranje. Če vzamemo najmanjši krog, ki vsebuje vse lastne vrednosti, potem lahko pričakujemo, da bo za naključno izbrane začetne vektorje metoda Krilova najprej skonvergirala k tistim lastnim vrednostim, ki so blizu roba tega kroga. Obstajajo pa pristopi, kako lahko metode podprostorov Krilova pripravimo do tega, da konvergirajo k notranjim lastnim vrednostim.
Shift-and-invert Arnoldi Konvergenco k notranjim lastnim vrednostim lahko izboljšamo, če namesto za A vzamemo podprostor Krilova, ki ga generira matrika (A τi) 1, kjer je τ C dani cilj. Racionalni Arnoldi: Če nas zanimajo lastne vrednosti blizu τ 1,..., τ m : podprostor zgeneriramo z matriko (A τ j ) 1. Polinomsko predpogojevanje: Skonstruiramo fiksen polinom nizke stopnje p, ki naj bi imel pri neželjenih lastnih vrednostih majhno absolutno vrednosti in namesto z matriko A delamo z matriko p(a).
Lastnosti Lanczosevega algoritma časovna zahtevnost in prostorske zahteve so manjše kot pri Arnoldiju, več se da povedati o konvergenci, do izgube ortogonalnosti pride hitreje kot pri Arnoldiju, pojavijo se prividi lastnih vrednosti. Ritzeve vrednosti pri k se prepletajo z Ritzevimi vrednosti pri k + 1, saj se lastne vrednosti T k prepletajo z lastnimi vrednostmi T k+1. Zaradi tega Ritzeve vrednosti monotono konvergirajo prosti lastnim vrednostim matrike A. Če izvajamo osnovno Lanczosevo metodo brez reortogonalizacije, pride do izgube ortogonalnosti in dobimo navidezne večkratne lastne vrednosti. Opazimo, da se ortogonalnost baze za podprostor Krilova poslabša takrat, ko kak izmed Ritzevih vektorjev skonvergira do lastnega vektorja.