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
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
Basert p? grunnleggende kvantemekanikk
Begrensninger p? beregninger
Fremtidsutsikter
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.
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 kodeeksempelDerivasjon 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 kodeeksempelNoen 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 eksempelSekantmetoden
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:- Diskretiser problemet (variabler, funksjoner). (la $t \rightarrow t_n = n \cdot \Delta t$).
- Diskretiser differensialoperatoren ($\frac{d}{dt} \rightarrow \mathbf{D}^+$ ).
- L?s algebraisk for neste funksjonsverdi $f_{n+1} = ...$
- Skriv en kode som iterativt l?ser for neste funksjonsverdi.
- 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.