Počítačové metody v teoretické fyzice I - NTMF057

Aktuální informace:     letos přednáší Karel Houfek
přednáška probíhá ve pátek od 9:00 v posluchárně ÚTF

Materiály ke stažení

Poznámky k přednášce

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. Můžete si však pro doplnění stáhnout naskenované poznámky používané při přednášce v roce 2012/2013.

Programy v Mathematice

Zde jse budou objevovat ke stažení programy používané při cvičeních.

Programy jsou ozkoušené v Mathematice verze 10.0, ale snad by měly být funkčních i ve starších či novějších verzích.

Zadání zápočtových úloh

Podmínkou udělení zápočtu je vypracování jedné ze zápočtových úloh. Dva studenti mohou řešit stejnou úlohu, ale každý samostatně. Úlohy je nutné vyřešit v nějakém vyšším programovacím jazyce (FORTRAN, Pascal, C, C++, či Python), nebo v Mathematice, či v Maplu, ovšem není dovoleno používat vestavěných funkcí (jako např. NIntegrate či NDSolve v Mathematice) k přímému řešení, ale pouze ke kontrole, či porovná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.

Zápočtové úlohy v roce 2016/2017 jsou ke stažení zde.

Požadavky ke zkoušce

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.

  1. Základní pojmy([1] kap. 1.1, [9] kap. 3 a 12-15)
  2. Iterace, urychlování konvergence. Řešení nelineárních rovnic ([5] kap. 6, příp. [1] kap. 9)
  3. Aproximace a interpolace funkcí ([5] kap. 1)
  4. Numerická integrace (kvadratura) ([5] kap. 4)
  5. Numerické řešení obyčejných diferenciálních rovnic - počáteční úloha ([7] kap. 5-8, [8] kap. 1)
  6. Numerická lineární algebra ([9])

Doporučená literatura

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.

Základní přehledy numerických metod
[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
Podrobnější výklad jednotlivých témat
[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).

Numerické knihovny pro fyziku

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.

6) Super LU - Berkeley

LU dekompozice pro obecné řídké matice.

7) Quadpack

Adaptibilní kvadratury .