Obyčajné differenciálne rovnice/Implicitné Runge-Kutta metódy

From testwiki
Jump to navigation Jump to search

4.3 Implicitné Runge-Kutta metódy

Ak je matica koeficientov A v Butcherovej tabuľke Rungeho-Kuttovej metódy plne vyplnenou maticou, výpočet ohodnotení funkcie kj pre každé j=1,,s závisí od ostatných k1,ks, najmä tiež od kj,kj+1,ks , pozri (4. 1). Najjednoduchšou iRKV je už známa implicitná Eulerova metóda, ďalšími príkladmi sú implicitný stredový bod a lichobežníkové pravidlo:

Implicitné pravidlo stredového bodu, s=1:


k1=f(ti+h2,ηi+h2k1)ηi+1=ηi+hk1

Implicitné lichobežníkové pravidlo, s=2:



k1=f(ti,ηi)k2=f(ti+h,ηi+h2(k1+k2)ηi+1)ηi+1=ηi+h2(k1+k2)ηi+h2(f(ti,ηi)+f(ti+1,ηi+1)).

Dôležitou podmnožinou iRKV sú tzv. gaussovské metódy, ktoré umožňujú čo najväčší poriadok vzhľadom na počet krokov. Tieto metódy patria medzi takzvané kolokačné metódy a sú odvodené od Gaussovej kvadratúry, ktorej vďačia za svoj názov. Gaussove metódy, ako aj iné (ale nie všetky) iRKV, majú dobré stabilizačné vlastnosti, ktoré sú dôležité najmä pri „tuhých“ problémoch.

Stiff problémy

Pojem tuhý problém vznikol pri použití numerických metód na riešenie diferenciálnej rovnice, keď sa na získanie použiteľného konvergentného riešenia vyžadujú veľmi malé veľkosti krokov alebo menšie a menšie veľkosti krokov s postupom metódy. V takýchto prípadoch explicitné metódy, ako napríklad Eulerova metóda alebo eRKV vyššieho rádu s pevnou veľkosťou kroku, zlyhávajú; metódy s riadením veľkosti kroku vytvárajú stále menšie veľkosti kroku až po nulu (v rámci presnosti počítača), čo znamená, že v určitom bode sa už nepohybujú, zastavia sa - odtiaľ pochádza termín „tuhý“.

Medzi tuhé problémy patria diferenciálne rovnice s riešeniami s vysokou rýchlosťou zmien alebo systémy so zložkami riešenia, ktoré rastú veľmi rozdielnou rýchlosťou. Tu explicitná metóda generuje aproximáciu riešenia v ďalšom časovom kroku na základe predchádzajúcich, vo vysoko dynamických systémoch už nie aktuálnych, sklonov/informácií náchylných na chyby, a tak explicitná metóda rýchlo prekročí cieľ.

Príkladom tuhých problémov sú systémy lineárnych diferenciálnych rovníc, ktorých matica má veľmi rozdielne vlastné hodnoty, alebo diferenciálne rovnice opisujúce chemické reakcie s látkami, ktoré reagujú rôznymi rýchlosťami. Vďaka dobrým stabilizačným vlastnostiam implicitných jednokrokových metód, ktoré svoj priebeh v aktuálnom kroku prispôsobujú budúcemu (ešte silnejšiemu) gradientu, a tak poskytujú dobré výsledky aj pre väčšie veľkosti krokov h, sú iRKV vhodné najmä pre tuhé problémy.


Obrázok 4.1: Komponenty riešenia systému tuhej diferenciálnej rovnice, presné riešenie y1(t)=e10t, y2=1000e10t a aproximácia explicitnou Eulerovou metódou, h=0.125.

Pri implicitných Runge-Kutta metódach sa kroky kj počítajú riešením sústavy rovníc (4.1). Existencia riešenia tejto prípadne nelineárnej sústavy rovníc nie je vždy zaručená alebo dosiahnuteľná pomocou iteračných metód. Postačujúcou podmienkou existencie takéhoto riešenia a konvergencie iteračnej metódy pevného bodu je dostatočne malá veľkosť kroku h:


