Iterativne numerične metode v linearni algebri

Σχετικά έγγραφα
13. Jacobijeva metoda za računanje singularnega razcepa

5.1 Predpogojevanje. K 1 Ax = K 1 b,

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1

11.5 Metoda karakteristik za hiperbolične PDE

Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1

Tretja vaja iz matematike 1

Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2

Lastne vrednosti in vektorji

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1

Podobnost matrik. Matematika II (FKKT Kemijsko inženirstvo) Diagonalizacija matrik

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1

Iterativno reševanje sistemov linearnih enačb. Numerične metode, sistemi linearnih enačb. Numerične metode FE, 2. december 2013

8. Posplošeni problem lastnih vrednosti

Problem lastnih vrednosti 1 / 20

Reševanje sistema linearnih

matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij):

Splošno o interpolaciji

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK

11. Posplošeni problemi lastnih vrednosti

Lastne vrednosti in lastni vektorji

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1

Problem lastnih vrednosti

Oznake in osnovne definicije

Reševanje sistemov linearnih enačb

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center

Navadne diferencialne enačbe

3.1 Reševanje nelinearnih sistemov

Numerične metode 2 (finančna matematika)

V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant.

IZPIT IZ ANALIZE II Maribor,

Osnove linearne algebre

Kvadratne forme. Poglavje XI. 1 Definicija in osnovne lastnosti

Linearne preslikave. Poglavje VII. 1 Definicija linearne preslikave in osnovne lastnosti

Delovna točka in napajalna vezja bipolarnih tranzistorjev

DISKRETNA FOURIERJEVA TRANSFORMACIJA

Booleova algebra. Izjave in Booleove spremenljivke

Poglavje 2. Sistemi linearnih enačb

Vektorski prostori s skalarnim produktom

Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba.

Dragi polinom, kje so tvoje ničle?

Matrike. Poglavje II. Matrika je pravokotna tabela realnih števil. Na primer: , , , 0 1

Numerično reševanje. diferencialnih enačb II

Tema 1 Osnove navadnih diferencialnih enačb (NDE)

8. Navadne diferencialne enačbe

Poliedri Ines Pogačar 27. oktober 2009

Dodatna poglavja iz linearne algebre za 1. letnik finančne matematike na FMF. Primož Moravec

vezani ekstremi funkcij

Navadne diferencialne enačbe

Matematika. Funkcije in enačbe

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

Bor Plestenjak. Numerične metode. delovna verzija. verzija: 4. marec 2010

Uvod v numerične metode (matematika)

1. Trikotniki hitrosti

diferencialne enačbe - nadaljevanje

Matematika 2. Diferencialne enačbe drugega reda

Zbirka rešenih izpitnih nalog iz numeričnih metod

II. LIMITA IN ZVEZNOST FUNKCIJ

Izpeljava Jensenove in Hölderjeve neenakosti ter neenakosti Minkowskega

Numerična analiza. Bor Plestenjak. Fakulteta za matematiko in fiziko. Jadranska 21, 4. nadstropje, soba 4.04

Kotne in krožne funkcije

MATEMATIČNI IZRAZI V MAFIRA WIKIJU

Uvod v numerične metode

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO MATEMATIKA II

Uporabna matematika za naravoslovce

Analiza 2 Rešitve 14. sklopa nalog

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12

Matematično modeliranje. Simpleksna metoda.

Spoznajmo sedaj definicijo in nekaj osnovnih primerov zaporedij števil.

NEPARAMETRIČNI TESTI. pregledovanje tabel hi-kvadrat test. as. dr. Nino RODE

Inverzni problem lastnih vrednosti evklidsko razdaljnih matrik

FAKULTETA ZA STROJNIŠTVO Matematika 4 Pisni izpit 22. junij Navodila

Elementi spektralne teorije matrica

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu.

1 Fibonaccijeva stevila

8. Diskretni LTI sistemi

Kanonična oblika linearnega programa. Simpleksna metoda. Bazne rešitve kanoničnega linearnega programa.

Algebraične strukture

Uvod v numerične metode

Definicija. definiramo skalarni produkt. x i y i. in razdaljo. d(x, y) = x y = < x y, x y > = n (x i y i ) 2. i=1. i=1

VEKTORJI. Operacije z vektorji

Transformator. Delovanje transformatorja I. Delovanje transformatorja II

Funkcije več spremenljivk

Matematika I (VS) Univerza v Ljubljani, FE. Melita Hajdinjak 2013/14. Pregled elementarnih funkcij. Potenčna funkcija. Korenska funkcija.

Matematika 1. Gregor Dolinar. 2. januar Fakulteta za elektrotehniko Univerza v Ljubljani. Gregor Dolinar Matematika 1

α i y n i + h β i f n i = 0, Splošni nastavek je k

Enočlenske metode veljajo trenutno za najprimernejše metode v numeričnem reševanju začetnih problemov. Skoraj vse sodijo v

INTEGRALI RACIONALNIH FUNKCIJ

Osnove matematične analize 2016/17

Matematika vaja. Matematika FE, Ljubljana, Slovenija Fakulteta za Elektrotehniko 1000 Ljubljana, Tržaška 25, Slovenija

1. VAJA IZ TRDNOSTI. (linearna algebra - ponovitev, Kroneckerjev δ i j, permutacijski simbol e i jk )

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja

Kotni funkciji sinus in kosinus

REˇSITVE. Naloga a. b. c. d Skupaj. FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost 2. kolokvij 23.

Linearna algebra 2 prvi kolokvij,

Kunci, jabolka in zlatnina

Domača naloga 6: dušeno nihanje

Transcript:

Bor Plestenja Iterativne numerične metode v linearni algebri sripta verzija: 2. januar 204

Kazalo Klasične iterativne metode za linearne sisteme 4. Uvod............................................ 4.2 Jacobijeva in Gauss Seidelova metoda......................... 6.3 SOR metoda........................................ 8.4 Pospešitev Čebiševa in simetrični SOR......................... 2 Metode podprostorov Krilova 5 2. Podprostor Krilova.................................... 5 2.2 Arnoldijev algoritem................................... 6 2.3 Metoda FOM........................................ 7 2.4 Lanczosev algoritem................................... 9 2.5 Konjugirani gradienti................................... 22 2.6 Konvergenca onjugiranih gradientov......................... 25 2.7 Predpogojevanje...................................... 29 2.7. Predpogojevanje onjugiranih gradientov................... 3 2.8 GMRES........................................... 32 2.8. Primerjava GMRES in FOM........................... 34 2.9 Bionjugirani gradienti.................................. 35 2.9. QMR........................................ 39 3 Iterativne metode za računanje lastnih vrednosti 40 3. Pomožni rezultati..................................... 40 3.2 Ritzeve vrednosti..................................... 44 3.2. Računanje zunanjih in notranjih lastnih vrednosti.............. 46 3.3 Lanczosev algoritem za lastne vrednosti........................ 47 3.3. Ocene o hitrosti onvergence.......................... 49 3.3.2 Težave z ortogonalnostjo............................. 52 3.3.3 Harmonične Ritzeve vrednosti......................... 54 3.4 Arnoldijev algoritem za lastne vrednosti........................ 55 3.4. Konvergenca................................... 57 3.4.2 Ponovni zagon.................................. 58 3.4.3 Harmonične Ritzeve vrednosti......................... 60 3.5 Jacobi-Davidsonova metoda............................... 6 3.5. Davidsonova metoda............................... 6 3.5.2 Jacobijeva metoda ortogonalnih popravov.................. 62 3.5.3 Jacobi-Davidsonova metoda........................... 63 3.5.4 Predpogojevanje................................. 65 3.5.5 Harmonične Ritzeve vrednosti......................... 66 2

Predgovor Sripta je namenjena predmetu Iterativne numerične metode v linearni algebri, i se predava na drugi stopnji smeri Matematia in Finančna matematia na Faulteti za matematio in fizio Univerze v Ljubljani. Sripta je nastala ob prvem izvajanju predmeta v študijsem letu 20/2 in se nato posodabljala ob naslednjem izvajanju predmeta v študijsem letu 203/4. izred. prof. dr. Bor Plestenja 3

