Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Matematika III – 6. týden Poznámky o numerických řešeních a parciálních diferenciálních rovnicích, Jan Slovák Masarykova univerzita Fakulta informatiky 23. 10. 2013 Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Obsah přednášky 1 Literatura 2 Lineární ODR 3 Poznámky o numerických metodách Eulerova metoda 4 Parciální diferenciální rovnice Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Kde je dobré číst? Zuzana Došlá, Roman Plch, Petr Sojka, Diferenciální počet funkcí více proměnných s programem Maple, MU Brno, 1999, 273 s. J. Slovák, M. Panák, M. Bulant, Matematika drsně a svižně, Muni Press, Brno 2013, v+773 s., elektronická edice www.math.muni.cz/Matematika_drsne_svizne Riley, K.F., Hobson, M.P., Bence, S.J. Mathematical Methods for Physics and Engineering, second edition, Cambridge University Press, Cambridge 2004, ISBN 0 521 89067 5, xxiii + 1232 pp. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Operátor D(y) = aky(k) + ak−1y(k−1) + · · · + a1y + a0y, kde ak = 0. D(eλx ) = akλk + ak−1λk−1 + · · · + a1λ + a0 eλx . Parametr λ tedy vede na řešení lineární diferenciální rovnice s konstantními koeficienty D(y) = 0 tehdy a jen tehdy, když je λ kořenem tzv. charakteristického polynomu akλk + · · · + a1λ + a0. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Pokud má charakteristický polynom k různých kořenů, dostáváme bázi celého vektorového prostoru řešení. Pokud je λ násobný kořen, přímým výpočtem s využitím toho, že je pak také kořenem derivace charakteristického polynomu, dostaneme, že je řešením i funkce x eλx . Podobně pak pro vyšší násobnost dostáváme různých řešení eλ, x eλx , . . . , x eλx . Spočtěte si, že je to skutečně pravda! (cvičení na důkazy indukcí :-) Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice U obecné lineární diferenciální rovnice předepisujeme nenulovou hodnotu diferenciálního operátoru D. Opět úplně analogicky k úvahám o systémech lineárních rovnic nebo u lineárních diferenčních rovnic přímo vidíme, že obecné řešení takovéto (nehomogenní) rovnice D(y)(x) = b(x) pro nějakou pevně zadanou funkci b(x) je součtem jednoho jakéhokoliv řešení této rovnice a množiny všech možných řešení příslušné homogenní rovnice D(y)(x) = 0. Celý prostor řešení je tedy opět pěkný konečněrozměrný afinní prostor, byť ukrytý v obrovském prostoru funkcí. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Partikulární řešení hledáme obvykle buď metodou neurčítých koeficientů, přičemž řešení předpokládáme ve tvaru podobném pravé straně (např. polynom u polynomů), nebo tzv. metodou variace konstant, kde uvažujeme obecné řešení homogenní rovnice, ve kterém konstanty považujeme za funkce a řešíme příslušný systém rovnic. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Kromě tak jednoduchých rovnic, jako jsou ty lineární s konstantními koeficienty se v praxi většinou setkáváme s postupy, jak přibližně spočíst řešení rovnice, se kterou pracujeme. Už jsme podobné úvahy dělali všude tam, kde jsme se zabývali aproximacemi (tj. zejména lze doporučit porovnání s dřivějšími odstavci o splajnech, Taylorových polynomech a Fourierových řadách). S trochou odvahy můžeme také považovat diferenční a diferenciální rovnice za vzájemné aproximace. V jednom směru nahrazujeme diference diferenciály (např. u ekonomických nebo populačních modelů), ve druhém pak naopak. Zastavíme se na chvilku u nahrazování derivací diferencemi. Nejdříve si však zavedeme obvyklé značení pro zápis odhadů chyb. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Definition Pro funkci f (x) v proměnné x řekneme, že je v okolí hromadného bodu x0 svého definičního oboru řádu velikosti O(ϕ(x)) pro nějakou funkci ϕ(x), jestliže existuje okolí U bodu x0 a konstanta C taková, že |f (x)| ≤ C · |ϕ(x)| pro všechny x ∈ U. Limitní bod x0 bývá často i nevlastní hodnota ±∞. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Nejobvyklejší příklady jsou O(xp) pro polynomiální řád velikosti a to v nule nebo v nekonečnu, O(ln x) pro logaritmický řád velikosti v nekonečnu atd. Všimněme si, že logaritmický řád velikosti nezávisí na volbě základu. Dobrým příkladem je aproximace funkce jejím Taylorovým polynomem řádu k v bodě x0. Taylorova věta pro funkce jedné proměnné říká, že chyba této aproximace je O(hk+1), kde h je přírůstek argumentu x − x0 = h. Podobné úvahy jsme dělali i u Fourierových řad. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice V případě obyčejných diferenciálních rovnic je nejjednodušším schématem aproximace tzv. Eulerovými polygony. Budeme ji prezentovat pro jednu obyčejnou rovnici s jednou nezávislou a jednou závislou veličinou. Úplně stejně ale funguje pro systémy rovnic, když skalární veličiny a jejich derivace v čase t nahradíme vektory závislé na času a jejich derivacemi. Uvažujme tedy opět rovnici (pro jednoduchost a bez újmy na obecnosti prvního řádu) y (t) = f (t, y(t)). Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Označme si diskrétní přírůstek času h, tj. tn = t0 + nh, a yn = y(tn). Z Taylorovy věty (se zbytkem druhého řádu) a naší rovnice vyplývá, že yn+1 = yn + y (tn)h + O(h2 ) = yn + f (tn, yn)h + O(h2 ). Při numerickém řešení Eulerovou metodou postupujeme tak, že za přibližné řešení považujeme po částech lineární polygon definovaný body yk+1 = yk + f (tk, yk). Jestliže tedy od t0 do tn uděláme n takových kroků o přírůstek h, bude očekávaný odhad celkové chyby vyplývající z lokálních nepřesností naší lineární aproximace nejvýše nO(h2), kde n = (tn − t0)/h, tj. chyba bude v řádu velikosti O(h). Ve skutečnosti vstupují při výpočtu do hry ještě zaokrouhlovací chyby. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice PDR prvního řádu Budeme pro jednoduchost pracovat s rovnicemi F((u, ux , uy , uxx , uxy , uyy , . . . ) = 0, kde u je neznámá funkce dvou proměnných x a y a indexy naznačují parciální derivace. Už v tomto nejjednodušším případě ale nejsou k dispozici obecné věty o jednoznačnosti a existenci řešení v obdobě k obyčejným diferenciálním rovnicím. Stejně jako u obyčejných rovnic přitom můžeme také uvažovat vektorové formulace (jak pro F tak pro u). Hovoříme pak také o systémech parciálních diferenciálních rovnic. V praktickém užití se nejvíce objevují rovnice prvního a druhého řádu, tj. případy, kdy v definiční rovnici nevystupují parciální derivace řádů vyšších. Jde o velice složitou tématiku, která vyžaduje silné matematické nástroje a my se zde omezíme jen na několik jednoduchých poznámek a pozorování. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Začněme s tou nejjednoduší zajímavou možností – jedinou rovnicí pro skalární funkci u(x, y) ve tvaru a(u, x, y)ux + b(u, x, y)uy = 0, kde a a b jsou známé funkce tří proměnných, u je hledané řešení. Zpravidla takový problém řešíme na nějaké oblasti D ⊂ R2 s hranicí ∂D (která bude v tomto případě krivkou). Vcelku přirozený nápad je snažit se najít nějaké řešení podél jednotlivých křivek z vhodné soustavy, které nám vyplní celou oblast D. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Díky nulovosti pravé strany se přímo podbízí hleda křivky, na nichž bude řešení u konstantní. Pokud zároveň nebudou tyto křivky tečné k hranici ∂D, budeme umět minimálně na nějakém okolí rozšířit hraniční hodnotu u0 konstantně podél takové křivky. Derivací u(c(t)) podle t dostaneme 0 = d dt u(c(t)) = ux (c(t))˙x(t) + uy (c(t))˙y(t), což nám dává systém rovnic pro hledané křivky ˙x = a(u, x(t), y(t)), ˙y = b(u, x(t), y(t)). Ten má pro dostatečně diferencovatelné funkce a, b a každou počáteční podmínku x(0), y(0) právě jedno řešení. Zkonstruovaným křivkám se říká charakteristiky parciální diferenciální rovnice prvního řádu, příslušné soustavě obyčejných diferenciálních rovnic pak charakteristické rovnice. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice V okamžiku, kdy přidáme pravou stranu rovnice funkci f (x, y) a píšeme z = u(x, y), dává stejný postup dodatečnou podmínku ˙x = a(u, x(t), y(t)), ˙y = b(u, x(t), y(t)), ˙z = f (x(t), y(t)) opět řešení z(t) = u(x(t), y(t)) podél každé charakteristiky c(t) = (x(t), y(t)). Skutečně, z naší konstrukce je zaručeno jak ˙z = f , tak ˙z = ux ˙x + uy ˙y a proto je naše rovnice podél charakteristik splněna. To ale obecně neznamená, že takto zkonstruované u je skutečně řešením původního problému. To musíme ověřit zkouškou. Literatura Lineární ODR Poznámky o numerických metodách Parciální diferenciální rovnice Zkusme si úplně jednoduchý příklad s rovnicí yux − xuy = 0 a s počáteční podmínkou u(x, 0) = x. Příslušné charakteristické rovnice jsme už viděli: ˙x = y, ˙y = −x. Řešení s počáteční podmínkou x(0) = R, y(0) = 0 je tvaru x(t) = R sin t, y(t) = R cos t, u(t) = R. Takto je dobře definovaná funkce u(x, y) = ϕ(r) (v polárních souřadnicích) jen lokálně. Jednak to obecně není diferencovatelná funkce v počátku souřadnic, také ale podél charakteristiky dojdeme z (R, 0) do bodu (−R, 0) a naše u již nemusí splňovat počáteční podmínky.