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
19.9. |
cviceni01.zip
|
26.9. |
pokračování práce s balíčkem cviceni01.zip
|
3.10. |
|
10.10. |
|
17.10. |
|
24.10. |
|
31.10. |
|
7.11. |
|
14.11. |
|
21.11. |
|
28.11. |
|
5.12. |
|
12.12. |
|
19.12. |
|
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ů bude zveřejněno přibližně v polovině semestru a
poté dojde k rozdělení úloh mezi studující.
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.