ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Numerick´e metody ˇ Doc. RNDr. Libor Cerm´ ak, CSc.
RNDr. Rudolf Hlaviˇcka, CSc.
´ Ustav matematiky Fakulta strojn´ıho inˇzen´ yrstv´ı Vysok´ e uˇ cen´ı technick´ e v Brnˇ e
23. ledna 2006
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Obsah
5
ˇ sen´ı neline´arn´ıch rovnic Reˇ ´ Uvod Urˇcen´ı poˇc´ateˇcn´ı aproximace Zpˇresˇ nuj´ıc´ı metody Soustavy neline´arn´ıch rovnic Literatura
´ Uvod
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
´ Uvod
Koˇreny neline´arn´ı rovnice f (x) = 0 obecnˇe neum´ıme vyj´adˇrit explicitn´ım vzorcem. K ˇreˇsen´ı neline´arn´ı rovnice proto pouˇz´ıv´ame iteraˇcn´ı metody: z jedn´e nebo nˇekolika poˇc´ateˇcn´ıch aproximac´ı hledan´eho koˇrene x ∗ generujeme posloupnost x0 , x1 , x2 , . . . , kter´a ke koˇrenu x ∗ konverguje. Pro nˇekter´e metody staˇc´ı, kdyˇz zad´ame interval ha, bi, kter´y obsahuje hledan´y koˇren. Jin´e metody vyˇzaduj´ı, aby poˇc´ateˇcn´ı aproximace byla k hledan´emu koˇrenu dosti bl´ızko; na opl´atku takov´e ˇ metody konverguj´ı mnohem rychleji. Casto proto zaˇc´ın´ame s hrubou“, avˇsak ” spolehlivou metodou, a teprve kdyˇz jsme dostateˇcnˇe bl´ızko koˇrene, pˇrejdeme na jemnˇejˇs´ı“, rychleji konverguj´ıc´ı metodu. ” Abychom naˇse u ´vahy zjednoduˇsili, omez´ıme se na probl´em urˇcen´ı re´aln´eho jednoduch´eho koˇrene x ∗ rovnice f (x) = 0, tj. pˇredpokl´ad´ame, ˇze f 0 (x ∗ ) 6= 0. Budeme tak´e automaticky pˇredpokl´adat, ˇze funkce f (x) je spojit´a a m´a tolik spojit´ych derivac´ı, kolik je jich v dan´e situaci zapotˇreb´ı.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Obsah
5
ˇ sen´ı neline´arn´ıch rovnic Reˇ ´ Uvod Urˇcen´ı poˇc´ateˇcn´ı aproximace Zpˇresˇ nuj´ıc´ı metody Soustavy neline´arn´ıch rovnic Literatura
Urˇ cen´ı poˇ c´ ateˇ cn´ı aproximace
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Urˇ cen´ı poˇ c´ ateˇ cn´ı aproximace
Poˇc´ateˇcn´ı aproximaci koˇren˚ u rovnice f (x) = 0 m˚ uˇzeme zjistit z grafu funkce f (x): ruˇcnˇe, nebo radˇeji pomoc´ı vhodn´eho programu na poˇc´ıtaˇci, vykresl´ıme funkci f (x) a vyhled´ame jej´ı pr˚ useˇc´ıky s osou x. Jinou moˇznost´ı je sestaven´ı tabulky [xi , f (xi )] pro nˇejak´e dˇelen´ı a = x0 < x1 · · · < xi−1 < xi < · · · < xn = b zvolen´eho intervalu ha, bi. Kdyˇz ve dvou sousedn´ıch bodech tabulky nab´yv´a funkce f (x) hodnot s opaˇcn´ym znam´enkem, tj. kdyˇz f (xi−1 )f (xi ) < 0, pak mezi body xi−1 a xi leˇz´ı re´aln´y koˇren rovnice f (x) = 0. Pˇr´ıklad 5.1. Z´ısk´ame hrub´y odhad koˇren˚ u rovnice f (x) = 0, kde f (x) = 4 sin x − x 3 − 1 . Z obr´azku 5.1 zjist´ıme, ˇze existuj´ı tˇri koˇreny: x1∗ ∈ (−2, −1), x2∗ ∈ (−1, 0) a x3∗ ∈ (1, 2). 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Urˇ cen´ı poˇ c´ ateˇ cn´ı aproximace
3
y = 4sinx−x −1 4 2 y
0 −2 −4 −6 −2
−1.5
−1
−0.5
0 x
0.5
Obr. 5.1: Graf funkce 4 sin x − x 3 − 1
1
1.5
2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Urˇ cen´ı poˇ c´ ateˇ cn´ı aproximace
Na principu znam´enkov´ych zmˇen je zaloˇzena ulen´ı interval˚ u. Pˇredpokl´adejme, ˇze Metoda bisekce zn´am´a tak´e jako metoda p˚ funkce f (x) m´a v koncov´ych bodech intervalu (a0 , b0 ) opaˇcn´a znam´enka, tj. plat´ı f (a0 )f (b0 ) < 0. Sestroj´ıme posloupnost interval˚ u (a1 , b1 ) ⊃ (a2 , b2 ) ⊃ (a3 , b3 ) ⊃ . . . , kter´e obsahuj´ı koˇren. Intervaly (ak+1 , bk+1 ), k = 0, 1, . . . , urˇc´ıme rekurzivnˇe zp˚ usobem, kter´y si nyn´ı pop´ıˇseme. Stˇred intervalu (ak , bk ) je bod xk+1 = 21 (ak + bk ). Kdyˇz f (xk+1 ) = 0, pak xk+1 = x ∗ je koˇren a d´al nepokraˇcujeme. Pokud f (xk+1 ) 6= 0, poloˇz´ıme ( (ak , xk+1 ) , kdyˇz f (ak )f (xk+1 ) < 0 , (ak+1 , bk+1 ) = (5.1) (xk+1 , bk ) , kdyˇz f (ak )f (xk+1 ) > 0 . Z konstrukce (ak+1 , bk+1 ) okamˇzitˇe plyne f (ak+1 )f (bk+1 ) < 0, takˇze kaˇzd´y interval (ak , bk ) obsahuje koˇren. Po k kroc´ıch je koˇren v intervalu Ik := (ak , bk ) d´elky |Ik | = bk − ak = 2−1 (bk−1 − ak−1 ) = · · · = 2−k (b0 − a0 ) . Stˇred xk+1 intervalu (ak , bk ) aproximuje koˇren x ∗ s chybou |xk+1 − x ∗ | ≤ 21 (bk − ak ) = 2−k−1 (b0 − a0 ) . Pro k → ∞ zˇrejmˇe |Ik | → 0 a xk → x ∗ .
(5.2)
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Urˇ cen´ı poˇ c´ ateˇ cn´ı aproximace
Pˇr´ıklad 5.2. Metodu bisekce aplikujeme na rovnici z pˇr´ıkladu 5.1. Jako poˇc´ateˇcn´ı zvol´ıme interval (a0 , b0 ) = (1, 2). Pˇripomeˇ nme, ˇze f (1) > 0, f (2) < 0. Proto tak´e f (ak ) ≥ 0, f (bk ) ≤ 0 pro kaˇzd´e k. Posloupnost interval˚ u zaznamen´av´ame do tabulky. k
ak
bk
xk+1
0 1 2 3 4 5
1 1 1,25 1,375 1,375 1,40625
2 1,5 1,5 1,5 1,4375 1,4375
1,5 1,25 1,375 1,4375 1,40625 1,421875
f (xk+1 ) <0 >0 >0 <0 >0
Po pˇeti kroc´ıch m´a interval (a5 , b5 ) d´elku 2−5 = 0,03125 a x6 = 1,421875 aproximuje koˇren s chybou nepˇresahuj´ıc´ı 2−6 = 0,015625. 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Urˇ cen´ı poˇ c´ ateˇ cn´ı aproximace
. Metoda bisekce konverguje pomalu: protoˇze 10−1 = 2−3,32 , zpˇresnˇen´ı o jednu dekadickou cifru vyˇzaduje v pr˚ umˇeru 3,32 kroku. Vˇsimnˇete si, ˇze rychlost konvergence vyj´adˇren´a vztahem (5.2) v˚ ubec nez´avis´ı na funkci f (x). To proto, ˇze jsme vyuˇz´ıvali pouze znam´enka funkˇcn´ıch hodnot. Kdyˇz tyto hodnoty (a pˇr´ıpadnˇe tak´e hodnoty derivac´ı f (x)) vyuˇzijeme efektivnˇeji, m˚ uˇzeme dos´ahnout podstatnˇe rychlejˇs´ı konvergence. Takov´e zpˇresˇ nuj´ıc´ı“ metody vˇsak konverguj´ı pouze tehdy, ” kdyˇz pro nˇe zvol´ıme dostateˇcnˇe dobrou poˇc´ateˇcn´ı aproximaci. Vhodn´a poˇc´ateˇcn´ı aproximace b´yv´a ˇcasto urˇcena pr´avˇe metodou bisekce.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Obsah
5
ˇ sen´ı neline´arn´ıch rovnic Reˇ ´ Uvod Urˇcen´ı poˇc´ateˇcn´ı aproximace Zpˇresˇ nuj´ıc´ı metody Soustavy neline´arn´ıch rovnic Literatura
Zpˇresˇ nuj´ıc´ı metody
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Snad nejzn´amˇejˇs´ı mezi nimi je Newtonova metoda nebo-li metoda teˇcen. Jak je u iteraˇcn´ıch metod zvykem, vyjdeme z poˇc´ateˇcn´ı aproximace x0 a postupnˇe poˇc´ıt´ame x1 , x2 , . . . zp˚ usobem, kter´y si ted’ vysvˇetl´ıme. Pˇredpokl´adejme, ˇze zn´ame xk a m´ame urˇcit lepˇs´ı aproximaci xk+1 . Udˇel´ame to tak, ˇze bodem [xk , f (xk )] vedeme teˇcnu ke kˇrivce y = f (x) a pr˚ useˇc´ık teˇcny s osou x povaˇzujeme za xk+1 . Do rovnice teˇcny y = f (xk ) + f 0 (xk )(x − xk ) tedy dosad´ıme y := 0, vypoˇcteme x a poloˇz´ıme xk+1 := x. Tak dostaneme pˇredpis xk+1 = xk −
f (xk ) . f 0 (xk )
(5.3)
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
V´ypoˇcet ukonˇc´ıme a xk+1 povaˇzujeme za dostateˇcnˇe pˇresnou aproximaci koˇrene, pokud |xk+1 − xk | ≤ ε ,
pˇr´ıpadnˇe |xk+1 − xk | ≤ ε|xk | nebo |f (xk+1 )| ≤ ε , (5.4)
kde ε je poˇzadovan´a pˇresnost. T´ım sice nen´ı zaruˇceno, ˇze tak´e |xk+1 − x ∗ | ≤ ε, je to ale obvykl´y zp˚ usob, pomoc´ı nˇehoˇz iterace ukonˇc´ıme. Tato tzv. stop krit´eria jsou vhodn´a i pro dalˇs´ı metody, kter´e v tomto odstavci uvedeme.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
f(x) y=0 [xi,f(xi)] (y−yi)/(x−xi) = f ’(xi)
x3
Obr. 5.2: Newtonova metoda
x2
x1
x0
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Pˇr´ıklad 5.3. Newtonovou metodou urˇc´ıme kladn´y koˇren rovnice z pˇr´ıkladu 5.1. Zvol´ıme x0 = 2. V´ypoˇcet ukonˇc´ıme, kdyˇz |f (xk )| < 10−5 . k 0 1 2 3 4
xk 2 1,607540 1,461090 1,437096 1,436451
f (xk ) −5,362810 −1,156877 −0,143158 −0,003653 −0,000003
f 0 (xk ) f (xk )/f 0 (xk ) −13,66459 −7,899490 −5,966406 −5,662524
0,392460 0,146450 0,023994 0,000645
xk − x ∗ 0,563550 0,171089 0,024640 0,000646 0,000000
Posledn´ı sloupec vyˇzaduje znalost pˇresn´eho ˇreˇsen´ı. To z´ısk´ame proveden´ım jeˇstˇe . jednoho kroku Newtonovy metody. D´a se uk´azat, ˇze x ∗ = x5 = 1,43645032 m´a vˇsechny cifry platn´e. Poˇzadovan´a pˇresnost byla tedy dosaˇzena ve ˇctvrt´em kroku, . x4 = 1,43645 m´a vˇsechny cifry platn´e. 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Konvergence Newtonovy metody. Necht’ ek = xk − x ∗ je chyba v k-t´em kroku. Uk´aˇzeme si, jak souvis´ı s chybou ek+1 v kroku n´asleduj´ıc´ım. Z Taylorova rozvoje f (x ∗ ) okolo xk dostaneme 1 0 = f (x ∗ ) = f (xk ) + (x ∗ − xk )f 0 (xk ) + (x ∗ − xk )2 f 00 (ξ) , 2 kde ξ je nˇejak´y bl´ıˇze neurˇcen´y bod intervalu, jehoˇz krajn´ı body jsou xk a x ∗ . Kdyˇz rovnici dˇel´ıme f 0 (xk ), dostaneme 1 f 00 (ξ) f (xk ) f (xk ) − (x ∗ − xk )2 0 = 0 + (x ∗ − xk ) = x ∗ − xk − 0 = x ∗ − xk+1 , 2 f (xk ) f (xk ) f (xk ) takˇze m´ame ek+1 =
1 f 00 (ξ) 2 e , 2 f 0 (xk ) k
(5.5)
a kdyˇz xk → x ∗ , pak ek+1 −→ C , ek2
kde C =
1 f 00 (x ∗ ) . 2 f 0 (x ∗ )
Protoˇze chyba ek+1 je u ´mˇern´a druh´e mocninˇe chyby ek , ˇr´ık´ame, ˇze Newtonova metoda konverguje kvadraticky nebo tak´e, ˇze je druh´eho ˇr´adu. Uved’me si pˇresnˇejˇs´ı definici:
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Necht’ x0 , x1 , x2 , . . . je posloupnost, kter´a konverguje k x ∗ a ek = xk − x ∗ . Kdyˇz existuje ˇc´ıslo p a konstanta C 6= 0 takov´a, ˇze |ek+1 | =C, k→∞ |ek |p lim
(5.6)
pak p se naz´yv´a ˇr´ad konvergence posloupnosti a C je chybov´a konstanta. Speci´alnˇe ˇr´ık´ame, ˇze line´arn´ı, p = 1 a C < 1, superline´arn´ı, p > 1, konvergence je kdyˇz kvadratick´a, p = 2. ˇ Rekneme, ˇze dan´a metoda je ˇr´adu p, jestliˇze vˇsechny konvergentn´ı posloupnosti z´ıskan´e touto metodou maj´ı ˇr´ad konvergence vˇetˇs´ı nebo rovn´y p a nejm´enˇe jedna z tˇechto posloupnost´ı m´a ˇr´ad konvergence rovn´y pˇresnˇe p. V bl´ızkosti koˇrene plat´ı: ˇc´ım vyˇsˇs´ı ˇr´ad p, t´ım rychlejˇs´ı konvergence, nebot’ |ek+1 | ≈ C |ek |p , takˇze kdyˇz |ek | je mal´e, pak |ek+1 | je t´ım menˇs´ı, ˇc´ım je p vˇetˇs´ı.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
V´ıme uˇz, ˇze kdyˇz Newtonova metoda konverguje, pak rychlost konvergence n kvadratick´a (pro nˇekter´e funkce f m˚ uˇze b´yt i vyˇsˇs´ı). Zb´yv´a xk → x ∗ je alespoˇ jeˇstˇe zodpovˇedˇet ot´azku, za jak´ych podm´ınek je zaruˇceno, ˇze konvergence v˚ ubec nastane. Ukaˇzme si to. Pˇredpokl´adejme, ˇze v nˇejak´em okol´ı I koˇrene plat´ı 1 f 00 (y ) ≤m 2 f 0 (x)
pro vˇsechna
x ∈ I,y ∈ I .
Kdyˇz xk ∈ I , pak z (5.5) plyne |ek+1 | ≤ m|ek |2 nebo-li |mek+1 | ≤ |mek |2 . Opakov´an´ım t´eto u ´vahy dostaneme
|mek+1 | ≤ |mek |2 ≤ |mek−1 |4 ≤ |mek−2 |8 ≤ |mek−3 |16 ≤ · · · ≤ |me0 |r , kde r = 2k+1 . Kdyˇz plat´ı |me0 | < 1, pak jistˇe |ek+1 | → 0 a tedy xk+1 → x ∗ . Dok´azali jsme tedy, ˇze Newtonova metoda vˇzdy konverguje za pˇredpokladu, ˇze poˇc´ateˇcn´ı aproximaci zvol´ıme dostateˇcnˇe bl´ızko ke koˇrenu.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Dobrou poˇc´ateˇcn´ı aproximaci x0 m˚ uˇzeme z´ıskat napˇr. metodou bisekce. Vhodn´ym spojen´ım metody bisekce a Newtonovy metody lze sestrojit kombinovanou metodu, kter´a vˇzdy konverguje, viz napˇr. procedura rtsafe v [Numerical Recipes]. V bl´ızkosti koˇrene se pˇritom uplatn´ı jen Newtonova metoda, takˇze konvergence je rychl´a. Pomoc´ı n´aˇcrtku snadno ovˇeˇr´ıme, ˇze Newtonova metoda konverguje, kdyˇz jsou splnˇeny tzv. Fourierovy podm´ınky: a) f ∈ C 2 ha, bi a pˇritom f (a)f (b) < 0; b) f 0 a f 00 nemˇen´ı na intervalu ha, bi znam´enko a f 0 (x) 6= 0 pro kaˇzd´e x ∈ ha, bi; c) jako x0 vol´ıme ten z bod˚ u a, b, v nˇemˇz je f (x0 )f 00 (x0 ) > 0. Praktick´y v´yznam vˇsak Fourierovy podm´ınky nemaj´ı, nebot’ pro velk´e b − a obvykle tyto podm´ınky bud’to neplat´ı nebo je neum´ıme snadno ovˇeˇrit.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Metoda seˇ cen. V kaˇzd´em kroku Newtonovy metody mus´ıme poˇc´ıtat hodnotu f (xk ) a derivaci f 0 (xk ). Kdyˇz vzorec pro v´ypoˇcet derivace nem´ame k dispozici, nebo kdyˇz n´aklady spojen´e s v´ypoˇctem derivace jsou vysok´e, m˚ uˇzeme derivaci aproximovat pod´ılem f (xk ) − f (xk−1 ) . f 0 (xk ) ≈ xk − xk−1 Tak dostaneme metodu seˇcen: zad´ame dvˇe poˇc´ateˇcn´ı aproximace x0 , x1 a poˇc´ıt´ame x2 , x3 , . . . podle pˇredpisu xk+1 = xk −
xk − xk−1 f (xk ) . f (xk ) − f (xk−1 )
(5.7)
N´azev metody vych´az´ı z jej´ı geometrick´e interpretace: xk+1 je x-ov´a souˇradnice pr˚ useˇc´ıku pˇr´ımky proch´azej´ıc´ı body [xk−1 , f (xk−1 )] a [xk , f (xk )] s osou x: y = f (xk ) +
f (xk ) − f (xk−1 ) (x − xk ) = 0 xk − xk−1
=⇒
x = xk+1 .
Protoˇze tato pˇr´ımka prot´ın´a graf funkce f , je to seˇcna, odtud metoda seˇcen. Vˇsimnˇete si, ˇze v kaˇzd´em kroku vyˇc´ıslujeme hodnotu funkce jen jednou: vypoˇcteme f (xk ), hodnotu f (xk−1 ) pˇrevezmeme z pˇredchoz´ıho kroku.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
f(x) y=0 [xi,f(xi)] (y−y )/(x−x ) = (y −y i
i
i
)/(x −x
i−1
i
)
i−1
x4
Obr. 5.3: Metoda seˇcen
x3
x2
x1
x0
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
D´a se odvodit, √ ˇze rychlost konvergence metody seˇcen je ˇr´adu ˇ ıslo p = 12 (1 + 5) ≈ 1,618, tedy ponˇekud niˇzˇs´ı neˇz u Newtonovy metody. C´ √ τ = ( 5 − 1)/2 ≈ 0,618 je tzv. pomˇer zlat´eho ˇrezu. Toto magick´e ˇc´ıslo se znovu objev´ı v odstavci jednorozmˇern´a minimalizace, kde si o nˇem ˇrekneme trochu v´ıc (viz pozn´amka o zlat´em ˇrezu).
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Pˇr´ıklad 5.4. Metodou seˇcen urˇc´ıme kladn´y koˇren rovnice z pˇr´ıkladu 5.1. Zvol´ıme x0 = 1, x1 = 2. V´ypoˇcet ukonˇc´ıme, kdyˇz bude |f (xk )| < 10−5 . k 0 1 2 3 4 5 6 7
xk 1 2 1,202994 1,327357 1,478177 1,431051 1,436208 1,436452
f (xk ) 1,365884 −5,362810 0,991513 0,543420 −0,246970 0,030349 0,001370 −0,000008
xk − x ∗ −0,436450 0,563550 −0,233456 −0,109094 0,041726 −0,005400 −0,000242 0,000001
Aˇz do ˇctvrt´eho kroku (v´ypoˇcet x5 ) je konvergence pomˇernˇe pomal´a. Teprve v posledn´ıch dvou kroc´ıch se plnˇe uplatnila rychl´a konvergence metody seˇcen. 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Metoda seˇcen zaruˇcenˇe konverguje, pokud zvol´ıme startovac´ı hodnoty x0 a x1 dostateˇcnˇe bl´ızko ke koˇrenu x ∗ . To lze zajistit napˇr. metodou bisekce. Dalˇs´ı metodou, jak z´ıskat dobr´e startovac´ı aproximace, je varianta metody seˇcen zn´am´a jako Metoda regula falsi. Poˇc´ateˇcn´ı aproximace x0 a x1 se vol´ı tak, aby f (x0 )f (x1 ) < 0. Nov´a aproximace xk+1 se opˇet z´ısk´a jako pr˚ useˇc´ık seˇcny s osou x. Seˇcna vˇsak tentokr´at spojuje bod [xk , f (xk )] s bodem [x` , f (x` )], kde ` < k je nejvˇetˇs´ı index, pro kter´y f (x` )f (xk ) < 0. V´ypoˇcet tedy prob´ıh´a podle vzorce xk+1 = xk −
xk − x ` f (xk ) , f (xk ) − f (x` )
k = 1, 2, . . .
(5.8)
Pˇritom pro k = 1 je ` = 0, a po v´ypoˇctu xk+1 urˇc´ıme index ` takto: kdyˇz f (xk+1 )f (xk ) < 0, pak ` = k, v opaˇcn´em pˇr´ıpadˇe se ` nemˇen´ı. V´yhodou metody regula falsi je to, ˇze podobnˇe jako metoda bisekce vˇzdy konverguje: interval Ik , jehoˇz koncov´e body jsou xk a x` , obsahuje koˇren. Na rozd´ıl od metody bisekce vˇsak d´elka intervalu Ik nekonverguje k nule. Rychlost konvergence metody regula falsi je jen line´arn´ı. Metodu regula falsi (podobnˇe jako metodu bisekce) proto pouˇz´ıv´ame pouze pro z´ısk´an´ı dobr´e poˇc´ateˇcn´ı aproximace, pak pˇrech´az´ıme na rychlejˇs´ı metodu.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Pˇr´ıklad 5.5. Metodou regula falsi urˇc´ıme kladn´y koˇren rovnice z pˇr´ıkladu 5.1. Zvol´ıme x0 = 1, x1 = 2. Pˇripomeˇ nme, ˇze f (x0 ) > 0. xk − x ∗
k
x`
xk
xk+1
f (xk+1 )
1 2 3 4 5 6 .. .
1 2 2 2 2 2
2 1,202994 1,327357 1,389245 1,416762 1,428369
1,202994 1,327357 1,389245 1,416762 1,428369 1,433156
0,991513 0,543420 0,253012 0,108896 0,045283 0,018561
−0,233456 −0,109094 −0,047205 −0,019688 −0,008081 −0,003295
14 15
2 2
1,436444 1,436448
1,436448 1,436449
0,000014 0,000006
−0,000002 −0,000001
Z tabulky je vidˇet, ˇze poˇc´ınaje druh´ym krokem x` = 2. D´ale je zˇrejm´e, ˇze do ˇctvrt´eho kroku (v´ypoˇcet x5 ) je pˇresnost metody regula falsi srovnateln´a s pˇresnost´ı
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
metody seˇcen, viz pˇr´ıklad 5.4. V n´asleduj´ıc´ıch kroc´ıch je uˇz ale patrn´a line´arn´ı konvergence: podm´ınka |f (xk )| < 10−5 je splnˇena aˇz pro x16 . Vˇsimnˇete si: d´elka interval˚ u Ik = (xk , 2) (pro k ≥ 2) konverguje k ˇc´ıslu . 2 − x ∗ = 0,563550.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
x3 x0
x2
x4
Obr. 5.4: Regula falsi
x1
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Steffensenova metoda se ˇr´ıd´ı pˇredpisem xk+1 = xk −
f (xk ) , dk
kde dk =
f (xk + f (xk )) − f (xk ) f (xk )
(5.9)
je speci´alnˇe spoˇcten´a aproximace f 0 (xk ) pˇripom´ınaj´ıc´ı dopˇrednou diferenci: f 0 (xk ) ≈ dk =
f (xk + hk ) − f (xk ) , hk
kde hk = f (xk ) .
V kaˇzd´em kroku se funkce f vyhodnocuje dvakr´at: kromˇe hk = f (xk ) se poˇc´ıt´a jeˇstˇe tak´e f (xk + hk ). Oproti metodˇe seˇcen je tu jedno vyhodnocen´ı funkce nav´ıc. Na druh´e stranˇe lze uk´azat, ˇze rychlost konvergence Steffensenovy metody je stejn´a jako u Newtonovy metody, tedy kvadratick´a.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Metoda inverzn´ı kvadratick´ e interpolace. Metoda seˇcen pouˇz´ıv´a dva pˇredchoz´ı body k z´ısk´an´ı dalˇs´ıho, proˇc tedy nepouˇz´ıt tˇri? Body [xk−2 , f (xk−2 )], [xk−1 , f (xk−1 )] a [xk , f (xk )] m˚ uˇzeme proloˇzit parabolu P2 (x) jako kvadratickou funkci promˇenn´e x, a za dalˇs´ı aproximaci xk+1 vybrat ullerova bod, v nˇemˇz parabola protne x-ovou osu. Na tomto principu je zaloˇzena M˝ metoda. Pot´ıˇz je v tom, ˇze parabola nemus´ı x-ovou osu protnout, nebot’ kvadratick´a funkce nemus´ı m´ıt re´aln´e koˇreny. V´ypoˇcet je proto tˇreba prov´adˇet v komplexn´ı aritmetice, a to i v pˇr´ıpadˇe, ˇze rovnice f (x) = 0 m´a jen re´aln´e koˇreny. M´ısto paraboly v promˇenn´e x m˚ uˇzeme tˇremi body proloˇzit parabolu Q2 (y ) v promˇenn´e y , urˇcenou interpolaˇcn´ımi podm´ınkami Q2 (f (xk−2 )) = xk−2 ,
Q2 (f (xk−1 )) = xk−1 ,
Q2 (f (xk )) = xk .
Tato parabola vˇzdy prot´ın´a x-ovou osu, staˇc´ı zvolit y = 0. Proto jako dalˇs´ı aproximaci vol´ıme xk+1 = Q2 (0). Tato metoda je zn´ama jako metoda inverzn´ı kvadratick´e interpolace. Jej´ı konvergence je superline´arn´ı ˇr´adu p ≈ 1, 839, viz [Heath].
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Brentova metoda. Metoda inverzn´ı kvadratick´e interpolace spolu s metodou seˇcen a metodou bisekce jsou z´akladem popul´arn´ı Brentovy metody, viz napˇr. [Moler], d´ale tak´e program zbrent v [Numerical Recipes] nebo funkce fzero v MATLABu. Pˇrednost´ı Brentovy metody je to, ˇze nepouˇz´ıv´a derivace funkce f , je spolehliv´a, tj. zaruˇcenˇe konverguje ke koˇrenu, a po nˇekolika poˇc´ateˇcn´ıch kroc´ıch se chyba rychle zmenˇsuje, nebot’ rychlost konvergence je superline´arn´ı. Startovac´ı body x0 a x1 je tˇreba zvolit tak, aby f (x0 )f (x1 ) < 0. Aproximace x2 se urˇc´ı metodou seˇcen. Necht’ (a1 , b1 ) je interval, jehoˇz koncov´e body jsou x0 a x1 . Pak zˇrejmˇe x2 ∈ (a1 , b1 ). Dalˇs´ı aproximaci x3 budeme hledat v kratˇs´ım intervalu (a2 , b2 ) ⊂ (a1 , b1 ), jehoˇz jeden koncov´y bod je x2 a druh´y je ten z bod˚ u a1 , b1 , v nˇemˇz m´a funkce f opaˇcn´e znam´enko neˇz v x2 , takˇze f (a2 )f (b2 ) < 0 a (a2 , b2 ) obsahuje koˇren.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Pˇri v´ypoˇctu x3 , x4 , . . . Brentova metoda pouˇz´ıv´a jednu ze tˇr´ı z´akladn´ıch metod tak, aby nov´a aproximace xk+1 ∈ (ak , bk ). D´ale se vybere interval (ak+1 , bk+1 ) ⊂ (ak , bk ) obsahuj´ıc´ı koˇren. Jedn´ım z jeho koncov´ych bod˚ u je xk+1 , druh´ym je ten z bod˚ u ak , bk , v nˇemˇz m´a funkce f znam´enko opaˇcn´e neˇz v xk+1 . Pˇri v´ypoˇctu xk+1 se pˇrednostnˇe pouˇzije metoda inverzn´ı kvadratick´e interpolace, pokud takto z´ıskan´a aproximace nen´ı dostateˇcnˇe dobr´a, zkus´ı se metoda seˇcen, a kdyˇz ani ta nezabere, pouˇzije se jako z´achrana metoda bisekce. Podrobnˇejˇs´ı popis Brentovy metody je uveden napˇr. v [Moler], [Numerical Recipes].
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Pˇr´ıklad 5.6. Budeme hledat kladn´y koˇren rovnice z pˇr´ıkladu 5.1 a porovn´ame jednotliv´e metody podle poˇctu pk krok˚ u a poˇctu pf vyhodnocen´ı funkce f (u Newtonovy metody do pf zahrneme tak´e poˇcet vyhodnocen´ı derivace f 0 ). Pro v´ypoˇcet Brentovou metodou jsme pouˇzili upraven´y program fzerotx, viz [Moler]. V´ypoˇcet jsme zah´ajili takto: v metodˇe bisekce poˇc´ateˇcn´ı interval (a0 , b0 ) = (1, 2), v Newtonovˇe a Steffensenovˇe metodˇe x0 = 2, v ostatn´ıch metod´ach x0 = 1 a x1 = 2. Pouˇzili jsme stop krit´erium |f (xn )| < ε. V tabulce jsou uvedeny hodnoty pk/pf pro nˇekolik toleranc´ı ε. ε bisekce regula falsi seˇcny Newton Steffensen Brent
10−3
10−6
10−9
10−12
10−15
9/11 10/12 6/8 4/8 4/8 6/7
19/21 17/19 7/9 5/10 5/10 7/8
29/31 25/27 8/10 5/10 6/12 7/8
39/41 33/35 8/10 6/12 6/12 8/9
49/51 40/42 9/11 6/12 7/14 8/9
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Nejmenˇs´ı pk m´a Newtonova metoda, nejmenˇs´ı pf Brentova metoda. Z v´ypisu o pr˚ ubˇehu v´ypoˇctu Brentovou metodou vypl´yv´a, ˇze se ani jednou nepouˇzila bisekce, proto tak skvˇel´y v´ysledek. 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Pozn´ amka (O metodˇe prost´e iterace). Pˇredpokl´adejme, ˇze funkce g ∈ C ha, bi splˇ nuje tyto dvˇe podm´ınky: (α) g (x) ∈ ha, bi
∀x ∈ ha, bi,
(β) existuje ˇc´ıslo q, 0 ≤ q < 1, takov´e, ˇze |g (x) − g (y )| ≤ q|x − y | ∀x, y ∈ ha, bi . Pak rovnice x = g (x) m´a v ha, bi jedin´e ˇreˇsen´ı x ∗ a posloupnost postupn´ych aproximac´ı xk+1 = g (xk ), k = 0, 1, . . . , konverguje k x ∗ pro kaˇzd´e x0 ∈ ha, bi. Bod x ∗ = g (x ∗ ) se naz´yv´a pevn´y bod funkce g (zobrazuje x ∗ na sebe). N´asleduje n´aˇcrt d˚ ukazu. 1) Existence. Z podm´ınky (α) plyne g (a) ≥ a, g (b) ≤ b, odtud (a − g (a)) · (b − g (b)) ≤ 0, takˇze v ha, bi leˇz´ı koˇren rovnice x − g (x) = 0. 2) Jednoznaˇcnost. Necht’ pro x ∗ , y ∗ ∈ ha, bi plat´ı x ∗ = g (x ∗ ), y ∗ = g (y ∗ ). Podle (β) |x ∗ − y ∗ | = |g (x ∗ ) − g (y ∗ )| ≤ q|x ∗ − y ∗ |, coˇz je moˇzn´e jedinˇe kdyˇz x ∗ = y ∗ . 3) Konvergence. Podle (β) je |xk − x ∗ | = |g (xk−1 ) − g (x ∗ )| ≤ q|xk−1 − x ∗ |. Opakov´an´ım t´eto u ´vahy dostaneme nakonec |xk − x ∗ | ≤ q k |x0 − x ∗ | → 0 pro k → ∞, takˇze xk → x ∗ . M´ısto podm´ınky (β) m˚ uˇzeme pro g ∈ C 1 ha, bi pouˇz´ıt silnˇejˇs´ı podm´ınku
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
(β 0 ) |g 0 (x)| ≤ q < 1
Zpˇresˇ nuj´ıc´ı metody
∀x ∈ ha, bi .
Podle vˇety o stˇredn´ı hodnotˇe totiˇz g (x) − g (y ) = g 0 (ξ)(x − y ), kde ξ leˇz´ı mezi x a y , takˇze pro x, y ∈ ha, bi podle (β 0 ) je |g (x) − g (y )| = |g 0 (ξ)| · |x − y | ≤ q|x − y |, tj. plat´ı (β). Vˇsimnˇete si, ˇze pro ha, bi = hx ∗ − δ, x ∗ + δi je platnost podm´ınky (α) d˚ usledkem platnosti podm´ınky (β): |g (x) − x ∗ | = |g (x) − g (x ∗ )| ≤ q|x − x ∗ | < |x − x ∗ |, tj. kdyˇz |x − x ∗ | ≤ δ, pak tak´e |g (x) − x ∗ | ≤ δ. Pˇribliˇzn´y v´ypoˇcet koˇrene x ∗ rovnice x = g (x) podle formule xk+1 = g (xk ) se naz´yv´a metoda prost´e iterace nebo tak´e metoda postupn´ych aproximac´ı. Podm´ınky (α) a (β) nebo (β 0 ) jsou postaˇcuj´ıc´ı pro konvergenci t´eto metody. Vhodnou u ´pravou rovnice f (x) = 0 na tvar x = g (x) m˚ uˇzeme dostat ˇradu r˚ uzn´ych konkr´etn´ıch metod. Tak tˇreba pro g (x) = x − f (x)/f 0 (x) dostaneme Newtonovu metodu. Rychlost konvergence posloupnosti postupn´ych aproximac´ı {xk }∞ avis´ı na k=0 z´ chov´an´ı funkce g v bodˇe x ∗ . Jsou-li splnˇeny podm´ınky (α) a (β) nebo (β 0 ), a m´a-li g dostateˇcn´y poˇcet spojit´ych derivac´ı, daj´ı se dok´azat n´asleduj´ıc´ı tvrzen´ı. • Pokud g 0 (x ∗ ) 6= 0, je ˇr´ad konvergence roven jedn´e a plat´ı |xk+1 − x ∗ | ≤ q|xk − x ∗ |. • Pokud g 0 (x ∗ ) = 0 a g 00 (x ∗ ) 6= 0, je ˇr´ad konvergence roven dvˇema.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
• Obecnˇe, pokud jsou derivace g (s) (x ∗ ) = 0, s = 1, 2, . . . , r − 1, a g (r ) (x ∗ ) 6= 0, konvergence je ˇr´adu r . Pro Newtonovu metodu g 0 (x) = f (x)f 00 (x)/(f 0 (x))2 , tj. g 0 (x ∗ ) = 0, takˇze konvergence xk → x ∗ je ˇr´adu alespoˇ n dva (coˇz potvrzuje n´am jiˇz zn´am´y v´ysledek). D´a se tak´e dok´azat, ˇze kdyˇz |g 0 (x ∗ )| > 1, pak pro x0 6= x ∗ posloupnost postupn´ych aproximac´ı k x ∗ konvergovat nem˚ uˇze. 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Pˇr´ıklad 5.7. Neline´arn´ı rovnice f (x) = x 2 − 2x − 3 = 0 m´a koˇreny x ∗ = −1 a x ∗ = 3. Prozkoum´ame konvergenci ke koˇrenu x ∗ = 3 pro nˇekolik iteraˇcn´ıch funkc´ı g . 1. g (x) = (x 2 − 3)/2, g 0 (x) = x, |g 0 (3)| = 3, pro x0 6= 3 konvergence nenastane. √ √ 2. g (x) = 2x + 3, g 0 (x) = 1/ 2x + 3, |g 0 (3)| = 1/3, line´arn´ı konvergence nastane napˇr. √ pro libovoln´e x0 z intervalu h2, 4i, nebot’ v nˇem |g 0 (x)| ≤ 1/ 7. 3. g (x) = 2 + 3/x, g 0 (x) = −3/x 2 , |g 0 (3)| = 1/3, line´arn´ı konvergence nastane napˇr. pro libovoln´e x0 z intervalu h2, 4i, nebot’ v nˇem |g 0 (x)| ≤ 3/4. 4. g (x) = (x 2 + 3)/(2x − 2), g 0 (x) = 2(x 2 − 2x − 3)/(2x − 2)2 , g 0 (3) = 0, g 00 (3) = 1/2, kvadratick´a konvergence nastane napˇr. pro x0 z intervalu h2,5; 3,5i, v nˇemˇz |g 0 (x)| < 0,39, jak snadno zjist´ıme. Ovˇeˇrte, ˇze tato iteraˇcn´ı funkce odpov´ıd´a Newtonovˇe metodˇe. 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
ˇ ˇze koˇren x ∗ rovnice f (x) = 0 m´a Pozn´ amka (O n´asobn´ych koˇrenech). Rekneme, ∗ q n´asobnost q, jestliˇze funkce g (x) = f (x)/(x − x ) je v bodˇe x ∗ definov´ana a koˇren v nˇem uˇz nem´a, tj. kdyˇz 0 < |g (x ∗ )| < ∞. Jestliˇze m´a funkce f (x) v okol´ı koˇrene x ∗ spojit´e derivace aˇz do ˇr´adu q vˇcetnˇe, pak f (j) (x ∗ ) = 0, j = 0, 1, . . . , q − 1. Nˇekter´e z doposud uveden´ych metod lze pouˇz´ıt tak´e pro nalezen´ı n´asobn´ych koˇren˚ u, konvergence vˇsak b´yv´a pomalejˇs´ı. Tak tˇreba Newtonova metoda konverguje jen line´arnˇe s chybovou konstantou C = (q − 1)/q. Kdyˇz oˇcek´av´ame, ˇze rovnice f (x) = 0 m˚ uˇze m´ıt n´asobn´e koˇreny, je vhodn´e vyuˇz´ıt toho, ˇze funkce u(x) = f (x)/f 0 (x) m´a pouze jednoduch´e koˇreny. M´ısto rovnice f (x) = 0 tedy ˇreˇs´ıme rovnici u(x) = 0. 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Pozn´ amka (O dosaˇziteln´e pˇresnosti). Necht’ xk je aproximace jednoduch´eho koˇrene rovnice f (x) = 0. Pomoc´ı vˇety o stˇredn´ı hodnotˇe dostaneme f (xk ) = f (xk ) − f (x ∗ ) = f 0 (ξ)(xk − x ∗ ) , kde ξ je nˇejak´y bod leˇz´ıc´ı mezi xk a x ∗ . Pˇredpokl´adejme, ˇze pˇri v´ypoˇctech pracujeme jen s pˇribliˇzn´ymi hodnotami f˜(xk ) = f (xk ) + δk , pˇriˇcemˇz |δk | ≤ δ. Pak nejlepˇs´ı v´ysledek, kter´eho m˚ uˇzeme dos´ahnout, je f˜(xk ) = 0. V tom pˇr´ıpadˇe |f (xk )| ≤ δ, takˇze |xk − x ∗ | =
δ δ |f (xk )| ≤ 0 ≈ 0 ∗ =: ε∗x , |f 0 (ξ)| |f (ξ)| |f (x )|
pokud se f 0 v bl´ızkosti koˇrene pˇr´ıliˇs nemˇen´ı. Vypoˇc´ıtat x ∗ s menˇs´ı chybou neˇz ε∗x nelze. Proto se ε∗x naz´yv´a dosaˇziteln´a pˇresnost koˇrene x ∗ . Vˇsimnˇete si: kdyˇz je velikost smˇernice |f 0 (x ∗ )| v koˇrenu x ∗ mal´a, je dosaˇziteln´a pˇresnost ε∗x velk´a, viz obr. 5.5. V takov´em pˇr´ıpadˇe je v´ypoˇcet koˇrene x ∗ ˇspatnˇe podm´ınˇen´y probl´em.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
f(x) y=0
x*−ε*
x
x*+ε*
x
Obr. 5.5: Dosaˇziteln´ a pˇresnost koˇrene
Podobn´a u ´vaha pro koˇren n´asobnosti q d´av´a dosaˇzitelnou pˇresnost εx =
δ·q! f (q) (x ∗ )
1/q .
Exponent 1/q je pˇr´ıˇcinou toho, ˇze v´ypoˇcet n´asobn´eho koˇrene je obecnˇe ˇspatnˇe podm´ınˇen´a u ´loha. Tak tˇreba pro f (x) = x q je x ∗ = 0 koˇren n´asobnosti q 1/q a εx = δ . Pro q = 15 a δ = 10−15 dostaneme εx = 0,1! 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Zpˇresˇ nuj´ıc´ı metody
Pozn´ amka (O koˇrenech polynom˚ u). Polynom pn (x) stupnˇe n m´a n obecnˇe komlexn´ıch koˇren˚ u. Pro v´ypoˇcet jednoduch´ych re´aln´ych koˇren˚ u funkce f (x) = pn (x) lze pouˇz´ıt libovolnou z dosud uveden´ych metod. O tom, jak se vypoˇr´adat s pˇr´ıpadn´ymi n´asobn´ymi koˇreny, pojedn´av´a v´yˇse uveden´a pozn´amka. Pro v´ypoˇcet komplexn´ıch koˇren˚ u lze pouˇz´ıt napˇr. Newtonovu metodu, v n´ıˇz jako poˇc´ateˇcn´ı aproximaci vol´ıme komplexn´ı ˇc´ıslo. Pokud n´as zaj´ımaj´ı vˇsechny koˇreny polynomu, tak po nalezen´ı re´aln´eho koˇrene x ∗ polynom pn (x) dˇel´ıme ˇclenem x − x ∗ . Tak dostaneme polynom pn−1 (x) = pn (x)/(x − x ∗ ) stupnˇe n − 1 a d´ale hled´ame jeho koˇreny. Kdyˇz je x ∗ komplexn´ı koˇren, pak je koˇrenem tak´e komplexnˇe sdruˇzen´e ˇc´ıslo x¯∗ . V tom pˇr´ıpadˇe dˇel´ıme pn (x) kvadratick´ym polynomem (x − x ∗ )(x − x¯∗ ), jehoˇz koeficienty jsou re´aln´a ˇc´ısla. Tak dostaneme polynom pn−2 (x) stupnˇe n − 2 s re´aln´ymi koeficienty a pokraˇcujeme hled´an´ım jeho koˇren˚ u. Pro v´ypoˇcet koˇren˚ u polynom˚ u jsou navrˇzeny tak´e speci´aln´ı, velmi efektivn´ı metody, o nichˇz lze z´ıskat informace napˇr. v [Stoer, Bulirsch]. 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Obsah
5
ˇ sen´ı neline´arn´ıch rovnic Reˇ ´ Uvod Urˇcen´ı poˇc´ateˇcn´ı aproximace Zpˇresˇ nuj´ıc´ı metody Soustavy neline´arn´ıch rovnic Literatura
Soustavy neline´ arn´ıch rovnic
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Mnoh´e z metod urˇcen´ych pro ˇreˇsen´ı jedn´e neline´arn´ı rovnice lze zobecnit na ˇreˇsen´ı soustav neline´arn´ıch rovnic. Bohuˇzel to neplat´ı pro metodu bisekce ani pro metodu regula falsi. A co je jeˇstˇe horˇs´ı: pro soustavy neline´arn´ıch rovnic nen´ı zn´ama ˇz´adn´a univerz´aln´ı metoda, kter´a by dok´azala spolehlivˇe urˇcit dostateˇcnˇe dobrou poˇc´ateˇcn´ı aproximaci ˇreˇsen´ı. Uspokojivou poˇc´ateˇcn´ı aproximaci proto mus´ıme odhadnout. Pomoci n´am m˚ uˇze znalost konkr´etn´ıho probl´emu, kter´y na ˇreˇsen´ı neline´arn´ı soustavy vede. Odhad ˇreˇsen´ı lze nˇekdy z´ıskat tak´e na z´akladˇe pomocn´ych v´ypoˇct˚ u proveden´ych za zjednoduˇsuj´ıc´ıch pˇredpoklad˚ u, napˇr´ıklad tak, ˇze neline´arn´ı probl´em aproximujeme vhodn´ym probl´emem line´arn´ım.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Uvaˇzujme tedy soustavu n neline´arn´ıch rovnic o n nezn´am´ych f1 (x1 , x2 , . . . , xn ) = 0 , f2 (x1 , x2 , . . . , xn ) = 0 , .. . fn (x1 , x2 , . . . , xn ) = 0 ,
nebo-li
f(x) = o ,
(5.10)
kde
x1 x2 x = . , .. xn
f1 (x1 , x2 , . . . , xn ) f1 (x) f2 (x1 , x2 , . . . , xn ) f2 (x) f(x) = ≡ .. .. . . fn (x1 , x2 , . . . , xn )
0 0 a o = .. ..
fn (x)
ˇ sen´ım soustavy (5.10) je kaˇzd´y ˇc´ıseln´y vektor x∗ , pro kter´y f(x∗ ) = o. Reˇ
0
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
V tomto odstavci budeme automaticky pˇredpokl´adat, ˇze funkce f(x) je spojit´a a m´a tolik spojit´ych derivac´ı, kolik je jich v dan´e situaci zapotˇreb´ı. Newtonova metoda a jej´ı modifikace. Pro n = 1 lze Newtonovu metodu odvodit tak´e z Taylorova rozvoje . 0 = f (x ∗ ) = f (xk ) + (x ∗ − xk )f 0 (xk ) + chyba = f (xk ) + (x ∗ − xk )f 0 (xk ) tak, ˇze pˇribliˇznou rovnost nahrad´ıme rovnost´ı a m´ısto x ∗ p´ıˇseme xk+1 , tj. poˇc´ıt´ame f 0 (xk )(xk+1 − xk ) + f (xk ) = 0 ,
k = 0, 1, . . . .
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Podobnˇe lze pomoc´ı Taylorovy formule v n dimenz´ıch odvodit Newtonovu metodu pro soustavu (5.10), f 0 (xk )(xk+1 − xk ) + f(xk ) = o , (5.11) kde f 0 (x) je Jacobiova matice funkce ∂f1 (x) ∂x1 ∂f2 (x) f 0 (x) = ∂x1 .. . ∂fn (x) ∂x1
f(x), tj. ∂f1 (x) ∂x2 ∂f2 (x) ∂x2 .. . ∂fn (x) ∂x2
... ...
...
∂f1 (x) ∂xn ∂f2 (x) ∂xn . .. . ∂fn (x) ∂xn
V´ypoˇcet organizujeme tak, ˇze nejdˇr´ıve vyˇreˇs´ıme soustavu line´arn´ıch rovnic f 0 (xk ) dk = −f(xk )
a pak urˇc´ıme
xk+1 = xk + dk .
(5.12)
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Kdyˇz je matice f 0 (xk ) regul´arn´ı, m˚ uˇzeme line´arn´ı soustavu rovnic vyˇreˇsit metodami popsan´ymi v kapitole ˇreˇsen´ı soustav line´arn´ıch rovnic, (je-li f 0 (xk ) singul´arn´ı, je tˇreba metodu vhodnˇe modifikovat, popˇr. v´ypoˇcet jako ne´ uspˇeˇsn´y ukonˇcit). Pro velk´e n a ˇr´ıdkou matici f 0 (x) lze efektivnˇe pouˇz´ıt iteraˇcn´ı metody (xk je dobr´a poˇc´ateˇcn´ı aproximace, nav´ıc xk+1 nen´ı tˇreba poˇc´ıtat pˇr´ıliˇs pˇresnˇe, nebot’ je to jen meziv´ysledek na cestˇe k nalezen´ı x∗ ). Newtonova metoda konverguje, pokud je poˇc´ateˇcn´ı aproximace x0 dostateˇcnˇe bl´ızko koˇrene x∗ . Rychlost konvergence je kvadratick´a, tj. existuje okol´ı O(x∗ ) bodu x∗ a konstanta C takov´a, ˇze kxk+1 − x∗ k ≤ C kxk − x∗ k2
∀ xk ∈ O(x∗ ) .
Pro ukonˇcen´ı iterac´ı pouˇzijeme nˇekter´e ze stop kriteri´ı kxk+1 − xk k < ε ,
kxk+1 − xk k < εkxk k ,
nebo kf(xk+1 )k ≤ ε ,
(5.13)
kde ε je zadan´a pˇresnost. Tato krit´eria jsou obecnˇe pouˇziteln´a tak´e pro dalˇs´ı metody, kter´e si v t´eto kapitole uvedeme.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
V kaˇzd´em kroku Newtonovy metody je tˇreba ˇreˇsit soustavu line´arn´ıch rovnic (5.11), coˇz pro velk´e n pˇredstavuje znaˇcn´y objem v´ypoˇct˚ u. Nav´ıc je tˇreba v kaˇzd´em kroku vypoˇc´ıtat n2 sloˇzek ∂fi (xk )/∂xj matice f 0 (xk ). To m˚ uˇze b´yt tak´e velmi obt´ıˇzn´e v pˇr´ıpadˇe, ˇze parci´aln´ı derivace nejsou urˇceny jednoduch´ymi vzorci. Proto se nˇekdy postupuje tak, ˇze se f 0 (xk ) pˇrepoˇc´ıt´av´a jen obˇcas, napˇr. kaˇzd´ych m krok˚ u, tj. xk+1 poˇc´ıt´ame podle f 0 (xp )(xk+1 − xk ) + f(xk ) = o ,
k = p, p + 1, . . . , p + m − 1 ,
p = 0, m, 2m, . . . .
V takov´em pˇr´ıpadˇe je u ´ˇceln´e rozloˇzit matici f 0 (xp ) pomoc´ı LU rozkladu na souˇcin doln´ı troj´ uheln´ıkov´e matice Lp a horn´ı troj´ uheln´ıkov´e matice Up , f 0 (xp ) = Lp Up . Tato n´aroˇcn´a operace se provede jen pro k = 0, m, 2m, . . . . Aproximaci xk+1 pak dostaneme ˇreˇsen´ım dvou soustav line´arn´ıch rovnic s troj´ uheln´ıkov´ymi maticemi, Lp y = −f(xk ) ,
Up dk = y ,
xk+1 = xk + dk .
Pro k ∈ / {0, m, 2m, . . . } tedy prov´ad´ıme jen lacin´e“ zpˇetn´e chody. ”
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Parci´aln´ı derivace v Jacobiovˇe matici f 0 (x) se ˇcasto aproximuj´ı pomoc´ı diferenˇcn´ıch pod´ıl˚ u, fi (x1 , . . . , xj + hj , . . . , xn ) − fi (x) ∂fi (x) ≈ ∆ij (x, h) := , ∂xj hj kde hj 6= 0 jsou vhodnˇe zvolen´e parametry, h = (h1 , h2 , . . . , hn )T . Pro mal´e hj > 0 je ∆ij (x, h) standardn´ı aproximace ∂fi (x)/∂xj dopˇrednou diferenc´ı. Matice ∆(x, h) s prvky ∆ij (x, h) je aproximac´ı Jacobiovy matice f 0 (x). Kdyˇz tedy v (5.11) nahrad´ıme f 0 (xk ) pomoc´ı ∆(xk , hk ), dostaneme diskretizovanou Newtonovu metodu ∆(xk , hk )(xk+1 − xk ) + f(xk ) = o . (5.14) (k)
Zobecnˇenou metodu seˇcen dostaneme, kdyˇz za j-tou sloˇzku hj (k) hj
(k−1) xj
(k) xj
vektoru hk
dosad´ıme = − (pro n = 1 je pak rovnice (5.14) totoˇzn´a s pˇredpisem (5.7)) a zobecnˇenou Steffensenovu metodu obdrˇz´ıme, kdyˇz poloˇz´ıme (k) ˇ ad hj = fj (xk ) (pro n = 1 je pak rovnice (5.14) totoˇzn´a s pˇredpisem(5.9)). R´ konvergence obou metod je stejn´y jako v jedn´e dimenzi, tj. 1,618 pro metodu seˇcen a 2 pro Steffensenovu metodu. Metoda seˇcen potˇrebuje dvˇe dostateˇcnˇe dobr´e poˇc´ateˇcn´ı aproximace x0 a x1 .
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Pˇr´ıklad 5.8. Newtonovou metodou urˇc´ıme koˇreny soustavy rovnic f (x, y ) = x 3 − xy 2 − 1 = 0 , g (x, y ) = y 3 − 2x 2 y + 2 = 0 . Podle (5.12) urˇc´ıme xk+1 ≡ (xk+1 , yk+1 )T takto: fx (xk , yk ) fy (xk , yk ) ak −f (xk , yk ) = , gx (xk , yk ) gy (xk , yk ) bk −g (xk , yk )
xk+1 yk+1
=
xk + ak yk + bk
Soustavu rovnic je v´yhodn´e vyˇreˇsit pomoc´ı Crammerova pravidla, tj. ak = − kde
D = fx gy − fy gx ,
Dx , D
bk = −
Dx = fgy − fy g ,
Dy , D Dy = fx g − fgx ,
pˇriˇcemˇz hodnoty vˇsech funkc´ı se poˇc´ıtaj´ı v bodˇe [xk , yk ].
.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
3
2
y
1
x3−xy2−1
0
y3−2x2y+2
−1
−2
−3 −3
−2
−1
0 x
1
2
Obr. 5.6: Soustava dvou neline´ arn´ıch rovnic
3
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Z obr´azku 5.6 zjist´ıme, ˇze soustava m´a celkem tˇri koˇreny. Vybereme si tˇreba ten, kter´y leˇz´ı ve ˇctverci Ω := {[x, y ] | − 2 ≤ x ≤ −1, 1 ≤ y ≤ 2}, a jako poˇc´ateˇcn´ı aproximaci zvol´ıme x0 = −1, y0 = 1. V´ypoˇcet ukonˇc´ıme, kdyˇz kf(xk+1 )k∞ = max{|f (xk+1 , yk+1 )| ; |g (xk+1 , yk+1 )|} < 10−5 . V´ypoˇcet je zaznamen´an v n´asleduj´ıc´ı tabulce (fk a gk oznaˇcuje hodnotu v bodˇe [xk , yk ]). k 0 1 2 3 4 5
xk −1 −1,5 −1,379562 −1,392137 −1,394072 −1,394069
yk 1 2 1,673966 1,629879 1,631182 1,631182
fk −1 1,625 0,240186 0,000193 −0,000005 −0,000000
gk 1 1 0,318968 0,012219 −0,000018 −0,000000
xk − x ∗
yk − y ∗
0,394069 −0,105931 0,014507 0,001932 −0,000002 0,000000
−0,631182 0,368818 0,042784 −0,001303 0,000000 0,000000
Vˇsimnˇete si, ˇze v bl´ızkosti koˇrene je konvergence velmi rychl´a. Pˇresn´e ˇreˇsen´ı jsme aproximovali pomoc´ı x5 . x5 = −1,39407 a y5 = 1,63118 maj´ı vˇsechny cifry platn´e. 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Zv´ yˇsen´ı spolehlivosti metod Newtonova typu. Newtonova metoda a jej´ı varianty nemusej´ı konvergovat, kdyˇz startujeme daleko od ˇreˇsen´ı. Je vˇsak moˇzn´e pˇrijmout jist´a opatˇren´ı, kter´a oblast konvergence tˇechto metod podstatnˇe rozˇs´ıˇr´ı. uv Nejjednoduˇsˇs´ı je pouˇz´ıt tlumenou Newtonovu metodu, ve kter´e se Newton˚ (nebo aproximovan´y Newton˚ uv) krok dk poˇc´ıt´a jako obvykle, ale pak se jako dalˇs´ı aproximace bere xk+1 = xk + λk dk , kde λk je ˇc´ıseln´y parametr. Daleko od ˇreˇsen´ı b´yv´a krok dk nespolehliv´y, mnohdy pˇr´ıliˇs velk´y, a tak se m˚ uˇzeme pokusit vybrat λk tak, aby xk+1 byla lepˇs´ı aproximace ˇreˇsen´ı neˇz xk . Jedn´ım ze zp˚ usob˚ u, jak toho dos´ahnout, je sledovat kf(xk )k2 a zajistit, aby v kaˇzd´e iteraci d´elka vektoru f(xk ) dostateˇcnˇe poklesla. Parametr λk je tak´e moˇzn´e urˇcit minimalizac´ı funkce ϕ(λ) = kf(x + λdk )k2 (minimalizaci se vˇenuje n´asleduj´ıc´ı kapitola). At’ uˇz parametr λk vol´ıme jakkoliv, v bl´ızkosti ˇreˇsen´ı vˇzdy staˇc´ı br´at λk = 1 a dos´ahnout tak ˇr´adu konvergence netlumen´e metody. Ponˇekud komplikovanˇejˇs´ı, avˇsak mnohem spolehlivˇejˇs´ı, je Newtonova metoda s lok´alnˇe omezen´ym krokem, ve kter´e xk+1 = xk + dk a krok dk dostaneme minimalizac´ı funkce ϕ(d) = kf(xk ) + f 0 (xk )dk2 na oblasti kdk2 ≤ ∆k , kde ∆k je vhodnˇe volen´y parametr. Podrobnˇejˇs´ı (a mnoh´e dalˇs´ı) informace k tomuto t´ematu ˇcten´aˇr najde ve specializovan´e literatuˇre, napˇr. v [Nocedal].
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Metoda prost´ e iterace. V mnoha v´yznamn´ych aplikac´ıch se ˇreˇs´ı neline´arn´ı soustava x = a + hϕ(x) , (5.15) kde a je ˇc´ıseln´y vektor a h je mal´e kladn´e ˇc´ıslo. Poloˇz´ıme-li f(x) = x − a − hϕ(x), m˚ uˇzeme soustavu f(x) = o vyˇreˇsit Newtonovou metodou nebo nˇekterou z jej´ıch modifikac´ı. V pˇr´ıpadˇe u ´lohy (5.15) se vˇsak pˇr´ımo nab´ız´ı jin´y, velmi jednoduch´y postup, kter´y si ted’ pop´ıˇseme. Oznaˇc´ıme-li g(x) = a + hϕ(x), dost´av´ame u ´lohu urˇcit x∗ splˇ nuj´ıc´ı
x∗ = g(x∗ ) .
(5.16)
Bod x∗ se naz´yv´a pevn´y bod zobrazen´ı g(x). ´ Ulohu (5.16) se pokus´ıme vyˇreˇsit metodou prost´e iterace: zvol´ıme poˇc´ateˇcn´ı aproximaci x0 a poˇc´ıt´ame xk+1 = g(xk ) ,
k = 0, 1, . . .
a douf´ame, ˇze takto generovan´a posloupnost postupn´ych aproximac´ı xk konverguje k x∗ . Postaˇcuj´ıc´ı podm´ınky konvergence ud´av´a n´asleduj´ıc´ı
(5.17)
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Vˇ eta (O konvergenci metody prost´e iterace). Necht’ Ω je uzavˇren´a oblast, ve kter´e m´a funkce g parci´aln´ı derivace a splˇ nuje tyto dvˇe podm´ınky: a)
g(x) ∈ Ω
∀x ∈ Ω ,
b)
kg0 (x)k ≤ q < 1
(5.18) ∀x ∈ Ω .
Pak v Ω existuje jedin´y pevn´y bod x∗ zobrazen´ı g a posloupnost postupn´ych aproximac´ı z´ıskan´a pˇredpisem (5.17) k nˇemu konverguje pro libovolnou poˇc´ateˇcn´ı aproximaci x0 ∈ Ω. Pˇritom kxk+1 − x∗ k ≤ qkxk − x∗ k , tj. rychlost obecnˇe jen line´arn´ı konvergence z´avis´ı na q.
2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Vrat’me se zpˇet k u ´loze (5.15). Kdyˇz m´a funkce ϕ(x) v okol´ı koˇrene x∗ ohraniˇcen´e parci´aln´ı derivace, pak pro dostateˇcnˇe mal´e h a pro x0 dosti bl´ızk´e k x∗ posloupnost postupn´ych aproximac´ı xk+1 = a + hϕ(xk ) ,
k = 0, 1, . . .
konverguje k x∗ . (Snadno se ovˇeˇr´ı, ˇze v tom pˇr´ıpadˇe lze aplikovat pˇredchoz´ı vˇetu, kdyˇz zvol´ıme O(x∗ ) = {x | kx − x∗ k < δ}, kde δ > 0 je dostateˇcnˇe mal´e ˇc´ıslo.)
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Pˇr´ıklad 5.9. Metodou prost´e iterace urˇc´ıme ˇreˇsen´ı 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]}. Nejdˇr´ıve ovˇeˇr´ıme, ˇze funkce g1 (x, y ) = 0,2 + 0,1(−xy 2 + 3x) ,
g2 (x, y ) = 0,6 + 0,1(−x 2 y 3 − 2y )
splˇ nuj´ı podm´ınky (5.18). Protoˇze pro [x, y ] ∈ Ω plat´ı 0 ≤ 0,2 + 0,1(−xy 2 + 3x) ≤ 1 ,
0 ≤ 0,6 + 0,1(−x 2 y 3 − 2y ) ≤ 1 ,
tj. [g1 (x, y ), g2 (x, y )] ∈ Ω, podm´ınka a) je splnˇena. Abychom ovˇeˇrili podm´ınku b), vyj´adˇr´ıme si Jacobiovu matici ∂g (x, y ) 1 ∂x g0 (x) = ∂g (x, y ) 2
∂x
∂g1 (x, y ) −0,1y 2 + 0,3 ∂y = ∂g2 (x, y ) −0,2xy 3 ∂y
−0,2xy 2 2
−0,3x y − 0,2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
a odhadneme napˇr. v k · k∞ normˇe kg0 (x)k∞ = max{| − 0,1y 2 + 0,3| + | − 0,2xy | ; | − 0,2xy 3 | + | − 0,3x 2 y 2 − 0,2|} . Zˇrejmˇe kg0 (x)k∞ ≤ max{0,3 + 0,2 ; 0,2 + 0,5} = 0,7
pro x = [x, y ] ∈ Ω ,
takˇze podm´ınka b) je splnˇena pro q = 0,7. V´ypoˇcet zah´aj´ıme tˇreba z poˇc´ateˇcn´ı aproximace x0 = y0 = 0 a pro ukonˇcen´ı iterac´ı pouˇzijeme stop krit´erium kxk+1 − xk k∞ = max{|xk+1 − xk | ; |yk+1 − yk |} < 10−5 . V´ypoˇcet je zaznamen´an v n´asleduj´ıc´ı tabulce.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
k
xk
yk
Soustavy neline´ arn´ıch rovnic
xk − xk−1
yk − yk−1
xk − x ∗
yk − y ∗
0 1 2 3 .. .
0 0,2 0,252800 0,270036
0 0,6 0,479136 0,503470
0,2 0,052800 0,017236
0,6 −0,120864 0,024334
−0,275892 −0,075892 −0,023092 −0,005856
−0,499211 0,100789 −0,020075 0,004259
8 9
0,275882 0,275889
0,499209 0,499211
0,000025 0,000007
−0,000009 0,000002
−0,000010 −0,000003
−0,000001 0,000000
Pˇresn´e ˇreˇsen´ı jsme aproximovali pomoc´ı x15 . x9 = 0,27589 a y9 = 0,49921 maj´ı vˇsechny cifry platn´e. 2
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Soustavy neline´ arn´ıch rovnic
Pozn´ amka. Kdyˇz g(x) = Tx + c je line´arn´ı funkce, pak g0 (x) = T. Pokud kTk < 1, pak jsou postaˇcuj´ıc´ı podm´ınky (5.18) splnˇeny pro kaˇzd´e x, takˇze xk → x∗ pro libovolnou poˇc´ateˇcn´ı aproximaci x0 . Tento v´ysledek jsme dok´azali v kapitole ˇreˇsen´ı soustav line´arn´ıch rovnic.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Obsah
5
ˇ sen´ı neline´arn´ıch rovnic Reˇ ´ Uvod Urˇcen´ı poˇc´ateˇcn´ı aproximace Zpˇresˇ nuj´ıc´ı metody Soustavy neline´arn´ıch rovnic Literatura
Literatura
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Literatura
ˇ ˇ I.S. Berezin, N.P. Zidkov: Cislennyje metody I,II, Nauka, Moskva, 1962. G. Dahlquist, G. ˚ A Bj˝ork: Numerical Methods, Prentice-Hall, Englewood Cliffs, NJ, 1974. M. Fiedler: Speci´aln´ı matice a jejich pouˇzit´ı v numerick´e matematice, SNTL, Praha, 1981. D. Hanselman, B. Littlefield: Mastering MATLAB 7, Pearson Prentice Hall, Upper Saddle River, NJ, 2005. G. H¨ ammerlin, K. H. Hoffmann: Numerical Mathematics, Springer-Verlag, Berlin, 1991. M. T. Heath: Scientific Computing. An Introductory Survey, McGraw-Hill, New York, 2002. I. Horov´ a, J. Zelinka: Numerick´e metody, uˇcebn´ı text Masarykovy univerzity, Brno, 2004. J. Kobza: Splajny, uˇcebn´ı text Palack´eho univerzity, Olomouc, 1993. J. Klapka, J. Dvoˇr´ak, P. Popela: Metody operaˇcn´ıho v´yzkumu, uˇcebn´ı text, FSI VUT Brno, 2001.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Literatura
J. H. Mathews, K. D. Fink: Numerical Methods Using MATLAB, Pearson Prentice Hall, New Jersey, 2004. MATLAB: Mathematics, Version 7, The MathWorks, Inc., Natick, 2004. G. Meurant: Computer Solution of Large Linear Systems, Elsevier, Amsterodam, 1999. S. M´ıka: Numerick´e metody algebry, SNTL, Praha, 1985.. C. B. Moler: Numerical Computing with MATLAB, Siam, Philadelphia, 2004. http://www.mathworks.com/moler. J. Nocedal, S. J. Wright: Numerical Optimization, Springer Series in Operations Research, Springer, Berlin, 1999. A. Quarteroni, R. Sacco, F. Saleri: Numerical Mathematics, Springer, Berlin, 2000. W. H. Press, B. P. Flannery, S. A. Teukolsky, W. T. Vetterling: Numerical Recipes in Pascal, The Art of Scientific Computing, Cambridge University Press, Cambridge, 1990.
ˇ sen´ı neline´ Reˇ arn´ıch rovnic
Literatura
P. Pˇrikryl: Numerick´e metody matematick´e anal´yzy, SNTL, Praha, 1985. A. R. Ralston: Z´aklady numerick´e matematiky, Academia, Praha, 1973. K. Rektorys: Pˇrehled uˇzit´e matematiky I,II, Prometheus, Praha, 1995. J. Stoer, R. Bulirsch: Introduction to Numerical Analysis, Springer-Verlag, New York, 1993. E. Vit´asek: Numerick´e metody, SNTL, Praha, 1987. W. Y. Yang, W. Cao, T. S. Chung, J. Morris: Applied Numerical Methods Using Matlab, John Willey & Sons, New Jersey, 2005.