3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja AV k = V k H k + h k+1,k v k+1 e T k = V kh k+1,k. Iščemo x k x 0 + K k (A, r 0 ), da bo norma ostanka b Ax k minimalna. Nastavek je x k = x 0 + V k y k. Velja b A(x 0 +V k y k ) = r 0 AV k y k = r 0 V k+1 H k+1,k y k = r 0 e 1 H k+1,k y k in y k je rešitev po metodi najmanjših kvadratov za predoločeni sistem H k+1,k y k = r 0 e 1. Metoda 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 Arnoldijevega algoritma z začetnim vektorjem v 1 = r 0 / r 0 da dobiš H k+1,k in V k+1. 3) po metodi najmanjših kvadratov poišči y k, ki minimizira r 0 e 1 H k+1,k y k. Končni približek je potem x k = x 0 + V k y k. Če je A simetrična, je H k tridiagonalna in dobimo metodo MINRES.
3.1 GMRES in praktična izvedba Normo napake r k = b Ax k lahko izračunamo brez izračuna vektorja x k. Vemo, da je r k = r 0 e 1 H k+1,k y k. Zaradi zgornje Hessenbergove oblike matrike H k+1,k je predoločeni sistem z matriko H k+1,k najenostavneje reševati preko QR razcepa s pomočjo Givensovih rotacij. Če so R 12,..., R k,k+1 take Givensove rotacije, da je R T k+1,k RT 21 H k+1,k zgornja trapezna matrika, potem je minimum r 0 e 1 H k+1,k y k enak absolutni vrednosti (k + 1)-vega elementa vektorja r 0 R T k+1,k RT 21 e 1. Če je Givensova rotacija R j,j+1 določena s c j in s j, lahko hitro vidimo, da je napaka v k-tem koraku enaka s 1 s k r 0. Ko dimenzijo povečamo za ena, moramo dodati le še novo Givensovo rotacijo, saj se matriki H k+1,k in H k+2,k+1 razlikujeta le v zadnjem stolpcu in vrstici. Če rešujemo kompleksen sistem, uporabimo kompleksne Givensove rotacije oblike kjer je c i 2 + s i 2 = 1. [ ] ci s i, s i c i
Izvedba GMRES Za z Arnoldijevim algoritmom zgenerirano ON bazo podprostora Krilova K k (A, r 0 ) velja AV k = V k H k + h k+1,k v k+1 e T k = V kh k+1,k. S pomočjo Givensovih transformacij izračunamo razcep H k+1,k Q k+1,k ortonormirane stolpce, R k pa je zgornja trikotna. = Q k+1,k R k, kjer ima Matrika R k je lahko singularna le v primeru, ko je dimenzija K k (A, r 0 ) < k. Rešitev je potem x k = x 0 + V k R 1 k QT k+1,k r 0 e 1. Za ostanek velja r k = V k+1 ( r 0 e 1 H k+1,k y k ) = V k+1 Q k+1,k γ k+1 e k+1, torej r k = γ k+1, kjer je γ k+1 zadnji element vektorja Q T k+1,k e 1.
Primerjava FOM in GMRES Pri obeh metodah najprej z Arnoldijevim algoritmom zgeneriramo ON bazo podprostora Krilova K k (A, r 0 ) in velja AV k = V k H k + h k+1,k v k+1 e T k = V kh k+1,k. Pri FOM vzamemo x F k = x 0 + V k y F k, kjer je H ky F k = r 0 e 1. Pri GMRES vzamemo x G k = x 0 + V k y G k, kjer yg k minimizira H k+1,ky G k r 0 e 1. Za ostanek pri FOM vemo, da je r F k = h k+1,k e T k yf k. Denimo, da smo z uporabo k 1 Givensovih rotacij spravili matriko H k v zgornjo trikotno obliko: R k = R T k 1,k RT 12 H k. Če je Givensova rotacija R j,j+1 določena s c j in s j, potem ima vektor R T k 1,k RT 12 e 1 zadnji element oblike ( 1) k 1 s 1 s k 1. Torej je kjer je r kk zadnji element matrike R k. r F k = h k+1,k r kk s 1 s k 1 r 0, Pri GMRES naredimo še eno Givensovo rotacijo in dobimo r G k = s 1 s k 1 s k r 0. R k,k+1 je določena z r kk in h k+1,k, velja c k = r kk r kk 2 +h2 k+1,k in s k = h k+1,k r kk 2 +h2 k+1,k. Tako pridemo do prve ocene r F k = 1 c k rg k.
Naj bo ρ F k = rf k in ρg k = rg k. Ugotovili smo ρ F k = 1 c k ρg k. Primerjava FOM in GMRES Iz ρ G k = s 1 s k 1 s k r 0 sledi ρ G k = s k ρ G k 1. ( ) ρ Tako dobimo c k = 1 G 2 k ρ G in ρ F k = ρ G k ( k 1 1 1 (ρ + 1 F k )2 (ρ = 1 G k 1 )2 (ρ G k )2. ρ G k ρ G k 1 ) 2, od tod pa Tako pridemo do k i=0 1 (ρ F i )2 = 1 (ρ G k )2. Če je ρ F k minimalen ostanek dosežen s FOM v prvih k korakih, je 1 (ρ G k )2 = k i=0 1 (ρ k + 1 F i )2 (ρ F k )2.
MINRES Če je matrika A simetrična, potem je matrika V T k AV k tridiagonalna in za konstrukcijo lahko uporabimo Lanczosev algoritem. Podobno kot pri D-Lancsozu se lahko izognemo temu, da bi bilo potrebno shranjevati vektorje iz ON baze podprostora Krilova. Namesto tega lahko približke posodabljamo s kratkimi rekurzijami. kjer je T k = AV k = V k T k + β k v k+1 e T k, α 1 β 1 β 1 α 2......... β k 1. β k 1 α k Naj bo T k+1,k = Q k+1,k R k QR razcep, kjer ima Q k+1,k ortonormirane stolpcev, R k pa je tridiagonalna zgornja trikotna matrika. Potem je x k = x 0 + V k T + k+1,k r 0 e 1 = x 0 + V k R 1 k QT k+1,k r 0 e 1. Če označimo W k = V k R 1 k in z k = Q T k+1,k r 0 e 1, potem je x k = x 0 + W k z k. Ko povečamo dimenzijo podprostora Krilova, moramo izračunati le zadnji stolpec W k+1 in zadnji element z k+1. Tako dobimo rešitev x k+1 = x k + z k+1,k+1 w k+1.
Kratka rekurzija Če je A simetrična, lahko pridemo do rezultata (bodisi FOM ali GMRES) le s tričlenskimi rekurzivnimi formulami. Za splošno nesimetrično matriko pa tako FOM kot GMRES potrebujeta vse vektorje in rekurzija je v vsakem koraku daljša. Za kakšne tipe matrik obstajajo algoritmi, ki s pomočjo kratkih rekurzij vrnejo optimalni približek iz podprostora Krilova? Kot optimalen rezultat pomeni, da dobimo x k, ki v neki normi minimizira bodisi normo ostanka b Ax k ali napake x x k. Bistveno za kratko rekurzijo je, da je Hessenbergova matrika H k, ki jo dobimo pri Arnoldijevem algoritmu, pasovna. Pravimo, da je A CG(s), če je h ij = 0 za j i s. Izrek 1. [Faber, Manteuffel (1984)] A CG(s) natanko takrat, ko a) je minimalni polinom matrike A stopnje s ali b) je A normalna in obstaja polinom q stopnje s 1, da je q(a) = A H. Pri s = 2 dobimo tričlenske rekurzivne formule. To je možno za matriko A, ki ima ali minimalni polinom stopnje 1, ali je hermitska, ali pa oblike A = e iφ (ρi + B), kjer je B H = B in sta φ, ρ R.
Konvergenca GMRES Iščemo tak polinom P k stopnje k, da bo r k = P k (A)r 0 minimalno, pri čemer je P k polinom stopnje k in velja P k (0) = 1. Velja namreč b Ax k = b Ax 0 AQ k 1 (A)r 0 za nek polinom Q k 1 stopnje k 1. Dobimo r k = (I AQ k 1 (A))r 0 = P k (A)r 0, kjer je P k polinom stopnje k, za katerega velja P k (0) = 1. Izrek 2. Če metoda GMRES ne skonvergira do k-tega koraka (r j 0 za j < k), potem velja r k = P k (A)r 0, kjer P k minimizira P k (A)r 0. Če se da matrika A diagonalizirati kot A = XDX 1, potem velja r k r 0 = min P k stopnje k P k (0)=1 P k (A)r 0 r 0 X X 1 min P k stopnje k P k (0)=1 max P k(λ). λ σ(a) Ocena ni vedno uporabna. Tako npr. iz ocene ne sledi nujno r k r 0, kar je očitno iz same konstrukcije. Posledica 1. Če ima matrika A le k različnih lastnih vrednosti, potem metoda GMRES skonvergira v največ k korakih.
Konvergenca GMRES Izkaže se, da konvergenca metode GMRES ni odvisna le od razporeditve lastnih vrednosti. Izrek 3. [Greenbaum, Ptak, Strakoš (1996)] Za poljubna nenaraščajoča pozitivna števila f 0 f 1 f n 1 in poljubna neničelna kompleksna števila λ 1,..., λ n obstaja taka matrika A, da ima lastne vrednosti λ 1,..., λ n in tak vektor b z normo b = f 0, da za ostanke pri metodi GMRES za reševanje sistema Ax = b z x 0 = 0 velja r k = f k za k = 0,..., n 1. Konvergenca ni odvisna le od lastnih vrednosti temveč tudi od lastnih vektorjev. Če je matrika lastnih vektorjev blizu ortogonalne, je pomemben samo razpored lastnih vrednosti. V praksi se tudi tu pojavi superlinearna konvergenca. Če Ritzeve vrednosti matrike H k dobro aproksimirajo lastno vrednost matrike A, potem lastna vrednost in pripadajoči lastni vektor ne vplivata več na konvergenco.
GMRES s ponovnim zagonom Če dimenzija podprostora preveč naraste, potem po eni strani poorabimo veliko spomina za shranjevanje vektorjev matrike V k, po drugi strani pa porabimo tudi veliko operacij za ortogonalizacijo novih vektorjev. Zaradi tega lahko izvajamo GMRES le do dimenzije m, potem pa zadnji vektor vzamemo za nov začetni približek in postopek ponovimo. Tako dobimo metodo GMRES(m). Težko je izbrati pravi m, saj se lahko pri premajhnem m zgodi, da metoda sploh ne konvergira. Zgodi se lahko tudi, da GMRES(m) stane skupno občutno več operacij kot pa GMRES(m + 1).
kvazi GMRES (QGMRES) Pri GMRES za ostanek velja b Ax k = V k+1 ( r 0 e 1 H k+1,k y k ), kjer y k določimo tako, da minimizira r 0 e 1 H k+1,k y k. Podobno kot pri IOM (in DIOM) lahko tudi pri GMRES pri računanju baze za K k (A, r 0 ) novi vektor ortogonaliziramo le na nekaj zadnjih vektorjev. Tako ne dobimo ortonormirane baze, matrika H k+1,k pa bo pasovna. Pri metodi QGMRES pri računanju približka x k vzamemo y k, ki minimizira normo r 0 e 1 H k+1,k y k. Tej normi pravimo kvazi-residualna norma vektorja x 0 + V k y k. V primeru, ko so stolpci matrike V k ortonormirani, se metodi GMRES in QGMRES ujemata. Tako kot pri FOM tudi tu lahko vektorje rekurzivno popravljamo in ne potrebujemo celotnih baznih vektorjev. Tako pridemo do metodo DQGMRES.