Poglavje Klasične iterativne metode za linearne sisteme. Uvod Dan je linearni sistem Ax = b, jer je A R n n in x, b R n. Poleg diretnih metod za reševanje linearnega sistema ot so npr. LU razcep, QR razcep ali razcep Cholesega, poznamo tudi iterativne metode. Tao laho npr. za reševanje linearnega sistema Ax = b uporabimo vse metode za reševanje nelinearnih sistemov F(x) = 0, jer je F : R n R n. Če linearni sistem rešujemo z iterativnimi metodami, dobimo zaporedje približov {x (r) }, aterega limita naj bi bila rešitev sistema Ax = b. To ima seveda smisel le v primeru, da znamo en ora iteracije izračunati občutno hitreje ot znamo z diretnimi metodami rešiti sistem Ax = b. Kaj pomeni občutno hitreje je odvisno od same oblie matrie, pri splošni n n matrii pa naj en ora iterativne metode ne bi potreboval več ot O(n 2 ) osnovnih operacij. Iterativne metode imajo pred diretnimi naslednje prednosti: a) Kadar je matria A velia in razpršena, ar pomeni, da je velio elementov enaih 0, neničelni elementi pa nimajo ašne posebne oblie, potem se pri diretnih metodah razpršenost ponavadi izgubi. Zaradi tega nam laho npr. pri uporabi LU razcepa za zapis matri L in U zmanja pomnilnia. V taih primerih je laho iterativna metoda edina možnost, da pridemo do rešitve. b) Pri iterativnih metodah laho vplivamo na natančnost izračunanega rezultata. Več iteracij o izvedemo, več dela porabimo, a pridemo zato do natančnejšega približa. Kadar nam zadošča, da rešitev izračunamo le na neaj decimal natančno, laho naredimo le tolio oraov iterativne metode, ot jih je potrebno, da dosežemo to natančnost. Pri diretnih metodah te izbire nimamo, saj vedno porabimo isto število operacij, da pridemo do rezultata. Prva ideja je podobna navadni iteraciji za reševanje nelinearnih sistemov. Linearni sistem Ax = b zapišemo v evivalentni oblii x = Rx + c in ga rešujemo iterativno x (r+) = Rx (r) + c. 4

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 5 Matrio R imenujemo iteracijsa matria. Upamo, da bo pri čim blažjih pogojih zaporedje {x (r) } onvergiralo proti rešitvi sistema Ax = b. Vedeti moramo: a) daj ončati z iteracijami, b) pri ašnih pogojih zaporedje onvergira, c) ao iz Ax = b pridemo do evivalentne oblie x = Rx + c. Najprej si poglejmo dva riterija, i ju uporabljamo za onec: x (r+) x (r) ǫ x (r), Ax (r+) b ǫ( A x (r+) + b ). Pri drugem riteriju res testiramo, ao dober približe je x (r+), a moramo zato množiti z matrio A. Prvi riterij je cenejši, a je pri počasni onvergenci laho izpolnjen tudi, o smo še daleč od prave rešitve. Izre. Zaporedje x (r+) = Rx (r) + c, r = 0,,..., za poljuben začetni vetor x (0) onvergira natano tedaj, o za spetralni radij matrie R velja ρ(r) < (ar pomeni, da za vse lastne vrednosti λ matrie R velja λ < ). Doaz. Naj bo x točna rešitev. Potem iz x = R x + c in x (r+) = Rx (r) + c sledi x x (r+) = R( x x (r) ) in naprej x x (r+) = R 2 ( x x (r ) ) = = R r+ ( x x (0) ). Očitno je potreben in zadosten pogoj za onvergenco za poljuben x (0) ar lim R = 0. Matrio R laho zapišemo v Jordanovi formi v oblii R = XJX, jer je J = diag(j,..., J ). Za vsa Jordanov blo J i velja, da je Ji = λ i ( )λ i λ i ( 2 )λ 2 ( )λ i torej je lim J i = 0 natano tedaj, o je λ i <. i.......... ( 2 )λ 2 i λ i ( )λ i λ i, Posledica.2 Zadosten pogoj za onvergenco zaporedja x (r+) = Rx (r) + c, r = 0,,..., za poljuben začetni vetor x (0) je, da v nei matrični normi velja R <.

6 Opazimo laho, da je onvergenca neodvisna od izbire začetnega približa. To je drugače ot pri splošnem nelinearnem sistemu, jer ponavadi metoda onvergira le, če je začetni približe dovolj dober. V primeru, o so izpolnjene predpostave izrea., bo iterativna metoda v primeru dobrega začetnega vetorja x (0) sonvergirala v manj oraih, a sonvergirala bo tudi, če za začetni približe vzamemo ar x (0) = 0. Kao pridemo do iteracijse matrie R? En način je, da matrio A zapišemo ot A = M + N, potem pa sistem Ax = b zapišemo ot Mx = Nx + b in dobimo R := M N. Iteracije seveda rešujemo v oblii Mx (r+) = Nx (r) + b, r = 0,,..., matrio M pa izberemo tao, da znamo sistem z matrio M rešiti hitreje od polnega sistema. Temu pogoju npr. zadostimo, če za M izberemo diagonalno ali triotno matrio..2 Jacobijeva in Gauss Seidelova metoda Sistem Ax = b laho pri pogoju a ii = 0 za i =,..., n zapišemo ot x = a (b a 2 x 2 a 3 x 3 a n x n ) x 2 = a 22 (b 2 a 2 x a 23 x 3 a 2n x n ). x n = a nn (b n a n x a n2 x n a n,n x n ) V zgornje enačbe na desno stran vstavimo elemente vetorja x (r) in iz njih izračunamo elemente novega približa x (r+). Tao pridemo do Jacobijeve metode ( ) x (r+) = n b a a i x (r) i, =,..., n. i=, i = Če zapišemo A = L + D + U, jer je L spodnji triotni matrie A brez diagonale, D diagonala, U pa zgornji triotni matrie A brez diagonale, potem je M = D in N = L + U. Jacobijeva iteracijsa matria je R J = D (L + U). Ko po vrsti računamo x (r+),..., x (r+) n, bi laho pri računanju x (r+) uporabili že izračunane vrednosti x (r+),..., x (r+). Tao dobimo Gauss Seidelovo metodo ( x (r+) = b a i= a i x (r+) i n i=+ a i x (r) i ), =,..., n. Pri Gauss Seidelovi metodi je M = L + D, N = U in R GS = (L + D) U. Pri Jacobijevi metodi laho vse elemente vetorja x (r+) računamo hrati in je zato zelo primerna za paralelizacijo. Pri Gauss Seidelovi metodi to za splošno matrio ni možno.

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 7 Izre.3 Če je A strogo diagonalno dominantna po vrsticah, ar pomeni a ii > n a ij za i =,..., n, j=,j =i potem Jacobijeva in Gauss Seidelova metoda onvergirata za poljuben začetni približe. Doaz. Pri Jacobijevi metodi iz diagonalne dominantnosti očitno sledi R j <. Za doaz onvergence Gauss Seidelove metode naj bo (λ, x) lastni par za R GS, torej in x = 0. Od tod sledi in n j=i+ i λa ii x i = λ R GS x = λx a ij x j = λ j= a ij x j + i j= a ij x j n a ij x j. j=i+ Vzemimo indes, pri aterem je x = x. Sedaj laho ocenimo λ a λ j= λ j= a j x n j x + a j x j x j=+ a j + n a j. j=+ Sledi saj je λ a > n j=+ a j a j= a j <, n a j + a j. j= j=+ Izre.4 Gauss Seidelova metoda onvergira za hermitso pozitivno definitno matrio A za poljuben začetni približe. Doaz. A = A, torej L = U in R GS = (U + D) U. Naj bo (λ, x) lastni par za R GS, torej x = 0 in Ux = (U + D)λx. Enačbo pomnožimo z x in dobimo Sedaj definiramo x λ = Ux x U x + x Dx. σ := x Dx = n a ii x i 2 > 0 i=

