MAT-INF1100 - forelesningsrapport, høsten 2012

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

Tirsdag 27/11. I første time avsluttet vi stoffet om aritmetisk koding ved å se på egenskaper ved denne kodingsmetoden, seksjon 7.4.3 i kompendiet. I andre time demonstrerte jeg lyd ved hjelp av datamaskin, se kapittel 8 i kompendiet.

Onsdag 21/11. Vi så på den andre kompresjonsmetoden, aritmetisk koding, seksjon 7.4 i kompendiet. Det som gjenstår er seksjon 7.4.3.

Tirsdag 20/11. Tema i dag var Huffman-koding, seksjon 7.2 i kompendiet. Vi gjennomgikk definisjonen av Huffman-tre og Huffman-algoritmen. Til slutt tok vi for oss seksjon 7.3.

Onsdag 14/11. Vi fortsatte med representasjon av tekst og så i detalj på representasjon av Unicode med UTF-8 og UTF-16, og demonstrasjon på datamaskin ved hjelp av programmet od. Mot slutten begynte vi på kompresjon (seksjon 7.1 i kompendiet) og begynnelsen av seksjon 7.2.

Tirsdag 13/11. I første time var tema løsning av andreordens, inhomogene, lineære differensialligninger med konstante koeffisienter, seksjon 10.6 i Kalkulus. I andre time begynte vi på seksjon 4.3 i kompendiet, representasjon av tegn i datamaskin.

Onsdag 7/11. Vi avsluttet feilanalysen for Eulers metode og gikk deretter over til seksjon 10.5 i Kalkulus, analytisk løsning av homogen, andreordens, lineære differensialligninger som vi avsluttet. Til slutt rakk vi såvidt å se på inhomogene ligninger av samme type (seksjon 10.6 i Kalkulus), dette avslutter vi på tirsdag.

Tirsdag 6/11. Første tema i dag var numerisk løsning av systemer av førsteordens differensialligninger, seksjon 13.8 i kompendiet. Vi så at ved innføring av vektornotasjon så kan vi skrive et slikt system på en kompakt måte som gjør det enkelt å generalisere de numeriske metoder som Euler og Runge-Kutta til slike systemer. Vi så også hvordan differensialligninger av høyere orden kan skrives som et system av førsteordens ligninger. I andre time begynte vi på feilanalyse av Eulers metode (for en ligning).

Onsdag 31/10. Vi begynte med å repetere Eulers metode for numerisk løsning av differensialigninger som er basert på ideen om å følge tangentretningen for å komme fra et tilnærmingspunkt til det neste. Denne ideen kan lett generaliseres til å gå videre ved hjelp av et Taylorpolynom av grad 2 eller høyere om vi kan få tilgang på høyere deriverte av den ukjente løsningen. Vi så at dette lar seg lett gjøre ved å derivere differensialligningen, se seksjon 13.5 i Kompendiet. På bakgrunn av dette så vi i detalj på en kvadratisk Taylormetode, se sekjson 13.6.1, og hvordan denne kan generaliseres til høyere grad.

Tirsdag 30/10. Vi startet på kapittel 10 i Kalkulus (differensiallikninger). Vi startet med å beskrive førsteordens lineære differensiallikninger, og viste ved eksempler hvordan disse kan løses ved hjelp av metoden der vi fant en integrerende faktor. Deretter viste vi ved noen eksempler hvordan vi fant differensiallikninger ved å oversette fra et praktisk problem, for eksempel en dyrepopulasjon med en gitt vekstrate. Vi så ogå på eksistens og entydighet av løsninger i førsteordens lineære likninger, og på separable differensiallikninger, som er en annen type likninger med en grei løsningsmetode.  

Onsdag 24/10. Vi avsluttet feilanalysen for midtpunktmetoden for numerisk integrasjon, inkludert det å estimere den globale feilen, og gjennomgikk ideene bak trapesmetoden og Simpsons formel. For de to siste metodene refererte vi bare feilformelene. Vi begynte deretter på numerisk løsning av differensialligninger. Vi så at en differensialligning kan brukes til å beskrive tangenten til løsningen over alt og at utfordringen er å finne fram til løsningen fra denne informasjonen. Denne observasjonen brukte vi til å utlede Eulers metode for numerisk løsning av differensialligninger (seksjon 13.3 i Kompendiet), og vi så til slutt hvordan en naturlig forbedring av Eulers metode leder til Eulers midtpunktmetode (seksjon 13.7.1 i Kompendiet).

