Iteratiiviset ratkaisumenetelmät Keijo Ruotsalainen Division of Mathematics
Yleinen iteraatio Lineaarisen yhtälöryhmän iteratiivinen ratkaisumenetelmä voidaan esittää muodossa: Anna alkuarvaus: x 0 R n ; Jos x k on määrätty, niin x k+1 = Bx k + c, B on menetelmän iteraatiomatriisi; c kiinteä vakiovektori, joka riippuu alkuperäisen yhtälöryhmän oikeanpuolen vektorista. Keijo Ruotsalainen Matematiikan jaos 2 / 23
Matriisinormeista Matriisin A luonnollinen normi Ax A = sup x 0 x. Kaikki matriisin p-normit ovat ns. luonnollisia normeja. Matriisin normin avulla voidaan arvioida ominaisarvojen suuruutta. Lemma Jokaiselle matriisin A luonnolliselle normille matriisin spektraalisäde ρ(a) A. Keijo Ruotsalainen Matematiikan jaos 3 / 23
Todistus Matriisin A ominaisarvo λ s ja x s vastaava ominaisvektori Tällöin A = sup Ax x Ax s x s = λ sx s x s = λ s. Kaikille ominaisarvoille λ A, Spektraalisäde ρ(a) = max λ s A. Keijo Ruotsalainen Matematiikan jaos 4 / 23
Spektraalisäde ja normi Lause Jokaiselle ǫ > 0 on olemassa luonnollinen normi siten, että ρ(a) A ρ(a)+ǫ. Lause Seuraavat väittämät ovat yhtäpitäviä: 1. lim k B k = 0; 2. lim k B k v = 0, v R n ; 3. spektraalisäde ρ(b) < 1; 4. Ainakin yhdelle matriisinormille B < 1. Keijo Ruotsalainen Matematiikan jaos 5 / 23
Todistus Tod.: (1) = (2) : Väite seuraa epäyhtälöstä B k v B k v. (2) = (3) : Jos ρ(b) 1, niin on vektori u ja luku λ 1 siten, että Bu = λu. Näin ollen B k u = λ k u ja siten reaalilukujono B k u = λ k u ei suppene kohti nollaa vastoin oletusta: B k v 0 kaikille v R n. (3) = (4) : Väite seuraa suoraan edellisestä lauseesta. (4) = (1) : Tämä seuraa epäyhtälöstä: B k B k. Keijo Ruotsalainen Matematiikan jaos 6 / 23
Iteraatioiden suppeneminen Oletus: Yhtälöllä x = Bx + c on yksikäsitteinen ratkaisu. Iteraatiot suppenevat, jos Lause kaikilla alkuarvauksilla x 0. lim x k = x k Seuraavat väittämät ovat yhtäpitäviä: 1. Iteratiivinen menetelmä on suppeneva; 2. ρ(b) < 1; 3. Ainakin yhdelle matriisinormille B < 1. Keijo Ruotsalainen Matematiikan jaos 7 / 23
Todistus Määritellään virhevektori e k = x k x. Kaikille k N e k = x k x = B(x k 1 x) = Be k 1, e k = B k e 0. Näin ollen lauseen väittämä on tosi edellisen lauseen nojalla. Keijo Ruotsalainen Matematiikan jaos 8 / 23
Virhe-arviot Lause Oletus: B < 1. A priori-arvio: A posteriori-arvio: x x k B k 1 B x 1 x 0, x x k B 1 B x k x k 1, missä matriisinormi on vektorinormin kanssa yhteensopiva. Keijo Ruotsalainen Matematiikan jaos 9 / 23
A priori-arvion todistus A priori-arvio: x m x k m 1 i=k m 1 i=k x i+1 x i m 1 i=k B i (x 1 x 0 ) B i x 1 x 0 B k 1 B x 1 x 0 lim m x m x k = x x k B k 1 B x 1 x 0 Keijo Ruotsalainen Matematiikan jaos 10 / 23
Todistus: A posteriori-arvio A posteriori-arvio: x x k m 1 i=k m k 1 i=1 x i+1 x i m k 1 i=1 B i (x k x k 1 ) B i x k x k 1 { B i } x k x k 1 i=1 lim m x m x k = x x k B 1 B x k x k 1 Keijo Ruotsalainen Matematiikan jaos 11 / 23
Virhe-arvioiden käyttö Kuinka monta iteraatiota tarkkuuteen x x k ǫ? Ensimmäisen iteraation jälkeen: ln( B k 1 B x 1 x 0 ) ln(ǫ) x 1 x 0 ) k ln(ǫ(1 B ) ln( B ) A posteriori-arviolla virhettä kontrolloidaan laskennan kuluessa. Keijo Ruotsalainen Matematiikan jaos 12 / 23
Jacobin menetelmä Matriisin A summahajotelma A = L+D + U L on A:n alakolmio-osa, U on A:n yläkolmio-osa D on A:n diagonaaliosa. Ax = b Dx = b (L+U)x. Jos a ii 0, niin x = D 1 (L+U)x + D 1 b. Jacobin menetelmässä iteraatiomatriisi on B J = D 1 (L+U), c = D 1 b Keijo Ruotsalainen Matematiikan jaos 13 / 23
Gauss-Seidelin menetelmä Yhtälöryhmä Ax = (D + L)x + Ux = b x = (D + L) 1 Ux +(D + L) 1 b. (D + L) 1 on olemassa, kun A:n diagonaalialkiot ovat nollasta eroavia. Gauss-Seidelin menetelmän iteraatiomatriisi ja vakiovektori ovat B G = (D + L) 1 U, c = (D + L) 1 b. Keijo Ruotsalainen Matematiikan jaos 14 / 23
Iteraatioden koordinaattiesitys Jacobi: i = 1,...,n Gauss-Seidel: x (k+1) x (k+1) i = 1 a ii (b i i = 1 i 1 [ a i,l x (k+1) a l ii l=1 l=1, l i a il x (k) l ) n l=i+1 a i.l x (k) l + b i ] Keijo Ruotsalainen Matematiikan jaos 15 / 23
Menetelmien suppenemisesta Lause Jacobin ja Gauss-Seidelin menetelmät suppenevat, mikäli matriisi A on aidosti diagonaalidominantti, ts. joko on voimassa a ii > n a ij, tai a ii > n a ji. j = 1 j i j = 1 j i Tällöin joko B < 1 tai B 1 < 1. On tilanteita, joissa Jacobin menetelmä suppenee; mutta Gauss-Seidelin menetelmä ei, ja päinvastoin. Mutta jos molemmat menetelmät suppenevat, niin yleensä Gauss-Seidelin konvergenssinopeus on huomattavasti nopeampi. Keijo Ruotsalainen Matematiikan jaos 16 / 23
Esimerkkejä Esim. Tutki seuraaville matriiseille Jacobin ja Gauss-Seidelin iteraatioiden suppenemista: 3 0 4 3 3 6 A 1 = 7 4 2, A 2 = 4 7 8 1 1 2 5 7 9 Keijo Ruotsalainen Matematiikan jaos 17 / 23
SOR-menetelmä Yhtälöryhmä: Ax = b. Relaksaatioparametri ω (0, 2) SOR-iteraatio: Ax = b ω(d + L+U)x = ωb Dx +ω(d + U + L)x = ωx + Dx (D +ωl)x = ωb+(1 ω)dx ωux x = (D +ωl) 1[ ] ωb+(1 ω)dx ωu(x) x (k+1) = (D +ωl) 1[ ωb+(1 ω)dx (k) ωux (k)] SOR-menetelmän vaihtoehtoinen esitys: x (k+1) = x (k) +( 1 ω D + L ) 1(b Ax (k) ) Keijo Ruotsalainen Matematiikan jaos 18 / 23
SOR-menetelmän konvergenssista Lause Olkoon B ω SOR-menetelmän iteraatiomatriisi. Tällöin jokaiselle ω R on voimassa ρ(b ω ) ω 1. Näin ollen SOR-menetelmä hajaantuu, kun ω 0 tai ω 2. Lause Olkoon yhtälöryhmän kerroinmatriisi A symmetrinen ja positiivisesti definiitti. Silloin SOR-iteraatio suppenee, jos ja vain jos ω (0,2). Keijo Ruotsalainen Matematiikan jaos 19 / 23
Resistiivinen virtapiiri Keijo Ruotsalainen Matematiikan jaos 20 / 23
Yhtälöryhmä Solmuanalyysi (nodal analysis): Potentiaali solmuissa on V i ; Kirchhoffin virtalaki: k adj(i) I k = 0 Komponentin yli menevä virta V i V j R Solmu i = 0 maadoitetaan V 0 = 0 Jännite lähteen aiheuttama virta I 0 0 Yhtälöryhmä YV = I, I = [I 0 0... 0] Y ij = { k adj(i) 1 R, i = j 1 R Keijo Ruotsalainen Matematiikan jaos 21 / 23
Matriisin ominaisuudet Matriisi Y on blokki tridiagonaalinen, symmetrinen ja diagonaalisesti dominantti: Positiivisesti definiitti: V YV = 4n 1 i=1 4n 1 Y ii Vi 2 + i,j=1 (V i V j ) 2, R missä Y ii = 4 R, i 1 ja Y 11 = 3 R Ratkaistaan konjugaattigradientti-, Gauss-Seidelin ja SOR-menetelmällä (optimaalinen parametri ω = 1.76). Keijo Ruotsalainen Matematiikan jaos 22 / 23
Menetelmien vertailu Keijo Ruotsalainen Matematiikan jaos 23 / 23