MASARYKOVA UNIVERZITA Přírodovědecká fakulta Bakalářská práce Numerické metody řešení nelineárních rovnic Studijní program: Aplikovaná matematika Studijní obor: Matematika - ekonomie Brno 2011 Lukáš Jagoš
ii
Prohlašuji, že jsem svou bakalářskou práci napsal samostatně a výhradně s použitím citovaných pramenů. Souhlasím se zapůjčováním práce a jejím zveřejňováním. Jméno: Lukáš Jagoš Datum: 20.12. 2010 Podpis: Vedoucí práce: Mgr. Jiří Zelinka, Dr. iv
v
Abstract Title: Numerical Methods for solving Nonlinear Equations Author: Lukáš Jagoš Department of Mathematics and Statistics, Faculty of Science, MU Supervisor: Mgr. Jiří Zelinka, Dr. Abstract: This Thesis is a Tool for Students of a Subject Numerical methods. It is divided into four Chapters including Introductory Terms, Solving Nonlinear Equations, Polynoms and Systems of Nonlinear Equations. Chapters cover Rehearsal of Essential Theory for particular Method, Sample Solved Excercise and one Solved Excercise for Comparison of listed Methods. Keywords: numerical, methods, solving, nonlinear, equations vi
Abstrakt Název práce: Numerické metody řešení nelineárních rovnic Autor: Lukáš Jagoš Ústav matematiky a statistiky Přírodovědecké fakulty, MU Vedoucí bakalářské práce: Mgr. Jiří Zelinka, Dr. Abstrakt: Bakalářská práce Numerické řešení nelineárních rovnic je pomůckou pro studenty předmětu Numerické metody. Práce je rozdělena do čtyř základních kapitol zahrnujících seznámení se základními pojmy, řešení nelineárních rovnic, polynomů a soustav nelineárních rovnic. Kapitoly obsahují výčet teorie nutné k aplikaci dané metody, ukázkový řešený příklad a na závěr vždy jeden společný příklad pro srovnání uvedených metod. Klíčová slova: vybrané, metody, řešení, nelineárních, rovnic vii
Obsah Čestné prohlášení Abstract Abstrakt iv vi vii 1 Základní pojmy 2 1.1 Volba počáteční aproximace 5 1.2 Zastavení výpočtu 5 1.3 Řád metody 6 2 Řešení nelineárních rovnic 7 2.1 Metoda bisekce 7 2.2 Metoda prosté iterace 10 2.2.1 Hledání vhodného tvaru iterační funkce 12 2.3 Newtonova metoda 14 2.3.1 Iterační metody vyšších řádů 19 2.4 Metoda sečen 19 2.5 Shrnutí 22 3 Polynomy 26 3.1 Odhad polohy a počtu kořenů 26 3.2 Laguerrova iterační metoda 28 3.3 Graeffova-Lobačovského iterační metoda 30 4 Soustavy nelineárních rovnic 34 viii
Obsah 4.1 Metoda prosté iterace 35 4.2 Newtonova metoda pro systémy nelineárních rovnic 37 Závěr 40 Literatura 42 ix
Úvod Řešení rovnic a jejich soustav patří mezi tradiční součásti středoškolské matematiky. Ta si ale vybírá převážně takové třídy rovnic, které je možné řešit elementárními vzorci. Obecně platí, že kořeny nelineární rovnice f(x) = 0 nelze nalézt explicitním vzorcem. K hledání kořenů tedy používáme metody iteračního charakteru. Vycházíme ze známé počáteční aproximace řešení a z ní stanovujeme novou hodnotu aproximace (iteraci) postupem, kterým se jednotlivé metody odlišují. Přesný popis kroků realizujících numerickou metodu označujeme jako algoritmus numerické metody. Jeden krok algoritmu nazýváme iterací. Obvyklým postupem pro řešení nelineárních rovnic můžeme narazit na některé problémy: jak poznat vhodný typ numerické metody jak určit hodnotu počáteční aproximace jak poznat, zda bude daná metoda konvergovat ke kořenu Protože pro řešení nelineárních rovnic neexistuje univerzální metoda, je vhodné volit metodu, která nejvíce odpovída povaze a dostupné informaci o rozložení a vlastnostech daného řešení. 1
Kapitola 1 Základní pojmy V rámci textu této práce budeme předpokládat hledání kořenů rovnice f(x) = 0, (1.1) kde x R. Dále budeme předpokládat, že funkce f(x) je na konkrétním intervalu spojitá a má na něm tolik spojitých derivací, kolik jich bude v daném případě potřeba. Následující kapitola představuje seznámení se základními pojmy numerických metod. Definice 1.1. Nechť X je libovolná neprázdná množina a nechť zobrazení ϱ : X X R + splňuje pro všechna x, y, z X následující axiomy: 1. ϱ(x, y) = 0 x = y 2. ϱ(x, y) = ϱ(y, x) 3. ϱ(x, y) + ϱ(y, z) ρ(x, z) Potom zobrazení ϱ nazveme metrikou a dvojici (X, ϱ) metrickým prostorem. 2
Kapitola 1 Základní pojmy Formální definice metrického prostoru nám dovoluje pracovat v textu s pojmem vzdálenost. Příklad 1.1. Typy některých metrik X R, ϱ(x, y) = x y X R n, ϱ(x, y) = n (x i y i ) 2 X R n, i=1 ϱ(x, y) = max i=1,...,n x i y i n X R n, ϱ(x, y) = x i y i i=1 Definice 1.2. Bod x X je limitou posloupnosti {x n } n=1 v metrickém prostoru X, jestliže platí ε > 0 n 0 N takové, že n > n 0 : ϱ(x n, x) < ε. Poznámka 1. limitu. Za konvergentní budeme považovat tu posloupnost, která má Věta 1.1. (Bolzanova) Nechť funkce f C[a, b] a nechť f nabývá v koncových bodech intervalu hodnot s opačnými znaménky, tj. f(a)f(b) < 0. Potom uvnitř tohoto intervalu existuje alespoň jeden bod c takový, že f(c) = 0. V případě, že první derivace funkce f má na tomto intervalu konstantní znaménko, pak se zde nachází právě jeden takový bod. Definice 1.3. Mějme metrický prostor (X, ϱ). Zobrazení ϕ : X X nazveme kontrakcí, jestliže existuje konstanta 0 k < 1 taková, že platí ϱ(ϕ(x), ϕ(y)) k.ϕ(x, y) Číslo k nazýváme koeficientem kontrakce. Definice 1.4. Posloupnost {x n } n=1 se nazývá cauchyovská, pokud pro ε > 0 n 0 N takové, že pro n > n 0 a pro t N platí ϱ(x n, x n+t ) < ε. 3
Kapitola 1 Základní pojmy Definice 1.5. Řekneme, že metrický prostor (X, ϱ) je úplný, pokud v něm má každá cauchyovská posloupnost limitu. Věta 1.2. (Banachova) Nechť A : X X je kontrakce na X a (X, ϱ) je neprázdný úplný metrický prostor. Pak existuje právě jeden prvek x X takový, že Ax = x. Věta 1.3. Nechť g C[a, b], g : [a, b] [a, b], potom g má na tomto intervalu pevný bod ξ. Je-li navíc pro q [0, 1] g(x) g(y) q x y, x, y a, b pak g má na [a, b] jednoduchý pevný bod. Definice 1.6. Pevný bod ξ funkce g C [a, b] se nazývá přitahující, pokud existuje takové okolí U bodu ξ, že pro x 0 U posloupnost { } x k konverguje k ξ, k=0 odpuzující, pokud existuje takové okolí V bodu ξ, že pro x 0 V, x 0 ξ existuje k takové, že x k / V. Věta 1.4. nazýváme Nechť g C[a, b], g : [a, b] [a, b] a nechť ξ je pevný bod. Potom ξ přitahujícím pevným bodem, jestliže g(x) g(ξ) x ξ < 1. odpuzujícím pevným bodem, jestliže g(x) g(ξ) x ξ > 1. Definice 1.7. Chybou aproximace ε nazýváme odchylku přibližné (aproximo- 4
Kapitola 1 Základní pojmy vané) hodnoty od skutečné hodnoty. Je-li x přibližná hodnota veličiny a x její skutečná hodnota, pak absolutní chybu aproximace vyjadřuje vztah ε = x x. Relativní chyba aproximace δ je určena vztahem δ = x x x. 1.1 Volba počáteční aproximace Protože se jedná o nelineární rovnice, je možné, že počet řešení a odhad intervalů není na první pohled zřejmý. Pokud je to z hlediska složitosti výpočtu možné, postupujeme buď vyšetřením průběhu funkce užitím znalostí matematické analýzy nebo převedením rovnice f(x) = 0 na ekvivalentní tvar f 1 (x) = f 2 (x) a hledáním x-ových souřadnic průsečíků grafů funkcí f 1 a f 2. Méně praktickou, ale spolehlivou možností by byl výpočet hodnot funkce a vynesení takového množství souřadnic, aby tvar vynášeného grafu odpovídal charakteristice dané funkce. 1.2 Zastavení výpočtu Předpokládejme, že zvolená numerická metoda konverguje a generovaná posloupnost iterací se blíži ke kořenu. Potom pro posouzení přesnosti výpočtu můžeme použít některý ze vztahů kde ε je požadovaná přesnost. x k+1 x k < ε f(x k ) < ε x k+1 x k x k < ε 5
Kapitola 1 Základní pojmy 1.3 Řád metody Nechť posloupnost { x k} k=0 generovaná iterační metodou konverguje k x. Řekneme, že tato iterační metoda konverguje k x lineárně, pokud existuje σ (0, 1) takové, že lim k Číslo σ nazýváme řád konvergence. x k+1 x x k x = σ. Řekneme, že daná metoda je řádu p (p R, p > 1), pokud platí lim k x k+1 x x k x p = L, kde L > 0. Konvergenci, která je řádu 2 nazýváme kvadratickou, řádu 3 kubickou atd. Poznámka 2. Řád p = 1 nám říká, že chyba se v každém dalším kroku zmenšuje na konkrétní zlomek předchozí chyby, řád p = 2 nám říká, že chyba se v každém dalším kroku zmenšuje na konkrétní zlomek druhé mocniny předchozí chyby atd. 6
Kapitola 2 Řešení nelineárních rovnic V následující kapitole rozebereme různé typy metod, kterými lze řešit nelineární rovnice f(x) = 0. 2.1 Metoda bisekce Metoda bisekce je jednou z nejstarších metod pro hledání kořenů nelineárních rovnic. Jedná se o velmi jednoduchou a univerzální metodu, nevýhodou je však její relativně pomalá konvergence. Používá se tedy spíše k hledání přibližného řešení. Metoda využívá věty 1.1. funkce f musí být spojitá na intervalu [a, b] f(a)f(b) < 0, tedy na intervalu [a, b] se musí nacházet alespoň jeden kořen f. Pokud jsou tyto podmínky splněny, pak je metoda bisekce generuje posloupnost, která konverguje ke kořenu x. 7
Kapitola 2 Řešení nelineárních rovnic Nyní můžeme sestrojit posloupnost intervalů (a 1, b 1 ) (a 2, b 2 )..., které obsahují hledaný kořen. Intervaly ( a k+1, b k+1), k = 0, 1,... určímé tímto způsobem: 1. Jako počáteční interval bereme [a, b] 2. Středem intervalu ( a k, b k) je bod x k+1, x k+1 = ak + b k 2 (2.1) ( a 3. Pokud f(x k+1 ) 0, ( k, x k+1), když f ( a k) f(x k+1 ) < 0 a k+1, b k+1) = ( x k+1, b k), když f ( a k) f(x k+1 ) > 0 4. Pokud f(x k+1 ) = 0, pak x k+1 = x. Věta 2.1. Nechť jsou splněny podmínky věty 1.1 a nechť má funkce f na intervalu [a, b] jediný kořen. Potom posloupnost určená vztahem (2.1) konverguje ke kořenu x. Důkaz. konvergentní. Dále platí Pro ohraničené posloupnosti {a k }, {b k } platí, že jsou monotonní, takže a proto lim k (b k a k ) = 0. Potom b k a k = b0 a 0 2 k lim k ak = lim b k = lim x k+1. k k Z podmínek pro konvergenci funkce f (spojitost, opačná znaménka funkčních hodnot v koncových bodech intervalu) vyplývá lim k f(ak ) = lim f(b k ) = 0. k 8
Kapitola 2 Řešení nelineárních rovnic Protože platí f( x) = 0, dokázali jsme konvergenci metody bisekce. Jednou z výhod metody bisekce je to, že jsme při její aplikaci schopni zjistit, jak dobře daná iterace aproximuje hledaný kořen. Bez důkazu uvedeme následující větu. Věta 2.2. Nechť f C[a, b] a f(a)f(b) < 0 s tím, že funkce f má na [a, b] pouze jeden kořen x. Potom posloupnost iterací generovaná metodou bisekce aproximuje hledaný kořen podle vztahu x k+1 x b a 2 n+1 Příklad 2.1. ε < 10 4, pokud Metodou bisekce najděte odhad kořene rovnice f (x) = 0 s přesností f(x) = x 3 + 5x 3 4 2 y 0-2 -4-2 -1 0 1 2 x Obr 2.1: Graf funkce f(x) = x 3 + 5x 3 Řešení. Z obr. 2.1 ihned poznáváme, že se kořen bude určitě nacházet v intervalu [0, 1]. Jako počáteční interval tedy zvolíme [a 0, b 0 ] = [0, 1]. Připomeňme, že f(0) < 0, f(1) > 0. Posloupnost intervalů zaznamenáme do tabulky. 9
Kapitola 2 Řešení nelineárních rovnic k a k b k x k+1 f(x k+1 ) 0 0.00000 1.00000 0.50000 0.37500 1 0.50000 1.00000 0.750000 1.171875 2 0.50000 0.75000 0.62500 0.369141 3 0.50000 0.62500 0.562500 0.00952 4 0, 562500 0.62500 0.593750 0.178070 5 0.562500 0.59375 0.578130 0.083890 6 0.562500 0.57813 0.570315 0.037075 7 0.562500 0.570315 0.566408 0.013750 8 0.562500 0.566408 0.564454 0.00210 9 0.562500 0.564454 0.563478 0.0037 10 0.563480 0.564454 0.563966 7.963 10 4 Po deseti iteracích má interval [a 10, b 10 ] délku 0,000974 a 11.iterace x 11 aproximuje kořen x s chybou nepřesahující f(x 11 ) f(x 10 ) = 0, 0029. Na tomto příkladu jsme mohli vidět, že metoda bisekce opravdu konverguje ke kořenu x velmi pomalu. 2.2 Metoda prosté iterace Metoda prosté iterace patří mezi základní iterační metody. Je založena na převodu původního tvaru rovnice (1.1) na ekvivalentní tvar x = g(x), který získáme vhodnými úpravami. V tomto tvaru již nehledáme průsečík funkce s osou x, ale pevný bod funkce. Je důležité si uvědomit, že úpravy funkce nejsou jednoznačné a většinou je můžeme provést více způsoby (viz podkapitola 2.2.1). Věta 2.3. Předpokládejme, že existuje funkce g, která pro x I = [a, b] splňuje Lipschitzovy podmínky uvedené ve větě 1.3. g(x) [a, b] x [a, b] (2.2) g (x) q < 1 x [a, b] (2.3) 10
Kapitola 2 Řešení nelineárních rovnic Potom rovnice x k+1 = g(x k ) má na intervalu [a, b] jediné řešení a posloupnost { } x k určená předpisem k=0 x k+1 = g(x k ) (2.4) k němu konverguje pro libovolný počáteční bod x 0 I. Důkaz. Věta je důsledkem Banachovy věty o pevném bodě. Metrikou je ϱ(x, y) = x y a vzhledem k ní je (I, ϱ) úplným metrickým prostorem. Jsou tedy splněny všechny podmínky věty 1.2. Příklad 2.2. Funkce x = g(x), 0 x 1 má pevný bod pro každé x [0, 1]. Funkce g(x) = x sin(πx) má na intervalu [0, 1] 2 pevné body, v bodě x = 0 a dále v bodě x = 1. Geometrická interpretace této iterační metody je zobrazena na obr. 2.2. Hledat pevný bod funkce geometricky znamená hledat průsečík funkcí y = x a y = g(x). 1.5 1 Y 0.5 0-0.5-1 0 x 0 Obr 2.2: Metoda prosté iterace x k+1 = sin(x k ) x Definice 2.1. Máme-li funkci g C [a, b], g : [a, b] [a, b], potom metoda 11
Kapitola 2 Řešení nelineárních rovnic prosté iterace generuje posloupnost { x k} k=0 definovanou pro x0 [a, b]: x k+1 = g(x k ) k = 0, 1, 2... Platí tedy, že x 1 = g(x 0 ), x 2 = g(x 1 ) = g(g(x 0 )), atd. Pracnost výpočtu metodou prosté iterace závisí na vhodné volbě iterační funkce a počáteční aproximace. Metoda prosté iterace patří mezi jednokrokové iterační metody, neboť výpočet x k+1 závisí pouze na jedné předchozí aproximaci x k. 2.2.1 Hledání vhodného tvaru iterační funkce Při hledání vhodného tvaru iterační funkce je důležité, aby byly vždy splněny předpoklady nutné pro konvergenci (2.2), (2.3). Platí, že různé tvary iteračních funkcí mají různé rychlosti konvergence. Příklad 2.3. 10 = 0. Řešení. Použitím metody prosté iterace najděte řešení rovnice x 3 + 4x 2 Zadaná rovnice má na intervalu [1, 2] jediný kořen. Algebraickými úpravami sestavíme několik ekvivalentních zápisů této rovnice a porovnáme jejich konvergenční vlastnosti metodou prosté iterace. 1. x = g 1 (x) = x 3 4x 2 + 10 + x 2. x = g 2 (x) = 1 2 10 x 3 3. x = g 3 (x) = 10 4x 2 4. x = g 4 (x) = x x3 +4x 2 10 3x 2 +8x x Za startovací bod bereme x 0 = 1.5. Výsledky opět shrneme do tabulky. 12
Kapitola 2 Řešení nelineárních rovnic k ( g ) 1 x k ( g ) 2 x k ( g ) 3 x k ( g ) 4 x k 0 1.5000 1.500000 1.5000 1.50000 1-0.8750 1.286954 0.8165 1.37333 2 6.7324 1.402542 2.9969 1.36526 3-469.72 1.345459 1.365230014 4 1.028 10 8 1.375171 1.365230013 5 1.360094 6 1.367853 7 1.363887 8 1.365917 9 1.364878 10 1.365414 20 1.365230236 30 1.365230013 Kořenem rovnice x 3 + 4x 2 10 = 0 je číslo x = 1, 365230013. Ke správnému kořenu tedy konvergovala funkce g 2 a g 4, g 4 navíc velmi rychle. Funkce g 1 a g 3 divergovala. Důvod je jednoduchý. Pro funkci g 1 a g 3 nejsou splněny podmínky konvergence. Platí g 1(1, 5) = 17, 75 g 2(1, 5) = 0, 65561 g 3(1, 5) = 5, 17 g 4(1, 5) = 0, 1148 Bod x 0 = 1, 5 byl tedy pro funkce g 1 a g 3 odpuzující. Geometrickou interpretaci iteračního procesu jednotlivých funkcí můžeme pozorovat na následujícím obrázku. 13
Kapitola 2 Řešení nelineárních rovnic 10 3 8 6 2 y 4 y 1 2 0 x 1 x 0 0 x 1 x 2 x 0-2 -10-8 -6-4 -2 0 2 4 6 8 10 x a) -1-3 -2-1 0 1 2 3 x b) 4 4 3 3 2 y 2 y 1 1 0 x 1 x 0 0 x 1 x 0-1 -1-4 -3-2 -1 0 1 2 3 4-3 -2-1 0 1 2 3 x x c) d) Obr 2.3: Metoda prosté iterace pro iterační funkci: a) g 1 (x), b) g 2 (x) c) g 3 (x) d) g 4 (x). 2.3 Newtonova metoda Někdy se této metodě říká také metoda tečen. Její princip je odvozen z nahrazení křivky v okolí kořene tečnou procházející bodem [ x k, f(x k ) ]. Jako počáteční aproximaci volíme x 0. Obecný předpis pro výpočet iterace x k+1 získame tak, že bodem [ x k, f(x k ) ] vedeme tečnu ke křivce y = f(x). Průsečíkem tečny s osou x je pak bod [ x k+1, 0 ]. 14
Kapitola 2 Řešení nelineárních rovnic 0.5 0.4 0.3 0.2 Y 0.1 0 x x 2 1 x 0-0.1-0.2 1 2 3 4 5 6 x Obr. 2.4: Newtonova metoda pro funkci f(x) = x 2 5.1x + 6.2 Do rovnice tečny y = f(x k ) + f (x k )(x x k ) dosadíme y := 0, vyjádříme x a položíme x := x k+1. 0 = f(x k ) + f (x k )x f (x k )x k x = f (x k )x k f(x k ) f (x k ) x k+1 = x k f(xk ) f (x k ) (2.5) Ke stejnému předpisu dospějeme také odvozením z Taylorova rozvoje. Předpokládejme jednoduchý reálný kořen na intervalu I = [a, b]. Pokud na I existují nenulové derivace funkce f, můžeme ji v okolí libovolného bodu x I rozvinout do Taylorovy řady: f(x) = f(x 0 ) + f (x 0 )(x x 0 ) + 1 2! f (x 0 )(x x 0 ) 2 +... Nyní proveďme linearizaci prvních dvou členů rozvoje, tzn. v rovnici f(x) = 0 na- 15
Kapitola 2 Řešení nelineárních rovnic hradíme f(x) prvními dvěma členy Taylorova rozvoje a určíme kořen x 1. f(x 0 ) + f (x 0 )(x x 0 ) = 0 x 1 = x 0 f(x 0) f (x 0 ) Stejně můžeme postupovat i v okolí bodu x i, i = 1,... Obecný předpis bude opět odpovídat vztahu (2.5). Definice 2.2. Za předpokladu, že f (x k ) 0 pro k = 0, 1,..., nazýváme metodu určenou vztahem (2.5) Newtonovou metodou. Výpočet ukončíme a x k+1 bereme za dostatečně přesnou aproximaci kořene pokud jsou splněny podmínky uvedené v podkapitole 1.2. Věta 2.4. Nechť f C 2 [a, b]. Nechť x [a, b] je kořenem rovnice f(x) = 0 a f ( x) 0. Pak existuje δ > 0 tak, že posloupnost { x k+1} generovaná Newtonovou metodou konverguje k bodu x pro každou počáteční aproximaci x 0 [ x δ, x + δ] [a, b]. Řád metody je 2. k=0 Důkaz je uveden v [4]. Monotonní konvergenci Newtonovy metody zajišťují Fourierovy podmínky, které jsou shrnuty v následující větě. Věta 2.5. Nechť funkce f C 2 [a, b] a nechť rovnice f(x) = 0 má na intervalu [a, b] jediné řešení x. Nechť f (x) a f (x) jsou spojité a nemění znaménko na intervalu [a, b], přičemž f (x) 0, x [a, b]. Nechť počáteční aproximace x 0 je ten z krajních bodů [a, b], v němž je znaménko funkce f stejné jako znaménko funkce druhé derivace f. Pak posloupnost { x k+1} generovaná Newtonovou metodou konverguje monotonně k bodu x. k=0 Důkaz. Pro f(a) < 0 a f, f > 0 platí podle Fourierových podmínek x 0 = b. Dokážeme, že potom x < x k+1 < x k. 16
Kapitola 2 Řešení nelineárních rovnic Platí, že 0 = f( x) = f(x k ) + ( x x k )f (x k ) + 1 2 ( x x k) 2 f (y) Vzhledem k předpokladu nezápornosti f (y) musí platit f(x k ) + ( x x k )f (x k ) < 0 Z čehož plyne x < x k f(x k) f (x k ) x k+1 < x k. Indukcí se dokazují ostatní případy. Příklad 2.4. Newtonovou metodou nalezněte kořen rovnice f(x) = x 3 6. 8 6 4 2 y 0-2 -4-6 -8-3 -2-1 0 1 2 3 x Obr. 2.5. Funkce f(x) = x 3 6 Dosazením funkce f do předpisu (2.5) dostáváme Newtonovu metodu ve tvaru x k+1 = x k (xk ) 3 6 3 (x k ) 2. Jako počáteční aproximaci volíme bod x 0 = 2. Posloupnost iterací sepíšeme do tabulky. 17
Kapitola 2 Řešení nelineárních rovnic k x k f(x k ) 0 2.000000 5.550510 1 1.537457 1.184715 2 1.370392 0.124072 3 1.348370 0.001983 4 1.348006 8.428 10 7 Je patrné, že již u 4. iterace získáváme velmi dobrý odhad kořene x. Newtonova metoda tedy konvergovala dostatečně rychle. Na tom samém příkladu ještě otestujeme, jak bude Newtonova metoda konvergovat v případě, že počáteční aproximaci zvolíme x 0 = 1 3, x0 = 9, x 0 = 1 5. k x(k) f(x k ) x(k) f(x k ) x k f(x k ) 0 1 3-2.412453 4.000000 61.550510 1 5-2.441490 1 7.570691 431.468485 2.717698 17.623102 20.545748 8670.480000 2 5.061373 127.210240 1.922347 4.654383 13.699094 2568.400000 3 3.406121 37.067186 1.502513 0.942501 9.137083 760.370000 4 2.341125 10.381907 1.363350 0.084600 6.101169 224.660000 5 1.709722 2.548283 1.348178 0.000938 4.089381 65.940000 6 1.419136 0.408575 1.348006 8.428 10 7 2.775078 18.920000 7 1.351512 0.019161 1.956076 5.035000 8 1.348006 8.428 10 7 1.517445 1.044640 9 1.366222 0.100647 10 1.348248 0.001318 18
Kapitola 2 Řešení nelineárních rovnic 2.3.1 Iterační metody vyšších řádů Nyní uvedeme dvě iterační metody, jejichž řád konvergence je v případě jednoduchého kořene větší než 2. Uvažujme nejprve metodu určenou předpisem x k+1 = x k f(xk ) f (x k ) [f(xk )] 2 f (x k ) 2[f (x k )] 3 (2.6) Řád této metody je 3. Další z používaných metod je tzv. Halleyova metoda x k+1 = x k f(x k )f (x k ) [f (x k )] 2 1 2 f(xk )f (x k ), (2.7) která konverguje rovněž kubicky. Obě tyto metody jsou příkladem toho, že jednobodová iterační metoda vyžaduje k výpočtu jedné iterace hodnoty tím vyšších derivací, čím vyššího je řádu. Protože výpočty vyšších derivací mohou být v některých případech náročné na použití, můžeme dosáhnout zjednodušení aproximací pomocí prvních derivací nebo funkčních hodnot (viz metoda sečen). Zjednodušení metody (2.6) dosáhneme následující úpravou ˆf (x k 6 ) = (x k x k 1 ) 2 [f(xk ) f(x k 1 2 )] + x k x [2f (x k ) + f (x k 1 ] k 1 x k+1 = x k f(xk ) f (x k ) [ f(x k ) ] 2 2[f (x k )] 3 ˆf (x k ). Tento vzorec závisí, podobně jako v případě Newtonovy metody, na f a f a pro řád konvergence platí, že je přibližne roven číslu 2,732. Podmínkou je ovšem zmiňovaná existence jednoduchého kořene. 2.4 Metoda sečen Z důvodu výpočtu první derivace u Newtonovy metody je možné, že výpočet bude mnohem obtížnější, než tomu bylo v případě příkladu 2.4. Je-li zadaná rovnice na výpočet derivace náročná, můžeme dosáhnout zjednodušení vhodnou úpravou New- 19
Kapitola 2 Řešení nelineárních rovnic tonovy metody. Uvažujme následující aproximaci: f (x k ) f(xk+1 ) f(x k ) x k+1 x k k = 0, 1,... Po dosazení f (x k ) do vztahu (2.5) získáváme vzorec pro výpočet iterací metodou sečen. Při výpočtu vycházíme ze dvou počátečích aproximací x 0, x 1 s tím, že každou další aproximaci počítáme podle předpisu x k+1 = x k xk x k 1 f(x k ) f(x k 1 ) f(xk ). (2.8) Definice 2.3. Iterační metodu vyjádřenou vztahem (2.8) nazýváme metodou sečen. Název této metody pochází z její geometrické interpretace: x k+1 je označení x- ové souřadnice průsečíku osy x a přímky vedené body[x k 1, f(x k 1 )] a [x k, f(x k )]. y = f(x k ) + f(xk ) f(x k 1 ) x k x k 1 (x x k ) = 0 x = x k+1 Konvergence metody sečen je ilustrována na obr. 2.6. 20
Kapitola 2 Řešení nelineárních rovnic 1.5 1.0 0.5 x 1 x 4 0.0 yx0x2 x 3-0.5-1.0-1.5-2 -1 0 1 2 x Obr. 2.6. Metoda sečen pro funkci y = arctan(x), x 0 = 1.7, x 1 = 0.4. Věta 2.6. Nechť rovnice f(x) má na intervalu [a, b] kořen x a nechť derivace f a f jsou v okolí bodu x spojité, přičemž f (x) 0 v tomto okolí. Potom posloupnost určená metodou sečen konverguje pro dostatečně blízké počáteční aproximace x 0 a x 1 ke kořenu x. Řád metody je přibližně 1,618. Důkaz je uveden v [6]. Příklad 2.5. Metodou sečen najděte kořen funkce f(x) = xsin(x) x 3 + 4 ležící v intervalu I = [1, 5; 2, 5]. Řešení. x 0 = 1, 5 x 1 = 2, 5 Dosazováním do (2.8) získáváme následující iterace 21
Kapitola 2 Řešení nelineárních rovnic k x f(x k ) 0 1.500000 2.121243 1 2.500000 10.128820 2 1.673162 0.980442 3 1.746133 0.395431 4 1.795458 0.037631 5 1.791173 0.001237 6 1.791309 3.66332 10 6 Přicházíme k závěru, že metoda sečen konverguje také dostatečně rychle. 2.5 Shrnutí Metoda bisekce byla první z uvedených metod. Její výhodou jsou především nízké nároky na vlastnosti vyšetřované funkce a dále fakt, že při splnění podmínek konverguje vždy. Je to metoda jednoduchá a efektivní. V případě, že se na počátečním intervalu nachází více kořenů, nalezneme metodou bisekce vždy jen jeden. Hlavní nevýhodou je její pomalá konvergence, jak jsme se mohli přesvědčit na příkladu 2.1. Další z uváděných metod byla metoda prosté iterace. Rychlost její konvergence záleží na vhodně zvoleném tvaru iterační funkce. Výhodou je zejména nenáročnost na výpočet. Newtonova metoda je ze všech uváděných metod patrně nejznámější. Její podmínkou je jednoduchý kořen, ke kterému po splnění daných podmínek konverguje dostatečně rychle. Jak jsme mohli vidět, rychlost konvergence je závislá na vhodné volbě počáteční aproximace. Pokud derivaci ze vztahu pro výpočet iterací Newtonovou metodou nahradíme diferencí, získáme metodu sečen. Ta konverguje vždy, pokud zvolíme počáteční hodnoty dostatečně blízko kořene. Výhodou této metody je vysoká efektivnost. Při výpočtu není potřeba pracovat s derivací, ve srovnání s Newtonovou metodou je tedy jednodušší na výpočet. Mezi její nevýhody patří opět podmínka, že hledaný kořen dané rovnice musí být jeden a prostý. Srovnání metod nyní předvedeme na příkladu. 22
Kapitola 2 Řešení nelineárních rovnic Příklad 2.6. Najděte odhad kořene rovnice 6x 4 2x 2 x + 1 = 0. ležícího v intervalu [ 1, ] 3 4 4. K výpočtu použijte probírané metody a proveďte jejich srovnání. Řešení. Metoda bisekce. k a k b k x k+1 f(x k+1 ) 1 0.250000 0.75000 0.500000 0.375000 2 0.250000 0.50000 0.375000 0.225098 3 0.375000 0.50000 0.437500 0.040131 4 0.375000 0.437500 0.406250 0.100245 5 0.406250 0.437500 0.421875 0.032110 6 0.421875 0.437500 0.429688 0.003485 7 0.421875 0.429688 0.425782 0.014440 8 0.425782 0.429688 0.427735 0.005511 9 0.427735 0.429688 0.428712 0.001019 10 0.428712 0.429688 0.429200 0.001232 Metoda prosté iterace. Iterační funkci zvolíme ve tvaru g(x) = x + 1 6x 2 + 2 23
Kapitola 2 Řešení nelineárních rovnic k x(k) g(x k ) f(x k ) 1 0.500000 0.377965 0.375000 2 0.377965 0.466596 0.213870 3 0.466596 0.401660 0.186410 4 0.401660 0.448997 0.119513 5 0.448997 0.414336 0.096045 6 0.414336 0.439643 0.065483 7 0.439643 0.421122 0.050372 8 0.421122 0.434655 0.035486 9 0.434655 0.424755 0.026661 10 0.424755 0.431991 0.019111 Newtonova metoda. x k+1 = x k 6 ( ) 4 ( x ) k 2 x k 2 x k + 1 24 (x k ) 3 4x k 1 k x k+1 f(x k+1 ) 0 0.250000 0.601563 1 0.503289 0.394853 2 0.438269 0.043796 3 0.429094 7.42 10 4 4 0.428933 3.53 10 7 Metoda sečen. x 0 = 0.25, x 1 = 0.75 24
Kapitola 2 Řešení nelineárních rovnic k x k+1 f(x k+1 ) 1 0.339120 0.351486 2 0.464410 0.174841 3 0.422789 0.002800 4 0.428533 0.001843 5 0.428937 1.809 10 5 6 0.428933 3.526 10 7 7 0.428933 3.526 10 7 Vyhodnocení. Nejrychleji konvergovala jednoznačne Newtonova metoda, pro tento typ úloh se tedy hodí nejvíce. V případě, že by zadaná rovnice byla složitější na výpočet derivace, tak bychom mohli úspěšně využít metodu sečen. Ta konvergovala také velmi rychle. Rychlost Newtonovy metoda i metody sečen je podmíněna vhodnou volbou počátečních aproximací. V praxi se může stát, že při jejich nesprávné volbě budou dané metody konvergovat pomaleji. Metoda bisekce byla jednoduchá na výpočet, konvergovala ale velmi pomalu. Je ideální pro nalezení dobré počáteční aproximace. Metoda prosté iterace konvergovala nejpomaleji. Zrychlení bychom mohli dosáhnout jinou volbou iterační funkce. 25
Kapitola 3 Polynomy Polynomem nazýváme výraz tvaru P n (x), kde P n (x) = a n x n + a n 1 x n 1 +... + a 1 x + a 0, n N. Platí, že pro odhad reálných kořenů polynomu můžeme použít všechny dosud uvedené iterační metody. Polynomy se ale často vyskytují v nejrůznějších aplikacích a mají své vlastní specifické vlastnosti, věnujeme jim tedy tuto samostatnou kapitolu. 3.1 Odhad polohy a počtu kořenů Označme x 1, x 2,..., x n kořeny polynomu P n (x). Nechť A = max ( a n 1,..., a 0 ), B = max ( a n,..., a 1 ), 26
Kapitola 3 Polynomy kde a i, i = 0,..., n, a a 0 a n 0 jsou koeficienty polynomu P. Potom pro všechny kořeny x i polynomu P platí\gg 1 1 + B a 0 x i 1 + A a n. Příklad 3.1. Odhadněte polohu kořenů pro rovnici P 5 (x) = 0, kde P 5 (x) = x 5 + 101x 4 + 420x 3 425x 2 + 111x 16. Pro P 5 (x) máme A = 425, B = 425 a po dosazení získáme 1 1 + 425 16 x i 1 + 425 0, 03628 x i 426. Absolutní hodnota všech kořenů polynomu P 5 (x) bude tedy patřit do intervalu [0, 03628; 426]. Bez důkazu uvedeme ještě větu 4.1, které se říká také Cauchyova věta o poloze kořenů. Věta 3.1. Všechny kořeny polynomu P n (x) náleží do kruhu τ v komplexní rovině, kde τ = {z C : z 1 + κ k } κ k = max a k 0 k n 1 a. n Nyní budeme věnovat pozornost určení počtu kořenů polynomu P n (x). Definice 3.1. Označme M(x) = P n (x), M 1 (x) = M (x), M 2 (x) zbytek po dělení M(x) : M 1 (x) násobený číslem (-1), M 3 (x) zbytek po dělení M 1 (x) : M 2 (x) násobený číslem (-1),...,M r (x) zbytek po dělení M r 2 (x):m r 1 (x) násobený číslem (-1), přičemž zbytek M r+1 (x) po dělení M r 1 (x):m r (x) je nulový. Potom posloupnost M(x), M 1 (x),..., M r (x) nazýváme Sturmovou posloupností. 27
Kapitola 3 Polynomy Věta 3.2. Pokud platí, že polynom P n (x) nemá násobné kořeny a P n (a), P n (b) 0, potom počet reálných kořenů daného polynomu ležících v intervalu (a, b) je roven N(a) N(b), kde N(α) značí počet znaménkových změn ve Sturmově posloupnosti pro x = α při vynechání nulových prvků. Důkaz je uveden v [6]. Poznámka 3. Pokud nebude v textu uvedeno jinak, budeme v následující části předpokládat reálné koeficienty polynomu P. 3.2 Laguerrova iterační metoda Předpokládejme prosté, reálné kořeny polynomu P n (x), označme je λ 1, λ 2,..., λ n. Tyto kořeny si seřadíme vzestupně podle velikosti: λ 1 < λ 2 <... < λ n. Nyní definujme interval I i = [λ i, λ i+1 ], i = 0,..., n, kde koeficienty λ 0 =, λ n+1 = +. Potom pro každé λ λ j, j = 0,..., n + 1 existuje právě jedno i takové, že platí λ I i. Nyní sestrojíme takovou kvadratickou funkci, jejíž oba kořeny budou ležet v intervalu I i a v bodě λ bude nabývat záporné hodnoty 1. Princip Laguerrovy metody spočívá v sestrojení takové křivky kvadratické funkce, která by osu x protla co nejblíže krajním bodů intervalu I i. Tímto odvozením dostáváme předpis Laguerrovy iterační metody ve tvaru λ k+1 = λ k np n (λ k ) P n(λ k ) ± Γ(λ k ), (3.1) kde Γ(λ) = (n 1)((n 1)(P n(λ)) 2 np n (λ)p n (λ)). Poznámka 4. Znaménko před odmocninou volíme rovné znaménku P (λ k ). Platí-li pro první iteraci P (λ k ) = 0, volíme znaménko libovolně. 1 Platí, že takovýchto funkcí můžeme sestrojit nekonečně mnoho. 28
Kapitola 3 Polynomy Věta 3.3. Mějme reálný polynom P n (x) stupně n 1, jehož kořeny jsou prosté a reálné. Nechť λ 0 je počáteční aproximace a P (λ 0 ) 0. Potom posloupnost iterací generovaná předpisem (4.1) konverguje k některému z kořenů P n (x). Důkaz je uveden v [3]. Příklad 3.2. Určete kořeny rovnice x 4 2x 3 + 6x 2 + 2x 3 = 0. Řešení: Zádán máme polynom 4. stupně. Začneme výpočtem Laguerrovy metody. Za počáteční aproximaci zvolíme λ 0 =0,9. λ k+1 = λ k np n (λ k ) P n(λ k ) ± Γ(λ k ), Γ(λ k ) = (n 1)[((n 1)(P n(λ k )) 2 np n (λ k )P n (λ k )]. Posloupnost iterací zapíšeme do tabulky. k λ k P (λ k ) 0 0.9000 2.85810 1 0.7209 1.08077 2 0.6417 0.39516 3 0.6106 0.14190 4 0.5989 0.04891 5 0.5949 0.01741 6 0.5934 0.00563 7 0.5930 0.00250 8 0.5928 9.2744 10 4 29
Kapitola 3 Polynomy 3.3 Graeffova-Lobačovského iterační metoda Tato iterační metoda slouží k přibližnému určení polohy všech kořenů polynomu. Budeme předpokládat a 0 0. Upravme polynom P na rozklad kořenových činitelů a n x n + a n 1 x n 1 +... + a 1 x + a 0 = a n (x x 1 )(x x 2 )...(x x n ). Roznásobením pravé strany a následným srovnáním koeficientů získáme tzv. Vietovy vzorce a n 1 = (x 1 + x 2 +... + x n ), a n a n 2 = ( 1) 2 (x 1 x 2 + x 1 x 3 +... + x n 1 x n ), a n a 0 a n = ( 1) n (x 1 x 2...x n ). Princip metody předvedeme na příkladu. Uvažujme následující rovnici a 2 x 2 + a 1 x + a 0 = 0. Podle Vietových vzorců platí x 1 + x 2 = a 1 a 2, x 1 x 2 = a 0 a 2. (3.2) V případě, že se kořeny x 1 a x 2 od sebe výrazně liší (tj. x1 x 2 ), platí potom x 2 x 1, 1 x 1 + x 2 = a 1, a 2 ( x 1 1 + x ) 2 = a 1. x 1 a 2 Zanedbáním členu x 2 x 1 získáme x 1 a 1 a 2 a následným dosazením do vztahu x 1 x 2 = a 0 a 2 dostáváme hodnotu x 2 a 0 a 1, 30
Kapitola 3 Polynomy kterou můžeme považovat za první přiblížení. Nyní umocníme vztah (4.2), úpravou dostaneme x 2 1 + x 2 2 = a2 1 2a 0 a 2 a 2 2, x 2 1x 2 2 = a2 0. a 2 2 Protože součet i součin druhých mocnin kořenů známe, můžeme sestavit rovnici b 2 y 2 + b 1 y + b 0 = 0, která má kořeny y 1 = x 2 1 a y 2 = x 2 2, kde b 2 = a 2 2, b 1 = (a 2 1 2a 0 a 2 ), b 0 = a 2 0. Analogicky určíme i jejich aproximace y 1 b 1 b 2, y 2 b 0 b 1, z čehož vyplývá x 1 b 1 b 2, x 2 b 0 b 1. Poznámka 5. Pro x 2 x x 1 1 platí, že zlomek 2 2 x 2 bude ještě menší a aproximace 1 ještě přesnější. Nyní jsme popsali základní princip Graeffovy-Lobačovského iterační metody a můžeme tak shrnout obecný postup. Hledáme aproximace kořenů x 1,..., x n rovnice P n (x) = 0. Předpokládáme, že kořeny jsou dobře rozlišitelné, tzn. jsou reálné a prosté. Vytvoříme posloupnost polynomů P 0, P 1,..., P k, kde P 0 = P n (x), P k = a k nx n + a k n 1x n 1 +... + a k 1x + a k 0 a k n = (a k 1 n ) 2, a k n 1 = (a k 1 n 1) 2 2a k 1 n a k 1 n 2, a k n 2 = (a k 1 n 2) 2 2a k 1 n 1a k 1 n 3 + 2a k 1 n... ( 1) n 1 a k 1 = (a k 1 1 ) 2 2a k 1 2 a k 1 0, 31 a k 1 n 4,
Kapitola 3 Polynomy ( 1) n a k 0 = (a k 1 0 ) 2. Pro kořeny platí x j = 2k a k n j a k n j+1, j = 1, 2,..., n. Výpočet zastavíme, pokud a k i (a k 1 i ) 2 i = 0, 1, 2,... Příklad 3.3. Použitím Graeffovy-Lobačovského metody určete kořeny rovnice x 4 4x 3 + 3x 2 + 2x 6 = 0. Řešení. Nejprve sestavíme odpovídající posloupnost polynomů s koeficienty a 0,..., a 4 k a 4 a 3 a 2 a 1 a 0 0 1 4 3 2 6 1 1 10 13 40 36 2 1 74 559 664 1296 3 1 6594 218801 1889824 1679616 A dále pokračujeme výpočtem α 1 8 6594 1. = 3.0019 dosazením do rovnice polynomu ze zadání dostáváme P (α 1 ) 0.00381, P ( α 1 ) 204.44 Za první odhad tedy bereme x 1 = 3.0019. Spočítáme další iteraci α 2 8 1679616 1889824. = 0.9854 P (0.9854) 4.00639, P 4 ( 0.9854) 0.28755 32
Kapitola 3 Polynomy Vidíme, že v dalších sloupcích se mění znaménka a je tedy třeba hledat komplexní kořeny. Pro náročnost výpočet nyní ukončíme. Jak je vidět, aplikace této metoda je poměrně komplikovaná. Její výhodou je to, že nevyžaduje odhad počáteční aproximace. Jejím použitím můžeme navíc hledat více než 1 kořen. V praxi bychom tedy mohli v této části výpočtu vzít hodnoty α 1 a α 2 a použít je jako dobré startovací aproximace pro některou z rychleji konvergujících metod. 33
Kapitola 4 Soustavy nelineárních rovnic Nyní se budeme zabývat soustavami nelineárních rovnic o n neznámých f 1 (x 1,..., x n ) = 0 f n (x 1,..., x n ) = 0. (4.1) Soustavu (4.1) můžeme zapisovat také ve vektorovém tvaru: f(x) = 0, kde f(x) = f 1 (x 1,..., x n ). f n (x 1,..., x n ) = f 1 (x). f n (x) a 0 = 0. 0 Rn Řekneme, že řešením soustavy (4.1) je každý vektor x =( x 1,..., x n ) T, pro který platí f(x) = 0. V textu budeme dále předpokládat, že funkce (4.1) jsou spojité a mají v daném případě tolik spojitých derivací, kolik jich je potřeba. Při hledání kořenů soustav nelineárních rovnic je získání řešení podmíněno splněním konvergenčních podmínek, proto je důležité umět polohu vektoru x buď vhodně 34
Kapitola 4 Soustavy nelineárních rovnic odhadnout nebo se k ní umět přiblížit. Pro soustavy nelineárních rovnic neexistuje univerzální metoda, která by se dala použít ke spolehlivému odhadu počáteční aproximace. Více je o této problematice pojednáno v [2]. Definice 4.1. Metriku v R n definujeme jako ϱ(x, y) = max 1 i n x i y i. Prostor s touto metrikou se nazývá úplný metrický prostor. Poznámka 6. O ukončení výpočtu se rozhodujeme na základě některého z kriterií kde ε je požadovaná přesnost. x k+1 x k ε x k+1 x k ε x k f(x k+1 ) ε, 4.1 Metoda prosté iterace Věta 4.1. Nechť (M, ϱ) je úplný metrický prostor s metrikou ϱ(x, y) a zobrazení G : M M má vlastnost ϱ(g(x), G(y)) kϱ(x, y) pro x, y X M, 0 k < 1. Pak soustava rovnic x = G(x) má na X jediné řešení x. Důkaz plyne z aplikace Banachovy věty o pevném bodě. Požadované řešení x lze získat následujícím algoritmem: 1. Zvolíme vhodnou počáteční aproximaci x 0 X 35
Kapitola 4 Soustavy nelineárních rovnic 2. x k+1 = G(x k ) pro n = 0, 1, 2,... Jestliže je funkce G diferencovatelná, pak můžeme podmínku 2 nahradit podmínkou q : G (X) q < 1 X D kde G (X) je matice s prvky a i,j = ϕ(x 1,...,x n) x j. V případě dvou rovnic můžeme použít vzorce kde G (X) = 1 ad bc G(X) = a c d b c a b d., Příklad 4.1. Metodou prosté iterace určete řešení soustavy rovnic x = 0, 2 + 0, 1( xy 2 + 3x) y = 0, 6 + 0, 1( x 2 y 3 2y) v oblasti Ω = {[x, y]; 0 x 1, 0 y 1}. Řešení. Platí, že pro [x, y] Ω je [g 1 (x, y), g 2 (x, y)] Ω, 1. podmínka je tedy splněna. Dále je nutno sestavit si Jacobiovu matici G (X) = g 1 (x,y) x g 2 (x,y) x a pro ni provést odhad např. v normě. g 1 (x,y) y g 2 (x,y) = 0, 1y2 + 0, 3 0, 2xy 0, 2xy 3 0, 3x 2 y 2 0, 2 y G (X) = max{ 0, 1y 2 + 0, 3 + 0, 2xy ; 0, 2xy 3 0, + 3x 2 y 2 0, 2 } Zřejmě platí G (X) max{ 0, 3 + 0, 2; 0, 2 + 0, 5 } = 0, 7 pro X = [x, y] Ω. Pro q = 0, 7 je tedy splněna i druhá podmínka. Počáteční aproximace zvolíme 36
Kapitola 4 Soustavy nelineárních rovnic [x 0, y 0 ] = [0, 0]. x 1 = g 1 (x 0, y 0 ) y 1 = g 2 (x 0, y 0 ) x 2 = g 1 (x 1, y 1 ) y 2 = g 2 (x 1, y 1 ) x 3 =... y 3 =... Posloupnosti iterací zaznamenáme do tabulky. k x k y k x k x k 1 y k y k 1 0 0.00000 0.00000 1 0.20000 0.60000 0.200000 0.600000 2 0.25280 0.48086 0.052800-0.119136 3 0.26999 0.50454 0.017195 0.023638 4 0.27413 0.50003 0.004131-0.004509 5 0.27538 0.50094 0.001258 0.009050 6............ 15 0.275832 0.500796 2.936 10 9 1.099 10 10 16 0.275832 0.500796 8.041 10 10 1.012 10 12 4.2 Newtonova metoda pro systémy nelineárních rovnic Odvození Newtonovy metody v n dimenzích se dá opět provést pomocí Taylorova rozvoje. Uvažujme soustavu nelineárních rovnic (4.1) s předpokládaným řešením x =( x 1,..., x n ) T a počáteční aproximací x 0 = (x 0 1,.., x 0 n) T. Linearizací (analogicky jako v jednorozměrném případě) dospějeme ke vztahu f (x k )(x k+1 x k )+f(x k ) = 0 (4.2) 37
Kapitola 4 Soustavy nelineárních rovnic kde f (x) je Jacobiova matice funkce f(x) f (x) = f 1 (x) f 1 (x) x n x 1..... f n(x) x 1... f n(x) x n Vztah (4.2) nyní upravíme do tvaru, s nímž můžeme počítat jednotlivé iterace: x k+1 = x k f (x k )f(x k ), k = 0, 1,... (4.3) Věta 4.2. Nechť soustava f(x) = 0 má řešení x, nechť f (x) je regulární matice se spojitými prvky v okolí O( x), přičemž (f (x)) 1 k, k = konst. pro všechna x z tohoto okolí. Dále nechť funkce f i, i = 1,..., n mají spojité druhé parciální derivace v okolí O( x). Potom při dostatečně blízké počáteční aproximaci x 0 bude posloupnost generovaná Newtonovou metodou konvergovat ke kořenu x. Důkaz je uveden v [6]. Příklad 4.1. Newtonovou metodou určete řešení soustavy rovnic g 1 (x, y) = 0, g 2 (x) = 0 ležící ve čtverci Ω = {[x, y]; 2 x 1, 1 y 2}, kde Řešení. g 1 (x, y) = x 3 xy 2 1 g 2 (x, y) = y 3 2x 2 y + 2 38
Kapitola 4 Soustavy nelineárních rovnic Iterace budeme počítat podle předpisu (4.3). Položme f(x, y) = x3 xy 2 1 y 3 2x 2 y + 2 a f (x, y) = 3x2 y 2 2xy 4x 3y 2 2x 2. Budeme začínat s počáteční aproximací [x 0, y 0 ] = [ 1, 1]. k x k y k g 1 (x k, y k ) g 2 (x k, y k ) 0-1.000000 1.000000-1.000000 1.000000 1-1.500000 2.000000 1.625000 1.000000 2-1.379562 1.673966 0.240186 0.318969 3-1.392137 1.629876 0.000181 0.012211 4-1.394071 1.631182-0.000004-0.000014 5-1.394069 1.631182 2.411 10 6 4.428 10 6 Jak již bylo zmíněno, problematika stanovení počáteční aproximace pro tuto metodu je mnohem náročnější, než v případě nelineárních rovnic. Při aplikaci Newtonovy metody pro systémy nelineárních rovnic je navíc potřeba na každém kroku iterace řešit soustavu (4.2), z čehož vyplývá náročnost této metody na praktické použití. 39
40
Závěr Hlavním cílem této práce bylo seznámit čtenáře s běžně používanými metody pro řešení nelineárních rovnic. Existuje spousta dalších metod, které v textu nebyly zmiňovány, protože by tím byl výrazně překročen plánovaný rozsah práce. V úvodní části jsme se věnovali základním definicím a pojmům. Protože uváděné věty nebyly cílem této práce, byly vypsány bez důkazů. Pro bližší seznámení se doporučuje literatura [5], [1]. 41
Literatura [1] Horský, Z., Vektorové prostory, SNTL: MVšT-II, 1980. [2] Keller, H.B., Isaacson, E., Analysis of numerical methods, New York: Dover publications inc., 1994. [3] Mekwi, W.R., Iterative methods for roots of polynomials, Trinity: University of Oxford, 2001. [4] Stoer, J., Bulirsch,R., Introduction to numerical analysis, New York: Heidelberg, Berlin, 1980. [5] Šalát, T., Metrické priestory, Bratislava: Alfa, 1981. [6] Zelinka, J., Horová, I., Numerické metody, Brno: Masarykova univerzita, 2008. 42