Tirsdag 23/10. I første time avsluttet vi numerisk derivasjon. Vi repeterte fakta om den enkleste metoden i seksjon 12.1 (i kompendiet), gjennomgikk den generelle framgangsmåten i seksjon 11.2 for konstruksjon av metoder for numerisk derivasjon, og viste hvordan metodene i seksjonene 11.3 og 11.5 framkommer. I andre time begynte vi på numerisk integrasjon. Vi så raskt på definisjonen av integralet og hvordan teorem 12.3 i kompendiet kan utnyttes til å få fram en enkel, men god metode for numerisk integrasjon, nemlig midtpunktmetoden. Vi gjennomgikk så starten av feilanalysen på sidene 310 og 311.

Onsdag 17/10. I dag var tema numerisk derivasjon. Vi gjennomgikk den enkle metoden i seksjon 11.1 i kompendiet som er basert på definisjonen av den deriverte og viste med et eksempel hvordan denne oppfører seg numerisk. Deretter utledet vi det totale feilestimatet (trunkeringsfeil + avrundingsfeil).

Tirsdag 16/10. Vi fortsatte å snakke om halveringsmetoden, sekantmetoden og Newtons metode. Vi forklarte at mens halveringsmetoden alltid virker, så vil de to andre bare virke når vi har begrensinger bort fra 0 på den deriverte, og de vil virke kun når vi starter nær nok nullpunktet. Når betingelsene er oppfylt forklarte vi hvor raskt vi kan forvente at metodene konvergerer mot nullpunktet, og tolket dette med tanke på hvor mange flere riktige siffer vi får i hver iterasjon. Vi så på implementasjoner av de tre metodene, der vi stoppet metoden etter et gitt antall iterasjoner, og når den relative feilen ble liten nok. I andre time begynte vi på kapitlet om numerisk derivasjon, og så på Newtonkvotienten som en helt enkel tilnærming til den deriverte. Vi fant et estimat på trunkeringsfeilen som Newtonkvotienten gir, og starter i neste time med å regne på avrundingsfeilen som dukker opp i Newtinkvotienten.

Onsdag 3/10. I første time repeterte vi polynominterpolasjon - gikk gjennom de grunnleggende stegene i det generelle tredjegradstilfellet. Deretter begynte vi på kapittel 10 i kompendiet, om metoder for å beregne nullpunkter. Jeg begynte med en liten demonstrasjon av Mathematica. Deretter gjennomgikk vi den grunnleggende ideen bak de tre metodene halveringsmetoden, sekantmetoden og Newtons metode.

Tirsdag 2/10. Interpolasjons med polynomer var tema i dag. Vi begynte med å definere interpolasjonsproblemet, introduserte Newton-formen for interpolasjonspolynomet og viste at det kan beregnes ved hjelp av dividerte differenser.

Onsdag 26/9. I dag var tema restleddet i Taylors formel, seksjon 11.2 i Kalkulus. Vi utledet formelen for restleddet og gjennomgikk de to eksemplene 11.2.4 og 11.2.5.

Tirsdag 25/9. Tema før pausen var avrundingsfeil ved simulering av differensligninger. Dette er viktig stoff som du finner i seksjon 6.5 i kompendiet. Etter pausen gjennomgikk jeg Taylor-polynomer - seksjon 11.1 i Kalkulus.

Onsdag 19/9. Enda mer om differensligninger. Vi så på noen eksempler på inhomogene differensligninger, og så deretter på hvordan vi kan simulere differensligninger på datamaskin, se seksjon 6.3 i kompendiet. Vi endte med å simulere en ligning der resultatet ble helt feil.

Tirsdag 18/9. Vi fortsatte med andreordens, lineære differensligninger og så hvordan vi kan håndtere tilfellene der det karakteristiske polynomet har en reell rot eller to kompleks konjugerte røtter. Deretter gikk vi over til seksjon 4.2 i Kalkulus og så hvordan vi kan løse noen inhomogene differensligninger med formel.

