UFDF005 Programování pro fyziky

Filozoficko-přírodovědecká fakulta v Opavě
zima 2018
Rozsah
0/0. 0 kr. Ukončení: dzk.
Garance
doc. RNDr. Stanislav Hledík, Ph.D.
Centrum interdisciplinárních studií – Filozoficko-přírodovědecká fakulta v Opavě
Předpoklady
Zručnost v programovacím jazyce C (v rozsahu předmětu UF/BL124 "Programování v jazyce C"), zejména v práci s poli (jedno- i dvourozměrnými) a ukazateli. Absolvování předmětu UF/W3601 "Programování pro fyziky" je výhodou. Hodí se znalost práce s vhodným IDE, na němž budou vypracovávány domácí úlohy.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
Doktorský kurs Programování pro fyziky seznamuje se základními i pokročilejšími numerickými metodami používanými ve fyzice. Používá se programovací jazyk C.
Osnova
  • 1. Seznámení s vývojovým prostředím I: Základy OS unixového typu (Linux), shell, práce s příkazovou řádkou, editor. IDE pod Windows (Code::Blocks, Bloodshed Dev-C++). Překladač, oddělený překlad, sestavení. Nástroj pro management překladu make.
    2. Opakování: Konstrukce programovacího jazyka C důležité pro numeriku. Organizace programu a řídicí struktury. Práce s knihou Press W. H. et al.
    3. Reprezentace čísel v počítači a počítačová aritmetika: Dekadická, binární, oktalová a hexadecimální reprezentace. Celá čísla znaménková a bezznaménková. Čísla s plovoucí desetinnou čárkou (floating-point numbers). IEEE standard. Zaokrouhlování, aritmetické operace, výjimky. Chyba a přesnost. Stabilita výpočtu. Pasti a nástrahy.
    4. Řešení lineárních algebraických rovnic: Gaussova-Jordanova eliminace. Gaussova eliminace se zpětnou substitucí. LU dekompozice. Řešení pro některé speciální tvary matice.
    5. Řešení nelineárních algebraických rovnic, hledání extrémů: Bracketing a bisekce. Metoda sečen. Newtonova-Raphsonova metoda. Kořeny polynomů.
    6. Interpolace a extrapolace: Polynomiální interpolace a extrapolace. Racionální interpolace a extrapolace. Kubické splajny. Interpolace ve dvou a více dimenzích.
    7. Náhodná čísla: Generátory rovnoměrného rozdělení, systémové generátory vs. portabilní generátory náhodných čísel. Transformační a rejekční metoda pro generování jiných rozdělení. Exponenciální a normální rozdělení. Rozdělení gama, Poissonovo, binomické. Integrace Monte Carlo.
    8. Numerická integrace: Klasické formule (otevřené, uzavřené, polootevřené) a algoritmy (lichoběžníkové, Simpsonovo pravidlo). Rombergova integrace. Nevlastní integrály. Gaussova kvadratura a ortogonální polynomy. Vícerozměrné integrály. Integrace jako speciální případ řešení obyčejných diferenciálních rovnic. Integrace Monte Carlo.
    9. Evaluace funkcí: Konvergence řad a její urychlení, řetězové zlomky. Polynomiální a racionální funkce. Komplexní aritmetika. Rekurence. Kvadratické a kubické rovnice. Numerická derivace. Čebyševova aproximace. Padého aproximanty.
    10. Obyčejné diferenciální rovnice: Problém počátečních hodnot vs. problém okrajových hodnot. Metoda Runge-Kutta. Metody s fixním a adaptivním krokem. Metoda prediktor-korektor. Metoda Bulirschova-Stoerova.
    11. Problém okrajových hodnot: Metoda nástřelu (shooting method). Relaxační metoda.
    12. Rychlá Fourierova transformace (FFT) a její aplikace: Fourierova transformace diskrétně vzorkovaných dat. Nyquistova kritická frekvence, vzorkovací teorém, aliasing. Komplexní FFT, FFT reálných funkcí, sinová a kosinová transformace. Vícerozměrná FFT. Konvoluce a dekonvoluce. Korelace a autokorelace. Filtrování. Wavelety.
    13. Parciální diferenciální rovnice: Cauchyův problém (pro hyperbolické a parabolické rovnice), hraniční problém (pro eliptické rovnice). Cauchyův problém se zachováním toku. Von Neumannova analýza stability. Difúzní rovnice, Schrödingerova rovnice. Metoda Fourierova a metoda cyklické redukce pro hraniční problém.
    14. Vývojové prostředí II: Debugging. Profiling. Testování.
    Další informace a studijní literatura jsou uvedeny na webové stránce předmětu:
Literatura
    doporučená literatura
  • Press, W. H., Teukolsky, S. A., Vetterling, W. T., Flannery, B. Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, Cambridge, 1997. ISBN 0-521-43108-5. URL info
  • Vetterling, W. T., Teukolsky, S. A., Press, W. H., Flannery, B. Numerical Recipes Example Book (C). Cambridge University Press, Cambridge, 1993. ISBN 0-521-43720-2. URL info
    neurčeno
  • Ralston, A. Základy numerické matematiky. Academia, Praha, 1978. URL info
Výukové metody
Přednášení
Přednáška s analýzou videozáznamu
Demonstrace
Laborování
Metody hodnocení
Test
Analýza výkonů studenta
Projekt (zápočtový, semestrální, seminární)
Informace učitele
Pro úspěšné ukončení předmětu a získání zkoušky je třeba obhájit projekt, jehož téma bude přiděleno v průběhu výuky, a absolvovat ústní zkoušku, v níž budou hodnoceny teoretické a praktické znalosti.
Další komentáře
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je zařazen také v obdobích zima 2000, léto 2001, zima 2001, léto 2002, zima 2002, léto 2003, zima 2003, léto 2004, zima 2004, léto 2005, zima 2005, léto 2006, zima 2006, léto 2007, zima 2007, léto 2008, zima 2008, léto 2009, zima 2009, léto 2010, zima 2010, léto 2011, zima 2011, léto 2012, zima 2012, léto 2013, zima 2013, léto 2014, zima 2014, léto 2015, zima 2015, léto 2016, zima 2016, léto 2017, zima 2017, léto 2018, léto 2019, zima 2019, léto 2020, zima 2020, léto 2021, zima 2021, léto 2022.