UFW3601 Programování pro fyziky

Filozoficko-přírodovědecká fakulta v Opavě
zima 2022
Rozsah
0/2/0. 3 kr. Ukončení: z.
Vyučující
RNDr. Jan Novotný, Ph.D. (cvičící)
Garance
doc. RNDr. Stanislav Hledík, Ph.D.
Centrum interdisciplinárních studií – Filozoficko-přírodovědecká fakulta v Opavě
Rozvrh seminárních/paralelních skupin
UFW3601/A: St 16:25–18:00 LPS, J. Novotný
Předpoklady
( UFAF508 Programování v jazyce C || UFBL124 Programování v jazyce C ) && TYP_STUDIA(B)
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. 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
Semestrální kurs Programování pro fyziky seznamuje se základní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í.
    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.
    5. Řešení nelineárních algebraických rovnic, hledání extrémů: Bracketing a bisekce. Metoda sečen. Newtonova-Raphsonova metoda.
    6. Interpolace a extrapolace: Polynomiální interpolace a extrapolace. Racionální interpolace a extrapolace.
    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í.
    8. Numerická integrace: Klasické formule (otevřené, uzavřené, polootevřené) a algoritmy (lichoběžníkové, Simpsonovo pravidlo). Rombergova integrace. Nevlastní integrály.
    9. Obyčejné diferenciální rovnice: Problém počátečních hodnot vs. problém okrajových hodnot. Metoda Runge-Kutta a další.
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í
Analýza výkonů studenta
Zápočet
Projekt (zápočtový, semestrální, seminární)
Informace učitele
Pro získání zápočtu je třeba mít min. 80% účast na výuce a úspěšně obhájit zápočtový projekt, jehož téma bude přiděleno v průběhu výuky.
Další komentáře
Studijní materiály
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je zařazen také v obdobích zima 1993, zima 1994, zima 1995, zima 1996, zima 1997, zima 1998, zima 1999, zima 2000, zima 2001, zima 2002, zima 2003, zima 2004, zima 2005, zima 2006, zima 2007, zima 2008, zima 2009, zima 2010, zima 2011, zima 2012, zima 2013, zima 2014, zima 2015, zima 2016, zima 2017, zima 2018, zima 2019, zima 2020, zima 2021, zima 2023.