Základní informace: |
v roce 2024/2025 přednáší Karel Houfek přednáška a cvičení se koná každý čtvrtek od 3.10. do 9.1. (kromě 26.12. a 2.1.) od 14:50 v posluchárně ÚTF |
Při přípravě na zkoušku můžete použít poznámky Martina Čížka, které nejsou zatím hotové, ale obsahují odkazy na další studijní literaturu.
Níže jsou zatím materiály, které jsem používal při přednáškách v roce 2022/2023. Pokud budu v průběhu semestru některé aktualizovat, bude to explicitně uvedeno.
Pro většinu demonstrací v Mathematice je potřeba nejprve nahrát knihovnu funkcí
Basic.Functions.for.TMF057.m
Po otevření v Mathematice klikněte na Run All Code v pravém horním rohu.
Tím se všechny funkce nahrají do paměti a lze je pak používat v ostatních notebookách.
Témata odpřednášená v roce 2022/23:
Cvičení nejsou přímo oddělené od přednášky, během které se demostrují vykládané numerické metody přímo v prostředí JupyterHUB na fakultním výpočetním clusteru. Podrobné informace a návod pro příhlášení najdete zde (zatím pouze v angličtině).
Po dobu přednášky/cvičení jsou rezervovány výpočetní prostředky, které jsou dostupné všem studentům zapsaným na předmět v SISu.
Při spouštění serveru zadejte
Reservation: ntmf057_39
Other SLURM options: -A ntmf057
Ukázkové notebooky si můžete stáhnout buď pomocí odkazů výše v sekci Poznámky a notebooky v Mathematice výše, nebo jsou uloženy na clusteru ve složce /home/teaching/ntmf057, kam byste měli mít přístup, pokud jste mezi přidanými uživateli pro účet ntmf057, tj. pokud máte předmět zapsán.
Podmínkou udělení zápočtu je vypracování jedné ze zápočtových úloh, které jsou ke stažení zde. Zatím jsou zadány stejné úlohy jako v roce 2022/2023. Rád bych ještě přidal nové úlohy, ale nemám je dosud otestované. Pokud byste měli nápad na jinou úlohu, která se řeší metodami vykládanými na přednášce a kterou byste chtěli řešit, ozvěte se a domluvíme se případně na konrétním zadání. Cílem zápočtových úloh je zkusit si sám naprogramovat určitou numerickou metodu a použít ji na konkrétní problém.
Níže uvedená témata je potřeba znát v rozsahu přednášky, pokud např. nebyl na přednášce uveden důkaz některého tvrzení, pak nebude požadován ani u zkoušky. U jednotlivých hlavních témat je uvedena literatura, ze které jsem při přípravě přednášky především čerpal. Odkazy jsou na seznam doporučené literatury níže.
Literatury o numerické metodách a numerické analýze je nepřeberné množství. Ač je seznam doporučené literatury poměrně dlouhý, jde stále o základní přehled. Doporučujeme si vybrat jednu či dvě knihy, ze kterých budete čerpat navíc k poznámkám k přednášce.
[1] |
Press W. H., Teukolsky S. A., Vetterling W. T., Flannery B. P. -
Numerical Recipes - The Art of Scientific Computing, Third Edition, Cambridge University Press, Cambridge 2007, starší vydání dostupné online, základní kniha, po které sáhne každý fyzik, potřebuje-li něco vyřešit numericky, ale jde spíše o kuchařku než o soustavný výklad |
[2] |
Vitásek E. -
Numerické metody, SNTL, Praha 1987, jde též spíše o kuchařku, vhodná jako referenční kniha |
[3] |
Ralston A. -
Základy numerické matematiky, Academia, Praha 1973 obsahuje většinu probraných témat, je ale staršího data a některá témata jsou vyložena jinak |
[4] |
Koonin S. E. -
Computational Physics, Benjamin, Menlo Park 1986, pouze základní metody, ovšem s aplikací na konkrétní úlohy z fyziky |
[5] |
Seghethová J. -
Základy numerické matematiky, Karolinum, Praha 2002 řešení nelineárních rovnic, aproximace a interpolace funkcí, numerická integrace a základy numerické lineární algebry, včetně důkazů řady tvrzení |
[6] |
Isaacson E., Keller H. B. -
Analysis of Numerical Methods, Dover, New York 1994, obsahuje (někdy až příliš) podrobný rozbor většiny probraných témat, včetně důkazů mnoha tvrzení, v kapitola 6.4 je výklad diferenčních operátorů |
[7] |
LeVeque R. J. -
Finite Difference Methods for Ordinary and Partial Differential Equations, SIAM, Philadelphia 2007, především kapitoly 1 (konečné diference) a 5–7 (obyčejné diferenciální rovnice) |
[8] |
Trefethen L. N. -
Finite Difference and Spectral Methods for Ordinary and Partial Differential Equations, 1996, dostupné online, především kapitola 1 (obyčejné diferenciální rovnice) |
[9] |
Trefethen L. N., Bau D. III -
Numerical Linear Algebra, SIAM, Philadelphia 1997, čtivá učebnice numerické lineární algebry, řada témat na přednášce je připravena podle této knihy |
[10] |
Demmel J. W. -
Applied Numerical Linear Algebra, SIAM, Philadelphia 2007, především kapitola 2 (soustavy lineárních rovnic) a případně 4 a 5 (problém hledání vlastních čísel) |
Většina z výše uvedené literatury je k dispozici ke stažení v elektronické podobě v "tajném" podadresáři, jehož jméno se dozvíte na přednášce či na požádání (nejlépe zasláním e-mailu přednášejícímu).
Některé z níže zmíněných knihoven (jak ve FORTRANU, tak v jazyku C) a mnohé další pro řadu speciálních problémů lze najít na www.netlib.org.
1) CPC - Library, (hlavně FORTRAN)
Knihovna programů časopisu " Computer Physics Communications ", kde lze nalézt články popisující metody. Obsahuje řešení pro mnoho úloh s nimiž se setkáte ve fyzice, včetně pokročilých metod, npř. různé speciální funkce, řešení Hartree-Fockových rovnic, ...Dostupné v doméně fakulty.
2) GSL (Gnu scientific library) (orientovano na C, ale je zde i překladač a knihovny pro F90)
Široké spektrum matematických procedur různého zaměření, vše volně k dispozici.
3) BLAS, EISPACK, LINPACK, LAPACK (Primárně FORTRAN 77, FORTRAN 90, existuje C++ verze)
BLAS je základní balík pro manipulaci s vektory a maticemi (jeho náhrada, která se umí maximálně efektinvě přizpůsobit hardware (optimální využití cache paměti procesoru pro násobení matic atd.) se jmenuje ATLAS). Na něj staví EISPACK pro diagonalizaci matic a LINPACK pro lineární algebru. Jejich sloučením vznikl LAPACK, který obsahuje velké množství procedur pro numerickou lineární algebru.
4) Intel Fortran (C) MKL - library
Matematické knihovny dodávané k intelovským překladačům FORTRANU a C. Obsahují mimo jiné LAPACK a SPARSE SOLVER pro inverzi obecných řídkých matic.
5) NAG library
Komerční profesionální balík matematických knihoven.
LU dekompozice pro obecné řídké matice.
7) Quadpack
Adaptibilní kvadratury .