8 in torej x U x = α βi. Dobimo in α + βi := x Ux, λ = α + βi σ + α βi λ 2 = α 2 + β 2 (σ + α) 2 + β 2. Ker je A pozitivno definitna je x Ax = x U x + x Dx + x Ux = 2α + σ > 0 in to pa pomeni, da je λ <. (σ + α) 2 = σ(σ + 2α) + α 2 > α 2, Zgled. Za sistem 2x 3x 2 + x 3 = 0 x + 9x 2 + 2x 3 = 0 x x 2 + 0x 3 = 0 in začetni približe x (0) = [ 0 ] T izračunamo dva oraa po Jacobijevi in Gauss Seidelovi metodi. Pri Jacobijevi metodi dobimo 0.75.00833.. x () = 0.9, x (2) = 0.99444..,.025 pri Gauss Seidelovi metodi pa 0.75 0.99203.. x () = 0.9722.., x (2) = 0.994084..,.022...000288 Točen rezultat je x = [ ] T..3 SOR metoda Pri metodi SOR računamo x (r+)sor = x (r) ( + ω x (r+)gs ) x (r) za =,..., n, jer je ω relasacijsi parameter, za aterega se izaže, da mora veljati 0 < ω < 2. Pri ω = je SOR ar Gauss Seidelova metoda. Dobimo x (r+) ( = x (r) + ω b a i= a i x (r+) i n i= a i x (r) i ) za =,..., n. SOR je angleša ratica za Succesive Over-Relaxation.

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 9 Gre za pospešitev Gauss Seidelove metode, ideja pa je, da bo, če je zaporedje monotono, za primerni parameter ω > približe x (r+)sor bližje rešitvi ot x (r+)gs, če pa zaporedje alternira, bo boljši približe pri 0 < ω <. Optimalni ω je težo oceniti. V matrični oblii velja x (r+) = x (r) + ωd ( b Lx (r+) (U + D)x (r)) oziroma ar pomeni (ωl + D)x (r+) = (D ω(d + U)) x (r) + ωb, R SOR = (ωl + D) (( ω)d ωu). (.) Izre.5 Metoda SOR ne more onvergirati za poljubni začetni vetor v primeru ω (0, 2). Doaz. Matria (ωl + D) je spodnje triotna in ima na diagonali elemente a ii za i =,..., n, matria ( ω)d ωu pa je zgornja triotna in ima na diagonali elemente ( ω)a ii za i =,..., n. Od tod iz enaosti (.) sledi det R SOR = ( ω) n. Ker je determinanta enaa produtu lastnih vrednosti, velja ρ(r SOR ) ω in potreben pogoj za onvergenco je ω (0, 2). Izre.6 Če je A hermitsa pozitivno definitna matria, potem metoda SOR v primeru ω (0, 2) onvergira za poljubni začetni vetor. Doaz. Doaz je posplošitev doaza izrea.4, i je le poseben primer za ω =. Definicija.7 Matria A je nerazcepna, če ne obstaja taa permutacijsa matria P, da je [ ] PAP T A A = 2 0 A 22 in sta matrii A in A 22 vadratni. Nerazcepnost matrie A je evivalentna temu, da je graf G(A), i pripada matrii (toče so,..., n, povezave pa ij, jer je a ij = 0), repo povezan, ar pomeni, da med poljubnima dvema točama v grafu obstaja usmerjena pot. Izre.8 Če je n n matria A nerazcepna in šibo diagonalno dominantna po vrsticah, ar pomeni a ii n =, =i a i za i =,..., n, pri čemer je vsaj v eni vrstici stroga neenaost, potem Jacobijeva in Gauss Seidelova metoda onvergirata in velja ρ(r GS ) < ρ(r J ) <. Definicija.9 Matria A = L + D + U je onsistentno urejena, če so lastne vrednosti matrie C(α) = D ( α L + αu ) neodvisne od α.

0 Definicija.0 Matria A ima lastnost A, če obstaja taa permutacijsa matria P, da je [ ] PAP T A A = 2, A 2 A 22 jer sta A in A 22 diagonalni matrii. Lastnost A pomeni tudi, da je matria onsistentno urejena. Izre. Če je A onsistentno urejena in µ = ρ(r J ), potem velja: ) ρ(r GS ) = µ 2, 2) ω opt = 3) 2 + µ 2, ρ(r SOR(ω opt )) = ω opt, { ω, za ω opt ω < 2 ρ(r SOR (ω)) = ω + 2 ω2 µ 2 + ωµ ω + 4 ω2 µ 2, za 0 < ω ω opt. Zgled.2 Matria bločne oblie T I A = I. T........ I, (.2) I T jer je T tridiagonalna matria 4. 4.. T =......, 4 ima lastnost A. Tašne matrie srečamo pri reševanju Poissonove parcialne diferencialne enačbe. Jacobi Gauss Seidel SOR n ρ(r j ) oraov ρ(r GS ) oraov ρ(r SOR ) oraov 5 0.866054 60 0.750000 80 0.333333 2 0 0.959493 557 0.920628 278 0.560388 40 00 0.99956 47590 0.999033 23795 0.939676 370 000 0.999995 4.68 0 6 0.999990 2.34 0 6 0.993743 3668 Tabela.: Primerjava Jacobijeve, Gauss Seidelove in SOR metode (pri optimalnem ω) na matriah n 2 n 2 oblie (.2). Stolpci priazujejo spetralne radije iteracijsih matri ρ(r) in potrebno število oraov, da velja ρ(r ) < 0 0. Če je T veliosti n n in A veliosti n 2 n 2, potem tabela. priazuje spetralne radije iteracijsih matri in število potrebnih oraov, da velja ρ(r ) < 0 0, če za iterativno metodo izberemo Jacobijevo metodo, Gauss Seidelovo metodo in metodo SOR (pri optimalnem ω). Ko n narašča, gredo vsi spetralni

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) radiji proti. Zaradi tega so večji problemi podobne oblie zelo zahtevni za reševanje. Pri večjem n porabimo več operacij v vsaem orau, poveča pa se tudi število iteracij, i jih potrebuje iteracijsa metoda. Glede na to, da je časovna zahtevnost enega oraa vseh treh metod enaa, vidimo, da metoda SOR daje neprimerno boljše rezultate. Zgled.3 Za matrio 4 4 A = 4 4 4 4 velja ρ(r J ) = 0.6036, ρ(r GS ) = 0.3634, ω opt =.28, graf spetralnega radija ρ(r SOR (ω)) za ω [0, 2] pa je priazan na slii.. Opazimo laho, da že v bližini optimalnega ω spetralni radij na obeh straneh hitro narašča. Pri večjih matriah je to še bolj očitno in, če ne izberemo dobrega približa za optimalno vrednost ω, se število iteracij laho močno poveča. (.3). 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0. 0 0.2 0.4 0.6 0.8.2.4.6.8 2 Slia.: Graf spetralnega radija matrie SOR za matrio (.3) in ω [0, 2]..4 Pospešitev Čebiševa in simetrični SOR Pri iterativnem reševanju linearnega sistema Ax = b sistem prevedemo v evivalentno oblio x = Rx + c, izberemo x 0 in tvorimo zaporedje x m+ = Rx m + c. Denimo, da je ρ(r) <, ar pomeni, da o gre m proti nesončnosti, približi x m onvergirajo proti točni rešitvi x. Vetor x m je približe za x, še boljši približe pa bi laho dobili z linearno ombinacijo vseh do sedaj izračunanih približov x 0,..., x m v oblii y m = m γ mi x i, i=0

2 jer so γ m0,..., γ mm primerno izbrani oeficienti. V primeru x 0 = x = = x m = x pričaujemo, da bo tudi y m = x, to pa pomeni, da mora za vsoto oeficientov veljati m i=0 γ mi =. Sedaj laho zapišemo y m x = m γ mi x i x = i=0 m γ mi (x i x) = i=0 m γ mi R i (x 0 x) = p m (R)(x 0 x), i=0 jer je p m (t) = m i=0 γ mit i polinom stopnje m, za aterega velja p m () =. Ker želimo, da bo y m čim boljši približe za točno rešitev x, iščemo ta polinom p m, da bo spetralni radij matrie p m (R) čim manjši, obenem pa bo p m () =. Denimo, da za iteracijso matrio R vemo: a) ima same realne lastne vrednosti, b) ρ(r) ρ <. Potem iščemo polinom p m, i bo minimalen na [ ρ, ρ] in p m () =. Do primernih polinomov pridemo preo polinomov Čebiševa, i so zelo pomembni na področju enaomerne aprosimacije. Definirani so z reurzivno zvezo T 0 (x) =, T (x) = x, T m+ (x) = 2xT m (x) T m (x) za m >. Za polinome Čebiševa velja: a) T m () =. b) T m (x) = 2 m x m + O(x m ). { cos(m arccos x), x, c) T m (x) = cosh(m arccosh x), x. č) T m (x) za x. d) Izmed vseh polinomov stopnje m z vodilnim oeficientom 2 m ima T m najmanjšo - normo na [, ]. e) T m ( + ǫ) + m 2 ǫ za ǫ > 0. Izven intervala [, ] vrednosti T n (x) zelo hitro naraščajo, tao da za x = + ǫ dobimo m\ǫ 0 4 0 3 0 2 0.0. 2.2 00 2.2 44 6.9 0 5 000 6.9 0 5.3 0 9.2 0 6 Polinom p m, i ustreza našim potrebam, je p m (t) = T m(t/ρ) T m (/ρ).

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 3 Velja p m () =, za x [ ρ, ρ] pa je p m (x) Če je ρ = /( + ǫ), to pomeni p m (x) T m (+ǫ). T m (/ρ). Če definiramo µ m = T m (/ρ), potem je p m(t) = µ m T m (t/ρ). Za µ m velja zveza = 2. µ m+ ρµ m µ m Zaradi tričlense reurzivne formule se izaže, da za izračun y m ne potrebujemo vseh prejšnjih približov temveč zadoščata le y m in y m 2. Velja namreč Tao dobimo jer je y m x = p m (R)(x 0 x) = µ m T m (R/ρ)(x 0 x) = µ m [2 R ] ρ T m (R/ρ)(x 0 x) T m 2 (R/ρ)(x 0 x) [ = µ m 2 R p m (R/ρ) (x 0 x) p ] m (R/ρ) (x 0 x) ρ µ m µ m 2 [ = µ m 2 R y m x y ] m 2 x. ρ µ m µ m 2 d m y m = 2µ m R µ m ρ y m µ m y m 2 + d m, µ m 2 = x 2µ m µ m R ρ x + µ m µ m 2 x = µ m ( µ m 2 ρµ m + µ m 2 = 2µ m µ m ρ c, saj je R x = x c in µ m 2 ρµ m + µ m 2 = 0. To sedaj združimo v ) x + 2µ m µ m ρ c y m = 2µ m µ m ρ (Ry m + c) µ m µ m 2 y m 2. Pri tem opazimo, da je Ry m + c v bistvu približe, i bi ga dobili z izbrano iterativno metodo iz začetnega približa y m. Na tem mestu torej uporabimo iterativno metodo. Celoten algoritem je zapisan v algoritmu.. Pospešitev Čebiševa laho uporabimo za vsao iterativno metodo, atere iteracijsa matria ima realne lastne vrednosti, saj omplesnih lastnih vrednosti polinomi Čebiševa ne uničijo. Iteracijsa matria za SOR ima laho omplesne lastne vrednosti, zato SOR ni primerna metoda. Pomagamo pa si laho s simetričnim SOR (SSOR), jer v bistvu naredimo dva oraa metode SOR enega za drugim, pri čemer pri drugem orau obrnemo vrstni red računanja: x i+/2 = (ωl + D) (( ω)d ωu)x i + c /2 x i+ = (ωu + D) (( ω)d ωl)x i+/2 + c.

