Počítačové metody v teoretické fyzice - TMF057(ZS 2015-16)
Aktualiky: (15. ledna 2016) zadání zápočtových úloh a doplnil jsem silabus a demostrační scripty v pythonu.
(29. října 2015) Průběžně doplňuji aktuální sylabus a demonstrace z přednášek v PYTHONu.
LEKCE 1 - Zaokrouhlovací chyby a numerická stabilita:
Demonstrace:
Cvičení: Určení čísla pi Archimedovou metodou. (pokus1-nestabilní, pokus2-funkční, pokus3-urychlení konvergence)
LEKCE 2 - Iterace a řešení nelineárních rovnic.
Demonstrace:
LEKCE 3 - Interpolace a interpolační polynomy.
Demonstrace: (používají metod knihovny Turtle graphics z Pythonu pro zobrazení dat)
LEKCE 4 - Interpolace na rovnoměrné síti, diferenční rovnice.
LEKCE 5 - Numerická derivace derivace a integrace.
Cvičení: Numerické derivování, diskretizační a zaokrouhlovací chyba (výpis numerické derivace pro různé hodnoty h do souboru a zobrazení chyby výsledků pomocí gnuplotu).
Demonstrace: (Numerická derivace, diskretizační x zaokrouhlovací chyba)
LEKCE 6 - Numerická integrace diferenciálních rovnic.
Demonstrace: (Numerické řešení diferenciálních rovnic)
LEKCE 7 - Numerická lineární algebra - faktorizace matic.
Demonstrace: (Faktorizace matice a její použití):
LEKCE 8 - Numerická lineární algebra - Gaussova eliminace.
Demonstrace: (Gaussova eliminace a LU rozklad)
LEKCE 9 - Numerická lineární algebra - diagonalizace matic.
Demonstrace: (Diagonalizace Jacobiho metodou)
LEKCE 10 - Diskrétní Fourierova transformace (odpřednesl jsem zrychleně - nezkouším)
Letos přednáší Matin Čížek. Informace z loňských stránek Karla Houfka naleznete naleznete zde.
MOJE STRÁNKY ZE ZS 2013/14:
14.1. Vyrobil jsem konečné požadavky ke zkoušce, věnujte jim pozornost, budu podle nich volit otázky. Také jsem se snažil opravit drobné chyby a nepřesnosti v poznámkám k přednášce, které naleznete ZDE. Bohužel jsem nestihl dokončit v ucelené podobě lineární algebru a fourierovu trasformaci, tak se podívejte alespoň na odkazy a průběžně sledujte tuto stránku, možná se tu objeví ještě lepší verze.
Zápočtové úlohy:
Ze zápočtových úloh je potřeba vybrat jednu a tu vyřešit v nějakém vyšším programovacím jazyce (FORTRAN, Pascal, C, C++,...). Při řešení je možno používat podprogramy z Numerických receptů, které na požádání dodám ve Fortranu, Pascalu nebo C, ale protože jsou potřeba jen algoritmy, které jsme probrali na přednášce, doporučuji zkusit si je naprogramovat. Rozhodně nepovažuji za vypracované úlohy v jazycích pro symbolické manipulace typu Maple/Mathematica, které mají vestavěné hotové numerické procedury pro řešení rovni, numerickou lineární algebru atd.
Požadavky ke zkoušce (předběžné, upřesním v zápočtovém týdnu)
Zkouška sestává ze dvou otázek vybraných z následujících okruhů. Jedna otázka se týká teorie k zápočtové úloze, kterou jste si vybrali a jejíž řešení mi představíte a vysvětlíte.
1) Zaokrouhlovací chyby, diskretizační chyba, numerická nestabilita, podmíněnost úlohy. Stabilní výpočet kořenů kvadratické rovnice.
2) Iterace, rychlost konvergence a urychlování konvergence. Aitkenův vzorec. Řešení nelineárních rovnic: bisekce, převedení na iterace, Newtonova metoda. Zobecnění na systémy rovnic.
3) Polynomiální interpolace, Lagrangeův a Hermiteův interpolační polynom. Interpolace na rovnoměrné síti. Newtonův interpolační vzorce, integrace a derivace interpolačního polynomu. Řešení diferenčních rovnic. Numerická derivace, analýza velikosti chyby metody a zaokrouhlovací chyby, optimální volba kroku.
4) Numerická integrace:Newtonovy-Cotesovy vzorce, metoda Richarsonovy extrapolace a Rombergova metoda. Gaussovy kvadratury. Principy metod a oblast použitelnosti.
5) Integrace obyčejných diferenciálních rovnic. Převedení rovnice vyššího řádu na soustavu prvního řádu. Lineární mnohokrokové metody, jednokrokové metody vyššího řádu - Rungeovy-Kuttovy metody. Volba délky kroku. Řád metody a stabilita. Problematika silného tlumení a implicitní metody. Numerovova metoda pro rovnice druhého řádu.
6) Okrajové úlohy - standardní typy problémů. Metoda střelby. (Relaxační metody. Jiné principy řešení (rozklad do baze, převedení na integrální rovnici, variační metody)
7) Základy numerické lineární algebry: Singulární rozklad matice, QR faktorizace. Metody výpočtu QR faktorizace: Grammova-Schmidtova ortogonalizace, Hausholderova metoda. Řešení lineárních úloh v nejmenších čtvercích. Podmíněnost úloh lineární algebry a pojem zpětné stability.
8) Číslo podmíněnosti matice. Řešení soustav lineárních rovnic. Gaussova eliminace a zpětná substituce, pivotace, trojúhelníkový (LU) rozklad. Choleského rozklad. Tridiagonální a pásové matice. Rozklad do singulárních hodnot a jeho použití pro soustavy lineárních rovnic. Iterační zpřesňování řešení a iterační metody, projekční metody pro inverzi matic po částech nebo inverzi části matice.
4) Diagonalizace matic - Jakobiho metoda. Použití na reálné a na Hermitovské matice. Převedení na Hessenbergův tvar a nalezení kořenů charakteristického polynomu. Stručný přehled dalších metod.
8) Semidiskrétní a diskrétní Fourierova transformace, Nyquistova kritická frekvence, rychlá FT. Příklady použití FT.
9) Integrální rovnice: typy standardních úloh. Přímé metody pomocí kvadraturního vzorce a Richarsonova extrapolace. Další možnosti (stručně): rozvoj do baze, iterační metody, variační metody, poruchové metody.
10) Stučně o minimalizace funkcí jedné a více proměnných.
11) Aproximace Padé.
Doporučená literatura
[0] Moje poznámky k přednášce (neúplné).
[1] Press, Teukolsky, Vetterling, Flannery: Numerical Recipes in C, Fortran, ...(prakticky orientované s knihovnou podprogramů v různých programovacích jazycích), k dispozici online.
[2] L.N. Trefethen: Finite difference and spectral methods for ODE and PDE. Nedopsaná kniha přístupná online: http://web.comlab.ox.ac.uk/nick.trefethen/pdetext.html (Obsahuje přehledný výklad teorie lineárních mnohakrokových metod pro obyčejné diferenciální rovnice)
[3] L.N. Trefethen, D. Bau III: Numerical Linear Algebra. SIAM 1997. (Velice čtivý a pedagogický výklad numerické lineární algebry)
[4] Isaacson, Keller: Analysis of Numerical Methods....(Matematické, důkazy konvergence, stability).
[5] Koonin: Computational Physics....(Numerické algoritmy stručně s aplikací na fyzikální problémy).
[6] Henrici: Essentials of Numerical Analysis with Pocket Calculator Demonstrations...(Rozbor základních numerických algoritmů s demonstrací hlavních obtíží na spoustě jednoduchých příkladů).
[7] Vitásek: Numerické metody. (Snadno dostupné v češtině. Obsáhlá příručka algoritmů.)
[8] Segethová: Základy numerické matematiky.(Skriptum. Výběr základních numerických algoritmů s důkazy konvergence.)