MAT-INF1100 - forelesningsrapport, høsten 2013

Her vil det komme en kort rapport om hva som ble gjennomgått på hver forelesning.

Torsdag 28/11. I dag var tema aritmetisk koding, seksjon 7.5 i kompendiet. Merk at det blir ikke spørsmål om dette i del 2 av eksamen (tekstspørsmålene).

Fredag 22/11. Vi fortsatte med kompresjon og gjennomgikk Huffman-koding i seksjon 7.2 i kompendiet. Deretter gikk vi over på seksjon 7.3 om informasjonsentropi. I andre time så vi på starten av aritmetisk koding, seksjon 7.4, men kom bare gjennom grunnideen.

Torsdag 21/11. Vi avsluttet representasjon av tekst ved å se på Unicode, særlig UTF-8 og UTF-16. Deretter begynte vi på kompresjon og gjennomgikk seksjon 7.1 og begynnelsen av seksjon 7.2 i kompendiet.

Fredag 15/11. Vi så først på løsning av inhomogene, andreordens ligninger, seksjon 10.6 i Kalkulus. Deretter gikk vi over på representasjon av tekst på datamaskin, seksjon 4.3 i kompendiet.

Torsdag 14/11. Aller først definerte vi feilen for en numerisk metode for å løse differensialligninger og oppsummerte feilestimatene for Euler, Euler midtpunkt, Taylor-metodene, og Runge-Kutta-metodene. Deretter gikk vi over på løsning av andreordens, lineære og homogene ligninger med konstante koeffisienter, seksjon 10.5 i Kalkulus.

Fredag 8/11. I dag avsluttet vi kapittel 13 om numerisk løsning av differensialligninger. Vi begynte med å karakteriserer førsteordens lineære, og separable ligninger som spesialtilfeller av de ligningene vi ser på – for disse kan vi i prinsippet finne en formel for løsningen. Deretter gikk vi over på den generelle klassen av ligninger x'=f(t,x), så litt på når en slik ligning er løsbar og definerte Eulers metode. Vi oberserverte deretter at vi kan derivere en differensialligning og finne en formel for den andrederiverte (og høyere deriverte). Siden Eulers metode er basert på å følge tangenten fra et punkt til det neste, kan vi da generalisere og følge det kvadratiske Taylorpolynomet fra et punkt til det neste. Dette kan generaliseres til høyere grad, og dette er de såkalte Taylormetodene. Vi så såvidt på Runge-Kutta metoder som 'leker' at de er Taylormetoder ved å gjøre flere beregninger av f i hvert intervall. Til slutt så vi på systemer av differensialligninger og hvordan høyereordens differensialligninger (med høyere deriverte enn første orden) kan skrives som et system av førsteordens ligniner.

Torsdag 7/11 (Geir Dahl). Geir gjennomgikk seksjonene 10.1-10.3 i Kalkulus om førsteordens lineære differensialligninger.

Fredag 25/10. Vi startet i Sek. 11.1 med å utlede optimal steglengde for Newtonkvotienten, og illustrerte med et pythonprogram at denne steglengden virker optimal. Vi så mer på den generelle strategien med bruk av interpolasjon for å tilnærme den deriverte, og definerte en annen metode, kalt symmetrisk Newton, som bruker andre punkter til å interpolere. Vi så at symmetrisk Newton ga mindre matematisk feil, kjørte denne på samme funksjon som for newtonkvotienten, og verifiserte at feilen faktisk ble mindre. Vi begynte deretter på numerisk integrasjon, og definerte først midtpunktsmetoden og tilhørende feilanalyse. Vi fortsetter med trapesmetoden neste gang. 

Torsdag 24/10. Aller først hadde vi en rask oppsummering av numeriske metoder for å finne nullpunkter og deres feilestimater. Deretter testet vi alle tre metodene numerisk ved hjelp av Python-programmer. Etter dette gikk vi over på kapittel 11 i kompendiet om numerisk integrasjon. Vi gikk gjennom mesteparten av seksjon 11.1 om den såkalte Newton kvotienten, inkludert trunkeringsfeil og avrundingsfeil.