Nastavenie 4.2 (Butcher 1964)

Nech f je spojitý na ×m a Lipschitzovo spojitý vzhľadom na y s Lipschitzovou konštantou L. Pre prírastok h platí h<1L|A|=1Lmaxij=1,s|aij|.(4.12)


Potom sústava rovníc (4.1), kj=f(ti+hcj,ηi+hν=1sajmkν) j=1,,s

je jedinečné riešenie, ktoré sa dá vypočítať postupnou substitúciou (iteráciou pevného bodu). Ak fCp(×m), potom kj ako funkcie h sú tiež p-krát spojito diferencovateľné.


Dôkaz. Pre jednoduchosť nech m=1. Riešenie (nelineárnej) sústavy rovníc (4.1) pre k1,ks možno určiť iteračne: kj(m+1)=f(ti+hcj,ηi+hν=1sajνkν(m)) j=1,,s.(4.13)


Ak sústavu rovníc (4.1) prevedieme do vektorového tvaru, K=F(K),

pričom K=(k1,ks)Ts, F:ss, Fj(K):=f(ti+hcj,ηi+hν=1sajνkν)=f(ti+hcj,ηi+hAjK) j=1,,s

namiesto (4.13) dostaneme iteračné pravidlo K(m+1)=F(K(m))(4.14)


s počiatočným vektorom K(0).


Podľa Banachovej vety o pevnom bode, pozri vetu 2.1, kapitola 2, existuje jedinečné riešenie, pevný bod K=F(K), ak F je samomapovanie a kontrahovanie. Pre funkciu F:ss platí, že F(s)s, t. j. vždy je samomapovanie.
Teraz skúmame, či F je kontrakcia. Odhadneme Lipschitzovu spojitosť funkcie f a trojuholníkovú nerovnosť pre absolútnu hodnotu v maximálnej norme: F(K)1F(K2)=maxj=1,...,s|f(ti+hcj,ηi+hν=1sajνkν1)f(ti+hcj,ηi+hν=1sajνkν2)|LstetigmaxjhL|ν=1sajν(kν1kν2)|hLmaxjν=1s|ajν|maxν|kν1kν2|=hL|A|K1K2.

Z tohto odhadu vyplýva, že F je kontrakcia v Banachovom priestore s,, ak hLA|<1. Z toho vyplýva, že mapovanie F pre h<1/(L|A|) v s má jedinečný pevný bod, K=F(K),

Tvrdenie (4.13), (4.14) konverguje k tomuto pevnému bodu. Tvrdenie o p-násobnej spojitej diferencovateľnosti kj ponecháme bez dôkazu. ◻



'Poznámka o riešiteľnosti iRKV Remark on the solvability of the iRKV


  1. Obmedzenie veľkosti kroku h môže byť veľmi obmedzujúce pre veľké L konštanty (t. j. pre f s vysokými hodnotami derivácie fyL) môžu byť veľmi obmedzujúce a viesť k pomalej konvergencii metódy pevného bodu. Východiskom v týchto prípadoch je použitie inej iteračnej metódy s vyššou rýchlosťou konvergencie na výpočet kj, napríklad Newtonovej, sekantovej alebo kvázi-Newtonovej metódy. Tieto metódy konvergujú aj pre väčšie h, pretože majú superlineárnu rýchlosť konvergencie, ak je počiatočná hodnota zvolená priaznivo, v rámci tzv. konvergenčného intervalu.
  2. Ak je funkcia f len lokálne Lipschitzovo spojitá v y, t. j. len v okolí K(0), potom vyplývajú ďalšie obmedzenia na veľkosť kroku h, aby sa zaručila vlastnosť samomapovania.
  3. Lipschitzova spojitosť procesnej funkcie Φ eRKV, ako aj iRKV vzhľadom na y vyplýva z Lipschitzovej spojitosti f. To znamená, že iRKV s rádom konzistencie p sú tiež konvergentné s rádom konvergencie p. (pozri vetu 3.1)