YNUM - Numerická mtemtik Ivn Pultrová 5. květn 009 Progrm (6 přednášek, 6 cvičení): Polynomiální interpolce, numerická integrce, chyb integrce. Metod nejmenších čtverců. Diskrétní Fourierov trnsformce. Numerické řešení obyčejných diferenciálních rovnic. Počáteční úlohy. Numerické řešení prciálních diferenciálních rovnic. Okrjové úlohy. Metod konečných prvků. (Numerické řešení nelineárních rovnic.) Numerické řešení soustvy lineárních rovnic. Metod sdružených grdientů. 1 Numerická integrce Symbolem N budeme znčit množinu přirozených čísel, symbolem R množinu reálných čísel, symbolem C množinu komplexních čísel. Budeme prcovt s pojmem vektorový prostor, který byl uveden v předmětu Mtemtik 1. Symbolem C,b,,b R, budeme oznčovt množinu (prostor) funkcí spojitých n intervlu, b. V krjních bodech uvžujeme pouze jednostrnné derivce. V tomto prostoru můžeme měřit normu funkce tedy vzdálenost dvou funkcí f g bude f = mx x,b f(x), f g = mx f(x) g(x). x,b Symbolem C,b k,,b R, budeme oznčovt množinu funkcí, které mjí spojité derivce ž do řádu k n intervlu,b. Interpolce funkce. Zjímá nás, zd lze libovolnou funkci f n intervlu, b nhrdit jednodušší funkcí g tk, by f(x)dx byl přibližně roven g(x)dx, který lze sndno spočítt. Vhodnou funkcí g by byl npříkld polynom. Vět 1.1 Pro kždou spojitou funkci f n intervlu,b pro kždé ǫ > 0 existuje n N polynom p n stupně nejvýše n tkový, že f p n ǫ. Uvedená vět nám dává nději, že budeme schopni kždou spojitou funkci n intervlu nhrdit s libovolnou přesností polynomem. Potíž je v tom, že se zde neprví, jk tkový polynom njít. Jednou z možností by mohlo být zvolit v,b několik bodů x 0,x 1,...,x n proložit body [x 0,y 0 ],[x 1,y 1 ],...,[x n,y n ] polynom stupně n : 1
Vět 1. (Lgrngeův interpolční polynom) Nechť je dáno n+1 dvojic bodů [x 0,y 0 ],[x 1,y 1 ],...,[x n,y n ], x i x j pro i j. Potom existuje právě jeden polynom L n stupně nejvýše n tkový, že L n (x i ) = y i pro i = 0,1,...,n. Tuto větu dokážeme tk, že polynom p n sestrojíme. Sestrojíme nejdříve n + 1 polynomů l 0 (x) = l 1 (x) =... l k (x) =... l n (x) = (x x 1 )(x x )...(x x n ) (x 0 x 1 )(x 0 x )... (x 0 x n ) (x x 0 )(x x )...(x x n ) (x 1 x 0 )(x 1 x )... (x 1 x n ) (x x 0 )(x x 1 )... (x x k 1 )(x x k+1 )...(x x n ) (x k x 0 )(x k x 1 )... (x k x k 1 )(x k x k+1 )...(x k x n ) (x x 0 )(x x 1 )... (x x n 1 ) (x n x 0 )(x n x 1 )...(x n x n 1 ) (1) zvolíme L n (x) = y k l k (x). k=0 Sndno se ukáže, že L n (x k ) = y k pro všechn k = 0,1,...,n. Zbývá ukázt, že tkový polynom je jediný. To dokážeme sporem. Nechť existují dv různé polynomy L n Q n stupně nejvýše n tkové, že L n (x i ) = y i Q n (x i ) = y i pro i = 0,1,...,n. Potom L n (x) Q n (x) je nenulový polynom stupně nejvýše n, který má n + 1 kořenů. To je le spor s tím, že nenulový polynom stupně nejvýše n má nejvýše n kořenů. Příkld 1.1 Interpolujte funkci f(x) = 4 x v bodech [1, f(1)],[, f()],[4, f(4)] Lgrngeovým interpolčním polynomem. Porovnejte grfy obou funkcí n intervlu 1 10,5. [Výsledek je L (x) = 1 x 7 x + 7.] Vět 1.3 (Stbilit polynomiální interpolce pro rovnoměrné dělení.) Nechť [x i,y i ] [x i,ỹ i ], i = 0,1,...,n, jsou dvě sdy bodů, se všemi intervly x i+1 x i shodné délky. Nechť L n L n jsou příslušné Lgrngeovy interpolční polynomy. Potom L n L n n+1 enln n mx y i ỹ i. i=0,1,...,n Vět 1.3 nznčuje, že volíme-li interpolční body ekvidistntně (rovnoměrně rezložené), je interpolční polynom pro velká n obecně nestbilní, t.j. při mlé změně dt y k může dojít k velké změně hodnot interpolčního polynomu. Příkld 1. Pro funkci f(x) = 1 1+x n intervlu 5,5 njděte Lgrngeovy interpolční polynomy stupně 5 10 pro rovnoměrné rozložení dělících bodů x i.
Příkld 1.3 Pro funkci f(x) = sin(x) n 1, 1 njděte Lgrngeův interpolční polynom stupně 1 pro rovnoměrné rozdělení dělících bodů x i. Přičtěte k f(x) šum velikosti řádově 10 1 vypočtěte Lgrngeův interpolční polynom pro porušenou funkci f. Interpolční kvdrtur vychází z nhrzení funkce polynomem z integrování polynomu místo původní funkce. Budeme znčit I(f) přibližný integrál funkce f n intervlu,b E(f) chybu integrce. Tedy I(f) = k f(x k ), () kde kde l k (x) jsou polynomy z důkzu Věty 1.. k = k=0 l k (x)dx, Ukážeme tři zákldní formule pro výpočet přibližného integrálu. Vycházíme přitom z náhrdy funkce polynomem nízkého stupně, speciálně 0, 1. Pro jednotlivé přípdy tyto hodnoty rozlišíme dolním indexem. Rozdělením intervlu n m intervlů použitím integrčního prvidl n kždém z nich dostneme tzv. složené integrční prvidlo. Stupeň přesnosti integrčního prvidl se definuje jko nejvyšší stupeň polynomu, který je tímto prvidlem integrován přesně. Obdélníkové prvidlo (středové). Přibližný integrál funkce f je proximován výrzem ( ) + b I 0 (f) = (b )f. Předpokládáme-li, že f C,b, je chyb integrce kde H = b η je nějký bod v intervlu (,b). E 0 (f) = 1 4 H3 f (η), Odvození těchto vzorců je sndné. Rozvineme funkci f v bodě +b do Tylorovy řdy. Pltí ( ) ( )( + b + b f(x) = f + f x + b ) + 1 ( f (η) x + b ) pro nějké η (,b). Integrcí levé i prvé strny dostneme ( ) + b b ( )( + b f(x)dx = f d x + f x + b ) tedy ( ) + b f(x)dx = (b )f Poslední rovnost dává integrční vzorec i chybu. ( 1 d x + f (η) x + b ) d x, d x + 0 + 1 f (η) 1 4 (b )3. Složené integrční prvidlo pro rovnoměrné dělení s m intervly délky H je I 0,m (f) = H 3 m 1 k 0 f(x k ),
kde x k jsou středy intervlů. Chyb integrce je E 0,m (f) m 1 4 H3 mx η,b f (η) = b 4 H mx η,b f (η). Stupeň přesnosti obdélníkového středového prvidl je 1. Lichoběžníkové prvidlo. Přibližný integrál je proximován výrzem I 1 (f) = b Předpokládáme-li, že f C,b, je chyb integrce (f() + f(b)). E 1 (f) = 1 1 H3 f (η), kde H = b η je nějký bod v intervlu (, b). Složené integrční prvidlo pro rovnoměrné dělení s m intervly délky H je I 1,m (f) = H m 1 k 0 kde x k jsou krjní body intervlů. Chyb integrce je (f(x k ) + f(x k+1 )), E 1,m (f) m 1 1 H3 mx η,b f (η) = b 1 H mx η,b f (η). Stupeň přesnosti lichoběžníkového prvidl je 1. Simpsonovo prvidlo. Přibližný integrál je proximován výrzem I (f) = b ( ( ) ) + b f() + 4f + f(b). 6 Předpokládáme-li, že f C,b 4, je chyb integrce E (f) = 1 90 ( ) H 5 f (η), kde H = b η je nějký bod v intervlu (, b). Složené integrční prvidlo pro rovnoměrné dělení s m intervly délky H je I,m (f) = H 6 (f(x 0) + 4f(x 1 ) + f(x ) + 4f(x 3 ) + f(x 4 ) +... + 4f(x m 1 ) + f(x m )), kde x k jsou krjní body intervlů. Chyb integrce je E,m (f) ch 4 mx η,b f (η), kde c je konstnt závislá pouze n, b H. Stupeň přesnosti lichoběžníkového prvidl je 3. 4
Ortogonální polynomy. Oznčme L,b prostor funkcí L,b = {f :,b R; f (x)dx < }. Integrál v definici uvžujeme v Lebesgueově smyslu. Sklární součin normu v L,b definujme (f,g) = f(x)g(x)dx, f = f(x) dx. Říkáme, že funkce f g jsou ortogonální n intervlu,b, jestliže (f,g) = 0. Vět 1.4 Nechť V je prostor se sklárním součinem nechť M = {v 1,v,...,v n } je množin lineárně nezávislých prvků z V. Potom existuje množin P = {w 1,w,...,w n } V tk, že lineární obly M P se shodují že (w k,w j ) = 0 pro k j (prvky v P jsou nvzájem ortogonální). Zkonstruujeme systém nvzájem ortogonálních polynomů n intervlu,b. Vět 1.5 (Konstrukce ortogonálních polynomů.) Zvolíme-li p 1 (x) = 0, p 1 (x) = 1 p k+1 (x) = (x α k )p k (x) β k p k 1 (x), kde α k = (xp k(x),p k (x)) (p k (x),p k (x)) jsou polynomy p 1 (x),p (x),... nvzájem ortogonální. β k = (xp k(x),p k 1 (x)) (p k 1 (x),p k 1 (x)), Zvolíme-li,b = 1,1, dostneme uvedeným postupem následující sdu ortogonálních polynomů L 0 (x) = 1, L 1 (x) = x, L k+1 (x) = k + 1 k + 1 xl k k k + 1 L k 1, k = 1,,... Tyto polynomy se nzývjí Legendreovy ortgonální polynomy pro intervl 1,1. Lineární trnsformcí dostneme posloupnost ortogonálních polynomů n libovolném intervlu,b. Výhodně je nyní využijeme pro numerickou integrci. Gussov integrce. Integrční vzorec je opět typu I n (f) = k f(x k ), k=0 kde k jsou váhy x k jsou uzly integrce. Oproti již uvedeným integrčním prvidlům (obdélníkové, lichoběžníkové Simpsonovo) budou uzly x i nyní určeny intervlem,b hodnotou n, tedy nebude možné je volit libovolně. Získáme tím ovšem větší přesnost integrce při stejném počtu opercí při vyhodnocování přibližného interálu. 5
Předpokládejme n chvíli, že uzly integrce jsou dány. Proložíme-li body [x k,f(x k )], k = 0,1,...,n, Lgrngeův interpolční polynom stupně n, váhy k pk budou (stejně jko v ()) k = l k (x)dx, (3) kde l k (x) jsou polynomy z důkzu Věty 1.. Je vidět, že integrce bude přesná pro polynomy ž do stupně n. Budeme se snžit zvolit uzly integrce co nejvýhodněji, to tk by integrční vzorec byl přesný pro polynomy co nejvyššího stupně. Ukáže se, že pro intervl, b tto volb odpovídá kořenům Legendreových polynomů ortogonálních n, b. Vět 1.6 (Gussov integrce) Nechť x 0,x 1,...,x n jsou kořeny Legendreov polynomu L n+1 stupně n + 1 n intervlu,b. Nechť k jsou dány vzthy (3). Pk pltí rovnost je-li f polynom stupně nejvýše n + 1. f(x)dx = k f(x k ), k=0 Důkz stojí z to uvést. Mějme polynom p n+1 stupně nejvýše n + 1. Polynom p n+1 lze vyjádřit jko p n+1 (x) = L n+1 (x)q n (x) + r n (x), kde q n r n jsou polynomy stupně nejýše n (dělení polynomu polynomem). Potom p n+1 (x)dx = L n+1 (x)q n (x)dx + r n (x)dx. (4) První integrál n prvé strně je nul, protože L n+1 je ortogonální ke všem polynomům stupně nejvýše n n,b. Dále r n (x)dx = k r(x k ), (5) neboť k jsme volili tk, by integrce byl přesná pro polynomy ž do stupně n. Dále k r(x k ) = k (L n+1 (x k )q n (x k )r(x k )), (6) k=0 k=0 protože x k jskou kořeny L n+1. A smozřejmě k=0 k (L n+1 (x k )q n (x k ) + r(x k )) = k=0 Tedy ze vzthů (4), (5), (6) (7) jsme dostli p n+1 (x)dx = k p n+1 (x k ). (7) k=0 k p n+1 (x k ). Tedy integrční vzorec je přesný pro polynomy ž do stupně n + 1. Gussov integrce je nejefektivnější způsob získání přibližného integrálu. V knize [] lze njít hodnoty uzlů x k vh k pro Gussovu integrci n úsečce, n obdélníku n trojúhelníku. k=0 6
Příkld 1.4 Spočtěme přibližný integrál funkce f(x) = 4x 4 + 3x + 1 n intervlu 0, pomocí obdélníkového prvidl, Simpsonov prvidl pomocí Gussovy integrce se body. Zjistěte, kolik uzlů je potřeb zvolit pro obdélníkové Simpsonovo prvidlo, by přesnost výsledku byl si 0.01. Spočtěte přesně přibližně integrál 1 0 0 x y 3 + 3y dxdy. Použijte obdélníkové prvidlo Gussovu integrci se 4 ( ) body. 7
Metod nejmenších čtverců V předchozích kpitolách jsme viděli, jk interpolovt funkci polynomy nebo goniometrickými funkcemi. Ve všech uvedených přípdech byl počet podmínek roven počtu neznámých koeficientů. Co udělt v přípdě, kdy je počet podmínek větší než je počet stupňů volnosti, které máme k dispozici? Můžeme se snžit minimlizovt chybu proximce v nějké vhodné normě generovné sklárnímm součinem, tedy v = (v,v). Tento postup se nzývá metod nejmenších čtverců. Protože pojem sklární součin je zde klíčový, uvedeme dv čsté příkldy. ) V prostoru R n je definován sklárná součin dvou vektorů u v jko (u,v) = u i v i. i=1 b) V prostoru L,b je definován sklárná součin dvou funkcí f g jko (f,g) = f(x)g(x) dx. Nechť V je vektorový prostor, f V φ 1,φ,...,φ n nechť jsou lineárně nezávislé prvky z V. Připomeňme, že prvky φ 1,φ,...,φ n jsou lineárně nezávislé, jestliže z rovnosti i φ i = Θ plyne i = 0 pro i = 1,,...,n. Symbolem Θ jsme oznčili nulový prvek prostoru V. Chceme tedy určit lineární kombinci prvků φ 1,φ,...,φ n tkovou, že norm bude nejmenší možná. Oznčme i=1 f k φ k k=1 v( 1,..., n ) = f k φ k. Jelikož funkce v je spojitá n R n lim v() =, má n R n globální minimum. Jelikož v má derivci pro všechny n-tice = 1,..., n, je minimum v bodě, kde pro všechn k = 1,,...,n. v() k = 0 k=1 8
Sndno se spočítá, že v() k = k f j φ j,f j=1 = k (f,f) k = k j=1 = (f,φ k ) + f, m φ m = m=1 j φ j + j φ j, k j=1 j (f,φ j ) + k j (φ k,φ j ). j=1 j=1 m=1 Tedy koeficienty k njdeme jko řešení soustvy rovnic j=1 j m (φ j,φ m ) = m φ m = m=1 1 (φ 1,φ 1 ) + (φ 1,φ ) +... + n (φ 1,φ n ) = (f,φ 1 ) 1 (φ,φ 1 ) + (φ,φ ) +... + n (φ,φ n ) = (f,φ ) (8) 1 (φ n,φ 1 ) + (φ n,φ ) +... + n (φ n,φ n ) = (f,φ n ) Uvedená soustv lineárních rovnic má právě jedno řešení. To plyne z lineární nezávislosti prvků φ k. Volb sklárního součinu, prostoru V prvků φ k závisí n úloze. Budeme-li chtít proložit sdu bodů polynomem (podsttně) nižšího stupně, než je počet bodů, uvžujeme diskrétní sklární součin (u,v) = u k v k pro n-rozměrné vektory u v. Tto úloh se tké nzývá lineární nebo kvdrtické regrese, jestliže polynom má být prvního nebo druhého stupně. Uvžujme úlohu njít polynom p(x) stupně nejvýše jedn tk, by co nejlépe proximovl hodnoty ve třech bodech. Jde o dvojice [1, ], [, 3] [4, ]. Hodnoty polynomu v jiných bodech než 1, 4 nás nezjímjí. Oznčme koeficieny hledného polynomu k=1 p(x) = 0 + 1 x. Chceme tedy, by odchylk hodnot polynomu v bodech 1, 4, to jsou hodnoty 0 + 1, 0 + 1 0 +4 1 se co nejméně lišil od hodnot, 3. Hledáme tedy lineární kombinci dvou vektorů, to (1, 1, 1) (1,, 4) tkovou, která nejlépe proximuje vektor (, 3, 4). Koeficienty hledné kombince jsou 0 1. Sestvíme rovnice (8), sklární součin je zde ovšem sklární součin euklidovského prostoru. neboli 0 ((1,1,1),(1,1,1)) + 1 ((1,1,1),(1,,4)) = ((,3, ),(1,1,1)) 0 ((1,,4),(1,1,1)) + 1 ((1,,4),(1,,4)) = ((,3, ),(1,,4)), 3 0 + 7 1 = 3 7 0 + 1 1 = 0,... 9
tedy 0 = 9/ 1 = 3/. Hledný polynom je tedy p(x) = (9 3x)/. Jestliže chceme njít lineární kombinci g(x) funkcí sin(kx) cos(kx) tk, by pro funkci f(x) byl n intervlu π,π minimální odchylk π f(x) g(x) = (f(x) g(x)) dx, π volíme sklární součin (u,v) = π π u(x)v(x) dx. Příkld.1 Jsou dány body x 1 = 0,x = 1,x 3 = 3 y 1 = 1,y = 0,y 3 =. Njděte funkci p(x) = x + b tkovou, že 3 v(,b) = (p(x k ) y k ) je nejmenší. [Řešení je p(x) = 3 7 x + 3 7.] k=1 Příkld. Je dán funkce f(x) = x n intervlu π, π. Njděte funkci g(x) = + bsin(x) + ccos(x) tkovou, že je nejmenší. v(,b,c) = π π (f(x) bsin(x) ccos(x)) dx [Řešení je g(x) = π 4 π cos(x).] 10
3 Diskrétní Fourierov trnsformce V této části budeme používt oznčení (.,.) c pro sklární součin definovný pro vektory komplexních čísel u,v C N, tedy u = (u 1,u,...,u N ) v = (v 1,v,...,v N ), (u,v) c = N u k v k, kde ȳ znčí číslo komplexně sdružené k y, tedy jestliže u = + ib, pk ū = ib. Absolutní hodnot komplexního čísl je + ib = + b. Pltí k=1 e +ib = e (cos b + isin b). Definice 3.1 Diskrétní Fourierov trnsformce vektoru y C N, y = (y 0,...,y N 1 ), je vektor z C N, z = (z 0,...,z N 1 ), pro který pltí z k = N 1 j=0 y j e jkπi N. Zpětná diskrétní Fourierov trnsformce vektoru z = (z 0,...,z N 1 ) je vektor y = (y 0,...,y N 1 ), pro který pltí y k = 1 N N 1 j=0 z j e jkπi N. Uvžujme intervl 0,π n něm rovnoměrně rozložené body x 0 = 0,x 1,x,...,x N 1,x N = π jim odpovídjící y-ové hodnoty y 0,...,y N. Budeme předpokládt y N = y 0, neboť vektor (y 0,...,y N ) povžujeme z reprezentci periodického signálu opkujícího se po N prvcích. Nším cílem bude určit, jk jsou ve vektoru y C N, y = (y 0,...,y N 1 ), zstoupeny vektory pro k = 0,1,,...,N 1. v k = (e kπi N,e kπi N ),...,e (N 1)kπi N Vektory v k, k = 0,1,...,N 1, jsou komplexní, ( v k = cos kπ kπi kπ + isin,cos N N N jsou nvzájem ortogonální pltí + isin kπ N,...,cos (N 1)kπ N + isin ) (N 1)kπ, N (v k,v k ) = N 1 j=0 N 1 e jkπi jkπi N e N = j=0 1 = N. Sndno se ukáže, že vektory v k, k = 0,1,...,N 1, tvoří bázi prostoru C N. Pltí totiž, že vektory v 0, {v k + v N k, k = 1,...,[N/]}, {i(v k v N k ), k = 1,...,[(N 1)/]} 11
jsou reálné nvzájem ortogonální, tudíž tvoří bázi prostoru R N. Potřebujeme tedy vyjádřit vektor y jko lineární kombinci vektorů v 0,v 1,...,v N 1, y = N 1 k=0 k v k. Díky ortogonlitě vektorů v k jsou koeficienty k hledné lineární kombince k = (y,v k) c = 1 (v k,v k ) c N (y,v k) c = 1 N 1 y j e jkπi N. N Tím se dostáváme zpět k definici diskrétní Fourierovy trnsformci, pltí k = 1 N z k. j=0 Podívejme se nyní, jk je zstoupen frekvence k v reálném vektoru y. Je zřejmé, že nejvyšší rozpozntelná frekvence z N hodnot je frefvence N N 1 pro N sudé pro N liché. Této frekvenci se říká Nyquistov frekvence. Dále pltí sin j(n k)π N = sin jkπ N, j(n k)π cos N = cos jkπ N. Tedy zstoupení frekvence k dostneme z koeficientu k N k. Oznčme Re( k ) reálnou část čísl k Im( k ) imginární část čísl k. Jestliže y je reálný vektor, je z definice vidět, že z N k = z N. Pro reálný vektor y jsou vektory v k v N k zstoupeny v y ve tvru k v k + N k v N k = = 1 N z kv k + 1 N z N kv N k = = 1 ( N z k cos kπ N 1 N z N k ( cos kπ N ( = N Re(z k) cos kπ N ( N Im(z k) sin kπ N kπi kπ + isin,cos N N kπi kπ isin,cos N N,cos kπ N + isin kπ N isin kπ N ) (N 1)kπ,...,cos N ). kπ (N 1)kπ,sin,...,sin N N Tedy frekvence k je ve vektoru y zstoupen s mplitudou c k = N z k.,...,cos (N 1)kπ N,...,cos (N 1)kπ N + sin ) (N 1)kπ + N ) (N 1)kπ sin N = Při počítání sklárních součinů lze mnoho opercí ušetřit, má-li vektor y m prvků, tedy N = m, m N. Efektivnímu lgoritmu, který toto využívá, se říká rychlá Fourierov trnsformce (Fst Fourier Trnsform, FFT). 1
Poznámk pro hudebníky. Z nměřeného kustického signálu lze pomocí DFT zjistit frekvence v něm obsžené. Běžná snímcí (zobrzovcí) frekvence je npř. u souborů typu wv 44 000 Hz. Z referenční hodnotu temperovného ldění se povžuje tón 1, který odpovídá 440,00 Hz. Dlší celé tóny pk mjí frekvence 6 - násobky (tóny vyšší než 1 ) nebo 1/ 6 - násobky (tóny nižší než 1 ) této zákldní frekvence. Příkld 3.1 Uvžujme N = 30 body x 0,x 1,...,x N 1 n intervlu 0,π tk, že x k = x 0 + k π N. Položme y k = 3sin x k 5cos(x k ). Ověřte, že diskretní Fourierov trnsformce udává správné mplitudy frekvencí. V předchozím příkldu zvolte N = 300 přičtěte k y náhodnou poruchu velikosti řádově 1. Zobrzte výsledek. Proveďte Fourierovu diskrétní trnsformci ve výsledku vynulujte mplitudy frekvencí vyšších než 10. Převeďte zpětnou Fourierovou trnsformcí n reálný vektor zobrzte. Diskrétní Fourierov trnsformce má mnoho zjímvých vlstností, souvisí s Fourierovou (integrální) trnsformcí s Fourierovými řdmi. Ucelené pojednání lze njít v knize [3]. Poznámk o počítání koeficientů Fourierovy řdy. Fourierov řd F funkce f L (0,π) je definován F(x) = k cos kx + b k sinkx, kde 0 = 1 1π f(x)dx, π 0 k = 1 π k=0 π 0 k=1 f(x)cos kxdx, b k = 1 π f(x)sin kxdx π 0 pro k = 1,,... Počítejme tyto integrály k b k přibližně obdélníkovým prvidlem pro N + 1 rovnoměrně rozložených uzlů x 0,...,x N. Dostneme ā k b k ā k = N f(x m )cos(x m ), bk = m=0 N f(x m )sin(x m ), m=0 Oznčíme-li y = (f(x 0 ),f(x 1 ),...,f(x N 1 )) z diskrétní Fourierovu trnsformci vektoru y podle Definice 3.1, je ā k = Re(z k ), bk = Im(z k ). 13
4 Numerické řešení obyčejných diferenciálních rovnic, počátečních úloh Diferenciální rovnice popisují mnoho přírodních i společenských jevů. Njít řešení diferenciální rovnice znmená zjistit prostorový nebo čsový vývoj některé veličiny, během jevu nebo procesu, který je dnou diferenciální rovnicí popsán. Protože čsto neumíme njít řešení přesně, používáme různé numerické metody, které poskytnou řešení přibližné. Čsto lze získt řešení libovolně přesné. V některých diferenciálních rovnicích se vyskytuje jko nezávisle proměnná čs (let střely, vedení tepl, vývoj populce). Tkové úlohy obvykle mjí zdné ještě dlší vlstnosti (počáteční podmínky), které mjí být splněny v čse t = 0. Říkáme jim počáteční úlohy nebo Cuchyovy úlohy. Jiné rovnice mjí z nezávisle proměnnou prostorovou proměnnou x (průhyb prutu, ustálené vedení tepl). Tyto úlohy mjí čsto zdné dlší podmínky v různých částech hrnice oblsti, kde se hledá řešení. To jsou úlohy okrjové. V této části se budeme věnovt první skupině - počátečním úlohám. Budeme řešit úlohu njít y C 1 0,T tkovou, že pro t 0,T y (t) = f(t,y(t)), (9) y(0) = y 0. (10) Budeme předpokládt, že funkce f je spojitán 0,T R. Než přistoupíme k numerickému řešení úlohy (9)-(10), zjistíme, jké vlstnosti má její přesné řešení. Definice 4.1 Funkce f je lipschitzovská n intervlu I s konstntou L, jestliže pro kždé x,y I pltí f(x) f(y) L x y. Vět 4.1 Nechť existuje L > 0 tkové, že f je lipschitzovská s konstntou L vzhledem k y n intervlu (, ) pro všechn t 0, T. Potom má Cuchyov úloh (9)-(10) právě jedno řešení v 0, T. Definice 4. Cuchyov úloh je ljpunovsky stbilní, jestliže pro kždé ǫ pro kždou perturbci úlohy (9)-(10) z (t) = f(t,z(t)) + δ(t), (11) z(0) = y 0 + δ 0, (1) kde δ 0 ǫ, δ(t) ǫ, pro t 0,T, existuje C > 0 tk, že pro t 0,T y(t) z(t) Cǫ. Vět 4. (Gronwllovo lemm.) Nechť p je integrovtelná nezáporná funkce n (0, T) nechť g φ jsou spojité n 0, T g je neklesjící. Jestliže φ(t) g(t) + t 0,T, potom t 0 p(s)φ(s) ds, φ(t) g(t)er t 0 p(s)ds. 14
S pomocí uvedené věty ukážeme, že Cuchyov úloh je pro lipschitzovskou funkci f ljpunovksy stbilní, t.j. při mlých změnách v zdání úlohy dostneme mlé změny řešení. Vět 4.3 Je-li f lipschitzovská vzhledem k y n R, je Cuchyov úloh (9)-(10) ljpunovsky stbilní. Uvedeme důkz. Nechť y je řešení úlohy (9)-(10) z je řešení úlohy (11)-(1), kde δ 0 ǫ, δ(t) ǫ, t 0,T. Pltí T tké Tedy Podle Věty 4. je 0 z (t) y (t) = z(t) y(t) (z(0) y(0)) = z(t) y(t) δ 0 T 0 z (t) y (t) = T 0 T f(t,z(t)) f(t,y(t))dt + δ(t) dt. 0 T z(t) y(t) δ 0 + L z(t) y(t) dt + ǫt. 0 z(t) y(t) ǫ(1 + T)e LT. Tedy pro změnu dt v úloze řádu ǫ máme změnu řešení velikosti Cǫ, kde C je konstnt závislá n L T. Všimněme si, že pro rostoucí T může tto konstnt exponenciálně růst. Z numerických metod pro řešení Cuchyovy úlohy ukážeme jen čtyři. Nejdříve zvedeme oznčení. Budeme hledt řešení úlohy (9)-(10) n intervlu 0, T. Obecně lze přizpůsobit jkýkoliv intervl této formulci lineární trnsformcí proměnné t. V intervlu 0, T budeme uvžovt n + 1 dělících bodů t k = k h, k = 0,1,...,n, kde h = T/n. Numerická metod poskytne proximci řešení v těchto bodech. Pro jednoduchost dlších zápisů oznčíme hodnoty přesného řešení y k = y(t k ), k = 0,1,...,n, proximci přesného řešení v bodě t k numerickou metodou u k, k = 0,1,,...,n. Pro kždou metodu položíme u 0 = y 0. Budeme se zbývt pouze metodmi jednokrokovými. Tkové metody používjí pro získání proximce u k+1 jen u k. Oznčme obecně prvidlo jednokrokové metody u k+1 = u k + hφ(t k,u k ). Vícekrokové metody jsou uvedeny npř. v [, 6, 9]. Protože se budeme zbývt nlýzou chyb numerických metod, zvedeme následující oznčení. Definice 4.3 Řekneme, že výrz v(h) definovný v okolí bodu h = 0 je typu O(hp ), p N, píšeme v(h) = O(h p ), 15
jestliže existuje konstnt C okolí bodu h = 0 tkové, že pro všechn h z tohoto okolí je v(h) h p C. (Jinými slovy, v(h) h p je omezená n nějkém okolí bodu h = 0.) Budeme zkoumt, jké chyby se dopustíme po jednom kroku metody, tedy nhrdíme-li y 1 přibližným řešením u 1. Tto chyb se nzývá lokální diskretizční chyb. Podívejme se, jká je řádově chyb po n krocích, jestliže je lokální diskretizční chyb O(h p+1 ). Máme Pk u 0 y 0 = 0, u 1 y 1 = O(h p+1 ). u y = u 1 + hφ(t 1,u 1 ) y = = u 1 + hφ(t 1,y 1 (y 1 u 1 )) y = = u 1 + hφ(t 1,y 1 ) + hl y 1 u 1 y = = y 1 + hφ(t 1,y 1 ) y + u 1 y 1 + hl y 1 u 1 = = O(h p+1 ) + (1 + hl) u 1 y 1. Postupně dostneme což dává u k y k = O(h p+1 ) + (1 + hl) u k 1 y k 1, k 1 u k y k = O(h p+1 ) (1 + hl) m = O(h p+1 ) (1 + hl)k 1 = 1 hl L ((1 + LT/n)k 1)O(h p ). m=0 Všimněme si, že lim u n y n = elt 1 O(h p ). h 0 L Jestliže je lokální diskretizční chyb je O(h p+1 ) je chyb po n krocích u n y n řádově O(h p ). Definice 4.4 Řekneme, že metod je řádu p, jestliže lokální diskretizční chyb metody je O(hp+1 ). Zdůrzněme, že řád metody závisí n hldkosti (počtu derivcí) řešení. konverguje. Probereme postupně čtyři metody. Čím vyšší řád, tím lépe metod Explicitní Eulerov metod. Pro tuto metodu u k+1 = u k + hf(t k,u k ). Jestliže má řešení y druhou derivci n intervlu 0,t 1, máme z Tylorov rozvoje y v bodě t = 0 u 1 y 1 = u 0 + hf(t 0,u 0 ) y 0 hy (0) + y (η) h = y (η) h, kde η je nějký bod v intervlu (0,t 1 ). Tedy lokální diskretizční chyb Eulerovy explicitní metody je řádu O(h ) pro úlohy, kde řešení y má druhou derivci. Neboli, tto metod je řádu 1. 16
Implicitní Eulerov metod. Pro tuto metodu u k+1 = u k + hf(t k+1,u k+1 ). Jestliže má řešení y druhou derivci n intervlu 0,t 1, máme z Tylorov rozvoje y v bodě t = t 1 u 1 y 1 = u 0 + hf(t 1,u 1 ) y 0 hy (t 1 ) + y (η) h = y (η) h, kde η je nějký bod v intervlu (0,t 1 ). Tedy lokální diskretizční chyb Eulerovy implicitní metody je řádu O(h ) pro úlohy, kde řešení má druhou derivci. Neboli, tto metod je řádu 1. Metod Crnkov-Nicolsonové. (Lichoběžníková metod.) Pro tuto metodu u k+1 = u k + h (f(t k,u k ) + f(t k+1,u k+1 )). Nechť má řešení y třetí derivci n intervlu 0,t 1. Z Tylorových rozvojů funkce y v bodech t = 0 t = t 1 ( ) t1 y = y(0) + t 1 y (0) + t 1! y (η 0 ) ( ) t1 y = y(t 1 ) t 1 y (t 1 ) + t 1! y (η 1 ) máme y(t 1 ) y(0) = t 1 (y (0) + y (t 1 )) t 1 8 (y (η 1 ) y (η 0 )) (13) pro nějké η 0,η 1 (0,t 1 ). Podle Lgrngeovy věty o střední hodnotě (předmět MA1) existuje ω (0,t 1 ) tk, že y (η 1 ) y (η 0 ) = y (ω)(η 1 η 0 ). Tedy máme Tedy u 1 y 1 = = u 0 + h (f(0,u 0) + f(t 1,u 1 )) y(0) t 1 ( y (0) + y (t 1 ) ) + t 1 8 y (η 3 )(η 1 η 0 ) = = h (f(t 1,u 1 ) f(t 1,y(t 1 ))) + t 1 8 y (η 3 )(η 1 η 0 ). u 1 y 1 h L u 1 y 1 + h3 8 y (η 3 ), ( u 1 y 1 h3 1 hl ) 1 y (η 3 ) = O(h 3 ). 8 Tedy lokální diskretizční chyb metody Crnkovy-Nicolsonové je řádu O(h 3 ) pro úlohy, kde řešení má druhou derivci. Tto metod je tedy řádu. Rungov-Kuttov metod. řádu. Pro tuto metodu u k+1 = u k + h (f(t k,u k ) + f(t k+1,u k + hf(t k,u k ))). 17
Nechť má řešení y třetí derivci n intervlu 0,t 1. Stejně jko u předchozí metody máme (13) z Tylorových rozvojů funkce y v bodech t = 0 t = t 1 pro nějké η 0,η 1 (0,t 1 ). Podle Lgrngeovy věty o střední hodnotě existuje ω (0,t 1 ) tk, že y (η 1 ) y (η 0 ) = y (ω)(η 1 η 0 ). Tedy máme u 1 y 1 = = u 0 + h (f(t 0,u 0 ) + f(t 1,u 0 + hf(t 0,u 0 ))) y(0) t 1 (y (0) + y (t 1 )) + t3 1 8 y (ω)(η 1 η 0 ) = = h f(t 1,u 0 + hf(t 0,u 0 )) h y (t 1 ) + t3 1 8 y (ω)(η 1 η 0 ) = = h f(t 1,u 0 + hf(t 0,u 0 )) h f(t 1,y(t 1 )) + t3 1 8 y (ω)(η 1 η 0 ). Jelikož f je lipschitzovská vzhledem k y, máme u 1 y 1 L h u 0 + hf(t 0,u 0 ) y(t 1 ) + t3 1 8 y (ω) η 1 η 0 = = L h u 0 + hy (0) y(0) t 1 y (0) 1 t 1y (η 3 ) + t3 1 8 y (ω) η 1 η 0 pro nějké η 3 (0,t 1 ). Tedy u 1 y 1 L h3 4 y (η 3 ) + h4 8 y (ω) = O(h 3 ). Tedy lokální diskretizční chyb Rungovy-Kuttovy metody. řádu je řádu O(h 3 ) pro úlohy, kde řešení má třetí derivci. Neboli, tto metod je skutečně řádu, jk je v názvu uvedeno. Nyní budeme zkoumt, zd mjí tyto numerické metody dlší přijtelné vlstnosti. Jednou z nich je stbilit v následujícím smyslu. Chceme, by pro úlohu, pro jejíž řešení y pltí lim t y(t) = 0, pltilo lim n u n = 0. Definice 4.5 Řekneme, že metod je bsolutně stbilní n množině A, jestliže pro numerické řešení úlohy y(0) = 1, y (t) = λy(t), t (0, ) (14) s krokem h pltí u n 0 pro kždé hλ A. Njdeme pro jednotlivé metody oblsti bsolutní stbility. Řešme úlohu (14) Eulerovou explicitní metodou. Dostneme u n+1 = u n + hλu n = (1 + hλ)u n = (1 + hλ) n u 0 = (1 + hλ) n. Aby posloupnost u n konvergovl k nule, musí pltit 1 + hλ < 1. 18
Množinou bsolutní stbility je tedy kruh v komplexní rovině se středem v bodě [ 1,0] s poloměrem 1. Pro zdné λ musí pro h > 0 pltit 1 + hλ < 1 (1 + hλ) < 1 hre(λ) + h λ < 0 h < Re(λ) λ. Je-li λ R, je jednoduše potřeb volit velikost kroku h tk, by h < λ. Řešme nyní úlohu (14) Eulerovou implicitní metodou. Dostneme u n+1 = u n+1 = u n + hλu n+1, 1 1 hλ u n = Aby posloupnost u n konvergovl k nule, musí pltit 1 (1 hλ) n u 0 = 1 1 hλ < 1. 1 (1 hλ) n. Oblst stbility pro Eulerovu imlicitní metodu je tedy vnějšek kruhu se středem v bodě [1,0] poloměrem 1. Pro dné λ je třeb volit h tk, by Re(λ) λ < h. Řešme úlohu (14) metodou Crnkovou-Nicolsonové. Dostneme u n+1 = u n + h (λu n + λu n+1 ) = 1 + 1 hλ 1 1 hλu n = ( 1 + 1 hλ ) n 1 1 hλ u 0. Oblst stbility pro metodou Crnkovu-Nicolsonové je množin všech komplexních čísel se zápornou reálnou částí. Řešme úlohu (14) Rungovou-Kuttovou metodou. řádu. Dostneme u n+1 = u n + h ) ) n (λu n + λ(u n + hλu n )) = (1 + hλ + (hλ) u n = (1 + hλ + (hλ) u 0. Oblst stbility pro Rungovu-Kuttovu metodu. řádu je tedy ovál v komplexní rovině A = {x C; (x + 1 i)(x + 1 + i) }. Sndno se ukáže, že tto množin obshuje kruh se středem v bodě [ 1,0] poloměrem 1. Volb kroku h tedy může tedy dosti záviset n fnkci f. Jestliže prvá strn f je přibližně jko 5y(t), je potřeb u jednotlivých metod přizpůsobit volbu kroku h. Pro Eulerovu explicitní metodu i pro Rungovu-Kuttovu metodu musíme vzít h < ( 5) ( 5) = 5. Pro Eulerovu implicitní metodu ni pro metodu Crnkovu-Nicolsonové podmínk stbility v tomto přípdě omezení n h nedává. 19
Definice 4.6 Řekneme, že metod je A-stbilní, jestliže oblst stbility obshuje všechn komplexní čísl se zápornou složkou. A-stbilní metody tedy mohou použít libovolnou délku kroku, je-li Re(λ) < 0 pro λ n prvé strně rovnice (14). Eulerov implicitní metod metod Crnkov-Nicolsonové jsou A-stbilní. Uvedenými metodmi lze řešit tké soustvy obyčejných diferenciálních rovnic. Uvžujme jko příkld soustvu dvou rovnic y 1(t) = f 1 (t,y 1 (t),y (t)), y (t) = f (t,y 1 (t),y (t)), s počáteční podmínkou y 1 (0) = 1, y (0) =. Zvedeme oznčení Y (t) = Máme tedy úlohu s podmínkou ( y1 (y) y (t) ) (, Y y (t) = 1 (y) y (t) ) ( f1 (t,y, F(t,Y (t)) = 1 (t),y (t)) f (t,y 1 (t),y (t)) Y (t) = F(t,Y (t)), Y (0) = ( 1 Tto formulce odpovídá úloze (9)-(10) jko tkovou ji tké můžeme řešit všemi výše uvedenými metodmi. Místo sklární hodnoty y(t) všk máme vektor Y (t). ). ). Počáteční úlohy vyššího řádu lze převést n soustvu rovnic prvního řádu. Jko příkld mějme y (t) = f(t,y(t),y (t),y (t)) s počáteční podmínkou y(0) = 0, y (0) = 1 y (0) =. Zvedeme oznčení Pk máme úlohu y 0 (t) = y(t), y 1 (t) = y (t), y (t) = y (t). y 0 (t) = y 1(t), y 1 (t) = y (t), y (t) = f(t,y 0(t),y 1 (t),y (t)) s počáteční podmínkou y 0 (0) = 0, y 1 (0) = 1 y (0) =. Tuto úlohu pk řešíme jko soustvu rovnic podle předchozího odstvce. Příkld 4.1 Porovnejte přesné řešení úlohy (14) pro λ = 5 s přibližnými řešeními uvedenými metodmi pro různou volbu kroku h. 0
5 Numerické řešení obyčejných i prciálních diferenciálních rovnic, okrjových úloh 5.1 Úvodní pojmy V úvodu této části připomeňme několik zákldních pojmů jejich vlstností [8]: Lineární prostor. Norm. Bnchův prostor. Sklární součin. Hilbertův prostor. Schwrzov nerovnost. Uvedeme několik vět poznámek, které jsou potřeb pro opodsttnění použití Ritzovy metody, která je zákldem teoretie metody konečných prvků. Některá tvrzení uvedeme bez důkzů jen s odkzem n příslušnou literturu. Nicméně uvedená tvrzení předstvují téměř všechny potřebné nástroje. Vět 5.1 (Rieszov vět.) [8] Nechť V je Hilbertův prostor. Pk pro kždý spojitý lineární funkcionál G n V existuje právě jeden prvek u V tkový, že pro všechn v V. G(v) = (v,u) Vět 5. (Lxov-Milgrmov vět.) [5] Nechť V je Hilbertův prostor nechť (, ) je spojitá pozitivně definitní bilineární form definovná n V. Pk pro kždý spojitý lineární funkcionál b( ) definovný n V existuje právě jeden prvek u V tkový, že pro všechn v V. (v,u) = b(v) Vět 5.3 (Vět o ekvivlenci.) [5] Nechť V je lineární prostor nechť (, ) je pozitivně definitní bilineární form n V nechť f V. Potom pltí následující ekvivlence. Funkcionál F(v) = 1 (v,v) b(v) nbývá svého globálního minim pro v = u 0, právě když pro všechn v V. (u 0,v) = b(v) V dlším textu uvedeme několik definic. Funkce f je lipschitzovská n intervlu (, b), jestliže existuje konstnt L tková, že pro kždou dvojici x,y (,b) pltí f(x) f(y) L x y. Omezená množin Ω má lipschitzovskou hrnici Ω, jesliže existuje konečný počet krtézských systémů K i částí hrnice Ω i, i = 1,,...,m tk, že hrnice Ω i je v systému K i dán lipschitzovskou funkcí f i (t). 1
Prostory funkcí L (Ω) je L (Ω) = {v; v (t)dt < }. Ω Zde se integrál uvžuje v Lebesgueově smyslu. Prostory funkcí W k, (Ω), W k, 0 (Ω) jsou W k, 0 (Ω) = {v; W k, (Ω) = {v; m v(t) m 1 t1 m t... mn t n L (Ω) pro m k}, m v(t) m 1 t1 m t... mn t n L (Ω) pro m k,v(t) = 0 pro t Ω 1 }, kde Ω 1 je část hrnice oblsti Ω, k-tá derivce v (k) je dán v zobecněném smyslu, v (k) (t)φ(t)dt = ( 1) k v(t)φ (k) (t)dt pro všechn φ(t) C (Ω), kde Ω v (k) = Ω k v(t) k 1 t1 k t... kn t n, kde k = n j=1 k n. Pro diferencovtelné funkce je tto definice totožná s definicí klsickou. V prostorech W k, 0 (Ω) lze definovt sklární součin (u,v) = m k Ω m u(t) m 1 t1 m t... mn t n m v(t) m 1 t1 m t... mn t n dx. Pomocí tohoto sklárního součinu definujeme normu u k = ( m ) u(t) m 1 t1 m dx t... mn t n m k Ω V prostoru W 1, 0 (Ω) definujme seminormu u 1 = Ω ( ) u + x ( ) u dx. y Vět 5.4 (Sobolevov vět o vnoření.) [5] Nechť je Ω R n omezená množin s lipschitzovskou hrnicí nechť k > d. Pk W k, (Ω) C( Ω). Pltí npříkld sgn(x) L ( 1,1), x L ( 1,1), x W 1, ( 1,1), le sgn(x) / W 1, ( 1,1).
Poslední vzth plyne z následující úvhy. Předpokládejme, že existuje derivce sgn(x), oznčme ji s(x). Potom 1 1 0 1 s(x)φ(x)dx = sgn(x)φ (x)dx = sgn(x)φ (x)dx sgn(x)φ (x)dx = 1 0 1 1 = 0 1 φ (x)dx 1 0 φ (x)dx = φ(0). pro všechny funkce φ C ( 1,1). Funkce s má tedy tu vlstnost, že její hodnoty jsou nulové mimo bod x = 0 integrál ǫ ǫ s(x)dx = pro libovolné ǫ > 0. Potom tké ze Schwrzovy nerovnosti m me ǫ ǫ ǫ = s(x)dx s (x)dx 1dx. ǫ ǫ ǫ Jelikož pro ǫ 0 je nutně Tím pádem sgn(x) / W 1, ( 1,1). ǫ ǫ ǫ ǫ 1dx = ǫ 0, s (x)dx =. Vět 5.5 (Friedrichsov nerovnost.) [5, 7] Nechť Ω R n je omezená množin s lipschitzovskou hrnicí Ω. Nechť Γ je reltivně otevřená podmnožin hrnice Ω. Potom existuje konstnt c > 0 tk, že v 1 c( v 1 + v 0,Γ ) pro všechn v W 1, (Ω). Speciálně pk pro všechn v W 1, 0 (Ω). v 1 c v 1 Ukážeme důkz pro jednorozměrný přípd. Pro u W 1, 0 (,b) pltí potom podle Schwrzovy nerovnosti ( x u(x) = u (t)dt) po integrování obou strn máme tké u(x) dt + u(x) = x u(x) dt 1dt x u (t)dt, x (b ) u (x) dt u (t) dt = (x ) u (t) dt, + (b ) u (t) dt, u (t) dt, což se mělo dokázt. Konstnt c = (b ) lze vylepšit, důkz je uveden v [7]. 3
5. Jednodimenzionální úloh V následující části se soustředíme n úlohu v jedné proměnné. Řešíme rovnici (u (x)) + α(x)u(x) = f(x) (15) pro x (,b) s podmínkmi u() = 0, u (b) = 7, kde α,f C (,b), α(x) 0 pro x,b. Řešení u C(,b) této úlohy se nzývá klsické řešení. Místo (15) budeme uvžovt slbou formulci. Hledáme funkci u W 1, 0 (,b) tkovou, že pltí u (x)v (x)dx + pro všechn v W 1, 0 (,b), kde v tomto přípdě Budeme uvžovt α L (,b), f L (,b). α(x)u(x)v(x) dx = W 1, 0 (,b) = {v; v L (,b), v L (,b), v() = 0}. f(x)v(x)dx + 7v(b) (16) Zjímá nás, zd úloh (16) má řešení zd je jednoznčné. Podle Věty 5. existuje jednoznčné řešení, jestliže bilineární form n levé strně (16) je spojitá pozitivně definitní n prostoru W 1, 0 (,b). Máme tedy dokázt, že existuje kldná konstnt c 1 tk, že ( u (x)v (x)dx + ( c 1 u (x)dx + Jelikož α L (,b), existuje c 1 > 0, že pltí ( = ) u (x)dx ( u (x)v (x)dx + ( u (x)v (x)dx) + α(x)u(x)v(x)dx) + c 1 u (x) dx + c 1 u (x) dx c 1 u (x) dx ( + c 1 u (x) dx ( = c 1 u (x)dx + α(x)u(x)v(x)dx) ( v (x)dx + α(x)u(x)v(x)dx) = v (x) dx + c 1 u(x) dx u (x)v (x)dx v (x) dx u(x) dx v (x) dx + c 1 u(x) dx v(x) dx + ) u (x)dx u(x) dx ( v (x)dx + ) v (x)dx. v(x) dx+ v(x) dx v(x) dx+ ) v(x) dx = α(x)u(x)v(x) dx ) v (x)dx. 4
První nerovnost plyne ze Schwrzovy nerovnosti poslední nerovnost plyne z toho, že pro kldná čísl x,y pltí xy x + y. Dále je potřeb ukázt, že existuje kldná konstnt c tk, že ( ) c v (x)dx + v (x)dx v dx + pro všechn v W 1, 0 (, b). Z Friedrichsovy nerovnosti je α(x)v (x)dx tedy odpověď je kldná. v dx + + (b ) α(x)v (x)dx ( v (x)dx + v (x)dx ) v (x)dx, 5.3 Dvoudimenzionální formulce Hledáme funkci u C (Ω) tkovou, že u + αu = f, u = 0 n Ω D du dn = g n Ω N, kde α,f C(Ω), Ω je oblst v R s lipschitzovskou hrnicí. Uvedeme slbou formulci úlohy. Hledáme funkci u W 1, 0 (Ω) tk, že u v Ω x x + u v + αuv dx = fv dx gv ds (17) x x Ω N u = 0 n části hrnice Ω D, du dn = g n Ω N, kde α L (Ω) f L (Ω). Zde W 1, 0 (Ω) oznčuje prostor W 1, 0 (Ω) = {v; v x, v y L (Ω), v = 0n Ω D }. Potřebujeme dokázt, že operátor n levé strně rovnice (17) u v (u,v) = x x + u v + αuv dx x x Ω je spojitý pozitivně definitní v prostoru W 1, 0 (Ω). To se nám podří opět pomocí Friedrichsovy Schwrzovy nerovnosti. Ω 5.4 Metod konečných prvků Nyní tedy víme, že rovnice (16) (17) mjí jednoznčné řešení v prostoru W 1, 0 (,b), resp. W 1, 0 (Ω), le ztím nevíme, jk jej získt. Můžeme se pokusit získt lespoň proximci tohoto řešení. K tomu nás přivedou metody Ritzov Glerkinov. Uvžujme konečnědimenzionální podprostor V n 5
dimenze n prostoru W 1, 0 (, b). Ritzov metod spočívá v nhrzení přesného řešení u bodem minim funkcionálu F n V n. Zvolíme-li bázi φ 1,φ,...,φ n n V n, dostneme soustvu n lineárních rovnic o n neznámých koeficientech b i, i = 1,...,n, (φ 1,φ 1 )b 1 + (φ 1,φ )b +... + (φ 1,φ n )b n = b(φ 1 ) (φ,φ 1 )b 1 + (φ,φ )b +... + (φ,φ n )b n = b(φ ) (φ n,φ 1 )b 1 + (φ n,φ )b +... + (φ n,φ n )b n = b(φ n ). Aproximce řešení ve V n je pk u n = n i=1 b iφ i. Glerkinov metod spočívá v hledání funkce u n V n tkové, že (u n,v) = b(v) pro všechn v V n. Pro bázi φ 1,φ,...,φ n dostneme stejnou soustvu rovnic jko pro metodu Glerkinovu tké stejné řešení. Rozdíl v použití těchto dvou metod spočívá v tom, že Glerkinovu metodu můžeme použít i pro operátory, které nejsou pozitivně definitní. Dokonce prostor testovcích funkcí se nemusí shodovt s prostorem, ve kterém vybíráme řešení. Tk dostneme metodu Glerkinovu - Petrovovu. Je-li bilineární form (, ) pozitivně definitní n V, lze definovt sklární součin n V jko ((u,v)) = (u,v). Říká se mu energetický sklární součin. Je zjímvé uvědomit si, že nlezené přibližné řešení je kolmou projekcí přesného řešení do prostoru V n v energetickém sklárním součinu. Energetickému sklárnímu součinu odpovídá energetická norm u = (u,u). Metod konečných prvků (Finite Element Method) spočívá ve speciální volbě báze pro Ritzovu nebo Glerkinovu metodu. Báze se volí tk, by mtice vzniklé soustvy lineárních rovnic byl co nejvíce řídká. Pro dnou oblst Ω se zvolí tringulce. To znmená, že oblst se rozdělí n konečný počet intervlů (v 1d přípdě), trojúhelníků nebo čtyřúhelníků (v d), čtyřstěnů nebo kvádrů (ve 3d). Budeme jim říkt prvky. Prvky mjí vrcholy hrny. Je-li bod oblsti Ω vrcholem nějkého prvku, neleží n hrně ni uvnitř jiného prvku. N kždém prvku je definováno p lineárních zobrzení (podmínek; vzeb; stupňů volnosti). Pro kždý prvek je dán prostor funkcí (nejčstěji polynomů) tk, že právě jedn z nich splňuje dnou množinu p podmínek. Trojice, která zhrnuje typ prvku, druh vzeb prostor funkcí, se nzývá konečný prvek. Zjímvý příkld. Mějme úlohu u = f n intervlu (0,1) u(0) = u(1) = 0. Nechť f L (0,1). Nechť x 0,x 1,...,x n jsou rovnoměrně rozložené uzly n (0,1), x 0 = 0 x N = 1. Nechť A b jsou mtice soustvy vektor prvé strny, použijeme-li diskretizci metodou konečných prvků s po částech lineárními bázovými funkcemi nechť příslušné integrály jsou spočteny přesně. Nechť ū je řešení soustvy Aū = b. Pk ū 0 = u(x 0 ),ū 1 = u(x 1 ),...,ū n = u(x n ), neboli hodnoty ū k jsou hodnoty přesného řešení v bodech x k. (Ověření lze provést npř. doszením hodnot přesného řešení u(x) = xf(1) x 1 0 tf(t)dt + x 0 tf(t)dt xf(x), F = f, do soustvy rovnic.) 6...
5.5 Apriorní odhdy chyby Budeme uvžovt rovnice (16) (17) v obecném tvru (u,v) = b(v), (18) kde (u,v) je spojitá pozitivně definitní bilineárn i form n prostoru W 1, 0 (Ω) s nulovou podmínkou n hrnici Ω 1 f L (Ω). Uvžujme n-dimenzionální podprostor V n prostoru W 1, 0 (Ω). Minimum funkcionálu F(v) = 1 (v,v) b(v) n prostoru V n oznčme u n. Vyhovuje rovnicím pro všechn v V n. (u n,v) = b(v) (19) Vět 5.6 (Céovo lemm.) Nechť (, ) je spojitá bilineární form n Hilbertově prostoru V, pk existuje konstnt C > 0 nezávislá n podprostorech V n tk, že u u n V C inf v V n u v V, kde u je řešení úlohy (18) ve V u n je řešení úlohy (19) ve V n. Důkz. Nechť w je libovolný prvek z V n. Pk pltí (u,w) = (f,w), (u n,w) = (f,w), tedy (u u n,w) = 0. Z pozitivní definitnosti ze spojitosti pltí c 1 u u n V (u u n,u u n ) = (u u n,u u n ) + (u u n,u n w) = tedy = (u u n,u u n + u n w) = (u u n,u w) c u u n V u w V, c 1 u u n c u w V. Vidíme, že otázk konvergence metody konečných prvků se redukuje n otázku, jk dobře je prostor V proximován prostorem V n. Musíme se podívt blíže n prostor konečných prvků. Vět 5.7 (Vět o interpolci). [5] Nechť pro systém tringulcí odpovídjících prostorům konečných prvků V n pltí že existuje konstnt c > 0 tk, že prumer(e) d c obsh(e), kde E je libovolný prvek libovolné tringulce nechť mximální průměr prvků tringulce odpovídjící V n konverguje k nule pro n. Nechť v W k+1, (Ω) nechť k > d/ 1. 7
Potom pro kždé h > 0 existují konstnty C > 0 n 0 > 0 tk, že pro kždé n > n 0 je v P n (v) V C h k v k+1, kde P n (v) je Lgrngeov interpolce funkce v polynomem v uzlech tringulce. Vět 5.8 (Vět o rychlosti konvergence.) [5] Nechť jsou splněny předpokldy Věty 5.7 nechť u u n jsou řešení úloh (18) (19), u W k+1, (Ω). Pk existují konstnty n 0 C > 0 tk, že pro kždou tringulci odpovídjící n n 0 je u u n 1 C h k u k+1. Důkz. Z Vět 5.6 5.7 plyne u u n 1 C 1 u P n (u) 1 C h k u k+1. Předchozí vět říká, jk rychle metod konečných prvků konverguje, je-li slbé řešení z prostoru W k, (Ω), k. V následující větě je dokázán konvergence i z slbších předpokldů. Vět 5.9 (Vět o konvergenci.) [5] Nechť pro systém tringulcí pltí předpokldy Věty 5.7. Předpokládejme, že prostor C ( Ω) V je hustý ve V v normě prostoru V, V = 1. Pk lim u u n 1 = 0. n Důkz plyne ihned z předpokldu o hustotě z Vět 5.6 5.7. 5.6 Aposteriorní odhdy chyby Diskretizce spojitého modelu (16) nebo (17) vnáší chybu do výsledku. Otázkou je, zd lze tuto chybu měřit nebo odhdovt, ev. loklizovt. Ztímco priorní odhdy konvergence vypovídjí o řádu chyby o symptotickém chování metody, posteriorní odhdy vyvozují odhd chyby ze znlosti proximce u n V n řešení u V. Tedy odhdujeme e = u u n pro nějkou vhodnou normu. Součsně předpokládáme, že získání odhdu nebude výpočetně náročnější než řešení vlstní úlohy. Přehled metod lze nlézt v knize [1] V této části budeme uvžovt obecnou úlohu njít u V tkovou, že (u,v) = b(v), (0) pro všechn v V. Budeme předpokládt, že V je Hilbertův prostor. Nlezení přibližného řešení v prostoru V n odpovídá řešení soustvy rovnic pro všechn v n V n. (u n,v n ) = b(v n ) (1) 8
Budeme používt oznčení u = (u,u). Uvedeme zde pouze dvě metody posteriorních odhdů chyb. Odhd chyby využívjící rekonstrukci derivce řešení je popsán v části 5.6.1. Uvidíme, že z určitých podmínek je to přesný (tedy bez obecně neznámých konstnt) horní odhd chyby přibližného řešení v energetické normě. V části 5.6. je uveden způsob odhdy chyby využívjící tzv. hierrchické báze konečných prvků. 5.6.1 Odhdy používjící rekonstrukci grdientu Budeme předpokládt α = 0 v (16) (17), neboť chyb členů s vyššími derivcemi mjorizuje chybu osttních členů. Budeme se nejdříve zbývt jednodimenzionální úlohou. Oznčíme u slbé řešení úlohy (16). Vět 5.10 [10] Pro libovolné funkce v, v n W 1, (,b) pltí v v n sup (v v n,φ) v v n. φ W 1, (,b), φ =1 Důkz. Pltí ( v v n = v v n, ) v v n v v n sup (v v n,φ) φ W 1, (,b), φ =1 v v n sup φ W 1, (,b), φ =1 φ = v v n. Vět 5.11 [10] Pro libovolnou funkci v n W 1, (,b) pltí u v n sup {(f t,φ) (v n + t,φ )} u v n. t W 1 (,b), φ W 1, (,b), φ =1 Důkz. Pltí (u v n,φ) = (f,φ) (v n,φ ) = (f,phi) (v n + t,φ ) + (t,φ ) = = (f t,φ) (v n + t,φ ). Poslední rovnost získáme integrcí per prtes členu (t,φ ). Z věty 5.10 pk plyne tvrzení. Vět 5.11 poskytuje vyjárření chyby, které je přesné, všk těžko spočittelné, neboť uvedené supremum bychom museli hledt v prostoru nekonečné dimenze. Vět 5.1 [10] Pro libovolnou funkci v n W 1, (,b) pro libovolnou funkci t n W 1 (,b) pltí u v n h π f t n + v n + t n, kde h je největší délk subintervlu dělení použitého pro výpočet u. 9
Důkz. Podle Věty 5.11 pltí u v n Nvíc z Friedrichsovy nerovnosti [7] sup {(f t n,φ) (v n + t n,φ )}. φ W 1, (,b), φ =1 φ h π φ = h π φ. Tedy (f t n,φ) f t n φ f t n h π φ. Pro druhý člen dostneme (v n + t n,φ ) v n + t n φ = v n + t n φ. Nyní zbývá njít vhodnou funkci t n. Vět 5.13 [10] Nechť v n W 0,1 (,b) je libovolná. Zvolme t n W 1 (,b) tk, že (t n,1) (xk 1/,x k+1/ ) = (f,1) (xk 1/,x k+1/ ) pro všechn k = 1,,...,n 1. Potom ( ) 1/ u v n (e R,k + e G,k ), kde x k jsou uzly sítě e G,k = m k f t n (xk 1/,x k+1/ ), kde m k = h, k = 0,n, m k = h, k = 1,,...,n 1, π e R,k = v n + t n (xk 1/,x k+1/ ). k 0 Důkz. Podle Věty 5.11 pltí u v n Podle Poincréovy nerovnosti [7] pltí sup {(f t n,φ) (v n + t n,φ )}. φ W 1, (,b), φ =1 φ φ k (xk 1/,x k+1/ ) h π φ (xk 1/,x k+1/ ) = h π φ (x k 1/,x k+1/ ), kde φ k je střední hodnot funkce φ n intervlu (x k 1/,x k+1/ ). Máme (f v n,φ) (xk 1/,x k+1/ ) = (f t n,φ φ k ) (xk 1/,x k+1/ ) f t n (xk 1/,x k+1/ ) 30 h π φ (x k 1/,x k+1/ ).
Pro krjní intervly (k = 0, k = n) použijeme Friedrichsovu nerovnost Dále φ (xk 1/,x k+1/ ) h φ (xk 1/,x k+1/ ). (v n + t n,φ ) (xk 1/,x k+1/ ) v n + t n (xk 1/,x k+1/ ) φ (xk 1/,x k+1/ ). Následující vět konečně dává prktický návod n spočítání odhdu. Vět 5.14 [10] Nechť f je po částech konstntní nechť t n W 1 (,b) je dán vzthy t n (x k+1/ ) = v n(x k+1/ ), k = 0,1,...,n 1 t n (x k ) = (v n (xk 1,x k ) + v n (xk,x k+1 ))/, k = 1,...,n 1 t n (x 0 ) = v n (x 0,x 1 ), t n (x n ) = v n (x n 1,x n). Potom (t n,1) (xk 1/,x k+1/ ) = (f,1) (xk 1/,x k+1/ ), k = 1,,...,n 1. Důkz. Volb báze metody konečných prvků dává pro f po částech konstntní xk+1/ xk+1 f 1dx = f φ k dx = x k 1/ x k 1 xk+1 x k 1 u nφ k dx. Konstrukce t n zručuje xk+1 x k 1 u n φ k dx = xk+1/ x k 1/ t n 1dx. Příkld 5.1 Dokžte, že Vět 5.14 pltí i pro nerovnoměrné dělení intervlu (,b). 5.6. Odhdy používjící hierrchické báze konečných prvků Předpokládáme, že n < m V n W m n = V m, tedy V m je lineární obl prostorů V n W m n součsně V n W m n = {0}. Chceme odhdnout chybu přibližného řešení u n V n. Použijeme k tomu znlost přesnějšího řešení u m v prostoru V m. Dále budeme předpokládt, že pltí sturční předpokld, tedy že existuje konstnt β 1 0,1) tk, že u u m β 1 u u n. Existenci konstnty β 1 < 1 všk obecně nelze zručit. Njdeme příkldy úloh, pro které zjemnění sítě nesníží chybu řešení, tedy β 1 = 1. Součsně le víme, že pro dosttečně mlé h existuje konstnt c tk, že u u n ch u W 1, (Ω) 31
pro úlohu (17), je-li u W 3, (Ω). Tedy jestliže diskretizce V m je poloviční než pro V n, můžeme položit β 1 1/. Připomeňme, že pltí V n V m V. (u n,v) = b(v) v V n, (u m,v) = b(v) v V m, (u,v) = b(v) v V Oznčíme chyby e = u u n, tedy e V, (e,v) = b(v) (u n,v) v V, e m V m, (e m,v) = b(v) (u n,v) v V m. Chyb e m je tedy -kolmý průmět e do V m. Vět 5.15 Pltí e m e 1 1 β e m. Důkz. Pltí e = (u u m + u m u n,u u m + u m u n ) = = (u u m,u u m ) + (u m u n,u m u n ) = = u u m + (u m u + u u n,u m u n ) = = u u m + (u u n,u m u n ) = = u u m + (e m,u m u n ) = = u u m + (e m,u m u + u u n ) = = u u m + (e m,u u n ) = = u u m + (e m,e m ) = = u u m + e m. Máme tedy tké tkže e m e e β 1 u u n + e m = β 1 e + e m, e 1 1 β e m. Uvedená vět umožňuje odhd chyby, le je potřeb řešit úlohu (u m,v) = b(v) v V m. 3
To je náročná záležitost, neboť prostor V m má dimenzi m. Pokusíme se to obejít. Jelikož V n W m n = {0}, existuje konstnt γ (0,1) tk, že (v, w) γ v w pro všechn v V n, w W m n. Tto nerovnost se nzývá zesílená Schwrzov (Cuchyov- Bunykowského-Schwrzov, CBS) nerovnost. Pro mnoho tzv. hierrchických prostorů konečných prvků je konstnt γ nezávislá n velikosti dělení. Dlší možnost odhdu chyby dává následující vět. Nejdříve oznčme dlší hodnotu ē m W m n, (ē m,w) = b(w) (u n,w), w W m n. Funkce ē m je -kolmým průmětem chyby e do prostoru W m n. Vět 5.16 Pltí ē m e m 1 1 γ ē m. Důkz. Oznčme nejdříve e m = e m,1 + e m,, e m,1 V n, e m, W m n. Pltí (e m,v) = (u m u n,v) = b(v) b(v) = 0, v V n, (e m,v) = (u m u n,v) = b(v) (u n,v) = (ē m,v), v W m n. Potom e m = e m,1 + e m, = e m,1 + e m, + (e m,1,e m, ) e m,1 + e m, γ e m,1 e m, součsně γ e m,1 e m, e m,1 + γ e m,, neboť pro kždá nezáporná čísl,b,γ pltí γb + γ b = ( + γb) 0. Tedy máme Dále pltí e m (1 γ ) e m,. e m = (e m,e m ) = (e m,e m,1 ) + (e m,e m, ) = (e m,e m, ) = (ē m,e m, ) ē m e m,. Tedy celkem po zkrácení e m ē m e m, ē m e m 1 1 γ ē m. 1 1 γ e m, 33
Dále tedy ē m = (ē m,ē m ) = b(ē m ) (u n,ē m ) = (e m,ē m ) e m ē m, Tím jsou obě nerovnosti dokázány. ē m e m. Tto vět dáv možnost odhdnout chyby řešení pomocí normy funkce ē m, která je řešením ē m W m n, (ē m,w) = b(w) (u n,w), w W m n. Tto úloh je jednodušší než předešlá, neboť prostor W m n má dimenzi m n. Máme-li již spočtené řešení u m, můžeme jeho část náležející prostoru W m n tké využít pro odhd chyby u n. Oznčme u m = u m,1 + u m,, u m,1 V n, u m, W m n. Vět 5.17 Pltí u m, γ u n u m,1 ē m u m, + γ u n u m,1. 5.7 Příkld V této části převedeme, jk sestvit progrm pro numerické řešení diferenciální rovnice jedné proměnné, pro určité dolní horní posteriorní odhdy chyb pro odpovídjící zjemnění sítě. Budeme řešit rovnici u + pu = f () n intervlu 0,T s okrjovými podmínkmi u(0) = 0, u (T) = u T. Předpokládáme p > 0 n 0,T. Vriční formulce je (u,v) = b(v), v W 1, 0 (0,T), (3) kde W 1, 0 (0,T) = {v W 1, (0,T); v(0) = 0}, b jsou (u,v) = b(v) = T 0 T 0 T u v dx + puvdx, 0 fvdx + u T v(t). Zvolíme počáteční dělení intervlu 0,T, tedy body x 1 = 0,x,...,x n = T. přizpůsobujeme jzyku Mtlb, kde se připouští pouze kldné indexy.) (Indexování polí V metodě konečných prvků použijeme po částech lineární funkce. Tedy konečně-dimenzionální prostor V n je tvořen po částech lineárními funkcemi, jejichž bázi oznčíme φ 1,φ,...,φ n. Kždá bázová funkce odpovídá právě jednomu uzlu, t.j. nbývá v něm hodnoty 1 ve všech osttních uzlech hodnoty 0. N obrázku 1 je příkld bázové funkce φ 3 pro úlohu, kde T = 5, n = 7. Při sestvování progrmu je výhodné (zejmén při řešení úloh n složitějších oblstech) nejdříve vytvořit seznm (pole) o n řádcích jednom sloupci, který obshuje souřdnice všech uzlů, nzveme 34
1 0.8 0.6 φ 3 0.4 0. 0 x 1 x x 3 x 4 x 5 x 6 x 7 0. 1 0 1 3 4 5 6 Figure 1: Bázová funkce φ 3. jej uzly. Potom vytvoříme pole prvky o n 1 řádcích sloupcích, které bude obshovt seznm čísel uzlů příslušných jednotlivým prvkům. Pro příkld z obrázku 1: uzly(3) je 1/7 v poli prvky npř. prvky(,1) je prvky(,) je 3. Sestvíme mtici A. Nejdříve dosdíme z všechny její prvky nuly. Její hodnoty pk počítáme pomocí cyklu, ve ktrém projdeme postupně všechny prvky. V kždém prvku zjistíme pomocí pole prvky, které bázové funkce přísluší levému prvému koncovému bodu intervlu. N příslušná míst v mtici tuhosti pk přičteme hodnoty integrálů (φ prvek(k,1),φ prvek(k,1) ), (φ prvek(k,1),φ prvek(k,) )(= (φ prvek(k,),φ prvek(k,1) )), (φ prvek(k,),φ prvek(k,) ), kde ovšem integrujeme pouze přes k-tý prvek. Jednotlivé integrály počítáme přibližně nějkou numerickou metodou. V přípdě po částech lineárních funkcí je derivce konstntní funkci p uvžujeme konstntní n kždém prvku. Stejně, tedy po prvcích sestvíme vektor prvé strny B. Opět po prvcích integrujeme b(φ prvek(k,1) ) b(φ prvek(k,) ). U poslední hodnoty v poli B přičteme nvíc u T v(t) = u T 1 = u T. Z mtice A vynecháme první řádek sloupec z vektoru B první hodnotu, protože u(x 1 ) = 0. Vyřešíme soustvu lineárních rovnic s mticí A prvou strnou B. Vektor řešení ũ je proximce řešení u v bodech x j, j =,3,...,n. Lineární kombince je potom proximcí řešení u. u n = ũ j φ j k= Přistoupíme k odhdům chyb. Zčneme dolním odhdem podle Věty 5.16 Zvolíme vhodně prostor W m n počítáme ē m W m n, (ē m,w) = b(w) (u n,w), w W m n. 35