4 Algoritem. Iterativna metoda s pospešitvijo Čebiševa. Začetna podata sta iterativna metoda, podana z iteracijso matrio R in vetorjem c, ter ta ρ <, da vse lastne vrednosti matrie R ležijo na intervalu [ ρ, ρ]. µ 0 =, µ = ρ y 0 = x 0, y = Rx 0 + c m = 2, 3,...,: µ m = 2 ρµ m µ m 2 y m = 2µ m µ m ρ (Ry m + c) µ m µ m 2 y m 2 Iteracijsa matria je sedaj R SSOR = (ωu + D) (( ω)d ωl)(ωl + D) (( ω)d ωu). Zanjo laho poažemo, da je podobna simetrični matrii in ima zato same realne lastne vrednosti. Zgled.4 Na matriah iste oblie, ot v zgledu.2, bomo primerjali metodi SOR in SSOR. Medtem, o optimalni ω pri metodi SOR laho izračunamo po izreu., podobna formula za metodo SSOR ne obstaja. Optimalne vrednosti za ω laho dobimo s posušanjem, potem pa iz izračunanega spetralnega radija matrie R SSOR določimo ρ. V prasi si tega seveda ne moremo privoščiti in moramo poisati druge načine, ao določiti čim boljši vrednosti parametrov ω in ρ. SOR SSOR n ω ρ(r SOR ) oraov ω ρ oraov 0.5604 0.5604 48.605 0.6763 29 25.7849 0.7849 08.82 0.85 49 00.9397 0.9397 397.948 0.9599 99 Tabela.2: Primerjava metod SOR in SSOR (pri optimalnem ω) na matriah n 2 n 2 oblie (.2). Stolpci priazujejo število oraov, i jih je potrebovala metoda, da je norma ostana Ax b 2 padla pod 0 0. Primerjava je v tabeli.2. Torat smo za razlio od prej izračunali dejanso število oraov, i jih je metoda potrebovala za naljučno izbrani vetor b, da je norma ostana padla pod 0 0. Upoštevati moramo, da je metoda SSOR računso dvarat zahtevnejša od metode SOR, saj v bistvu v enem orau naredimo dva oraa metode SOR v obratnem vrstnem redu. Kljub temu število oraov pri metodi SSOR narašča s počasnejšim redom ot pri SOR in pri večjih n se SSOR (pri predpostavi, da znamo oceniti optimalna ω in ρ) obnese bolje ot SOR.

Poglavje 2 Metode podprostorov Krilova Gre za razred metod za reševanje sistema Ax = b ali za računanje lastnih vrednosti A, jer namesto diretnega dostopa do matrie potrebujemo le podprogram, i zna za poljuben vetor x izračunati Ax (včasih pa tudi A T x). Tao laho npr. v primeru, o je matria A razpršena, produta z A in A T običajno izračunamo eonomično. 2. Podprostor Krilova Definicija 2. Za dano matrio A in vetor b je podprostor Krilova K (A, b) = Lin(b, Ab,..., A b). Hitro laho ugotovimo, da podprostor Krilova K (A, b) sestavljajo vsi vetorji oblie p (A)b, jer gre p po vseh polinomih stopnje manjše ali enae. Naj bo x 0 začetni približe. Potem ot približe za rešitev sistema Ax = b iščemo rešitev oblie x x 0 + K (A, r 0 ), jer je r 0 = b Ax 0 začetni ostane. Poznamo štiri pristope, ao laho iz podprostora Krilova pridemo do ustreznega približa.. Ritz-Galerin: Izberemo x, pri aterem je ostane pravooten na podprostor Krilova, oziroma b Ax K (A, r 0 ). Za splošno matrio pridemo tao do metode FOM, za simetrično matrio do Lanczoseve metode, če pa je matria simetrična pozitivno definitna, je to metoda onjugiranih gradientov oz. CG. 2. Minimalni ostane: Izberemo x, i minimizira normo ostana b Ax 2. V primeru splošne matrie je to metoda GMRES, če je matria simetrična pa metoda MINRES. 3. Petrov-Galerin: Izberemo x, pri aterem je b Ax W za ne testni podprostor W, za aterega ponavadi izberemo podprostor Krilova za matrio A T. Tao pridemo do bionjugiranih gradientov oz. Bi-CG. 4. Minimalna napaa: Izberemo x A T K (A T, r 0 ), i minimizira x x 2. Za simetrično matrio je to metoda SYMMLQ. 5

6 2.2 Arnoldijev algoritem Vetorji r 0, Ar 0,..., A r 0 so nestabilna baza za K (A, r 0 ), saj iz potenčne metode vemo, da se vetorji vedno bolj približujejo lastnemu vetorju za dominantno lastno vrednost. Namesto tega za stabilnost potrebujemo ortonormirano bazo za K (A, r 0 ). Denimo, da stolpci V j = [v v j ] sestavljajo ortonormirano bazo za K j (A, r 0 ) za j =,...,. Potem je K + (A, r 0 ) = Lin(v,..., v, Av ) in naslednji bazni vetor dobimo tao, da Av ortogonaliziramo glede na vetorje v,..., v. Arnoldijev algoritem (95) za ortogonalizacijo uporablja modificirano Gram-Schmidtovo metodo oz. MGS. Predstavljen je v algoritmu 2.. Algoritem 2. Arnoldijev algoritem. Vhodni podati so matria A, vetor r 0 in dimenzija. Algoritem vrne ortonormirane stolpce v,..., v, i tvorijo ortonormirano bazo za podprostor Krilova K (A, r 0 ). v = r 0 / r 0 j =,..., z = Av j i =,..., j h ij = v T i z z = z h ij v i h j+,j = z če je h j+,j = 0, potem preini računanje v j+ = z/h j+,j Algoritem se onča pri izbranem ali pa, o je h j+,j = 0. Trditev 2.2 Arnoldijev algoritem se laho izvaja do j =, jer je = dim K n (A, r 0 ). Za j =,..., velja AV j = V j H j + h j+,j [0 0 v j+ ] = V j H j + h j+,j v j+ e T j, jer je H j zgornja Hessenbergova matria veliosti j j, stolpci V j = [v v j ] pa so ortonormirana baza za podprostor Krilova K j (A, r 0 ). Doaz. Uporabimo inducijo po j. Denimo, da je Lin(v,..., v j ) = K j (A, b) in V T j V j = I j. Če je h j+,j = 0, potem je v j+ v,..., v j in v j+ Lin(v,..., v j, Av j ) K j+ (A, r 0 ). Ker pa je dim Lin(v,..., v j, v j+ ) = j +, imamo enaost. Če je h j+,j = 0, potem je AV j = V j H j in V j je baza za invariantni podprostor. V tem primeru iz Lin(v,..., v j ) = K j (A, r 0 ) sledi K n (A, r 0 ) = K j (A, r 0 ). Zahtevnost Arnoldijevega algoritma je množenj z matrio in O( 2 n) za ortogonalizacijo. Množenje z matrio je za polno matrio zahtevnosti O(n 2 ), za razpršeno matrio pa je laho tudi samo O(n). Arnoldijev algoritem vrne delno ortogonalno podobnostno transformacijo matrie A v zgornjo

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 7 Hessenbergovo matrio. Po oraih Arnoldijevega algoritma iz [ H = V T V T AV = AV V T AV ] [ u H H Vu T AV Vu T AV = u u H u H u poznamo H in H u, i ima same ničle in v zgornjem desnem otu element h +,. Pišemo laho AV j = V j+ H j, jer H j dobimo tao, da H j dodamo še vrstico [0 0 h j+,j ]. Če se Arnoldijev algoritem izvede do onca (torej do = n), potem je V T AV = H ortogonalna reducije matrie A na zgornjo Hessenbergovo matrio. To laho uporabimo za alternativno izpeljavo Arnoldijevega algoritma. Če je prvi stolpec matrie V določen, potem laho naslednje stolpce izračunamo reurzivno. Iz zveze AV = VH dobimo za j-ti stolpec enaost Av j = j+ h ij v i. i= S salarnim množenjem s v i, jer je i =,..., j, dobimo h ij = v T i Av j. Vetor v j+ dobimo iz h j+,j v j+ = Av j S tem smo poazali, da so vsi stolpci matrie V do predznaa točno določeni s prvim stolpcem oz. doazali naslednji izre. j i= h ij v i. ], Izre 2.3 (Implicitni Q) Če je Q = [q q n ] taa ortogonalna matria, da je Q T AQ = H nerazcepna Hessenbergova matria, potem so stolpci q 2,..., q n do predznaa natančno določeni s q. Čeprav bi vetorji v,..., v, i jih vrne Arnoldijev algoritem, morali biti ortogonalni, se v prasi zaradi zaorožitvenih napa laho zgodi, da ortogonalnost preveč pade, o narašča. Če želimo ohraniti numerično stabilnost in ortogonalnost baze, se izaže, da moramo po potrebi Gram-Schmidtov postope ponoviti in uporabiti RGS (repeated Gram-Schmidt). Ortogonalizacijo ponovimo na vetorjih, i se jim s tem, o odštejemo omponente v smeri že ortonormiranih vetorjev iz baze, norma preveč zmanjša. Majhna norma vetorja z je namreč laho zna potencialnih veliih relativnih napa. Postope je predstavljen v algoritmu 2.2. Časovna zahtevnost algoritma 2.2 je množenj vetorja z matrio in v najslabšem primeru 4 2 n operacij za ortogonalizacijo. Prostorsa zahtevnost je ( + )n. Omenimo še, da je Waler leta 980 predstavil različico Arnoldijevega algoritma, i namesto MGS uporablja Householderjeva zrcaljenja. 2.3 Metoda FOM Poglejmo, ao laho s pomočjo Arnodijevega algoritma pridemo do približa za rešitev sistema Ax = b. Če je x 0 začetni približe, potem pri Ritz-Galerinovem pogoju iščemo x x 0 + K (A, r 0 ), da je r K (A, r 0 ). To je evivalentno pogoju V T (b Ax ) = 0.

