2 Interpolointi Olkoon annettuna n+1 eri pistettä x 0, x 1, x n R ja n+1 lukua y 0, y 1,, y n Interpoloinnissa etsitään funktiota P, joka annetuissa pisteissä x 0,, x n saa annetut arvot y 0,, y n, (21) P (x j ) = y j, 0 j n Myöhemmin tarkasteltavissa approksimointiongelmissa etsitään funktiota P, jolle virhe P (x j ) y j, 0 j n, on pieni Yksinkertaisimmassa lineaarisessa interpoloinnissa n = 1 ja etsitään funktiota P, joka kahdessa annetussa pisteessä x 0 ja x 1 saa annetut arvot y 0 ja y 1, ts jonka kuvaaja kulkee annettujen pisteiden (x 0, y 0 ) ja (x 1, y 1 ) kautta Eräs ratkaisu, luonnollisin, on näiden pisteiden kautta kulkeva suora, ts P (x) = y 1 y 0 x 1 x 0 (x x 0 ) + y 0 = y 1 (x x 0 ) x 1 x 0 + y 0 (x x 1 ) x 0 x 1 21 Lagrangen interpolaatiopolynomi [4, luku 5, AII], [11, 91], [12, luku 8], [7, 52 53], [5, luku IX, liite] Osoitetaan seuraavaksi, että interpolaatio-ongelma voidaan aina ratkaista polynomien avulla Osoitetaan aluksi, että on olemassa polynomi L j, joka pisteessä x j saa arvon yksi, ja arvon nolla muissa pisteissä x k, k j Tätä varten olkoon P j (x) := k j(x x k ) = (x x 0 ) (x x 1 ) (x x j 1 ) (x x j+1 ) (x x n ) Tällöin P j (x k ) = 0, kun k j, ja P j (x j ) = k j (x j x k ) 0, koska pisteet x k ovat keskenään erisuuria Asetetaan (22) L j (x) := P j(x) P j (x j ) = x x k x j x k k j Tällöin L j (x k ) = 0, kun k j, ja L j (x j ) = 1 Alkuperäiselle interpolaatio-ongelmalle saadaan nyt ratkaisu n (23) P (x) := y j L j (x) j=0 Tätä polynomia kutsutaan pisteiden (x 0, y 0 ),, (x n, y n ) määräämäksi Lagrangen interpolaatiopolynomiksi Koska jokaisen polynomin L j aste on n, on n + 1 pisteen määräämän Lagrangen interpolaatiopolynomin aste enintään n Osoitetaan seuraavaksi, että n + 1 pisteen interpolaatio-ongelmalla on ainoastaan yksi enintään astetta n oleva polynomiratkaisu Olkoot P ja Q polynomeja, joille deg P n ja P (x j ) = y j, kun 0 j n, sekä deg Q n ja Q(x j ) = y j, kun 0 j n Olkoon R := P Q Tällöin R on polynomi, jonka aste on enintään n ja joka saa arvon R(x j ) = P (x j ) Q(x j ) = y j y j = 0 n + 1 eri pisteessä Tämä on mahdollista vain, kun R(x) 0, ts P = Q Kirjataan edellisten päätelmien yhteenvetona 7 Viimeksi muutettu 1012012 14
Lause 21 Olkoot x 0, x 1, x n R keskenään erisuuria ja y 0, y 1,, y n R Tällöin on olemassa yksi ja vain yksi polynomi P siten, että deg P n ja P (x j ) = y j, kun 0 j n Huomautus 22 Edellisissä laskuissa, joilla määrättiin polynomit L j ja interpolaatio-ongelman ratkaiseva Lagrangen interpolaatiopolynomi P, käytettiin ainoastaan yhteen-, vähennys-, kerto- ja jakolaskua Näinollen vastaavat päättelyt voidaan tehdä, vaikka reaalilukujen kunnan R tilalla olisi mikä tahansa kunta F Siis: Olkoon F kunta, x 0, x 1, x n F keskenään erisuuria ja y 0, y 1,, y n F Tällöin on olemassa yksi ja vain yksi F-kertoiminen polynomi P siten, että deg P n ja P (x j ) = y j, kun 0 j n Kun tätä sovelletaan erityisesti äärelliseen kuntaan Z p = Z/p Z (p alkuluku, tai Galois n kuntaan F q, missä q = p d, p alkuluku ja d positiivinen kokonaisluku), saadaan menetelmä, jota voidaan käyttää salaisuuden jakamiseen Oletetaan, että alkio a 0 F pitäisi jakaa n + 1 henkilölle niin, että kaikki yhdessä pystyvät suureen a 0 selvittämään, mutta mikään enintään n henkilön osajoukko ei (muuten kuin käymällä läpi kaikki kunnan F alkiot) Tämä voidaan tehdä seuraavasti: Valitaan satunnaisesti n + 1 keskenään erisuurta, nollasta eroavaa alkiota x 0, x 1, x n F ja satunnaiset a 1,, a n F Asetetaan P (x) := a n x n + a n 1 x n 1 + + a 1 x + a 0, ja y j := P (x j ), 0 j n Henkilölle j annetaan (x j, y j ) Kun kaikki tieto (x j, y j ), 0 j n, on käytettävissä, saadaan polynomi P selville Lagrangen interpolaatiopolynomina ja salattu suure a 0 = P (0) Harjoitustehtäväksi jää selvittää, miksi yhdenkin tiedon (x j, y j ) puuttuessa polynomia P ei saada selville Täsmällisemmin tätä voidaan lähestyä seuraavasti: Oletetaan, että (x j, y j ), 0 j n 1, on käytettävissä, mutta (x n, y n ) ei ole Jokaiselle c F olkoon Q c polynomi, jolle deg Q c n, Q c (x j ) = y j, kun 0 j n 1, ja Q c (0) = c Tässä siis interpolaatiodatan viimeisen parin (x n, y n ) tilalle on vaihdettu (0, c) Etsittyä polynomia P vastaa tapaus c = a 0 Koska n + 1 pisteen data määrää polynomin P yksikäsitteisesti, on P = Q a0, ja eri arvoja c F vastaavat polynomit Q c ovat eri polynomeja (onhan Q c (0) = c) Näin konstruoituja polynomeja Q c on siis täsmälleen yhtä monta kuin kunnassa F on alkioita Kun kunnan F alkioiden lukumäärä on riittävän iso, on polynomin P määrääminen puutteellisen datan avulla kuin neulan etsimistä heinäsuovasta Edellistä salaisuuden jakomentelmää on helppo muuntaa siten, että salaisuus a 0 F jaetaan n+1 henkilölle niin, että mikä tahansa k +1 henkilön ryhmä, k n, pystyy suureen a 0 selvittämään, mutta mikään pienempi osajoukko ei 22 Virheen arviointi Interpolointia voidaan käyttää myös annetun funktion likiarvojen määräämiseen seuraavasti: 8 Olkoot I R väli ja f : I R annettu 8 Interpolointi on aikoinaan syntynyt tarpeesta laskea hankalien funktioiden arvoja taulukkoarvojen (vrt [1]) väliin jäävissä pisteissä Jos min{x 0, x 1, x n } < x < max{x 0, x 1, x n }, on P (x) funktiolle f interpoloitu arvo, ja jos x [min{x 0, x 1, x n }, max{x 0, x 1, x n }], on P (x) funktiolle f extrapoloitu arvo 15
funktio Olkoot x 0, x 1, x n I keskenään erisuuria ja y j := f(x j ), 0 j n Soveltamalla Lagrangen interpolaatiomenetelmää pisteisiin (x j, y j ), 0 j n, saadaan polynomi P, jolle P (x j ) = f(x j ), 0 j n Kuinka suuri virhe tehdään, jos välillä I funktion f sijasta käytetään polynomia P, ts kuinka suuri on f(x) P (x)? Esimerkki 23 Olkoot f : [ 1, 1] R, f(x) := cos(π x) ja {x 0, x 1,, x 4 } = { 1, 1, 0, 1, 1} Tällöin {y 2 3 3 2 0, y 1,, y 4 } = {0, 1, 1, 1, 0} ja 2 2 18 x4 49 x2 P (x) = 5 10 + 1 Seuraavasta kuvasta ilmenee, että erotus f(x) P (x) on pieni ainakin osalla väliä [ 1, 1]: 16 1 cos(%pi*x) 18*x 4 /5-49*x 2 /10+1 05 0-05 -1-1 -05 0 05 1 Lause 24 Olkoot I R väli, x 0, x 1, x n I keskenään erisuuria ja f : I R C n+1 -funktio Olkoon P pisteiden (x j, f(x j )), 0 j n, määräämä Lagrangen interpolaatiopolynomi Tällöin jokaiselle x I on olemassa ξ x I siten, että 9 missä L(x) := f(x) P (x) = f (n+1) (ξ x ) (n + 1)! x L(x), n (x x k ) = (x x 0 ) (x x 1 ) (x x n ) k=0 Todistus Jos x on jokin pisteistä x j, häviävät väitetyn kaavan molemmt puolet Kiinnitetään piste x niin, että x x j kaikille j {0, 1,, n} Asetetaan F (t) := f(t) P (t) c L(t), missä luku c valitaan niin, että F (x) = 0, ts c := f(x) P (x) L(x) 9 Piste ξ x sijaitsee suppeimmalla pisteiden x, x 0, x 1, x n määräämällä välillä, ts min{x, x 0, x 1, x n } < ξ x < max{x, x 0, x 1, x n }
Interpolaatio-ominaisuuden nojalla kaikille j {0, 1,, n} on F (x j ) = f(x j ) P (x j ) c L(x j ) = 0 Soveltamalla Rollen lausetta pisteiden x, x 0, x 1, x n määräämiin n + 1 osaväliin nähdään, että derivaatalla F on nollakohta jokaiselle näistä osaväleistä, ts derivaatalla F on ainakin n+1 eri nollakohtaa pisteiden x, x 0, x 1, x n määräämällä välillä Toistamalla tämä päättely derivaatan F nollakohtien määräämiin n osaväliin nähdään, että toisella derivaatalla F on ainakin n eri nollakohtaa Induktiolla (jonka yksityiskohdat jätetään lukijan tehtäväksi) nähdään, että derivaatalla F (n+1) on ainakin yksi nollakohta pisteiden x, x 0, x 1, x n määräämällä välillä Olkoon ξ x jokin näistä nollakohdista Lasketaan funktion F kertaluvun n + 1 derivaatta tässä pisteessä Koska P on polynomi, jonka aste on enintään n, on P (n+1) (t) = 0 Polynomi L on astettta n + 1 ja sen johtava termi on x n+1, joten L (n+1) (t) = (n + 1)! Siis 0 = F (n+1) (ξ x ) = f (n+1) (ξ x ) P (n+1) (ξ x ) c L (n+1) (ξ x ) = f (n+1) (ξ x ) c (n + 1)! Kun tähän sijoitetaan vakion c arvo, saadaan f(x) P (x) = c L(x) = f (n+1) (ξ x ) (n + 1)! L(x) Esimerkki 25 Jatketaan edellisen esimerkin tarkastelua Funktion f kertaluvun n + 1 = 5 derivaatta on f (5) (x) = π 5 sin(π x) Polynomi L(x) = (x + 1 2 ) (x + 1 3 ) x (x 1 3 ) (x 1 2 ) = x (x2 1 9 ) (x2 1 4 ) Virheelle f(x) P (x) saadaan siis yläraja π5 L(x) Seuraavaan kuvaan on piirretty 5! virhe f(x) P (x) ja sen yläraja π5 L(x) välillä [ 1, 1]: 5! 2 2 0008 0006 cos(%pi*x)-18*x 4 /5+49*x 2 /10-1 %pi 5 *x*(1/4-x 2 )*(x 2-1/9)/120 17 0004 0002 0-0002 -0004-0006 -0008-04 -02 0 02 04 x 23 Rungen ilmiö Olkoot f : I R jatkuva funktio ja P n pisteiden (x j, f(x j )), 0 j n, määräämä Lagrangen interpolaatiopolynomi (I R väli, x 0, x 1, x n I keskenään erisuuria) Kun n on iso ja pisteet x 0, x 1, x n I ovat tiheässä, voisi jatkuvuuden nojalla olettaa, että polynomin P n arvot ovat kaikkialla lähellä funktion f arvoja; pisteissä x 0, x 1, x n arvot ovat samat ja jatkuvuuden nojalla funktion f arvo pisteen x j
18 2 0-2 -4-6 -8-10 -12-14 -16-4 -2 0 2 4 x Kuva 21 Rungen ilmiö funktiolle f(x) = 1 1+x 2 Kuvassa n = 16 lähellä ei poikkea paljoa arvosta f(x j ) = P n (x j ) Näin ei kuitenkaan ole Funktion differentioituus ei tässä auta lainkaan Esimerkiksi funktiolle f : R R, f(x) := 1 1 + x 2, välille I := [ 5, 5] ja pisteille x n,j := 5 + j 10, 0 j n, on n sup f(x) P n (x), kun n x I Tämä interpoloinnin ei-approksimointiominaisuus tunnetaan Rungen ilmiönä Huomaa, että tässä f on C -funktio 10 ja pisteet x n,j, 0 j n, ovat tasaväliset Todistuksen osalta katso [13, luku 6, 34] tai [5, luvun IX liite] 24 Newtonin interpolaatiomenetelmä Jos interpolointiin käytettyä pisteistöä (x 0, y 0 ),, (x n, y n ) laajennetaan, joudutaan Lagrangen interpolaatiopolynomin määräämiseksi tarvittavat polynomit P j ja L j laskemaan täysin uudestaan Newtonin interpolaatiomenetelmä ratkaisee saman interpolaatio-ongelman kuin Lagrangen interpolaatiopolynomi, mutta pisteistön laajentamisen suhteen Newtonin menetelmä on joustavampi Jos interpolaatiopisteitä on vain yksi, piste (x 0, y 0 ), interpolaatiopolynomi on vakiopolynomi N 0 (x) y 0 Jos interpolaatiopisteitä on kaksi, pisteet (x 0, y 0 ) ja (x 1, y 1 ), interpolaatiopolynomi on muotoa N 1 (x) = y 0 + a 1 (x x 0 ) Pisteessä x 0 polynomin N 1 arvo on y 0, ja jotta N 1 (x 1 ) = y 1, kertoimen a 1 on oltava (y 1 y 0 )/(x 1 x 0 ) Jos interpolaatiopisteistöön lisätään kolmas piste (x 2, y 2 ), interpolaatiopolynomi on muotoa N 2 (x) = y 0 + a 1 (x x 0 ) + a 2 (x x 0 ) (x x 1 ) Pisteissä x 0 ja x 1 polynomi N 2 saa arvot y 0 ja y 1, ja jotta N 2 (x 2 ) = y 2, kertoimen a 2 on oltava (y 2 y 0 a 1 (x 2 x 0 ))/((x 1 x 0 ) (x 2 x 1 )) 10 Itse asiassa f on vieläpä reaalianalyyttinen: sen Taylorin sarja minkä tahansa pisteen suhteen suppenee kohti funktiota f Jälkimmäisessä viitteessä [5, luvun IX liite] Rungen ilmiötä tarkastellaan kompleksianalyysin apuvälinein
19 Newtonin interpolaatiopolynomi pisteille (x 0, y 0 ),, (x n, y n ) on (24) N n (x) := a 0 + a 1 (x x 0 ) + a 2 (x x 0 ) (x x 1 ) + + a n (x x 0 ) (x x 1 ) (x x n 1 ) Kertoimet a 0, a 1, a 2,, a n määrätään seuraavan yhtälöryhmän mukaisesti: y 0 = a 0 y 1 = a 0 + a 1 (x 1 x 0 ) y 2 = a 0 + a 1 (x 2 x 0 ) + a 2 (x 2 x 0 ) (x 2 x 1 ) y n = a 0 + a 1 (x n x 0 ) + a 2 (x n x 0 ) (x n x 1 ) + + a n (x n x 0 ) (x n x 1 ) (x n x n 1 ) Tämän yhtälöryhmän lukemista helpottaa, sen n viimeistä riviä esitetään erotusosamäärinä y 0 = a 0 y 1 y 0 x 1 x 0 = a 1 y 2 y 0 x 2 x 0 = a 1 + a 2 (x 2 x 1 ) y n y 0 = a 1 + a 2 (x n x 1 ) + + a n (x n x 1 ) (x n x n 1 ) x n x 0 Yhtäpitävästi polynomin N n määräävät ehdot N n (x 0 ) = y 0 ja erotusosamääräpolynomi N n (x) y 0 x x 0 = a 1 + a 2 (x x 1 ) + + a n (x x 1 ) (x x n 1 ) =: Ñ n 1 (x), ts Ñn 1 on pisteisiin (x j, y j y 0 x j x 0 ), 1 j n, liittyvä Newtonin interpolaatiopolynomi Tämä mahdollistaa Newtonin interpolaatiopolynomin määräämisen rekursiivisesti Jos pisteet (x 0, y 0 ),, (x n, y n ) ovat tasaväliset, x j = x 0 +j h, voidaan yllä esitetty erotusosamääräkaavio täydentää seuraavasti: Merkitään y j := y j+1 y j, 2 y j := y j+1 y j,, 3 y j := 2 y j+1 2 y j, jne
20 Esitetään erotukset k y j kaaviona y 0 y 0 y 1 2 y 0 y 1 3 y 0 y 2 2 y 1 y 2 3 y 1 y 3 2 y 2 y 3 y n 1 y n 1 y n Tällöin a j = 1 j y j! h j 0 (todistus induktiolla/ht) Kun piste x esitetään muodossa x = x 0 + h ξ, vastaa väliä x 0 x x n väli 0 ξ n, ja x x j = h (ξ j) Siis (x x 0 )(x x 1 ) (x x j ) = ξ(ξ 1) (ξ j) h j+1 Newtonin interpolaatiopolynomi saa siis muodon ( ) ξ N n (x) = N n (x 0 + h ξ) = y 0 + y 0 + 1 ( ξ 2 ) 2 y 0 + + ( ) ξ n y 0 n Ks [4, luku 5, AII], [9, luku 6, 2], [10, luku 1, 1] Jos pisteet (x 0, y 0 ),, (x n, y n ) eivät ole tasaväliset, erotusosamäärille käytettävät merkinnät vaihtelevat paljon Jos kyse on funktion f arvojen y j = f(x j ) interpoloinnista, käytetään merkintöjä ([9, luku 6, 2]) f(x j, x j+1 ) = f(x j) f(x j+1 ) x j x j+1, f(x j, x j+1, x j+2 ) = f(x j, x j+1 ) f(x j+1, x j+2 ) x j x j+2, jne tai ([12, 23]) f[x j, x j+1 ] = f(x j) f(x j+1 ) x j x j+1, f[x j, x j+1, x j+2 ] = f[x j, x j+1 ] f[x j+1, x j+2 ] x j x j+2, jne Jos kyse on vain pisteistöstä (x 0, y 0 ),, (x n, y n ), käytetään merkintöjä (joissa tosin x-arvot eivät näy lainkaan) [y j, y j+1 ] = y j y j+1 x j x j+1, [y j, y j+1, y j+2 ] = [y j, y j+1 ] [y j+1, y j+2 ] x j x j+2, jne 25 Hermiten interpolaatiomenetelmä [9, luku 6, 2] Kun Lagrangen interpolaatiomenetelmässä määrätään usean eri pisteen kautta kulkeva polynomi, voidaan Taylorin polynomeja pitää yhden pisteen korkeamman kertaluvun interpolaationa Kurssilla Analyysi 3 [A3] Taylorin polynomeja tosin käsitellään enemmän approksimaatio-ominaisuuteensa nojaten, mutta ne voidaan määritellä seuraavastikin: Olkoon f välillä (a, b) n kertaa differentioituva funktio ja x 0 (a, b) Funktion f n Taylorin polynomi on enintään astetta n oleva polynomi T, jolle D k T (x 0 ) = D k f(x 0 ), kun 0 k n Hermiten interpolaatiopolynomi yhdistää Lagrangen interpolaatiopolynomin ja Taylorin polynomin omminaisuudet seuraavasti:
Olkoon annettuna n + 1 eri pistettä x 0, x 1, x n R ja jokaista pistettä x j kohti olkoon annettuna luku r j Z + ja luvut y j,d, 0 d r j 1 On määrättävä polynomi H siten, että (25) D d H(x j ) = y j,d, kun 0 d r j 1 ja 0 j n Tällaisen polynomin H konstruoimiseksi mentellään vastaavalla tavalla kuin Lagrangen interpolaatiopolynomin kohdalla Määrätään polynomit H j siten, että D d H j (x j ) = y j,d, kun 0 d r j 1, ja D d H j (x k ) = 0 kun k j Tällöin polynomilla H := n j=0 H j on vaaditut ominaisuudet Polynomit H j määräämiseksi asetetaan Q j (x) := k j(x x k ) r k 21 Olkoon P j (x) := a j,0 + a j,1 (x x j ) + +a j,2 (x x j ) 2 + + a j,rj 1 (x x j ) r j 1 Tässä kertoimet a j,d määrätään niin, että vaadittu derivaattaehto toteutuu polynomille H j := P j Q j Koska Q j (x j ) = k j (x j x k ) r k 0 ja Pj (x j ) = a j,0, kerroin a j,0 määräytyy ehdosta a j,0 Q j (x j ) = y j,0 Oletetaan nyt, että kertoimet a j,0,, a j,d 1 on määrätty niin, että D c (P j Q j )(x j ) = y j,c, kun 0 c d 1 Koska D c P j (x j ) = c! a j,c, saadaan tulon derivoimiskaavalla 11 d 1 ( ) d D d (P j Q j )(x j ) = d! a j,d Q j (x j ) + D c P j (x j ) D d c Q j (x j ) c Koska tässä Q j (x j ) 0 ja D c P j (x j ) = c! a j,c, 0 c d 1, tunnetaan, voidaan kerroin a j,d määrätä niin, että D d (P j Q j )(x j ) = y j,d Edellisestä konstruktiosta käy ilmi, että polynomin H j aste on enintään r j 1 + k j r k = n k=0 r k 1 Vastaavaan tapaan kuin Lagrangen interpolaatiopolynomin voidaan osoittaa, että jos Hermiten interpolaatiopolynomille asetetaan lisäehto n deg H r k 1, niin ehdot (25) määräävät tällaisen polynomin yksikäsitteisesti k=0 Lause 26 Olkoot I R väli, x 0, x 1, x n I keskenään erisuuria Jokaiselle j {0,, n} olkoot r j Z +, r; = n k=0 r k 1, f : I R C r+1 -funktio ja c=0 y j,d := D d f(x j ), 0 d r j 1 Olkoon H arvojen (x j, y j,d ) määräämä Hermiten interpolaatiopolynomi 11 D d (f g)(x) = d c=0 ( d c) D c f(x) D d c g(x)
22 Tällöin jokaiselle x I on olemassa ξ x I siten, että f(x) P (x) = f (r+1) (ξ x ) n (x x k ) r k (r + 1)! Todistuksen osalta ks [9, luku 6, 2] k=0