Epälineaaristen yhtälöiden ratkaisumenetelmät Keijo Ruotsalainen Division of Mathematics
Perusoletus Lause 3.1 Olkoon f : [a, b] R jatkuva funktio siten, että f(a)f(b) < 0. Tällöin funktiolla on ainakin yksi nolla kohta välillä [a, b], ts. on olemassa α [a, b] siten, että f(α) = 0. Keijo Ruotsalainen Matematiikan jaos 2 / 41
Puolitusmenetelmä Algoritmi 3.1 1. Laske x mid = a+b 2. 2. Jos f(x mid )f(a) < 0, niin muutoin a = a b = x mid, a = x mid b = b. 3. Jos b a < ǫ, niin STOP; muutoin palaa kohtaan (1). Keijo Ruotsalainen Matematiikan jaos 3 / 41
Konvergenssinopeus Puolitusmenetelmässä k:n iteraation jälkeen nollakohta on välillä, jonka pituus on b a 2 k. Approksimaatio k:n iteraation jälkeen on : Virhe: x (k) b a mid α 0 2 k+1 Puolitusmenetelmä on siten globaalisti konvergoiva Kuinka monta askelta tarvitaan tarkkuuteen x (k) mid α ǫ? Vastaus: k log 2 ( b a ǫ ) 1 = log(b a ǫ ) 1. log(2) Keijo Ruotsalainen Matematiikan jaos 4 / 41
Kiintopisteiteraatio Määritelmä Luku α on funktion Φ(x) kiintopiste, jos α = Φ(α). Olkoon g(x) 0 kaikilla x [a, b]. Tällöin x [a, b] on funktion f( ) nollakohta täsmälleen silloin, kun se on funktion kiintopiste. Algoritmi 3.2 (Kiintopisteiteraatio) Φ(x) = x g(x)f(x) Määritellään lukujono (x n ) seuraavasti: 1. x (0) [a, b] 2. Kun x (k) on annettu, niin x (k+1) = Φ(x (k) ) 3. STOP, jos x (k+1) x (k) < ǫ. Keijo Ruotsalainen Matematiikan jaos 5 / 41
Kiintopisteiteraation geometria Esim. 1 Tutki kiintopisteiteraation suppenemista funktiolle φ(x) = 2.8x x 2. 2.5 2 0.1000 0.270 0.6831 1.4461 x = 1.9579 1.6488 1.8981 1.7119 1.8627 1.7459 1.5 1 0.5 0 0 0.5 1 1.5 2 2.5 Keijo Ruotsalainen Matematiikan jaos 6 / 41
Kiintopistelause Lause 3.2 Olkoon funktio Φ(x) jatkuva ja oletetaan, että Φ toteuttaa Lipschitz-ehdon: Φ(x) Φ(y) L x y, 0 < L < 1, suljetussa ja rajoitetussa joukossa [a, b]. Lisäksi oletetaan, että Φ([a, b]) [a, b]. Tällöin on olemassa yksikäsitteisesti määrätty kiintopiste x [a, b], ja kiintopisteiteraatiot suppenevat kohti kiintopistettä jokaisella alkuarvauksella x 0 [a, b]. Keijo Ruotsalainen Matematiikan jaos 7 / 41
Huomioita Reaalilukujono {x n n = 0,1,2,3,...} on Cauchy-jono, jos lim x m x k = 0. m,k Lause 3.3 Jokaisella reaalilukujen Cauchy-jonolla {x n n = 0,1,2,3,...} on raja-arvo, ts on x siten, että lim x n = x. n Keijo Ruotsalainen Matematiikan jaos 8 / 41
Kiintopistelauseen todistus Olkoon {x n n = 0,1,2,3,...} : x n+1 = φ(x n ). (1) Oletuksen (2) nojalla x n+j+1 x n+j = φ(x n+j ) φ(x n+j 1 ) L x n+j x n+j 1 (2) Kolmioepäyhtälö m 1 x n+m x n = L 2 x n+j 1 x n+j 2 L n+j x 1 x 0 j=0 [x n+j+1 x n+j ] 1. askel ja geometrisen sarjan summa m 1 lim m,n j=0 m 1 j=0 m 1 x n+j+1 x n+j lim m,n j=0 x n+j+1 x n+j. L n+j x 1 x 0 m 1 = lim L n+j 1 x 1 x 0 = lim m,n m,n LnLm L 1 x 1 x 0 = 0. j=0 Keijo Ruotsalainen Matematiikan jaos 9 / 41
Tod. jatkuu (3) Siten kiintopisteiteraatiojono on Cauchy-jono, ja siksi jonolla on raja-arvo α. Jatkuvuuden ja kiintopisteiteraation nojalla α = lim n x n+1 = lim n φ(x n) = φ( lim n x n) = φ(α). (4) Olkoon α 1 ja α 2 kaksi kiintopistettä. Tällöin α 1 α 2 = φ(α 1 ) φ(α 2 ) L α 1 α 2. Induktiivisesti jatkamalla saadaan, että kaikille n α 1 α 2 L n α 1 α 2 0, kun n. Keijo Ruotsalainen Matematiikan jaos 10 / 41
Virhe-arviot Lause 3.4 Olkoon (x n ) suppeneva kiintopisteiteraatiojono. Tällöin jonon alkioille on voimassa seuraavat virhe-arviot: A priori-arvio A posteriori-arvio Lipschitz-ehto on voimassa, jos x (k) x Lk 1 L x(1) x (0) x (k) x L 1 L x(k) x (k 1) Φ (x) L < 1, x [a, b]. Keijo Ruotsalainen Matematiikan jaos 11 / 41
Konvergenssiaste Määritellään aluksi kiintopisteiteraation konvergenssiaste: Määr. 3.2 Iteraatiojonon (x n ) konvergenssiaste on vähintäin p, jos missä lim sup k x n+1 x x n x p = K, 0 < K <, p > 1 K < 1, p = 1. Keijo Ruotsalainen Matematiikan jaos 12 / 41
Konvergenssiaste Lause 3.5 Kiintopisteiteraation konvergenssiaste on vähintäin k, jos kiintopisteessä on voimassa φ (j) (α) = 0, j = 1,...,k 1, φ (k) (α) 0. Merkitään e n = x n α x n+1 = α+e n+1 = φ(x n ) = φ(α+e n ). Taylorin kehitelmä α+e n+1 = φ(α)+φ (α)e n + + + 1 k! φ(k) (ζ)e k n. Virheen asymptoottinen kehitelmä e n+1 = 1 k! φ(k) (ζ)e k n. 1 (k 1)! φ(k 1) (α)en k 1 Keijo Ruotsalainen Matematiikan jaos 13 / 41
Newtonin menetelmä Oletukset f(x) on ainakin kaksi kertaa jatkuvasti differentioituva. Nollakohdan likiarvot x k, k = 0,1,...,n laskettu; Taylorin kehitelmä pisteen x n ympäristössä: f(x) = f(x n )+f (x n )(x x n )+ 1 2 f (ζ)(x x n ) 2 ; Jos x x n 2 << 1, niin funktion approksimaation nollakohta f(x n+1 ) = f(x n )+f (x n )(x n+1 x n ) = 0 on uusi "tarkempi"likiarvo. x n+1 = x n f(x n) f (x n ). Keijo Ruotsalainen Matematiikan jaos 14 / 41
Newtonin menetelmä Algoritmi 3.3 1. Alkuarvaus x 0 [a, b]; 2. n = 0,1,2, : x n+1 = x n f(xn) f (x n) ; 3. x n x n+1 < ǫ Lopeta; Newtonin menetelmä on kiintopisteiteraatio, jonka iteraatiofunktio F(ξ) = ξ f(ξ) f (ξ). Keijo Ruotsalainen Matematiikan jaos 15 / 41
Neliöjuuren lasku Luvun a > 0 neliöjuuri on toisen asteen polynomin f(x) = x 2 a positiivinen nollakohta; Newtonin iteraatio x k+1 = x k f(x k) f (x k ) = x k x2 k a = x k 2x k 2 + a 2x k Esimerkiksi 2:n iteraatiot, kun x 0 = 1: x k+1 = x k+ 2 x k 2 x 1 = 3 2 x 2 = 17 12 1.41 6 x 3 = 577 408 1.414215686 x 4 = 665857 470832 1.41421356 Keijo Ruotsalainen Matematiikan jaos 16 / 41
Esihistoriallinen laskentatapa 2:n approksimaatio viiden desimaalin tarkkuudella vain kolmen askeleen jälkeen. Menetelmä yksi matematiikan historian vanhimpia. Nuolenpääkirjoitustaulu YBC7289 (n. 1750 eaa.) löydettiin läheltä Baghdadia v. 1962. Neliöjuuren approksimaatio seksagesimaalijärjestelmässä (kantaluku 60) (1)(24)(51)(10) Muunnos desimaalijärjestelmään: 1+ 24 60 + 51 60 2 + 10 60 3 = 1.41421296 Babylonialaisten menetelmää ei varmuudella tiedetä; mutta uskottavasti he käyttivät Newtonin menetelmää. Heron Alexandrialainen; Metrica, 1. kirja (1. vuosisata). Keijo Ruotsalainen Matematiikan jaos 17 / 41
2 nuolenpääkirjoituksella = 1, <= 10 Keijo Ruotsalainen Matematiikan jaos 18 / 41
Newton-Ostrowskin lause Lause 3.6 Olkoon f : [a, b] R kolme kertaa jatkuvasti differentioituva välillä, ja s [a,b] funktion nollakohta siten, että f (s) 0. Silloin on olemassa väli I δ = [s δ,s +δ], δ > 0, jossa Newtonin menetelmän iteraatiofunktio F : I δ I δ on kontraktio, ja siten Newtonin menetelmä suppenee jokaisella alkuarvauksella x 0 I δ. Lisäksi konvergenssiaste on ainakin kaksi. Todistus sivuutetaan tällä kurssilla. Keijo Ruotsalainen Matematiikan jaos 19 / 41
Biasointipiirin toimintapiste Kuvion 1 biasointipiiri koostuu vastuksesta R, jännitelähteestä E ja tunnelidiodista D. Tunnelidiodin läpi kulkee virta j ja jännite-ero komponentin yli on v. Tunnelidiodin jännite-virta-ominaiskäyrä on g(v) = a(e bv 1) µv(v γ). Sovelluksissa tavallisesti parametrit R ja E valitaan siten, että jännite v on ominaiskäyrän vähenevällä osalla so. g (v) < 0. Tehtävänä on määrittää biasointipiirin toimintapiste v, kun E ja R on annettu. Kirchhoffin jännitelain nojalla päädytään yhtälöön g(v) E v R = 0. Määrää toimintapiste v, kun a = 10 12 [A], b = 40[V 1 ], µ = 10 3 [AV 2 ], γ = 0.4[V], E = 0.4[V], R = 1/3 10 4 [Ω]. Keijo Ruotsalainen Matematiikan jaos 20 / 41
Ominaiskäyrän kuvaaja 5 x 10 4 4 3 2 1 0 1 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 Keijo Ruotsalainen Matematiikan jaos 21 / 41
Aitkenin δ 2 -prosessi Funktion φ(x) kiintopisteiteraatiot {x n n N}ja α kiintopiste. Tällöin x n+2 α lim n x n+1 α = lim φ(x n+1 ) φ(α) = φ (α). n x n+1 α Riittävän suurilla n:n arvoilla Likiarvon korjaus: x n+2 α x n+1 α φ (α) x n+1 α x n α x n+2 x x n+1 x = x n+1 x x n x x = x n (x n+1 x n ) 2 x n+2 2x n+1 + x n. Keijo Ruotsalainen Matematiikan jaos 22 / 41
Aitkenin δ 2 -prosessi Algoritmi 3.4 1. x 0 alkuarvaus; 2. Lasketaan kiintopisteiteraatiolla lukujono (x n ) n 0 ; 3. Korjataan Aitkenin δ 2 -prosessilla uudet likiarvot Lause 3.7 z n = x n (x n+1 x n ) 2 x n+2 2x n+1 + x n. Oletetaan, että jono (x n ) n 0 suppenee lineaarisesti, ts. virheelle e n = x n x on voimassa: e n+1 qe n, q < 1. Tällöin Aitkenin δ 2 -prosessilla konstruoidulle jonolle on voimassa z n x lim n x n x = 0. Keijo Ruotsalainen Matematiikan jaos 23 / 41
Esimerkki Esim. 1 Ratkaise Aitkenin δ 2 -prosessilla funktion φ(x) = 1 2 sin(x)+ 1 4 kiintopisteen approksimaatio. Ratk.: Kiintopisteiteraatio: x k+1 = 1 2 sin(x k)+ 1 4, x 0 = 0; Aitkenin δ 2 -prosessi: z k = x k (x k+1 x k ) 2 x k+2 2x k+1 +x k Keijo Ruotsalainen Matematiikan jaos 24 / 41
Iteraatiot Kiintopisteiteraatio Aitken x 0 = 0 x 1 = 0.25 x 2 = 0.3737... z 0 = x 0 (x 1 x 0 ) 2 x 2 2x 1 +x 0 = 0.49486 x 0 = z 0 x 1 = 0.48475 x 2 = 0.48419 z 1 = x 0 (x 1 x 0 ) 2 x 2 2x 1 +x 0 = 0.49161 x 0 = z 1 x 1 = 0.48160522 x 2 = 0.4816012 z 2 = x 0 (x 1 x 0 ) 2 x 2 2x 1 +x 0 = 0.481598... Yhtälön tarkka ratkaisu: α = 0.481598... Kiintopisteiteraation virhe e = 0.0019358 Aitkenin δ 2 -prosessin virhe e δ = 2.445 10 11 Keijo Ruotsalainen Matematiikan jaos 25 / 41
Kiintopisteiteraatio Vektoriarvoisen kuvauksen kiintopiste x 1 Φ 1 (x 1,x 2,,x n ) x 2 x =. = Φ 2 (x 1,x 2,,x n ). = Φ(x) x n Φ n (x 1,x 2,...,x n ) Algoritmi 3.5 1. Alkuarvaus x (0) R n ; 2. Kaikille k 0 : x (k+1) = Φ(x (k) ) R n ; 3. If x (k+1) x (k) < ǫ, then STOP. Keijo Ruotsalainen Matematiikan jaos 26 / 41
Suppenemisehto Lause 3.8 Oletetaan, että seuraavat ehdot ovat voimassa 1. Suljettu ja rajoitettu joukko A R n s.e. 2. Lipschitz-ehto: kaikilla x, y A Φ(A) A; Φ(x) Φ(y) L x y < x y Tällöin joukossa A on olemassa yksikäsitteisesti määrätty kiintopiste x A, ja kiintopisteiteraatiot suppenevat. Keijo Ruotsalainen Matematiikan jaos 27 / 41
Huomioita Lipschitz-ehto on tosi, jos Φ:n funktionaalimatriisille l. derivaatalle Φ 1 (x) Φ Φ 2 (x) (x) =. Φ n (x) on voimassa Φ (x) L < 1, x A, jonkin matriisinormin suhteen (kts. liite A). Tämä on yhtäpitävä sen ehdon kanssa, että funktionaalimatriisin spektraalisäde ρ(φ (x)) < 1. Keijo Ruotsalainen Matematiikan jaos 28 / 41
Esim. kiintopisteiteraatiosta Esim. 2 Tutki, onko funktiolle [ ] 0.1x 2 F(x) = 1 + sin(x 2 ) cos(x 1 )+0.1x2 2 kiintopistelauseen ehdot voimassa suorakaiteessa D = {(x 1,x 2 ) 0.75 x 1 0.78, 0.77 x 2 0.8}, ja määrää funktion kiintopisteen approksimaatio. Keijo Ruotsalainen Matematiikan jaos 29 / 41
Yhtälöryhmä Yhtälöryhmä: F 1 (x 1,...,x n ) 0 F(x) =. =. F n (x 1,...,x n ) 0 Funktion F(x) derivaatta: F 1 (x) F. (x) = F i (x) =. F n (x) F 1 F 1 x 1 F 2 F 2 x 1. F n x 1 F 1 x n F 2 x n x 2... x 2........ F n x 2... F n x n Keijo Ruotsalainen Matematiikan jaos 30 / 41
Oletukset ja algoritmi Yhtälöryhmän ratkaisulle ζ R n : det(f (ζ)) 0. Algoritmi 3.6 1. Alkuarvaus x (0) R n ; 2. Ratkaise δx R n : F (x (k) )δx = F(x (k) ); 3. Uusi approksimaatio x (k+1) = x (k) +δx; 4. Lopetuskriteerio: δx < ǫ ja F(x (k+1) ) < ρ. Keijo Ruotsalainen Matematiikan jaos 31 / 41
Esimerkki Esim. 3 Etsi yhtälöryhmän x 2 + y 2 + 0.6y 0.16 = 0 x 2 y 2 + x 1.6y 0.14 = 0 likiratkaisu pisteen (x 0,y 0 ) = (0.6,0.25) ympäristöstä. Ratkaisu: Funktion F(x,y) = ( x 2 + y 2 ) + 0.6 y 0.16 x 2 y 2 + x 1.6y 0.14 derivaatta pisteessä (x, y) on ( ) F 2x 2y + 0.6 (x,y) = 2x + 1 2y 1.6 Keijo Ruotsalainen Matematiikan jaos 32 / 41
1. iteraatio 1. iteraatio: Ratkaistaan yhtälöryhmä ( )( ) ( ) F 1.2 1.1 ξ0 0.4125 (x 0,y 0 )δx = = = F(x 2.2 2.1 η 0 0.3575 0,y 0 ) ( ) ( ) ξ0 0.254960 =. 0.096862 η 0 Uusi approksimaatio on siten ( ) ( ) x1 x0 = + y 1 y 0 ( ξ0 η 0 ) = ( ) 0.345040 0.153138 Keijo Ruotsalainen Matematiikan jaos 33 / 41
2. iteraatio 2. iteraatio F (x 1,y 1 )δx = F(x 1,y 1 ) ( )( ) ( ) 0.690081 0.90627 ξ1 0.0743867 = 1.690081 1.90627 η 1 0.0556220 ( ) ( ) ξ1 6.75094 10 2 = 3.06747 10 2. Uusi approksimaatio on siten ( ) ( ) x2 x1 = + y 2 y 1 η 1 ( ξ1 η 1 ) = ( ) 0.2775310555 0.1224629827 Keijo Ruotsalainen Matematiikan jaos 34 / 41
Loput iteraatiot k x k y k ξ k η k 0 0.6 0.25-2.54960 10 1-9.68623 10 2 1 0.3450404858 0.1531376518-6.75094 10 2-3.06747 10 2 2 0.2775310555 0.1224629827-5.64594 10 3-2.79860 10 3 3 0.2718851108 0.1196643843-4.06023 10 5-2.10056 10 5 4 0.27188445085 0.1196433787-2.1579 10 9-1.1043 10 9 5 0.2718845063 0.1196433776 Keijo Ruotsalainen Matematiikan jaos 35 / 41
Ostrowski n lause Lause 3.9 Olkoon funktion F(x) koordinaattifunktiot kolmesti jatkuvasti differentioituvia suorakaiteessa A = {x R n a i x i b i }, joka sisältää F:n nollakohdan, ja funktionaalimatriisi F (x) on säännöllinen matriisi nollakohdassa. Silloin Newtonin menetelmä suppenee kvadraattisesti kohti nollakohtaa, jos alkuarvaus on riittävän hyvä: x (k+1) ζ lim k x (k) ζ 2 = α <. Keijo Ruotsalainen Matematiikan jaos 36 / 41
Yksinkertaistettu Newtonin menetelmä Newtonin menetelmässä ratkaistaan lineaarinen yhtälöryhmä jokaisella iteraatiokierroksella. Jos jono (x (k) ; k = 0,1,2,...) suppenee ja funktio F(x) on riittävän sileä, niin lim k F (x (k) ) = F (x) Riittävän suurilla k:n arvoilla F (x (m) ) F (x (k) ), m = k + 1,k + 2,... Näin ollen seuraavan algoritmin käyttö on perusteltua Algoritmi 3.7 1. Alkuarvaus x (0) R n ; 2. Ratkaise δx R n : F (x (0) )δx = F(x (k) ); 3. Uusi approksimaatio x (k+1) = x (k) +δx; 4. Lopetuskriteerio: δx < ǫ ja F(x (k+1) ) < ρ. Keijo Ruotsalainen Matematiikan jaos 37 / 41
Esimerkki Esim. 4 Etsi yhtälöryhmän x 2 + y 2 + 0.6y 0.16 = 0 x 2 y 2 + x 1.6y 0.14 = 0 likiratkaisu yksinkertaistetulla Newtonin menetelmällä pisteen (x 0,y 0 ) = (0.3,0.1) ympäristöstä. Ratkaisu: Funktio ja sen derivaattamatriisi ovat kuin edellisessä esimerkissä. Jokaisella iteraatiolla ratkaistavan yhtälöryhmän kerroinmatriisi on ( ) F 0.6 0.8 (x 0,y 0 )δx =. 1.6 1.8 Keijo Ruotsalainen Matematiikan jaos 38 / 41
1. iteraatio Ratkaistaan yhtälöryhmä F (x 0,y 0 )δx = F(x 0,y 0 ) ( )( ) ( ) 0.6 0.8 ξ0 0 = 1.6 1.8 η 0 0.08 ( ) ( ) ξ0 2.71186 10 2 = 2.03390 10 2. Uusi approksimaatio on siten ( ) ( ) x1 x0 = + y 1 y 0 ( ξ0 η 0 η 0 ) = ( ) 0.2728813559 0.1203389831 Keijo Ruotsalainen Matematiikan jaos 39 / 41
2. iteraatio F (x 0,y 0 )δx = F(x 1,y 1 ) ( )( ) ( ) 0.6 0.8 ξ1 0.001149095 = 1.6 1.8 η 1 0.000321746 ( ) ( ) ξ1 9.85495 10 4 = 6.97248 10 4. Uusi approksimaatio on siten ( ) ( ) x2 x1 = + y 2 y 1 ( ξ1 η 1 η 1 ) = ( ) 0.2718958608. 0.1196417355 Keijo Ruotsalainen Matematiikan jaos 40 / 41
Loput iteraatiot k x k y k ξ k η k 0 0.3 0.1-2.71186 10 2 2.03390 10 2 1 0.2728813559 0.1203389831-9.85495 10 4-6.97248 10 4 2 0.2718958608 0.1196417355-4.81441 10 5 2.92648 10 6 3 0.2718477167 0.1196446620-3.03256 10 6-1.25483 10 6 4 0.2718446841 0.1196434072-1.67246 10 7-2.64407 10 8 5 0.2718845169 0.1196433808-9.9322 10 9-3.0508 10 9 6 0.27188445070 0.1196433777 Keijo Ruotsalainen Matematiikan jaos 41 / 41