10387 Scientific computing i kvanteinformationsvidenskab

2024/2025

Kursusinformation
Scientific computing in quantum information science
Engelsk
5
Kandidat
Retningsspecifikt kursus (MSc), Engineering Physics
August
Campus Lyngby
Forelæsninger, kode-demonstrationer, hands-on tutorials, projektarbejde, præsentationer af studerende
3-uger
Sidste dag(e) i 3-ugersperioden
Bedømmelse af opgave(r)/rapport(er)
Den sidste halvdel af kurset vil primært bestå af indivualiseret projektarbejde (individuelt eller i par). Projektet afsluttes med en præsentation for holdet samt aflevering af et Github repository. Dette vil være grundlaget for evalueringen.
bestået/ikke bestået , intern bedømmelse
10112/10380/10384/10385/34042 , Det anbefales kraftigt at have taget et eller flere kurser med relation til kvanteinformation/​kvanteteknologi samt at have nogen erfaring med programmering i Python.
Jonas Schou Neergaard-Nielsen , Lyngby Campus, Bygning 307 , jsne@fysik.dtu.dk
10 Institut for Fysik
I studieplanlæggeren
Overordnede kursusmål
Simulering, numeriske beregninger, eksperiment-kontrol, dataanalyse, visualisering: Disse er alle essentielle elementer af moderne videnskab og engineering, og de handler alle om kode. Enhver forsker eller R&D ingeniør bør have en basal forståelse af metoder fra scientific computing (dvs. beregninger og andet kodning med videnskabeligt formål). Formålet med dette kursus er at styrke din "computational thinking" og introducere dig til en række datalogiske værktøjer og metoder med relevans i videnskab.

Du vil blive gjort bekendt med pakker og værktøjer (alle i Python) der er bredt anvendelige indenfor engineering og videnskab, samt mere specifikke pakker der ofte bruges i kvanteoptik og kvanteinformation. Kurset er derfor særligt relevant for dem, der overvejer en karriere indenfor kvanteinformationsvidenskab, og for dem der laver speciale eller PhD-projekt i det felt.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • Forstå sammenhængen mellem de mest almindelige pakker i Python-økosystemet for scientific computing
  • Anvende basal versionskontrol med git og håndtere et mindre open source software-projekt på Github
  • Udvikle genanvendelig, effektiv og veldokumenteret kode til løsning eller analyse af et fysisk problem
  • Udføre forskellige typer af konveks optimering
  • Analysere og simulere kvanteoptiske kredsløb
  • Modellere og simulere dynamikken af åbne kvantesystemer
  • Kvantitativt analysere støjfyldte måledata
  • Undersøge ekskveringstid for kode og kende til metoder til at gøre den hurtigere
  • Klart og præcist præsentere et beregningsmæssigt problem, den anvendte løsningsmetode og dens resultater
Kursusindhold
Pakkehåndtering og virtuelle environments.
Versionskontrol med git.
Kerne-pakkerne for scientific computing i Python: Numpy, Scipy, Matplotlib.
Udforskende kodning: interaktiv prompt - Jupyter notebooks - scripts - pakker; IDE'er.
Benchmarking og optimering af kode: timing, linjeprofilering, arrays vs. loops, caching, numexpr, Numba.
Effektiv brug af arrays.
Præsentation af kode med notebooks og reveal.js.

Udvalgte numeriske metoder, f.eks. spektralanalyse, lineær programmering (konveks optimering), master-ligninger.
Udvalgte emner i kvanteinformation og kvanteoptik, f.eks. kvanteoptik med kontinuerte variable, dekohærens af qubits, kvantetilfældighed, kvantekredsløb.
Udvalgte pakker for simulering af kvantesystemer, f.eks. QuTiP, Strawberryfields, Qiskit.

Hvis der er tid:
Instrument-kommunikation, dataopsampling, GUI'er.
Interaktiv visualisering med f.eks. Bokey, Plotly, ipywidgets.
Bemærkninger
Brug af AI til hjælp med programmering og lignende er helt fint, du skal blot kunne forstå hvad din kode gør.
Sidst opdateret
02. maj, 2024