Sadržaj

1 Uvod 5 1.1 Notacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 Vektorske norme i skalarni produkti . . . . . . . . . . . . . . . . . . . . 6 1.3 Ortogonalnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 Matrične faktorizacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5 Spektralni radijus i matrične norme . . . . . . . . . . . . . . . . . . . . 12 1.6 Svojstvene vrijednosti i polje vrijednosti . . . . . . . . . . . . . . . . . . 17 1.7 Perturbacijska teorija za linearne sustave . . . . . . . . . . . . . . . . . . 21

2 Aproksimacije iz Krylovljevih potprostora 29 2.1 Razvoj iterativnih metoda i prekondicioniranja . . . . . . . . . . . . . . 29 2.2 Jednostavne iteracije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3 Orthomin(1) i Orthomin(2) . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.3.1 Orthomin(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3.2 Orthomin(2)(MINRES) . . . . . . . . . . . . . . . . . . . . . . . 37 2.3.3 Analiza greške i konvergencija Orthomin(2) metode . . . . . . . 41 2.3.4 Prekondicionirana Othomin(2) metoda . . . . . . . . . . . . . . . 43

2.4 Metoda najbržeg silaska i konjugirani gradijaneti . . . . . . . . . . . . . 45 2.4.1 Metoda najbržeg silaska . . . . . . . . . . . . . . . . . . . . . . . 45 2.4.2 Metoda konjugiranih smjerova . . . . . . . . . . . . . . . . . . . 47 2.4.3 Metoda konjugiranih gradijenata (CG) . . . . . . . . . . . . . . . 49 2.4.4 Analiza greške i konvergencija metode konjugiranih gradijenata . 52 2.4.5 Prekondicionirana CG metoda . . . . . . . . . . . . . . . . . . . 53

2.5 GMRES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.5.1 Razvoj i implementacija GMRES metode . . . . . . . . . . . . . 53 2.5.2 Svojstva GMRES metode . . . . . . . . . . . . . . . . . . . . . . 58 2.5.3 Analiza greške i konvergencija GMRES metode . . . . . . . . . . 62 2.5.4 Prekondicionirana GMRES metoda . . . . . . . . . . . . . . . . . 74

2.6 MINRES i CG preko Lanczosovog algoritma . . . . . . . . . . . . . . . . 77 2.6.1 Lanczosov algoritam . . . . . . . . . . . . . . . . . . . . . . . . . 77 2.6.2 MINRES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 2.6.3 Konjugirani gradijenti . . . . . . . . . . . . . . . . . . . . . . . . 81 2.6.4 Prekondicionirani Lanczosov algoritam . . . . . . . . . . . . . . . 83

2.7 BCG i srodne metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 2.7.1 Dvostrani Lanczosov algoritam . . . . . . . . . . . . . . . . . . . 86 2.7.2 Bikonjugirani gradijenti (BCG) . . . . . . . . . . . . . . . . . . . 92 2.7.3 Metoda kvazi–minimalnog reziduala (QMR) . . . . . . . . . . . . 95 2.7.4 Konvergencija metoda BCG i QMR . . . . . . . . . . . . . . . . 99 2.7.5 Metoda kvadriranih konjugiranih gradijenata (CGS) . . . . . . . 105 2.7.6 Metoda stabiliziranih bikonjugiranih gradijenata (BICGSTAB) . 107 2.7.7 Konvergencija metoda CGS i BICGSTAB . . . . . . . . . . . . . 111 2.7.8 Prekondicionirani algoritmi . . . . . . . . . . . . . . . . . . . . . 112

2.8 Simetrizacija problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 2.8.1 CGNR i CGNE metode . . . . . . . . . . . . . . . . . . . . . . . 117 2.8.2 Analiza greške i konvergencija CGNR i CGNE metode . . . . . . 118 2.8.3 Prekondicionirane CGNR i CGNE metode . . . . . . . . . . . . . 119

2.9 Primjena iterativnih metoda . . . . . . . . . . . . . . . . . . . . . . . . . 121 2.9.1 Izbor metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 2.9.2 Odabir početne iteracije . . . . . . . . . . . . . . . . . . . . . . . 124

2.10 Kriterij zaustavljanja i točnost iterativnih metoda . . . . . . . . . . . . 125 2.10.1 Kriterij zaustavljanja . . . . . . . . . . . . . . . . . . . . . . . . . 125 2.10.2 Točnost iterativnih metoda . . . . . . . . . . . . . . . . . . . . . 126

3 Prekondicioniranje 157 3.1 Osnove prekondicioniranja . . . . . . . . . . . . . . . . . . . . . . . . . . 157 3.2 Klasične iterativne metode . . . . . . . . . . . . . . . . . . . . . . . . . . 159

3.2.1 Jacobijeva metoda . . . . . . . . . . . . . . . . . . . . . . . . . . 162 3.2.2 Gauss–Seidelova metoda . . . . . . . . . . . . . . . . . . . . . . . 163 3.2.3 JOR metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 3.2.4 SOR i SSOR metode . . . . . . . . . . . . . . . . . . . . . . . . . 168 3.2.5 Blok metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

3.3 Usporedivanje prekondicioniranja . . . . . . . . . . . . . . . . . . . . . . 180 3.3.1 Perron–Frobeniusova teorija . . . . . . . . . . . . . . . . . . . . . 180 3.3.2 Usporedivanje regularnih rastava . . . . . . . . . . . . . . . . . . 183 3.3.3 Regularni rastavi i CG metoda . . . . . . . . . . . . . . . . . . . 187 3.3.4 Optimalno dijagonalno i blok-dijagonalno prekondicioniranje . . 188

3.4 Nekompletne faktorizacije . . . . . . . . . . . . . . . . . . . . . . . . . . 192 3.4.1 Nekompletna LU faktorizacija (ILU) . . . . . . . . . . . . . . . . 193 3.4.2 Nekompletan Gram–Schmidt i IQR . . . . . . . . . . . . . . . . . 199

3.5 Aproksimacije inverza matrice . . . . . . . . . . . . . . . . . . . . . . . . 200 3.6 Primjer: difuzijska jednadžba . . . . . . . . . . . . . . . . . . . . . . . . 204

3.6.1 Poissonova jednadžba . . . . . . . . . . . . . . . . . . . . . . . . 208 3.6.2 Prekondicioniranje sustava Poissonove jednadžbe . . . . . . . . . 212

4 Multigrid metode 221 4.1 Osnove multigrid metoda . . . . . . . . . . . . . . . . . . . . . . . . . . 221 4.2 Spektralna i algebarska slika multigrid metoda . . . . . . . . . . . . . . 236

5 Metode dekompozicije domene 249

5.1 Metode sa nepreklapajućim poddomenama . . . . . . . . . . . . . . . . 250

5.1.1 Blok-Gaussove eliminacije i Schurov komplement . . . . . . . . . 250 5.2 Metode sa preklapajućim poddomenama . . . . . . . . . . . . . . . . . . 253

5.2.1 Multiplikativna Schwarzova metoda . . . . . . . . . . . . . . . . 254 5.2.2 Aditivna Schwarzova metoda . . . . . . . . . . . . . . . . . . . . 257 5.2.3 Konvergencija metoda sa preklapajućim domenama . . . . . . . 258

5.3 Velik broj poddomena i korištenje grube mreže . . . . . . . . . . . . . . 262

6 Numerički primjeri 264 6.1 Primjer 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 6.2 Primjer 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 6.3 Primjer 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 6.4 Primjer 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 6.5 Primjer 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 6.6 Primjer 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 6.7 Primjer 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 6.8 Primjer 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 6.9 Primjer 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 6.10 Primjer 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 6.11 Primjer 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 6.12 Primjer 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 6.13 Primjer 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 4 SADRŽAJ

Glava 1

Uvod

Postavimo si vrlo jednostavan problem: rješavanje sustava linearnih jednadžbi

Ax = b,  (1.1)

pri čemu je A kvadratna n × n, regularna matrica, a b je n-dimenzionalni vektor. Naoko jednostavan za rješavanje, naročito za maleni broj jednadžbi i nepoznanica, ovaj problem ipak krije mnoge zamke za rješavače, pa čak i danas kada nam na raspolaganju stoje vrlo moćna računala. Zbog toga su se vremenom razvile mnoge različite metode za rješavanje sustava (1.1), a u ovom radu specijalno ćemo se osvrnuti na grupu metoda koje nazivamo iterativnim metodama. Kao što samo ime kaže, kod ovih metoda iteriranjem pokušavamo poboljšati neku početnu aproksimaciju, tako da u svakoj iteraciji greška bude što manja. Primjenom odgovarajućeg kriterija zaustavljanja, nakon odredenog broja iteracija, dobiveni vektor smatrat ćemo dovoljno dobrom aproksimacijom.

Sada se postavlja pitanje zašto se pored prilično djelotvorne metode Gaussovih eliminacija za rješavanje linearnih sustava razvio i veliki broj iterativnih metoda? Opće je poznato da rješavanje linearnog sustava pomoću Gaussovih eliminacija, u općenitom slučaju, zahtijeva zalihu u memoriji za skladištenje svih n^{2} elemenata matrice A, i O(n^{3}) operacija za njezino izračunavanje. Matrice koje se pojavljuju u praksi, kao na primjer matrice dobivene iz diskretizacije diferencijabilnih jednadžbi, često imaju posebna svojstva. To se obično svodi na veliki broj elemenata koji su jednaki nuli, pa govorimo o rijetko popunjenim matricama, a često je i raspored netrivijalnih elemenata vrlo pravilan, kao na primjer, kod vrpčastih matrica. Gaussove eliminacije obično su u stanju samo djelomično iskoristiti ova svojstva, jer će se u rezultirajućim trokutastim faktorima pojaviti mnogi netrivijalni elementi na mjestima, na kojim je originalna matrica A imala nule. Osim toga vrlo često umjesto skladištenja same matrice, na raspolaganju nam stoji rutina za izračunavanje produkta matrice i vektora, pa su nam sami elementi matrice vrlo teško dostupni. S druge strane rijetka popunjenost i ostala svojstva mogu se vrlo dobro iskorirtiti kod računanja produkta matrice i vektora. Ako matrica ima samo nekoliko netrivijalnih elemenata po retku, tada je broj operacija, potrebnih za računanje produkta takve matrice i danog vektora, jednak const · n, za malu konstantu const, za razliku od broja 2n^{2} operacija potrebnih za općenitu, gusto popunjenu matricu. Zalihe memorije za skladištenje ovakve matrice mogu biti puno manje od n^{2} elemenata, ako spremamo samo netrivijalne elemente. Zato su se razvile iterativne metode za rješavanje sustava (1.1) koje koriste samo množenje matrice i vektora, uz mali broj još dodatnih operacija, i koje mogu prilično nadmašiti Gaussove eliminacije i u memoriji i po broju izvršenih operacija.

U nastavku ovog poglavlja biti će iznesene mnoge definicije i pomoćni rezultati koji će nam koristiti kod razvoja iterativnih metoda i kod teorema koji govore o njihovoj konvergenciji.

1.1 Notacija

U ovoj radnji pretpostavit ćemo da su komponente matrica i vektora elementi skupa kompleksnih brojeva ℂ, osim možda u nekim analizama konvergencije, kada će to biti posebno naglašeno. Oznaku ι koristit ćemo za \sqrt{−1}. Ako sa A = (a_{ij}) označimo matricu kojoj je element na poziciji (i, j) označen sa a_{ij}, tada sa gornjim indeksom ∗ označavamo konjugiranje matrice, pri čemu je A^{∗} = (ā_{ji}). Oznaka ∥ · ∥ će uvijek predstavljati proizvoljnu matričnu ili vektorsku normu, ovisno na što je primijenjena.

Za sustav (1.1), x = A^{−1}b biti će rješenje sustava, a ako je x_{k} aproksimacija rješenja tada sa r_{k} = b − Ax_{k} označavamo rezidual, a sa e_{k} = x − x_{k} grešku pridruženu danoj aproksimaciji rješenja. Simbol ξ_{j} označava j-ti jedinični vektor, odnosno vektor kome je j-ta komponente jednaka 1, a sve ostale komponente su 0, pri čemu će se dimenzija vektora odrediti iz konteksta.

1.2 Vektorske norme i skalarni produkti

Vektorima ćemo smatrati elemente skupa n-dimenzionalnog vektorskog prostora ℂ^{n}, odnosno vektor je v ∈ ℂ^{n}. Sa v_{i} označavat ćemo i-tu komponentu vektora v. Vektorske norme koje se najčešće upotrebljavaju su

• euklidska ili 2-norma, ∥v∥_{2} = (∑_{i=1}^{n} |v_{i}|^{2})^{1/2},

• 1-norma, ∥v∥_{1} = ∑_{i=1}^{n} |v_{i}|,

• ∞-norma, ∥v∥_{∞} = max_{i=1,...,n} |v_{i}|.

Ako je ∥ · ∥ neka vektorska norma, i ako je B regularna n × n matrica, tada je ∥v∥_{B^{∗}B} = ∥Bv∥ takoder vektorska norma.

Euklidska norma je povezana sa standardnim skalarnim produktom

⟨v, w⟩ = w^{∗}v = ∑_{i=1}^{n} w̄_{i}v_{i}.

Slično B^{∗}B-norma je povezana sa skalarnim produktom

⟨v, w⟩_{B^{∗}B} = ⟨B^{∗}Bv, w⟩ = ⟨Bv, Bw⟩.

Po definiciji imamo da je ∥v∥_{2}^{2} = ⟨v, v⟩, i na sličan način je ∥v∥_{B^{∗}B}^{2} = ⟨Bv, Bv⟩ = ⟨v, v⟩_{B^{∗}B}.

1.3 Ortogonalnost

Za vektore v i w kažemo da su ortogonalni ako je ⟨v, w⟩ = 0, i da su ortonormirani ako je još i ∥v∥_{2} = ∥w∥_{2} = 1. Za vektore v i w kažemo da su B^{∗}B-ortogonalni ako je ⟨B^{∗}Bv, w⟩ = 0.

n × n kompleksnu matricu sa ortonormiranim stupcima nazivamo unitarnom matricom. Za unitarnu matricu U vrijedi U^{∗}U = UU^{∗} = I, gdje je I n × n matrica identitete. Ako je matrica U realna tada je možemo zvati ortogonalnom matricom. Pravokutnu m × n matricu V, za m ≥ n, sa ortonormiranim stupcima nazivamo ortonormalnom matricom. Važno je napomenuti da za unitarnu matricu U i bilo koji vektor v vrijedi

∥Uv∥_{2} = \sqrt{v^{∗}U^{∗}Uv} = \sqrt{v^{∗}Iv} = \sqrt{v^{∗}v} = ∥v∥_{2},

odnosno euklidska norma je unitarno invarijantna.

Ako imamo linearno nezavisan skup vektora {v_{1}, …, v_{n}}, tada za proizvoljni skalarni produkt možemo konstruirati ortonormirani skup {u_{1}, …, u_{n}} pomoću Gram– Schmidtovog postupka.

Gram–Schmidtov postupak

• u_{1} = v_{1}/∥v_{1}∥,

• ũ_{k} = v_{k} − ∑_{i=1}^{k−1}⟨v_{k}, u_{i}⟩u_{i}, u_{k} = ũ_{k}/∥ũ_{k}∥, k = 1, …, n.

Kod računanja ortogonalnog skupa vektora najčešće se upotrebljava matematički ekvivalentan postupak modificirane Gram–Schmidtove metode.

Algoritam 1.3.1. Modificirani Gram–Schmidtov algoritam.

Izračunaj u_{1} = v_{1}/∥v_{1}∥.
Za k = 1, …, n,
ũ_{k} = v_{k}.
Za i = 1, …, k − 1,
ũ_{k} := ũ_{k} − ⟨ũ_{k}, u_{i}⟩u_{i}.
u_{k} = ũ_{k}/∥ũ_{k}∥.

Važno svojstvo ovako konstruiranog ortonormiranog skupa je

span{u_{1}, …, u_{k}} = span{v_{1}, …, v_{k}}

koje vrijedi za sve k = 1, …, n. Modificirani Gram–Schmidtov postupak predstavlja osnovu mnogih iterativnih metoda za rješavanje linearnih sustava.

1.4 Matrične faktorizacije

Matrice koje ćemo mi promatrati su:

• kvadratne matrice koje su elementi skupa M_{n} (ili ℂ^{n×n}), odnosno skupa n × n kompleksinih matrica (izomorfno sa vektorskim prostorom ℂ^{n^{2}}),

• pravokutne matrice koje su elementi skupa ℂ^{m×n}, odnosno skupa m × n kompleksnih matrica (izomorfno sa vektorskim prostorom ℂ^{mn}).

Elemente matrice na poziciji (i, j) označavat ćemo sa a_{ij} ili A_{ij}, što će biti jasno iz konteksta u kojem se upotrebljavaju. Matrice možemo podijeliti u mnoge različite klase, što najčešće ovisi o odredenim svojstvima matrice, ili rezultatima različitih faktorizacija. Standardne faktorizacije poput Jordanove forme ili Schurove dekompozicije daju obično važne informacije koje se često koriste kod analize numeričkih algoritama. U nastavku ćemo dati nekoliko teorema vezanih uz standardne faktorizacije, ali bez dokaza, budući da se oni mogu naći u bilo kojem udžbeniku linearne algebre.

Teorem 1.4.1 (Jordanova forma). Neka je A proizvoljna n×n matrica. Tada postoji regularna matrica S takava da

A = S [ \begin{matrix}J_{n_{1}}(λ_{1}) \\ & J_{n_{2}}(λ_{2}) \\ & & . & . & . \\ & & & & & J_{n_{m}}(λ_{m}) \end{matrix} ] S^{−1} = SJS^{−1},

gdje su

J_{n_{i}}(λ_{i}) = [ \begin{matrix}λ_{i} & 1 \\ & λ_{i} & ... \\ & & ... & 1 \\ & & & λ_{i} \end{matrix} ] ,

n_{i} × n_{i} matrice, i ∑_{i=1}^{m} n_{i} = n.

Matricu J nazivamo Jordanovom formom matrice A. Stupci matrice S su glavni vektori, a vrijednosti λ_{i} za i = 1, …, m nazivamo svojstvenim vrijednostima matrice A, pri čemu skup svih svojstvenih vrijednosti matrice A čini spektar od A, σ(A). Za svojstvene vrijednosti općenito vrijedi da za svaki i postoji vektor v_{i} ≠ 0 takav da je

Av_{i} = λ_{i}v_{i},

što se vidi i iz Teorema 1.4.1. Vektor v_{i} u tom slučaju nazivamo svojstvenim vektorom matrice A, koji je pridružen svojstvenoj vrijednosti λ_{i}, a broj Jordanovih blokova m predstavlja broj nezavisnih svojstvenih vektora matrice A. Budući da za matricu A−λ_{i}I, pri čemu je I n × n matrica identitete, vrijedi (A − λ_{i}I)v_{i} = 0, možemo zaključiti da je ona singularna, pa je shodno tome det(A − λ_{i}I) = 0. Polinom

κ_{A}(λ) = det(A − λI)

stupnja n nazivamo karakterističnim polinomom matrice A, i iz prethodnog razmatranja vidimo da on poništava matricu A, odnosno da je κ_{A}(A) = 0. Dakle, postoji polinom stupnja A koji poništava matricu A, pa zaključujemo da postoji i minimalni polinom μ_{A}(λ), najmanjeg mogućeg stupnja, manjeg ili jednakog n, takav da poništava matricu A. Minimalni polinom je djelitelj karakterističnog polinoma, a korijeni oba polinoma su očito svojstvene vrijednosti matrice A.

Matrica A je dijagonalizabilna ako i samo ako je m = n, i tada svi stupci matrice S predstavljaju svojstvene vektore, a matrica J je dijagonalana jer su joj samo dijagonalni elementi J_{ii} eventualno različiti od nule.

Teorem 1.4.2 (Schurova dekompozicija). Neka je A proizvoljna n × n matrica sa svojstvenim vrijednostima λ_{1}, …, λ_{n} koje su poredane u bilo kojem poretku. Tada postoji unitarna matrica U takva da je A = UT U^{∗}, gdje je T gornje trokutasta matrica sa dijagonalnim elementima T_{ii} = λ_{i}.

Definicija 1.4.3.

• Matrica A je normalna ako vrijedi A^{∗}A = AA^{∗}.

• Matrica A je hermitska ako vrijedi A^{∗} = A.

• Matrica A je antihermitska ako vrijedi A^{∗} = −A.

• Matrica A je pozitivno definitna ako je hermitska, i ako vrijedi ⟨Av, v⟩ > 0 za sve vektore v ≠ 0.

• Matrica A je pozitivno semidefinitna ako je hermitska, i ako vrijedi ⟨Av, v⟩ ≥ 0 za sve vektore v.

Iz Teorema 1.4.2 vidimo da za normalnu matricu, gornje trokutasta matrica T = U^{∗}AU je takoder normalna, jer je

T^{∗}T = U^{∗}A^{∗}UU^{∗}AU = U^{∗}A^{∗}AU = U^{∗}AA^{∗}U = U^{∗}AUU^{∗}A^{∗}A = T T^{∗}.

Odavde slijedi da T mora biti dijagonalna matrica, pa su normalne matrice oblika

A = UΛU^{∗},  (1.2)

gdje je Λ dijagonalna matrica, a U unitarna. Ovakva dekompozicija se često naziva spektralnom dekompozicijom. Normalne matrice, prema tome spadaju pod dijagonalizabilne matrice, samo što su stupci matrice S = U ortonormirani, a na dijagonali matrice Λ su smještene svojstvene vrijednosti λ_{i}. Hermitske i antihermitske matrice su takoder normalne matrice, pa se i one mogu faktorizirati u oblik (1.2). Dijagonalna matrica Λ = U^{∗}AU je u tom slučaju takoder hermitska odnosno antihermitska. Za hermitsku matricu tada vrijedi da je λ̄_{i} = λ_{i} za i = 1, …, n, odnosno da su joj sve svojstvene vrijednosti realne, a za antihermitsku vrijedi λ̄_{i} = −λ_{i}, to jest, svojstvene vrijednosti različite od nule su joj imaginarne. Za svojstvene vrijednosti λ_{i} pozitivno definitne matrice vrijedi

⟨Av_{i}, v_{i}⟩ = ⟨λ_{i}v_{i}, v_{i}⟩ = λ_{i}∥v_{i}∥_{2}^{2} > 0,

gdje je v_{i} svojstveni vektor različit od nul-vektora. Zbog toga je ∥v_{i}∥_{2} > 0, pa mora biti λ_{i} > 0 za i = 1, …, n. Prema tome svojstvene vrijednosti pozitivno definitne matrice su sve pozitivne. Analogno, svojstvene vrijednsti pozitivno semidefinitne matrice su sve veće ili jednake nuli.

Sljedeći teorem govori o dekompoziciji matrice, koja kao rezultat daje informacije o veličinama koje su često vrlo važne kod analize numeričkih algoritama.

Teorem 1.4.4 (Dekompozicija singularnih vrijednosti). Neka je A proizvoljna m× n matrica ranga k. Tada postoje unitarna m × m matrice U i unitarna n × n matrica V, takve da je

A = UΣV^{∗},

gdje je Σ m × n matrica, definirana sa

[ \begin{matrix}σ_{1} \\ & . & . & . \\ & & & & σ_{k} \\ & & & & & 0 \\ & & & & & & . & . & . \\ & & & & & & & & & 0 \end{matrix} ] ,

pri čemu vrijedi σ_{1} ≥ σ_{2} ≥ ⋯ ≥ σ_{k} > 0.

Veličine σ_{i}, koje zovemo singularnim vrijednostima matrice A, su zapravo kvadratni korijeni netrivijalnih svojstvenih vrijednosti hermitskih matrica A^{∗}A = V Σ^{T} ΣV^{∗}, gdje je Σ^{T} Σ n × n dijagonalna matrica sa nenegativnim dijagonalnim elementima, i AA^{∗} = UΣΣ^{T} U^{∗}, kod koje je ΣΣ^{T} m × m dijagonalna matrica sa nenegativnim dijagonalnim elementima. Stupce matrice V nazivamo desnim singularnim vektorima matrice A, i predstavljaju svojstvene vektore matrice A^{∗}A, dok stupce matrice U nazivamo lijevim singularnim vektorima od A, koji su uz to još i svojstveni vektori matrice AA^{∗}.

Još jedan važan pojam koji je vezan uz singularnu dekompoziciju je generalizirani inverz. Neka je A m × n matrica, i neka je A = UΣV^{∗}, pri čemu su U, V i Σ kao u Teoremu 1.4.4. Tada je generalizirani inverz A^{+} matrice A n × m matrica definirana sa

A^{+} = V [ \begin{matrix}σ_{1}^{−1} \\ & . & . & . \\ & & & & σ_{k}^{−1} \\ & & & & & 0 \\ & & & & & & . & . & . \\ & & & & & & & & & 0 \end{matrix} ] U^{∗}.

Može se pokazati da za matricu A^{+} vrijede Moore–Penroseovi uvjeti:

1. AA^{+}A = A,

2. A^{+}AA^{+} = A^{+},

3. (AA^{+})^{∗} = AA^{+},

4. (A^{+}A)^{∗} = A^{+}A.

Preostale su nam još tri faktorizacije, koje se često koriste kao alat za rješavanje raznih problema

Teorem 1.4.5 (LU faktorizacija). Naka je A regularna n × n matrica. Tada postoji matrica permutacije P, takva da se A može faktorizirati u oblik

A = P LU,

gdje je L donje trokutasta, a U gornje trokutasta matrica.

LU faktorizacija je osnova standardne direktne metode za rješavanje linearnog sustava Ax = b, koja je poznata pod imenom Gaussove eliminacije. Prvo se matrica A faktorizira u oblik P LU, a onda se riješi sustav Ly = P^{∗}b, da bi na kraju dobili konačno rješenje rješavnjem sustava Ux = y. Za neke matrice A matrica permutacije P za dobivanje LU faktorizacije nije potrebna, odnosno može biti jednaka identiteti, a faktorizacija se tada može izvesti direktno nad matricom A. Takav je slučaj na primjer, sa pozitivno definitnim matricama, kod kojih zbog hermitičnosti još vrijedi da ako L i U^{∗} imaju iste dijagonalne elemente, tada je U = L^{∗}. LU faktorizacija pozitivno definitne matrice tada ima oblik A = LL^{∗} = U^{∗}U, kojeg nazivamo faktorizacijom Choleskog.

Druga direktna metoda za rješavanje linearnih sustava i problema najmanjih kvadrata je QR fakorizacija.

Teorem 1.4.6 (QR faktorizacija). Neka je A proizvoljna m × n matrica, sa m ≥ n. Tada postoji m × n ortonormalna matrica Q i n × n gornje trokutasta matrica R, takva da je

A = QR.

Druga varijanta iste faktorizacije je kada se matrici Q dodaju dodatni stupci, tako da dobijemo m × m unitarnu matricu Q̂, takvu da je A = Q̂R̂, gdje je R̂ m × n matrica kojoj je gornji n × n blok jednak matrici R, a ostatak jednak nuli.

Jedan način dobivanja QR faktorizacije matrice A je primjena modificiranog Gram– Schmidtovog algoritma na stupce od A. Drugi način je primjena niza unitarnih matrica nad matricom A, kako bi se transformirala u gornje trokutasti oblik. Budući da je produkt unitarnih matrica unitaran, i inverz unitarne matrice je unitaran, ovaj postupak će takoder dati QR faktorizaciju matrice A. Ako je matrica A punog stupčanog ranga, a dijagonalni elementi matrice R su pozitivni, tada su Q i R faktori jedinstveni, pa će ovakav način dobivanja QR faktorizacije dati isti rezultat kao i QR faktorizacija pomoću modificiranog Gram–Schmidtovog algoritma. Unitarne matrice koje se često koriste u QR faktorizaciji su Hauseholderovi reflektori i Givensove rotacije koje se primjenjuju kod matrica sa specijalnom strukturom. Kao što ćemo vidjeti, mnoge iterativne metode za rješavanje linearnih sustava koriste Givensove rotacije. Kod rješavanja problema najmanjih kvadrata, jednom kad se m × n matrica A transformira u oblik Q̂R̂ imamo

min_{y} ∥Ay − b∥_{2} = ∥Q̂R̂y − b∥_{2} = ∥R̂ŷ − Q̂^{∗}b∥_{2},

što se može riješiti rješavanjem gornje trokutastog sustava Ry = Q^{∗}b. Zadnja faktorizacija odnosi se samo na unitarne matrice.

Teorem 1.4.7 (CS dekompozicija). Neka je W n × n unitarna matrica i neka je dana particija

\begin{matrix}W & = & [ \begin{matrix}W_{11} & W_{12} \\ W_{21} & W_{22} \end{matrix} ] & \begin{matrix}l \\ n − l \end{matrix} , & 2l ≤ n. \\ l & n − l \end{matrix}

Tada postoje unitarne matrice U i V oblika

U = [ \begin{matrix}U_{11} & 0 \\ 0 & U_{22} \end{matrix} ] , V = [ \begin{matrix}V_{11} & 0 \\ 0 & V_{22} \end{matrix} ] ,

gdje su U_{11}, V_{11} l × l matrice takve da je

\begin{matrix}U^{∗}W V & = & [ \begin{matrix}Γ & −Σ & 0 \\ Σ & Γ & 0 \\ 0 & 0 & I \end{matrix} ] & \begin{matrix}l \\ l \\ n − 2l \end{matrix} \\ l & l & n − 2l \end{matrix}

Pri tom vrijedi

Γ = diag(γ_{1}, …, γ_{l}) ≥ 0,
Σ = diag(σ_{1}, …, σ_{l}) ≥ 0,
Γ^{2} + Σ^{2} = I,

pri čemu dijagonalni elementi od Γ mogu biti u bilo kojem poretku.

1.5 Spektralni radijus i matrične norme

Najprije definirajmo spektralni radijus, koji predstavlja veličinu od velike važnosti kod analize odredenih iterativnih metoda.

Definicija 1.5.1. Spektralni radijus ρ(A) n × n matrice A je

ρ(A) = max{|λ| : λ je svojstvena vrijednost od A}.

Kao i kod vektorskih prostora ℂ^{n}, i za matrice se mogu definirati norme, koje mogu dati dosta informacija o samoj matrici. Neka je A m × n matrica. Najčešće upotrebljavane matrične norme su

• Spektralna norma ili 2-norma, ∥A∥_{2} = \sqrt{ρ(A^{∗}A)},

• Frobenijusova norma, ∥A∥_{F} = (∑_{i=1}^{m} ∑_{j=1}^{n} |a_{ij}|^{2})^{1/2},

• 1-norma, ∥A∥_{1} = max_{j=1,...,n} ∑_{i=1}^{m} |a_{ij}|,

• ∞-norma, ∥A∥_{∞} = max_{i=1,...,m} ∑_{j=1}^{n} |a_{ij}|.

Za matričnu normu ∥·∥ kažemo da je konzistentna ako za m×n matricu A i n×p matricu B vrijedi ∥AB∥ ≤ ∥A∥ · ∥B∥. Lako se može vidjeti da su sve gore navedene norme konzistentne. Još je važno primijetiti da je za spektralnu normu, prema singularnoj dekompoziciji i unitarnoj invarijantnosti ∥A∥_{2} = σ_{max}(A), gdje je σ_{max}(A) najveća singularna vrijednost matrice A.

Vrlo važna veličina vezana uz matrične norme, koja se pojavljuje u analizi konvergencije iterativnih metoda, i o kojoj u velikom broji slučajeva ovisi brzina konvergencije je uvjetovanost matrice. Za bilo koju matričnu normu ∥ · ∥ uvjetovanost invertibilne matrice A definiramo sa ∥A∥ · ∥A^{−1}∥. Mi ćemo uglavnom koristiti uvjetovanost definiranu preko spektralne norme

κ(A) = κ_{2}(A) = ∥A∥_{2}∥A^{−1}∥_{2} = \frac{σ_{max}(A)}{σ_{min}(A)},

gdje su σ_{max}(A) i σ_{min}(A) najveća i najmanja singularna vrijednost matrice A.

Definicija 1.5.2. Neka je ∥ · ∥ vektorska norma na ℂ^{n}. Operatorska norma, takoder označena sa ∥ · ∥, je matrična norma definirana na M_{n} sa

∥A∥ = max_{∥v∥=1} ∥Av∥.

Kažemo da vektorska norma ∥ · ∥ inducira odgovarajuću matričnu normu.

Ekvivalentna definicija za operatorsku normu je

∥A∥ = max_{v≠0} \frac{∥Av∥}{∥v∥}.

Primijetimo da za ovako definirane norme vrijedi ∥Av∥ ≤ ∥A∥∥v∥, odnosno matrična i vektorska norma ∥ · ∥ su konzistente.

Teorem 1.5.3 ([12]). Spektralna matrična norma, 1-norma i ∞-norma su operatorske norme, inducirane odgovarajućim vektorskim normama.

Dokaz: Kao posljedicu singularne dekompozicije imamo da je A^{∗}A = UΛU^{∗}, gdje je U unitarna, a Λ = diag(λ_{1}, …, λ_{n}) dijagonalna matrica nenegativnih svojstvenih vrijednosti od A^{∗}A. Ako uzmemo proizvoljni vektor v i ako definiramo u = U^{∗}v, i λ_{max} kao najveću svojstvenu vrijednost matrice A^{∗}A, tada vrijedi

∥Av∥_{2}^{2} = ⟨Av, Av⟩ = ⟨A^{∗}Av, v⟩ = ⟨UΛU^{∗}v, v⟩ =
= ⟨ΛU^{∗}v, U^{∗}v⟩ = ⟨Λu, u⟩ = ∑_{i=1}^{n} λ_{i}|u_{i}|^{2} ≤

≤ λ_{max} ∑_{i=1}^{n} |u_{i}|^{2} = ∥A∥_{2}^{2}∥u∥_{2}^{2} = ∥A∥_{2}^{2}∥v∥_{2}^{2}.

Dakle za proizvoljni vektor v dobili smo nejednakost ∥Av∥_{2} ≤ ∥A∥_{2}∥v∥_{2}, odnosno

max_{∥v∥_{2}=1} ∥Av∥_{2} ≤ ∥A∥_{2}.

Ako v izaberemo tako da on bude svojstveni vekortor matrice A^{∗}A norme jedan, koji odgovara svojstvenoj vrijednosti λ_{max}, tada u gornjoj nejednakosti vrijedi jednakost. U tom je slučaju

∥Av∥_{2} = \sqrt{⟨Av, Av⟩} = \sqrt{⟨A^{∗}Av, v⟩} = \sqrt{λ_{max}}\sqrt{⟨v, v⟩} = \sqrt{λ_{max}} = ∥A∥_{2},

odnosno

max_{∥v∥_{2}=1} ∥Av∥_{2} ≥ ∥A∥_{2}.

Time smo pokazali da je spektralna norma inducirana euklidskom normom.

Raspišimo matricu A po stupcima A = [a_{1} … a_{n}]. Tada za proizvoljni vektor v imamo

∥Av∥_{1} = ∥∑_{i=1}^{n} v_{i}a_{i}∥_{1} ≤ ∑_{i=1}^{n} ∥v_{i}a_{i}∥_{1} = ∑_{i=1}^{n} |v_{i}| · ∥a_{i}∥_{1} ≤

≤ max_{j=1,...n} ∥a_{j}∥_{1} · ∑_{i=1}^{n} |v_{i}| = ∥A∥_{1}∥v∥_{1}.

Ovime smo dobili nejednakost

max_{∥v∥_{1}=1} ∥Av∥_{1} ≤ ∥A∥_{1}.

Ali ako izaberemo v kao jedinični vektor sa jedinicom na poziciji k, pri čemu je k indeks stupca matrice A sa najvećom 1-normom, i nulama na ostalim pozicijama, tada je ∥Av∥_{1} = ∥A∥_{1}, pa moramo imati

max_{∥v∥_{1}=1} ∥Av∥_{1} ≥ ∥A∥_{1}.

Dakle i 1-norma je operatorska norma.

Ponovo uzmimo da je v proizvoljni vektor. Tada je

∥Av∥_{∞} = max_{i=1,...,n} |∑_{j=1}^{n} a_{ij}v_{j}| ≤ max_{i=1,...,n} (∑_{j=1}^{n} |a_{ij}| · |v_{j}|) ≤

≤ max_{j=1,...,n} |v_{j}| · max_{i=1,...,n} ∑_{i=1}^{n} |a_{ij}| = ∥v∥_{∞} · ∥A∥_{∞},

pa prema tome vrijedi

max_{∥v∥_{∞}=1} ∥Av∥_{∞} ≤ ∥A∥_{∞}.

S druge strane, pretpostavimo da k-ti redak od A ima najveću sumu apsolutnih vrijednosti svojih elemenata. Neka je v vektor čije su komponente jednake ±1, i to tako da predznak j-te komponente od v odgovara predznaku elementa a_{kj}. Tada je

|(Av)_{k}| = ∑_{j=1}^{n} |a_{kj}| = ∥A∥_{∞},

odnosno

∥Av∥_{∞} ≥ ∥A∥_{∞}.

Pokazali smo da je i ∞-norma operatorska norma.

Teorem 1.5.4 ([12]). Ako je ∥ · ∥ matrična norma na M_{n}, i ako je B n × n regularna matrica, tada je

∥A∥_{B^{∗}B} = ∥BAB^{−1}∥

matrična norma. Ako je ∥ · ∥ inducirana vektorskom normom ∥ · ∥, tada je ∥ · ∥_{B^{∗}B} inducirana vektorskom normom ∥ · ∥_{B^{∗}B}.

Dokaz: Aksiomi norme se lagano dokažu. Dokažimo da je ∥ · ∥_{B^{∗}B} operatorska norma, ako vrijedi ∥A∥ = max_{v≠0} ∥Av∥/∥v∥. Tada za w = B^{−1}v vrijedi

∥A∥_{B^{∗}B} = max_{v≠0} ∥BAB^{−1}v∥/∥v∥ =
= max_{w≠0} ∥BAw∥/∥Bw∥ =
= max_{w≠0} ∥Aw∥_{B^{∗}B}/∥w∥_{B^{∗}B},

Pa je prema tome ∥ · ∥_{B^{∗}B} matrična norma inducirana vektorskom normom ∥ · ∥_{B^{∗}B}.

Preostali teoremi govore o odnosu spektralnog radijusa i matričnih normi.

Teorem 1.5.5 ([12]). Ako je ∥ · ∥ bilo koja konzistentna matrična norma, i neka je A n × n matrica, tada je

ρ(A) ≤ ∥A∥.

Dokaz: Neka je λ svojstvena vrijednost od A, za koju je |λ| = ρ(A), i neka je v ≠ 0 odgovarajući svojstveni vektor. Neka je V n × n matrica kojoj je svaki stupac jednak v. Tada je AV = λV, i vrijedi

|λ| · ∥V ∥ = ∥λV ∥ = ∥AV ∥ ≤ ∥A∥ · ∥V ∥.

Budući da je V ≠ 0, imamo da je ∥V ∥ > 0, odakle slijedi ρ(A) ≤ ∥A∥.

Teorem 1.5.6 ([18]). Neka je A n × n matrica i neka je dan ϵ > 0. Tada postoji operatorska norma ∥ · ∥_{ϵ,A} takva da je

∥A∥_{ϵ,A} ≤ ρ(A) + ϵ.

Dokaz: Neka je S^{−1}AS = J Jordanova forma matrice A. Definirajmo

D_{ϵ} = diag(1, ϵ, …, ϵ^{n−1}),

i

J_{ϵ} = D_{ϵ}^{−1}JD_{ϵ},

tako da vrijedi

(J_{ϵ})_{ii} = ϵ^{−(i−1)}J_{ii}ϵ^{i−1} = J_{ii}
(J_{ϵ})_{i,i+1} = ϵ^{−(i−1)} · 1 · ϵ^{i} = ϵ

Matričnu normu, za proizvoljnu n × n matricu B, definirat ćemo na sljedeći način.

∥B∥_{ϵ,A} = ∥D_{ϵ}^{−1}S^{−1}BSD_{ϵ}∥_{1},

pri čemu je odgovarajuća vektorska norma koja je inducira za proizvoljan vektor v, oblika

∥v∥_{ϵ,A} = ∥D_{ϵ}^{−1}S^{−1}v∥_{1},

što se lako može provjeriti iz niza jednakosti

max_{v≠0} \frac{∥D_{ϵ}^{−1}S^{−1}Bv∥_{1}}{∥D_{ϵ}^{−1}S^{−1}v∥_{1}} = max_{w≠0} \frac{∥D_{ϵ}^{−1}S^{−1}BSD_{ϵ}w∥_{1}}{∥w∥_{1}} =
= ∥D_{ϵ}^{−1}S^{−1}BSD_{ϵ}∥_{1} = ∥B∥_{ϵ,A},

pri čemu je w = D_{ϵ}^{−1}S^{−1}v. Napokon, vrijedi

∥A∥_{ϵ,A} = ∥J_{ϵ}∥_{1} ≤ ρ(A) + ϵ.

Kod proučavanja konvergencije jednostavnih iteracija, interesirat će nas uvjeti pod kojima potencije matrice A konvergiraju ka nul-matrici.

Teorem 1.5.7 ([12]). Neka je A n × n matrica. Tada je lim_{k→∞} A^{k} ako i samo ako je ρ(A) < 1.

Dokaz: Prvo pretpostavimo da je lim_{k→∞} A^{k} = 0. Neka je λ svojstvena vrijednost od A sa svojstvenim vektorom v ≠ 0. Budući da je A^{k}v = λ^{k}v, za proizvoljnu normu ∥ · ∥ slijedi

0 = lim_{k→∞} ∥λ^{k}v∥ = ∥v∥ lim_{k→∞} |λ^{k}|.

Kako je ∥v∥ > 0, vrijedi da je lim_{k→∞} |λ^{k}| = 0, odakle slijedi da mora biti |λ| < 1, i to za proizvoljnu svojstvenu vrijednost od A. Dakle vrijedi i ρ(A) < 1.

Obrnuto, pretpostavimo da je ρ(A) < 1, i tada prema Teoremu 1.5.6 postoji operatorska norma ∥ · ∥, takva da je za 0 < ϵ < 1 − ρ(A)

∥A∥ ≤ ρ(A) + ϵ < 1.

Odatle slijedi da je

lim_{k→∞} ∥A^{k}∥ ≤ lim_{k→∞} ∥A∥^{k} = 0.

Budući da su na M_{n} sve matrične norme ekvivalentne, znači da je i lim_{k→∞} ∥A^{k}∥_{F} = 0, odakle slijedi da svi elementi od A^{k} moraju težiti k nuli.

Korolar 1.5.8 ([12]). Neka je ∥ · ∥ bilo koja matrična norma na M_{n}. Tada je

ρ(A) = lim_{k→∞} ∥A^{k}∥^{1/k}

za svaku n × n matricu A.

Dokaz: Budući da je prema definiciji i Teoremu 1.5.5 ρ(A)^{k} = ρ(A^{k}) ≤ ∥A^{k}∥, imamo da je ρ(A) ≤ ∥A^{k}∥^{1/k}, za sve k = 1, 2, . . .. Za proizvoljni ϵ > 0, matrica Ã = [ρ(A) + ϵ]^{−1}A ima spektralni radijus strogo manji od jedan, pa je prema Teoremu 1.5.7 lim_{k→∞} ∥Ã^{k}∥ = 0. Dakle, postoji broj K koji ovisi o ϵ, takav da je za svaki k ≥ K, ∥Ã^{k}∥ < 1, što je ekvivalentno tvrdnji ∥A^{k}∥ ≤ [ρ(A) + ϵ]^{k} ili ∥A^{k}∥^{1/k} ≤ ρ(A) + ϵ za sve k ≥ K. Prema tome imamo

ρ(A) ≤ ∥A^{k}∥^{1/k} ≤ ρ(A) + ϵ

za sve k ≥ K, a budući da to vrijedi za sve ϵ > 0, slijedi da lim_{k→∞} ∥A^{k}∥^{1/k} postoji i da je jednak ρ(A).

Preostaje nam još samo jedna lema koja se često koristi u analizi konvergencije iterativnih metoda, a govori o tome kako poznavanje norme matrice A odreduje da li je matrica I − A invertibilna, i ako je, na koji način možemo izračunati inverz.

Lema 1.5.9 ([18]). Neka je A n × n matrica i neka je ∥ · ∥ operatorska norma za koju vrijedi da je ∥A∥ < 1. Tada je I − A regularna matrica i vrijedi

(I − A)^{−1} = ∑_{i=0}^{∞} A^{i}.

Dokaz: Ako je ∥A∥ < 1 tada su prema Teoremu 1.5.5 i sve svojstvene vrijednosti matrice A po apsolutnoj vrijednosti manje od 1. Prema tome matrica I − A nema niti jednu svojstvenu vrijednost jednaku nuli, pa je stoga regularna.

Definirajmo sada matricu S_{k} izrazom

S_{k} = ∑_{i=0}^{k} A^{i},

u tom slučaju imamo da je

(I − A)S_{k} = S_{k}(I − A) = I − A^{k+1},  k ≥ 1.  (1.3)

Budući da je ∥A∥ < 1, tada je prema dokazu Teorema 1.5.7

lim_{k→∞} A^{k} = 0.

Dakle uzimanjem limesa, od jednakosti (1.3) dobit ćemo

(I − A) lim_{k→∞} S_{k} = lim_{k→∞} S_{k}(I − A) = I,

pa je prema tome

(I − A)^{−1} = lim_{k→∞} S_{k} = ∑_{i=0}^{∞} A^{i}.

1.6 Svojstvene vrijednosti i polje vrijednosti

U kasnijim poglavljima ove radnje vidjet ćemo da svojstvene vrijednosti normalne matrice daju sve važne informacije o matrici, koje su važne za konvergenciju iterativnih metoda za rješavanje sustava. Takav jednostavan skup karaktereristika za ne-normalne matrice, koje bi dale sve potrebne informacije o matrici, na žalost ne postoji. Medutim, polje vrijednosti dati će nam neke važne podatke.

Najprije ćemo navesti neke teoreme koji govore o svojstvenim vrijednostima i na koji način ih možemo locirati.

Teorem 1.6.1 (Gerschgorinov teorem [12]). Neka je A n × n matrica, i neka

R_{i}(A) = ∑_{{j=1 \atop j≠i}}^{n} |a_{ij}|, i = 1, …, n

označava sumu apsolutnih vrijednosti svih vandijagonalnih elemenata u retku i. Tada su sve svojstvene vrijednosti od A smještene u uniji krugova, koje nazivamo Gerschgorinovim krugovima

⋃_{i=1}^{n}{z ∈ ℂ : |z − a_{ii}| ≤ R_{i}(A)}.

Dokaz: Neka je λ svojstvena vrijednost matrice A, sa odgovarajućim svojstvenim vektorom v ≠ 0. Neka je v_{p} komponenta od v sa najvećom apsolutnom vrijednošću, odnosno |v_{p}| ≥ max_{i≠p} |v_{i}|. Budući da je Av = λv, imamo

λv_{p} = (Av)_{p} = ∑_{j=1}^{n} a_{pj}v_{j},

ili ekvivalentno

v_{p}(λ − a_{pp}) = ∑_{{j=1 \atop j≠p}}^{n} a_{pj}v_{j}.

Iz nejednakosti trokuta slijedi

|v_{p}||λ − a_{pp}| = |∑_{{j=1 \atop j≠p}}^{n} a_{pj}v_{j}| ≤ ∑_{{j=1 \atop j≠p}}^{n} |a_{pj}||v_{j}| ≤ |v_{p}|R_{p}(A).

Budući da je |v_{p}| > 0, slijedi da je |λ − a_{pp}| ≤ R_{p}(A), to jest svojstvena vrijednost leži u Gerschgorinovom krugu, koji odgovara p-tom retku matrice A, pa prema tome sve svojstvene vrijednosti leže u uniji Gerschgorinovih krugova.

Može se dalje pokazati da ako unija od k Gerschgorinovih krugova predstavlja povezano područje, koje je disjunktno sa ostatkom od n−k krugova, tada to područje sadrži točno k svojstvenih vrijednosti od A.

Sada prelazimo na polje vrijednosti, koje je puno značajnije za nehermitske matrice od svojstvenih vrijednosti.

Definicija 1.6.2. Polje vrijednosti n × n matrice A je

F(A) = {⟨Av, v⟩ : v ∈ ℂ^{n}, ∥v∥_{2} = 1}.

To se još zove i numerički rang. Ekvivalentna definicija je

F(A) = \{\frac{⟨Av, v⟩}{⟨v, v⟩} : v ∈ ℂ^{n}, v ≠ 0\} .

Polje vrijednosti je kompaktan skup u kompleksnoj ravnini, jer je slika neprekidne funkcije nad kompaktnim skupom euklidske kugle. Takoder se može pokazati da je ono i konveksan skup, što je poznato kao Toeplitz–Hausdorffov teorem,[22, str. 17-24]. Numerički radijus ν(A) je najveća apsolutna vrijednost elementa iz F(A), odnosno

ν(A) = max{|z| : z ∈ F(A)}.

Lema 1.6.3 ([12]). Neka je A n × n matrica, a α je kompleksni skalar. Tada vrijedi

F(A + αI) = F(A) + α,  (1.4)
F(αA) = αF(A),  (1.5)

i

F (\frac{1}{2}(A + A^{∗})) = Re(F(A)).  (1.6)

Dokaz:

F(A) = {⟨(A + αI)v, v⟩ : ∥v∥_{2} = 1} =
= {⟨Av, v⟩ + α⟨v, v⟩ : ∥v∥_{2} = 1} =
= {⟨Av, v⟩ : ∥v∥_{2} = 1} + α = F(A) + α.
F(αA) = {⟨αAv, v⟩ : ∥v∥_{2} = 1} =
= {α⟨Av, v⟩ : ∥v∥_{2} = 1} = αF(A).

⟨\frac{1}{2}(A + A^{∗})v, v⟩ = \frac{1}{2}(⟨Av, v⟩ + ⟨A^{∗}v, v⟩) = \frac{1}{2}(⟨Av, v⟩ + \overline{⟨Av, v⟩}) = Re(⟨Av, v⟩).

Prema tome svaka vrijednost iz F(\frac{1}{2}(A + A^{∗})) je oblika Re(z) za neki z ∈ F(A) i obratno.

Za bilo koju n × n matricu A, F(A) sadržava svojstvene vrijednosti od A, budući da je ⟨Av, v⟩ = ⟨λv, v⟩ = λ⟨v, v⟩ = λ, za svojstvenu vrijednost λ i normalizirani svojstveni vektor v. Takoder, ako je U unitarna matrica tada je F(U^{∗}AU) = F(A), jer vrijednost ⟨U^{∗}AUv, v⟩ iz F(U^{∗}AU) sa ∥v∥_{2} = 1 odgovara vrijednosti ⟨AUv, Uv⟩ = ⟨Au, u⟩ iz F(A) za u = Uv, ∥u∥_{2} = ∥v∥_{2} = 1, i obratno.

Za općenitu matricu A, neka H(A) = \frac{1}{2}(A + A^{∗}) označava hermitski dio od A. Tada je je prema (1.6) F(H(A)) = Re(F(A)). Zato možemo iznijeti teorem koji je analogan Gerschgorinovom, samo što vrijedi za polje vrijednosti, kako bi ga mogli aproksimativno locirati.

Teorem 1.6.4 ([12]). Neka je A n × n matrica i neka su

R_{i}(A) = ∑_{{j=1 \atop j≠i}}^{n} |a_{ij}|, i = 1, …, n,

C_{j}(A) = ∑_{{i=1 \atop i≠j}}^{n} |a_{ij}|, j = 1, …, n.

Tada je polje vrijednosti od A sadržano u

conv (⋃_{i=1}^{n} \{z ∈ ℂ : |z − a_{ii}| ≤ \frac{1}{2}(R_{i}(A) + C_{i}(A))\}) ,  (1.7)

gdje conv(·) označava konveksnu ljusku.

Dokaz: Prvo primijetimo da, budući da je realni dio od F(A) jednak F(H(A)) i budući da je F(H(A)) konveksna ljuska svojstvenih vrijednosti od H(A), iz Gerschgorinovog teorema primjenjenog na H(A) slijedi

Re(F(A)) ⊂ conv (⋃_{i=1}^{n} \{z ∈ ℝ : |z − Re(a_{ii})| ≤ \frac{1}{2}(R_{i}(A) + C_{i}(A))\}) .  (1.8)

Neka je sa G_{F} (A) označen skup u (1.7). Ako je G_{F} (A) sadržan u desnoj otvorenoj poluravnini \{z : Re(z) > 0\}, tada je Re(a_{ii}) > \frac{1}{2}(R_{i}(A) + C_{i}(A)) za sve i, i zbog toga je i skup na desnoj strani u (1.8) sadržan u desnoj otvorenoj poluravnini. Budući da je F(A) konveksan skup, slijedi da i F(A) leži u desnoj otvorenoj poluravnini.

Sada pretpostavimo da je G_{F} (A) sadržan u nekoj otvorenoj poluravnini kojoj se rub poklapa sa nekim pravcem kroz ishodište. Budući da je G_{F} (A) konveksan skup, to je ekvivalentno uvjetu 0 ∉ G_{F} (A). Tada postoji neko θ ∈ [0, 2π⟩, takvo da je e^{ιθ}G_{F} (A) = G_{F} (e^{ιθ}A) sadržano u desnoj otvorenoj poluravnini. Iz prethodne analize slijedi da tada i F(e^{ιθ}A) = e^{ιθ}F(A) leži u desnoj otvorenoj poluravnini, pa je prema tome 0 ∉ F(A).

Napokon, za bilo koji kompleksni broj α, ako α ∉ G_{F} (A), tada 0 ∉ G_{F} (A − αI), pa prethodna razmatranja pokazuju da i 0 ∉ F(A − αI). Prema (1.4) slijedi da α ∉ F(A). Zbog toga je F(A) ⊂ G_{F} (A).

Za normalne matrice polje vrijednosti je konveksna ljuska spektra. Kako bismo to vidjeli, napišimo svojstvenu dekompoziciju matrice A kao A = UΛU^{∗}, gdje U unitarna, i Λ = diag{λ_{1}, …, λ_{n}}. Zbog svojstva unitarne invarijantnosti polja vrijednosti imamo da je F(A) = F(Λ). Budući da je za v, takav da je ∥v∥_{2} = 1, ⟨Λv, v⟩ = ∑_{i=1}^{n} |v_{i}|^{2}λ_{i}, slijedi da je F(λ) skup konveksnih kombinacija svojstvenih vrijednosti λ_{1}, …, λ_{n}. Za hermitske matrice možemo biti još precizniji, budući da je zbog \overline{⟨Av, v⟩} = ⟨v, Av⟩ = ⟨Av, v⟩ polje vrijednosti realno.

Numerički radijus ν(A) takoder ima mnoga zanimljiva svojstva.

Lema 1.6.5 ([12]). Neka su A i B proizvoljne n × n matrice, tada vrijedi

ν(A + B) ≤ ν(A) + ν(B),  (1.9)
\frac{1}{2}∥A∥_{2} ≤ ν(A) ≤ ∥A∥_{2},  (1.10)
ν(A^{m}) ≤ [ν(A)]^{m},  m = 1, 2, ….  (1.11)

Dokaz:

ν(A + B) = max_{∥v∥_{2}=1} |⟨(A + B)v, v⟩| ≤ max_{∥v∥_{2}=1}(|⟨Av, v⟩| + |⟨Bv, v⟩|) ≤
≤ max_{∥v∥_{2}=1} |⟨Av, v⟩| + max_{∥v∥_{2}=1} |⟨Bv, v⟩| = ν(A) + ν(B).

Druga nejednakost u (1.10) slijedi iz činjenice da za bilo koji vektor v sa ∥v∥_{2} = 1 slijedi

|⟨Av, v⟩| ≤ ∥Av∥_{2}∥v∥_{2} ≤ ∥A∥_{2}.

Prva nejednakost u (1.10) dobiva se na sljedeći način. Prvo primijetimo da je ν(A) = ν(A^{∗}). Ako napišemo A u obliku A = H(A) + N(A), gdje je N(A) = \frac{1}{2}(A − A^{∗}), i ako primijetimo da su obje matrice H(A) i N(A) normalne, tada imamo

∥A∥_{2} ≤ ∥H(A)∥_{2} + ∥N(A)∥_{2} = ν(H(A)) + ν(N(A)),

jer se maksimalne vrijednosti elemenata konveksnog skupa F(A) mogu postići u njegovim vrhovima, koji su za normalne matrice jednaki svojstvenim vrijednostima. Korištenjem definicije numeričkog radijusa dobivamo

∥A∥_{2} ≤ \frac{1}{2} [ max_{∥v∥_{2}=1} |⟨(A + A^{∗})v, v⟩| + max_{∥v∥_{2}=1} |⟨(A − A^{v})v, v⟩|] ≤
≤ \frac{1}{2} [2 max_{∥v∥_{2}=1} |⟨Av, v⟩| + 2 max_{∥v∥_{2}=1} |⟨A^{∗}v, v⟩|] = 2ν(A).

Za dokaz nejednakosti (1.11) vidi [22, Problem 27, str 333–334].

Teorem 1.6.6 (Rayleigh–Ritz [22]). Neka je A n × n hermitska matrica, i neka su λ_{1} ≤ ⋯ ≤ λ_{n} njene svojstvene vrijednosti. Tada vrijedi

λ_{1} = min_{∥v∥_{2}=1}⟨Av, v⟩, λ_{n} = max_{∥v∥_{2}=1}⟨Av, v⟩.

Dokaz: Neka su u^{(1)}, …, u^{(n)} ortonormirani svojstveni vektori matrice A, pridruženi svojstvenim vrijednostima λ_{1}, …, λ_{n}. Za proizvoljan vektor v sa ∥v∥_{2} = 1 imamo v = ∑_{i=1}^{n} v_{i}u^{(i)} i ∥v∥_{2}^{2} = ∑_{i=1}^{n} |v_{i}|^{2}. Vrijedi

⟨Av, v⟩ = ∑_{i=1}^{n} λ_{i}|v_{i}|^{2} ≥ λ_{1}∥v∥_{2}^{2} = λ_{1},

odakle je min_{∥v∥_{2}=1}⟨Av, v⟩ ≥ λ_{1}. Ako uzmemo da je v svojstveni vektor u^{(1)} svojstvene vrijednosti λ_{1}, tada je ⟨Av, v⟩ = λ_{1}, što znači da je min_{∥v∥_{2}=1}⟨Av, v⟩ ≤ λ_{1}.

S druge strane za proizvoljni vektor v sa ∥v∥_{2} = 1 imamo

⟨Av, v⟩ = ∑_{i=1}^{n} λ_{i}|v_{i}|^{2} ≤ λ_{n}∥v∥_{2}^{2} = λ_{n},

odakle je max_{∥v∥_{2}=1}⟨Av, v⟩ ≤ λ_{1}. Ako pak uzmemo da je v svojstveni vektor svojstvene vrijednosti λ_{n}, tada je ⟨Av, v⟩ = λ_{n}, što znači da je max_{∥v∥_{2}=1}⟨Av, v⟩ ≥ λ_{n}. Dakle u oba slučaja je tvrdnja dokazana.

Na kraju ćemo iznijeti još jedan koristan teorem o ogradama svojstvenih vrijednosti hermitske matrice, čiji se dokaz nalazi u [30, str. 202–205].

Teorem 1.6.7 (Cauchyjev teorem ispreplitanja [30]). Neka je A n × n hermitska matrica sa svojstvenim vrijednostima λ_{1} ≤ ⋯ ≤ λ_{n}, i neka je H bilo koja m × m glavna podmatrica (dobivena uzimanjem m stupaca i m redaka iz matrice A, sa indeksima i_{1}, …, i_{m}), sa svojstvenim vrijednostima μ_{1} ≤ ⋯ ≤ μ_{m}. Tada za svako i = 1, …, m vrijedi

λ_{i} ≤ μ_{i} ≤ λ_{i+n−m}.

1.7 Perturbacijska teorija za linearne sustave

Kada linearni sustav Ax = b rješavamo u aritmetici konačne preciznosti, to jest kada nam podaci nisu apsolutno točni, tada se pojavljuju tri važna pitanja:

(1) Koliko će se x promijeniti ako perturbiramo A i b (greška unaprijed), to jest, koliko je rješenje osjetljivo na perturbacije podataka?

(2) Koliko moramo perturbirati podatke A i b kako bi aproksimacija rješenja y postala egzaktno rješenje perturbiranog sustava (povratna greška)?

(3) Koju ogradu greške unaprijed za zadanu aproksimaciju rješenja, trebamo računati u praksi?

Kako bi odgovorili na ta pitanja potrebne su nam perturbacijske teorije po normi i po komponentama.

Analiza po normi

U nastavku n × n matrica E i n-dimenzionalni vektor f su proizvoljni i predstavljaju tolerancije u odnosu na koje se usporeduju perturbacije. To, na primjer, mogu biti E = A i f = b.

Prvi rezultat ove analize potvrduje intuitivnu slutnju da ako je rezidual mali po normi, da tada imamo “dobru” aproksimaciju rješenja.

Teorem 1.7.1 (Rigal i Gaches [21]). Za bilo koju operatorsku normu ∥ · ∥, povratna greška po normi za aproksimaciju rješenja y

η_{E,f}(y) = min{ϵ : (A + ΔA)y = b + Δb, ∥ΔA∥ ≤ ϵ∥E∥, ∥Δb∥ ≤ ϵ∥f∥}  (1.12)

je dana sa

η_{E,f}(y) = \frac{∥r∥}{∥E∥∥y∥ + ∥f∥},  (1.13)

gdje je r = b − Ay.

Dokaz: Uzmimo proizvoljni ϵ ≥ 0 i neka su ΔA i Δb takvi da je ∥ΔA∥ ≤ ϵ∥E∥, ∥Δb∥ ≤ ϵ∥f∥ i (A + ΔA)y = b + Δb. Tada vrijedi

r = b − Ay = ΔAy − Δb,

odakle slijedi

∥r∥ ≤ ∥ΔA∥∥y∥ + ∥Δb∥ ≤ ϵ(∥E∥∥y∥ + ∥f∥).

Dakle, možemo zaključiti da je desna strana u (1.13) donja ograda od η_{E,f}(y), odnosno

\frac{∥r∥}{∥E∥∥y∥ + ∥f∥} ≤ η_{E,f}(y).

Ta donja ograda se može ostvariti za perturbacije

ΔA_{min} = \frac{∥E∥∥y∥}{∥E∥∥y∥ + ∥f∥}rz^{∗}, Δb_{min} = −\frac{∥f∥}{∥E∥∥y∥ + ∥f∥}r,

gdje je z dualan vektoru y, što znači da je z^{∗}y = max_{x≠0} \frac{|z^{∗}x|}{∥x∥}∥y∥ = 1, vidi [21, str. 119]. Provjerimo da li to zaista vrijedi.

(A + ΔA_{min})y = Ay + \frac{∥E∥∥y∥}{∥E∥∥y∥ + ∥f∥}r = Ay + r − \frac{∥f∥}{∥E∥∥y∥ + ∥f∥}r =
= b + Δb_{min},

∥ΔA_{min}∥ = \frac{∥E∥∥y∥}{∥E∥∥y∥ + ∥f∥}∥rz^{∗}∥ = \frac{∥E∥∥y∥}{∥E∥∥y∥ + ∥f∥} max_{x≠0} \frac{∥rz^{∗}x∥}{∥x∥} =
= \frac{∥E∥∥r∥}{∥E∥∥y∥ + ∥f∥}∥y∥ max_{x≠0} \frac{|z^{∗}x|}{∥x∥} = \frac{∥E∥∥r∥}{∥E∥∥y∥ + ∥f∥},

∥Δb_{min}∥ = \frac{∥f∥∥r∥}{∥E∥∥y∥ + ∥f∥}.

Dakle,

η_{E,f}(y) ≤ \frac{∥r∥}{∥E∥∥y∥ + ∥f∥}.

Za izbor E = A i f = b, η_{E,f}(y) se naziva relativna povratna greška po normi. Sljedeći rezultat mjeri osjetljivost sustava, odnosno daje odgovarajuću grešku unaprijed.

Teorem 1.7.2 ([21]). Neka je Ax = b (A regularna), (A + ΔA)y = b + Δb i ∥ · ∥ operatorska norma, pri čemu je ∥ΔA∥ ≤ ϵ∥E∥ i ∥Δb∥ ≤ ϵ∥f∥. Pretpostavimo da je ϵ∥A^{−1}∥∥E∥ < 1. Tada

\frac{∥x − y∥}{∥x∥} ≤ \frac{ϵ}{1 − ϵ∥A^{−1}∥∥E∥} (\frac{∥A^{−1}∥∥f∥}{∥x∥} + ∥A^{−1}∥∥E∥) ,  (1.14)

i ova ograda se može postići do na potenciju prvog reda od ϵ.

Dokaz: Ogradu (1.14) možemo dobiti na sljedeći način.

A(y − x) = Ay − Ax = b + Δb − ΔAy − Ax = Δb − ΔAy =
= Δb − ΔAx − ΔA(y − x),

odakle slijedi

y − x = A^{−1}Δb − A^{−1}ΔAx − A^{−1}ΔA(y − x),  (1.15)

odnosno

∥y − x∥ ≤ ϵ∥A^{−1}∥∥f∥ + ϵ∥A^{−1}∥∥E∥∥x∥ + ϵ∥A^{−1}∥∥E∥∥y − x∥.

Ako sada grupiramo sve izraze sa ∥y − x∥ na lijevu stranu, dobit ćemo

∥y − x∥(1 − ϵ∥A^{−1}∥∥E∥) ≤ ϵ(∥A^{−1}∥∥f∥ + ∥A^{−1}∥∥E∥∥x∥),

odakle direktno slijedi (1.14).

Definirajmo

ΔA = ϵ∥E∥∥x∥wv^{∗}, Δb = −ϵ∥f∥w,

pri čemu je w vektor sa ∥w∥ = 1, ∥A^{−1}w∥ = ∥A^{−1}∥, a v je vektor dualan vektoru x. Budući da je ∥A^{−1}ΔA∥ ≤ ∥A^{−1}∥∥ΔA∥ ≤ ϵ∥A^{−1}∥∥E∥ < 1, I + A^{−1}ΔA je regularna prema Lemi 1.5.9, i iz (1.15) slijedi

(I + A^{−1}ΔA)(y − x) = A^{−1}Δb − A^{−1}ΔAx =
= −ϵ∥f∥A^{−1}w − ϵ∥E∥∥x∥A^{−1}wv^{∗}x =
= −ϵ∥f∥A^{−1}w − ϵ∥E∥∥x∥A^{−1}w,

iz čega se vidi da je

\frac{y − x}{∥x∥} = −ϵ\frac{∥f∥ + ∥E∥∥x∥}{∥x∥}(I + A^{−1}ΔA)^{−1}A^{−1}w,

i

\frac{∥y − x∥}{∥x∥} = ϵ (\frac{∥f∥}{∥x∥} + ∥E∥) ∥(I + ϵ∥E∥∥x∥A^{−1}wv^{∗})^{−1}A^{−1}w∥.

Za u = ϵ∥E∥∥x∥A^{−1}w, lako se može provjeriti da vrijedi

(I + uv^{∗})^{−1} = I − \frac{1}{1 + v^{∗}u}uv^{∗}.

Zato imamo

(I + uv^{∗})^{−1}A^{−1}w = (I − \frac{1}{1 + v^{∗}u}uv^{∗}) A^{−1}w =
= A^{−1}w − \frac{ϵ∥E∥∥x∥A^{−1}wv^{∗}A^{−1}w}{1 + ϵ∥E∥∥x∥v^{∗}A^{−1}w} =
= (1 − \frac{ϵ∥E∥∥x∥v^{∗}A^{−1}w}{1 + ϵ∥E∥∥x∥v^{∗}A^{−1}w} ) A^{−1}w =
= \frac{A^{−1}w}{1 + ϵ∥E∥∥x∥v^{∗}A^{−1}w} .

Kako je ∥A^{−1}w∥ = ∥A^{−1}∥, imamo

\frac{∥y − x∥}{∥x∥} = ϵ (\frac{∥f∥}{∥x∥} + ∥E∥) \frac{∥A^{−1}∥}{1 + ϵ∥E∥∥x∥v^{∗}A^{−1}w} ,

i taj se izraz zaista razlikuje od izraza na desnoj strani u (1.14) za O(ϵ^{2}).

U vezi sa načinom mjerenja perturbacija u prethodna dva teorema, definirajmo broj uvjetovanosti po normi

κ_{E,f}(A, x) = lim_{ϵ→0} sup \{\frac{∥Δx∥}{ϵ∥x∥} : (A + ΔA)(x + Δx) = b + Δb,

∥ΔA∥ ≤ ϵ∥E∥, ∥Δb∥ ≤ ϵ∥f∥}.

Budući da je ograda Teorema 1.7.2 oštra, slijedi

κ_{E,f}(A, x) = \frac{∥A^{−1}∥∥f∥}{∥x∥} + ∥A^{−1}∥∥E∥.  (1.16)

Za izbor E = A i f = b imamo κ(A) ≤ κ_{A,b}(A, x) ≤ 2κ(A), tako da se ograda (1.14) može oslabiti kako bi dobili oblik

\frac{∥x − y∥}{∥x∥} ≤ \frac{2ϵκ(A)}{1 − ϵκ(A)}.

Analiza po komponentama

Povratna greška po komponentama definira se kao

ω_{E,f}(y) = min{ϵ : (A + ΔA)y = b + Δb, |ΔA| ≤ ϵE, |Δb| ≤ ϵf},  (1.17)

pri čemu se pretpostavlja da E i f imaju nenegativne elemente. Nejednakosti izmedu matrica ili vektora se podrazumijevaju da vrijede po komponentama. U ovoj definiciji svaki element perturbacije je usporeden sa svojom vlastitom tolerancijom, pa su za razliku od definicije greške po normi, svih n^{2} + n parametara od E i f iskorišteni.

Kod izbora E i f, najčešći odabir tolerancija je E = |A| i f = |b|, koji rezultira relativnom povratnom greškom po komponentama. Za taj izbor

a_{ij} = 0 ⇒ Δa_{ij} = 0 i b_{i} = 0 ⇒ Δb_{i} = 0

u (1.17), pa prema tome ako je ω_{E,f}(y) mali, tada y rješava problem koji je blizak originalnom problemu, u smislu relativnih perturbacija po komponentama, i ima isti raspored nula. Još jedno atraktivno svojstvo relativne povratne greške po komponentama je neosjetljivost na skaliranje sustava: ako se Ax = b skalira u oblik (S_{1}AS_{2})(S_{2}^{−1}x) = S_{1}b, gdje su S_{1} i S_{2} dijagonalne matrice, i ako se y skalira kao S_{2}^{−1}y, tada ω ostaje nepromijenjen.

Izbor E = |A|ee^{T}, gdje je e = [1 … 1]^{T}, i f = |b| daje povratnu grešku po retcima. Uvjet |ΔA| ≤ ϵE postaje tada |Δa_{ij}| ≤ ϵα_{i}, gdje je α_{i} jednako 1-normi i-tog retka od A. Prema tome perturbacije i − tog retka od A se usporeduju sa normom tog retka. Povratna greška po stupcima može se dobiti na sličan način, ako uzmemo E = ee^{T} |A| i f = ∥b∥_{∞}e.

Treći prirodni odabir toleranicija je E = ∥A∥ee^{T} i f = ∥b∥e, gdje je ∥ · ∥ neka operatorska norma, za koje je ω_{E,f}(y) jednaka povratnoj grešci po normi η_{E,f}(y) do na konstantu.

I za ovaj slučaj postoji jednostavna formula za ω_{E,f}(y).

Teorem 1.7.3 (Oettli i Prager [21]). Povratna greška po komponentama je dana sa

ω_{E,f}(y) = max_{i=1,...n} \frac{|r_{i}|}{(E|y| + f)_{i}} ,  (1.18)

gdje je r = b − Ay, a z/0 se interpretira kao nula ako je z = 0 ili kao ∞ ako je z ≠ 0.

Dokaz: Pokažimo prvo da je desna strana u (1.19) donja ograda od ω_{E,f}(y). Imamo

r = b − Ay = Ay + ΔAy − Δb − Ay = ΔAy − Δb,

odakle je

|r_{i}| = |(ΔAy)_{i} − (Δb)_{i}| ≤ (|ΔA||y|)_{i} + |Δb_{i}| ≤ ϵ(E|y| + f)_{i},

odnosno

\frac{|r_{i}|}{(E|y| + f)_{i}} ≤ ϵ

za svaki i, i ϵ ≥ 0, pa vrijedi i za miminimalni ϵ. Prema definiciji (1.17) onda vrijedi

max_{i=1,...,n} \frac{|r_{i}|}{(E|y| + f)_{i}} ≤ ω_{E,f}(y).

Ograda se može postići za perturbacije

ΔA = D_{1}ED_{2}, Δb = −D_{1}f,

pri čemu su

D_{1} = diag (\frac{r_{i}}{(E|y| + f)_{i}} )_{i=1}^{n} , D_{2} = diag(sign(y_{i}))_{i=1}^{n}.

Provjerimo valjanost ove tvrdnje. Za i = 1, …, n imamo

[(A + ΔA)y]_{i} = (Ay)_{i} + (D_{1}ED_{2}y)_{i} = b_{i} − r_{i} + (D_{1}E|y|)_{i} =
= b_{i} − r_{i} + \frac{r_{i}}{(E|y| + f)_{i}} (E|y|)_{i} = b_{i} − r_{i} (1 − \frac{(E|y|)_{i}}{(E|y| + f)_{i}} ) =
= b_{i} − \frac{r_{i}f_{i}}{(E|y| + f)_{i}} = (b + Δb)_{i}

|ΔA| = |D_{1}|E|D_{2}| = |D_{1}|E ≤ max_{i=1,...n} \frac{|r_{i}|}{(E|y| + f)_{i}} E,

|Δb| = |D_{1}|f ≤ max_{i=1,...n} \frac{|r_{i}|}{(E|y| + f)_{i}} f,

odakle je

ω_{E,f}(y) ≤ max_{i=1,...n} \frac{|r_{i}|}{(E|y| + f)_{i}} .

Sljedeći rezultat daje grešku unaprijed koja odgovara povratnoj grešci po komponentama.

Teorem 1.7.4 ([21]). Neka je Ax = b (A regularna) i (A + ΔA)y = b + Δb, gdje je |ΔA| ≤ ϵE i |Δb| ≤ ϵf, i pretpostavimo da je ϵ∥|A^{−1}|E∥ < 1, gdje je ∥ · ∥ operatorska norma inducirana apsolutnom vektorskom normom ∥ · ∥ (∥|v|∥ = ∥v∥). Tada

\frac{∥x − y∥}{∥x∥} ≤ \frac{ϵ}{1 − ϵ∥|A^{−1}|E∥} \frac{∥|A^{−1}|E|x| + |A^{−1}|f∥}{∥x∥},  (1.19)

a za ∞-normu ta se ograda može dostići do na potenciju prvog reda od ϵ.

Dokaz: Iz jednakosti (A + ΔA)y = b + Δb slijedi

A(x − y) = Δb − ΔAx + ΔA(x − y),

odakle je

|x − y| ≤ |A^{−1}Δb| + |A^{−1}ΔAx| + |A^{−1}ΔA(x − y)| ≤
≤ |A^{−1}||Δb| + |A^{−1}||ΔA||x| + |A^{−1}||ΔA||x − y| ≤
≤ ϵ|A^{−1}|f + ϵ|A^{−1}|E|x| + ϵ|A^{−1}|E|x − y|.

Dalje slijedi da je

(I − ϵ|A^{−1}|E)|y − x| ≤ ϵ(|A^{−1}|f + |A^{−1}|E|x|).

Budući da je ϵ∥|A^{−1}|E∥ < 1, prema Lemi 1.5.9 matrica I − ϵ|A^{−1}|E je invertibilna i vrijedi

(I − ϵ|A^{−1}|E)^{−1} = ∑_{i=0}^{∞}(ϵ|A^{−1}|E)^{i},

odakle je

∥(I − ϵ|A^{−1}|E)^{−1}∥ ≤ ∑_{i=0}^{∞}(ϵ∥|A^{−1}|E∥)^{i} = \frac{1}{1 − ϵ∥|A^{−1}|E∥}.

Dakle, imamo

∥y − x∥ ≤ \frac{ϵ}{1 − ϵ∥|A^{−1}|E∥}∥|A^{−1}|f + |A^{−1}|E|x|∥.

Specijalno za ∞-normu definirajmo

ΔA = ϵD_{1}ED_{2}, Δb = −ϵD_{1}f,

pri čemu su

D_{1} = diag(sign(A_{ki}^{−1}))_{i=1}^{n}, D_{2} = diag(sign(x_{i}))_{i=1}^{n},

za k takav da je k-ta komponenta vektora |A^{−1}|E|x| + |A^{−1}|f jednaka ∞-normi tog vektora, odnosno

∥|A^{−1}|E|x| + |A^{−1}|f∥_{∞} = (|A^{−1}|E|x| + |A^{−1}|f)_{k}.

Kako je A^{−1}ΔA ≤ |A^{−1}||ΔA| ≤ ϵ|A^{−1}|E, vrijedi ∥A^{−1}ΔA∥_{∞} ≤ ϵ∥|A^{−1}|E∥_{∞} < 1, pa je ponovo prema Lemi 1.5.9 matrica (I + A^{−1}ΔA) invertibilna. Imamo

x − y = (I + A^{−1}ΔA)^{−1}(A^{−1}ΔAx − A^{−1}Δb) =
= ϵ(I + ϵA^{−1}D_{1}ED_{2})^{−1}(A^{−1}D_{1}ED_{2}x + A^{−1}D_{1}f) =
= ϵ (∑_{i=0}^{∞}(−ϵA^{−1}D_{1}ED_{2})^{i}) (A^{−1}D_{1}E|x| + A^{−1}D_{1}f) =
= ϵ(A^{−1}D_{1}E|x| + A^{−1}D_{1}f) + O(ϵ^{2}),

odnosno, za k-ti jedinični vektor ξ_{k} je

|(x − y)_{k}| = ϵ|(ξ_{k}^{T} A^{−1}D_{1}(E|x| + f)| + O(ϵ^{2}) =
= ϵ |∑_{i=1}^{n} |A_{ki}^{−1}|(E|x| + f)_{i}| + O(ϵ^{2}) =
= ϵ[|A^{−1}|(E|x| + f)]_{k} + O(ϵ^{2}) =
= ϵ∥|A^{−1}|E|x| + |A^{−1}|f∥_{∞} + O(ϵ^{2}).

Prema tome je

\frac{∥x − y∥_{∞}}{∥x∥_{∞}} ≥ ϵ\frac{∥|A^{−1}|E|x| + |A^{−1}|f∥_{∞}}{∥x∥_{∞}} + O(ϵ^{2}),

a s druge strane iz (1.19) slijedi

\frac{∥x − y∥_{∞}}{∥x∥_{∞}} ≤ ϵ\frac{∥|A^{−1}|E|x| + |A^{−1}|f∥_{∞}}{∥x∥_{∞}} + O(ϵ^{2}),

odakle se vidi da vrijedi tvrdnja teorema.

Teorem 1.7.4 upućuje na broj uvjetovanosti

cond_{E,f}(A, x) = lim_{ϵ→0} sup \{\frac{∥Δx∥_{∞}}{∥x∥_{∞}} : (A + ΔA)(x + Δx) = b + Δb,

|ΔA| ≤ ϵE, |Δb| ≤ ϵf},

koji je dan sa

cond_{E,f}(A, x) = \frac{∥|A^{−1}|E|x| + |A^{−1}|f∥_{∞}}{∥x∥_{∞}} .  (1.20)

Za specijalni slučaj kada je E = |A| i f = |b|, Skeel je definirao uvjetovanost sa

cond(A, x) = \frac{∥|A^{−1}||A||x|∥_{∞}}{∥x∥_{∞}} ,

koji se od cond_{|A|,|b|}(A, x) razlikuje najviše za faktor 2, odnosno cond_{|A|,|b|}(A, x) ≤ 2cond(A, x). Ako još definiramo cond(A) = cond(A, e) za e = [1 … 1]^{T}, tada imamo

cond(A) = cond(A, e) = ∥|A^{−1}||A|∥_{∞} ≤ κ_{∞}(A).

Numerička stabilnost

Povratne greške koje smo upravo definirali vode do definicije numeričke stabilnosti algoritama za rješavanje linearnih sustava. Kažemo da je numerička metoda za rješavanje kvadratnog, regularnog linearnog sustava Ax = b povratno stabilna po normi, ako producira izračunato rješenje x̂, takvo da je η_{A,b}(x̂) reda veličine mašinske točnosti ϵ. Koliko ćemo dozvoliti da η_{A,b}(x̂) bude velik, a da metodu još uvijek možemo smatrati povratno stabilnom, to ovisi o kontekstu. Obično se podrazumijeva da takva metoda daje η_{A,b}(x̂) = O(ϵ) za sve A i b.

Značajka povratne stabilnosti po normi je ta da izračunato rješenje x̂ rješava malo perturbirani sustav, i ako podaci A i b sadrže netočnosti koje su ogradene samo po normi (A → A + ΔA sa ∥ΔA∥ = O(ϵ∥A∥), i slično za b), tada x̂ možemo smatrati egzaktnim rješenjem problema kojeg smo htjeli rješiti, jer ga točnije niti ne možemo riješiti.

Povratna stabilnost po komponentama se definira na sličan način, samo što u ovom slučaju zahtijevamo da je povratna greška po komponentama ω_{|A|,|b|}(x̂) reda veličine ϵ. To je malo stroži zahtjev od povratne greške po normi. Greške zaokruživanja koje su nastale tokom izvodenja metode koja je povratno stabilna po komponentama su po veličini i efektu ekvivalentne greškama koje su se pojavile kod konvertiranja podataka A i b u brojeve pomičnog zareza, kako su prikazani u računalu, prije samog rješavanja problema.

Ako je metoda povratno stabilna po normi tada prema Teoremu 1.7.2 greška unaprijed ∥x − x̂∥/∥x∥ je ograničena sa O(ϵκ(A)). Medutim, metoda može dati izračunato rješenje kojemu je greška unaprijed tako ograničena, ali kojoj povratna greška po normi η_{A,b}(x̂) nije reda veličine O(ϵ). Zbog toga je korisno nazvati metodu kojoj je ∥x − x̂∥/∥x∥ = O(ϵκ(A)) stabilnom unaprijed po normi. Analogno, samo uključujući ω_{|A|,|b|}(x̂), kažemo da je je metoda stabilna unaprijed po komponentama ako je ∥x − x̂∥_{∞}/∥x∥_{∞} = O(cond(A, x)ϵ).

Na kraju možemo naglasiti da kod rješavanja linearnog sustava iterativnim metodama, vrlo često se ne isplati računati aproksimaciju rješenja sa velikom točnošću. Naime, u večini slučajeva sam sustav je već aproksimacija nekog polaznog problema kojeg želimo riješiti, a i kod smještavanja elemenata matrice sustava i desne strane sustava u računalo, generiraju se greške. Stoga, i samo egzaktno rješenje sustava u nekoj mjeri odstupa od pravog rješenja polaznog problema. Ako je greška aproksimacije rješenja sustava, dobivene nakon primjene neke iterativne metode, reda velićine tog odstupanja egzaktnog rješenja, moramo biti zadovoljni sa dobivenim rezultatom, jer preciznije računanje nema smisla. Takoder, i povratna greška za tako dobivenu aproksimaciju će se stopiti sa greškom ulaznih podataka sustava.

Aproksimacije iz Krylovljevih potprostora

2.1 Razvoj iterativnih metoda i prekondicioniranja

Prisjetimo se najprije rezultata iz linearne algebre, koji tvrdi da svaka matrica poništava svoj karakteristični i minimalni polinom. Za A ∈ ℂ^{n×n} i b ∈ ℂ^{n}, to možemo zapisati na sljedeći način

κ_{A}(A) = a_{0}I + a_{1}A + ⋯ + a_{n−1}A^{n−1} + a_{n}A^{n} = 0,

gdje je κ_{A}(λ) = det(A − λI) = ∑_{i=0}^{n} a_{i}λ^{i} karakteristični polinom matrice A. Slično možemo napisati da je μ_{A}(A) = 0, gdje je μ_{A}(λ) minimilni polinom stupnja manjeg ili jednakog n. Linearni sustavi najčešće se rješavaju kada je matrica sutava regularna, jer je tada rješenje jedinstveno. Od sad pa na dalje, u ovoj radnji smatrat ćemo da je matrica sustava uvijek regularna. U tom slučaju nula ne može biti korijen karakterističnog polinoma, pa je a_{0} ≠ 0. Odavde jednostavnim računom možemo dobiti da vrijedi

−\frac{1}{a_{0}} (a_{1}I + ⋯ + a_{n−1}A^{n−2} + a_{n}A^{n−1}) · A =

= A · (−\frac{1}{a_{0}} ) (a_{1}I + ⋯ + a_{n−1}A^{n−2} + a_{n}A^{n−1}) = I,

to jest, da je

A^{−1} = −\frac{1}{a_{0}} (a_{1}I + ⋯ + a_{n−1}A^{n−2} + a_{n}A^{n−1}).  (2.1)

Budući da rješenje sustava Ax = b možemo zapisati kao x = A^{−1}b, uz uvažavanje prethodnog zapisa za A^{−1} možemo zaključiti da je

x = −\frac{a_{1}}{a_{0}} b − ⋯ − \frac{a_{n−1}}{a_{0}} A^{n−2}b − \frac{a_{n}}{a_{0}} A^{n−1}b,

odnosno

x ∈ span{b, Ab, …, A^{n−1}b} = K_{n}(A, b).  (2.2)

Prostor koji se pojavljuje na desnoj strani u (2.2) zovemo Krylovljevim prostorom matrice A i inicijalnog vektora b. Upravo iz (2.2) dobivamo ideju za metode rješavanja sustava linearnih jednadžbi koje bi se temeljile na aproksimacijama iz Krylovljevih potprostora. Naime kako je vektor b jedini vektor direktno vezan za problem rješavanja sutava Ax = b, čini nam se prirodno uzeti neki multipl od b kao prvu aproksimaciju rješenja, tj.

x_{1} ∈ span{b}.

Nakon toga računamo produkt Ab i zahtijevamo da nam je sljedeća aproksimacija jednaka nekoj linearnoj kombinaciji od b i Ab, tj.

x_{2} ∈ span{b, Ab}.

Taj se proces nastavlja, tako da nam aproksimacija u k-tom koraku zadovoljava

x_{k} ∈ span{b, Ab, …, A^{k−1}b}, k = 1, 2, ….

Metoda, naravno, mora odrediti kriterij po kojem biramo vektore iz pojedinih Krylovljevih potprostora u svakom koraku, tako da bi u optimalnom slučaju mogli dobiti rješenje u k-tom koraku, za k ≪ n. Ako, pak račun vršimo na računalu, u obzir još moramo uzeti i greške zaokruživanja. Konkretne metode bi se zasnivale na aproksimacijama upravo ovako definiranih vektora x_{k}.

Prije svega promotrimo jednu vrlo jednostavnu činjenicu. Ako je x_{k} aproksimacija rješenja u k-tom koraku neke iterativne metode za rješavanje linearnih sustava, i ako u (k + 1)-om koraku uzmemo

x_{k+1} = x_{k} + A^{−1}(b − Ax_{k}),

tada je x_{k+1} = A^{−1}b rješenje sustava. Budući da je izračunavanje vektora A^{−1}(b − Ax_{k}) ekvivalentno problemu rješavanja polaznog sustava, korekciju vektora x_{k} radit ćemo pomoću neke njegove aproksimacije, koja se lakše izračunava i koja će nas držati unutar Krylovljevih potprostora. Zato, najprije pretpostavimo da polazimo od iteracije jednostavnog oblika

x_{k+1} = x_{k} + α_{k}(b − Ax_{k}),  (2.3)

gdje je α_{k} parametar koji odreduje točku na pravcu koji prolazi kroz točku x_{k} i pruža se u smjeru vektora b − Ax_{k}. Promotrimo kako se na taj način možemo približiti vektoru iz (2.2). Lako se vidi, da je na temelju iteracije (2.3) za k = 0, 1, 2, …

x_{k} ∈ x_{0} + span {r_{0}, Ar_{0}, A^{2}r_{0}, …, A^{k−1}r_{0}},  (2.4)
r_{k} ∈ r_{0} + span {Ar_{0}, A^{2}r_{0}, A^{3}r_{0}, …, A^{k}r_{0}},  (2.5)

pri čemu je r_{k} = b−Ax_{k} rezidual k-te iteracije, a sa e_{k} = A^{−1}r_{k} = A^{−1}b−x_{k} označavamo grešku. Prostor koji se pojavljuje na desnoj strani (2.4) je takoder Krylovljev potprostor, ali odreden matricom A i vektorom r_{0}, koji ne mora biti jednak vektoru b. Medutim, ako napišemo da je prema jednakosti (2.1) inverz matrice A jednak A^{−1} = q_{k−1}(A), gdje je q_{k−1}(λ) polinom stupnja (k −1) za neki k ≤ n, tada za bilo koji r_{0}, u prostoru na desnoj strani izraza (2.4) možemo naći vektor oblika x_{0} + q_{k−1}(A)r_{0} = x_{0} + A^{−1}r_{0} = A^{−1}b koji je rješenje linearnog sustava Ax = b.

Općenito, iteracija iterativne metode bit će oblika

x_{k} = x_{k−1} + z_{k−1}

ili

x_{k} = x_{0} + w_{k}

pri čemu će z_{k−1} i w_{k−1} biti birani tako da x_{k} zadovoljava (2.4) i neki uvjet optimalnosti, najčešće vezan uz normu reziduala ili neku normu greške.

Kao što ćemo kasnije vidjeti, sve metode ovakvog oblika konvergiraju vrlo brzo ukoliko je matrica sustava A blizu identiteti. Naravno, to se dogada vrlo rijetko, ali mi možemo cijeli sustav Ax = b zamijeniti sa modificiranim sustavom

M^{−1}Ax = M^{−1}b ili AM^{−1}y = b, x = M^{−1}y,  (2.6)

čija bi matrica bila bliža identiteti od matrice A. Ovdje se radi o lijevom odnosno desnom prekondicioniranju. Ako je M hermitska i pozitivno definitna matrica, tada možemo izvesti simetrično prekondicioniranje i riješiti modificirani linearni sustav

L^{−1}AL^{−∗}y = L^{−1}b, x = L^{−∗}y,  (2.7)

pri čemu je M = LL^{∗}. Matrica L može biti hermitski drugi korijen od M, ili donje trokutasti faktor Choleskog od M, ili bilo koja druga matrica koja zadovoljava M = LL^{∗}. U oba slučaja bitno je samo to da je računanje M^{−1}z za bilo koji vektor z jednostavnije, odnosno da je jednostavnije riješiti sustav sa matricom sustava M. U svakom slučaju, vrlo često mi nećemo računati matrice M^{−1} i L eksplicitno.

Ako matricu prekondicioniranja M možemo izabrati tako da se linearni sustav sa matricom sustava M može jednostavno riješiti i da M^{−1}A ili AM^{−1} ili L^{−1}AL^{−∗} aproksimiraju identitetu, tada primjenom iterativne metode na sustave (2.6) ili (2.7) možemo dobiti još bolju tehniku za računanje rješenja sustava. Pravi smisao tvrdnje da “prekondicionirana matrica aproksimira identitetu”, ovisi o iterativnoj metodi koju smo koristili, i o njenim svojstvima.

Na kraju još trebamo reći da konvergenciju iterativne metode možemo najbolje kontrolirati kroz normu greške. Odabir norme ovisi o svojstvima metode koju koristimo. Medutim, kako nam je vektor greške e_{k} = A^{−1}b − x_{k} nedostupan koliko i samo rješenje problema, najčešće se kontrolira norma reziduala r_{k} = b − Ax_{k}, koju lako možemo izračunati. U svakom slučaju, u našem interesu je da norma greške ili reziduala teži k nuli, kako se broj iteracija povećava, jer tada možemo reći da iterativna metoda konvergira.

2.2 Jednostavne iteracije

Ako imamo matricu prekondicioniranja M za sustav Ax = b, prirodan i najjednostavniji postupak za dobivanje aproksimacije rješenja bilo bi sljedeće. Budući da je matrica prekondicioniranja dizajnirana tako da M^{−1}A u nekom smislu aproksimira identitetu, za M^{−1}(b − Ax_{k}) može se reći da aproksimira grešku e_{k} = A^{−1}b − x_{k} u aproksimaciji rješenja x_{k}. Bolja aproksimacija rješenja x_{k+1} se tako može postići ako uzmemo da je

x_{k+1} = x_{k} + M^{−1}(b − Ax_{k}) = x_{k} + M^{−1}r_{k}.  (2.8)

Procedura koja započinje sa početnom aproksimacijom rješenja x_{0} i generira uzastopne aproksimacije koristeći (2.8) za k = 0, 1, … ponekad se zove jednostavna iteracija, ali često je nalazimo pod različitim imenima ovisno o izboru matrice M. Za M jednak dijagonali od A, procedura se zove Jacobijeva metoda; za M jednak donjem trokutu od A, to je Gauss–Seidelova metoda; za M oblika ω^{−1}D − L, gdje je D dijagonala od A, L je strogi donji trokut od A, i ω parametar relaksacije, to je SOR metoda.

Implementacija metode koja se temelji na iteraciji (2.8) svodi se na sljedeći algoritam.

Algoritam 2.2.1. Jednostavne iteracije

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

riješi Mz_{0} = r_{0}.

Za k = 1, 2, …

x_{k} = x_{k−1} + z_{k−1},
r_{k} = b − Ax_{k},
riješi Mz_{k} = r_{k}.

Analizirajmo sada vektor greške e_{k}. Iz (2.8) slijedi

e_{k} = (I − M^{−1}A)e_{k−1} = ⋯ = (I − M^{−1}A)^{k}e_{0},  (2.9)

i

∥e_{k}∥ ≤ ∥(I − M^{−1}A)^{k}∥ · ∥e_{0}∥,  (2.10)

gdje je ∥ · ∥ bilo koja vektorska norma, uz uvjet da je matrična norma inducirana tom vektorskom normom ∥B∥ = max_{∥y∥=1} ∥By∥. U ovom slučaju, ograda u (2.10) je stroga, jer za svaki k očito postoji početna greška e_{0} za koju vrijedi jednakost.

Lema 2.2.2 ([12]). Norma greške u iteraciji (2.8) će težiti k nuli, a x_{k} će težiti k A^{−1}b za svaku početnu grešku e_{0} ako i samo ako vrijedi

lim_{k→∞} ∥(I − M^{−1}A)^{k}∥ = 0.

Dokaz: Iz (2.10) je jasno da ako lim_{k→∞} ∥(I − M^{−1}A)^{k}∥ = 0 tada lim_{k→∞} ∥e_{k}∥ = 0. Obratno, pretpostavimo da je ∥(I −M^{−1}A)^{k}∥ ≥ α > 0 za beskonačno mnogo vrijednosti od k. Vektori e_{0,k} norme 1 za koje vrijedi jednakost u (2.10) tvore ogradeni, beskonačni skup u C^{n}, koji, prema Bolzano–Weierstrassovom teoremu, sadrži konvergentan podniz. Neka je e_{0} limes tog podniza. Tada za dovoljno veliki k′ imamo ∥e_{0} − e_{0,k}∥ ≤ ε < 1 za sve k ≥ k′, i

∥(I − M^{−1}A)^{k}e_{0}∥ ≥ ∥(I − M^{−1}A)^{k}e_{0,k}∥ − ∥(I − M^{−1}A)^{k}(e_{0,k} − e_{0})∥
≥ ∥(I − M^{−1}A)^{k}∥(1 − ε) ≥ α(1 − ε).

Budući da ovo vrijedi za beskonačno mnogo vrijednosti od k, slijedi da je lim_{k→∞} ∥(I − M^{−1}A)^{k}e_{0}∥, ako postoji, veći od 0, što je kontradikcija pretpostavci da greška teži k nuli. Znači da za svako α > 0 postoji neki k̂ takav da za sve k ≥ k̂, ∥(I − M^{−1}A)^{k}∥ ≤ α, odnosno da je lim_{k→∞} ∥(I − M^{−1}A)^{k}∥ = 0.

Koristeći rezultat Korolara 1.5.8 iz uvoda, dobivamo sljedeći rezultat.

Teorem 2.2.3 ([12]). Iteracija (2.8) konvergira prema A^{−1}b za svaku početnu grešku e_{0} ako i samo ako je ρ(I − M^{−1}A) < 1.

Dokaz: Ako je ρ(I − M^{−1}A) < 1, tada

lim_{k→∞} ∥(I − M^{−1}A)^{k}∥ = lim_{k→∞} ρ(I − M^{−1}A)^{k} = 0,

pa rezultat slijedi iz Leme 2.2.2. Ako pak pretpostavimo da iteracija (2.8) konvergira za svaku početnu grešku, tada prema Lemi 2.2.2 lim_{k→∞} ∥(I − M^{−1}A)^{k}∥ = 0. S druge strane, uzmimo da je ρ(I − M^{−1}A) ≥ 1. Tada bi prema gornjoj tvrdnji lim_{k→∞} ∥(I − M^{−1}A)^{k}∥ = ∞, što je kontradikcija.

Ako želimo znati koliko iteracija je potrebno izvršiti da bi se dobila aproksimacija čija relativna greška je manja ili jednaka od δ, tada uzimanjem norme iz (2.9) dobivamo

∥e_{k}∥ ≤ ∥I − M^{−1}A∥ · ∥e_{k−1}∥.

Odavde slijedi da ako je ∥I − M^{−1}A∥ < 1, tada se u svakoj iteraciji greška reducira za najmanje taj faktor. Greška će zadovoljavati ∥e_{k}∥/∥e_{0}∥ ≤ δ ako je

∥I − M^{−1}A∥^{k} ≤ δ,

odnosno, kao je

k ≥ \frac{log δ}{log ∥I − M^{−1}A∥}.

Budući da, prema Teoremu 1.5.6, za svaki ϵ > 0 postoji matrična norma takva da je ∥I −M^{−1}A∥ < ρ(I −M^{−1}A)+ϵ , tada ako je ρ(I −M^{−1}A) < 1 postoji norma za koju je ∥I −M^{−1}A∥ < 1, i za koju se greška reducira monotono, te konvergira najmanje linearno sa faktorom redukcije približno jednakim ρ(I −M^{−1}A). Nažalost, ta norma je često vrlo neprirodna, pa je malo vjerojatno da bi netko zaista želio mjeriti konvergenciju pomoću nje.

2.3 Orthomin(1) i Orthomin(2)

Nadalje, promatrat ćemo metode koje nastoje poboljšati jednostavne iteracije (2.8) uvodenjem dinamički izračunatog parametra u iteraciju. Tako ćemo dobiti

x_{k+1} = x_{k} + α_{k}(b − Ax_{k}) = x_{k} + α_{k}r_{k}  (2.11)

u neprekondicioniranom slučaju, ili

x_{k+1} = x_{k} + α_{k}M^{−1}(b − Ax_{k}) = x_{k} + α_{k}M^{−1}r_{k}  (2.12)

u prekondicioniranom slučaju. Koncentrirat ćemo se najprije na neprekondicionirani slučaj, jer prekondicionirani sustav možemo takoder pisati kao Ax = b, samo što su matrica A i vektor b izmjenjeni.

2.3.1 Orthomin(1)

Jedan način odabira parametra α_{k} u iteraciji (2.11) je takav da u k-tom koraku iteracije takvog oblika dobijemo rezidual r_{k+1} sa minimalnom euklidskom normom. Najprije ćemo derivirati funkciju f(α_{k}) = r_{k+1}^{∗}r_{k+1} (f : ℝ ⟶ ℝ) i njenu derivaciju izjednačiti s nulom, pri čemu dobivamo r_{k+1} sa minimalnom normom. Naime, u tom je slučaju, ako uvrstimo da je r_{k+1} = r_{k} − α_{k}Ar_{k}, što slijedi iz (2.11),

f′(α_{k}) = 2(α_{k}r_{k}^{∗}A^{∗}Ar_{k} − r_{k}^{∗}A^{∗}r_{k}),

odakle, ćemo dobiti izraz za α_{k}

α_{k} = \frac{r_{k}^{∗}A^{∗}r_{k}}{r_{k}^{∗}A^{∗}Ar_{k}} = \frac{⟨r_{k}, Ar_{k}⟩}{⟨Ar_{k}, Ar_{k}⟩}.  (2.13)

Primijetimo da je tada r_{k+1} okomit na Ar_{k}. Okomitost r_{k+1} i Ar_{k} rezultira rezidualom koji je jednak rezidualu iz prethodne iteracije r_{k} minus njegova projekcija na smjer Ar_{k}. Slijedi da je

∥r_{k}∥_{2}^{2} = ∥r_{k+1}∥_{2}^{2} + |α_{k}|^{2}∥Ar_{k}∥_{2}^{2} ≥ ∥r_{k+1}∥_{2}^{2},

odnosno ∥r_{k+1}∥_{2} ≤ ∥r_{k}∥_{2} pri čemu jednakost vrijedi ako i samo ako je sam r_{k} okomit na Ar_{k}. Metodu koja se temelji na takvim iteracijama možemo nazvati Ortomin(1). O konvergenciji ove metode govori sljedeći teorem

Teorem 2.3.1 ([12]). Euklidska norma reziduala iz iteracije (2.11) sa formulom za koeficijent (2.13) smanjuje se monotono za svaki početni vektor r_{0} ako i samo ako 0 ∉ F(A), pri čemu F(A) označava polje vrijednosti matrice A.

Dokaz: Budući da je polje vrijednosti od A^{∗} jednako konjugiranom polju vrijednosti od A, uvjet teorema je ekvivalentan relaciji 0 ∉ F(A^{∗}). Ako je 0 ∈ F(A^{∗}) i r_{0} je vektor različit od nule, koji zadovoljava ⟨r_{0}, Ar_{0}⟩ = 0, tada je ∥r_{1}∥_{2} = ∥r_{0}∥_{2}. S druge strane, ako 0 ∉ F(A^{∗}), tada ⟨r_{k}, Ar_{k}⟩ ne može biti jednak nuli za bilo koji k i ∥r_{k+1}∥_{2} < ∥r_{k}∥_{2}.

Sljedeće ćemo pokazati da u uvjetima prethodnog teorema ne samo što je euklidska norma reziduala reducirana u svakom koraku, već da je ona reducirana najmanje za neki fiksni faktor, neovisan o k.

Teorem 2.3.2 ([12]). Iteracija (2.11) sa formulom za koeficijent (2.13) konvergira rješenju A^{−1}b za sve početne vektore r_{0} ako i samo ako 0 ∉ F(A). U tom slučaju, euklidska norma reziduala zadovoljava

∥r_{k+1}∥_{2} ≤ \sqrt{1 − d^{2}/∥A∥_{2}^{2}}∥r_{k}∥_{2}  (2.14)

za sve k, gdje je d udaljenost od ishodišta do polja vrijednosti od A.

Dokaz: Pretpostavimo da je 0 ∉ F(A). Tada analogna tvrdnja vrijedi i za matricu A^{∗}, odnosno vrijedi 0 ∉ F(A^{∗}). Kako je f(y) = ⟨A^{∗}y, y⟩ neprekidna funkcija, a F(A^{∗}) je slika od f na kompaktnom skupu {y ∈ ℂ^{n} : ⟨y, y⟩ = 1}, to znači da je polje vrijednosti takoder kompaktan skup u ℂ, odnosno ograničen i zatvoren. Zbog zatvorenosti polja vrijednosti i 0 ∉ F(A^{∗}) postoji pozitivan broj d kojeg definiramo kao udaljenost F(A^{∗}) od ishodišta. Slijedi

|\frac{⟨A^{∗}y, y⟩}{⟨y, y⟩}| ≥ d > 0

za sve kompleksne vektore y ≠ 0. Kako vrijedi r_{k+1} = r_{k} − α_{k}Ar_{k}, uzimanjem skalarnog produkta od r_{k+1} sa samim sobom dobivamo

⟨r_{k+1}, r_{k+1}⟩ = ⟨r_{k}, r_{k}⟩ − \frac{|⟨r_{k}, Ar_{k}⟩|^{2}}{⟨Ar_{k}, Ar_{k}⟩} ,

što se može zapisati u obliku

∥r_{k+1}∥_{2}^{2} = ∥r_{k}∥_{2}^{2} (1 − |\frac{⟨A^{∗}r_{k}, r_{k}⟩}{⟨r_{k}, r_{k}⟩}|^{2} · (\frac{∥r_{k}∥_{2}}{∥Ar_{k}∥_{2}} )^{2}) .  (2.15)

Ako nezavisno ogradimo zadnja dva faktora u (2.15), koristeći izraze za d i ∥A∥_{2}, tada imamo

∥r_{k+1}∥_{2} ≤ ∥r_{k}∥_{2}\sqrt{1 − d^{2}/∥A∥_{2}^{2}}.

Ograda u (2.14) nije nužno oštra, jer vektor r_{k} za koje je faktor |⟨A^{∗}r_{k}, r_{k}⟩/⟨r_{k}, r_{k}⟩|^{2} u (2.15) jednak d^{2} nije nužno onaj vektor za koji je faktor (∥r_{k}∥_{2}/∥Ar_{k}∥_{2})^{2} jednak 1/∥A∥_{2}^{2}. Katkada se jača ograda može dobiti ako primijetimo da, zbog odabira parametra α_{k}, imamo

∥r_{k+1}∥_{2} = min_{α∈ℂ}∥(I − αA)r_{k}∥_{2},

pa vrijedi

∥r_{k+1}∥_{2} ≤ ∥I − αA∥_{2} · ∥r_{k}∥_{2}  (2.16)

za bilo koji koeficijent α. U specijalnom slučaju kada je A hermitska i pozitivno definitna matrica, uzmimo da je α = 2/(λ_{min} + λ_{max}), gdje je λ_{min} najmanja, a λ_{max} najveća svojstvena vrijednost od A. Imamo da je A = UΛU^{∗}, gdje su U^{∗}U = I i Λ = diag(λ_{1}, …, λ_{n}), a λ_{i} su svojstvene vrijednosti od A. Vrijedi

∥I − αA∥_{2} = ∥I − αUΛU^{∗}∥_{2} = ∥U(I − αΛ)U^{∗}∥_{2} = ∥I − αΛ∥_{2} =
= max_{i=1,...,n} |1 − αλ_{i}| = max_{i=1,...,n} |\frac{λ_{max} + λ_{min} − 2λ_{i}}{λ_{max} + λ_{min}} | ,

za koje se lako pokaže da postiže maksimum za λ_{i} = λ_{min} ili λ_{i} = λ_{max}, koji iznosi \frac{λ_{max}−λ_{min}}{λ_{max}+λ_{min}}. Na kraju dobivamo

∥r_{k+1}∥_{2} ≤ (\frac{κ(A) − 1}{κ(A) + 1}) ∥r_{k}∥_{2},  (2.17)

gdje je κ(A) = λ_{max}/λ_{min} uvjetovanost matrice A.

Valja napomenuti da ∥r_{k+1}∥_{2} ≤ ∥r_{k}∥_{2} općenito ne implicira ∥e_{k+1}∥_{2} ≤ ∥e_{k}∥_{2}. Primjer koji ćemo sada navesti demonstrira jedan takav slučaj.

Primjer 2.3.3. Pretpostavimo da rješavamo sustav sa matricom A i vektorom b, koji su definirani sa

A = [ \begin{matrix}0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 1 \end{matrix} ] , b = [ \begin{matrix}1 \\ 1 \\ 2 \end{matrix} ] ,

i da je početna aproksimacija rješenja dana sa

x_{0} = [ \begin{matrix}0 \\ 1 \\ 1 \end{matrix} ] .

Tada odgovarajuća greška i rezidual imaju oblik

e_{0} = [ \begin{matrix}1 \\ 0 \\ 0 \end{matrix} ] , r_{0} = [ \begin{matrix}0 \\ 0 \\ 1 \end{matrix} ] .

Nakon prvog koraka Orthomin(1) metode dobivamo da je α_{0} = 1/2, odakle slijedi

x_{1} = [ \begin{matrix}0 \\ 1 \\ 1 \end{matrix} ] + \frac{1}{2} [ \begin{matrix}0 \\ 0 \\ 1 \end{matrix} ] = [ \begin{matrix}0 \\ 1 \\ 3/2 \end{matrix} ] ,

pri čemu su

e_{1} = [ \begin{matrix}1 \\ 0 \\ −1/2 \end{matrix} ] , r_{1} = [ \begin{matrix}0 \\ −1/2 \\ 1/2 \end{matrix} ] .

Na kraju imamo

1 = ∥e_{0}∥_{2} < ∥e_{1}∥_{2} = \frac{\sqrt{5}}{2} = 1.1180,

i

1 = ∥r_{0}∥_{2} > ∥r_{1}∥_{2} = \frac{\sqrt{2}}{2} = 0.7071.

U općenitijem nehermitskom slučaju, pretpostavimo da se polje vrijednosti matrice A nalazi u krugu K = {z ∈ ℂ : |z − c| ≤ s} koji ne sadrži ishodište. Razmotrimo izbor α = 1/c u (2.16). Zbog svojstava (1.4) i (1.5) polja vrijednosti vrijedi da je

F(I − (1/c)A) = 1 − (1/c)F(A) ⊆ {z ∈ ℂ : |z| ≤ s/|c|}.

Koristeći svojstvo (1.10) koje definira odnos numeričkog radijusa i norme matrice, možemo zaključiti da za ovakav izbor α je

∥I − αA∥_{2} = ∥I − (1/c)A∥_{2} ≤ 2\frac{s}{|c|},

pa je prema tome

∥r_{k+1}∥_{2} ≤ 2\frac{s}{|c|}∥r_{k}∥_{2}.  (2.18)

Ova ocjena može biti i stroža i slabija od (2.14), ovisno o veličini i obliku polja vrijednosti.

Nakon prezentiranja rezultata koji govore o redukciji norme reziduala kod primjene Orthomin(1) metode, pogodan je trenutak da ilustriramo na koji način se ta redukcija može popraviti korištenjem prekondicioniranja. U prekondicioniranom sustavu matrica sustava je M^{−1}A, a matricu prekondicioniranja M možemo, na primjer, odabrati tako da je polje vrijednosti matrice M^{−1}A smješteno u krugu radijusa jedan, sa središtem dalekim od ishodišta. U tom slučaju ocjena (2.18) daje vrlo dobar faktor redukcije koji je puno manji od 1.

2.3.2 Orthomin(2)(MINRES)

Metoda Orthomin(1) često radi korake u istom smjeru kojeg je već neki raniji korak prošao. Zato se javlja ideja da za korake unaprijed odaberemo skup ortogonalnih vektora, koje nazivamo smjerovi traganja d_{0}, d_{1},…, d_{n−1}. Zapravo u našem slučaju koristit ćemo A^{∗}A-ortogonalnost koja se definira kao

⟨d_{i}, d_{j}⟩_{A^{∗}A} = ⟨Ad_{i}, Ad_{j}⟩ = 0,

pri čemu je, za pozitivno definitnu matricu B, dobro definiran skalarni produkt ⟨x, y⟩_{B} = ⟨Bx, y⟩. Lako se pokaže da su takvi vektori linearno nezavisni. U svakom smjeru d_{k} napravit ćemo točno jedan korak, i taj korak će biti takve dužine da ćemo poništiti komponentu vektora reziduala r_{k} u smjeru Ad_{k}. Novi rezidual r_{k+1} će u (k + 1)-om koraku biti jednak početnom rezidualu r_{0}, kojem su odstranjene sve komponente u smjerovima Ad_{0},…,Ad_{k}. Nakon najviše n koraka bit ćemo gotovi.

Općenito, u svakom koraku biramo novu aproksimaciju rješenja oblika

x_{k+1} = x_{k} + α_{k}d_{k},  (2.19)

pri čemu za rezidual vrijedi

r_{k+1} = r_{k} − α_{k}Ad_{k}.  (2.20)

Da bismo našli vrijednost od α_{k}, koristit ćemo činjenicu da je r_{k+1} ortogonalan na Ad_{0},…,Ad_{k}, zbog prethodno navedenoga, pa više nikada nećemo morati ići u tim smjerovima. Na analogan način kao i kod Orthomin(1) okomitost r_{k+1} na Ad_{k} je ekvivalentna traženju r_{k+1} oblika (2.20) sa najmanjom euklidskom normom. I u tom slučaju dobivamo α_{k} istim postupkom, samo što je on sada oblika

α_{k} = \frac{⟨r_{k}, Ad_{k}⟩}{⟨Ad_{k}, Ad_{k}⟩}.  (2.21)

Ovu metodu nazvat ćemo Orthomin(2a).

Orthomin(2a)

• Dana je početna iteracija x_{0}, i skup A^{∗}A-ortogonalnih vektora {d_{0}, d_{1}, …, d_{n−1}}.

• r_{0} = b − Ax_{0}.

• Za k = 1, 2, …

• α_{k−1} = ⟨r_{k−1}, Ad_{k−1}⟩/⟨Ad_{k−1}, Ad_{k−1}⟩,

• x_{k} = x_{k−1} + α_{k−1}d_{k−1},

• r_{k} = r_{k−1} − α_{k−1}Ad_{k−1}.

Da zaista vrijedi ortogonalnost r_{k+1} i Ad_{0}, …, Ad_{k−1} pokazat ćemo u sljedećem teoremu.

Teorem 2.3.4. Za metodu Orthomin(2a) vrijede sljedeća svojstva:

⟨Ad_{i}, Ad_{j}⟩ = 0 (i ≠ j)  (2.22)
⟨r_{i}, Ad_{j}⟩ = 0 (j < i)  (2.23)

⟨r_{0}, Ad_{i}⟩ = ⟨r_{1}, Ad_{i}⟩ = ⋯ = ⟨r_{i}, Ad_{i}⟩.  (2.24)

Skalar α_{k} može se zato napisati kao

α_{k} = \frac{⟨r_{0}, Ad_{k}⟩}{⟨Ad_{k}, Ad_{k}⟩}.  (2.25)

Dokaz: Prva jednakost je očita jer smo tako birali smjerove traganja. Koristeći činjenicu da je r_{i+1} = r_{i} − α_{i}Ad_{i} imamo

⟨r_{i+1}, Ad_{j}⟩ = ⟨r_{i}, Ad_{j}⟩ − α_{i}⟨Ad_{i}, Ad_{j}⟩.

Ako je j = i tada, zbog odabira α_{i} (2.21), vrijedi ⟨r_{i+1}, Ad_{i}⟩ = 0. Što više, zbog (2.22) je ⟨r_{i+1}, Ad_{j}⟩ = ⟨r_{i}, Ad_{j}⟩, za j ≠ i, pa jednakosti (2.23) i (2.24) slijede iz tih tih relacija indukcijom. Na kraju, formula (2.25) slijedi iz (2.24) i (2.21).

Teorem 2.3.5. Metoda Orthomin(2a) je m-koračna metoda (m ≤ n) u smislu da je u m-tom koraku aproksimacija x_{m} jednaka rješenju A^{−1}b.

Dokaz: Neka je m najmanji cijeli broj takav da se r_{0} nalazi u prostoru razapetom sa Ad_{0},…,Ad_{m−1}. Očito je m ≤ n, budući da su vektori Ad_{0},Ad_{1},… linearno nezavisni, pa ih maksimalno može biti n. Zatim, izaberimo skalare a_{0},…,a_{m−1} takve da je

r_{0} = a_{0}Ad_{0} + ⋯ + a_{m−1}Ad_{m−1}.

Odavde slijedi iz r_{0} = Ae_{0} da je

e_{0} = a_{0}d_{0} + ⋯ + a_{m−1}d_{m−1},

odnosno iz e_{0} = x − x_{0}, za x = A^{−1}b, slijedi da je

x = x_{0} + a_{0}d_{0} + ⋯ + a_{m−1}d_{m−1}.

Koristeći se činjenicom da su smjerovi traženja d_{i} medjusobno A^{∗}A-ortogonalni i jednakošću (2.25) iz Teorema 2.3.4, računanjem skalarnog produkta ⟨r_{0}, Ad_{i}⟩ dobivamo

⟨r_{0}, Ad_{i}⟩ = a_{i}⟨Ad_{i}, Ad_{i}⟩

odnosno

a_{i} = \frac{⟨r_{0}, Ad_{i}⟩}{⟨Ad_{i}, Ad_{i}⟩} = α_{i}.

Budući da je, primjenom indukcije na (2.19)

x_{m} = x_{0} + α_{0}d_{0} + ⋯ + α_{m−1}d_{m−1},

možemo zaključiti da tvrdnja x = x_{m} vrijedi.

Sada još treba definirati skup A^{∗}A-ortogonalnih smjerova traganja {d_{i} : i = 0, 1, …, n − 1}. To možemo napraviti primjenom Gram–Schmidtove metode A^{∗}A-ortogonaliza-cije na niz linearno nezavisnih vektora u_{0},…,u_{n−1}, koja je zapravo klasična Gramm– Schmidtova metoda uz skalarni produkt ⟨Ax, Ay⟩ = ⟨x, y⟩_{A^{∗}A}. Prema tome metoda glasi:

d_{k} = u_{k} + ∑_{i=0}^{k−1} β_{ki}d_{i},  (2.26)

pri čemu su koeficijenti

β_{ki} = −\frac{⟨Au_{k}, Ad_{i}⟩}{⟨Ad_{i}, Ad_{i}⟩},  (2.27)

i nakon svakog koraka vrijedi da je

span{d_{0}, d_{1}, …, d_{i}} = span{u_{0}, u_{1}, … u_{i}}.

Za Orthomin(2a) metodu uzet ćemo da je u_{i} = r_{i}. Uz pomoć Teorema 2.3.4 može se provjeriti da su vektori r_{i} linearno nezavisni. Naime, ako pretpostavimo da do k-tog koraka nismo došli do rješenja, tada su svi d_{i}, i = 0, …, k različiti od nul-vektora. U suprotnom, ako je d_{k} = 0, tada bi prema Teoremu 2.3.7, koji ćemo kasnije pokazati, moralo biti r_{k} = 0, odnosno rješenje je dostignuto. Dalje, pretpostavimo da je ∑_{i=0}^{k} γ_{i}r_{i} = 0 za neke konstante γ_{i}, i = 0, …, k. Iz (2.22) i (2.26) slijedi da je ⟨Ar_{i}, Ad_{i}⟩ = ⟨Ad_{i}, Ad_{i}⟩ i da je ⟨Ar_{i}, Ad_{j}⟩ = 0 za j > i. Tada imamo

0 = ⟨A (∑_{i=0}^{k} γ_{i}r_{i}) , Ad_{k}⟩ = ∑_{i=0}^{k} γ_{i}⟨Ar_{i}, Ad_{k}⟩ = γ_{k}⟨Ad_{k}, Ad_{k}⟩,

pa budući da je ⟨Ad_{k}, Ad_{k}⟩ različito od nule, slijedi da je γ_{k} = 0. Nakon toga, skalarnim množenjem A(∑_{i=0}^{k−1} γ_{i}r_{i}) sa Ad_{k−1} dobit ćemo da je γ_{k−1} = 0, i tako redom sve do γ_{0} = 0. Dakle, slijedi da su vektori r_{0}, …, r_{k} linearno nezavisni. Iz (2.23) i (2.26) može se vidjeti da vrijedi

⟨r_{i}, Ar_{j}⟩ = 0  (j < i).  (2.28)

Sljedeći zadatak je odrediti koeficijente β_{ki} za i = 0, …, k − 1. Problem se pojednostavljuje ako promatramo matrice A koje su hermitske. U tom slučaju jednakost (2.28) vrijedi za sve j ≠ i, pa nadalje promatramo sljedeće

⟨Ar_{k}, r_{i+1}⟩ = ⟨Ar_{k}, r_{i}⟩ − ᾱ_{i}⟨Ar_{k}, Ad_{i}⟩,

odnosno vrijedi

⟨Ar_{k}, Ad_{i}⟩ = \frac{1}{ᾱ_{i}} (⟨Ar_{k}, r_{i}⟩ − ⟨Ar_{k}, r_{i+1}⟩).  (2.29)

Za i < k − 1 lijeva strana u (2.29) je jednaka 0, pa su β_{ki} = 0 za i = 0, 1, …, k − 2, a β_{k} = β_{k,k−1} = −\frac{⟨Ar_{k},Ad_{k−1}⟩}{⟨Ad_{k−1},Ad_{k−1}⟩}. Sada smo u potpunosti definirali metodu Orthomin(2) za hermitske matrice, čiji algoritam onda izgleda ovako Algoritam 2.3.6. Orthomin(2)

Dana je početna iteracija x_{0},

d_{0} = r_{0} = b − Ax_{0}.

Za k = 1, 2, …

izračunaj Ad_{k−1},

α_{k−1} = \frac{⟨r_{k−1}, Ad_{k−1}⟩}{⟨Ad_{k−1}, Ad_{k−1}⟩},

x_{k} = x_{k−1} + α_{k−1}d_{k−1},

r_{k} = r_{k−1} − α_{k−1}Ad_{k−1},

izračunaj Ar_{k},

β_{k} = \frac{⟨Ar_{k}, Ad_{k−1}⟩}{⟨Ad_{k−1}, Ad_{k−1}⟩},

d_{k} = r_{k} − β_{k}d_{k−1}.

Navedimo još nekoliko svojstva Orthomin(2) metode.

Teorem 2.3.7. Rezidual r_{k} dobiven u k-tom koraku metode Orthomin(2) primijenjene na hermitski sustav ima najmanju euklidsku normu na prostoru

r_{0} + span{Ar_{0}, A^{2}r_{0}, …, A^{k}r_{0}}.  (2.30)

Dokaz: Ako gledamo kako su definirani vektori r_{k} i d_{k} u ovoj metodi, tada možemo zaključiti sljedeće: d_{0} = r_{0}, pa je r_{1} = r_{0} − α_{0}Ar_{0} i d_{1} = (1 − β_{1})r_{0} − α_{0}Ar_{0}, odnosno r_{1}, d_{1} ∈ span{r_{0}, Ar_{0}}. Pretpostavimo da vrijedi da je r_{k}, d_{k} ∈ span{r_{0}, Ar_{0}, …, A^{k}r_{0}}, tada za r_{k+1} imamo

r_{k+1} = r_{k} − α_{k}Ad_{k} ∈ span{r_{0}, …, A^{k+1}r_{0}},

pri čemu se iz indukcije vidi da je koeficijent uz r_{0} uvijek jednak 1, odnosno

r_{k+1} ∈ r_{0} + span{Ar_{0}, A^{2}r_{0}, …, A^{k+1}r_{0}}  (2.31)

i zbog d_{k+1} = r_{k+1} − β_{k}d_{k}

d_{k+1} ∈ span{r_{0}, Ar_{0}, A^{2}r_{0}, …, A^{k+1}r_{0}}.  (2.32)

Iz (2.32) slijedi da je span{Ad_{0}, Ad_{1}, …, Ad_{k}} = span{Ar_{0}, …, A^{k+1}r_{0}}, a kako je zbog (2.23) r_{k+1} okomit na span{Ad_{0}, Ad_{1}, …, Ad_{k}}, onda slijedi da je r_{k+1} vektor u prostoru (2.31) sa najmanjom euklidskom normom. Za k = n − 1 zbog linearne nezavisnosti vektora {Ad_{0}, …, Ad_{n−1}} slijedi da je r_{n} = 0.

Napomena. Ako pretpostavimo da je d_{k} = 0, tada prema (2.32) iz dokaza prethodnog teorema možemo zaključiti da postoje konstante a_{i}, i = 0, 1, …, k takve da je

∑_{i=0}^{k} a_{i}A^{i}r_{0} = 0.  (2.33)

Bez smanjenja općenitosti možemo pretpostaviti da je a_{0} ≠ 0, a u slučaju da to ne vrijedi tada prethodnu jednakost množimo s A^{−1} tako dugo dok ne dobijemo konstantu uz član r_{0} koja je različita od nule. Jednakost (2.33) sada možemo pomnožiti sa a_{0}^{−1}, pri čemu dobivamo da se nula nalazi u prostoru (2.30). Budući da je r_{k} vektor iz prostora (2.30) sa najmanjom euklidskom normom, mora biti r_{k} = 0. Dakle, ako do k-tog koraka nismo došli do rješenja, vektori d_{i}, i = 0, …, k moraju biti različiti od nule.

Algoritam 2.3.6 za metodu Orthomin(2) koristi se i za nehermitske matrice no tada se gubi ortogonalnost Ad_{i} vektora. Ovaj algoritam može se zaustaviti i neobavljena posla, ukoliko je ⟨r_{0}, Ar_{0}⟩ = 0. Kao i kod Orthomin(1), može se pokazati da Orthomin(2) konvergira ako je 0 ∉ F(A). Ako je korak iteracije Orthomin(2) metode izvediv, tada se euklidska norma reziduala reducira za najmanje onoliko koliko bi se reducirala u Orthomin(1) koraku iz iste točke. To je zbog toga što se norma reziduala minimizira po većem prostoru r_{k} + span{Ar_{k}, Ad_{k−1}} umjesto po prostoru r_{k} + span{Ar_{k}}. Ograda (2.14) takoder vrijedi i za Orthomin(2) kada 0 ∉ F(A).

Algoritam koji aproksimira rješenje hermitskog linearnog sustava Ax = b tako da minimizira rezidual po prostoru iz (2.31) je poznat pod imenom MINRES (Minimal residual iteration) algoritam.

2.3.3 Analiza greške i konvergencija Orthomin(2) metode

Kao poslijedica relacije (2.31), rezidual u k-tom koraku metode ima oblik

r_{k} = r_{0} + ∑_{i=1}^{k} ψ_{i}A^{i}r_{0} = (I + ∑_{i=1}^{k} ψ_{i}A^{i}) r_{0}.

Koeficijenti ψ_{i} su u vezi sa koeficijentima α_{i} i β_{i}, ali točna veza nam sada nije bitna. Bitno je to da Orthomin(2) metoda bira ψ_{j} takve da oni minimiziraju ∥r_{k}∥_{2}. Izraz u zagradama može se shvatiti kao polinom koji za argument ima matricu A, pa se izraz za rezidual možemo izraziti kao

r_{k} = p_{k}(A)r_{0},  (2.34)

gdje je p_{k} polinom k-tog stupnja, kod kojeg zahitjevamo da je p_{k}(0) = 1. Orthomin(2) metoda odabire taj polinom kada bira koeficijente ψ_{j}.

U slučaju da je matrica A hermitska, tada matricu možemo zapisati kao A = UΛU^{∗}, pri čemu su Λ = diag(λ_{1}, …, λ_{n}), λ_{1}, …, λ_{n} svojstvene vrijednosti od A i U^{∗}U = UU^{∗} = I. Zbog toga slijedi

∥r_{k}∥_{2} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(A)r_{0}∥_{2} ≤ min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(A)∥_{2}∥r_{0}∥_{2} =
= min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥Up_{k}(Λ)U^{∗}∥_{2}∥r_{0}∥_{2} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(Λ)∥_{2}∥r_{0}∥_{2},

odnosno vrijedi

∥r_{k}∥_{2} ≤ min_{p_{k}∈ℙ_{k},p_{k}(0)=1} max_{i=1,...,n} |p_{k}(λ_{i})|∥r_{0}∥_{2},  (2.35)

gdje je sa ℙ_{k} definiran skup polinoma stupnja k. Općenito, polinom n-tog stupnja može biti jednoznačno odreden ako je zadan na n + 1 točaka. Ako uzmemo da je p_{n}(0) = 1 i da u svim svojstvenim vrijednostima od A (njih n) p_{n} poprima vrijednost 0, tada je to polinom koji minimizira (2.35), pri čemu je onda r_{n} jednak nuli. U egzaktnoj aritmetici broj iteracija k koje su potrebne da se izračuna egzaktno rješenje je manji ili jednak broju različitih svojstvenih vrijednosti, jer možemo naći polinom stupnja k koji je u 0 jednak 1, i u svim različitim svojstvenim vrijednostima jednak 0. Za takav polinom je max_{i=1,...,n} |p_{k}(λ_{i})| = 0, pa iz ocjene (2.35) slijedi da je r_{k} = 0. Time se vidi da je Orthomin(2) metoda brža ako A ima višestrukih svojstvenih vrijednosti.

Mi ćemo sada prikazati analizu za indefinitni problem, i to u specijalnom slučaju kada su svojstvene vrijednosti od A sadržane u dva intervala [a, b] ⋃[c, d], gdje je a < b < 0 < c < d i b − a = d − c. Budući da je desna strana nejednakosti (2.35) manja ili jednaka minimizaciji pa maksimizaciji po uniji tih skupova, jednostavniji pristup je minimizacija po tim segmentima nego po konačnom broju točaka. Polinomi s kojima se to postiže bazirani su na Čebiševljevim polinomima.

Čebiševljev polinom stupnja k je

T_{k}(ω) = \frac{1}{2} [(ω + \sqrt{ω^{2} − 1})^{k} + (ω − \sqrt{ω^{2} − 1})^{k}] .

Čebiševljevi polinomi imaju sljedeća svojstva:

|T_{k}(ω)| ≤ 1, ω ∈ [−1, 1],

rapidno osciliraju izmedu −1 i 1, odnosno

T_{k} (cos (\frac{iπ}{k} )) = (−1)^{i}, i = 0, 1, …, i,

i k nultočaka polinoma T_{k} moraju se nalaziti izmedu k + 1 ekstrema od T_{k} u segmentu [−1, 1]. Najbitnije mu je svojstvo to da izmedu svih normiranih polinoma stupnja k polinom 2^{1−k}T^{k} ima najmanju ∞-normu na intervalu [−1, 1], koja iznosi 2^{1−k}.

U ovom slučaju, polinom k-tog stupnja koji ima vrijednost 1 u ishodištu, i ima minimalnu ∞-normu na [a, b] ⋃[c, d] je dan sa

p_{k}(z) = \frac{T_{l}(q(z))}{T_{l}(q(0))}, q(z) = 1 + \frac{2(z − b)(z − c)}{ad − bc},  (2.36)

gdje je l = [\frac{k}{2}], [·] označava cjelobrojni dio, i T_{l} je l-ti Čebiševljev polinom. Primijetimo da funkcija q(z) preslikava svaki od intervala [a, b] i [c, d] na interval [−1, 1]. Slijedi da za z ∈ [a, b] ⋃[c, d] apsolutna vrijednost brojnika u izrazu za p_{k}(z) iz (2.36), je ograničena sa 1. Nazivnik je odreden tako da zadovolji svojstvo p_{k}(0) = 1. Znači, imamo sljedeće

∥r_{k}∥_{2} ≤ T_{k} (\frac{ad + bc}{ad − bc})^{−1} ∥r_{0}∥_{2},

i nakon što izračunamo vrijednost Čebiševljevog polinoma, dobivamo

∥r_{k}∥_{2} ≤ 2 [(\frac{\sqrt{|ad|} + \sqrt{|bc|}}{\sqrt{|ad|} − \sqrt{|bc|}})^{[ \frac{k}{2} ]} + (\frac{\sqrt{|ad|} − \sqrt{|bc|}}{\sqrt{|ad|} + \sqrt{|bc|}})^{[ \frac{k}{2} ]}]^{−1} ∥r_{0}∥_{2}.  (2.37)

Drugi sumand u (2.37) konvergira k nuli kada k raste, pa se ocjena greške Orthomin(2) metode za indefinitne hermitske matrice često izražava sa slabijom formulacijom

∥r_{k}∥_{2} ≤ 2 (\frac{\sqrt{|ad|} − \sqrt{|bc|}}{\sqrt{|ad|} + \sqrt{|bc|}})^{[ \frac{k}{2} ]} ∥r_{0}∥_{2}.  (2.38)

U slučaju pozitivno definitne hermitske matrice A ocjena greške se izvodi analogno kao i u slučaju metode konjugiranih gradijenata, koja će biti prezentirana u sljedećem poglavlju, a slična je prethodnoj analizi. U tom slučaju dobivamo ocjenu

∥r_{k}∥_{2} ≤ 2 [(\frac{\sqrt{κ(A)} + 1}{\sqrt{κ(A)} − 1})^{k} + (\frac{\sqrt{κ(A)} − 1}{\sqrt{κ(A)} + 1})^{k}]^{−1} ∥r_{0}∥_{2},  (2.39)

odnosno

∥r_{k}∥_{2} ≤ 2 (\frac{\sqrt{κ(A)} − 1}{\sqrt{κ(A)} + 1})^{k} ∥r_{0}∥_{2}.  (2.40)

Na žalost, nikakve jače a priori ograde na normu reziduala nisu poznate za slučaj kada se Orthomin(2) primijeni na općenitu matricu, čije polje vrijednosti ne sadrži ishodište, iako u praksi može biti značajnije bolja od Orthomin(1). Naime, kod primjene Orthomin(2) metode na nehermitsku matricu, gubi se svojstvo opisano u Teoremu 2.3.7. Medutim, u jednom od daljnjih odjeljaka biti će opisana GMRES metoda, za koju tvrdnja Teorema 2.3.7 uvijek vrijedi, pa i za nehermitske matrice. Takoder će biti pokazano da se za tu metodu može konstruirati linearni sustav sa nehermitskom matricom sustava A, koja može imati proizvoljne svojstvene vrijednosti, i sa vektorom desne strane b, takvim da u k-tom (k < n) koraku GMRES metode producira rezidual r_{k}^{GMRES} sa proizvoljnom normom. Za k = n vrijedit će r_{n}^{GMRES} = 0. Kako za svaki k vrijedi

∥r_{k}^{GMRES}∥_{2} ≤ ∥r_{k}^{Orthomin(2)}∥_{2},

to znači da u svakom koraku k metode Orthomin(2) primijenjene na nehermitski sustav možemo dobiti rezidual r_{k}^{Orthomin(2)}, čija je donja ograda norme proizvoljno velika. Dakle, možemo zaključiti da ne možemo dobiti gornju ocjenu norme reziduala u svakom koraku Orthomin(2) metode, koja bi ovisila o spektru matrice sustava A.

2.3.4 Prekondicionirana Othomin(2) metoda

Ovom metodom možemo riješiti i prekondicionirani sustav M^{−1}Ax = M^{−1}b, pri čemu M biramo tako da matrica M^{−1}A ima manji broj uvjetovanosti, kako bi smanjili broj iteracija za postizanje zadane točnosti. Dakle, u slučaju prekondicioniranog sustava imamo sljedeći algoritam Algoritam 2.3.8. Prekondicionirani Orthomin(2)

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

riješi Mp_{0} = r_{0},

d_{0} = p_{0}.

Za k = 1, 2, …

izračunaj Ad_{k−1},

riješi Mg_{k−1} = Ad_{k−1},

α_{k−1} = \frac{⟨p_{k−1}, g_{k−1}⟩}{⟨g_{k−1}, g_{k−1}⟩},

x_{k} = x_{k−1} + α_{k−1}d_{k−1},

r_{k} = r_{k−1} − α_{k−1}Ad_{k−1},

riješi Mp_{k} = r_{k},

izračunaj Ap_{k},

riješi Mq_{k} = Ap_{k},

β_{k} = \frac{⟨q_{k}, g_{k−1}⟩}{⟨g_{k−1}, g_{k−1}⟩},

d_{k} = p_{k} − β_{k}d_{k−1}.

Ako je matrica A hermitska, tada bismo željeli da se i nakon prekondicioniranja to svojstvo zadrži. Zato ćemo uzeti da je i matrica prekondicioniranja M hermitska, pa ako je možemo faktorizirati kao M = LL^{∗}, tada algoritam možemo primijeniti na sustav

L^{−1}AL^{−∗}x̂ = L^{−1}b,  (2.41)

koji i dalje ostaje hermitski, a svojstvene vrijednosti matrice L^{−1}AL^{−∗} su iste kao i kod M^{−1}A. Ako sada označimo sve veličine vezane uz prekondicionirani sustav (2.41) saˆ , a veličine vezane uz početni sustav Ax = b sa standardnim oznakama, tada uz pomoć relacija

x_{k} = L^{−∗}x̂_{k}, r_{k} = Lr̂_{k},

d_{k} = L^{−∗}d̂_{k},

Orthomin(2) metodu primijenjenu na sustav (2.41) možemo transformirati u algoritam, koji ne ovisi o faktorizaciji matrice prekondicioniranja M.

Algoritam 2.3.9. Hermitski prekondicionirani Orthomin(2)

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

riješi Mp_{0} = r_{0},

d_{0} = p_{0}.

Za k = 1, 2, …

izračunaj Ad_{k−1},

riješi Mg_{k−1} = Ad_{k−1},

α_{k−1} = \frac{⟨r_{k−1}, g_{k−1}⟩}{⟨Ad_{k−1}, g_{k−1}⟩},

x_{k} = x_{k−1} + α_{k−1}d_{k−1},

r_{k} = r_{k−1} − α_{k−1}Ad_{k−1},

riješi Mp_{k} = r_{k},

izračunaj Ap_{k},

β_{k} = \frac{⟨Ap_{k}, g_{k−1}⟩}{⟨Ad_{k−1}, g_{k−1}⟩},

d_{k} = p_{k} − β_{k}d_{k−1}.

2.4 Metoda najbržeg silaska, konjugirani smjerovi i konjugirani gradijenti(CG)

2.4.1 Metoda najbržeg silaska

Drugi način odabira parametra α_{k} u iteraciji (2.11) je takav da u k-tom koraku iteracije dobijemo grešku e_{k+1} sa minimalnom A-normom, pri čemu je A, matrica sustava Ax = b, pozitivno definitna. A-norma definira se kao ∥a∥_{A} = \sqrt{⟨a, a⟩_{A}} = \sqrt{⟨Aa, a⟩}. Od sada pa na dalje, u ovom odjeljku, smatrat ćemo da je matrica sustava Ax = b pozitivno definitna hermitska matrica.

Ponovo ćemo derivirati jednu funkciju po α_{k}, kao i kod Orthomin(1) metode, samo što se ovaj puta radi o funkciji f(α_{k}) = e_{k+1}^{∗}Ae_{k+1} (f : ℝ ⟶ ℝ). Njenu derivaciju ćemo izjednačiti je s nulom, pri čemu dobivamo e_{k+1} sa minimalnom A-normom. Razvoj ove metode, koju nazivamo metodom najbržeg silaska, puno detaljnije je opisan u [33], dok će u ovoj radnji biti izneseni samo osnovni elementi važni za razumijevanje. Ako uvrstimo da je e_{k+1} = e_{k} − α_{k}r_{k} i r_{k+1} = r_{k} − α_{k}Ar_{k}, što slijedi iz (2.11), dobit ćemo da je

f′(α_{k}) = 2(α_{k}r_{k}^{∗}Ar_{k} − r_{k}^{∗}r_{k}),

odakle slijedi izraz za α_{k}

α_{k} = \frac{r_{k}^{∗}r_{k}}{r_{k}^{∗}Ar_{k}} = \frac{⟨r_{k}, r_{k}⟩}{⟨Ar_{k}, r_{k}⟩}.  (2.42)

I u tom je slučaju r_{k+1} okomit na r_{k}.Važno je još primijetiti, da tako dugo dok nismo našli egzaktno rješenje, to jest dok je r_{k} ≠ 0, α_{k} je strogo veći od nule. Zbog okomitosti r_{k+1} i r_{k} slijedi

∥e_{k}∥_{A}^{2} = ∥e_{k+1}∥_{A}^{2} + α_{k}^{2}∥r_{k}∥_{A}^{2} > ∥e_{k+1}∥_{A},

odakle se vidi da se A-norma greške smanjuje u svakom koraku.

Analiza konvergencije za metodu najbržeg silaska je slična analizi greške za Orthomin(2) metodu. Iz jednakosti (2.11) možemo dobiti rekurziju za e_{k}, koja glasi

e_{k+1} = e_{k} − α_{k}r_{k} = e_{k} − α_{k}Ae_{k} = (I − α_{k}A)e_{k},

koju na drugačiji način možemo zapisati kao

e_{k+1} = p_{1}(A)e_{k},

pri čemu je p_{1} polinom prvog stupnja, takav da je p_{1}(λ) = 1 − α_{k}λ. Prema gore navedenome, za grešku e_{k+1} onda vrijedi

∥e_{k+1}∥_{A} = min_{p_{1}∈ℙ_{1},p_{1}(0)=1}∥p(A)e_{k}∥_{A},  (2.43)

gdje se minimum uzima po svim polinomima p prvog stupnja, za koje je p(0) = 1, odnosno koji su oblika p(λ) = 1 − αλ. Za nastavak analize trebat će nam još sljedeće svojstvo A-norme za proizvoljni vektor u:

∥u∥_{A} = (u^{∗}Au)^{1/2} = (u^{∗}A^{1/2}A^{1/2}u)^{1/2} = ((A^{1/2}u)^{∗}A^{1/2}u)^{1/2} = ∥A^{1/2}u∥_{2}. (2.44)

Ako simetričnu, pozitivno definitnu matricu A prikažemo kao A = UΛU^{T}, Λ = diag(λ_{1}, …, λ_{n}), U^{∗}U = UU^{∗} = I, tada je A^{1/2} simetrični kvadratni korijen matrice A, oblika A^{1/2} = UΛ^{1/2}U^{∗} koji komutira sa A i bilo kojim polinomom od A. λ_{1}, …, λ_{n} su svojstvene vrijednosti matrice A. Zato vrijedi

∥e_{k+1}∥_{A} = min_{p_{1}∈ℙ_{1},p_{1}(0)=1}∥A^{1/2}p_{1}(A)e_{k}∥_{2} = min_{p_{1}∈ℙ_{1},p_{1}(0)=1}∥Up_{1}(Λ)U^{∗}A^{1/2}e_{k}∥_{2} ≤
≤ min_{p_{1}∈ℙ_{1},p_{1}(0)=1}∥p_{1}(Λ)∥_{2}∥e_{k}∥_{A} = min_{p_{1}∈ℙ_{1},p_{1}(0)=1} max_{j=1,...,n} |p_{1}(λ_{j})|∥e_{k}∥_{A}. (2.45)

Može se pokazati da se taj minimum postiže za polinom

p_{1}(λ) = 1 − \frac{2}{λ_{min} + λ_{max}} λ

i iznosi

|p_{1}(λ_{min})| = |p_{1}(λ_{max})| = \frac{λ_{max} − λ_{min}}{λ_{max} + λ_{min}} = \frac{κ(A) − 1}{κ(A) + 1} < 1,

pri čemu je λ_{min} minimalna, a λ_{max} maksimalna svojstvena vrijednost matrice A, te κ(A) = λ_{max}/λ_{min} uvjetovanost matrice A. Dakle dobivamo rezultat

∥e_{k+1}∥_{A} ≤ (\frac{κ(A) − 1}{κ(A) + 1}) ∥e_{k}∥_{A},

i kao konačni oblik

∥e_{k}∥_{A} ≤ (\frac{κ(A) − 1}{κ(A) + 1})^{k} ∥e_{0}∥_{A}.  (2.46)

2.4.2 Metoda konjugiranih smjerova

Kao i kod izvoda metode Orthomin(2a), a u svrhu da metoda najbržeg silaska ne bi radila korake u smjeru kojim je neki raniji korak prošao, unaprijed odabiremo skup Aortogonalnih vektora, odnosno smjerove traganja d_{0}, d_{1},…, d_{n−1}. Dva vektora d_{i} i d_{j} su A-ortogonalna ili konjugirana ako vrijedi da je ⟨d_{i}, d_{j}⟩_{A} = ⟨Ad_{i}, d_{j}⟩ = 0. Lagano se može provjeriti da su A-ortogonalni vektori linearno nezavisni. Znači u svakom koraku biramo točku

x_{k+1} = x_{k} + α_{k}d_{k}  (2.47)

s minimalnom A-normom greške.

Dakle, u svakom smjeru d_{k} napravit ćemo točno jedan korak, i taj korak će biti takve dužine da ćemo poništiti komponentu vektora greške e_{k} u smjeru Ad_{k}. Nakon n koraka bit ćemo gotovi. U (k + 1)-om koraku onda biramo e_{k+1} takav da bude jednak početnoj grešci, kojoj su odstranjene sve komponente u smjerovima Ad_{0},…,Ad^{k}, odnosno on je A-ortogonalan na d_{0},…,d_{k}. A-ortogonalnost izmedu e_{k+1} i d_{k} je ekvivalentna nalaženju točke minimuma duž smjera traganja d_{k}, kao i u metodi najbržeg silaska. Da bi to vidjeli, ponovo ćemo derivirati po α_{k} funkciju f(e_{k+1}) = e_{k+1}^{∗}Ae_{k+1} i izjednačiti je s nulom, samo što je u tom slučaju r_{k+1} okomit na d_{k}. Ako opet uvrstimo da je r_{k+1} = r_{k}−α_{k}Ad_{k} i e_{k+1} = e_{k} − α_{k}d_{k}, dobit ćemo izraz za α_{k}

α_{k} = \frac{d_{k}^{∗}r_{k}}{d_{k}^{∗}Ad_{k}} = \frac{⟨r_{k}, d_{k}⟩}{⟨Ad_{k}, d_{k}⟩}.  (2.48)

Ovako dobivena metoda naziva se metoda konjugiranih smjerova.

Metoda konjugiranih smjerova

• Dana je početna iteracija x_{0}, i skup A-ortogonalnih vektora {d_{0}, d_{1}, …, d_{n−1}}.

• r_{0} = b − Ax_{0}.

• Za k = 1, 2, …

• α_{k−1} = ⟨r_{k−1}, d_{k−1}⟩/⟨Ad_{k−1}, d_{k−1}⟩,

• x_{k} = x_{k−1} + α_{k−1}d_{k−1},

• r_{k} = r_{k−1} − α_{k−1}Ad_{k−1}.

A-ortogonalnost e_{k+1} i d_{0},…,d_{k} pokazat ćemo u sljedećem teoremu.

Teorem 2.4.1 ([20]). Za metodu konjugiranih smjerova vrijede sljedeća svojstva:

⟨Ad_{i}, d_{j}⟩ = 0 (i ≠ j)  (2.49)
⟨r_{i}, d_{j}⟩ = ⟨Ae_{i}, d_{j}⟩ = 0 (j < i)  (2.50)
⟨r_{0}, d_{i}⟩ = ⟨r_{1}, d_{i}⟩ = ⋯ = ⟨r_{i}, d_{i}⟩.  (2.51)

Skalar α_{i} može se zato napisati kao

α_{k} = \frac{⟨r_{0}, d_{k}⟩}{⟨Ad_{k}, d_{k}⟩}.  (2.52)

Dokaz: Prva jednakost je očita jer smo tako birali smjerove traganja. Koristeći činjenicu da je zbog (2.47) r_{i+1} = r_{i} − α_{i}Ad_{i} imamo

⟨r_{i+1}, d_{j}⟩ = ⟨r_{i}, d_{j}⟩ − α_{i}⟨Ad_{i}, d_{j}⟩.

Ako je j = i tada, zbog (2.48), vrijedi ⟨r_{i+1}, d_{i}⟩ = 0. Što više, zbog (2.49) je ⟨r_{i+1}, d_{j}⟩ = ⟨r_{i}, d_{j}⟩, za j ≠ i, pa jednakosti (2.50) i (2.51) slijede iz tih tih relacija matematičkom indukcijom. Na kraju, formula (2.52) slijedi iz (2.51) i (2.48).

Poslijedica formule (2.52) je ta da se aproksimacije x_{1},x_{2},… od x mogu izračunati bez računanja reziduala r_{1},r_{2},…, odnosno osigurava da je izbor smjerova traganja d_{1},d_{2},… neovisan o tim rezidualima. Ovisan je samo o početnom rezidualu r_{0}. Takodjer zbog (2.50) vrijedi da je ⟨e_{k}, d_{j}⟩_{A} = ⟨Ae_{k}, d_{j}⟩ = 0 za j < k čime smo dokazali napomenu koja je spomenuta prije teorema.

I kod ove metode nas interesira konvergencija, o čemu govori sljedeći teorem.

Teorem 2.4.2 ([20]). Metoda konjugiranih smjerova je m-koračna metoda (m ≤ n), u smislu da je u m-tom koraku aproksimacija x_{m} jednaka rješenju x = A^{−1}b.

Dokaz: Neka je m najmanji cijeli broj takav da se e_{0} = x − x_{0} nalazi u prostoru razapetom sa d_{0},…,d_{m−1}. Očito je m ≤ n, budući da su vektori d_{0},d_{1},… linearno nezavisni, pa ih maksimalno može biti n. Zatim, izaberimo skalare a_{0},…,a_{m−1} takve da je

e_{0} = a_{0}d_{0} + ⋯ + a_{m−1}d_{m−1}.

Odavde slijedi

x = x_{0} + a_{0}d_{0} + ⋯ + a_{m−1}d_{m−1}.

Nadalje,

r_{0} = b − Ax_{0} = A(x − x_{0}) = a_{0}Ad_{0} + ⋯ + a_{m−1}Ad_{m−1}.

Koristeći se činjenicom da su smjerovi traženja d_{i} medjusobno konjugirani i jednakošću (2.52) iz Teorema 2.4.1, računanjem skalarnog produkta ⟨r_{0}, d_{i}⟩ dobivamo

⟨r_{0}, d_{i}⟩ = a_{i}⟨Ad_{i}, d_{i}⟩

odnosno

a_{i} = \frac{⟨r_{0}, d_{i}⟩}{⟨Ad_{i}, d_{i}⟩} = α_{i}.

Budući da je, primjenom indukcije na (2.47)

x_{m} = x_{0} + α_{0}d_{0} + ⋯ + α_{m−1}d_{m−1},

možemo zaključiti da tvrdnja x = x_{m} vrijedi.

Kao i kod Orthomin(2a) skup A-ortogonalnih smjerova {d_{i}} možemo dobiti uz pomoć Gramm–Schmidtove metode A-ortogonalizacije na niz linearno nezavisnih vektora u_{0},…,u_{n−1} sa skalrnim produktom ⟨·, ·⟩_{A}. Dakle u (2.26) koeficijenti su oblika

β_{ki} = −\frac{⟨Au_{k}, d_{i}⟩}{⟨Ad_{i}, d_{i}⟩}.  (2.53)

2.4.3 Metoda konjugiranih gradijenata (CG)

Metoda konjugiranih smjerova (CG) je, zapravo, metoda konjugiranih smjerova kod koje se smjerovi traganja konstruiraju primjenom Gram–Schmidtove metode A-ortogonalnosti na reziduale, tj. uzima se da je u_{i} = r_{i}. Činjenica da su vektori r_{i} dobiveni metodom konjugiranih smjerova linearno nezavisni, može se provjeriti uz pomoć (2.50) i (2.51). Ponovo vrijedi

span{d_{0}, d_{1}, …, d_{k−1}} = span{r_{0}, r_{1}, …, r_{k−1}},

i budući da je r_{k} ortogonalan na prethodne smjerove traganja zbog (2.50), on je onda zbog prethodne tvrdnje, ortogonalan i na prethodne reziduale, odnosno vrijedi

⟨r_{i}, r_{j}⟩ = 0,  i ≠ j.  (2.54)

Promatramo sljedeći skalarni produkt

⟨r_{k}, r_{i+1}⟩ = ⟨r_{k}, r_{i}⟩ − ᾱ_{i}⟨r_{k}, Ad_{i}⟩,

pa odavde vrijedi

⟨Ar_{k}, d_{i}⟩ = \frac{1}{ᾱ_{i}} (⟨r_{k}, r_{i}⟩ − ⟨r_{k}, r_{i+1}⟩).  (2.55)

Za i < k − 1 lijeva strana u (2.55) je jednaka 0, pa su β_{ki} = 0 za i = 0, 1, …, k − 2, a za β_{k} = β_{k,k−1} vrijedi

β_{k} = \frac{⟨r_{k}, r_{k}⟩}{⟨d_{k−1}, r_{k−1}⟩} =  zbog (2.48),
= \frac{⟨r_{k}, r_{k}⟩}{⟨r_{k−1}, r_{k−1}⟩},  zbog (2.50) i (2.26).  (2.56)

Zbog (2.48), (2.50) i (2.26) možemo i α_{k} napisati u ljepšem obliku

α_{k} = \frac{⟨r_{k}, r_{k}⟩}{⟨Ad_{k}, d_{k}⟩},  (2.57)

odakle se vidi, da ukoliko nismo našli egzaktno rješenje u k-tom koraku, α_{k} je pozitivan.

Sada smo u potpunosti definirali metodu konjugiranih gradijenata čiji algoritam onda izgleda ovako Algoritam 2.4.3. Konjugirani gradijenti

Dana je početna iteracija x_{0},

d_{0} = r_{0} = b − Ax_{0}.

Za k = 1, 2, …

izračunaj Ad_{k−1},

α_{k−1} = \frac{⟨r_{k−1}, r_{k−1}⟩}{⟨Ad_{k−1}, d_{k−1}⟩},

x_{k} = x_{k−1} + α_{k−1}d_{k−1},

r_{k} = r_{k−1} − α_{k−1}Ad_{k−1},

β_{k} = \frac{⟨r_{k}, r_{k}⟩}{⟨r_{k−1}, r_{k−1}⟩},

d_{k} = r_{k} + β_{k}d_{k−1}.

Navedimo još nekoliko svojstava, koja su vezana uz metodu konjugiranih gradijenata.

Teorem 2.4.4 ([12]). Greška e_{k} dobivena u k-tom koraku metode konjugiranih gradijenata ima najmanju A-normu na prostoru

e_{0} + span{Ae_{0}, A^{2}e_{0}, …, A^{k}e_{0}}.  (2.58)

Dokaz: Ako gledamo kako su definirani vektori e_{k} i d_{k} u ovoj metodi, tada možemo zaključiti sljedeće: d_{0} = r_{0} = Ae_{0}, pa je e_{1} = e_{0} − α_{0}r_{0} = e_{0} − α_{0}Ae_{0}. Pretpostavimo da vrijedi da je e_{k} ∈ span{e_{0}, Ae_{0}, …, A^{k}e_{0}} i d_{k−1} ∈ span{Ae_{0}, A^{2}e_{0}, …, A^{k}e_{0}}, tada za e_{k+1} imamo

e_{k+1} = e_{k} − α_{k}d_{k} = e_{k} − α_{k}β_{k}d_{k−1} − α_{k}Ae_{k} ∈ span{e_{0}, …, A^{k+1}e_{0}}.

Matematičkom indukcijom možemo zaključiti da je koeficijent uz e_{0} uvijek jednak 1, odnosno

e_{k+1} ∈ e_{0} + span{Ae_{0}, A^{2}e_{0}, …, A^{k+1}e_{0}}  (2.59)

i zbog d_{k} = Ae_{k} − β_{k}d_{k−1}

d_{k} ∈ span{Ae_{0}, A^{2}e_{0}, …, A^{k+1}e_{0}}.  (2.60)

Iz (2.60) slijedi da je span{d_{0}, d_{1}, …, d_{k}} = span{Ae_{0}, …, A^{k+1}e_{0}}, a kako je zbog (2.50) e_{k+1} A-ortogonalan na span{d_{0}, d_{1}, …, d_{k}}, onda slijedi da je e_{k+1} vektor u prostoru (2.59) sa najmanjom A-normom. Za k = n − 1 zbog linearne nezavisnosti vektora {d_{0}, …, d_{n−1}} slijedi da je e_{n} = 0.

U sljedećem teoremu promatramo promjenu euklidske norme greške, koja za metodu konjugiranih gradijenata ima dobra svojstva, u smislu da niz normi vektora greški predstavlja nerastući niz.

Teorem 2.4.5 ([20]). U svakom koraku CG algoritma, duljina vektora greške e_{k} = x − x_{k} se reducira, pri čemu je A^{−1}b = x = x_{m}, za neki m ≤ n.

Dokaz: Najprije dokažimo nekoliko činjenica koje će nam trebati u dokazu. Vrijedi:

⟨d_{i}, d_{j}⟩ = \frac{⟨d_{i}, d_{i}⟩}{⟨r_{i}, r_{i}⟩}⟨r_{j}, r_{j}⟩  (i ≤ j).  (2.61)

Da bismo to pokazali, dokažimo prvo jednu jednakost, koja glasi:

d_{k} = ⟨r_{k}, r_{k}⟩ ∑_{j=0}^{k} \frac{r_{j}}{⟨r_{j}, r_{j}⟩}  k = 0, 1, 2, …  (2.62)

Indukcijom iz jednakosti d_{k} = r_{k} + β_{k}d_{k−1} dobijemo da je

d_{k} = r_{k} + β_{k}r_{k−1} + β_{k}β_{k−1}r_{k−2} + ⋯ + β_{k}β_{k−1} ⋯ β_{1}r_{0}.

Uvrštavanjem vrijednosti za β_{i} iz (2.56) u prethodnu jednakost, i uz neophodna kračenja imamo

d_{k} = r_{k} + \frac{⟨r_{k}, r_{k}⟩}{⟨r_{k−1}, r_{k−1}⟩}r_{k−1} + \frac{⟨r_{k}, r_{k}⟩}{⟨r_{k−2}, r_{k−2}⟩}r_{k−2} + ⋯ + \frac{⟨r_{k}, r_{k}⟩}{⟨r_{0}, r_{0}⟩}r_{0}.

Ako d_{i} i d_{j}, za i ≤ j, raspišemo kao u (2.62) i uz korištenje (2.54) dobivamo

⟨d_{i}, d_{j}⟩ = ⟨r_{i}, r_{i}⟩⟨r_{j}, r_{j}⟩ ∑_{l=0}^{i} \frac{1}{⟨r_{l}, r_{l}⟩}

pa za i = j imamo

⟨d_{i}, d_{i}⟩ = ⟨r_{i}, r_{i}⟩^{2} ∑_{l=0}^{i} \frac{1}{⟨r_{l}, r_{l}⟩}.

Prema tome je

⟨d_{i}, d_{j}⟩ = \frac{⟨r_{j}, r_{j}⟩}{⟨r_{i}, r_{i}⟩}⟨r_{i}, r_{i}⟩^{2} ∑_{k=0}^{i} \frac{1}{⟨r_{k}, r_{k}⟩} = \frac{⟨r_{j}, r_{j}⟩}{⟨r_{i}, r_{i}⟩}⟨d_{i}, d_{i}⟩.

Time je jednakost (2.61) dokazana. Induktivnom primjenom jednakosti x_{k} = x_{k−1} + α_{k−1}d_{k−1} imamo i

x_{k} = x_{0} + ∑_{j=0}^{k−1} α_{j}d_{j}.

Promotrimo sada sljedeće:

⟨e_{k−1}, e_{k−1}⟩ − ⟨e_{k}, e_{k}⟩ =
= ⟨e_{k−1} − e_{k}, e_{k−1}⟩ + ⟨e_{k}, e_{k−1} − e_{k}⟩ =
= ⟨x_{k} − x_{k−1}, e_{k−1}⟩ + ⟨e_{k}, x_{k} − x_{k−1}⟩ =
= α_{k−1}⟨d_{k−1}, x_{n} − x_{k−1}⟩ + α_{k−1}⟨x_{n} − x_{k}, d_{k−1}⟩ =
= α_{k−1}(α_{k−1}⟨d_{k−1}, d_{k−1}⟩ + 2α_{k}⟨d_{k}, d_{k−1}⟩ + ⋯ + 2α_{m−1}⟨d_{m−1}d_{k−1}⟩) =
= \frac{∥d_{k−1}∥_{2}^{2}}{∥r_{k−1}∥_{2}^{2}} (α_{k−1}∥r_{k−1}∥_{2}^{2} + 2α_{k}∥r_{k}∥_{2}^{2} + ⋯ + 2α_{m−1}∥r_{m−1}∥_{2}^{2})

pri čemu je ovaj zadnji izraz veći od nule ukoliko do k-tog koraka nismo došli do rješenja.

2.4.4 Analiza greške i konvergencija metode konjugiranih gradijenata

Isto kao i kod Orthomin(2) metode, zbog relacije (2.59), greška u k-tom koraku metode ima oblik

e_{k} = e_{0} + ∑_{i=1}^{k} ψ_{i}A^{i}e_{0} = (I + ∑_{i=1}^{k} ψ_{i}A^{i}) e_{0}.

Koeficijenti ψ_{i} su u linearnoj vezi sa koeficijentima α_{i} i β_{i}, a metoda konjugiranih gradijenata bira ψ_{j} takve da oni minimiziraju ∥e_{k}∥_{A}. Tada, izraz za grešku možemo izraziti kao

e_{k} = p_{k}(A)e_{0},  (2.63)

gdje je p_{k} polinom k-tog stupnja kod kojeg zahtijevamo da je p_{k}(0) = 1.

Kako je matrica A hermitska i pozitivno definitna, tada matricu možemo zapisati kao produkt matrica A = UΛU^{∗}, pri čemu su za Λ = diag(λ_{1}, …, λ_{n}), λ_{1}, …, λ_{n} svojstvene vrijednosti od A i U^{∗}U = UU^{∗} = I. A^{1/2} je hermitski drugi korijen od A i vrijedi A^{1/2} = UΛ^{1/2}U^{∗}, pa komutira sa A. Zbog toga slijedi

∥e_{k}∥_{A} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(A)e_{0}∥_{A} =
= min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥A^{1/2}p_{k}(A)e_{0}∥_{2} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥Up_{k}(Λ)U^{T} A^{1/2}e_{0}∥_{2} ≤
≤ min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(Λ)∥_{2}∥e_{0}∥_{A} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1} max_{i=1,...,n} |p_{k}(λ_{i})|∥e_{0}∥_{A}. (2.64)

Daljnje opservacije vezane uz polinome i svojstvene vrijednosti su analogne onima kod Orthomin(2) metode. Sve svojstvene vrijednosti od A smještene su u segmentu [λ_{min}, λ_{max}], pri čemu je λ_{min} > 0 najmanja, a λ_{max} > 0 najveća svojstvena vrijednost.

Budući da je desna strana nejednakosti (2.64) manja ili jednaka minimizaciji pa maksimizaciji po cijelom intervalu [λ_{min}, λ_{max}], jednostavniji pristup je minimizacija po tom segmentu nego po konačnom broju točaka. Polinomi s kojima se to postiže ponovo su bazirani na Čebiševljevim polinomima. U ovom slučaju, polinom k-tog stupnja koji ima vrijednost 1 u ishodištu, i ima minimalnu ∞-normu na [λ_{min}, λ_{max}] je dan sa

p_{k}(λ) = \frac{T_{k} (\frac{λ_{max}+λ_{min}−2λ}{λ_{max}−λ_{min}})}{T_{k} (\frac{λ_{max}+λ_{min}}{λ_{max}−λ_{min}} )}.  (2.65)

Argument brojnika je takav da segment [λ_{min}, λ_{max}] prebacuje u segment [−1, 1]. Slijedi da za z ∈ [λ_{min}, λ_{max}] apsolutna vrijednost brojnika iz (2.65) je ograničena sa 1. Nazivnik je odreden tako da zadovolji svojstvo p_{k}(0) = 1. Znači, imamo sljedeće

∥e_{k}∥_{A} ≤ T_{k} (\frac{λ_{max} + λ_{min}}{λ_{max} − λ_{min}} )^{−1} ∥e_{0}∥_{A} = T_{k} (\frac{κ(A) + 1}{κ(A) − 1})^{−1} ∥e_{0}∥_{A},

i nakon što izračunamo vrijednost Čebiševljevog polinoma, dobivamo

∥e_{k}∥_{A} ≤ 2 [(\frac{\sqrt{κ(A)} + 1}{\sqrt{κ(A)} − 1})^{k} + (\frac{\sqrt{κ(A)} − 1}{\sqrt{κ(A)} + 1})^{k}]^{−1} ∥e_{0}∥_{A}  (2.66)

odnosno

∥e_{k}∥_{A} ≤ 2 (\frac{\sqrt{κ(A)} − 1}{\sqrt{κ(A)} + 1})^{k} ∥e_{0}∥_{A}.  (2.67)

pri čemu je κ(A) = λ_{max}/λ_{min} broj uvjetovanosti matrice A.

2.4.5 Prekondicionirana CG metoda

Kao i kod Orthomin(2) metode kada rješavamo hermitski sustav, želimo da se to svojstvio zadrži i nakon prekondicioniranja. Zato ponovo biramo matricu prekondicioniranja M koja je hermitska. Ako matricu M faktoriziramo kao M = LL^{∗}, tada algoritam možemo primijeniti na sustav

L^{−1}AL^{−∗}x̂ = L^{−1}b,  (2.68)

koji i dalje ostaje hermitski, a svojstvene vrijednosti matrice L^{−1}AL^{−∗} su iste kao i kod M^{−1}A. Matricu M takoder biramo i uz kriterij da L^{−1}AL^{−∗} ima što manju uvjetovanost. Ako sada označimo sve veličine vezane uz prekondicionirani sustav (2.68) saˆ , a veličine vezane uz početni sustav Ax = b sa standardnim oznakama, tada uz pomoć relacija

x_{k} = L^{−∗}x̂_{k}, r_{k} = Lr̂_{k},
d_{k} = L^{−∗}d̂_{k},

CG metodu primijenjenu na sustav (2.68) možemo transformirati u algoritam, koji ne ovisi o faktorizaciji matrice prekondicioniranja M.

Algoritam 2.4.6. Hermitski prekondicionirani konjugirani gradijenti

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

riješi Mp_{0} = r_{0},

d_{0} = p_{0}.

Za k = 1, 2, …

izračunaj Ad_{k−1},

α_{k−1} = \frac{⟨r_{k−1}, p_{k−1}⟩}{⟨Ad_{k−1}, d_{k−1}⟩},

x_{k} = x_{k−1} + α_{k−1}d_{k−1},

r_{k} = r_{k−1} − α_{k−1}Ad_{k−1},

riješi Mp_{k} = r_{k},

β_{k} = \frac{⟨r_{k}, p_{k}⟩}{⟨r_{k−1}, p_{k−1}⟩},

d_{k} = p_{k} + β_{k}d_{k−1}.

2.5 GMRES

2.5.1 Razvoj i implementacija GMRES metode

GMRES metoda (Generalized minimal residual algorithm) ili generalizirani algoritam minimalnog reziduala koristi modificirani Gram–Schmidtov postupak kako bi konstru-

irao  ortonormiranu  bazu  za  niz  Krylovljevih  potprostora

span{r_{0}, Ar_{0}, …, A^{k}r_{0}}. Kada se modificirani Gram–Schmidtov postupak primijeni na ovakav prostor naziva se Arnoldijeva metoda.

Algoritam 2.5.1. Arnoldijev algoritam

Dan je vektor q_{1} sa ∥q_{1}∥_{2} = 1.
Za j = 1, 2, …, n − 1

q̃_{j+1} = Aq_{j}.

Za i = 1, …, j

h_{i,j} = ⟨q̃_{j+1}, q_{i}⟩,
q̃_{j+1} := q̃_{j+1} − h_{i,j}q_{i}.

h_{j+1,j} = ∥q̃_{j+1}∥_{2},

q_{j+1} = \frac{q̃_{j+1}}{h_{j+1,j}} .

Ako je Q_{k} n × k matrica čije stupce čine vektori ortonormirane baze q_{1},…,q_{k}, tada se Arnoldijeva iteracija može napisati u matričnom obliku

AQ_{k} = Q_{k}H_{k} + h_{k+1,k}q_{k+1}ξ_{k}^{T} = Q_{k+1}H_{k+1,k}.  (2.69)

Ovdje je H_{k} k × k gornja Hessenbergova matrica kojoj je (i, j)-ti element jednak h_{i,j} za j = 1,…,k, i = 1,…,min{j + 1, k}, a svi ostali elementi su jednaki nuli. Vektor ξ_{k} je k-ti jedinični vektor [0 … 0 1]^{T}. (k + 1) × k matrica H_{k+1,k} je matrica kojoj je gornji k × k blok jednak H_{k}, a zadnji redak jednak nuli, osim na poziciji (k + 1, k), na kojoj je element jednak h_{k+1,k}. Rekurzivna definicija za matricu vektora ortonormirane baze (k+1)-dimenzionalnog Krylovljevog potprostora Q_{k+1} može se u matričnom obliku napisati kao

[q_{1} AQ_{k}] = Q_{k+1}R_{k+1},

pri čemu je R_{k+1} (k + 1) × (k + 1) gornje trokutasta matrica

R_{k+1} = [ξ_{1} H_{k+1,k}],

a ξ_{1} = [1, 0, …, 0]^{T}. Prema tome Arnoldijev algoritam od prvog do (k + 1)-og koraka možemo smatrati rekurzivnom QR faktorizacijom matrice [q_{1} AQ_{k}].

U GMRES metodi, aproksimacija rješenja u k-tom koraku tada ima oblik x_{k} = x_{0} + Q_{k}y_{k} za neki k-dimenzionalni vektor y_{k}, tj. x_{k} se dobiva tako da se početnoj aproksimaciji x_{0} doda neka linearna kombinacija vektora ortonormirane baze Krylovljevog potprostora. Da bi dobili aproksimaciju za koju r_{k} = r_{0} − AQ_{k}y_{k} ima minimalnu euklidsku normu, vektor y_{k} mora biti rješenje problema najmanjih kvadrata

min_{y∈ℂ^{k}} ∥r_{0} − AQ_{k}y∥_{2} = min_{y∈ℂ^{k}} ∥r_{0} − Q_{k+1}H_{k+1,k}y∥_{2} =

= min_{y∈ℂ^{k}} ∥Q_{k+1}(βξ_{1} − H_{k+1,k}y)∥_{2} = min_{y∈ℂ^{k}} ∥βξ_{1} − H_{k+1,k}y∥_{2},  (2.70)

gdje je β = ∥r_{0}∥_{2}, ξ_{1} prvi jedinični (k + 1)-dimenzionalni vektor [1 0 … 0]^{T}. Druga jednakost je ostvarena uz korištenje činjenice da je Q_{k+1}ξ_{1} prvi vektor ortonormirane baze koji je jednak r_{0}/β.

Glavni koraci GMRES algoritma su sljedeći:

• Dana je početna iteracija x_{0}, izračunaj r_{0} = b − Ax_{0} i q_{1} = r_{0}/∥r_{0}∥_{2}.

• Za k=1,2,…

• Izračunaj q_{k+1} i h_{i,k}, i = 1, …, k + 1 pomoću Arnoldijevog algoritma.

• Nadi x_{k} = x_{0} + Q_{k}y_{k}, gdje je y_{k} rješenje problema najmanjih kvadrata min_{y} ∥βξ_{1} − H_{k+1,k}y∥_{2}.

Standardna metoda za rješavanje problema najmanjih kvadrata (2.70) je faktoriziranje (k + 1) × k matrice H_{k+1,k} na produkt (k + 1) × (k + 1) unitarne matrice F^{(k)∗} i (k + 1) × k gornje trokutaste matrice R^{(k)}. Gornji k × k blok matrice R^{(k)} je gornje trokutasti, a zadnji redak je jednak nul-vektoru. Ta faktorizacija, a ponovo se radi o QR faktorizaciji, može se ostvariti upotrebom Givensovih rotacija ili Hauseholderovih refleksija. Budući da je

∥βξ_{1} − H_{k+1,k}y∥_{2} = ∥F^{(k)∗}(βF^{(k)}ξ_{1} − R^{(k)}y)∥_{2} = ∥βF^{(k)}ξ_{1} − R^{(k)}y∥_{2},

i da je (k + 1)-a koordinata vektora R^{(k)}y jednaka nuli, rješenje y_{k} se tada može dobiti rješavanjem gornje trokutastog sustava

R_{k×k}^{(k)}y = β(F^{(k)}ξ_{1})_{k×1},  (2.71)

gdje je R_{k×k}^{(k)} gornji k ×k blok od R^{(k)}, a (F^{(k)}ξ_{1})_{k×1} je dio od k gornjih elemenata prvog stupca od F^{(k)}.

Važno je primijetiti da je u tom slučaju apsolutna vrijednost zadnjeg elementa (k+1)- dimenzionalnog vektora βF^{(k)}ξ_{1} jednaka euklidskoj normi reziduala u k-tom koraku GMRES metode jer

∥b − Ax_{k}∥_{2} = ∥βF^{(k)}ξ_{1} − R^{(k)}y_{k}∥_{2},

a βF^{(k)}ξ_{1} − R^{(k)}y_{k} je jednak nuli u svim komponentama osim u zadnjoj, (k + 1)-oj, koja je jednaka zadnjem elementu od βF^{(k)}ξ_{1}.

Promatrat ćemo sada slučaj kada se QR faktorizacija ostvaruje pomoću Givensovih rotacija. Ako nam je dana QR faktorizacija matrice H_{k+1,k}, tada nam je namjera da izračunamo QR faktorizaciju sljedeće matrice H_{k+2,k+1} sa što manje utrošenog posla. Da bi to postigli najprije označimo sa F_{i} matricu rotacije koja rotira ravninu razapetu sa jediničnim vektorima ξ_{i} i ξ_{i+1} za kut θ_{i}:

F_{i} = [ \begin{matrix}I \\ & c_{i} & s_{i} \\ & −s̄_{i} & c_{i} \\ & & & I \end{matrix} ] ,

gdje je c_{i} = cos(θ_{i}) i s_{i} = sin(θ_{i}). Dimenzija matrice F_{i} kao i dimenzija drugog identičnog bloka ovisi o kontekstu u kojem se koristi. Pretpostavimo da su rotacije F_{i}, i = 1, …, k prethodno bile upotrebljene na matrici H_{k+1,k} tako da je

(F_{k}F_{k−1} ⋯ F_{1})H_{k+1,k} = R^{(k)} = [ \begin{matrix}x & x & … & x \\ & x & … & x \\ & & ... & ⋮ \\ & & & x \\ 0 & 0 & … & 0 \end{matrix} ] ,

gdje x-evi označavaju netrivijalne elemente. Tada je F^{(k)} = F_{k}F_{k−1} ⋯ F_{1}. Da bismo dobili matricu R^{(k+1)}, odnosno gornje trokutasti faktor od H_{k+2,k+1}, prvo trebamo izmnožiti zadnji stupac od H_{k+2,k+1} sa prethodnim rotacijama jer, kao što smo već prije napomenuli, Arnoldijev algoritam možemo smatrati rekurzivnom QR faktorizacijom matrice [q_{1} AQ_{k}] kojoj broj stupaca raste u svakom koraku algoritma. Ako smo izračunali QR faktorizaciju za takvu matricu u k-tom koraku, tada u (k + 1)-om koraku moramo izračunati QR faktorizaciju matrice koja je jednaka prethodnoj matrici ali ima još jedan dodatan stupac. Trokutasti faktor matrice u (k + 1)-om koraku je zbog toga jednak trokutastom faktoru matrice iz k-tog koraka, samo kojemu je takoder dodan još jedan stupac, pa zato je dovoljno obraditi samo novi, (k + 1)-i stupac matrice H_{k+2,k+1}. Time dobivamo

(F_{k}F_{k−1} ⋯ F_{1})H_{k+2,k+1} = [ \begin{matrix}x & x & … & x & x \\ & x & … & x & x \\ & & ... & ⋮ & ⋮ \\ & & & x & x \\ 0 & 0 & … & 0 & d \\ 0 & 0 & … & 0 & h \end{matrix} ] ,

gdje je (k + 2, k + 1)-i element h upravo h_{k+2,k+1} budući da na taj element ne utječu prethodne rotacije. Sljedeća rotacija F_{k+1} se bira tako da eliminira taj element, odnosno da vrijedi −s̄_{k+1}d + c_{k+1}h = 0, a to možemo postići ako stavimo da je

c_{k+1} = \frac{|d|}{\sqrt{|d|^{2} + |h|^{2}}} , s̄_{k+1} = \frac{c_{k+1}h}{d}, za d ≠ 0, h ≠ 0,

c_{k+1} = 0, s_{k+1} = 1, za d = 0,
(c_{k+1} = 1, s_{k+1} = 0, za h = 0).

Primijetimo da ako je h = 0, tada je egzaktno rješenje linearnog sustava dostignuto u (k+1)-om koraku. Naime, u tom slučaju je F_{k+1} = I, pa su prvih k+1 komponenti (k+ 2)-dimenzionalnog vektora βF^{(k+1)}ξ_{1} jednake (k + 1)-dimenzionalnom vektoru βF^{(k)}ξ_{1} iz prethodnog koraka, a zadnja, (k +2)-a komponenta je ostala nepromijenjena, odnosno jednaka nuli. Budući da je apsolutna vrijednost te zadnje komponente jednaka euklidskoj normi reziduala u tom koraku GMRES metode, zaključujemo da je r_{k+1} = 0, i rješenje je dostignuto u (k + 1)-om koraku. Prema tome, ako egzaktno rješenje još nije izračunato, tada je h ≠ 0, i (k + 1)-ti dijagonalni element od R^{(k+1)} je različit od nule. Za d ≠ 0 taj dijagonalni element je jednak

c_{k+1}d + s_{k+1}h = \frac{d}{|d|}\sqrt{|d|^{2} + |h|^{2}},

dok za d = 0 on je jednak h.

GMRES algoritam može se napisati u sljedećem obliku.

Algoritam 2.5.2. GMRES

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

β = ∥r_{0}∥_{2},

q_{1} = \frac{r_{0}}{β} ,

l = (1, 0, …, 0)^{T} .

Za k = 1, 2, …

Izračunaj q_{k+1} i h_{i,k} = H(i, k) za i = 1, …, k + 1, koristeći Arnoldijev algoritam.

Primijeni F_{1}, …, F_{k−1} na zadnji stupac od H, odnosno:

Za i = 1, …, k − 1

[ \begin{matrix}H(i, k) \\ H(i + 1, k) \end{matrix} ] := [ \begin{matrix}c_{i} & s_{i} \\ −s̄_{i} & c_{i} \end{matrix} ] [ \begin{matrix}H(i, k) \\ H(i + 1, k) \end{matrix} ] .

Izračunaj k-tu Givensovu rotaciju F_{k} kako bi se poništio (k+1, k) element od H:

c_{k} = \frac{|H(k, k)|}{\sqrt{|H(k, k)|^{2} + |H(k + 1, k)|^{2}}} ,

ako je c_{k} ≠ 0 tada s_{k} = c_{k} \frac{\overline{H(k + 1, k)}}{\overline{H(k, k)}}, ako je c_{k} = 0 tada s_{k} = 1.

Primijeni k-tu rotaciju na l i na zadnji stupac od H:

[ \begin{matrix}l(k) \\ l(k + 1) \end{matrix} ] := [ \begin{matrix}c_{k} & s_{k} \\ −s̄_{k} & c_{k} \end{matrix} ] [ \begin{matrix}l(k) \\ 0 \end{matrix} ] ,

H(k, k) := c_{k}H(k, k) + s_{k}H(k + 1, k),

H(k + 1, k) = 0.

Ako je ocjena norme reziduala β|l(k + 1)| dovoljno mala, tada:

Riješi gornje trokutasti sustav H_{k×k}y_{k} = βl_{k×1}.

Izračunaj x_{k} = x_{0} + Q_{k}y_{k}.

Potpun GMRES algoritam može biti nepraktičan zbog velikog zahtjeva za memorijom i za brojem operacija, ako je broj iteracija, koje su potrebne za rješavanje sustava, velik. GMRES(j) algoritam se definira tako da restartamo GMRES svakih j koraka, koristeći zadnju iteraciju kao početnu za sljedeći GMRES ciklus. Poznati problem sa GMRES-om sa restartom je taj što on može stagnirati. Naime može se dogoditi da pri restartanju ponovno pretražujemo smjerove koje smo već u prethodnom ciklusu pretraživali.

2.5.2 Svojstva GMRES metode

Iz same implementacije metode vidljiva su sljedeća svojstva GMRES metode.

Teorem 2.5.3 ([32]). Neka su F_{i}, i = 1, …, k matrice rotacija koje su korištene za svodenje matrice H_{k+1,k} na trokutasti oblik, te R^{(k)} = F^{(k)}H_{k+1,k} i g^{(k)} = βF^{(k)}ξ_{1} matrica i desna strana sustava dobivenog tokom rješavanja GMRES metodom. Označimo sa R_{k} k × k gornje trokutastu matricu dobivenu iz R^{(k)} brisanjem zadnjeg retka, i sa g_{k} k-dimenzionalan vektor dobiven iz g^{(k)} brisanjem zadnje komponente. Tada,

(i) Rang od AQ_{k} je jednak rangu od R_{k}. Posebno, ako je (R_{k})_{k,k} = 0 tada A mora biti singularna.

(ii) Vektor y_{k} koji minimizira ∥βξ_{1} − H_{k+1,k}y∥_{2} dan je sa

y_{k} = R_{k}^{−1}g_{k}.

(iii) Rezidual u k-tom koraku zadovoljava

r_{k} = b − Ax_{k} = Q_{k+1}(βξ_{1} − H_{k+1,k}y_{k}) = Q_{k+1}F^{(k)∗}((g^{(k)})_{k+1}ξ_{k+1})  (2.72)

i, kao rezultat

∥r_{k}∥_{2} = ∥b − Ax_{k}∥_{2} = |(g^{(k)})_{k+1}|.  (2.73)

Dokaz: (i) Iz (2.69) dobivamo jednakost

AQ_{k} = Q_{k+1}H_{k+1,k} = Q_{k+1}F^{(k)∗}F^{(k)}H_{k+1,k} = Q_{k+1}F^{(k)∗}R^{(k)}.

Budući da je Q_{k+1}F^{(k)∗} unitarna, rang od AQ_{k} je jednak rangu od R^{(k)}, koji je opet jednak rangu od R_{k}, budući da se te dvije matrice razlikuju samo za zadnji nul–redak od R^{(k)}. Ako je pak (R_{k})_{k,k} = 0 tada je rang od R_{k} manji ili jednak k − 1, a kao rezultat je i rang od AQ_{k} manji ili jednak k − 1. Kako je Q_{k} punog ranga, to znači da je A singularna.

(ii) To je već uglavnom pokazano kod implementacije. Za svaki vektor y imamo

∥βξ_{1} − H_{k+1,k}y∥_{2}^{2} = ∥F^{(k)}(βξ_{1} − H_{k+1,k}y)∥_{2}^{2} = ∥g^{(k)} − R^{(k)}y∥_{2}^{2} =
= |(g^{(k)})_{k+1}|^{2} + ∥g_{k} − R_{k}y∥_{2}^{2}  (2.74)

Minimum lijeve strane se postiže kad je drugi izraz desne strane od (2.74) jednak nuli. Ako smo krenuli od regularne matrice A tada je i R_{k} regularna, pa se to postiže kada je y = R_{k}^{−1}g_{k}.

(iii) Za bilo koji x = x_{0} + Q_{k}y vrijedi

b − Ax = Q_{k+1}(βξ_{1} − H_{k+1,k}y) = Q_{k+1}F^{(k)∗}F^{(k)}(βξ_{1} − H_{k+1,k}y) =
= Q_{k+1}F^{(k)∗}(g^{(k)} − R^{(k)}y).

Kao što smo vidjeli u dokazu (ii), euklidska norma od g^{(k)} − R^{(k)}y postiže svoj minimum kada y poništi sve komponente od g^{(k)} osim zadnje, koja je jednaka (g^{(k)})_{k+1}. Kako je zadnji redak od R^{(k)} jednak nul-retku, to znači da je i zadnja komponenta od R^{(k)}y jednaka nuli, pa kao rezultat dobivamo

b − Ax_{k} = Q_{k+1}F^{(k)∗}((g^{(k)})_{k+1}ξ_{k+1})

što dokazuje (2.72). Jednakost (2.73) slijedi iz ortonormiranosti stupaca matrice Q_{k+1}F^{(k)∗}.

Primijetimo da, kada vektor βξ_{1} izmnožimo redom sa F_{1}, F_{2}, …, F_{k−1}, zadnja komponenta tako dobivenog vektora g^{(k,k−1)} ostaje nepromijenjena, odnosno jednaka nuli. To znači da je on oblika g^{(k,k−1)} = [γ_{1} γ_{2} … γ_{k} 0]^{T}. U zadnjem koraku, kada taj vektor na kraju još pomnožimo i sa F_{k}, dobivamo da je g^{(k)} = [γ_{1} γ_{2} … c_{k}γ_{k} −s_{k}γ_{k}], odnosno dobivamo korisnu jednakost za (g^{(k)})_{k+1} koji se pojavljuje u izrazu za rezidual u k-tom koraku:

(g^{(k)})_{k+1} = −s_{k}γ_{k}.  (2.75)

Posebno, ako je s_{k} = 0 tada norma reziduala mora biti jednaka nuli, što znači da je egzaktno rješenje dostignuto u k-tom koraku.

Ako proučimo Algoritam 2.5.2, tada vidimo da je jedini mogući slučaj kada k-ti korak neće biti izvediv, i kada će doći do prekida GMRES metode, je u Arnoldijevom algoritmu za q̃_{k+1} = 0, odnosno h_{k+1,k} = 0. U tom slučaju se algoritam zaustavlje jer se sljedeći Arnoldijev vektor neće moći generirati zbog dijeljenja s nulom. Ali, u tom slučaju, kao što smo već vidjeli, rezidual je jednak nuli, pa smo dostigli egzaktno rješenje u tom koraku. Obrat je takoder istinit: ako se algoritam zaustavi u k-tom koraku sa r_{k} = b − Ax_{k} = 0, tada je h_{k+1,k} = 0.

Teorem 2.5.4 ([32]). Neka je A regularna matrica. Tada se GMRES algoritam prekida u k-tom koraku (h_{k+1,k} = 0) ako i samo ako je aproksimacija x_{k} jednaka egzaktnom rješenju.

Dokaz: Nužnost smo već pokazali, ali promotrimo tu situaciju iz drugog ugla. Pretpostavimo da je h_{k+1,k} = 0, tada je s_{k} = 0. Zaista, ako definiramo h_{k,k}^{(k−1)} = (F_{k−1}F_{k−2} ⋯ F_{1}H_{k+1,k})_{k,k}, tada je zapravo množenje sa F_{k} suvišno, pa je već u (k − 1)-om koraku dobivena trokutasta forma za H_{k+1,k}, odnosno (R_{k})_{k,k} = h_{k,k}^{(k−1)}. Ako ipak krenemo računati F_{k} tada, budući da je A regularna, (R_{k})_{k,k} je različito od nule zbog Teorema

2.5.3 (i), pa iz formule s_{k} = sign(h_{k,k}^{(k−1)})h_{k+1,k}/\sqrt{|h_{k,k}^{(k−1)}|^{2} + |h_{k+1,k}|^{2}} dobijemo da je s_{k} definirano i jednako nuli. Tada iz jednakosti (2.73) i (2.75) dobivamo da je r_{k} = 0.

Da bi dokazali dovoljnost tvrdnje, pretpostavljamo da je r_{k} = 0 i ponovo koristimo (2.75). Budući da smo u k-tom koraku dostigli egzaktno rješenje, a ne u (k − 1)-tom, znači da je (g^{(k,k−1)})_{k} = γ_{k} različito od nule, pa onda mora biti s_{k} = 0. Ponovo iz gornje formule za s_{k} dobivamo da je h_{k+1,k} = 0.

Pogledajmo još samo kako zaista izgleda (k+1)-dimenzionalan vektor g^{(k)} = βF^{(k)}ξ_{1}. Jednostavno, indukcijom može se pokazati da vrijedi

g^{(k)} = [ c_{1} ; −s̄_{1}c_{2} ; s̄_{1}s̄_{2}c_{3} ; ⋮ ; (−1)^{k−1}s̄_{1} ⋯ s̄_{k−1}c_{k} ; (−1)^{k}s̄_{1} ⋯ s̄_{k−1}s̄_{k} ] ,

pa se prema (2.73) norma reziduala egzaktno može dobiti sa

∥r_{k}∥_{2} = β|s_{1}s_{2} ⋯ s_{k}|.  (2.76)

Prije nego što počnemo promatrati konvergenciju GMRES metode, zgodno bi bilo promotriti situacije kada ona stagnira. Naime iz minimizacijskog svojstva metode vidljivo je da norma reziduala neće rasti kako povećavamo broj iteracija, jer promatramo minimum na sve većem i većem skupu. Sljedeći teorem govori o tome kada se ta norma neće smanjivati.

Teorem 2.5.5 ([4]). Pretpostavimo da su izvršena k koraka Arnoldijevog algoritma, i da je matrica H_{k}, definirana u (2.69) kao AQ_{k} = Q_{k}H_{k} + h_{k+1,k}q_{k+1}ξ_{1}^{T}, singularna. Tada

min_{y∈ℂ^{k}} ∥βξ_{1} − H_{k+1,k}y∥_{2} = min_{y∈ℂ^{k−1}} ∥βξ_{1} − H_{k,k−1}y∥_{2}.  (2.77)

Ako sa y_{k} označimo rješenje lijeve strane od (2.77), a sa y_{k−1} rješenje desne strane, tada je y_{k} = [y_{k−1}^{T} 0]^{T}, odakle slijedi da je x_{k} = x_{k−1}. Obrnuto, pretpostavimo da je izvršeno k koraka Arnoldijevog algoritma i da vrijedi (2.77). Tada je H_{k} singularna.

Dokaz: Prvo primijetimo, da ako postoji mogućnost za izvodenjem k-tog koraka Arnoldijevog algoritma, tada mora biti h_{j+1,j} ≠ 0 za j = 1, …, k − 1. Inače bi se, prema Teoremu 2.5.4 Arnoldijev algoritam zaustavio u nekom ranijem koraku, dostižući egzaktno rješenje. U tom slučaju bi bilo h_{j+1,j} = 0, i AQ_{j} = Q_{j}H_{j}, što povlači da zbog toga što je AQ_{j} punog ranga, H_{j} mora biti regularna matrica. Dakle, ako pretpostavimo da je H_{k} singularna, tada mora biti h_{k+1,k} ≠ 0. Takoder, kada je matrica H_{k} singularna, dimenzija nul–potprostora (jezgre) je jednaka 1, zbog toga što je ona gornje Hessenbergova matrica koja na donjoj sporednoj dijagonali ima sve elemente različite od nule (h_{j+1,j} ≠ 0 za j = 1, …, k − 1), što znači da H_{k} u slici ima k − 1 linearno nezavisnih vektora.

Dalje promatramo QR faktorizaciju matrica H_{k+1,k} i H_{k,k−1}. Neka su

H_{k+1,k} = F^{(k)∗}R^{(k)} i H_{k,k−1} = F^{(k−1)∗}R^{(k−1)},

QR faktorizacije, kod kojih su

R^{(k)} = [ \begin{matrix}R_{k} \\ 0 \end{matrix} ] i R^{(k−1)} = [ \begin{matrix}R_{k−1} \\ 0 \end{matrix} ] .

Primijetimo da je

H_{k+1,k} = [ \begin{matrix}& h_{1,k} \\ H_{k,k−1} & ⋮ \\ & h_{k,k} \\ 0 ⋯ 0 & h_{k+1,k} \end{matrix} ] = [ \begin{matrix}H_{k,k−1} & h_{k} \\ 0 & h_{k+1,k} \end{matrix} ]

i H_{k} = [H_{k,k−1} h_{k}], za h_{k} = [h_{1,k} … h_{k,k}]^{T}. Budući da je H_{k} singularna, a da H_{k,k−1} zbog prije iznešene opservacije ima puni rang, slijedi da je zadnji stupac matrice H_{k}, kojeg smo označili sa h_{k}, linearna kombinacija prvih k − 1. Znači, postoji neki z ∈ ℂ^{k−1} takav da je h_{k} = H_{k,k−1}z. Zbog toga imamo

h_{k} = F^{(k−1)∗}R^{(k−1)}z = F^{(k−1)∗} [ \begin{matrix}R_{k−1}z \\ 0 \end{matrix} ] .  (2.78)

Nadalje, možemo napisati da je F^{(k)} = F_{k}F̃^{(k−1)}, gdje su

F_{k} = [ \begin{matrix}I_{k−1} \\ & c_{k} & s_{k} \\ & −s̄_{k} & c_{k} \end{matrix} ] i F̃^{(k−1)} = [ \begin{matrix}F^{(k−1)} & 0 \\ 0 & 1 \end{matrix} ] .

Zbog toga je

F_{k}F̃^{(k−1)}H_{k+1,k} = R^{(k)}

ili

F_{k} [ \begin{matrix}F^{(k−1)}H_{k,k−1} & F^{(k−1)}h_{k} \\ 0 & h_{k+1,k} \end{matrix} ] = R^{(k)}.  (2.79)

Iz (2.78) imamo da je F^{(k−1)}h_{k} = [(R_{k−1}z)^{T} 0]^{T}. Korištenjem ove jednakosti, uz činjenicu da je F^{(k−1)}H_{k,k−1} = R^{(k−1)}, dobivamo jednakost

F_{k} [ \begin{matrix}R^{(k−1)} & [ \begin{matrix}R_{k−1}z \\ 0 \end{matrix} ] \\ 0 ⋯ 0 & h_{k+1,k} \end{matrix} ] = R^{(k)}.

Zbog toga su c_{k} i s_{k} izabrani tako da

[ \begin{matrix}c_{k} & s_{k} \\ −s̄_{k} & c_{k} \end{matrix} ] [ \begin{matrix}0 \\ h_{k+1,k} \end{matrix} ] = [ \begin{matrix}±h_{k+1,k} \\ 0 \end{matrix} ] .

Vrijednosti c_{k} i s_{k} tada moraju zadovoljavati c_{k} = 0 i s_{k} = ±1. Sada iz (2.76) slijedi

∥r_{k}∥_{2} = ∥r_{0} − AQ_{k}y_{k}∥_{2} = β|s_{1} ⋯ s_{k−1}s_{k}| = β|s_{1} ⋯ s_{k−1}| =
= ∥r_{0} − AQ_{k−1}y_{k−1}∥_{2} = ∥r_{k−1}∥_{2}.

Zbog jedinstvenosti rješenja problema najmanjih kvadrata, (jer je R_{k} regularna) y_{k} je prema Teoremu 2.5.3 jedinstven, pa mora biti y_{k} = [y_{k−1}^{T} 0]^{T}. Time, takoder, ispada da je x_{k} = x_{0} + Q_{k−1}y_{k−1} = x_{k−1}.

Za obrat tvrdnje, pretpostavimo da je izvršeno k koraka Arnoldijevog algoritma, i pretpostavimo da vrijedi (2.77). Iz (2.76) slijedi da mora biti |s_{k}| = 1 i c_{k} = 0. Upotrebom jednakosti (2.79) možemo napisati

F_{k} [ \begin{matrix}R^{(k−1)} & F^{(k−1)}h_{k} \\ 0 & h_{k+1,k} \end{matrix} ] = R^{(k)}.

F_{k} je izabrana tako da R^{(k)} bude gornje trokutasta, sa zadnjim nul-retkom. Ali mi znamo da F_{k} ima oblik

F_{k} = [ \begin{matrix}I_{k−1} \\ & 0 & s_{k} \\ & −s̄_{k} & 0 \end{matrix} ] .

Odavde ispada da zadnja komponenta od k-dimenzionalnog vektora F^{(k−1)}h_{k} je jednaka 0, odnosno F^{(k−1)}h_{k} = [w^{T} 0]^{T} za neki (k − 1)-dimenzionalni vektor w. Ako je w = 0 tada je i h_{k} = 0 jer je F^{(k−1)} unitarna matrica, pa je H_{k} = [H_{k,k−1} h_{k}] singularna. Sada pretpostavimo da je w ≠ 0. Neka v = [s^{T} t], sa s ∈ ℂ^{k−1} i t ∈ ℂ. Tada imamo

H_{k}v = [H_{k,k−1} h_{k}]v = [F^{(k−1)∗}R^{(k−1)} h_{k}]v =
= F^{(k−1)∗}[R^{(k−1)} F^{(k−1)}h_{k}]v = F^{(k−1)∗}(R^{(k−1)}s + tF^{(k−1)}h_{k}).

Sada, zbog toga što je R^{(k−1)} = [R_{k}^{T} 0]^{T} imamo

H_{k}v = F^{(k−1)∗} [ \begin{matrix}R_{k−1}s + tw \\ 0 \end{matrix} ] .  (2.80)

Kako je R_{k} regularna, za bilo koji t postoji s takav da je desna strana u (2.80) jednaka nuli. Prema tome postoji vektor v za koji je H_{k}v = 0, pa je prema tome H_{k} singularna.

2.5.3 Analiza greške i konvergencija GMRES metode

GMRES algoritam primijenjen na općeniti linearni susutav daje u koraku k rezidual koji ponovo zadovoljava

∥r_{k}∥_{2} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(A)r_{0}∥_{2},  (2.81)

gdje se minimum uzima po svim polinomima p_{k} stupnja k ili manje uz svojstvo da je p_{k}(0) = 1. To se vidi iz sljedeće leme.

Lema 2.5.6 ([32]). Neka je x_{k} aproksimacija rješenja ostvarena u k-tom koraku GMR-ES algoritma, i neka je r_{k} = b − Ax_{k}. Tada postoji q_{k−1} ∈ ℙ_{k−1} takav da je x_{k} oblika

x_{k} = x_{0} + q_{k−1}(A)r_{0}

i

∥r_{k}∥_{2} = min_{q_{k−1}∈ℙ_{k−1}} ∥(I − Aq_{k−1}(A))r_{0}∥_{2}.

Dokaz: Iz definicije metode u k-tom koraku bira se aproksimacija rješenja x_{k} takva da za K_{k}(A, r_{0}) = span{r_{0}, Ar_{0}, …, A^{k−1}r_{0}} vrijedi

∥b − Ax_{k}∥_{2} = min_{x∈x_{0}+K_{k}(A,r_{0})} ∥b − Ax∥_{2},

jer je x_{k} oblika x_{k} = x_{0}+Q_{k}y_{k}, pri čemu stupci od Q_{k} čine bazu Krylovljevog potprostora K_{k}(A, r_{0}). Kako je svaki x ∈ x_{0} + K_{k}(A, r_{0}) oblika x = x_{0} + ∑_{j=0}^{k−1} α_{j}A^{j}r_{0}, tada možemo pisati

x = x_{0} + q_{k−1}(A)r_{0}, za q_{k−1} ∈ ℙ_{k−1}.

U tom slučaju je

r = b − Ax = b − Ax_{0} − Aq_{k−1}(A)r_{0} = (I − Aq_{k−1}(A))r_{0} = p_{k}(A)r_{0},

za p_{k} ∈ ℙ_{k}, sa p_{k}(0) = 1, što dokazuje tvrdnju leme.

Sljedeći teorem i korolar govore o konvergenciji GMRES metode, primijenjene na dijagonalizabilne matrice, pri čemu pod konvergencijom smatramo brzinu kojom se norma reziduala približava nuli. Isto tako nas interesiraju uvjeti pod kojima bi GMRES metoda mogla doći do rješenja i prije n-tog koraka.

Teorem 2.5.7 ([32]). Pretpostavimo da je A dijagonalizabilna matrica i neka je A = V ΛV^{−1} spektralna dekompozicija od A, gdje je Λ = diag(λ_{1}, …, λ_{n}) dijagonalna matrica svojstvenih vrijednosti, a stupci regularne matrice V su svojstveni vektori od A. Definirajmo,

ϵ_{k} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1} max_{i=1,...,n} |p_{k}(λ_{i})|.

Tada, norma reziduala postignutog u k-tom koraku GMRES metode zadovoljava nejednakost

∥r_{k}∥_{2} ≤ κ(V)ϵ_{k}∥r_{0}∥_{2},

gdje je κ(V) = ∥V ∥_{2}∥V^{−1}∥_{2}.

Dokaz: Neka je p_{k} bilo koji polinom stupnja manjeg ili jednakog k, koji zadovoljava uvjet p_{k}(0) = 1, i neka je x ∈ x_{0} + K_{k}(A, r_{0}) vektor za koji je r = b − Ax = p_{k}(A)r_{0} iz K_{k+1}(A, r_{0}). Tada

∥b − Ax∥_{2} = ∥V p_{k}(Λ)V^{−1}r_{0}∥_{2} ≤ ∥V ∥_{2}∥V^{−1}∥_{2}∥p_{k}(Λ)∥_{2}∥r_{0}∥_{2}.

Budući da je Λ dijagonalna matrica, vrijedi

∥p_{k}(Λ)∥_{2} = max_{i=1,...,n} ∥p_{k}(λ_{i})∥_{2}.

Kako x_{k} minimizira normu reziduala na x_{0} + K_{k}(A, r_{0}), tada za bilo koji polinom p_{k} sa gornjim svojstvima vrijedi

∥b − Ax_{k}∥_{2} ≤ ∥b − Ax∥_{2} ≤ ∥V ∥_{2}∥V^{−1}∥_{2}∥r_{0}∥_{2} max_{i=1,...,n} |p_{k}(λ_{i})|.

Sada možemo u gornjoj nejednakosti uzeti polinom p_{k} koji minimizira desnu stranu nejednakosti, to odgovara odabiru odgovarajućeg x ∈ x_{0} + K_{k}(A, r_{0}). Time dobivamo željeni rezultat

∥b − Ax_{k}∥_{2} ≤ ∥b − Ax∥_{2} ≤ ∥V ∥_{2}∥V^{−1}∥_{2}∥r_{0}∥_{2}ϵ_{k}.

Pretpostavit ćemo da su stupci od V skalirani tako da uvjetovanost κ(V) bude što manja. Medutim, polinom koji minimizira ∥V p_{k}(Λ)V^{−1}r_{0}∥_{2} ne mora biti polinom koji minimizira ∥p_{k}(Λ)∥_{2}, pa na prvi pogled nije jasno da li je ocjena Teorema 2.5.7 stroga.

Zadržimo se i dalje na dijagonalizabilnim matricama, ali ćemo promatrati one matrice kojima spektar možemo smjestiti u neki pravilni geometrijski lik, koji je po mogućnosti udaljen od ishodišta. Najjednostavniji slučaj je kada spektar matrice A možemo smjestititi unutar elipse E(c, d, a) sa centrom u c, gdje je udaljenost izmedu fokusa jednaka 2d, a veća poluos je a. Još se zahtijeva da se ishodište nalazi izvan te elipse.

Korolar 2.5.8 ([32]). Neka je A dijagonalizabilna matrica, to jest neka je A = V ΛV^{−1} gdje je Λ = diag(λ_{1}, …, λ_{n}) dijagonalna matrica svojstvenih vrijednosti. Pretpostavimo da su sve svojstvene vrijednosti od A smještene unutar elipse E(c, d, a) u kojoj se ne nalazi ishodište. Tada norma reziduala, postignutog u k-tom koraku GMRES metode, zadovoljava nejednakost

∥r_{k}∥_{2} ≤ κ(V)\frac{T_{k} (\frac{a}{d})}{|T_{k} (\frac{c}{d})|}∥r_{0}∥_{2},

gdje je T_{k} Čebiševljev polinom stupnja k

Dokaz: Ono što trebano pronaći je gornja ograda za skalar ϵ_{k} iz Teorema 2.5.7 pod zadanim pretpostavkama. Po definiciji je

ϵ_{k} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1} max_{i=1,...,n} |p_{k}(λ_{i})|
≤ min_{p_{k}∈ℙ_{k},p_{k}(0)=1} max_{λ∈E(c,d,a)} |p_{k}(λ)|.

[figure: (0, 0); d; a; c]

Slika 2.1: Elipsa E(c, d, a), koja ne sadrži ishodište.

Nejednakost vrijedi zbog toga što se maksimum modula analitičke funkcije poprima na rubu domene. Za danu analizu koristit ćemo Čebiševljeve polinome.

Čebiševljeve polinome kompleksne varijable možemo definirati na sljedeći način

T_{k}(z) = cosh(kζ), gdje je z = cosh(ζ).

Ako definiramo varijablu w = e^{ζ}, gornja formula ekvialentna je

T_{k}(z) = \frac{1}{2}[w^{k} + w^{−k}], gdje je z = \frac{1}{2}[w + w^{−1}].

Ova definicija Čebiševljevih polinoma koristiti se u skupu ℂ. Primijetimo da jednadžba \frac{1}{2}[w + w^{−1}] = z ima dva rješenja w_{1,2} = z ± \sqrt{z^{2} − 1} koja su medusobno inverzna, a iz definicije polinoma T_{k} vidimo da on ne ovisi o izboru tih rješenja. Direktnom provjerom može se provjeriti da su T_{k}-ovi zaista polinomi po varijabli z i da zadovoljavaju rekurziju

T_{k+1}(z) = 2zT_{k}(z) − T_{k−1}(z),
T_{0} = 1, T_{1} = z.

Neka je C_{ρ} kružnica radijusa ρ sa centrom u ishodištu. Tada, takozvano Joukowskovo preslikavanje

J(w) = \frac{1}{2}[w + w^{−1}]

transformira C_{ρ} u elipsu sa centrom u ishodištu, fokusima −1, 1, velikom poluosi \frac{1}{2}[ρ + ρ^{−1}] i malom poluosi \frac{1}{2}[ρ − ρ^{−1}]. Postoje dvije kružnice koje se mogu preslikati pomoću preslikavanja J(w) u istu elipsu, jedna sa radijusom ρ, a druga sa radijusom ρ^{−1}. Prema tome dovoljno je promatrati samo kružnice sa radijusom ρ ≥ 1 (za ρ = 1 dobivamo degenerični slučaj u kojem se elipsa svodi na interval [−1, 1]). Ako sada promatramo elipsu E_{ρ} dobivenu iz C_{ρ} preslikavanjem J, uz pretpostavku da je γ bilo koja točka kompleksne ravnine izvan elipse, tada vrijedi

min_{p_{k}∈ℙ_{k},p_{k}(0)=1} max_{λ∈E_{ρ}} |p_{k}(λ)| ≤ \frac{ρ^{k} + ρ^{−k}}{|w_{γ}^{k} + w_{γ}^{−k}|},  (2.82)

gdje je w_{γ} dominanatni korijen jednadžbe J(w) = γ. Da bi to pokazali, prvo primijetimo da se bilo koji polinom p_{k} stupnja k, koji zadovoljava uvjet p_{k}(γ) = 1, može napisati kao

p_{k}(z) = \frac{∑_{j=0}^{k} a_{j}z^{j}}{∑_{j=0}^{k} a_{j}γ^{j}} .

Točka z na elipsi E_{ρ} je dobivena iz neke točke w iz C_{ρ} djelovanjem preslikavanja J, a takoder i γ je, na isti način dobivena iz w_{γ}. Tada, se polinom p_{k}, koji djeluje na točkama elipse, može na drugačiji način napisati kao

p_{k}(z) = \frac{∑_{j=0}^{k} b_{j}(w^{j} + w^{−j})}{∑_{j=0}^{k} b_{j}(w_{γ}^{j} + w_{γ}^{−j})},

gdje se koeficijenti b_{j} mogu dobiti kao neke linearne kombinacije koeficijenata a_{j}. Promotrimo jedan posebni polinom, koji se dobiva ako uzmemo da je b_{k} = 1 i b_{j} = 0 za j ≠ k,

p_{k}^{∗}(z) = \frac{w^{k} + w^{−k}}{w_{γ}^{k} + w_{γ}^{−k}} = \frac{T_{k}(z)}{T_{k}(γ)}

što je zapravo skalirani Čebiševljev polinom stupnja k po varijabli z. Kako točke oblika w^{k} + w^{−k} ponovo pripadaju nekoj elipsi sa poluosima ρ^{k} + ρ^{−k} i ρ^{k} − ρ^{−k} i centrom u ishodištu, tada je očito da se maksimum modula polinoma p_{k}^{∗} postiže u tjemenima velikih poluosi te elipse, to jest kada je w = ρe^{iϕ} realan i jednak ±ρ. Ta se vrijednost postiže za z = \frac{1}{2}(ρ + ρ^{−1}), što je tjeme velike poluosi elipse E_{ρ}. Prema tome je

max_{z∈E_{ρ}} |p_{k}^{∗}(z)| = \frac{ρ^{k} + ρ^{−k}}{|w_{γ}^{k} + w_{γ}^{−k}|}

što dokazuje traženu nejednakost (2.82).

Za općenitiju elipsu E(c, d, a), jednostavnom zamjenom varijabli koja c prebacuje u 0, c + d u −1, i c − d u 1, dobivamo da se polinom p_{k}^{∗} transformirao u

T̂_{k}(z) = \frac{T_{k} (\frac{c−z}{d} )}{T_{k} (\frac{c−γ}{d} )}.  (2.83)

Analogno, kao u slučaju kada je centar elipse bio u ishodištu, lako se vidi da se maksimum modula polinoma T̂_{k}(z) postiže u točki c − a, tjemenu velike poluosi elipse E(c, d, a). Dakle, imamo

max_{z∈E(c,d,a)} |T̂_{k}(z)| = \frac{T_{k} (\frac{a}{d})}{|T_{k} (\frac{c−γ}{d} )|}.

Ovdje treba napomenuti da, d i a mogu biti i imaginarni. U tom slučaju su velike poluosi vertikalne, ali je a/d ponovo realan, pa je brojnik gornjeg izraza uvijek realan. Sada možemo iskoristiti polinom T̂_{k} sa γ = 0

ϵ_{k} ≤ min_{p_{k}∈ℙ_{k},p_{k}(0)=1} max_{λ∈E(c,d,a)} |p_{k}(λ)|
≤ max_{λ∈E(c,d,a)} |T̂_{k}(λ)| = \frac{T_{k} (\frac{a}{d})}{|T_{k} (\frac{c}{d}) |}.

Time je dokaz dovršen.

Ekspilcitan izraz za T_{k}(\frac{a}{d})/T_{k}(\frac{c}{d}) može se dobiti iz definicije Čebiševljevih polinoma:

\frac{T_{k} (\frac{a}{d})}{T_{k} (\frac{c}{d})} = \frac{(\frac{a}{d} + \sqrt{(\frac{a}{d})^{2} − 1})^{k} + (\frac{a}{d} + \sqrt{(\frac{a}{d})^{2} − 1})^{−k}}{(\frac{c}{d} + \sqrt{(\frac{c}{d})^{2} − 1})^{k} + (\frac{c}{d} + \sqrt{(\frac{c}{d})^{2} − 1})^{−k}}

≈ (\frac{a + \sqrt{a^{2} − d^{2}}}{c + \sqrt{c^{2} − d^{2}}} )^{k} .

Budući da uvjetovanost κ(V) matrice svojstvenih vektora V obično nije poznata i može biti vrlo velika, ocjena Korolara 2.5.8 ponovo ne mora biti precizna. Ona može biti korisna jedino ako znamo da je matrica A normalna, pa je tada κ(V) = 1. U tom slučaju dobili smo vrlo primjenljivu ocjenu konvergencije samo pomoću analize distribucije svojstvenih vrijednosti. U normalnom slučaju, kao i kod hermitskih matrica, problem konvergencije GMRES metode općenito svodi se na problem teorije aproksimacija: kako se dobro može aproksimirati nula na skupu kompleksnih svojstvenih vrijednosti, koristeći polinome stupnja k koji u ishodištu poprimaju vrijednost 1. U ovom problemu može se dobro primijeniti informacija o tome da li su svojstvene vrijednosti dobro ili loše distribuirane u kompleksnoj ravnini. Svojstvene vrijednosti nakupljene u uskom području oko jedne točke c, daleke od ishodišta daju dobru distribuciju, budući da je vrijednost polinoma (1 − z/c)^{k} mala u svim točkama kompleksne ravnine koje su bliske točki c . Dobar primjer iskorištavanje ovakve distribucije je i Korolar 2.5.8. Svojstvene vrijednosti koje su rasporedene svuda oko ishodišta su loše distribuirane, jer je nemoguće naći polinom (po principu maksimuma modula analitičke funkcije) čija je vrijednost u ishodištu jednaka 1, a u svakoj točki na nekoj zatvorenoj krivulji oko ishodišta, manja od 1. Takoder polinom niskog stupnja ne može biti 1 u ishodištu, i malen po apsolutnoj vrijednosti u mnogim točkama distribuiranim svuda oko ishodišta.

Općenito se, medutim, ponašanje GMRES metode ne može odrediti samo iz svojstava svojstvenih vrijednosti. Zapravo, bilo koja nerastuća krivulja može predstavljati graf normi reziduala po broju iteracija za GMRES metodu primijenjenu na nekom nenormalnom problemu, štoviše, matrica problema može imati bilo koje svojstvene vrijednosti. To znači da, kada radimo sa krajnje ne-normalnim matricama, informacija o svojstvenim vrijednostima sama ne može garantirati brzu konvergenciju GMRES metode. Pa tako, na primjer, svojstvene vrijednosti koje su nakupljene usko oko 1 ne moraju nužno biti dobre za ne-normalne matrice, kao što jesu za normalne. Gornje tvrdnje potkrijepit ćemo sljedećim primjerom.

Primjer 2.5.9 ([14]). Norme reziduala dobivene u nizu koraka GMRES metode su nerastući niz, budući da se reziduali minimiziraju po skupu ekspandirajućih podprostora. Postavlja se sljedeće pitanje: ako je dan nerastući niz pozitivnih realnih brojeva f(0) ≥ f(1) ≥ ⋯ ≥ f(n − 1) > 0, i skup kompleksnih brojeva {λ_{1} …, λ_{n}}, različitih od nule, da li tada postoje n × n matrica A sa svojstvenim vrijednostima λ_{1},…,λ_{n} i početni vektor r_{0} sa ∥r_{0}∥_{2} = f(0), takvi da kod primjene GMRES algoritma na linearni sustav Ax = b, sa početnim rezidualom r_{0}, dobijemo aproksimacije x_{k} takve da je ∥r_{k}∥_{2} = f(k), k = 1, …, n − 1? Odgovor na ovo pitanje je potvrdan. No, prije samog odgovora primijetimo da pretpostavka f(n − 1) > 0 znači da GMRES algoritam ne konvergira k egzaktnom rješenju sve do zadnjeg, n-tog, koraka, kada su dimenizije potprostora K_{n}(A, r_{0}) i AK_{n}(A, r_{0}) jednake n.

Započet ćemo najprije sa jednostavnom analizom nekih svojstava traženog rješenja. Budući da su reziduali generirani primjenom GMRES algoritma na linearni sustav Ax = b, sa početnom aproksimacijom x_{0}, potpuno odredeni matricom A i početnim rezidualom r_{0}, bez smanjenja općenitosti možemo pretpostaviti da je početna aproksimacija x_{0} jednaka nuli, i da je vektor desne strane sustava b zapravo početni rezidual. Pretpostavimo da A i b predstavljaju nepoznatu matricu i desnu stranu sustava. Neka je W = {w_{1}, …, w_{n}} ortonormirana baza Krylovljevog prostora reziduala AK_{n}(A, b), takva da je span{w_{1}, …, w_{j}} = AK_{j}(A, b), j = 1, …, n, i neka je W matrica sa ortonormiranim stupcima [w_{1} … w_{n}]. Prema Lemi 2.5.6 minimizacijsko svojstvo reziduala možemo preformulirati u

∥r_{k}∥_{2} = min_{u∈AK_{k}(A,b)} ∥b − u∥_{2},

odakle se vidi da je r_{k} ⊥ AK_{k}(A, b) za k = 0, 1, …, n − 1, pa je on oblika

r_{k} = ∑_{j=k+1}^{n}⟨b, w_{j}⟩w_{j},

r_{n} je nula, a b = r_{0} se može raspisati kao

b = ∑_{j=1}^{n}⟨b, w_{j}⟩w_{j}.

Iz prethodnoga se vidi da je |⟨b, w_{j}⟩| = \sqrt{∥r_{j−1}∥_{2}^{2} − ∥r_{j}∥_{2}^{2}}. Ako je zadan nerastući pozitivan niz f(0) ≥ f(1) ≥ ⋯ ≥ f(n − 1) > 0, definirajmo f(n) = 0 i i nove vrijednosti g(k) sa

g(k) = \sqrt{(f(k − 1))^{2} − (f(k))^{2}}, k = 1, …, n.

Uvjeti ∥b∥_{2} = f(0), ∥r_{k}∥_{2} = f(k), k = 1, 2, …, n − 1 bit će tada zadovoljeni ako su koordinate od b u bazi W odredene sa

W^{∗}b = [g(1) … g(n)]^{T} .

Zaista, u tom slučaju je r_{k} = ∑_{j=k+1}^{n}⟨b, w_{j}⟩w_{j} = ∑_{j=k+1}^{n} g(j)w_{j}, pa slijedi

∥r_{k}∥_{2}^{2} = ∑_{j=k+1}^{n} |g(j)|^{2} = ∑_{j=k+1}^{n}[(f(j − 1))^{2} − (f(j))^{2}] = (f(k))^{2}.

Neka je Λ = {λ_{1}, λ_{2}, …, λ_{n}}, λ_{j} ≠ 0, j = 1, 2, …, n skup točaka različitih od nule u komplesnoj ravnini. Promotrimo normirani polinom

a(z) = z^{n} − ∑_{j=0}^{n−1} α_{j}z^{j} = (z − λ_{1})(z − λ_{2}) ⋯ (z − λ_{n}).

Zbog toga što su svi λ_{j} različiti od nule, slijedi α_{0} ≠ 0.

Konstrukcija matrice A i desne strane susutava b sada je jednostavna. Matricu A možemo smatrati linearnim operatorom na n-dimenzionalnim Hilbertovim prostorom ℂ^{n}. Taj operator označit ćemo sa A, a njegova reprezantacija u standardnoj bazi E = {ξ_{1}, …, ξ_{n}}, pri čemu je ξ_{i} i-ti jedinični vektor, daje traženu matricu A:

A^{E} = A.

A je jedinstveno odreden djelovanjem na bilo koji skup vektora baze.

Neka je V = {v_{1}, …, v_{n}} bilo koja ortonormirana baza u ℂ^{n}, i neka je V matrica sa ortonormiranim stupcima [v_{1} … v_{n}]. Neka b zadovoljava

V^{∗}b = [g(1) … g(n)]^{T}

pri čemu ukoliko je dan b sa ∥b∥_{2} = f(0), V može biti izabran, ili ako je V zadan, b može biti izabran. Budući da je g(n) = f(n − 1) razližit od nule, skup vektora B = {b, v_{1}, … v_{n−1}} je linearno nezavisan i takoder tvori bazu za ℂ^{n}. Neka je B matrica sa stupcima [b v_{1} … v_{n−1}]. Tada je operator A jednostavno odreden jednadžbama

Ab = v_{1},
Av_{1} = v_{2},
⋮
Av_{n−2} = v_{n−1},
Av_{n−1} = α_{0}b + α_{1}v_{1} + ⋯ + α_{n−1}v_{n−1}.

U matričnoj reprezentaciji u bazi B matrica

A^{B} = [ \begin{matrix}0 & … & 0 & α_{0} \\ 1 & … & 0 & α_{1} \\ & ... & ⋮ & ⋮ \\ & & 1 & α_{n−1} \end{matrix} ] ,

tada ima svojstvene vrijednosti koje odgovaraju skupu Λ. Radi se o matrici koju još nazivamo pratilac polinoma, i čija svojstva su dana u [27]. Na kraju, matrica A je dana sa

A = A^{E} = BA^{B}B^{−1}.

Sve ovo dokazuje tvrdnju sljedećeg teorema.

Teorem 2.5.10. Neka je dan nerastući niz f(0) ≥ f(1) ≥ ⋯ ≥ f(n − 1) > 0 pozitivnih brojeva i skup kompleksnih brojeva različitih od nule {λ_{1}, λ_{2}, …, λ_{n}}, tada postoji matrica A sa svojstvenim vrijednostima λ_{1}, λ_{2}, …, λ_{n} i desna strana sustava b sa ∥b∥_{2} = f(0) takvi da reziduali r_{k} u svakom koraku GMRES algoritma primijenjenog na sustav Ax = b sa x_{0} = 0, zadovoljavaju ∥r_{k}∥_{2} = f(k), k = 1, 2, …, n − 1.

Dakle, ne možemo ništa više reći o svojstvima konvergencije GMRES metode, primijenjene na ne-normalne sustave.

Da rezimiramo slučaj dijagonalizabilnih matrica. Dakle, kada je matrica svojstvenih vektora ekstremno loše uvjetovana, ocjena Teorema 2.5.7, je manje korisna. Ona može biti veća od ∥r_{0}∥_{2} za sve k < n, ali mi znamo, zbog svojstava normi reziduala objašnjenih u prethodnom primjeru, da je ∥r_{k}∥_{2} ≤ ∥r_{0}∥_{2} za sve k. U takvim slučajevima nije jasno da li GMRES metoda slabo konvergira ili je ocjena Teorem 2.5.7 precijenila stvarnu normu reziduala.

Drugačije ograde norme reziduala mogu se ostvariti preko polja vrijednosti F(A) matrice A, uz uvjet 0 ∉ F(A). Na primjer, pretpostavimo da je F(A) sadržan u krugu K = {z ∈ ℂ : |z − c| ≤ s} koji ne sadrži ishodište. Razmotrimo polinom p_{k}(z) = (1 − z/c)^{k}. Iz pravila (1.4) i (1.5), koja vrijede za polje vrijednosti slijedi

F(I − \frac{1}{c}A) = 1 − \frac{1}{c}F(A) ⊆ \{z ∈ ℂ : |z| ≤ \frac{s}{|c|}\}

pa je tada, ν((I −(1/c)A) ≤ s/|c|. Nejednakost potencija (1.11) daje ν((I −(1/c)A)^{k}) ≤ (s/|c|)^{k}, odakle je, zbog svojstva (1.10), koje odreduje odnos euklidske norme i numeričkog radijusa,

∥p_{k}(A)∥_{2} ≤ 2 (\frac{s}{|c|})^{k} .

Slijedi da norma GMRES-ovog reziduala zadovoljava nejednakost

∥r_{k}∥_{2} ≤ 2 (\frac{s}{|c|})^{k} ∥r_{0}∥_{2},  (2.84)

Ocjena (2.84) ponekad dosta precijenjuje pravu normu reziduala GMRES metode. U mnogim slučajevima, krug K mora biti puno veći nego sam F(A) kako bi obuhvatio cijeli F(A), a osim toga ne smije sadržavati ishodište.

Još jedan drugačiji pristup za ocjenjivanje ∥p(A)∥_{2} je primjena pseudospektra. Za bilo koji polinom p, ako ga gledamo kao funkciju, on je analitički na svakom otvorenom skupu koji sadrži kompaktan skup σ(A) = {λ_{1}, …, λ_{n}}, odnosno spektar od A, pa se, prema [28, str. 475], matrica p(A) može napisati kao Cauchyjev integral

p(A) = \frac{1}{2πi} ∫_{Γ} p(z)(zI − A)^{−1}dz,

gdje je Γ bilo koja jednostavna zatvorena krivulja ili unija jednostavnih zatvorenih krivulja (pozitivno orijentiranih) koje sadrže spektar od A. Ako u prethodnoj jednakosti uzmemo norme na svakoj strani, i ako zamijenimo normu integrala sa duljinom krivulje L(Γ) puta maksimum norma od integranda dobivamo

∥p(A)∥_{2} ≤ \frac{L(Γ)}{2π} max_{z∈Γ} ∥p(z)(zI − A)^{−1}∥_{2}.

Nadalje, ako promotrimo krivulju Γ_{ϵ} na kojoj je norma rezolvente ∥(zI − A)^{−1}∥_{2} konstantna, recimo ∥(zI − A)^{−1}∥_{2} = ϵ^{−1}, tada imamo

∥p(A)∥_{2} ≤ \frac{L(Γ_{ϵ})}{2πϵ} max_{z∈Γ_{ϵ}} |p(z)|.

Krivulju za koju vrijedi ∥(zI − A)^{−1}∥_{2} = ϵ^{−1} zovemo granicom ϵ-pseudospektra matrice A:

Λ_{ϵ} = {z : ∥(zI − A)^{−1}∥_{2} ≥ ϵ^{−1}}.

Iz optimalnosti GMRES aproksimacije slijedi da rezidual r_{k} GMRES metode zadovoljava

∥r_{k}∥_{2} ≤ \frac{L(Γ_{ϵ})}{2πϵ} min_{p_{k}∈ℙ_{k},p_{k}(0)=1} max_{z∈Γ_{ϵ}} |p(z)|∥r_{0}∥_{2}  (2.85)

za bilo koji izbor parametra ϵ. Za neke probleme, i sa pažljivo odabranim vrijednosti ϵ ograda (2.85) može biti puno manja od one u Teoremu 2.5.7. Ali ni ograda (2.85) nije stroga, i za neke probleme ne može se naći povoljan ϵ koji bi dao realističnu ocjenu pravog GMRES reziduala, vidi [16]. Lako se može vidjeti što dovodi do precijenjivanja ocjene. Norma integrala funkcije može biti puno manja od produkta duljine krivulje i maksimuma norme integranda.

Svaka od ocjena danih u Teoremu 2.5.7, (2.84) i (2.85) daju ograde reziduala GMRES metode tako što ograduju veličinu min_{p_{k}∈ℙ_{k},p_{k}(0)=1} ∥p_{k}(A)∥_{2}. Najgori slučaj ponašanja GMRES metode dan je sa

∥r_{k}∥_{2} = max_{∥r_{0}∥_{2}=1} min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(A)r_{0}∥_{2}.  (2.86)

Sad se postavlja pitanje kada je desna strana u (2.86) jednaka sljedećoj veličini

min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(A)∥_{2} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1} max_{∥r_{0}∥_{2}=1} ∥p_{k}(A)r_{0}∥_{2}?  (2.87)

Dakle, svaki korak GMRES metode je matematički ekvivalentan minimizaciji ∥p_{k}(A)r_{0}∥_{2} po skupu polinoma, kojeg možemo označiti sa P_{k}, pri čemu je

P_{k} = {p_{k} ∈ ℙ_{k} : p_{k}(0) = 1}.

Pokazat ćemo kasnije da, za svaki r_{0}, takav GMRES-ov polinom, označen sa p_{r_{0}} postoji i jedinstven je ako je ∥p_{r_{0}}(A)∥_{2} > 0. Znači, brzina konvergencije GMRES iteracije ovisi o tome kako brzo ∥p_{r_{0}}(A)r_{0}∥_{2} konvergira k nuli kada se k povećava, a to ponovo ovisi o matrici sustava A i početnom rezidualu r_{0}. Ipak se čini da dominantnu ulogu u konvergeniciji ima matrica A, pa stoga se javlja potreba za proučavanjem problema minimiziranja ∥p_{k}(A)∥_{2} za p_{k} ∈ ℙ_{k}, p_{k}(0) = 1, kojeg možemo nazvati “problemom idealne GMRES metode”. Takoder ćemo pokazati da polinom idealnog GMRES-a, kojeg ćemo označiti sa p_{∗}, postoji i jedinstven je u slučaju kada je ∥p_{∗}(A)∥_{2} > 0.

Prema tome, GMRES metoda pronalazi p_{r_{0}} ∈ P_{k} takav da je

∥p_{r_{0}}(A)r_{0}∥_{2} minimalno.  (2.88)

Lema 2.5.6 daje ekvivalentnu tvrdnju

r_{0} ≈ span{Ar_{0}, A^{2}r_{0}, …, A^{k}r_{0}} = AK_{k}(A, r_{0}),  (2.89)

pri čemu “y ≈ V ” označava problem pronalaženja najbolje aproksimacije obzirom na normu ∥ · ∥_{2} točke y u potprostoru V.

S druge strane, idealni GMRES metoda pronalazi p_{∗} ∈ P_{k} takav da je

∥p_{∗}(A)∥_{2} minimalno.  (2.90)

Ekvivalentno

I ≈ span{A, A^{2}, …, A^{k}}.  (2.91)

Nadalje, za svaki b, zbog svojstva minimalnosti, vrijedi

∥p_{r_{0}}(A)r_{0}∥_{2} ≤ ∥p_{∗}(A)r_{0}∥_{2} ≤ ∥p_{∗}(A)∥_{2}∥r_{0}∥_{2},

što daje rezultat i za najgori slučaj, za svaki k

max_{r_{0}∈ℂ^{n},∥r_{0}∥_{2}=1}∥p_{r_{0}}(A)r_{0}∥_{2} ≤ ∥p_{∗}(A)∥_{2}.  (2.92)

Time smo zadali odnos izmedu (2.86) i (2.87), odnosno p_{r_{0}} i p_{∗}. Odgovor na pitanje egzistencije i jedinstvenosti ova dva polinoma daje sljedeći teorem.

Teorem 2.5.11 ([17],[26]). Optimalni polinomi p_{r_{0}} i p_{∗} postoje. U slučaju kada su minimumi u (2.88) i (2.90) za GMRES i idealni GMRES različiti od nule, i kada je matrica A regularna, oni su jedinstveni.

Dokaz: Promatrat ćemo alternativne formulacije problema (2.89) i (2.91). U oba slučaja imamo problem oblika w ≈ V, gdje je V konačnodimenzionalan potprostor normiranog vektorskog prostora W i w ∈ W. Za GMRES je W = ℂ^{n}, a za idealni GMRES je W = ℂ^{n^{2}}. Dakle, tražimo v_{min} ∈ V takav da je

∥w − v_{min}∥ = e(w, V) = inf_{v∈V} ∥w − v∥.

Trebamo pokazati da je skup E(w, V) = {v ∈ V : ∥w−v∥ = e(w, V)} neprazan. Budući da je 0 ∈ V imamo

e(w, V) ≤ ∥w − 0∥ = ∥w∥.

Promotrimo sada proizvoljni element v ∈ V koji zadovoljava ∥v∥ > 2∥w∥. Tada vrijedi

∥w − v∥ ≥ ∥v∥ − ∥w∥ > ∥w∥ ≥ e(w, V),

odakle slijedi da v ∉ E(w, V) i E(w, V) ⊂ B = {v ∈V: ∥v∥ ≤ 2∥w∥}. Rezultat toga je e(w, V) = inf_{v∈B} ∥w − v∥. Kako je svaki zatvoren i ograničen podskup konačno dimenzionalnog prostora kompaktan, i kako svaka realna neprekidna funkcija na kompaktnom skupu poprima svoj infimum na tom skupu, to znači da, budući da je B kompaktan i funkcija V ∋ v ↦ ∥w − v∥ je neprekidna, dobivamo egzistenciju v_{min} ∈ V takvog da je ∥w − v_{min}∥ = e(w, V). Prema tome E(w, V) je neprazan, pa polinomi p_{r_{0}} i p_{∗} postoje.

Dokaz jedinstvenosti polinoma p_{r_{0}} i p_{∗} može se podijeliti na dva dijela:

(a) Da li je za w najbliža točka v ∈ V jedinstvena?

(b) Da li se taj vektor v može na jedinstveni način napisati kao linearna kombinacija k vektora koji razapinju prostore u (2.89) i (2.91)?

Odgovor na pitanje iz dijela (b) može se izvesti na sljedeći način. Ono što mi zapravo trebamo pokazati je da su k vektora, koje razmatramo, linearno nezavisni. Za problem idealne GMRES metode (2.91), pretpostavimo da su A, A^{2}, …, A^{k} linearno zavisni. To znači da postoji polinom p ∈ ℙ_{k} za koji je p(A) = 0. Budući da je u ovom slučaju konstantni koeficijent, koeficijent uz nultu potenciju varijable polinoma p, jednak nuli, tada zbog regularnosti matrice A, p(z) možemo pomnožiti sa z^{−1} jednom ili više puta, tako da konstantni koeficijent postane različit od nule. Ako polinom sada pomnožimo sa odgovarajućom konstantom p(0), dobivamo p(A) = 0 za p ∈ P_{k}, što je kontradikcija sa pretpostavkom da je minimum u (2.90) različit od nule. Analogan dokaz može se primijeniti i u slučaju pravog GMRES-a (2.89).

Sada još moramo pokazati da vrijedi i potvrdan odgovor na pitanje iz (a). Dokaz jedinstvenosti vektora v za problem (2.89) slijedi iz činjenice da je vektorska norma ∥·∥_{2} strogo konveksna, odnosno da vrijedi da za svaka dva različita elementa w_{1}, w_{2} ∈ W, takvih da je ∥w_{1}∥_{2} = ∥w_{2}∥_{2} = 1, imamo ∥(w_{1} + w_{2})/2∥_{2} < 1. Naime, pretpostavimo da neki element w ∈ W ima dvije različite najbolje aproksimacije v_{1}, v_{2} ∈ V. Tada je

v_{0} = \frac{v_{1} + v_{2}}{2} ∈ V i w − v_{0} = e(w, V)\frac{u_{1} + u_{2}}{2} ,

gdje je, zbog činjenice da je minimum e(w, V) različit od nule

u_{1} = \frac{w − v_{1}}{e(w, V)} i u_{2} = \frac{w − v_{2}}{e(w, V)}.

Budući da je u_{1} ≠ u_{2} i ∥u_{1}∥_{2} = ∥u_{2}∥_{2} = 1 uvjet stroge konveksnosti daje

∥w − v_{0}∥_{2} = e(w, V) ∥\frac{u_{1} + u_{2}}{2} ∥_{2} < e(w, V),

što je kontradikcija sa definicijom od e(w, V) kao minimuma. Dakle, minimum za GMRES problem mora biti jedinstven.

S druge strane, matrična norma ∥ · ∥_{2} nije strogo konveksna, pa ne možemo iskoristiti gornju argumentaciju kod dokaza jedinstvenosti za problem idealnog GMRES-a. Ponovo pretpostavimo da postoje dva različita rješenja p_{1} i p_{2} problema (2.90), i neka je minimalna norma koji oni dostižu

∥p_{1}(A)∥_{2} = ∥p_{2}(A)∥_{2} = C.  (2.93)

Ako definiramo p(z) = \frac{1}{2}(p_{1}(z) + p_{2}(z)) tada ∥p(A)∥_{2} ≤ C, pa mora biti ∥p(A)∥_{2} = C zbog minimalnosti. Neka je {w_{1}, …, w_{J}} skup maksimalnih desnih singularnih vektora za p(A), to jest skup ortonormiranih vektora sa svojstvom

∥p(A)w_{j}∥_{2} = C, 1 ≤ j ≤ J,

sa najvećim mogućim brojem J. Tada za svaki w_{j}, zbog

C = ∥\frac{1}{2}p_{1}(A)w_{j} + \frac{1}{2}p_{2}(A)w_{j}∥_{2} ≤ \frac{1}{2}∥p_{1}(A)w_{j}∥_{2} + \frac{1}{2}∥p_{2}(A)w_{j}∥_{2} ≤ C,

i zbog (2.93) imamo

∥p_{1}(A)w_{j}∥_{2} = ∥p_{2}(A)w_{j}∥_{2} = C

i

p_{1}(A)w_{j} = p_{2}(A)w_{j},

jer bi inače, zbog stroge konveksnosti vektorske norme ∥·∥_{2}, imali da je ∥p(A)w_{j}∥_{2} < C. Zbog toga

(p_{1} − p_{2})(A)w_{j} = 0, 1 ≤ j ≤ J.

Budući da (p_{1} − p_{2})(z) nije identički jednak nulpolinomu, mi ga možemo pomnožiti sa odabranim skalarom i pogodnom potencijom od z^{−1}, zbog regularnosti matrice A, tako da dobijemo polinom Δp ∈ P_{k} takav da je

Δp(A)w_{j} = 0, 1 ≤ j ≤ J.

Za ϵ ∈ ⟨0, 1⟩, promotrimo polinom p_{ϵ} ∈ P_{k} definiran konveksnom linearnom kombinacijom

p_{ϵ}(z) = (1 − ϵ)p(z) + ϵΔp(z).

Ako sa {w_{J+1}, …, w_{n}} označimo ostatak od n singularnih vektora matrice p(A), sa odgovarajućim singularnim vrijednostima C > σ_{J+1} ≥ ⋯ ≥ σ_{n} ≥ 0, tada imamo

∥p_{ϵ}(A)w_{j}∥_{2} ≤ \{ \begin{matrix}(1 − ϵ)C & 1 ≤ j ≤ J, \\ (1 − ϵ)σ_{J+1} + ϵ∥Δp(A)∥_{2} & J + 1 ≤ j ≤ n. \end{matrix}

Za 1 ≤ j ≤ J dana norma je manja od C za proizvoljni ϵ, a za J + 1 ≤ j ≤ n ta norma je manja C za dovoljno mali ϵ, budući da je σ_{J+1} < C. Kako singularni vektori w_{1} …, w_{n} čine ortonormiranu bazu za ℂ^{n}, to znači da je svaki vektor v norme 1 linearna kombinacija tih vektora v = ∑_{j=1}^{n} γ_{j}w_{j} sa ∑_{j=1}^{n} γ_{j}^{2} = 1, pa slijedi ∥p_{ϵ}(A)∥_{2} < C za dovoljno mali ϵ, što je kontradikcija sa pretpostavkom da su p_{1} i p_{2} minimalni.

Dakle sada znamo da polinomi p_{r_{0}} i p_{∗} zaista postoje i jedinstveni su u većini slučajeva, pa ćemo se stoga vratiti na nejednakost (2.92). Ona pokazuje da je ∥p_{∗}(A)∥_{2} ili izraz u (2.87) gornja ograda za ∥p_{r_{0}}(A)r_{0}∥_{2} odnosno za izraz iz (2.86) koji je jednak normi reziduala r_{k} GMRES metode u k-tom koraku, za najgori slučaj. Pitanje je sada koliko je to dobra ograda i da li (2.87) može poslužiti kao ograda za normu od r_{k}. Od velike važnosti je slučaj kada zapravo nejednakost (2.92) prelazi u jednakost. Ova nejednakost je jednakost za mnoge matrice uključujući i normalne matrice, kada je κ(V) = 1 pa je ocjena Teorem 2.5.7 stroga. To vrijedi i za općenite matrice za korak k=1 i za matrice čija je dimenzija manja ili jednaka 3, vidi [25] i [13]. Mnogi numerički eksperimenti su pokazali da se radi o jednakosti za mnoge matrice i veličine k, medutim to općenito ne vrijedi što se može pokazati kontraprimjerom, kojeg je izradio K. C. Toh u [35].

Primjer 2.5.12 ([35]). Radi se o 4 × 4 matrici

A = [ \begin{matrix}1 & ϵ & 0 & 0 \\ 0 & −1 & c/ϵ & 0 \\ 0 & 0 & 1 & ϵ \\ 0 & 0 & 0 & −1 \end{matrix} ] , ϵ > 0, 0 < c < 2.  (2.94)

Za takvu matricu vrijede sljedeći teoremi.

Teorem 2.5.13 ([35]). Za matricu A iz (2.94), polinom 3. stupnja p_{∗} idealog GMRESa je

p_{∗}(z) = 1 + (α − 1)z^{2}

sa

α = \frac{2c^{2}}{4 + c^{2}} .

Odgovarajuća matrica je

p_{∗}(A) = [ \begin{matrix}α & 0 & γ & 0 \\ 0 & α & 0 & γ \\ 0 & 0 & α & 0 \\ 0 & 0 & 0 & α \end{matrix} ] ,

gdje je

γ = (α − 1)c,

sa normom

∥p_{∗}(A)∥_{2} = \frac{4c}{4 + c^{2}} .

Teorem 2.5.14 ([35]). Neka je matrica A dana sa (2.94). Tada za bilo koji vektor r_{0} ∈ ℂ^{4} odgovarajući polinom 3. stupnja p_{r_{0}} pravog GMRES-a za A zadovoljava

∥p_{r_{0}}(A)r_{0}∥_{2} < ∥p_{∗}(A)∥_{2}∥r_{0}∥_{2}.

Ovaj teorem pokazuje da se za najgori slučaj pravog GMRES-a i idealnog GMRES-a norme razlikuju. Što više te dvije norme mogu se razlikovati za proizvoljno mali faktor, o čemu govori sljedeći teorem.

Teorem 2.5.15 ([35]). Neka je matrica A dana sa (2.94), za 0 < ϵ ≤ 1. Tada

max_{∥r_{0}∥_{2}=1} ∥p_{r_{0}}(A)r_{0}∥_{2} ≤ 2(1 + c)\sqrt{ϵ} + (2 + 3c)ϵ,

i za svaki 0 < c < 2,

\frac{max_{∥r_{0}∥_{2}=1} ∥p_{r_{0}}(A)r_{0}∥_{2}}{∥p_{∗}(A)∥_{2}} ⟶ 0 kada ϵ → 0.

Dakle niti jedan od pristupa koji vodi do rezultata danog u Teoremu 2.5.7 ili rezultata (2.84) i (2.85), u općenitom slučaju, ne moraju dati preciznu ogradu za normu reziduala GMRES metode, i za sada problem opisa konvergencije GMRES metode uz pomoć nekog jednostavnog svojstva matrice sustava ostaje otvoren.

2.5.4 Prekondicionirana GMRES metoda

Prekondicioniranje se koristi, kao i kod svih drugih metoda, kako bi transformiralo početni linearni sustav u sustav koji se lakše i bolje rješava. U slučaju GMRES metode, ono se može upotrijebiti u svrhu transformacije polja vrijednosti u neki povoljniji oblik ili poboljšanja distribucije svojstvenih vrijednosti (iako one uvijek ne odreduju konvergenciju). Postoje tri načina, kao i kod CG metode, na koje možemo primijeniti prekondicioniranje: lijevo, desno i dvostrano.

Lijevo–prekondicionirana GMRES metoda

Lijevo–prekondicionirana GMRES metoda, je GMRES algoritam primijenjen na sustav

M^{−1}Ax = M^{−1}b.  (2.95)

Algoritam je sličan Algoritmu 2.5.2, samo što se umjesto reziduala početne iteracije koristi z_{0} = M^{−1}(b − Ax_{0}) = M^{−1}r_{0}, i svugdje gdje se upotrebljava matrica sustava stavlja se M^{−1}A. Arnoldijev algoritam tada konstruira ortogonalnu bazu lijevo– prekondicioniranog Krylovljevog potprostora

K_{k}(M^{−1}A, z_{0}) = span{z_{0}, M^{−1}Az_{0}, …, (M^{−1}A)^{k−1}z_{0}}.

Svi reziduali i njihove norme koji se računaju u toku izvršavanja algoritma u vezi su sa neprekondicioniranim rezidualima preko jednakosti z_{k} = M^{−1}(b − Ax_{k}) = M^{−1}r_{k}, pa se stoga ne radi o istim vektorima kao kod neprekondicioniranog sustava. Dosta često nema jednostavnog načina da dodemo do neprekondicioniranih reziduala, osim da ih izračunamo egzaktno, množenjem prekondicioniranih reziduala sa M. To može prouzročiti neke probleme kod kriterija zaustavljanja koji su bazirani na pravim rezidualima, umjesto na onim prekondicioniranim.

Desno–prekondicionirana GMRES metoda

Desno–prekondicionirana GMRES metoda se zasniva na rješavanju sustava

AM^{−1}u = b,  u = Mx.  (2.96)

Naravno, nova varijabla u zapravo se nikada ne treba računati. Naime, jednom kada se izračuna početni rezidual r_{0} = b − Ax_{0} = b − AM^{−1}u_{0}, svi daljnji vektori Krylovljevog potprostora mogu se dobiti bez referenciranja na u varijable. Rješenje sustava u (2.96) dano je sa

u_{k} = u_{0} + ∑_{i=1}^{k} v_{i}q_{i}

za u_{0} = Mx_{0}, pri čemu su v_{i}, i = 1, …, k komponente nekog k-dimenzionalnog vektora v. Ako sve to pomnožimo sa M^{−1} dobivamo željenu aproksimaciju izraženu preko x varijabli

x_{k} = x_{0} + M^{−1} (∑_{i=1}^{k} v_{i}q_{i}) .

Dakle algoritam za desno–prekondicioniranu GMRES metodu je ponovo sličan Algoritmu 2.5.2, samo što se na kraju x_{k} računa kao x_{0} = x_{0}+M^{−1}Q_{k}v i gdje god se primijenjuje matrica sustava koristi se matrica AM^{−1}. U ovom slučaju Arnoldijev algoritam vrača ortogonalnu bazu desno–prekondicioniranog Krylovljevog potprostora

K_{k}(AM^{−1}, r_{0}) = span{r_{0}, AM^{−1}r_{0}, …, (AM^{−1})^{k−1}r_{0}}.

Primijetimo samo da je sada rezidul analogan rezidualu neprekondicioniranog sustava jer je b − AM^{−1}u_{k} = b − Ax_{k}.

Dvostrano prekondicioniranje pomoću faktora

U mnogim slučajevima M se može faktorizirati u oblik

M = LU.

Tada postoji mogućnost primijene GMRES metode na dvostrano prekondicioniranom sustavu

L^{−1}AU^{−1}u = L^{−1}b, x = U^{−1}u.

U ovakvoj situaciji, kao početni rezidual uzimamo neprekondicionirani početni rezidual pomnožen sa L^{−1}, a na kraju za formiranje aproksimacije x_{k}, vektor Q_{k}y množimo sa U^{−1}. Rezidual u k-tom koraku je tada oblika L^{−1}(b − Ax_{k}). Dvostrano prekondicioniranje često se koristi kada je matrica A skoro simetrična, kako se svojstvo simetričnosti nebi pokvarilo (kao kod CG).

Usporedba lijevog i desnog prekondicioniranja

Postavlja se pitanje da li postoji razlika izmedu lijevog, desnog i dvostranog prekondicioniranja? Činjenica, da su kod raznih vrsta prekondicioniranja dostupne različite verzije reziduala, može utjecati na kriterij zaustavljanja, i može izazvati prerano ili prekasno zaustavljanje algoritma. To može biti prilično štetno ukoliko je M vrlo loše uvjetovana matrica. Općenito postoje male razlike izmedu ova tri odabira prekondicioniranja. Kada usporedujemo lijevo, desno i dvostrano prekondicioniranje, prvo što možemo primijetiti je da su spektri triju matrica sustava M^{−1}A, AM^{−1} i L^{−1}AU^{−1} identični. Zbog toga bi, u glavnom, mogli očekivati sličnu konvergenciju, iako znamo da svojstvene vrijednosti ne utječu uvijek na konvergenciju.

Kod lijevog prekondicioniranja, GMRES minimizira normu reziduala

∥M^{−1}b − M^{−1}Ax∥_{2},

medu svim vektorima iz afinog potprostora

x_{0} + K_{k}(M^{−1}A, z_{0}) = x_{0} + span{z_{0}, M^{−1}Az_{0}, …, (M^{−1}A)^{k−1}z_{0}}  (2.97)

u kojem je z_{0} prekondicionirani početni rezidual z_{0} = M^{−1}r_{0}. Tada se aproksimacija x_{k} može izraziti kao

x_{k} = x_{0} + s_{k−1}(M^{−1}A)z_{0}

gdje je s_{k−1} polinom stupnja k − 1 koji, prema Lemi 2.5.6, minimizira normu

∥z_{0} − M^{−1}As(M^{−1}A)z_{0}∥_{2}

medu svim polinomima s stupnja manjeg ili jednakog k − 1. Ovaj uvjet minimizacije moguće je izraziti i preko originalnog vektora reziduala r_{0}.

z_{0} − M^{−1}As(M^{−1}A)z_{0} = M^{−1}[r_{0} − As(M^{−1}A)M^{−1}r_{0}].

Jednostavna algebarska manipulacija pokazuje da za bilo koji polinom s vrijedi

s(M^{−1}A)M^{−1}r = M^{−1}s(AM^{−1})r,  (2.98)

odakle dobivamo relaciju

z_{0} − M^{−1}As(M^{−1}A)z_{0} = M^{−1}[r_{0} − AM^{−1}s(AM^{−1})r_{0}].  (2.99)

Razmotrimo sada slučaj desno prekondicionirane GMRES metode. Ovdje moramo obratiti pažnju na razliku izmedu originalne varijable x i uvedene varijable u, koja je sa x vezana preko jednakosti x = M^{−1}u. Za varijablu u, desno prekondicionirani GMRES minimizira normu od r = b − AM^{−1}u, gdje u pripada afinom potprostoru

u_{0} + K_{k}(AM^{−1}, r_{0}) = u_{0} + span{r_{0}, AM^{−1}r_{0}, …, (AM^{−1})^{k−1}r_{0}}  (2.100)

u kojem je r_{0} rezidual r_{0} = b − AM^{−1}u_{0}. Ovaj rezidual je identičan rezidualu koji je izražen preko varijable x jer je M^{−1}u_{0} = x_{0}. Množenjem (2.100) sa M^{−1} i ponovnim korištenjem identitete (2.98), dobivamo da varijabla x odgovarajuće varijable u iz potprostora (2.100), pripada afinom potprostoru

M^{−1}u_{0} + M^{−1}K_{k}(AM^{−1}, r_{0}) = x_{0} + span{z_{0}, M^{−1}Az_{0}, …, (M^{−1}A)^{k−1}z_{0}}.

To je identično sa afinim prostorom (2.97) koji se pojavljuje kod lijevog prekondicioniranja. Dakle, kod desno prekondicioniranog GMRES-a, aproksimacija x može se izraziti kao

x_{k} = x_{0} + M^{−1}t_{k−1}(AM^{−1})r_{0},

odnosno, takoder kao

x_{k} = x_{0} + t_{k−1}(M^{−1}A)z_{0}.

Medutim, sada je t_{k−1} polinom (k − 1)-og stupnja koji minimizira normu

∥r_{0} − AM^{−1}t(AM^{−1})r_{0}∥_{2}  (2.101)

medu svim polinomima t stupnja manjeg ili jednakog k − 1. Dvije veličine koje se minimiziraju u (2.99) i (2.101) razlikuju se samo za množenje sa matricom M^{−1}. Preciznije, lijevo prekondicionirani GMRES minimizira M^{−1}r, dok desno prekondicionirani algoritam minimizira r, gdje se r uzima iz istog potprostora u oba slučaja. Time smo pokazali sljedeći teorem.

Teorem 2.5.16 ([32]). Aproksimacija rješenja ostvarena preko lijevo ili desno prekondicionirane GMRES metode je oblika

x_{k} = x_{0} + s_{k−1}(M^{−1}A)z_{0} = x_{0} + M^{−1}s_{k−1}(AM^{−1})r_{0}

gdje je z_{0} = M^{−1}r_{0}, i s_{k−1} je polimom stupnja k − 1. Polinom s_{k−1} minimizira normu reziduala ∥b − Ax_{k}∥_{2} u slučaju desnog prekondicioniranja, i normu prekondicioniranog reziduala ∥M^{−1}(b − Ax_{k})∥_{2} u slučaju lijevog prekondicioniranja.

U mnogim praktičnim situacijama razlika u konvergenciji u ova dva slučaja nije velika. Jedina iznimka je slučaj kada je M loše uvjetovana, tada razlike mogu biti značajne, što se vidi i iz Teorem 2.5.16.

Napomena. Kod lijevog i desnog prekondicioniranja GMRES algoritam se jednostavno primijeni na prekondicionirani sustav, jedino se još na kraju, kod desno prekondicioniranog sustava treba posebno izračunati aproksimacija u x varijabli. U oba slučaja algoritam se ne može transformirati u jednostavniji oblik. Kod dvostranog prekondicioniranja, algoritam takoder primjenjujemo direktno na prekondicionirani sustav u općenitom slučaju, jer za faktorizaciju M = LU, za koju je U ≠ L^{∗} Arnoldijev algoritam se ne može transformirati tako da izbjegnemo upotrebu faktora L i U. Ako uzmemo da je matrica prekondicioniranja M hermitska, i da je M = LL^{∗}, tada se algoritam može transformirati tako da se upotrijebi množenje samo sa matricom M. To ima smisla samo kod hermitskih sustava, pa se izvod takvog algoritma nalazi u sljedećem odjeljku kod prekondicioniranja MINRES metode.

2.6 MINRES i CG preko Lanczosovog algoritma

2.6.1 Lanczosov algoritam

U ovom odjeljku promatrat ćemo isključivo hermitske sustave. Kada je matrica sustava A hermitska, Arnoldijev algoritam može se pojednostaviti do trokoračne rekurzije poznate pod imenom Lanczosov algoritam. Naime, T_{k} = Q_{k}^{∗}AQ_{k} je hermitska ali i Hessenbergova matrica, pa prema tome mora biti tridijagonalna. Matrica Q_{k} = [q_{1} q_{2} ⋯ q_{k}] je n × k matrica sa ortonormiranim stupcima q_{i}, i = 1, …, k, za koju vrijedi AQ_{k} = Q_{k}T_{k} + t_{k+1,k}q_{k+1}ξ_{k+1}. Tridijagonalnost matrice T_{k} dosta pojednostavljuje algoritam.

Algoritam 2.6.1. Lanczosov algoritam

Dan je vektor q_{1} sa ∥q_{1}∥_{2} = 1, i β_{0} = 0.
Za j = 1, 2, …, n − 1

q̃_{j+1} = Aq_{j} − β_{j−1}q_{j−1},

α_{j} = ⟨q̃_{j+1}, q_{j}⟩,

q̃_{j+1} := q̃_{j+1} − α_{j}q_{j}.

β_{j} = ∥q̃_{j+1}∥_{2},

q_{j+1} = \frac{q̃_{j+1}}{β_{j}} .

Pokažimo sada da vektori konstruirani ovim algoritmom čine ortonormiranu bazu Krylovljevog potprostora odredenog sa matricom A i vektorom q_{1}. Prema samom Lanczosovom algoritmu vidi se da ti vektori zaista pripadaju Krylovljevom potprostoru i da su norme 1, zbog definicije skalara β_{j}. Iz definicije skalara α_{j} slijedi da je ⟨q_{j+1}, q_{j}⟩ = 0. Zbog dokaza, kojeg ćemo izvesti matematičkom indukcijom, pretpostavimo da vrijedi ⟨q_{k}, q_{i}⟩ = 0 za i ≠ j kada je k, i ≤ j. Tada

⟨q̃_{j+1}, q_{j−1}⟩ = ⟨Aq_{j} − α_{j}q_{j} − β_{j−1}q_{j−1}, q_{j−1}⟩ = ⟨Aq_{j}, q_{j−1}⟩ − β_{j−1} =
= ⟨q_{j}, Aq_{j−1}⟩ − β_{j−1} = ⟨q_{j}, q̃_{j} + α_{j−1}q_{j−1} + β_{j−2}q_{j−2}⟩ − β_{j−1} =
= ⟨q_{j}, q̃_{j}⟩ − β_{j−1} = ⟨q_{j}, β_{j−1}q_{j}⟩ − β_{j−1} = 0.

Kako je q̃_{j+1} = β_{j}q_{j+1}, to znači da smo pokazali da je ⟨q_{j+1}, q_{j−1}⟩ = 0. Za i < j − 1, imamo

⟨q̃_{j+1}, q_{i}⟩ = ⟨Aq_{j} − α_{j}q_{j} − β_{j−1}q_{j−1}, q_{i}⟩ =
= ⟨Aq_{j}, q_{i}⟩ = ⟨q_{j}, Aq_{i}⟩ =
= ⟨q_{j}, q̃_{i+1} + α_{i}q_{i} + β_{i−1}q_{i−1}⟩ = 0.

Prema tome, vektori q_{1}, …, q_{j+1} čine ortonormiranu bazu Krylovljevog potprostora span{q_{1}, Aq_{1}, …, A^{j}q_{1}}.

Kao i kod Arnoldijevog algoritma, Lanczosov algoritam može se u matričnom obliku napisati kao

AQ_{k} = Q_{k}T_{k} + β_{k}q_{k+1}ξ_{k}^{T} = Q_{k+1}T_{k+1,k},  (2.102)

gdje je Q_{k} n × k matrica sa ortonormiranim stupcima q_{1}, …, q_{k}, ξ_{k} je k-ti jedinični vektor, a T_{k} je k × k hermitska tridijagonalna matrica koeficijenata rekurzije:

T_{k} = [ \begin{matrix}α_{1} & β_{1} \\ β_{1} & ... & ... \\ & ... & ... & β_{k−1} \\ & & β_{k−1} & α_{k} \end{matrix} ] .  (2.103)

Gornji k × k blok (k + 1) × k matrice T_{k+1,k} je T_{k}, a zadnji redak joj je β_{k}ξ_{k}^{T}.

Kao što je već prije pokazano MINRES i CG algoritmi u svakom koraku generiraju aproksimaciju rješenja x_{k} iz Krylovljevog potprostora za koju je euklidska norma reziduala, odnosno A-norma greške minimalna. Lanczosov algoritam, kao i Arnoldijev, generira ortonormiranu bazu {q_{1}, …, q_{k}} za Krylovljev potprostor definiran sa A i r_{0}, pri čemu je q_{1} = r_{0}/β, β = ∥r_{0}∥_{2}, to znači da gore spomenuti algoritmi generiraju aproksimacije rješenja oblika

x_{k} = x_{0} + Q_{k}y_{k},  (2.104)

gdje je y_{k} izabran tako da minimizira odgovarajuću normu greške.

2.6.2 MINRES

Za MINRES algoritam, y_{k} u (2.104) rješava problem najmanjih kvadrata

min_{y∈ℂ^{k}} ∥r_{0} − AQ_{k}y∥_{2} = min_{y∈ℂ^{k}} ∥r_{0} − Q_{k+1}T_{k+1,k}y∥_{2} =
= min_{y∈ℂ^{k}} ∥Q_{k+1}(βξ_{1} − T_{k+1,k}y)∥_{2} =
= min_{y∈ℂ^{k}} ∥βξ_{1} − T_{k+1,k}y∥_{2},  (2.105)

slično GMRES algoritmu, samo što je ovdje situacija jednostavnija zbog hermitičnosti matrice A, odnosno T_{k}. Naime kod MINRES algoritma nema potrebe za spremanjem svih ortonormiranih vektora dobivenih iz Lanczosovog algoritma, jer u svakom koraku algoritma baratamo samo sa tri poslijednja vektora. Nadalje, razmotrimo način na koji možemo pojednostavniti GMRES algoritam za hermitsku matricu. Neka je R_{k} gornji k × k blok gornje trokutastog faktora QR faktorizacije matrice T_{k+1,k} = F^{(k)∗}R^{(k)}. Budući da je T_{k+1,k} tridijagonalna matrica, i da koristimo uzastopno množenje Givensovim rotacijama za dobivanje QR faktorizacije, kao i kod GMRES algoritma, R_{k} ima samo tri netrivijalne dijagonale. Definirajmo P_{k} = [p_{0} p_{1} … p_{k−1}] = Q_{k}R_{k}^{−1}, to možemo jer je R_{k} regularna ukoliko još nismo dostigli egzaktno rješnje. (vidi GMRES: (R_{k})_{k,k} = |(F^{(k−1)}T_{k})_{k,k}|^{2} + β_{k}^{2}, za F^{(k−1)} = F_{k−1} ⋯ F_{1}, i da bi to bilo jednako 0, mora biti i β_{k} = (T_{k+1,k})_{k+1,k} = 0, a u tom slučaju bi bilo AQ_{k} = Q_{k}T_{k}, pa bi zbog regularnosti matrice A matrica T_{k} i gornje trokutasta matrica F^{(k−1)}T_{k} bile regularne. To povlači (F^{(k−1)}T_{k})_{k,k} ≠ 0, odnosno (R_{k})_{k,k} ≠ 0, što je kontradikcija. Dakle, (R_{k})_{k,k} ≠ 0, a matematičkom indukcijom možemo zaključiti da su i svi ostali dijagonalni elementi matrice R_{k} različiti od nule, pa je R_{k} regularna. Osim toga za β_{k} = 0 bi i norma reziduala bila jednaka nuli pa bismo u tom koraku već našli rješenje.) Ako sa [0 … 0 r_{j−3}^{(j−1)} r_{j−2}^{(j−1)} r_{j−1}^{(j−1)} 0 … 0]^{T} označimo elemente j-tog stupca matrice R_{k}, tada

iz P_{k}R_{k} = Q_{k} dobivamo da je p_{0} = (1/r_{0}^{(0)})q_{1}, a ostali stupci mogu se dobiti iz sljedeće formule

p_{k−1} = \frac{1}{r_{k−1}^{(k−1)}} (q_{k} − r_{k−2}^{(k−1)}p_{k−2} − r_{k−3}^{(k−1)}p_{k−3}) .

Zbog gornje opservacije, ako još nismo došli do rješenja, r_{k−1}^{(k−1)} ≠ 0. Aproksimacija rješenja x_{k} tada se može dobiti iz x_{k−1} na sljedeći način

x_{k} = x_{0} + P_{k}β(F^{(k)}ξ_{1})_{k×1} =
= x_{0} + β[P_{k−1} p_{k−1}][(F^{(k−1)}ξ_{1})_{(k−1)×1} (F^{(k)}ξ_{1})_{k}]^{T} =
= x_{0} + βP_{k−1}(F^{(k−1)}ξ_{1})_{(k−1)×1} + β(F^{(k)}ξ_{1})_{k}p_{k−1} =
= x_{k−1} + β(F^{(k)}ξ_{1})_{k}p_{k−1},

jer je y_{k} = βR_{k}^{−1}(F^{(k)}ξ_{1})_{k×1} kao kod GMRES-a, a F_{k} kad djeluje na vektor utječe samo na k-tu i (k + 1)-u komponentu vektora. To rezultira sljedećom implementacijom MINRES algoritma.

Algoritam 2.6.2. MINRES (za hermitske matrice)

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

β = ∥r_{0}∥_{2},

q_{1} = \frac{r_{0}}{β} ,

l = (1, 0, …, 0)^{T} .

Za k = 1, 2, …

Izračunaj q_{k+1}, α_{k} = T (k, k) i β_{k} = T (k + 1, k) = T (k, k + 1), koristeći Lanczosov algoritam.

Primijeni F_{k−2} i F_{k−1} na zadnji stupac od T, odnosno:

ako je k > 2 tada [ \begin{matrix}T (k − 2, k) \\ T (k − 1, k) \end{matrix} ] := [ \begin{matrix}c_{k−2} & s_{k−2} \\ −s̄_{k−2} & c_{k−2} \end{matrix} ] [ \begin{matrix}0 \\ T (k − 1, k) \end{matrix} ] ,

ako je k > 1 tada [ \begin{matrix}T (k − 1, k) \\ T (k, k) \end{matrix} ] := [ \begin{matrix}c_{k−1} & s_{k−1} \\ −s̄_{k−1} & c_{k−1} \end{matrix} ] [ \begin{matrix}T (k − 1, k) \\ T (k, k) \end{matrix} ] .

Izračunaj k-tu Givensovu rotaciju F_{k} kako bi se poništio (k+1, k) element od T:

c_{k} = \frac{|T (k, k)|}{\sqrt{|T (k, k)|^{2} + |T (k + 1, k)|^{2}}} ,

ako je c_{k} ≠ 0 tada s_{k} = c_{k} \frac{\overline{T (k + 1, k)}}{\overline{T (k, k)}}, ako je c_{k} = 0 tada s_{k} = 1.

Primijeni k-tu rotaciju na l i na zadnji stupac od T:

[ \begin{matrix}l(k) \\ l(k + 1) \end{matrix} ] := [ \begin{matrix}c_{k} & s_{k} \\ −s̄_{k} & c_{k} \end{matrix} ] [ \begin{matrix}l(k) \\ 0 \end{matrix} ] ,

T (k, k) := c_{k}T (k, k) + s_{k}T (k + 1, k),

T (k + 1, k) = 0 (∗).

Izračunaj p_{k−1} = (1/T (k, k))[q_{k} − T (k − 1, k)p_{k−2} − T (k − 2, k)p_{k−3}], gdje su p_{−1}, p_{−2}, jednaki nuli.

x_{k} = x_{k−1} + βl(k)p_{k−1}.

(∗) T (k + 1, k) = 0 treba zapravo izvesti u sljedećem, (k + 1)-om koraku, jer je originalna vrijednost T (k + 1, k) potrebna za izvodenje (k + 1)-og koraka Lanczosovog algoritma.

2.6.3 Konjugirani gradijenti

Prema analizi razvoja metode konjugiranih gradijenata (CG), znamo da je y_{k} izabran tako da rezidual r_{k} bude ortogonalan na Krylovljev potprostor, odnosno na stupce matrice Q_{k}. Naime, za pozitivno definitnu matricu A biramo y_{k} koji minimizira A-normu greške e_{k} = e_{0} − Q_{k}y_{k}, pa tada, zbog toga što tražimo najbolju aproksimaciju vektora e_{0} u potprostoru unitarnog prostora sa ∥ · ∥_{A} normom, kojeg razapinju stupci od Q_{k}, vrijedi da je e_{k} A-ortogonalan na stupce od Q_{k}, to jest Q_{k}^{∗}Ae_{k} = Q_{k}^{∗}r_{k} = 0. Tada y_{k} za CG metodu zadovoljava

Q_{k}^{∗}(r_{0} − AQ_{k}y_{k}) = βξ_{1} − T_{k}y_{k} = 0,  (2.106)

odnosno, y_{k} je rješenje k × k linearnog sustava T_{k}y = βξ_{1}. Dok problem najmanjih kvadrata (2.105) uvijek ima rješenje, linearan sustav (2.106) ima jedinstveno rješenje ako i samo ako je T_{k} regularna. Kada je A pozitvno definitna hermitska matrica, tada je tridijagonalna matrica T_{k} = Q_{k}^{∗}AQ_{k}, takoder hermitska i pozitivno definitna, pa time i regularna, naravno ukoliko nismo došli do rješenja (ili kada je β_{k} = 0). Zbog toga je za matricu T_{k} izvediva faktorizacija Choleskog, odnosno T_{k} možemo svesti na oblik

T_{k} = L_{k}D_{k}L_{k}^{∗},  (2.107)

gdje su L_{k} donje trokutasta bidijagonalna matrica sa jediničnom dijagonalom, i D_{k} dijagonalna matrica. Ponovno ćemo iskoristiti hermitičnost matrice T_{k} kako ne bismo morali pamtiti sve vektore q_{1}, …, q_{k}. Faktorizacija (2.107) u svakom koraku lako se može dobiti iz prethodnog, budući da su L_{k} i D_{k} glavne k × k podmatrice matrica L_{k+1} i D_{k+1}. Ako definiramo P_{k} = [p_{0} p_{1} … p_{k−1}] = Q_{k}L_{k}^{−∗}, tada su stupci ovako definirane matrice P_{k} A-ortogonalni jer je

P_{k}^{∗}AP_{k} = L_{k}^{−1}Q_{k}^{∗}AQ_{k}L_{k}^{−∗} = L_{k}^{−1}T_{k}L_{k}^{−∗} = D_{k},

a budući da P_{k} zadovoljava jednadžbu P_{k}L_{k}^{∗} = Q_{k}, slijedi da je p_{0} = q_{1}, i da se svi ostali stupci matrice P_{k} mogu dobiti preko rekurzije

p_{k−1} = q_{k} − b̄_{k−1}p_{k−2},

gdje je b_{k−1} (k, k − 1) element sporedne dijagonale matrice L_{k}. Uzimajući u obzir ovu faktorizaciju, x_{k} = x_{0} + Q_{k}y_{k} za y_{k} = βT_{k}^{−1}ξ_{1} je tada dan sa

x_{k} = x_{0} + βQ_{k}T_{k}^{−1}ξ_{1} = x_{0} + βP_{k}D_{k}^{−1}L_{k}^{−1}ξ_{1} =
= x_{0} + β[P_{k−1} p_{k−1}][D_{k−1}^{−1}L_{k−1}^{−1}(ξ_{1})_{(k−1)×1} (D_{k}^{−1}L_{k}^{−1})_{k,1}]^{T} =
= x_{0} + βP_{k−1}D_{k−1}^{−1}L_{k−1}^{−1}(ξ_{1})_{(k−1)×1} + β(D_{k}^{−1}L_{k}^{−1})_{k,1}p_{k−1} =
= x_{k−1} + β(D_{k}^{−1}L_{k}^{−1})_{k,1}p_{k−1} =

Koeficijent β(D_{k}^{−1}L_{k}^{−1})_{k,1} je definiran, ukoliko je L_{k} invertibilna matrica, i (D_{k})_{k,k} ≠ 0, što vrijedi ako je T_{k} regularna. Preostali su samo tehnički računi za dobivanje skalara b_{k}, d_{k} = (D_{k})_{k,k}, i (D_{k}^{−1}L_{k}^{−1})_{k,1} = d_{k}^{−1}(L_{k}^{−1})_{k,1}.

Prema tome CG algoritam izveden preko Lanczosovog algoritma ima oblik Algoritam 2.6.3. CG

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

β = ∥r_{0}∥_{2},

q_{1} = \frac{r_{0}}{β} ,

c = 1,  d = 1,  f = 0.

Za k = 1, 2, …

Izračunaj q_{k+1}, α_{k} = T (k, k) i β_{k} = T (k + 1, k) = T (k, k + 1), koristeći Lanczosov algoritam.

Izračunaj p_{k−1} = q_{k} − c̄p_{k−2}, gdje je p_{−1} = 0.

f = T (k, k) − f · |c|^{2},

x_{k} = x_{k−1} + βf^{−1}dp_{k−1}.

c = \frac{T (k + 1, k)}{f},

d = −c · d,

Promotrimo sada neka svojstva CG algoritma dobivenog preko Lanczosovog algoritma, i pokušajmo pronaći vezu izmedu ovog algoritma (LCG) i CG algoritma dobivenog preko minimizacije kvadratne forme (kfCG). Najprije obratimo pažnju na izraz za rezidual u k-tom koraku LCG algoritma koji je sljedećeg oblika:

r_{k} = r_{0} − AQ_{k}y_{k} = βQ_{k}ξ_{1} − Q_{k}T_{k}y_{k} − β_{k+1}(q_{k+1}ξ_{k}^{T})y_{k} =
= Q_{k}(βξ_{1} − T_{k}y_{k}) − β_{k+1}ξ_{k}^{T} y_{k}q_{k+1} =
= −β_{k+1}ξ_{k}^{T} y_{k}q_{k+1}.  (2.108)

Dakle, rezidual r_{k} je vektor istog smjera kao i q_{k+1}, što rezultira zaključkom kako su vektori reziduala medusobno ortogonalni. Uz to, već smo prije pokazali da su vektori p_{k} medusobno A-ortogonalni i da je p_{0} = q_{1} = βr_{0}. Iz (2.108) slijedi

−β_{k+1}ξ_{k}^{T} y_{k}p_{k} = r_{k} + b̄_{k}β_{k+1}ξ_{k}^{T} y_{k}p_{k−1},

pa ako sa p̃_{k} definiramo

p̃_{k} = −β_{k+1}ξ_{k}^{T} y_{k}p_{k},

imamo

p̃_{k} = r_{k} + β̃_{k}p̃_{k−1},

pri čemu je

β̃_{k} = −b̄_{k} \frac{β_{k+1}ξ_{k}^{T} y_{k}}{β_{k}ξ_{k−1}^{T}y_{k−1}} .

Za k = 1 p̃_{0} = βr_{0} i β̃_{1} = −(β_{2}ξ_{1}^{T} y_{1})/β. Nadalje je

x_{k} = x_{k−1} + α̃_{k−1}p̃_{k−1},

pri čemu je

α̃_{k−1} = −\frac{β(D_{k}^{−1}L_{k}^{−1})_{k,1}}{β_{k}ξ_{k−1}^{T}y_{k−1}} ,

a za k = 1 je α̃_{0} = −β(D_{1}L_{1})_{1,1}/β. Time smo dobili analogne rekurzivne jednadžbe za x_{k} i p̃_{k} kao i kod kfCG, kod kojih su koeficijenti α̃_{k} = ⟨r_{k}, r_{k}⟩/⟨Ap̃_{k}, p̃_{k}⟩ i β̃_{k} = ⟨r_{k}, r_{k}⟩/⟨r_{k−1}, r_{k−1}⟩ analogno definirani zbog ortogonalnosti vektora r_{k} i A-ortogonalnosti vektora p̃_{k}.

2.6.4 Prekondicionirani Lanczosov algoritam

Budući da se Lanczosov algoritam primjenjuje za rješavanje sustava sa hermitskom matricom, prekondicionirani sustav bi treba zadržati to svojstvo. Dakle, prije svega prekondicioniranje treba biti hermitsko, s time da zbog zadržavanja hermitičnosti matrica prekondicioniranja morala bi imati faktorizaciju oblika M = LL^{∗}. Za to bi najpogodnija bila pozitivno definitna matrica prekondicioniranja.

Sada promatramo primjenu Lanczosovog agoritma na prekondicionirani sustav L^{−1}A· ·L^{−∗}u = L^{−1}b, gdje je x = L^{−∗}u. Rezidual prekondicioniranog sustava, kojeg ćemo označiti sa r̂_{k} u k-tom koraku, sa rezidualom početnog sustava Ax = b, kojeg označavamo sa r_{k}, je u vezi preko relacije

r̂_{k} = L^{−1}r_{k},

čije norma je oblika

∥r̂_{k}∥_{2} = \sqrt{⟨L^{−1}r_{k}, L^{−1}r_{k}⟩} = \sqrt{⟨r_{k}, M^{−1}r_{k}⟩}.

Nadalje, ako sa q_{k} označimo vektore koji čine ortonormiranu bazu Krylovljevog potprostora prekondicioniranog sustava tada prvi korak j-te iteracije Lanczosovog algoritma daje

q̃_{j+1} = L^{−1}AL^{−∗}q_{j} − β_{j−1}q_{j−1}.

Ako sada označimo sa v_{i} = Lq_{i} i ṽ_{i} = Lq̃_{i} za svako i, tada imamo

ṽ_{j+1} = AM^{−1}v_{j} − β_{j}v_{j−1}.

sljedeći korak je

α_{j} = ⟨q̃_{j+1}, q_{j}⟩ = ⟨L^{−1}ṽ_{j+1}, L^{−1}v_{j}⟩ = ⟨ṽ_{j+1}, M^{−1}v_{j}⟩,

pa je zbog

q̃_{j+1} = q̃_{j+1} − α_{j}q_{j},
ṽ_{j+1} = ṽ_{j+1} − α_{j}v_{j}.

I na kraju,

β_{j} = ∥q̃_{j+1}∥_{2} = \sqrt{⟨L^{−1}ṽ_{j+1}, L^{−1}ṽ_{j+1}⟩} = \sqrt{⟨ṽ_{j+1}, M^{−1}ṽ_{j+1}⟩},

i

v_{j+1} = \frac{ṽ_{j+1}}{β_{j}} .

Ako još uvedemo dvije nove varijable w_{j} = M^{−1}v_{j} i w̃_{j+1} = M^{−1}ṽ_{j+1}, tada prekondicionirani Lanczosov algoritam možemo napisati na sljedeći način:

Algoritam 2.6.4. Prekondicionirani Lanczosov algoritam (za hermitske matrice A sa pozitivno definitnom matricom prekondicioniranja M).

Dan je vektor r_{0},

riješi Mw̃_{1} = r_{0},

β_{0} = \sqrt{⟨r_{0}, w̃_{1}⟩},

v_{1} = \frac{r_{0}}{β_{0}} ,

w_{1} = \frac{w̃_{1}}{β_{0}} ,

v_{0} = 0.

Za j = 1, 2, …, n − 1

ṽ_{j+1} = Aw_{j} − β_{j−1}v_{j−1},

α_{j} = ⟨ṽ_{j+1}, w_{j}⟩,

ṽ_{j+1} := ṽ_{j+1} − α_{j}v_{j},

riješi Mw̃_{j+1} = ṽ_{j+1},

β_{j} = \sqrt{⟨ṽ_{j+1}, w̃_{j+1}⟩},

v_{j+1} = \frac{ṽ_{j+1}}{β_{j}} ,

w_{j+1} = \frac{w̃_{j+1}}{β_{j}} .

Ako se Algoritam 2.6.2 i Algoritam 2.6.3 primijene direktno na prekondicionirani sustav i ako sa x̂_{k} i p̂_{k} označimo iteraciju i vektor smjera generirani pomoću danih algoritama, i ako tada uzmemo da je x_{k} = L^{−∗}x̂_{k} i p_{k} = L^{−∗}p̂_{k}, tada prekondicionirani algoritmi imaju oblik :

Algoritam 2.6.5. Prekondicionirani MINRES (za hermitske matrice sa pozitivno definitnom matricom prekondicioniranja)

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

riješi Mz_{0} = r_{0},

β = \sqrt{⟨r_{0}, z_{0}⟩},

v_{1} = \frac{r_{0}}{β} ,

w_{1} = \frac{z_{0}}{β} ,

l = (1, 0, …, 0)^{T} .

Za k = 1, 2, …

Izračunaj v_{k+1}, w_{k+1}, α_{k} = T (k, k) i β_{k} = T (k + 1, k) = T (k, k + 1), koristeći prekondicionirani Lanczosov algoritam.

Primijeni F_{k−2} i F_{k−1} na zadnji stupac od T, odnosno:

ako je k > 2 tada [ \begin{matrix}T (k − 2, k) \\ T (k − 1, k) \end{matrix} ] := [ \begin{matrix}c_{k−2} & s_{k−2} \\ −s̄_{k−2} & c_{k−2} \end{matrix} ] [ \begin{matrix}0 \\ T (k − 1, k) \end{matrix} ] ,

ako je k > 1 tada [ \begin{matrix}T (k − 1, k) \\ T (k, k) \end{matrix} ] := [ \begin{matrix}c_{k−1} & s_{k−1} \\ −s̄_{k−1} & c_{k−1} \end{matrix} ] [ \begin{matrix}T (k − 1, k) \\ T (k, k) \end{matrix} ] .

Izračunaj k-tu Givensovu rotaciju F_{k} kako bi se poništio (k+1, k) element od T:

c_{k} = \frac{|T (k, k)|}{\sqrt{|T (k, k)|^{2} + |T (k + 1, k)|^{2}}} ,

ako je c_{k} ≠ 0 tada s_{k} = c_{k} \frac{\overline{T (k + 1, k)}}{\overline{T (k, k)}}, ako je c_{k} = 0 tada s_{k} = 1.

Primijeni k-tu rotaciju na l i na zadnji stupac od T:

[ \begin{matrix}l(k) \\ l(k + 1) \end{matrix} ] := [ \begin{matrix}c_{k} & s_{k} \\ −s̄_{k} & c_{k} \end{matrix} ] [ \begin{matrix}l(k) \\ 0 \end{matrix} ] ,

T (k, k) := c_{k}T (k, k) + s_{k}T (k + 1, k),

T (k + 1, k) = 0 (∗).

Izračunaj p_{k−1} = (1/T (k, k))[w_{k} −T (k −1, k)p_{k−2} −T (k −2, k)p_{k−3}], gdje su p_{−1}, p_{−2}, jednaki nuli.

x_{k} = x_{k−1} + βl(k)p_{k−1}.

(∗) T (k + 1, k) = 0 treba zapravo izvesti u sljedećem, (k + 1)-om koraku, jer je originalna vrijednost T (k + 1, k) potrebna za izvodenje (k + 1)-og koraka Lanczosovog algoritma.

Algoritam 2.6.6. Prekondicionirani CG (sa pozitivno definitnom matricom prekondicioniranja)

Dana je početna iteracija x_{0},

riješi Mz_{0} = r_{0},

r_{0} = b − Ax_{0},

β = \sqrt{⟨r_{0}, z_{0}⟩},

v_{1} = \frac{r_{0}}{β} ,

w_{1} = \frac{z_{0}}{β} ,

c = 1,  d = 1,  f = 0.

Za k = 1, 2, …

Izračunaj v_{k+1}, w_{k+1}, α_{k} = T (k, k) i β_{k} = T (k + 1, k) = T (k, k + 1), koristeći prekondicionirani Lanczosov algoritam.

Izračunaj p_{k−1} = w_{k} − c̄p_{k−2}, gdje je p_{−1} = 0.

f = T (k, k) − f · |c|^{2},

x_{k} = x_{k−1} + βf^{−1}dp_{k−1}.

c = \frac{T (k + 1, k)}{f},

d = −c · d,

2.7 BCG i srodne metode

Budući da GMRES metoda za nehermitske probleme svakom iteracijom povećava količinu posla kojeg se treba obaviti i memorije koju treba zauzeti, pojavila se potreba za razvojem drugačijih metoda koje bi zahtijevale fiksnu količinu posla i memorije po iteraciji. Takve metode, kao što će se pokazati, ipak imaju neke nedostatke. Na primjer, one mogu reducirati euklidsku normu reziduala na odredenu veličinu sa više iteracija nego standardne metode. Osim toga, ovi algoritmi mogu zakazati, iako se to može izbjeći tzv. provjerama unaprijed. Medutim, provjerama unaprijed ponovo gubimo svojstvo fiksnog posla i memorije, pa zahtjev za njima raste iz iteracije u iteraciju kao kod GMRES-a.

2.7.1 Dvostrani Lanczosov algoritam

Dvostrani Lanczosov algoritam je proširenje simetričnog Lanczosovog algoritma na nesimetrične matrice, tako da se, umjesto jedne trokoračne rekurzije, dobiva par trokoračnih rekurzija, jedna vezana uz A, a druga uz A^{∗}. Za razliku od Arnoldijevog algoritma, ova metoda konstruira biortogonalne baze za dva Krylovljeva potprostora, jednog definiranog za matricu A

K_{k}(A, v_{1}) = span{v_{1}, Av_{1}, …, A^{k−1}v_{1}},

i drugog definiranog za matricu A^{∗}

K_{k}(A^{∗}, w_{1}) = span{w_{1}, A^{∗}w_{1}, …, (A^{∗})^{k−1}w_{1}}.

Biortogonalnost se očituje u svojstvu

⟨v_{i}, w_{j}⟩ = 0, za i ≠ j.

Algoritam je sljedeći.

Algoritam 2.7.1. Dvostrani Lanczosov algoritam

Dani su vektori v_{1} i w_{1} sa ∥v_{1}∥_{2} = 1 i ⟨v_{1}, w_{1}⟩ = 1.

Neka su β_{0} = γ_{0} = 0 i v_{0} = w_{0} = 0.

Za j = 1, 2, …

Izračunaj Av_{j} i A^{∗}w_{j},

α_{j} = ⟨Av_{j}, w_{j}⟩,

ṽ_{j+1} = Av_{j} − α_{j}v_{j} − β_{j−1}v_{j−1},

w̃_{j+1} = A^{∗}w_{j} − ᾱ_{j}w_{j} − γ_{j−1}w_{j−1},

γ_{j} = ∥ṽ_{j+1}∥_{2},

v_{j+1} = \frac{ṽ_{j+1}}{γ_{j}} ,

β_{j} = ⟨v_{j+1}, w̃_{j+1}⟩,

ako je β_{j} = 0 stani, inače

w_{j+1} = \frac{w̃_{j+1}}{β̄_{j}} .

U ovom algoritmu vektori baze su skalirani tako da vektori v_{j} imaju normu 1, i da je ⟨v_{j}, w_{j}⟩ = 1.

Neka je V_{k} matrica sa stupcima v_{1}, …, v_{k} i W_{k} matrica sa stupcima w_{1}, …, w_{k}, tada se par rekurzija iz gornjeg algoritma može napisati u matričnom obliku kao

AV_{k} = V_{k}T_{k} + γ_{k}v_{k+1}ξ_{k}^{T} = V_{k+1}T_{k+1,k},  (2.109)
A^{∗}W_{k} = W_{k}T_{k}^{∗} + β̄_{k}w_{k+1}ξ_{k}^{T} = W_{k+1}T̂_{k+1,k},  (2.110)

gdje je T_{k} k × k tridijagonalna matrica koeficijenata rekurzije

T_{k} = [ \begin{matrix}α_{1} & β_{1} \\ γ_{1} & ... & ... \\ & ... & ... & β_{k−1} \\ & & γ_{k−1} & α_{k} \end{matrix} ] .

(k + 1) × k matrice T_{k+1,k} i T̂_{k+1,k} imaju T_{k} odnosno T_{k}^{∗} kao gornji k × k blok, i zadnji red popunjen s nulama osim (k + 1, k) elementa koji je jednak γ_{k} odnosno β̄_{k}. Svojstvo biortogonalnosti matrično se može napisati kao

V_{k}^{∗}W_{k} = I.

Primijetimo da ako je A = A^{∗} i w_{1} = v_{1}, tada se dvostrani Lanczosov algoritam svodi na obični Lanczosov algoritam za hermitske matrice. Takoder primijetimo, da prema algoritmu vektori v_{j} pripadaju potprostoru K_{k}(A, v_{1}), a vektori w_{j} su u K_{k}(A^{∗}, w_{1}). Zapravo, može se pokazati sljedeći teorem.

Teorem 2.7.2 ([12]). Ako dvostrani Lanczosov algoritam ne zakaže do k-tog koraka, a to znači da su definirani svi vektori v_{j} i w_{j} iz dvostranog Lanczosovog algoritma, odnosno da je ⟨v_{j}, w_{j}⟩ ≠ 0 za j = 1, …, k + 1, tada je

⟨v_{i}, w_{j}⟩ = 0 za svake i, j ≤ k + 1, i ≠ j.

Dokaz: Dokaz se provodi indukcijom. Pretpostavimo da tvrdnja teorema vrijedi za i, j ≤ k. Izbor koeficijenata β_{j} i γ_{j} u algoritmu osigurava da je za sve j ⟨v_{j}, w_{j}⟩ = 1 i da je ∥v_{j}∥_{2} = 1. Prema definiciji koeficijenta α_{k}, zbog pretpostavke indukcije, imamo

⟨ṽ_{k+1}, w_{k}⟩ = ⟨Av_{k}, w_{k}⟩ − α_{k}⟨v_{k}, w_{k}⟩ − β_{k−1}⟨v_{k−1}, w_{k}⟩ = ⟨Av_{k}, w_{k}⟩ − α_{k} = 0
⟨w̃_{k+1}, v_{k}⟩ = ⟨A^{∗}w_{k}, v_{k}⟩ − ᾱ_{k}⟨w_{k}, v_{k}⟩ − γ_{k−1}⟨w_{k−1}, v_{k}⟩ = \overline{⟨Av_{k}, w_{k}⟩} − ᾱ_{k} = 0

Iz rekurzivnih jednakosti za ṽ_{k+1} i w̃_{k} zajedno sa pretpostavkom indukcije imamo

⟨ṽ_{k+1}, w_{k−1}⟩ = ⟨Av_{k}, w_{k−1}⟩ − α_{k}⟨v_{k}, w_{k−1}⟩ − β_{k−1}⟨v_{k−1}, w_{k−1}⟩ =
= ⟨Av_{k}, w_{k−1}⟩ − β_{k−1} = ⟨v_{k}, A^{∗}w_{k−1}⟩ − β_{k−1} =
= ⟨v_{k}, w̃_{k}⟩ + α_{k−1}⟨v_{k}, w_{k−1}⟩ + γ_{k−2}⟨v_{k}, w_{k−2}⟩ − β_{k−1} =
= ⟨v_{k}, w̃_{k}⟩ − β_{k−1} = 0,

a slično slijedi i da je ⟨w̃_{k+1}, v_{k−1}⟩ = 0. I na kraju, za j < k − 1, imamo

⟨ṽ_{k+1}, w_{j}⟩ = ⟨Av_{k}, w_{j}⟩ − α_{k}⟨v_{k}, w_{j}⟩ − β_{k−1}⟨v_{k−1}, w_{j}⟩ =
= ⟨Av_{k}, w_{j}⟩ = ⟨v_{k}, A^{∗}w_{j}⟩ =
= ⟨v_{k}, w̃_{j+1}⟩ + α_{j}⟨v_{k}, w_{j}⟩ + γ_{j−1}⟨v_{k}, w_{j−1}⟩ = β_{j}⟨v_{k}, w_{j+1}⟩ = 0,

slično slijedi i ⟨w̃_{k+1}, v_{j}⟩ = 0. Budući da su v_{k+1} i w_{k+1} samo multipli od ṽ_{k+1} i w̃_{k+1} tvrdnja teorema je dokazana za svako k.

U ovom algoritmu matrice A i A^{∗} imaju dualne uloge, jer su nad njima izvršene slične operacije. Zapravo, indirektno se rješavaju dva linearna sustava, jedan sa A i drugi sa A^{∗}. Ako to zaista trebamo, onda je ovaj algoritam pogodan za takve zahtjeve, medutim ukoliko nam ne treba rješenje sustava sa matricom A^{∗}, operacije s njom su zapravo potrošene uzalud.

Sa praktičnog stanovišta dvostrani Lanczosov algoritam ima značajnu prednost nad Arnoldijevim algoritmom jer zahtijeva pamćenje samo nekoliko vektora, konkretnije šest vektora duljine n, plus okupacija memorija za smještaj tridijagonalne matrice.

S druge strane, u ovom algoritmu postoje potencijalne mogućnosti zakazivanja, a to je slučaj kada Lanczosovi vektori, iz nekog razloga nisu definirani, to jest kada je β_{j} = 0. U praksi se problemi često javljaju kada se dogodi “skoro” zakazivanje, to jest kada se Lanczosovi vektori moraju skalirati sa malim koeficijentima. Nakon nekoliko koraka akumulirani efekt tih skaliranja može dovesti do pojave prekomjernih grešaka zaokruživanja. Postoje dvije različite situacije kada može doći do zakazivanja. Prvo, ako je ṽ_{j+1} = 0 ili w̃_{j+1} = 0, tada je dvostrani Lanczosov algoritam pronašao invarijantni potprostor. Ako je ṽ_{j+1} = 0, tada Lanczosovi vektori v_{1}, …, v_{j} razapinju A-invarijantni potprostor, a kao što ćemo kasnije vidjeti, BICG algoritam dostići će egzaktno rješenje. Ako je w̃_{j+1} = 0, tada Lanczosovi vektori w_{1}, …, w_{j} razapinju A^{∗}-invarijantni potprostor. U toj situaciji ništa ne možemo reći o aproksimaciji rješenja susutava sa matricom A. S druge strane, ako se algoritam koristi za rješavanje para linearnih susutava, jednog sa A, i drugog dualnog sustava sa A^{∗}, tada u tom slučaju aproksimacija dualnog sustava je egzaktno rješenje. Ovakav slučaj označavamo kao regularno zaustavljanje.

Drugi slučaj, kojeg označavamo kao ozbiljni slom algoritma, nastupa kada je ⟨ṽ_{j+1}, w̃_{j+1}⟩ = 0, ali niti jedan od vektora ṽ_{j+1} i w̃_{j+1} nije jednak nuli. U tom slučaju, netrivijalni vektori v_{j+1} ∈ K_{j+1}(A, v_{1}) i w_{j+1} ∈ K_{j+1}(A^{∗}, w_{1}) sa svojstvom da je ⟨v_{j+1}, w_{i}⟩ = ⟨w_{j+1}, v_{i}⟩ = 0 za i ≤ j jednostavno ne postoje. Primijetimo da iako takvi vektori ne moraju postojati u (j + 1)-om koraku, u nekom kasnijem (j + k)-tom koraku oni mogu postojati. Procedure koje jednostavno preskaču korake u kojima su Lanczosovi vektori nedefinirani, i koji omogučavaju da se algoritam nastavi izvršavati u večini slučajeva, označavamo kao Lanczosove algoritme sa provjerama unaprijed. U nastavku biti će prikazan Lanczosov algoritam sa provjerom unaprijed kako su ga opisali Parlett, Taylor i Liu u [31].

Glavna ideja koju koristi Lanczosov algoritam sa provjerama unaprijed je da par v_{j+2}, w_{j+2} često može biti definiran iako v_{j+1}, w_{j+1} nisu definirani. Ako pak niti par v_{j+2}, w_{j+2} nije definiran, onda se može pokušati sa parom v_{j+3}, w_{j+3}, itd. Da bi bolje opisali ideju provjera unaprijed, potrebno je vratiti se na vezu Lanczosovih vektora sa polinomima. Prema definiciji dvostranog Lanczosovog algoritma, ukoliko ne dode do zakazivanja, u k tom koraku imamo definirane vektore v_{1}, …, v_{k+1} i w_{1}, …, w_{k+1} koje možemo napisati na sljedeći način

v_{j+1} = \frac{1}{∏_{i=1}^{j} γ_{i}} p_{j}(A)v_{1},

w_{j+1} = \frac{1}{∏_{i=1}^{j} β̄_{i}} p̄_{j}(A^{∗})w_{1},

pri čemu je p_{j} ∈ ℙ_{j} polinom koji je rekurzivno zadan sa

p_{0}(t) = 1,
p_{j}(t) = (t − α_{j})p_{j−1}(t) − β_{j−1}γ_{j−1}p_{j−2}(t),

a lako se može pokazati da je p_{j} karakteristični polinom trodijagonalne matrice T_{j}. Dakle isti se polinom pojavljuje u definicijama za v_{j+1} i w_{j+1}, samo što se kod w_{j+1} radi o konjugiranom i skaliranom polinomu p_{j} iz definicije vektora v_{j+1}. Ako definiramo Krylovljeve matrice

K_{k+1} = [v_{1} Av_{1} … A^{k}] i N_{k+1} = [w_{1} A^{∗}w_{1} … (A^{∗})^{k}w_{1}],

tada prethodne rekurzije za polinome možemo napisati u sljedećem matričnom obliku

V_{k+1} = K_{k+1}Z_{k+1}^{−1}G_{k+1}^{−1},

W_{k+1} = N_{k+1}Z̄_{k+1}^{−1}H̄_{k+1}^{−1},

gdje su

G_{k+1} = diag(1, γ_{1}, γ_{1}γ_{2}, …, ∏_{i=1}^{k} γ_{k}), H_{k+1} = diag(1, β_{1}, β_{1}β_{2}, …, ∏_{i=1}^{k} β_{i}),

a Z_{k+1} je gornje trokutasta matrica sa jediničnom dijagonalom, takva da matrica Z_{k+1}^{−1} ima smještene koeficijente polinoma p_{j} u j-tom stupcu, iznad dijagonale. Sada definirajmo matricu momenta kao

M_{k+1} = N_{k+1}^{∗}K_{k+1},

gdje je (M_{k+1})_{i+1,j+1} = w_{1}^{∗}A^{i+j}v_{1}. Budući da vrijedi W_{k+1}^{∗}V_{k+1} = I, imamo

I = H_{k+1}^{−1}Z_{k+1}^{−T}N_{k+1}^{∗}K_{k+1}Z_{k+1}^{−1}G_{k+1}^{−1},

odakle slijedi

M_{k+1} = Z_{k+1}^{T}D_{k+1}Z_{k+1},  (2.111)

za D_{k+1} = H_{k+1}G_{k+1}. Ako sada označimo matrice L_{k+1} = Z_{k+1}^{T} i U_{k+1} = D_{k+1}Z_{k+1} tada vidimo da je dvostrani Lanczosov algoritam ekvivalentan računanju LU faktorizacije matrice momenta M_{k+1}, odnosno računanju M_{k+1} = L_{k+1}U_{k+1}, gdje je produkt d_{j} = ∏_{i=1}^{j−1}(β_{i}γ_{i}) j-ti pivotni element u izvodenju Gaussovih eliminacija na matrici M_{k+1}.

Dakle, kod pojave ozbiljnog sloma, kada je β_{k} = 0 ili vrlo mali, pivotni element je tada isto jednak ili približno jednak nuli. Da bi se izbjeglo dijeljenje sa nulom kao pivotni element se tada uzima 2 × 2 matrica umjesto 1 × 1, pa se onda istovremeno računaju v_{k+1} i v_{k+2}, kao i w_{k+1} i w_{k+2}. Znači, nakon k-tog koraka standardnog algoritma imamo

ṽ_{k+1} = Av_{k} − α_{k}v_{k} − β_{k−1}v_{k−1} = \frac{1}{∏_{i=1}^{k−1} γ_{k}} p_{k}(A)v_{1},

w̃_{k+1} = A^{∗}w_{k} − ᾱ_{k}w_{k} − γ_{k−1}w_{k−1} = \frac{1}{∏_{i=1}^{k−1} β̄_{k}} p_{k}(A^{∗})w_{1}.

Umjesto normaliziranja ṽ_{k+1} i w̃_{k+1} za dobivanje vektora v_{k+1} i w_{k+1} mi ćemo potražiti bilo koja dva vektora ṽ_{k+2} i w̃_{k+2} takve da je

span{ṽ_{k+1}, ṽ_{k+2}} = span{v_{k+1}, v_{k+2}},

i

span{w̃_{k+1}, w̃_{k+2}} = span{w_{k+1}, w_{k+2}}.

Najjednostavniji izbor je

ṽ_{k+2} = Aṽ_{k+1} − ω_{k+1}v_{k},

i

w̃_{k+2} = A^{∗}w̃_{k+1} − ω̄_{k+1}w_{k}.

Koeficijent ω_{k} osigurava ortogonalnost ṽ_{k+2} sa w_{1}, …, w_{k}, i w̃_{k+2} sa v_{1}, …, v_{k}. Naime, za j < k to već vrijedi jer

⟨ṽ_{k+2}, w_{j}⟩ = ⟨Aṽ_{k+1}, w_{j}⟩ − ω_{k+1}⟨v_{k}, w_{j}⟩ = ⟨ṽ_{k+1}, A^{∗}w_{j}⟩ = 0,

zbog toga što je A^{∗}w_{j} ∈ K_{j+1}(A^{∗}, w_{1}) ⊆ K_{k}(A^{∗}, w_{1}), a ṽ_{k+1} je okomit na K_{k}(A^{∗}, w_{1}) prema definiciji. Analogno vrijedi i za w̃_{k+2} i v_{j}. Koeficijent ω_{k+1} dobije se iz uvjeta ortogonalnosti ṽ_{k+2} i w_{k} ili w̃_{k+2} sa v_{k}, gdje u oba slučaja ispada da je ω_{k+1} = ⟨ṽ_{k+1}, w̃_{k+1}⟩. Na primjer,

0 = ⟨ṽ_{k+2}, w_{k}⟩ = ⟨Aṽ_{k+1}, w_{k}⟩ − ω_{k+1}⟨v_{k}, w_{k}⟩,

pa slijedi, zbog prethodno provjerenih ortogonalnosti, da je

ω_{k+1} = ⟨ṽ_{k+1}, A^{∗}w_{k}⟩ = ⟨ṽ_{k+1}, w̃_{k+1}⟩.

Iz prethodnih definicija takoder se može provjeriti da je

θ_{k+1} = ⟨ṽ_{k+2}, w̃_{k+1}⟩ = ⟨ṽ_{k+1}, w̃_{k+2}⟩ = ⟨Aṽ_{k+1}, w̃_{k+1}⟩.

Sada definirajmo sljedeće matrice

Ṽ_{k+1,k+2} = [ṽ_{k+1} ṽ_{k+2}],  W̃_{k+1,k+2} = [w̃_{k+1} w̃_{k+2}],

i matricu

C_{k+1} = W̃_{k+1,k+2}^{∗}Ṽ_{k+1,k+2} = [ \begin{matrix}ω_{k+1} & θ_{k+1} \\ θ_{k+1} & ω_{k+2} \end{matrix} ] .

Ideja je sljedeća: ukoliko je C_{k+1} regularna, trebamo pronaći neku njenu faktorizaciju

C_{k+1} = W̃_{k+1,k+2}^{∗}Ṽ_{k+1,k+2} = R_{k+1}S_{k+1},

koju možemo preformulirati u

I = R_{k+1}^{−1}W̃_{k+1,k+2}^{∗}Ṽ_{k+1,k+2}S_{k+1}^{−1} = (W̃_{k+1,k+2}R_{k+1}^{−∗})(Ṽ_{k+1,k+2}S_{k+1}^{−1}).

Ako sada definiramo V_{k+1,k+2} = [v_{k+1} v_{k+2}] i W_{k+1,k+2} = [w_{k+1} w_{k+2}] sa

V_{k+1,k+2} = Ṽ_{k+1,k+2}S_{k+1}^{−1}, W_{k+1,k+2} = W̃_{k+1,k+2}R_{k+1}^{−∗},

Dobili smo tražene vektore v_{k+1}, v_{k+2}, w_{k+1} i w_{k+2} za koje vrijedi

W_{k+1,k+2}^{∗}V_{k+1,k+2} = I.

Na kraju, dvostrani Lanczosov algoritam sa provjerom u naprijed kreira blok tridijagonalnu matricu T_{j}

T_{j} = [ \begin{matrix}A_{1} & B_{1} \\ Γ_{1} & ... & ... \\ & ... & ... & B_{j−1} \\ & & Γ_{j−1} & A_{j} \end{matrix} ] .

Dijagonalni blokovi A_{k} su ili 1 × 1 ili 2 × 2 matrice, a matrice B_{k} i Γ_{k} su oblikovane adekvatno tome. Matrice Γ_{k} imaju jedan od sljedećih oblika

[x],  [0 x],  [ \begin{matrix}x \\ 0 \end{matrix} ] ,  [ \begin{matrix}0 & x \\ 0 & 0 \end{matrix} ] ,

gdje je x neki pozitivan broj. Takoder ispada da i matrice B_{k} imaju rang 1. Lijevi i desni Lancosovi vektori grupiraju se u svakom koraku, što označavamo isto sa v_{1}, …, v_{j} i w_{1}, …, w_{j} samo što su v_{i} i w_{i} nekad n × 1, a nekad n × 2 matrice. Oni zajedno tvore matrice V_{j} = [v_{1}, …, v_{j}] i W_{j} = [w_{1}, …, w_{j}]. Na kraju vrijedi ista jednakost kao i za standardni algoritam a to je

W_{j}^{∗}AV_{j} = T_{j}.

Dakle ako je ω_{k+1} = 0, tada dolazi do zakazivanja Lanczosovog algoritma, a ako je i B_{k+1} singularna tada trebamo promatrati slučajeve veće dimenzije od 2. Takoder izbor faktorizacije uvjetuje oblik metode, vidi [31]. Loša strana metode sa provjerom unaprijed je da njena implementacija značajno povećava složenost algoritma. Osim problema identificiranja situacija kod koje je došlo do skorog sloma, matrica T_{k} još gubi i svoj tridijagonalni oblik. Naime na mjestu gdje smo pokušali savladati slom pojavljuju se elementi i izvan dosadašnjih triju dijagonala. Kada se Lanzcosova metoda koristi za rješavanje linearnih sustava, zakazivanje metode i nije tako katastrofalno. Naime, jednostavnije i jeftinije bi bilo, restartati metodu nego implementirati metodu sa pogledom unaprijed.

2.7.2 Bikonjugirani gradijenti (BCG)

Ako pretpostavimo da dvostrani Lanczosov algoritam neće zakazati, tada vektori baza Krylovljevih prostora K_{k}(A, r_{0}) i K_{k}(A^{∗}, r̂_{0}) generirani tim algoritmom mogu biti iskotišteni za računanje aproksimacije rješenja susutava Ax = b, sa početnom iteracijom x_{0} i rezidualom r_{0} = b − Ax_{0}, na isti način kao i kod hermitskog slučaja. Dakle, uzet ćemo x_{k} oblika

x_{k} = x_{0} + V_{k}y_{k},

i onda nam još preostaje izbor y_{k}, vektora dimenzije k. Ako uzmemo da je v_{1} = r_{0}/∥r_{0}∥_{2} i kao vektor w_{1} uzmemo proizvoljni vektor za kojeg je ⟨v_{1}, w_{1}⟩ = 1, time su jedinstveno definirani Krylovljevi prostori K_{k}(A, v_{1}) i K_{k}(A^{∗}, w_{1}), kao i Lanczosovi vektori v_{1}, …, v_{k} i w_{1}, …, w_{k} za svako k. Jedan od prirodnih izbora vektora y_{k} u k-toj iteraciji metode bio bi takav da odgovarajući r_{k} = r_{0} − AV_{k}y_{k} bude ortogonalan na K_{k}(A^{∗}, w_{1}), odnosno na vektore w_{1}, …, w_{k}. To nas vodi do jednakosti

W_{k}^{∗}r_{k} = W_{k}^{∗}r_{0} − W_{k}^{∗}AV_{k}y_{k} = 0.

Zbog biortogonalnosti Lanczosovih vektora i zbog (2.109) slijedi da je W_{k}^{∗}r_{0} = βξ_{1}, sa β = ∥r_{0}∥_{2}, i W_{k}^{∗}AV_{k} = T_{k}, stoga jednadžba za y_{k} izgleda ovako,

T_{k}y_{k} = βξ_{1}.  (2.112)

Kao i kod hermitskog slučaja, i za dvostrani Lanczosov algoritam, uz izbor y_{k} koji zadovoljava (2.112), zbog (2.109) rezidual ima oblik

r_{k} = r_{0} − AV_{k}y_{k} = r_{0} − V_{k}T_{k}y_{k} − γ_{k}ξ_{k}^{T} y_{k}v_{k+1} =
= V_{k}(βξ_{1} − T_{k}y_{k}) − γ_{k}ξ_{k}^{T} y_{k}v_{k+1} = −γ_{k}ξ_{k}^{T} y_{k}v_{k+1},

odnosno on je u smjeru v_{k+1} i zaista je ortogonalan na vektore w_{1}, …, w_{k}.

Ako pak, paralelno rješavamo i dualni sustav A^{∗}x̂ = b̂, tada bi w_{1} bio definiran kao skalirani početni rezidual r̂_{0} = b̂ − A^{∗}x̂_{0}, odnosno bilo bi w_{1} = r̂_{0}/⟨r̂_{0}, v_{1}⟩. Pa, čak ako nam rješenje dualnog problema i ne treba, vektor w_{1} uvijek možemo smatrati kao početni rezidual za neki dualni sustav. Po analogiji stvari, u svakom koraku bi se tražilo aproksimativno rješenje dualnog sustava x̂_{k} = x̂_{0} + W_{k}ŷ_{k}, uz izbor vektora ŷ_{k}, takvog da je r̂_{k} = r̂_{0} − A^{∗}W_{k}ŷ_{k} okomit na vektore v_{1}, …, v_{k}. Istim postupkom kao i za r_{k} može se pokazati da je r̂_{k} = −β̄_{k}ξ_{k}^{T} ŷ_{k}w_{k+1}. Dakle, ovakvim postupkom dobili smo reziduale našeg polaznog i njemu dualnog sustava koji su medusobno biortogonalni.

Dalje nastavljamo kao kod dobivanja algoritma za konjugirane gradijente preko hermitskog Lanczosovog algoritma, i zapisujemo LU dekompoziciju od T_{k} kao

T_{k} = L_{k}U_{k}

i definiramo

P_{k} = V_{k}U_{k}^{−1}.

Aproksimacija rješenja u k-tom koraku tada se može izraziti kao

x_{k} = x_{0} + V_{k}T_{k}^{−1}(βξ_{1}) = x_{0} + V_{k}U_{k}^{−1}L_{k}^{−1}(βξ_{1}) =
= x_{0} + P_{k}L_{k}^{−1}(βξ_{1}).

Takoder aproksimacija x_{k} može se dobiti iz x_{k−1} na sličan način kao kod konjugiranih gradijenata. Sve to možemo definirati i za dualni problem, pa definirajmo matricu

P̂_{k} = W_{k}L_{k}^{−∗}.

Vektori p̂_{k} koji čine stupce od P̂_{k} i vektori p_{k} koji čine stupce od P_{k} su A-konjugirani jer

P̂_{k}^{∗}AP_{k} = L_{k}^{−1}W_{k}^{∗}AV_{k}U_{k}^{−1} = L_{k}^{−1}T_{k}U_{k}^{−1} = I.

Dakle, dobili smo niz reziduala r_{k} i r̂_{k} koji su biortogonalni, i niz vektora smjera p_{k} i p̂_{k} koji su A-ortogonalni, i kao kod konjugiranih gradijenata možemo dobiti rekurzivne relacije koje ih definiraju. Sa ovim napomenama, lako možemo dobiti algoritam koji liči na konjugirane gradijente iz dvostranog Lanczosevog algoritma i kojeg nazivamo algoritmom bikonjugiranih gradijenata.

Algoritam 2.7.3. Bikonjugirani gradijenti (BCG)

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0}.

Izaberi r̂_{0} takav da je ⟨r_{0}, r̂_{0}⟩ ≠ 0.

p_{0} = r_{0},

p̂_{0} = r̂_{0}.

Za k = 1, 2, …

izračunaj Ap_{k−1},

izračunaj A^{∗}p̂_{k−1},

α_{k−1} = \frac{⟨r_{k−1}, r̂_{k−1}⟩}{⟨Ap_{k−1}, p̂_{k−1}⟩},

x_{k} = x_{k−1} + α_{k−1}p_{k−1},

r_{k} = r_{k−1} − α_{k−1}Ap_{k−1},

r̂_{k} = r̂_{k−1} − ᾱ_{k−1}A^{∗}p̂_{k−1},

β_{k−1} = \frac{⟨r_{k}, r̂_{k}⟩}{⟨r_{k−1}, r̂_{k−1}⟩},

p_{k} = r_{k} + β_{k−1}p_{k−1},

p̂_{k} = r̂_{k} + β̄_{k−1}p̂_{k−1}.

Kada je A hermitska i r̂_{0} = r_{0}, ovaj se algoritam reducira na konjugirane gradijente. Ako je u (2.112) T_{k} singularna, tada ta jednakost ne mora imati rješenje. U tom slučaju ne postoji aproksimacija x_{k} = x_{0} + V_{k}y_{k} za koje je W_{k}^{∗}r_{k} = 0. Tada će algoritam zakazati, ali to je drugačiji tip sloma od onoga koji se može dogoditi u dvostranom Lanczosovom algoritmu. Standardni algoritam ne može izaći na kraj sa takvim slomom, iako matrica T_{j} za neki j > k može biti regularna.

Općenito gledajući, od metode koja rješava linearni sustav sa nehermitskom matricom zahtijevamo dvije stvari

(i) da zadovoljava neko svojstvo minimalnosti na Krylovljevim potprostorima koje generira matrica A,

(ii) da se može izračunati sa što manje operacija i da zahtijeva malo memorije po iteraciji.

Na žalost, metode obično zadovoljavaju samo jedno od ta dva svojstva. Na primjer, GMRES metoda zadovoljava (i) ali ne i (ii), budući da u svakoj iteraciji potreba za memorijom sve više raste. S druge strane BCG metoda zadovoljava (ii), jer zbog trokoračne rekurzije broj operacija i količina memorije su konstantni u svakoj iteraciji. Medutim ona ne zadovoljava (i), već odredena svojstva biortogonalnosti, zbog čega algoritam često ispoljava nepravilno ponašanje u konvergenciji sa velikim oscilacijama norme reziduala.

Uz to još, ova metoda može zakazati na dva načina, prvi je slom dvostranog Lanczosovog algoritma, kada bi došlo do dijeljenja sa nulom zbog koeficijenta β_{k} = 0 u Algoritmu 2.7.3, a drugi je slučaj singularne matrice T_{k}, što je ekvivalentno dijeljenju sa nulom kod računanja koeficijenta α_{k} u istom algoritmu (P̃_{k}AP_{k} = L_{k}^{−1}T_{k}U_{k}^{−1} = I u regularnom slučaju).

2.7.3 Metoda kvazi–minimalnog reziduala (QMR)

Metoda kvazi–minimalnog reziduala (QMR) je metoda slična BCG metodi, bazirana na dvostranom Lanczosovom algoritmu, koja se primijenjuje za rješavanje nehermitskih linearnih sustava, ali koja je u stanju prevladati probleme BCG-a. Ona prije svega neće zakazati kada je T_{k} singularna, iako će taj slučaj izazvati stagnaciju kod konvergencije što ćemo kasnije vidjeti, a problem ozbiljnog sloma dvostranog Lanczosovog algoritma može se riješiti metodom s provjerom unaprijed. QMR metoda može se takoder implementirati pomoću kratkih rekurzivnih izraza, i tako ona zadovoljava uvjet (ii) iz prošlog odjeljka. S druge strane, ova metoda se približila i uvjetu (i), jer kvazi–minimalno svojstvo osigurava glatku konvergenciju, za razliku od BCG. Štoviše iteracije BCG metode mogu se lako dobiti iz QMR iteracije, pa čak kad BCG iteracija ne može biti definirana zbog singularnosti matrice T_{k}.

U QMR metodi ponovo se uzima da je aproksimacija x_{k} oblika

x_{k} = x_{0} + V_{k}y_{k},

samo što se y_{k} bira tako da minimizira kvazi–rezidual, vrijednost usko povezanu sa euklidskom normom reziduala. Budući da je r_{k} = r_{0} − AV_{k}y_{k}, kao i kod BCG metode dobiva se da je

r_{k} = V_{k+1}(βξ_{1} − T_{k+1,k}y_{k}),  (2.113)

tako da norma reziduala r_{k} zadovoljava

∥r_{k}∥_{2} ≤ ∥V_{k+1}∥_{2}∥βξ_{1} − T_{k+1,k}y_{k}∥_{2}.  (2.114)

Budući da stupci od V_{k+1} nisu ortogonalni, rješavanje problema najmanjih kvadrata min_{y∈ℂ^{k}} ∥r_{0} − V_{k+1}T_{k+1,k}y∥_{2} zahtijevalo bi previše operacija. Stoga ćemo umjesto toga minimizirati drugi faktor u (2.114). Svi stupci matrice V_{k+1} imaju normu jedan, zato prvi faktor u (2.114) zadovoljava

∥V_{k+1}∥_{2} ≤ ∥V_{k+1}∥_{F} ≤ \sqrt{k + 1}.

Dakle, y_{k} u QMR metodi rješava problem najmanjih kvadrata

min_{y∈ℂ^{k}} ∥βξ_{1} − T_{k+1,k}y∥_{2},  (2.115)

koji uvijek ima rješenje, čak i kad je matrica T_{k} singularna. Naime, matrica T_{k+1,k} je (k + 1) × k tridijagonalna matrica koja na donjoj sporednoj dijagonali, ukoliko se dvostrani Lanczosov algoritam nije zbog nekog razloga zaustavio, ima elemente γ_{j} > 0 za j = 1, …, k, pa je ona punog ranga. Što više rješnje je jedinstveno. Znači, QMR iteracije su definirane ako dvostrani Lanczososov algoritam ne zakaže, a kod njegovog zakazivanja upotrebljava se algoritam sa provjerom unaprijed, čime matrica T_{k+1,k} postaje bloktridijagonalna.

Norma QMR reziduala može se povezati sa normom optimalnog GMRES reziduala na sljedeći način.

Teorem 2.7.4 ([12]). Ako sa r_{k}^{G} označimo GMRES rezidual u k-tom koraku, a sa r_{k}^{Q} QMR rezidual u k-tom koraku, tada

∥r_{k}^{Q}∥_{2} ≤ κ(V_{k+1})∥r_{k}^{G}∥_{2},

gdje je V_{k+1} matrica vektora baze prostora K_{k+1}(A, r_{0}) koji su konstruirani dvostranim Lanczosovim algoritmom, κ(X) = ∥X∥_{2}∥X^{+}∥_{2} = σ_{max}(X)/σ_{min}(X) označava broj uvjetovanosti, a σ_{max}(X) i σ_{min}(X) najveću i najmanju singularnu vrijednost od X

Dokaz: GMRES rezidual je takoder oblika (2.113), ali y_{k}^{G} je izabran tako da minimizira euklidsku normu GMRES reziduala. Neka je V_{k+1}^{+} generalizirani inverz matrice V_{k+1}, te zbog toga što je ona punog ranga vrijedi V_{k+1}^{+} = (V_{k+1}^{∗}V_{k+1})^{−1}V_{k+1}^{∗}, i V_{k+1}^{+}V_{k+1} = I. Zato slijedi

∥βξ_{1} − T_{k+1,k}y_{k}^{Q}∥_{2} = min_{y∈ℂ^{k}} ∥βξ_{1} − T_{k+1,k}y∥_{2} = min_{y∈ℂ^{k}} ∥V_{k+1}^{+}V_{k+1}(βξ_{1} − T_{k+1,k}y)∥_{2} ≤
≤ ∥V_{k+1}^{+}∥_{2} min_{y∈ℂ^{k}} ∥V_{k+1}(βξ_{1} − T_{k+1,k}y)∥_{2} = \frac{1}{σ_{min}(V_{k+1})}∥r_{k}^{G}∥_{2},

a zajedno sa (2.114) daje

∥r_{k}^{Q}∥_{2} ≤ ∥V_{k+1}∥_{2}∥βξ_{1} − T_{k+1,k}y_{k}∥_{2} ≤ \frac{σ_{max}(V_{k+1})}{σ_{min}(V_{k+1})}∥r_{k}^{G}∥_{2}.

Na žalost, uvjetovanost matrice V_{k+1} ne može se apriori ograditi, čak ta matrica može biti vrlo loše uvjetovana.

Implementacija QMR algoritma je vrlo slična onoj od MINRES-a. Problem najmanjih kvadrata (2.115) rješava se QR faktorizacijom (k +1)×k matrice T_{k+1,k} na produkt (k + 1) × (k + 1) unitarne matrice F^{(k)∗} i (k + 1) × k gornje trokutaste matrice R^{(k)}. To se ponovo postiže uz pomoć k Givensovih rotacija F_{1},…,F_{k}, gdje F_{k} rotira jedinične vektore ξ_{k} i ξ_{k+1} za kut θ_{k}. Budući da je T_{k+1,k} tridijagonalna, R^{(k)} ima oblik

R = [ \begin{matrix}ρ_{1} & σ_{1} & τ_{1} \\ & ... & ... & ... \\ & & ... & ... & τ_{k−2} \\ & & & ... & σ_{k−1} \\ & & & & ρ_{k} \\ 0 & ⋯ & ⋯ & ⋯ & 0 \end{matrix} ] .

QR faktorizacija matrice T_{k+1,k} se lagano dobije iz QR dekompozicije od T_{k,k−1}. Da bi dobili R^{(k)} prvo treba pomnožiti zadnji stupac od T_{k+1,k} sa rotacijama iz koraka k − 2 i k − 1, jer ostale rotacije ne utječu na njega. Tada dobivamo matricu oblika

F_{k−1}F_{k−2}F_{k−3} ⋯ F_{1}T_{k+1,k} = [ \begin{matrix}x & x & x & & 0 \\ & ... & ... & ... \\ & & ... & ... & x \\ & & & ... & x \\ & & & & d \\ 0 & ⋯ & ⋯ & ⋯ & h \end{matrix} ] ,

gdje x-ovi označavaju elemente različite od nule, a (k + 1, k)-ti element je zapravo γ_{k}, budući da na njega nisu utjecale prethodne rotacije. Rotacija F_{k} se bira tako da poništi taj element tako što postavljamo da je c_{k} = |d|/\sqrt{|d|^{2} + |h|^{2}} i s̄_{k} = c_{k}h/d ako je d ≠ 0, te c_{k} = 0 i s_{k} = 1 ako je d = 0. Taj isti niz od k rotacija primjenjuje se i na vektor βξ_{1} kako bismo dobili g^{(k)} = βF_{k} ⋯ F_{1}ξ_{1}. g^{(k)} se od g^{(k−1)} razlikuje samo po k-toj i (k + 1)- toj komponenti. Ako sa R_{k} označimo gornji k × k blok matrice R^{(k)} i sa g_{k×1}^{(k)} prvih k komponenti od g^{(k)}, tada rješenje problema najmanjih kvadrata je rješenje trokutastog linearnog sustava

R_{k}y_{k} = g_{k×1}^{(k)}.

Za dobivanje aproksimacije x_{k}, definirat ćemo pomoćne vektore

P_{k} = [p_{0} p_{1} … p_{k−1}] = V_{k}R_{k}^{−1}.

Tada je

x_{k} + V_{k}y_{k} = x_{0} + P_{k}g_{k×1}^{(k)}

a budući da se g^{(k)} i g^{(k−1)} poklapaju u prvih k − 1 komponenti, vrijedi

x_{k−1} = x_{0} + P_{k−1}g_{(k−1)×1}^{(k)}.

Sada možemo napisati

x_{k} = x_{k−1} + g_{k}^{(k)}p_{k−1},  (2.116)

gdje je g_{k}^{(k)} k-ta komponenta od g^{(k)}. Na kraju, iz jednadžbe P_{k}R_{k} = V_{k}, možemo dobiti jednostavnu rekurzijua za pomoćne vektore p_{k}

p_{k−1} = \frac{1}{ρ_{k}} (v_{k} − σ_{k−1}p_{k−2} − τ_{k−2}p_{k−3}).  (2.117)

Napokon dobivamo implementaciju QMR algoritma.

Algoritam 2.7.5. Metoda kvazi–minimalnog reziduala (QMR) Dana je početna iteracija x_{0}, r_{0} = b − Ax_{0}, β = ∥r_{0}∥_{2},

v_{1} = \frac{r_{0}}{β} ,

Dan je r̂_{0},

w_{1} = \frac{r̂_{0}}{∥r̂_{0}∥_{2}} ,

l = (1, 0, …, 0)^{T} . Za k = 1, 2, …

Izračunaj v_{k+1}, w_{k+1}, α_{k} = T (k, k), β_{k} = T (k, k + 1), i γ_{k} = T (k + 1, k), koristeći dvostrani Lanczosov algoritam. Primijeni F_{k−2} i F_{k−1} na zadnji stupac od T, odnosno:

ako je k > 2 tada [ \begin{matrix}T (k − 2, k) \\ T (k − 1, k) \end{matrix} ] := [ \begin{matrix}c_{k−2} & s_{k−2} \\ −s̄_{k−2} & c_{k−2} \end{matrix} ] [ \begin{matrix}0 \\ T (k − 1, k) \end{matrix} ] ,

ako je k > 1 tada [ \begin{matrix}T (k − 1, k) \\ T (k, k) \end{matrix} ] := [ \begin{matrix}c_{k−1} & s_{k−1} \\ −s̄_{k−1} & c_{k−1} \end{matrix} ] [ \begin{matrix}T (k − 1, k) \\ T (k, k) \end{matrix} ] .

Izračunaj k-tu Givensovu rotaciju F_{k} kako bi se poništio (k+1, k) element od T:

c_{k} = \frac{|T (k, k)|}{\sqrt{|T (k, k)|^{2} + |T (k + 1, k)|^{2}}} ,

ako je c_{k} ≠ 0 tada s_{k} = c_{k} \frac{\overline{T (k + 1, k)}}{\overline{T (k, k)}}, ako je c_{k} = 0 tada s_{k} = 1. Primijeni k-tu rotaciju na l i na zadnji stupac od T:

[ \begin{matrix}l(k) \\ l(k + 1) \end{matrix} ] := [ \begin{matrix}c_{k} & s_{k} \\ −s̄_{k} & c_{k} \end{matrix} ] [ \begin{matrix}l(k) \\ 0 \end{matrix} ] ,

T (k, k) := c_{k}T (k, k) + s_{k}T (k + 1, k), T (k + 1, k) = 0 (∗). Izračunaj p_{k−1} = (1/T (k, k))[v_{k} − T (k − 1, k)p_{k−2} − T (k − 2, k)p_{k−3}], gdje su p_{−1}, p_{−2}, jednaki nuli. x_{k} = x_{k−1} + βl(k)p_{k−1}.

(*) T (k + 1, k) = 0 treba zapravo izvesti u sljedećem, (k + 1)-om koraku, jer je originalna vrijednost T (k + 1, k) potrebna za izvodenje (k + 1) − og koraka dvostranog Lanczosovog algoritma.

2.7.4 Konvergencija metoda BCG i QMR

Iz prethodnih razmatranja možemo zaključiti da su rješenja linearnog sustava (2.112) i problema najmanjih kvadrata (2.115) u uskoj vezi. Zato možemo očekivati istu takvu vezu izmedu normi reziduala u BCG i QMR algoritmima.

Obje metode završit će za m ≤ n iteracija, pri čemu je n dimenzija sustava. Kod BCG metode rezidual se bira tako da bude ortogonalan na odredeni potprostor, kojemu dimenzija raste u svakoj iteraciji. U najgorem slučaju on mora biti okomit na cijeli prostor, a to vrijedi samo za nul-vektor. Kod QMR metode, situacija je slična kao kod GMRES-a. Rezidual se bira tako da rješavamo problem najmanjih kvadrata na sve većem i većem potprostoru. U jednom trenutku rješenje će generirati vektor T_{m+1,m}y_{m} koji će se nalaziti u istom potprostoru kao i βξ_{1}, a budući da kvazi-rezidual T_{m+1,m}y_{m} − βξ_{1} ima najmanju normu, taj vektor bit će upravo jednak vektoru βξ_{1}, pa će kvazirezidual, a s njime i rezidual, biti jednak nuli.

Najprije promotrimo jednu lemu. Neka H_{k}, k = 1, 2, … predstavlja klasu gornje Hessenbergovih k ×k matrica H_{k}, pri čemu sa H_{k−1} označavamo (k −1)×(k −1) glavnu podmatricu od H_{k}. Za svaki k definirajmo (k + 1) × k matricu H_{k+1,k} sa

H_{k+1,k} = [ \begin{matrix}H_{k} \\ h_{k+1,k}ξ_{k}^{T} \end{matrix} ] .  (2.118)

Matrica H_{k+1,k} može se faktorizirati u oblik F^{(k)∗}R^{(k)}, gdje je F^{(k)} (k + 1) × (k + 1) unitarna matrica, a R^{(k)} (k + 1) × k gornje trokutasta matrica. Ta se faktorizacija može ostvariti primjenom Givensovih rotacija na način kako je opisano u GMRES algoritmu:

(F_{k} ⋯ F_{1})H_{k+1,k} = R^{(k)},  gdje je F_{k} = [ \begin{matrix}I_{i−1} \\ & c_{k} & s_{k} \\ & −s̄_{k} & c_{k} \\ & & & I_{k−i} \end{matrix} ] .  (2.119)

Bitno je samo napomenuti to da prvih k − 1 rotacija F_{i}, i = 1, …, k − 1 isto tako sudjeluje u faktorizaciji matrice H_{k,k−1}.

Neka je β > 0 dan, i pretpostavimo da je H_{k} regularna. Neka je sa ỹ_{k} označeno rješenje linearnog sustava H_{k}y = βξ_{1}, i neka je sa y_{k} označeno rješenje problema najmanjih kvadrata min_{y∈ℂ^{k}} ∥H_{k+1,k}y − βξ_{1}∥_{2}. Na kraju, neka su

ν̃_{k} = H_{k+1,k}ỹ_{k} − βξ_{1}, ν_{k} = H_{k+1,k}y_{k} − βξ_{1}.

Lema 2.7.6 ([5]). Koristeći gornju notaciju, norme od ν_{k} i ν̃_{k} su povezane sa sinusima i kosinusima kuteva Givensovih rotacija na sljedeći način

∥ν_{k}∥_{2} = β|s_{1}s_{2} ⋯ s_{k}|  i  ∥ν̃_{k}∥_{2} = β \frac{1}{|c_{k}|}|s_{1}s_{2} ⋯ s_{k}|.  (2.120)

Slijedi da je

∥ν̃_{k}∥_{2} = \frac{∥ν_{k}∥_{2}}{\sqrt{1 − (\frac{∥ν_{k}∥_{2}}{∥ν_{k−1}∥_{2}} )^{2}}} ,  (2.121)

ili ekvivalentno

(\frac{∥ν_{k}∥_{2}}{∥ν̃_{k}∥_{2}} )^{2} + (\frac{∥ν_{k}∥_{2}}{∥ν_{k−1}∥_{2}} )^{2} = 1.

Dokaz: Neka je F^{(k)} = F_{k} ⋯ F_{1}. Problem najmanjih kvadrata može se napisati kao

min_{y∈ℂ^{k}} ∥H_{k+1,k}y − βξ_{1}∥_{2} = min_{y∈ℂ^{k}} ∥F^{(k)}(H_{k+1,k}y − βξ_{1})∥_{2} = min_{y∈ℂ^{k}} ∥R^{(k)}y − βF^{(k)}ξ_{1}∥_{2}.

Rješenje y_{k} se dobiva rješavanjem trokutastog linearnog sustava sa matricom R_{k} koja je jednaka gornjem k × k bloku od R^{(k)} i sa desnom stranom koja je jednaka prvim k komponentama vektora βF^{(k)}ξ_{1}. Razlika R^{(k)}y_{k} − βF^{(k)}ξ_{1} je zato jednaka nuli, osim u zadnjoj komponenti, koja je jednaka zadnjoj komponenti od −βF^{(k)}ξ_{1}, koja je opet, kao i kod GMRES-a, jednaka (−1)^{k+1}βs̄_{1} ⋯ s̄_{k}. Dakle

∥ν_{k}∥_{2} = min_{y∈ℂ^{k}} ∥H_{k+1,k}y − βξ_{1}∥_{2} = β|s_{1} ⋯ s_{k}|,

pa smo time dokazali prvu jednakost u (2.120).

Za rješenje linearnog sustava ỹ_{k} = H_{k}^{−1}βξ_{1}, imamo

ν̃_{k} = H_{k+1,k}H_{k}^{−1}βξ_{1} − βξ_{1},

ali zbog definicije matrice H_{k+1,k} imamo da je

H_{k+1,k}H_{k}^{−1} = [ \begin{matrix}H_{k}H_{k}^{−1} \\ h_{k+1,k}ξ_{k}^{T} H_{k}^{−1} \end{matrix} ] = [ \begin{matrix}I_{k} \\ h_{k+1,k}ξ_{k}^{T} H_{k}^{−1} \end{matrix} ] .

Slijedi

ν̃_{k} = [ \begin{matrix}0_{k×k} \\ βh_{k+1,k}(H_{k}^{−1})_{k,1} \end{matrix} ]

gdje je (H_{k}^{−1})_{k,1} = ξ_{k}^{T} H_{k}^{−1}ξ_{1} (k, 1)-ta komponenta matrice H_{k}^{−1}. Matrica H_{k} može se faktorizirati kao F^{(k−1)∗}R̃_{k}, gdje je F^{(k−1)} = F̃_{k−1} ⋯ F̃_{1}, a F̃_{k} je glavna k×k podmatrica od F_{k}. Matrica H_{k+1,k}, nakom primjene prvih k − 1 rotacija, ima oblik

F_{k−1} ⋯ F_{1}H_{k+1,k} = [ \begin{matrix}x & x & x & & 0 \\ & ... & ... & ... \\ & & ... & ... & x \\ & & & ... & x \\ & & & & r \\ 0 & ⋯ & ⋯ & ⋯ & h \end{matrix} ] ,

gdje je r (k, k)-ti element matrice R̃^{(k)}, a h = h_{k+1,k}. k-ta rotacija je izabrana tako da poništi netrivijalni element u zadnjem retku:

c_{k} = \frac{|r|}{\sqrt{|r|^{2} + |h|^{2}}} ,  s̄_{k} = \frac{sign(r)h}{\sqrt{|r|^{2} + |h|^{2}}} .

Budući da je po pretpostavci H_{k} regularna matrica tada je r ≠ 0 pa shodno tome i c_{k} ≠ 0. Sada imamo H_{k}^{−1} = R̃_{k}^{−1}F̃^{(k)}, a (k, 1)-ti element te matrice je 1/r puta (k, 1)- ti element od F̃^{(k)}. To je ekvivalentno tome da gledamo k-tu komponentu vektora F̃^{(k)}ξ_{1} = F̃_{k−1} ⋯ F̃_{1}ξ_{1}, što je ekvivalentno dobivanju reziduala prethodnog problema najmanjih kvadrata (kao kod GMRES), i jednako je (−1)^{k−1}s̄_{1} ⋯ s̄_{k−1}. Slijedi da je jedina netrivijalna komponenta od ν̃_{k} jednaka (−1)^{k−1}β(h_{k+1,k}/r)s̄_{1} ⋯ s̄_{k−1}. Napokon korištenjem činjenice da je |s_{k}/c_{k}| = |h/r| = |h_{k+1,k}/r| dobivamo

∥ν̃_{k}∥_{2} = β \frac{|s_{k}|}{|c_{k}|}|s_{1} ⋯ s_{k−1}|.

Time smo dokazali i drugu jednakost u (2.120).

Iz rezultata (2.120) je jasno da je

\frac{∥ν_{k}∥_{2}}{∥ν_{k−1}∥_{2}} = |s_{k}|, \frac{∥ν̃_{k}∥_{2}}{∥ν_{k}∥_{2}} = \frac{1}{|c_{k}|}.

Rezultat (2.121) slijedi iz jednakosti |c_{k}| = \sqrt{1 − |s_{k}|^{2}}.

Označimo sada reziduale i iteracije u BCG metodi sa gornjim indeksom B, a u QMR metodi sa gornjim indeksom Q. Najprije ćemo promatrati normu reziduala BCG metode, odnosno njenu konvergenciju.

Teorem 2.7.7 ([9]). Ako u k-tom koraku BCG metode aproksimacija x_{k}^{B} postoji tada je

x_{k}^{B} = x_{k}^{Q} + \frac{g_{k}^{(k)}|s_{k}|^{2}}{c_{k}^{2}} p_{k−1},

i

∥r_{k}^{B}∥_{2} = \frac{1}{|c_{k}|}|s_{1} ⋯ s_{k}|∥r_{0}∥_{2},

gdje je g_{k}^{(k)} k-ta komponenta vektora g^{(k)} = βF^{(k)}ξ_{1} a p_{k−1} je k-ti stupac matrice P_{k} = V_{k}R_{k}^{−1}.

Dokaz: Ako stavimo da je H_{k} = T_{k} tada Lemu 2.7.6 možemo primijeniti i na BCG metodu. Iz njenog dokaza vidljiva je ekvivalentnost izmedu postajanja aproksimacije x_{k}^{B}, regularnosti matrice T_{k} i nejednakosti c_{k} ≠ 0. Nadalje koristimo iste oznake kao u dokazu prethodne leme. Iz (2.118), (2.119) i definicije F^{(k−1)} imamo

T_{k} = F^{(k−1)∗} [ \begin{matrix}I_{k−1} & 0 \\ 0 & c_{k} \end{matrix} ] R_{k}.

Odavde, zbog činjenice da je y_{k}^{B} = βT_{k}^{−1}ξ_{1}, dobivamo

y_{k}^{B} = βR_{k}^{−1} [ \begin{matrix}I_{k−1} & 0 \\ 0 & \frac{1}{c_{k}} \end{matrix} ] F^{(k−1)}ξ_{1}.

Kako je prema definiciji β = ∥r_{0}∥_{2}, i y_{k}^{Q} = R_{k}^{−1}g_{k×1}^{(k)}, izraz za y_{k}^{B} dalje možemo raspisati

y_{k}^{B} = y_{k}^{Q} + R_{k}^{−1} ([ \begin{matrix}I_{k−1} & 0 \\ 0 & \frac{1}{c_{k}} \end{matrix} ] g^{(k−1)} − g_{k×1}^{(k)}) =

= y_{k}^{Q} + R_{k}^{−1} [ \begin{matrix}0_{(k−1)×1} \\ (−1)^{k−1}βs̄_{1} ⋯ s̄_{k−1} (\frac{1}{c_{k}} − c_{k}) \end{matrix} ] =

= y_{k}^{Q} + (−1)^{k−1}βs̄_{1} ⋯ s̄_{k−1}c_{k} \frac{|s_{k}|^{2}}{c_{k}^{2}} R_{k}^{−1} [ \begin{matrix}0_{(k−1)×1} \\ 1 \end{matrix} ]
= y_{k}^{Q} + g_{k}^{(k)} \frac{|s_{k}|^{k}}{c_{k}^{2}} R_{k}^{−1}ξ_{k}.

Nadalje, iz izraza za y_{k}^{B} možemo dobiti izraz za x_{k}^{B}

x_{k}^{B} = x_{0} + V_{k}y_{k}^{B} = x_{0} + V_{k}y_{k}^{Q} + g_{k}^{(k)} \frac{|s_{k}|^{2}}{c_{k}^{2}} V_{k}R_{k}^{−1}ξ_{k} =
= x_{k}^{Q} + g_{k}^{(k)} \frac{|s_{k}|^{2}}{c_{k}^{c}} p_{k−1}.

Izraz za normu reziduala ∥r_{k}^{B}∥_{2} direktno slijedi iz Leme 2.7.6.

Teorem 2.7.7 demonstrira kako se egzistirajuća BCG iteracija može dobiti iz QMR algoritma, pa čak iako u prethodnom koraku BCG iteracija nije postajala zbog singularnosti tridijagonalne matrice T_{k−1}. U tom slučaju BCG algoritam bi stao, medutim za neki j ≥ k može postajati T_{j} koja je regularna, pa se na ovaj način proces može nastaviti. Nadalje, ∥r_{k}^{B}∥_{2} može se, bez ikakvih naknadnih troškova, izračunati iz veličina koje su generirane QMR algoritmom. Osim toga, iz izraza za normu reziduala u Teoremu 2.7.7 vidimo razlog njenog osciliranja. Naime, kako je niz |s_{1} ⋯ s_{k}| nerastući, globalno možemo očekivati da će se i norma reziduala BCG metode tako ponašati. Medutim, c_{k} koji se nalazi u nazivniku, u slučaju da je blizu nule, izazivat će skokove i šiljke na krivulji koja ocrtava normu reziduala u odnosu na broj iteracija.

Vratimo se sada QMR metodi.

Teorem 2.7.8 ([9]). Norma reziduala aproksimacije x_{k}^{Q} QMR metode zadovoljava relaciju

∥r_{k}^{Q}∥_{2} ≤ ∥V_{k+1}∥_{2}|s_{1} ⋯ s_{k}|∥r_{0}∥_{2}.

Dokaz: Definirajmo izraz kvazi-reziduala sa

z_{k}^{Q} = βξ_{1} − T_{k+1,k}y_{k}^{Q}.

Prema (2.113) je

r_{k}^{Q} = V_{k+1}(βξ_{1} − T_{k+1,k}y_{k}^{Q}) = V_{k+1}z_{k}^{Q},

pri čemu y_{k}^{Q} minimizira normu izraza z_{k}^{Q}. Prema Lemi 2.7.6 vrijedi

∥z_{k}^{Q}∥_{2} = β|s_{1} ⋯ s_{k}|,

pa za normu reziduala prema (2.114) vrijedi

r_{k}^{Q} ≤ ∥V_{k+1}∥_{2}∥z_{k}^{Q}∥_{2},

odakle slijedi tvrdnja teorema.

Kako je norma svakog stupca od V_{k+1} jednaka 1, onda vrijedi ∥V_{k+1}∥_{2} ≤ \sqrt{k + 1} pa se tvrdnja Teorema 2.7.8 može napisati i kao

∥r_{k}^{Q}∥_{2} ≤ \sqrt{k + 1}|s_{1} ⋯ s_{k}|∥r_{0}∥_{2}.

Pogledajmo još jedan slučaj konvergencije QMR metode, koji je vrlo sličan analognom slučaju kod GMRES metode.

Teorem 2.7.9 ([9]). Neka je k iteracija u kojoj se QMR regularno zaustavio (u slučaju ozbiljnog sloma koristi se provjera unaprijed). Pretpostavimo da je k × k tridijagonalna matrica T_{k}, generirana u k-tom koraku dvostranog Lanczosovog algoritma, dijagonalizabilna, odnosno da vrijedi T_{k} = XΛX^{−1} za dijagonalnu matricu Λ i regularnu matricu X. Tada za j = 1, 2, …, k − 1, reziduali QMR algoritma zadovoljavaju

∥r_{j}^{Q}∥_{2} ≤ ∥r_{0}∥_{2}κ(X)\sqrt{j + 1}ϵ_{j},

gdje je

ϵ_{j} = min_{p_{j}∈ℙ_{j},p_{j}(0)=1} max_{λ∈σ(A)} |p_{j}(λ)|.

Nadalje, ako se dvostrani Lanczosov algoritam zaustavio sa γ_{k} = ∥ṽ_{k+1}∥_{2} = 0, tada je x_{k}^{Q} = A^{−1}b egzaktno rješenje sustava Ax = b.

Dokaz: Imamo r_{j}^{Q} = βV_{j+1}(ξ_{1} − T_{j+1,j}u_{j}^{Q}), gdje je βu_{j}^{Q} = y_{j}^{Q}. Odavde slijedi

∥r_{j}^{Q}∥_{2} ≤ ∥r_{0}∥_{2}\sqrt{j + 1}θ_{j},

gdje je θ_{j} dan sa

θ_{j} = min_{u∈ℂ^{j}} ∥ξ_{1} − T_{j+1,j}u∥_{2}, ξ_{1} = [1 0 … 0] ∈ ℝ^{j+1}.

Zbog toga, potrebno je još dokazati da je

θ_{j} ≤ κ(X)ϵ_{j}.

Neka je j ∈ {1, 2, …, k − 1} proizvoljan, ali fiksiran. Kako vrijedi

T_{k} = [ \begin{matrix}T_{j+1,j} & ∗ \\ 0 & ∗ \end{matrix} ]

imamo

T_{k} [ \begin{matrix}u \\ 0 \end{matrix} ] = [ \begin{matrix}T_{j+1,j}u \\ 0 \end{matrix} ] za sve u ∈ ℂ^{j},

pri čemu postoji j + 1 netrivijalnih komponenata vektora na desnoj strani jednakosti. Iz toga slijedi da za ξ_{1} vrijedi

T_{k}ξ_{1} = [ \begin{matrix}f_{2} \\ 0_{(k−2)×1} \end{matrix} ] , T_{k}^{2}ξ_{1} = [ \begin{matrix}f_{3} \\ 0_{(k−3)×1} \end{matrix} ] … T_{k}^{j}ξ_{1} = [ \begin{matrix}f_{j+1} \\ 0_{(k−j−1)×1} \end{matrix} ] ,

gdje su f_{i} vektori dimenzije i. Na kraju možemo zaključiti da je

\{[ \begin{matrix}t \\ 0 \end{matrix} ] : t ∈ ℂ^{j+1}\} = \{p_{j}(T_{k})ξ_{1} : p_{j} ∈ ℙ_{j}\}.

Sada možemo napisati da je

θ_{j} = min_{u∈ℂ^{j}} ∥ξ_{1} − T_{k} [ \begin{matrix}u \\ 0 \end{matrix} ]∥_{2} = min_{p_{j}∈ℙ_{j},p_{j}(0)=1}∥p_{j}(T_{k})ξ_{1}∥_{2}.

Budući da vrijedi

∥p_{j}(T_{k})ξ_{1}∥_{2} ≤ ∥p_{j}(T_{k})∥_{2} ≤ ∥X∥_{2}∥p_{j}(Λ)∥_{2}∥X^{−1}∥_{2},

za θ_{j} možemo dobiti relaciju

θ_{j} ≤ κ(X) min_{p_{j}∈ℙ_{j},p_{j}(0)=1} max_{λ∈σ(T_{k})} |p_{j}(λ)|.

Po pretpostavci u k-tom koraku je došlo do regularnog zaustvljanja to znači da je ili ∥ṽ_{k+1}∥_{2} = 0, pa je prema (2.109) V_{k} A-invarijantni potprostor ili je ∥w̃_{k+1}∥_{2} = 0 pa je prema (2.110) W_{k} A^{∗}-invarijantni potprostor. Pogledajmo prvi slučaj. Neka je

AV_{k} = V_{k}T_{k}, T_{k} ∈ ℂ^{k×k},

tada za svako λ ∈ σ(T_{k}), T_{k}y = λy za neki y ≠ 0, vrijedi

A(V_{k}y) = V_{k}T_{k}y = V_{k}(λy) = λ(V_{k}y),

pa je λ ∈ σ(A), čime smo dobili da je σ(T_{k}) ⊆ σ(A). Drugi slučaj se dokazuje analogno. Time smo dokazali prvu tvrdnju teorema.

Druga tvrdnja se dokazuje analogno kao i kod GMRES metode. Kad bi htjeli izračunati k-ti korak do kraja, za γ_{k} = 0, tada bi F^{(k−1)}T_{k+1,k} već bila gornje trokutasta pa bi F_{k} = I, odnosno s_{k} = 0. Iz Teorema 2.7.8 slijedi da bi r_{k} = 0.

Na kraju pogledajmo odnos izmedu konvergencija BCG i QMR metoda.

Teorem 2.7.10 ([5]). Pretpostavimo da su do k-tog koraka Lanczosovi vektori definirani, i da je tridijagonalna matrica T_{k} generirana dvostranim Lanczosovim algoritmom u k-tom koraku regularna. Tada su BCG rezidual r_{k}^{B} i QMR kvazi-rezidual z_{k}^{Q} povezani relacijom

∥r_{k}^{B}∥_{2} = \frac{∥z_{k}∥_{2}}{\sqrt{1 − (\frac{∥z_{k}^{Q}∥_{2}}{∥z_{k−1}^{Q}∥_{2}} )^{2}}} .  (2.122)

Dokaz: Iz (2.109), činjenice da je x_{k}^{B} = x_{0} + V_{k}y_{k}^{B}, i (2.112), BCG rezidual ima oblik

r_{k}^{B} = r_{0} − AV_{k}y_{k}^{B} =
= r_{0} − V_{k+1}T_{k+1,k}y_{k}^{B} =
= V_{k+1}(βξ_{1} − βT_{k+1,k}T_{k}^{−1}ξ_{1}).

Vektor, zadan izrazom u zagradama, ima samo jednu netrivijalnu komponentu, onu (k + 1) − u, a budući da je ∥v_{k+1}∥_{2} = 1, imamo

∥r_{k}^{B}∥_{2} = ∥βξ_{1} − T_{k+1,k}T_{k}^{−1}βξ_{1}∥_{2}.

Tvrdnja teorema sada slijedi iz Leme 2.7.6 i definicije kvazireziduala z_{k}^{Q}.

Teorem 2.7.10 pokazuje da ako se norma QMR kvazi-reziduala reducira sa značajnim faktorom u k-tom koraku, tada će norma BCG reziduala biti približno jednaka normi QMR kvazi-reziduala u k-tom koraku, jer će u tom slučaju djelitelj u desnoj strani od (2.122) biti blizu 1. Ako norma QMR kvazi-reziduala ostane skoro konstantna, tada će djelitelj u desnoj strani od (2.122) biti blizu 0, a norma BCG reziduala bit će puno veća. U tom slučaju, dok će krivulja norme QMR kvazi-reziduala biti skoro horizontalna, krivulja norme BCG reziduala imat će oscilacije, odnosno šiljak okrenut prema gore. Stupanj “horizontalnosti” jedne krivulje uvjetuje amplitudu oscilacije druge. Relacija (2.122) uglavnom demonstrira povezanost BCG i QMR metoda: ili će obje metode dobro konvergirati, ili će obje imati slabu konvergenciju za dani problem.

2.7.5 Metoda kvadriranih konjugiranih gradijenata (CGS)

Metode BCG i QMR zahtijevaju množenje vektora sa matricom A ali i sa matricom A^{∗}. To zahtijeva dodatni posao, a naročito kada je kompliciranije množiti sa A^{∗} nego sa A. To se dogada, na primjer, kada A nije eksplicitno smještena u memoriji, već kada postoji samo procedura koja definira djelovanje matrice na zadani vektor, a posebno je problematično kada se sustav rješava na paralelnim računalima. Zbog toga je poželjno imati iterativnu metodu koja će zahtijevati samo množenje sa matricom A, a neće biti puno zahtjevnija od BCG metode. Takva metoda je metoda kvadriranih konjugiranih gradijenata (Conjugate gradient squared method) ili CGS metoda.

Krenut ćemo od BCG algoritma, odakle možemo primijetiti da vrijedi

r_{k} = ϕ_{k}(A)r_{0},  r̂_{k} = ϕ̄_{k}(A^{∗})r̂_{0},
p_{k} = ψ_{k}(A)r_{0},  p̂_{k} = ψ̄_{k}(A^{∗})r̂_{0}

za odredene polinome k-tog stupnja ϕ_{k} i ψ_{k}. Ako algoritam dobro konvergira, tada je ∥ϕ_{k}(A)r_{0}∥_{2} mala, pa bi mogli očekivati da je ∥ϕ_{k}^{2}(A)r_{0}∥_{2} još manja. Ako još pokušamo izračunati ϕ_{k}^{2}(A)r_{0} sa otprilike jednako mnogo operacija kao i ϕ_{k}(A)r_{0} tada bi to najvjerojatnije bio brzo konvergirajući algoritam. To je bila osnovna ideja razvoja CGS metode.

Sada ćemo raspisati BCG rekurzije preko izraza sa polinomima ϕ_{k} i ψ_{k}. Imamo

ϕ_{k}(A)r_{0} = ϕ_{k−1}(A)r_{0} − α_{k−1}Aψ_{k−1}(A)r_{0},  (2.123)
ψ_{k}(A)r_{0} = ϕ_{k}(A)r_{0} + β_{k−1}ψ_{k−1}(A)r_{0},  (2.124)

gdje su

α_{k−1} = \frac{⟨ϕ_{k−1}(A)r_{0}, ϕ̄_{k−1}(A^{∗})r̂_{0}⟩}{⟨Aψ_{k−1}(A)r_{0}, ψ̄_{k−1}(A^{∗})r̂_{0}⟩} = \frac{⟨ϕ_{k−1}^{2}(A)r_{0}, r̂_{0}⟩}{⟨Aψ_{k−1}^{2}(A)r_{0}, r̂_{0}⟩},  (2.125)

β_{k−1} = \frac{⟨ϕ_{k}(A)r_{0}, ϕ̄_{k}(A^{∗})r̂_{0}⟩}{⟨ϕ_{k−1}(A)r_{0}, ϕ̄_{k−1}(A^{∗})r̂_{0}⟩} = \frac{⟨ϕ_{k}^{2}(A)r_{0}, r̂_{0}⟩}{⟨ϕ_{k−1}^{2}(A)r_{0}, r̂_{0}⟩}.  (2.126)

Dakle, koeficijenti rekurzija mogu se izračunati ako znamo r̂_{0}, ϕ_{j}^{2}(A)r_{0}, i ψ_{j}^{2}(A)r_{0} za j = 1, 2, . . ..

Iz (2.123) i (2.124), vidimo da polinomi ϕ_{k}(z) i ψ_{k}(z) zadovoljavaju rekurzije

ϕ_{k}(z) = ϕ_{k−1}(z) − α_{k−1}zψ_{k−1}(z),
ψ_{k}(z) = ϕ_{k}(z) + β_{k−1}ψ_{k−1}(z),

pa kvadrirajući obje jednakosti imamo

ϕ_{k}^{2}(z) = ϕ_{k−1}^{2}(z) − 2α_{k−1}zϕ_{k−1}(z)ψ_{k−1}(z) + α_{k−1}^{2}z^{2}ψ_{k−1}^{2}(z),
ψ_{k}^{2}(z) = ϕ_{k}^{2}(z) + 2β_{k−1}ϕ_{k}(z)ψ_{k−1}(z) + β_{k−1}^{2}ψ_{k−1}^{2}(z).

Da nema mješovitih izraza ϕ_{k−1}(z)ψ_{k−1}(z) i ϕ_{k}(z)ψ_{k−1}(z), ove jednakosti bi tvorile jednostavne iteracije za ϕ_{k}^{2} i ψ_{k}^{2}. Izlaz iz ove situacije je uvodenje jednog od tih mješovitih izraza, ϕ_{k}(z)ψ_{k−1}(z) kao trećeg člana rekurzije. Drugi izraz možemo izraziti preko ova tri člana rekurzije. Množenjem ϕ_{k−1} sa rekurzijom za ψ_{k−1} dobivamo

ϕ_{k−1}(z)ψ_{k−1}(z) = ϕ_{k−1}^{2}(z) + β_{k−2}ϕ_{k−1}(z)ψ_{k−2}(z),

a množenje rekurzije za ϕ_{k} sa ψ_{k−1} daje

ϕ_{k}(z)ψ_{k−1}(z) = ϕ_{k−1}(z)ψ_{k−1}(z) − α_{k−1}zψ_{k−1}^{2}(z) =
= ϕ_{k−1}^{2}(z) + β_{k−2}ϕ_{k−1}(z)ψ_{k−2}(z) − α_{k−1}zψ_{k−1}^{2}(z).

Ako sakupimo sve ove relacije na jedno mjesto, dobit ćemo rekurzije za polinome, čija je definicija

Φ_{k}(z) = ϕ_{k}^{2}(z), Θ_{k}(z) = ϕ_{k}(z)ψ_{k−1}(z), Ψ_{k}(z) = ψ_{k}^{2}(z),

koje glase

Φ_{k}(z) = Φ_{k}(z) − 2α_{k−1}z(Φ_{k−1}(z) + β_{k−2}Θ_{k−1}(z)) + α_{k−1}^{2}z^{2}Ψ_{k−1}(z),
Θ_{k}(z) = Φ_{k−1}(z) + β_{k−2}Θ_{k−1}(z) − α_{k−1}zΨ_{k−1}(z),
Ψ_{k}(z) = Φ_{k}(z) + 2β_{k−1}Θ_{k}(z) + β_{k−1}^{2}Ψ_{k−1}(z).

Ove rekurzije su osnova algoritma. Ako sada definiramo nove vrijednosti

r_{k} = Φ_{k}(A)r_{0},
q_{k} = Θ_{k}(A)r_{0},
p_{k} = Ψ_{k}(A)r_{0},

tada gornje rekurzije za polinome prelaze u

r_{k} = r_{k−1} − α_{k−1}A(2r_{k−1} + 2β_{k−2}q_{k−1} − α_{k−1}Ap_{k−1}),
q_{k} = r_{k−1} + β_{k−2}q_{k−1} − α_{k−1}Ap_{k−1},
p_{k} = r_{k} + 2β_{k−1}q_{k} + β_{k−1}^{2}p_{k−1}.

Pogodno bi bilo uvesti najprije jedan pomoćni vektor

s_{k−1} = 2r_{k−1} + 2β_{k−2}q_{k−1} − α_{k−1}Ap_{k−1}.

Sa ovime dobivamo sljedeći niz operacija za računanje aproksimacije rješnja u svakoj iteraciji x_{k}, koje su generirane tako da je r_{k} zadanog oblika r_{k} = ϕ_{k}^{2}(A)r_{0}, pri čemu započinjemo sa r_{0} = b − Ax_{0}, p_{0} = r_{0}, q_{0} = 0 i β_{0} = 0.

α_{k−1} = \frac{⟨r_{k−1}, r̂_{0}⟩}{⟨Ap_{k−1}, r̂_{0}⟩},

s_{k−1} = 2r_{k−1} + 2β_{k−2}q_{k−1} − α_{k−1}Ap_{k−1},

q_{k} = r_{k−1} + β_{k−2}q_{k−1} − α_{k−1}Ap_{k−1},

x_{k} = x_{k−1} + α_{k−1}s_{k−1},

r_{k} = r_{k−1} − α_{k−1}As_{k−1},

β_{k−1} = \frac{⟨r_{k}, r̂_{0}⟩}{⟨r_{k−1}, r̂_{0}⟩},

p_{k} = r_{k} + 2β_{k−1}q_{k} + β_{k−1}^{2}p_{k−1}.

Malo pojednostavljenje algoritma može se napraviti ako uvedemo još jedan pomoćni vektor

u_{k−1} = r_{k−1} + β_{k−2}q_{k−1}.

Ta definicija vodi do relacija

q_{k} = u_{k−1} − α_{k−1}Ap_{k−1},
s_{k−1} = u_{k−1} + q_{k},
p_{k} = u_{k} + β_{k−1}(q_{k} + β_{k−1}p_{k−1}),

pa kao rezultat ovoga vektor s_{k−1} više nije potreban. Sljedeći algoritam generira aproksimaciju rješenja x_{k} sa traženim rezidualom r_{k}.

Algoritam 2.7.11. Kvadrirani konjugirani gradijenti (CGS)

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

Izaberi r̂_{0} takav da je ⟨r_{0}, r̂_{0}⟩ ≠ 0.

p_{0} = r_{0},

u_{0} = r_{0}.

Za k = 1, 2, …

izračunaj Ap_{k−1},

α_{k−1} = \frac{⟨r_{k−1}, r̂_{0}⟩}{⟨Ap_{k−1}, r̂_{0}⟩},

q_{k} = u_{k−1} − α_{k−1}Ap_{k−1},

x_{k} = x_{k−1} + α_{k−1}(u_{k−1} + q_{k}),

izračunaj A(u_{k−1} + q_{k}),

r_{k} = r_{k−1} − α_{k−1}A(u_{k−1} + q_{k}),

β_{k−1} = \frac{⟨r_{k}, r̂_{0}⟩}{⟨r_{k−1}, r̂_{0}⟩},

u_{k} = r_{k} + β_{k−1}q_{k},

p_{k} = u_{k} + β_{k−1}(q_{k} + β_{k−1}p_{k−1}).

Primijetimo da u ovom algoritmu zaista nama množenja vektora sa matricom A^{∗}, ali umjesto toga u svakom koraku se izvode dva množenja vektora sa matricom A.

2.7.6 Metoda stabiliziranih bikonjugiranih gradijenata (BICGSTAB)

CGS metoda je bazirana na kvadriranju rezidualnog polinoma, i u slučaju neregularne konvergencije, ona može dovesti do značajnih grešaka zaokruživanja, pa čak može proizvesti i vrijednosti koje su izvan raspoloživog raspona u skupu strojnih brojeva. Naime, kada je norma BCG reziduala mala, norma CGS reziduala je obično još puno manja, ali ako je norma BCG reziduala velika, norma CGS reziduala je još veća, pa su oscilacije kod CGS puno veće nego kod BCG metode. Metoda stabiliziranih bikonjugiranih gradijenata (BICGSTAB) je varijacija CGS metode koja je bila razvijena s ciljem da popravi ovaj problem.

U CGS metodi definirali smo rekurzije tako da rezidual r_{k} zadovoljava jednakost r_{k} = ϕ_{k}(A)^{2}r_{0}, kod kojeg je ϕ_{k}(A)r_{0} rezidual BCG metode. Prema konstrukciji imali smo ⟨ϕ_{k}(A)r_{0}, ϕ̄_{j}(A)r_{0}⟩ = 0 za j < k, zbog biortogonalnosti nizova BCG reziduala r_{k} i r̂_{k}, što je zapravo ekvivalentno sa činjenicom da je ϕ_{k}(A)r_{0} okomit na K_{k}(A^{∗}, r̂_{0}) = span{r̂_{0}, A^{∗}r̂_{0}, …, (A^{∗})^{k−1}r̂_{0}}. Iz toga dalje slijedi da mi možemo dobiti BCG parametre zahtijevajući da je, na primijer, r_{k} okomit na χ̄_{j}(A^{∗})r̂_{0}, odnosno da je ⟨χ_{j}(A)ϕ_{k}(A)r_{0}, r̂_{0}⟩ = 0 za neki drugi pogodni polinom χ_{j} stupnja j < k. U BCG metodi je χ_{j} = ϕ_{j}, jer je r̂_{j} = ϕ̄_{j}(A^{∗})r̂_{0}, što je iskorišteno u CGS metodi, budući da se rekurzije za vektore ϕ_{j}^{2}(A)r_{0} mogu dobiti iz onih za ϕ_{j}(A)r_{0}.

Naravno, mi možemo konstruirati druge iterativne metode, za koje su aproksimacije x_{k} generirane tako da je

r_{k} = χ_{k}(A)ϕ_{k}(A)r_{0},

gdje je ϕ_{k} ponovo BCG rezidualni polinom, a χ_{k} je izabran tako da pokuša držati normu reziduala malom u svakom koraku, ali s druge strane, da zadrži globalnu brzu konvergenciju. Jedna mogućnost izbora polinoma χ_{k} je polinom oblika

χ_{k} = (1 − ω_{k}z)(1 − ω_{k−1}z) ⋯ (1 − ω_{1}z),  (2.127)

pri čemu koeficijenti ω_{j} mogu biti izabrani tako da u svakom koraku minimiziraju

∥r_{k}∥_{2} = ∥(I − ω_{k}A)χ_{k−1}(A)ϕ_{k}(A)r_{0}∥_{2}.

Ovo je glavna ideja BICGSTAB metode, koja se može smatrati kombinacijom metoda BCG i Orthomin(1).

Ponovo, neka ϕ(A)r_{0} označva BCG rezidual u k-tom koraku, a ψ_{k}(A)r_{0} neka označava BCG vektor smjera p_{k}, i neka oba polinoma zadovoljavaju rekurzije (2.123) i (2.124). U BICGSTAB algoritmu želimo naći rekurzije za

r_{k} = χ_{k}(A)ϕ_{k}(A)r_{0}

i

p_{k} = χ_{k}(A)ψ_{k}(A)r_{0}.

Iz (2.127), (2.123) i (2.124) slijedi

r_{k} = (1 − ω_{k}A)χ_{k−1}(A)(ϕ_{k−1}(A) − α_{k−1}Aψ_{k−1}(A))r_{0} =
= (I − ω_{k}A)(r_{k−1} − α_{k−1}Ap_{k−1}),

p_{k} = χ_{k}(A)(ϕ_{k}(A) + β_{k−1}ψ_{k−1}(A))r_{0} =
= (χ_{k}(A)ϕ_{k}(A) + β_{k−1}(I − ω_{k}A)χ_{k−1}(A)ψ_{k−1}(A))r_{0} =
= r_{k} + β_{k−1}(I − ω_{k}A)p_{k−1}.  (2.128)

Još nam je preostalo izraziti BCG koeficijente α_{k−1} i β_{k−1} preko skalarnih produkata upravo definiranih vektora. Ono što ćemo koristiti je svojstvo biortogonalnosti koje se pojavljuje u BCG metodi, naime, znamo da u toj metodi vrijedi ⟨r_{k}, r̂_{j}⟩ = 0 i ⟨Ap_{k}, p̂_{j}⟩ = 0 za j ≠ k, pri čemu su r_{k}, p_{k} ∈ K_{k}(A, r_{0}), i r̂_{j}, p̂_{j} ∈ K_{j}(A^{∗}, r̂_{0}). To znači da je

⟨ϕ_{k}(A)r_{0}, (A^{∗})^{j}r̂_{0}⟩ = 0, za j = 0, 1, …, k − 1,

i

⟨Aψ_{k}(A)r_{0}, (A^{∗})^{j}r̂_{0}⟩ = 0, za j = 0, 1, …, k − 1.

Krenimo od definicije koeficijenta β_{k−1} (2.126). Iz rekurzija (2.123) i (2.124) imamo

ϕ_{k}(z) = −α_{k−1}zϕ_{k−1}(z) + (ϕ_{k−1}(z) − α_{k−1}β_{k−2}zψ_{k−2}(z)),
ψ_{k}(z) = ϕ_{k}(z) + β_{k−1}ψ_{k−1}(z),

odakle se vidi da je vodeći koeficijent polinoma ϕ_{k} jednak −α_{k−1} puta vodeći koeficijent od ϕ_{k−1}, dok je vodeći koeficijent od ψ_{k} jednak onom od ϕ_{k}. Matematičkom indukcijom možemo zaključiti da je vodeći koeficijent od ϕ_{k} jednak (−1)^{k}α_{0} ⋯ α_{k−1}. S druge strane vodeći koeficijent polinoma χ_{k} je očigledno dan sa (−1)^{k}ω_{1} ⋯ ω_{k}. Dakle, skalarni produkti koji se pojavljuju u β_{k−1}, definirani su preko ϕ_{k}^{2}(A)r_{0} i ϕ_{k−1}^{2}r_{0}, medutim, niti jedan od ta dva vektora nam nije dostupan, već na raspolaganju imamo vektore oblika χ_{k}(A)ϕ_{k}(A)r_{0}. Sada ćemo iskoristiti prethodna razmatranja kako bi dobili sljedeće relacije.

⟨ϕ_{k}(A)r_{0}, ϕ̄_{k}(A^{∗})r̂_{0}⟩ = (−1)^{k}α_{0} ⋯ α_{k−1}⟨ϕ_{k}(A)r_{0}, (A^{∗})^{k}r̂_{0}⟩ =
= \frac{(−1)^{k}α_{0} ⋯ α_{k−1}}{(−1)^{k}ω_{1} ⋯ ω_{k}} ⟨ϕ_{k}(A)r_{0}, χ̄_{k}(A^{∗})r̂_{0}⟩ =
= \frac{α_{0} ⋯ α_{k−1}}{ω_{1} ⋯ ω_{k}} ⟨r_{k}, r̂_{0}⟩,

odakle slijedi da je

β_{k−1} = \frac{α_{k−1}}{ω_{k}} \frac{⟨r_{k}, r̂_{0}⟩}{⟨r_{k−1}, r̂_{0}⟩}.

Sličan postupak napravimo i za α_{k−1} iz definicije (2.125). Za to nam još treba na pogodan način transformirati skalarni produkt ⟨Aψ_{k−1}(A)r_{0}, ψ̄_{k−1}(A^{∗})r̂_{0}⟩.

⟨Aψ_{k−1}(A)r_{0}, ψ̄_{k−1}(A^{∗})r̂_{0}⟩ = (−1)^{k−1}α_{0} ⋯ α_{k−2}⟨Aψ_{k−1}(A)r_{0}, (A^{∗})^{k−1}r̂_{0}⟩ =
= \frac{(−1)^{k−1}α_{0} ⋯ α_{k−2}}{(−1)^{k−1}ω_{1} ⋯ ω_{k−1}} ⟨Aψ_{k−1}(A)r_{0}, χ̄_{k−1}(A^{∗})r̂_{0}⟩
= \frac{α_{0} ⋯ α_{k−2}}{ω_{1} ⋯ ω_{k−1}} ⟨Ap_{k−1}r_{0}, r̂_{0}⟩,

odakle imamo da je

α_{k−1} = \frac{⟨r_{k−1}, r̂_{0}⟩}{⟨Ap_{k−1}, r̂_{0}⟩}.

Nadalje, trebamo još odrediti parametar ω_{k}. Najjednostavniji izbor bi bio da ω_{k} minimizira euklidsku normu vektora (I − ω_{k}A)χ_{k−1}(A)ϕ_{k}(A)r_{0}. Rekurziju za r_{k} tada možemo drugačije napisati kao

r_{k} = (I − ω_{k}A)r_{k−1/2},

pri čemu je

r_{k−1/2} = χ_{k−1}(A)(ϕ_{k−1}(A) − α_{k−1}Aψ_{k−1}(A))r_{0} = r_{k−1} − α_{k−1}Ap_{k−1}. Nakon minimiziranja funkcije f(ω_{k}) = ∥(I − ω_{k}A)r_{k−1/2}∥_{2}^{2}, kao kod Orthomin(1), dobivamo optimalni parametar ω_{k} dan sa

ω_{k} = \frac{⟨r_{k−1/2}, Ar_{k−1/2}⟩}{⟨Ar_{k−1/2}, Ar_{k−1/2}⟩}.

Na kraju trebamo još dobiti jednakost iz koje se aproksimacija x_{k} dobiva iz aproksimacije x_{k−1}. Imamo

r_{k} = r_{k−1/2} − ω_{k}Ar_{k−1/2} = r_{k−1} − α_{k−1}Ap_{k−1} − ω_{k}Ar_{k−1/2},

što daje

x_{k} = x_{k−1} + α_{k−1}p_{k−1} + ω_{k−1}r_{k−1/2}.

Sada smo izveli sve potrebne relacije, čime napokon možemo zaokružiti kompletan BICGSTAB algoritam.

Algoritam 2.7.12. Stabilizirani bikonjugirani gradijenti (BICGSTAB)

Dana je početna iteracija x_{0}, r_{0} = b − Ax_{0}, Izaberi r̂_{0} takav da je ⟨r_{0}, r̂_{0}⟩ ≠ 0. p_{0} = r_{0}. Za k = 1, 2, …

izračunaj Ap_{k−1},

α_{k−1} = \frac{⟨r_{k−1}, r̂_{0}⟩}{⟨Ap_{k−1}, r̂_{0}⟩},

x_{k−1/2} = x_{k−1} + α_{k−1}p_{k−1}, r_{k−1/2} = r_{k−1} − α_{k−1}Ap_{k−1}, izračunaj Ar_{k−1/2},

ω_{k} = \frac{⟨r_{k−1/2}, Ar_{k−1/2}⟩}{⟨Ar_{k−1/2}, Ar_{k−1/2}⟩},

x_{k} = x_{k−1/2} + ω_{k}r_{k−1/2}, r_{k} = r_{k−1/2} − ω_{k}Ar_{k−1/2},

β_{k−1} = \frac{α_{k−1}}{ω_{k}} \frac{⟨r_{k}, r̂_{0}⟩}{⟨r_{k−1}, r̂_{0}⟩},

p_{k} = r_{k} + β_{k−1}(p_{k−1} − ω_{k}Ap_{k−1}).

Zbog ortogonalnog svojstva ⟨ϕ_{i}(A)r_{0}, χ_{j}(A^{∗})r̂_{0}⟩ = 0, za j < i, slijedi da je BICGS-TAB, kao i CGS, je konačna motoda, jer u egzaktnoj aritmetici ona će završiti nakon m ≤ n iteracija. U tom slučaju je r_{m−1/2} = 0, pa ω_{m} nije definiran, što predstavlja regularno zaustavljanje. Tada se može preskočiti množenje sa (I − ω_{m}A), r_{m} je tako i onako jednak 0, a aproksimacije se može izračunati samo sa x_{m} = x_{m−1/2} = x_{m−1}+α_{m−1}p_{m−1}. Po broju operacija BICGSTAB obavlja nešto malo više posla po iteraciji nego CGS, ali se to nadoknaduje gotovo uvijek kroz manji broj iteracija. Jedini problem koji se javlja i u CGS, i u BICGSTAB metodi je mogućnost zakazivanja algotitma. Naime, obje metode zakazat će u istim iteracijama kada bi zakazala i BCG metoda, jer se u pozadini obaju metoda nalazi dvostrani Lanczosov algoritam. Za rješavanje ovakvog sloma algoritma ponovo treba uvesti tehnike provjere unaprijed.

2.7.7 Konvergencija metoda CGS i BICGSTAB

Probleme konvergencije BCG metode, kao i metoda koje su bazirane na njoj, opisao je van der Vorst u [36]. Oni su bili glavni razlog koji su ga ponukali na razvoj nove metode: BICGSTAB.

Kod problema kod kojih BCG metoda dobro konvergira, CGS metoda običo zahtijeva duplo manje iteracija za postizanje željene točnosti od BCG metode. Dakle, u mnogim slučajevima kada BCG konvergira CGS konvergira duplo brže, ali, slično tome, kada BCG divergira, tada CGS divergira otprilike dva puta brže. To ponašanje se može očekivati jer, se BCG operator ϕ_{k}(A) primijenjuje dva puta na r_{0} u CGS metodi. Kada se norma BCG reziduala smanji ili poveća u nekom koraku, tada se norma CGS reziduala otprilike smanji ili poveća za kvadrat smanjenja ili povećanja norme BCG reziduala. Zbog toga krivulja konvergencije CGS metode može imati divlje oscilacije, veće od onih kod BCG metode, što može dovesti i do numeričke nestabilnosti.

Medutim, postoji jedan problem kod promatranja CGS reziduala na ovakav način. Slaba točka je u tome što je redukcijski BCG operator ϕ_{k}(A) jako ovisan o početnom rezidualu r_{0}, i što vjerojatno on neće biti reduktivni operator za bilo koji drugi vektor, pa čak ni za vektor ϕ_{k}(A)r_{0} na koji se primijenjuje. Zaista se mogu konstruirati primjeri za koje je ϕ_{k}(A)r_{0} mali po normi, a ϕ_{k}^{2}(A)r_{0} mnogo veći po normi. Tako nešto se može dogoditi ako pretpostavimo da r_{0} ima male koordinate u smjeru nekih svojstvenih vektora matrice A. Tada |ϕ_{k}(λ)| može biti velik za odgovarajuće svojstvene vrijednosti, naročito kada su one više ili manje izolirane od ostalih, ali smjerovi tih svojstvenih vektora BCG reziduala ne moraju davati veliki doprinos njegovoj normi. Medutim, vrijednosti |ϕ_{k}^{2}(λ)| mogu biti tako velike da postanu dominante, i odnesu prevagu u odnosu na ostale kod utjecaja na iznos norme CGS reziduala.

Takve situacije se često dogadaju, pa u jednoj krivulji konvergencije CGS metode možemo primijetiti mnoge lokalne šiljke. S druge strane oni izgleda ne usporavaju konvergenciju CGS metode. Ali, ipak oni mogu biti vrlo štetni, jer mogu biti tako veliki, da odgovarajuća lokalna korekcija (padajuća strana šiljka) može izazvati fatalno kračenje. Kao rezultat, konačno rješenje može imati veliki gubitak u točnosti, što se može provjeriti računanjem pravog reziduala r = b − Ax.

U mnogim primjerima krivulja konvergencije BICGSTAB metode je puno glada od CGS metode, što je jasno zbog odabira oblika reziduala BICGSTAB metode. Takoder, u mnogim slučajevima BICGSTAB je puno efektivnija metoda od CGS, u smislu da je potrebno obaviti manje posla za postizanje iste točnosti.

2.7.8 Prekondicionirani algoritmi

Za sve algoritme u ovom poglavlju promatrat ćemo dvostruko prekondicioniranje, jer se lijevo i desno prekondicioniranje lako mogu dobiti iz njega. Dakle, promatramo matricu prekondicioniranja M koju na neki način možemo faktorizirati na

M = LU.

Tada zapravo rješavamo prekondicionirani sustav

L^{−1}AU^{−1}x̌ = L^{−1}b,  x = U^{−1}x̌.  (2.129)

Označimo sve veličine vezane uz prekondicionirani sustav (2.129) sa ˇ , a sve veličine vezane uz početni sustav neka ostanu označene standardnim oznakama.

Za prekondicioniranu BCG metodu vrijede sljedeće relacije:

r_{k} = Lř_{k},  r̂_{k} = U^{∗}ˇr̂_{k},

p_{k} = U^{−1}p̌_{k},  p̂_{k} = L^{−∗}ˇp̂_{k},

tada se BCG algoritam primijenjen na sustav (2.129) može transformirati u sljedeći algoritam.

Algoritam 2.7.13. Prekondicionirani BCG Dana je početna iteracija x_{0}, r_{0} = b − Ax_{0}, riješi Mq_{0} = r_{0}. Izaberi r̂_{0} takav da je ⟨q_{0}, r̂_{0}⟩ ≠ 0. Riješi M^{∗}q̂_{0} = r̂_{0}, p_{0} = q_{0}, p̂_{0} = q̂_{0}. Za k = 1, 2, …

izračunaj Ap_{k−1}, izračunaj A^{∗}p̂_{k−1},

α_{k−1} = \frac{⟨q_{k−1}, r̂_{k−1}⟩}{⟨Ap_{k−1}, p̂_{k−1}⟩},

x_{k} = x_{k−1} + α_{k−1}p_{k−1}, r_{k} = r_{k−1} − α_{k−1}Ap_{k−1}, r̂_{k} = r̂_{k−1} − ᾱ_{k−1}A^{∗}p̂_{k−1}, riješi Mq_{k} = r_{k}, riješi M^{∗}q̂_{k} = r̂_{k},

β_{k−1} = \frac{⟨q_{k}, r̂_{k}⟩}{⟨q_{k−1}, r̂_{k−1}⟩},

p_{k} = q_{k} + β_{k−1}p_{k−1}, p̂_{k} = q̂_{k} + β̄_{k−1}p̂_{k−1}.

Na žalost kod QMR metode rješavanje prekondicioniranog sustava (2.129) ne može se transformirati u oblik koji koristi samo matricu prekondicioniranja M, već se pojavljuju relacije u kojima ne možemo izbjeći pojavu faktora L i U matrice M. Zato se QMR metoda jednostavno primijeni na sustav (2.129), kao rezultat dobije se rješenje z, koje se na kraju transformira u rješenje x = U^{−1}z.

Algoritam 2.7.14. Prekondicionirani QMR Dana je početna iteracija x_{0}, riješi Lr_{0} = b − Ax_{0}, β = ∥r_{0}∥_{2},

v_{1} = \frac{r_{0}}{β} ,

Dan je r̂_{0},

w_{1} = \frac{r̂_{0}}{∥r̂_{0}∥_{2}} ,

d = (1, 0, …, 0)^{T} . Za k = 1, 2, …

Izračunaj v_{k+1}, w_{k+1}, α_{k} = T (k, k), β_{k} = T (k, k + 1), i γ_{k} = T (k + 1, k), koristeći dvostrani Lanczosov algoritam primijenjen na matricu L^{−1}AU^{−1}. Primijeni F_{k−2} i F_{k−1} na zadnji stupac od T, odnosno:

ako je k > 2 tada [ \begin{matrix}T (k − 2, k) \\ T (k − 1, k) \end{matrix} ] := [ \begin{matrix}c_{k−2} & s_{k−2} \\ −s̄_{k−2} & c_{k−2} \end{matrix} ] [ \begin{matrix}0 \\ T (k − 1, k) \end{matrix} ] ,

ako je k > 1 tada [ \begin{matrix}T (k − 1, k) \\ T (k, k) \end{matrix} ] := [ \begin{matrix}c_{k−1} & s_{k−1} \\ −s̄_{k−1} & c_{k−1} \end{matrix} ] [ \begin{matrix}T (k − 1, k) \\ T (k, k) \end{matrix} ] .

Izračunaj k-tu Givensovu rotaciju F_{k} kako bi se poništio (k+1, k) element od T:

c_{k} = \frac{|T (k, k)|}{\sqrt{|T (k, k)|^{2} + |T (k + 1, k)|^{2}}} ,

ako je c_{k} ≠ 0 tada s_{k} = c_{k} \frac{\overline{T (k + 1, k)}}{\overline{T (k, k)}}, ako je c_{k} = 0 tada s_{k} = 1. Primijeni k-tu rotaciju na d i na zadnji stupac od T:

[ \begin{matrix}d(k) \\ d(k + 1) \end{matrix} ] := [ \begin{matrix}c_{k} & s_{k} \\ −s̄_{k} & c_{k} \end{matrix} ] [ \begin{matrix}d(k) \\ 0 \end{matrix} ] ,

T (k, k) := c_{k}T (k, k) + s_{k}T (k + 1, k), T (k + 1, k) = 0 (∗). Izračunaj p_{k−1} = (1/T (k, k))[v_{k} − T (k − 1, k)p_{k−2} − T (k − 2, k)p_{k−3}], gdje su p_{−1}, p_{−2}, jednaki nuli. z_{k} = z_{k−1} + βd(k)p_{k−1}.

Ako je ocjena norme reziduala β\sqrt{k + 1}|s_{1} ⋯ s_{k}| dovoljno mala, tada : riješi Ux_{k} = z_{k}.

(*) T (k + 1, k) = 0 treba zapravo izvesti u sljedećem, (k + 1)-om koraku, jer je originalna vrijednost T (k + 1, k) potrebna za izvodenje (k + 1) − og koraka dvostranog Lanczosovog algoritma.

Za prekondicioniranu CGS metodu vrijede sljedeće relacije: r_{k} = Lř_{k}, q_{k} = U^{−1}q̌_{k},

u_{k} = U^{−1}ǔ_{k}, p_{k} = U^{−1}p̌_{k},
r̂_{0} = U^{∗} ˇr̂_{0},

pa se CGS algoritam primijenjen na sustav (2.129) može transformirati u sljedeći algoritam.

Algoritam 2.7.15. Prekondicionirani CGS Dana je početna iteracija x_{0}, r_{0} = b − Ax_{0}, riješi Ms_{0} = r_{0}. Izaberi r̂_{0} takav da je ⟨s_{0}, r̂_{0}⟩ ≠ 0. p_{0} = s_{0}, u_{0} = s_{0}. Za k = 1, 2, …

izračunaj Ap_{k−1}, riješi Mt_{k−1} = Ap_{k−1},

α_{k−1} = \frac{⟨s_{k−1}, r̂_{0}⟩}{⟨t_{k−1}, r̂_{0}⟩},

q_{k} = u_{k−1} − α_{k−1}t_{k−1}, x_{k} = x_{k−1} + α_{k−1}(u_{k−1} + q_{k}), izračunaj A(u_{k−1} + q_{k}), r_{k} = r_{k−1} − α_{k−1}A(u_{k−1} + q_{k}), riješi Ms_{k} = r_{k},

β_{k−1} = \frac{⟨s_{k}, r̂_{0}⟩}{⟨s_{k−1}, r̂_{0}⟩},

u_{k} = s_{k} + β_{k−1}q_{k}, p_{k} = u_{k} + β_{k−1}(q_{k} + β_{k−1}p_{k−1}).

U prekondicioniranoj CGS metodi, kao i kod BCG metode, faktori L i U ne igraju nikakvu ulogu u algoritmu, pa bilo koji izbor faktora matrice M odgovara nekom izboru vektora ˇ r̂_{0} u prekondicioniranom algoritmu. To znači da umjesto traženja pogodnog oblika prekondicioniranja, možemo tražiti pogodan izbor vektora r̂_{0}.

Za prekondicioniranu BICGSTAB metodu vrijede sljedeće relacije:

r_{k} = Lř_{k}, r_{k−1/2} = Lř_{k−1/2},

p_{k} = Lp̌_{k},  r̂_{0} = L^{−∗} ˇr̂_{0},

pa se BICGSTAB algoritam primijenjen na sustav (2.129) može transformirati u sljedeći algoritam.

Algoritam 2.7.16. Prekondicionirani BICGSTAB

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

Izaberi r̂_{0} takav da je ⟨r_{0}, r̂_{0}⟩ ≠ 0.

p_{0} = r_{0}.

Za k = 1, 2, …

riješi Ms_{k−1} = p_{k−1},

izračunaj As_{k−1},

α_{k−1} = \frac{⟨r_{k−1}, r̂_{0}⟩}{⟨As_{k−1}, r̂_{0}⟩},

x_{k−1/2} = x_{k−1} + α_{k−1}s_{k−1},

r_{k−1/2} = r_{k−1} − α_{k−1}As_{k−1},

riješi Mt_{k−1/2} = r_{k−1/2},

izračunaj At_{k−1/2},

riješi Lu_{k−1/2} = r_{k−1/2},

riješi Lv_{k−1/2} = At_{k−1/2},

ω_{k} = \frac{⟨u_{k−1/2}, v_{k−1/2}⟩}{⟨v_{k−1/2}, v_{k−1/2}⟩},

x_{k} = x_{k−1/2} + ω_{k}t_{k−1/2},

r_{k} = r_{k−1/2} − ω_{k}At_{k−1/2},

β_{k−1} = \frac{α_{k−1}}{ω_{k}} \frac{⟨r_{k}, r̂_{0}⟩}{⟨r_{k−1}, r̂_{0}⟩},

p_{k} = r_{k} + β_{k−1}(p_{k−1} − ω_{k}As_{k−1}).

Kod BICGSTAB metode, medutim postoji razlike izmedu izbora različitih oblika prekondicioniranja, ne mogu se prikazati kao pogodan izbor vektora r̂_{0}, i to zbog izraza za ω_{k}. Naime, kod rješavanja prekondicioniranog sustava, algoritam se ne može transformirati da u potpunosti ne bude ovisan o faktorima L i U. Uvijek će se pojaviti inverz prvog faktora kada pokušamo izračunati ω_{k} za prekondicionirani sustav.

2.8 Simetrizacija problema

2.8.1 CGNR i CGNE metode

Postoji još jedan način na koji možemo pristupiti rješavanju nehermitskog sustava, a to je simetrizacija problema. On se svodi na transformaciju nehermitskog problema na hermitski, rješavanjem jedne od normalnih jednadžbi

A^{∗}Ax = A^{∗}b ili AA^{∗}x̂ = b, x = A^{∗}x̂.  (2.130)

Rješavanje se može ostvariti bez eksplicitnog računanja hermitskih pozitivno definitnih matrica A^{∗}A ili AA^{∗}, a u drugom slučaju nije niti potrebno generitati aproksimacije za x̂, već se direktno računaju aproksimacije za x. Ako upotrijebimo CG metodu za rješavanje bilo kojeg sustava u (2.130) tada odgovarajuće algoritme nazivamo CGNR za prvi, i CGNE za drugi sustav. Ako saˆ označimo sve veličine u normalnim jednadžbama, a sa standardnim oznakama označimo veličine vezane uz polazni sustav Ax = b, tada uz pomoć relacija

r_{k} = A^{−∗}r̂_{k} p_{k} = p̂_{k},

za CGNR algoritam, i

x_{k} = A^{∗}x̂_{k},  , r_{k} = r̂_{k},  p_{k} = A^{∗}p̂_{k},

za CGNE algoritam, algoritme možemo implementirati na sljedeći način

Algoritam 2.8.1. CG za normalne jednadžbe (CGNR i CGNE)

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

izračunaj A^{∗}r_{0},

p_{0} = A^{∗}r_{0}.

Za k = 1, 2, …

izračunaj Ap_{k−1},

α_{k−1} = \frac{⟨A^{∗}r_{k−1}, A^{∗}r_{k−1}⟩}{⟨Ap_{k−1}, Ap_{k−1}⟩} za CGNR, α_{k−1} = \frac{⟨r_{k−1}, r_{k−1}⟩}{⟨p_{k−1}, p_{k−1}⟩} za CGNE,

x_{k} = x_{k−1} + α_{k−1}p_{k−1},

r_{k} = r_{k−1} − α_{k−1}Ap_{k−1},

izračunaj A^{∗}r_{k},

β_{k} = \frac{⟨A^{∗}r_{k}, A^{∗}r_{k}⟩}{⟨A^{∗}r_{k−1}, A^{∗}r_{k−1}⟩} za CGNR, β_{k} = \frac{⟨r_{k}, r_{k}⟩}{⟨r_{k−1}, r_{k−1}⟩} za CGNE,

p_{k} = A^{∗}r_{k} + β_{k}p_{k−1}.

CGNR algoritam minimizira A^{∗}A-normu greške, što je ekvivalentno minimiziranju euklidske norme reziduala r_{k} = b − Ax_{k}, po afinom potprostoru

x_{k} ∈ x_{0} + span{A^{∗}r_{0}, (A^{∗}A)A^{∗}r_{0}, …, (A^{∗}A)^{k−1}A^{∗}r_{0}}.

CGNE algoritam minimizira AA^{∗}-normu greške po x̂_{k} = A^{−∗}x_{k}, što je opet ekvivalentno minimiziranju euklidske norme greške e_{k} = x − x_{k} po afinom potprostoru

x_{k} ∈ x_{0} + span{A^{∗}r_{0}, A^{∗}(AA^{∗})r_{0}, …, A^{∗}(AA^{∗})^{k−1}r_{0}}.

Možemo primijetiti da se u obje metode radi o istom prostoru, ali o različitim normama koje se minimiziraju.

2.8.2 Analiza greške i konvergencija CGNR i CGNE metode

Najprije promatramo konvergenciju metode CGNR. Kao što je već napomenuto ova metoda minimizira euklidsku normu reziduala aproksimacija oblika

x_{k} = x_{0} + q_{k−1}(A^{∗}A)A^{∗}r_{0},

pri čemu je q_{k−1} polinom (k − 1)-og stupnja. Prema tome, rezidual je tada oblika

r_{k} = r_{0} − Aq_{k−1}(A^{∗}A)A^{∗}r_{0} = (I − AA^{∗}q_{k−1}(AA^{∗}))r_{0}.

Neka je sada A = UΣV^{∗} singularna dekompozicija od A, pri čemu su U i V unitarne matrice, a Σ = diag(σ_{1}, …, σ_{n}) je dijagonalna matrica singularnih vrijednosti. Tada rezidual CGNR aproksimacije zadovoljava sljedeće

∥r_{k}∥_{2} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(AA^{∗})r_{0}∥_{2} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥Up_{k}(Σ^{2})U^{∗}r_{0}∥_{2} ≤
≤ min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(Σ^{2})∥_{2}∥r_{0}∥_{2} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1} max_{i=1,...,n} |p_{k}(σ_{i}^{2})|∥r_{0}∥_{2}.

Na analogan način kao i kod CG metode, korištenjem Čebiševljevih polinoma, možemo doći do zaključka da je

∥r_{k}∥_{2} ≤ T_{k} (\frac{σ_{max}^{2} + σ_{min}^{2}}{σ_{max}^{2} − σ_{min}^{2}} )^{−1} ∥r_{0}∥_{2},

pri čemu su σ_{max} i σ_{min} najveća, odnosno najmanja singularna vrijednost. Raspisivanjem vrijednosti Čebiševljevog polinoma dobivamo

∥r_{k}∥_{2} ≤ 2 [(\frac{κ(A) + 1}{κ(A) − 1})^{k} + (\frac{κ(A) − 1}{κ(A) + 1})^{k}]^{−1} ∥r_{0}∥_{2},

odnosno

∥r_{k}∥_{2} ≤ 2 (\frac{κ(A) − 1}{κ(A) + 1})^{k} ∥r_{0}∥_{2},

gdje je κ(A) = ∥A∥_{2}∥A^{−1}∥_{2} = σ_{max}/σ_{min} uvjetovanost matrice A. Time smo pokazali da konvergencija CGNR metode ovisi o κ(A), odnosno o singularnim vrijednostima matrice A, a ne o njenom spektru, što je karakteristično za CG metodu.

Sličan zaključak možemo izvesti i za CGNE metodu. Ona minimizira euklidsku normu greške aproksimacije oblika

x_{k} = x_{0} + A^{∗}s_{k−1}(AA^{∗})r_{0} = x_{0} + A^{∗}s_{k−1}(AA^{∗})Ae_{0},

pri čemu je s_{k−1} polinom (k − 1)-og stupnja. Greška je tada oblika

e_{k} = e_{0} − A^{∗}s_{k−1}(AA^{∗})Ae_{0} = (I − A^{∗}As_{k−1}(A^{∗}A))e_{0}.

Greška CGNE metode tada zadovoljava

∥e_{k}∥_{2} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(A^{∗}A)e_{0}∥_{2} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥V p_{k}(Σ^{2})V^{∗}e_{0}∥_{2} ≤
≤ min_{p_{k}∈ℙ_{k},p_{k}(0)=1}∥p_{k}(Σ^{2})∥_{2}∥e_{0}∥_{2} = min_{p_{k}∈ℙ_{k},p_{k}(0)=1} max_{i=1,...,n} |p_{k}(σ_{i}^{2})|∥e_{0}∥_{2}.

Istom analizom dolazimo do rezultata

∥e_{k}∥_{2} ≤ 2 [(\frac{κ(A) + 1}{κ(A) − 1})^{k} + (\frac{κ(A) − 1}{κ(A) + 1})^{k}]^{−1} ∥e_{0}∥_{2},

odnosno

∥e_{k}∥_{2} ≤ 2 (\frac{κ(A) − 1}{κ(A) + 1})^{k} ∥e_{0}∥_{2}.

Još treba samo napomenuti, da prema analizi CG metode, primijenjenoj na normalne jednadžbe, za CGNR metodu euklidske norme reziduala čine nerastući niz, a kod CGNE to vrijedi za euklidske norme greške.

2.8.3 Prekondicionirane CGNR i CGNE metode

Kako konvergencija CGNR i CGNE metode ovisi o singularnim vrijednostima, odnosno uvjetovanosti matrice A, ove metode možemo primijeniti i na prekondicioniranim normalnim jednadžbama, s namjerom da prekondicionirana matrica sustava bude volje uvjetovana, i da iteracije imaju bolju konvergenciju. Promatrat ćemo posebno svaku metodu.

Kod CGNR metode, ona se primijenjuje na prekondicionirane normalne jednadžbe

M^{−∗}A^{∗}AM^{−1}x̂ = M^{−∗}A^{∗}b,  x = M^{−1}x̂.  (2.131)

sa dvostranim prekondicioniranajem, i matricom prekondicioniranja M^{∗}M. Ako sa ˆ označimo sve veličine vezane uz sustav (2.131), a sa standardnim oznakama označimo veličine vezane uz polazne normalne jednadžbe u CGNR algoritmu, tada su one vezane relacijama

r_{k} = A^{−∗}M^{∗}r̂_{k}, p_{k} = M^{−1}p̂_{k},

pa uz adekvatne transformacije prekondicionirani CGNR algoritam izgleda ovako Algoritam 2.8.2. Prekondicionirani CGNR

Dana je početna iteracija x_{0}, r_{0} = b − Ax_{0}, izračunaj A^{∗}r_{0}, riješi M^{∗}q_{0} = A^{∗}r_{0}, riješi Ms_{0} = q_{0}, p_{0} = s_{0}. Za k = 1, 2, …

izračunaj Ap_{k−1},

α_{k−1} = \frac{⟨q_{k−1}, q_{k−1}⟩}{⟨Ap_{k−1}, Ap_{k−1}⟩},

x_{k} = x_{k−1} + α_{k−1}p_{k−1}, r_{k} = r_{k−1} − α_{k−1}Ap_{k−1}, izračunaj A^{∗}r_{k}, riješi M^{∗}q_{k} = A^{∗}r_{k}, riješi Ms_{k} = q_{k},

β_{k} = \frac{⟨q_{k}, q_{k}⟩}{⟨q_{k−1}, q_{k−1}⟩}

p_{k} = s_{k} + β_{k}p_{k−1}.

Kod CGNE metode, ona se primijenjuje na prekondicionirane normalne jednadžbe

M^{−1}AA^{∗}M^{−∗}x̂ = M^{−1}b,  x = A^{∗}M^{−∗}x̂.  (2.132)

sa dvostranim prekondicioniranajem, i matricom prekondicioniranja MM^{∗}. Ako ponovo saˆ označimo sve veličine vezane uz sustav (2.132), a sa standardnim oznakama označimo veličine vezane uz polazne normalne jednadžbe u CGNE algoritmu, tada su one vezane relacijama

r_{k} = Mr̂_{k}, p_{k} = A^{∗}M^{−∗}p̂_{k},

pa uz adekvatne transformacije prekondicionirani CGNE algoritam izgleda ovako Algoritam 2.8.3. Prekondicionirani CGNE

Dana je početna iteracija x_{0},

r_{0} = b − Ax_{0},

riješi Mq_{0} = r_{0},

riješi M^{∗}s_{0} = q_{0},

izračunaj A^{∗}s_{0},

p_{0} = A^{∗}s_{0}.

Za k = 1, 2, …

izračunaj Ap_{k−1},

α_{k−1} = \frac{⟨q_{k−1}, q_{k−1}⟩}{⟨p_{k−1}, p_{k−1}⟩},

x_{k} = x_{k−1} + α_{k−1}p_{k−1},

r_{k} = r_{k−1} − α_{k−1}Ap_{k−1},

riješi Mq_{k} = r_{k},

riješi M^{∗}s_{k} = q_{k},

izračunaj A^{∗}s_{k},

β_{k} = \frac{⟨q_{k}, q_{k}⟩}{⟨q_{k−1}, q_{k−1}⟩}

p_{k} = A^{∗}s_{k} + β_{k}p_{k−1}.

2.9 Primjena iterativnih metoda

2.9.1 Izbor metode

Nakon prikaza raznih iterativnih metoda za rješavanje linearnih sustava, postavlja se pitanje koju metodu primijeniti za konkretan sustav. Prilikom odabira metode, potrebno je razmotriti dva osnovna kriterija, a to su:

• Ukoliko matrica sustava A ima neko posebno svojstvo (hermitičnost, pozitivnu definitnost, ...) izbor metode se sužava na one metode koje su specijalizirane za rješavanje sustava sa upravo takvim svojstvom.

• Medu pogodnim metodama bira se ona metoda kojoj je potrebno izvršiti najmanji broj operacija za postizanje tražene točnosti i koja ima što manje zahtjeva za prostorom memorije.

Potrebno je napomenuti da uglavnom ne postoji najbolja metoda za sve sustave općenito, tako da su za neke klase matrica pogodne jedne metode, a za druge klase, druge metode. Isto tako, uspješnost metode ovisi i o dobrom izboru matrice prekondicioniranja, pa se uvijek preporuča rješavati prekondicionirani sustav.

Pogledajmo najčešće slučajeve. Za hermitske sustave izbor iterativne metode je vrlo jednostavan. Za pozitivno definitne probleme treba upotrijebiti CG ili MINRES, a za indefinitne samo MINRES. Odnos izmedu normi reziduala CG i MINRES metoda je jednak kao i odnos izmedu norme reziduala BCG metode i kvazireziduala QMR metode. Ova tvrdnja se lako pokaže iz Leme 2.7.6, jer se norma kvazireziduala poklapa sa normom reziduala MINRES metode. Zbog tog svojstva je krivulja konvergencije MIN-RES metode, odredena normama reziduala, doljnja ograda krivulje konvergencije CG metode, pa se zato češće preferira MINRES.

Izbor metode za nehermitske probleme nije tako lagan. Ako je produkt matrice i vektora jako skup, na primjer ako je matrica A gusto popunjena i nema specijalnih svojstava koje bi omogućile brzo računanje tog produkta, tada bi najčešći izbor bila GMRES metoda, zato što zahtijeva najmanje množenja matrice i vektora za reduciranje norme reziduala na zadanu veličinu. Ako računanje produkta matrice i vektora nije tako skupo, ili ako zahtjev za memorijom kod GMRES metode postane prevelik, tada bi dobar izbor bila jedna od metoda BCG, QMR, CGS ili BICGSTAB. Zbog (2.122), obično se preporuča QMR metoda kao bolja od BCG. Izbor izmedu QMR, CGS, i BICGSTAB ovisi o problemu. Za svaku od ovih metoda može se naći primjer za koji je ona najbolja, i s druge strane može se naći primjer za kojeg je ona najgora. Zbog toga se ne može reći niti za jednu metodu da je najbolji izbor za nehermitske probleme. Drugi pristup je simetrizacija problema i rješavanje metodama CGNR i CGNE. Kao što smo vidjeli njihova konvergencija ovisi o distribuciji singularnih vrijednosti. Zato postoje problemi u kojima su CGNR i CGNE metode najbolji izbor, ali postoje problemi u kojima jedna od ostalih metoda za rješavanje nehermitskih sustava daleko nadmašuje ove dvije metode, vidi primjere u [29]. U praksi prevladava ova druga situacija.

Najbolji pregled metoda dan je u [1], a možemo ga dobiti ako sažmemo sve najbitnije karakteristike pojedinih metoda za rješavanje sustava Ax = b, i smjestimo ih u jednu listu.

1. Minimalni reziduali (MINRES)

• Primjenljiva na hermitskim matricama.

• Odabir aproksimacije u k-toj iteraciji je takav da minimizira euklidsku normu reziduala na Krylovljevom potprostoru r_{0} + AK_{k}(A, r_{0}).

• Brzina konvergencije ovisi o korijenu uvjetovanosti matrice sustava.

2. Konjugirani gradijenti (CG)

• Primjenljiva na pozitvno definitnim hermitskim matricama.

• Odabir aproksimacije u k-toj iteraciji je takav da minimizira A-normu greške na Krylovljevom potprostoru e_{0} + AK_{k}(A, e_{0}).

• Brzina konvergencije ovisi o korijenu uvjetovanosti matrice sustava.

3. Generalizirani minimalni reziduali (GMRES)

• Primjenljiva na nehermitskim matricama.

• Odabir aproksimacije u k-toj iteraciji je takav da minimizira euklidsku normu reziduala na Krylovljevom potprostoru r_{0} + AK_{k}(A, r_{0}).

• Rastući zahtjev za prostorom u memoriji, zato je potrebno restartanje.

• Brzina konvergencije kod ne-normalnog slučaja ne ovisi o spektru, ali je vezana uz pseudospektar. Ona se općenito ne može ograničiti samo na svojstva matrice, već na nju utjeće i desna strana sustava, kao i izbor početne iteracije.

4. Bikonjugirani gradijenti (BCG)

• Primjenljiva na nehermitskim matricama.

• Odabir aproksimacije u k-toj iteraciji je takav da zadovoljava uvjet biortogonalnosti; rezidual je iz Krylovljevog potprostora r_{0}+AK_{k}(A, r_{0}) i ortogonalan je na Krylovljev potprostor dualnog reziduala K_{k}(A^{∗}, r̂_{0}), a dualni rezidual je ortogonalan na Krylovljev potprostor K_{k}(A, r_{0}).

• Osim produkta vektora sa matricom sustava, zahtijeva se produkt i sa transponiranom matricom sustava.

• Može doći do ozbiljnog zakazivanja metode.

• Krivulja konvergencije može biti jako oscilirajuća, ali brzina konvergencije se poklapa sa brzinom QMR metode, što više završit će u koraku u kojem je završio i QMR.

5. Kvazi–minimalni reziduali (QMR)

• Primjenljiva na nehermitskim matricama.

• Odabir aproksimacije u k-toj iteraciji je takav da minimizira euklidsku normu kvazi–reziduala.

• Metoda je dizajnirana da izbjegne oscilirajuću konvergenciju BCG metode, i izbjegava jednu od dvije situacije mogućeg sloma BCG-a.

• Ako BCG metoda u jednoj iteraciji ostvari značajan napredak u konvergenciji, tada QMR ostvaruje od prilike isti rezultat u tom istom koraku. Ako BCG stagnira ili divergira, QMR i dalje može reducirati rezidual ali napredak je vrlo polagan.

• Brzina konvergencije ovisi o uvjetovanosti matrice Lanczosovih vektora.

6. Kvadrirani konjugirani gradijenti (CGS)

• Primjenljiva na nehermitskim matricama.

• Odabir aproksimacije u k-toj iteraciji je takav da rezidual bude iz Krylovljevog potprostora r_{0} + AK_{2k}(A, r_{0}), i da je oblika r_{k} = p_{k}^{2}(A)r_{0}, pri čemu je p_{k}(A)r_{0} rezidual k-tog koraka BCG metode.

• Metoda je dizajnirana da eliminira računanje produkta vektora sa transponiranom matricom sustava.

• Obično konvergira (ili divergira) dvostruko brže od BCG metode. Krivulja konvergencije ima još jače oscilacije od BCG metode, što može izazvati gubitak točnosti izračunatog reziduala.

7. Stabilizirani bikonjugirani gradijenti (BICGSTAB)

• Primjenljiva na nehermitskim matricama.

• Odabir aproksimacije u k-toj iteraciji je takav da rezidual bude iz Krylovljevog potprostora r_{0} + AK_{2k}(A, r_{0}), i da je oblika r_{k} = χ_{k}(A)p_{k}(A)r_{0}, pri čemu je p_{k}(A)r_{0} rezidual k-tog koraka BCG metode, a χ_{k}(z) = (1 − ω_{k}z) ⋯ (1 − ω_{1}z). r_{k} ima najmanju euklidsku normu od vektora oblika (I − ωA)χ_{k−1}(A)· ·p_{k}(A)r_{0}.

• Metoda ne zahtijeva računanje produkta vektora sa transponiranom matricom sustava, i dizajnirana je tako da izbjegne oscilacije krivulje konvergencije CGS metode.

• Brzina konvergencije je otprilike ista kao i kod CGS metode, ali dolazi do manje gubitaka u točnosti izračunatog reziduala nego kod CGS-a.

8. Metode za rješavanje normalnih jednadžbi (CGNR i CGNE)

• Primjenljiva na nehermitskim matricama.

• Odabir aproksimacije u k-toj iteraciji je takav da za CGNR metodu minimizira euklidsku normu reziduala na Krylovljevom potprostoru r_{0} +AA^{∗}K_{k}(AA^{∗}, r_{0}), a za CGNE metodu minimizira euklidsku normu greške na Krylovljevom potprostoru e_{0} + A^{∗}AK_{k}(A^{∗}A, e_{0}).

• Brzina konvergencije ovisi o uvjetovanosti matrice sustava.

Jedan od važnih kriterija za odabir metode je broj operacija sa vektorima i matricama po iteraciji, budući da one daju daleko značajniji doprinos složenosti algoritma od skalarnih operacija. Drugi takav kriterij bi bio potrošnja memorije po iteraciji. Takav pregled vidljiv je u sljedećim tabelama.

Tablica 2.1 prikazuje broj operacija potrebnih za izvršavanje k-te iteraciji pojedine me-

Metode  ⟨v, w⟩ αv v + w Av A^{∗}v v = M^{−1}w v = M^{−∗}w
MINRES  2  7  5  1  0  1  0
CG  2  3  3  1  0  1  0
GMRES  k + 1 k + 1  k  1  0  1  0
BCG  2  5  5  1  1  1  1
QMR  3  10  7  1  1  1  1
CGS  2  6  7  2  0  2  0
BICGSTAB  4  6  6  2  0  2  0
CGNR/CGNE  2  3  3  1  1  1  1

Tablica 2.1: Broj operacija po iteraciji pojedinih iterativnih metoda

tode, pri čemu je α skalar, v, w su n-dimenzionalni vektori, A je n × n matrica sustava, i M je n × n matrica prekondicioniranja. Zadnja dva stupca odnose se na rješavanja sustava sa matricom prekondicioniranja ili njenom transponiranom matricom.

U Tablici 2.2 prikazana je potrošnja memorije pojedine metode, ponovo u k-toj iteraciji. n je dimenzija sustava.

2.9.2 Odabir početne iteracije

Kada odaberemo iterativnu metodu kojem ćemo riješiti zadani linearni sustava, sljedeće pitanje koje se postavlja je kako započeti iteriranje. Mnogi linearni sustavi dolaze kao

2.10. KRITERIJ ZAUSTAVLJANJA I TOČNOST ITERATIVNIH METODA 125

Metoda  Potrošnja memorije
MINRES  matrica+5n
CG  matrica+5n
GMRES  matrica+(k + 3)n
BCG  matrica+9n
QMR  matrica+11n
CGS  matrica+10n
BICGSTAB  matrica+7n
CGNR/CGNE matrica+6n

Tablica 2.2: Potrošnja memorije po iteraciji pojedinih iterativnih metoda

konkretni problemi iz mnogih egzaktnih znanosti. Zato iz samih svojstava tih problema, kao i procedura koje su početni problem svele na linearni sustav, često možemo naslutiti grubu aproksimaciju traženog rješenja, koja se vrlo dobro može iskotistiti kao početna iteracija za iterativnu metodu. Ukoliko nemamo takvih informacija, onda se vrlo često uzima da je početna iteracija x_{0} = 0. U tom slučaju iterativne metode koje se koriste aproksimacijama iz Krylovljevih potprostora, generirat će aproksimacije iz vrlo poželjnog potprostora

x_{k} ∈ K_{k}(A, b) = span{b, Ab, …, A^{k−1}b},

u kojem se, sa dovoljno velikom dimenzijom m ≤ n, nalazi rješenje.

U svakom slučaju konvergencija metode, naročito kod nehermitskih sustava, ovisi o početnoj iteraciji, pa se zato njenom povoljnom izboru treba posvetiti malo pažnje. Kao što ćemo kasnije pokazati, za točnost konačne aproksimacije rješenja, kod većine metoda, važno je izabrati početnu aproksimaciju sa ne prevelikom normom.

2.10 Kriterij zaustavljanja i točnost iterativnih metoda

2.10.1 Kriterij zaustavljanja

Kada koristimo iterativne metode, navedene u ovom poglavlju, možemo očekivati da će one doći do traženog rješenja za manje od n koraka, pri čemu je n dimenzija sustava, ali samo ako računamo u egzaktnoj aritmetici. Budući da se iterativne metode primjenjuju uglavnom na računalima, egzaktna aritmetika nam neće biti dostupna, pa nećemo biti u stanju dobiti točno rješenje. Zato, moramo dati neki kriterij, po kojemu ćemo aproksimaciju u nekom koraku smatrati dovoljno dobrom, što znači da bi, u slučaju da je taj kriterij ispunjen, danu aproksimaciju mogli smatrati dovoljno točnom. Iteriranje se tada može zaustaviti u tom koraku. Jedino što nam je dostupno, a što daje neke naznake o odstupanja aproksimacije x_{k} u k-tom koraku od rješenja x = A^{−1}b, je rezidual r_{k} = b − Ax_{k}, kojeg možemo dobiti u svakoj iteraciji spomenutih iterativnih metoda direktno ili preko rekurzije. Iako bi najindikativnija mjera tog odstupanja bila neka standardna norma greške e_{k} = x − x_{k}, najčešće euklidska norma ili ∞-norma, to nam nije dostupno, jer da znamo vektor greške znali bismo i točno rješenje. Zato se, uglavnom, kao kriterij zaustavljanja provjerava da li je norma reziduala pala ispod nekog praga tolerancije. Sada se postavlja pitanje kakav je odnos izmedu norme reziduala i norme greške, odnosno ako je norma reziduala mala da li to isto vrijedi i za normu greške? Potvrdan odgovor bi dakako bio vrlo poželjan, ali to nije uvijek slučaj.

Norma relativne greške i norma relativnog reziduala su povezane sljedećom nejednakošću

\frac{1}{κ(A)} \frac{∥b − Ax_{k}∥}{∥b∥} ≤ \frac{∥A^{−1}b − x_{k}∥}{∥A^{−1}b∥} ≤ κ(A)\frac{∥b − Ax_{k}∥}{∥b∥},  (2.133)

gdje je κ(A) = ∥A∥ · ∥A^{−1}∥ uvjetovanost matrice A, a ∥ · ∥ je bilo koja vektorska norma i njezina inducirana matrična norma. Da bi pokazali da (2.133) vrijedi primijetimo da, budući da je b − Ax_{k} = A(A^{−1}b − x_{k}), ∥A^{−1}b∥ ≤ ∥A^{−1}∥ · ∥b∥ i ∥b∥ = ∥AA^{−1}b∥ ≤ ∥A∥ · ∥A^{−1}b∥, imamo

\frac{∥b − Ax_{k}∥}{∥b∥} ≤ \frac{∥A∥ · ∥A^{−1}b − x_{k}∥}{∥b∥} = \frac{∥A∥ · ∥A^{−1}∥ · ∥A^{−1}b − x_{k}∥}{∥A^{−1}∥ · ∥b∥} ≤
≤ \frac{κ(A)∥A^{−1}b − x_{k}∥}{∥A^{−1}b∥},

\frac{∥A^{−1}b − x_{k}∥}{∥A^{−1}b∥} ≤ \frac{∥A^{−1}∥ · ∥b − Ax_{k}∥}{∥A^{−1}b∥} = \frac{∥A∥ · ∥A^{−1}∥ · ∥b − Ax_{k}∥}{∥A∥ · ∥A^{−1}b∥} ≤
≤ \frac{κ(A)∥b − Ax_{k}∥}{∥b∥}.

Da bismo ostvarili gornju i donju ogradu norme greške potrebno je moći ocijeniti uvjetovanost matrice A. U svakom slučaju kada je norma relativnog reziduala mala, ako je matrica dobro uvjetovana, to jest kada je κ(A) malo, tada će i norma relativne greške biti mala. U suprotnoj situaciji, kada je matrica loše uvjetovana, raspon izmedu donje i gornje ograde je velik, pa ocjena za normu relativne greške ne mora biti stroga, ali pokazuje da norma greške može biti i vrlo velika. Zato kod loše uvjetovanih matrica mala norma relativnog reziduala ne mora značiti da je aproksimacija zaista i blizu rješenja.

2.10.2 Točnost iterativnih metoda

Točnost koju zahtijevamo od iterativne metode ne bi smjela biti veća od točnosti ulaznih parametara, koja često nije jako velika, zbog toga što su i sama matrica A i vektor desne strane b rezultat nekih prethodnih transformacija, pa u svakom slučaju sadrže neku grešku. Zato zahtijevana točnost metoda, obično isto tako nije jako velika, štoviše manja je od točnosti koja bi se mogla postići. Ponekad se iterativne metode primjenju na vrlo loše uvjetovanim problemima, i tada je važno znati koliko mašinska preciznost i broj uvjetovanosti ograničavaju točnost metode. Kod svih navedenih iterativnih metoda nigdje se rezidual ne računa direktno, već kao rekurzija kod metoda baziranih na CG metodi, ili se njegova norma računa preko odredenih relacija kao kod GMRES. U egzaktnoj aritmetici te dvije stvari su ekvivalentne, medutim u aritmetici konačne preciznosti to nije tako. Dakle, nakon što smo na neki način odredili kolika nam treba biti norma pravog reziduala aproksimacije, važno nam je znati koliko norma izračunatog reziduala odstupa od nje. Takva analiza će nam dati potpuniju sliku dostignute točnosti. Traba još samo napomenuti da se u analizi točnosti algoritma promatraju ralni sustavi.

Iterativne metode sa rekurzijom za računanje reziduala

Najprije ćemo promotriti skupinu iterativnih metoda u kojima se rezidual r_{k} računa pomoću rekurzije. Večina rezultata u ovom odjeljku su prezentirani u [11]. Rekurzije koje ćemo koristiti su zadane preko formula

x_{k} = x_{k−1} + α_{k−1}p_{k−1},  r_{k} = r_{k−1} − α_{k−1}Ap_{k−1}.  (2.134)

Ovdje je p_{k−1} neki vektor smjera, a α_{k−1} koeficijent, oboje odredeni nekom konkretnom metodom iz te skupine. Vekotor r_{k} se računa prema rekurziji umjesto da se računa direktno kao b − Ax_{k}. Ako promatramo prekondicionirane sustave, tada se u takvim algoritmima računa z_{k} kao rješenje sustava Mz_{k} = r_{k} koji se puno lakše rješava od sustava sa matricom A. Vektor z_{k} se tada koristi za odredivanje novog koeficijenta i vektora smjera, ali on ne mijenja oblik formula (2.134). Upravo te formule ćemo analizirati u aritmetici konačne preciznosti.

Još jedna napomena prije same analize. Veličina ∥b − Ax_{k}∥_{2}/∥b∥_{2}, čija vrijednost se obično prati, može biti puno veća od ∥b − Ax_{k}∥_{2}/(∥A∥_{2}∥x∥_{2}) za Ax = b i ∥b∥_{2} ≪ ∥A∥_{2}∥x∥_{2}. Rezultati koji će biti prezentirani koriste samo ovaj drugi izraz, kojeg označavamo kao norma relativnog reziduala. Vrijedi sljedeća relacija

\frac{∥b − Ax_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ \frac{∥b∥_{2} + ∥A∥_{2}∥x_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ 1 + \frac{∥x_{k}∥_{2}}{∥x∥_{2}} ,

odakle se nazire važnost veličine max_{k} \frac{∥x_{k}∥_{2}}{∥x∥_{2}} u daljnjoj analizi.

Implementacija formula (2.134) u aritmetici konačne preciznosti

Pretpostavit ćemo sljedeći model aritmetike pomičnog zareza na računalu sa mašinskom preciznošću ϵ:

fl(a ± b) = a(1 + ϵ_{1}) ± b(1 + ϵ_{2}), |ϵ_{1}|, |ϵ_{2}| ≤ ϵ,  (2.135)
fl(a op b) = (a op b)(1 + ϵ_{3}), |ϵ_{3}| ≤ ϵ, op = ∗, /.  (2.136)

Ovaj model vrijedi i za ona računala koja ne koriste sigurnosnu znamenku kod zbrajanja i oduzimanja.

Sa ovakvim modelom, vrijede sljedeći rezultati za operacije sa n-dimenzionalnim vektorima v i w, n × n matricom A, i skalarom α, koji su dokazani u [21].

∥αv − fl(αv)∥_{2} ≤ ϵ∥αv∥_{2},  (2.137)
∥v + w − fl(v + w)∥_{2} ≤ ϵ(∥v∥_{2} + ∥w∥_{2}),  (2.138)
|⟨v, w⟩ − fl(⟨v, w⟩)| ≤ n(ϵ + O(ϵ^{2}))∥v∥_{2}∥w∥_{2},  (2.139)
∥Av − fl(Av)∥_{2} ≤ c(ϵ + O(ϵ^{2}))∥A∥_{2}∥v∥_{2},  (2.140)

pri čemu konstanta c ovisi o rutini koja računa produkt matrice i vektora. Rezultat za takav produkt koji se računa na standardni način, gdje je A n × n matrica sa najviše m netrivijalnih elemenata po retku je

|Av − fl(Av)| ≤ m(ϵ + O(ϵ^{2}))|A| · |v|,

gdje je za matricu A = (a_{ij}) |A| = (|a_{ij}|), a za vektor v = (v_{i}) |v| = (|v_{i}|). Tada vrijedi

∥Av − fl(Av)∥_{2} ≤ m(ϵ + O(ϵ^{2}))∥|A|∥_{2}∥v∥_{2} ≤ m(ϵ + O(ϵ^{2}))∥A∥_{F} ∥v∥_{2} ≤
≤ \sqrt{n}m(ϵ + O(ϵ^{2}))∥A∥_{2}∥v∥_{2}.

U ovom slučaju je tada c = m\sqrt{n}. U općenitom slučaju to ne vrijedi jer ponekad matrice nisu eksplicitno spremljene u memoriji, već postoje samo rutine koje računaju produkt matrice s vektorom, pa se za takve rutine treba napraviti posebna analiza.

Uz pomoć upravo navedenih pravila izvest ćemo analizu implementacije formula (2.134) u aritmetici konačne preciznosti. Sa x_{k}, r_{k}, p_{k−1} i α_{k−1} označit ćemo veličine koje su izračunate u konačnoj artimetici. Zbog jednostavnosti, izraze koji uključuju ϵ^{2} ili više potencije od ϵ označavat ćemo sa O(ϵ^{2}), budući da su takvi izrazi vrlo mali, i ne utječu na ocjenu. Kada su formule (2.134) implementirane u aritmetici konačne preciznosti, tada izračunate iteracije zadovoljavaju

x_{k} = x_{k−1} + α_{k−1}p_{k−1} + ζ_{k},  (2.141)
r_{k} = r_{k−1} − α_{k−1}Ap_{k−1} + η_{k},  (2.142)

gdje je

∥ζ_{k}∥_{2} ≤ ϵ∥x_{k−1}∥_{2} + (2ϵ + ϵ^{2})∥α_{k−1}p_{k−1}∥_{2}  (2.143)

i

∥η_{k}∥_{2} ≤ ϵ∥r_{k−1}∥_{2}+(2ϵ+ϵ^{2})∥α_{k−1}Ap_{k−1}∥_{2}+(1+ϵ)^{2}∥α_{k−1}(fl(Ap_{k−1})−Ap_{k−1})∥_{2}. (2.144)

Nejednakosti (2.143) i (2.144) su direktna primjena ocjena (2.137) i (2.138). Za zadnji izraz u (2.144) znamo da vrijedi

∥fl(Ap_{k−1}) − Ap_{k−1}∥_{2} ≤ c(ϵ + O(ϵ^{2}))∥A∥_{2}∥p_{k−1}∥_{2}.

U nastavku promatramo pravi rezidual izračunate aproksimacije x_{k}. Ako jednakost (2.141) pomnožimo sa A, i oduzmemo od b, dobivamo rekurziju za pravi rezidual b−Ax_{k}. Ako sada od toga oduzmemo još i rekurziju (2.142) za r_{k}, imamo

b − Ax_{k} − r_{k} = (b − Ax_{k−1} − r_{k−1}) − Aζ_{k} − η_{k} =
= (b − Ax_{0} − r_{0}) − ∑_{j=1}^{k}(Aζ_{j} + η_{j}).

Nadalje, uzmimo norme na obje strane, i podijelimo sa ∥A∥_{2}∥x∥_{2} za x = A^{−1}b, čime dobivamo

\frac{∥b − Ax_{k} − r_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ \frac{∥b − Ax_{0} − r_{0}∥_{2}}{∥A∥_{2}∥x∥_{2}} + ∑_{j=1}^{k} (\frac{∥ζ_{j}∥_{2}}{∥x∥_{2}} + \frac{∥η_{j}∥_{2}}{∥A∥_{2}∥x∥_{2}} ) .  (2.145)

Vektor r_{0} se jedini računa direktno, tako da se prvi izraz na lijevoj strani (2.145) lako može ocijeniti pomoću (2.138) i (2.140), što rezultira sa

∥b − Ax_{0} − r_{0}∥_{2} ≤ ϵ((1 + c)∥A∥_{2}∥x_{0}∥_{2} + ∥b∥) + O(ϵ^{2})∥A∥_{2}∥x_{0}∥_{2},

a, kako vrijedi ∥b∥_{2} ≤ ∥A∥_{2}∥x∥_{2}, možemo napisati

\frac{∥b − Ax_{0} − r_{0}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ ϵ(1 + c)\frac{∥x_{0}∥_{2}}{∥x∥_{2}} + ϵ + O(ϵ^{2})\frac{∥x_{0}∥_{2}}{∥x∥_{2}} .  (2.146)

sljedeća lema daje ocjene za ostale izraze u (2.145).

Lema 2.10.1 ([11]). Definirajmo

Θ_{k} = max_{j≤k} \frac{∥x_{j}∥_{2}}{∥x∥_{2}} .  (2.147)

Pretpostavimo da je 1−2ϵ−ϵ^{2} > 0, što je razumljiva pretpostavka. Tada izrazi na desnoj strani u (2.145) zadovoljavaju

∑_{j=1}^{k} \frac{∥ζ_{j}∥_{2}}{∥x∥_{2}} ≤ (5ϵ + O(ϵ^{2}))kΘ_{k},  (2.148)

∑_{j=1}^{k} \frac{∥η_{j}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ (ϵ + O(ϵ^{2}))k(1 + (5 + 2c)Θ_{k}).  (2.149)

Dokaz: Prema (2.141) možemo pisati

α_{j−1}p_{j−1} = x_{j} − x_{j−1} − ζ_{j},  (2.150)

pa uvrštavanjem ovog izraza u (2.143) dobivamo

∥ζ_{j}∥_{2} ≤ ϵ∥x_{j−1}∥_{2} + (2ϵ + ϵ^{2})(∥x_{j}∥_{2} + ∥x_{j−1}∥_{2} + ∥ζ_{j}∥_{2}) =
≤ 3ϵ∥x_{j−1}∥_{2} + 2ϵ∥x_{j}∥_{2} + ϵ^{2}(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2}) + (2ϵ + ϵ^{2})∥ζ_{j}∥_{2}.

Koristeći pretpostavku 1 − 2ϵ − ϵ^{2} > 0, ovo se može napisati u obliku

∥ζ_{j}∥_{2} ≤ \frac{3ϵ∥x_{j−1}∥_{2} + 2ϵ∥x_{j}∥_{2} + ϵ^{2}(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2})}{1 − 2ϵ − ϵ^{2}} ≤
≤ ϵ(3∥x_{j−1}∥_{2} + 2∥x_{j}∥_{2}) + O(ϵ^{2})(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2}) ≤  (2.151)
≤ ϵ · 5Θ_{k}∥x∥_{2} + O(ϵ^{2})Θ_{k}∥x∥_{2}.

Odavde slijedi (2.148), sumiranjem ovog izraza k puta.

Nadalje, iz (2.140) treći izraz u (2.144) može se ocijeniti sa

(1 + ϵ)^{2}∥α_{j−1}(fl(Ap_{k−1}) − Ap_{k−1})∥_{2} ≤ c(ϵ + O(ϵ^{2}))(1 + ϵ)^{2}∥A∥_{2}∥α_{j−1}p_{j−1}∥_{2},

i raspisivanjem α_{j−1}p_{j−1} kao u (2.150) i korištenjem ocjene (2.151) za ∥ζ_{j}∥_{2}, on dobiva konačan oblik

(1 + ϵ)^{2}∥α_{j−1}(fl(Ap_{k−1}) − Ap_{k−1})∥_{2} ≤
≤ c(ϵ + O(ϵ^{2}))(1 + ϵ)^{2}∥A∥_{2}(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2} +
+ϵ(3∥x_{j−1}∥_{2} + 2∥x_{j}∥_{2}) + O(ϵ^{2})(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2})) =
≤ c(ϵ + O(ϵ^{2}))∥A∥_{2}(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2}).  (2.152)

Iz (2.150) slijedi

α_{j−1}Ap_{j−1} = A(x_{j} − x_{j−1} − ζ_{j}),

pa umetanjem ove jednakosti u drugi izraz u (2.144), uz korištenje ocjene (2.151) za ∥ζ_{j}∥_{2}, imamo

(2ϵ + ϵ^{2})∥α_{j−1}Ap_{j−1}∥_{2} ≤
≤ (2ϵ + ϵ^{2})∥A∥_{2}(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2} + ϵ(3∥x_{j−1}∥_{2} + 2∥x_{j}∥_{2}) +
+O(ϵ^{2})(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2})) =
≤ (2ϵ + O(ϵ^{2}))∥A∥_{2}(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2}).  (2.153)

Na poslijetku, kod dokaza indukcijom, pretpostavimo da je svaki izraz ∥η_{i}∥_{2}, i = 1, …, j − 1 ocijenjen sa O(ϵ)∥A∥_{2}(∥x∥_{2} + max_{l≤i} ∥x_{l}∥_{2}). Iz (2.144), (2.152),(2.153), te iz ocjene za ∥b − Ax_{0} − r_{0}∥_{2} jasno se vidi da ta ocjena vrijedi za η_{1}, jer

∥η_{1}∥2 ≤ ϵ∥b − Ax_{0} − r_{0}∥_{2} + ϵ∥b∥_{2} + ϵ∥A∥_{2}∥x∥_{2} + (2ϵ + ϵ^{2})∥α_{0}Ap_{0}∥_{2} +
+(1 + ϵ)^{2}∥α_{0}(fl(Ap_{0}) − Ap_{0})∥_{2} ≤
≤ ϵ∥A∥_{2}∥x∥_{2} + ϵ∥A∥_{2}(5 + 2c) max_{l≤1} ∥x_{l}∥_{2} + O(ϵ^{2})∥A∥_{2}(∥x∥_{2} + max_{l≤1} ∥x_{l}∥_{2}).

Budući da r_{j−1} zadovoljava

r_{j−1} = b − Ax_{j−1} − (b − Ax_{0} − r_{0}) + ∑_{i=1}^{j−1}(Aζ_{i} + η_{i}),

koristeći (2.146),(2.148), kojeg smo već dokazali, i pretpostavku indukcije imamo

∥r_{j−1}∥_{2} ≤ ∥A∥_{2}∥x − x_{j−1}∥_{2} + ϵ(1 + c)∥A∥_{2}( max_{i≤j−1} ∥x_{i}∥_{2} + ∥x∥_{2}) +

+∥A∥_{2}5(j − 1)ϵ max_{i≤j−1} ∥x_{i}∥_{2} + (j − 1)O(ϵ)∥A∥_{2}(∥x∥_{2} + max_{i≤j−1} ∥x_{i}∥_{2}) +

O(ϵ^{2})∥A∥_{2}(∥x∥_{2} + max_{i≤j−1} ∥x_{i}∥_{2}) =

≤ ∥A∥_{2}∥x − x_{j−1}∥_{2} + O(ϵ^{2})∥A∥_{2}(∥x∥_{2} + max_{i≤j−1} ∥x_{i}∥_{2}).  (2.154)

Uvrštavajući (2.152), (2.153) i (2.154) u ocjenu (2.144) za ∥η_{j}∥_{2} imamo

∥η_{j}∥_{2} ≤ ϵ∥A∥_{2}∥x − x_{j−1}∥_{2} + (2 + c)ϵ∥A∥_{2}(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2}) +

+O(ϵ^{2})∥A∥_{2}(∥x∥_{2} + max_{i≤j} ∥x_{i}∥_{2}) ≤

≤ (ϵ + O(ϵ^{2}))∥A∥_{2}(∥x∥_{2} + (5 + 2c) max_{i≤j} ∥x_{i}∥_{2}) ≤  (2.155)
≤ (ϵ + O(ϵ^{2}))∥A∥_{2}(∥x∥_{2} + (5 + 2c)Θ_{k}∥x∥_{2})  (2.156)

To nam pokazuje da je ∥η_{j}∥_{2} takoder ograden izrazom O(ϵ)∥A∥_{2}(∥x∥_{2} + max_{i≤j} ∥x_{i}∥_{2}), čime je dokaz indukcijom završen. Uvrštavanjem (2.155) u (2.149), sumiranjem k puta dobivamo traženu ocjenu.

Uvrštavanjem ocjena (2.146)–(2.149) u (2.145) daje rezultat sljedećeg teorema.

Teorem 2.10.2 ([11]). Razlika izmedu pravog reziduala b − Ax_{k} i izračunatog vektora r_{k} zadovoljava nejednakost

\frac{∥b − Ax_{k} − r_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ (ϵ + O(ϵ^{2}))[k + 1 + (1 + c + k(10 + 2c))Θ_{k}],  (2.157)

gdje je c definiran sa (2.140), a Θ_{k} sa (2.147).

Dokaz: Prema (2.145) imamo

\frac{∥b − Ax_{k} − r_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤

≤ ϵ(1 + c)Θ_{k} + ϵ + ϵ5kΘ_{k} + ϵk(1 + (5 + 2c)Θ_{k}) + O(ϵ^{2})(1 + Θ_{k}) ≤
≤ ϵ[k + 1 + (1 + c + k(10 + 2c))Θ_{k}] + O(ϵ^{2})(1 + Θ_{k}),

što je bila i tvrdnja teorema.

Primijetimo da Teorem 2.10.2 slijedi iz analize grešaka zaokruživanja formula (2.134). Nikakve pretpostavke nisu postavljene u vezi sa koeficijentima α_{k−1} ili o vektorima smjera p_{k−1}, ili o tome da li algoritam uopće konvergira. To je stvar analize konvergencije za pojedine konkretne metode.

Ocjene u Lemi 2.10.1 nisu stroge. Naročito u slučaju kada je algoritam blizu konvergencije, možemo očekivati da je norma od r_{j−1} puno manja od ∥A∥_{2}(∥x∥_{2} + ∥x_{j−1}∥_{2}), pa ocjena za ∥η_{j}∥_{2} u Lemi 2.10.1 može jako precijenjivati pravu vrijednost. Na osnovi jednakosti (2.141) i pravila za računanje u aritmetici pomičnog zareza (ocjena (2.143)), možemo očekivati da je

∥ζ_{j}∥_{2} ≈ ϵ∥x_{j−1}∥_{2},

tako da će se najznačajnije greške zaokruživanja dogoditi u koraku u kojem je ∥x_{j−1}∥_{2} najveći. Uglavnom, dok su konstantni izraz i ovisnost o k u (2.157) najvjerojatnije precijenjeni, možemo očekivati da faktor Θ_{k} igra važnu ulogu u veličini razlike izmedu pravog i izračunatog reziduala.

Promotrimo sada što se dogada kada je algoritam blizu konvergencije, budući da u većini slučajeva možemo očekivati da r_{k} teži k 0 kada k → ∞. Jednom kada se r_{k−1} reducira ispod odredenog stupnja, kada je vrlo mali, aporoksimacija rješenja x_{k} ostaje približno nepromijenjna u odnosu na prethodnu iteraciju. To je zbog toga što je norma izraza, koji mijenja vrijednost aproxsimacije x_{k−1} u x_{k}, u bliskoj vezi sa veličinom vektora r_{k−1}, kao što se može vidjeti iz (2.142)

α_{k−1}p_{k−1} = A^{−1}(r_{k−1} − r_{k} + η_{k}).

Iz ovoga slijedi da kada vektori r_{k}, a prema tome i α_{k−1}p_{k−1}, konvergiraju ka nuli, i kada su iteracije algoritma prošle točku u kojoj ∥A^{−1}r_{k−1}∥_{2} dostiže O(ϵ)∥x_{k−1}∥_{2}, pravi rezidual b − Ax_{k} neće ovisti o k, kao što pretpostavlja ocjena (2.157), već će ostati skoro konstantan. Ako sa S označimo broj koraka koji su potrebni da dostignemo ovo nepromijenjivo stanje, ocjena (2.157) može se zamijeniti sa

\frac{∥b − Ax_{k} − r_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ (ϵ + O(ϵ^{2}))[S + 1 + (1 + c + S(10 + 2c))Θ],  (2.158)

gdje je

Θ = max_{j} \frac{∥x_{j}∥_{2}}{∥x∥_{2}} .  (2.159)

Primijetimo da ako iteracije započinju sa ekstremno velikom početnom aproksimacijom x_{0}, dok je ∥x∥_{2} razumne veličine, faktor Θ_{k} u (2.157) biti će veliki za sve k, i nijedna metoda oblika (2.134) vjerojatno neće biti u stanju naći dobru aproksimaciju rješenja. To je zbog toga, što se čak niti početni rezidual neće moći izračunati sa pristojnom točnošću, a svi koeficijenti i vektori smjera su definirani pomoću izraza sa izračunatim rezidualom r_{k}. Mi ćemo pretpostaviti da je, od sada pa na dalje, početna aproksimacija razumne veličine u odnosu na pravo rješenje, i da faktor Θ_{k} postaje velik samo ako algoritam generira aproksimaciju koja je puno veća i od početne aproksimacije, i od rješenja, u nekoj iteraciji.

Specifični algoritmi

Za konkretne algoritme, koji zadovoljavaju (2.134), interesira nas odnos norme pravog relativnog reziduala ∥b − Ax_{k}∥_{2}/∥A∥_{2}∥x∥_{2} i norme izračunatog relativnog reziduala ∥r_{k}∥_{2}/∥A∥_{2}∥x∥_{2}. Sada ćemo u egzaktnoj aritmetici pokušati ocijeniti Θ u (2.159), što će više–manje vrijediti i u aritmetici konačne preciznosti za algoritme sa odredenim svojstvima. Dok je rezultat Teorema 2.10.2 neovisan o prekondicioniranju sustava, ocjena za Θ može biti različita za različito prekondicioniranje.

Ako algoritam reducira euklidsku normu greške u svakom koraku, ili općenitije, ako aproksimacije rješenja u svakoj iteraciji zadovoljavaju,

∥x − x_{k}∥_{2} ≤ ∥x − x_{0}∥_{2}, ∀k,

tada imamo

∥x_{k}∥_{2} − ∥x∥_{2} ≤ ∥x − x_{k}∥_{2} ≤ ∥x − x_{0}∥_{2} ≤ ∥x∥_{2} + ∥x_{0}∥_{2},

odakle slijedi

∥x_{k}∥_{2} ≤ 2∥x∥_{2} + ∥x_{0}∥_{2} ⟹ Θ ≤ 2 + Θ_{0}.  (2.160)

Ako euklidska norma greške može rasti, ali se u svakom koraku reducira B-norma greške, ∥x−x_{k}∥_{B} = ∥B^{1/2}(x−x_{k})∥_{2} za neku pozitivno definitnu matricu B, odnosno općenitije, ako vrijedi

∥x − x_{k}∥_{B} ≤ ∥x − x_{0}∥_{B},

tada imamo

∥x − x_{k}∥_{2} = ∥B^{−1/2}B^{1/2}(x − x_{k})∥_{2} ≤ ∥B^{−1/2}∥_{2}∥x − x_{k}∥_{B} ≤
≤ ∥B^{−1/2}∥_{2}∥x − x_{0}∥_{B} ≤ ∥B^{−1/2}∥_{2}∥B^{1/2}∥_{2}∥x − x_{0}∥_{2}
≤ κ^{1/2}(B)∥x − x_{0}∥_{2},

odakle slijedi

∥x_{k}∥_{2} ≤ ∥x∥_{2} + κ^{1/2}(B)(∥x∥_{2} + ∥x_{0}∥_{2}) ⟹ Θ ≤ 1 + κ^{1/2}(B)(1 + Θ_{0}).  (2.161)

Kako bi ostvarili najbolju apriornu ocjenu za pravi rezidual, trebamo odrediti neku normu greške koja se uvijek reducira u odnosu na svoju početnu vrijednost kod izvodenja algoritma, i koja je po mogučnosti što bliža euklidskoj normi.

\underline{CG metoda} Pokazali smo da u egzaktnoj aritmetici, svaki korak CG algoritma reducira A normu greške. Tada iz (2.161) slijedi da je

Θ ≤ 1 + κ^{1/2}(A)(1 + Θ_{0}).  (2.162)

Medutim, znamo da postoji i jača tvrdnja, koja tvrdi da euklidska norma greške takoder pada monotono. Prema tome iz (2.160) slijedi da je

Θ ≤ 2 + Θ_{0}.  (2.163)

Na žalost, svojstvo ortogonalnosti reziduala, koje se koristi za dobivanje redukcije euklidske norme greške u CG algoritmu može se u potpunosti izgubiti u aritmetici konačne preciznosti. Medutim, može se napraviti analogna analiza i u tom slučaju, što nam omogučava sličan zaključak i za aritmetiku konačne preciznosti. U [10] i [15] je pokazano da je greška aproksimacije rješenja x_{k} generiranog CG algoritmom u aritmetici konačne preciznosti za Ax = b aproksimativno jednako grešci aproksimacije rješenja x̃_{k} generiranog algoritmom u egzaktnoj aritmetici, ali koji je primijenjen na večem problemu Ãx̃ = b̃, sa početnom aproksimacijom x̃_{0}, koja zadovoljava ∥x̃ − x̃_{0}∥_{2} ≈ ∥x − x_{0}∥_{2}. Argumenti koje smo iskoristili da bi dobili monotonu konvergenciju euklidske norme greške mogu se sada primijeniti na egzaktnu CG iteraciju x̃_{k} kako bi dobili

∥x − x_{k}∥_{2} ≈ ∥x̃ − x̃_{k}∥_{2} ≤ ∥x̃ − x̃_{0}∥_{2} ≈ ∥x − x_{0}∥_{2}.

Slijedi da, u aritmetici konačne preciznosti, pod pogodnim pretpostavkama vezanih uz κ(A), možemo očekivati da će (2.163) takoder vrijediti.

Za broj iteracije u kojem je već r_{k} dovoljno mali možemo tvrditi da ∥b − Ax_{k}∥_{2}/ (∥A∥_{2}∥x∥_{2}) zadovoljava ocjenu (2.158). Prema tome, za CG algoritam procinjujemo da je

min_{k} \frac{∥b − Ax_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ O(ϵ)S,  (2.164)

i taj izraz je neovisan o κ(A). Broj koraka S koji su potrebni do se dostigne nepromijenjivo stanje za loše uvjetovane probleme može biti prilično velik, ali on je često i precijenjen.

Kada se hermitska pozitivno definitna matrica prekondicioniranja M upotrijebi u CG algoritmu, to je ekvivalentno primjeni neprekondicioniranog algoritma na problem M^{−1/2}AM^{−1/2}x̂ = M^{−1/2}b, x = M^{−1/2}x̂. U tom slučaju u svakom koraku minimizira se M^{−1/2}AM^{−1/2}-norma od x̂ − x̂_{k}, što je A-norma greške x − x_{k}, pa ocjena (2.162) i dalje vrijedi. Medutim, sada postoji mogućnost da euklidska norma od x − x_{k} ipak može rasti. S druge strane, mi znamo da euklidska norma od x̂ − x̂_{k}, što je M-norma od x−x_{k}, monotono pada. Za prekondicionirani problem ocjena (2.164) mora se zamijeniti sa

min_{k} \frac{∥b − Ax_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ O(ϵ) min\{κ^{1/2}(A), κ^{1/2}(M)\}S.  (2.165)

MINRES(Orthomin(2)) metoda Analizu za MINRES(Orthomin(2)) metodu možemo izvesti na analogan način kao i za CG metodu. Znamo da u svakom koraku MINRES algoritam minimizira euklidsku normu reziduala, što je A^{2}-norma greške, pa stoga vrijedi ocjena

Θ ≤ 1 + κ(A)(1 + Θ_{0}).  (2.166)

Iz toga sada ocjenjujemo normu relatvnog reziduala za MINRES metodu sa

min_{k} \frac{∥b − Ax_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ O(ϵ)κ(A)S.  (2.167)

Ako sada ponovo gledamo hermitski prekondicionirani sustav, kao kod CG metode, tada prekondicionirana MINRES metoda je zapravo primjena neprekondicionirane MIN-RES metode na taj prekondicionirani sustav. Tada se u svakom koraku minimizira euklidska norma reziduala prekondicioniranog sustava, što je M^{−1/2}AM^{−1}AM^{−1/2}-norma od x̂ − x̂_{k}, odnosno AM^{−1}A-norma greške x − x_{k}. Zato u tom slučaju imamo ocjenu

min_{k} \frac{∥b − Ax_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ O(ϵ)κ(A)κ^{1/2}(M)S.  (2.168)

BCG i CGS metode Kao što smo pokazali BCG metoda u svakom koraku zadovoljava odredena svojstva biortogonalnosti, a ne zadovoljava nikakva minimizacijska svojstva, tako da norma reziduala i greške prilično oscilira. Zato norma aproksimacije rješenja x_{k} može postati proizvoljno velika, pa stoga ne možemo dati nikakvu apriorinu ocjenu za Θ u (2.159). Može se dogoditi da algoritam nema uspjeha u postizanju malog pravog reziduala, čak i kad ∥r_{k}∥_{2} → 0.

Za CGS metodu znamo da vrijede slični zaključci kao za BCG. Oscilacije norme reziduala mogu biti još jače nego kod BCG metode, pa norma aproksimacije rješenja x_{k} može postati proizvoljno velika, i zato ponovo ne možemo dati apriornu ocjenu za Θ.

U slučaju kada je Θ jako velik za obje metode, onda možemo očekivati da je

min_{k} \frac{∥b − Ax_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ O(ϵ)Θ.

CGNR i CGNE metode CGNR je CG algoritam primijenjen na A^{∗}Ax = A^{∗}b koji u svakom koraku minimizira A^{∗}A-normu greške, što je ekvivalentno minimizaciji euklidske norme reziduala, pa iz (2.161) slijedi da je Θ ≤ 1 + κ(A)(1 + Θ_{0}). Budući da se euklidska norma greške takoder reducira u svakom koraku CG algoritma primijenjenog na sustav A^{∗}Ax = A^{∗}b, to isto vrijedi i za CGNR metodu. Kao što je prije napomenuto, može se očekivati da CG metoda reducira grešku i u aritmetici konačne preciznosti, pa tada iz (2.160) slijedi Θ ≤ 2 + Θ_{0}.

CGNE je ekvivalentan CG algoritmu primijenjenom na AA^{∗}x̂ = b, x = A^{∗}x̂, pa prema tome on u svakom koraku minimizira AA^{∗}-normu od x̂ − x̂_{k}, što je ekvivalentno minimizaciji euklidske norme greške. Iz toga slijedi da u egzaktnoj aritmetici vrijedi Θ ≤ 2 + Θ_{0}, a budući da ova ocjena ne zahtijeva ortogonalnost reziduala, može se očekivati da ona vrijedi i u aritmetici konačne preciznosti.

Za oba algoritma možemo dati konačnu ocjenu

min_{k} \frac{∥b − Ax_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ O(ϵ)S  (2.169)

koja je neovisna o κ(A).

Kada se CGNR metoda prekondicionira matricom M, to je ekvivalentno primjeni CG metode na sustav M^{−∗}A^{∗}AM^{−1}x̂ = M^{−∗}A^{∗}b, x = M^{−1}x̂. U svakom koraku se tada minimizira M^{−∗}A^{∗}AM^{−1}-norma od x̂ − x̂_{k}, što je A^{∗}A-norma greške, pa prema (2.161) slijedi da je Θ ≤ 1+κ(A)(1+Θ_{0}). Budući da se u svakom koraku još reducira i euklidska norma od x̂ − x̂_{k}, što je M^{∗}M-norma greške, to znači da ponovo prema (2.161) slijedi da je i Θ ≤ 1 + κ(M)(1 + Θ_{0}). Konačna ocjena za prekondicionirani CGNR algoritam glasi

min_{k} \frac{∥b − Ax∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ O(ϵ) min\{κ(A), κ(M)\}S.  (2.170)

Prekondicionirana CGNE metoda je ekvivalentna primjeni CG metode na sustav M^{−1}AA^{∗}M^{−∗}x̂ = M^{−1}b, x = A^{∗}M^{−∗}x̂. U svakom koraku ona minimizira M^{−1}AA^{∗}M^{−∗}- normu od x̂ − x̂_{k}, što je ponovo ekvivalentno minimizaciji euklidske norme greške. Zbog toga ocjena (2.169) vrijedi i za prekondicionirani CGNE algoritam.

BICGSTAB metoda

Za razliku od prethodno navedenih metoda, BICGSTAB metoda u svakoj iteraciji rekurzivno dobiva x_{k} iz x_{k−1}, ali ovaj puta pribrajanjem linearne kombinacije dvaju vektora.

Aproksimacija rješenja x_{k} i rezidual r_{k}, k = 1, 2, … u BICGSTAB algoritmu računaju se rekurzijama

x_{k} = x_{k−1} + α_{k−1}p_{k−1} + ω_{k}q_{k−1},  r_{k} = r_{k−1} − α_{k−1}Ap_{k−1} − ω_{k}Aq_{k−1}, (2.171)

pri čemu su p_{k−1}, α_{k−1} i ω_{k} definirani u BICGSTAB algoritmu, a q_{k−1} = r_{k−1/2}. Kada se ove formule implementiraju u aritmetici konačne preciznosti, dobivaju oblik

x_{k} = x_{k−1} + α_{k−1}p_{k−1} + ω_{k}q_{k−1} + ζ_{k},  (2.172)
r_{k} = r_{k−1} − α_{k−1}Ap_{k−1} − ω_{k}Aq_{k−1} + η_{k},  (2.173)

kod kojeg se direktnom primjenom pravila (2.137)–(2.140) dobiva

∥ζ_{k}∥_{2} ≤ (2ϵ + ϵ^{2})∥x_{k−1}∥_{2} + (3ϵ + 3ϵ^{2} + ϵ^{3})∥α_{k−1}p_{k−1}∥_{2} + (2ϵ + ϵ^{2})∥ω_{k}q_{k−1}∥_{2}, (2.174)

i

∥η_{k}∥_{2} ≤ (2ϵ + ϵ^{2})∥r_{k−1}∥_{2} + (3ϵ + 3ϵ^{2} + ϵ^{3})∥α_{k−1}Ap_{k−1}∥_{2} +
(1 + ϵ)^{3}∥α_{k−1}(fl(Ap_{k−1}) − Ap_{k−1})∥_{2} + (2ϵ + ϵ^{2})∥ω_{k}Aq_{k−1}∥_{2} +
+(1 + ϵ)^{2}∥ω_{k}(fl(Aq_{k−1}) − Aq_{k−1})∥_{2}.  (2.175)

I u ovom slučaju za odnos izmedu izračunatog reziduala i pravog reziduala vrijede ocjene (2.145) i (2.146), a za ocjene ostalih izraza u (2.145) potreban nam je analogon Leme 2.10.1.

Lema 2.10.3. Definirajmo Θ_{k} kao u (2.147) i

Φ_{k−1} = max_{j≤k} \frac{∥α_{j−1}p_{j−1}∥_{2} + ∥ω_{j}q_{j−1}∥_{2}}{∥α_{j−1}p_{j−1} + ω_{j}q_{j−1}∥_{2}} .  (2.176)

Pretpostavimo da je 1 − (3ϵ + 3ϵ^{2} + ϵ^{3})Φ_{k−1} > 0. Tada izrazi na desnoj strani (2.145) kod BICGSTAB algoritma zadovoljavaju

∑_{j=1}^{k} \frac{∥ζ_{j}∥_{2}}{∥x∥_{2}} ≤ (ϵ + Φ_{k−1}O(ϵ^{2}))k(2 + 6Φ_{k−1})Θ_{k},  (2.177)

∑_{j=1}^{k} \frac{∥η_{j}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ (ϵ + Φ_{k−1}O(ϵ^{2}))k[2 + (2 + (6 + 2c)Φ_{k−1})Θ_{k}].  (2.178)

Dokaz: Dokaz ove leme sličan je dokazu Leme 2.10.1. Koristit ćemo činjenicu da je

∥α_{j−1}p_{j−1}∥_{2} + ∥ω_{j}q_{j−1}∥_{2} ≤ Φ_{j−1}∥α_{j−1}p_{j−1} + ω_{j}q_{j−1}∥_{2}.  (2.179)

Iz (2.172) slijedi

α_{j−1}p_{j−1} + ω_{j}q_{j−1} = x_{j} − x_{j−1} − ζ_{j},  (2.180)

i uvrštavanjem ovog izraza i (2.179) u (2.174) dobivamo

∥ζ_{j}∥_{2} ≤ ((2 + 3Φ_{j−1})ϵ + (1 + 3Φ_{j−1})ϵ^{2} + Φ_{j−1}ϵ^{3})∥x_{j−1}∥_{2} +
+(3ϵ + 3ϵ^{2} + ϵ^{3})Φ_{j−1}∥x_{j}∥_{2} + (3ϵ + 3ϵ^{2} + ϵ^{3})Φ_{j−1}∥ζ_{j}∥_{2}

Koristeći pretpostavku da je 1 − (3ϵ + 3ϵ^{2} + ϵ^{3})Φ_{k−1} > 0, što će vrijediti onda i za Φ_{j−1} sa j ≤ k, to se može napisati kao

∥ζ_{j}∥_{2} ≤ ϵ((2 + 3Φ_{j−1})∥x_{j−1}∥_{2} + 3Φ_{j−1}∥x_{j}∥_{2}) + O(ϵ^{2})Φ_{j−1}^{2}(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2}). (2.181)

Odatle slijedi da je

\frac{∥ζ_{j}∥_{2}}{∥x∥_{2}} ≤ (ϵ + Φ_{j−1}O(ϵ^{2}))(2 + 6Φ_{j−1})Θ_{j},

pa sumiranjem po j, i uzimanjem maksimuma za Θ_{j} i Φ_{j−1} dobivamo ocjenu (2.177).

Nakon uvrštavanja (2.140), (2.179) i (2.181) u (2.175) imamo sljedeći oblik za normu od η_{j}

∥η_{j}∥_{2} ≤ (2ϵ + ϵ^{2})∥r_{j−1}∥_{2} + (ϵ + O(ϵ^{2}))(3 + c)Φ_{j−1}∥A∥_{2}(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2}) +
+O(ϵ^{2})Φ_{j−1}^{2}∥A∥_{2}(∥x_{j−1}∥_{2} + ∥x_{j}∥_{2}).  (2.182)

Ponovo ćemo matematičkom indukcijom provjeriti da ∥η_{j}∥_{2} ima odredeni oblik. Pretpostavimo da je svaki izraz ∥η_{i}∥_{2}, i = 1, …, j − 1 ocijenjen sa

O(ϵ)∥A∥_{2}(∥x∥_{2} + Φ_{i−1} max_{l≤i} ∥x_{l}∥_{2}).

Za η_{1} to vrijedi, jer je, nakon uvrštavanja ocjene za ∥r_{0}∥_{2} ≤ ∥b−Ax_{0} −r_{0}∥_{2} +∥b−Ax_{0}∥_{2} u (2.182) za j = 1

∥η_{1}∥_{2} ≤ (2ϵ + ϵ^{2})∥A∥_{2}∥x∥_{2} + (ϵ + O(ϵ^{2}))(6 + 2c)Φ_{0}∥A∥_{2} max_{l≤1} ∥x_{l}∥_{2} +

+O(ϵ^{2})∥A∥_{2}(∥x∥_{2} + Φ_{0}^{2} max_{l≤1} ∥x_{l}∥_{2}).

Uvrštavanjem pretpostavke indukcije i (2.146) u (2.145) imamo

∥r_{j−1}∥_{2} ≤ ∥A∥_{2}∥x − x_{j−1}∥_{2} + O(ϵ)∥A∥_{2}(∥x∥_{2} + Φ_{j−2} max_{l≤j−1} ∥x_{l}∥_{2}).  (2.183)

Sada kad napokon i (2.183) uvrstimo u (2.182) imamo

∥η_{j}∥_{2} ≤ ϵ∥A∥_{2}[2∥x∥_{2} + (2 + (6 + 2c)Φ_{j−1}) max_{l≤j} ∥x_{l}∥_{2}] +
+O(ϵ^{2})∥A∥_{2}(∥x∥_{2} + Φ_{j−1}^{2} max_{l≤j} ∥x_{l}∥_{2}),  (2.184)

čime je indukcija dokazana. Odavde je

\frac{∥η_{j}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ (ϵ + Φ_{j−1}O(ϵ^{2}))[2 + (2 + (6 + 2c)Φ_{j−1})Θ_{j}],

pa nakon sumiranja i maksimiziranja dobivamo traženu ocjenu (2.178).

Uvrštavanje (2.146), (2.177) i (2.178) u (2.145) daje tvrdnju sljedećeg teorema.

Teorem 2.10.4. Razlika izmedu pravog reziduala b − Ax_{k} i izračunatog vektora r_{k} kod BICGSTAB algoritma zadovoljava nejednakost

\frac{∥b − Ax_{k} − r_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ (ϵ + Φ_{k−1}O(ϵ^{2}))[2k + 1 + (1 + c + k(4 + (12 + 2c)Φ_{k−1}))Θ_{k}], (2.185)

gdje je c definiran sa (2.140), Θ_{k} sa (2.147) a Φ_{k−1} sa (2.176).

Primijetimo da niti ocjene Leme (2.10.3) nisu stroge. Ovdje isto vrijedi da, kako vektori r_{k} teže k nuli, tada i vektori α_{k−1}p_{k−1} + ω_{k}q_{k−1} teže k nuli. U slučaju da smo prošli točku u kojoj je ∥A^{−1}r_{k−1}∥_{2} dostigao O(ϵ)∥x_{k−1}∥_{2}, pravi rezidual b − Ax_{k} će ostati skoro konstantan. Ako sa S označimo broj koraka potrebnih da postignemo ovo nepromijenjivo stanje tada se ograda (2.185) može zamijeniti sa

\frac{∥b − Ax_{k} − r_{k}∥_{2}}{∥A∥_{2}∥x∥_{2}} ≤ (ϵ + Φ_{k−1}O(ϵ^{2}))[2S + 1 + (1 + c + S(4 + (12 + 2c)Φ))Θ], (2.186)

gdje je

Φ = max_{j} \frac{∥α_{j−1}p_{j−1}∥_{2} + ∥ω_{j}q_{j−1}∥_{2}}{∥α_{j−1}p_{j−1} + ω_{j}q_{j−1}∥_{2}} ,  (2.187)

a Θ je definirano sa (2.159). Ono što je još potrebno je, pronaći nekakvu ocjenu za Φ. Φ ovisi o kutu izmedu vektora p_{j} i q_{j} za sve j-ove, pa u slučaju da su u nekom koraku ta dva vektora skoro kolinearna ali suprotnih orijentacija, ili da je α_{j−1}p_{j−1} + ω_{j}q_{j−1} mali a sami vektori α_{j−1}p_{j−1} i ω_{j}q_{j−1} veliki, Φ može biti prilično velika konstanta, a ocjena (2.186) precijenjena.

Iterativne metode koje se svode na problem najmanjih kvadrata

Druga grupa metoda, koje ćemo promatrati, su one koje se zasnivaju na Arnoldijevom ili Lanczosevom algoritmu, i koje minimiziranje norme reziduala ili kvazireziduala svode na rješavanje problema najmanjih kvadrata dimenzije manje od dimenzije prostora. U ovakvim metodama numerika potrebna za dobivanje ocjene pravog reziduala je puno kompliciranija nego kod metoda sa rekurzijom za dobivanje reziduala, jer se računanje aproksimacije rješenja u svakom koraku odvija u nekoliko faza, a aproksimacija norme reziduala dobiva se obično preko odredene komponente vektora koji je nastao kao medurezultat u računu aproksimacije rješenja. U analizi greške metoda koje se svode na problem najmanjih kvadrata, koriste se analize greške raznih tipova QR faktorizacije i rješavanja trokutastih sustava. Najbolji primjeri takvih metoda su GMRES i QMR metode. Prije same analize važno je napomenuti da će sve veličine izražene u algoritmima biti izračunate vrijednosti u aritmetici konačne preciznosti, a sa fl( · ) ćemo označavati rezultat operacije ( · ) u istoj aritmetici. Dimenzija sustava je n.

GMRES metoda Numerička stabilnost GMRES metode prezentirana je u [8], a analiza u ovoj radnji temelji se na tom članku. Prva faza GMRES algoritma je Arnoldijev algoritma, kojeg možemo smatrati QR faktorizacijom matrice [q_{1} AQ_{k}], jer za gornjetrokutastu matricu R̄_{k+1} = [ξ_{1} H_{k+1,k}], u egzaktnoj aritmetici vrijedi da je

[q_{1} AQ_{k}] = Q_{k+1}R̄_{k+1}.

U aritmetici konačne preciznosti ovu dekompoziciju možemo prikazati na sljedeći način

fl(AQ_{k}) = AQ_{k} + F_{A,k},

i

[q_{1} fl(AQ_{k})] = Q_{k+1}R̄_{k+1} + F_{0,k},

prema redoslijedu vršenja operacija, tako da kao konačni rezultat imamo

[q_{1} AQ_{k} + F_{A,k}] = [q_{1} Q_{k+1}H_{k+1,k}] + F_{0,k},

odakle je

AQ_{k} + F_{A,k} = Q_{k+1}H_{k+1,k} + F̃_{0,k},

pri čemu je F̃_{0,k} n×k matrica zadnjih k stupaca matrice F_{0,k}. Dakle, grešku Arnoldijevog algoritma možemo izraziti kao

AQ_{k} = Q_{k+1}H_{k+1,k} + F_{k},  (2.188)

gdje je

F_{k} = F̃_{0,k} − F_{A,k},

pa je

∥F_{k}∥_{2} ≤ ∥F̃_{0,k}∥_{2} + ∥F_{A,k}∥_{2} ≤ ∥F_{0,k}∥_{2} + ∥F_{A,k}∥_{2}.

Potrebno je sada naći ocjene za norme matrica F_{0,k} i F_{A,k}. Prema (2.140) za c = m\sqrt{n}, gdje je m najveći broj netrivijalnih elemenata u retku matrice A, vrijedi

∥F_{A,k}∥_{2} ≤ ∥F_{A,k}∥_{F} ≤ m(ϵ + O(ϵ^{2}))∥A∥_{F} ∥Q_{k}∥_{F} ≤
≤ m\sqrt{n}(ϵ + O(ϵ^{2}))∥A∥_{2}\sqrt{∑_{i=1}^{k} ∥q_{i}∥_{2}^{2}}

Izračunati vektori q_{i}, i = 1, …, k su vjerojatno izgubili svojstvo ortogonalnosti, ali im je norma približno jednaka 1. Naime, oni su dobiveni normalizacijom, odnosno

q_{i} = fl (\frac{q̃_{i}}{fl(∥q̃_{i}∥_{2})}) .

Prema (2.139) i (2.137) vrijedi

fl(⟨q̃_{i}, q̃_{i}⟩) ≤ [1 + n(ϵ + O(ϵ^{2}))]∥q̃_{i}∥_{2}^{2},
fl(∥q̃_{i}∥_{2}) ≤ (1 + ϵ)\sqrt{fl(⟨q̃_{i}, q̃_{i}⟩)} ≤ (1 + ϵ)\sqrt{[1 + n(ϵ + O(ϵ^{2}))]∥q̃_{i}∥_{2}^{2}} ≤
≤ (1 + ϵ) [1 + \frac{n}{2}(ϵ + O(ϵ^{2}))] ∥q̃_{i}∥_{2}^{2} ≤
≤ (1 + \frac{n + 2}{2}ϵ + O(ϵ^{2})) ∥q̃_{i}∥_{2},
fl(∥q̃_{i}∥_{2}) ≥ (1 − ϵ)\sqrt{fl(⟨q̃_{i}, q̃_{i}⟩)} ≥
≥ (1 − \frac{n + 2}{2}ϵ + O(ϵ^{2})) ∥q̃_{i}∥_{2},
∥q_{i}∥_{2} ≤ (1 + ϵ)\frac{∥q̃_{i}∥_{2}}{fl(∥q̃_{i}∥_{2})},

što daje rezultat

∥q_{i}∥_{2}^{2} ≤ (1 + ϵ)^{2} \frac{∥q̃_{i}∥_{2}^{2}}{fl(∥q̃_{i}∥_{2})^{2}} ≤ (1 + 2ϵ + ϵ^{2})\frac{∥q̃_{i}∥_{2}^{2}}{(1 − \frac{n+2}{2}ϵ + O(ϵ^{2}))^{2} ∥q̃_{i}∥_{2}^{2}} ≤

≤ \frac{1 + 2ϵ + ϵ^{2}}{1 + (n + 2)ϵ + nO(ϵ^{2})} ≤ 1 + (n + 4)ϵ + nO(ϵ^{2}).

Prema tome je

∥F_{A,k}∥_{2} ≤ m\sqrt{n}(ϵ + O(ϵ^{2}))\sqrt{k}\sqrt{1 + (n + 4)ϵ + nO(ϵ^{2})}∥A∥_{2} ≤
≤ m\sqrt{n}\sqrt{k}(ϵ + O(ϵ^{2})) (1 + \frac{n + 4}{2}ϵ + nO(ϵ^{2})) ∥A∥_{2} ≤
≤ m\sqrt{n}\sqrt{k}(ϵ + nO(ϵ^{2}))∥A∥_{2},

odnosno

∥Q_{k}∥_{F} ≤ \sqrt{k} (1 + \frac{n + 4}{2}ϵ + nO(ϵ^{2})) .

Za daljnje ocjene bit će nam potreban teorem o povratnoj grešci modificiranog Gram–Schmidtovog postupka (MGS) kao metode za dobivanje QR faktorizacije.

Teorem 2.10.5 ([21]). Pretpostavimo da je MGS postupak primijenjen na B ∈ ℝ^{p×q}, p ≥ q ranga q, tako da su kao rezultat u aritmetici konačne preciznosti dobivene izračunate matrice Q̃ ∈ ℝ^{p×q} i R̃ ∈ ℝ^{q×q}. Tada postoje konstante c_{i}, i = 1, …, 4 takve da je

(i) B + ΔB_{1} = Q̃R̃, ∥ΔB_{1}∥_{F} ≤ c_{1}q^{2}(ϵ + O(ϵ^{2}))∥B∥_{F},

(ii) i postoji ortonormalna matrica Q ∈ ℝ^{p×q} takva da je B + ΔB_{2} = QR̃, ∥ΔB_{F} ∥_{2} ≤ c_{2}pq(ϵ + O(ϵ^{2}))∥B∥_{F} ,

(iii) ∥Q̃ − Q∥_{2} ≤ (c_{1}q^{5/2} + c_{2}q^{3/2}p)(κ(B)ϵ + O((κ(B)ϵ)^{2})),

(iv) ∥Q̃^{T} Q̃ − I∥_{2} ≤ (c_{3}q^{3} + c_{4}q^{2}p)(κ(B)ϵ + O((κ(B)ϵ)^{2})).

Dokaz: (i) MGS postupak u egzaktnoj aritmetici može se izraziti u matričnom obliku pomoću matrica B_{k} = [q_{1} … q_{k−1} b_{k}^{(k)} … b_{q}^{(k)}], pri čemu je B = B_{1} = [b_{1}^{(1)} … b_{q}^{(1)}], i b_{j}^{(k+1)} = b_{j}^{(k)} −⟨b_{j}^{(k)}, q_{k}⟩q_{k} za j = k +1, … q, te q_{k+1} = b_{k}^{(k)}/∥b_{k}^{(k)}∥_{2}. Dakle, lako se vidi da MGS transformira matricu B u ortonormalnu matricu B_{q+1} = Q preko niza transformacija B_{k} = B_{k+1}R_{k}, gdje je R_{k} ekvivalentna jediničnoj matrici svugdje osim u k-tom retku, u kojem se podudara sa konačnim R. Imamo

[q_{1} … q_{k−1} b_{k}^{(k)} … b_{q}^{(k)}] =

= [q_{1} … q_{k} b_{k+1}^{(k+1)} … b_{q}^{(k+1)}] [ \begin{matrix}1 \\ & . & . & . \\ & & & & 1 \\ & & & & & r_{kk} & ⋯ & ⋯ & r_{kq} \\ & & & & & & 1 \\ . & . & . \\ & & & & & & & & 1 \end{matrix} ] .

Za izračunate matrice tada vrijedi

B̃_{k} = B̃_{k+1}R̃_{k} + ΔB_{k}, |ΔB_{k}| ≤ (2ϵ + O(ϵ^{2}))|B̃_{k+1}||R̃_{k}|,

jer se u svakom stupcu od R̃_{k} nalaze najviše dva netrivijalna elementa. Uzastopnim izvodenjem svih koraka ove rekurzije dobivamo

B = Q̃R̃ + ΔB_{q}R̃_{q−1} ⋯ R̃_{1} + ⋯ + ΔB_{2}R̃_{1} + ΔB_{1}.

Odatle je

|B−Q̃R̃| ≤ (2ϵ+O(ϵ^{2}))(|B̃_{q+1}||R̃_{q}| ⋯ |R̃_{1}|+⋯+|B̃_{3}||R̃_{2}||R̃_{1}|+|B̃_{2}||R̃_{1}|), (2.189)

a tipiči član ove sume ima oblik

|B̃_{k}||R̃_{k−1}| ⋯ |R̃_{1}| = |[q̃_{1} … q̃_{k−1} b̃_{k}^{(k)} … b̃_{q}^{(k)}]|S_{k−1},

gdje se S_{k−1} podudara sa |R̃| u prvih k − 1 redaka, a sa identitetom na zasnjih q − k + 1 redaka. Za izračunate q̃_{i} takoder vrijedi da je

∥q̃_{i}∥_{2}^{2} = 1 + (p + 4)ϵ + pO(ϵ^{2}),

zato za b̃_{j}^{(k+1)} = fl(b̃_{j}^{(k)}−⟨q̃_{k}, b̃_{j}^{(k)}⟩q̃_{k}) direktnim računom iz (2.137), (2.138) i (2.139) imamo

∥b̃_{j}^{(k+1)} − (b̃_{j}^{(k)} − ⟨q̃_{k}, b̃_{j}^{(k)}⟩q̃_{k})∥_{2} ≤ [ϵ + ((p + 2)ϵ + pO(ϵ^{2}))∥q̃_{k}∥_{2}^{2}]∥b̃_{j}^{(k)}∥_{2} ≤
≤ [(p + 3)ϵ + pO(ϵ^{2})]∥b̃_{j}^{(k)}∥_{2}

a s druge strane je

∥b̃_{j}^{(k)} − ⟨q̃_{k}, b̃_{j}^{(k)}⟩q̃_{k}∥_{2}
≤ \sqrt{∥b̃_{j}^{(k)}∥_{2}^{2} − 2⟨q̃_{k}, b̃_{j}^{(k)}⟩^{2} + ⟨q̃_{k}, b̃_{j}^{(k)}⟩^{2}∥q̃_{k}∥_{2}^{2}} ≤
≤ \sqrt{∥b̃_{j}^{(k)}∥_{2}^{2} − ⟨q̃_{k}, b̃_{j}^{(k)}⟩^{2} + ⟨q̃_{k}, b̃_{j}^{(k)}⟩^{2}[(p + 4)ϵ + pO(ϵ^{2})]} ≤
≤ \sqrt{∥b̃_{j}^{(k)}∥_{2}^{2} + ∥b̃_{j}^{(k)}∥_{2}^{2}[1 + (p + 4)ϵ + pO(ϵ^{2})][(p + 4)ϵ + pO(ϵ^{2})]} ≤
≤ ∥b̃_{j}^{(k)}∥_{2}\sqrt{1 + (p + 4)ϵ + pO(ϵ^{2})} ≤
≤ ∥b̃_{j}^{(k)}∥_{2} (1 + \frac{p + 4}{2}ϵ + pO(ϵ^{2}))

tako da na kraju dobivamo

∥b̃_{j}^{(k+1)}∥_{2} ≤ [1 + (3/2p + 5)ϵ + pO(ϵ^{2})]∥b̃_{j}^{(k)}∥_{2}.

Iz r̃_{kj} = fl(⟨q̃_{k}, b̃_{j}^{(k)}⟩) slijedi

|r̃_{kj}| ≤ [1 + p(ϵ + O(ϵ^{2})]∥q̃_{k}∥_{2}∥b̃_{j}^{(k)}∥_{2} ≤
≤ [1 + p(ϵ + O(ϵ^{2})] (1 + \frac{p + 4}{2}ϵ + O(ϵ^{2})) ·

· [1 + (\frac{3}{2}p + 5) ϵ + pO(ϵ^{2})]^{k−1} ∥b_{j}∥_{2} ≤

≤ (1 + pO(ϵ))∥b_{j}∥_{2},

odnosno

∥R̃∥_{F} ≤ \sqrt{q}(1 + pO(ϵ))∥B∥_{F} .

Dalje, imamo

S_{k−1} = [ \begin{matrix}|R̃_{(k−1)×q}| \\ [0 I_{(q−k+1)×(q−k+1)}] \end{matrix} ] ,

pri čemu je R̃_{(k−1)×q} gornji (k − 1) × q blok matrice R̃, pa vrijedi

|B̃_{k}||R̃_{k−1}| ⋯ |R̃_{1}| = |[q̃_{1} … q̃_{k−1}]||R̃_{(k−1)×q}| + |[0 … 0 b̃_{k}^{(k)} … b̃_{q}^{(k)}]|.

Slijedi

∥|B̃_{k}||R̃_{k−1}| ⋯ |R̃_{1}|∥_{F}
≤ ∥[q̃_{1} … q̃_{k−1}]∥_{F} ∥R̃∥_{F} + ∥[b̃_{k}^{(k)} … b̃_{q}^{(k)}]∥_{F} ≤
≤ \sqrt{k − 1} (1 + \frac{p + 4}{2}ϵ + pO(ϵ^{2})) \sqrt{q}(1 + pO(ϵ))∥B∥_{F} +

+\sqrt{q − k + 1} [1 + (\frac{3}{2}p + 5) ϵ + pO(ϵ^{2})]^{k−1} ∥B∥_{F} ≤

≤ [q(1 + pO(ϵ)) + \sqrt{q}(1 + pqO(ϵ))]∥B∥_{F} ≤
≤ (q + \sqrt{q} + pq^{3/2}O(ϵ))∥B∥_{F} ≤ q(2 + pq^{1/2}O(ϵ))∥B∥_{F} ,

pa koristeći (2.189) imamo

∥B − Q̃R̃∥_{F} ≤ (2ϵ + O(ϵ^{2}))q^{2}(2 + pq^{1/2}O(ϵ))∥B∥_{F} ≤
≤ 4q^{2}(ϵ + O(ϵ^{2})∥B∥_{F} .

(ii) Analizu greške MGS metode pojednostavljuje činjenica da je MGS metoda ekvivalentna matematički i numerički Householderovoj QR faktorizaciji, izvedenoj na

proširenoj matrici [ \begin{matrix}0_{q} \\ B \end{matrix} ] ∈ ℝ^{(p+q)×q}, za koju već postoje gotove ocjene greške,

vidi [2]. Može se pokazati da je u egzaktnoj aritmetici

P^{T} [ \begin{matrix}0_{q} \\ B \end{matrix} ] = [ \begin{matrix}R \\ 0 \end{matrix} ] ,  P^{T} = P_{q} ⋯ P_{1},  (2.190)

pri čemu je R ekvivalentna gornje trokutastoj matrici koja se dobije MGS metodom, a

P_{k} = I − v_{k}v_{k}^{T} , v_{k} = [ \begin{matrix}−ξ_{k} \\ q_{k} \end{matrix} ] , k = 1, …, q,

ξ_{k} je jednak k-tom jediničnom vektoru, a q_{k} je k-ti ortonormirani vektor dobiven MGS metodom. Primjenjujući Teorem 18.4 iz [21, str. 368] na (2.190) dobivamo da postoji ortogonalna matrica P̃ takva da vrijedi

[ \begin{matrix}ΔB_{3} \\ B + ΔB_{4} \end{matrix} ] = P̃ [ R̃ ; 0 ] = [ P̃_{11} ; P̃_{21} ] R̃,  (2.191)

sa

∥[ \begin{matrix}ΔB_{3} \\ ΔB_{4} \end{matrix} ]∥_{F} ≤ dq(p + q)(ϵ + O(ϵ^{2}))∥B∥_{F} ,

za neku malu konstantu d. Promotrimo sada danu particiju matrice P̃

P̃ = \begin{matrix}q \\ p \end{matrix} [ \begin{matrix}P̃_{11} & P̃_{12} \\ P̃_{21} & P̃_{22} \end{matrix} ]^{q p}

dimenzije (q + p) × (q + p), za koju, zbog q ≤ p, vrijedi da je 2q ≤ (q + p). Iz tog razloga možemo na P̃ primijeniti teorem o CS dekompoziciji iz [19], koji kaže da, u ovom slučaju, postoje unitarne matrice Ũ = diag(U_{11}, U_{22}) i Ṽ = diag(V_{11}, V_{22}), gdje su U_{11}, V_{11} ∈ ℝ^{q×q}, i U_{22}, V_{22} ∈ ℝ^{p×p} ortogonalne matrice, takve da je

[ \begin{matrix}U_{11}^{T} & 0 \\ 0 & U_{22}^{T} \end{matrix} ] [ \begin{matrix}P̃_{11} & P̃_{12} \\ P̃_{21} & P̃_{22} \end{matrix} ] [ \begin{matrix}V_{11} & 0 \\ 0 & V_{22} \end{matrix} ] = \begin{matrix}q \\ q \\ p−q \end{matrix} [ \begin{matrix}Γ & −Σ & 0 \\ Σ & Γ & 0 \\ 0 & 0 & I \end{matrix} ] ,^{q q p−q}

pri čemu su

Γ = diag(γ_{1}, …, γ_{q}) ≥ 0
Σ = diag(σ_{1}, …, σ_{q}) ≥ 0

i vrijedi

Γ^{2} + Σ^{2} = I.

Odavde slijedi

U_{11}^{T}P̃_{11}V_{11} = Γ
U_{22}^{T}P̃_{21}V_{11} = [ \begin{matrix}Σ \\ 0 \end{matrix} ] ,

(2.192)

odnosno

P̃_{11} = U_{11}ΓV_{11}^{T}
P̃_{21} = (U_{22})_{p×q}ΣV_{11}^{T},

gdje je (U_{22})_{p×q} matrica koju čine prvih q stupaca matrice U_{22}. Zato možemo tvrditi da postoje ortonormalne matrice U = U_{11} i V = (U_{22})_{p×q}, ortogonalna matrica W = V_{11}, te kvadratne pozitivne dijagonalne matrice Γ i Σ, sa svojstvom Γ^{2} + Σ^{2} = I, takve da vrijedi P̃_{11} = UΓW^{T} i P̃_{21} = V ΣW^{T}. Neka je sada Q = V W^{T}, tada je

ΔB_{3} = UΓW^{T} R̃
B + ΔB_{4} = V ΣW^{T} R̃

i, zbog toga što je (I − Σ)(I + Σ) = I − Σ^{2}, odnosno I + Σ > 0, pa je I − Σ = (I + Σ)^{−1}(I − Σ^{2}) = (I + Σ)^{−1}Γ^{2}, vrijedi sljedeće

QR̃ = P̃_{21}R̃ + (Q − P̃_{21})R̃ = B + ΔB_{4} + V (I − Σ)W^{T} R̃ =
= B + ΔB_{4} + V (I + Σ)^{−1}ΓU^{T} UΓW^{T} R̃
= B + ΔB_{4} + V (I + Σ)^{−1}ΓU^{T} ΔB_{3}.

Ako sada definiramo

F = V (I + Σ)^{−1}ΓU^{T} ,

i

ΔB_{2} = ΔB_{4} + F ΔB_{3},

tada je

∥F ∥_{2} = ∥(I + Σ)^{−1}Γ∥_{2} = max_{i} |\frac{γ_{i}}{1 + σ_{i}} | ≤ 1.

Na kraju imamo

∥ΔB_{2}∥_{F} ≤ ∥ΔB_{3}∥_{F} + ∥ΔB_{4}∥_{F} ≤
≤ 2 ∥[ \begin{matrix}ΔB_{3} \\ ΔB_{4} \end{matrix} ]∥_{F} ≤ 2dq(p + q)(ϵ + O(ϵ^{2}))∥B∥_{F}
≤ 4dqp(ϵ + O(ϵ^{2}))∥B∥_{F}

(iii) Iz (i) i (ii) slijedi da je Q̃ − Q = (ΔB_{1} − ΔB_{2})R̃^{−1}, pa vrijedi

R̃ = Q^{T} B + Q^{T} ΔB_{2},

i

R̃^{−1} = R̃^{−1}Q^{T} B(Q^{T} B)^{−1} =
= R̃^{−1}(Q^{T} B + Q^{T} ΔB_{2} − Q^{T} ΔB_{2})(Q^{T} B)^{−1} =
= [I − R̃^{−1}Q^{T} ΔB_{2}](Q^{T} B)^{−1},

odnosno

∥R̃^{−1}∥_{2} ≤ ∥(Q^{T} B)^{−1}∥_{2}(1 + ∥ΔB_{2}∥_{2}∥R̃^{−1}∥_{2}) ≤
≤ ∥(Q^{T} B)^{−1}∥_{2}(1 + c_{2}pq^{3/2}(ϵ + O(ϵ^{2}))∥B∥_{2}∥R̃^{−1}∥_{2}).

Sada nam još ostaje ocijeniti normu ∥(Q^{T} B)^{−1}∥_{2}, a za što će nam biti potrebni neki rezultati vezani uz generalizirani inverz. Prema točki 9. u Teoremu 2.13 iz [19] vrijedi da je

(Q^{T} B)^{−1} = (Q^{T} B)^{+} = B^{+}(Q^{+})^{T} = B^{+}Q,

pa iz toga slijedi

∥(Q^{T} B)^{−1}∥_{2} ≤ ∥B^{+}∥_{2}.

Sada konačno možemo pisati

∥R̃^{−1}∥_{2} ≤ ∥B^{+}∥_{2}(1 + c_{2}pq^{3/2}(ϵ + O(ϵ^{2}))∥B∥_{2}∥R̃^{−1}∥_{2}).

Uz uvjet da je c_{2}pq^{3/2}(ϵ + O(ϵ^{2}))κ(B) < 1, za κ(B) = ∥B∥_{2}∥B^{+}∥_{2}, imamo

∥R̃^{−1}∥_{2} ≤ \frac{∥B^{+}∥_{2}}{1 − c_{2}pq^{3/2}(ϵ + O(ϵ^{2}))κ(B)}.

Sada napokon možemo dati ocjenu za ∥Q̃ − Q∥_{2}.

∥Q̃ − Q∥_{2} ≤ (∥ΔB_{1}∥_{F} + ∥ΔB_{2}∥_{F})∥R̃^{−1}∥_{2} ≤
≤ (c_{1}q^{2} + c_{2}pq)(ϵ + O(ϵ^{2}))∥B∥_{F} ∥R̃^{−1}∥_{2} ≤
≤ (c_{1}q^{5/2} + c_{2}pq^{3/2})(ϵ + O(ϵ^{2}))\frac{κ(B)}{1 − c_{2}pq^{3/2}(ϵ + O(ϵ^{2}))κ(B)} ≤
≤ (c_{1}q^{5/2} + c_{2}pq^{3/2})(κ(B)ϵ + O((κ(B)ϵ)^{2})).

(iv) Vrijedi sljedeće

Q̃^{T} Q̃ − I = (Q̃ − Q)^{T} (Q̃ + Q) + Q^{T} Q̃ − Q̃^{T} Q,

a s druge strane, ako definiramo ΔQ = Q̃ − Q, je

Q^{T} Q̃ − Q̃^{T} Q = Q^{T} (Q + ΔQ) − (Q^{T} + ΔQ^{T})Q =
= I + Q^{T} ΔQ − I − ΔQ^{T} Q = Q^{T} ΔQ − ΔQ^{T} Q.

Jer je ∥Q̃∥_{2} ≤ ∥Q̃∥_{F} ≤ \sqrt{q}(1 + (p + 4)/2ϵ + pO(ϵ^{2})), vrijedi

∥Q̃^{T} Q̃ − I∥_{2} ≤ ∥Q̃ − Q∥_{2}(∥Q̃∥_{2} + 1) + 2∥Q̃ − Q∥_{2} ≤
≤ [3 + \sqrt{q}(1 + (p + 4)/2ϵ + pO(ϵ^{2}))]∥Q̃ − Q∥_{2} ≤
≤ [3 + \sqrt{q}(1 + (p + 4)/2ϵ + pO(ϵ^{2}))] ·
·(c_{1}q^{5/2} + c_{2}pq^{3/2})(κ(B)ϵ + O((κ(B)ϵ)^{2})) ≤
≤ (3 + \sqrt{q})(c_{1}q^{5/2} + c_{2}pq^{3/2})(κ(B)ϵ + O((κ(B)ϵ)^{2})).

Sada ovaj teorem primjenjujemo na naš problem QR faktorizacije. Iz (i) dijela teorema slijedi da postoji neka konstanata c, i postoji konstanta d za koju vrijedi 1 + nk∥A∥_{2}^{2} ≤ dnk∥A∥_{2}^{2}, takve da je

∥F_{0,k}∥_{2} ≤ c(k + 1)^{2}(ϵ + O(ϵ^{2}))∥[q_{1} AQ_{k} + F_{A,k}]∥_{F} ≤
≤ c(k + 1)^{2}(ϵ + O(ϵ^{2}))\sqrt{∥q_{1}∥_{2}^{2} + (∥AQ_{k}∥_{F} + ∥F_{A,k}∥_{F})^{2}} ≤
≤ c(k + 1)^{2}(ϵ + O(ϵ^{2}))\sqrt{∥q_{1}∥_{2}^{2} + [1 + m(ϵ + O(ϵ^{2}))]^{2}∥A∥_{F}^{2} ∥Q_{k}∥_{F}^{2}} ≤
≤ c(k + 1)^{2}(ϵ + O(ϵ^{2}))\sqrt{1 + nk∥A∥_{2}^{2} + n^{2}k∥A∥_{2}^{2}O(ϵ)} ≤
≤ c(k + 1)^{2}(ϵ + O(ϵ^{2}))\sqrt{dnk∥A∥_{2}^{2}(1 + nO(ϵ))} ≤
≤ c(k + 1)^{2}(ϵ + O(ϵ^{2}))\sqrt{d}\sqrt{k}\sqrt{n}(1 + nO(ϵ))∥A∥_{2} ≤
≤ c\sqrt{d}(k + 1)^{2}\sqrt{k}\sqrt{n}(ϵ + nO(ϵ^{2}))∥A∥_{2} ≤
≤ c_{5}k^{5/2}n^{1/2}(ϵ + O(ϵ^{2}))∥A∥_{2},

za neku konstantu c_{5}. Dakle, vrijedi konačna ocjena

∥F_{k}∥_{2} ≤ ∥F_{0,k}∥_{2} + ∥F_{A,k}∥_{2} ≤
≤ (c_{5}k^{5/2}n^{1/2} + mk^{1/2}n^{1/2})(ϵ + nO(ϵ^{2}))∥A∥_{2} =
= p(m, k, n)(ϵ + nO(ϵ^{2}))∥A∥_{2}.

Dalje, prema (ii) dijelu teorema postoji ortonormalna matrica Q̂_{k+1} takva da je

[q_{1} AQ_{k} + F_{A,k}] − \overline{\overline{F}}_{k} = Q̂_{k+1}[ξ_{1} H_{k+1,k}],

takva da postoji konstanta c za koju vrijedi

∥\overline{\overline{F}}_{k}∥_{2} ≤ c(k + 1)n(ϵ + O(ϵ^{2}))∥[q_{1} AQ_{k} + F_{A,k}]∥_{F} ≤
≤ c(k + 1)n(ϵ + nO(ϵ^{2}))\sqrt{d}\sqrt{k}\sqrt{n}(1 + nO(ϵ))∥A∥_{2} ≤
≤ c\sqrt{d}(k + 1)\sqrt{k}n^{3/2}(ϵ + nO(ϵ^{2}))∥A∥_{2} ≤
≤ c_{6}k^{3/2}n^{3/2}(ϵ + nO(ϵ^{2}))∥A∥_{2},

za neku konstantu c_{6}. Sada, ako definiramo \overline{F}_{k} kao matricu koju čine zadnjih k stupaca matrice \overline{\overline{F}}_{k} minus F_{A,k}, tada vrijedi da je

AQ_{k} = Q̂_{k+1}H_{k+1,k} + \overline{F}_{k},

i

∥\overline{F}_{k}∥_{2} ≤ ∥\overline{\overline{F}}_{k}∥_{2} + ∥F_{A,k}∥_{2} ≤
≤ (c_{6}k^{3/2}n^{3/2} + mk^{1/2}n^{1/2})(ϵ + nO(ϵ^{2}))∥A∥_{2} ≤
≤ c_{7}k^{3/2}n^{3/2}(ϵ + nO(ϵ^{2}))∥A∥_{2},

za neku konstantu c_{7}.

Preostalo nam je još provjeriti koliko je izračunati Q_{k+1} udaljen od ortonormalne matrice. U (iii) i (iv) dijelovima teorema ∥Q_{k+1}−Q̂_{k+1}∥_{2} i ∥Q_{k+1}^{T}Q_{k+1}−I∥_{2} su ogradeni sa κ([q_{1} AQ_{k} + F_{A,k}]), što je zapravo κ([q_{1} fl(AQ_{k})]), odnosno broj uvjetovanosti za izračunatu matricu nad kojom izvršavamo QR faktorizaciju, koja nam tako i onako stoji na raspolaganju u svakoj iteraciji GMRES algoritma. Imamo

∥Q_{k+1} − Q̂_{k+1}∥_{2} ≤ (c_{1}(k + 1)^{5/2} + c_{2}(k + 1)^{3/2}n)[κ([q_{1} fl(AQ_{k})])ϵ +
+O((κ([q_{1} fl(AQ_{k})])ϵ)^{2})] ≤
≤ c_{8}k^{3/2}n[κ([q_{1} fl(AQ_{k})])ϵ + O((κ([q_{1} fl(AQ_{k})])ϵ)^{2})]

i

∥Q_{k+1}^{T}Q_{k+1} − I∥_{2} ≤ (c_{3}(k + 1)^{3} + c_{2}(k + 1)^{2}n)[κ([q_{1} fl(AQ_{k})])ϵ +
+O((κ([q_{1} fl(AQ_{k})])ϵ)^{2})] ≤
≤ c_{9}k^{2}n[κ([q_{1} fl(AQ_{k})])ϵ + O((κ([q_{1} fl(AQ_{k})])ϵ)^{2})]

za neke konstante c_{8} i c_{9}. Ovime smo završili analizu Arnoldijevog algoritma u aritmetici konačne preciznosti.

Dalje nas interesira koliko izračunata norma Arnoldijevog reziduala fl(∥βξ_{1} −H_{k+1,k}· ·y_{k}∥_{2}) odstupa od norme pravog reziduala ∥b−Ax_{k}∥_{2}, u k-toj iteraciji GMRES algoritma izvodenog u aritmetici konačne preciznosti. Aproksimacija rješenja x_{k}, u k-tom koraku, je u toj aritmetici tada izražena sa

x_{k} = x_{0} + Q_{k}y_{k} + Δx_{k},  (2.193)

gdje za Δx_{k} = fl(x_{0} + Q_{k}y_{k}) − (x_{0} + Q_{k}y_{k}), prema (2.138) i (2.140), te ogradi za normu od Q_{k}, vrijedi ocjena

∥Δx_{k}∥_{2} ≤ ∥fl(x_{0} + Q_{k}y_{k}) − (x_{0} + fl(Q_{k}y_{k}))∥_{2} + ∥fl(Q_{k}y_{k}) − Q_{k}y_{k}∥_{2} ≤
≤ ϵ(∥x_{0}∥_{2} + ∥fl(Q_{k}y_{k})∥_{2}) + ∥fl(Q_{k}y_{k}) − Q_{k}y_{k}∥_{2} ≤
≤ ϵ(∥x_{0}∥_{2} + ∥Q_{k}y_{k}∥_{2}) + (1 + ϵ)∥fl(Q_{k}y_{k}) − Q_{k}y_{k}∥_{2} ≤
≤ ϵ(∥x_{0}∥_{2} + ∥Q_{k}∥_{F} ∥y_{k}∥_{2}) + (1 + ϵ)k(ϵ + O(ϵ^{2}))∥Q_{k}∥_{F} ∥y_{k}∥_{2} ≤
≤ ϵ∥x_{0}∥_{2} + [(1 + k)ϵ + kO(ϵ^{2})]∥Q_{k}∥_{F} ∥y_{k}∥_{2} ≤
≤ ϵ∥x_{0}∥_{2} + [(1 + k)ϵ + kO(ϵ^{2})]\sqrt{k} (1 + \frac{n + 4}{2}ϵ + nO(ϵ^{2})) ∥y_{k}∥_{2} ≤
≤ ϵ∥x_{0}∥_{2} + \sqrt{k}[(k + 1)ϵ + nkO(ϵ^{2})]∥y_{k}∥_{2} ≤
≤ ϵ∥x_{0}∥_{2} + 2k^{3/2}(ϵ + nO(ϵ^{2}))∥y_{k}∥_{2}

Koristeći (2.188) i (2.193) imamo

b − Ax_{k} = b − Ax_{0} − AQ_{k} − AΔx_{x} =
= b − Ax_{0} − Q_{k+1}H_{k+1,k}y_{k} − F_{k}y_{k} − AΔx_{k} =
= (b − Ax_{0} − βq_{1}) + (βq_{1} − Q_{k+1}H_{k+1,k}y_{k}) − F_{k}y_{k} − AΔx_{k} =
= (b − Ax_{0} − βq_{1}) + Q_{k+1}(βξ_{1} − H_{k+1,k}y_{k}) − F_{k}y_{k} − AΔx_{k}.

Dakle, vrijedi

∥(b−Ax_{k})−Q_{k+1}(βξ_{1} −H_{k+1,k}y_{k})∥_{2} ≤ ∥b−Ax_{0} −βq_{1}∥_{2} +∥F_{k}y_{k}∥_{2} +∥AΔx_{k}∥_{2}. (2.194)

U sljedećem koraku trebamo odrediti ocjene normi na desnoj strani nejednakosti. Za δ_{i}, takve da je |δ_{i}| ≤ ϵ, i = 1, …, n, iz (2.136) imamo

∥b − Ax_{0} − βq_{1}∥_{2} = ∥b − Ax_{0} − β (I + [ \begin{matrix}δ_{1} & & & & 0 \\ & . & . & . \\ 0 & & & & δ_{n} \end{matrix} ]) \frac{fl(b − Ax_{0})}{β}∥_{2} ≤
≤ ∥b − Ax_{0} − fl(b − Ax_{0})∥_{2} + ϵ∥fl(b − Ax_{0})∥_{2} ≤
≤ (1 + ϵ)∥b − Ax_{0} − fl(b − Ax_{0})∥_{2} + ϵ∥b − Ax_{0}∥_{2} ≤
≤ (1 + ϵ)[∥fl(b − Ax_{0}) − (b − fl(Ax_{0}))∥_{2} +
+∥fl(Ax_{0}) − Ax_{0}∥_{2}] + ϵ∥b − Ax_{0}∥_{2} ≤
≤ (1 + ϵ)[ϵ(∥b∥_{2} + ∥fl(Ax_{0})∥_{2}) + ∥fl(Ax_{0}) − Ax_{0}∥_{2}] +
+ϵ∥b − Ax_{0}∥_{2} ≤
≤ (1 + ϵ)[ϵ∥b∥_{2} + (1 + ϵ)∥fl(Ax_{0}) − Ax_{0}∥_{2} + ϵ∥Ax_{0}∥_{2}] +
+∥b − Ax_{0}∥_{2} ≤
≤ (1 + ϵ)[ϵ∥b∥_{2} + (1 + ϵ)m\sqrt{n}(ϵ + O(ϵ^{2}))∥A∥_{2}∥x_{0}∥_{2} +
+ϵ∥A∥_{2}∥x_{0}∥_{2}] + ϵ∥b∥_{2} + ϵ∥A∥_{2}∥x_{0}∥_{2} ≤
≤ (mn^{1/2} + 2)ϵ∥A∥_{2}∥x_{0}∥_{2} + 2ϵ∥b∥_{2} +
+O(ϵ^{2})(mn^{1/2}∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2}),  (2.195)
∥AΔx_{k}∥_{2} ≤ ϵ∥A∥_{2}∥x_{0}∥_{2} + 2k^{3/2}(ϵ + nO(ϵ^{2}))∥A∥_{2}∥y_{k}∥_{2},
∥F_{k}y_{k}∥_{2} ≤ (c_{5}k^{5/2}n^{1/2} + mk^{1/2}n^{1/2})(ϵ + nO(ϵ^{2}))∥A∥_{2}∥y_{k}∥_{2},

što daje, prema (2.194) ocjenu

∥(b − Ax_{k}) − Q_{k+1}(βξ_{1} − H_{k+1,k}y_{k})∥_{2} ≤
≤ (2k^{3/2} + c_{5}k^{5/2}n^{1/2} + mk^{1/2}n^{1/2})ϵ∥A∥_{2}∥y_{k}∥_{2} +
+(mn^{1/2} + 3)ϵ∥A∥_{2}∥x_{0}∥_{2} + 2ϵ∥b∥_{2} +
+O(ϵ^{2})(∥A∥_{2}∥y_{k}∥_{2} + ∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2}).  (2.196)

Uz pretpostavku da ∥x_{0}∥_{2} nije ekstremno velik, izraz (mn^{1/2} + 3)ϵ∥A∥_{2}∥x_{0}∥_{2} + 2ϵ∥b∥_{2} nije od presudnog značaja u prethodnoj ocjeni. On može postati velik jedino ako ∥y_{k}∥_{2} poćne nekontrolirano rasti. Iz (2.196) i ocjene za normu od Q_{k+1} imamo konačnu ocjenu

∥b − Ax_{k}∥_{2} ≤ (k + 1)^{1/2} (1 + \frac{n + 4}{2}ϵ) ∥βξ_{1} − H_{k+1,k}y_{k}∥_{2} +

+(2k^{3/2} + c_{5}k^{5/2}n^{1/2} + mk^{1/2}n^{1/2})ϵ∥A∥_{2}∥y_{k}∥_{2} +
+(mn^{1/2} + 3)ϵ∥A∥_{2}∥x_{0}∥_{2} + 2ϵ∥b∥_{2} +
+O(ϵ^{2})(∥A∥_{2}∥y_{k}∥_{2} + ∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2}).  (2.197)

U praksi, mi naravno nemamo ∥βξ_{1} −H_{k+1,k}y_{k}∥_{2} već izračunatu normu Arnoldijevog reziduala, pa sada još moramo ustanoviti odnos izmedu te dvije veličine. Izračunata norma Arnoldijevog reziduala je zapravo apsolutna vrijednost (k+1)-e komponente vektora g^{(k)} = fl(F^{(k)}(βξ_{1})) dobivenog primjenom Givensovih rotacija, koje Hessenbergovu matricu H_{k+1,k} svode na gornje trokutasti oblik, u aritmetici konačne preciznosti. Zbog toga bi trebali ocjenu norme pravog reziduala izraziti preko |g_{k+1}^{(k)}|, a ne ∥βξ_{1} −H_{k+1,k}y_{k}∥_{2}. Za nastavak analize trebat će nam dva teorema i jedna lema iz [21, str. 154, 373, 375]. Lema 18.7 daje ocjenu povratne greške djelovanja jedne Givensove rotacije na vektor. Budući da je F^{(k)} produkt od k Givensovih rotacija F_{i}, ovu lemu primjenjujemo k puta da bi dobili ocjenu za g^{(k)}. Imamo

g^{(k)} = (F_{k}^{r} + ΔF_{k}^{r}) ⋯ (F_{1}^{r} + ΔF_{1}^{r})(βξ_{1}) =
= (F_{k}^{r} ⋯ F_{1}^{r} + ΔF_{k}^{r}F_{k−1}^{r} ⋯ F_{1}^{r} + ⋯ + F_{k}^{r} ⋯ F_{2}^{r}ΔF_{1}^{r} + ΔF^{(k)})(βξ_{1})

pri čemu su F_{i}^{r}, i = 1, …, k egzaktne (k+1)×(k+1) Givensove rotacije, a Frobeniusova norma od ΔF^{(k)} je reda kO(ϵ^{2}). Prema Lemi 18.7 vrijedi

∥g^{(k)}∥_{2} ≤ β(1 + ∥ΔF_{k}∥_{2} + ⋯ + ∥ΔF_{1}∥_{2} + kO(ϵ^{2})) ≤
≤ β[1 + 6\sqrt{2}k(ϵ + O(ϵ^{2}))].

Teorem 8.5 daje ocjenu povratne greške rješavanja trokutastog sustava. Njega primjenjujemo u procesu dobivanja vektora y_{k}, koji se dobiva kao rješenje gornje trokutastog sustava R_{k}y_{k} = g_{k×1}^{(k)} u aritmetici konačne preciznosti, gdje je g_{k×1}^{(k)} vektor sastavljen od prvih k komponenti vektora g^{(k)}. Vrijedi

(R_{k} + ΔR_{k})y_{k} = g_{k×1}^{(k)},

gdje je

∥ΔR_{k}∥_{2} ≤ k^{3/2}(ϵ + O(ϵ^{2}))∥R_{k}∥_{2}.

I naposlijetku nam treba Teorem 18.9 koji kaže da postoji ortogonalna (k + 1) × (k + 1) matrica F̂^{(k)} takva da je

H_{k+1,k} + ΔH_{k+1,k} = F̂^{(k)T} [ \begin{matrix}R_{k} \\ 0 \end{matrix} ] ,

gdje je

∥ΔH_{k+1,k}∥_{2} ≤ c_{10}k^{3/2}(ϵ + O(ϵ^{2}))∥H_{k+1,k}∥_{2},

za neku konstantu c_{10} ≥ 1, a F̂^{(k)} je produkt egzaktnih Givensovih rotacija F_{i}^{r}. Ovo možemo na drugačiji način napisati kao

F̂^{(k)}H_{k+1,k} = [ \begin{matrix}R_{k} \\ 0 \end{matrix} ] + ΔR̂_{k},

sa

∥ΔR̂_{k}∥_{2} = ∥F̂^{(k)}ΔH_{k+1,k}∥_{2} ≤ c_{10}k^{3/2}(ϵ + O(ϵ^{2}))∥H_{k+1,k}∥_{2}.

Prema Lemi 18.7 još vrijedi da je

∥g^{(k)} − F̂^{(k)}(βξ_{1})∥_{2} ≤ 6\sqrt{2}kβ(ϵ + O(ϵ^{2})).

Sada se konačno vračamo na Arnoldijev rezidual. Imamo

∥βξ_{1} − H_{k+1,k}y_{k}∥_{2} = ∥F̂^{(k)}(H_{k+1,k}y_{k} − βξ_{1})∥_{2} ≤
≤ ∥[ \begin{matrix}R_{k} \\ 0 \end{matrix} ] y_{k} + ΔR̂_{k}y_{k} − g^{(k)}∥_{2} + ∥g^{(k)} − F̂^{(k)}(βξ_{1})∥_{2} ≤
≤ ∥R_{k}y_{k} − g_{k×1}^{(k)}∥_{2} + |g_{k+1}^{(k)}| + ∥ΔR̂_{k}∥_{2}∥y_{k}∥_{2} +
+6\sqrt{2}kβ(ϵ + O(ϵ^{2})) ≤
≤ ∥ΔR_{k}∥_{2}∥y_{k}∥_{2} + |g_{k+1}^{(k)}| + ∥ΔR̂_{k}∥_{2}∥y_{k}∥_{2} +
+6\sqrt{2}kβ(ϵ + O(ϵ^{2})) ≤
≤ |g_{k+1}^{(k)}| + k^{3/2}(ϵ + O(ϵ^{2}))∥R_{k}∥_{2}∥y_{k}∥_{2} +

+c_{10}k^{3/2}(ϵ + O(ϵ^{2}))∥H_{k+1,k}∥_{2}∥y_{k}∥_{2} + 6\sqrt{2}kβ(ϵ + O(ϵ^{2})).

Na isti način kao što smo dobili ocjenu za Δx_{k}, možemo dobiti i ocjenu za β = fl(b−Ax_{0}),

β ≤ ∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2} + O(ϵ)(n∥A∥_{2}∥x_{0} + ∥b∥_{2}).

Tako, dobivamo da je

∥βξ_{1} − H_{k+1,k}y_{k}∥_{2} ≤ |g_{k+1}^{(k)}| + k^{3/2}ϵ(∥R_{k}∥_{2} + c_{10}∥H_{k+1,k}∥_{2})∥y_{k}∥_{2} +
+6\sqrt{2}kϵ(∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2}) + O(ϵ^{2})(∥R_{k}∥_{2}∥y_{k}∥_{2} +
+∥H_{k+1,k}∥_{2}∥y_{k}∥_{2} + ∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2}).

Na kraju analize točnosti GMRES metode napokon možemo dati odnos izmedu norme pravog reziduala i izračunate norme Arnoldijevog reziduala u k-toj iteracije.

∥b − Ax_{k}∥_{2} ≤ (k + 1)^{1/2} (1 + \frac{n + 4}{2}ϵ) |g_{k+1}^{(k)}| +
+(2k^{3/2} + c_{5}k^{5/2}n^{1/2} + mk^{1/2}n^{1/2})ϵ∥A∥_{2}∥y_{k}∥_{2} +
+c_{11}k^{2}ϵ(∥R_{k}∥_{2} + c_{10}∥H_{k+1,k}∥_{2})∥y_{k}∥_{2} +
+(mn^{1/2} + c_{12}k^{3/2} + 3)ϵ∥A∥_{2}∥x_{0}∥_{2} + (c_{12}k^{3/2} + 2)ϵ∥b∥_{2} +

+O(ϵ^{2})[(∥A∥_{2} + ∥R_{k}∥_{2} + ∥H_{k+1,k}∥_{2})∥y_{k}∥_{2} + ∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2}],

za neke konstante c_{11} i c_{12}.

QMR metoda Analiza greške QMR metode slična je analizi GMRES metode, osim što se aproksimacija x_{k} u k-toj iteraciji računa rekurzivno, preko aproksimacije x_{k−1}, a ne direktno iz x_{0}. Prva faza QMR algoritma je dvostrani Lanczosov algoritam, kojeg najprije promatramo. U njemu se vektori v_{i} dobivaju normalizacijom vektora ṽ_{i}, pa i za njih vrijedi da je

∥v_{i}∥_{2}^{2} ≤ 1 + (n + 4)ϵ + nO(ϵ^{2}).

Nadalje, promatramo postupak za dobivanje vektora ṽ_{i}, koji je jednak za sve vektore osim za slučaj i = 2, kojeg ćemo najprije analizirati. U aritmetici konačne preciznosti definirajmo

ṽ_{2} = Av_{1} − α_{1}v_{1} + Δṽ_{2},

pa prema (2.138), (2.140) za c = m\sqrt{n}, gdje kao i kod analize GMRES metode, m najveći broj netrivijalnih elemenata u retku matrice A, te (2.137), vrijedi

∥Δṽ_{2}∥_{2} = ∥fl(Av_{1} − α_{1}v_{1}) − (Av_{1} − α_{1}v_{1})∥_{2} ≤
≤ ∥fl(Av_{1} − α_{1}v_{1}) − (fl(Av_{1}) − fl(α_{1}v_{1}))∥_{2} + ∥fl(Av_{1}) − Av_{1}∥_{2} +

+∥fl(α_{1}v_{1}) − α_{1}v_{1}∥_{2} ≤

≤ ϵ(∥fl(Av_{1})∥_{2} + ∥fl(α_{1}v_{1})∥_{2}) + ∥fl(Av_{1}) − Av_{1}∥_{2} + ∥fl(α_{1}v_{1}) − α_{1}v_{1}∥_{2} ≤
≤ ϵ(∥Av_{1}∥_{2} + ∥α_{1}v_{1}∥_{2}) + (1 + ϵ)(∥fl(Av_{1}) − Av_{1})∥_{2} + ∥fl(α_{1}v_{1}) − α_{1}v_{1}∥_{2}) ≤
≤ ϵ(∥A∥_{2}∥v_{1}∥_{2} + |α_{1}|∥v_{1}∥_{2}) +

+(1 + ϵ)[m\sqrt{n}(ϵ + O(ϵ^{2}))∥A∥_{2}∥v_{1}∥_{2} + ϵ|α_{1}|∥v_{1}∥_{2}] ≤

≤ [(1 + m\sqrt{n})ϵ + m\sqrt{n}O(ϵ^{2})]∥A∥_{2}∥v_{1}∥_{2} + (2ϵ + O(ϵ^{2}))|α_{1}|∥v_{1}∥_{2} ≤
≤ [(1 + m\sqrt{n})ϵ∥A∥_{2} + 2ϵ|α_{1}| + O(ϵ^{2})(m\sqrt{n}∥A∥_{2} + ∥T_{k+1,k}∥_{1})] ·

· (1 + \frac{n + 4}{2}ϵ + nO(ϵ^{2})) ≤

≤ (1 + m\sqrt{n})ϵ∥A∥_{2} + 2ϵ|α_{1}| + O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1}).

Kako v_{2} dobivamo dijeljenjem ṽ_{2} sa γ_{1}, prema (2.136), nadalje vrijedi

v_{2} = fl (\frac{ṽ_{2}}{γ_{1}} ) = (I + [ \begin{matrix}δ_{1} & & & & 0 \\ & . & . & . \\ 0 & & & & δ_{n} \end{matrix} ]) \frac{ṽ_{2}}{γ_{1}} ,

pri čemu je |δ_{i}| ≤ ϵ za i = 1, …, n. Iz prethodnog slijedi

γ_{1}v_{2} = (I + [ \begin{matrix}δ_{1} & & & & 0 \\ & . & . & . \\ 0 & & & & δ_{n} \end{matrix} ]) ṽ_{2} = Av_{1} − α_{1}v_{1} +

+ [ \begin{matrix}δ_{1} & & & & 0 \\ & . & . & . \\ 0 & & & & δ_{n} \end{matrix} ] (Av_{1} − α_{1}v_{1}) + (I + [ \begin{matrix}δ_{1} & & & & 0 \\ & . & . & . \\ 0 & & & & δ_{n} \end{matrix} ]) Δṽ_{2} =

= Av_{1} − α_{1}v_{1} − f_{1},

gdje je norma od f_{1} ogradena sa

∥f_{1}∥_{2} ≤ ϵ(∥A∥_{2} + |α_{1}|) (1 + \frac{n + 4}{2}ϵ + nO(ϵ^{2})) +
+(1 + ϵ)[(1 + m\sqrt{n})ϵ∥A∥_{2} + 2ϵ|α_{1}| + O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1})] ≤
≤ ϵ[(2 + m\sqrt{n})∥A∥_{2} + 3|α_{1}|] + O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1}).  (2.198)

Dakle za i = 2 vrijedi

Av_{1} = α_{1}v_{1} + γ_{1}v_{2} + f_{1},  (2.199)

150 GLAVA 2. APROKSIMACIJE IZ KRYLOVLJEVIH POTPROSTORA uz ocjenu (2.198). Sličnu analizu radimo i za i > 2, jedina razlika je ta što rekurzija za ṽ_{i} sadrži tri člana. U aritmetici konačne preciznosti imamo

ṽ_{i+1} = Av_{i} − α_{i}v_{i} − β_{i−1}v_{i−1} + Δṽ_{i+1},

za koje ponovo prema (2.138), (2.140), (2.137) i ocjeni za ∥Δṽ_{2}∥_{2}, vrijedi

∥Δṽ_{i+1}∥_{2} = ∥fl(Av_{i} − α_{i}v_{i} − β_{i−1}v_{i−1}) − (Av_{i} − α_{i}v_{i} − β_{i−1}v_{i−1})∥_{2} ≤

≤ ∥fl(Av_{i} − α_{i}v_{i} − β_{i−1}v_{i−1}) − [fl(Av_{i} − α_{i}v_{i}) − fl(β_{i−1}v_{i−1})]∥_{2} +

+∥fl(Av_{i} − α_{i}v_{i}) − (Av_{i} − α_{i}v_{i})∥_{2} + ∥fl(β_{i−1}v_{i−1}) − β_{i−1}v_{i−1}∥_{2} ≤

≤ ϵ(∥fl(Av_{i} − α_{i}v_{i})∥_{2} + ∥fl(β_{i−1}v_{i−1})∥_{2}∥_{2}) +

+∥fl(Av_{i} − α_{i}v_{i}) − (Av_{i} − α_{i}v_{i})∥_{2} + ∥fl(β_{i−1}v_{i−1}) − β_{i−1}v_{i−1}∥_{2} ≤

≤ ϵ(∥Av_{i} − α_{i}v_{i}∥_{2} + ∥β_{i−1}v_{i−1}∥_{2}) + (1 + ϵ) ·

·[∥fl(Av_{i} − α_{i}v_{i}) − (Av_{i} − α_{i}v_{i})∥_{2} + ∥fl(β_{i−1}v_{i−1}) − β_{i−1}v_{i−1}∥_{2}] ≤

≤ ϵ(∥A∥_{2} + |α_{i}| + |β_{i−1}|) (1 + \frac{n + 4}{2}ϵ + nO(ϵ^{2})) +

+(1 + ϵ)[(1 + m\sqrt{n})ϵ∥A∥_{2} + 2ϵ|α_{i}| + O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1}) +

+ϵ|β_{i−1}| (1 + \frac{n + 4}{2}ϵ + nO(ϵ^{2}))] ≤

≤ (2 + m\sqrt{n})ϵ∥A∥_{2} + 3ϵ|α_{i}| + 2ϵ|β_{i−1}| + O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1}).

Nastavljamo kao i za v_{2},

v_{i+1} = fl (\frac{ṽ_{i+1}}{γ_{i}} ) = (I + [ \begin{matrix}δ_{1} & & & & 0 \\ & . & . & . \\ 0 & & & & δ_{n} \end{matrix} ]) \frac{ṽ_{i+1}}{γ_{i}} ,

za δ_{i} ≤ ϵ, i = 1, …, n, pa je zato

γ_{i}v_{i+1} = (I + [ \begin{matrix}δ_{1} & & & & 0 \\ & . & . & . \\ 0 & & & & δ_{n} \end{matrix} ]) ṽ_{i+1} = Av_{i} − α_{i}v_{i} − β_{i−1}v_{i−1}+

+ [ \begin{matrix}δ_{1} & & & & 0 \\ & . & . & . \\ 0 & & & & δ_{n} \end{matrix} ] (Av_{i} − α_{i}v_{i} − β_{i−1}v_{i−1}) + (I + [ \begin{matrix}δ_{1} & & & & 0 \\ & . & . & . \\ 0 & & & & δ_{n} \end{matrix} ]) Δṽ_{i+1} =

= Av_{i} − α_{i}v_{i} − β_{i−1}v_{i−1} − f_{i},

pri čemu vrijedi ocjena

∥f_{i}∥_{2} ≤ ϵ(∥A∥_{2} + |α_{i}| + |β_{i−1}|) (1 + \frac{n + 4}{2}ϵ + nO(ϵ^{2})) +
+(1 + ϵ)[(2 + m\sqrt{n})ϵ∥A∥_{2} + 3ϵ|α_{i}| + 2ϵ|β_{i−1}| +
+O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1})] ≤
≤ ϵ[(3 + m\sqrt{n})∥A∥_{2} + 4|α_{i}| + 3|β_{i−1}|] + O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1}).(2.200)

Dakle, i za i > 1 vrijedi

Av_{i} = β_{i−1}v_{i−1} + α_{i}v_{i} + γ_{i}v_{i+1} + f_{i},  (2.201)

uz ocjenu (2.200). Sada ako definiramo matricu F_{k} kao

F_{k} = [f_{1} f_{2} … f_{k}],

tada dvostrani Lanczosov algoritam, izveden u aritmetici konačne preciznosti, možemo napisati u matričnom obliku, na sljedeći način

AV_{k} = V_{k+1}T_{k+1,k} + F_{k},  (2.202)

pri čemu je T_{k+1,k} tridijagonalna matrica, kod koje je i-ti stupac označen sa (T_{k+1,k})_{i}, a ocjena za normu matrice F_{k} dana je sa

∥F_{k}∥_{2} ≤ ∥F_{k}∥_{F} = (∑_{i=1}^{k} ∥f_{i}∥_{2}^{2})^{1/2} ≤

≤ (\{ϵ[(2 + m\sqrt{n})∥A∥_{2} + 3|α_{1}|] + O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1})\}^{2} +

+ ∑_{i=2}^{k}\{ϵ[(3 + m\sqrt{n})∥A∥_{2} + 4|α_{i}| + 3|β_{i−1}|] +

+O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1})}^{2})^{1/2} ≤

≤ (\{ϵ[(3 + m\sqrt{n})∥A∥_{2} + 4(|α_{1}| + |γ_{1}|)] + O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1})\}^{2} +

+ ∑_{i=2}^{k}\{ϵ[(3 + m\sqrt{n})∥A∥_{2} + 4(|β_{i−1}| + |α_{i}| + |γ_{i}|)] +

+O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1})}^{2})^{1/2} ≤

≤ (\{ϵ[(3 + m\sqrt{n})∥A∥_{2} + 4∥(T_{k+1,k})_{1}∥_{1}] + O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1})\}^{2} +

+ ∑_{i=2}^{k}\{ϵ[(3 + m\sqrt{n})∥A∥_{2} + 4∥(T_{k+1,k})_{i}∥_{1}] +

+O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1})}^{2})^{1/2} ≤

≤ (k\{ϵ[(3 + m\sqrt{n})∥A∥_{2} + 4∥T_{k+1,k}∥_{1}] +

+O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1})}^{2})^{1/2} ≤

≤ ϵ\sqrt{k}[(3 + m\sqrt{n})∥A∥_{2} + 4∥T_{k+1,k}∥_{1}] + O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1}). (2.203)

Budući da nakon koraka dvostrukog Lanczosovog algoritma slijedi Givensova QR faktorizacija matrice T_{k+1,k}, za nastavak analize greške QMR metode ponovo nam je potreban Teorem 18.9 iz [21, str. 375] koji tvrdi da postoji ortogonalna (k + 1) × (k + 1) matrica F̂^{(k)} takva da je

F̂^{(k)}T_{k+1,k} = [ \begin{matrix}R_{k} \\ 0 \end{matrix} ] + ΔR̂_{k},  (2.204)

pri čemu je

∥ΔR̂_{k}∥_{F} ≤ 6\sqrt{2}k(ϵ + O(ϵ^{2}))∥T_{k+1,k}∥_{F} ≤
≤ 9k(ϵ + O(ϵ^{2}))∥T_{k+1,k}∥_{F} .  (2.205)

Sljedeći korak je računanje matrice P_{k} = fl(V_{k}R_{k}^{−1}), koja se zapravo računa povratnim supstitucijama, kao rješenja trokutastog sustava. Naime, neka su p^{i} i v^{i} stupci matrica P_{k}^{T} i V_{k}^{T}, tada prema Teoremu 8.5 iz [21, str. 154] za svako i vrijedi da je

(R_{k}^{T} + ΔR_{i}^{T})p^{i} = v^{i},

i, budući da R_{k}^{T} u svakom retku ima najviše 3 netrivijalna elementa, vrijedi ocjena

|ΔR_{i}^{T} | ≤ (3ϵ + O(ϵ^{2}))|R_{k}^{T} |.

Prema tome, imamo

R_{k}^{T} p^{i} = v^{i} + Δv^{i},

sa

|Δv^{i}| ≤ (3ϵ + O(ϵ^{2}))|R_{k}^{T} ||p^{i}|,

odnosno

P_{k}R_{k} = V_{k} + ΔV_{k},

sa

|ΔV_{k}| ≤ (3ϵ + O(ϵ^{2}))|P_{k}||R_{k}|.

Napokon, promatramo grešku koja se javlja koda same matrice P_{k},

P_{k} = V_{k}R_{k}^{−1} + ΔV_{k}R_{k}^{−1} =
= V_{k}R_{k}^{−1} + ΔP_{k},  (2.206)

sa ocjenom

∥ΔP_{k}∥_{2} ≤ ∥ΔV_{k}∥_{F} ∥R_{k}^{−1}∥_{2} ≤
≤ 3\sqrt{k}(ϵ + O(ϵ^{2}))∥P_{k}∥_{F} κ(R_{k}).  (2.207)

Na kraju iteracije QMR algoritma provjerava se da li je kvazirezidual dostigao odredenu granicu, što je u egzaktnoj aritmetici ekvivalentno provjeravanju apsolutne vrijednosti (k + 1)-ve komponente vektora F^{(k)}(βξ_{1}). U aritmetici konačne preciznosti, na kraju svake iteracije provjerava se (k+1)-va komponenta vektora g^{(k)} = fl(F^{(k)}(βξ_{1})), za kojeg, ekvivalentno kao i kod GMRES metode vrijedi,

∥g^{(k)}∥_{2} ≤ β[1 + 6\sqrt{2}k(ϵ + O(ϵ^{2}))].

Preostaje nam još naći gornju ogradu za β = fl(∥b − Ax_{0}∥_{2}). Neka je z = fl(b − Ax_{0}), tada prema (2.138) i (2.140) imamo

∥z − (b − Ax_{0})∥_{2} ≤ ∥fl(b − Ax_{0}) − [b − fl(Ax_{0})]∥_{2} + ∥Ax_{0} − fl(Ax_{0})∥_{2} ≤
≤ ϵ(∥b∥_{2} + ∥fl(Ax_{0})∥_{2}) + ∥Ax_{0} − fl(Ax_{0})∥_{2} ≤
≤ ϵ(∥b∥_{2} + ∥Ax_{0}∥_{2}) + (1 + ϵ)∥Ax_{0} − fl(Ax_{0})∥_{2} ≤
≤ ϵ(∥b∥_{2} + ∥A∥_{2}∥x_{0}∥_{2}) +
+(1 + ϵ)m\sqrt{n}(ϵ + O(ϵ^{2}))∥A∥_{2}∥x_{0}∥_{2} ≤
≤ ϵ∥b∥_{2} + (1 + m\sqrt{n})ϵ∥A∥_{2}∥x_{0}∥_{2} + O(ϵ^{2})∥A∥_{2}∥x_{0}∥_{2}.

U daljnjem postupku za dobivanje konstante β vektor z sudjeluje u skalarnom produktu, koji se nakon toga korjenuje, stoga imamo

|fl(z^{T} z) − z^{T} z| ≤ n(ϵ + O(ϵ^{2}))∥z∥_{2}^{2},
|fl(\sqrt{fl(z^{T} z)}) − \sqrt{fl(z^{T} z)}| ≤ ϵ\sqrt{fl(z^{T} z)} ≤ ϵ\sqrt{[1 + n(ϵ + O(ϵ^{2})]∥z∥_{2}^{2}} ≤
≤ ϵ [1 + \frac{n}{2}(ϵ + O(ϵ^{2}))] ∥z∥_{2} ≤ (ϵ + nO(ϵ^{2}))∥z∥_{2}.

Sada možemo analizirati odnos izmedu β i ∥b − Ax_{0}∥_{2}.

|β − ∥b − Ax_{0}∥_{2}| ≤ |β − \sqrt{fl(z^{T} z)}| + |\sqrt{fl(z^{T} z)} − ∥z∥_{2}| + |∥z∥_{2} − ∥b − Ax_{0}∥_{2}| ≤
≤ (ϵ + nO(ϵ^{2}))∥z∥_{2} + \frac{n}{2}(ϵ + O(ϵ^{2}))∥z∥_{2} + ∥z − (b − Ax_{0})∥_{2} ≤
≤ [(1 + \frac{n}{2}) ϵ + nO(ϵ^{2})] ∥z∥_{2} + ∥z − (b − Ax_{0})∥_{2} ≤
≤ \frac{n + 2}{2}(ϵ + O(ϵ^{2}))∥b − Ax_{0}∥_{2} + (1 + \frac{n + 2}{2}(ϵ + O(ϵ^{2})) ·

·∥z − (b − Ax_{0})∥_{2} ≤

≤ \frac{n + 2}{2}(ϵ + O(ϵ^{2}))(∥b∥_{2} + ∥A∥_{2}∥x_{0}∥_{2}) +

+ [1 + \frac{n + 2}{2}(ϵ + O(ϵ^{2}))] ·

·[ϵ∥b∥_{2} + (1 + m\sqrt{n})ϵ∥A∥_{2}∥x_{0}∥_{2} + O(ϵ^{2})∥A∥_{2}∥x_{0}∥_{2}] ≤

≤ \frac{n + 4}{2}ϵ∥b∥_{2} + \frac{n + 2m\sqrt{n} + 4}{2}ϵ∥A∥_{2}∥x_{0}∥_{2} +

+O(ϵ^{2})(∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2}),

odakle je

β ≤ ∥b − Ax_{0}∥_{2} + |β − ∥b − Ax_{0}∥_{2}| ≤
≤ (1 + \frac{n + 4}{2}ϵ) ∥b∥_{2} + (1 + \frac{n + 2m\sqrt{n} + 4}{2}ϵ) ∥A∥_{2}∥x_{0}∥_{2} +
+O(ϵ^{2})(∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2}).

(2.208)

Ograda za β bila nam je potrebna da dovršimo ocjenu za ∥g^{(k)}∥_{2}, pa zato slijedi

∥g^{(k)}∥_{2} ≤ [ (1 + \frac{n + 4}{2}ϵ) ∥b∥_{2} + (1 + \frac{n + 2m\sqrt{n} + 4}{2}ϵ) ∥A∥_{2}∥x_{0}∥_{2} +
+O(ϵ^{2})(∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2})][1 + 6\sqrt{2}k(ϵ + O(ϵ^{2}))] ≤
≤ (1 + \frac{n + 12\sqrt{2}k + 4}{2}ϵ) ∥b∥_{2} + (1 + \frac{n + 2m\sqrt{n} + 12\sqrt{2}k + 4}{2}ϵ) ·
·∥A∥_{2}∥x_{0}∥_{2} + O(ϵ^{2})(∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2})  (2.209)

I na samom kraju svake iteracije algoritma izračunava se aproksimacija rješenja, tekuće iteracije, čije je oblik u aritmetici konačne preciznosti

x_{k} = x_{k−1} + g_{k}^{(k)}p_{k−1} + Δx_{k},  (2.210)

i koji je istovjetan obliku (2.141), pa zato možemo koristiti rezultat (2.151) iz Leme 2.10.1 uz uvjet da je 1 − 2ϵ − ϵ^{2} > 0, koji daje ocjenu

∥Δx_{k}∥_{2} ≤ ϵ(3∥x_{k−1}∥_{2} + 2∥x_{k}∥_{2}) + O(ϵ^{2})(∥x_{k−1}∥_{2} + ∥x_{k}∥_{2}).

Ako definiramo

χ_{k} = max_{i≤k} ∥x_{i}∥_{2},  (2.211)

tada ocjena norme vektora Δx_{k} glasi

∥Δx_{k}∥_{2} ≤ (5ϵ + O(ϵ^{2}))χ_{k}.  (2.212)

Izvršavanjem rekurzije (2.210) do kraja, dobivamo konačni oblik za aproksimaciju rješenja

x_{k} = x_{0} + P_{k}g_{k×1}^{(k)} + ∑_{i=1}^{k} Δx_{i},  (2.213)

gdje je g_{k×1}^{(k)} k-dimenzionalni vektor sačinjen od prvih k komponenti vektora g^{(k)}. U tom slučaju je

∑_{i=1}^{k} ∥Δx_{i}∥_{2} ≤ (5ϵ + O(ϵ^{2}))kχ_{k}.  (2.214)

Ovime smo napravili ocjene svih elemenata koji će se pojaviti u analizi odnosa pravog reziduala i kvazireziduala, računatih u aritmetici konačne preciznosti. Ta analiza je vrlo slična onoj za GMRES metodu, osim u činjenici da kod QMR metode mi niti ne očekujemo da matrica V_{k} bude blizu ortonormalnoj matrici. Imamo

b − Ax_{k} − V_{k+1}(βξ_{1} − T_{k+1,k}R_{k}^{−1}g_{k×1}^{(k)}) =
= b − Ax_{0} − AP_{k}g_{k×1}^{(k)} − ∑_{i=1}^{k} AΔx_{i} − βv_{1} + V_{k+1}T_{k+1,k}R_{k}^{−1}g_{k×1}^{(k)} =

= (b − Ax_{0} − βv_{1}) − AP_{k}g_{k×1}^{(k)} + AV_{k}R_{k}^{−1}g_{k×1}^{(k)} − F_{k}R_{k}^{−1}g_{k×1}^{(k)} − ∑_{i=1}^{k} AΔx_{i} =

= (b − Ax_{0} − βv_{1}) − AΔP_{k}g_{k×1}^{(k)} − F_{k}R_{k}^{−1}g_{k×1}^{(k)} − ∑_{i=1}^{k} AΔx_{i},

odakle je

∥b − Ax_{k}∥_{2} ≤ ∥V_{k+1}∥_{2}∥βξ_{1} − T_{k+1,k}R_{k}^{−1}g_{k×1}^{(k)}∥_{2} + ∥b − Ax_{0} − βv_{1}∥_{2} +

+∥A∥_{2}∥ΔP_{k}∥_{2}∥g^{(k)}∥_{2} + ∥F_{k}∥_{2}∥R_{k}^{−1}∥_{2}∥g^{(k)}∥_{2} +

+∥A∥_{2} (∑_{i=1}^{k} ∥Δx_{i}∥_{2}) .

(2.215)

Prema (2.195), (2.207), (2.203), (2.209) i (2.214) dalje slijedi

∥b − Ax_{k}∥_{2} ≤

≤ \sqrt{k + 1} (1 + \frac{n + 4}{2}ϵ + nO(ϵ^{2})) ∥βξ_{1} − T_{k+1,k}R_{k}^{−1}g_{k×1}^{(k)}∥_{2} +

+(m\sqrt{n} + 2)ϵ∥A∥_{2}∥x_{0}∥_{2} + 2ϵ∥b∥_{2} + O(ϵ^{2})(m\sqrt{n}∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2})

+∥A∥_{2}[3\sqrt{k}(ϵ + O(ϵ^{2}))∥P_{k}∥_{F} κ(R_{k})] ·

·[ (1 + \frac{n + 12\sqrt{2}k + 4}{2}ϵ) ∥b∥_{2} + (1 + \frac{n + 2m\sqrt{n} + 12\sqrt{2}k + 4}{2}ϵ) ·

·∥A∥_{2}∥x_{0}∥_{2} + O(ϵ^{2})(∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2})] +

+\{ϵ\sqrt{k}[(3 + m\sqrt{n})∥A∥_{2} + 4∥T_{k+1,k}∥_{1}] + O(ϵ^{2})(∥A∥_{2} + ∥T_{k+1,k}∥_{1})\}∥R_{k}^{−1}∥_{2} ·

·[ (1 + \frac{n + 12\sqrt{2}k + 4}{2}ϵ) ∥b∥_{2} + (1 + \frac{n + 2m\sqrt{n} + 12\sqrt{2}k + 4}{2}ϵ) ·

·∥A∥_{2}∥x_{0}∥_{2} + O(ϵ^{2})(∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2})] + ∥A∥_{2}(5ϵ + O(ϵ^{2}))kχ_{k}  (2.216)

Kao i kod GMRES metode, umjesto kvazireziduala, nama je na raspolaganju skalar |g_{k+1}^{(k)}|, koji se za razliku od egzaktne aritmetike ne mora poklapati za normom kvazireziduala u aritemtici konačne preciznosti. Zato ćemo sada promatrati njihov odnos. Prema Lemi 18.7 iz [21, str. 373] (2.204), (2.205), (2.209) i (2.208) vrijedi

∥βξ_{1} − T_{k+1,k}R_{k}^{−1}g_{k×1}^{(k)}∥_{2} = ∥F̂^{(k)}(T_{k+1,k}R_{k}^{−1}g_{k×1}^{(k)} − βξ_{1})∥_{2} ≤
≤ ∥[ \begin{matrix}R_{k} \\ 0 \end{matrix} ] R_{k}^{−1}g_{k×1}^{(k)} + ΔR̂_{k}R_{k}^{−1}g_{k×1}^{(k)} − g^{(k)}∥_{2} + ∥g^{(k)} − F̂^{(k)}(βξ_{1})∥_{2} ≤

≤ ∥[ \begin{matrix}g_{k×1}^{(k)} \\ 0 \end{matrix} ] − g^{(k)}∥_{2} + ∥ΔR̂_{k}∥_{2}∥R_{k}^{−1}∥_{2}∥g^{(k)}∥_{2} + 6\sqrt{2}kβ(ϵ + O(ϵ^{2})) ≤
≤ |g_{k+1}^{(k)}| + 6\sqrt{2}k(ϵ + O(ϵ^{2}))∥T_{k+1,k}∥_{F} ∥R_{k}^{−1}∥_{2} ·

·[ (1 + \frac{n + 12\sqrt{2}k + 4}{2}ϵ) ∥b∥_{2} + (1 + \frac{n + 2m\sqrt{n} + 12\sqrt{2}k + 4}{2}ϵ) ·

·∥A∥_{2}∥x_{0}∥_{2} + O(ϵ^{2})(∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2})] + 6\sqrt{2}k(ϵ + O(ϵ^{2})) ·

·[ (1 + \frac{n + 4}{2}ϵ) ∥b∥_{2} + (1 + \frac{n + 2m\sqrt{n} + 4}{2}ϵ) ∥A∥_{2}∥x_{0}∥_{2} +

+O(ϵ^{2})(∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2})].  (2.217)

Uvrštavanjem (2.217) u (2.216), i sredivanjem nejednakosti, dobivamo konačan odnos izmedu norme pravog reziduala i izračunatog kvazireaziduala.

∥b − Ax_{k}∥_{2} ≤ \sqrt{k + 1} (1 + \frac{n + 4}{2}ϵ) |g_{k+1}^{(k)}|+

+ϵ\{(m\sqrt{n} + 9k\sqrt{k + 1} + 2)∥A∥_{2}∥x_{0}∥_{2} + (9k\sqrt{k + 1} + 2)∥b∥_{2} +
+[3\sqrt{k}∥A∥_{2}∥P_{k}∥_{F} κ(R_{k}) + (3 + m\sqrt{n})\sqrt{k}∥A∥_{2}∥R_{k}^{−1}∥_{2} +

+(9k\sqrt{k + 1} + 4\sqrt{k}\sqrt{k + 1})∥T_{k+1,k}∥_{F} ∥R_{k}^{−1}∥_{2}](∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2}) + 5kχ_{k}∥A∥_{2}\} + +O(ϵ^{2}){∥A∥_{2} + (∥A∥_{2}∥x_{0}∥_{2} + ∥b∥_{2})[1 + (∥A∥_{2} + ∥T_{k+1,k}∥_{F})∥R_{k}^{−1}∥_{2} + ∥A∥_{2}∥P_{k}∥_{F} κ(R_{k})]}.

Prekondicioniranje

3.1 Osnove prekondicioniranja

Najjednostavnije, prekondicioniranje možemo opisati kao bilo kakvo modificiranje originalnog linearnog sustava, koje na neki način olakšava rješavanje danog sustava. Konvergencija iterativnih metoda ovisi o nekim svojstvima matrice sustava, pri čemu se najčešće radi o svojstvima spektra ili singularnih vrijednosti. Zato je cilj takve modifikacije transformirati linearni sustav u ekvivalentan sustav koji ima isto rješenje, ali koji ima bolja svojstva, npr. bolja spektralna svojstva matrice sustava. Matrica prekondicioniranja je matrica koja utječe na transformaciju sustava. Na primijer, ako matrica M aproksimira matricu sustava A na neki način, transformirani sustav

M^{−1}Ax = M^{−1}b  (3.1)

ima isto rješenje kao i originalni sustav Ax = b, ali svojstva matrice M^{−1}A mogu biti bolja. Matrica prekondicioniranja M bira se uglavnom tako, da je rješavanje prekondicioniranog sustava iterativnom metodom brže, u smislu da će metoda zahtijevati manje iteracija do postizanja konvergencije od rješavanja originalnog sustava. To se najbolje može postići ako je matrica prekondicioniranog sustava blizu identiteti. U većini slučaja matrica M^{−1} se ne računa eksplicitno, već se radi o rješavanju sustava sa matricom M, pri čemu odabir matrice M treba biti takav da se taj sustav puno jednostavnije rješava od onog sa matricom A.

Budući da upotreba prekondicioniranja u iterativnoj metodi zahtijeva neke dodatne troškove u vremenu i memoriji, trebamo voditi računa o odnosu troškova konstrukcije i primjene prekondicioniranja, i dobitka u brzini konvergencije. Ukoliko su troškovi prekondicioniranja veći tada se to mora amortizirati ili drastično manjim brojem iteracija koje metoda treba izvesti, ili kroz višestruku upotrebu prekondicioniranja na više linearnih sustava. U svakom slučaju, konačni rezultat mora biti povoljan, na način da ušteda u količina rada kod korištenja prekondicioniranja mora biti veća od troškova same upotrebe prekondicioniranja.

Transformacija A → M^{−1}A nije jedina moguća. Kod sustava (3.1) radi se o lijevom prekondicioniranju, dok kod sustava

AM^{−1}y = b,  x = M^{−1}y  (3.2)

radi se o desnom prekondicioniranju. Ako, s druge strane, postoji neka faktorizacija matrice prekondicioniranja M = L_{1}L_{2} tada možemo definirati i dvostrano prekondicioniranje pomoću faktora, pri čemu se tada rješava sustav

L_{1}^{−1}AL_{2}^{−1}y = L_{1}^{−1}b,  x = L_{2}^{−1}y.  (3.3)

U ovom slučaju treba napomenuti da, kod onih iterativnih metoda kod kojih konvergencija ovisi o spektru matrice sustava, matrice M^{−1}A i L_{1}^{−1}AL_{2}^{−1} imaju isti spektar, jer su slične. I kod primjene ovakvog načina prekondicioniranja, kao što smo već vidjeli, kod velike večine iterativnih metoda biti će potrebno samo rješavanje sustava sa matricom M, dok se faktori L_{1} i L_{2} neće trebati eksplicitno izračunavati. Matrice L_{1} i L_{2} zovu se lijeva i desna matrica prekondicioniranja, a kod rješavanja sustava, jednostavno se primijeni iterativna metoda na tako prekondicionirani sustav. Lijevo i desno prekondicioniranje je očigledno varijanta dvostranog prekondicioniranja, kada je jedan od faktora matrice M jednak identiteti. Kod prekondicioniranih algoritama, potrebne su u glavnom dvije osnovne modifikacije: r_{0} ← L_{1}^{−1}r_{0} prije iterativnog procesa, i x_{k} ← L_{2}^{−1}x_{k} nakon iteriranja. Dvostrano prekondicioniranje ima posebnu ulogu kod prekondicioniranja hermitskog sustava sa hermitskom pozitivno definitnom matricom prekondicioniranja M. Tada se se matrica M može faktorizirati npr. metodom Choleskog na M = LL^{∗}, pa matrica prekondicioniranog sustava L^{−1}AL^{−∗} ostaje hermitska.

Način na koji prekondicionirana matrica treba aproksimirati identitetu ovisi o iterativnoj metodi koju koristimo. Za jednostavne iteracije željeli bismo postići ρ(I − M^{−1}A) ≪ 1 kako bismo imali brzu asimptotsku konvergenciju, ili ∥I − M^{−1}A∥ ≪ 1 kako bismo imali veliku redukciju norme greške u svakom koraku.

Za CG ili MINRES metodu primijenjenu na hermitski pozitivno definitni problem, težnja nam je imati hermitsku prekondicioniranu matricu L^{−1}AL^{−∗} sa brojem uvjetovanosti blizu jedan, tako da ograda greške bazirana na Čebiševljevim polinomima bude mala. S druge strane, znamo da za konvergenciju ovih metoda značajnu ulogu igra i distribucija svojstvenih vrijednosti. U tom smislu mi možemo zahtijevati da prekondicionirana matrica ima, na primjer, samo nekoliko velikih svojstvenih vrijednosti, a ostatak gusto nakupljnih oko jedne točke, ili da prekondicionirana matrica ima samo nekoliko različitih svojstvenih vrijednosti. Za MINRES metodu primijenjenu na hermitski indefinitan linearan sustav, ali sa pozitvno definitnom matricom prekondicioniranja, ponovno je važna distribucija svojstvenih vrijednosti. U svakom slučaju svojstvene vrijednosti bi trebale biti distribuirane tako da polinom malog stupnja, koji je jednak jedinici u ishodištu, bude mali u svim svojstvenim vrijednostima.

Za GMRES metodu bila bi dobra prekondicionirana matrica koja je bliska normalnoj matrici i čije su svojstvene vrijednosti tijesno nakupljene oko neke točke daleko od ishodišta, ali takoder i neka druga svojstva bila bi dovoljna da se definira dobra matrica prekondicioniranja. Nadalje, nije baš sasvim jasno koja bi se svojstva trebala promatrati za ostale nehermitske iterativne metode (kao npr. BCG, QMR, CGS ili BICGSTAB), ali kako bi sve ove metode trebale konvergirati u jednoj iteraciji ukoliko je matrica sustava jednaka identiteti, intuitivno nam je jasno da bi prekondicionirana matrica trebala na neki način aproksimirati identitetu.

Prekondicioniranje se u grubo može podijeliti u tri kategorije:

1. Prekondicioniranja definirana za općenite klase matrica, npr. matrice sa netrivijalnim dijagonalnim elementima, pozitivno definitne matrice, M-matrice. Primjeri takvih prekondicioniranja su Jacobi, Gauss–Seidel, i SOR prekondicioniranja, nekompletna LU i Cholesky faktorizacija, i modificirana Cholesky faktorizacija.

2. Prekondicioniranja dizajnirana za široke klase raznih polaznih problema, npr. eliptičke parcijalne diferencijalne jednadžbe. Primjeri su prekondicioniranje multigrid metodom i dekompozicijom domene.

3. Prekondicioniranja dizajnirana za specifične matrice ili polazne probleme, npr. transportna jednadžba. Primjer je difuzijska sintetička akceleracija.

Prednost 1. kategorije prekondicionioniranja je ta, da se takva prekondicioniranja mogu upotrebljavati u situacijama kada točno porijeklo problema nije poznato. Većina prekondicioniranja u toj kategoriji zahtijevaju poznavanje najmanje nekih elemenata matrice sustava A. Za klasu problema koji dolaze od parcijalnih diferencijalnih jednadžbi, ponekad je moguće pokazati da prekondicioniranje mijenja ovisnost broja uvjetovanosti prekondicionirane matrice o koraku mreže, koja se koristi u aproksimacijama konačnim diferencijama ili konačnim elementima. To ne pomaže puno ako nam je cilj riješiti jedan sustav Ax = b, nego kad želimo riješiti polaznu parcijalno diferencijalnu jednadžbu, kod koje se težina rješavanja linearnog sustava odreduje u usporedbi sa točnosti konačnih diferencija ili konačnih elemenata.

Usprkos velikim naporima u razvoju prekondicioniranja za općenite linearne sustave ili za široke klase polaznih problema, još uvijek je moguće u mnogim situacijama koristiti fizikalnu intuiciju u vezi sa specifičnim problemom, kako bi se razvilo još efektivnije prekondicioniranje. Zbog tog razloga je problem traženja pravog načina prekondicioniranja linearnog sustava vrlo širok, i obuhvaća razne grane znanosti.

3.2 Klasične iterativne metode

Najprije ćemo razmotriti klasične iterativne metode, zajedno sa nekim njihovim svojstvima i konvergencijom. Ekvivalentan način na koji možemo opisati Algoritam 2.2.1 za jednostavne iteracije, kod rješavanja sustava Ax = b, je sljedeći. Rastavimo matricu A na oblik A = M − N tako da linearni sustav Ax = b transformiramo u

Mx = Nx + b,

pri čemu je matrica M regularna. Ako nam je dana aproksimacija x_{k−1}, novu aproksimaciju x_{k} možemo dobiti kao rješenje jednadžbe

Mx_{k} = Nx_{k−1} + b.  (3.4)

U tom slučaju imamo iteracije oblika

x_{k} = M^{−1}Nx_{k−1} + M^{−1}b,

kod kojih se traži fiksna točka. S druge strane, da bismo vidjeli da je ovo ekvivalentno jednostavnim iteracijama zamijenimo M^{−1}N sa I − M^{−1}A kako bismo dobili

x_{k} = (I − M^{−1}A)x_{k−1} + M^{−1}b = x_{k−1} + M^{−1}r_{k−1} = x_{k−1} + z_{k−1}.

Dakle radi se o iteracijama oblika

x_{k} = Gx_{k−1} + f,  (3.5)

sa G = I − M^{−1}A, i f = M^{−1}b. U ovom smislu, rastav matrice A = M − N i prekondicioniranje sa matricom M su sinonimi. Ovisno o izboru matrice M dobit ćemo različite metode. Takoder, ovako dobivenu matricu M možemo koristiti i kao matricu prekondicioniranja za prekondicionirani oblik bilo koje od metoda aproksimacije iz Krylovljevih potprostora.

Pogledajmo sada neka osnovna svojstva konvergencije iterativnih metoda oblika (3.5). Ako iteracije započnemo sa proizvoljnim x_{0}, tada se postavlja pitanje u kojem slučaju će x_{k} konvergirati ka rješenju A^{−1}b, kad k teži prema beskonačnosti. Promotrimo sljedeće.

x_{k} = Gx_{k−1} + f = G(Gx_{k−2} + f) + f = G^{2}x_{k−2} + Gf + f = ⋯
= G_{k}x_{0} + (G^{k−1}f + G^{k−2}f + ⋯ + Gf + f) =
= G^{k}x_{0} + (∑_{i=0}^{k−1} G^{i}) f.

Ako koristimo operatorsku normu ∥ · ∥, i ako je ∥G∥ < 1, tada prema Lemi 1.5.9 vrijedi da je

lim_{k→∞} ∑_{i=0}^{k} G^{i} = (I − G)^{−1},

i

lim_{k→∞} G^{k} = 0.

Uzimanjem limesa imamo

x = lim_{k→∞} x_{k} = lim_{k→∞} G^{k}x_{0} + lim_{k→∞} (∑_{i=0}^{k−1} G^{i}) f =
= 0 · x_{0} + (I − G)^{−1}f =
= (I − G)^{−1}f,

(3.6)

odakle je

(I − G)x = f,

odnosno

x = Gx + f

što je ekvivalentno sa Ax = b. Jedino što nam je preostalo, je pronaći odgovarajuću operatorsku normu.

Na kraju možemo izraziti rezultat koji govori o konvergenciji iteracija (3.5), koji je analogan onome za jednostavne iteracije. U ovom slučaju je dokaz malo drugačiji.

Teorem 3.2.1 ([18]). Niz x_{k} za k ≥ 0, dobiven pomoću rekurzije (3.5), konvergira za proizvoljnu početnu iteraciju x_{0} i proizvoljnu desnu stranu f ako i samo ako je ρ(G) < 1.

Dokaz: Najprije pretpostavimo da je ρ(G) < 1. Tada postoji ϵ > 0 takav de je ρ(G)+ϵ < 1. Prema Lemi 1.5.6 postoji operatorska norma ∥ · ∥ takva da je

∥B∥ < ρ(G) + ϵ < 1.

Prije iskaza ovog teorema već smo pokazali da ako za neku normu vrijedi da je ∥G∥ < 1 tada niz x_{k} konvergira, odnosno

lim_{k→∞} x_{k} = x, i x = Gx + f.

Pretpostavimo sada obrat, to jest da niz x_{k} konvergira za svako x_{0} i f. Sljedeće, pretpostavimo da je u tom slučaju ρ(G) ≥ 1. To znači da postoji svojstvena vrijednost λ od G, takva da je |λ| ≥ 1. Neka je f ≠ 0 svojstveni vektor od G, koji pripada λ, i x_{0} = 0. Tada imamo

x_{1} = Gx_{0} + f = G · 0 + f = f
x_{2} = Gx_{1} + f = Gf + f = (λ + 1)f
x_{3} = Gx_{2} + f = (λ + 1)Gf + f = (λ^{2} + λ + 1)f
⋮
x_{k} = Gx_{k−1} + f = (λ^{k−1} + ⋯ + λ + 1)f

Prema tome za iteraciju u k-tom koraku vrijedi

x_{k} = \{ \begin{matrix}\frac{λ^{k} − 1}{λ − 1}f, & λ ≠ 1 \\ kf, & λ = 1 \end{matrix}

što u oba slučaja divergira kada k teži ka beskonačnosti. Dakle našli smo niz koji za odredene x_{0} i f divergira, što je u kontradikciji sa pretpostavkom. Znači, da mora biti ρ(B) < 1.

Teorem 3.2.2 ([18]). Ako za matricu G iteracije (3.5) konvergiraju za bilo koji x_{0} i f, tada za svaku operatorsku normu, za koju je ∥G∥ < 1 vrijedi

∥x − x_{k}∥ ≤ \frac{∥G∥}{1 − ∥G∥}∥x_{k} − x_{k−1}∥ ≤ \frac{∥G∥^{k}}{1 − ∥G∥}∥x_{1} − x_{0}∥,

gdje je x = lim_{k→∞} x_{k}.

Dokaz: Neka su k ≥ 1 i i ≥ 0. Tada imamo

x_{k+i+1} − x_{k+i} = G(x_{k+i} − x_{k+i−1}) = G^{2}(x_{k+i−1} − x_{k+i−2}) = ⋯
= G^{i}(x_{k+1} − x_{k}).

S druge strane prema prethodnom, za j ≥ 1 imamo

x_{k+j} − x_{k} = (x_{k+j} − x_{k+j−1}) + (x_{k+j−1} − x_{k+j−2}) + ⋯ + (x_{k+1} − x_{k}) =
= (G^{j−1} + G^{j−2} + ⋯ + G + I)(x_{k+1} − x_{k})

odakle je

∥x_{k+j} − x_{k}∥ ≤ (∥G∥^{j−1} + ∥G∥^{j−2} + ⋯ + ∥G∥ + 1)∥x_{k+1} − x_{k}∥ =
= \frac{1 − ∥G∥^{j}}{1 − ∥G∥} ∥x_{k+1} − x_{k}∥.

Kako je lim_{j→∞} x_{k+j} = x i lim_{j→∞} ∥G∥^{j} = 0 vrijedi

lim_{j→∞} ∥x_{k+j} − x_{k}∥ ≤ lim_{j→∞} \frac{1 − ∥G∥^{j}}{1 − ∥G∥} ∥x_{k+1} − x_{k}∥,

odnosno

∥x − x_{k}∥ ≤ \frac{1}{1 − ∥G∥}∥x_{k+1} − x_{k}∥.

Ponovo je iz prethodno pokazanog, za l ≤ k

∥x_{k+1} − x_{k}∥ = G^{l}(x_{k+1−l} − x_{k−l}),

odnosno

∥x_{k+1} − x_{k}∥ ≤ ∥G^{l}∥∥x_{k+1−l} − x_{k−l}∥,

pa vrijedi

∥x − x_{k}∥ ≤ \frac{∥G∥^{l}}{1 − ∥G∥}∥x_{k+1−l} − x_{k−l}∥.

Za l = 1 dobije se prva jednakost tvrdnje teorema, a za l = k dobije se druga.

Nakon što smo uspostavili nužne i dovoljne uvjete konvergencije, potrebno je još razmotriti i stopu konvergencije, pomoću koje ćemo moći usporedivati različite rastave matrice A, odnosno prekondicioniranja. Promotrimo sada rastav A = M − N. Kao i kod jednostavnih iteracija imamo

e_{k} = x − x_{k} = x − (I − M^{−1}A)x_{k−1} − M^{−1}b =
= (I − M^{−1}A)x − (I − M^{−1}A)x_{k−1} =
= (I − M^{−1}A)e_{k−1} = Ge_{k−1}.

Prema tome, vrijedi

∥x − x_{k}∥ ≤ ∥G∥∥x − x_{k−1}∥,

za bilo koju operatorsku normu. Prema Lemi 1.5.6 za svako ϵ > 0 postoji neka norma za koju je ∥G∥ < ρ(G) + ϵ, tako da spektralni radijus možemo smatrati ocjenom stope konvergencije, odnosno njene brzine.

3.2.1 Jacobijeva metoda

Ako je matrica M, dobivena iz rastava matrice A, dijagonalna, tada se jednostavne iteracije sa takvim rastavom matrice nazivaju Jacobijevom metodom. Ovdje pretpostavljamo da su dijagonalni elementi matrice A različiti od nule, tako da postoji M^{−1}. To je jedan od najlakših načina prekondicioniranja. Ako matricu zapišemo u obliku A = D − L − U, gdje je D dijagonalna, L strogo donje trokutasta i U strogo gornje trokutasta matrica tada za Jacobijevu metodu vrijedi x_{k} = G_{J}x_{k−1} + f_{J}, gdje je

G_{J} = I − D^{−1}A = D^{−1}(L + U),  f_{J} = D^{−1}b.  (3.7)

U matričnom obliku iteracije Jacobijeve metode izgledaju kao

x_{k} = D^{−1}(L + U)x_{k−1} + D^{−1}b.  (3.8)

Raspisivanjem jednadžbe (3.8) po komponentama, možemo vidjeti kako se odvija korekcija vektora aproksimacije rješenja. Ako sa zagradama označimo komponente vektora, tada se Jacobijeva metoda može napisati u obliku

x_{k}(i) = \frac{1}{a_{ii}} (− ∑_{j≠i} a_{ij}x_{k−1}(j) + b(i)) , i = 1, …, n.  (3.9)

Primijetimo da kod skladištenja vektora u memoriji, novi vektor x_{k} ne može se prepisati preko starog vektora x_{k−1} sve dok sve komponenete vektora x_{k} nisu izračunate. Dakle, prije kraja jedne iteracije, oba vektora moramo posebno skladištiti.

U nastavku, interesirat će nas konvergencija Jacobijeve metode, medutim, samo za matrice sa posebnim svojstvima postoje rezultati koji govore o tome. Definirajmo zato pojam strogo dijagonalne dominantnosti.

Definicija 3.2.3. Kažemo da je matrica A strogo dijagonalno dominantna ako vrijedi

|a_{ii}| > ∑_{j≠i} |a_{ij}|,  i = 1, …, n.  (3.10)

Za takve matrice vrijedi sljedeći teorem.

Teorem 3.2.4 ([18]). Ako je matrica A strogo dijagonalno dominanatna, tada Jacobijeva metoda konvergira za svaku početnu iteraciju x_{0}.

Dokaz: Prema (3.7) i (3.10) vrijedi

∥G_{J}∥_{∞} = max_{i=1,...,n} ∑_{j=1}^{n} |(G_{J})_{ij}| = max_{i=1,...,n} \frac{1}{|a_{ii}|} ∑_{j≠i} |a_{ij}| < 1,

pa prema Teoremu 3.2.1, Jacobijeve iteracije konvergiraju za svaku početnu iteraciju.

3.2.2 Gauss–Seidelova metoda

Ako je matrica M, iz rastava matrice A sa svojstvom a_{ii} ≠ 0 za i = 1, …, n, jednaka donjem trokutastom dijelu od A, odnosno M = D − L, tada se procedura jednostavnih iteracija naziva Gauss–Seidelova metoda. Matrica i vektor iteracije su tada jednaki

G_{GS} = (D − L)^{−1}U,  f_{GS} = (D − L)^{−1}b,  (3.11)

u matričnom obliku Gauss–Seidelove iteracije su oblika

x_{k} = (D − L)^{−1}Ux_{k−1} + (D − L)^{−1}b,  (3.12)

a po komponentama je možemo raspisati kao

x_{k}(i) = \frac{1}{a_{ii}} (− ∑_{j=1}^{i−1} a_{ij}x_{k}(j) − ∑_{j=i+1}^{n} a_{ij}x_{k−1}(j) + b(i)) , i = 1, …, n.  (3.13)

Kod Gauss–Seidelove metode, tekuće aproksimacije prethodnih komponenata od x koriste se da bi se izračunala njegova sljedeća komponenta. Time se omogućava da komponente od x_{k} prebrišu stare vrijednosti komponenata od x_{k−1}, čim se izračunaju. Zato nam nije potreban dodatni pomoćni vektor za pamćenje komponenti prethodne iteracije.

O konvergenciji Gauss–Seidelove metode govore sljedeći teoremi.

Teorem 3.2.5 ([34]). Ako je matrica A strogo dijagonalno dominanatna, tada Gauss– Seidelova metoda konvergira za svaku početnu iteraciju x_{0}.

Dokaz: Izaberimo proizvoljnu svojstvenu vrijednost λ matrice G_{GS} sa svojstvenim vektorom y ≠ 0. Tada imamo

(D − L)^{−1}Uy = λy,

što, množenjem sa D − L, daje

Uy = λ(D − L)y.

Zbog daljnje analize, promatrajmo gornju jednakost po komponenetama,

λa_{ii}y(i) = − ∑_{j=i+1}^{n} a_{ij}y(j) − λ ∑_{j=1}^{i−1} a_{ij}y(j), i = 1, …, n,

odakle, prema nejednakosti trokuta imamo

|λ||a_{ii}||y(i)| ≤ ∑_{j=i+1}^{n} |a_{ij}||y(j)| + |λ| ∑_{j=1}^{i−1} |a_{ij}||y(j)| ≤

≤ ( ∑_{j=i+1}^{n} |a_{ij}| + |λ| ∑_{j=1}^{i−1} |a_{ij}|) max_{j=1,...,n} |y(j)|,  (3.14)
i = 1, …, n.

Neka je j_{0} ∈ {1, …, n} takav da

|y(j_{0})| = max_{j=1,...,n} |y(j)| > 0.

Ubacujući to u (3.14), za i = j_{0} imamo

|λ||a_{j_{0}j_{0}}| ≤ ∑_{j=j_{0}+1}^{n} |a_{j_{0}j}| + |λ| ∑_{j=1}^{j_{0}−1} |a_{j_{0}j}|.

Ako sada pretpostavimo da je |λ| ≥ 1, tada iz prethodnog imamo

|a_{j_{0}j_{0}}| ≤ \frac{1}{|λ|} ∑_{j=j_{0}+1}^{n} |a_{j_{0}j}| + ∑_{j=1}^{j_{0}−1} |a_{j_{0}j}| ≤ ∑_{j≠j_{0}} |a_{j_{0}j}|,

što je kontradiktorno sa svojstvom stroge dijagonalne dominantnosti matrice A. Stoga zaključujemo da za svaku svojstvenu vrijednost λ matrice G_{GS} vrijedi |λ| < 1, što povlači da je i ρ(G_{GS}) < 1, pa prema Teoremu 3.2.1, Gauss–Seidelova metoda konvergira za svaku početnu iteraciju.

Teorem 3.2.6 ([18]). Ako je matrica A hermitska i pozitivno definitna, tada Gauss– Seidelova metoda konvergira za svaku početnu iteraciju x_{0}.

Dokaz. Neka je λ proizvoljna svojstvena vrijednost matrice G_{GS} i neka je y ≠ 0 odgovarajući svojstveni vektor. Tada ponovo imamo

Uy = λ(D − L)y,  (3.15)

pa ako toj jednakosti dodamo −λUy s lijeve i desne strane, vrijedi

(1 − λ)Uy = λ(D − L − U)y = λAy.  (3.16)

S druge strane je, zbog (3.15)

Ay = (D − L)y − Uy = (1 − λ)(D − L)y.  (3.17)

Pomnožimo sada (3.16) skalarno sa λy, a (3.17) sa y, i oduzmimo prvu jednadžbu od druge, tada vrijedi

(1 − |λ|^{2})⟨Ay, y⟩ = (1 − λ)(⟨Dy, y⟩ − ⟨Ly, y⟩ − ⟨Uy, λy⟩).  (3.18)

Promatramo sada samo zadnji izraz u prethodnoj jednakosti. Zbog hermitičnosti matrice A vrijedi da je U^{∗} = L, zbog pozitivne definitnosti D > 0, a zbog (3.15) vrijedi da je λLy = λDy − Uy, pa imao

⟨Uy, λy⟩ = ⟨y, λLy⟩ = ⟨y, λDy⟩ − ⟨y, Uy⟩ =
= ⟨Dy, λy⟩ − ⟨Ly, y⟩.

Uz ovu jednakost, (3.18) ima oblik

(1 − |λ|^{2})⟨Ay, y⟩ = (1 − λ)(⟨Dy, y⟩ − ⟨Ly, y⟩ − ⟨Dy, λy⟩ + ⟨Ly, y⟩) =
= (1 − λ)(1 − λ̄)⟨Dy, y⟩,

odakle zbog ⟨Ay, y⟩ > 0 i zbog λ ≠ 1 (budući da bi iz (3.16) za λ = 1 slijedilo da je Ay = 0, što je kontradiktorno sa svojstvom pozitivne definitnosti matrice A), slijedi

1 − |λ|^{2} = \frac{⟨Dy, y⟩}{⟨Ay, y⟩}|1 − λ|^{2} > 0.

Znači za svaku svojstvenu vrijednost λ od G_{GS} vrijedi da je |λ| < 1, pa to vrijedi i za svojstvenu vrijednost koja ima maksimalnu apsolutnu vrijednost, odnosno ρ(G_{GS}) < 1, iz čega prema Teoremu 3.2.1 slijedi da Gauss–Seidelova metoda konvergira za svaku početnu iteraciju.

3.2.3 JOR metoda

Jacobi overrelaxation, ili skračeno JOR metoda je modifikacija Jacobijeve metode sa svrhom poboljšanja konvergencije, odnosno svodenja spektralnog radijusa matrice iteracije na minimum. Ako je matrica A matrica sustava kojeg želimo riješiti, tada kao i kod Jacobijeve metode, pretpostavljamo da je a_{ii} ≠ 0 za i = 1, …, n, i da matricu možemo rastaviti na A = D−L−U, pri čemu je D dijagonala matrice A, a L i U strogi donji i strogi gornji trokut od A. Promatrajmo sada novi rastav A = ω^{−1}D −(1−ω)ω^{−1}D −L−U, za ω ∈ ℝ, tako da vrijedi

M = \frac{1}{ω} D, N = \frac{1 − ω}{ω} D + L + U.

Sada možemo definirati matricu iteracija G_{JOR,ω} = M^{−1}N i vektor kao

G_{JOR,ω} = (1 − ω)I + ωD^{−1}(L + U) = (1 − ω)I + ωG_{J}, f_{JOR,ω} = ωD^{−1}b. (3.19)

Iteracije tada izgledaju kao

x_{k} = [(1 − ω)I + ωD^{−1}(L + U)]x_{k−1} + ωD^{−1}b.  (3.20)

Time smo zapravo dobili težinski prosjek izmedu prijašnje iteracije i izračunate Jacobijeve iteracije, jer se iteracije mogu zapisati kao

x_{k} = (1 − ω)x_{k−1} + ω(G_{J}x_{k−1} + f_{J}).  (3.21)

Po komponentama, iteracije imaju oblik

x_{k}(i) = (1 − ω)x_{k−1}(i) + ω \frac{1}{a_{ii}} (− ∑_{j≠i} a_{ij}x_{k−1}(j) + b_{i}) , i = 1, …, n.  (3.22)

Osnovna ideja je izabrati koeficijent ω tako da ubrza konvergenciju iteracija, i to tako da konvergencija bude najbrža moguća.

Najčešće se pod “overrelaxation” podrazumijeva JOR postupak za svako ω ≠ 0, ali ima i podjela na “overrelaxation” za ω > 1 i “underrelaxation” za ω < 1. Primijetimo da za ω = 1 dobivamo prije definiranu Jacobijevu metodu.

O konvergenciji JOR metode govore nam sljedeći teoremi.

Teorem 3.2.7 ([34]). Ako Jacobijeva metoda konvergira za svaku početnu iteraciju x_{0}, onda za proizvoljno ω ∈ ⟨0, 1] konvergira i JOR metoda i to za svako x_{0}.

Dokaz: Neka je λ proizvoljna svojstvena vrijednost Jacobijeve matrice G_{J}. Tada zbog konvergencije Jacobijeve metode za svako x_{0}, na osnovu Teorema 3.2.1, slijedi

|λ| < 1.

Matrica iteracije JOR metode G_{JOR,ω} je oblika (3.19), pa je njezina svojstvena vrijednost oblika

μ = 1 − ω + ωλ.

Neka je λ = α + ιβ, za α, β ∈ ℝ, i ι^{2} = −1. Tada zbog |λ| < 1 slijedi da je α^{2} + β^{2} < 1 i α^{2} < 1. Zbog prethodno rečenog i zbog činjenice da je 1 − ω ≥ 0, vrijedi

|μ|^{2} = (1 − ω + ωα)^{2} + ω^{2}β^{2} ≤
≤ (1 − ω)^{2} + 2ω(1 − ω)|α| + ω^{2}(α^{2} + β^{2}) <
< (1 − ω)^{2} + 2ω(1 − ω) + ω^{2} = (1 − ω + ω)^{2} = 1.

Odavde slijedi da je ρ(G_{JOR,ω}) < 1, pa prema Teoremu 3.2.1, JOR metoda konvergira za svaku početnu iteraciju.

Teorem 3.2.8 ([34]). Neka je A hermitska pozitivno definitna matrica i neka Jacobijeva metoda konvergira. Tada konvergira i JOR metoda za

0 < ω < \frac{2}{1 − λ} ≤ 2,

gdje je λ ≤ 0 najmanja svojstvena vrijednost Jacobijeve matrice G_{J}.

Dokaz: Neka su λ_{i}, i = 1, …, n svojstvene vrijednosti matrice G_{J}. Zbog konvergencije Jacobijeve metode iz Teorema 3.2.1 slijedi da je |λ_{i}| < 1 za sve i = 1, …, n. Kako su, zbog hermitičnosti matrice G_{J} = D^{−1}(L + L^{∗}), što pak slijedi iz hermitičnosti matrice A, sve λ_{i} realni brojevi i

0 = tr(G_{J}) = ∑_{i=1}^{n} λ_{i}

slijedi da nisu sve λ_{i} pozitivne, te vrijedi

λ = min_{i=1,...,n} λ_{i} ≤ 0.

Ponovo vrijedi da su svojstvene vrijednosti matrice G_{JOR,ω} oblika

μ_{i} = 1 − ω(1 − λ_{i}), i = 1, …, n.

Kako je prema uvjetima teorema

0 < ω(1 − λ) < 2, i λ_{i} < 1, za i = 1, …, n

slijedi

0 < ω(1 − λ_{i}) < ω(1 − λ) < 2,

odnosno

−1 < μ_{i} = 1 − ω(1 − λ_{i}) < 1,

odakle je ρ(G_{JOR,ω}) < 1, pa prema Teoremu 3.2.1 JOR metoda konvergira za svaku početnu iteraciju.

Teorem 3.2.9 ([34]). JOR metoda ne konvergira za

ω < 0, i ω ≥ 2.

Dokaz: Iz definicije (3.19) matrice G_{JOR,ω} vidimo da je

tr(G_{JOR,ω}) = n(1 − ω) = ∑_{i=1}^{n} μ_{i},

pri čemu su μ_{i} svojstvene vrijednosti matrice G_{JOR,ω}, imamo

n|1 − ω| ≤ ∑_{i=1}^{n} |μ_{i}| ≤ nρ(G_{JOR,ω}).

Dakle,

ρ(G_{JOR,ω}) ≥ |1 − ω|,

odakle se vidi da je za ω < 0 i ω ≥ 2 ρ(G_{JOR,ω}) ≥ 1, iz čega, prema Teoremu 3.2.1, slijedi tvrdnja teorema.

3.2.4 SOR i SSOR metode

Succesive overrelaxation, ili skračeno SOR metoda je, u ovom slučaju modifikacija Gauss–Seidelove metode sa svrhom poboljšanja konvergencije. Ako je matrica A matrica sustava kojeg želimo riješiti, pretpostavljamo da je a_{ii} ≠ 0 za i = 1, …, n, i da je A = D − L − U, pri čemu je D dijagonala matrice A, a L i U strogi donji i strogi gornji trokut od A. Pononovo, promatramo novi rastav A = ω^{−1}D − (1 − ω)ω^{−1}D − L − U, za ω ∈ ℝ, ali ovaj puta uzimamo da su

M = \frac{1}{ω} D − L, N = \frac{1 − ω}{ω} D + U.

Sada možemo definirati matricu iteracija G_{SOR,ω} = M^{−1}N i vektor, kao

G_{SOR,ω} = (D − ωL)^{−1}[(1 − ω)D + ωU], f_{SOR,ω} = ω(D − ωL)^{−1}b.  (3.23)

Iteracije tada izgledaju kao

x_{k} = (D − ωL)^{−1}[(1 − ω)D + ωU]x_{k−1} + ω(D − ωL)^{−1}b.  (3.24)

Ako iteracije rastavimo po komponentama, tada za i = 1, …, n one imaju oblik

x_{k}(i) = (1 − ω)x_{k−1}(i) + ω \frac{1}{a_{ii}} (− ∑_{j=1}^{i−1} a_{ij}x_{k}(j) − ∑_{j=i+1}^{n} a_{ij}x_{k−1}(j) + b(i)) . (3.25)

Time smo, kod SOR metode, zapravo dobili da je komponenta novog vektora jednaka težinskom prosjeku izmedu komponente prijašnje iteracije i izračunate komponente Gauss-Seidelove iteracije, jer se iteracije po komponentama mogu zapisati kao

x_{k}(i) = (1 − ω)x_{k−1}(i) + ω(x_{k}^{(GS)}(i)),  (3.26)

gdje je x_{k}^{(GS)}(i) i-ta komponenta vektora dobivenog primjenom jedne Gauss-Seidelove iteracije nad vektorom x_{k−1}.

Ponovo je osnovna ideja izabrati koeficijent ω takav da ubrza konvergenciju iteracija, i vrijede iste podjele na “overrelaxation” i “underrelaxation”. Primijetimo da za ω = 1 dobivamo prije definiranu Gauss–Seidelovu metodu.

Ako pretpostavimo da je matrica sustava A realna simetrična ili kompleksna hermitska, tada se mogu definirati simetrične ili hermitske verzije Gauss–Seidelove i SOR metode. Simetričnu verziju SOR metode nazivamo Symmetric succesive overrelaxation metodom ili skraćeno SSOR, a ona izvodi dva SOR koraka zajedno tako da rezultirajuća matrica iteracije bude nalik hermitskoj matrici. Preciznije, prvi SOR korak se izvodi kao kod (3.25), ali u drugom SOR koraku nepoznanice se računaju u obrnutom poretku. To znači, da je jedan SSOR korak ekvivalentan jednom SOR koraku u naprijed, kojeg slijedi jedan SOR korak unazad. Sličnost SSOR matrice sa hermitskom, omogućava upotrebu SSOR metode za prekondicioniranje hermitskih sustava. To je zaista i glavna motivacija za korištenje SSOR metode, budući da njena stopa konvergencije sa optimalnim izborom vrijednosti za ω je obično manja nego stopa konvergencije SOR metode sa optimalnim ω. Ako definiramo M_{1} = ω^{−1}D − L i M_{2} = ω^{−1}D − U, tada rješavamo sljedeća dva uzastopna problema

M_{1}x_{k−1/2} = N_{1}x_{k−1} + b, N_{1} = M_{1} − A,
M_{2}x_{k} = N_{2}x_{k−1/2} + b, N_{2} = M_{2} − A,

odakle je

x_{k} = M_{2}^{−1}N_{2}M_{1}^{−1}N_{1}x_{k−1} + (M_{2}^{−1}N_{2}M_{1}^{−1} + M_{2}^{−1})b.

Ako u prethodnu iteraciju uvrstimo prave vrijednosti za M_{1}, N_{1}, M_{2} i N_{2} tada dobivamo konačan oblik SSOR iteracije

x_{k} = (D − ωU)^{−1}[(1 − ω)D + ωL](D − ωL)^{−1}[(1 − ω)D + ωU]x_{k−1} +
+ω(2 − ω)(D − ωU)^{−1}D(D − ωL)^{−1}b,  (3.27)

iz čega se vidi da je

G_{SSOR,ω} = (D − ωU)^{−1}[(1 − ω)D + ωL](D − ωL)^{−1}[(1 − ω)D + ωU],  (3.28)

i

f_{SSOR,ω} = ω(2 − ω)(D − ωU)^{−1}D(D − ωL)^{−1}b.  (3.29)

Ako želimo dobiti točan oblik matrice prekondicioniranja koju inducira SSOR metoda, tada najprije (3.27) trebamo svesti na oblik

M_{SSOR,ω}x_{k} = N_{SSOR,ω}x_{k−1} + b,

pri čemu je onda M_{SSOR,ω} tražena matrica. Množenjem (3.27) sa 1/ω(2 − ω)(D − ωL)D^{−1}(D − ωU), kako bi matricu uz b sveli na identitetu, dobit ćemo da je matrica prekondicioniranja upravo oblika

M_{SSOR,ω} = \frac{1}{ω(2 − ω)}(D − ωL)D^{−1}(D − ωU).  (3.30)

Ovakvo prekondicioniranje ponekad se koristi sa CG metodom za hermitski pozitivno definitni problem. Za ω = 1 dobivamo simetričnu Gauss-Seidelovu metodu, kod koje je

M_{SGS} = (D − L)D^{−1}(D − U).

SSOR matrica prekondicionioniranja dana je u svom faktoriziranom obliku, pa tako ovakav način prekondicioniranja dijeli mnoga svojstva drugih metoda baziranih na faktorizaciji, koje će biti prezentirane u sljedećem odjeljku. Primijetimo da je D − ωL donje trokutasta matrica, a D − ωU gornje trokutasta matrica, pa zbog toga na SSOR postupak možemo gledati kao na LU faktorizaciju matrice prekondicioniranja, odnosno imamo

M_{SSOR,ω} = L_{SSOR,ω}U_{SSOR,ω},

gdje su

L_{SSOR,ω} = (D − ωL)D^{−1}, U_{SSOR,ω} = \frac{1}{ω(2 − ω)}(D − ωU).

Matrica L_{SSOR,ω} je jedinična donje trokutasta matrica, a U_{SSOR,ω} je gornje trokutasta. Znači za izračunavanje w = M_{SSOR,ω}^{−1}v treba riješiti dva uzastopna trokutasta problema

L_{SSOR,ω}z = v
U_{SSOR,ω}w = z.

Analiza SOR metode

Analizi konvergencije SOR metode posvetit ćemo malo više pažnje, budući da se ona i najčešće koristi, od svih metoda spomenutih u ovom odjeljku. Konvergenciju ćemo promatrati za nekoliko standardnih tipova problema. Najprije, pogledajmo kada SOR metoda, u općenitom slučaju, ne konvergira.

Teorem 3.2.10 ([34]). SOR metoda ne konvergira za

ω ≤ 0, i ω ≥ 2.

Dokaz: Očito je da za SOR matricu (3.23) vrijedi

det(G_{SOR,ω}) = (det(D − ωL))^{−1} det((1 − ω)D + ωU) =
= (det(D))^{−1}(1 − ω)^{n} det(D) = (1 − ω)^{n},

jer su D − ωL i (1 − ω)D + ωU donja i gornja trokutasta matrica. Kako je

(ρ(G_{SOR,ω}))^{n} ≥ ∏_{i=1}^{n} |λ_{i}| = | det(G_{SOR,ω})| = |1 − ω|^{n},

gdje su λ_{i} svojstvene vrijednosti matrice G_{SOR,ω}, onda je

ρ(G_{SOR,ω}) ≥ |1 − ω|.

Prema Teoremu 3.2.1 SOR metoda konvergirat će ako i samo ako je ρ(G_{SOR,ω}) < 1, pa ako imamo da je |1 − ω| ≥ 1, tada SOR metoda neće konvergirati. Ovaj uvjet bit će ispunjen ako i samo ako je ω ≤ 0 i ω ≥ 2.

Iz ovog teorema se vidi da za općenite matrice vrijedi, ako SOR metoda konvergira, tada za ω mora vrijediti ω ∈ ⟨0, 2⟩. Slijedi analogon Teorema 3.2.6, samo za SOR metodu.

Teorem 3.2.11 ([34]). Neka je A hermitska pozitivno definitna matrica. Tada SOR metoda konvergira za ω ∈ ⟨0, 2⟩.

Dokaz: Neka je λ proizvoljna svojstvena vrijednost SOR matrice G_{SOR,ω} i neka je y ≠ 0 odgovarajući svojstveni vektor. Tada vrijedi

G_{SOR,ω}y = λy,

odnosno

[(1 − ω)D + ωU)y = λ(D − ωL)y.  (3.31)

Za lijevu stranu jednakosti (3.31), direktnim računom dobivamo

2[(1 − ω)D + ωU] = (2 − ω)D − ωA + ω(U − L),

a za desnu stranu vrijedi

2(D − ωL) = (2 − ω)D + ωA + ω(U − L).

Koristeći se time, uz činjenicu da je zbog hermitičnosti matrice A L = U^{∗}, poslije skalarnog množenja sa y, iz (3.31) dobivamo

(2 − ω)⟨Dy, y⟩ − ω⟨Ay, y⟩ + ω⟨(U − U^{∗})y, y⟩ =
= λ[(2 − ω)⟨Dy, y⟩ + ω⟨Ay, y⟩ + ω⟨(U − U^{∗})y, y⟩].  (3.32)

Budući da je A pozitivno definitna matrica, vrijedi da je a_{ii} > 0 za svako i = 1, …, n, a kako je y ≠ 0 imamo

⟨Ay, y⟩ > 0, ⟨Dy, y⟩ > 0.

Matrica U − U^{∗} je antihermitska pa je ⟨(U − U^{∗})y, y⟩ čisto imaginarni broj ili nula. Definirajmo

d = ⟨Dy, y⟩, a = ⟨Ay, y⟩, ιu = ⟨(U − U^{∗})y, y⟩,

gdje je ι = \sqrt{−1}. Sada (3.32) glasi

(2 − ω)d − ωa + ιωu = λ[(2 − ω)d + ωa + ιωu],

odakle je

λ = \frac{(2 − ω)d − ωa + ιωu}{(2 − ω)d + ωa + ιωu}.

Imaginarni dijelovi brojnika i nazivnika u izrazu za λ su jednaki, pa je |λ| < 1 ako i samo ako je

|(2 − ω)d + ωa| > |(2 − ω)d − ωa|,

što je, nakon kvadriranja, ekvivalentno sa

4ω(2 − ω)da > 0.

Nadalje, budući da su d > 0 i a > 0, to će vrijediti ako i samo ako je

ω(2 − ω) > 0,

što se postiže ako i samo ako je ω ∈ ⟨0, 2⟩. Za takav izbor omega, za proizvoljni λ vrijedi |λ| < 1, pa će vrijediti i ρ(G_{SOR,ω}) < 1, odakle prema Teoremu 3.2.1 SOR metoda konvergira za svaku početnu iteraciju.

Matrice sa posebnom strukturom

U praksi se pokazuje, da mnoge matrice koje dolaze iz konkretnih parcijalnih diferencijalnih jednadžbi imaju posebnu strukturu. Zato ćemo se usredotočiti na matrice koje imaju odredeni raspored nula medu svojim elementima. Za takvo nešto koristit ćemo terminologiju iz teorije grafova, što se pokazalo kao korisno sredstvo za rad sa takvim matricama. Najprije ćemo definirati nekoliko pojmova.

Definicija 3.2.12. Kažemo da je 𝔾 = {𝕍, 𝔼} orijentirani graf n × n matrice A, ako je 𝕍 = {1, …, n} i (i, j) ∈ 𝔼 za i, j ∈ {1, …, n}, i ≠ j, ako i samo ako je a_{ij} ≠ 0.

Definicija 3.2.13. Za n × n matricu A sa usmjerenim grafom 𝔾 = {𝕍, 𝔼} kažemo da zadovoljava svojstvo A ako postoji particija 𝕍 = 𝕊_{1} ∪ 𝕊_{2}, kod koje je 𝕊_{1} ∩ 𝕊_{2} = ∅, takva da za svako (i, j) ∈ 𝔼, ili i ∈ 𝕊_{1}, j ∈ 𝕊_{2}, ili j ∈ 𝕊_{1}, i ∈ 𝕊_{2}.

Alternativnu definiciju svojstva A daje sljedeći teorem.

Teorem 3.2.14 ([12]). Matrica A zadovoljava svojstvo A ako i samo ako je A dijagonalna matrica, ili postoji matrica permutacije P takva da P^{−1}AP ima oblik

[ \begin{matrix}D_{1} & B \\ C & D_{2} \end{matrix} ] ,  (3.33)

gdje su D_{1} i D_{2} kvadratne dijagonalne matrice.

Dokaz: Ako matrica A zadovoljava svojstvo A, tada ako je jedan od skupova 𝕊_{1} i 𝕊_{2} prazan, A je dijagonalna. U suprotnom slučaju treba poredati retke i stupce od A tako, da se najprije izredaju indeksi iz 𝕊_{1}, iza kojih slijede indeksi iz 𝕊_{2}. Iz Definicije 3.2.13 gdje se definiraju skupovi 𝕊_{1} i 𝕊_{2}, slijedi da će tada dva dijagonalna bloka reda card(𝕊_{1}) i card(𝕊_{2}) biti dijagonalne matrice.

Obrnuto, ako se A može ispermutirati u oblik (3.33), tada uzmimo da je 𝕊_{1} skup indeksa koji odgovaraju prvom dijagonalnom bloku, a da je 𝕊_{2} skup indeksa koji odgovaraju drugom dijagonalnom bloku. Tada 𝕊_{1} i 𝕊_{2} zadovoljavaju svojstva koja se zahtijevaju u Definiciji 3.2.13.

Mnoge matrice dobivene diskretizacijom parcijalnih diferencijalnih jednadžbi zadovoljavaju svojstvo A. Na primjer, takva matrica je matrica koja dolazi iz aproksimacije s 5 točaka Poissonove jednadžbe na kvadratu, pomoću konačnih diferencija. Ako čvorove na mreži numeriramo na crveno–crni način, poput polja na šahovskoj ploči, tada dobivamo matricu oblika (3.33). Dakle, isplati se posebno promatrati matrice sa svojstvom A i njihovo ponašanje u SOR procesu, što nam je sljedeći korak.

Najprije ćamo iznijeti nekoliko pomoćnih definicija i tvrdnji, koje će nam biti potrebne u teoremima o konvergenciji. Započnimo prvo sa definicijom još jednog pojma, vezanog uz orijentirani graf matrice.

Definicija 3.2.15. Za danu n × n matricu A, kažemo da je u ∈ ℤ^{n} vektor uredaja, ako za njegove komponente vrijedi |u(i) − u(j)| = 1 za svako (i, j) ∈ 𝔼. Štoviše, u je kompatibilan vektor uredaja ako, uz ostalo zadovoljava i

i ≥ j + 1 ⟹ u(i) − u(j) = +1,
i ≤ j − 1 ⟹ u(i) − u(j) = −1.

Lema 3.2.16 ([24]). Ako za matricu A postoji vektor uredaja, tada postoji matrica permutacije P takva da za matricu Ã = P AP^{−1} postoji kompatibilan vektor uredaja.

Dokaz: Svaka transformacija sličnosti sa matricom permutacije je zapravo preindeksiranje varijabli. Dakle, orijentirani graf matrice Ã je graf 𝔾̃ = {π(𝕍), π(𝔼)}, gdje je π odgovarajuća permutacija skupa {1, 2, …, n}. Drugim riječima, π(𝕍) = {π(1), π(2), …, π(n)}, i (π(i), π(j)) ∈ π(𝔼) ako i samo je (i, j) ∈ 𝔼.

Neka je u vektor uredaja, koji postoji prema pretpostavci leme, i neka je v(i) = u(π^{−1}(i)), i = 1, …, n gdje π^{−1} inverz permutacije π. Budući da iz (i, j) ∈ π(𝔼) slijedi (π^{−1}(i), π^{−1}(j)) ∈ 𝔼, tada prema definiciji vektora uredaja vrijedi da je |u(π^{−1}(i)) − u(π^{−1}(j))| = 1. Prema konstrukciji vektora v, slijedi da je |v(i) − v(j)| = 1, odakle je v vektor uredaja matrice Ã.

Izaberimo permutaciju π takvu da je v(1) ≤ v(2) ≤ ⋯ ≤ v(n), što odgovara situaciji u(π^{−1}(1)) ≤ u(π^{−1}(2)) ≤ ⋯ ≤ u(π^{−1}(n)) koja se uvijek može izvesti. Neka je dan ureden par (i, j) ∈ π(𝔼), i ≥ j + 1, čime dobivamo da je v(i) − v(j) ≥ 0, a kako je v vektor uredaja, tada mora biti v(i) − v(j) = 1. Na isti način, iz (i, j) ∈ π(𝔼), i ≤ j − 1, slijedi da je v(i) − v(j) = −1. Prema tome možemo zaključiti da je v kompatibilan vektor uredaja.

Važnost definicije pojma vektora uredaja izražena je u sljedećem rezultatu.

Lema 3.2.17 ([24]). Matrica A zadovoljava svojstvo A ako i samo ako za nju postoji vektor uredaja.

Dokaz: Pretpostavimo prvo da matrica A zadovoljava svojstvo A i uzmimo vektor u čije su komponente definirane sa

u(i) = \{ \begin{matrix}1, & i ∈ 𝕊_{1}, \\ 2, & i ∈ 𝕊_{2}, \end{matrix} i = 1, …, n.

Za svako (i, j) ∈ 𝔼 indeksi i i j pripadaju različitim skupovima, pa je zbog toga u(i) − u(j) = ±1, odakle možemo zaključiti da je u vektor uredaja.

Kako bi dokazali obrat, pretpostavimo da za matricu A postoji vektor uredaja u i neka su

𝕊_{1} = {i ∈ 𝕍 : u(i) je neparan}, 𝕊_{2} = {i ∈ 𝕍 : u(i) je paran}.

Jasno je, da je u tom slučaju 𝕊_{1} ∪ 𝕊_{2} = 𝕍 i 𝕊_{1} ∩ 𝕊_{2} = ∅, pa je zbog toga {𝕊_{1}, 𝕊_{2}} particija skupa 𝕍. Za bilo koje i, j ∈ 𝕍 takve da je (i, j) ∈ 𝔼 iz Definicije 3.2.15 vektora uredaja slijedi da je u(i) − u(j) = ±1. Drugim riječima, brojevi u(i) i u(j) moraju biti različitog pariteta, pa prema gornjoj konstrukciji slijedi da i i j pripadaju različitim skupovima particije. Dakle, matrica zadovoljava svojstvo A.

Napomenimo, da ako matrica A zadovoljava svojstvo A, da tada matrica Ã = P^{−1}AP, koja ima oblik (3.33), ima kompatibilni vektor uredaja.

Postojanje kompatibilnog vektora uredaja je uzrok mnogih zanimljivih svojstava martrica, koja su od velike važnosti za ponašanje SOR metode.

Lema 3.2.18 ([24]). Ako za matricu A postoji kompatibilni vektor uredaja, tada je funkcija

g(s, t) = det (tL + \frac{1}{t}U − sD) , s ∈ ℝ, t ∈ ℝ \ \{0\}

neovisna o t.

Dokaz: Budući da A i H(s, t) = tL + (1/t)U − sD dijele isti raspored nula za sve t ≠ 0, tada prema definiciji slijedi da je svaki kompatibilni vektor uredaja matrice A takoder i kompatibilni vektor uredaja matrice H(s, t). Specijalno, možemo zaključiti da za matricu H(s, t) postoji kompatibilni vektor uredaja.

Prema definiciji determinante je

g(s, t) = ∑_{π∈Π_{n}}(−1)^{|π|} ∏_{i=1}^{n} h_{i,π(i)}(s, t),

gdje su h_{ij}(s, t) elementi matrice H(s, t), Π_{n} skup svih permutacija na skupu {1, …, n} i |π| predznak permutacije π ∈ Π_{n}. Kako je

h_{ij}(s, t) = −t^{σ_{i−j}}s^{1−|σ_{i−j}|}a_{ij}, i, j = 1, …, n,

pri čemu je

σ_{l} = \{ \begin{matrix}+1, & l > 0, \\ −1, & l < 0, \\ 0, & l = 0, \end{matrix}

možemo zaključiti da je

g(s, t) = (−1)^{n} ∑_{π∈Π_{n}}(−1)^{|π|}t^{n_{L}(π)−n_{U} (π)}s^{n−n_{L}(π)−n_{U} (π)} ∏_{i=1}^{n} a_{i,π(i)},  (3.34)

gdje n_{L}(π) i n_{U}(π) označavaju broj elemenata i ∈ {1, …, n} takvih da su redom i > π(i), odnosno i < π(i).

Neka je u kompatibilan vektor uredaja matrice H(s, t), za kojeg znamo da postoji, i izaberimo proizvoljnu permutaciju π ∈ Π_{n} takvu da je (jer radimo sa regularnim matricama, takva permutacija mora postojati)

a_{1,π(1)}, a_{2,π(2)}, …, a_{n,π(n)} ≠ 0.

Tada su svi parovi (i, π(i)), i = 1, …, n u 𝔼. Iz defincije slijedi

n_{L}(π) = ∑_{π(i)<i}[u(i) − u(π(i))], n_{U}(π) = ∑_{π(i)>i}[u(π(i)) − u(i)],

odakle je

n_{L}(π) − n_{U}(π) = ∑_{π(i)≠i}[u(i) − u(π(i))] = ∑_{i=1}^{n}[u(i) − u(π(i))] = ∑_{i=1}^{n} u(i) − ∑_{i=1}^{n} u(π(i)).

Kako je π permutacija skupa {1, …, n}, onda je

∑_{i=1}^{n} u(i) = ∑_{i=1}^{n} u(π(i))

i n_{L}(π) − n_{U}(π) = 0 za sve π ∈ Π_{n} takve da je a_{i,π(i)} ≠ 0 za sve i = 1, …, n. Zato

t^{n_{L}(π)−n_{U} (π)} ∏_{i=1}^{n} a_{i,π(i)} = ∏_{i=1}^{n} a_{i,π(i)}, π ∈ Π_{n},

i iz (3.34) slijedi da je g(s, t) neovisan o t ∈ ℝ \ {0}.

Napomena: Prema Lemi 3.2.17, Lemi 3.2.16 i Lemi 3.2.18, slijedi da ako matrica A zadovoljava svojstvo A, tada postoji matrica permutacije P takva da matrica P^{−1}AP zadovoljava

det(L + U − sD) = det(tL + t^{−1}U − sD),  t ∈ ℝ \ {0}.  (3.35)

Sada ćemo napokon iznijeti niz rezultata o svojstvenim vrijednostima i konvergenciji SOR metode, vezanih uz matrice koje zadovoljavaju svojstvo A, odnosno za koje vrijedi tvrdnja Leme 3.2.18.

Teorem 3.2.19 ([12]). Pretpostavimo da matrica A = D − L − U zadovoljava svojstvo (3.35). Tada vrijede sljedeća svojstva:

(i) Ako je μ svojstvena vrijednost Jacobijeve matrice G_{J}, tada je i −μ svojstvena vrijednost od G_{J} sa istom kratnosti.

(ii) Ako je λ = 0 svojstvena vrijednost SOR matrice G_{SOR,ω}, tada je ω = 1.

(iii) Ako je λ ≠ 0 svojstvena vrijednost od G_{SOR,ω} za neko ω ∈ ⟨0, 2⟩, tada je

μ = \frac{λ + ω − 1}{ωλ^{1/2}}  (3.36)

svojstvena vrijednost od G_{J}.

(iv) Ako je μ svojstvena vrijednost od G_{J} i λ zadovoljava (3.36) za neko ω ∈ ⟨0, 2⟩, tada je λ svojstvena vrijednost od G_{SOR,ω}.

Dokaz: Iz svojstva (3.35) sa t = −1, imamo da je za bilo koji broj μ,

det(G_{J} − μI) = det(D^{−1}(L + U) − μI) = det[D^{−1}(L + U − μD)] =
= \frac{1}{det D} det(L + U − μD) = \frac{1}{det D} det(−L − U − μD) =
= \frac{(−1)^{n}}{det D} (L + U + μD) = (−1)^{n} det(D^{−1}(L + U) + μI) =
= (−1)^{n} det(G_{J} + μI).

Budući da su svojstvene vrijednosti od G_{J} brojevi za koje je det(G_{J} −μI) = 0, a njihove kratnosti su takoder odredene karakterističnim polinomom, dobivamo tvrdnju (i).

Primijetimo da matricu G_{SOR,ω} možemo napisati na drugačiji način,

G_{SOR,ω} = (D − ωL)^{−1}[(1 − ω)D + ωU] =
= (I − ωD^{−1}L)^{−1}D^{−1}D[(1 − ω)I + ωD^{−1}U] =
= (I − ωD^{−1}L)^{−1}[(1 − ω)I + D^{−1}U].  (3.37)

Budući da je matrica I − ωD^{−1}L donje trokutasta sa jedinicama na dijagonali, njezina detrminanta je jednaka 1, tako da za bilo koji broj λ imamo

det(G_{SOR,ω} − λI) = det[(I − ωD^{−1}L)^{−1}[(1 − ω)I + ωD^{−1}U] − λI] =
= det[(1 − ω)I + ωD^{−1}U − λ(I − ωD^{−1}L)].  (3.38)

Ako je λ = 0 svojstvena vrijednost od G_{SOR,ω}, tada slijedi da je

det[(1 − ω)I + ωD^{−1}U] = 0.

Kako je ta matrica gornje trokutasta sa (1 − ω) na dijagonali, zaključujemo da je

det[(1 − ω)I + ωD^{−1}U] = (1 − ω)^{n} = 0,

i da je ω = 1, čime smo pokazali tvrdnju (ii).

Za λ ≠ 0, iz jednakosti (3.38) slijedi

det(G_{SOR,ω} − λI) = \frac{1}{det D} det [(1 − ω − λ)D + ωU + λωL] =
= \frac{λ^{n/2}ω^{n}}{det D} det [\frac{1 − ω − λ}{λ^{1/2}ω}D + λ^{−1/2}U + λ^{1/2}L] .

Koristeći svojstvo (3.35) za t = λ^{1/2} imamo

det(G_{SOR,ω} − λI) = \frac{λ^{n/2}ω^{n}}{det D} det [\frac{1 − ω − λ}{λ^{1/2}ω}D + U + L] =
= λ^{n/2}ω^{n} det (D^{−1}(L + U) − \frac{λ + ω − 1}{λ^{1/2}ω}I) =
= λ^{n/2}ω^{n} det (G_{J} − \frac{λ + ω − 1}{λ^{1/2}ω}I) .  (3.39)

Iz ovoga slijedi da ako je λ ≠ 0 svojstvena vrijednost od G_{SOR,ω} i ako μ zadovoljava (3.36), tada je μ svojstvena vrijednost od G_{J}. Obrnuto, ako je μ svojstvena vrijednost od G_{J} i ako λ zadovoljava (3.36), tada je λ svojstvena vrijednost od G_{SOR,ω}. Time smopokazali tvrdnje (iii) i (iv).

Korolar 3.2.20 ([12]). Kada matrica sustava A zadovoljava svojstvo (3.35), tada je ρ(G_{GS}) = [ρ(G_{J})]^{2}.

Dokaz: Kako je G_{GS} = G_{SOR,1}, kad u (3.36) uvrstimo ω = 1 onda se ona svodi na

μ = λ^{1/2}.

Ako su sve svojstvene vrijednosti od G_{GS} jednake nuli, tada je G_{GS} = (D − L)^{−1}U = 0, odakle slijedi da je U = 0. Kao posljedicu toga, imamo da je G_{J} = D^{−1}L strogo donje trokutasta matrica, sa nulama na dijagonali. Prema tome, u toj situaciji i sve svojstvene vrijednosti od G_{J} su jednake nuli pa je ρ(G_{GS}) = 0 = [ρ(G_{J}]^{2}. Ako postoji svojstvena vrijednost λ od G_{GS}, različita od nule, tada prema tvrdnji (iii) Teorema 3.2.19 slijedi da postoji svojstvena vrijednost μ od G_{J}, takva da je μ = λ^{1/2}. To vrijedi i za λ za koji je |λ| = ρ(G_{GS}). Odavde slijedi da je [ρ(G_{J})]^{2} ≥ ρ(G_{GS}). Iz tvrdnje (iv) Teorema 3.2.19 slijedi da ne postoji svojstvena vrijednost μ od G_{J}, takva da je |μ|^{2} > ρ(G_{GS}), jer kad bi postojala takva svojstvena vrijednost μ, tada bi λ = μ^{2} bila svojstvena vrijednost od G_{GS} sa |λ| > ρ(G_{GS}), što je kontradiktorno sa definicijom spektralnog radijusa. Dakle [ρ(G_{J})]^{2} = ρ(G_{GS}).

Prema ovom korolaru Gauss–Seidelova metoda dvostruko brže konvergira nego Jacobijeva.

Sljedeći teorem govori o optimalnoj vrijednosti parametra ω kod SOR metode, i odgovarajućoj optimalnoj stopi konvergencije.

Teorem 3.2.21 ([12]). Pretpostavimo da matrica A zadovoljava svojstvo (3.35), da G_{J} ima samo realne svojstvene vrijednosti, i da je ρ_{μ} = ρ(G_{J}) < 1. Tada SOR metoda konvergira za svako ω ∈ ⟨0, 2⟩, i spektralni radijus SOR matrice je

ρ(G_{SOR,ω}) = \{ \begin{matrix}\frac{1}{4} [ωρ_{μ} + \sqrt{(ωρ_{μ})^{2} − 4(ω − 1)}]^{2} & za 0 < ω ≤ ω_{opt}, \\ ω − 1 & za ω_{opt} ≤ ω < 2, \end{matrix}  (3.40)

gdje je ω_{opt}, optimalna vrijednost od ω, jednak

ω_{opt} = \frac{2}{1 + \sqrt{1 − ρ_{μ}^{2}}} .  (3.41)

Za bilo koju drugu vrijednost od ω, imamo

ρ(G_{SOR,ω_{opt}}) < ρ(G_{SOR,ω}),  ω ∈ ⟨0, 2⟩ \ {ω_{opt}}.  (3.42)

Dokaz: Napomenimo najprije da matrica G_{J} može imati sve svojstvene vrijednosti realne u slučaju kad je, na primjer, matrica A hermitska.

Rješavanje jednadžbe (3.36) po λ, za proizvoljni ω, rezultira sa

λ = \frac{1}{4} (ωμ ± \sqrt{(ωμ)^{2} − 4(ω − 1)})^{2} .  (3.43)

Iz Teorema 3.2.19 slijedi da ako je μ svojstvena vrijednost od G_{J}, tada su oba korijena λ svojstvene vrijednosti od G_{SOR,ω}.

Budući da je μ realan, izraz unutar kvadratnog korijena u (3.43), za μ ≠ 0, je negativan ako

\frac{2(1 − \sqrt{1 − μ^{2}})}{μ^{2}} < ω < \frac{2(1 + \sqrt{1 − μ^{2}})}{μ^{2}}.

Kako je |μ| < 1, to znači da je

\frac{2(1 + \sqrt{1 − μ^{2}})}{μ^{2}} > 2,

pa kako za ω ≥ 2 znamo sa SOR metoda ne konvergira, nas interesiraju samo ω < 2. Dakle imamo da je taj izraz negativan ako

ω_{μ} = \frac{2(1 − \sqrt{1 − μ^{2}})}{μ^{2}} < ω < 2,

i u tom slučaju je

|λ| = \frac{1}{4} |ωμ ± \sqrt{(ωμ)^{2} − 4(ω − 1)}|^{2} =
= \frac{1}{4}[(ωμ)^{2} + |(ωμ)^{2} − 4(ω − 1)|] =
= \frac{1}{4}[(ωμ)^{2} + 4(ω − 1) − (ωμ)^{2}] =
= ω − 1,  ω ∈ ⟨ω_{μ}, 2⟩.

Za μ = 0 je izraz pod korijenom u (3.43) jednak −4(ω − 1), a ω_{μ} = 1. U oba slučaja, za ω > ω_{μ}, i ω ≤ ω_{μ} je |λ| = |ω − 1|. Zato, u slučaju da je G_{J} = 0, kada su joj sve svojstvene vrijednosti jednake nuli, ρ(G_{SOR,ω}) = |ω − 1| < 1 za ω ∈ ⟨0, 2⟩ , ω_{opt} = 1 odakle slijedi da je ρ(G_{SOR,ω_{opt}}) = 0 < ρ(G_{SOR,ω}) za ω ∈ ⟨0, 2⟩ \ {0}, čime je za G_{J} = 0 tvrdnja teorema dokazana. Od sada pa na dalje ćemo pretpostaviti da postoji svojstvena vrijednost μ od G_{J} različita od nule, i upravo nju ćemo promatrati.

U preostalom intervalu ⟨0, ω_{μ}], za ω ∈ ⟨0, ω_{μ}], oba korijena λ su pozitivna, a veći od njih je oblika

\frac{1}{4} [ω|μ| + \sqrt{(ω|μ|)^{2} − 4(ω − 1)}]^{2} ,  ω ∈ ⟨0, ω_{μ}].  (3.44)

Ova vrijednost je veća ili jednaka od ω − 1 za ω ∈ ⟨0, ω_{μ}], jer za taj interval, budući da je izraz pod korijenom u (3.43) veći od nule, imamo

\frac{1}{4} [ω|μ| + \sqrt{(ω|μ|)^{2} − 4(ω − 1)}]^{2} ≥ \frac{1}{4}(ω|μ|)^{2} ≥ ω − 1.

Definirajmo sada funkciju f(|μ|) = ω_{μ}, i nju derivirajmo po varijabli |μ|. Dobivamo

f′(|μ|) = \frac{6 − |μ|^{2} − 4\sqrt{1 − |μ|^{2}}}{|μ|^{3}\sqrt{1 − |μ|^{2}}} ,

te zatim pretpostavimo da je f′(|μ|) ≤ 0. To vrijedi ako i samo ako je

6 − |μ|^{2} − 4\sqrt{1 − |μ|^{2}} ≤ 0,

što je ekvivalentno sa |μ| ≥ \sqrt{5}/2 > 1, čime smo dobili kontradikciju sa pretpostavkom teorema da je ρ(G_{J}) < 1. Dakle, ω_{μ} je strogo rastuća funkcija od |μ|, i imamo

ω_{μ} ≤ \frac{2(1 − \sqrt{1 − ρ_{μ}^{2}})}{ρ_{μ}^{2}} = \frac{2}{1 + \sqrt{1 − ρ_{μ}^{2}}} = ω_{opt}.

Označimo sada sa g(|μ|), za μ ≠ 0 izraz u (3.44) za fiksni ω ∈ ⟨0, ω_{μ}], i uzmimo neku svojstvenu vrijednost ν od G_{J}, takvu da je |ν| < |μ|, te označimo sa λ_{μ} = g(|μ|) i λ_{ν} odgovarajuće svojstvene vrijednosti od G_{SOR,ω}. Imamo dvije situacije. Mi znamo da je ω_{ν} < ω_{μ}, ali ne znamo u kom se odnosu nalaze ω i ω_{ν}. U prvom slučaju, ako je ω > ω_{ν} tada vrijedi

|λ_{ν}| = ω − 1 ≤ g(|μ|) = λ_{μ},

što smo već prije pokazali. U drugom slučaju, ako je ω ≤ ω_{ν}, tada je λ_{ν} = g(|ν|), i pretpostavimo da je λ_{ν} ≥ λ_{μ}. To je ekvivalentno sa sljedećim nizom ekvivalentnih nejednakosti:

ω|ν| + \sqrt{ω^{2}|ν|^{2} − 4(ω − 1)} ≥ ω|μ| + \sqrt{ω^{2}|μ|^{2} − 4(ω − 1)} ⟹
0 < ω(|μ| − |ν|) ≤ \sqrt{ω|ν|^{2} − 4(ω − 1)} − \sqrt{ω|μ|^{2} − 4(ω − 1)} ⟹
\sqrt{ω|μ|^{2} − 4(ω − 1)} < \sqrt{ω|ν|^{2} − 4(ω − 1)} ⟹
|μ| < |ν|,

što je kontradikcija sa izborom ν. Dakle, i u tom slučaju ispada da je λ_{ν} < λ_{μ}. Možemo zaključiti da, za ω ∈ ⟨0, ω_{μ}] i za |ν| < |μ| vrijedi |λ_{ν}| ≤ |λ_{μ}|.

Odavde slijedi da svojstvena vrijednost λ od G_{SOR,ω} za koju je |λ| = ρ(G_{SOR,ω}) odgovara svojstvenoj vrijednosti μ od G_{J} za koju je |μ| = ρ_{μ}, jer je takva svojstvena vrijednost veća od onih koje odgovaraju svojstvenim vrijednostima matrice G_{J} sa manjom apsolutnom vrijednosti |μ|, ako je ω ∈ ⟨0, ω_{opt}], ili je po apsolutnoj vrijednosti jednaka svim ostalim za ω ∈ ⟨ω_{opt}, 2⟩. Prema tome, možemo zaključiti da (3.40) vrijedi za ω_{opt} danog sa (3.41).

Nadalje, ako opet definiramo funkciju h(ω) koja je jednaka (3.44) za fiksni |μ| = ρ_{μ}, tada ta funkcija poprima vrijednosti h(0) = 1 i h(ω_{opt}) = ω_{opt} − 1 < 1. Derivacija te funkcije po ω za ω ∈ ⟨0, ω_{opt}⟩ je oblika

h′(ω) = \frac{1}{2} [ωρ_{μ} + \sqrt{(ωρ_{μ})^{2} − 4(ω − 1)}] [ρ_{μ} + \frac{ρ_{μ}^{2}ω − 2}{\sqrt{(ωρ_{μ})^{2} − 4(ω − 1)}}] .

Ako pretpostavimo da je h′(ω) ≥ 0, tada je

ρ_{μ} + \frac{ρ_{μ}^{2}ω − 2}{\sqrt{(ωρ_{μ})^{2} − 4(ω − 1)}} ≥ 0,

što je opet ekvivalentno sa ρ_{μ} ≥ 1. To je kontradikcija sa pretpostavkom teorema, pa zaključujemo da je h(ω), odnosno ρ(G_{SOR,ω}) strogo padajuća funkcija od ω na ⟨0, ω_{opt}]. Prema tome vrijedi

ρ(G_{SOR,ω}) < h(0) = 1, za ω ∈ ⟨0, ω_{opt}],

i

ρ(G_{SOR,ω}) = ω − 1 < 1, za ω ∈ ⟨ω_{opt}, 2⟩,

odakle možemo zaključiti da SOR metoda konvergira za ω ∈ ⟨0, 2⟩. Dalje, vrijedi

ρ(G_{SOR,ω_{opt}}) < ρ(G_{SOR,ω}), za ω ∈ ⟨0, ω_{opt}],

i

ρ(G_{SOR,ω_{opt}}) = 1 − ω_{opt} < 1 − ω, za ω ∈ ⟨ω_{opt}, 2⟩,

čime smo pokazali i nejednakost (3.42).

Valja napomenuti da, budući da izraz za ω_{opt} sadrži spektralni radijus matrice G_{J}, on često nije poznat, i tada je bolje da se on precijeni, nego da se podcijeni. Razlog tome se vidi iz izraza za h′ i Slike 3.1, jer je h′(ω_{opt}^{−}) = ∞, pa lijevo od ω_{opt} ρ(G_{SOR,ω}) puno brže pada nego što desno od ω_{opt} raste (tu je brzina jednaka 1).

0 0.2 0.4 0.6 0.8 1  ω_{opt} 0  0.5  1  1.5  2^{ρ(G_{SOR,ω})}  ^{ω}

Slika 3.1: Spektralni radijus SOR matrice za različite vrijednosti ω ∈ ⟨0, 2⟩.

3.2.5 Blok metode

Ponekad se javlja potreba za korištenjem blok matrica prekondicioniranja, obično zbog blok strukture same matrice sustava kojeg rješavamo. Prirodni odabir za takav pristup je:

• U problemima sa više fizičkih varijabli po čvoru diskretizacijske mreže, blok se može oformiti grupiranjem jednadžbi za jedan čvor.

• Kod strukturiranih matrica, kao kod matrica dobivenih iz parcijalnih diferencijalnih jednadžbi na regularnim mrežama, gdje se particioniranje u blokove može zasnivati na fizičkoj domeni. Primjeri ovakvog slučaja su particioniranje duž linija u 2D slučaju, ili duž ravnina u 3D slučaju.

• Kod paralelnih računala prirodno je da se particioniranje varijabli podudara sa raspodjelom varijabli po procesorima.

Najčešće se koristi blok-dijagonalna matrica prekondicioniranja, što je osnova za blok verziju Jacobijeve metode. Ona se može dobiti iz particioniranja varijabli. Ako se skup indeksa S = {1, …, n} particionira kao S = ⋃_{i} S_{i}, pri čemu su skupovi S_{i} medjusobno disjunktni, tada definiramo matricu M_{BJ}, čiji su elementi definirani sa

m_{ij} = \{ \begin{matrix}a_{ij}, & ako su i i j u istom indeksnom podskupu, \\ 0, & inače. \end{matrix}

Druga mogućnost je definiranje blok-rastava matrice A = D_{B} − L_{B} − U_{B} za istu particiju varijabli, pri čemu je za D_{B} = [d_{ij}], L_{B} = [l_{ij}] i U_{B} = [u_{ij}]

d_{ij} = \{ \begin{matrix}a_{ij}, & ako su i i j u istom indeksnom podskupu, \\ 0, & inače, \end{matrix}

l_{ij} = \{ \begin{matrix}a_{ij}, & ako su i ∈ S_{p(i)} i j ∈ S_{p(j)} za koje je p(i) > p(j), \\ 0, & inače, \end{matrix}

u_{ij} = \{ \begin{matrix}a_{ij}, & ako su i ∈ S_{p(i)} i j ∈ S_{p(j)} za koje je p(i) < p(j), \\ 0, & inače. \end{matrix}

Tada blok verziju Gauss–Seidelove metode možemo definirati kao M_{BGS} = D_{B} − L_{B} i N_{BGS} = U_{B}, kod koje kad tražimo inverz od M_{BGS} umjesto inverza dijagonalnih elemenata, tražimo inverz male blok dijagonalne matrice koja se često može lagano direktno riješiti.

Us pomoć prethodnog rastava, potpuno analogno kao i kod standardnih metoda, možemo definirati blok verzije JOR i SOR metoda.

3.3 Usporedivanje prekondicioniranja

3.3.1 Perron–Frobeniusova teorija

Sada ćemo dati mali uvod u teoriju koja se bavi asimptotskom stopom konvergencije jednostavnih iteracija, kada su upotrebljene sa odredenom klasom rastava matrice, poznatim pod imenom regularni rastavi. Ta teorija se zasniva na radu Perrona i Frobeniusa na nenegativnim matricama, i dat će nam neke pomoćne rezultate za usporedbu regularnih rastava.

Definicija 3.3.1. Koristit ćemo notaciju A ≥ B (A > B) sa značenjem da svaki element realne matrice A je veći ili jednak od (strogo veći od) odgovarajućeg elementa od B. Matrica sa (i, j)-tim elementom |a_{ij}| bit će označena sa |A|. Za matricu A kažemo da je pozitivna ( nenegativna) ako je A > 0 (A ≥ 0).

Lema 3.3.2. Neka su A i B n × n matrice, i neka je v n-vektor. Tada vrijedi:

(i) |A^{k}| ≤ |A|^{k} za sve k = 1, 2, . . ..

(ii) Ako je 0 ≤ A ≤ B, tada 0 ≤ A^{k} ≤ B^{k} za sve k = 1, 2, . . ..

(iii) Ako je A > 0, tada A^{k} > 0 za sve k = 1, 2, . . ..

(iv) Ako je A > 0, v ≥ 0 i v nije nul-vektor, tada Av > 0.

(v) Ako je A ≥ 0, v ≥ 0 i Av ≥ αv za neko α > 0, tada A^{k}v ≥ α^{k}v za sve k = 1, 2, . . ..

Dokaz: (i) Dokaz se izvodi matematičkom indukcijom. Prvo, promatramo slučaj za k = 2. Imamo

|A^{2}|_{ij} = |∑_{l=1}^{n} a_{il}a_{lj}| ≤ ∑_{l=1}^{n} |a_{il}||a_{lj}| = (|A|^{2})_{ij},

za proizvoljne i, j = 1, …, n, pa možemo zaključiti da je |A^{2}| ≤ |A|^{2}. Pretpostavimo da tvrdnja (i) vrijedi za k = 2, 3, … i provjerimo da li ona vrijedi i za k + 1.

|A^{k+1}|_{ij} = |∑_{l=1}^{n}(A^{k})_{il}a_{lj}| ≤ ∑_{l=1}^{n} |A^{k}|_{il}|a_{lj}|,

za proizvoljne i, j = 1 …, n, odakle možemo zaključiti da je |A^{k+1}| ≤ |A^{k}||A|. Iz ove nejednakosti i pretpostavke indukcije, slijedi

|A^{k+1}| ≤ |A|^{k}|A| = |A|^{k+1},

pa možemo zaključiti da tvrdnja (i) vrijedi za svako k.

(ii) Za k = 2, prema pretpostavci tvrdnje, vrijedi

(A^{2})_{ij} = ∑_{l=1}^{n} a_{il}a_{lj} ≤ ∑_{l=1}^{n} b_{il}b_{lj} = (B^{2})_{ij},

za proizvoljne i, j = 1, …, n, pa prema tome je 0 ≤ A^{2} ≤ B^{2}. Pretpostavimo da tvrdnja (ii) vrijedi za k = 2, 3, …, pa imamo

(A^{k+1})_{ij} = ∑_{l=1}^{n}(A^{k})_{il}a_{lj} ≤ ∑_{l=1}^{n}(B^{k})_{il}b_{lj},

za proizvoljne i, j = 1, …, n, odakle je

0 ≤ A^{k+1} ≤ B^{k}B = B^{k+1}.

Tvrdnja (ii) vrijedi za svako k.

(iii) Za k = 2, prema pretpostavci tvrdnje, vrijedi

(A^{2})_{ij} = ∑_{l=1}^{2} a_{il}a_{lj} > 0,

za proizvoljne i, j = 1, …, n, odnosno A^{2} > 0. Pretpostavimo da tvrdnja vrijedi za k = 2, 3 …, tada je

(A^{k+1}) = ∑_{l=1}^{n}(A^{k})_{il}a_{lj} > 0,

za proizvoljne i, j = 1, …, n, odnosno A^{k+1} > 0, pa pretpostavka (iii) vrijedi za svako k.

(iv) Za i = 1, …, n imamo

(Av)_{i} = ∑_{j=1}^{n} a_{ij}v_{j}.

Kako v nije nul-vektor, tada postoji j_{0} ∈ {1, …, n} takav da je v_{j_{0}} > 0 tada je

(Av)_{i} ≥ a_{ij_{0}}v_{j_{0}} > 0.

Budući da ova nejednakost vrijedi za svaku komponentu vektora Av, tada imamo da je Av > 0.

(v) Za k = 2, prema pretpostavci tvrdnje, za i = 1, …, n vrijedi

(A^{2}v)_{i} = ∑_{r=1}^{n} a_{ir} (∑_{s=1}^{n} a_{rs}v_{s}) ≤ α ∑_{r=1}^{n} a_{ir}v_{r} ≤ α^{2}v_{i},

odakle je A^{2}v ≤ α^{2}v. Pretpostavimo da tvrdnja vrijedi za k = 2, 3, …, tada, za i = 1, …, n, i uz tvrdnju (iii) samo sa “≤”, imamo

(A^{k+1}v)_{i} = ∑_{r=1}^{n}(A^{k})_{ir} (∑_{s=1}^{n} a_{rs}v_{s}) ≤ α ∑_{r=1}^{n}(A^{k})_{ir}v_{r} ≤ α^{k+1}v_{i},

odakle je A^{k+1}v ≥ α^{k+1}v, čime smo pokazali da tvrdnja (v) vrijedi za svako k.

Slijede nekoliko rezultata koji omogućavaju usporedbu matrica.

Teorem 3.3.3 ([12]). Neka su A i B n × n matrice. Ako je |A| ≤ B, tada ρ(A) ≤ ρ(|A|) ≤ ρ(B).

Dokaz: Iz tvrdnji (i) i (ii) Leme 3.3.2 slijedi da za svako k = 1, 2, … imamo da je |A^{k}| ≤ |A|^{k} ≤ B^{k}, tako da Frobeniusove norme tih matrica zadovoljavaju

∥A^{k}∥_{F}^{1/k} ≤ ∥|A|^{k}∥_{F}^{1/k} ≤ ∥B^{k}∥_{F}^{1/k}.  (3.45)

Budući da je prema Korolaru 1.5.8 spektralni radijus matrice C jednak lim_{k→∞} ||C^{k}||^{1/k}, gdje je ∥ · ∥ bilo koja matrična norma, uzimanje limesa u (3.45) daje ρ(A) ≤ ρ(|A|) ≤ ρ(B).

Korolar 3.3.4 ([12]). Naka su A i B n × n matrice. Ako je 0 ≤ A ≤ B, tada ρ(A) ≤ ρ(B).

Korolar 3.3.5 ([12]). Neka su A i B n × n matrice. Ako je 0 ≤ A < B, tada ρ(A) < ρ(B).

Dokaz: Postoji broj

α = min_{i,j=1,...,n,a_{ij}≠0} \frac{a_{ij} + b_{ij}}{2a_{ij}} > 1,

takav da je za svake i, j = 1, …, n, kada je a_{ij} = 0, a_{ij} = αa_{ij} = 0 < b_{ij}, odnosno kada je a_{ij} ≠ 0 a_{ij} < αa_{ij} ≤ \frac{a_{ij}+b_{ij}}{2} < b_{ij}. Dakle, postoji α > 1 takav da je 0 ≤ A ≤ αA < B. Iz Korolara 3.3.4 slijedi da je ρ(B) ≥ αρ(A), tako da ako je ρ(A) ≠ 0, tada ρ(B) > ρ(A). Ako je ρ(A) = 0, definirajmo matricu C koja na (1, 1) poziciji ima element jednak b_{1,1} > 0, a svi ostali elementi su jednaki nuli. Spektralni radijus te matrice je b_{11}, pa imamo C = |C| ≤ B, pa je ponovo prema Korolaru 3.3.4 ρ(B) ≥ b_{11} > 0 = ρ(A).

Peron je došao do važnih rezultata za pozitivne matrice, od kojih ćemo iznijeti neke od njih.

Teorem 3.3.6 ([12]). Neka je A n × n matrica i pretpostavimo da je A > 0. Tada je ρ(A) > 0, ρ(A) je svojstvena vrijednost od A, i postoji pozitivan vektor v > 0 takav da je Av = ρ(A)v.

Dokaz: Iz Korolara 3.3.5 slijedi da je ρ(A) > 0. Prema definiciji spektralnog radijusa, postoji svojstvena vrijednost λ od A, sa svojstvom |λ| = ρ(A). Neka je v odgovarajući svojstveni vektor, različit od nule. Imamo

ρ(A)|v| = |λ| · |v| = |λv| = |Av| ≤ |A| · |v| = A|v|,

tada je y = A|v| − ρ(A)|v| ≥ 0. Ako je y nul-vektor, tada iz toga slijedi da je ρ(A) svojstvena vrijednost od A sa nenegativnim svojstvenim vektorom |v|. Kada bi |v| imao komponentu jednaku nuli, tada bi ta ista komponenta od A|v| morala biti jednaka nuli, a budući da su svi elementi od A pozitivni, slijedi prema tvrdnji (iv) Leme 3.3.2, da je v nul-vektor, što je kontradikcija. Zbog toga, ako je y = 0 tvrdnja teorema je dokazana. Preostalo je još pokazati da je y uvijek jednak nuli.

Ako y nije nul-vektor, tada je ponovo prema tvrdnji (iv) Leme 3.3.2 Ay > 0. Označimo sa z = A|v| > 0, pa imamo 0 < Ay = Az − ρ(A)z ili Az > ρ(A)z. Slično kao kod dokaza Korolara 3.3.5, slijedi da postoji broj α > ρ(A) takav da je Az ≥ αz. Iz tvrdnje (v) Leme 3.3.2 slijedi da za svako k ≥ 1, A^{k}z ≥ α^{k}z. Odavde zaključujemo da je ∥A^{k}∥_{2}^{1/k} ≥ α > ρ(A) za sve k. Budući da je lim_{k→∞} ∥A^{k}∥_{2}^{1/k} = ρ(A), dobivamo kontradiktornu nejednakost ρ(A) ≥ α > ρ(A).

Vektor v iz ovog teorema se često naziva Perronovim vektorom, a ρ(A) Perronovim korijenom od A.

U mnogim primjerima pojavljuju se nenegativne matrice, koje ne moraju nužno biti pozitivne, pa je poželjno proširiti tvrdnju prethodnog teorema i na ovakve matrice.

Teorem 3.3.7 ([12]). Ako je A n × n matrica, i A ≥ 0, tada je ρ(A) svojstvena vrijednost od A, i postoji nenegativan vektor v ≥ 0, sa ∥v∥_{2} = 1, takav da je Av = ρ(A)v.

Dokaz: Za bilo koji ϵ > 0, definirajmo A(ϵ) = [a_{ij} + ϵ] > 0. Neka je v(ϵ) > 0 sa ∥v(ϵ)∥_{2} = 1 Perronov vektor od A(ϵ), a ρ(ϵ) Perronov korijen. Budući da je skup vektora v(ϵ) sadržan u kompaktnom skupu {w : ∥w∥_{2} = 1}, postoji monotono padajući niz ϵ_{1} > ϵ_{2} > … sa lim_{k→∞} = 0, takav da postoji lim_{k→∞} v(ϵ_{k}) = v i da zadovoljava ∥v∥_{2} = 1 ( To znamo, budući da ako definiramo niz ϵ̃_{k} = 1/k, koji teži ka nuli, i za koji niz v(ϵ̃_{k}) leži u kompaktnom skupu, tada postoji podniz {ϵ_{k}} od ϵ̃_{k}, koji teži k nuli i za koje je v(ϵ_{k}) konvergentan, jer niz u kompaktnom skupu ima konvergentan podniz.) Budući da je v(ϵ_{k}) > 0, slijedi da je v ≥ 0.

Prema Teoremu 3.3.3 niz brojeva {ρ(ϵ_{k})}_{k=1,2,...} je monotono padajući niz, ograničen odozdo s nulom. Prema tome, postoji ρ = lim_{k→∞} ρ(ϵ_{k}), i kako je ponovo prema istom teoremu ρ(ϵ_{k}) ≥ ρ(A), vrijedi da je i ρ ≥ ρ(A). Ali iz činjenice da je

Av = lim_{k→∞}[A(ϵ_{k})v(ϵ_{k})] = lim_{k→∞}[ρ(ϵ_{k})v(ϵ_{k})] = ρv

i činjenice da v nije nul-vektor (inače ne bi imao normu jednaku 1), slijedi da je ρ svojstvena vrijednost od A, i ρ ≤ ρ(A). Dakle, mora biti ρ = ρ(A).

3.3.2 Usporedivanje regularnih rastava

Prethodno iznjetu Perron–Frobeniusovu teoriju iskoristiti ćemo sada za usporedivanje regularnih rastava kada je matrica sustava A “inverzno-pozitivna”. Glavne rezultate ovog odjeljka dao je Varga u [37].

Definicija 3.3.8. Za n × n realne matrice A, M i N, rastav A = M − N je regularni rastav ako je M regularna sa M^{−1} ≥ 0 i M ≥ A (N ≥ 0).

Teorem 3.3.9 ([12]). Neka je A = M − N regularni rastav matrice A, za koju je A^{−1} ≥ 0. Tada

ρ(M^{−1}N) = \frac{ρ(A^{−1}N)}{1 + ρ(A^{−1}N)} < 1.

Dokaz: Budući da je M^{−1}A = I − M^{−1}N regularna matrica, slijedi da M^{−1}N ne može imati svojstvenu vrijednost jednaku 1, jer bi u suprotnom, za svojstveni vektor y ≠ 0 pridružen jedinici, bilo 0 = y −M^{−1}Ny = (I −M^{−1}N)y = M^{−1}Ay, što je kontradikcija. Kako je M^{−1}N ≥ 0, prema Teoremu 3.3.7 ρ(M^{−1}N) je svojstvena vrijednost, pa zbog prethodne primjedbe, niti spektralni radijus od ρ(M^{−1}N) ne može biti jednak 1. Iz istog teorema slijedi da postoji vektor v ≥ 0, takav da je M^{−1}Nv = ρ(M^{−1}N)v. Nadalje, vrijedi

A^{−1}N = (I − M^{−1}N)^{−1}M^{−1}N,

tako da je

A^{−1}Nv = \frac{ρ(M^{−1}N)}{1 − ρ(M^{−1}N)}v.  (3.46)

Da je ρ(M^{−1}N) > 1, tada bi slijedilo da A^{−1}Nv ima negativne komponente, što je nemoguće prema Lemi 3.3.2, jer je A^{−1} ≥ 0, N ≥ 0 i v ≥ 0. Time smo dokazali da je ρ(M^{−1}N) < 1. Iz (3.46) slijedi da je ρ(M^{−1}N)/(1 − ρ(M^{−1}N)) svojstvena vrijednost od A^{−1}N, pa prema tome imamo

ρ(A^{−1}N) ≥ \frac{ρ(M^{−1}N)}{1 − ρ(M^{−1}N)},

ili, ekvivalentno, budući da je 1 − ρ(M^{−1}N) > 0,

ρ(M^{−1}N) ≤ \frac{ρ(A^{−1}N)}{1 + ρ(A^{−1}N)}.  (3.47)

Sada imamo da je A^{−1}N ≥ 0, pa ponovo prema Teoremu 3.3.7 slijedi da postoji vektor w ≥ 0, takav da je A^{−1}Nw = ρ(A^{−1}N)w. Uz pomoć relacije

M^{−1}N = (A + N)^{−1}N = (I + A^{−1}N)^{−1}A^{−1}N,

imamo

M^{−1}Nw = \frac{ρ(A^{−1}N)}{1 + ρ(A^{−1}N)}w,

pa je ρ(A^{−1}N)/(1 + ρ(A^{−1}N)) svojstvena vrijednost od M^{−1}N. Prema tome slijedi da je

ρ(M^{−1}N) ≥ \frac{ρ(A^{−1}N)}{1 + ρ(A^{−1}N)},

što zajedno sa (3.47) rezultira tvrdnjom teorema.

Prema ovom teoremu, svaka metoda jednostavnih iteracija koja je dobivena iz regularnog rastava A = M − N, sa G = M^{−1}N konvergira za svaku početnu iteraciju.

Korolar 3.3.10 ([12]). Neka su A = M_{1} − N_{1} = M_{2} − N_{2} dva regularna rastava od A, pri čemu je A^{−1} ≥ 0. Ako je N_{1} ≤ N_{2}, tada

ρ(M_{1}^{−1}N_{1}) ≤ ρ(M_{2}^{−1}N_{2}).

Dokaz: Definirajmo funkciju f(x) = x/(1 + x), tada je ρ(M_{i}^{−1}N_{i}) = f(ρ(A^{−1}N_{i})), za i = 1, 2. Ako funkciju f deriviramo, tada vidimo da je f′(x) = 1/(1 + x)^{2} > 0 za x ≠ 0, odnosno da je funkcija f strogo rastuća. Kako je 0 ≤ N_{1} ≤ N_{2} i A^{−1} ≥ 0, onda slijedi da je 0 ≤ A^{−1}N_{1} ≤ A^{−1}N_{2}, pa je, prema Korolaru 3.3.4 ρ(A^{−1}N_{1}) ≤ ρ(A^{−1}N_{2}). Zbog strogo rastuće momotonosti funkcije f, slijedi da je onda i ρ(M_{1}^{−1}N_{1}) ≤ ρ(M_{2}^{−1}N_{2}), čime smo pokazali tvrdnju korolara.

Dosta često nije lako odrediti da li je inverz matrice sustava A nenegativan ili pozitivan, a što se zahtijeva kao uvjet u Korolaru 3.3.10. Zato ćemo iznijeti nekoliko ekvivalentnih uvjeta, koji garantiraju nenegativnost inverza matrice.

Definicija 3.3.11. Za n × n matricu A kažemo da je M-matrica ako

(i) a_{ii} > 0, i = 1, …, n,

(ii) a_{ij} ≤ 0, i, j = 1, …, n, j ≠ i, i

(iii) A je regularna i A^{−1} ≥ 0.

Mnoge matrice, dobivene iz parcijalnih diferencijalnih jednadžbi, kao na primjer iz transportne jednadžbe, jesu M-matrice, pa zato ova definicija ima smisla. U sljedećem teoremu iznijet ćemo ostale ekvivalentne tvrdnje, prema kojima možemo prepoznati Mmatricu, pa prema tome i garantirati da takve matrice imaju nenegativan inverz. Njegov dokaz nalazi se u [23, str. 114–116].

Teorem 3.3.12 ([23]). Neka je A realna n × n matrica sa nepozitivnim vandijagonalnim elementima. Sljedeće tvrdnje su ekvivalentne:

(i) A je M-matrica.

(ii) A je regularna i A^{−1} ≥ 0. (Primijetimo da je uvjet (i) u Definiciji 3.3.11 suvišan.)

(iii) Sve svojstvene vrijednosti od A imaju pozitivan realni dio.

(iv) Svaka realna svojstvena vrijednost od A je pozitivna.

(v) Sve glavne minore od A su M-matrice.

(vi) A se može faktorizirati u oblik A = LU, gdje je L donje trokutasta, U gornje trokutasta, a svi dijagonalni elementi obaju matrica su pozitivni.

(vii) Dijagonalni elementi od A su pozitivni, i AD je strogo dijagonalno dominanatna za proizvoljnu pozitivnu, dijagonalnu matricu D.

Za realan simetričan slučaj imamo sljedeći rezultat.

Definicija 3.3.13. Realna matrica A je Stieltjesova matrica ako je A simetrična, pozitivno definitna i svi vandijagonalni elementi od A su nepozitivni.

Teorem 3.3.14 ([12]). Svaka Stieltjesova matrica je M-matrica.

Dokaz. Neka je A Stieltjesova matrica. Dijagonalni elementi od A su pozitivni jer je A pozitivno definitna, zato još trebamo samo provjeriti da je A^{−1} ≥ 0. Rastavimo matricu A na A = D − C, pri čemu je D = diag(A) sa pozitivnim elementima na dijagonali, a C je nenegativna. Budući da je A pozitivno definitna, ona je i regularna, i A^{−1} = [D(I − B)]^{−1} = (I − B)^{−1}D^{−1}, gdje je B = D^{−1}C. Ako je ρ(B) < 1, tada je inverz od I − B dan Neumanovim redom

(I − B)^{−1} = I + B + B^{2} + ⋯,

i budući da je B ≥ 0, tada bi slijedilo da je (I − B)^{−1} ≥ 0, pa zbog toga i A^{−1} ≥ 0. Zbog toga, jedina stvar koju još moramo pokazati je da ρ(B) < 1.

Pretpostavimo da je ρ(B) ≥ 1. Kako je B ≥ 0, prema Teoremu 3.3.7 slijedi da je ρ(B) svojstvena vrijednost od B. Ali tada D^{−1}A = I − B mora imati nepozitivnu svojstvenu vrijednost 1 − ρ(B). Ta matrica je slična simetričnoj pozitivno definitnoj matrici D^{−1/2}AD^{−1/2}, pa smo dobili kontradikciju. Zbog toga mora biti ρ(B) < 1.

Matrica dobivena iz difuzijske jednadžbe je Stieltjesova matrica, pa prema tome i Mmatrica.

Na temelju prethodno danih rezultata, sada možemo dati nekoliko zaključaka u vezi stopa konvergencije klasičnih iterativnih metoda, baziranih na prekondicioniranim jednostavnim iteracijama.

Korolar 3.3.15. Ako je matrica sustava A M-matrica, tada stopa konvergencije Gauss-Seidelove metode je najmanje tako dobra kao stopa Jacobijeve metode.

Dokaz. Prema definicijama metoda, za rastav A = D−L−U pri čemu je D dijagonalna, L strogo donje trokutasta i U strogo gornje trokutasta matrica, za Jacobijevu metodu imamo

M_{J} = D, N_{J} = L + U ≥ 0,

gdje je M_{J}^{−1} = D^{−1} > 0 jer je D > 0, i za Gauss–Seidelovu metodu

M_{GS} = D − L, N_{GS} = U ≥ 0,

gdje je M_{GS} donje trokutasta matrica, sa nepozitivnim vandijagonalnim elementima i pozitivnim dijagonalnim elementima, što znači sa pozitivnim realnim svojstvenim vrijednostima. Prema tvrdnji (iv) Teorema 3.3.12 ona je M-matrica pa stoga je i njen inverz nenegativan odnosno M_{GS}^{−1} ≥ 0. Kako je A = M_{J} − N_{J} = M_{GS} − N_{GS}, obje metode definiraju regularne rastave. Prema pretpostavci korolara je A^{−1} ≥ 0 i očito je N_{GS} ≤ N_{J}, pa iz Korolara 3.3.10 slijedi da je

ρ(M_{GS}^{−1}N_{GS}) ≤ ρ(M_{J}^{−1}N_{J}).

Ovdje možemo primijetiti i činjenicu da je M_{GS} bliži matrici A od M_{J}, odnosno Gauss– Seidelova matrica prekondicioniranja je u ovom smislu bolja od Jacobijeve.

Ako sada promatramo samo dijagonalne matrice prekondicioniranja M, čiji su elementi veći ili jednaki onima na dijagonali matrice A, zbog tvrdnje Korolara 3.3.10 možemo zaključiti da je Jacobijev rastav M = diag(A) najbolji. Slično, ako razmatramo regularne rastave, u kojima se zahtijeva da matrica M ima odredeni raspored nula (na primjer, vrpčaste matrice), tada isti korolar nudi najbolji izbor za M. Sa stanovišta stope konvergencije jednostavnih iteracija najbolje je elemente matrice M, različite od nule uzeti takve, da budu jednaki onima iz A, na istoj poziciji.

Korolar 3.3.10 potvrduje našu intuitivnu spoznaju, a to je da u specijalnom slučaju regularnih rastava inverzno-nenegativnih ili inverzno-pozitivnih matrica, što je matrica prekondicioniranja M bliža matrici sustava A, po komponentama, to je stopa konvergencije prekondicioniranih jednostavnih iteracija bolja.

3.3.3 Regularni rastavi i CG metoda

Za hermitske pozitivno definitne sustave, A norma greške kod CG metode, i euklidska norma reziduala kod MINRES metode, mogu se ograditi izrazom koji sadrži korijen broja uvjetovanosti matrice sustava A. Kod prekondicioniranih sustava, radi se o L^{−1}AL^{−∗}- normi greške za CG metodu, pri čemu je M = LL^{∗}, i o M^{−1} normi reziduala za MINRES metodu. Prema tome, kod mjerenja uspješnosti prekondicioniranja, umjesto spektralnog radijusa matrice I − M^{−1}A, kao kod jednostavnih iteracija, nas će sada zanimati broj uvjetovanosti od L^{−1}AL^{−∗}, odnosno kvocijent najveće i najmanje svojstvene vrijednosti od M^{−1}A. Što je broj uvjetovanosti manji, brzina konvergencije je veća.

Teorem 3.3.16 ([12]). Neka su A, M_{1}, i M_{2} simetrične, pozitivno definitne, realne matrice, takve da zadovoljavaju uvjete Korolara 3.3.10, i pretpostavimo da je najveća svojstvena vrijednost od M_{2}^{−1}A veća ili jednaka od 1. Tada kvocijenti najveće i najmanje svojstvene vrijednosti od M_{1}^{−1}A i M_{2}^{−1}A zadovoljavaju

\frac{λ_{max}(M_{1}^{−1}A)}{λ_{min}(M_{1}^{−1}A)} < 2\frac{λ_{max}(M_{2}^{−1}A)}{λ_{min}(M_{2}^{−1}A)}.  (3.48)

Dokaz: Budući da su elementi od M_{2}^{−1}N_{2} nenegativni, iz Teorema 3.3.7 slijedi da je spektralni radijus od M_{2}^{−1}N_{2} jednak najvećoj svojstvenoj vrijednosti:

ρ(M_{2}^{−1}N_{2}) = ρ(I − M_{2}^{−1}A) = 1 − λ_{min}(M_{2}^{−1}A).  (3.49)

Isto vrijedi i za M_{1}. Iz rezultata Korolara 3.3.10 ρ(M_{1}^{−1}N_{1}) ≤ ρ(M_{2}^{−1}N_{2}) slijedi sljedeći niz nejednakosti. Kako je 1 − λ_{max}(M_{1}A) u spektru od M_{1}^{−1}N_{1}, vrijedi

λ_{max}(M_{1}^{−1}A) − 1 ≤ |1 − λ_{max}(M_{1}^{−1}A)| ≤ ρ(M_{1}^{−1}N_{1}) = 1 − λ_{min}(M_{1}^{−1}A),

pa zato imamo

1 − λ_{min}(M_{1}^{−1}A) ≤ 1 − λ_{min}(M_{2}^{−1}A) i λ_{max}(M_{1}^{−1}A) − 1 ≤ 1 − λ_{min}(M_{2}^{−1}A),

ili ekvivalentno,

λ_{min}(M_{1}^{−1}A) ≥ λ_{min}(M_{2}^{−1}A) i λ_{max}(M_{1}^{−1}A) ≤ 2 − λ_{min}(M_{2}^{−1}A).

Kako je L^{−1}AL^{−∗} pozitivno definitna i slična M^{−1}A, onda su sve svojstvene vrijednosti od M_{1}^{−1}A i M_{2}^{−1}A pozitivne. Zato, dijeljenjem druge nejednakosti s prvom dobivamo

\frac{λ_{max}(M_{1}^{−1}A)}{λ_{min}(M_{1}^{−1}A)} ≤ \frac{λ_{max}(M_{2}^{−1}A)}{λ_{min}(M_{2}^{−1}A)} (\frac{2 − λ_{min}(M_{2}^{−1}A)}{λ_{max}(M_{2}^{−1}A)}) .

Kako je, prema pretpostavci, λ_{max}(M_{2}^{−1}A) ≥ 1, i kako je λ_{min}(M_{2}^{−1}A) > 0, drugi faktor desne strane nejednakosti je manji od 2, čime je teorem dokazan.

Teorem 3.3.17 ([12]). Pretpostavka u Teoremu 3.3.16, da je najveća svojstvena vrijednosto od M_{2}^{−1}A veća ili jednaka od jedan, je zadovoljena ako i samo ako A i M_{2} imaju najmanje jedan zajednički dijagonalni element.

Dokaz: Ako A i M_{2} imaju zajednički dijagonalni element, onda simetrična matrica N_{2} mora imati nulu na dijagonali. Iz toga dalje slijedi da M_{2}^{−1}N_{2} ima nepozitivnu svojstvenu vrijednost, jer prema Teoremu 1.6.6 najmanja svojstvena vrijednost te matrice zadovoljava

λ_{min}(M_{2}^{−1}N_{2}) = min_{v≠0} \frac{v^{∗}N_{2}v}{v^{∗}M_{2}v} ≤ \frac{ξ_{j}^{∗}N_{2}ξ_{j}}{ξ_{j}M_{2}ξ_{j}} = \frac{(N_{2})_{jj}}{(M_{2})_{jj}} = 0,

pri čemu je ξ_{j} vektor sa 1 na j-toj poziciji, koja je jednaka poziciji nule na dijagonali matrice N_{2}, i sa nulama na ostalim pozicijama. Zbog toga, M_{2}^{−1}A = I − M_{2}^{−1}N^{−1} ima svojstvenu vrijednost veću ili jednaku od 1.

Teoremi 3.3.16 i 3.3.17 pokazuju da, kad je par regularnih rastava pravilno skaliran, što znači da je M_{2} bio pomnožen s konstantom, ako je bilo potrebno, tako da A i M_{2} imaju najmanje jedan zajednički dijagonalni element, tada onaj rastav koji je bio bliži matrici A po komponentama daje manji broj uvjetovanosti za prekondicioniranu matricu sustava, do na faktor 2. To znači da će Čebiševljeve ograde greške za svaki korak CG i MINRES metode biti manje, ili u gorem slučaju malo veće, za bližu matricu prekondicioniranja.

3.3.4 Optimalno dijagonalno i blok-dijagonalno prekondicioniranje

Uz regularne rastave, skoro jedina preostala klasa prekondicioniranja, za koje se može odrediti optimalna ili skoro optimalna matrica prekondicioniranja, je klasa dijagonalnih i blok-dijagonalnih prekondicioniranja. Ako se “optimalnost” definira kao posjedovanje malog broja uvjetovanosti simetrično prekondicionirane matrice, tada je (blok) dijagonala hermitske pozitivno definitne matrice A blizu najbolje (blok) dijagonalne matrice prekondicioniranja.

Definirat ćemo još jedno svojstvo matrice, slično svojstvu A.

Definicija 3.3.18. Matrica A je blok 2-ciklička ako se ona može ispermutirati u oblik

A = [ \begin{matrix}D_{1} & B \\ C & D_{2} \end{matrix} ] ,

gdje su D_{1} i D_{2} blok-dijagonalne matrice

D_{i} = [ \begin{matrix}D_{i,1} \\ & . & . & . \\ & & & & D_{i,m_{i}} \end{matrix} ] , i = 1, 2, D_{i,j} ∈ ℂ^{n_{i,j}×n_{i,j}}.

Sljedeći rezultat o optimalnosti blok-dijagonalne matrice prekondicioniranaj dao je Elsner.

Teorem 3.3.19 (Elsner [12]). Ako hermitska pozitivno definitna matrica A ima oblik

A = [ \begin{matrix}I_{n_{1}} & B \\ B^{∗} & I_{n_{2}} \end{matrix} ] ,  (3.50)

tada je κ(A) ≤ κ(D^{∗}AD) za bilo koju regularnu matricu D oblika

[ \begin{matrix}D_{1} & 0 \\ 0 & D_{2} \end{matrix} ] .  D_{1} ∈ ℂ^{n_{1}×n_{1}}, D_{2} ∈ ℂ^{n_{2}×n_{2}}.  (3.51)

Dokaz: Ako je λ svojstvena vrijednost od A, sa svojstvenim vektorom [v, w]^{T}, čiji je prvi blok označen sa v, a drugi sa w, tada iz (3.50) slijedi

[ \begin{matrix}I & B \\ B^{∗} & I \end{matrix} ] [ \begin{matrix}v \\ w \end{matrix} ] = λ [ \begin{matrix}v \\ w \end{matrix} ] ,

odnosno,

Bw = (λ − 1)v, B^{∗}v = (λ − 1)w.

Odavde možemo zaključiti da je i [v, −w]^{T} svojstveni vektor od A, sa svojstvenom vrijednosti 2 − λ, jer je

A [ \begin{matrix}v \\ −w \end{matrix} ] = [ \begin{matrix}v − Bw \\ B^{∗}v − w \end{matrix} ] = (2 − λ) [ \begin{matrix}v \\ −w \end{matrix} ] .

Iz pozitivne definitnosti matrice A slijedi, ako je λ_{max} najveća svojstvena vrijednost od A, tada je λ_{min} = 2 − λ_{max} najmanja, a κ(A) = λ_{max}/(2 − λ_{max}).

Neka je

S = [ \begin{matrix}I_{n_{1}} & 0 \\ 0 & −I_{n_{2}} \end{matrix} ] ,

tako da je S[v, w]^{T} = [v, −w]^{T}. Ako je Az = λ_{max}z, tada je SAz = λ_{max}Sz i

A^{−1}SAz = \frac{λ_{max}}{2 − λ_{max}} Sz, SA^{−1}SAz = \frac{λ_{max}}{2 − λ_{max}} z.

Prema tome, imamo

ρ(SA^{−1}SA) ≥ \frac{λ_{max}}{2 − λ_{max}} = κ(A),

i za bilo koju regularnu matricu D, zbog toga što sličnost matrica čuva spektar, vrijedi

κ(A) ≤ ρ(SA^{−1}SA) = ρ(D^{−1}SA^{−1}SAD) ≤ ∥D^{−1}SA^{−1}SAD∥_{2}.  (3.52)

Sada, ako je D oblika (3.51), tada S i D komutiraju. Takoder ∥S∥_{2} = 1, pa imamo

∥D^{−1}SA^{−1}SAD∥_{2} = ∥S(D^{−1}A^{−1}D^{−∗})S(D^{∗}AD)∥_{2} ≤
≤ ∥D^{−1}A^{−1}D^{−∗}∥_{2} · ∥D^{∗}AD∥_{2} = κ(D^{∗}AD).  (3.53)

Kombiniranjem (3.52) i (3.53) dobivamo traženi rezultat.

Dakle, prema ovom teoremu, optimalna matrica prekondicioniranja oblika (3.51), u smislu najmanjeg broja uvjetovanosti, je matrica kojoj su dijagonalni blokovi jednaki odgovarajućim blokovima matrice A.

Pretpostavimo da A nije oblika (3.50), ali da se može ispermutirati u taj oblik. Neka je A = P^{T} ÃP, gdje je P matrica permutacije, i Ã je oblika (3.50). Tada za bilo koju blok-dijagonalnu matricu D oblika (3.51), vrijedi

κ(D^{∗}AD) = κ(P D^{∗}P^{T} ÃP DP^{T}).

Ako je permutacija takva da je P DP^{T} ponovo blok-dijagonalna matrica oblika (3.51), tada je A, kao i Ã, optimalno skalirana matrica medu takvim blok-dijagonalnim matricama. Naime, kad bi κ(D^{∗}AD) bio manji od κ(A) za neku matricu D oblika (3.51), tada bi κ(D̃^{∗}ÃD̃) bio manji od κ(Ã), za D̃ = P DP^{T}, što je kontradikcija. Naročito, ako matrica A zadovoljava svojstvo A, tada je optimalna dijagonalna matrica prekondicioniranja jednaka M = diag(A), sa D = M^{1/2}, jer budući da je D dijagonalna, onda je i P DP^{T} dijagonalna za bilo koju matricu permutacije. Ako je A zapisana u blok obliku, gdje se blokovi mogu ispermutirati u 2-blok ciklički oblik, ali bez permutiranja elemenata iz jednog bloka u drugi, tada je optimalna blok-dijagonalna matrica prekondicioniranja jednaka M = blok diag(A), jer će tada P DP^{T} ostati blok dijagonalna matrica.

Dakle, iz Teorema 3.3.19 slijedi da u odredenim slučajevima, kada je matrica sustava hermitska i pozitivno definitna, blok dijagonala matrice, s dva bloka, je najbolja blok-dijagonalna matrica prekondicioniranja, u smislu minimiziranja broja uvjetovanosti prekondicionirane matrice. Za proizvoljne hermitske pozitivno definitne matrice imamo još i sljedeće rezultate: od van der Sluisa, koji se odnosi na dijagonalne, i od Demmela, koji se odnosi na blok-dijagonalne matrice prekondicioniranja.

Teorem 3.3.20 (van der Sluis [12]). Ako hermitska pozitivno definitna matrica A ima sve dijagonalne elemente jednake 1, tada

κ(A) ≤ m · min_{D∈D} κ(DAD),  (3.54)

gdje je D = {pozitivno definitne dijagonalne matrice}, a m je maksimalan broj elemenata, različitih od nula, u bilo kojem retku od A.

Dokaz: Izračunajmo faktorizaciju Choleskog matrice A, tako da je A = U^{∗}U, pri čemu je U gornje trokutasta matrica. Budući da A ima sve dijagonalne elemente jednake 1, svaki stupac od U ima normu 1. Takoder, svaki vandijagonalni element od A ima apsolutnu vrijednost manju ili jednaku od 1, budući da je

|a_{ij}| = |u_{i}^{∗}u_{j}| ≤ ∥u_{i}∥_{2} · ∥u_{j}∥_{2} = 1,

gdje su u_{i} i u_{j} i-ti i j-ti stupac od U. Nadalje, iz Gerschgorinovog teorema slijedi da najveća svojstvena vrijednost λ_{max}(A) od A mora biti u nekom od Gercshgorinovih krugova, odnosno da postoji indeks i takav da je

λ_{max}(A) − 1 ≤ |λ_{max}(A) − 1| ≤ ∑_{j≠i} |a_{ij}|.

Odavde imamo

∥A∥_{2} = λ_{max}(A) ≤ max_{i} ∑_{j=1}^{n} |a_{ij}| ≤ m.

Za bilo koju regularnu matricu D možemo napisati

κ(D^{∗}AD) = ∥D^{∗}AD∥_{2} · ∥D^{−1}A^{−1}D^{−∗}∥_{2}
= ∥D^{∗}U^{∗}UD∥_{2} · ∥D^{−1}U^{−1}U^{−∗}D^{−∗}∥_{2} =
= ∥UD∥_{2}^{2} · ∥D^{−1}U^{−1}∥_{2}^{2}.

Sada je ∥D^{−1}U^{−1}∥_{2}^{2} ≥ ∥U^{−1}∥_{2}^{2}/∥D∥_{2}^{2} = ∥A^{−1}∥_{2}/∥D∥_{2}^{2}, tako da imamo

κ(D^{∗}AD) ≥ ∥UD∥_{2}^{2} \frac{∥A^{−1}∥_{2}}{∥D∥_{2}^{2}} = κ(A) · \frac{∥UD∥_{2}^{2}}{∥A∥_{2} · ∥D∥_{2}^{2}} ≥ \frac{κ(A)}{m} (\frac{∥UD∥_{2}}{∥D∥_{2}} )^{2} .  (3.55)

Sada pretpostavimo da je D pozitivno definitna dijagonalna matrica, sa najvećim dijagonalnim elementom jednakim d_{jj}. Neka je ξ_{j} j-ti jediniči vektor. Tada je

∥UD∥_{2} = max_{∥v∥_{2}=1} ∥UDv∥_{2} ≥ ∥UDξ_{j}∥_{2} = ∥d_{jj}u_{j}∥_{2} = d_{jj} = ∥D∥_{2}.  (3.56)

Kombiniranjem (3.55) i (3.56) dobivamo traženi rezultat.

Teorem 3.3.21 (Demmel [6]). Ako hermitska pozitivno definitna matrica A ima sve dijagonalne blokove jednake identiteti, odnosno, ako je oblika

A = [ \begin{matrix}I_{n_{1}} & A_{12} & … & A_{1m} \\ A_{12}^{∗} & I_{n_{2}} & … & A_{2m} \\ ⋮ & ⋮ & ... & ⋮ \\ A_{1m}^{∗} & A_{2m}^{∗} & … & I_{n_{m}} \end{matrix} ] ,

tada

κ(A) ≤ m · min_{D∈D_{B}} κ(D^{∗}AD),

gdje je D_{B} = {regularne blok − dijagonalne matrice, sa blokovima reda n_{1}, …, n_{m}}, a m je broj dijagonalnih blokova u A.

Dokaz: Dokaz je vrlo sličan dokazu prethodnog teorema. Ponovo faktoriziramo matricu na A = U^{∗}U, i matricu U particioniramo na

U = [U_{1}, U_{2}, …, U_{m}],

pri čemu su matrice U_{i} dimenzije n × n_{i}, za i = 1, …, m. Tada vrijedi

U_{i}^{∗}U_{i} = A_{ii} = I_{n_{1}}, i = 1, …, m,

pa je svaki od blokova U_{i} ortonormalan. Nadalje je,

∥A_{ij}∥_{2} = ∥U_{i}^{∗}U_{j}∥_{2} ≤ ∥U_{i}∥_{2}∥U_{j}∥_{2} = 1,

za i ≠ j. Prema blok verziji Gerschgorinovog teorema, vrijedi da za najveću svojstvenu vrijednost λ_{max}(A) = ∥A∥_{2} postoji indeks i, takav da je

∥(λ_{max}(A)I − A_{ii})^{−1}∥_{2}^{−1} ≤ ∑_{j≠i} ∥A_{ij}∥_{2}.

Kako je A_{ii} = I imamo

∥(λ_{max}(A)I − A_{ii})^{−1}∥_{2}^{−1} = [|λ_{max}(A) − 1|^{−1}∥I∥_{2}]^{−1} = |λ_{max}(A) − 1|,

pa na kraju dobivamo

∥A∥_{2} ≤ ∑_{j=1}^{m} ∥A_{ij}∥_{2} ≤ m.

Kao i u prethodnom teoremu, za svaku regularnu matricu D vrijedi

κ(D^{∗}AD) ≥ \frac{κ(A)}{m} (\frac{∥UD∥_{2}}{∥D∥_{2}} )^{2} .  (3.57)

Sada pretpostavimo da je D regularna blok-dijagonalna matrica. Tada su singularne vrijednosti svakog od dijagonalnih blokova ujedno i singularne vrijednosti cijele matrice D. Uzmimo da je σ_{max}(D) singularna vrijednost i-tog dijagonalnog bloka D_{i}, takva da je σ_{max}(D) = ∥D∥_{2}. Tada postoje singularni vektori u i v, zapisani u blok obliku

u = [0 … u_{i} 0 … 0]^{T} , v = [0 … 0 v_{i} 0 … 0]^{T} ,

kod kojih je i-ti blok dimenzije n_{i} netrivijalan, i kojima je norma jednaka 1, takvi da je Dv = σ_{max}(D)u. Tada je

∥UD∥_{2} = max_{∥w∥_{2}=1} ∥UDw∥_{2} ≥ ∥UDv∥_{2} =
= σ_{max}(D)∥Uu∥_{2} = ∥D∥_{2}∥U_{i}u_{i}∥_{2} = ∥D∥_{2}.  (3.58)

(3.57) zajedno sa (3.58) daje traženi rezultat.

Tvrdnje ovih teorema mogu se na drugačiji način iskazati kao: za proizvoljnu hermitsku pozitivno definitnu matricu njena (blok) dijagonala je skoro optimalna (blok) dijagonalna matrica prekondicioniranja.

Na osnovi ovih rezultata, razumno je reći da bi se kod pozitivno definitnih matrica skoro uvijek trebalo koristiti barem dijagonalno prekondicioniranje zajedno sa primjenom CG ili MINRES metoda. Ponekad matrice koje dolaze u praksi iz konkretnih problema imaju dijagonalne elemente koji jako variraju u redu veličine. Tada i svojstvene vrijednosti takoder variraju po veličini, pa je uvjetovanost velika. Jednostavnim skaliranjem, što u biti i je dijagonalno prekondicioniranje, možemo prilično reducirati uvjetovanost matrice, uz minimalan trošak.

3.4 Nekompletne faktorizacije

Kao što smo vidjeli u prethodnom odjeljku, SSOR ili SGS matrice prekondicioniranja su oblika M = L_{M}U_{M} gdje L_{M} i U_{m} imaju isti raspored nula kao donje trokutasti L i gornje trokutasti U dijelovi matrice sustava A. Ako izračunamo matricu greške A − L_{M}U_{M}, tada bi, na primjer za SGS, imali

A − L_{M}U_{M} = D − L − U − (I − LD^{−1})(D − U) = −LD^{−1}U.

Ako L_{M} ima isti raspored nula kao i L dio od A, i U_{M} ima isti raspored kao i U dio od A, postavlja se pitanje, da li postoje L_{M} i U_{M} takvi da rezultiraju manjom greškom, u nekom smislu, od gore navedene. Mi možemo, na primjer, pokušati pronaći nekompletnu faktorizaciju u kojoj matrica reziduala A − L_{M}U_{M} ima nule na mjestima gdje A ima netrivijalne elemente. Pokazat ćemo da je to općenito moguće za ILU(0) faktorizaciju. Naime, mnoge direktne metode za rješavanje sustava koriste se raznim faktorizacijama, medutim za velike i rijetko popunjene matrice, koje se često pojavljuju kao rezultat diskretizacije parcijalne diferencijalne jednadžbe, te metode su neprektične i preskupe. Umjesto toga, tražit ćemo aproksimativne, nekompletne faktorizacije, A ≈ L_{M}U_{M}, gdje su L_{M} i U_{M} rijetko popunjene donja i gornja trokutasta matrica. Produkt M = L_{M}U_{M} tada možemo koristiti kao matricu prekondicioniranja, u očekivanju da će M^{−1} dobro aproksimirati inverz matrice A. Općenito, razni rasporedi se mogu specificirati, a matrice L_{M} i U_{M} se mogu definirati tako da zadovoljavaju odredena svojstva. To nas vodi do općenitije klase nekompletnih faktorizacija, koje ćemo u kratko razložiti.

Nekompletnima smatramo one faktorizacije, kojima se tokom samog procesa faktorizacije odredeni elementi zanemaruju. To na primjer mogu biti netrivijalni elementi u faktorizaciji na pozicijama u kojima originalna matrica sustava ima nulu. Takve se matrice prekondicioniranja tada uvijek ostavljaju u faktoriziranom obliku. Njihova efikasnost onda ovisi o tome kako dobro njihov inverz aproksimira A^{−1}. Medjutim, kod nekompletnih faktorizacija se može pojaviti problem, a to je da one mogu zakazati, zbog pokušaja djeljenja s nulom, ili mogu rezultirati indefinitnom matricom, zbog negativnog pivotnog elementa, iako potpuna faktorizacija iste matrice postoji i treba biti pozitivno definitna, kao na primjer kod faktorizacije Choleskog. Isto tako je važno razmotriti njihov trošak izvodenja. Čak i kad nekompletna faktorizacija postoji, broj operacija koji je sudjelovao u njenom dobivanju je najmanje jednak broju operacija koji bi sudjelovao u rješavanju sustava s takvom matricom, tako da trošak može biti jednak trošku jedne ili više iteracija iterativne metode. Takvi troškovi se mogu nadoknaditi ako znamo da će iterativna metoda zahtijevati puno iteracija, ili ako će ista matrica prekondicioniranja biti upotrijebljenja na nekoliko linearnih sustava.

Dakle, nekompletne faktorizacije mogu biti dane u raznim oblicima. Ako je M = L_{M}U_{M} sa L_{M} i U_{M} regularnim trokutastim matricama, rješavanje sustava sa matricom M se svodi na standardni način, prvo supstitucijama u naprijed, a zatim povratnim supstitucijama. Medutim, često su nekompletne faktorizacije dane sa M = (D_{M} + L_{M})D_{M}^{−1}(D_{M} + U_{M}), pri čemu je D_{M} dijagonalna, a L_{M} i U_{M} su strogo trokutaste matrice. U tom slučaju možemo koristiti jedan od sljedećih ekvivalentnih oblika za rješavanje sustava Mx = y

(D_{M} + L_{M})z = y, (I + D_{M}^{−1}U_{M})x = z,

ili

(I + L_{M}D_{M}^{−1})z = z, (D_{M} + U_{M})x = z.

3.4.1 Nekompletna LU faktorizacija (ILU)

Pretpostavimo da je A proizvoljna, rijetko popunjena matrica, čije elemente smo označili sa a_{ij}, i, j = 1, …, n. Općenita nekompletna LU faktorizacija (ILU) računa rijetko popunjenu donje trokutastu matricu L_{M} i rijetko popunjenu gornje trokutastu matricu U_{M}, tako da rezidual R = L_{M}U_{M} − A zadovoljava odredena svojstva, kao na primjer, da ima nule na odredenim pozicijama. Algoritam za dobivanje nekompletne LU faktorizacije može se dobiti iz postupka Gaussovih eliminacija uz izbacivanje odredenih elemenata sa unaprijed odredenih vandijagonalnih pozicija. Postavlja se sada pitanja egzistencije takve faktorizacije. Ona postoji u mnogim slučajevima, a mi ćemo prvo iznijeti Ky-Fanov rezultat koji govori o egzistenciji nekompletne LU faktorizacije za M-matrice.

Lema 3.4.1 ([32]). Neka je A = [a_{ij}] M-matrica, i neka je A^{(1)} = [a_{ij}^{(1)}] matrica dobivena iz prvog koraka Gaussovih eliminacija. Tada je i A^{(1)} M-matrica.

Dokaz: Prvo, razmotrimo vandijagonalne elemente od A^{(1)}:

a_{ij}^{(1)} = a_{ij} − \frac{a_{i1}a_{1j}}{a_{11}} .

Budući da su a_{ij}, a_{i1}, a_{1j} nepozitivni, a a_{11} je pozitivan, slijedi da je i a_{ij}^{(1)} ≤ 0 za i ≠ j.

Drugo, činjenica, da je A^{(1)} regularna matrica, posljedica je standardne relacije Gaussovih eliminacija

A = L^{(1)}A^{(1)}, gdje je L^{(1)} = [ \begin{matrix}1 & 0 & 0 & ⋯ & 0 \\ −\frac{a_{21}}{a_{11}} & 1 & 0 & ⋯ & 0 \\ −\frac{a_{31}}{a_{11}} & 0 & 1 & ⋯ & 0 \\ ⋮ & ⋮ & ⋮ & ... & ⋮ \\ −\frac{a_{n1}}{a_{11}} & 0 & 0 & ⋯ & 1 \end{matrix} ] .  (3.59)

Pa kako je A regularna, a prema upravo pokazanom je i L^{(1)} regularna, tada slijedi da je i A^{(1)} regularna.

Na kraju, pokazat ćemo da je [A^{(1)}]^{−1} nenegativno tako da što ćemo ispitati predznake svakog stupca [A^{(1)}]^{−1}e_{j} za j = 1, …, n. Za j = 1 jasno je da je [A^{(1)}]^{−1}e_{1} = \frac{1}{a_{11}} , zbog toga što prvi stupac od A^{(1)} ima u prvom retku element jednak a_{11}, a u ostalima je nula. Za slučaj kada je j ≠ 1, iz (3.59) slijedi

[A^{(1)}]^{−1}e_{j} = A^{−1}L^{(1)}e_{j} = A^{−1}e_{j} ≥ 0.

Prema tome, svi stupci od [A^{(1)}]^{−1} su nenegativni, i time smo dovršili dokaz, jer je prema tvrdnji (ii) Teorema 3.3.12 matrica A^{(1)} M-matrica.

Takoder, (n − 1) × (n − 1) matrica A_{22}^{(1)} dobivena iz A^{(1)} odstranjujući prvi redak i prvi stupac je isto M-matrica. Prvo, budući da dijagonalne kao i vandijagonalne elemente dijeli s matricom A^{(1)}, koja je prema upravo dokazanom teoremu M-matrica, i matrica A_{22}^{(1)} ima dijagonalne elemente pozitivne, a vandijagonalne nepozitivne. Predznaci elemenata inverza te matrice su ponovo vidljivi iz strukture matrice A^{(1)}, koja u prvom stupcu ima svuda nule osim u prvom retku. Naime, inverz matrice A_{22}^{(1)} je jednak (n − 1) × (n − 1) donjem dijagonalnom bloku inverza matrice A^{(1)}, čiji su elementi svi nenegativni.

Sljedeći rezultat dao je Varga.

Lema 3.4.2 (Varga [12]). Ako je A = [a_{ij}] M-matrica i ako elementi matrice B = [b_{ij}] zadovoljavaju

0 < a_{ii} ≤ b_{ii}, a_{ij} ≤ b_{ij} ≤ 0 za i ≠ j,

tada je B takoder M-matrica.

Dokaz: Rastavimo matricu B na dijagonalni dio D i vandijagonalni dio −C, tada je B = D − C = D(I − G), gdje je D ≥ 0, C, ≥ 0 i G = D^{−1}C ≥ 0. Imamo B^{−1} = (I − G)^{−1}D^{−1}, i ako je ρ(G) < 1, tada

(I − G)^{−1} = I + G + G^{2} + ⋯ ≥ 0,

odakle slijedi da je B^{−1} ≥ 0, i da je zbog toga B M-matrica. Da bi vidjeli da je ρ(G) < 1, primijetimo prvo da ako rastavimo A kao A = M − N, gdje je M = diag(A), tada je to regularni rastav, pa je prema Teoremu 3.3.9 ρ(M^{−1}N) < 1. Prema pretpostavci leme o elementima od B, slijedi da je 0 ≤ G ≤ M^{−1}N, odakle je prema Korolaru 3.3.4

ρ(G) ≤ ρ(M^{−1}N) < 1.

Neka je P podskup indeksa {(i, j) : j ≠ i, i, j = 1, …, n}. Indeksi u skupu P biti će oni indeksi, na čijim će pozicijama u nekompletnoj LU faktorizaciji elementi biti postavljeni na 0. Sljedeći teorem ne samo što dokazuje egzistenciju nekompletne LU faktorizacije, nego i demonstrira način na koji je možemo izračunati. Dokazali su ga Meijerink i van der Vorst, zajedno s njegovim korolarom.

Teorem 3.4.3 (Meijerink, van der Vorst [12]). Ako je A = [a_{ij}] n × n M-matrica, tada za bilo koji podskup P vandijagonalnih indeksa postoje donje trokutasta matrica L = [l_{ij}] sa jediničnom dijagonalom i donje trokutasta matrica U = [u_{ij}], takve da je A = LU − R, gdje

l_{ij} = 0,  za (i, j) ∈ P, i > j,
u_{ij} = 0,  za (i, j) ∈ P, i < j,
r_{ij} = 0,  za (i, j) ∉ P.

Faktori L i U su jedinstveni, a rastav A = LU − R je regularan rastav.

Dokaz: Dokaz se provodi kroz konstrukciju n − 1 koraka analognih onima iz Gaussovih eliminacija. U k-tom koraku, prvo zamijenimo elemente tekuće matrice, s indeksima (k, j) i (i, k) ∈ P, sa 0. Tada izvršimo korak Gaussovih eliminacija, tako da se eliminiraju elementi u redovima od (k + 1)-og do n-tog, k-tog stupca, pribrajajući odgovarajuće multiple k-tog retka recima k + 1 do n. Preciznije, definirajmo matrice

A^{(k)} = [a_{ij}^{(k)}] , Ã^{(k)} = [ã_{ij}^{(k)}] , L^{(k)} = [l_{ij}^{(k)}] , R^{(k)} = [r_{ij}^{(k)}]

relacijama

A^{(0)} = A, Ã^{(k)} = A^{(k−1)} + R^{(k)}, A^{(k)} = L^{(k)}Ã^{(k)}, k = 1, …, n − 1,

gdje je R^{(k)} svugdje jednaka 0 osim na pozicijama (k, j) ∈ P i na pozicijama (i, k) ∈ P, gdje je r_{kj}^{(k)} = −a_{kj}^{(k−1)} i r_{ik}^{(k−1)} = −a_{ik}^{(k−1)}. Donje trokutasta matrica L^{(k)} je svuda jednaka identiteti, osim k-tog stupca, koji je jednak

[0 … 0 1 − \begin{matrix} & ã_{k+1,k}^{(k)} \\ & ã_{kk}^{(k)} \end{matrix} … − \begin{matrix} & ã_{nk}^{(k)} \\ & ã_{kk}^{(k)} \end{matrix} ]^{T} .

Odavde se lako vidi da je A^{(k)} matrica koja se dobije iz Ã^{(k)} eliminiranjem elemenata iz k-tog stupca, uz pomoć elemenata iz k-tog retka, dok je Ã^{(k)} dobivena iz A^{(k−1)} zamjenom elemenata u k-tom stupcu i retku, čiji su indeksi u P, sa 0.

Sada, A^{(0)} = A je M-matrica, pa je R^{(1)} ≥ 0. Iz Leme 3.4.2 slijedi da je Ã^{(1)} Mmatrica i, zbog toga je i L^{(1)} ≥ 0. Iz Leme 3.4.1 slijedi da je A^{(1)} M-matrica. Prema napomeni iza Leme 3.4.1 donji (n − 1) × (n − 1) dijagonalni blok od A^{(1)} je takoder M-matrica, a sljedeći korak Gaussovih eliminacija će se izvesti upravo nad tim blokom. Tako možemo nastaviti redom za k = 2, 3, …, odnosno možemo, na prethodan način pokazati, da je za svako k = 2, 3, … donji (n − k) × (n − k) dijagonalni blok matrice A^{(k)} M-matrica. Trebamo još provjeriti kakva je situacija sa samom matricom A^{(k)}. Pretpostavimo, da je za j = 1, …, k − 1 A^{(j)} M-matrica, te zapišimo A^{(k)} u blok obliku

A^{(k)} = [ \begin{matrix}A_{11}^{(k)} & A_{12}^{(k)} \\ 0 & A_{22}^{(k)} \end{matrix} ] ,

pri čemu je A_{11}^{(k)} gornje trokutasti k × k blok, a A_{22}^{(k)} je (n − k) × (n − k) blok. Kako su prvih k redaka matrice A^{(k)} identični istim recima matrice A^{(k−1)}, osim k-tog u kojemu se neki elementi zamijenjeni sa nulom, a indukcijom smo pokazali da je i A_{22}^{(k)} M-matrica, to znači da su svi dijagonalni elementi matrice A^{(k)} pozitivni, a vandijagonalni elementi nepozitivni. Lako se može provjeriti da je inverz matrice A^{(k)} oblika

(A^{(k)})^{−1} = [ \begin{matrix}(A_{11}^{(k)})^{−1} & −(A_{11}^{(k)})^{−1}A_{12}^{(k)}(A_{22}^{(k)})^{−1} \\ 0 & (A_{22}^{(k)})^{−1} \end{matrix} ] ,

Kako je je gornji k × k dijagonalni blok od (A^{(k)})^{−1} jednak istom bloku od (A^{(k−1)})^{−1}, to znači da je (A_{11}^{(k)})^{−1} ≥ 0. Nadalje je A_{12}^{(k)} ≤ 0, a prema gore pokazanom (A_{22}^{(k)})^{−1} ≥ 0, pa možemo zaključiti da je i (A^{(k)})^{−1} ≥ 0, odnosno da je A^{(k)} M-matrica. Analogno kao gore je i Ã^{(k)} M-matrica, i L^{(k)} ≥ 0, te R^{(k)} ≥ 0 za k = 1, …, n − 1. Iz definicija odmah slijedi

L^{(k)}R^{(m)} = R^{(m)} ako k < m,
A^{(n−1)} = L^{(n−1)}Ã^{(n−1)} = L^{(n−1)}A^{(n−2)} + L^{(n−1)}R^{(n−1)} = ⋯ =
= (∏_{j=1}^{n−1} L^{(n−j)}) A^{(0)} + ∑_{i=1}^{n−1} (∏_{j=1}^{n−i} L^{(n−j)}) R^{(i)}.

Kombinirajući te dvije jednakosti dobivamo

A^{(n−1)} = (∏_{j=1}^{n} L^{(n−j)}) (A + ∑_{i=1}^{n−1} R^{(i)}) .

Definirajmo sada matrice U = A^{(n−1)}, L = (∏_{j=1}^{n} L^{(n−j)})^{−1}, i R = ∑_{i=1}^{n−1} R^{(i)}. Tada su, prema već prije pokazanim svojstvima matrica L^{(k)} i R^{(k)}, LU = A+R, L^{−1} ≥ 0. U je Mmatrica pa U^{−1} ≥ 0, odakle slijedi da je (LU)^{−1} ≥ 0, i na kraju R ≥ 0, tako da je rastav A = LU − R regularan. Preostalo nam je još pokazati jedinstvenost faktora L i U, što ćemo dobiti ako provjerimo samo jedinstvenost elemenata čiji indeksi nisu u P, jer su oni, čiji indeksi jesu u P, jednaki 0. To se lako može provjeriti matematičkom indukcijom po k-tom retku i stupcu, koristeći činjenicu da su elementi od A i LU jednaki za (i, j) ∉ P, da L ima jediničnu dijagonalu, te da je U M-matrica pa su joj svi dijagonalni elementi veći od 0.

Korolar 3.4.4. Ako je A simetrična M-matrica, tada za svaki podskup P vandijagonalnih indeksa, sa svojstvom da za (i, j) ∈ P slijedi (j, i) ∈ P, postoji jedinstvena donje trokutasta matrica L sa l_{ij} = 0 ako je (i, j) ∈ P za i > j, takva da je A = LL^{T} − R, gdje je r_{ij} = 0 ako je (i, j) ∉ P. Rastav A = LL^{T} − R je regularan rastav.

Dokaz: Prema Teoremu 3.4.3 postoje jedinstvene matrice L_{1}, koja je donjetrokutasta s jediničnom dijagonalom, i U, koja je gornje trokutasta sa pozitivnom dijagonalom, takve da je A = L_{1}U − R, i da su zadovoljena svojstva iz istog teorema. Ovdje treba naglasiti da je u_{ij} = 0 ako je (j, i) ∈ P. Definirajmo D = diag(U), koja je takoder jedinstvena. Tada je

A = A^{T} = U^{T} L_{1}^{T} − R^{T} = (U^{T} D^{−1})(DL_{1}^{T}) − R^{T} ,

još jedan rastav kao u Teoremu 3.4.3, jer je U^{T} D^{−1} donje trokutasta matrica sa jediničnom dijagonalom, koja ima 0 na istim pozicijama kao i L_{1}, a DL_{1}^{T} je gornje trokutasta matrica, koja ima 0 na istim pozicijama kao i U. Zbog jedinstvenosti faktora vrijedi L_{1} = U^{T} D^{−1}, odnosno U = DL_{1}^{T}, pa ako sada definiramo L = L_{1}D^{1/2}, imamo

A = L_{1}DL_{1}^{T} − R = LL^{T} − R,

pri čemu je, zbog jedinstvenosti matrica L_{1} i D, L jedinstven.

U ovom slučaju radi se o nekompletnoj faktorizaciji Choleskog (IC).

Iako je nekompletna faktorizacija Choleskog regularni rastav, ona se ne može usporediti sa matricama prekondicioniranja, kao što su dijagonala od A ili njen donje trokutasti dio (Korolar 3.3.10, i Teorem 3.3.16), zbog toga što su neki elementi matrice prekondicioniranja nekompletene faktorizacije Choleskog M = LL^{T} bliže odgovarajućim elementima iz A, nego što su odgovarajući elementi od diag(A) ili njenog donje trokutastog dijela, ali neki elementi su puno udaljeniji. Ipak, mnogi numerički primjeri pokazuju da nekompletna faktorizacija Choleskog primijenjena na CG algoritam, često zahtijeva značajno manje iteracija od dijagonalnog prekondicioniranja. S druge strane, svaka iteracija zahtijeva više operacija, pa se ukupni profit upotrebe nakompletne faktorizacije Choleskog treba gledati kroz omjer smanjenja broja iteracija i porasta broja operacija u svakoj iteraciji.

ILU(0)

Nekompletna LU faktorizacija bez popunjavanja, koju označavamo sa ILU(0), je ona u kojoj se podskup vandijagonalnih indeksa P točno poklapa sa podskupom indeksa vandijagonalnih elemenata koji su, kod matrice A, jednaki 0. Drugim riječima, raspored nula kod L i U, matrica koje su dobivene nakompletnom LU faktorizacijom, je ekvivalentan rasporedu nula kod matrice A.

ILU(p)

Točnost ILU(0) nekompletne faktorizacije, može biti nedovoljna za postizanje željene stope konvergencije, budući da, na primjer, kod rijetko popunjenih matrica, produkt LU, može imati puno više netrivijalnih elemenata od polazne matrice A. Točnije verzije nepotpune LU faktorizacije dozvoljavaju odredeno “popunjavanje”. Naime, za razliku od ILU(0), takve faktorizacije dozvoljavaju da matrice L i U imaju netrivijalne elemente na pozicijama, na kojima A ima 0, odnosno na pozicijama u skupu P. U tu svrhu uvodimo pojam stupnja popunjavanja. Stupanj popunjavanja se pridružuje svakom elementu tokom procesa Gaussovih eliminacija, a da li će taj element biti sveden na nulu ili ne, ovisi o njegovoj vrijednosti. Pri tome vrijedi pravilo: što je stupanj veći, to je element manji.

Definicija 3.4.5. Početna vrijednost stupnja popunjavanja elementa a_{ij} rijetko popunjene matrice A je definirana sa

lev_{ij} = \{ \begin{matrix}0 & ako a_{ij} ≠ 0, ili i = j \\ ∞ & inače. \end{matrix}

Nakon k-tog koraka Gaussovih eliminacija u kojem se element na poziciji (i, j) promijenio, njegov stupanj popunjavanja se takoder treba ponovo izračunati sa

lev_{ij} = min{lev_{ij}, lev_{ik} + lev_{kj} + 1}.  (3.60)

Primijetimo da se stupanj popunjavanja nikad neće povećati tokom eliminacija. Prema tome, ako je a_{ij} ≠ 0 u originalnoj matrici A, tada će element na poziciji (i, j) imati stupanj popunjavanja jednak nuli, kroz cijeli postupak Gaussovih eliminacija. Gornja definicija daje prirodnu strategiju za transformaciju elemenata u nulu. Kod ILU(p) faktorizacije, svi elementi kojima stupanj popunjavanje ne nadmašuje p, su zadržani. Dakle, raspored nula za ILU(p) faktorizaciju je dan sa

P_{p} = {(i, j) : lev_{ij} > p},

pri čemu je lev_{ij} stupanj popunjavanja nakon što su sve transformacije (3.60) izvršene. ILU(0) je podudaran sa slučajem kada je p = 0.

Postoje mnogi nedostaci ovakve nepotpune faktorizacije. Prvo, broj operacija za izvršavanje ILU(p) nije predvidiv za p > 0. Drugo, trošak za računanje stupnjeva popunjavanja može biti visok. Što je najvažnije, stupanj popunjavanja za indefinitne matrice ne mora biti dobar pokazatelj elemenata koje treba svesti na nulu. Može se dogoditi da algoritam ILU(p) faktorizacije odbaci veliki element (svede ga na 0), i kao rezultat dobivamo netočnu nekompletnu faktorizaciju, u smislu da R = LU − A nije malen. U prosjeku, to će uzrokovati velikim brojem iteracija iterativne metode, sa kojom se primijenjuje nekompletna faktorizacija, do postignuća konvergencije. Da bi se popravili ovi nedostaci, uvedene su tehnike koje daju nekompletnu faktorizaciju sa malom greškom R i sa kontroliranim brojem elemenata koji nisu svedeni na 0.

ILUT

Nekompletne faktorizacije koje se oslanjaju na stupanj popunjavanja su slijepe na numeričke vrijednosti, budući da elementi koji se svode na nulu ovise o strukturi matrice A. Postoje nekoliko alternativnih metoda baziranih na Gaussovim eliminacijama i svodenju elemenata na nulu i to na osnovu njihove veličine a ne pozicije. Kod tih tehnika raspored nula se odreduje dinamički.

Generička ILU faktorizacija sa pragom može se dobiti iz Gaussovih eliminacija, uz dodatak skupa pravila za svodenje malih elemenata na nulu, što znači da će element biti sveden na nulu ako zadovoljava odredeni skup kriterija. Tako dobivenu faktorizaciju označavamo sa ILUT(p,τ), i kod nje su korištena sljedeća pravila.

1. U k-tom koraku Gaussovih eliminacija, pivotni element a_{ik} = a_{ik}/a_{kk}, za i > k se svodi na nulu ako je manji od relativne tolerancije τ_{i}, dobivene množenjem τ sa normom originalnog i-tog retka.

2. Nakon prvih k − 1 koraka Gaussovih eliminacija, k-ti redak se neće više mijenjati, pa su u njemu smješteni gotovi elementi k-tih redaka matrica L i U. Prvo treba svesti na nulu sve elemente u k-tom retku koji su manji od relativne tolerancije τ_{k}. Tada, treba zadržati samo p največih elemenata u L dijelu retka, i p največih elemenata u U dijelu retka, uz dijagonalni element koji se uvijek zadržava. Svi ostali elementi se svode na nulu.

Cilj drugog koraka svodenja elemenata na nulu je kontrola broja netrivijalnih elemenata po retku. Grubo rečeno, na p možemo gledati kao na parametar koji pomaže u kontroli troška memorije, dok τ reducira troškove računanja.

3.4.2 Nekompletan Gram–Schmidt i IQR

Kod prekondicioniranja normalnih jednadžbi, postavlja se pitanje kako prekondicionirati rezultirajuće iteracije. ILU matrica prekondicioniranja može se izračunati za matricu A, i onda pomoću nje riješiti prekondicioniranu normalnu jednadžbu

A^{T} (LU)^{−T} (LU)^{−1}Ax = A^{T} (LU)^{−T} (LU)^{−1}b.

Medutim, znamo da ILU nekompletna faktorizacija ne mora uvijek postojati, a i ako postoji, dobivena matrica prekondicioniranja ne mora biti kvalitetna. Zato ćemo promatrati još jedan način prekondicioniranja, svojstven normalnim jednadžbama.

Razmotrimo općenitu rijetko popunjenu matricu A i sa a_{1}, …, a_{n} označimo njene stupce. Ako definiramo (kompletnu) QR faktorizaciju matrice A sa

A = QR,

gdje je R gornje trokutasta matrica, a Q je unitarna. Tada je R faktor gornje faktorizacije faktor faktorizacije Choleskog matrice A^{T} A, jer ako je A = QR, pri čemu R ima pozitivne dijagonalne elemente, tada je

B = A^{T} A = R^{T} Q^{T} QR = R^{T} R.

Iz jedinstvenosti faktorizacije Choleskog sa faktorom R koji ima pozitivne dijagonalne elemente, slijedi da je R zaista jednak faktoru faktorizacije Choleskog matrice B. Taj odnos se može iskoristiti za dobivanje matrice prekondicioniranja za normalne jednadžbe.

Postoje dva načina dobivanja matrice R. Prvi je eksplicitno formiranje matrice B i izračunavanje njene faktorizacije Choleskog. To znači formiranje matrice A^{T} A koja može biti puno gušće popunjenija od matrice A. Drugi pristup je korištenje Gramm-Schmidtovog postupka. Na prvi pogled ovo bi mogao biti nepoželjan izbor, zbog gubitka numeričke točnosti kod ortogonalizacije velikog broja vektora. Medutim, kako vektori ostaju rijetko popunjeni kod nekompletne QR faktorizacije, takvi gubici točnosti će biti svedeni na minimum. Sa strane memorije, Gram-Schmidt je optimalan jer ne zahtijeva dodatnu memoriju za spremanje dodatnih podataka.

Kako bi definirali nekompletnu QR faktorizaciju IQR, moramo definirati strategiju po kojoj ćemo svoditi elemente na nulu, sličnu onoj kod ILU faktorizacija. To se može napraviti na sljedeći način. Neka su P_{Q} i P_{R} podskupovi indeksa koji će predstavljati raspored nula za matrice Q i R. Jedina restrikcija za R je

P_{R} ⊂ {(i, j) : i ≠ j}.

Što se tiče skupa P_{Q}, za svaki stupac matrice Q mora postojati barem jedan netrivijalan element, odnosno

{j : (i, j) ∈ P_{Q}} ≠ {1, 2, …, n}, za i = 1, …, n.

Ova dva skupa se mogu definirati na različite načine, kao na primjer kod ILUT faktorizacije, dinamički.

Svodjenje elemenata na nulu, čiji indeksi se nalaze u ova dva skupa, izvodi se na sljedeći način. U k-tom koraku Gram–Schmidtovog postupka, nakon što se izračunaju vandijagonalni elementi k -tog stupca matrice R (skalarni produkti koji predstavljaju koeficijente ortogonalizacije), na nulu se svode elementi tog stupca čiji se indeksi nalaze u skupu P_{R}. Zatim, nakon izračunavanja vektora q_{k}, sa dobivenim koeficijentima ortogonalizacije, na nulu se svode one komponenete tog vektora, čiji indeksi se nalaze u skupu P_{Q}. Tada imamo

a_{k} = ∑_{j=1}^{k} r_{jk}q_{j} + p_{k},  (3.61)

gdje je p_{k} stupac elemenata koji su izbačeni iz stupca q_{k}. Gornja jednakost se svodi na

A = QR + P,  (3.62)

gdje je P matrica kojoj je k-ti stupac jednak p_{k}. Slučaj u kojem je P_{Q} prazan skup je posebno zanimljiv, jer je tada P = 0, pa imamo egzaktnu jednakost A = QR. U svakom slučaju Q nije općenito unitarna, jer su neki elementi u R svedeni na nulu. Kad bi u k-tom koraku bilo r_{kk} = 0, tada bi iz (3.61) slijedilo da je a_{k} linearna kombinacija stupaca q_{1}, …, q_{k−1}, odakle indukcijom slijedi da je a_{k} linearna kombinacija stupaca a_{1}, …, a_{k−1}, što ne može biti istina za regularnu matricu A. Kao rezultat, možemo iznijeti sljedeći teorem.

Teorem 3.4.6 ([32]). Ako je A regularna matrica i ako je P_{Q} = ∅ tada nekompletna QR faktorizacija A = QR postoji, u kojoj je Q regularna matrica, a R je gornje trokutasta matrica sa pozitivnim dijagonalnim elementima.

3.5 Aproksimacije inverza matrice

Načini prekondicioniranja navedeni u prethodnom odjeljku ponekad mogu zakazati, ako npr. nekompletna LU faktorizacija ne postoji, ili je dobivena matrica prekondicioniranja daleko od optimalne. Iz tog razloga, nastojalo se pronaći način prekondicioniranja koji ne zahtijeva direktno rješavanje linearnog sustava, već se polazni sustav može prekondicionirati matricom M^{−1} koja je direktna aproksimacija inverza od A.

Jednostavna tehnika pronalaženja aproksimacije inverza proizvoljne rijetko popunjene matrice je pronalaženje rijetko popunjene matrice N = M^{−1} koja minimizira Frobeniusovu normu rezidualne matrice I − AN,

F (N) = ∥I − AN∥_{F}^{2} .  (3.63)

Matricu N, čija vrijednost F (N) je dovoljna mala, možemo uzeti kao aproksimaciju desnog inverza (kao matricu desnog prekondicioniranja) od A. Slično, aproksimacija lijevog inverza može se definirati korištenjem objektne funkcije

F (N) = ∥I − NA∥_{F}^{2} .  (3.64)

Na kraju, možemo tražiti par L i U, takav da minimizira

F (L, U) = ∥I − LAU∥_{F}^{2} .  (3.65)

Nadalje, ćemo promatrati samo slučaj (3.63), dok se ostala dva slučaja mogu analizirati na sličan način.

Pristup globalnih iteracija tretira matricu N kao nepoznatu, rijetko popunjenu matricu, i metodom tipa najbržeg silaska minimizira objektnu funkciju (3.63). Ta funkcija je kvadratna funkcija definirana na prostoru n × n matrica, kojeg možemo identificirati sa ℝ^{n^{2}}. Skalarni produkt na prostoru matrica je definiran sa

⟨X, Y ⟩ = tr(Y^{T} X),  (3.66)

a kvadrat odgovarajuće norme je upravo u skladu sa definicijom objektne funkcije (3.63), jer je ∥X∥_{F}^{2} = ⟨X, X⟩.

Definicija 3.5.1. Poljska reprezentacija n^{2}-dimenzionalnog vektora X = [x_{1} x_{2} … x_{n^{2}}]^{T} predstavlja n × n matricu

[ \begin{matrix}x_{1} & x_{n+1} & … & x_{n^{2}−n+1} \\ x_{2} & x_{n+2} & … & x_{n^{2}−n+2} \\ ⋮ & ⋮ & & ⋮ \\ x_{n} & x_{2n} & … & x_{n^{2}} \end{matrix} ] .

U algoritmu silaska nova aproksimacija N_{k} se definira izvodenjem koraka duž smjera G_{k−1}, odnosno

N_{k} = N_{k−1} + α_{k−1}G_{k−1},

gdje je α_{k−1} izabran tako da minimizira objektnu funkciju F (N_{k}). Kao što smo vidjeli kod izvoda Orthomin metode, minimiziranje norme reziduala je ekvivalentno zahtjevu da je R_{k} = I − AN_{k} = R_{k−1} − α_{k−1}AG_{k−1} okomito na AG_{k−1}, obzirom na skalarni produkt ⟨·, ·⟩, pri čemu je R_{k−1} = I − AN_{k−1}. Prema tome, optimalno α_{k−1} je dano sa

α_{k−1} = \frac{⟨R_{k−1}, AG_{k−1}⟩}{⟨AG_{k−1}, AG_{k−1}⟩} = \frac{tr(R_{k−1}^{T}AG_{k−1})}{tr((AG_{k−1})^{T} AG_{k−1})}.  (3.67)

Rezultirajuća matrica N_{k} će postajati sve gušća i gušća nakon svakog koraka metode silaska, zato je važno primijeniti neku strategiju svodenja elemenata na nulu. Medutim, u tom slučaju je svojstvo silaska narušeno, odnosno, nećemo više moći garantirati da je F (N_{k}) ≤ F (N_{k−1}).

Najjednostavniji izbor za smjer silaska G_{k−1}, je da on bude jednak matrici reziduala R_{k−1} = I − AN_{k−1}, gdje je N_{k−1} zadnja aproksimacija. Osim koraka u kojem se elementi svode na nulu, odgovarajući algoritam silaska liči upravo na Orthomin(1) metodu, primijenjenu na n^{2} × n^{2}-dimenzionalni linearni sustav AN = I. Metoda globalnog minimalnog reziduala ima sljedeći oblik.

Algoritam 3.5.2. Algoritam globalnog minimalnog reziduala

Dana je početna iteracija N_{0}.

Za k = 1, 2, …

G_{k−1} = I − AN_{k−1},

Izračunaj AG_{k−1},

α_{k−1} = \frac{tr(G_{k−1}^{T}AG_{k−1})}{∥AG_{k−1}∥_{F}^{2}},

N_{k} = N_{k−1} + α_{k−1}G_{k−1},

Svedi odgovarajuće elemente od N_{k} na nulu.

Drugi izbor za matricu G_{k−1} bi bio da je ona jednaka smjeru najbržeg silaska, odnosno smjeru suprotnom gradijentu funkcije (3.63), s obzirom na varijablu N_{k−1}. Ako su svi vektori prezentirani kao 2-dimenzionalna n × n polja, tada se gradijent može definirati kao matrica G_{k−1}, koja zadovoljava sljedeću relaciju, za malu perturbaciju E,

F (N_{k−1} + E) = F (N_{k−1}) + ⟨G_{k−1}, E⟩ + O(∥E∥^{2}).  (3.68)

Time možemo gradijent shvatiti kao operator nad matricama, a ne kao opereator nad n^{2}-dimenzionalnim vektorima.

Teorem 3.5.3 ([32]). Poljska reprezentacija gradijenta funkcije F, definirane sa (3.63), je matrica

G_{k−1} = −2A^{T} R_{k−1}

gdje je R_{k−1} = I − AN_{k−1} matrica reziduala.

Dokaz: Za bilo koju matricu E imamo

F (N_{k−1} + E) − F (N_{k−1}) = tr[(I − A(N_{k−1} + E))^{T} (I − A(N_{k−1} + E))] −
− tr[(I − AN_{k−1})^{T} (I − AN_{k−1})] =
= tr[(R_{k−1} − AE)^{T} (R_{k−1} − AE) − R_{k−1}^{T}R_{k−1}] =
= − tr[(AE)^{T} R_{k−1} + R_{k−1}^{T}AE − (AE)^{T} (AE)] =
= −2 tr(R_{k−1}^{T}AE) + tr[(AE)^{T} (AE)] =
= −2⟨A^{T} R_{k−1}, E⟩ + ⟨AE, AE⟩.

Kako je

⟨AE, AE⟩ = ∥AE∥_{F}^{2} ≤ ∥A∥_{F}^{2} ∥E∥_{F}^{2} ,

iz (3.68) slijedi traženi rezultat.

Dakle, algoritam najbržeg silaska imati će G_{k−1} = A^{T} R_{k−1} i ima sljedeći oblik.

Algoritam 3.5.4. Algoritam globalnog najbržeg silaska

Dana je početna iteracija N_{0}.

Za k = 1, 2, …

R_{k−1} = I − AN_{k−1},

G_{k−1} = A^{T} R_{k−1},

izračunaj AG_{k−1},

α_{k−1} = \frac{∥G_{k−1}∥_{F}^{2}}{∥AG_{k−1}∥_{F}^{2}} ,

N_{k} = N_{k−1} + α_{k−1}G_{k−1},

Svedi odgovarajuće elemente od N_{k} na nulu.

Prvo teoretsko pitanje, koje se postavlja, je da li aproksimacije inverza, dobivene gornjim algoritmom, mogu biti singularne. Ne može se dokazati da je N_{k} regularna, ukoliko aproksimacija nije dovoljno točna. Taj zahtjev može biti u konfliktu sa zahtjevom da je N_{k} rijetko popunjena matrica.

Teorem 3.5.5 ([32]). Pretpostavimo da je A regularna matrica i da rezidual aproksimacije inverza N zadovoljava relaciju

∥I − AN∥ < 1,  (3.69)

gdje je ∥ · ∥ bilo koja konzistentna norma. Tada je N regularna.

Dokaz: Rezultat odmah slijedi iz jednakosti

AN = I − (I − AN) = I − R.

Budući da je ∥R∥ < 1, tada prema Lemi 1.5.9 slijedi da je I − R regularna matrica, pa je prema tome i N regularna.

Ponekad se dogodi da je R velik, pa skaliranje može dati manju normu. Rezultat prethodnog teorema, zato, lako možemo proširiti na sljedeći način. Ako je A regularna matrica, i ako postoje dvije regularne dijagonalne matrice D_{1} i D_{2}, takve da je

∥I − D_{1}AD_{2}∥ < 1,

gdje je ∥ · ∥ bilo koja konzistentna norma, tada je N regularna matrica.

Sljedeće, ispitajmo popunjenost matrice N za slučaj kada za svaki stupac od N vrijedi pretpostavka

∥ξ_{j} − An_{j}∥_{1} ≤ τ_{j},  (3.70)

gdje je ξ_{j} j-ti jedinični vektor, a n_{j} j-ti stupac od N.

Teorem 3.5.6 ([32]). Neka je B = A^{−1}, i pretpostavimo da dani element b_{ij} od B zadovoljava nejednakost

|b_{ij}| > τ_{j} max_{k=1,...,n} |b_{ik}|,  (3.71)

tada je element n_{ij} različit od nule.

Dokaz: Iz jednakosti AN = I − R imamo da je N = A^{−1} − A^{−1}R, pa odavde slijedi

n_{ij} = b_{ij} − ∑_{k=1}^{n} b_{ik}r_{kj},

za r_{kj} (k, j)-ti element od R. Zato je

|n_{ij}| ≥ |b_{ij}| − ∑_{k=1}^{n} |b_{ik}r_{kj}| ≥
≥ |b_{ij}| − max_{k=1,...,n} |b_{ik}|∥r_{j}∥_{1} ≥
≥ |b_{ij}| − max_{k=1,...,n} |b_{ik}|τ_{j}.

Sada iz uvjeta (3.71) slijedi |n_{ij}| > 0.

Prema ovom teoremu možemo zaključiti da, ukoliko je R dovoljno mali, odnosno kad su konstante τ_{j} dovoljno male, tada su elementi od N različiti od nule smješteni na pozicijama, koje odgovaraju pozicijama većih elemenata inverza od A. Sljedeći negativni rezultat je direktna poslijedica prethodnog teorema.

Korolar 3.5.7 ([32]). Neka je τ = max_{j=1,...,n} τ_{j}. Ako netrivijalni elementi od B = A^{−1} zadovoljavaju nejednakost

|b_{ij}| > τ max_{k,l=1,...,n} |b_{kl}|,

tada raspored netrivijalnih elemenata od N sadrži i raspored netrivijalnih elemenata od A^{−1}. Naročito, ako je A^{−1} gusto popunjena, i ako za njene netrivijalne elemente vrijedi gornja nejednakost, tada je i N takoder gusto popunjena.

Što je manji τ, to je vjerojatnije da će uvjet korolara biti ispunjen. Drugi način na koji možemo iznijeti tvrdnju korolara je, da se točna i rijetko popunjena aproksimacija inverza može izračunati samo ako elementi pravog inverza jako variraju u veličini. Na žalost, to je jako teško unaprijed provjeriti.

3.6 Primjer: difuzijska jednadžba

Kod proučavanja matrica prekondicioniranja, nakon što smo naveli različite načine na koje se ona može izabrati, korisno je pogledati kako se to može napraviti na konkretnom primjeru. Numeričko rješavanje difuzijske jednadžbe dati će simetričan pozitivno definitan linearan sustav, koji je značajan sa fizikalnog gledišta i koji daje prilično dobru ilustraciju principa koje smo naveli u ovom poglavlju.

Odredeni broj različitih fizikalnih procesa može se opisati difuzijskom jednadžbom

\frac{∂u}{∂t} − ∇ · (a ∇u) = f na Ω.  (3.72)

Ovdje u(x, t) može, na primjer, predstavljati distribuciju temperature po vremenu t u objektu Ω, na koji djeluje vanjski izvor topline f(x, t). Pozitivan koeficijent a(x) je toplinski konduktivitet materijala. Da bi odredili temperaturu u vremenu t, trebamo znati početnu distribuciju topline u(x, 0) i neki rubni uvjet, recimo

u(x, t) = 0  na ∂Ω,  (3.73)

što odgovara situaciji kada je rub područja Ω držan na fiksnoj temperaturi.

Standardna metoda za dobivanje aproksimacija rješenja parcijalne diferencijalne jednadžbe, kao što je (3.72), je metoda konačnih diferencija. U toj metodi iz danog područja Ω izabran je skup točaka koji čini mrežu, i u svakoj točki mreže od Ω derivacija u (3.72) zamijenjuje se sa kvocijentom koji se približava pravoj derivaciji kada mreža postaje sve finija.

Na primjer, pretpostavimo da je područje Ω jedinični kvadrat [0, 1]×[0, 1]. Uvedimo uniformnu mrežu {x_{i}, y_{j} : i = 0, 1, …, n_{x} + 1, j = 0, 1, …, n_{y} + 1} sa koracima h_{x} = 1/(n_{x} + 1) u x smjeru, i h_{y} = 1/(n_{y} + 1) u smjeru y, kao što je pokazano u Slici 3.2 za n_{x} = 3, n_{y} = 5. Standardna aproksimacija parcijalne derivacije u smjeru x iz (3.72), pomoću centralnih diferencija je

(\frac{∂}{∂x}a\frac{∂u}{∂x}) (x_{i}, y_{j}) ≈ \frac{a_{i+1/2,j}(u_{i+1,j} − u_{i,j}) − a_{i−1/2,j}(u_{i,j} − u_{i−1,j})}{h_{x}^{2}},

h_{y}  \begin{aligned}13 & & 14 & & 15 \\ 10 & & 11 & & 12 \\ & & & (i, j + 1) \\ 7 & & 8 & & 9 \\ & (i − 1, j) & & (i, j) & & (i + 1, j) \\ 4 & & 5 & & 6 \\ & & & (i, j − 1) \\ 1 & & 2 & & 3 \end{aligned}

\overline{h_{x}}

Slika 3.2: Diskretizacija konačnim diferencijama, prirodni poredak.

gdje je a_{i±1/2,j} = a(x_{i}±h_{x}/2, y_{j}), a u_{i,j} predstavlja aproksimaciju od u(x_{i}, y_{j}). Analogan izraz može se ostvariti za parcijalnu derivaciju u y smjeru:

(\frac{∂}{∂y} a\frac{∂u}{∂y}) (x_{i}, y_{j}) ≈ \frac{a_{i,j+1/2}(u_{i,j+1} − u_{i,j}) − a_{i,j−1/2}(u_{i,j} − u_{i,j−1})}{h_{y}^{2}},

gdje je a_{i,j±1/2} = a(x_{i}, y_{j} ±h_{y}/2). Ukoliko a(x, y) ima diskontinuitet u nekoj liniji mreže, tada se uzima aritmetička sredina lijevog i desnog limesa u traženoj točki, obzirom na traženi smjer.

Za aproksimiranje derivacije po vremenu, često se koriste centralne diferencije ili diferencije u nazad. Na primjer, ako je poznata aproksimacija rješenja u_{i,j}^{l} u vremenu t_{l}, i ako koristimo diferencije u nazad po vremenu, tada da bi dobili aproksimaciju rješenja u_{i,j}^{l} u vremenu t_{l+1} = t_{l} + Δt, moramo riješiti sljedeći sustav linearnih jednadžbi:

\frac{u_{i,j}^{l+1} − u_{i,j}^{l}}{Δt} − (\frac{a_{i+1/2,j} (u_{i+1,j}^{l+1} − u_{i,j}^{l+1}) − a_{i−1/2,j} (u_{i,j}^{l+1} − u_{i−1,j}^{l+1})}{h_{x}^{2}}+

+\frac{a_{i,j+1/2} (u_{i,j+1}^{l+1} − u_{i,j}^{l+1}) − a_{i,j−1/2} (u_{i,j}^{l+1} − u_{i,j−1}^{l+1})}{h_{y}^{2}} ) = f_{i,j}^{l+1},

i = 1, …, n_{x}, j = 1, …, n_{y}.  (3.74)

Da bismo napisali jednadžbu (3.74) u matričnom obliku, moramo izabrati neki poredak jednadžbi i nepoznanica. Uobičajeni izbor je tzv. prirodni poredak u kojem su točke mreže numerirane s lijeva na desno, i od dole prema gore, preko pridruživanja (i, j) ⟼ (j − 1)n_{x} + i, kao što se vidi u Slici 3.2. Sa ovakvim poretkom jednadžbe (3.74) mogu se napisati u obliku

Au = f,  (3.75)

gdje je A blok tridijagonalna matrica sa n_{y} dijagonalnih blokova, od kojih je svaki dimenzije n_{x} × n_{x}, u je n_{x}n_{y}-dimenzionalni vektor vrijednosti funkcije u, kod kojeg je u_{i,j} smješten na poziciji (j − 1)n_{x} + i, a f je n_{x}n_{y}-dimenzionalan vektor desne strane sustava kod kojeg je f_{i,j} smješten na poziciji (j − 1)n_{x} + i. Definirajmo

d_{i,j} = \frac{1}{Δt} + \frac{a_{i+1/2,j} + a_{i−1/2,j}}{h_{x}^{2}} + \frac{a_{i,j+1/2} + a_{i,j−1/2}}{h_{y}^{2}} ,  (3.76)

b_{i+1/2,j} = \frac{−a_{i+1/2,j}}{h_{x}^{2}} ,  c_{i,j+1/2} = \frac{−a_{i,j+1/2}}{h_{y}^{2}} .  (3.77)

Matrica sustava se tada može napisati u obliku

A = [ \begin{matrix}S_{1} & T_{3/2} \\ T_{3/2} & ... & ... \\ & ... & ... & T_{n_{y}−1/2} \\ & & T_{n_{y}−1/2} & S_{n_{y}} \end{matrix} ] ,  (3.78)

gdje su

S_{j} = [ \begin{matrix}d_{1,j} & b_{3/2,j} \\ b_{3/2,j} & ... & ... \\ & ... & ... & b_{n_{x}−1/2,j} \\ & & b_{n_{x}−1/2,j} & d_{n_{x},j} \end{matrix} ] ,  (3.79)

T_{j+1/2} = [ \begin{matrix}c_{1,j+1/2} \\ & . & . & . \\ & & & & . & . & . \\ & & & & & & & c_{n_{x},j+1/2} \end{matrix} ] .  (3.80)

Vektor desne strane je oblika

f = [ f_{1,1} ; ⋮ ; f_{n_{x},1} ; f_{1,2} ; ⋮ ; f_{n_{x},n_{y}−1} ; f_{1,n_{y}} ; ⋮ ; f_{n_{x},n_{y}} ] ,  (3.81)

gdje je

f_{i,j} = f_{i,j}^{l+1} + \frac{u_{i,j}^{l}}{Δt} .  (3.82)

Teorem 3.6.1 ([12]). Pretpostavimo da je a(x, y) ≥ α > 0 na ⟨0, 1⟩ × ⟨0, 1⟩. Tada je matrica A definirana sa (3.76–3.80) simetrična i pozitivno definitna.

Dokaz: Simetričnost je očita. Za dokaz pozitivne definitnosti, razlikujemo dva slučaja. Prvi slučaj je situacija opisana prije teorema, odnosno situacija u kojoj je jednadžba (3.72) nestacionarna. Tada je matrica A = (A_{ij}) strogo dijagonalno dominantna, sa pozitivnim dijagonalnim elementima, pa prema Gerschgorinovom teoremu postoji i = 1, …, n, takav da je

A_{ii} − λ ≤ |λ − A_{ii}| ≤ ∑_{j≠i} |A_{ij}| < |A_{ii}| = A_{ii},

za proizvoljnu svojstvenu vrijednost λ od A. Prema tome vrijedi da je λ > 0 za svaku svojstvenu vrijednost λ od A, pa je matrica A pozitivno definitna.

Drugi slučaj je kada je jednadžba (3.72) stacionarna, pa se gubi parcijalna derivacija po vremenu. U tom slučaju, na dijagonali matrice A nestaje sumand 1/Δt, a na desnoj strani u_{i,j}^{l}/Δt. Tako dobivena matrica je tada slabo dijagonalno dominantna, i to apsolutna vrijednost dijagonalnog elementa je strogo veća od sume apsolutnih vrijednosti preostalih elemenata u retku samo ako je odgovarajući čvor mreže, reprezentiran tim retkom, susjedan rubu. Za sve ostale retke vrijedi jednakost. Primjenom Gerschgorinovog teorema sada dobivamo da je λ ≥ 0 za svaku svojstvenu vrijednost λ od A. Pretpostavimo da postoji vektor v različit od nule, takav da je Av = 0, i pretpostavimo da komponenta od v sa najvećom apsolutnom vrijednosti odgovara čvoru mreže (i, j). Možemo izabrati predznak od v tako da je ta komponenta pozitivna. Prema definiciji od A i pretpostavci da je a(x, y) > 0, slijedi da se, raspisivanjem jednakosti Av = 0 po komponentama, v_{i,j} može napisati kao težinska suma okolnih vrijednosti od v:

v_{i,j} = w_{i−1,j}v_{i−1,j} + w_{i+1,j}v_{i+1,j} + w_{i,j−1}v_{i,j−1} + w_{i,j+1}v_{i,j+1},

w_{i±1,j} = \frac{1}{d_{i,j}} \frac{a_{i±1/2,j}}{h_{x}^{2}} , w_{i,j±1} = \frac{1}{d_{i,j}} \frac{a_{i,j±1/2}}{h_{y}^{2}} ,

pri čemu su izrazi koji odgovarju rubnim čvorovima jednaki nuli. Težine w_{i±1,j} i w_{i,j±1} su pozitivne i suma im je jednaka 1. Odatle slijedi, da ako su svi susjedi od točke mreže (i, j) unutarnje točke, tada sve vrijednosti od v na tim točkama moraju imati istu maksimalnu vrijednost, budući da niti jedna ne može imati vrijednost veću od v_{i,j}. Ako ponavljamo ovakav princip zaključivanja na susjedne točke mreže, kad tad naći ćemo točku mreže sa istom maksimalnom vrijednošću za v, koja ima bar jednog susjeda na rubu. Medutim, vrijednost od v u toj točki je tada težinska suma vrijednosti susjednih unutarnjih čvorova, ali sa sumom težina manjom od 1. Tad slijedi da vrijednost od v u jednom od ovih ostalih unutarnjih čvorova mora biti veća od v_{i,j}, ako je v_{i,j} > 0, što je kontradikcija. Zbog toga, jedini vektor v za koji je Av = 0, je nul-vektor, pa su sve svojstvene vrijednosti od A pozitivne, i s time je A pozitivno definitna matrica.

Drugi poretci jednadžbi i nepoznanica su takoder mogući, kao na primjer ako se čvorovi u Slici 3.2 pobojaju kao na šahovskoj tabli, gdje su crveni čvorovi grupirani oko crnih, i obratno, te ako crvene čvorove poredamo najprije, a zatim crne, tada matrica A poprima oblik

A = [ \begin{matrix}D_{1} & B \\ B^{T} & D_{2} \end{matrix} ] ,

gdje su D_{1} i D_{2} dijagonalne matrice.

Matrica oblika (3.76–3.80) se ponekad naziva i aproksimacijom s 5 točaka, budući da se druge derivacije u točki mreže (i, j) aproksimiraju sa izrazima koji sadrže vrijednosti funkcije u toj točci i njezinih četiri susjeda.

3.6.1 Poissonova jednadžba

U specijalnom slučaju kada je koeficijent difuzije a(x, y) konstantan, recimo da je a(x, y) = 1 na Ω, i kada je jednadžba (3.72) stacionarna, tada se takva difuzijska jednadžba naziva Poissonovom jednadžbom. Matrica sustava A u tom slučaju ima poseban oblik:

A = [ \begin{matrix}S & T \\ T ... & ... \\ & ... & ... & T \\ & & T & S \end{matrix} ] ,  (3.83)

gdje je T = (−1/h_{y}^{2})I i

S = [ \begin{matrix}d & b \\ b & ... & ... \\ & ... & ... & b \\ & & b & d \end{matrix} ] ,  d = \frac{2}{h_{x}^{2}} + \frac{2}{h_{y}^{2}} , b = \frac{−1}{h_{x}^{2}}.  (3.84)

Ovaj oblik je poznat pod imenom blok-TST matrica, gdje je “TST” kratica za Toeplitzovu (konstantna duž svih dijagonala), simetričnu i tridijagonalnu matricu. Ovakva matrica je blok-TST matrica jer su blokovi duž bilo koje blok dijagonale jednaki, simetrična je i blok-tridijagonalna je. Što više, svaki od njenih blokova je TST matrica. Svojstvene vrijednosti i svojstveni vektori takve matrice su eksplicitno poznati.

Lema 3.6.2 ([12]). Neka je G m × m TST matrica sa dijagonalnim elementima α i vandijagonalnim elementima β. Tada su svojstvene vrijednosti od G dane sa

λ_{k} = α + 2β cos (\frac{kπ}{m + 1}) , k = 1, …, m,  (3.85)

a odgovarajući ortonormirani svojstveni vektori dani su, po komponentama, sa

q_{l}^{(k)} = \sqrt{\frac{2}{m + 1}} sin (\frac{lkπ}{m + 1}) , l, k = 1, …, m.  (3.86)

Dokaz: Pretpostavimo da je β ≠ 0, jer bi inače G bio multipl od identitete, čime je tvrdnja leme trivijalna. Pretpostavimo da je λ svojstvena vrijednost od G sa odgovarajućim svojstvenim vektorom q. Ako definiramo q_{0} = q_{m+1} = 0, jednakost Aq = λq možemo napisati u obliku

βq_{l−1} + (α − λ)q_{l} + βq_{l+1} = 0, l = 1, …, m.  (3.87)

To je jednadžba linearnih diferencija, i može se riješiti na sličan način kao odgovarajuća linearna diferencijalna jednadžba. Preciznije, razmatramo karakteristični polinom

χ(z) = β + (α − λ)z + βz^{2}.

Ako korijene ovog polinoma označimo sa z_{1} i z_{2}, tada općenito rješenje jednadžbe diferencija (3.87) ima oblik

q_{l} = c_{1}z_{1}^{l} + c_{2}z_{2}^{l}, za konstante c_{1}, c_{2},

pri čemu su konstante odredene iz rubnih uvijeta q_{0} = q_{m+1} = 0.

Korijeni od χ(z) su

z_{1,2} = \frac{λ − α ± \sqrt{(λ − α)^{2} − 4β^{2}}}{2β} ,  (3.88)

a iz uvjeta q_{0} = 0 slijedi da je c_{1} + c_{2} = 0. S druge strane, iz uvjeta q_{m+1} = 0 slijedi:

c_{1}z_{1}^{m+1} + c_{2}z_{2}^{m+1} = 0,

odnosno, zbog prethodne napomene je c_{2} = −c_{1}, a kako nas interesira netrivijalno rješenje slijedi c_{1} ≠ 0, imamo

z_{1}^{m+1} = z_{2}^{m+1}.

Postoji m + 1 rješenja ove jednadžbe, i to

z_{2} = z_{1} exp (\frac{2πkι}{m + 1}) , k = 0, 1, …, m, ι = \sqrt{−1},  (3.89)

medutim, slučaj za k = 0 se može odbaciti, jer je tada z_{2} = z_{1}, a odatle je

q_{l} = c_{1}z_{1}^{l} + c_{2}z_{2}^{l} = c_{1}z_{1}^{l} − c_{1}z_{1}^{l} = 0.

Množeći (3.89) sa exp(−πkι/(m + 1)) i uvrštavajući vrijednosti za z_{1} i z_{2} iz (3.88) dobivamo

(λ − α + \sqrt{(λ − α)^{2} − 4β^{2}}) exp (\frac{−πkι}{m + 1}) =

= (λ − α − \sqrt{(λ − α)^{2} − 4β^{2}}) exp (\frac{πkι}{m + 1}) .

Nakon potrebnih skračivanja, i dijeljenja jednakosti sa 2 imamo

\sqrt{(λ − α)^{2} − 4β^{2}} cos (\frac{kπ}{m + 1}) = (λ − α)ι sin (\frac{kπ}{m + 1}) ,

a nakon kvadriranja obaju strana jednakosti i rješavanja kvadratne jednadžbe po λ

λ^{2} − 2αλ + α^{2} − 4β^{2} cos^{2} (\frac{πk}{m + 1}) = 0,

dobivamo rješenja

λ_{1,2} = α ± 2β cos (\frac{πk}{m + 1}) .

Ako uzmemo rješenje sa znakom plus dobivamo (3.85), dok rješenje sa znakom minus samo ponavlja te iste vrijednosti, pa se stoga može odbaciti.

Uvrštavajući (3.85) u (3.88) dobivamo

z_{1,2} = cos (\frac{kπ}{m + 1}) ± ι sin (\frac{kπ}{m + 1}) ,

pa je zbog toga

q_{l}^{(k)} = c_{1}(z_{1}^{l} − z_{2}^{l}) = 2c_{1}ι sin (\frac{πkl}{m + 1}) , k, l = 1, …, m.

Ako uzmemo da je c_{1} = −(ι/2)\sqrt{2/(m + 1)}, kao kod (3.86), onda se lako provjeri da svaki od vektora q^{(k)} ima normu jedan, jer je

∑_{l=1}^{m} (q_{l}^{(k)})^{2} = \frac{2}{m + 1} ∑_{l=1}^{m} sin^{2} (\frac{lkπ}{m + 1}) = \frac{2}{m + 1} · \frac{1}{2} ∑_{l=1}^{m} [1 − cos (\frac{2lkπ}{m + 1})] =

= \frac{2}{m + 1} [\frac{m}{2} − \frac{1}{2} ∑_{l=1}^{m} cos (\frac{2lkπ}{m + 1})]

odakle se, prelaskom sa kosinusa na realni dio kompleksnog broja, dobiva da je suma kosinusa u zadnjoj jednakosti jednaka -1, čime smo dobili traženi rezultat. Svojstveni vektori su ortogonalni, budući da je matrica simetrična.

Korolar 3.6.3 ([12]). Sve m × m TST matrice medusobno komutiraju.

Dokaz: Prema (3.86) sve takve matrice imaju iste ortonormirane svojstvene vektore. Ako su G_{1} = QΛ_{1}Q^{T} i G_{2} = QΛ_{2}Q^{T}, tada je

G_{1}G_{2} = QΛ_{1}Λ_{2}Q^{T} = QΛ_{2}Λ_{1}Q^{T} = G_{2}G_{1}.

Teorem 3.6.4 ([12]). Svojstvene vrijednosti matrice A, definirane sa (3.83–3.84), su

λ_{j,k} = \frac{4}{h_{x}^{2}} sin^{2} (\frac{jπ}{2(n_{x} + 1)}) + \frac{4}{h_{y}^{2}} sin^{2} (\frac{kπ}{2(n_{y} + 1)}) ,

j = 1, …, n_{x}, k = 1, …, n_{y},  (3.90)

a odgovarajući svojstveni vektori su

u_{m,l}^{(j,k)} = \frac{2}{\sqrt{(n_{x} + 1)(n_{y} + 1)}} sin (\frac{mjπ}{n_{x} + 1}) sin (\frac{lkπ}{n_{y} + 1}) ,

m, j = 1, …, n_{x}, l, k = 1, …, n_{y},  (3.91)

gdje u_{m,l}^{(j,k)} označava komponentu koja odgovara točki mreže (m, l) svojstvenog vektora, pridruženog svojstvenoj vrijednosti λ_{j,k}.

Dokaz: Neka je λ neka svojstvena vrijednost od A sa odgovarajućim svojstvenim vektorom u, koji se može particionirati u oblik

u = [ u_{1} ; ⋮ ; u_{n_{y}} ] , u_{l} = [ u_{1,l} ; ⋮ ; u_{n_{x},l} ] , l = 1, …, n_{y}.

Jednakost Au = λu može se tada napisati u obliku

T u_{l−1} + (S − λI)u_{l} + T u_{l+1} = 0, l = 1, …, n_{y},  (3.92)

gdje smo postavili da je u_{0} = u_{n_{y}+1} = 0. Prema Lemi 3.6.2, možemo napisati da je S = QΛ_{S}Q^{T} i T = QΛ_{T} Q^{T}, gdje su Λ_{S} i Λ_{T} dijagonalne matrice, sa j-tim dijagonalnim elementima jednakim

λ_{S,j} = \frac{2}{h_{x}^{2}} + \frac{2}{h_{y}^{2}} − \frac{2}{h_{x}^{2}} cos (\frac{jπ}{n_{x} + 1}) , λ_{T,j} = \frac{−1}{h_{y}^{2}}.

m-ti element j-tog stupca od Q jednak je

q_{m}^{(j)} = \sqrt{\frac{2}{n_{x} + 1}} sin (\frac{mjπ}{n_{x} + 1}) , m, j = 1, …, n_{x}.

Pomnožimo (3.92) sa Q^{T} slijeva kako bi dobili

Λ_{T} y_{l−1} + (Λ_{S} − λI)y_{l} + Λ_{T} y_{l+1} = 0, y_{l} = Q^{T} u_{l}, l = 1, …, n_{y}.

Budući da su ovdje sve matrice dijagonalne, jednakosti duž vertikalnih linija u mreži imaju oblik

λ_{T,j}y_{j,l+1} + λ_{S,j}y_{j,l} + λ_{T,j}y_{j,l−1} = λy_{j,l}, j = 1, …, n_{x}.  (3.93)

Ako je, za fiksnu vrijednost od j, vektor [y_{j,1} … y_{j,n_{y}}]^{T} svojstveni vektor TST matrice

[ \begin{matrix}λ_{S,j} & λ_{T,j} \\ λ_{T,j} & ... & ... \\ & ... & ... & λ_{T,j} \\ & & λ_{T,j} & λ_{S,j} \end{matrix} ] ,

sa odgovarajućom svojstvenom vrijednošću λ, i ako su sve ostale komponenete vektora y jednake 0, tada će jednakost (3.93) biti zadovoljena. Ponovo prema Lemi 3.6.2, svojstvene vrijednosti ove matrice jednake su

λ_{j,k} = λ_{S,j} + 2λ_{T,j} cos (\frac{kπ}{n_{y} + 1}) =
= \frac{2}{h_{x}^{2}} + \frac{2}{h_{y}^{2}} − \frac{2}{h_{x}^{2}} cos (\frac{jπ}{n_{x} + 1}) − \frac{2}{h_{y}^{2}} cos (\frac{kπ}{n_{y} + 1}) =
= \frac{4}{h_{x}^{2}} sin^{2} (\frac{jπ}{2(n_{x} + 1)}) + \frac{4}{h_{y}^{2}} sin^{2} (\frac{kπ}{2(n_{y} + 1)}) ,

za k = 1, …, n_{y}. Pripadajući svojstveni vektori su

y_{j,l}^{(j,k)} = \sqrt{\frac{2}{n_{y} + 1}} sin (\frac{lkπ}{n_{y} + 1}) .

Budući da je l-ti blok od u^{(j,k)} jednak Q puta l-ti blok od y, i budući da je samo j-ta komponenta l-tog bloka od y različita od nule, imamo

u_{m,l} = q_{m}^{(j)}y_{j,l}^{(j,k)} = \frac{2}{\sqrt{(n_{x} + 1)(n_{y} + 1)}} sin (\frac{mjπ}{n_{x} + 1}) sin (\frac{lkπ}{n_{y} + 1}) .

Dobivanjem svojstvenih vrijednosti λ_{j,k} i odgovarajućih svojstvenih vektora u^{(j,k)} za svako j = 1, …, n_{x}, sada imamo sve n_{x}n_{y} svojstvene parove od A.

Kao poslijedica ovog teorema, vidimo da je matrica dobivena aproksimacijom s 5 točaka Poissonove jednadžbe M matrica, prema (iv) tvrdnji Teorema 3.3.12.

Korolar 3.6.5 ([12]). Pretpostavimo da je h_{x} = h_{y} = h. Tada se najmanja i najveća svojstvena vrijednost od A u (3.83–3.84) ponašaju kao

2π^{2} + O(h^{2})  i  8h^{−2} + O(1)  (3.94)

kada h → 0, tako da je uvjetovanost matrice A jednaka

\frac{4}{π^{2}} h^{−2} + O(1).

Dokaz: Najmanja svojstvena vrijednost od A je ona sa j = k = 1, a najveća je ona sa j = k = n_{x} = n_{y} u (3.90):

λ_{min} = 8h^{−2} sin^{2} (\frac{πh}{2}) , λ_{max} = 8h^{−2} sin^{2} (\frac{π}{2} − \frac{πh}{2}) .

Razvojem funkcija sin(x) i sin(π/2 − x) = cos(x) u Taylorov red dobivamo traženi rezultat (3.94), a dijeljenjem λ_{max} sa λ_{min} dobivamo ocjenu za broj uvjetovanosti.

3.6.2 Prekondicioniranje sustava Poissonove jednadžbe

Promotrit ćemo neke konkretne načine prekondicioniranja linearnog sustava dobivenog iz Poissonove jednadžbe. Najprije napomenimo da je ova matrica specifičnog oblika: blok TST matrica, da je za a > 0 pozitivno definitna, i da ako numeriramo čvorove mreže na crveno–crni način, kao na šahovskoj tabli, tada ćemo dobiti matricu oblika (3.33). Može se pokazati da za bilo koju numeraciju čvorova mreže matrica zadovoljava svojstvo (3.35). Svojstvene vrijednosti ove matrice su eksplicitno zadane iz tvrdnji Teorema 3.6.4.

Jacobi, Gauss–Seidel, SOR

Sada ćemo pretpostaviti da je h_{x} = h_{y} = h, odnosno n_{x} = n_{y} = m i n = m^{2}. Jacobijeva matrica je tada oblika

G_{J} = I − \frac{h^{2}}{4} A,

tako da su joj svojstvene vrijednosti oblika

λ_{i,k}(G_{J}) = 1 − sin^{2} (\frac{iπ}{2(m + 1)}) − sin^{2} (\frac{kπ}{2(m + 1)}) , i, k = 1, …, m.

Prema dokazu Korolara 3.6.5, imamo

ρ(G_{J}) = max_{i,k} |1 − sin^{2} (\frac{iπ}{2(m + 1)}) − sin^{2} (\frac{kπ}{2(m + 1)})| =
= 1 − \frac{π^{2}}{2} h^{2} + O(h^{4}).  (3.95)

Ako znamo vrijednost od ρ(G_{J}), Teorem 3.2.21 će nam dati optimalnu vrijednost za ω, kao i stopu konvergencije SOR metode za proizvoljnu vrijednost ω. Iz tog teorema slijedi

ω_{opt} = \frac{2}{1 + \sqrt{π^{2}h^{2} + O(h^{4})}} = 2(1 − πh) + O(h^{2}),

pa je zbog toga

ρ(G_{SOR,ω_{opt}}) = ω_{opt} − 1 = 1 − 2πh + O(h^{2}).  (3.96)

Prema Korolaru 3.2.20, za Gauss–Seidelovu metodu imamo

ρ(G_{GS}) = [ρ(G_{J})]^{2} = 1 − π^{2}h^{2} + O(h^{4}).  (3.97)

Usporedujući (3.95–3.97) uz ignoriranje potencije od h višeg reda, možemo zaključiti da SOR metoda sa optimalnim parametrom ω daleko najbrže konvergira, dok je Jacobijeva metoda najslabija.

Nekompletne faktorizacije

Povjesno gledano, matrice prekondicioniranja temeljene na nekompletnim faktorizacijama razvijene su najprije za matrice sa specifičnom pravilnom strukturom, kao što je matrica dobivena diskretizacijom Poissonove jednadžbe. Kao osnovna značajka ovako strukturiranih matrica je posjedovanje malog broja netrivijalnih dijagonala. Ako gledamo izgled matrice u ovisnosti o čvorovima mreže, tada vidimo da su u i-tom retku jedini netrivijalni vandijagonalni elementi na pozicijama i + 1 i i − 1 za horizontalne susjede čvora mreže reprezentiranim ovim retkom, i na pozivijama i + m i i − m za vertikalne susjede. Ako i-ti redak reprezentira čvor mreže (k, l), tada se, kao što smo već prije vidjeli, radi o susjednim čvorovima (i + 1, j), (i − 1, j), (i, j + 1) i (i, j − 1). Ako izvršimo nekompletnu faktorizaciju Choleskog nad tom matricom, tada će faktor L imati istu strukturu netrivijalni elemenata kao donji trokut polazne matrice. Medutim produkt LL^{T} ima još dodatne netrivijalne m − 1-e sporedne dijagonale u gornjem i donjem trokutu, što se lako provjeri uvrštavanjem stvarnih vrijednosti. Dakle, u i-tom retku pojavit će se još dodatni netrivijalni elementi na pozicijama i + m − 1 i i − m + 1, koje odgovaraju čvorovima mreže (i − 1, j + 1) i (i + 1, j − 1). Ovo dakako vrijedi za nekompletnu faktorizaciju tipa IC(0). Ako promatramo, nadalje, IC(1) faktorizaciju, tada se vidi da je struktura netrivijalni elemenata od L jednaka strukturi netrivijalnih elemenata donjeg trokuta LL^{T} produkta IC(0) faktorizacije.

IC(0) faktorizaciju ove matrice pogodno je promatrati kao nekompletnu faktorizaciju oblika LDL^{T}, gdje je D dijagonalna matrica, i pri čemu je d_{ii} = l_{ii}^{−1}. Označimo sa a glavnu dijagonalu od A, sa b prvu donju sporednu dijagonalu, i sa c m-tu donju sporednu dijagonalu. Nadalje, označimo sa e glavnu dijagonalu matrice L, sa f njenu prvu donju sporednu dijagonalu, i sa g njenu m-tu donju sporednu dijagonalu, te sa d glavnu dijagonalu od D. Tada imamo

f = b, g = c,
e_{i} = d_{i}^{−1} = a_{i} − f_{i−1}^{2}d_{i−1} − g_{i−m}^{2}d_{i−m}, i = 1, …, n.

Produkt M = LDL^{T} ima i-ti redak oblika

⋯ 0 c_{i−m} r_{i−m+1} 0 ⋯ 0 b_{i−1} a_{i} b_{i} 0 ⋯ 0 r_{i} c_{i} 0 ⋯,

gdje je

r_{i} = \frac{b_{i−1}c_{i−1}}{e_{i−1}} .

Promatrajmo sada matricu A = A_{h} = (a_{ij}) definiranu sa (3.76–3.80), koju dobivamo iz aproksimacije s 5 točaka stacionarne difuzijske jednadžbe, ili općenitije, promatrajmo bilo koju matricu A_{h}, dobivenu aproksimiranjem pomoću konačnih diferencija eliptične diferencijalne jednandžbe drugog stupnja, sa korakom mreže h,

Lu = −\frac{∂}{∂x} (α_{1} \frac{∂u}{∂x}) − \frac{∂}{∂y} (α_{2} \frac{∂u}{∂y}) = f  (3.98)

definirane na području Ω ⊂ ℝ^{2}, sa odgovarajućim rubnim uvjetima na ∂Ω. Pretpostavimo da je α_{i} = α_{i}(x, y) ≥ α > 0, i = 1, 2. U tom slučaju je prema Teoremu 3.6.1 matrica A simetrična i pozitivno definitna.

Ovakva matrica obično ima nekoliko posebnih svojstava. Prvo je lokalno svojstvo, tj. ako je a_{ij} ≠ 0, tada je udaljenost od čvora i do čvora j zadane mreže ograničena sa produktom konstante (neovisne o h) i parametra h. To možemo označiti sa O(h), a ovo svojstvo je vidljivo i iz definicije matrice (3.78). Drugo, budući da svaki produkt Av aproksimira Lv(x, y), gdje je v(x, y) funkcija reprezentirana vektorom v, i budući da djelovanje operatora L na konstantnu funkciju v daje 0, slijedi da je suma elemenata iz svakog retka od A jednaka 0, osim možda za retke koji predstavljaju točke mreže, koje su susjedne rubu od Ω. Pretpostavimo da je A skalirana (pomnožena sa h^{2}), tako da su netrivijalni elementi od A reda veličine O(1). Dimenzija matrice A je n = m^{2} = O(h^{−2}). Tipičan primjer je aproksimacija s 5 točaka Poissonove jednadžbe (pomnožene sa h^{2}), za koju je

A = [ \begin{matrix}T & −I \\ −I & T & ... \\ & ... & ... & −I \\ & & −I & T \end{matrix} ] , T = [ \begin{matrix}4 & −1 \\ −1 & 4 & ... \\ & ... & ... \end{matrix} ] .  (3.99)

Ako je A = M − R rastav od A, i ako je M = LL^{T}, tada su najveća i najmanja svojstvena vrijednost λ_{max}(M^{−1}A) i λ_{min}(M^{−1}A) prekondicionirane matrice M^{−1}A jednake odgovarajućim svojstvenim vrijednostima od L^{−1}AL^{−T}, zbog sličnosti tih dviju matrica. Vrijedi

λ_{max}(M^{−1}A) = max_{w≠0} \frac{⟨L^{−1}AL^{−T} w, w⟩}{⟨w, w⟩} = max_{w≠0} \frac{⟨AL^{−T} w, L^{−T} w⟩}{⟨w, w⟩} =
= max_{v=L^{−T} w≠0} \frac{⟨Av, v⟩}{⟨L^{T} v, L^{T} v⟩} = max_{v≠0} \frac{⟨Av, v⟩}{⟨Mv, v⟩},

pri čemu je v = L^{−T} w. Analogno je

λ_{min}(M^{−1}A) = min_{v≠0} \frac{⟨Av, v⟩}{⟨Mv, v⟩}.

Nadalje, je

\frac{⟨Av, v⟩}{⟨Mv, v⟩} = \frac{1}{1 + ⟨Rv, v⟩/⟨Av, v⟩}.  (3.100)

Pretpostavimo da vektor v predstavlja funkciju v(x, y) ∈ C_{0}^{1}(Ω), gdje je C_{0}^{1}(Ω) prostor neprekidno diferencijabilnih funkcija sa 0 na rubu od Ω. Sumirajući po elementima i koristeći simetričnost matrice A, imamo

⟨Av, v⟩ = ∑_{i} ∑_{j} a_{ij}v_{i}v_{j} =

= ∑_{i} a_{ii}v_{i}^{2} + 2 ∑_{i} ∑_{j>i} a_{ij}v_{i}v_{j} =
= − ∑_{i} ∑_{j>i} a_{ij}(v_{i} − v_{j})^{2} + ∑_{i} ∑_{j} a_{ij}v_{i}^{2}.  (3.101)

Zbog svojstva da je suma elemenata u retku matrice A jednaka 0, imamo da je ∑_{j} a_{ij}v_{i}^{2} = 0, osim ako je čvor i susjed rubu od Ω, a to se dogada samo ako je udaljenost od čvora i do ruba ograničena sa O(h). Kako je v(x, y) ∈ C_{0}^{1}(Ω), slijedi da je u takvim točkama, prema Taylorovom teoremu srednje vrijednosti,

v(x, y) = v(x_{r}, y_{r}) + ⟨∇v(x_{r} + θ(x − x_{r}), y_{r} + θ(y − y_{r})), [ \begin{matrix}x − x_{r} \\ y − y_{r} \end{matrix} ]⟩ ,

za točku na rubu (x_{r}, y_{r}), i neki θ ∈ ⟨0, 1⟩, pri čemu su (x, y) koordinate čvora i. Kako je v(x_{r}, y_{r}) = 0, imamo

|v_{i}| ≤ ∥∇v(x_{r} + θ(x − x_{r}), y_{r} + θ(y − y_{r}))∥_{2} ∥[ \begin{matrix}x − x_{r} \\ y − y_{r} \end{matrix} ]∥_{2} ≤ O(h).

Kako su netrivijalni elementi od A reda veličine O(1), druga suma u (3.101) je ograden sa veličinom jednakom broju čvorova i koji su susjedni sa rubom ∂Ω puta O(h^{2}).

Zbog lokalnog svojstva matrice A, slijedi da za čvorove i i j takve da je a_{ij} ≠ 0, udaljenost izmedu čvorova i i j je O(h). Ako sa (x_{i}, y_{i}) i (x_{j}, y_{j}) označimo točke u ℝ^{2} koje predstavljaju čvorove i i j, tada ponovo zbog Taylorovog teorema srednje vrijednosti imamo da je

|v_{i} − v_{j}| ≤ ∥∇v(x_{j} + θ(x_{i} − x_{j}), y_{j} + θ(y_{i} − y_{j}))∥_{2} ∥[ \begin{matrix}x_{i} − x_{j} \\ y_{i} − y_{j} \end{matrix} ]∥_{2} ≤ O(h),

za neko θ ∈ ⟨0, 1⟩. Kako u prvoj sumi u (3.101) sumiramo po svim netrivijalnim elementima gornjeg trokuta matrice A, (to su 1. i m-ta gornja sporedna dijagonala) sumanada u toj sumi ima O(n) = O(h^{−2}), i svaki je reda veličine O(h^{2}), vrijedi

|∑_{i} ∑_{j>i} a_{ij}(v_{i} − v_{j})^{2}| ≤ O(1).

I za matricu reziduala R, takoder možemo pisati

⟨Rv, v⟩ = − ∑_{i} ∑_{j>i} r_{ij}(v_{i} − v_{j})^{2} + ∑_{i} ∑_{j} r_{ij}v_{i}^{2}.  (3.102)

Pretpostavimo da i matrica R ima isto svojstvo da netrivijalni elementi r_{ij} odgovaraju samo čvorovima i i j koji su udaljeni za O(h), i pretpostavimo sa su netrivijalni elementi od R reda veličine O(1) (ali možda manji od reda veličine elemenata od A). To jest slučaj kod nekompletne faktorizacije Choleskog matrice dobivene iz difuzijske jednadžbe. r_{ij} je različit od nule samo ako je j = i + m − 1 ili j − m + 1. Ti čvorovi odgovaraju čvorovima koji su od čvora i udaljeni za \sqrt{2}h.

i + m − 1

i

i − m + 1

Prema tome, zbog istih argumenata korištenih kod matrice A, prva suma u (3.102) je ograničena po apsolutnoj vrijednosti sa O(1).

Ograda drugog izraza u (3.101) ovisi o svojstvu matrice A da je suma elemenata u svakom retku jednaka 0. Medjutim, ovo svojstvo ne mora vrijediti za matricu R, što više u našem slučaju ne vrijedi, budući da je prema Korolaru 3.4.4 nekompletna dekompozicija regularni rastav, pa su svi elementi od R nenegativni. Stoga ova druga suma može biti prilično velika. Ona je ograničena sa brojem netrivijalnih elemenata od R u recima koji odgovaraju čvorovima koji nisu na rubu, što je reda veličine O(n) = O(h^{−2}) (gornja i donja m − 1-a sporedna dijagonala), puta najveća vrijednost od r_{ij}, što je reda veličine O(1), puta kvadrat najveće vrijednosti funkcije v(x, y) na unutrašnjim čvorovima područja Ω, što je reda veličine O(1). Prema tome, druga suma u (3.102) može biti reda veličine O(h^{−2}). Dakle, imamo:

⟨Av, v⟩ = O(1) + O(h^{2}) = O(1),
⟨Rv, v⟩ = O(1) + O(h^{−2}) = O(h^{−2}),

jer znamo da je h ≪ 1. Za vektore v koji predstavljaju C_{0}^{1}-funkciju, kvocijent ⟨Rv, v⟩/ ⟨Av, v⟩ u (3.100) je stoga reda veličine O(h^{−2}), i još ako je ⟨Rv, v⟩ pozitivan, (kako je R ≥ 0, to će vrijediti za bilo koji vektor v ≥ 0), tada je kvocijent ⟨Av, v⟩/⟨Mv, v⟩ u (3.100) reda veličine O(h^{2}). Prema tome je λ_{min}(M^{−1}A) najviše reda veličine O(h^{2}). S druge strane, ako uzmemo prvi jedinični vektor ξ_{1}, tada je ⟨Aξ_{1}, ξ_{1}⟩/⟨Mξ_{1}, ξ_{1}⟩ = 1, pa je λ_{max}(M^{−1}A) barem reda O(1). Slijedi da je broj uvjetovanosti prekondicionirane matrice M^{−1}A najmanje O(h^{−2}), što je istog reda veličine kao i κ(A), prema Korolaru 3.6.5, odakle se vidi da nismo postigli zadovoljavajuće poboljšanje.

Modificirana nekompletna faktorizacija Choleskog

Zbog prethodno iznesenog razmatranja, sljedeći nam je zadatak pronaći matricu prekondicioniranja M = LL^{T}, takvu da je A = M − R i da je |⟨Rv, v⟩| = O(h^{−1}) za v(x, y) ∈ C_{0}^{1}, kako bismo mogli dobiti prekondicioniranu matricu sa brojem uvjetovanosti reda veličine O(h^{−1}) umjesto O(h^{−2}). Pretpostavimo da je A napisana u obliku A = M − R, gdje je

R = R̂ + E  (3.103)

i gdje je R̂ negativno semidefinitna matrica (⟨R̂v, v⟩ ≤ 0, ∀v), ∑_{j} r̂_{ij} = 0 ∀i, i E je pozitivno definitna dijagonalna matrica. Pretostavimo takoder da R̂ ima netrivijalne elemente samo na pozicijama (i, j) koje odgovaraju čvorovima i i j koji su udaljeni za O(h) jedan od drugoga. Izbor matrice E ovisi o rubnim uvjetima. Za Dirichletov problem, na primjer, izabrat ćemo E = ηh^{2} diag(A), gdje je η > 0 parametar.

Kao i u dokazu da je apsolutna vrijednost prve sume u (3.101) reda veličine O(1), imamo da je zbog gornje pretpostavke lokalnog svojstva matrice R̂,

|∑_{i} ∑_{j>i} r_{ij}(v_{i} − v_{j})^{2}| = |∑_{i} ∑_{j>i} r̂_{ij}(v_{i} − v_{j})^{2}| ≤ O(1),

pa je prema (3.102)

⟨Rv, v⟩ = ∑_{i} ∑_{j} r_{ij}|v_{i}|^{2} + O(1),

kada je v(x, y) ∈ C_{0}^{1}(Ω). Kako su sume elemenata u svakom retku od R̂ jednake nula i kako su netrivijalni elementi od E reda veličine O(h^{2}), imamo

⟨Rv, v⟩ = ∑_{i} ∑_{j} r̂_{ij}|v_{i}|^{2} + ∑_{i} e_{ii}|v_{i}|^{2} + O(1) = O(h^{2}) + O(1) = O(1),

čime je nužan uvijet |⟨Rv, v⟩| ≤ O(h^{−1}) sigurno zadovoljen. Teorem koji slijedi, i kojeg je dokazao Gustafsson, daje dovoljne uvjete za dobivanje prekondicionirane matrice sa brojem uvjetovanosti O(h^{−1}).

Teorem 3.6.6 ([12]). Neka je A = M − R, gdje je R oblika (3.103), R̂ je negativno semidefinitna, zatim, suma elemenata u svakom retku od R̂ je jednaka nuli, i R̂ zadovoljava lokalno svojstvo, te neka je E pozitivno definitna dijagonalna matrica sa dijagonalnim elementima reda veličine O(h^{2}). Tada je dovoljan uvjet za dobivanje λ_{max}(M^{−1}A)/λ_{min}(M^{−1}A) = O(h^{−1}) :

0 ≤ −⟨R̂v, v⟩ ≤ (1 + ch)^{−1}⟨Av, v⟩  ∀v,  (3.104)

gdje je c > 0 neovisan o h.

Dokaz: Najprije napomenimo da u ovom slučaju promatramo matricu dobivenu aproksimacijom s 5 točaka Poissonove jednadžbe pomnoženu sa h^{2}. Tada, prema Korolaru 3.6.5 postoje konstante c_{1} i c_{2}, neovisne o h, takve da je

c_{1}h^{2} ≤ λ_{min}(A) ≤ \frac{⟨Av, v⟩}{⟨v, v⟩} ≤ λ_{min}(A) ≤ c_{2},

za proizvoljni v ≠ 0. Kako su E i A pozitivno definitne, i dijagonalni elementi od E su reda veličine O(h^{2}), slijedi da je

0 < \frac{⟨Ev, v⟩}{⟨Av, v⟩} ≤ \frac{ĉ_{3}h^{2}}{c_{1}h^{2}} ≤ c_{3}

za neku konstantu c_{3}. Iz (3.100) i činjenice da je E pozitivno definitna, a R̂ negativno semidefinitna, te iz pretpostavke (3.104), slijedi da je

\frac{⟨Av, v⟩}{⟨Mv, v⟩} ≥ \frac{⟨Av, v⟩}{⟨Mv, v⟩ − ⟨R̂v, v⟩} = \frac{⟨Av, v⟩}{⟨Av, v⟩ + ⟨Ev, v⟩} =
= \frac{1}{1 + ⟨Ev, v⟩/⟨Av, v⟩} ≥ (1 + c_{3})^{−1} = O(1),

i s druge strane

\frac{⟨Av, v⟩}{⟨Mv, v⟩} ≤ \frac{⟨Av, v⟩}{⟨Av, v⟩ + ⟨R̂v, v⟩} = \frac{1}{1 + ⟨R̂v, v⟩/⟨Av, v⟩} ≤
≤ \frac{1 + ch}{ch} = \frac{1}{ch} + 1 = O(h^{−1}),

pa je prema tome

λ_{min}(M^{−1}A) = O(1), λ_{max}(M^{−1}A) = O(h^{−1}).

Dakle možemo zaključiti da je broj uvjetovanosti prekondicionirane matrice, λ_{max}(M^{−1}A)/ λ_{min}(M^{−1}A) reda veličine O(h^{−1}).

Kada je A matrica koja dolazi od diskretizacije jednadžbe (3.98), jednostavna modifikacija nekompletne faktorizacije Choleskog, poznata pod imenom modificirana nekompletna faktorizacija Choleskog (MIC), rezultira matricom prekondicioniranja M kojoj je λ_{max}(M^{−1}A)/λ_{min}(M^{−1}A) = O(h^{−1}). Neka je L donje trokutasta matrica, sa nulama na pozicijama koje odgovaraju indeksima iz nekog skupa P. Izaberimo netrivijalne elemente od L tako da se M = LL^{T} poklapa sa A na pozicijama koje nisu u P, osim glavne dijagonale. Definirajmo E = ηh^{2} diag(A), i postavimo elemente od R̂ = LL^{T} − (A + E) tako da u svakom retku daju sumu jednaku nuli. Može se pokazati, slično kao i za nemodificiranu nekompletnu faktorizaciju Choleskog, da takva faktorizacija postoji za općenite M- matrice A, i da su vandijagonalni elementi od R̂ nenegativni, dok su dijagonalni elementi negativni (minus suma elemenata u retku). I u ovom slučaju je najpopularniji izbor za skup P skup pozicija u kojima A ima nule, tako da L ima isti raspored nula kao i donji trokut od A.

Kada A ima raspored nula kao aproksimacija s 5 točaka (3.76–3.80), to se može postići na sljedeći način. Ponovo je pogodno modificiranu nekompletnu faktorizaciju Choleskog napisati u obliku LDL^{T}, gdje je D dijagonalna matrica. Označimo sa a glavnu dijagonalu od A, sa b prvu donju sporednu dijagonalu, i sa c m-tu donju sporednu dijagonalu od A. Nadalje, označimo sa e glavnu dijagonalu od L, sa f prvu donju sporednu dijagonalu, i sa g m-tu donju sporednu dijagonalu od L, te sa d označimo glavnu dijagonalu od D, a sa r m − 1-u donju sporednu dijagonalu od R. Tada imamo

f = b, g = c,

i za i = 1, …, n

e_{i} = d_{i}^{−1} = a_{i}(1 + ηh^{2}) − f_{i−1}^{2}d_{i−1} − g_{i−m}^{2}d_{i−m} − r_{i−1} − r_{i−m},  (3.105)
r_{i} = f_{i}g_{i}d_{i},  (3.106)

pri čemu su oni elementi koji ovdje nisu definirani jednaki nuli. Matrica R̂ u (3.103) zadovoljava

r̂_{i,i+m−1} = r̂_{i+m−1,i} = r_{i−1},  r̂_{i,i} = −r_{i−1} − r_{i−m},

a svi ostali elementi od R̂ su jednaki nuli.

Sada ćemo pokazati rezultat koji je dobio Gustafsson za matricu A dobivenu iz aproksimacije s 5 točaka Poissonove jednadžbe, koji tvrdi da prekondicionirana matrica L^{−1}AL^{−T} ima broj uvjetovanosti reda veličine O(h^{−1}).

Lema 3.6.7 ([12]). Neka su r_{i}, i = 1, …, n − m elementi definirani sa (3.105–3.106) za matricu A dobivenu iz aproksimacije s 5 točaka Poissonove jednadžbe. Tada je

0 ≤ r_{i} ≤ \frac{1}{2(1 + ch)},

gdje je c > 0 neovisan o h.

Dokaz: Prvo ćemo pokazati da je

e_{i} ≥ 2(1 + \sqrt{2η}h), ∀i.

Za zadani model, jednakosti (3.105–3.106) mogu se, uz uvrštavanje vrijednosti od f_{i−1}, g_{i−m}, d_{i−1}, d_{i−m}, r_{i−1}, i r_{i−m}, napisati u obliku

e_{i} = a_{i}(1 + ηh^{2}) − b_{i−1}(b_{i−1} + c_{i−1})/e_{i−1} − c_{i−m}(c_{i−m} + b_{i−m})/e_{i−m},

a nakon uvrštavanja a_{i} = 4, b_{i} = c_{i} = −1, ∀i, imamo

e_{i} = 4(1 + ηh^{2}) − 2/e_{i−1} − 2/e_{i−m}.

Za i = 1, imamo da je

e_{1} = 4(1 + ηh^{2}) ≥ 2(1 + \sqrt{2η}h).

Pretpostavimo da je e_{j} ≥ 2(1 + \sqrt{2η}h), za sve j = 1, …, i − 1. Tada imamo

e_{i} ≥ 4(1 + ηh^{2}) − 2/(1 + \sqrt{2η}h) ≥
≥ 4(1 + ηh^{2}) − 2(1 − \sqrt{2η}h + 2ηh^{2}) =
= 2 + 2\sqrt{2η}h.

Budući da je r_{i} = b_{i}c_{i}/e_{i}, dobivamo

0 ≤ r_{i} ≤ \frac{1}{2(1 + \sqrt{2η}h)}.

Teorem 3.6.8 ([12]). Neka je M = LL^{T} sa netrivijalnim elementima definiranim u (3.105–3.106), i neka je A matrica dobivena iz aproksimacije s 5 točaka Poissonove jednadžbe. Tada je λ_{max}(M^{−1}A)/λ_{min}(M^{−1}A) = O(h^{−1}).

Dokaz: Za ovaj model, koristeći izraz (3.101), imamo

⟨Av, v⟩ ≥ − ∑_{i}[b_{i}(v_{i} − v_{i+1})^{2} + c_{i}(v_{i} + v_{i+m})^{2}],

za bilo koji vektor v. Medutim, kako je u našem slučaju b_{i} = c_{i} = −1, ∀i, dobivamo

⟨Av, v⟩ ≥ ∑_{i:b_{i},c_{i}≠0}[(v_{i} − v_{i+1})^{2} + (v_{i} − v_{i+m})^{2}].  (3.107)

Analogan izraz za ⟨R̂v, v⟩, budući da je suma elemenata u svakom retku jednaka nuli, daje

⟨R̂v, v⟩ = − ∑_{i} ∑_{j>i} r̂_{ij}(v_{i} − v_{j})^{2} = − ∑_{i} r_{i−1}(v_{i} − v_{i+m−1})^{2}.

Budući da je je R̂ simetrična matrica, sa nenegativnim elementima van dijagonale, i sa sumom elemenata u svakom retku jednakom nuli, prema Gerschgorinovom teoremu imamo, da za svaku svojstvenu vrijednost λ od R̂, postoji indeks i takav da je

λ − r̂_{ii} ≤ ∑_{j≠i} r̂_{ij} = −r̂_{ii},

odakle je λ ≤ 0, odnosno možemo zaključiti da je R̂ negativno semidefinitna. Prema Lemi 3.6.7 slijedi da je

−⟨R̂v, v⟩ ≤ \frac{1}{2(1 + ch)} ∑_{i:r_{i−1}≠0}(v_{i} − v_{i+m−1})^{2}.  (3.108)

Koristeći nejednakost \frac{1}{2}(a − b)^{2} ≤ (a − c)^{2} + (c − b)^{2}, koja vrijedi za bilo koje realne brojeve a, b, i c (slijedi iz \frac{1}{2}[(a + b) − 2c]^{2} ≥ 0), nejednakost (3.108) može se napisati u obliku

−⟨Rv, v⟩ ≤ \frac{1}{1 + ch} ∑_{i:r_{i−1}≠0}[(v_{i} − v_{i−1})^{2} + (v_{i−1} − v_{i+m−1})^{2}],

odnosno

−⟨Rv, v⟩ ≤ (1 + ch)^{−1} ∑_{i:r_{i}≠0}[(v_{i+1} − v_{i})^{2} + (v_{i} − v_{i+m})^{2}].

Budući da je r_{i} različit od nule samo kada su i b_{i} i c_{i} različiti od nule, ovu nejednakost kombiniramo sada sa (3.107) kako bi dobili

−⟨R̂v, v⟩ ≤ (1 + ch)^{−1}⟨Av, v⟩.

Traženi rezultat slijedi iz Teorema 3.6.6.

Dakle, za dovoljno malu vrijednost od h, jasno je da MIC(0) daje bolju uvjetovanost prekondicionirane matrice od IC(0), u slučaju aproksimacije s 5 točaka Poissonove jednadžbe. Prema tome očekujemo da će CG metoda prekondicionirana sa MIC(0) bolje konvergirati od one prekondicionirane sa IC(0).

Multigrid metode

Do sada smo se bavili načinima prekondicioniranja za općenite klase matrica. Originalan problem, koji je aproksimiran problemom rješavanja linearnog sustava, nije igrao nikakvu ulogu u konstrukciji matrice prekondicioniranja. Metode, koje će biti predstavljene u ovom i sljedećem poglavlju, dizajnirane su za dobivanje prekondicioniranja sustava koji su dobiveni diskretizacijom diferencijalnih jednadžbi.

Originalno, multigrid metode razvijene su za rješavanje rubnih problema, smještenih na odredenim prostornim domenama. Takvi problemi su se diskretizirali izborom skupa točaka iz domene problema, koje su tvorile mrežu (grid). Rezultirajući diskretni problem postaje problem rješavanja sistema linearnih jednadžbi, pridružen izabranim točkama mreže. Na taj način, fizička mreža se pojavljuje kao prirodan faktor u formulaciji zadanih rubnih problema. Kao što ćemo vidjeti u daljnim razmatranjima, nakon potrebne analize može se pokazati da rješavanje tog diskretnog sustava na raznim mrežama (sve grubljim i grubljim) predstavlja temelj za metodu sa dobrim svojstvima konvergencije. Ovakve metode se mogu koristiti za široku klasu problema, i nisu ograničene samo za odredenu diferencijalnu jednadžbu, pa se čak koriste i za probleme koji nisu povezani ni sa kakvom fizičkom mrežom. Polazni multigrid pristup u sadašnjici se apstrahirao i proširio se na puno širi skup problema, u obliku kojeg nazivamo algebarske multigrid metode.

4.1 Osnove multigrid metoda

Multigrid metode nisu originalno bile opisane kao kombinacija neke iterativne metode i prekondicioniranja, ali one se, kao što ćemo pokazati, mogu gledati na taj način. Prve multigrid metode koristile su jednostavne iteracije

x_{k} = x_{k−1} + M^{−1}(b − Ax_{k−1}),

čija je greška e_{k} = A^{−1}b − x_{k}, dana tada sa

e_{k} = (I − M^{−1}A)e_{k−1}.

Da bi najbolje shvatili osnovne karakteristike multigrid metoda, najbolje da najprije razradimo jedan konkretan primjer, koji je detaljno obraden u [3]. Radi se ponovo o difuzijskoj jednadžbi, opisanoj u odjeljku 3.6, samo što ćemo se više koncentrirati na jednodimenzijalnom slučaju. Dakle, krećemo od problema stacionarne distribucije temperature duž uniformnog štapa, koji je dan diferencijalnom jednadžbom drugog reda, sa rubnim uvjetima

−u′′(x) = f(x),  x ∈ ⟨0, 1⟩,
u(0) = u(1) = 0.

Problem ćemo ponovo rješavati aproksimativno pomoću konačnih diferencija. Domena ⟨0, 1⟩ dijeli se na n + 1 podintervala (pri čemu je, zbog potreba algoritma, n + 1 paran, ili još bolje potencija broja 2) duljine h = 1/(n+1), tako da svaku točku mreže možemo označiti sa x_{i} = ih, i = 0, …, n + 1, a samu mrežu s Ω^{h}. Ponovo s u_{i} označimo aproksimaciju vrijednosti u(x_{i}), s f_{i} = f(x_{i}) za i = 1, …, n, čime dobivamo sustav sa n linearnih jednadžbi oblika

\frac{−u_{i−1} + 2u_{i} − u_{i+1}}{h^{2}} = f_{i}, i = 1, …, n,

u_{0} = u_{n+1} = 0.

U matričnom obliku, ovaj sustav ima matricu

A = \frac{1}{h^{2}} [ \begin{matrix}2 & −1 \\ −1 & ... & ... \\ & ... & ... & −1 \\ & & −1 & 2 \end{matrix} ] ,  (4.1)

koja je pozitivno definitna TST matrica, čije su nam svojstvene vrijednosti i svojstveni vektori poznati. Prema Lemi 3.6.2, svojstvene vrijednosti ove matrice su

λ_{k}(A) = \frac{2}{h^{2}} [1 − cos (\frac{kπ}{n + 1})] = \frac{4}{h^{2}} sin^{2} (\frac{kπ}{2(n + 1)}) , k = 1, …, n,  (4.2)

a j-ta komponenta odgovarajućeg svojstvenog vektora je

q_{j}^{(k)} = sin (\frac{jkπ}{n + 1}) ,  j, k = 1, …, n.  (4.3)

Jedan od koraka multigrid metode čine iteracije neke od standardnih iterativnih metoda. Za početak koristit ćemo se jednostavnim iteracijama, uz prekondicioniranje sa jednom od klasičnih iterativnih metoda. Pokazat će se da je to sasvim dovoljno za postizanje zadovoljavajuće konvergencije. Najčešće su to JOR metoda i standardna Gauss–Seidelova metoda ili Gauss–Seidelova metoda kojoj su točke kvadratne mreže numerirane kao na šahovskoj ploči. U ovom modelu promatrat ćemo iteracije JOR metode, budući da ona ima neka interesantna svojstva. JOR metoda je detaljno obradena u odjeljku 3.2. Ako particioniramo matricu A = D − L − U, pri čemu je D dijagonalna matrica, a L i U su strogo donja, odnosno, gornja trokutasta matrica, tada znamo da je JOR matrica oblika

G_{JOR,ω} = (1 − ω)I + D^{−1}(L + U) = I − ωD^{−1}A,

a u našem slučaju je

G_{JOR,ω} = I − \frac{ωh^{2}}{2} A.

Zato su njene svojstvene vrijednosti dane sa

λ_{k}(G_{JOR,ω}) = 1 − 2ω sin^{2} (\frac{kπ}{2(n + 1)}) , k = 1, …, n,

a svojstveni vektori su jednaki svojstvenim vektorima matrice A. Važno je još napomenuti, da se iz izraza za svojstenu vrijednost vidi, kako za slučaj kada je 0 < ω ≤ 1, vrijedi da je |λ_{k}(G_{JOR,ω})| < 1, odnosno da JOR metoda konvergira. Preostalo nam je još pronaći ω za koji se postiže najbolja stopa konvergencije, odnosno takav ω, za koji je |λ_{k}(G_{JOR,ω})| najmanji mogući za sve k = 1, …, n. Slika 4.1 je prikaz svojstvenih vrijednosti λ_{k}(G_{JOR,ω}) za različite vrijednosti ω, koje su nacrtane kao kontinuirana varijabla na intervalu k ∈ ⟨0, n + 1⟩.

-1 1  ^{k}^{λ_{k}(G_{JOR,ω})}  ^{|}  ^{|}^{(n + 1)/2}  ^{n + 1}^{ω = 1/3}^{ω = 1/2}^{ω = 2/3}^{ω = 1}

Slika 4.1: Svojstvene vrijednosti JOR matrice G_{JOR,ω} za ω = \frac{1}{3}, \frac{1}{2}, \frac{2}{3}, 1.

Za nastavak analize potrebno nam je uvesti nekoliko pojmova. Kad bismo izraz za koordinate pojedinih svojstvenih vektora (4.3) prikazali na domeni ⟨0, 1⟩, i izmedu diskretnih vrijednosti j = 0, 1, …, n + 1, provukli linearni interpolant, tada bismo uočili da tako dobivena po dijelovima linearna funkcija predstavljaju malo ili jako oscilatorne valove, s obzirom da li je parametar k bliži 1 ili je bliži n. Radi se o Fourierovim modovima, odnosno vektorima čije koordinate možemo definirati preko jednakosti (4.3), a čije oscilacije ovise o frekvenciji k. Zato se pojavljuje prirodna potreba da Fourijerove modove podijelimo u dvije skupine. Modove, za koje je 1 ≤ k < \frac{n+1}{2}, nazivamo niskofrekventnim ili glatkim, dok one sa \frac{n+1}{2} ≤ k ≤ n nazivamo visokofrekventnim ili oscilatornim modovima. Poslije ćemo vidjeti da te dvije skupine imaju i različitu ulogu u multigrid procesu.

Primijetimo da je za sve vrijednosti od ω ∈ ⟨0, 1]

λ_{1}(G_{JOR,ω}) = 1 − 2ω sin^{2} (\frac{π}{2(n + 1)}) = 1 − 2ω sin^{2} (\frac{πh}{2}) ≈ 1 − \frac{ωπ^{2}h^{2}}{2} .  (4.4)

Odavde slijedi da će λ_{1}(G_{JOR,ω}), svojstvena vrijednost pridružena najglatkijem Fourierovom modu, uvijek biti blizu 1. Budući da za iteriranje greške vrijedi e_{k} = G_{JOR,ω}^{k}e_{0},

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |

Slika 4.2: Koordinate glatkog Fourierovog moda q^{(k)} za n = 15 i k = 4.

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |

Slika 4.3: Koordinate oscilatornog Fourierovog moda q^{(k)} za n = 15 i k = 12.

i u slučaju da početnu grešku predstavimo kao linearnu kombinaciju svojstvenih vektora od G_{JOR,ω}

e_{0} = ∑_{i=1}^{n} c_{i}q^{(i)},

tada ćemo nakon k koraka JOR metode imati

e_{k} = ∑_{i=1}^{n} c_{i}λ_{i}^{k}(G_{JOR,ω})q^{(i)}.

Zbog toga, niti jedna vrijednost od ω neće moći uspješno eliminirati komponente vektora greške koje bi bile u smjeru glatkih modova. Što više, što je manji korak mreže h, u svrhu postizanja što točnije diskretizacije, to je λ_{1}(G_{JOR,ω}) bliži 1, i konvergencija glatkih komponenata greške je sve gora.

Budući da se moramo pomiriti sa činjenicom da niti jedna vrijednost od ω neće na zadovoljavajući način eliminirati glatke komponente greške, postavlja se pitanje koje vrijednosti od ω će na najbolji način eliminirati oscilatorne komponente. Iz svojstava krivulja prikazanih u Slici 4.1, ovaj uvjet možemo predstaviti kao zahtjev da je

λ_{\frac{n+1}{2}} (G_{JOR,ω}) = −λ_{n+1}(G_{JOR,ω}).  (4.5)

Rješavanjem ove jednadžbe dobivamo optimalnu vrijednost ω = \frac{2}{3}.

Za svojstvene vrijednosti pridružene oscilatornim Fourierovim modovima zbog uvjeta (4.5) vrijedi da je

max_{\frac{n+1}{2} ≤k≤n+1} |λ_{k}(G_{JOR, \frac{2}{3}} )| = max\{|λ_{\frac{n+1}{2}} (G_{JOR, \frac{2}{3}} )|, |λ_{n+1}(G_{JOR, \frac{2}{3}} )|\},

a dalje je,

|λ_{\frac{n+1}{2}} (G_{JOR, \frac{2}{3}} )| = 1 − \frac{4}{3} · \frac{1}{2} = \frac{1}{3},

i

|λ_{n+1}(G_{JOR, \frac{2}{3}} )| = −1 + \frac{4}{3} sin^{2} (\frac{nπ}{2(n + 1)}) = −1 + \frac{2}{3} [1 − cos (\frac{nπ}{n + 1})] =
= −1 + \frac{2}{3} [1 + cos (\frac{π}{n + 1})] = −\frac{1}{3} + \frac{2}{3} cos (\frac{π}{n + 1}) <
< \frac{1}{3},

pa možemo zaključiti da za ω = \frac{2}{3} vrijedi |λ_{k}(G_{JOR,ω})| ≤ \frac{1}{3} za sve \frac{n+1}{2} ≤ k ≤ n. To znači da se oscilatorne komponente greške reduciraju za najmanje faktor 3 prilikom izvršavanje svake iteracije JOR metode. Ovaj reducirajući faktor za oscilatorne modove je jako važno svojstvo klasičnih iterativnih metoda i zovemo ga izgladujućim faktorom sheme. Još jedno važno svojstvo je to da je on neovisan o koraku mreže h.

Dakle da rezimiramo, iz Slike 4.1 vidimo da se za ω = \frac{2}{3} iteriranjem JOR metode glatki modovi sporo reduciraju, dok oscilatorni modovi brzo konvergiraju k nuli. Za razliku od toga, za ω = 1 i vrlo glatki i vrlo oscilatorni modovi se sporo reduciraju, a samo modovi sa frekvencijama blizu \frac{n+1}{2} vrlo brzo nestaju.

Do sada smo se detaljnije koncentrirali na JOR metodu, jer se lako dade analizirati, a dijeli i sva osnovna svojstva sa ostalim klasičnim iterativnim metodama. Može se pokazati da slično vrijedi i za Gauss–Seidelovu metodu (odjeljak 3.2). Za Gauss–Seidelovu matricu, svojstvene vrijednosti su oblika

λ_{k}(G_{GS}) = cos^{2} (\frac{kπ}{n + 1}) , 1 ≤ k ≤ n.

Vidimo da kada je k blizu 1 ili n , odgovarajuće svojstvene vrijednosti su blizu 1, i konvergencija komponenti u smjeru pridruženih svojstvenih vektora k nuli je spora. S druge strane, svojstveni vektori od G_{GS} su dani sa

q_{j}^{(k)} = [cos (\frac{kπ}{n + 1})]^{j} sin (\frac{jkπ}{n + 1}) ,

za j, k = 1, …, n. Ovi svojstveni vektori se ne poklapaju sa svojstvenim vektorima od A, zato λ_{k}(G_{GS}) daje stopu konvergencije komponente u smjeru k-tog svojstvenog vektora matrice G_{GS}, a ne matrice A.

Uglavnom, konvergencijska svojstva JOR metode, dijele i ostale klasične iterativne metode. Sve te metode funkcioniraju jako dobro u prvih nekoliko iteracija, kada se greška naglo smanjuje zbog efikasne eliminacije oscilatornih komponenti greške. Nakon nekog vremena, konvergencija se usporava, jer nakon što su odstranjene oscilatorne komponente, ostaju samo glatke komponente, čija je redukcija prilično neefikasna. Ovakvo svojstvo eliminacije oscilatornih modova i ostavljanje glatkih modova nazivamo izgladujuće svojstvo, i predstavlja značajan nedostatak klasičnih iterativnih metoda. Ispravljanje tog nedostatka vodi prema multigrid metodama. Treba još napomenuti da za razvoj multigrid metode, ne trebamo koristiti komplicirane iterativne metode, već su, kao što ćemo vidjeti, za efektnu multigrid metodu dovoljne i jednostavne metode poput JOR-a i Gauss–Seidela.

Jedan način da se poboljša rezultat klasičnih iterativnih metoda je uzimanje dobre početne iteracije, čija greška ne sadrži glatke komponente ili su one vrlo male. Poznata tehnika za dobivanje bolje početne iteracije je izvodenje preliminarnih iteracija na grubljoj mreži. Iteriranje na grubljoj mreži je jeftinije jer imamo manji broj nepoznanica koje trebamo izračunati. Osim toga, prema (4.4) stopa konvergencije, koja je ekvivalentna spektralnom radijusu matrice klasične iterativne metode, ponaša se kao 1−O(h^{2}), pa će zbog toga grublja mreža imati bolju stopu konvergencije. Odatle dolazi ideja o daljnjem razmatranju grublje mreže.

Kako nam nakon odredenog broja iteracija klasične iterativne metode ostaju samo glatke komponente, postavlja se pitanje kako ti glatki modovi izgledaju na grubljoj mreži. Najprije uvedimo Ω^{h} kao oznaku za mrežu sa korakom h, koja je definirana na domeni Ω. Ω^{2h} je tada oznaka za grublju mrežu, sa dvostruko većim korakom, i u našem slučaju jednodimenzionalne difuzijske jednadžbe, točke grublje mreže su točke na finoj mreži Ω^{h} označene sa parnim brojevima. Promotrimo k-ti mod na finoj mreži ali samo u parnim točkama mreže. Ako 1 ≤ k < \frac{n+1}{2}, njegove komponente se mogu napisati kao

q_{2j}^{(k)^{h}} = sin (\frac{2jkπ}{n + 1}) = sin (\frac{jkπ}{(n + 1)/2}) = q_{j}^{(k)^{2h}}, 1 ≤ j, k < \frac{n + 1}{2},

pri čemu h ili 2h označava na kojoj mreži je vektor definiran. Zbog toga Ω^{h} možemo poistovjetiti sa vektorskim prostorom svih vektora v^{h} definiranih na toj mreži. Iz ove jednakosti vidimo da k-ti mod na Ω^{h} postaje k-ti mod na Ω^{2h}, a tamo ih ima duplo manje nego na finijoj mreži Ω^{h}. Važna posljedica ove činjenice je da prelaskom s finije mreže na grublju, mod postaje više oscilatoran. Naročito za k ≥ \frac{n+1}{4}, kada doslovce postaju oscilatorni modovi na Ω^{2h}. \frac{n+1}{2}-ti mod na Ω^{h} prelazi u nul-vektor na Ω^{2h}, jer je q_{j}^{((n+1)/2)^{2h}} = sin(jπ) = 0.

Oscilatorni modovi na finoj mreži sa k > \frac{n+1}{2}, prelaskom na grublju mrežu, prolaze kroz ozbiljniju transformaciju. Definirajmo k′ = n + 1 − k, i tada je k′ < \frac{n+1}{2}, pa stoga imamo

q_{2j}^{(k)^{h}} = sin (\frac{2j(n + 1 − k′)π}{n + 1} ) = sin (2jπ − \frac{jk′π}{(n + 1)/2}) =
= sin (−\frac{jk′π}{(n + 1)/2}) = − sin (\frac{jk′π}{(n + 1)/2}) =
= −q_{j}^{(n+1−k)^{2h}}.  (4.6)

Dakle, k-ti mod na Ω^{h} postaje (n + 1 − k)-ti mod na Ω^{2h}, kada je k > \frac{n+1}{2}. Drugim riječima, oscilatorni modovi na Ω^{h} postaju relativno glatki modovi na Ω^{2h}.

Ono važno, što sada možemo zaključiti, je to da glatki modovi na finoj mreži izgledaju manje glatki na grubljoj mreži. To nam daje sugestiju da se, kada iteracije klasičnih iterativnih metoda naglo uspore svoju konvergenciju zbog dominacije glatkih modova, prebacimo na grublju mrežu. Tamo će glatki modovi brže konvergirati jer izgledaju više oscilatorno.

Dakle, glavna ideja multigrid metoda je iteriranje neke iterativne metode na raznim mrežama, odnosno prebacivanje početnog problema sa polazne na grublju mrežu, kako bi se izvršila korekcija aproksimacije rješenja. Sada se postavlja pitanje komunikacije medu mrežama, odnosno kako prebaciti vektore i matrice s jedne mreže na drugu. U razmatranju prijenosa medu mrežama, uzimat ćemo u obzir samo one slučajeve kada grublja mreža ima korak dva puta veći od prve finije mreže. Najprije samo trebamo istaknuti jedan dogovor o oznakama vektora: vektore koji odgovaraju mreži Ω^{h} označavamo sa gornjim indeksom h (v^{h}). Prva klasa prijenosa medu mrežama je prebacivanje vektora sa fine mreže na grublju. Oni se općenito zovu operatori restrikcije i označavaju sa I_{h}^{2h}. Najočigledniji operator restrikcije je injekcija, a definiran je sa I_{h}^{2h}v^{h} = v^{2h}, gdje je

v_{j}^{2h} = v_{2j}^{h}, j = 1, …, \frac{n − 1}{2}

Drugim riječima, primjenom injekcije vektor na grubljoj mreži dobiva svoje komponenete direktno iz odgovarajućeg vektora na finoj mreži.

Alternativni operator restrikcije, kojeg nazivamo potpunim težinskim sumiranjem, definiran je sa I_{h}^{2h}v^{h} = v^{2h}, gdje je

v_{j}^{2h} = \frac{1}{4}(v_{2j−1}^{h} + 2v_{2j}^{h} + v_{2j+1}^{h}), j = 1, …, \frac{n − 1}{2}.

Kao što vidimo iz definicije, komponente vektora na grubljoj mreži su težinske sume, bolje reći konveksne kombinacije, komponenti koje odgovaraju susjednim točkama pripadne točke na finoj mreži. Mi ćemo od sada pa na dalje koristiti ovaj operator restrikcije iz razloga koje ćemo kasnije navesti. Potpuno težinsko sumiranje je linearan operator sa ℝ^{n} u ℝ^{\frac{n−1}{2}} , ima puni rang jednak \frac{n−1}{2} i jezgru dimenzije \frac{n+1}{2}. Matrični mu je oblik

\overbrace{n}^{I_{h}^{2h} = \frac{1}{4} [ \begin{matrix}1 & 2 & 1 \\ & & 1 & 2 & 1 \\ & & & & 1 & 2 & 1 \\ . & . & . \\ & & & & & & & 1 & 2 & 1 \end{matrix} ] \} \frac{n−1}{2}.}

U dvodimenzionalnom slučaju, operator potpunog težinskog sumiranja je ponovo uzimanje konveksne kombinacije komponenti vektora koje odgovaraju susjednim točkama fine mreže. Ako je I_{h}^{2h}v^{h} = v^{2h}, tada je

v_{ij}^{2h} = \frac{1}{16}[v_{2i−1,2j−1}^{h} + v_{2i−1,2j+1}^{h} + v_{2i+1,2j−1}^{h} + v_{2i+1,2j+1}^{h} +
+2(v_{2i,2j−1}^{h} + v_{2i,2j+1}^{h} + v_{2i−1,2j}^{h} + v_{2i+1,2j}^{h}) + 4v_{2i,2j}^{h}],

i, j = 1, …, \frac{n − 1}{2}.

Budući da je ideja multigrida korekcija aproksimacije rješenja sustava pomoću iteracija na grubljoj mreži od polazne, tada je potrebno tu korekciju prikazati ponovo na polaznoj, finoj mreži. Zato uvodimo drugu klasu prijenosa medu mrežama za prebacivanje vektora sa grube mreže na finu. Takvi operatori se općenito zovu operatori interpolacije, i označavaju se sa I_{2h}^{h}. U našem slučaju koristit ćemo najjednostavniji oblik interpolacije, a to je linearna interpolacija, zato što je ona dovoljno djelotvorna. Ovaj operator uzima vektor sa grube mreže, i pretvara ga u vektor fine mreže prema pravilu I_{2h}^{h}v^{2h} = v^{h}, gdje je

v_{2j}^{h} = v_{j}^{2h},
v_{2j+1}^{h} = \frac{1}{2}(v_{j}^{2h} + v_{j+1}^{2h}),  j = 0, …, \frac{n − 1}{2}.

Komponente koje odgovaraju parnim točkama fine mreže se direktno prebacuju sa Ω^{2h} na Ω^{h}. Komponente koje odgovaraju neparnim točkama fine mreže, dobivaju se kao aritmetička sredina komponenti koje odgovaraju susjednim točkama na gruboj mreži. Operator linearne interpolacije je linearni operator sa ℝ^{\frac{n−1}{2}} u ℝ^{n}, punog ranga i trivijalne jezgre. Matrični mu je oblik

\overbrace{\frac{n − 1}{2}}^{I_{2h}^{h} = \frac{1}{2} [ \begin{matrix}1 \\ 2 \\ 1 & 1 \\ & 2 \\ & 1 & 1 \\ & & 2 \\ & & 1 & ... \\ & & & & 1 \\ & & & & 2 \\ & & & & 1 \end{matrix} ] \} n.}

Za dvodimenzionalan slučaj, operator interpolacije se može definirati na sličan način. Ako je I_{2h}^{h}v^{2h} = v^{h}, tada su komponente od v^{h} dane sa

v_{2i,2j}^{h} = v_{ij}^{2h},
v_{2i+1,2j}^{h} = \frac{1}{2}(v_{ij}^{2h} + v_{i+1,j}^{2h}),
v_{2i,2j+1}^{h} = \frac{1}{2}(v_{ij}^{2h} + v_{i,j+1}^{2h}),
v_{2i+1,2j+1}^{h} = \frac{1}{4}(v_{ij}^{2h} + v_{i+1,j}^{2h} + v_{i,j+1}^{2h} + v_{i+1,j+1}^{2h}),

i, j = 0, …, \frac{n − 1}{2}.

Sada promotrimo neka osnovna svojstva interpolacije. Pretpostavimo, najprije, da je prava greška (koja nam nije egzaktno poznata) gladak vektor kada se prikaže na finoj mreži. Pretpostavimo takoder da je nadena aproksimacija greške na gruboj mreži, i ta je aproksimacija po definiciji egzaktna u točkama grube mreže. Kada se ta aproksimacija na gruboj mreži interpolira na finu mrežu, interpolant je takoder gladak, jer linearno interpoliranje ima izgladujući efekt. Zbog toga očekujemo da je on dobra aproksimacija greške na finoj mreži. Naprotiv, ako je prava greška oscilatorna, čak i vrlo dobra aproksimacija na gruboj mreži, može proizvesti gladak interpolant, koji neće biti dobra aproksimacija greške na finoj mreži. Prema tome interpolacija je najefektnija kada je greška glatka, i s time predstavlja sretnu nadopunu klasičnim iterativnim metodama, koje su najefektnije kada je greška oscilatorna. Zato se obično najprije izvršava iteriranje klasiče iterativne metode, koja eliminira oscilatorne komponente greške i ostavlja samo glatke, a zatim se prelazi na korekciju na grubljoj mreži, na kojoj se rješava rezidualna jednadžba kako bi se greška točno izračunala, budući da će ona pri ponovnoj intepolaciji na finu mrežu biti precizno prenijeta, postupak ima smisla.

Nadalje, trebamo obratiti pažnju na ovakav izbor operatora redukcije i interpolacije. Naime, jedan razlog za odabir potpunog težinskog sumiranja kao operatora redukcije je važnost činjenice

I_{2h}^{h} = c(I_{h}^{2h})^{T} , c ∈ ℝ.

Činjenica da je operator linearnog interpoliranja jednak transponiranom operatoru potpunog težinskog sumiranja, do na konstantu, zove se varijacijsko svojstvo, i uskoro će se pokazati kao svojstvo od velike važnosti.

Kao što smo već prije spomenuli, nakon nekog broja iteracija iterativne metode na finoj mreži, cijeli se problem prebacuje na grublju mrežu, na kojoj se ponovo vrši odredeno iteriranje. Definirali smo kako vektore možemo prebacivati s jedne mreže na drugu, medutim ostalo nam je još otvoreno pitanje vezano uz operator, odnosno matricu kao njegovu reprezentaciju na grubljoj mreži. Trebamo definirati matricu A^{2h} na mreži Ω^{2h} kao neku verziju originalne matrice A^{h} na mreži Ω^{h}.

Analiza koja slijedi temelji se na pretpostavci da radimo sa problemom −u′′(x) = f(x), i da je odgovarajući diskretni operator A^{h}. Neka je v^{h} izračunata aproksimacija egzaktnog rješenja u^{h} sustava A^{h}u^{h} = f^{h} dobivenog diskretizacijom na mreži Ω^{h}. Za sada pretpostavimo da greška te aproksimacije e^{h} = u^{h} − v^{h} leži u potpunosti unutar slike interpolacije, koju označavamo sa R(I_{2h}^{h}). To znači da je za neki vektor g^{2h}, koji je definiran na mreži Ω^{2h}, e^{h} = I_{2h}^{h}g^{2h}. Prema tome, rezidualnu jednadžbu na Ω^{h} možemo napisati kao

r^{h} = A^{h}e^{h} = A^{h}I_{2h}^{h}g^{2h}.  (4.7)

Budući da u ovoj jednakosti A^{h} djeluje na vektor koji leži u slici interpolacije, možemo zaključiti kako A^{h} djeluje na R(I_{2h}^{h}). Ako promatramo vektor I_{2h}^{h}g^{2h}, koji se nalazi u R(I_{2h}^{h}), tada su koordinate tog vektora koje odgovaraju točkama fine mreže 2j, 2j + 1, i 2j + 2, za j = 0, …, (n − 1)/2, jednake redom: g_{j}^{2h}, (g_{j}^{2h} + g_{j+1}^{2h})/2, i g_{j+1}^{2h}. Ako gledamo (2j + 1)-u koordinatu vektora A^{h}I_{2h}^{h}g^{2h}, tada prema definiciji matrice A^{h} = A (4.1), zaključujemo da u njenom dobivanju sudjeluju samo prethodno navedene koordinate vektora I_{2h}^{h}g^{2h}, i vrijedi

(A^{h}I_{2h}^{h}g^{2h})_{2j+1} = \frac{1}{h^{2}} (−1 · g_{j}^{2h} + 2 · \frac{g_{j}^{2h} + g_{j+1}^{2h}}{2} − 1 · g_{j+1}^{2h}) = 0.

Dakle, zaključujemo da su one komponente od A^{h}I_{2h}^{h}g^{2h}, koje odgovaraju neparnim točkama mreže Ω^{h}, jednake nuli. Taj efekt je analogan uzimanju druge derivacije od po dijelovima linearne funkcije.

Sada možemo zaključiti da su neparni reci matrice A^{h}I_{2h}^{h} u (4.7) jednaki nuli. S druge strane, parni reci iste matrice odgovaraju točkama grube mreže Ω^{2h}. Zbog toga možemo naći verziju rezidualne jednadžbe na gruboj mreži tako da izbacimo neparne retke u (4.7). To formalno možemo postići upotrebom operatora restrikcije I_{h}^{2h} na obje strane u (4.7). Time rezidualna jednadžba prelazi u oblik

\underbrace{I_{h}^{2h}A^{h}I_{2h}^{h}}_{A^{2h}} g^{2h} = I_{h}^{2h}r^{h}.

Ova analiza daje nam logičnu definiciju za matricu na gruboj mreži:

A^{2h} = I_{h}^{2h}A^{h}I_{2h}^{h}.

Elementi od A^{2h} se mogu exsplicitno izračunati kao što je prikazano u Tablici 4.1. Ovdje su prikazani netrivijalni elementi j-tog stupca od A^{2h}, koji se dobiju primjenom I_{h}^{2h}A^{h}I_{2h}^{h} na j-ti jedinični vektor ξ_{j}^{2h}, definiran na Ω^{2h}. Takoder možemo zaključiti da

j − 1  j  j + 1

ξ_{j}^{2h} 0  1  0
I_{2h}^{h}ξ_{j}^{2h} 0 \frac{1}{2} 1 \frac{1}{2} 0
A^{h}I_{2h}^{h}ξ_{j}^{2h} −\frac{1}{2h^{2}} 0 \frac{1}{h^{2}} 0 −\frac{1}{2h^{2}}
I_{h}^{2h}A^{h}I_{2h}^{h}ξ_{j}^{2h} −\frac{1}{4h^{2}}  \frac{1}{2h^{2}}  −\frac{1}{2h^{2}}

Tablica 4.1: Dobivanje j-tog stupca operatora A^{2h} = I_{h}^{2h}A^{h}I_{2h}^{h}.

je j-ti stupac od A^{2h} jednak j-tom stupcu matrice

\frac{1}{(2h)^{2}} [ \begin{matrix}2 & −1 \\ −1 & ... & ... \\ & ... & ... & −1 \\ & & −1 & 2 \end{matrix} ] ,

koju bismo dobili da smo originalni problem diskretizirali na gruboj mreži Ω^{2h}. Prema tome, po ovoj definiciji A^{2h} je zaista verzija od A^{h} samo na mreži Ω^{2h}.

Prethodna razmatranja bila su bazirana na pretpostavci da greška e^{h} leži u slici interpolacije. To općenito nije slučaj, medutim gornja definicija za A^{2h} u svakom slučaju ima smisla. Time možemo upotpuniti varijacijska svojstva, koja su sada dana sa

A^{2h} = I_{h}^{2h}A^{h}I_{2h}^{h}  (Garlekinov uvjet),  (4.8)
I_{h}^{2h} = c(I_{2h}^{h})^{T} ,  c ∈ ℝ.  (4.9)

Sada smo pobrojali sve elemente multigrid metode, pa nam je preostalo još samo da ih uklopimo u jednu shemu. Postoje dva načina na koji možemo iskoristiti korekciju greške pomoću grublje mreže.

Najprije ćemo iznijeti strategiju koja koristi grube mreže kako bi ostvarila bolje početne iteracije za neku od klasičnih iterativnih metoda.

• Primijeni iterativnu metodu nad A^{ph}u = f^{ph} na vrlo gruboj mreži Ω^{ph} kako bismo dobili početnu iteraciju za sljedeću finiju mrežu.

⋮

• Primijeni iterativnu metodu nad A^{4h}u = f^{4h} na Ω^{4h} kako bismo dobili početnu iteraciju za Ω^{2h}.

• Primijeni iterativnu metodu nad A^{2h}u = f^{2h} na Ω^{2h} kako bismo dobili početnu iteraciju za Ω^{h}.

• Primijeni iterativnu metodu nad A^{h}u = f^{h} na Ω^{h} kako bismo dobili konačnu aproksimaciju rješenja.

Prelaskom s jedne mreže na drugu, aproksimaciju rješenja prebacujemo pomoću operatora interpolacije, a na svakoj mreži koristimo odgovarajuću matricu A^{ih}. Ova ideja koristi grublje mreže kako bi generirala poboljšane početne iteracije, i ona je baza strategije koju nazivamo ugniježdene iteracije. Iako je ovakav pristup vrlo privlačan, ipak ostavlja neka otvorena pitanja. Na primjer, što će se dogoditi, kada jednom dodemo do fine mreže, a greška i dalje sadrži neke glatke komponente? Mi smo možda ostvarili neko poboljšanje korištenjem grubih mreža, ali konačno iteriranje će opet zakazati zbog prisutnosti glatkih komponenti. Poslije ćemo vidjeti, da postoji odgovor na to pitanje, koje će nam omogućiti korištenje ugniježdenih iteracija na vrlo moćan način.

Druga strategija se sastoji od ideje korištenja rezidualne jednadžbe i primjene iterativne metode nad njom, kako bi se dobila aproksimacija greške.

• Primijeni iterativnu metodu nad A^{h}u = f^{h} na Ω^{h} kako bismo dobili aproksimaciju v^{h}.

• Izračunaj rezidual r^{h} = f^{h} − A^{h}v^{h}.

Primijeni iterativnu metodu nad A^{2h}e = r^{2h} na Ω^{2h} kako bismo dobili aproksimaciju greške e^{2h}.

• Korigiraj aproksimaciju rješenja dobivenu na Ω^{h} sa aproksimacijom greške dobivenom na Ω^{2h}: v^{h} := v^{h} + e^{h}.

Ponovo, za prelaz sa fine mreže na grublju koristimo operator restrikcije, kako bismo dobili r^{2h}, a sa grube na finu koristimo operator interpolacije, kako bismo dobili e^{h}. Ova procedura je baza korektivne sheme. Primijenimo iterativnu metodu na finoj mreži dok konvergencije ne počne usporavati, zatim primijenimo iterativnu metodu nad rezidualnom jednadžbom na grubljoj mreži kako bismo dobili aproksimaciju greške. Tada se vraćamo na finu mrežu kako bismo korigirali aproksimaciju koju smo najprije dobili. Ponovo postoje dobri razlozi za upotrebu ove sheme, ali opet ostaju i neka pitanja. Na primjer, koju početnu iteraciju upotrijebiti za iteriranje nad rezidualnom jednadžbom? I na to ćemo ubrzo odgovoriti.

Ovo su bile samo glavne ideje shema. Budući da su nam sad na raspolaganju svi alati koji su potrebni za multrigrid metodu, ove sheme možemo i preciznije napisati.

Korektivna shema na dvije mreže

v^{h} = MG(v^{h}, f^{h}).

• Iteriraj ν_{1} puta iterativnu metodu nad A^{h}u^{h} = f^{h} na Ω^{h} sa početnom iteracijom v^{h}.

• Izračunaj rezidual na finoj mreži r^{h} = f^{h} − A^{h}v^{h} i prenesi ga na grubu mrežu sa r^{2h} = I_{h}^{2h}r^{h}.

• Riješi A^{2h}e^{2h} = r^{2h} na Ω^{2h}.

• Interpoliraj grešku sa grube mreže na finu mrežu sa e^{h} = I_{2h}^{h}e^{2h} i korigiraj aproksimaciju na finoj mreži sa v^{h} := v^{h} + e^{h}.

• Iteriraj ν_{2} puta iterativnu metodu nad A^{h}u^{h} = f^{h} na Ω^{h} sa početnom iteracijom v^{h}.

U ovoj proceduri, iteriramo na finoj mreži tako dugo dok se to isplati, u praksi ν_{1} je obično 1,2, ili 3. Nenegativni cijeli brojevi ν_{1} i ν_{2} su parametri sheme koji kontroliraju broj iteracija iterativne metode prije i poslije obilaska grube mreže. Oni su obično odredeni na početku, na osnovu teoretskih razmatranja ili prethodnih eksperimentalnih rezultata. Kada rješavamo rezidualnu jednadžbu na gruboj mreži, egzaktno rješenje nam takoder neće biti dostupno, već samo njegova aproksimacija, kojom korigiramo aproksimaciju rješenja na finoj mreži.

Važno je ponovo naglasiti komplementarnost koja dolazi do izražaja u ovoj proceduri. Iteracije iterativne metode na finoj mreži eliminiraju oscilatorne komponente greške, ostavljajući realativno glatku grešku. Ako pretpostavimo da rezidualnu jednadžbu možemo riješiti egzaktno na Ω^{2h}, još je važno točno prebaciti grešku na finu mrežu. Budući da je greška glatka, interpolacija bi je trebala vrlo precizno prebaciti na Ω^{h}, i korekcija aproksimacije rješenja na finoj mreži bi trebala biti djelotvorna.

Korektivna shema na dvije mreže ostavlja jedno pitanje, a to je koji je najbolji način rješavanja problema A^{2h}e^{2h} = r^{2h} na gruboj mreži? Problem na gruboj mreži nije puno drugačiji od originalnog problema. Zbog toga možemo upotrijebiti korektivnu shemu na dvije mreže i za rezidualnu jednadžbu na Ω^{2h}, što znači: iteriranje na toj mreži, a zatim prebacivanje na Ω^{4h} za korekciju. Ovaj proces možemo ponavljati na sve grubljim i grubljim mrežama, dok direktno rješavanje rezidualne jednadžbe ne postane moguće.

Još jednu stvar moramo riješiti, a to je početna iteracija za rješavanje rezidualnog problema na Ω^{2h}. Budući nemamo nikakve informacije o njenom rješenju e^{2h}, jednostavno ćemo uzeti početnu iteraciju jednaku 0. Ionako očekujemo da greška bude što bliža nuli, pa je to logičan izbor.

Sada imamo potpunu sliku multigrid metode. Budući da se korektivna shema na dvije mreže izvodi na sve grubljim mrežama, s time da se na početku iterira nad polaznim problemom, a u ostalim koracima nad rezidualnim problemu, i da su ti problemi vrlo slični, potrebna je ekonomizacija oznaka kao kod računalne implementacije. Desnu stranu rezidualne jednadžbe takoder ćemo označavati sa f^{2h}, a ne sa r^{2h}, a rješenje rezidualne jednadžbe e^{2h} sa u^{2h}. v^{2h} možemo onda iskoristiti za oznaku aproksimacije od u^{2h}.

Ono što slijedi je korektivna shema na dvije mreže, ali koja ponovo poziva samu sebe, rekurzivno. Nazivamo je shema V-ciklusa. Pretpostavljamo da postoji l > 1 mreža sa koracima h, 2h, 4h,…,Lh = 2^{l−1}h.

Shema V-ciklusa

v^{h} = V^{h}(v^{h}, f^{h}).

• Iteriraj ν_{1} puta iterativnu metodu nad A^{h}u^{h} = f^{h} sa početnom iteracijom v^{h}.

• Izračunaj f^{2h} = I_{h}^{2h}r^{h}.

• Iteriraj ν_{1} puta iterativnu metodu nad A^{2h}u^{2h} = f^{2h} sa početnom iteracijom v^{2h} = 0.

• Izračunaj f^{4h} = I_{2h}^{4h}r^{2h}.

• Iteriraj ν_{1} puta iterativnu metodu nad A^{4h}u^{4h} = f^{4h} sa početnom iteracijom v^{4h} = 0.

• Izračunaj f^{8h} = I_{4h}^{8h}r^{4h}.

⋮

• Riješi A^{Lh}u^{Lh} = f^{Lh}.

⋮

• Korigiraj v^{4h} := v^{4h} + I_{8h}^{4h}v^{8h}.

• Iteriraj ν_{2} puta iterativnu metodu nad A^{4h}u^{4h} = f^{4h} sa početnom iteracijom v^{4h}.

• Korigiraj v^{2h} := v^{2h} + I_{4h}^{2h}v^{4h}.

• Iteriraj ν_{2} puta iterativnu metodu nad A^{2h}u^{2h} = f^{2h} sa početnom iteracijom v^{2h}.

• Korigiraj v^{h} := v^{h} + I_{2h}^{h}v^{2h}.

• Iteriraj ν_{2} puta iterativnu metodu nad A^{h}u^{h} = f^{h} sa početnom iteracijom v^{h}.

Algoritam ide od najfinije mreže prema najgrubljoj, koja se može sastojati od jedne ili nekoliko unutarnjih točaka, a zatim se vraća ponovo prema najfinijoj mreži. Slika 4.4 pokazuje raspored posjećivanja mreža. Zbog svog oblika, ovaj algoritam se zove V-ciklus i on je prvi predstavnik multigrid metode.

[figure: h; 2h; 4h; 8h; 16h]

Slika 4.4: Raspored posjeta mreža na 5 nivoa za V-ciklus.

Zbog svoje definicije, V-ciklus ima kompaktnu rekurzivnu definiciju, koja je dana na sljedeći način.

Algoritam 4.1.1. Rekurzivna shema V-ciklusa v^{h} = V^{h}(v^{h}, f^{h})

1. Iteriraj ν_{1} puta iterativnu metodu nad A^{h}u^{h} = f^{h} sa danom početnom iteracijom v^{h}.

2. Ako je Ω^{h} najgrublja mreža, tada idi na korak 4.

Inače

f^{2h} = I_{h}^{2h}(f^{h} − A^{h}v^{h}),
v^{2h} = 0,
v^{2h} := V^{2h}(v^{2h}, f^{2h}).

3. Korigiraj v^{h} := v^{h} + I_{2h}^{h}v^{2h}.

4. Iteriraj ν_{2} puta iterativnu metodu nad A^{h}u^{h} = f^{h} sa početnom iteracijom v^{h}.

V-ciklus je samo jedan algoritam iz familije multigrid cikličkih shema. Cijela familija se zove μ-ciklus metoda i rekurzivno je definirana na sljedeći način.

Algoritam 4.1.2. Rekurzivna shema μ-ciklusa v^{h} = Mμ^{h}(v^{h}, f^{h})

1. Iteriraj ν_{1} puta iterativnu metodu nad A^{h}u^{h} = f^{h} sa danom početnom iteracijom v^{h}.

2. Ako je Ω^{h} najgrublja mreža, tada idi na korak 4.

Inače

f^{2h} = I_{h}^{2h}(f^{h} − A^{h}v^{h}),
v^{2h} = 0,
v^{2h} := V^{2h}(v^{2h}, f^{2h}) μ puta.

3. Korigiraj v^{h} := v^{h} + I_{2h}^{h}v^{2h}.

4. Iteriraj ν_{2} puta iterativnu metodu nad A^{h}u^{h} = f^{h} sa početnom iteracijom v^{h}.

U praksi se koriste samo sheme sa μ = 1 (V-ciklus), i μ = 2. Slika 4.5 pokazuje raspored posjeta mreža za μ = 2, što rezultira W-ciklusom.

Još ćemo uvesti nekoliko oznaka. V-ciklus sa ν_{1} iteracija prije korektivnog koraka i sa ν_{2} iteracija nakon korektivnog koraka označavamo kao V(ν_{1},ν_{2})-ciklus. Isto vrijedi iza W(ν_{1},ν_{2})-ciklus.

Do sada smo samo razradivali ideju korektivne sheme, a sada ćemo razmotriti ugniježdene iteracija. Ugniježdene iteracije koriste grublju mrežu za dobivanje početne

[figure: h; 2h; 4h; 8h]

Slika 4.5: Raspored posjeta mreža na 4 nivoa za W-ciklus sa μ = 2.

iteracije za problem na finoj mreži. Ako s druge strane promatramo V-ciklus, postoji problem odabira početne iteracije za problem na finoj mreži. Ako te dvije sheme udružimo dobivamo potpuni multigrid V-ciklus (FMG), koji je definiran na sljedeći način.

Potpuni multigrid V-ciklus

v^{h} = F MG^{h}(f^{h}).

Inicijaliziraj f^{2h} = I_{h}^{2h}f^{h}, f^{4h} = I_{2h}^{4h}f^{2h},…

• Riješi ili primijeni iterativnu metodu na najgrubljoj mreži.

⋮
• v^{4h} = I_{8h}^{4h}v^{8h}.
• v^{4h} := V^{4h}(v^{4h}, f^{4h}) ν_{0} puta.

• v^{2h} = I_{4h}^{2h}v^{4h}.

• v^{2h} := V^{2h}(v^{2h}, f^{2h}) ν_{0} puta.

• v^{h} = I_{2h}^{h}v^{h}.

• v^{h} := V^{h}(v^{h}, f^{h}) ν_{0} puta.

Desne strane problema na grubim mrežama dobivaju se prebacivanjem s mreže na mrežu vektora f^{h}, počevši od fine mreže. Druga mogućnost je korištenje originalne funkcije f. Parametar ciklusa ν_{0}, odreduje broj V-ciklusa u svakom nivou. Obično se odreduje na temelju prethodnih eksperimenata, ali najčešći izbor je ν_{0} = 1. Slika 4.6 pokazuje raspored posjeta mreža za FMG sa ν_{0} = 1. Svakom V-ciklusu prethodi V-ciklus na grubljoj mreži, koji mu osigurava najbolju moguću početnu iteraciju.

Izražen rekurzivno, algoritam ima sljedeći kompaktan oblik.

[figure: h; 2h; 4h; 8h]

Slika 4.6: Raspored posjeta mreža na 4 nivoa za FMG shemu sa ν_{0} = 1.

Algoritam 4.1.3. Rekurzivni potpuni multigrid V-ciklus v^{h} = F MG^{h}(f^{h})

1. Ako je Ω^{h} najgrublja mreža, postavi v^{h} = 0 i idi na korak 3.

Inače

f^{2h} = I_{h}^{2h}f^{h},
v^{2h} = F MG^{2h}(f^{2h}).
2. Korigiraj v^{h} = I_{2h}^{h}v^{2h}.
3. v^{h} := V^{h}(v^{h}, f^{h}) ν_{0} puta.

Kao zaključak, možemo primijetiti da su multigrid metode sinteza ideja i tehnika koje su zasebno bile već dugo poznate i upotrebljavane. Ako ih gledamo svaku za sebe, mnoge od tih ideja imaju ozbiljne nedostatke. Potpuni multigrid je tehnika koja ih sve integrira, tako da one mogu zajedno funkcionirati, i to na način koji prerasta njihova ograničenja. Rezultat je vrlo moćan algoritam.

4.2 Spektralna i algebarska slika multigrid metoda: uvod u teoriju konvergencije

Analiza konvergencije multigrid metoda je vrlo komplicirana i predstavlja, još uvijek otvoreno pitanja u numeričkoj matematici. Konvergencija multigrid metoda, koje su primijenjene na dobro uvjetovane probleme, poput skalarnog eliptičnog problema, je rigorozno dokazana, čime je potvrdeno da u tom slučaju multigrid metode funkcioniraju vrlo uspješno. Za općenite probleme, kod kojih još ne postoje analitički rezultati, postoje mnogi eksperimentalni dokazi o njihovoj djelotvornosti.

Heurističku argumentaciju ukratko možemo opisati na sljedeći način. Kao što smo vidjeli, izgladujući faktor (stopa konvergencije oscilatornih modova) za klasične iterativne metode je mala i ne ovisi o koraku mreže h. Budući da glatki modovi, koji ostanu nakon primjene iterativne metode, izgledaju više oscilatorno na grubljim mrežama, prebacivanjem na sve grublju i grublju mrežu, sve će komponente greške kad-tad izgledati oscilatorno i moći će biti eliminirane pomoću iterativne metode. Odavde slijedi da će konačna stopa konvergencije dobre multigrid sheme biti mala i neovisna o h.

Posvetit ćemo sada više pažnje korektivnoj shemi na dvije mreže, jer je V-ciklus samo ugniježdena primjena korektivne sheme na dvije mreže, a FMG metoda je ponavljana primjena V-ciklusa na raznim mrežama. Zbog toga je razumijevanje korektivne sheme na dvije mreže važno za shvaćanje osnovnih multigrid metoda.

Započet ćemo sa detaljnjijom analizom operatora za prijenos medu mrežama. Razmotrimo najprije operator (restrikcije) potpunog težinskog sumiranja I_{h}^{2h}. To je operator koji preslikava ℝ^{n} → ℝ^{\frac{n−1}{2}} , koji ima rang jednak \frac{n−1}{2} i jezgru N (I_{h}^{2h}) dimenzije \frac{n+1}{2}. Postavlja se pitanje kako I_{h}^{2h} djeluje na modove originalne matrice A^{h}?

U našem jednodimenzionalnom primjeru modovi od A^{h} su dani sa

q_{j}^{(k)^{h}} = sin (\frac{jkπ}{n + 1}) , j, k = 1, …, n.

Primijenimo operator potpunog težinskog sumiranja na te vektore. Djelovanje operatora I_{h}^{2h} na glatke modove rezultira sa

(I_{h}^{2h}q^{(k)^{h}})_{j} = \frac{1}{4} [sin (\frac{(2j − 1)kπ}{n + 1} ) + 2 sin (\frac{2jkπ}{n + 1}) + sin (\frac{(2j + 1)kπ}{n + 1} )] =
= \frac{1}{4} [2 sin (\frac{2jkπ}{n + 1}) cos (\frac{kπ}{n + 1}) + 2 sin (\frac{2jkπ}{n + 1})] =
= \frac{1}{2} sin (\frac{jkπ}{(n + 1)/2}) [cos (\frac{kπ}{n + 1}) + 1] =
= sin (\frac{jkπ}{(n + 1)/2}) cos^{2} (\frac{kπ}{2(n + 1)}) = cos^{2} (\frac{kπ}{2(n + 1)}) q_{j}^{(k)^{2h}},

odnosno

I_{h}^{2h}q^{(k)^{h}} = cos^{2} (\frac{kπ}{2(n + 1)}) q^{(k)^{2h}}, 1 ≤ k < \frac{n + 1}{2}.

To znači da djelovanjem I_{h}^{2h} na k-ti, glatki mod od A^{h} dobivamo konstantu puta k-ti mod od A^{2h}, kada je 1 ≤ k < \frac{n+1}{2}. Za k = \frac{n+1}{2} je I_{h}^{2h}q^{( \frac{n+1}{2} )^{h}} = 0, dok za oscilatorne modove, sa \frac{n+1}{2} < k′ ≤ n i k′ = n + 1 − k, prema dokazu (4.6) imamo

I_{h}^{2h}q^{(k′)^{h}} = cos^{2} (\frac{(n + 1 − k)π}{2(n + 1)} ) q^{(n+1−k)^{2h}} = − cos^{2} (\frac{π}{2} − \frac{kπ}{2(n + 1)}) q^{(k)^{2h}} =
= − sin^{2} (\frac{kπ}{2(n + 1)}) q^{(k)^{2h}},  1 ≤ k < \frac{n + 1}{2}.

Odavde možemo zaključiti da kada I_{h}^{2h} djeluje na (n + 1 − k)-ti, oscilatorni mod od A^{h} dobivamo konstantu puta k-ti mod od A^{2h}. Operator I_{h}^{2h} transformira oscilatorne modove na Ω^{h} u relativno glatke modove na Ω^{2h}.

Na kraju možemo zaključiti da i k-ti i (n+1−k)-ti mod na Ω^{h}, djelovanjem operatora potpunog težinskog sumiranja I_{h}^{2h}, postaju k-ti mod na Ω^{2h}. Par modova na finoj mreži {q^{(k)^{h}}, q^{(n+1−k)^{h}}} nazivamo komplementarnim modovima. Imamo

I_{h}^{2h}(span{q^{(k)^{h}}, q^{(n+1−k)^{h}}}) = span{q^{(k)^{2h}}}.

Kako je

sin (\frac{j(n + 1 − k)π}{n + 1} ) = sin (jπ − \frac{jkπ}{n + 1}) = (−1)^{j+1} sin (\frac{jkπ}{n + 1}) ,

vrijedi da je

q_{j}^{(n+1−k)^{h}} = (−1)^{j+1}q_{j}^{(k)^{h}}.

Time smo dobili spektralna svojstva od I_{h}^{2h}.

Kao što već znamo od prije, operator potpunog težinskog sumiranja ima netrivijalnu jezgru N (I_{h}^{2h}). Tvrdimo da je jezgra razapeta vektorima n_{j} = A^{h}ξ_{j}^{h}, gdje je j-neparan broj, a ξ_{j}^{h} je j-ti jedinični vektor na Ω^{h}. Zapravo radi se o neparnim stupcima matrice A^{h}. Dokažimo tu tvrdnju. Najprije promatramo produkt matrice I_{h}^{2h} sa neparnim stupcima od A^{h}, i zanima nas koji neparni stupci od A^{h} mogu dati netrivijalni skalarni produkt sa i-tim retkom od I_{h}^{2h}, i = 1, …, \frac{n−1}{2}. Jedini kandidati su (2i − 1)-i i (2i + 1)- i stupac, za ostale stupce skalarni produkt u svakom sumandu ima produkt s nulom. Promotrimo komponente danog retka od I_{h}^{2h} i stupaca od A^{h} u sljedećoj tablici

2i − 2 2i − 1 2i 2i + 1 2i + 2
i-ti redak od I_{h}^{2h}  0  1  2  1  0
(2i − 1)-i stupac od A^{h}  -1  2  -1  0  0
(2i + 1)-i stupac od A^{h}  0  0  -1  2  -1

odakle vidimo da je skalarni produkt i-tog retka od I_{h}^{2h} sa (2i − 1)-im stupcem od A^{h} jednak 2−2 = 0, a sa (2i+1)-im stupcem jednak −2+2 = 0. Dakle, budući da smo uzeli proizvoljni redak, možemo zaključiti da je skalarni produkt bilo kojeg retka od I_{h}^{2h} i bilo kojeg neparnog stupca od A^{h} jednak nuli, odnosno produkt matrice I_{h}^{2h} sa bilo kojim neparnim stupcem od A^{h} je jednak nulvektoru. Stoga se vektori n_{j}, za neparni j, nalaze u N (I_{h}^{2h}). Lako se vidi da su oni i linearno nezavisni, ima ih \frac{n+1}{2}, pa stoga čine bazu od N (I_{h}^{2h}). Kao što vidimo u Slici 4.7 vektori baze n_{j} izgledaju prilično oscilatorno. Medutim oni se ne poklapaju sa oscilatornim modovima od A^{h}. Rastav vektora n_{j} po

[figure: |; |; |]

Slika 4.7: Tipični vektor baze jezgre operatora potpunog težinskog sumiranja N (I_{h}^{2h})

modovima od A^{h} zahtijeva sve modove, a ne samo oscilatorne. Zato jezgra od I_{h}^{2h} sadrži i oscilatorne i glatke modove od A^{h}, samo što su komponente u smjerovima glatkih modova male. Sada ćemo sličnu analizu napraviti i za operator interpolacije I_{2h}^{h}. To je operator koji preslikava ℝ^{\frac{n−1}{2}} → ℝ^{n} i ima puni rang. Kako bismo dobili spektralna svojstva i od I_{2h}^{h}, trebamo naći kako I_{2h}^{h} djeluje na modovima od A^{2h}. Neka su

q_{j}^{(k)^{2h}} = sin (\frac{jkπ}{(n + 1)/2}) , j, k = 1, …, \frac{n − 1}{2},

modovi na Ω^{2h}. Pokazat ćemo da I_{2h}^{h} ne čuva te modove. Posebno ćemo gledati parne, a posebno neparne čvorove od I_{2h}^{h}q^{(k)^{2h}}. Neka je j = 0, …, \frac{n−1}{2}, k = 1, …, \frac{n−1}{2} i k′ = n + 1 − k , tada imamo

(I_{2h}^{h}q^{(k)^{2h}})_{2j+1} = \frac{1}{2} (q_{j}^{(k)^{2h}} + q_{j+1}^{(k)^{2h}}) =
= \frac{1}{2} [sin (\frac{2jkπ}{n + 1}) + sin (\frac{2(j + 1)kπ}{n + 1} )] =
= sin (\frac{(2j + 1)kπ}{n + 1} ) cos (\frac{kπ}{n + 1}) =
= sin (\frac{(2j + 1)kπ}{n + 1} ) [cos^{2} (\frac{kπ}{2(n + 1)}) − sin^{2} (\frac{kπ}{2(n + 1)})] =
= cos^{2} (\frac{kπ}{2(n + 1)}) q_{2j+1}^{(k)^{h}} − (−1)^{2j+2} sin^{2} (\frac{kπ}{2(n + 1)}) q_{2j+1}^{(k)^{h}} =
= cos^{2} (\frac{kπ}{2(n + 1)}) q_{2j+1}^{(k)^{h}} − sin^{2} (\frac{kπ}{2(n + 1)}) q_{2j+1}^{(k′)^{h}}

i

(I_{2h}^{h}q^{(k)^{2h}})_{2j} = q_{j}^{(k)^{2h}} = sin (\frac{2jkπ}{n + 1}) = q_{2j}^{(k)^{h}} =
= [cos^{2} (\frac{kπ}{2(n + 1)}) + sin^{2} (\frac{kπ}{2(n + 1)})] q_{2j}^{(h)^{h}} =
= cos^{2} (\frac{kπ}{2(n + 1)}) q_{2j}^{(k)^{h}} − (−1)^{2j+1} sin^{2} (\frac{kπ}{2(n + 1)}) q_{2j}^{(k)^{h}} =
= cos^{2} (\frac{kπ}{2(n + 1)}) q_{2j}^{(k)^{h}} − sin^{2} (\frac{kπ}{2(n + 1)}) q_{2j}^{(k′)^{h}}

odakle možemo zaključiti da je

I_{2h}^{h}q^{(k)^{2h}} = cos^{2} (\frac{kπ}{2(n + 1)}) q^{(k)^{h}} − sin^{2} (\frac{kπ}{2(n + 1)}) q^{(k′)^{h}}, k = 1, …, \frac{n − 1}{2}.

Vidimo da djelovanje od I_{2h}^{h} na k-ti mod na Ω^{2h} proizvodi ne samo k-ti mod na Ω^{h}, već i komplementarni k′-ti mod. To otkriva zanimljivo svojstvo, a to je da interpolacije glatkih modova na Ω^{2h} ponovo uvodi oscilatorne modove na Ω^{h}. Primijetimo, da je za jako glatki mod na Ω^{2h} sa k ≪ \frac{n−1}{2}

I_{2h}^{h}q^{(k)^{2h}} = [1 − O (\frac{k^{2}}{(n + 1)^{2}} )] q^{(k)^{h}} + O (\frac{k^{2}}{(n + 1)^{2}} ) q^{(k′)^{h}}.

U tom slučaju, rezultat interpolacije se u većini poklapa sa odgovarajućim glatkim modom na Ω^{h}, uz vrlo malo smetnje od strane komplementarnog oscilatornog moda.

Već smo se uvjerili u važnost slike interpolacije R(I_{2h}^{h}). Baza za R(I_{2h}^{h}) je dana sa stupcima od I_{2h}^{h}. Dok vektori baze izgledaju prilično glatko, kao što Slika 4.8 pokazuje, oni se ne poklapaju sa glatkim modovima od A^{h}. Može se pokazati, da bilo koji od ovih vektora baze zahtijeva sve modove od A^{h} za svoj rastav po komponentama. Drugim riječima, slika interpolacije sadrži i glatke i oscilatorne modove od A^{h}, samo što glatke komponente prevladavaju.

[figure: |; |; |]

Slika 4.8: Tipični vektor baze slike operatora interpolacije R(I_{2h}^{h})

S ovom analizom operatora prijenosa medu mrežama, ponovo se vraćamo korektivnoj shemi na dvije mreže. Kao što smo već prije iznijeli, iteracija klasične iterativne metode može se izraziti kao

v_{k}^{h} = v_{k−1}^{h} + (M_{G}^{h})^{−1}(f^{h} − A^{h}v_{k−1}^{h}) = (I − (M_{G}^{h})^{−1}A^{h})v_{k−1}^{h} + (M_{G}^{h})^{−1}f^{h},

a ako identificiramo G^{h} = I − (M_{G}^{h})^{−1}A^{h} kao matricu iterativne metode, dobivamo

v_{k}^{h} = G^{h}v_{k−1}^{h} + (M_{G}^{h})^{−1}f^{h}.

Induktivno se lako vidi da je

v_{k}^{h} = (G^{h})^{k}(A^{h})^{−1}(A^{h}v_{0}^{h} − f^{h}) + (A^{h})^{−1}f^{h},

ili jednostavnije

v_{k}^{h} = (G^{h})^{k}v_{0}^{h} + (I − (G^{h})^{k})(A^{h})^{−1}f^{h}.

Koraci korektivne sheme na dvije mreže, sa egzaktnim rješenjem na gruboj mreži, dani su sljedećom shemom.

• Iteriraj ν puta na Ω^{h} sa matricom iteracije G^{h}:

v^{h} := (G^{h})^{ν}v^{h} + (I − (G^{h})^{ν})(A^{h})^{−1}f^{h}.

• Prenesi, pomoću operatora potpunog težinskog sumiranja, r^{h} na Ω^{2h}: f^{2h} = I_{h}^{2h}(f^{h} − A^{h}v^{h}).

• Egzaktno riješi rezidualnu jednadžbu: v^{2h} = (A^{2h})^{−1}f^{2h}.

• Korigiraj aproksimaciju na Ω^{h}: v^{h} := v^{h} + I_{2h}^{h}v^{2h}.

Ako sa v_{stari}^{h} označimo staru vrijednost aproksimacije rješenja na Ω^{h}, prije primjene korektivne sheme na dvije mreže, i ako sa v_{novi}^{h} označimo njenu novu vrijednost, nakon korektivne sheme na dvije mreže, tada cijelu proceduru možemo napisati kao jedan korak sa

v_{novi}^{h} = (G^{h})^{ν}v_{stari}^{h} + (I − (G^{h})^{ν})(A^{h})^{−1}f^{h} +
+I_{2h}^{h}(A^{2h})^{−1}I_{h}^{2h}[f^{h} − A^{h}((G^{h})^{ν}v_{stari}^{h} + (I − (G^{h})^{ν})(A^{h})^{−1}f^{h})].

Ako ovaj glomazni izraz malo sredimo dobit ćemo konačni oblik

v_{novi}^{h} = v_{stari}^{h} + [I − (I − I_{2h}^{h}(A^{2h})^{−1}I_{h}^{2h}A^{h})(G^{h})^{ν}](A^{h})^{−1}(f^{h} − A^{h}v_{stari}^{h}).

Ako označimo sa

(M^{h})^{−1} = [I − (I − I_{2h}^{h}(A^{2h})^{−1}I_{h}^{2h}A^{h})(G^{h})^{ν}](A^{h})^{−1},

tada imamo

v_{novi}^{h} = v_{stari}^{h} + (M^{h})^{−1}(f^{h} − A^{h}v_{stari}^{h}),

čime smo pokazali da je jedno izvršavanje korektivne sheme na dvije mreže ekvivalentno jednom koraku jednostavnih iteracija, nad sustavom A^{h}u^{h} = f^{h}, i sa matricom prekondicioniranja jednakom M^{h}. Ovo je i razlog zašto multigrid metode možemo smatrati jednom vrstom prekondicioniranja, kod primjene jednostavnih iteracija. Kako je izraz za grešku e^{h} = u^{h} − v^{h} jednostavnih iteracija jednak

e_{novi}^{h} = (I − (M^{h})^{−1}A^{h})e_{stari}^{h},

tada za operator korektivne sheme na dvije mreže, kojeg ćemo označiti sa T G = I − (M^{h})^{−1}A^{h}, vrijedi

e_{novi}^{h} = [I − I_{2h}^{h}(A^{2h})^{−1}I_{h}^{2h}A^{h}](G^{h})^{ν}e_{stari}^{h} = T Ge_{stari}^{h}.  (4.10)

Kao što smo već prije napomenuli, grešku možemo izraziti kao linearnu kombinaciju modova od A^{h}, zato nas to vodi do pitanja kako T G djeluje na modove od A^{h}. Medutim, T G se sastoji od G^{h} (koja je u našem primjeru jednaka G_{JOR}), A^{h}, (A^{2h})^{−1}, I_{h}^{2h}, i I_{2h}^{h}, a za svaki od tih operatora znamo kako djeluje na modove od A^{h}. Za trenutak, pretpostavimo da se radi o korektivnoj shemi na dvije mreže bez iteracija iterativne metode, odnosno da je ν = 0. Koristeći sva spektralna svojstva, koja smo do sada dobili, za 1 ≤ k < \frac{n+1}{2} i k′ = n + 1 − k imamo

T Gq^{(k)^{h}} = [I − I_{2h}^{h}(A^{2h})^{−1}I_{h}^{2h}A^{h}]q^{(k)^{h}} =
= q^{(k)^{h}} − \frac{4}{h^{2}} sin^{2} (\frac{kπ}{2(n + 1)}) I_{2h}^{h}(A^{2h})^{−1}I_{h}^{2h}q^{(k)^{h}} =
= q^{(k)^{h}} − \frac{4}{h^{2}} sin^{2} (\frac{kπ}{2(n + 1)}) cos^{2} (\frac{kπ}{2(n + 1)}) I_{2h}^{h}(A^{2h})^{−1}q^{(k)^{2h}} =
= q^{(k)^{h}} − \frac{4}{h^{2}} sin^{2} (\frac{kπ}{2(n + 1)}) cos^{2} (\frac{kπ}{2(n + 1)}) ·

·h^{2} sin^{−2} (\frac{kπ}{n + 1}) I_{2h}^{h}q^{(k)^{2h}} =

= q^{(k)^{h}} − I_{2h}^{h}q^{(k)^{2h}} =
= q^{(k)^{h}} − cos^{2} (\frac{kπ}{2(n + 1)}) q^{(k)^{h}} + sin^{2} (\frac{kπ}{2(n + 1)}) q^{(k′)^{h}} =
= sin^{2} (\frac{kπ}{2(n + 1)}) (q^{(k)^{h}} + q^{(k′)^{h}}).

i, na sličan način je

T Gq^{(k′)^{h}} = q^{(k′)^{h}} + \frac{4}{h^{2}} sin^{2} (\frac{k′π}{2(n + 1)}) sin^{2} (\frac{kπ}{2(n + 1)}) ·

·h^{2} sin^{−2} (\frac{kπ}{n + 1}) I_{2h}^{h}q^{(k)^{2h}} =

= q^{(k′)^{h}} + 4 cos^{2} (\frac{kπ}{2(n + 1)}) sin^{2} (\frac{kπ}{2(n + 1)}) ·

· sin^{−2} (\frac{kπ}{n + 1}) I_{2h}^{h}q^{(k)^{2h}} =

= q^{(k′)^{h}} + I_{2h}^{h}q^{(k)^{2h}} =
= q^{(k′)^{h}} + cos^{2} (\frac{kπ}{2(n + 1)}) q^{(k)^{h}} − sin^{2} (\frac{kπ}{2(n + 1)}) q^{(k′)^{h}} =
= cos^{2} (\frac{kπ}{2(n + 1)}) (q^{(k)^{h}} + q^{(k′)^{h}}),

jer je

sin (\frac{k′π}{2(n + 1)}) = sin (\frac{π}{2} − \frac{kπ}{2(n + 1)}) = cos (\frac{kπ}{2(n + 1)}) .

Za k = \frac{n+1}{2} je I_{h}^{2h}q^{(k)^{h}} = 0 pa je zbog toga T Gq^{( \frac{n+1}{2} )^{h}} = q^{( \frac{n+1}{2} )^{h}}. S druge strane je

sin^{2} (\frac{kπ}{2(n + 1)}) = cos^{2} (\frac{kπ}{2(n + 1)}) = \frac{1}{2},

i q^{(k′)^{h}} = q^{(k)^{h}}. Zato je za k = \frac{k+1}{2}

T Gq^{(k)^{h}} = sin^{2} (\frac{kπ}{2(n + 1)}) (q^{(k)^{h}} + q^{(k′)^{h}}) = cos^{2} (\frac{kπ}{2(n + 1)}) (q^{(k)^{h}} + q^{(k′)^{h}}).

Dakle, za ovako definiranu korektivnu shemu na dvije mreže, operator T G je invarijantan na potprostor span{q^{(k)^{h}}, q^{(k′)^{h}}}, jer vrijedi

T Gq^{(k)^{h}} = sin^{2} (\frac{kπ}{2(n + 1)}) (q^{(k)^{h}} + q^{(k′)^{h}}),  (4.11)
T Gq^{(k′)^{h}} = cos^{2} (\frac{kπ}{2(n + 1)}) (q^{(k)^{h}} + q^{(k′)^{h}}),  (4.12)

1 ≤ k ≤ \frac{n + 1}{2}, k′ = n + 1 − k.

Odavde slijedi, da kada se T G primijeni na glatki ili oscilatorni mod, rezultat je kombinacija istog moda i njegovog komplementa. Ali važno je obratiti pažnju na amplitude rezultirajućih modova. Pretpostavimo da TG djeluje na vrlo gladak mod i na vrlo oscilatorni mod, sa k ≪ n + 1. Tada (4.11) i (4.12) postaju

T Gq^{(k)^{h}} = O (\frac{k^{2}}{(n + 1)^{2}} ) (q^{(k)^{h}} + q^{(k′)^{h}}),
T Gq^{(k′)^{h}} = [1 − O (\frac{k^{2}}{(n + 1)^{2}} )] (q^{(k)^{h}} + q^{(k′)^{h}}), 1 ≤ k ≤ \frac{n + 1}{2}, k′ = n + 1 − k.

Kada T G djeluje na glatkim modovima, kao rezultat daje glatke i oscilatorne modove, sa vrlo malim amplitudama. Zbog toga je korektivna shema djelotvorna kod eliminacije glatkih komponenti greške, i to što je vektor gladi to bolje. Medutim, kada T G djeluje na vrlo oscilatornim modovima, proizvodi glatke i oscilatorne modove sa O(1) amplitudom. Zbog toga, korektivna shema na dvije mreže, bez iterativne metode, ne može eliminirati oscilatorne modove.

Sada uvodimo iterativnu metodu u shemu. Budući da znamo njezina spektralna svojstva, očekujemo da će ona jako dobro izbalansirati djelovanje operatora T G bez iterativne metode. Uključit ćemo ν koraka iterativne metode, sa matricom G^{h}, uz pretpostavku da G^{h} ne miješa modove od A^{h}. Neka je λ_{k}(G^{h}) svojstvena vrijednost od G^{h}, koja je pridružena k-tom modu q^{(k)^{h}}. Kombinirajući prethodnu analizu sa (4.10), djelovanje operatora T G sa iterativnom metodom dano je sa

T Gq^{(k)^{h}} = λ_{k}(G^{h})^{ν} sin^{2} (\frac{kπ}{2(n + 1)}) (q^{(k)^{h}} + q^{(k′)^{h}}),  (4.13)
T Gq^{(k′)^{h}} = λ_{k′}(G^{h})^{ν} cos^{2} (\frac{kπ}{2(n + 1)}) (q^{(k)^{h}} + q^{(k′)^{h}}),  (4.14)

1 ≤ k ≤ \frac{n + 1}{2}, k′ = n + 1 − k.

Znamo da izgladujuće svojstvo klasičnih iterativnih metoda ima najbolji efekt na oscilatornim modovima. To se reflektira kroz izraz λ_{k′}(G^{h})^{ν}, koji je mali. S druge strane, sama korektivna shema na dvije mreže, bez iterativne metode, eliminira glatke modove. To se reflektira kroz izraz sin^{2}(kπ/((2(n + 1))) koji je mali. Zbog toga su svi izrazi u (4.13) i (4.14) mali. Rezultat je kompletan proces koji uspješno eliminira i glatke i oscilatorne modove. Time smo dovršili takozvanu spektralnu sliku multigrid metode.

Postoji još jedan način na koji možemo promatrati korektivnu shemu na dvije mreže, pomoću kojeg ćemo dobiti uvid u algebarsku sliku multigrid metode. Sa spektralnom i algebarskom slikom moći ćemo dati solidno objašnjenje funkcioniranja multigrid metoda.

Daljnja razmatranja temelje se na varijacijskim svojstvima (4.8) i (4.9). Kao što smo vidjeli, slika interpolacije R(I_{2h}^{h}), i jezgra potpunog težinskog sumiranja N (I_{h}^{2h}) leže na Ω^{h} i imaju redom dimenzije \frac{n−1}{2} i \frac{n+1}{2}. Prema fundamentalnom teoremu linearne algebre, znamo da je

N [(I_{2h}^{h})^{T}] ⊥ R(I_{2h}^{h}),

i

Ω^{h} = R(I_{2h}^{h}) ⊕ N [(I_{2h}^{h})^{T}].

Prema drugom varijacijskom svojstvu, slijedi

N (I_{h}^{2h}) ⊥ R(I_{2h}^{h}),

i

Ω^{h} = R(I_{2h}^{h}) ⊕ N (I_{h}^{2h}).

što predstavlja važno svojstvo. Sada ćemo koristiti pojam A-ortogonalnosti kako bi na drugačiji način napisali gornju relaciju. Činjenica da je N (I_{h}^{2h}) ⊥ R(I_{2h}^{h}) znači da je ⟨v^{h}, w^{h}⟩ = 0 kad god je v^{h} ∈ R(I_{2h}^{h}) i I_{h}^{2h}w^{h} = 0. To je ekvivalentno uvjetu da je ⟨v^{h}, A^{h}w^{h}⟩ = 0 za v^{h} ∈ R(I_{2h}^{h}) i I_{h}^{2h}A^{h}w^{h} = 0. Ovaj zadnji uvjet može se napisati kao

N (I_{h}^{2h}A^{h}) ⊥_{A^{h}} R(I_{2h}^{h}),

odnosno, jezgra od I_{h}^{2h}A^{h} je A^{h}-ortogonalna slici interpolacije. To možemo napraviti jer je u našem primjeru A^{h} pozitivno definitna matrica. Ovo svojstvo ortogonalnosti omogučava dekompoziciju prostora Ω^{h}

Ω^{h} = R(I_{2h}^{h}) ⊕_{A^{h}} N (I_{h}^{2h}A^{h}).

To znači da ako je e^{h} vektor iz Ω^{h}, tada se on uvijek može izraziti kao

e^{h} = s^{h} + t^{h},

gdje su s^{h} ∈ R(I_{2h}^{h}), i t^{h} ∈ N (I_{h}^{2h}A^{h}).

Sada bi bilo korisno bolje opisati vektore s^{h} i t^{h}. Budući da je s^{h} element iz R(I_{2h}^{h}), mora zadovoljavati s^{h} = I_{2h}^{h}q^{2h}, za neki vektor q^{2h} iz Ω^{2h}. Mi smo primijetili da postoji izgladujući efekt interpolacije i da vektori baze od R(I_{2h}^{h}) imaju glatki izgled. Zbog tog razloga, vektoru s^{h} pridružit ćemo u večini glatke komponente greške e^{h}. Takoder smo primijetili oscilatorni izgled vektora baze od N (I_{h}^{2h}), a s druge strane bazu od N (I_{h}^{2h}A^{h}) čine neparni jedinični vektori. Zato ćemo vektoru t^{h} pridružiti uglavnom oscilatorne komponente greške.

Sada ćemo ponovo razmotriti djelovanje operatora korektivne sheme na dvije mreže, sa naglaskom na ove potprostore. Taj operator, bez iterativne metode ima oblik, kao što već znamo

T G = I − I_{2h}^{h}(A^{2h})^{−1}I_{h}^{2h}A^{h}.

Tada imamo da je

T Gs^{h} = [I − I_{2h}^{h}(A^{2h})^{−1}I_{h}^{2h}A^{h}]I_{2h}^{h}q^{2h}.

Medutim, prema prvom varijacijskom svojstvu je I_{h}^{2h}A^{h}I_{2h}^{h} = A^{2h}. Zato imamo da je

T Gs^{h} = 0.

To nam daje važan rezultat, koji kaže, da bilo koji vektor iz slike interpolacije, takoder leži i u jezgri operatora korektivne sheme na dvije mreže, odnosno

N (T G) ⊃ R(I_{2h}^{h}).

U drugu ruku imamo

T Gt^{h} = [I − I_{2h}^{h}(A^{2h})^{−1}I_{h}^{2h}A^{h}]t^{h}.

Kako je I_{h}^{2h}A^{h}t^{h} = 0, zaključujemo daje

T Gt^{h} = t^{h}.

To znači da je T G identiteta kada djeluje na N (I_{h}^{2h}A^{h}). To znači da je dimenzija slike od T G veća ili jednaka od dimenzije N (I_{h}^{2h}A^{h}). Prema toremu o rangu i defektu vrijedi

dim N (T G) ≤ n − dim N (I_{h}^{2h}A^{h}) = n − dim N (I_{h}^{2h}) =
= n − \frac{n + 1}{2} = \frac{n − 1}{2} = dim R(I_{2h}^{h}).

Dakle možemo zaključiti da je

N (T G) = R(I_{2h}^{h}).

Ovom argumentacijom dobili smo uvid u djelovanje operatora korektivne sheme na dvije mreže, na dva ortogonalna potprostora od Ω^{h}, što čini njenu algebarsku sliku. Ako sada stavimo i spektralnu i algebarsku sliku zajedno, vidimo da prostor vektora na finoj mreži Ω^{h} možemo dekomponirati na dva nezavisna načina. Imamo spektralnu dekompoziciju

Ω^{h} = L^{h} ⊕ H^{h} =
= span \{q^{(k)^{h}} : 1 ≤ k < \frac{n + 1}{2}\} ⊕ span \{q^{(k)^{h}} : \frac{n + 1}{2} ≤ k ≤ n\} ,

i dekompoziciju s potprostorima

Ω^{h} = R(I_{2h}^{h}) ⊕_{A^{h}} N (I_{h}^{2h}A^{h}).

Kako se u standardnom multigrid algoritmu izmjenjuju iteracije iterativne metode i korektivna shema na dvije mreže, to vidimo da se najprije eliminiraju oscilatorne komponente greške, a zatim komponente u potprostoru R(I_{2h}^{h}), koje se uvelike poklapaju sa glatkim modovima. Ovo je ukratko slika djelovanja standardne multigrid metode, u kojoj su dani argumenti o postupnoj eliminaciji svih komponenti greške, i o konvergenciji metode, a ilustrirana je na Slici 4.9.

[figure: R(I_{2h}^{h}); N (I_{h}^{2h}A^{h}); L^{h}; H^{h}; e^{h}]

Slika 4.9: Redukcija komponenata greške e^{h} u jednom izvodenju korektivne sheme na dvije mreže.

Do sad smo razmatrali samo svojstvene vrijednosti i vektore matrice A^{h} ili G^{h}. Pogledajmo još na kraju kako izgleda spektar same matrice T G, ali u najopćenitijem slučaju. Pretpostavimo da se korektivna shema na dvije mreže sastoji od ν_{1} iteracija iterativne metode prije korekcije na gruboj mreži, i od ν_{2} iteracija nakon korekcije. U tom slučaju, iz (4.13) i (4.14) slijedi

T Gq^{(k)^{h}} = λ_{k}^{ν_{1}+ν_{2}}s_{k}q^{(k)^{h}} + λ_{k}^{ν_{1}}λ_{k′}^{ν_{2}}s_{k}q^{(k′)^{h}},  (4.15)
T Gq^{(k′)^{h}} = λ_{k′}^{ν_{1}}λ_{k}^{ν_{2}}c_{k}q^{(k)^{h}} + λ_{k′}^{ν_{1}+ν_{2}}c_{k}q^{(k′)^{h}},  (4.16)

1 ≤ k ≤ \frac{n + 1}{2}, k′ = n + 1 − k,

pričemu su λ_{k} = λ_{k}(G^{h}), s_{k} = sin^{2} (\frac{kπ}{2(n+1)}) i c_{k} = cos^{2} (\frac{kπ}{2(n+1)}). Ako definiramo matricu

Q^{h} = \sqrt{\frac{2}{n + 1}} · [q^{(1)^{h}} q^{(2)^{h}} … q^{(n)^{h}}],

čije stupce čine ortonormirani svojstveni vektori simetrične matrice A^{h}, onda se radi o ortogonalnoj matrici. Iz (4.15) i (4.16) slijedi da matrica

Z = (Q^{h})^{T} T G Q^{h}

ima oblik

Z = [ \begin{matrix}λ_{1}^{ν_{1}+ν_{2}}s_{1} & & & & & & λ_{1}^{ν_{2}}λ_{n}^{ν_{1}}c_{1} \\ & λ_{2}^{ν_{1}+ν_{2}}s_{2} & & & & λ_{2}^{ν_{2}}λ_{n−1}^{ν_{1}}c_{2} \\ & & ... & & · \\ & & & λν_{1}+ν_{2}_{\frac{n+1}{2}} \\ & & · & & ... \\ & λ_{2}^{ν_{1}}λ_{n−1}^{ν_{2}}s_{2} & & & & λ_{n−1}^{ν_{1}+ν_{2}}c_{2} \\ λ_{1}^{ν_{1}}λ_{n}^{ν_{2}}s_{1} & & & & & & λ_{n}^{ν_{1}+ν_{2}}c_{1} \end{matrix} ] ,

i budući da je slična matrici T G, imaju isti spektar. Direktan račun daje

det(Z − λI) = λ_{\frac{n−1}{2}} ∏_{k=1}^{\frac{n+1}{2}}[λ − (λ_{k}^{ν_{1}+ν_{2}}s_{k} + λ_{k′}^{ν_{1}+ν_{2}}c_{k})],

pa za svojstvene vrijednosti μ_{k} matrice Z, a ujedno i matrice T G, imamo

μ_{k} = \{ \begin{matrix}λ_{k}^{ν_{1}+ν_{2}}s_{k} + λ_{k′}^{ν_{1}+ν_{2}}c_{k}, & 1 ≤ k ≤ \frac{n+1}{2}, \\ 0, & \frac{n+1}{2} < k ≤ n. \end{matrix}

Budući da nas zapravo interesira spektralni radijus matrice T G, kao stope konvergencije korektivne sheme na dvije mreže, promatrat ćemo samo njene netrivijalne svojstvene vrijednosti, i to u tri različita slučaja, za G^{h} = G_{JOR, \frac{2}{3}} .

1. ν_{1} = ν_{2} = 0 To je slučaj kada korektivnu shemu na dvije mreže koristimo bez iterativne metode. Tada je,

μ_{k} = s_{k} + c_{k} = 1, 1 ≤ k ≤ \frac{n + 1}{2},

odakle se vidi da, prema stopi konvergencije ρ(T G) = 1, konvergencija nije zagarantirana.

2. ν_{1} ≥ 1, ν_{2} = 0 To je slučaj kada se u korektivnoj mreži, prije korekcije na gruboj mreži izvede ν_{1} iteracija iterativne metode. Tada je, zbog toga što je λ_{k} < 1 za JOR metodu za naš primjer, kao što smo već prije ustanovili,

μ_{k} = λ_{k}^{ν_{1}}s_{k} + λ_{k′}^{ν_{1}}c_{k} ≤ λ_{k}s_{k} + λ_{k′}c_{k} =
= (1 − \frac{4}{3}s_{k}) s_{k} + (1 − \frac{4}{3}c_{k}) c_{k} =
= 1 − \frac{4}{3}(s_{k}^{2} + c_{k}^{2}) = 1 − \frac{4}{3}[(s_{k} + c_{k})^{2} − 2s_{k}c_{k}] =
= 1 − \frac{4}{3} [1 − \frac{1}{2} sin^{2} (\frac{kπ}{n + 1})] = −\frac{1}{3} + \frac{2}{3} sin^{2} (\frac{kπ}{n + 1}) ≤
≤ −\frac{1}{3} + \frac{2}{3} = \frac{1}{3}, 1 ≤ k ≤ \frac{n + 1}{2},

odnosno ρ(T G) ≤ \frac{1}{3}, što znači da se sa svakim izvršavanjem ovakve korektivne metode na dvije mreže greška reducira za faktor koji je barem 3, i koji ne ovisi o h.

3. ν_{1} ≥ 1, ν_{2} ≥ 1 Ovo je najopćenitiji slučaj korektivne sheme na dvije mreže, kada se prije i poslije korekcije na gruboj mreži izvršavaju barem po jedna iteracija iterativne metode. Vrijedi

μ_{k} = λ_{k}^{ν_{1}+ν^{2}}s_{k} + λ_{k′}^{ν_{1}+ν^{2}}c_{k} ≤ λ_{k}^{2}s_{k} + λ_{k′}^{2}c_{k} =
= (1 − \frac{4}{3}s_{k})^{2} s_{k} + (1 − \frac{4}{3}c_{k})^{2} c_{k} =
= 1 − \frac{8}{3}(s_{k}^{2} + c_{k}^{2}) + \frac{16}{9}(s_{k}^{3} + c_{k}^{3}) =
= 1 − \frac{8}{3}(s_{k}^{2} + c_{k}^{2}) + \frac{16}{9}(s_{k} + c_{k})(s_{k}^{2} − s_{k}c_{k} + c_{k}^{2}) =
= 1 − \frac{8}{9}(s_{k}^{2} + c_{k}^{2}) − \frac{16}{9}s_{k}c_{k} = 1 − \frac{8}{9}(s_{k} + c_{k})^{2} =
= 1 − \frac{8}{9} = \frac{1}{9}, 1 ≤ k ≤ \frac{n + 1}{2},

odakle je ρ(T G) ≤ \frac{1}{9}. Ovaj slučaj je najbolji, jer garantira da će se svakom primjenom korektivne sheme na dvije mreže sa ν_{1}, ν_{2} ≥ 1 greška reducirati za faktor koji je barem 9, i koji ne ovisi o h.

Iz prethodne analize vidimo kako se klasična iterativna metoda i korektivna shema na dvije mreže vrlo dobro upotpunjavaju. Kada se ta dva algoritma primjene zajedno, rezultat je vrlo djelotvoran algoritam.

Trebamo još napomenuti, da se cijela ova analiza bavila samo korektivnom shemom na dvije mreže. V-ciklus koristi tu shemu na svim nivoima, osiguravajući da iteracije iterativne metode budu usmjerene na oscilatorne modove tekuće mreže. Korektivna shema na dvije mreže bez iterativne metode, brine se o glatkim komponentema greške na tekućoj greški, tako da su, ponovo, na svakom nivou postupno eliminirane sve komponente mreže.

Djelotvornost korektivne sheme na dvije mreže se dalje pojačava FMG metodom. Ta metoda koristi ugniježdene V-cikluse, kako bi dobili točne početne iteracije na grubljoj mreži, prije nego što se djeluje sa iterativnom metodom na finoj mreži. To osigurava, da se odgovarajući problem na gruboj mreži riješi najtočnije što se može, prije nego što se pristupi skupljim iteracijama iterativne metode na finoj mreži. Medutim, čak i u ovim kompliciranijim algoritmima, glavnu snagu daje kombinacija iterativne metode, i korekcije na grubljoj mreži.

Osim klasičnih iterativnih metoda, koje smo koristili kao jedan dio multigrid metode, mogu se koristiti i druge iterativne metode kao npr. CG, GMRES, QMR, ili BICGS-TAB, za ubrzavanje konvergencije. Isto tako, multigrid možemo upotrijebiti i kao postupak prekondicioniranja iterativnih metoda koje koriste aproksimacije iz Krylovljevih potprostora. Za rješavanje jednadžbe Mz = r, sa matricom prekondicioniranja M, dobivenom iz multigrid V-ciklusa, treba jednostavno izvesti jedan V-cikus nad sustavom čija je matrica jednaka matrici polaznog sustava, desna strana jednaka r, a početna iteracija z_{0} jednaka nuli. Tada nakon jednog V-ciklusa imamo z_{1} = 0 + M^{−1}(r − M · 0) = M^{−1}r, pa je z_{1} traženo rješenje. Odavde se vidi da primjena multigrid metoda, kao i njen razvoj, mogu ići u raznim smjerovima.

Metode dekompozicije domene

Simulacijski se problemi često sastoje od kompliciranih struktura, kao na primjer trupovi aviona ili automobila. U tom slučaju pojavljuje se potreba za novim metodama koje se mogu uhvatiti u koštac sa nepravilnim domenama u dvodimenzionalnom i trodimenzionalnom prostoru, na kojima je definiran problem, i sa veličinom problema. Zbog ograničenosti računalne memorije i vremena, ovakvi problemi se često ne mogu riješiti od jednom, već se problem razbija na više djelova koji se posebno rješavaju. Ako se više tih dijelova može riješiti nezavisno jedan od drugoga, i zatim, ako se sva ta rješenja mogu nekako slijepiti u rješenje cijelog problema, tada se rješavanje tog problema može izvoditi na paralelnim računalima. Najbrže metode koje smo do sada spominjali, multigrid metode, funkcioniraju najbolje na prilično regularnim problemima kao što je rješavanje Poissonove jednadžbe, definiranim na pravilnim domenama, poput pravokutnika. S druge strane domena problema kojeg želimo riješiti može biti nepravilnog oblika, kao kod modela krila aviona. Takoder, možemo imati kompliciranije jednadžbe od Poissonove, ili možemo imati različite jednadžbe na različitim dijelovima domene. Ponekad je problem vrlo velik, bez obzira na regularnost, i ne može stati u memoriju računala. U svim tim slučajevima, traži se mogućnost razbijanja domene na manje dijelove na kojima problem nije kompliciran za rješavanje, i na kojima se može primijeniti jednostavnija metoda, recimo, razbijanje na pravokutnike na kojima se onda primjenjuje multigrid metoda. Rješavanje tih potproblema može se izvoditi jedno po jedno, ili paralelno. Ako se rješenja potproblema mogu iskombinirati na pametan način, pri čemu bi se dobilo rješenje kompletnog problema, tada ćemo dobiti bržu i paralelizabilnu metodu za dobivanje rješenja, od primjene standardne iterativne metode na cijeli, veliki problem. Vidjet ćemo da je ovaj pristup ponovo ekvivalentan prekondicioniranju sustava, samo što ćemo u ovom slučaju imati rješavanje manjih problema na poddomenama. Općenito postoji mnogo načina pomoću kojih možemo razbiti domenu na poddomene, mnogo načina na koje možemo riješiti potprobleme, i mnogo načina na koji možemo dobiti konačno rješenje kompletnog problema. Teorija metoda dekompozicije domene ne nudi općeniti recept kako odabrati sve te načine, već daje razumne mogućnosti koje treba isprobati.

Metode dekompozicije domena dijele se u dvije klase, u jednoj se koriste nepreklapajuće poddomene, a u drugoj preklapajuće poddomene. U nastavku ćemo razmotriti po nekoliko predstavnika metoda dekompozicije domene, koje su rasporedene u obje klase metoda.

5.1 Metode sa nepreklapajućim poddomenama

Ovakve metode nazivaju se još substrukturalne ili metode sa Schurovim komplementom. Ovakve metode već se dugo koriste za razbijanje velikih problema na manje, koji bi stali u memoriju računala.

Neka je L diferencijalni operator definiran na domeni Ω, i pretpostavimo da želimo riješiti rubni problem

Lu = f, na Ω,

u = u_{Γ} na Γ = ∂Ω. (5.1)

Domena Ω je otvoreni skup u ravnini ili 3-dimenzionalnom prostoru, a ∂Ω označava rub od Ω. Ovdje smo uzeli Dirichletove rubne uvjete, ali mogu se isto tako staviti Neumannovi ili Robinovi rubni uvjeti.

Prepostavimo da je naš problem bio diskretiziran centralnim diferencijama, i da je na domeni problema Ω definirana mreža. Prepostavimo da je domena podijeljena na s poddomena Ω_{i}, i = 1, …, s, odnosno da vrijedi

Ω = ⋃_{i=1}^{s} Ω_{i},

pri čemu se poddomene ne preklapaju, što znači da susjedne domene dijele samo rub. Nazovimo rub izmedju Ω_{i} i Ω_{j}, i ≠ j granicom Γ_{ij} izmedu i-te i j-te poddomene. Te se granice mogu ili ne moraju poklapati sa bridovima mreže, ali općenito možemo pretpostaviti da svaka granica Γ_{ij} sadrži neke točke mreže. Čvorove mreže možemo sada poredati tako da grupiramo, redom, čvorove koji se nalaze u unutrašnjosti poddomena, najprije poddomene Ω_{1}, zatim Ω_{2}, sve do Ω_{s}. Na kraju poredamo čvorove granica. Kao rezultat matrica pridružena tom problemu imat će oblik

[ \begin{matrix}B_{1} & & & & E_{1} \\ & B_{2} & & & E_{2} \\ & & ... & & ⋮ \\ & & & B_{s} & E_{s} \\ F_{1} & F_{2} & ⋯ & F_{s} & C \end{matrix} ] [ x_{1} ; x_{2} ; ⋮ ; x_{s} ; y ] = [ f_{1} ; f_{2} ; ⋮ ; f_{s} ; g ] ,  (5.2)

gdje x_{i} predstavlja podvektor nepoznanica koje se odnose na točke u unutrašnjosti poddomene Ω_{i}, a y predstavlja vektor svih nepoznanica koje se odnose na točke koje pripadaju graničnom području. Primijetimo da su blokovi na pozicijama (i, j), za i, j = 1, …, s, i ≠ j jednaki nuli, zato što niti jedna točka iz unutrašnjosti jedne domene nije direktan susjed niti jedne točke iz unutrašnjosti bilo koje druge domene. Jedino može biti susjedna nekoj točki iz graničnog područja.

5.1.1 Blok-Gaussove eliminacije i Schurov komplement

Sustav (5.2) možemo napisati u jednostavnijoj formi, koju će namo koristiti u daljnoj analizi.

A [ \begin{matrix}x \\ y \end{matrix} ] = [ \begin{matrix}f \\ g \end{matrix} ]  sa A = [ \begin{matrix}B & E \\ F & C \end{matrix} ] .  (5.3)

Pretpostavimo da je B regularna matrica, što je za očekivati, jer su B_{i} regularne, kao matrice lokalnih problema na Ω_{i}. Tada iz prve jednadžbe možemo izraziti x kao

x = B^{−1}(f − Ey).  (5.4)

Uvrštavajući to u drugu jednadžbu, dobivamo reducirani sustav na nepoznanicama granice

(C − F B^{−1}E)y = g − F B^{−1}f.  (5.5)

Matrica

S = C − F B^{−1}E  (5.6)

zove se matrica Schurovog komplementa sustava, po nepoznanici y. Ako bi se ta matrica mogla izračunati, i ako se može riješiti sustav (5.5), dobili bi vrijednosti za sve varijable graničnog područja. Ostale nepoznanice mogu se tada izračunati preko (5.4). Zbog posebne strukture matrice B, koja je zapravo blok-dijagonalna, rješavanje linearnog sustava s njom je ekvivalentno rješavanju s nezavisnih i manjih sustava. Ovdje do izražaja može doći paralelno računanje.

Metoda za rješavanje sustava bazirana na ovom pristupu sasatoji se od četiri koraka:

• Izračunaj desnu stranu reduciranog sustava (5.5).

• Izračunaj matricu Schurovog komplementa (5.6).

• Riješi reducirani sustav (5.5).

• Pomoću (5.4) izračunaj ostale nepoznanice.

Jedno rješavanje sustava sa matricom B može se uštedjeti preformuliranjem algoritma u pogodniji oblik. Definirajmo

E′ = B^{−1}E, i f′ = B^{−1}f.

Matrica E′ i vektor f′ su potrebni u prvom i drugom koraku algoritma. Četvrti korak, tada možemo napisati kao

x = B^{−1}f − B^{−1}Ey = f′ − E′y,

što nam daje sljedeći algoritam.

Algoritam 5.1.1. Algoritam blok-Gaussovih eliminacija

Riješi BE′ = E, i Bf′ = f po E′ i f′.
Izračunaj g′ = g − F f′.
Izračunaj S = C − F E′.
Riješi Sy = g′.
Izračunaj x = f′ − E′y.

U konkretnoj implementaciji, rješavanje sustava sa matricom B svodi se na rješavanje s sustava B_{i}E′_{i} = E_{i} i B_{i}f′_{i} = f_{i}. Treba još napomenuti, da su mnogi stupci od E_{i} jednaki nuli, i to oni koji se odnose na one granice koje ne ograničavaju poddomenu i.

Sada ćemo pogledati koja je veza izmedu Schurovog komplementa i Gaussovih eliminacija. Započnimo sa blok-LU faktorizacijom matrice A,

A = [ \begin{matrix}B & E \\ F & C \end{matrix} ] = [ \begin{matrix}I & 0 \\ F B^{−1} & I \end{matrix} ] [ \begin{matrix}B & E \\ 0 & S \end{matrix} ] ,

što se lako provjeri. Na Schurov komplement možemo onda gledati kao na (2, 2)-blok U faktora LU faktorizacije matrice A. Iz gornje jednakosti slijedi da ako je A regularna, tada su to i njezini faktori, odakle slijedi da je i S regularna. Uzimajući inverz od A dobivamo

[ \begin{matrix}B & E \\ F & C \end{matrix} ]^{−1} = [ \begin{matrix}B^{−1} & −B^{−1}ES^{−1} \\ 0 & S^{−1} \end{matrix} ] [ \begin{matrix}I & 0 \\ −F B^{−1} & I \end{matrix} ] =
= [ \begin{matrix}B^{−1} + B^{−1}ES^{−1}F B^{−1} & −B^{−1}ES^{−1} \\ −S^{−1}F B^{−1} & S^{−1} \end{matrix} ] .  (5.7)

Primijetimo da je S^{−1} (2, 2)-blok blok-inverza od A. Posebno, ako je originalna matrica A simetrična pozitivno definitna matrica tada je to i A^{−1} (svojstvene vrijednosti od A^{−1} su inverzi svojstvenih vrijednosti od A, pa su pozitivne). Kao posljedica toga je i S simetrična i pozitivno definitna, jer je glavna minora matrice A^{−1} (svojstvene vrijednosti od S^{−1} su izmedu najmanje i najveće svojstvene vrijednosti od A^{−1}, koje su pozitivne).

Ova svojstva, koja smo jednostavno provjerili, sakupljena su u sljedećem teoremu.

Teorem 5.1.2 ([32]). Neka je A regularna matrica, particionirana kao u (5.3), takva da je podmatrica B regularna, i neka je I_{y} operator restrikcije na varijable granice, odnosno operator definiran sa

I_{y} [ \begin{matrix}x \\ y \end{matrix} ] = y.

Tada vrijede sljedeća svojstva.

(i) Matrica Schurovog komplementa S je regularna.

(ii) Ako je A simetrična pozitivno definitna matrica, tada je to i S.

(iii) Za bilo koji y je S^{−1}y = I_{y}A^{−1} [ \begin{matrix}0 \\ y \end{matrix} ] .

Prvo svojstvo pokazuje da će metoda koja koristi blok-Gaussove eliminacije biti izvediva, budući da je S regularna. Poslijedica drugog svojstva je, da kad je A pozitivno definitna, algoritma poput konjugiranih gradijenata može se primijeniti kod rješnavanja reduciranog sustava (5.5).

Dakle, rješavanje početnog sustava svodi se na množenje vektora sa matricom A^{−1}, koje se opet satoji od množenja podvektora blok-elementima od A^{−1}. U tom množenju, osim standardnog množenja matrica–vektor, imamo i rješavanje sustava sa matricama B i S. Rješavanje sustava sa matricom B je jeftino jer se svodi na rješavanj sustava sa B_{i}, kojima su domene tako odredene da se lako rješavaju npr. multigridom. Ostaje još problem rješavanje sustava s matricom S, odnosno množenje sa S^{−1}. Budući da je u graničnom području mnogo manje točaka mreže nego u unutrašnjosti poddomena, S ima mnogo manju dimenziju od bilo kojeg B_{i}. Ako je matrica A simetrična pozitivno definitna, pa je onda to i S, S možemo eksplicitno izračunati preko (5.6), što uključuje rješavanje sustava s matricom B, te zatim izvesti faktorizaciju Choleskog, i pomoću nje riješiti sustav. Medutim, to je prilično skuplje od samog množenja vektora sa matricom S. Zbog tog nam se metode aproksimacije iz Krylovljevih potprostora, kao npr konjugirani gradijenti, čine vrlo primjenljivim u ovom slučaju. Može se pokazati da je matrica S puno bolje uvjetovana od matrice A, O(h^{−1}) umjesto O(h^{−2}), što znači da će i konvergencija biti bolja. (Za reference vidi [7].)

5.2 Metode sa preklapajućim poddomenama

Sada ćemo promatrati metode koje dozvoljavaju da se poddomene preklapaju, kao što su aditivna i multiplikativna Schwarzova metoda. Ove metode potekle su od alternirajuće procedure za rješavanje diferencijalnih jednadžbi, koju je Schwarz još 1870. godine opisao. Ona se sastoji od tri djela: alterniranja izmedu dviju preklapajućih domena, rješavanja Dirichletovog rubnog problema na jednoj od domena u svakoj pojedinačnoj iteraciji, i korištenja rubnih uvjeta, koji su dobiveni iz aproksimacije rješenja, ostvarenog u zadnjoj iteraciji na drugoj domeni.

Pogledajmo spomenutu alternirajuću Schwarzovu metodu malo detaljnjije. Pretpostavimo da polazimo od problema (5.1), i da je domena Ω podijeljena na s poddomena Ω_{i}. Pretpostavimo da svaki par susjednih poddomena ima neprazni presjek. Rub poddomene Ω_{i} koji je uključen u poddomenu j označen je sa Γ_{i,j}, budući da se svaka poddomena prostire izvan svojih originalnih granica i prodire u područje susjednih poddomena. Označimo sa Γ_{i} rub domene Ω_{i}, koji se sastoji od djela originalnog ruba ukupne domene ∂Ω_{i} ∩ ∂Ω, označenog sa Γ_{i,0}, i svih Γ_{i,j}. Označimo sa u_{j,i} restrikciju rješenja u na rub Γ_{j,i}. Alternirajuća Schwarzova metoda može se tada opisati na sljedeći način.

Algoritam 5.2.1. Alternirajuća Schwarzova metoda

Izaberi početnu aproksimaciju rješenja u.

Dok nismo postigli željenu konvergenciju, radi:

Za i = 1, …, s

Riješi Lu = f na Ω_{i}, sa u = u_{ij} na Γ_{i,j}.

Korigiraj vrijednost u na Γ_{j,i} za ∀j, sa novoizračunatim vrijednostima na Ω_{i}.

Dakle, algoritam prolazi kroz s poddomena i na svakoj od njih rješava originalni problem, koristeći rubne uvjete koji su dobiveni od aproksimacija rješenja iz prethodnih iteracija. Budući da će se potproblemi najvjerojatnije rješavati iterativnom metodom, za početnu aproksimaciju danog potproblema uzima se zadnja dobivena aproksimacija.

U ovom slučaju varijable ćemo najprije poredati u grupe, tako da se u jednoj grupi nalaze sve varijable koje korespondiraju točkama jedne poddomene izvan preklapanja. Nakon toga ćemo na kraju poredati varijable koje odgovaraju točkama u preklopljenim područjima. Matrica, dobivena diskretizacijom, i koja je pridružena ovakvoj particiji domene, imat će ponovo oblik kao u relaciji (5.2). Treba još napomenuti da će od sada pa nadalje Ω predstavljati vektorski prostor, kod kojeg vektori sadrže komponente koje odgovaraju svim točkama mreže, dok će Ω_{i} predstavljati vekorski prostor vektora čije komponente odgovaraju točkama mreže unutar poddomene Ω_{i}.

5.2.1 Multiplikativna Schwarzova metoda

Za definiciju multiplikativne Schwarzove metode potrebna nam je definicija projektora na poddomene. Neka je S_{i} skup indeksa

S_{i} = {j_{1}, j_{2}, …, j_{n_{i}}},

gdje indeksi j_{l} označavaju n_{i} čvorova mreže unutrašnjosti poddomene Ω_{i}. Svi skupovi S_{i} zajedno čine kolekciju skupova indeksa takvih da je

⋃_{i=1,...,n} S_{i} = {1, …, n},

pri čemu S_{i} nisu nužno disjunktni. Neka je I_{i} operator restrikcije sa Ω na Ω_{i}. Prema definiciji, I_{i}v se nalazi u Ω_{i}, i zadržava samo one komponente proizvoljnog vektora v, koje su u Ω_{i}. Operator je reprezentiran n_{i}×n matricom koja se sastoji od jedinica i nula, čiji raspored ovisi o poretku čvorova. Matrica I_{i} je n_{i} × n matrica, čiji reci su dobiveni iz transponiranih jediničnih vektora ξ_{j}, za j ∈ S_{i}. Operator I_{i}^{T} je operator interpolacije, koja uzima vektor iz Ω_{i} i ekspandira ga u ekvivalentan vektor u Ω. Matrica

A_{i} = I_{i}AI_{i}^{T}

dimenzije n_{i} × n_{i} definira restrikciju od A na Ω_{i}. Sa ovom notacijom multiplikativna Schwarzova metoda može se opisati na sljedeći način

Algoritam 5.2.2. Multiplikativna Schwarzova metoda, matrični oblik

Izaberi početnu aproksimaciju rješenja u.

Dok nismo postigli željenu konvergenciju, radi:

Za i = 1, …, s
u := u + I_{i}^{T} A_{i}^{−1}I_{i}(b − Au),

Počevši od početne, globalne aproksimacije u_{0}, čiji je vektor greške definiran sa e_{0} = u − u_{0}, svaka poditeracija daje grešku, koja zadovoljava relaciju

e_{i} = e_{i−1} − I_{i}^{T} A_{i}^{−1}I_{i}Ae_{i−1},

za i = 1, …, s. Primijetimo samo da varijable u_{i} i e_{i} označavaju vektore definirane na cijeloj domeni Ω, a ne na Ω_{i}, samo što sudjeluju u i-toj poditeraciji. Kao rezultat, imamo

e_{i} = (I − P_{i})e_{i−1},

gdje je

P_{i} = I_{i}^{T} A_{i}^{−1}I_{i}A.  (5.8)

Primijetimo da je tako definiran operator P_{i} projektor, jer vrijedi

P_{i}^{2} = (I_{i}^{T} A_{i}^{−1}I_{i}A)^{2} = I_{i}^{T} A_{i}^{−1}(I_{i}AI_{i}^{T})A_{i}^{−1}I_{i}A = I_{i}^{T} A_{i}^{−1}I_{i}A = P_{i}.

Prema tome, jedan prolaz kroz unutarnju petlju algoritma multiplikativne Schwarzove metode zadovoljava relaciju

e_{s} = (I − P_{s})(I − P_{s−1}) ⋯ (I − P_{1})e_{0}.  (5.9)

U nastavku koristit ćemo oznaku

Q_{s} = (I − P_{s})(I − P_{s−1}) ⋯ (I − P_{1}).  (5.10)

Zbog ekvivalencije multiplikativne Schwarzove metode i blok-Gauss–Seidelove metode, moguće je jedan prolaz kroz unutarnju petlju multiplikativne Schwarzove metode napisati u obliku globalne iteracije fiksne točke u_{novi} = Gu_{stari} + f. Naime, multiplikativna Schwarzova metoda korigira aproksimaciju rješenja po poddomenama na isti način kao što to čini blok Gauss–Seidel po blok koordinatama. Prisjetimo se da je u slučaju primjene jednostavnih iteracija na prekondicionirani sustav M^{−1}Au = M^{−1}b matrica G jednaka G = I − M^{−1}A, i e_{i} = Ge_{i−1}. Iz (5.9) slijedi e_{s} = Q_{s}e_{0}. Ako sada sa u_{novi} označimo novu vrijednost aproksimacije rješenja nakon jednog prolaska kroz unutarnju petlju multiplikativne Schwarzove metode, tada imamo

u_{novi} = Q_{s}u_{stari} + (I − Q_{s})A^{−1}b,

pa je zbog toga

G = Q_{s}, f = (I − Q_{s})A^{−1}b.

Prema tome je prekondicionirana matrica jednaka M^{−1}A = I − Q_{s}. Ovaj rezultat sadržan je u sljedećem teoremu.

Teorem 5.2.3 ([32]). Multiplikativna Schwarzova metoda je ekvivalentna iteraciji fiksne točke za prekondicionirani sustav

M^{−1}Au = M^{−1}b,

u kojem je

M^{−1}A = I − Q_{s},  (5.11)
M^{−1}b = (I − Q_{s})A^{−1}b.  (5.12)

Desna strana prekondicioniranog sustava iz prethodnog teorema nije exsplicitno poznata jer sadrži egzaktno rješenje u svom izrazu. Ipak može se naći procedura koja će ju izračunati. Drugim riječima, moguće je upotrebljavati M^{−1} bez računanja A^{−1}. Primijetimo da je M^{−1} = (I −Q_{s})A^{−1}. Kao što sljedeća lema pokazuje M^{−1} i M^{−1}A se mogu rekurzivno izračunati i iskoristiti za prekondicioniranje bilo koje iterativne metode za rješavanje sustava.

Lema 5.2.4 ([32]). Definirajmo matrice

Z_{i} = I − Q_{i}  (5.13)
M_{i} = Z_{i}A^{−1}  (5.14)
T_{i} = P_{i}A^{−1} = I_{i}^{T} A_{i}^{−1}I_{i}  (5.15)

za i = 1, …, s. Tada je M^{−1} = M_{s}, M^{−1}A = Z_{s}, a matrice Z_{i} i M_{i} zadovoljavaju rekurzije

Z_{1} = P_{1},
Z_{i} = Z_{i−1} + P_{i}(I − Z_{i−1}), i = 2, …, s  (5.16)

i

M_{1} = T_{1},
M_{i} = M_{i−1} + T_{i}(I − AM_{i−1}), i = 2, …, s.  (5.17)

Dokaz: Iz definicija (5.13) i (5.14) jasno je da je da je M_{s} = M^{−1}, Z_{s} = M^{−1}A, i da je Z_{1} = P_{1}, M_{1} = T_{1}. Za slučajeve, kada je i > 1, iz definicija za Q_{i} i Q_{i−1} slijedi

Z_{i} = I − (I − P_{i})(I − Z_{i−1}) = P_{i} + Z_{i−1} − P_{i}Z_{i−1},  (5.18)

što daje rekurziju (5.16). Množeći (5.18) sa A^{−1} slijeva dobivamo

M_{i} = T_{i} + M_{i−1} − P_{i}M_{i−1}.

Ako u gornju relaciju umjesto P_{i} ubacimo T_{i}A, dobivamo i rekurziju (5.17).

Primijetimo da direktno iz (5.16) slijedi važna relacija

Z_{i} = ∑_{j=1}^{i} P_{j}Q_{j−1}.  (5.19)

S druge strane, pogledajmo kako onda izgleda matrica M^{−1}. Imamo

M^{−1} = (I − Q_{s})A^{−1} = [I − (I − P_{s})(I − P_{s−1}) ⋯ (I − P_{1})]A^{−1} =
= ∑_{i} T_{i} − ∑_{i>j} P_{i}T_{j} + ∑_{i>j>k} P_{i}P_{j}T_{k} + ⋯ + (−1)^{s−1}P_{s} ⋯ P_{2}T_{1} =
= ∑_{i} T_{i} − ∑_{i>j} T_{i}AT_{j} + ∑_{i>j>k} T_{i}AT_{j}AT_{k} + ⋯
+(−1)^{s−1}T_{s}AT_{s−1} ⋯ T_{2}AT_{1},

odakle se vidi opravdanje za naziv “multiplikativna” metoda.

Ako rekurziju (5.17) pomnožimo s desna sa vektorom v, i ako vektor M_{i}v označimo sa z_{i}, tada dobivamo sljedeću rekurziju

z_{i} = z_{i−1} + T_{i}(v − Az_{i−1}).

Kako je z_{s} = M_{s}v = M^{−1}v, vektor M^{−1}v za proizvoljni vektor v može se izračunati sljedećom procedurom.

Djelovanje matrice prekondicioniranja multiplikativne Schwarzove metode na vektor Ulaz: v, izlaz: z = M^{−1}v.

• z = T_{1}v.

• Za i = 2, …, s

• z := z + T_{i}(v − Az).

Sličnom argumentacijom, možemo naći proceduru koja računa vektore oblika z = M^{−1}Av. U tom slučaju, procedura je oblika

Djelovanje prekondicionirane matrice multiplikativne Schwarzove metode na vektor Ulaz: v, izlaz: z = M^{−1}Av.

• z = P_{1}v.

• Za i = 2, …, s

• z := z + P_{i}(v − z).

Na kraju možemo reći da je multiplikativna Schwarzova metoda ekvivalentna rješavanju prekondicioniranog linearnog sustava

(I − Q_{s})u = g,  (5.20)

gdje se operacije z = (I − Q_{s})v i g = M^{−1}b mogu izračunati iz gornjih algoritama. Te procedure se mogu dalje koristiti unutar neke od iterativnih metoda, kao na primjer GMRES.

5.2.2 Aditivna Schwarzova metoda

Aditivna Schwarzova metoda je slična blok-Jacobijevoj metodi, i sastoji se od korigiranja svih novih komponenti pomoću istog reziduala. Zbog toga se i razlikuje od multiplikativne metode, jer komponente svake poddomene se ne mijenjaju dok cijeli ciklus korekcija kroz sve poddomene nije dovršen. Osnovna aditivna Schwarzova metoda stoga ima oblik:

Algoritam 5.2.5. Aditivna Schwarzova metoda, matrični oblik

Izaberi početnu aproksimaciju rješenja u.

Dok nismo postigli željenu konvergenciju, radi:

Za i = 1, …, s
Izračunaj δ_{i} = I_{i}^{T} A_{i}^{−1}I_{i}(b − Au_{stari}).
u := u + ∑_{i=1}^{s} δ_{i}

Nova aproksimacija rješenja u_{novi}, dobivena nakon što je primijenjen cijeli ciklus od s iteracija gornje petlje na u_{stari}, jednaka je

u_{novi} = u_{stari} + ∑_{i=1}^{s} I_{i}^{T} A_{i}^{−1}I_{i}(b − Au_{stari}).

Svako izvodenje ove petlje redefinira sve komponente nove aproksimacije, i ne postoji nikakava ovisnost izmedu potproblema vezanih uz poddomene. Ako ovu relaciju rastavimo po blok-komponentama, dobit ćemo

u_{i,novi} = u_{i,stari} + A_{i}^{−1}r_{i,stari} = A_{i}^{−1} (− ∑_{j≠i} A_{ij}u_{j,stari} + b_{i}) ,

što je upravo korak blok-Jacobijeve metode primijenjen na globalni sustav.

Prekondicioniranu matricu za aditivnu Schwarzovu metodu je vrlo jednostavno dobiti. Koristeći oznake i definicije, iz multiplikativne Schwarzove metode, nova aproksimacija zadovoljava relaciju

u_{novi} = u_{stari} + ∑_{i=1}^{s} T_{i}(b − Au_{stari}) = (I − ∑_{i=1}^{s} P_{i}) u_{stari} + ∑_{i=1}^{s} T_{i}b.

Prema tome, ovakve iteracije korespondiraju iteracijama fiksne točke u_{novi} = Gu_{stari}+f, gdje je

G = I − ∑_{i=1}^{s} P_{i}, f = ∑_{i=1}^{s} T_{i}b.

Uz pomoć relacije G = I − M^{−1}A, vidimo da je

M^{−1}A = ∑_{i=1}^{s} P_{i},

i

M^{−1} = ∑_{i=1}^{s} P_{i}A^{−1} = ∑_{i=1}^{s} T_{i},

odakle se vidi razlog za ime metode: “aditivna” metoda. Sada je jasno kako izgleda procedura primjene matrice prekondicioniranja M^{−1} na vektor.

Djelovanje matrice prekondicioniranja aditivne Schwarzove metode na vektor Ulaz: v, izlaz: z = M^{−1}v.

• Za i = 2, …, s

• Izračunaj z_{i} = T_{i}v.

• z = z_{1} + z_{2} + ⋯ + z_{s}.

Primijetimo da se ova petlja može paralelizirati. Procedura za računanje M^{−1}Av je identična gornjoj procedura, samo što se T_{i} treba zamijeniti sa P_{i}.

5.2.3 Konvergencija metoda sa preklapajućim domenama

U analizi konvergencije, pretpostavit ćemo da je A simetrična pozitivno definitna matrica. Projektori P_{i} definirani sa (5.8) imaju važnu ulogu u teoriji konvergencije za aditivnu i multiplikativnu Schwarzovu metodu. Prvu važnu stvar koju moramo primijetiti je ta da je P_{i} hermitski operator, obzirom na A-skalarni produkt, što je uz svojstvo P_{i}^{2} = P_{i} dovoljan uvjet da za P_{i} možemo reći da je A-ortogonalan projektor. Vrijedi

⟨P_{i}v, w⟩_{A} = ⟨AI_{i}^{T} A_{i}^{−1}I_{i}Av, w⟩ = ⟨Av, I_{i}^{T} A_{i}^{−1}I_{i}Aw⟩ = ⟨v, P_{i}w⟩_{A}.

Promotrimo operator

A_{J} = ∑_{i=1}^{s} P_{i},  (5.21)

koji predstavlja prekondicioniranu matricu M^{−1}A aditivne Schwarzove metode. Budući da je svaki P_{i} A-hermitski operator, tada je to i A_{J}. Zbog toga A_{J} ima realne svojstvene vrijednosti. Direktna posljedica činjenice da su operatori P_{i} projektori, iskazana je u sljedećem teoremu.

Teorem 5.2.6 ([32]). Najveća svojstvena vrijednost od A_{J} je takva da vrijedi

λ_{max}(A_{J}) ≤ s,

gdje je s broj poddomena.

Dokaz: Za svaku matričnu normu je λ_{max}(A_{J}) ≤ ∥A_{J}∥. Posebno za A-normu, imamo

λ_{max}(A_{J}) ≤ ∑_{i=1}^{s} ∥P_{i}∥_{A}.

A-norma svakog P_{i} je jednaka 1, budući da je P_{i} A-ortogonalan projektor. Time smo dokazali tvrdnju teorema.

Kako bismo ocijenili najmanju svojstvenu vrijednost prekondicionirane matrice A_{J}, moramo navesti jednu pretpostavku koja se tiče dekompozicije proizvoljnog vektora v na komponente od Ω_{i}.

Pretpostavka 1. Postoji konstanta K_{0} takva da je nejednakost

∑_{i=1}^{s}⟨Au_{i}, u_{i}⟩ ≤ K_{0}⟨Au, u⟩,

zadovoljena za svako u ∈ Ω, ako je u reprezentiran kao

u = ∑_{i=1}^{s} u_{i}, u_{i} ∈ Ω_{i}.

Teorem 5.2.7 ([32]). Ako vrijedi Pretpostavka 1, tada je

λ_{min}(A_{J}) ≥ \frac{1}{K_{0}} .

Dokaz: Započnimo sa proizvoljnim vektorom u, koji je predstavljen rastavom u = ∑_{i=1}^{s} u_{i}, tada, zbog toga što je P_{i} A-ortogonalan projektor na Ω_{i}, imamo

⟨u, u⟩_{A} = ∑_{i=1}^{s}⟨u_{i}, u⟩_{A} = ∑_{i=1}^{s}⟨P_{i}u_{i}, u⟩_{A} = ∑_{i=1}^{s}⟨u_{i}, P_{i}u⟩_{A}.

Korištenjem Cauchy–Schwarzove nejednakosti dobivamo

⟨u, u⟩_{A} = ∑_{i=1}^{s}⟨u_{i}, P_{i}u⟩_{A} ≤ (∑_{i=1}^{s}⟨u_{i}, u_{i}⟩_{A})^{1/2} (∑_{i=1}^{s}⟨P_{i}u, P_{i}u⟩_{A})^{1/2} .

Prema Pretpostavci 1, dalje slijedi

∥u∥_{A}^{2} ≤ K_{0}^{1/2}∥u∥_{A} (∑_{i=1}^{s}⟨P_{i}u, P_{i}u⟩_{A})^{1/2} ,

odakle, nakon kvadriranja, slijedi

∥u∥_{A}^{2} ≤ K_{0} ∑_{i=1}^{s}⟨P_{i}u, P_{i}u⟩_{A}.

Napokon, primijetimo da, budući da je P_{i} A-ortogonalan projektor, vrijedi

∑_{i=1}^{s}⟨P_{i}u, P_{i}u⟩_{A} = ∑_{i=1}^{s}⟨P_{i}u, u⟩_{A} = ⟨∑_{i=1}^{s} P_{i}u, u⟩_{A} = ⟨A_{J}u, u⟩_{A}.

Prema tome, za svaki u vrijedi nejednakost

⟨A_{J}u, u⟩_{A} ≥ \frac{1}{K_{0}} ⟨u, u⟩_{A},

što daje traženu ogradu prema Teoremu 1.6.6.

Dakle kad bi simetrično prekondicionirani sustav, sa matricom prekondicioniranja dobivenom iz aditivne Schwarzove metode, rješavali pomoću CG metode, tada bi konvergencija te metode ovisila kvocijentu najveće i najmanje svojstvene vrijednosti matrice A_{J} = M^{−1}A. U tom slučaju bilo bi

κ(A_{J}) ≤ sK_{0},

što ne ovisi o koraku mreže h.

Sada prelazimo na analizu multiplikativne Schwarzove metode. Započinjemo sa već poznatom relacijom za grešku

e_{s} = Q_{s}e_{0}.

Želimo naći gornju ogradu za ∥Q_{s}∥_{A}. Prvo primijetimo da iz relacije (5.16) Leme 5.2.4 slijedi da je

Q_{i} = Q_{i−1} − P_{i}Q_{i−1},

odakle je, zbog toga što je P_{i} A-ortogonalan projektor

∥Q_{i}v∥_{A}^{2} = ∥Q_{i−1}v∥_{A}^{2} − ∥P_{i}Q_{i−1}v∥_{A}^{2},

za proizvoljan vektor v. Gornja jednakost vrijedi i za i = 1, ako uzmemo da je Q_{0} = I. Ako sada sumiramo ove jednakosti od 1 do s, dobit ćemo kao rezultat

∥Q_{s}v∥_{A}^{2} = ∥v∥_{A}^{2} − ∑_{i=1}^{s} ∥P_{i}Q_{i−1}v∥_{A}^{2}.  (5.22)

Ovime smo pokazali da A-norma greške neće rasti u svakom potkoraku unutarnje petlje multiplikativne Schwarzove metode.

Za dokazivanje sljedeće leme, moramo uvesti još jednu pretpostavku.

Pretpostavka 2. Za bilo koji podskup S skupa {1, 2, …, s}^{2} i u_{i}, v_{j} ∈ Ω, vrijedi sljedeća nejednakost:

∑_{(i,j)∈S}⟨P_{i}v_{i}, P_{j}v_{j}⟩_{A} ≤ K_{1} (∑_{i=1}^{s} ∥P_{i}u_{i}∥_{A}^{2})^{1/2} (∑_{j=1}^{s} ∥P_{j}v_{j}∥_{A}^{2})^{1/2} .  (5.23)

Lema 5.2.8 ([32]). Ako su zadovoljene Pretpostavke 1 i 2, tada vrijedi sljedeća nejednakost:

∑_{i=1}^{s} ∥P_{i}v∥_{A}^{2} ≤ (1 + K_{1})^{2} ∑_{i=1}^{s} ∥P_{i}Q_{i−1}v∥_{A}^{2}.  (5.24)

Dokaz: Zbog toga što je P_{i} A-ortogonalni projektor, imamo

⟨P_{i}v, P_{i}v⟩_{A} = ⟨P_{i}v, P_{i}Q_{i−1}v⟩_{A} + ⟨P_{i}v, (I − Q_{i−1})v⟩_{A},

odakle uz pomoć (5.19) slijedi

∑_{i=1}^{s} ∥P_{i}v∥_{A}^{2} = ∑_{i=1}^{s}⟨P_{i}v, P_{i}Q_{i−1}v⟩_{A} + ∑_{i=1}^{s} ∑_{j=1}^{i−1}⟨P_{i}v, P_{j}Q_{j−1}v⟩_{A}.  (5.25)

Za prvi izraz na desnoj strani, koristimo Cauchy–Schwarzovu nejednakost, kako bismo dobili

∑_{i=1}^{s}⟨P_{i}v, P_{i}Q_{i−1}v⟩_{A} ≤ (∑_{i=1}^{s} ∥P_{i}v∥_{A}^{2})^{1/2} (∑_{i=1}^{s} ∥P_{i}Q_{i−1}v∥_{A}^{2})^{1/2} .

Za drugi izraz desne strane od (5.25) primjenjujemo (5.23) iz Pretpostavke 2, da bi dobili

∑_{i=1}^{s} ∑_{j=1}^{i−1}⟨P_{i}v, P_{j}Q_{j−1}v⟩_{A} ≤ K_{1} (∑_{i=1}^{s} ∥P_{i}v∥_{A}^{2})^{1/2} (∑_{i=1}^{s} ∥P_{i}Q_{i−1}v∥_{A}^{2})^{1/2} .

Zbrajajući ove dvije nejednakosti, kvadrirajući rezultat uz korištenje (5.25) dobivamo traženi rezultat.

Iz (5.22) možemo zaključiti, da ako Pretpostavka 2 vrijedi tada je

∥Q_{s}v∥_{A}^{2} ≤ ∥v∥_{A}^{2} − \frac{1}{(1 + K_{1})^{2}} ∑_{i=1}^{s} ∥P_{i}v∥_{A}^{2}.  (5.26)

Sada možemo iskoristiti i Pretpostavku 1 kako bismo dobili donju ogradu za ∑_{i=1}^{s} ∥P_{i}v∥_{A}^{2}.

Teorem 5.2.9 ([32]). Pretpostavimo da vrijede Pretpostavke 1 i 2. Tada je

∥Q_{s}∥_{A} ≤ [1 − \frac{1}{K_{0}(1 + k_{1})^{2}} ]^{1/2} .

Dokaz: Uz pomoćnu relaciju ∥P_{i}v∥_{A}^{2} = ⟨P_{i}v, v⟩_{A}, imamo

∑_{i=1}^{s} ∥P_{i}v∥_{A}^{2} = ⟨∑_{i=1}^{s} P_{i}v, v⟩_{A} = ⟨A_{J}v, v⟩_{A}.

Prema Teoremu 5.2.7 je λ_{min}(A_{J}) ≥ \frac{1}{K_{0}} , odakle slijedi da je ⟨A_{J}v, v⟩_{A} ≥ ⟨v, v⟩_{A}/K_{0} za proizvoljni v. Zbog toga je

∑_{i=1}^{s} ∥P_{i}v∥_{A}^{2} ≥ \frac{⟨v, v⟩_{A}}{K_{0}} ,

koje kad ubacimo u (5.26), daje nejednakost

\frac{∥Q_{s}v∥_{A}^{2}}{∥v∥_{A}^{2}} ≤ 1 − \frac{1}{K_{0}(1 + K_{1})^{2}} .

Rezultat slijedi iz uzimanja maksimuma po svim vektorima v.

Dakle možemo zaključiti da je za multiplikativnu Schwarzovu metodu, za jedno izvodenje unutarnje petlje po poddomenama,

∥e_{s}∥_{A} ≤ [1 − \frac{1}{K_{0}(1 + K_{1})^{2}} ]^{1/2} ∥e_{0}∥_{A}.

Konvergencija ponovo ne ovisi o koraku mreže h.

Ovi rezultati daju informacije o konvergenciji Schwarzovih metoda uz dvije važne pretpostavke. Te pretpostavke se ne mogu provjeriti samo uz pomoć argumenata linearne algebre. Ako uzmemo neki linarni sustav, vrlo teško ćemo provjeriti da li te pretpostavke vrijede za njega. Medutim te pretpostavke vrijede za sustav dobiven iz diskretizacije pomoću konačnih elemenata eliptične parcijalne diferencijalne jednadžbe.

5.3 Velik broj poddomena i korištenje grube mreže

Ako definiramo mrežu na domeni problema Ω sa korakom h, tada prema prethodnim rezultatima uz odredene uvjete, stopa konvergencije metoda dekompozicije domene sa preklapajućim domenama ne ovisi o h. Sada pretpostavimo da imamo puno poddomena Ω_{i}, svaka veličine H ≫ h. Drugim riječima, na Ω_{i} možemo gledati kao na područje ogradeno grubom mrežom sa korakom H, plus dodatne ćelije fine mreže iza te granice, kako bi dobili preklapanje. Tada, na primjer, za aditivnu Schwarzovu metodu, kao što se vidi iz Teorema 5.2.6 i 5.2.7, uvjetovanost prekondicionirane matrice ovisi o broji poddomena s, odnosno ono je reda veličine O(H^{−1}). Prema tome, ako se radi o pozitivno definitnoj matrici, ili barem simetričoj, uz simetrično prekondicioniranje, i ako za rješavanje sustava s takvom matricom koristimo neku od standardnih iterativnih metoda aproksimacije iz Krylovljevih potprostora, tada će i konvergencija te metode ovisiti o uvjetovanosti prekondicionirane matrice, odnosno o O(H^{−1}). U slučaju da nismo zadovoljni sa ovakvom konvergencijom, i ako želimo imati stopu konvergencije kao multigrid, koji ne ovisi ni o h, niti o H, možemo se koristiti upravo idejom multigrid metoda. Dryja i Widlund, predložili su da, uz rješavanje problema na poddomenama, globalni problem treba riješiti na grubljoj mreži, uz standardni operator restrikcije I_{h}^{H} i interpolacije I_{H}^{h}.

Drugim riječima, treba još izvršiti korekciju na gruboj mreži. Kao što smo već prije vidjeli, obje Schwarzove metode ekvivalentne su jednostavnim iteracijama oblika

u_{novi} = (I − M^{−1}A)u_{stari} + M^{−1}b,

što se poklapa sa jednim prolaskom kroz sve poddomene. Kod multiplikativne Scwarzove metode korekcija tada izgleda

u_{korigirani} = u_{novi} + I_{H}^{h}(A^{H})^{−1}I_{h}^{H}r_{novi} =
= [I − I_{H}^{h}(A^{H})^{−1}I_{h}^{H}A]u_{novi} + I_{H}^{h}(A^{H})^{−1}I_{h}^{H}b =
= [I − I_{H}^{h}(A^{H})^{−1}I_{h}^{H}A](I − M^{−1}A)u_{stari} + f =
= {I − [I_{H}^{h}(A^{H})^{−1}I_{h}^{H} + (I − I_{H}^{h}(A^{H})^{−1}I_{h}^{H}A)M^{−1}]A}u_{stari} + f,

pri čemu je f vektor

f = [I_{H}^{h}(A^{H})^{−1}I_{h}^{H} + (I − I_{H}^{h}(A^{H})^{−1}I_{h}^{H}A)M^{−1}]b,

a A^{H} je restrikcija operatora A na grubu mrežu. Vidimo da smo ponovo dobili jednostavne iteracija odakle se vidi da je matrica prekondicioniranja M_{tl} ovakvog algoritma sa korekcijom na gruboj mreži

M_{tl} = I_{H}^{h}(A^{H})^{−1}I_{h}^{H} + (I − I_{H}^{h}(A^{H})^{−1}I_{h}^{H}A) ·

· (∑_{i=1}^{s} T_{i} + ∑_{i>j} T_{i}AT_{j} + ⋯ + (−1)^{s}T_{s}AT_{s−1} ⋯ T_{2}AT_{1}) ,

gdje je T_{i} = I_{i}^{T} A_{i}^{−1}I_{i}.

Kod aditivne Schwarzove metode korekcija je

u_{korigirani} = u_{novi} + I_{H}^{h}(A^{H})^{−1}I_{h}^{H}r_{stari} =
= u_{stari} + [M^{−1} + I_{H}^{h}(A^{H})^{−1}I_{h}^{H}]r_{stari} =
= {I − [M^{−1} + I_{H}^{h}(A^{H})^{−1}I_{h}^{H}]A}u_{stari} + f,

gdje je

f = [M^{−1} + I_{H}^{h}(A^{H})^{−1}I_{h}^{H}]b.

Ponovo se radi o jednostavnim iteracijama, kod kojih je matrica prekondicioniranja M_{tl} jednostavnijeg oblika

M_{tl} = ∑_{i=1}^{s} T_{i} + I_{H}^{h}(A^{H})^{−1}I_{h}^{H}.

Ovakva metoda se zove two-level metoda, kod koje je pokazano da konvergencija ne ovisi niti o koraku mreže h, niti o veličini poddomena H, uz uvjet da je širina područja preklapanja O(H). Dakle, možemo zaključiti da, sa samo nekoliko velikih poddomena, rješavanje problema na poddomenama će biti preskupo, dok sa mnogo malih poddomena, rješavanje na gruboj mreži će biti preskupo. Zato treba naći dobru ravnotežu izmedu broja i veličine poddomena.

Numerički primjeri

U ovom zadnjem poglavlju demonstrirat ćemo rad svih iterativnih metoda za rješavanje linearnih sustava, koje su spomenute u ovoj radnji. Osim što će se moći vidjeti da li metoda konvergira ili ne konvergira za odredeni linearni sustav, potvrdit će se takoder i neki teoretski rezultati vezani uz iterativne metode i prekondicioniranje. U svim primjerima, osim u nekoliko njih, kada će to biti posebno naglašeno, dimenzija matrice A je 100 × 100, početna iteracija je x_{0} = [0 0 … 0]^{T}, a desna strana sustava b je odredena tako da rješenje sustava bude jednako x = [1 1 … 1]^{T}, odnosno da je b = A · x. Sve metode programirane su u Matlabu, uz mašinsku točnost ϵ = 2.2204 · 10^{−16}, pri čemu se u svakom koraku k kontrolira relativna norma reziduala ∥r_{k}∥_{2}/∥b∥_{2} i iteriranje se zaustavlja kada je ona manja od tol = 10^{−8}.

6.1 Primjer 1

Matrica sustava u ovom primjeru je simetrična i pozitivno definitna, sa svojstvenim vrijednostima λ(A) ∈ {1, 4, 9, …, 10000}, a dobivena je kao produkt A = QΛQ^{T}, pri čemu je Λ dijagonalna matrica svojstvenih vrijednosti, a Q slučajna ortogonalna matrica. Uvjetovanost joj je jednaka κ(A) = 10^{4}. Za rješavanje ovog sustava korištene su metode CG i Orthomin(2), koje bi u egzaktnoj aritmetici trebale konvergirati u najviše 100 iteracija, medutim budući da je matrica A loše uvjetovana, i budući da broj iteracija do postizanja željene točnosti ovisi o O(\sqrt{κ}), broj iteracija do postizanja tolearncije tol u aritmetici konačne preciznosti je veći od 100.

6.2 Primjer 2

Situacija u ovom primjeru je slična prethodnom, samo što pozitivno definitna matrica A ima deset različitih svojstvenih vrijednosti, svaka od njih kratnosti 10. Dakle, A = QΛQ^{T}, gdje je Λ dijagonalna matrica svojstvenih vrijednosti λ(A) ∈ {1, 2, …, 10}, a Q slučajna ortogonalna matrica. Uvjetovanost matrice A iznosi κ(A) = 10. Budući da, konvergencija CG i Orthomin(2) metoda ovisi o stupnju polinoma koji minimizira vrijednost polinoma u različitim svojstvenim vrijednostima matrice A, takav polinom može imati minimalno stupanj 10, pa je za konvergenciju dovoljno 10 iteracija gore navedenih metoda.

Slika 6.1: Primjer 1.

Slika 6.2: Primjer 2.

6.3 Primjer 3

Matrica sustava A i u ovom primjeru ostaje simetrična, medjutim ona je indefinitna, odnosno svojstvene vrijednosti mogu biti i negativne, λ(A) ∈ {−50, −49, …, −1, 2, 4, …, 100}. Isto je dobivena kao produkt A = QΛQ^{T}, dijagonalne matrice svojstvenih vrijednosti Λ i slučajne ortogonalne matrice Q, a uvjetovanost joj je jednaka κ(A) = 100. Budući da matrica nije pozitivno definitna, ne možemo upotrijebiti CG metodu, već koristimo dvije varijante istog algoritma: Orthomin(2) i MINRES metodu dobivenu preko Lanczosovog algoritma. Pokazuje se da je ova druga metoda malo stabilnija od prve.

Slika 6.3: Primjer 3.

6.4 Primjer 4

Sljedećih šest primjera bavi se nehermitskim matricama, odnosno metodama za rješavanje nehermitskih sustava. Matrica sustava A ovog primjera je ne-normalna, nedijagonalizabilna matrica, kojoj se polje vrijednosti ne može smijestiti u kružnicu koja ne sadrži ishodište. Zato ne možemo ništa reći o konvergenciji GMRES metode primijenjene na taj sustav, osim da mora konvergirati do 100-te iteracije. Singularne vrijednosti matrice A su σ(A) ∈ {1, 4, 9, …, 10000}, a dobivena je kao A = UΣV^{T}, pri čemu je Σ dijagonalna matrica singularnih vrijednosti, a U i V su različite slučajne ortogonalne matrice. Uvjetovanost joj iznosi κ(A) = 10000. Niti ostale metode nemaju nikakvu garanciju da će konvergirati u manje od 100 koraka, dapače pokazuje se da su vrlo nestabilne i vrlo slabo konvergiraju. Konvergencija metoda koje rješavaju normalne jednadžbe ovisi o uvjetovanosti matrice koja je u ovom slučju velika, pa ponovo nemamo garanciju o dobroj konvergenciji.

6.5 Primjer 5

([29]) Matrica sustava ovog primjera je vrlo jednostavna. Ona je nehermitska, ali je ortogonalna, stoga se singularne vrijednosti svode na jednu jedinu σ(A) ∈ {1}, a uvjetovanost joj je jednaka 1. Matrica A ima oblik

A = [ \begin{matrix}0 & 1 & 0 & ⋯ & 0 & 0 \\ 0 & 0 & 1 & ⋯ & 0 & 0 \\ & & ... & ... \\ & & & ... & ... \\ 0 & 0 & 0 & ⋯ & 0 & 1 \\ 1 & 0 & 0 & ⋯ & 0 & 0 \end{matrix} ] .

Desna strana u ovom slučaju je jednaka b = ξ_{100}, odakle slijedi da je rješenje sustava x = ξ_{1}. ξ_{i} je i-ti jedinični vektor. Ako ponovo uzmemo da je x_{0} nul-vektor, tada je

Slika 6.4: Primjer 4.

r_{0} = ξ_{100}, Ar_{0} = ξ_{99}, A^{2}r_{0} = ξ_{98},…,A^{98}r_{0} = ξ_{2} i A^{99}r_{0} = ξ_{1}. Kod primjene GMRES metode na ovaj sustav imamo situaciju da r_{0}⊥AK_{k}(A, r_{0}) za k = 1, …, 99, odakle slijedi da je r_{0} = r_{1} = ⋯ = r_{99}, odnosno GMRES metoda neće konvergirati prije poslijednjeg, 100-og koraka. Osim toga, vektor rješenja x se ne nalazi niti u jednom Krylovljevom potprostoru i okomit je na njih, osim K_{100}(A, r_{0}), pa su svi ostali Krylovljevi potprostori loša aproksimacija za rješenje. Kod metoda koje se zasnivaju na dvostranom Lanczosovom algoritmu, za r̂_{0} = r_{0} imamo da je v_{1} = w_{1} = ξ_{100}, v_{2} = ξ_{99}, w̃_{2} = ξ_{1}, pa je β_{1} = ⟨v_{2}, w̃_{2}⟩ = 0 i dolazi do ozbiljnog sloma algoritma. Metode koje rješavaju normalne jednadže su ekvivalentne minimiziranju polinoma na skupu singularnih vrijednosti, koji ima jedan element. Zato to možemo postići polinomom stupnja jedan, i takve metode će konvergirati u jednom koraku.

Slika 6.5: Primjer 5.

6.6 Primjer 6

([29]) U ovom primjeru matrica sustava A je ne-normalna, i ima oblik

A = [ \begin{matrix}M_{1} \\ & M_{2} \\ & & . & . & . \\ & & & & & M_{50} \end{matrix} ] ,

gdje je

M_{i} = [ \begin{matrix}1 & i − 1 \\ 0 & 1 \end{matrix} ] , i = 1, …, 50.

Singularne vrijednosti matrice A nalaze se u rasponu otprilike od 0.2 do 50, a s druge strane vidimo da je njezin minimalni polinom stupnja 2. To znači da postoji polinom p_{2} stupnja 2, takav da je p_{2}(A) = 0, odnosbo da je p_{2}(A)r_{0} = 0 za bilo koji početni rezidual. Iz ovoga slijedi da će GMRES algoritam konvergirati nakon dvije iteracije. Slično vrijedi i za metode bazirane na Lanczosovom algoritmu, jer ispada da je r_{2} = const · v_{3} = 0, jer je v_{3} = p_{2}(A)r_{0} = 0. S druge strane, za metode koje rješavaju normalne jednadžbe konvergencija ovisi o uvjetovanosti koja je jednaka κ(A) = 2.4·10^{3}, a one nastoje pronaći polinom koje će se minimizirati na skupu kvadrata singularnih vrijednosti. Budući da njih ima 100 različitih na intervalu ⟨0.2, 50⟩, tim metodama treba veliki broj iteracija da bi dostigle konvergenciju.

Slika 6.6: Primjer 6.

6.7 Primjer 7

([29]) Za razliku od prethodnih primjera, u ovom slučaju matrica sustava A je dijagonalna matrica, ali demonstrira tipično ponašanje iterativnih metoda za rješavanje nehermitskih sustava. Matrica je oblika A = diag(d_{1}, d_{2}, …, d_{100}), gdje d_{i} predstavlja ekstremne točke Čebiševljevog polinoma na intervalu [1, 2],

d_{i} = 1 + \frac{1}{2} (cos (\frac{(i − 1)π}{99} ) + 1) , i = 1, …, 100.

Uvjetovanost matrice je κ(A) = 2. GMRES i QMR metoda ponašaju se tada kao MINRES metoda, koja je ekvivalentna minimiziranju polinoma nad skupom svojstvenih vrijednosti. Budući da je taj skup predstavlja točke gusto poredane u intervalu [1, 2], može se naći polinom stupnja oko 10, koji dobro minimizira skup. Metoda BCG ponaša se kao CG, i nalazi se u istoj situaciji, jer polinomi koji minimiziraju A-normu greške i normu reziduala su jednaki u svakoj iteraciji. Metoda CGS trebala bi imati dva puta bržu konvergenciju od gornjih metoda, a BICGSTAB je prema pretpostavci blizu njene krivulje konvergencije. Metode koje rješavaju normalne jednadžbe očekivano lošije konvergiraju od GMRES, jer njihova konvergencija ovisi o O(κ(A)), a ne o O(\sqrt{(}κ(A))) kao kod GMRES metode.

Slika 6.7: Primjer 7.

6.8 Primjer 8

([29]) U ovom primjeru ponovo se radi o ne-normalnoj matrici sustava A. Ona ima oblik

A = [ \begin{matrix}N_{1} \\ & N_{2} \\ & & . & . & . \\ & & & & & N_{50} \end{matrix} ] ,

gdje je

N_{i} = [ \begin{matrix}d_{i} & c_{i} \\ 0 & 2/d_{i} \end{matrix} ] , i = 1, …, 50,

i

d_{i} = 1 + \frac{1}{2} (cos (\frac{(i − 1)π}{49} ) + 1) , c_{i} = (5 − d_{i}^{2} − \frac{4}{d_{i}^{2}} )^{1/2} .

Svojstvene vrijednosti ove matrice rasporedene su po cijelom intervalu [1, 2], dok su singularne vrijednosti svake matrice N_{i}, pa stoga i matrice A, jednake 1 i 2. Zato metode koje rješavaju normalne jednadžbe konvergiraju u 2 koraka, a ostale metode u puno više. Budući da GMRES i BCG slično konvergiraju, CGS i BICGSTAB imaju skoro dvostruko bržu konvergenciju.

Slika 6.8: Primjer 8.

6.9 Primjer 9

U ovom primjeru promatramo samo GMRES metodu, i pokazat ćemo da se zaista može konstruirati matrica sa u naprijed odredenom krivuljom konvergencije, za bilo koji skup svojstvenih vrijednosti. Definirat ćemo najprije skup svojstvenih vrijednosti λ(A) ∈ {−50, −49, …, −1, 2, 4, …, 100}, i niz vrijednosti f(0) = 100, f(1) = 99, f(2) = 98,…,f(99) = 1, f(100) = 0. Nadalje, definirajmo

g(k) = \sqrt{(f(k − 1))^{2} − (f(k))^{2}} = \sqrt{(100 − k + 1)^{2} − (100 − k)^{2}}, k = 1, …, 100.

Matrica V = [v_{1} v_{2} ⋯ v_{100}] je slučajna ortogonalna matrica, i ako definiramo b = ∑_{i=1}^{100} g(i)v_{i}, tada je ∥b∥_{2} = f(0). U nastavku, definirajmo još matricu B = [b v_{1} ⋯ v_{99}] i izračunajmo koeficijente polinoma

a(z) = z^{100} − ∑_{i=0}^{99} α_{i}z^{i} = (z − λ_{1}(A)) ⋯ (z − λ_{100}(A)),

i na kraju konstruirajmo matricu A kao

A = B · [ \begin{matrix}0 & ⋯ & 0 & α_{0} \\ 1 & ⋯ & 0 & α_{1} \\ & ... & ⋮ & ⋮ \\ & & 1 & α_{99} \end{matrix} ] · B^{−1}.

Prema teoretskim rezultatima, ovako definirani sustav Ax = b ima matricu sa gore definiranim svojstvenim vrijednostima i sa rezidualima, takvim da nakon svake iteracije GMRES metode vrijedi ∥r_{k}∥_{2} = f(k). Dobiveni rezultati u Slici 6.9 to potvrduju, do na numeričke greške.

Slika 6.9: Primjer 9.

6.10 Primjer 10

Sljedeća dva primjera demonstriraju različite načine prekondicioniranja. U ovom primjeru, riječ je o dijagonalno dominantnoj matrici sustava A, oblika

A = [ \begin{matrix}1 & 0.01 & ⋯ & 0.01 & 0.01 \\ 0.02 & 2 & ⋯ & 0.02 & 0.02 \\ ⋮ & ⋮ & ... & ⋮ & ⋮ \\ 0.99 & 0.99 & ⋯ & 99 & 0.99 \\ 1 & 1 & ⋯ & 1 & 100 \end{matrix} ] .

Za Jacobijevu i Gauss–Seidelovu metodu primijenjenu na ovakav sustav stope konvergencije iznose ρ(G_{J}) = 0.99 i ρ(G_{GS}) = 0.2144, dok je eksperimentalno utvrdeno da za JOR i SOR metodu, optimalni parametri iznose ω_{JOR} = 0.67 i ω_{SOR} = 0.9, za koje vrijedi ρ(G_{JOR,0.67}) = 0.3367 i ρ(G_{SOR,0.9}) = 0.1713. Ove teorijske pretpostavke potvrduju i numerički rezultati prikazani na Slici 6.10, sa dekadskom skalom. Na primjer u prvom koraku vrijedi: za Jacobijevu metodu ∥r_{1}∥_{2}/∥r_{0}∥_{2} = 0.99, za Gauss–Seidelovu metodu ∥r_{1}∥_{2}/∥r_{0}∥_{2} = 0.15184, za JOR metodu ∥r_{1}∥_{2}/∥r_{0}∥_{2} = 0.3333 i za SOR metodu ∥r_{1}∥_{2}/∥r_{0}∥_{2} = 0.105038.

6.11 Primjer 11

Matrica sustava ovog primjera je rijetko popunjena Stieltjesova matrica, čiji raspored netrivijalnih elemenata je dan u Slici 6.12. Svojstvene vrijednosti ove matrice nalaze se

Slika 6.10: Primjer 10, dekadska skala.

Slika 6.11: Primjer 10, logaritamska skala.

u intervalu λ(A) ∈ ⟨3.23, 47.07⟩, i mnoge su vrlo blizu jedne drugima, a uvjetovanost iznosi κ(A) = 14.5627. Izvršene su dvije klase pokusa. U prvoj se izvode jednostavne iteracije sa različitim matricama prekondicioniranja M. Prema teorijskim rezultatima stopa konvergencije Gauss–Seidelove metode (M=gornji–trokut) je bolja od Jacobijeve metode (M=dijagonala), a prekondicioniranja u kojem je matrica M=blok-dijagonali matrice A i M=-11-oj, -10-oj, 0-oj, 10-oj i 11-oj dijagonali matrice A, takoder bolje konvergiraju od Jacobijeve metode, što se potvrduje u numeričnkim rezultatima. Takoder, vidimo da su od prethodno navedenih prekondicioniranja, bolja prekondicioniranja koja su matricu M dobila iz metoda aproksimiranja inverza preko algoritama globalnog minimalnog reziduala i globalnog najbržeg silaska. Najbolje od svih je prekondicioniranje pomoću nekompletne faktorizacije Choleskog. U drugoj klasi pokusa, ista prekondicioniranja (osim Gauss-Seidelovog) korištena su uz primjenu CG metode. Ponovo prema

Slika 6.12: Raspored netrivijalnih elemenata matrice sustava iz Primjera 11.

teorijskim rezultatima, prekondicioniranja kod kojih se matrica M poklapa sa različitim dijagonalama matrice A, imaju, do na faktor 2, bolju konvergenciju od prekondicioniranja samo sa glavnom dijagonalom matrice A. Takoder, ponovo najbolju konvergenciju ima prekondicioniranje pomoću nekompletne faktorizacije Choleskog.

Slika 6.13: Primjer 11, jednostavne iteracije.

Slika 6.14: Primjer 11, konjugirani gradijenti.

6.12 Primjer 12

U ovom primjeru obradena je primjena multigrid metode na sustav dobiven diskretizacijom dvodimenzionalne difuzijske jednadžbe. Uzeti su parametri n_{x} = 7 i n_{y} = 15, tako da mreža na kvadratu [0, 1] × [0, 1] izgleda kao na Slici 6.15. Raspored netrivijalnih elemenata matrice A dobivene iz diskretizacije, izgleda kao na Slici 6.16. Napravljena su dva pokusa multigrid metodama. U prvom je uzeta Poissonova jednadžba, na kojoj su izvršeni V i W ciklusi, pri čemu su za JOR metodu korištenu u multigrid iteraciji, upotrebljeni parametri ω = 2/3 i ω = 4/5. Budući da je ovaj drugi parametar optimalan za dvodimenzionalni slučaj, tada je i konvergencija brža. V i W ciklusi primijenjeni su i u slučaju kada su za početnu iteraciju uzeti rezultati dobiveni nakon FMG algoritma. Za FMG rezultat dobivamo da je ∥r∥_{2}/∥b∥_{2} = 0.07, i pri tom smo za dostizanje iste tolerancije kao i kad je početna iteracija bila jednaka nul-vektoru, uštedjeli samo jedan V -ciklus, a potrošili smo vrijeme za računanje samog FMG algoritma. Drugi pokus napravljen je za difuzijsku jednadžbu, kod koje je toplinski konduktivitet materijala definiran sa

a(x, y) = \{ \begin{matrix}x^{2} + y^{2}, & x, y ∈ ⟨0, 0.5] \\ x^{2}, & x ∈ ⟨0.5, 1⟩, y ∈ ⟨0, 0.5] \\ y^{2}, & x ∈ ⟨0, 0.5], y ∈ ⟨0.5, 1⟩ \\ 100, & x, y ∈ ⟨0.5, 1⟩ \end{matrix}

Konvergencija V -ciklusa uz ω = 4/5 je slična kao i kod Poissonove jednadžbe.

6.13 Primjer 13

U zadnjem primjeru napravljena je demonstracija rada metoda dekompozicije domene. Kao primjer domene uzet je L-oblik, koji je podijeljen u tri pravokutne poddomene, i to na dva načina: jednom bez preklapanja i drugi put sa preklapanjima. U oba slučaja mreža domene se sastojala od n = 94 točaka. Jednadžba koja se rješava na toj domeni je Poissonova jednadžba. Prvi pokus napravljen je sa dekompozicijom domene bez preklapanja, kada mreža na domeni izgleda kao u Slici 6.19. Matrica A koja je dobi-

Slika 6.15: Primjer 12, mreža na intervalu [0, 1] × [0, 1].

vena diskretizacijom ovog problema, uz zadani raspored točaka mreže, je simetrična i pozitivno definitna, a raspored njenih netrivijalnih elemenata prikazan je u Slici 6.20. Spektar matrice je sadržan u intervalu λ(A) ∈ ⟨0.2494, 7.7506⟩, tako da uvjetovanost iznosi κ(A) = 31.077. Problem je rješavan metodom blok-Gaussovih eliminacija, pri čemu se za invertiranje podmatrice i Schurovog komplementa koristila CG metoda. Dobivena aproksimacija rješenja imala je rezidual sa ∥r∥_{2}/∥b∥_{2} = 1.4429 · 10^{−6}. Drugi pokus rješava problem dekompozicije domene sa preklapanjem, a mreža na domeni ima oblik kao u Slici 6.21. I u ovom slučaju matrica A dobivena diskretizacijom Poissonove jednadžbe na ovoj domeni, uz zadani raspored točaka, je ponovo simetrična i pozitivno definitna, a raspored njenih netrivijalnih elemenata je prikazan na Slici 6.22. Takoder spektar matrice A se nalazi u istom intervalu, sa istom uvjetovanošću, kao i u slučaju dekompozicije domene bez preklapanja, jer se radi o istoj matrici kojoj su ispermutirani odredeni reci i stupci. Ovaj pokus izvršen je primjenom multiplikativne i aditivne Schwarzove metode, a rješavanje potproblema na poddomenama izvršeno je CG metodom. Dok multiplikativna metoda konvergira u 11 koraka, aditivna metoda divergira jer spektralni radijus njene matrice iteracija iznosi ρ(G_{AS}) = 6.702 > 1.

276 GLAVA 6. NUMERIČKI PRIMJERI

Slika 6.16: Raspored netrivijalnih elemenata matrice sustava iz Primjera 12. Slika 6.17: Primjer 12, Poissonova jednadžba.

Slika 6.18: Primjer 12, difuzijska jednadžba.

Slika 6.19: Primjer 13, mreža za dekompoziciju domene bez preklapanja.

278 GLAVA 6. NUMERIČKI PRIMJERI Slika 6.20: Raspored netrivijalnih elemenata matrice sustava iz Primjera 13, za dekompoziciju domene bez preklapanja.

6.13. PRIMJER 13 279 Slika 6.21: Primjer 13, mreža za dekompoziciju domene sa preklapanjem.

280 GLAVA 6. NUMERIČKI PRIMJERI Slika 6.22: Raspored netrivijalnih elemenata matrice sustava iz Primjera 13, za dekompoziciju domene sa preklapanjem.

Slika 6.23: Primjer 13, metode dekompozicije domene sa preklapanjem.

Bibliografija

[1] R. Barett, M. Berry, T. F. Chan, J. Demmel, J. M. Donato, J. Dongarra, V. Eijkhout, R. Pozo, C. Romine, and V. vad der Vorst. Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods. SIAM, Philadelphia, 1994.

[2] Å . Björck and C. C. Paige. Loss and recapture of orthogonality in the modified Gram–Schmidt algorithm. SIAM J. Matrix Anal. Appl., 13(1): pp. 176–190, January 1992.

[3] W. L. Briggs, V. E. Henson, and S. F. McCormick. A Multigrid Tutorial. SIAM, Philadelphia, Second edition, 2000.

[4] P. N. Brown. A theoretical comparision of the Arnoldi and GMRES algorithms. SIAM J. Sci. Stat. Comput., 12(1): pp. 58–78, January 1991.

[5] J. Cullum and A. Greenbaum. Relations between Garlekin and normminimizing iterative methods for solving linear systems. SIAM J. Matrix Anal. Appl., 17(2): pp. 223–247, April 1996.

[6] J. Demmel. The condition number of equivalence transformations that block diagonalize matrix pencil. SIAM J. Numer. Anal., 20(3): pp. 599–610, June 1983.

[7] J. Demmel. Applied Numerical Linear Algebra. SIAM, Philadelphia, 1997.

[8] J. Drkošová, A. Greenbaum, M. Rozložník, and Z. Strakoš. Numerical Stability of GMRES. BIT, 35: pp. 309–330, 1995.

[9] R. W. Freund and N. M. Nachtigal. QMR: a quasi-minimal residual method for non-Hermitian linear systems. Numerische Mathematik, 60: pp. 315–339, 1991.

[10] A. Greenbaum. Behavior of slightly perturbed Lanczos and conjugategradient recurrences. Linear Algebra and its Applications, 113: pp. 7–63, 1989.

[11] A. Greenbaum. Estimating the attainable accuracy of recursively computed residual methods. SIAM J. Matrix Anal. Appl., 18(3): pp. 535–551, July 1997.

[12] A. Greenbaum. Iterative Methods for Solving Linear Systems. SIAM, Philadelphia, 1997.

[13] A. Greenbaum and L. Gurvits. Max–min properties of matrix factor norms. SIAM J. Sci. Comput, 15(2): pp. 348–358, March 1994.

[14] A. Greenbaum, V. Pták, and Z. Strakoš. Any nonincreasing convergence curve is possible for GMRES. SIAM J. Matrix Anal. Appl., 17(3): pp. 465–469, July 1996.

[15] A. Greenbaum and Z. Strakoš. Predicting the behavior of finite precision Lanczos and conjugate gradient computations. SIAM J. Matrix Anal. Appl., 13(1): pp. 123–137, January 1992.

[16] A. Greenbaum and Z. Strakoš. Matrices that generate the same Krylov residual spaces. In G. Golub, A. Greenbaum and M. Luskin, editor, Recent Advances in Iterative Methods, pages 95–118. Springer–Verlag, Berlin, New York, 1994.

[17] A. Greenbaum and L. N. Trefethen. GMRES/CR and Arnoldi/Lanczos as matrix approximation problems. SIAM J. Sci. Comput, 15(2): pp. 359–368, March 1994.

[18] V. Hari. Numerička linearna algebra. Zabilješke sa predavanja iz kolegija Numeričke linearne algebre na Matematičkom odjelu PMF-a, Zagreb.

[19] V. Hari. Matrična teorija perturbacija. Sveučilište u Zagrebu, 1996.

[20] M. R. Hestenes and E. Stiefel. Methods of Conjugate Gradients for Solving Linear Systems. Journal of Research of the National Bureau of Standards, 49(6): pp. 409–436, December 1952.

[21] N. J. Higham. Accuracy and Stability of Numerical Algorithms. SIAM, Philadelphia, 1996.

[22] R. A. Horn and C. R. Johnson. Matrix Analysis. Cambridge University Press, Cambridge, 1985.

[23] R. A. Horn and C. R. Johnson. Topics in Matrix Analysis. Cambridge University Press, Cambridge, 1991.

[24] A. Iserles. A First Course in the Numerical Analysis of Differential Equations. Cambridge University Press, London, 1996.

[25] W. Joubert. A robust GMRES-based adaptive polynomial preconditioning algorithm for nonsymmetric linear systems. SIAM J. Sci. Comput, 15(2): pp. 427–439, March 1994.

[26] M. A. Kowolski, K. A. Sikorski, and F. Stenger. Selected Topics in Approximation and Computation. Oxford University Press, New York, 1995.

[27] S. Kurepa. Konačno dimenzionalni vektorski prostori i primjene. Sveučilišna naklada Liber, Zagreb, 1979.

[28] S. Kurepa. Funkcionalna Analiza, elementi teorije operatora. Školska knjiga, Zagreb, 1990.

[29] N. M. Nachtigal, S. Reddy, and L. N. Trefethen. How fast are nonsymmetric matrix iterations? SIAM J. Matrix Anal. Appl., 13(3): pp. 778–795, July 1992.

[30] B. N. Parlett. The Symmetric Eigenvalue Problem. SIAM, Philadelphia, 1998.

[31] B. N. Parlett, D. R. Taylor, and Z. A. Liu. A look-ahead Lanczos algorithm for unsymmetric matrices. Mathematics of Computation, 44(169): pp. 105–124, January 1985.

[32] Y. Saad. Iterative Methods for Sparse Linear Systems, 2000.

[33] J. R. Shewchuk. An Introduction to the Conjugate Gradient Method Without the Agonizing Pain. School of Computer Science Carnegie Mellon University, Pittsburgh, August 1994.

[34] Z. Stojaković i D. Herceg. Numeričke metode linearne algebre. IRO Gradevinska knjiga, Beograd, 1985.

[35] K. C. Toh. GMRES vs. ideal GMRES. SIAM J. Matrix Anal. Appl., 18(1): pp. 30–36, January 1997.

[36] H. A. van der Vorst. Bi-CGSTAB: a fast and smoothly converging variant of Bi-CG for the solution of nonsymmetric linear systems. SIAM J. Sci. Stat. Comput., 13(2): pp. 631–644, March 1992.

[37] R. S. Varga. Matrix Iterative Analysis. Prentice–Hall, Englewood, 1962.