8 Algoritem 2.2 Arnoldijev algoritem s ponovljeno ortogonalizacijo. Vhodni podati so matria A, vetor r 0 in dimenzija. Algoritem vrne ortonormirane stolpce v,..., v, i tvorijo ortonormirano bazo za podprostor Krilova K (A, r 0 ). v = r 0 / r 0 j =, 2,..., z = Av j, ξ = z i =,..., j h ij = v T i z z = z h ij v i če je z < 0.7ξ, potem i =,..., j hij = v T i z h ij = h ij + h ij z = z h ij v i h j+,j = z če je h j+,j = 0, potem preini računanje v j+ = z/h j+,j Vetor x laho zapišemo v oblii x = x 0 + V y, jer je y R. Ker je r 0 = r 0 v, sledi V T (b Ax 0) = r 0 e in rešiti moramo sistem V T AV y = r 0 e. Matrio V T AV = H smo že izračunali med onstrucijo ortonormirane baze podprostora Krilova, ar pomeni, da moramo rešiti zgornji Hessenbergov sistem H y = r 0 e, potem pa vzamemo x = x 0 + V y. To je metoda FOM (full orthogonal method). V grobem laho metodo FOM zapišemo v algoritmu 2.3. Algoritem 2.3 Metoda FOM za reševanje sistema Ax = b. Vhodni podati so matria A, desna stran b, začetni približe x 0 in dimenzija. Algoritem vrne približe x po metodi FOM. r 0 = b Ax 0 Arnoldi(A, r 0, ) = AV = V H + h +, v + e T y = H r 0 e x = x 0 + V y V prasi dimenzije ne določimo vnaprej, temveč sproti povečujemo podprostor Krilova in naredimo tolio oraov, olior je potrebnih, da pridemo do dovolj natančnega približa. Izaže se, da pri tem ni potrebno za vsa računati približa x in norme napae r = b Ax, saj velja naslednji izre. Izre 2.4 Če se je Arnoldijev algoritem izvedel do oraa (ar pomeni h j+,j = 0 za j =,..., ), potem za ostane r, i ga dobimo pri metodi FOM, velja r = b Ax = h +, e T y v +

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 9 in zato r = h +, e T y. Doaz. Vemo, da je x = x 0 + V y = x 0 + V H r 0 e. Če poleg tega upoštevamo še zvezo AV = V H + h +, v + e T, dobimo b Ax = b Ax 0 AV H K r 0 e = r 0 V r 0 e h +, v + e T y = r 0 r 0 h +, e T y v +. Če je matria A simetrična, se postope poenostavi, saj je matria H tridiagonalna in dobimo Lanczosevo metodo. Še bolj se poenostavi v primeru, o je A simetrična in pozitivno definitna, jer dobimo metodo onjugiranih gradientov. Če se Arnoldijev algoritem onča predčasno, je h j+,j = 0. Izaže se, da je to srečni dogode, saj je potem r j = 0 in x j je točna rešitev. Pri veliem postane metoda neučinovita, saj potrebuje velio spomina za V, podraži pa se tudi ortogonalizacija novih vetorjev. Ena od možnih rešitev je, da naredimo samo m oraov metode FOM, potem pa ončni približe vzamemo za nov začetni približe. Če naredimo naenrat m oraov, to imenujemo FOM(m). Konvergenca je sicer počasnejša ot pri metodi FOM, a supni čas računanja je laho manjši. Algoritem 2.4 Metoda FOM(m) za reševanje sistema Ax = b. Vhodni podati so matria A, desna stran b, začetni približe x 0 in dimenzija m. r 0 = b Ax 0 Arnoldi(A, r 0, m) = AV m = V m H m + h m+,m v m+ em T y m = Hm r 0 e x m = x 0 + V m y m če ni onvergence, vzemi x 0 = x m in se vrni na začete 2.4 Lanczosev algoritem Če je matria A simetrična, je potem tudi matria H simetrična, torej tridiagonalna. V tem primeru se Arnoldijev algoritem občutno poenostavi. Pišemo H = T in označimo α β T = β α 2 β 2......... β n 2 α n β n β n a n. Sedaj iz AV = VT dobimo Av j = β j v j + α j v j + β j v j, jer je α j = v T j Av j.

20 Vse supaj laho zapišemo v oblii Lanczosevega algoritma, i je predstavljen v algoritmu 2.5. Če se algoritem ne onča pred oraom, potem velja AV = V T + β v + e T. Sicer pa, tao ot pri Arnoldijevemu algoritmu, tudi tu v primeru, o je dim K n (A, b) =, dobimo β = 0. Algoritem 2.5 Lanczosev algoritem. Vhodni podati so simetrična matria A, vetor b in dimenzija. Algoritem vrne ortonormirane stolpce v,..., v, i tvorijo ortonormirano bazo za podprostor Krilova K (A, b). v = b/ b 2, β 0 = 0, v 0 = 0 j =, 2,..., z = Av j α j = v T j z z = z α j v j β j v j β j = z 2 Preini, če je β j = 0. v j+ = z/β j Po oraih Lanczosevega algoritma iz [ T = V T T T AV = u T ] poznamo matrii T in T u, pri čemer ima T u same ničle in zgoraj desno β. V primeru simetrične matrie bi morala Arnoldijev in Lanczosev algoritem vrniti iste bazne vetorje in moralo bi veljati H = T. Ker pa pri Lanczosu novi vetor ortogonaliziramo le na zadnja dva vetorja, se v prasi izaže, da imamo zaradi tega laho težave z ortogonalnostjo. Podobno ot pri metodi FOM bi laho približe za simetrični sistem dobili z Lanczosevo metodo, zapisano v algoritmu 2.6. T u T u Algoritem 2.6 Lanczoseva metoda za reševanje sistema Ax = b, jer je A = A T. Vhodni podati so matria A, desna stran b, začetni približe x 0 in dimenzija. r 0 = b Ax 0 Lanczos(A, r 0, ) = AV = V T + β v + e T y = T r 0 e x = x 0 + V y Med samim računanjem vetorjev matrie V in elementov matrie T res potrebujemo le zadnja dva vetorja. Vendar, o želimo v algoritmu 2.6 v zadnjem orau izračunati vetor x, potrebujemo za izračun vse stolpce matrie V. Temu se laho izognemo in algoritem preuredimo tao, da za izračun ončnega x ne potrebujemo več vseh stolpcev matrie V. Predpostavimo, da za tridiagonalno matrio T obstaja LU razcep brez pivotiranja. Ta ima

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 2 potem oblio T = L U, jer je α β η β. β T = α.. 2...... β = λ 2..... η.. 2..... β λ β za ustrezne vrednosti λ 2,..., λ in η,..., η. α η Za rešitev x velja x = x 0 + V T r 0 e = x 0 + V U L r 0 e. Če definiramo P = V U in z = L r 0 e, dobimo x = x 0 + P z. Če zapišemo matrio P po stolpcih ot P = [p p ] in vetor z = [ζ ζ ] T po elementih, potem pridemo do zveze x = x + ζ p, jer je x = x 0 + P z. Če znamo torej eonomično izračunati zadnji vetor matrie P iz prejšnjih in zadnji element vetorja z iz prejšnjih, potem laho po zgornji formuli enostavno iz zadnjega približa x dobimo nov približe. Iz P U = V sledi β p + η p = v oziroma p = η (v β p ). Podobno iz L z = r 0 e sledi ζ = λ ζ. Iz tega laho sestavimo tao imenovano diretno Lanczosevo metodo, i je zapisana v algoritmu 2.7. Za razlio od navadne Lanczoseve metode imamo laho sedaj težave, adar izračunamo η j = 0. V tem primeru pravimo, da je prišlo do ritične ustavitve. To pomeni, da naša predpostava, da za T obstaja LU razcep brez pivotiranja, ni bila dobra. Temu se laho izognemo, če uporabljamo LU razcep z delnim pivotiranjem ali pa QR razcep. V tem primeru potem za izračun novega približa potrebujemo dva zadnja približa namesto le enega. En ora diretne Lanczoseve metode ima zahtevnost MV (jer MV označuje produt vetorja z matrio) in 4n + O() za operacije z vetorji. Pri diretni Lanczosevi metodi nov približe x dobimo tao, da prejšnji približe x popravimo v smeri p. Za ostane in smeri p,..., p velja naslednji izre. Izre 2.5 Za vetorje, dobljene pri diretni Lanczosevi metodi, velja: ) Ostani r 0, r,..., r so paroma pravootni. 2) Smeri p,..., p so A-onjugirane, ar pomeni p T i Ap j = 0 za i = j. Doaz.

