01415 Computational Discrete Mathematics

2020/2021

P.g.a. Covid-19 afholdes den skriftlige eksamen for sommeren 2021 som hjemmeonline-eksamen med alle hjælpemidler tilladt og åbent net.
P.g.a. Covid-19 afholdes den skriftlige eksamen for vinteren 2020 som hjemmeonline-eksamen.
Kursusinformation
Computational Discrete Mathematics
Engelsk
5
Kandidat
Kurset udbydes som enkeltfag
E3A (tirs 8-12)
Campus Lyngby
Forelæsninger, grupperegning, assignments
13-uger
E3A, F3A
Skriftlig eksamen og bedømmelse af opgave(r)
4 timer
Alle hjælpemidler er tilladt
7-trins skala , intern bedømmelse
01018 , Forståelse af begreber fra abstrakt algebra: lineær algebra, ringe, idealer, kvotientringe, endelige legemer. Lidt erfaring med programmering og algoritmer. Studerende der ikke har taget 01018 men har 01017 og 01426 burde kunne følge kurset med skal forvente at læse ekstra op på ovenstående algebra.
Minimum 5
Peter Beelen , Lyngby Campus, Bygning 303B, Tlf. (+45) 4525 3022 , pabe@dtu.dk
Johan Sebastian Heesemann Rosenkilde
01 Institut for Matematik og Computer Science
I studieplanlæggeren
Overordnede kursusmål
Dette kursus handler om opfindsomme og effektive metoder til at løse algebraiske spørgsmål, såsom at faktorisere et polynomium med koefficienter i et endeligt legeme, eller at finde fælles nulpunkter af givne multivariate polynomier. Vi arbejder i en diskret og eksakt verden: heltal, brøker, endelige legemer og polynomier, og vi søger algoritmer der er hurtige for tilpas store input.

Hvis du er vild med diskret matematik så vil du kunne lide dette kursus, fordi vi dykker dybt ned i smukke og overraskende algebraiske egenskaber, der leder til konkrete opskrifter på at løse beregningsmæssige spørgsmål. Det abstrakte algebra, du tidligere har lært, vil blive konkret og "hands-on" ved at forstå, hvordan vi faktisk regner med objekterne.

Hvis du er vild med algoritmer og datastrukturer, så vil du kunne lide dette kursus, fordi algoritmerne er geniale, kompakte og tvinger dig til forene algebra og datalogi i en højere enhed.

Kurset har en matematisk stringent tilgang med beviser af algebraiske sætninger, af algoritmers korrekthed og af deres asymptotiske køretid. Til dette mix tilsætter vi eksperimentering med SageMath, et computer-algebra-system hvor man programmerer i høj-niveau sproget Python. Et element af kurset er, at du skal implementere dit eget bibliotek med avancerede algoritmer for polynomier.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • Forklare hvordan man repræsenterer og regner med meget store heltal, med polynomier, og med polynomier over disse.
  • Beskrive hurtig multiplikation og anvendelser til andre beregninger.
  • Beskrive hurtig matrix multiplikation og anvendelser til andre beregninger.
  • Anvende modulære metoder og den kinesiske restklasse-sætning til algebraiske beregninger.
  • Faktorisere et polynomium over et endeligt legeme med en effektiv metode.
  • Udføre multivariat polynomiumsdivision med rest og beskrive hvilken rolle monomiums-ordenen har.
  • Beregne en Gröbner-basis og beskrive dens relevans for at afgøre medlemsskab i et ideal, samt relaterede problemer.
  • Repræsentere et praktisk problem som ikke-lineære polynomiumsligninger og relationen til idealer af multivariate polynomiumsringe.
  • Bruge et computer-algebra-system til eksperimentelt at arbejde med algebraiske problemer.
  • Implementere et bibliotek i Python med algoritmer til at løse algebraiske problemer.
  • Analysere den asymptotiske køretid af en algoritme til algebraiske problemer i en realistisk beregningsmodel.
  • Bevise korrektheden af en algebraisk algoritme.
Kursusindhold
Eksakt algebraisk beregning. Aritmetik i endelige legemer, med polynomier over endelige legemer, med heltal, og med matricer over endelige legemer og heltal. Algoritmer til faktorisering. Multivariate polynomier og deres idealer, Gröbner baser og Buchbergers algoritme. SageMath og Python, og generelt set computer-algebra-systemer.
Litteraturhenvisninger
J. von zur Gathen, J. Gerhard, Modern Computer Algebra, 3rd ed.
Sidst opdateret
05. maj, 2020