DRN: Kořeny funkce numericky Kořenem funkce f rozumíme libovolné číslo r splňující f(r) = 0. Fakt. Nechť f je funkce na intervalu a, b. Jestliže f(a) f(b) < 0 (tj. f(a) a f(b) mají opačná znaménka) a f je spojitá na a, b, pak f musí mít v intervalu a, b kořen. Algoritmus (metoda bisekce pro hledání kořene funkce). Zadána funkce f spojitá na intervalu a, b a tolerance ε. Předpoklad: Znaménka f(a) a f(b) jsou různá. 0. Zavedeme a 0 = a, b 0 = b. Nechť k = 0. 1. Předpoklad: znaménka f(a k ) a f(b k ) jsou různá. Nechť m k = 1 2 (a k + b k ). 2. Jestliže f(m k ) = 0 nebo b k a k < ε, tak konec, výstup je m k. Jinak: Jestliže jsou znaménka f(a k ) a f(m k ) různá, nechť a k+1 = a k, b k+1 = m k, zvýšíme k o jedničku a jdeme zpět na krok 1. Jestliže jsou znaménka f(m k ) a f(b k ) různá, nechť a k+1 = m k, b k+1 = b k, zvýšíme k o jedničku a jdeme zpět na krok 1. Tradiční ukončovací podmínky: absolutní rozdíl x k+1 x k < ε, relativní rozdíl x k+1 x k x k < ε, funkční hodnota (reziduum) f(x k+1 ) < ε, Fakt. Nechť f je funkce a r je její kořen. Předpokládejme, že existuje okolí U bodu r a m 1 > 0 takové, že f je diferencovatelná na U a platí m 1 f na U. Pak pro ˆr U platí r ˆr 1 m 1 f(ˆr). 1
Uvažujme určitou iterační metodu pro hledání kořene. Řekneme, že je to metoda řádu q, nebo že má chybu řádu q, kde q > 0, jestliže splňuje jednu z následujících podmínek: Pro každou posloupnost {x k } generovanou touto metodou konvergující ke koření r existuje K > 0 takové, že platí r x k+1 K r x k q pro dostatečně velká k. Pro každou posloupnost {x k } generovanou touto metodou konvergující ke koření r existuje horní odhad e k pro r x k a K > 0 takové, že platí e k+1 K e q k pro dostatečně velká k. Druhému pojmu se někdy říká R-řád konvergence. Nechť spojitá funkce f na a, b splňuje f(a) f(b) < 0. Pak posloupnost {m k } generovaná metodou bisekce se vstupními hodnotami x 0 = a, y 0 = b konverguje ke kořeni r funkce f. Metoda bisekce je lineárního řádu. Algoritmus (metoda sečen pro hledání kořene funkce). Zadána funkce f spojitá na IR a tolerance ε. 0. Zvolíme x 0, x 1. Nechť k = 1. 1. Nechť x k+1 = x k 1f(x k ) x k f(x k 1 ) f(x k ) f(x k 1 ). Jestliže x k+1 r k < ε nebo f(x k+1 ) < ε, algoritmus končí, výstup je x k+1. Nechť je funkce f dvakrát spojitě diferencovatelná na nějakém okolí U svého kořene r. Nechť {x k } je posloupnost generovaná metodou sečen taková, že x k r. Jestliže je kořen r jednoduchý, pak existuje konstanta K a N IN takové, že r x k+1 K r x k α pro k N, kde α = 1+ 5 2. Jestliže má kořen r vyšší násobnost, pak je konvergence lineární. 2
Nechť f je funkce spojitá na intervalu a, b. Předpokládejme, že je konvexní či konkávní na a, b a f(a)f(b) < 0. Pak pro libovolné hodnoty x 0, x 1 zvolené tak, aby f(x 0 ) > 0, f(x 1 ) > 0 pro konvexní případ a f(x 0 ) < 0, f(x 1 ) < 0 pro konkávní případ, posloupnost {x k } generovaná metodou sečen konverguje ke kořeni r (a, b) funkce f. Algoritmus (Newtonova metoda pro hledání kořene funkce). Zadána funkce f diferencovatelná na IR a tolerance ε. 0. Zvolíme x 0. Nechť k = 0. 1. Nechť x k+1 = x k f(x k) f (x k ). Jestliže x k+1 x k < ε nebo také f(x k+1 ) < ε, tak skončíme, výstup je x k+1. Nechť je funkce f dvakrát spojitě diferencovatelná na nějakém okolí U svého kořene r. Nechť {x k } je posloupnost generovaná Newtonovou metodou taková, že x k r. Jestliže je kořen r jednoduchý, pak existuje konstanta K a N IN takové, že r x k+1 K r x k 2 pro k N. Jestliže má kořen r vyšší násobnost, pak je konvergence lineární. Nechť f je funkce na intervalu a, b taková, že f(a) f(b) < 0. Předpokládejme, že f je na (a, b) dvakrát spojitě diferencovatelná a f 0, f 0 na (a, b). Jestliže je x 0 (a, b) zvoleno tak, aby f(x 0 ) f (x 0 ) > 0, pak posloupnost {x n } generovaná Newtonovou metodou konverguje k nějakému kořeni r a, b funkce f. 3
Je-li dána funkce ϕ, pak jejím pevným bodem rozumíme libovolné číslo x f splňující ϕ(x f ) = x f. Algoritmus (iterační metoda pro hledání pevného bodu). Zadána funkce ϕ a tolerance ε. 0. Zvolíme x 0. Nechť k = 0. 1. Nechť x k+1 = ϕ(x k ). Jestliže x k+1 x k < ε, tak skončíme, výstup je x k+1. Nechť ϕ je funkce, x 0 IR a x k+1 = ϕ(x k ) pro k IN. Jestliže x k x f ϕ(x f ) = x f. a ϕ je spojitá v x f, pak Nechť ϕ je funkce na intervalu I. Řekneme, že je tam kontraktivní nebo že je to kontrakce, jestliže existuje q < 1 takové, že pro všechna x, y I platí ϕ(x) ϕ(y) q x y. (Banachova o pevném bodě) Nechť ϕ je kontraktivní funkce na I = a, b s koeficientem q taková, že ϕ[i] I. Pak v I existuje právě jedno řešení x f rovnice ϕ(x) = x, přičemž pro všechny volby x 0 I posloupnost daná x k+1 = ϕ(x k ) konverguje k x f a platí x f x k+1 q x f x k. 4
Nechť funkce ϕ definovaná na intervalu I má spojitou derivaci na vnitřku I O intervalu I. Jestliže existuje q < 1 takové, že ϕ (t) q na I O, pak je ϕ kontrakce na I s koeficientem q. Algoritmus (metoda relaxace pro hledání pevného bodu). Zadána funkce ϕ a tolerance ε. 0. Zadefinujeme ϕ λ (x) = λϕ(x) + (1 λ)x, kde λ je relaxační parametr. 1. Zvolíme nějakou hodnotu pro λ, typicky 0 < λ 1, a aplikujeme iterační metodu na příslušné ϕ λ. 2. Pokud jsme s průběhem iterace spokojeni, dokončíme ji a najdeme aproximaci x k pevného bodu x f. Jinak zopakujeme 1 s jiným λ. 5