22 Algoritem 2.7 Diretna Lanczoseva metoda za reševanje sistema Ax = b, jer je A = A T. Vhodni podati so matria A, desna stran b, začetni približe x 0 in dimenzija. v = r 0 / r 0, β 0 = 0, v 0 = 0, ζ = r 0 j =, 2,..., z = Av j α j = v T j z z = z α j v j β j v j β j = z če je j > : λ j = β j /η j η j = α j β j λ j, če je η j = 0, ončaj če je j > : ζ j = λ j ζ j p j = (/η j ) ( v j β j p j ) x j = x j + ζ j p j. če je β j = 0, preini računanje v j+ = z/β j ) Iz zveze r = β e T y v + sledi da sta vetorja r in v + olinearna. Zato so vetorji r 0, r,..., r paroma pravootni (saj to velja za vetorje v,..., v + ). 2) Iz definicije P = V U sledi P T AP = U T V T AV U = U T U = U T L. Matria U T L je spodnje triotna, obenem pa simetrična, saj P T AP simetrična. To pa je možno le, če je P T AP diagonalna matria, ar pomeni pi T Ap j = 0 za i = j. Omenimo še, da toča a) zgornjega izrea velja tudi za metodo FOM in tao ortogonalnost ostanov ni odvisna od simetričnosti matrie A. 2.5 Konjugirani gradienti Predpostavimo, da je matria A simetrična in pozitivno definitna. V taem primeru vemo, da je matria T = V T AV iz Lanczosevega algoritma tudi simetrična in pozitivno definitna, torej zanjo vedno obstaja LU razcep brez pivotiranja. To dejstvo laho izoristimo, da v primeru simetrične pozitivno definitne matrie pridemo do še enostavnejšega algoritma. Iz diretnega Lanczosa laho razberemo: ) Vetorja r j in v j sta olinearna. 2) Vetor p j dobimo tao, da r j prištejemo vetor v smeri p j. 3) Vetor x j dobimo tao, da x j prištejemo vetor v smeri p j.

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 23 Ker dolžina nove smeri p j ni pomembna, velja p j x j r j = r j + β j p j = x j + α j p j = r j α j Ap j za primerne salarje α j, β j (niso enai ot pri Lanczosu). Salarje določimo tao, da velja a) Vetorji r 0, r,..., r so paroma pravootni. b) Smeri p,..., p so A-onjugirane, torej p T i Ap j = 0 za i = j. Koeficient α j dobimo iz enaosti r T j r j = r T j (r j α j Ap j ) = 0. Tao dobimo r T j r j = α j r T j Ap j = α j (p j β j p j ) T Ap j = α j p T j Ap j, jer smo upoštevali, da je sta smeri p j in p j A-onjugirani in je zato p T j Ap j = 0. Od tod sledi α j = rt j r j p T j Ap. j Koeficient β j dobimo iz A-onjugiranosti p j in p j. Iz p T j Ap j = p T j (Ar j + β j p T j Ap j ) = 0 sledi 0 = (Ap j ) T r j + β j (r j 2 + β j 2 p j 2 ) T Ap j = (r j 2 r j ) T r j + β j r T j 2 (r j 2 r j ) α j α j = α j r T j r j + β j α j r T j 2 r j 2, od oder dobimo β j = rt j r j r T j 2 r. j 2 Tao pridemo do metode onjugiranih gradientov (CG), i je zapisana v algoritmu 2.8. Zahtevnost enega oraa metode onjugiranih gradientov je MV in 0n + O() za operacije z vetorji. Ker diretno računamo onjugirane smeri in nove vetorje, smo v primerjavi z diretno Lanczosevo metodo prihranili 4n + O() operacij na ora. Reševanje linearnega sistema Ax = b, jer je matria A simetrična in pozitivno definitna, laho prevedemo na isanje minimuma funcije n spremenljiv, definirano ot f(x) := 2 xt Ax x T b. (2.)

24 Algoritem 2.8 Metoda onjugiranih gradientov za reševanje sistema Ax = b, jer je A simetrična pozitivno definitna. Vhodni podati so matria A, desna stran b, začetni približe x 0 in dimenzija. r 0 = b Ax 0, p = r 0 j =, 2,..., α j = r j 2 p T j Ap j x j = x j + α j p j r j = r j α j Ap j β j = r j 2 r j 2 p j+ = r j + β j p j Lema 2.6 Če je A simetrična pozitivno definitna matria, potem funcija f, definirana s predpisom (2.), doseže svoj minimum pri x = A b. Doaz. Velja (Ax b) T A (Ax b) = x T Ax 2x T b + b T A b = 2 f(x) + b T A b. Ker je A s.p.d, to velja tudi za A in očitno je minimum dosežen pri Ax = b. Označimo napao približa z d = x x. Opazimo, da je Ad = A x Ax = b Ax = r. Velja d 2 A = dt Ad = ( x x ) T A( x x ) = x T Ax 2x T A x + xt A x = 2 f(x ) + x T A x. Ker je x T A x onstanta, smo tao poazali naslednjo lemo. Lema 2.7 Naj bo A simetrična pozitivno definitna matria in A x = b. Potem je evivalentno ) minimizirati f(x ) = 2 xt Ax x T b, 2) minimizirati b Ax A, 3) minimizirati x x A. Poažimo, da po oraih metode onjugiranih gradientov res dobimo optimalni približe x. Izre 2.8 Naj bo A simetrična pozitivno definitna matria. Če po oraih metode onjugiranih gradientov za sistem Ax = b velja r j = 0 za j <, potem je x tisti vetor iz K (A, b), i minimizira x x A. Konvergenca je monotona, ar pomeni d A d A, in velja d m = 0 za ne m n.

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 25 Doaz. Vzemimo poljuben x K (A, b), x = x x in d = x x = d + x. Dobimo d 2 A = (d + x) T A(d + x) = d T Ad + x T A x + 2 x T Ad = d T Ad + x T A x + 2 x T r = d T Ad + x T A x, saj je r K (A, b). Ker je A s.p.d., je izraz očitno minimalen pri x = 0, to pa pomeni pri x = x. Konvergenca je očitno monotona zaradi K (A, b) K (A, b). Ker je ostane r vedno pravooten na K (A, b), se najasneje po n oraih zgodi, da ostane postane 0 in pridemo do točne rešitve. 2.6 Konvergenca onjugiranih gradientov Na začetu so metodo CG obravnavali ot diretno metodo, saj pri esatnem računanju vedno sonvergira v n oraih. Zaradi numeričnih napa pa se v prasi pogosto zgodi, da metoda CG tudi po n oraih ne sonvergira, čeprav bi po teoriji v esatni aritmetii morala. Zaradi tega so na metodo za neaj časa pozabili. Čez čas pa so ugotovili, da za mnogo matri metoda vrne dovolj majhen ostane v n oraih in jo laho uporabljamo ot iterativno metodo. Za lažji študij onvergence si pomagamo s polinomi. Če je d 0 = x x 0, potem iščemo ta polinom stopnje, i minimizira noramo d A = p (A)d 0 A, pri čemer velja p (0) =. Velja namreč x x = x x 0 q (A)r 0 za ne polinom q stopnje. Ker je r 0 = A( x x 0 ), dobimo d = x x = (I Aq (A))d 0 = p (A)d 0, jer je p polinom stopnje, za aterega velja p (0) =. Izre 2.9 Če metoda onjugiranih gradientov ne sonvergira do -tega oraa (r j = 0 za j < ), potem velja d = p (A)d 0, jer p minimizira p (A)d 0 A. Velja d A d 0 A p inf (A)d 0 A p stopnje p (0)= d 0 A inf p stopnje p (0)= max p (λ). λ σ(a) Doaz. Naj bodo u,..., u n ortonormirani lastni vetorji matrie A, pripadajoče lastne vrednosti pa λ,..., λ n. Če je d 0 = n i= a iu i razvoj začetne napae po lastnih vetorjih, je p(a)d 0 = n i= a i p(λ i )u i. Od tod sledi Ker je p(a)d 0 2 A = n i= a 2 i λ i p(λ i ) 2. d 0 2 A = n i= a 2 i λ i,