Fredag 18/10. Vi repeterte halveringsmetoden, forenklet algoritmen og utledet et feilestimat. Deretter introduserte vi ideene bak sekantmetoden og Newtons metode og så hvordan disse ledet til algoritmer. Til slutt oppsummerte vi hvordan feilen oppfører seg for alle tre metodene.

Torsdag 17/10. Vi begynte med å repetere interpolasjon og så på et konkret eksempel på å beregne interpolasjonspolynomet ved hjelp av dividerte differenser. Vi så også på en formel som gir sammenheng mellom en dividert differens og derivasjon. Deretter snakket vi litt generelt om numeriske metoder før vi så spesielt på løsnings av ligninger ved hjelp av halveringsmetoden.

Fredag 4/10. Tema i dag var interpolasjon, kapittel 9 i Kompendiet. Vi definerte problemet, så på noen eksempler og definerte Newtonformen, og skrev opp interpolasjonspolynomet ved hjelp av dividerte differenser.

Torsdag 3/10. Vi ga to eksempler på bruk av Taylors formel med feilledd. Det ene var beregning av tallet e med feil mindre enn 0.001 og beregning av integralet av sin(x)/x med feil mindre enn 0,0001. I begge tilfeller tilnærmer vi med Taylorpolynomet av lavest mulig grad slik at nøyaktigheten nås.

Fredag 27/9. Vi ga først en veldig kort oppsummering av kjernen i differensligningstoffet fra Kompendiet. Deretter fortsatte vi med Taylorpolynomer og utledning av feilleddet, seksjon 11.2 i Kalkulus

Torsdag 26/9. Vi begynte med å gi en matematisk forklaring på at vi fikk overflow da vi simulerte differensligningen i går, se seksjon 6.5.1 i Kompendiet. Deretter gikk vi over på seksjon 11.1 i Kalkulus om Taylor polynomer.

Fredag 20/9. Vi fortsatte i seksjon 4.2 med å regne eksempler på inhomogene differenslikninger, både der høyreside er et polynom (hvor vi i noen tilfeller måtte gå opp en grad i det polynomet vi gjettet som en partikulær løsning), og der høyresiden er en potens ganget med et polynom. Vi så også et siste eksempel der den homogene likningen hadde kun en reell rot. Vi hoppet så til Seksjon 6.1-6.3 i kompendiet, der vi definerte differenslikninger mer generelt, og lineære differenslikninger mer generelt enn i Kalkulus. Vi formulerte algoritmer for å simulere differenslikninger, og kjørte et pythonprogram på differenslikningen som genererte Fibonaccitallene. Vi sammenlignet med det vi fikk fra den matematiske formelen vi fikk for løsningen for denne. Denne ga overflow for store verdier av n, i motsetning til programmet som simulerte differenslikningen direkte. Vi fortsetter på dette neste gang.

Torsdag 19/9. Vi fortsatte i seksjon 4.1 i Kalkulus. Vi løste først differenslikningen som gir opphav til Fibonaccitallene, der den karakteristiske likningen hadde to reelle røtter. Deretter forklarte vi hvilke løsninger vi får når vi har kun en reell rot, og når vi har to komplekse røtter. I sistnevnte tilfelle kan løsningen uttrykkes penest når vi skriver røttene i den karakteristiske likningen på polarform, og vi regnet et eksempel med dette. Til slutt begynte vi på Seksjon 4.2 om inhomogene differenslikninger (differenslikninger der høyresiden ikke er 0), der vi brukte innskudd i bank med et fast uttak per år som et første eksempel. Vi forklarte at slike kan løses ved først å finne en enkel løsning (partikulær løsning) på likningen, og så finne den generelle løsningen på den homogene likningen. Vi avsluttet med å skrive opp fremgansmåten for å finne en partikulær løsning når høyresiden er et polynom. Vi fortsetter med et eksempel på dette i morgen.

