TFY4235 Numerisk fysikk

Fra NablaWiki
Gå til: navigasjon, søk
TFY4235 Numerisk fysikk
Foreleser: Alex Hansen
Obligatorisk for: ingen
Pop. forkortelser: Numfys
Øvinger: Frivillige
Lab: Nei
Evalueringsform: Hjemmeeksamen
Bøker: Press, Flannery, Teukolsky og Vetterling: "Numerical Recipes".
Nettside: Benytter It's learning

I Numerisk fysikk får en erfaring med det som en veldig stor andel av fysmattere ender opp med etter endt studium: programmering for å løse problemstillinger i fysikk (eller ingeniørvitenskap). Denne disiplinen blir under den engelske termen "computational physics" sidestilt med eksperimentell og teoretisk fysikk, og faget tar både for seg de grunnleggende konseptene, måter å tenke på, og en del spesifikke verktøy innenfor dette feltet. Grunnleggende temaer er ulike maskinarkitekturer og vektorisering/parallellisering av kode. En betydelig del av faget tar for seg generiske numeriske metoder, som løsning av lineære ligningsett, numerisk derivasjon, løsning av ordinære differensialligninger og litt om partielle differensialligninger. For optimisering lærer en metoder av type "steepest descent", simulert størkning (en av flere Monte Carlo-varianter), genetiske algoritmer og lineær programmering. Grunnlaget for "ren computational physics" er stokastiske (dvs. tilfeldighet-baserte) metoder, og derfor må en kunne metoder for å trekke tall fra ulike sannsynlighetsfordelinger. Dette brukes i Monte Carlo-metoder, så som den tradisjonelle Metropolis-metoden, ulike cluster-metoder eller kvante-Monte Carlo-metoder. Av andre temaer nevnes molekylærdynamikk, fourier-metoder, wavelet-analyse, samt litt ymse snacks om perkolasjonsmodeller, diffusjonsprosesser og simulering av systemer i statistisk mekanikk.

Forkunnskapskravene er basiskunnskaper tilsvarende TFY4230 Statistisk fysikk, og grunnleggende forståelse av dette faget er også en nødvendighet for deler av Numerisk fysikk. I tillegg kreves det noe programmeringserfaring, ettersom Numerisk fysikk ikke egentlig er et programmeringsfag, men den jevne fysmatter vil ikke ha noe problem med å lære et nytt programmeringsspråk selv uten særlig erfaring på forhånd. Hvilket språk som benyttes er valgfritt, men vanligst er C/C++ eller Fortran. (Løsningsforslag er i Fortran 77; for den evigvarende debatt om de enkelte språks fortreffelighet henvises det til diskusjonssiden...) Hjemmeeksamen varer i 5 dager, og selv om en viss grad av samarbeid er vanlig skal arbeidet resultere i selvstendige rapporter over det oppgitte problemet.

Store deler av faget kan i stedet dekkes av fag ved matematisk institutt, men ulempen er at en må ta veldig mange fag (fordelen er naturligvis at en lærer mer og lærer det mye grundigere, men da er du plutselig inne på et helt annet studieløp...). Noen av disse kan være: TMA4215 Numerisk matematikk, TMA4212 Numerisk løsning av partielle differensialligninger med differansemetoder, TMA4180 Optimeringsteori, TMA4265 Stokastiske prosesser, TMA4280 Superdatamaskiner, TMA4205 - Numerisk lineær algebra. Evt. kan en også gå dypere i stoffet rundt stokastiske metoder ved å ta TFY4275 Klassisk transportteori parallelt. Vil en lære litt mer numerikk kan TMA4215 Numerisk matematikk være et alternativ, for Numerisk fysikk er ikke et egentlig numerikk-fag, og temaer som stabilitet og feilskranker står ikke sentralt. Den oppgitte læreboken er en standard kokebok for numeriske metoder, men pensum defineres av forelesningsnotatene.