F5330 Základní numerické metody (podzim 2025)
záznam o předmětu v Informačním systému MU:
https://is.muni.cz/auth/predmet/sci/podzim2025/F5330
Probíraná témata a doporučená literatura
- řešení transcendentních rovnic s jednou neznámou
(metoda půlení intervalu, metoda sečen, Riddersova metoda, Newtonova metoda)
- minimalizace a maximalizace funkcí jedné proměnné
- interpolační polynomy
- numerická kvadratura (klasická pravidla, Rombergova integrace, nakládání s
nevlastními integrály, vícerozměrné integrály)
- diferenciální rovnice s počáteční podmínkou a jejich soustavy
(Eulerova metoda, Rungeovy-Kuttovy metody)
- soustavy lineárních rovnic (Gaussova eliminační metoda, LU rozklad, Choleského
rozklad, iterační metody pro soustavy s řídkou maticí)
- vlastní čísla a vlastní vektory matic (Jacobiho metoda)
- řešení soustav transcendentních rovnic Newtonovou metodou
- okrajové úlohy u obyčejných diferenciálních rovnic
- parciální diferenciální rovnice (Laplaceova rovnice, rovnice vedení tepla)
Literatura v anglickém jazyce:
-
W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery:
Numerical Recipes - The Art of Scientific Computing (CUPS, 2007)
starší vydání z roku 1992 jsou volně dostupná jako sada PDF souborů na
numerical.recipes
(v jazyce C a
Fortranu 77)
novější vydání v C++ lze s určitými omezeními prohlížet
v online prohlížeči,
případně stáhnout jednotlivé kapitoly jako PDF
-
G. E. Forsythe, M.A. Malcolm, C.B. Moler:
Computer methods for mathematical computation (Prentice-Hall, 1977)
-
G. Dahlquist, A. Björck: Numerical methods (Dover, 2003)
-
M. Newman: Computational Physics (CreateSpace Independent Publishing Platform, 2012)
-
T. Pang: An introduction to computational physics (CUPS, 2006)
-
C.B. Moler
Numerical Computing with MATLAB
Literatura v českém jazyce (dostupná v knihovně PřF):
-
E. Vitásek: Numerické metody (SNTL, 1987)
-
S. Míka: Numerické metody algebry (SNTL, 1982)
-
J. Celý: Programové moduly pro fyzikální výpočty (skriptum UJEP, 1985)
-
J. Celý: Řešení fyzikálních úloh na mikropočítačích (skriptum MU, 1990)
Zdrojové kódy ke cvičení a další výukové materiály
Zápočtové projekty
Podmínkou udělení zápočtu je správné a dostatečně pečlivé vypracování
zápočtového projektu ve formě elaborátu a jeho obhájení při zápočtovém
rozhovoru. Zadání projektů jsou obsažena v následující sbírce:
sbírka zadání
Přiřazení projektů jednotlivým studujícím se odehraje prostřednictvím emailu.
Po zveřejnění zadání mi pošlete svůj výběr tří preferovaných
zápočtových projektů, seřazený od nejvíce preferovaného. Na základě takto
obdržených informací budu průběžně aktualizovat následující tabulku:
tabulka přiřazení zápočtových projektů
Podrobnější pokyny k vypracování najdete v pdf souboru se
zadáními. Zápočty je možno udělovat do konce zkouškového období. Vzhledem k
nutnosti domluvy na zápočtovém rozhovoru a také případným opravám odevzdávejte
elaboráty s dostatečným předstihem.
Materiály týkající se jazyka Python a numerických výpočtů
Ve cvičení budeme provádět praktické experimenty s numerickými metodami s
použitím programovacího jazyka Python a jeho knihoven NumPy, SciPy a
Matplotlib. Začátek cyklu cvičení bude věnován seznamování se s těmito
pomocníky. Zkušenost s programováním a případná znalost některého z vyšších
programovacích jazyků je výhodou, ale není nezbytná. Během cvičení je možné
při vynaložení odpovídající snahy získat dovednosti potřebné pro absolvování
kurzu.
Vzhledem k nevyhnutelně minimalistickému pojetí úvodu do programování během
cvičení doporučuji zájemcům o hlubší seznámení s Pythonem a jeho využitím při
numerických výpočtech následující materiály
(pozor: některé používají Python verze 2, který se v drobných detailech liší
od již dlouho aktuálního Pythonu 3):
-
J. M. Kinder, P. Nelson: A Student's Guide to Python for Physical Modeling
(Princeton University Press)
- výtečná úvodní kniha skromného rozsahu (asi 160 stran), k dispozici v knihovně PřF
- S. Linge, H. P. Langtangen: Programming for Computations - Python
(Springerlink - volně dostupné)
- další vhodná úvodní kniha (asi 240 stran), která rozebírá i jednoduché
numerické metody
-
H. P. Langtangen: A Primer on Scientific Programming with Python
(Springerlink,
zkrácená verze je volně dostupná zde)
- rozsáhlá kniha (téměř 900 stran) detailně popisující i pokročilé prvky
programování v Pythonu
-
kolektiv autorů: Scientific Python Lectures
(https://lectures.scientific-python.org)
- přehledně zpracovaný internetový kurz Pythonu s důrazem na numerické výpočty
-
H. Fangohr: Introduction to Python for Computational Science and Engineering
(www stránky a
skripta v pdf)
- zdařilý kurz Pythonu pro doktorandy, včetně materiálů na cvičení
Software potřebný na cvičení
Nejsnadnější možností obstarat si potřebný software je stažení a instalace
distribuce Anaconda. Obsahuje v jednom
(ovšem poměrně velkém) balíčku odladěnou instalaci Pythonu včetně mnoha
knihoven a dodatečných programů. Je k dispozici zdarma na adrese (registraci
je možno přeskočit)
https://www.anaconda.com/download
Instalace je přímočará, počítejte ovšem s tím, že si nainstalované prostředí
vzhledem k velkému množství přibalených knihoven ukousne asi 10GB místa na
disku.
Demonstrační příklady budu na cvičení spouštět v prostředí Spyder, které je součástí této
distribuce.
Pokud již Python používáte, nebo
jej chcete instalovat jinak než skrze Anacondu, postačí mít pro cvičení k
dispozici výše uvedené knihovny.
V případě nouze či preference online nástrojů je možné sáhnout i po
jupyterovském deníčku běžícím na serveru. Za pozornost stojí tyto možnosti:
https://colab.google
https://jupyter.org/try
K jejich používání vám postačí rozumně moderní webový prohlížeč,
nečekejte ovšem od tohoto řešení žádné velké výkony.