Numeeriset menetelmät Luento 5 Ti 20.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 1/40 p. 1/40
Choleskyn menetelmä Positiivisesti definiiteillä matriiseilla kolmiohajotelma A = LL T Kuten LU-hajotelma, missä yläkolmiomatriisia U vastaa yläkolmiomatriisi L T Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 2/40 p. 2/40
Yhtälöryhmän ratkaiseminen Ax = b LL T x = b L (L T x) }{{} =y = b { Ly = b L T x = y Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 3/40 p. 3/40
Etenevät sijoitukset Ly = b y i = b i = = n k=1 i 1 k=1 ( b i l ik y k l ik y k + l ii y i + i 1 k=1 n k=i+1 l ik }{{} =0 y k l ik y k )/l ii, i = 1, 2,..., n Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 4/40 p. 4/40
Takenevat sijoitukset L T x = y x i = y i = = ( y i n k=1 i 1 k=1 n k=i+1 l ki x k l ki }{{} =0 x k + l ii x i + n k=i+1 l ki x k l ki x k )/l ii, i = n, n 1,..., 1 Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 5/40 p. 5/40
Yhtälöryhmän ratkaiseminen Apuvektoria y ei tarvita: y:n alkiot x:n päälle Myöskään vektoria x ei välttämättä tarvita: x:n alkiot b:n päälle Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 6/40 p. 6/40
Nauhamatriisit Matriisi A on nauhamatriisi, jos a ij = 0 kun i j > m m on sivudiagonaalien lukumäärä 2m + 1 on matriisin nauhanleveys A = 0 0 Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 7/40 p. 7/40
Tridiagonaalimatriisit Erikoistapaus: m = 1 (nauhanleveys 3) Tridiagonaalinen matriisi b 1 c 1 a 2 b 2 c 2 A = a 3 b 3 c 3......... a n 1 b n 1 c n 1 a n b n Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 8/40 p. 8/40
Tridiagonaalinen yhtälöryhmä Oletetaan, että tridiagonaalisen matriisin A LU-hajotelma voidaan tehdä ilman tuentaa Arvataan, että matriisit L ja U ovat muotoa 1 ω 1 α 1 β 2 1 ω 2 α 2............ β n 1 1 ω n 1 α n 1 β n 1 ω n Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 9/40 p. 9/40
Tridiagonaalinen yhtälöryhmä LU = ω 1 α 1 β 2 ω 1 α 1 β 2 + ω 2 α 2...... β n ω n 1... α n 1 β n + ω n LU on tridiagonaalinen Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 10/40 p. 10/40
Tridiagonaalinen yhtälöryhmä Verrataan A:n ja LU:n vastinalkioita ω 1 = b 1 α 1 = c 1 β i = a i /ω i 1 ω i = b i α i 1 β i α i = c i β n = a n /ω n 1 ω n = b n α n 1 β n Vastaavasti voidaan johtaa Choleskyn hajotelma positiivisesti definiitille tridiagonaalimatriisille Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 11/40 p. 11/40
Nauhamaiset yhtälöryhmät A nauhamatriisi & LU-hajotelma ilman tuentaa L ja U nauhamatriiseja, sama nauhanleveys A nauhamatriisi & Choleskyn hajotelma L nauhamatriisi, sama nauhanleveys Nauhamatriiseista riittää tallentaa diagonaali ja sivudiagonaalit Tilaa säästyy Turha laskenta nollilla poistuu Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 12/40 p. 12/40
Virheet ja stabiilisuus Periaatteessa: Ax = b voidaan ratkaista tarkasti äärellisellä määrällä peruslaskutoimituksia Käytännössä: x on aina likiarvo Virhelähteitä: Matemaattisessa mallissa mittaus- ym. virheitä Tallennus liukulukuapproksimaatioina Liukulukulaskennan aritmeettiset operaatiot epätarkkoja Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 13/40 p. 13/40
Vektorinormit Yleisesti käytettyjä vektorinormeja: ( n ) 1/p, x p = x i p 1 p < i=1 x = max x i 1 i n n x 1 = x i x 2 = i=1 ( n i=1 x i 2 ) 1/2 (euklidinen normi) Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 14/40 p. 14/40
Matriisinormit Matriisin ns. operaattorinormi määritellään vektorinormiin liittyen A = sup x 0 Ax x Silloin Ax A x x R n Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 15/40 p. 15/40
Matriisinormit Yleisesti käytettyjä matriisinormeja: A 1 = max 1 j n n i=1 a ij (maksimi sarakkeiden summista) n A = max a ij 1 i n j=1 (maksimi rivien summista) Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 16/40 p. 16/40
Virhe- ja stabiilisuusanalyysiä Oletetaan, että A on kääntyvä Oletetaan, että aritmeettiset operaatiot ovat tarkkoja Tarkastellaan kahta tapausta: Häiriöitä on (1) vain vektorissa b (2) sekä vektorissa b että matriisissa A Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 17/40 p. 17/40
Häiriö oikean puolen vektorissa Alkuperäinen tehtävä: Ax = b Häiritty tehtävä: Aˆx = b + δb Virhe: e = ˆx x Ae = Aˆx Ax = b + δb b = δb Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 18/40 p. 18/40
Virhearvio δb = Ae e = A 1 δb δb A e e A 1 δb : A x : x δb A x e x A 1 δb x ( ) Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 19/40 p. 19/40
Virhearvio jatkuu x = A 1 b b = Ax x A 1 b ( ) 1 b A x 1 A 1 b 1 x 1 x A b : x b Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 20/40 p. 20/40
Virhearvio jatkuu δb A x e x A 1 δb x ( ) 1 A 1 b 1 x 1 x A b 1 A A 1 δb b e x A A 1 δb b Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 21/40 p. 21/40
Häiriöalttius Ratkaisun suhteellisen virheen arvio oikean puolen suhteellisen virheen avulla: e x κ(a) δb b missä κ(a) = A A 1 on matriisin A häiriöalttius Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 22/40 p. 22/40
Häiriöalttius Häiriöalttius: Kertoo, kuinka hyvää tarkkuutta ratkaisulta voidaan käytännössä odottaa Numeerinen arvo riippuu käytetystä matriisinormista Tarkan arvon laskeminen kalliimpi operaatio kuin itse yhtälöryhmän ratkaiseminen Suuruusluokkaa voidaan arvioida LU-hajotelman avulla Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 23/40 p. 23/40
Häiriö vektorissa ja matriisissa Alkuperäinen tehtävä: Ax = b Häiritty tehtävä: (A + δa)(x + e) = b + δb... e x κ(a) 1 κ(a) δa A ( δa A + δb ) b (Jos δa = 0, saadaan aikaisempi arvio) Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 24/40 p. 24/40
Determinantti ja häiriöalttius Jos det A = 0 A 1 ei ole olemassa A 1 ei määritelty määritellään κ(a) = Yleisesti: Determinantin arvon perusteella ei voi sanoa mitään matriisin häiriöalttiudesta Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 25/40 p. 25/40
Virhearviot: a priori, a posteriori A priori -virhearviot ( etukäteen ): Arvioidaan ratkaisun tarkkuutta lähtötietojen perusteella (ratkaisematta tehtävää) Esimerkiksi edellä esitetyt virhearviot A posteriori -virhearviot ( jälkikäteen ): Arvioidaan ratkaisun tarkkuutta sen jälkeen kun tehtävä on ratkaistu Esimerkiksi seuraavana esitettävä virhearvio Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 26/40 p. 26/40
Residuaali Alkuperäinen tehtävä: Ax = b Numeerinen ratkaisu: ˆx Residuaali: r = b Aˆx Tavoite: r = 0 Mutta yleensä: r 0 Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 27/40 p. 27/40
Residuaali Jos yhtälö skaalataan: αax = αb, α 0 Ratkaisu ei muutu ja residuaali skaalautuu samalla vakiolla Residuaali saadaan mielivaltaisen pieneksi tai suureksi Pelkkä residuaali on hyödytön mittari tarkkuudelle Mutta: Residuaalia voidaan käyttää a posteriori -virhearvioiden laskemisessa Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 28/40 p. 28/40
Virhearvio Ax = b x = A 1 b r = b Aˆx ˆx = A 1 (b r) e = x ˆx = A 1 r e A 1 r e x A 1 r x : x ( ) Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 29/40 p. 29/40
Virhearvio jatkuu e x A 1 r x ( ) b A x 1 x A b e x κ(a) r b missä κ(a) = A A 1 Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 30/40 p. 30/40
Yhtälöryhmien ratkaiseminen Suorat menetelmät: Ratkaisu saadaan äärellisellä määrällä peruslaskutoimituksia (jos käytetään tarkkaa aritmetiikka) Esimerkiksi LU ja Cholesky Sopivat hyvin pienille yhtälöryhmille Suurille yhtälöryhmille yleensä tehottomia Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 31/40 p. 31/40
Yhtälöryhmien ratkaiseminen Iteratiiviset menetelmät: Alkuarvaus x (0) x (1) x (2)... x (n) joka toteuttaa lopetuskriteerin Tehokkaampia suurille yhtälöryhmille Usein matriisia A ei tarvitse tallentaa kokonaan, vaan riittää että osataan laskea Aw annetulla w Ennen käyttöä on syytä varmistua konvergenssista Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 32/40 p. 32/40
Algoritmien valinnasta Lineaarisen yhtälöryhmän ratkaiseminen on yksi numeerisen matematiikan perustehtävistä Perusmenetelmien tehokkaita ja hyvin testattuja implementointeja on vapaasti saatavilla Pienet yhtälöryhmät (n 1000): Jokin yksinkertainen suora menetelmä riittää Suuret ja harvat yhtälöryhmät (n >> 10000, nollasta poikkeavia alkioita << 1 %): Tarvitaan tehokas iteratiivinen menetelmä Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 33/40 p. 33/40
Epälineaariset yhtälöryhmät Olkoon f : R n R n Tehtävä: Ratkaise yhtälöryhmä f(x) = 0 f 1 (x 1, x 2,..., x n ) = 0 f 2 (x 1, x 2,..., x n ) = 0. f n (x 1, x 2,..., x n ) = 0 Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 34/40 p. 34/40
Ratkaisumenetelmät Useimmat yhden yhtälön ratkaisumenetelmät yleistyvät yhtälöryhmille Esimerkiksi Newtonin menetelmä, sekanttimenetelmä, kiintopistemenetelmä (mutta ei puolitushaku) Yleinen periaate: Epälineaarinen yhtälöryhmä palautetaan jonoksi lineaarisia yhtälöryhmiä Ratkaistaan iteratiivisesti lineaarisia yhtälöryhmiä Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 35/40 p. 35/40
Jacobiaani Funktion f : R n R n ensimmäisen kertaluvun Taylorin kehitelmä pisteessä x: f(x + h) = f(x) + J(x)h + O( h 2 ) missä J(x) = f 1 (x) x 1 f 2 (x) x 1. f n (x) x 1 f 1 (x) x 2... f 2 (x) x 2.... f n (x) x 2... f 1 (x) x n f 2 (x) x n. f n (x) x n on funktion f jacobiaani pisteessä x Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 36/40 p. 36/40
Newtonin menetelmä Asetaan f:n linearisointi x (k) :ssa nollaksi: f(x (k) + h) = f(x (k) ) + J(x (k) )h = 0 J(x (k) )h = f(x (k) ) h = J(x (k) ) 1 f(x (k) ) Newtonin menetelmä x (k+1) = x (k) J(x (k) ) 1 f(x (k) ) (Vertaa: x (k+1) = x (k) f(x (k) )/f (x (k) ) ) Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 37/40 p. 37/40
Newtonin menetelmä Käytännössä jacobiaanin käänteismatriisia ei koskaan muodosteta Vaan: Ratkaistaan h lineaarisesta yhtälöryhmästä J(x (k) )h = f(x (k) ) minkä jälkeen asetetaan x (k+1) = x (k) + h Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 38/40 p. 38/40
Newtonin men. konvergenssi Olkoon x yhtälöryhmän ratkaisu Olkoon f:n kaikki toisen kertaluvun osittaisderivaatat jatkuvia ja det J(x ) 0 Jos alkuarvaus x (0) on riittävän lähellä ratkaisua lim k x (k) = x Konvergenssi on neliöllistä eli kvadraattista (kertaluku p = 2) Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 39/40 p. 39/40
Newtonin men. ominaisuuksia Alkuarvauksen oltava hyvä Jacobiaani voi olla singulaarinen (käänteismatriisia ei ole olemassa) Lineaarisen yhtälöryhmän ratkaiseminen kallista, kuin n on suuri Jacobiaania voidaan yrittää approksimoida yksinkertaisemmalla matriisilla Esimerkiksi J(x (k) ) LU, missä LU on J(x (0) ):n LU-hajotelma Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 40/40 p. 40/40