Onsdag 12/9. I første time avsluttet vi stoffet om representasjon av tall på datamaskin. Vi så spesielt på hvordan alvorlige feil kan oppstå ved subtraksjon av nesten like store reelle tall, se seksjon 5.2 i kompendiet. Vi så deretter hvordan noen uttrykk kan omskrives for å unngå slike problemer, se seksjon 5.4 i kompendiet. I andre time begynte vi på differensligninger, kapittel 4 i Kalkulus. Vi fortsetter med det neste uke.

Tirsdag 11/9. Vi startet med å repetere tanken bak det vi har gjort med tall i ulike siffersystemer: Datamaskiner bruker 0-1 på nederste nivå, derfor må vi forstå hva som skjer når vi representerer tall i 2-tallsystemet. Vi så hvordan heltall representeres (seksjon 4.1) og hvordan flyttall representeres (seksjon 4.2). Vi avsluttet med å gjennomgå algoritme 5.8 for addisjon av tall, og fortsetter med det i morgen.

Onsdag 5/9. Tema var fortsatt representasjon av tall i ulike siffersystemer. Vi repeterte først hvordan heltall representeres med grunntall beta, og gikk deretter over til å se på hvordan desimaltall i intervallet (0,1) kan representeres, se seksjonene 3.2-3.4 i kompendiet. Spesielt la vi merke til når et tall i (0,1) kan representeres med et endelig antall siffer, og vi viste at sifrene gjentar seg kun for rasjonale tall.

Tirsdag 4/9. Så langt har vi sett på de matematiske egenskapene til tall, i dag begynte vi å se på hvordan de kan representeres på datamaskin. Dette stoffet er hentet fra kompendiet som dere finner på kursehjemmesiden. I dag begynte vi i kapittel 2 og så at datamaskiner er basert på å bare skille mellom to grunnleggende tegn, nemlig 0 og 1. Fordelen med dette er robusthet i forhold til støy. Etter dette gikk vi over til kapittel 3, representasjon av tall i ulike siffersystemer. Vi så hvordan heltall kan representeres i ulike siffersystemer og gjennomgikk metoden for å konvertere fra grunntall 10 til grunntall beta. Vi formulerte også dette som en algoritme og testet denne på datamaskin.

Onsdag 29/8. Dagens tema var en fortsettelse fra i går, nemlig reelle tall. Vi begynte med en intuitiv beskrivelse av de reelle tallene som desimaltall. Deretter beviste vi at kvadratroten av 2 er et irrasjonelt tall, beskrev kompletthetsprinsippet og endte opp med aksiomene for de reelle tallene. Med det var kapittel 2 i Kalkulus avsluttet.

Tirsdag 28/8. Vi fortsatte med stoff fra kapittel 1 i Kalkulus, denne gangen binomialformelen og Pascals trekant, seksjon 1.4. Deretter gikk vi over på kapittel 2 og reelle tall. Vi definerte intervallene, tallverditegn, så på trekantulikheten, før vi gikk over på seksjon 2.2 om rasjonale og irrasjonale tall. Her kom vi fram til og med Korollar 2.2.2.

Onsdag 22/8. I dag var hovedtema induksjonsbevis. Jeg gjennomgikk et induksjonsbevis i detalj, nemlig beviset for at formelen for summen av de n første naturlige tallene er riktig. Dette kan du finne på et notat som ligger på hjemmesida. Som et annet eksempel gjennomgikk jeg oppgave 1.2.5 i Kalkulus. Til slutt gikk vi tilbake til slutten av eksempel 1.1.4 i seksjon 1.1 og så hvordan en sum kan omformes til en annen ved hjelp av substitusjon.

Tirsdag 21/8. Første forelesning startet med litt generell informasjon om emner så som forkunnskaper, pensum, obliger, eksamen og om undervisningen. Jeg viste også en kort presentasjon som forklarer hvorfor vi legger såpass stor vekt på programmering og beregninger det første semesteret (og senere semestere). Før vi begynte på matematikken presenterte jeg også hva vi ønsker å gjøre i høst (ved siden av den vanlige undervisningen) for å hjelpe dere til å fungere godt i studiehverdagen og samtidig få erfaringer som potensielle arbeidsgivere anser som svært viktig, det vi har kalt KUPP. Mer informasjon om dette kommer i nær framtid.

Etter dette begynte jeg på seksjon 1.1 i Kalkulus om naturlige tall og summetegn.

Av Knut Mørken
Publisert 15. aug. 2012 22:17 - Sist endret 27. nov. 2012 23:34