IN-KJM1900: tilbakeblikk og overblikk

Siste forelesning, 20.november

Mål for økta:

  • Praktisk info
  • Tilbakeblikk og eksempeloppgaver:
    • Rekurrensrelasjoner
    • Trapesmetoden
    • Numerisk derivasjon
    • Newtons metode
    • Eulers metode

Eksamensst?tte, uke 47

Det tilbys flere eksamensforberedende ?kter denne uka

N?r Hvor hva
Tirsdag 20/11, 16.00-18.00 Eksamensverksted i IN1900 / gratis pizza Store fysiske auditorium
Onsdag 21/11 16.15-18.00 Eksamensverksted i IN-KJM1900 Auditorium 3
Torsdag 22/11, 10.15-12 Gjennomgang av IN1900 pr?veeksamen Sophus Lies Auditorium

Pr?veeksamen IN1900

  • Tilgjengelig p? Inspera frem til eksamen.
  • Gjennomg?s torsdag 22/11.
  • Oppgave 6, 13, 15 og 18 inng?r ikke i pensum i dette kurset.

Modeller i kjemi: tilbakeblikk

Ofte ser vi p? realistiske og kompliserte systemer og mekanismer

Utsnitt av et DNA-molekyl, Credits: Wikipedia

Beregningsorientering innen kjemi

  • Volumetri
  • Geometri (struktur)
  • St?kiometri
  • Statistikk
  • Beregning av likevekt
  • Titrering
  • Reaksjonskinetikk
  • Molekyl?rdynamikk
  • Statistisk mekanikk
  • Kvantekjemi

Numeriske modeller i kjemi