26 sledi p(a)d 0 2 A d 0 2 A max λ σ(a) p(λ) 2. Izaže se, da je za onvergenco dovolj obravnavati le diagonalne matrie A. Namreč, če je Q ortogonalna matria in à = Q T AQ, x = Q T x, b = Q T b in vzamemo x 0 = Q T x 0, potem CG na sistemu Ax = b z začetnim približom x 0 vrne iste onstante α j in β j ot CG na sistemu à x = b z začetnim približom x 0. Za ustrezna ostana velja r j = r j. Hitrost onvergence metode onjugiranih gradientov je očitno odvisna od razporeditve lastnih vrednosti matrie A. Če ima matria le različnih lastnih vrednosti, potem metoda očitno sonvergira v oraih, saj obstaja polinom p stopnje, i ima ničle v vseh lastnih vrednostih in je p (0) =. Posledica 2.0 Če ima simetrična pozitivno definitna matria A le različnih lastnih vrednosti, potem metoda onjugiranih gradientov sonvergira v največ oraih. Doaz. Polinom p(x) = ) ) ( xλ ( xλ je stopnje, p(0) = in p(λ i ) = 0 za i =,...,. Ker za oceno onvergence potrebujemo polinom stopnje, i bo imel v toči 0 vrednost, sicer pa bo imel v lastnih vrednostih matrie A čim manjše absolutne vrednosti, si v ocenah laho spet pomagamo s polinomi Čebiševa. Izpeljemo laho naslednji oceni. Izre 2. Naj bodo 0 < λ n λ lastne vrednosti s.p.d. matrie A. Za približe x j x 0 + K j (A, r 0 ), dobljen z metodo CG, velja ocena x x j A ( ) T λ +λ n x x 0 A. j λ λ n Doaz. Naj bodo 0 < λ n λ lastne vrednosti matrie A. Za polinom ( ) Q (λ) = T 2λ (λ +λ n ) λ λ n ) T ( λ +λ n λ λ n laho hitro preverimo, da je Q (0) = in za λ n λ λ. Q (λ) ( ) T λ +λ n λ λ n

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 27 Posledica 2.2 Za približe x j x 0 + K j (A, r 0 ), dobljen z metodo CG, velja ocena ( ) j κ x x j A 2 x x 0 A, κ + jer je spetralna občutljivost matrie A. κ = λ λ n Doaz. Pomagamo si z naslednjo oceno za polinome Čebiševa: ( ) T (x) 2 x + = 2(x x 2 ). x 2 Če vzamemo x = λ +λ n λ λ n, tao dobimo ( λ + λ Q (λ) 2 2 ) ( λ λ n λ ) ( ) λ 2 = n κ 2 λ λ n λ + = 2. λ n κ + Iz zgornjega doaza sledi, da je onvergenca metode onjugiranih gradientov vsaj linearna. V prasi pa je onvergenca (pri predpostavi, da računamo v esatni aritmetii) superlinearna, saj se hitrost onvergence z iteracijami povečuje. To laho razložimo s povezavo med onvergenco in s tem, ao se lastne vrednosti matrie A ujemajo s približi za lastne vrednosti, i pripadajo ustreznemu podprostoru Krilova. Denimo, da stolpci matrie V tvorijo ortonomirano bazo za podprostor Krilova K (A, r 0 ). Približe za lastne vrednosti in vetorje iz podprostora K dobimo iz Galerinovega pogoja Av µv K, v K. V tem primeru pravimo, da je µ Ritzeva vrednost, v pa pripadajoči Ritzev vetor. Ko se povečuje razsežnost podprostora Krilova, Ritzeve vrednosti in vetorji onvergirajo proti lastnim parom matrie A, več o Ritzevih vrednostih in onvergenci pa laho najdete v razdelu 3.2. Ker stolpci matrie V tvorijo ortonormirano bazo za K, to pomeni, da je µ lastna vrednost matrie T = V T AV, vetor v pa ima oblio v = V w, jer je w, w 2 =, lastni vetor matrie T, i pripada µ. Matria T pri metodi onjugiranih gradientov se ujema z matrio T, i jo vrne Lanczoseva metoda. Zaradi tega je nerazcepna, ar pomeni, da so pripadajoče Ritzeve vrednosti vse enostavne. Matria T je tudi simetrična in pozitivno definitna, torej so v tem primeru vse Ritzeve vrednosti strogo pozitivne. Vemo celo več, Ritzeve vrednosti v orau se prepletajo z Ritzevimi vrednostmi iz oraa +, saj se lastne vrednosti T prepletajo z lastnimi vrednostmi T +. Če so θ () < < θ () Ritzeve vrednosti, i jih dobimo v -tem orau Lanczosevega algoritma, potem velja strogo prepletanje θ (+) + < θ () < θ (+) < < θ (+) 2 < θ () < θ (+). Očitno velja tudi λ n θ () in θ () λ. Zaradi tega Ritzeve vrednosti monotono onvergirajo proti lastnim vrednostim matrie A, pri čemer najprej sonvergirajo zunanjim (največjim in najmanjšim) lastnim vrednostim.

28 Lema 2.3 Za polinom p stopnje, i nastopa v metodi onjugiranih gradientov, velja p (t) = (θ t)(θ 2 t) (θ t) θ θ 2 θ, jer so θ,..., θ Ritzeve vrednosti za V T AV, pri čemer stolpci V tvorijo ortonormirano bazo za podprostor Krilova K (A, r 0 ). Doaz. Vemo, da velja AV = V T + γ v + e T, jer smo z γ označili ustrezni element iz Lanczoseve metode. prvim enotsim vetorjem e, dobimo Če to enačbo pomnožimo s Av = V T e. Poažimo, da za i < velja A i v = V T i e. Res, inducijsi ora pravi A i+ v = AV T i e = (V T + γ v + e T )Ti e = V T i+ e, saj je e T Ti = 0 za i <. Podobno poažemo, da pri i = dobimo A v = V T e + γv + za neo onstanto γ. Iz vsega supaj laho zaljučimo, da velja V T p (A)v = p (T )e = 0, (2.2) saj vemo, da je ostane r = p (A)r 0 po eni strani olinearen z vetorjem p (A)v, po drugi strani pa pravooten na K (A, r 0 ). Vidimo, da je matria p (T ) singularna, poazali pa bomo, da je ar enaa 0. Naj bodo u,..., u ortonormirani lastni vetorji matrie T, i po vrsti pripadajo Ritzevim vrednostim θ,..., θ, i so lastne vrednosti matrie T. Ker je T nerazcepna tridiagonalna matria, velja e Tu j = 0 za j =,...,, saj lastni vetorji tridiagonalnih nerazcepnih matri ne morejo imeti prvega ali zadnjega elementa enaega 0. Če vetor e razvijemo po u,..., u n, tao velja e = τ i u i, i= jer je τ i = e T u i = 0 za i =,...,. Iz (2.2) laho sedaj izpeljemo p (T )e = τ i p (σ i )u i = 0, i= to pa je zaradi linearne neodvisnosti vetorjev u,..., u in neničelnosti oeficientov τ,..., τ možno le, če je p (σ i ) = 0 za i =,...,. To pomeni, da so Ritzeve vrednosti σ,..., σ natano vse ničle polinoma p, i je stopnje. Ker mora veljati še p (0) =, polinom ne more imeti drugačne oblie od tiste, i je navedena v lemi. Če npr. v neem orau Ritzeva vrednost θ dobro aprosimira lastno vrednost λ, potem od tega oraa dalje metoda onjugiranih gradientov onvergira tao, ot da lastne vrednosti λ ne bi bilo. Namesto od κ = λ /λ n je v nadaljevanju sedaj onvergenca odvisna od razmerja λ 2 /λ n oziroma od razmerja med največjo in najmanjšo lastno vrednostjo matrie A, za ateri Ritzeve vrednosti še niso sonvergirale.

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 29 2.7 Predpogojevanje Ko rešujemo sistem Ax = b z iterativno metodo, je onvergenca v velii meri odvisna od lastnosti matrie A. Tao je npr. pri metodi onjugiranih gradientov onvergenca odvisna od razporeda lastnih vrednosti matrie A. Če lastne vrednosti nastopajo v gručah, potem laho obstaja polinom nize stopnje, i bo imel v vseh lastnih vrednostih majhno absolutno vrednost in onvergenca je hitra. V najslabšem primeru, o so lastne vrednosti dobro separirane, laho pri esatnem računanju potrebujemo tudi n oraov, pri numeričnem računanju pa zaradi zaorožitvenih napa in izgube ortogonalnosti metoda laho potrebuje tudi dosti več ot n oraov. Kadar je onvergenca počasna, si laho pomagamo s predpogojevanjem. Pri t.i. levem predpogojevanju namesto sistema Ax = b rešujemo sistem K Ax = K b, jer za nesingularno matrio K, i ji pravimo (leva) predpogojena, velja: a) matria K je dobra aprosimacija matrie A, b) onstrucija matrie K ni preveč zahtevna, c) sistem z matrio K laho rešimo dosti enostavneje ot sistem z matrio A. Pri uporabi izbrane metode na predpogojenem sistemu moramo v vsaem orau izračunati produt vetorja z matrio K A. Te matrie razen izjemoma ne izračunamo esplicitno. Tao ot matria A je namreč tudi matria K razpršena, matria K A pa ima laho dosti več neničelnih elementov oz. je laho celo polna. Namesto tega v vsaem orau najprej množimo vetor z matrio A, potem pa rešimo sistem z matrio K. Pri levem predpogojevanju moramo biti pozorni tudi na to, da sedaj delamo z ostanom K b K Ax. Če je norma tega ostana majhna, to še ne pomeni nujno, da je tudi norma ostana b Ax dovolj majhna. Pri desnem predpogojevanju namesto Ax = b rešujemo sistem AK z = b, jer je x = K z. Matria K je sedaj desna predpogojena. Prednost desnega predpogojevanja je, da ne vpliva na desno stran b. Seveda laho predpogojujemo tudi z obeh strani in rešujemo sistem K AK2 z = K b, jer je x = K 2 z. Obojestranso predpogojevanje je uporabno v primeru, o imamo levo predpogojeno podano v oblii razcepa K = K K 2. Za izbiro primerne predpogojene K obstaja mnogo načinov. V prasi je dostirat prav izbira ustrezne predpogojene odločilna za to, da je veli razpršen sistem sploh možno numerično rešiti. Za različne vrste linearnih sistemov, i izvirajo iz problemov, ot so npr. parcialne diferencialne enačbe, obstaja več različnih onstrucij predpogojen, razisave na tem področju pa so zelo obsežne. Prva možnost je uporaba atere izmed t.i. lasičnih iterativnih metod, i smo jih obdelali v uvodnem poglavju. Pri teh pri reševanju sistema Ax = b matrio A razdelimo na A = M + N, potem pa sistem Mx = Nx + b rešujemo iterativno ot Mx + = Nx + b. Tao dobimo iteracijo x + = Rx + f, jer je f = M b in R = M N = M (A M) = I M A.