Fredag 13/9. Vi gjennomgikk seksjon 5.3 i kompendiet om måling av feil og seksjon 5.4 om hvordan et uttrykk noen ganger kan skrives om slik at det blir mindre følsomt for avrundingsfeil. Deretter begynte vi på seksjon 4.1 i Kalkulus om homogene differensligninger. Vi kom ikke helt gjennom så siste halvdel gjennomgås neste uke.

Torsdag 12/9. Vi innførte normalformen for reelle tall, både desimalt og binært, og så hvordan vi da kan lagre (tilnærminger til) reelle tall på datamaskin (flyttall) ved å lagre signifikanden og eksponenten (seksjon 4.2 i kompendiet). Deretter gikk vi over på seksjon 5.1 og 5.2 i kompendiet om aritmetikk på datamaskin. Vi så særlig på hvordan addisjon av flyttall av foregår og hvordan vi kan få kansellering og miste siffer når to nesten like tall subtraheres. 

Fredag 6/9. Tema er stadig representasjon av tall. I dag fortsatte vi med representasjon av reelle tall i intervallet (0,1) og beskrev algoritme 3.16 for hvordan dette kan gjøres. Deretter viste vi at de rasjonale tallene er de eneste som har en repeterende sifferutvikling og vi karakteriserte de tallene i (01,) som har en endelig sifferutvikling i grunntall beta. Vi så raskt på aritmetikk i grunntall beta før vi gikk over til å se på hvordan heltall representeres på datamaskin, seksjon 4.1 i kompendiet.

Torsdag 5/9. Tema for tiden er representasjon av tall i ulike siffersystemer. Vi repeterte raskt representasjon av heltall fra seksjon 3.2 i kompendiet. Deretter gikk vi over på representasjon av reelle tall i intervallet (0,1) (seksjon 3.3). Vi rakk så vidt å se hvordan dette kan gjøres for en brøk og fortsetter med det i morgen.

Fredag 30/8. Vi startet med å repetere kompletthetsprinsippet fra i går, gikk gjennom aksiomene for reelle tall og så litt på hvordan ulike reelle tall kan karakteriseres som desimaltall. Deretter reflekterte vi litt over hvorfor det er lurt å representere informasjon ved hjelp av 0 og 1 for å få robust kommunikasjon (seksjonene 2.1 og 2.2 i kompendiet).  I andre time gjennomgikk vi representasjon av heltall i vilkårlige siffersystemer (seksjon 3.2 i kompendiet).

Torsdag 29/8. Vi fortsatte med rasjonale og irrasjonale tall og viste at kvadratroten av 2 er irrasjonal. Deretter gikk vi over til å definere minste øvre skranke og gjennomgå kompletthetsprinsippet (seksjon 2.3 i Kalkulus).

Tirsdag 27/8. I dag startet vi på kapittel 2 i Kalkulus om reelle tall. Vi definerte åpne og lukkede intervaller, viste trekantulikheten og introduserte rasjonale og irrasjonale tall. Mer på torsdag!

Fredag 23/8. Vi startet med å gjennomgå et lite eksempel der induksjon blir litt mer komplisert enn i den enkleste utgaven vi så på på torsdag. Deretter så vi nøyere på summetegnet og noen enkle regneregler for summer, se seksjon 1.1 i Kalkulus. Tema i andre time var binomialteoremet og Pascal's trekant, seksjon 1.4 i Kalkulus.

Torsdag 22/8. Vi åpnet med litt notasjon om heltall og summetegn. Deretter ble resten av dagen viet til induksjon. Vi beviste formelen for summen av de n første heltallene i detalj - dette er oppsummert i et notat som du finner på emnesiden. Til slutt gjennomgikk jeg oppgave 1.2.6 i Kalkulus som eksempel på induksjon for å løse en helt annen type problem.

Tirsdag 20/8. I dag var det bare en times forelesning med generell info. Kopi av foilene blir lagt ut.

Av Knut Mørken
Publisert 20. aug. 2013 22:30 - Sist endret 28. nov. 2013 14:45