1 / 40 regula Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
regula 1 2 3 4 5 regula 6 7 8 2 / 40
2 / 40 regula Iterační pro nelineární e Bud f reálná funkce jedné reálné proměnné. Budeme hledat řešení e f (x) = 0. se skládá ze dvou kroků: separace nekonvergují globálně, tj. pro libovolné x 0, jako pro linerání soustavy nejprve tedy musíme najít interval nebo intervaly, tak že obsahují vždy jen jeden kořen e výpočet kořene se zadanou přesností Kořen e budeme značit jako α.
3 / 40 regula separaci dokážeme provést jen pro algebraické e např. pomocí Sturmových posloupností viz Wikipedie, Numerical Recipes. obecně to ale nejde a musíme mít nějaký předběžný odhad podle řešené úlohy bez něj často nejsme schopní tyto e řešit To, že separaci lze provést a za jakých podmínek, říká následující věta:
4 / 40 regula Theorem 1 Necht f je reálná funkce jedné reálné proměnné, spojitá na intervalu < a, b > a necht f (a)f (b) < 0. Potom e f (x) = 0 má na (a, b) alespoň jeden kořen a pokud navíc f (x) na (a, b) nemění znaménko, pak je tento kořen jediný. budeme konstruovat posloupnost {x k } k=1, která bude konvergovat ke kořenu e
5 / 40 Výpočet kořene - regula nejjednodušší pro výpočet kořene je pomalá, ale poměrně dost robustní konstrujeme posloupnost krajních mezí intervalů < l k, r k >, ve kterém se nachází kořen každý následující interval má poloviční délku toho předchozího
6 / 40 regula volíme l 0 = a a r 0 = b v každé iteraci pak počítáme Výpočet kořene - x k = l k + r k, 2 { xk pokud sign f (x l k+1 := k ) = sign f (l k ), l k jinak { xk pokud sign f (x r k+1 := k ) = sign f (r k ), r k jinak
7 / 40 Výpočet kořene - regula označíme-li I k =< l k, r k >, pak vždy platí, že α I k a α x k I k = b a 2 k 0
8 / 40 regula Výpočet kořene - Example 2 Použijte metodu pro nalezení kořene polynomu x 3 + 4x 2 10 v intervalu < 1, 2 > (α 1.3652). k l k r k f (l k ) f (r k ) x k f (x k ) 1 1.0 2.0 5.0 14.0 1.5 2.375 2 1.0 1.5 5.0 2.375 1.25 1.796875 3 1.25 1.5 1.796875 2.375 1.375 0.162109375 4 1.25 1.375 1.796875 0.162109375 1.3125 0.848388671875
9 / 40 regula Výpočet kořene - Remark 3 koverguje i pro úlohu tan x = 0, pro l 0 = 1, r 0 = 3. Posloupnost x k konverguje k π 2, což ale samozřejmě není kořen. V této úloze jsme ale porušili předpoklad spojitosti funkce f (x) na odseparovaném intervalu.
10 / 40 regula Iterativní pro hledání abychom urychlili konvergenci, využijeme více informací o funkci f, než jen její znaménko v bodě x k máme-li určité x k, ptáme se, jak nejlépe ho změnit, aby se nové x k+1 co nejlépe přiblížilo k α pokud je f diferencovatelná, pak platí 0 = f (α) = f (x k ) + f (ξ) (α x k ), α x k = f (x k) f (ξ), α = x k f (x k) f (ξ) f (ξ) ale neznáme, lze ho napočítat jen přibližně označme aproximaci f (ξ) jako q k dostáváme obecný předpis x k+1 = ϕ (x k ) = x k f (x k) q k.
11 / 40 Iterativní pro hledání regula vidíme, že platí ϕ (α) = α otázka je, za jaké podmínky bude s tímto předpisem konvergovat
12 / 40 regula Iterativní pro hledání Theorem 4 Necht platí ϕ (α) = α, ϕ je diferencovatelná na okolí V = {x R x α r} < α r, α + r >, a necht pro všechna x V je ϕ (x) K < 1. Potom posloupnost {x k } k=1 daná vztahem x k+1 = ϕ (x k ), konverguje k α pro libovolné x 0 V.
13 / 40 regula Iterativní pro hledání Remark 5 Je-li ϕ (x) spojitá na nějakém okolí α, pak posloupnost {x k } k=1 konverguje, je-li ϕ (α) < 1. Definition 6 Řekneme, že iterativní daná vztahem x k+1 = ϕ (x k ) má řád konvergence m, jestliže platí x k+1 α C x k α m.
14 / 40 regula Iterativní pro hledání Remark 7 Necht ϕ má na okolí α spojité derivace do řádu m včetně (tj. ϕ C (m) (H α )) a platí a ϕ (α) = ϕ (α) =... = ϕ (m 1) (α) = 0, ϕ (m) (x) 0, na H α. Pak pro libovolne x k H α platí x k+1 α = ϕ (x k ) ϕ (α) = = ϕ (α) (x k α) +... + ϕ(m 1) (α) (x k α) m 1 (m 1)! + ϕ(m) (ξ) (x k α) m m! = ϕ(m) (ξ) (x k α) m. m!
15 / 40 regula Iterativní pro hledání Remark 8 Bud funkce f C (1) (R) a necht f (α) 0. Pak platí: a tedy f (x k ) = f (α) +f (ξ)(x }{{} k α) =0 x k α f (x k) f (ξ) C f (x k). Jako odhad chyby a zároveň kritérium pro zastavení výpočtu proto bereme f (x k ).
16 / 40 regula regula u této definujeme x 0 = l 0 = a, x 0 = r 0 = b vytvoříme úsečku mezi body (x 0, f (x 0 )) a ( x 0, f ( x 0 )) protože f (x 0 ) a f ( x 0) mají různá znaménka, úsečka musí protnout osu x, tento průsečík označíme jako x 1 dále definujeme { x1 pokud sign f (x l 1 := 1 ) = sign f (l 0 ), l 0 jinak { x1 pokud sign f (x r 1 := 1 ) = sign f (r 0 ), r 0 jinak x 1 := { l1 pokud sign f (x 1 ) = sign f (r 1 ), r 1 jinak celý postup pak iterativně opakujeme
17 / 40 regula regula e úsečky mezi (x k, f (x k )) a ( x k, f ( x k)) má tvar y (x) = f (x k ) + f (x k) f ( x k ) x k x k (x x k ) položíme y (x) = 0 a řešíme i 0 = f (x k ) + f (x k) f ( x k ) x k x k (x k+1 x k ) výsledkem je x k x k x k+1 = x k f (x k ) f ( )f x k (x k ) zobrazení ϕ má tvar x x k ϕ (x) = x f (x) f ( )f x k (x)
18 / 40 regula regula definujeme { xk+1 pokud sign f (x l k+1 := k+1 ) = sign f (l k ), l k jinak { xk+1 pokud sign f (x r k+1 := k+1 ) = sign f (r k ), r k jinak x k+1 := { lk+1 pokud sign f (x k+1 ) = sign f (r k+1 ), r k+1 jinak jinými slovy je x k poslední napočítaný člen s opačným znaménkem než má x k
19 / 40 regula Example 9 Použijte metodu regula pro nalezení kořene polynomu x 3 + 4x 2 10 v intervalu < 1, 2 > (α 1.3652). regula k l k r k f (l k ) f (r k ) x k x k 0 1.0 2.0 5.0 14.0 1.0 2.0 1 1.26315789474 2.0 1.60227438397 14.0 1.26315789474 2.0 2 1.26315789474 1.42906437248 1.60227438397 1.08737088326 1.42906437248 1.26315789474 3 1.36199163414 1.42906437248 0.0533917829598 1.08737088326 1.36199163414 1.42906437248 4 1.36513087878 1.42906437248 0.00163697021424 1.08737088326 1.36513087878 1.42906437248
20 / 40 regula regula Theorem 10 Necht platí existuje otevřené okolí H α bodu α takové, že f C (1) (H α ) tj. na H α existuje derivace f a je zde spojitá, f (α) 0. Pak existuje r takové, že V α {x R x α < r} H α. a regula konverguje, pro libovolné x 0 V α s rychlostí prvního řádu.
21 / 40 regula u Newtonovy volíme x 0 = a pro k = 0, 1,... konstruujeme tečny ke grafu funkce v bodě x k a tam, kde se tečna protne s osou x definujeme nový bod x k+1 e tečny má tvar pro y (x) = 0 dostáváme y (x) = f (x k ) + f (x k ) (x x k ) 0 = f (x k ) + f (x k ) (x k+1 x k )
22 / 40 regula tedy platí zobrazení ϕ má tvar x k+1 = x k f (x k) f (x k ) ϕ (x) = x f (x) f (x)
23 / 40 Example 11 Použijte Newtonovu metodu pro nalezení kořene polynomu x 3 + 4x 2 10 v intervalu < 1, 2 > (α 1.3652). regula k x k f (x k ) f (x k ) 0 1.0 5.0 11.0 1 1.45454545455 1.54019534193 19.4381678093 2 1.37530983126 0.16727562303 16.676910046 3 1.36527945857 0.000816527384453 16.5141996685 4 1.36523001461 1.97484268938 10 8 16.5133990953
24 / 40 regula Theorem 12 Necht platí existuje otevřené okolí H α bodu α takové, že f C (1) (H α ) tj. na H α existuje derivace f a je zde spojitá, f (α) 0. Pak existuje r takové, že V α {x R x α < r} H α. a konverguje, pro libovolné x 0 V α s rychlostí prvního řádu.
25 / 40 regula Theorem 13 Necht platí existuje otevřené okolí H α bodu α takové, že f C (2) (H α ) tj. na H α existuje první a druhá derivace f a f a jsou zde spojité, f (α) 0. Pak existuje r takové, že V α {x R x α < r} H α. a konverguje, pro libovolné x 0 V α s rychlostí druhého řádu.
26 / 40 regula Remark 14 tedy za vhodných podmínek konverguje rychleji, než Regula nebo. Vyžaduje ale přesnější počáteční odhad řešení x 0, tj. V α může být výrazně menší než u Regula.
27 / 40 regula Example 15 Bude konvergovat v případě těchto dvou úloh? 1 x 3 = 0 2 x 2 = 0
28 / 40 Čebyševova regula Remark 16 Pomocí Čebyševovy lze odvodit ještě. Ty ale v praxi nejsou příliš užitečné, nebot vyžadují ještě přesnější odhad kořene e a navíc se v něm vyskytují vyšší derivace funkce f. Kvadratická konvergence Newtonovy je v praxi naprosto postačující.
29 / 40 Globálně regula Definition 17 Pod pojmem globálně pro řešení budeme rozumět, které pro libovolnou volbu počátečního odhadu kořene x 0 bud konvergují nebo algoritmicky selžou. Remark 18, které jsme si ukázaly, často nekonvergují z jednoho důvodu. Pohybují se sice ve správném směru, ale dělají příliš veliký skok. Tím pádem kořen α přeskočí a získají nový odhad, který je horší, než ten předchozí. m je, zamyslet se lépe nad velikostí kroku mezi x k a x k+1.
regula Globálně Line search algoritmus Algorithm 1 Line search 1: r 0 = f (x) 2: while r 0 > ɛ do 3: if f (x) = 0 then 4: return EXIT_FAILURE; 5: end if 6: d = f (x)/f (x) 7: x t = x + d 8: while f (x t ) f (x) do 9: d = d/2 10: x t = x + d 11: end while 12: x = x t 13: r 0 = f (x) 14: end while 30 / 40
regula pro řešení soustav Iterativní pro řešení soustav algebraických a transcendentních Remark 19 Mějme reálné funkce reálných proměnných f 1,..., f n : R n R. Hledáme řešení soustavy : f 1 (x 1,..., x n ) = 0, f 2 (x 1,..., x n ) = 0,.. f n (x 1,..., x n ) = 0. budeme značit a = (a 1,..., a n ) T. Jeho separace je v tomto případě často ještě obtížnější. Přesto pro naše úvahy budeme předpokládat existenci oblasti H R n (=otevřená souvislá množina) takové, že a G. 31 / 40
32 / 40 regula pro řešení soustav Remark 20 Provedeme formální zobecnění Newtonovy : [ x (k+1) = x (k) J f ( x (k))] 1 ( f x (k)), kde J f ( x (k)) je Jacobiho matice tj. resp. ( J f J f ( x (k)) = ( x (k))) ij = f ( i x (k)). x j f 1( x (k) ) x 1.... f n( x (k) ) x 1... f 1( x (k) ) x n. f n( x (k) ) x n
33 / 40 regula pro řešení soustav Remark 21 Pro praktické počítání je výhodnější následující tvar J f ( x (k)) ( x (k+1) x (k)) = ( f x (k)). Označíme-li x (k) = x (k+1) x (k), lze přepsat metodu do dvou kroků: Algorithm 2 pro systémy 1: Vyřeš lineární systém: J f ( x (k)) x (k) = f ( x (k)) 2: Iteruj: x (k+1) = x (k) + x (k)
34 / 40 pro řešení soustav regula Remark 22 Výhodou je, že jsme výpočet inverzní matice převedli na řešení lineárního systému. K tomu lze použít i některou z iteračních metod. Jelikož systém v prvním kroku nemusí být nutně řešený s maximální přesností, stačí často udělat jen pár iterací a výpočet se tím značně urychlí oproti výpočtu inverze matice pomocí Gaussovy eliminace.
35 / 40 pro řešení soustav regula Theorem 23 Bud funkce f C (1) (H), kde H je konvexní oblast. Pak pro každé u, v H existuje ξ H takové, že f ( u) f ( v) = f ( ξ)( u v).
36 / 40 regula Theorem 24 Necht platí pro řešení soustav existuje otevřené okolí H a bodu a takové, že f C (1) (H a ) tj. na H a existují všechny parciální derivace prvního řádu a jsou zde spojité, J f ( a ) je regulární. Pak existuje r takové, že V a { x R n x a < r } H a, a konverguje, pro libovolné x (0) V a s rychlostí prvního řádu.
37 / 40 regula Theorem 25 Necht platí pro řešení soustav existuje otevřené okolí H a bodu a takové, že f C (2) (H a ) tj. na H a existují všechny parciální derivace prvního a druhého řádu a jsou zde spojité, J f ( a ) je regulární. Pak existuje r takové, že V a { x R n x a < r } H a, a konverguje, pro libovolné x (0) V a s rychlostí druhého řádu.
38 / 40 pro řešení soustav regula Remark 26 I na Newtonovu metodu pro systémy lze aplikovat line search algoritmus. Získáme tak globálně metodu.
39 / 40 regula Example 27 Pomocí Newtonovy řešte soustavu : pro řešení soustav f 1 (x, y) = x 3 + 4y 2 + x y 4 = 0, f 2 (x, y) = x 4 + 2y 3 x + y + 2 = 0, s počátečním odhadem x (0) = ( 1, 1) T. : (napočítáme jen jednu iteraci) ( ) f1 f 1 x y J f = f 2 f 2 x y f ( x (0) ) = ( 3, 7) T, J f ( x (0) ) = ( 3x = 2 ) + 1 8y 1 4x 3, 1 6y + 1 ( ) 4 7, 5 7 Řešíme tedy úlohu J f ( x (0) ) x (0) = f ( x (0) ), tj.: ( ) ( ) ( ) 4 7 x (0) 3 5 7 y (0) =, 7 Dostáváme x (0) = 1 18 ( 2, 17)T a tedy x (1) = x (0) + x (0) = 5 18 ( 4, 7)T. Potom je f ( x (1) ) = (11.66, 19.06) T.
40 / 40 regula Shrnutí a otázky: regula pro řešení soustav jak se při praktických výpočtech liší podmínky konvergence regula a Newtonovy? jaké jsou výhody a nevýhody metod? globálně pro systémy jak se dá efektivně vyhnout napočítávání inverzní matice?