30 To je v bistvu reševanje predpogojenega sistema M Ax = M b. Vsao matrio M iz lasične iteracijse metode laho tao uporabimo za predpogojevanje iterativne metode podprostorov. Če matrio A razdelimo ot A = L + D + U, jer je L spodnji triotni brez diagonale, D diagonala in U zgornji triotni brez diagonale, potem poznamo npr. naslednje variante: Jacobijeva metoda: M J = D, Gauss-Seidelova metoda: M GS = L + D, metoda SOR: M SOR = (D + ωl), ω metoda SSOR: M SSOR = ω(2 ω) (D + ωl)d (D + ωu). Druga možnost za onstrucijo predpogojene so nepopolni razcepi. V primeru splošne matrie uporabimo nepopolni LU razcep, v primeru simetrične pozitivno definitne matrie pa nepopolni razcep Cholesega. Predpostavimo laho, da je LU razcep matrie A ta, da imata matrii L in U tao zelo velio neničelnih elementov, da nam bodisi zmanja pomnilnia ali pa je računanje časovno zelo potratno. Če bi namreč za reševanje sistema laho uporabili ar LU razcep, bi najbrž to že naredili in ne bi potrebovali iterativnih metod. Pri nepopolnem LU razcepu dopustimo neničelne elemente v matriah L in U le na izbranih mestih. Zato ne velja A = LU temveč A = LU + E. Če laho najdemo tai matrii L in U, da sta še vedno dovolj razpršeni, hrati pa produt LU dobro aprosimira A, laho z njima pospešimo onvergenco. Naj bo P {(i, j) : i = j, i, j =,..., n} množica indesov, jer naj bodo elementi iz matri L in U enai 0. Preprosta različica nepopolnega LU razcepa, i ima neničelne elemente le na mestih, i niso v P, je predstavljen v naslednjem algoritmu. Algoritem 2.9 Nepopolni LU razcep. Začetna podata sta matria A in množica indesov P, jer naj imata L in U ničelne elemente. Na oncu v spodnjem triotniu A dobimo matrio L (brez enic na diagonali), v zgornjem triotniu A pa matrio U, jer L in U tvorita nepopolni LU razcep matrie A. za vsa (i, j) P nastavi a ij = 0 j =,..., n i = j +,..., n če (i, j) P: a ij = a ij /a jj = j +,..., n če (i, ) P: a i = a i a ij a j Ponavadi za množico P velja, da je podmnožica indesov, na aterih ima matria A ničle. Če za množico P izberemo ravno P = {(i, j), a ij = 0, i, j =,..., n}, potem je to t.i. razcep ILU(0), pri aterem ne nastanejo novi neničelni elementi. Elemente matrie P laho določamo tudi dinamično med algoritmom. Ponavadi izberemo določen prag

Bor Plestenja - Iterativne numerične metode v linearni algebri (verzija: 2. januar 204) 3 ǫ > 0, potem pa dopuščamo le neničelne elemente v matriah L in U, i so dovolj relativno velii glede na norme ustreznih stolpcev ali vrstic v matrii A. Manjši o je ǫ, več neničelnih elementov bosta imeli matrii L in U in boljše bosta aprosimirali matrio A. Konvergenca bo glede na število oraov hitrejša, po drugi strani pa bo izračun matri L in U terjal več časa, prav tao bo počasnejše tudi reševanje sistemov z matriama L in U. Pri ǫ = 0 bi dobili ar poln LU razcep, i nam vrne rešitev že v začetnem orau. Zato je optimalna izbira ponavadi ne premajhen in ne preveli ǫ. Pri računanju L in U se laho uporabljajo še dodatni trii, i pri določenih vrstah problemov izboljšajo onvergenco. Tao si laho npr. zapomnimo elemente, i so bili v določenem stolpcu ali vrstici matrie L oziroma U premajhni, da bi obdržali neničelne vrednosti, potem pa te vrednosti upoštevamo pri računanju naslednjih elementov matri L in U. Več podrobnosti o predpogojevanju laho najdete npr. v [9]. 2.7. Predpogojevanje onjugiranih gradientov Pri metodi onjugiranih gradientov je matria A simetrična in pozitivno definitna. Smiselno je, da ima to lastnost tudi predpogojena K, i naj bi dobro aprosimirala matrio A. Pri uporabi levega predpogojevanja potem nastopi težava, saj matria K A ni več simetrična. Pomagamo si laho na dva načina. Prva varianta je, da si pomagamo z razcepom Cholesega K = VV T matrie K. Če poznamo matrio V, laho uporabimo obojestranso predpogojevanje in rešujemo sistem V AV T z = V b, jer je x = V T z. Ker je matria V AV T simetrična in pozitivno definitna, laho za ta sistem uporabimo metodo onjugiranih gradientov. Če označimo à = V AV T in b = V b, potem laho hitro preverimo, da za napao teočega približa v predpogojenem sistemu velja z z à = x x A, jer je x rešitev originalnega, z pa rešitev predpogojenega sistema. Druga varianta je, da definiramo salarni produt [x, y] := y T Kx, i je dobro definiran zaradi pozitivne definitnosti matrie K. V tem salarnem produtu je matria K A sebiadjungirana, saj je [K Ax, y] = y T KK Ax = y T Ax = (K Ay) T Kx = [x, K Ay]. V salarnem produtu [.,.] je matria K A tudi pozitivno definitna, saj za x = 0 velja [K Ax, x] = x T KK Ax = x T Ax > 0. Metoda onjugiranih gradientov s salarnim produtom [.,.] je zapisana v algoritmu 2.0. Če primerjamo zahtevnosti standardne metode onjugiranih gradientov v algoritmu 2.8 in predpogojene različice v algoritmu 2.0, imamo pri predpogojenem algoritmu dodatno še eno reševanje sistema z matrio K in en pomožni vetor, amor shranimo K r j. Izaže se, da je algoritem 2.0 evivalenten uporabi navadne metode onjugiranih gradientov za sistem K /2 AK /2 y = K /2 b, x = K /2 y.