Numeeriset menetelmät TIEA381 Luento 8 Kirsi Valjus Jyväskylän yliopisto Luento 8 () Numeeriset menetelmät 11.4.2013 1 / 35
Luennon 8 sisältö Interpolointi ja approksimointi Funktion approksimointi Tasainen polynomiapproksimaatio Pienimmän neliön approksimointi Pienimmän neliösumman approksimointi Luento 8 () Numeeriset menetelmät 11.4.2013 2 / 35
Tavoitteena funktion approksimoinnissa on etsiä annettua funktiota f yksinkertaisempi funktio p siten, että p f jossakin mielessä. Olkoon annettu normiavaruus V - esimerkiksi jatkuvat funktiot välillä [a, b], ts. V = C([a, b]) ja sen (äärellisulotteinen) aliavaruus Ṽ - esimerkiksi n-asteiset polynomit. Tavoitteena on etsiä annetulle f V approksimaatio p Ṽ siten, että f p f q kaikilla q Ṽ. Luento 8 () Numeeriset menetelmät 11.4.2013 3 / 35
Lause 5.9 Luku 5: Interpolointi ja approksimointi Olkoon V normiavaruus ja Ṽ sen äärellisulotteinen aliavaruus. Tällöin jokaiselle alkiolle f V on olemassa ainakin yksi paras approksimaatio p Ṽ. Luento 8 () Numeeriset menetelmät 11.4.2013 4 / 35
Tasainen polynomiapproksimaatio Tarkastellaan polynomiapproksimaation p konstruointia jatkuvalle funktiolle f siten, että virheen maksiminormi on mahdollisimman pieni. f p = max f (x) p(x) a x b tasainen approksimaatio tai minimax-approksimaatio tarvitaan tilanteissa, joissa on tärkeää, että appr.virhe saadaan pidettyä pienenä koko välillä [a, b]. Luento 8 () Numeeriset menetelmät 11.4.2013 5 / 35
Tasainen polynomiapproksimaatio jatkuu Parasta tasaista polynomiapproksimaatiota karakterisoi maksimivirheen alternointi: Lause 5.10 Funktiolla f C([a, b]) on täsmälleen yksi minimax polynomi p n P n. Polynomi p n P n on f :n tasainen approksimaatio välillä [a, b] jos ja vain jos on olemassa n + 2 pistettä a x 0 <... < x n+1 b siten, että ( 1) i [f (x i ) p n (x i )] = σ f p n, i = 0,..., n + 1, missä σ = sign(f (x 0 ) p n (x 0 )). Jos f C (n+1) ([a, b]) ja f (n+1) ei vaihda merkkiä välillä [a, b], niin a = x 0 ja b = x n+1. Luento 8 () Numeeriset menetelmät 11.4.2013 6 / 35
Esimerkki 5.13 Luku 5: Interpolointi ja approksimointi Muodostetaan funktiolle f (x) = cos x ensimmäisen asteen minimaxpolynomiapproksimaatio p 1 (x) = c 0 + c 1 x välille [0, π 2 ]. Lausetta 5.10 soveltamalla saadaan epälineaarinen yhtälöryhmä c 0 + c 1 0 cos 0 = d c 0 + c 1 x 1 cos x 1 = d c 0 + c 1 π 2 cos π 2 = d c 1 + sin x 1 = 0. Tämä ratkaisemalla saadaan arvot tuntemattomille c 0, c 1, x 1 ja d ja minmax-polynomiksi p 1 (x) = 1.10526 0.63662x. Luento 8 () Numeeriset menetelmät 11.4.2013 7 / 35
Esimerkki 5.13 jatkuu Funktio f (x) = cos x ja polynomi p 1 on esitetty ao. kuvassa. Maksimivirhe d = 0.105257 saavutetaan välin päätepisteissä ja pisteessä x 1 = 0.690107. 1.2 1 cos(x) 1.10526-0.63662*x 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Luento 8 () Numeeriset menetelmät 11.4.2013 8 / 35
Tasainen polynomiapproksimaatio jatkuu Yleisessä tapauksessa minimax-polynomia ei voi muodostaa analyyttisesti kuten edellä Tarvitaan iteratiivisia menetelmiä ( esim. Remezin algoritmi ) Melkein minimax-polynomi saadaan helposti muodostamalla välille [a, b] interpolaatiopolynomi Tšebyševin interpolaatiopisteitä käyttäen. Luento 8 () Numeeriset menetelmät 11.4.2013 9 / 35
Pienimmän neliön approksimointi Yleinen approksimaatiotehtävä johtaa epälineaarisen yhtälöryhmän ratkaisemiseen pienimmän neliön approksimointi palautuu lineaarisen yhtälöryhmän ratkaisemiseen Olkoon funktioavaruus V varustettu sisätulolla,. Pienimmän neliön approksimaatiossa etsitään funktiota p aliavaruudesta Ṽ siten, että normi on mahdollisimman pieni. f p := f p, f p 1 2 Luento 8 () Numeeriset menetelmät 11.4.2013 10 / 35
Lause 5.11 Luku 5: Interpolointi ja approksimointi Olkoon V sisätuloavaruus, Ṽ sen aliavaruus ja f V. Tällöin funktio p Ṽ on funktion f pienimmän neliön approksimaatio jos ja vain jos f p, v = 0 kaikille v Ṽ. Luento 8 () Numeeriset menetelmät 11.4.2013 11 / 35
Lauseen 5.11 todistus Olkoon funktio p Ṽ funktion f V paras approksimaatio (ts. f p f q kaikilla q Ṽ.). Olkoon q Ṽ ja λ > 0 mielivaltaiset. Tällöin p λq Ṽ ja f p 2 f (p λq) 2 = f p + λq 2. Edelleen (käyt. a + b 2 = a 2 + 2 a, b + b 2 ) 0 (f p) + λq 2 f p 2 = f p 2 + 2λ f p, q + λ 2 q 2 f p 2 = λ[2 f p, q + λ q 2 ]. Luento 8 () Numeeriset menetelmät 11.4.2013 12 / 35
Lauseen 5.11 todistus jatkuu Edellä saatiin 0 λ[2 f p, q + λ q 2 ] : λ(> 0) 0 2 f p, q + λ q 2 : 2 λ 2 q 2 f p, q pätee λ > 0, myös mv. pienelle 0 f p, q pätee q Ṽ, myös q:lle 0 f p, q = f p, q ( 1) 0 f p, q 0 f p, q 0 f p, q = 0 q Ṽ Luento 8 () Numeeriset menetelmät 11.4.2013 13 / 35
Lauseen 5.11 todistus jatkuu Oletetaan, että f p, q = 0 kaikille q Ṽ. Silloin f q 2 = (f p) + (p q) 2 = f p 2 + 2 f p, p q + p q 2 f p 2. }{{} =0 ) (p Ṽ, q Ṽ p q Ṽ f p, p q = 0 Siten funktio p on funktion f paras approksimaatio. Koska yo. päättely pätee q Ṽ, on p lisäksi yksikäsitteinen. Luento 8 () Numeeriset menetelmät 11.4.2013 14 / 35
Pienimmän neliön approksimointi jatkuu Funktion f pienimmän neliön approksimaation konstruointi: Jos {ϕ 1,..., ϕ n } on aliavaruuden Ṽ kanta, niin n p = c j ϕ j. j=1 Nyt riittää vaatia, että ehto f p, v = 0 on voimassa kantafunktioille {ϕ i }: n f c j ϕ j, ϕ i = 0, i = 1,..., n. f, ϕ i j=1 n c j ϕ j, ϕ i = 0, i = 1,..., n. j=1 Luento 8 () Numeeriset menetelmät 11.4.2013 15 / 35
Pienimmän neliön approksimointi jatkuu Tuntemattomien kertoimien {c j } määräämiseksi saadaan lineaarinen yhtälöryhmä n c j ϕ j, ϕ i = f, ϕ i, i = 1,..., n, j=1 joka voidaan kirjoittaa lyhyesti matriisimuodossa Ac = f, missä a ij = ϕ i, ϕ j ja f i = f, ϕ i. Matriisia A sanotaan Gramin matriisiksi. Luento 8 () Numeeriset menetelmät 11.4.2013 16 / 35
Esimerkki 5.14. Muodostetaan funktiolle f (x) = sin x muotoa p(x) = c 1 x + c 2 x 3 + c 3 x 5 oleva pienimmän neliön approksimaatio välillä [ 1, 1] sisätulon u, v = 1 1 u(x)v(x) dx määräämän normin v = v, v 1/2 mielessä. Avaruuden Ṽ kanta: ϕ 1 = x, ϕ 2 = x 3, ϕ 3 = x 5, ts ϕ i = x 2i 1, i = 1, 2, 3. Luento 8 () Numeeriset menetelmät 11.4.2013 17 / 35
Esimerkki 5.14. jatkuu Gramin matriisin ja vastaavan oikean puolen vektorin alkiot saadaan nyt laskettua kaavoilla (i, j = 1, 2, 3) jolloin a ij = ϕ i, ϕ j = f i = f, ϕ i = A = 1 1 1 2 3 2 5 2 7 1 2 5 2 7 2 9 x 2i 1 x 2j 1 dx = x 2i 1 sin x dx, 2 7 2 9 2 11 1, f = 1 x 2i+2j 2 dx = 2 sin 1 2 cos 1 10 cos 1 6 sin 1 130 sin 1 202 cos 1 2 2i + 2j 1,. Luento 8 () Numeeriset menetelmät 11.4.2013 18 / 35
Esimerkki 5.14. jatkuu Yhtälöryhmän Ac = f ratkaisuna saadaan kertoimet c 1 0.9999842124, c 2 0.1665241811, c 3 0.008018110365 approksimaatiolle p(x) = c 1 x + c 2 x 3 + c 3 x 5. Luento 8 () Numeeriset menetelmät 11.4.2013 19 / 35
Pienimmän neliön approksimointi jatkuu Joukko {ϕ 1,..., ϕ n } on kantana lineaarisesti riippumaton Gramin matriisi on kääntyvä. Tämä ei kuitenkaan takaa numeerisesti stabiilia laskentaa: Esimerkiksi edellisen esimerkin matriisin häiriölttius on κ(a) 850. Kun tehtävän koko kasvaa ( ts. kehitelmään p(x) = c 1 x + c 2 x 3 + c 3 x 5 otetaan enemmän termejä ), niin hyvin pian vastaava Gramin matriisi olisi numeerisesti singulaarinen. Luento 8 () Numeeriset menetelmät 11.4.2013 20 / 35
Pienimmän neliön approksimointi jatkuu Paremmin käyttäytyvä Gramin matriisi saadaan, jos kannaksi valitaan ortonormaali systeemi {ϕ 1,..., ϕ n }, jolle { 1, i = j ϕ i, ϕ j = δ ij = ja ϕ i 1 i. 0, i j Tällöin Gramin matriisi A on identtinen matriisi ja lineaariseksi yhtälöryhmäksi Ac = f tulee siten pelkkä c = f eli c i = f, ϕ i, i = 1,..., n. Luento 8 () Numeeriset menetelmät 11.4.2013 21 / 35
Pienimmän neliön approksimointi jatkuu Sisätuloavaruuden äärellisulott. aliavaruudelle Ṽ voidaan tuottaa ortonorm. kanta Gramin ja Schmidtin algoritmilla: Jos {v 1, v 2,..., v n } on aliavaruuden Ṽ kanta, määritellään i 1 ũ i = v i v i, u j u j, u i = ũi, i = 1, 2,..., n. ũ i j=1 Tällöin {u 1,..., u n } on aliavaruuden Ṽ ortonormaali kanta. Monomeista ϕ i = x i, saadaan Gramin ja Schmidtin ortogonalisointialgoritmilla muodostettua ortonormaali kanta. Saatuja polynomeja kutsutaan normeeratuiksi Legendren polynomeiksi. Luento 8 () Numeeriset menetelmät 11.4.2013 22 / 35
Esimerkki 5.15 Luku 5: Interpolointi ja approksimointi Ratkaistaan esimerkin 5.14 approksimaatiotehtävä normeerattujen Legendren polynomien avulla. ˆϕ 1 (x) = 1 2/3 x, ˆϕ 2 (x) = 1 8/7 (5x 3 3x), ˆϕ 3 (x) = 1 128/11 (63x 5 70x 3 + 15x) Luento 8 () Numeeriset menetelmät 11.4.2013 23 / 35
Esimerkki 5.15 Luku 5: Interpolointi ja approksimointi Paras approksimaatio on nyt muotoa ˆp(x) = ĉ 1 ˆϕ 1 + ĉ 2 ˆϕ 2 + ĉ 3 ˆϕ 3, missä ĉ 1 = sin x, ˆϕ 1 = ĉ 2 = sin x, ˆϕ 2 = ĉ 3 = sin x, ˆϕ 3 = 1 1 1 1 1 1 ˆϕ 1 sin x dx = 0.7377095899, ˆϕ 2 sin x dx = 0.03369954077, ˆϕ 3 sin x dx = 0.0004341503171. Lineaarikombinaation kertoimet riippuvat kantafunktioiden valinnasta. Polynomit p ja ˆp ovat kuitenkin samat. Luento 8 () Numeeriset menetelmät 11.4.2013 24 / 35
Pienimmän neliösumman approksimaatio Oletetaan, että funktio f tunnetaan vain etukäteen kiinnitetyissä havaintopisteissä x k, k = 1,..., m, jolloin funktio f samaistetaan vektoriin ˆf R m. Luento 8 () Numeeriset menetelmät 11.4.2013 25 / 35
Pienimmän neliösumman appr. jatkuu Tehtävänä on löytää kertoimet {c j } kehitelmään n p(x) = c j ϕ j (x) j=1 siten, että f p on mahdollisimman pieni, kun normi on diskreetin sisätulon m u, v := u(x k )v(x k ) määräämä, ts f p = f p, f p 1 2 k=1 = { m k=1 [ f (x k ) p(x k ) ] 2 } 1 2. Luento 8 () Numeeriset menetelmät 11.4.2013 26 / 35
Pienimmän neliösumman appr. jatkuu Paras appr. saadaan jälleen laskettua ortogonaalisuusehdon m f p, ϕ i = [f (x k ) p(x k )]ϕ i (x k ) = 0, i = 1,..., n k=1 avulla. Yo. yhtälöryhmä voidaan esittää lyhyesti matriisimuodossa Ac = f, missä Gramin matriisin ja oikean puolen vektorin alkiot ovat m a ij = ϕ i, ϕ j = ϕ i (x k )ϕ j (x k ), i, j = 1,..., n f i = f, ϕ i = k=1 m f (x k )ϕ i (x k ), i = 1,..., n. k=1 Luento 8 () Numeeriset menetelmät 11.4.2013 27 / 35
Pienimmän neliösumman appr. jatkuu m [f (x k ) p(x k )]ϕ i (x k ) = 0, i = 1,..., n k=1 m f (x k )ϕ i (x k ) k=1 k=1 m p(x k )ϕ i (x k ) = 0, k=1 m p(x k )ϕ i (x k ) = k=1 m n c j ϕ j (x k ) ϕ i (x k ) = j=1 n m c j j=1 k=1 ϕ j (x k )ϕ i (x k ) = } {{ } a ij i = 1,..., n m f (x k )ϕ i (x k ) k=1 m f (x k )ϕ i (x k ) k=1 m f (x k )ϕ i (x k ) k=1 } {{ } f i Luento 8 () Numeeriset menetelmät 11.4.2013 28 / 35
Pienimmän neliösumman appr. jatkuu Kerroinmatriisi A R n n ja oikea puoli f R n voidaan esittää myös muodossa A = B T B, f = B Tˆf, missä matriisin B R m n ja vektorin ˆf R n alkiot ovat b ij = ϕ j (x i ), ˆf i = f (x i ). Luento 8 () Numeeriset menetelmät 11.4.2013 29 / 35
Pienimmän neliösumman appr. jatkuu Jos havaintopisteitä on yhtä monta kuin tuntemattomia parametreja (m = n), niin tehtävä palautuu interpolaatiotehtäväksi. Yleensä pienimmän neliösumman approksimaatiota käytetään tilanteissa joissa funktion arvot sisältävät epävarmuutta, kuten normaalijakautuneita mittausvirheitä. Tällöin halutaan sovittaa yksinkertainen malli suureen määrään mittaustuloksia, eli m > n. Luento 8 () Numeeriset menetelmät 11.4.2013 30 / 35
Esimerkki 5.16 Sovitetaan pienimmän neliösumman mielessä toisen asteen polynomi p 2 (x) = c 1 + c 2 x + c 3 x 2 pisteistöön Nyt x k 1 2 3 3 4 f (x k ) 2 2 3 5 6 m = 5 n = 3 ja kantafunktiot ovat (havaintopisteiden lukumäärä) (kantafunktioiden lukumäärä) ϕ 1 = 1, ϕ 2 = x, ϕ 3 = x 2. Luento 8 () Numeeriset menetelmät 11.4.2013 31 / 35
Esimerkki 5.15 Luku 5: Interpolointi ja approksimointi Matriisiksi B R m n ja vektoriksi ˆf R m saadaan: b ij = ϕ j (x i ), ϕ 1 = 1, ϕ 2 = x, ϕ 3 = x 2 ˆf i = f (x i ) ϕ 1 (x 1 ) ϕ 2 (x 1 ) ϕ 3 (x 1 ) 1 1 1 2 ϕ 1 (x 2 ) ϕ 2 (x 2 ) ϕ 3 (x 2 ) B = ϕ 1 (x 3 ) ϕ 2 (x 3 ) ϕ 3 (x 3 ) ϕ 1 (x 4 ) ϕ 2 (x 4 ) ϕ 3 (x 4 ) = 1 2 4 1 3 9 1 3 9, 2 ˆf = 3 5. ϕ 1 (x 5 ) ϕ 2 (x 5 ) ϕ 3 (x 5 ) 1 4 16 6 Luento 8 () Numeeriset menetelmät 11.4.2013 32 / 35
Esimerkki 5.16 jatkuu Siten tuntemattomat kertoimet {c j } polynomille p 2 (x) = c 1 + c 2 x + c 3 x 2 voidaan ratkaista yhtälöryhmästä B T Bc = B T ˆf 5 13 39 13 39 127 39 127 435 c 1 c 2 c 3 = 18 54 178 Pienimmän neliösumman polynomiksi saadaan siten (viiden numeron tarkkuudella) p 2 (x) = 2.2581 0.83871x + 0.45161x 2. Luento 8 () Numeeriset menetelmät 11.4.2013 33 / 35
Esimerkki 5.16 jatkuu 8 7 6 5 4 3 2 1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Datapisteet ja 2. asteen pienimmän neliösumman polynomi Luento 8 () Numeeriset menetelmät 11.4.2013 34 / 35
Approksimointi min f p Tasainen polynomiapproksimaatio f p = max f (x) p(x) a x b Pienimmän neliön approksimointi f p = f p, f p 1 2 ( b ) 1 = (f p) 2 2 a Pienimmän neliösumman appr. f p = f p, f p 1 2 = { m k=1 [ f (x k ) p(x k ) ] 2 } 1 2. Luento 8 () Numeeriset menetelmät 11.4.2013 35 / 35