Numerické metody ve fyzice II - TMF058 (LS 2019-20)
Aktuální
informace:
(8.6.2020)
Doplnil jsem výpis tabulí z poslední
zoom přednášky (28.
května) a vytvořil uložiště kam jsem dal videozáznamy zoom
přednášek (Apr16FEM,
Apr23FEM+, Apr30CG, May07MCI, May14MCII, May21QMC, May28FT). Prvních pár tam
chybí, protože jsem je začal zaznamenávat až na vaši výslovnou žádost
později, ale tabule, jsou kompletní (viz níže).
(25.5.2020) Vypsal jsem zatím tři termíny
zkoušek: pátky 29.května a 5.června a čtvtek
18 června. Určitě vypíšu něco i po prázdninách
v září. Pokud Vám žádný nevyhovuje, napište mi. Jinak jsem
dopřednášel zkoušenou látku. Ještě budu přes zoom tento
čtvrtek (28.5.) ukazovat pár numerických
demonstrací a ve čtvrtek 4.6. udělám dodatečnou přednášku o
numerické Fourierově transformaci a jejím použití (nebudu zkoušet). Přidal jsem kopie tabulí z posledních
tří přednášek: 7.
května: základy Monte Carlo metody, 14 května: Monte Carlo a
generování náhodné proměnný s danou distribuční funkcí a 21. května: Kvantové Monte Carlo
metody.
(21.5.2020)
Vyberte si nekterou ze starych
zapoctovych uloh, bud z 2016 nebo 2018. Pokud budete mit vlastni
napad, ktery zapada do sylabu prednasky, muzeme se dohodnout i na necem jinem podobneho rozsahu.
Mám video záznam posledních 3 přednášek,
pošlu Vám link na youtube
přes SIS.
KORONAVIROVA KARANTENA: Nyní
pravidelně přednáším online pomocí Google Zoom, vždy ve čtvrtek
od 14 hodin. Link na telekonferenci posílám všem, kdo mají zapsanou
přednášku. Dodatečným zájemcům mohu poslat na požádání. Kopie
tabulí z předchozích seancí jsou zde: 2.
dubna: Řešení okrajových úloh, 9. dubna: Multigridové
metody, 16. dubna: Základy FEM, 23. dubna: FEM ve
více dimenzích a začátek gradientních metod, 30. dubna:
Gradientní a Krylovovské iterační maticové
metody.
(25.5.2018) Jako doplněk ke studiu
přikládám kopie svých poznámek k přednášce: Lekce1 – sítě, Lekce 2 – relaxace, Lekce 3 – FEM,
Lekce 4 – MC, Lekce 5 –
FT.
(22.5.2018) Zkoušky jsem vypsal na čtvrtky. Na zkoušku si přineste řešení zápočtové úlohy, jejíž zadání je zde. Ještě lepší bude, když mi řešení pošlete předem, abych si jej mohl trochu prohlédnout. Pokud chcete řešit úlohu programem Freefem++ můžete jej stáhnout na této stránce a zkuste si přečíst strany 23 až 28 z manuálu jako úvod. Pro řešení zápočtové úlohy programem Freefem potřebujete ještě umět integrovat řešení, což lze udělat podobně jako je ukázáno zde.
Aktualizoval jsem sylabus ke zkoušce. Šedá témata jsem pořádně nestihl a nezkouším je. Do čtvrtka ještě doplním kopie naskenovanych poznámek k přednášce.
LEKCE 1 - Diferenční metody (metoda sítí) pro počáteční úlohu. (viz [2],[3] a [6], tabulka metod)
Demonstrace:
LEKCE 2 - Diferenční a relaxační metody pro okrajové úlohy. (viz [5, 6] a [2], úvodní část poznámek)
Demonstrace:
LEKCE 3 - Základní principy metody konečných prvků (FEM). (viz
[8], odkaz na FreeFEM++)
Demonstrace:
Místo demonstrací
jsme si prohlíželi
manuál a řešené úlohy v programovém balíku FreeFEM++.
LEKCE 4 - Gradientní a Krylovovské metody řešení soustav lineárních rovnic. (viz [2, 4] a [5])
Demonstrace:
LEKCE 5 - Metoda Monte-Carlo. (viz
[6], úvodní
část poznámek)
Demonstrace:
LEKCE 5 – Fourierovské a spektrální metody – letmý úvod
DOPORUČENÁ LITERATURA:
Opírám se především o [3],
[5] a [6]. Jako vhodný doplněk pro praktickou implementaci
algoritmů lze vždy doporučit [2]. Ostatní uvedené
knihy jsou vhodným doplňkem k různým tématům, viz zelené poznámky.
Poznámka k Pythonu: Výše
uvedené příklady v Pythonu používají knihovny numpy
a matplotlib. Python lze stáhnout zdarma.
Jedna z možností je:
1 jít na https://www.continuum.io/downloads stáhnout anacondu
dle vlastniho výběru
2 nainstalovat 3 spustit Anaconda Launcher
4 spustit Spyder - IDE (obsahuje i interaktivní
konzoli) nebo spustit Ipython-qtconsole - interaktivni python .
Loňské stránky
Karla Houfka jsou zde.
Numerické knihovny pro fyziku (přehled
užitečných, osvědčených balíků nad
Num.Rec.)
Některé z níže zmíněných knihoven jak ve FORTRANU
tak v 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 .