Interpolace, ortogonální polynomy, Gaussova kvadratura Petr Tichý 20. listopadu 2013 1
Úloha Lagrangeovy interpolace Dán omezený uzavřený interval [a, b] a v něm n + 1 různých bodů x 0, x 1,..., x n. Nechť f je spojitá funkce definovaná na [a, b]. Hledáme polynom p stupně nejvýše n tak, aby platilo p(x i ) = f(x i ), i = 0,..., n. p se nazývá Lagrangeův interpolační polynom, body x i uzly interpolace. Pro jednoduchost označme f i f(x i ). 3
Elementární Lagrangeovy polynomy Definujme j-tý elementární Lagrangeův polynom l j : l j (x) n i=0 i j x x i x j x i, j = 0,..., n, l j je stupně n a splňuje l j (x i ) = δ i,j, tj. l j (x i ) { 1 pokud i = j, 0 pokud i j, l 0,..., l n tvoří bázi prostoru polynomů p, deg p n, platí p(x) = γ 0 l 0 (x) + γ 1 l 1 (x) + + γ n l n (x), kde p(x i ) = γ i, i = 0,..., n. 4
Existence a jednoznačnost Lagrangeovy interpolace Věta Existuje právě jeden polynom stupně nejvýše n, který řeší úlohu Lagrangeovy interpolace. 5
Chyba Lagrangeovy interpolace Definujme polynom n ω n+1 (x) (x x i ). i=0 Pokud f dostatečně hladká (n + 1 spojitých derivací v intervalu [a, b]), pak ke každému bodu x z intervalu [a, b] existuje bod ξ x z otevřeného intervalu (a, b) takový, že platí f(x) L n (x) = f (n+1) (ξ x ) (n + 1)! ω n+1 (ξ x ). Důkaz pomocí Rollovy věta skripta Práger. Má-li funkce f omezenou n + 1 derivaci konstantou M, platí f(x) L n (x) M (n + 1)! max x [a,b] ω n+1(x). 6
Úloha Hermitovy interpolace Obecnější interpolace kromě funkčních hodnot v uzlech můžeme předepsat i hodnoty derivací. Mějme v intervalu [a, b] dány body x 0, x 1,..., x n. Dále nechť jsou dána přirozená čísla α 0,..., α n a definujme α max i=0,...,n α i. Předpoklad, f má v [a, b] spojité derivace až do řádu α 1. Úloha: nalézt polynom h nejnižšího stupně takový, aby platilo h (j) (x i ) = f (j) (x i ), j = 0,..., α i 1, i = 0,..., n. Tento polynom nazveme Hermitův interpolační polynom. Pro jednoduchost označme f (j) i f (j) (x i ). 7
Existence a jednoznačnost Hermitovy interpolace Věta Existuje právě jeden polynom stupně nejvýše m, který řeší úlohu Hermitovy interpolace, m n α i 1. i=0 8
Chyba Hermitovy interpolace Je-li f dostatečně hladká (existuje-li m + 1 spojitých derivací v intervalu [a, b]), pak ke každému bodu x z intervalu [a, b] existuje bod ξ x z otevřeného intervalu (a, b) takový, že platí f(x) H m (x) = f (m+1) (ξ x ) (m + 1)! ω m+1 (ξ x ), kde H m (x) je Hermitův interpolační polynom. Důkaz viz. např. Práger, skripta. 9
Důležitý příklad Hermitovy interpolace α i = 2, i = 0,..., n (předepsána funkční hodnota a hodnota první derivace) Hermitův interpolační polynom lze popsat vzorcem n n H 2n+1 (x) f i s i (x) + f i t i (x), i=0 i=0 hodnoty f i a f i jsou dány a polynomy s i a t i definujme jako s i (x) [1 2 (x x i ) l i(x i ) ] l 2 i (x), t i (x) (x x i ) l 2 i (x). H 2n+1 je stupně nejvýše m = 2n + 1. Splňuje podmínky? Platí s i (x j ) = δ i,j, t i (x j ) = 0, s i(x j ) = 0, t i(x j ) = δ i,j, pro i, j = 0,..., n. Dosazení H 2n+1 vyhovuje podmínkám. 10
Definice ortogonálních polynomů Definice Interval (a, b), nemusí být omezený. Nechť v(x) integrovatelná, skoro všude kladná funkce. V případě nekonečného intervalu předpoklad, že x j v(x), j = 1, 2,... jsou integrovatelné. V případě omezeného intervalu je tento požadavek vždy splněn. Říkáme, že posloupnost polynomů ϕ i, i = 0, 1,... je ortogonální s vahou v(x), pokud deg(ϕ) = i a platí-li b a vϕ i ϕ j dx = 0, i j. 12
Skalární součin v prostoru polynomů Množina všech polynomů tvoří vektorový prostor. Definujme skalární součin mezi dvěma vektory (polynomy) p a q vztahem p, q v b a v p q dx. Lze lehce ověřit, že p, q v je skutečně skalární součin. Chceme ukázat, že pro takto definovaný vektorový prostor se skalárním součinem existuje ortogonální báze (posloupnost polynomů ϕ i, i = 0, 1,... ), a ukážeme jak ji sestrojit. 13
Všechny kořeny polynomu ϕ k jsou reálné a jednoduché Věta Všechny kořeny polynomu ϕ k jsou reálné, jednoduché a leží v otevřeném intervalu (a, b). 14
Ortogonální polynomy lze počítat tříčlennou rekurencí Věta Monické ortogonální polynomy ϕ 0, ϕ 1,..., ϕ n+1 lze počítat tříčlennou rekurencí přičemž ϕ k+1 (x) = (x α k )ϕ k β k ϕ k 1 (x), k = 1,..., n, ϕ 0 (x) = 1, ϕ 1 = x α 1. Koeficienty α k a β k jsou dány vztahy α k = β k = b a v(x) x ϕ2 k (x) dx b a v(x), ϕ2 k (x) dx k = 0, 1,..., n, b a v(x) ϕ2 k (x) dx b a v(x) ϕ2 k 1 (x) dx k = 1, 2,..., n. 15
Ortonormální polynomy Uvažujme systém ortonormálních polynomů, tedy polynomů ψ 0,..., ψ n+1 s normou jedna, ψ k (x) ϕ k(x) ϕ k (x) v = Lze ukázat, že splňují rekurentní vztahy ϕ k (x). b a v(x) ϕ2 k (x)dx β k+1 ψ k+1 (x) = (x α k )ψ k β k ψ k 1 (x), k = 0, 1,..., n, kde ψ 1 = 0, ψ 0 = 1 b, β 0 = v(x) dx β0 a kde β k a α k jsou koeficienty z rekurence pro monické ortogonální polynomy. 16
Ortogonální polynomy a Jacobiho matice Tříčlenné rekurence lze přepsat pomocí tridiagonálních matic. Uvažujme např. ortonormální polynomy, definujme J n+1 = Φ k (x) [ψ 0, ψ 1 (x),..., ψ k (x)] T, α 0 β1 β1 α 1 β2............... βn βn α n. Potom lze tříčlenné rekurence zapsat ve tvaru xφ n (x) = J n+1 Φ n (x) + β n+1 ψ n+1 (x)e n, kde e n je n-tý sloupec jednotkové matice velikosti n. J n+1 je Jacobiho maticí. 17
Ortogonální polynomy a Jacobiho matice xφ n (x) = J n+1 Φ n (x) + β n+1 ψ n+1 (x)e n, Pro kořen µ polynomu ψ n+1, ψ n+1 (µ) = 0, platí µφ n (µ) = J n+1 Φ n (µ). Protože je ψ 0 0, je Φ n (µ) 0. Φ n (µ) je tedy vlastním vektorem matice J n+1 a µ příslušným vlastním číslem J n+1. Kořeny ψ n+1 jsou jednoduché, každý kořen je vlastním číslem J n+1 vlastní čísla J n+1 jsou právě kořeny ψ n+1 (tj. i ϕ n+1 ). Návod, jak počítat kořeny ortogonálních polynomů: jako vlastní čísla příslušných Jacobiho matic. 18
Příklady ortogonálních polynomů Různé volby váhové funkce v(x), zvykem uvádět pro interval [ 1, 1], transformace na obecný interval [a, b] pomocí lineární transformace x = 2y b a, y [a, b]. b a v(x) = 1 Legendrovy polynomy v(x) = 1 1 x 2 Čebyševovy polynomy v(x) = e x Laguerrovy polynomy Ortogonální báze prostoru polynomů aproximace funkcí. Například (aproximaci) řešení nějaké úlohy hledáme jako lineární kombinaci ortogonálních polynomů. 19
Obecná kvadraturní formule a algebraická přesnost Naším cílem je aproximovat numericky hodnotu integrálu b v(x) je opět váhová funkce. Budeme aproximovat výrazem a v(x) f(x) dx. n A i f(a i ), i=0 který se nazývá kvadraturní formule. Čísla A i nazýváme váhy a body a i, ležící v intervalu [a, b], uzly. Říkáme, že kvadraturní vzorec má algebraickou přesnost m, integruje-li přesně polynomy až do stupně m. 21
Gaussova kvadratura Snaha dosáhnout co největší algebraické přesnosti. Máme 2n + 2 parametrů (n + 1 uzlů a n + 1 vah) lze očekávat algebraickou přesnost 2n + 1. Říkáme, že kvadraturní vzorec s n + 1 uzly je Gaussův, je-li jeho algebraická přesnost rovna 2n + 1. Věta Kvadraturní vzorec je Gaussův právě tehdy, když b A i = v(x) l i (x) dx. a a n ω(x) = (x a i ) i=0 je ortogonální polynom s vahou v(x). 22
Gaussova kvadratura Váhy jsou vždy kladné deg(l j ) = n deg(l 2 j ) = 2n b a v(x) l 2 j(x) dx = n A i l 2 j(a i ) = A j. i=0 Odtud je vidět, že všechny váhy Gaussova kvadraturního vzorce jsou kladné. Gaussův kvadraturní vzorec vrací hodnotu integrálu z Hermitovského interpolačního polynomu funkce f. 23
Výpočet Gaussovy kvadratury Uzly Gaussovy kvadratury jsou kořeny ortogonálních polynomů. Ortogonální polynomy tříčlenná rekurence, jejich kořeny jsou vlastní čísla příslušných Jacobiho matic. Uvažujme spektrální rozklad Jacobiho matice α 0 β1 β1 α 1 β2............... βn βn α n = UΛU T, U = [u 0, u 1,..., u n ] je ortonormální a Λ je reálná diagonální. 24
Jacobiho matice a uzly a váhy Gaussovy kvadratury Uzly Gaussovy kvadratury jsou vlastní čísla Jacobiho matice. Váhy jsou dány vztahem A i = u 2 1,i, i = 0,..., n, kde u 1,i je první složka normovaného vlastního vektoru u i, viz. např. kniha Gautschi 2004. Z Jacobiho matic vznikajících při generování ortogonálních polynomů dostaneme kompletní informaci o uzlech a vahách Gaussovy kvadratury. 25