Simulering av

  • Struktur
  • Egenskaper
  • Dynamikk (reaksjoner)
  • Basert p? grunnleggende kvantemekanikk

    Begrensninger p? beregninger

    Fremtidsutsikter

  • Raskere computere
  • Kvantecomputere
  • Kan beregninger noensinne erstatte (enkelte) eksperimenter?
  • Numeriske metoder / beregninger:

    • Ikke det samme som programmering:
      • Simulering, modellering
      • L?sning av ligninger, integraler
      • Iterative prosesser
    • Benyttes n?r analytisk l?sning ikke finnes, for eksempel p? grunn av
      • Randbetingelser
      • Geometri
      • Omfang
    • ...eller n?r numerisk feil er akseptabel.

    Differensligninger

    En differensligning er en sekvens av verdier hvor en verdi er bestemt av en eller flere av de foreg?ende verdiene:

    $$ a_{n+1} = f(a_n, a_{n-1}, a_{n-2}, ...)$$

    • Kalles ogs? gjerne for rekurrensrelasjoner.
    Fibonacci-serien er en differensligning:

    $$0$$ $$1$$ $$0+1 = 1$$ $$1+1 = 2$$ $$1+2 = 3$$ $$2+3 = 5$$ $$a_{n-1}+a_n = a_{n+1}$$ $\rightarrow$ Live kodeeksempel (Penger p? bok)

    En nyttig opplysning

    B?de Newtons metode og Eulers metode kan uttrykkes som differensligninger.

    Diskrete regneoperasjoner kan ofte uttrykkes kompakt med differensligninger.

    Integrasjon som summasjon

    Diskrét integrasjon kan gj?res som summasjoner, for eksempel med trapesregelen:

    \begin{equation} \int_a^b f(x) dx \approx \sum_{i=1}^{N-1} \left(x_{i+1}-x_i\right)\frac{f(x_i) + f(x_{i+1})}{2} = \frac{\Delta x}{2} \sum_{i=1}^{N-1} \left(f_{i+1}+f_i\right) \end{equation}

    Stiplede linjer indikerer "gjennomsnittlig" funksjonsverdi over et intervall $\frac{f(x_i) + f(x_{i+1})}{2}$.

    $\rightarrow$ Live kodeeksempel

    Derivasjon som endelige differanser

    I klassisk kalkulus er den deriverte definert som

    $$ \frac{d}{dx} f(x) := \lim_{\Delta x \rightarrow 0} \frac{f(x + \Delta x) - f(x)}{\Delta x}$$

    I diskret kalkulus er "fremoverdifferansen" en av flere mulige approksimasjoner p? den deriverte

    $$ \mathbf{D}^+ f_i := \frac{f_{i+1} - f_i}{\Delta x}$$

    $\rightarrow$ Live kodeeksempel

    Noen approksimasjoner p? den deriverte

    Uttrykk Navn Operator
    $\mathbf{D}^+ f(x) := \frac{f(t + \Delta t) - f(t)}{\Delta t}$ "Fremad-differanse" $\mathbf{D}^+$
    $\mathbf{D} f(x) := \frac{f(x+ \Delta x) - f(x-\Delta x)}{2 \Delta x}$ "Senterdifferanse" $\mathbf{D}$
    $\mathbf{D}^- f(x) := \frac{f(x) - f(x-\Delta x)}{\Delta x}$ "Bakoverdifferansen" $\mathbf{D}^-$

    Beskrivelse av Newtons metode

    Newtons metode er en fremgangsm?te som for en hvilken som helst jevn funksjon $f(x)$ lar oss finne en $x_*$ slik at $$f(x_*) = 0$$ Den formelle beskrivelsen er at vi f?rst gjetter p? en $x_0$, og deretter gjentar f?lgende operasjon $$ x_{n+1} = x_{n} - \frac{f(x_n)}{f'(x_{n})}$$ Vi gjentar frem til enten et maksimalt antall interasjoner er n?dd, eller at funksjonsverdien i punktet er tilstrekkelig n?rt null: $$\vert f(x_{n+1}) \vert \le \epsilon$$

    Dette kalles en konvergensbetingelse

    $\rightarrow$ Vi ser p? et interaktivt eksempel

    Sekantmetoden

    Om vi erstatter den deriverte i Newtons metode med en numerisk differanse f?r vi en variant av Newtons metode som kalles sekantmetoden:

    $$ x_{n+1} \approx x_{n} - \frac{f(x_n)}{\mathbf{D}^+f(x_n)} = x_{n} - \frac{f(x_n)}{f(x_n + \Delta x) - f(x_n)}\Delta x $$

    Legg merke til at dette uttrykket er en differensligning, p? samme m?te som uttrykket for Newtons metode.

    Differensialligninger

    I dette kurset har vi sett p? differensialligninger p? formen

    $$\frac{d}{dt} y(t) = f(y(t), t)$$

    • Den ukjente i ligninga er en funksjon: $y(t)$
    • Ligninga over er en 1. ordens ordin?r "diffligning".
      • Enkeltderivert $\rightarrow$ "f?rste orden"
      • Kun derivert med hensyn p? en variabel $\rightarrow$ "ordin?r"
    • Diffligninger brukes gjennomg?ende i vitenskap; b?lger, diffusjon, osv.
    • I kjemi, for eksempel for:
      • Reaksjonskinetikk
      • Kvantekjemi (Schr?dingerligningen)
      • Radioaktivitet

    Differensialligninger: numerisk løsning

    • Vi skal l?se f?rste ordens ODEer numerisk.
    • Vi baserer l?sningen v?r p? definisjonen av den deriverte: $$ \frac{d}{dt}f(t) = \lim_{\Delta t \rightarrow 0} \frac{f(t + \Delta t) - f(t)}{\Delta t} $$

    Approksimasjonen gjøres i tre trinn:

    • anta at en tilstrekkelig liten $\Delta t$ bringer oss n?r nok den deriverte $$ \frac{d}{dt}f(t) \approx \frac{f(t + \Delta t) - f(t)}{\Delta t} $$
    • Sett inn approksimasjonen i ligningen: $$ \frac{d}{dt} y(t) = f(y(t), t) \rightarrow \frac{f(t + \Delta t) - f(t)}{\Delta t} = f(y(t),t)$$
    • L?s algebraisk for $y(t+\Delta t)$: $$ y(t + \Delta t) = f(y(t),t)\cdot \Delta t + y(t) $$
    • Alternativ notasjon ("oppdateringsskjema") $$ y_{i+1} = f(y_i, t) \cdot \Delta t + y_i $$ ... og du er i m?l med teori. N? gjenst?r implementasjon.
    • Legg merke til at oppdateringsskjemaet er en differensligning.

    Eulers metode for differensialligninger

    Initialverdiproblem:

    $$\frac{d}{dt} y(t) = f(y(t), t)$$ $$y(0) = a$$

    F?lgende fremgangsm?te vil alltid virke i dette kurset, samt i mange andre tilfeller:

    1. Diskretiser problemet (variabler, funksjoner). (la $t \rightarrow t_n = n \cdot \Delta t$).
    2. Diskretiser differensialoperatoren ($\frac{d}{dt} \rightarrow \mathbf{D}^+$ ).
    3. L?s algebraisk for neste funksjonsverdi $f_{n+1} = ...$
    4. Skriv en kode som iterativt l?ser for neste funksjonsverdi.
    5. Presenter og fortolk resultatene.

    $\rightarrow$ Live kodeeksempel: reaksjonskinetikk med koblede reaksjoner.

    Fremad-differanse

    $$\frac{d}{dt} y(t) = f(y(t), t)$$ $$y(0) = a$$

    $$\frac{d}{dt} y(t) \approx \frac{y(t_{n+1}) - y(t_n)}{\Delta t} = f(y(t_n), t_n)$$

    $$y(t_{n+1}) = y(t_n) + f(y(t_n), t_n)\Delta t$$

    Senterdifferanse

    $$\frac{d}{dt} y(t) = f(y(t), t)$$ $$y(0) = a$$

    $$\frac{d}{dt} y(t) \approx \frac{y(t_{n+1}) - y(t_{n-1})}{2\Delta t} = f(y(t_n), t_n)$$

    $$y(t_{n+1}) = y(t_{n-1}) + f(y(t_n), t_n)2\Delta t$$

    Litt om eksamen I

    F?lgende l?ringsm?l gjelder for kurset som helhet:

    • har du grunnleggende ferdigheter i Python programmering med bruk av datastrukturer, funksjoner, moduler og vektoriserte beregninger.
    • behersker du grunnleggende feils?king og -retting og kan konstruere tester for ? finne og rette feil i egne programmer.
    • kan du bruke eksterne Python moduler i samspill med egen kode til ? integrere, derivere, finne nullpunkter, beregne grenseverdier og rekker, samt l?se differens- og differensial-likninger.
    • kan du lage matematiske modeller som beskriver kjemiske problemstillinger, og skrive programmer som gj?r beregninger med modellene.
    • Har du erfaring med og kunnskap om ? jobbe prosjektbasert.

    Dette er utgangspunktet for hva du blir testet i p? eksamen.

    Kjemidelen av kurset best?r i hovedsak av prosjektoppgaven. I tillegg gjelder f?lgende pensumlitteratur:

    Kapittel Innhold Unntak
    6 Dictionaries and strings 6.3-6.7
    Appendiks A Sequences and difference equations A.2
    Appendiks B Discrete Calculus B.4
    Appendiks C Differential equations C.3-C.4
    Appendiks E Programming of differential equations E.1.7, E.2.4, E.3-E.4

    I tillegg er prosjektoppgaven pensum. Eksamen vil i stor grad sammenfalle med det som introduseres i prosjektet.

    Lykke til p? eksamen

    og

    takk for n? :-)