Cvičenie 10

Numerická integrácia

Dnešné cvičenie je rozdelené na 3 časti:

  • integrácia v jednej dimenzii
  • integrácia vo viacerých dimenziách
  • integrácia Monte Carlo

Integrácia v 1D je prevažne založená na jednoduchých geometrických princípoch založených na spresňovaní tradičnej definície Riemannovho integrálu. Následne i ukážeme ako sa integrovanie v jednom rozmere dá zobecniť do viac dimenzií. Metóda Monte Carlo využíva úplne iný princíp a je založená na generovaní náhodných čísel.

Integrácia v 1D

V jednej dimenzii ide o numerický výpočet integrálu

\[I = \int_{a}^b f(x) dx\]

Jednou z možností je využiť kvadratúrne vzorce, kde uvažujeme ekvidistantné body pozdĺž celého intervalu a na danom úseku aproximujeme funkciu. Metódy sa líšia podľa spôsobu, akým funkciu aproximujeme. Bližšie vysvetlenie vo videu, implementácia sa nachádza v čase 24:24-36:13. Kto chce metódy naimplementovať sám, použite template, použiť môže aj hotový skript. Takisto si prezrite odvodenie Simpsonovho pravidla.

Spresnenie jednoduchých kvadratúrnych vzorcov poskytuje Rombergova metóda, takisto si prezrite skript.

Viacdimenzionálne integrály

Počítanie viacdimenzionálnych integrálov je založené na využití Fubiniovej vety, ktorá nám hovorí o prevedení viacrozmerného integrálu na sériu jednorozmerných integrálov. Nevýhodou takéhoto prístupu však je, že počet bodov potrebných na výpočet integrálu rastie s mocninou dimenzie N. To znamená, že ak v 1D počítame integrál na \(n\) bodoch, v N dimenziách budeme potrebovať \(n^N\) bodov. Z tohto dôvodu pre viacdimenzionálne integrály častokrát býva vhodnejšia metóda Monte Carlo.

Prejdite si video a skript do času 22:40, silno však odporúčam celé video kde sú metódy vysvetlené detailnejšie z pohľadu efektívnosti algoritmov.

Integrácia Monte Carlo

Ak chceme vypočítať integrál funkcie \(f\) v objeme V, pomocou metódy Monte Carlo sa vieme k hodnote integrálu dostať ako

\begin{equation} I = \int fdV \approx V \bar{f} \pm V\sqrt{\frac{\bar{(f^2)}-(\bar{f})^2}{N}}, \end{equation}

kde \(\bar{f}\) označuje aritmetický priemer funkčných hodnôt. Môžme vidieť, že metóda konverguje relatívne pomaly a chyba je úmerná \(\sim N^{-1/2}\). K aritmetickému priemeru sa dostaneme tak, že v objeme V generujeme N náhodných bodov \(\vec{\xi}_1,..., \vec{\xi}_N\) a vyhodnocujeme na nich danú funkciu. Následne platí

\begin{equation} \bar{f} = \frac{1}{N}\sum_{i=1}^{N}f(\vec{\xi}_i) \end{equation}

Výhoda metódy sa prejaví hlavne pri viac dimenziách. V reále sa zvykne využívať sofistikovanejšie generovanie náhodných čísel, tzv. importance sampling. Prezrite si nasledujúce video od začiatku po 22:33, používa nasledujúci skript.

Domáca úloha

Deadline na odovzdanie domácej úlohy je streda 28. Apríl 2021 23:59:59. Konzultácie a odovzdanie úlohy cez chat v MS Teams. Zadanie dostanete takisto v MS Teams.

Comments