Dessa är inte de aktuella projekten. VT2023 KEX-projekt finns på en ny sida.
Kandidatexjobb i numerisk analys 2022
Kandidatsexjobbskursen på numerisk analys ska ge dig fördjupade kunskaper om utvalda numeriska beräkningsmetoder. Du kommer att få arbeta med ett större projekt med lärarstöd från forskare på avdelningen. Projektuppgiften i kandidatexjobbet kan knyta nära an till ett aktuellt forskningsprojekt inom gruppen men kan också vara en mer fristående problemstälning. Projekten inbegriper teoretisk analys, algoritmer, implementering och simuleringar.
Numeriska metoder och numerisk analys betraktas som ett ämne inom
Tillämpad matematik och beräkningsmatematik
Vad använder vi det till? och Varför?
Instruktioner för studenter
- Läs igenom alla ämnesområden nedan och välj det du tycker verkar mest intressant. Meddela ditt val till NA-KEX ämnesansvarig (Elias Jarlebring: eliasj snabel-a kth punkt se) senast samtidigt som du meddelar SCI-skolan ditt KEX-val.
- Om du tycker ett specifikt projektförslag är speciellt intressant, kontakta handledaren och fråga om mer information och om projektet är ledigt. Säg till om du vill ha detta projekt. Först till kvarn. Boka endast in dig på ett projekt. (Vi skapar nya varianter av projekt efter behov, men det finns begränsningar på antal studenter per projekt.)
- Vi tar även projektidéer från studenter. Om du har en egen projektidé inom något ämnesområde nedan, kan du även kontakta en av handledarna nedan eller NA-KEX ämnesansvarig och fråga om ditt förslag verkar vettigt. Tycker du något av de tidigare KEX-projekten (se länk längst ned på sidan) kan du även prova kontakta en handledare och fråga om hen har liknande idéer.
Projektlistan kommer uppdateras framförallt under vecka 42-44 men fler projekt kan dyka upp senare vid behov. Skriv namn på din KEX-partner när du mejlar oss så att vi inte svarar/bokar dubbelt.
Ämnesområde 1: Numeriska vågor
Vågor finns omkring oss överallt. Vattenvågor. Ljudvågor. Elektromagnetiska
vågor. Gravitation. I denna typ av projekt kan du studera problem som beskrivs
av vågor, som du får lösa med numeriska metoder och algoritmer.
Preliminära förslag:
- Dimensionering av vågkraftverksnät. Ett sätt att utvinna energi är att utnyttja vågkraft. Det kan göras med WEC-bojar (Wave Energy Converters). Dagens bojar är dock dyra att bygga och ger förhållandevis lite energi per boj. Men om man kan förutsäga hur vågorna kommer att se ut den närmaste tiden, finns det sätt att konstruera bojen så att energi-utvinningen per boj kan ökas avsevärt. Tyvärr är vågor svåra att förutse och modellera. Ett sätt är då att lägga ut flera WEC-bojar i närheten av varandra så att den yttersta bojen kan förvarna de inre bojarna när och hur vågorna kommer. I detta projekt får du lära dig om numeriska metoder för att simulera detta.
- Separating frequencies: musical chords from a mathematician's perspective. FULLBOKAD
We can describe pitches and chords in music by sine functions of different frequencies and amplitudes. Looking at these functions in the time-domain, it is difficult to determine which frequencies are included. With the Python programming language, Audacity and the Fast Fourier Transform (FFT) we can visualize computer-generated chords in the frequency domain in a straight-forward way. This makes it easy to see which pitches are present. The goal of this project is to see a concrete application the FFT. No previous knowledge of music is necessary.
- Fler projekt läggs till vid behov.
Ämnesområde 2: Numeriska algoritmer
I detta ämnesområde går vi in på detaljer i en eller flera numeriska algoritmer.
Det handla kan handla om en algoritm för en specifik tillämpning eller
problem med vissa strukturer. Vanliga numeriska algoritmer är FFT,
Newton, kvasinewton och matrisalgoritmer som baseras på faktorisering
till exempel LU-faktorisering eller QR-faktorisering (används till exempel för ill-posed problems).
Preliminära förslag:
- Förbättring av matrixexponentialfunktionen i PyTorch.
Ett av den mest använda verktygen inom maskininlärning är pythonpaketet pytorch. En algoritm för matrixexponentialfunktionen (beskrivet på wikipedia) är implementerat i funktionen torch.matrix_exp(input). Den nuvarande algoritmen bygger på en teknik av Bader, Blanes och Casas.
I detta projekt ska du implementera andra metoder för matrisexponentialfunktionen för att förbättra denna. Bader, Blanes och Casas metod är baserat på göra utvärdera
en Taylorutveckling. Det finns nya snabbare metoder för att evaluera Taylorutvecklingen för matrisexponentialfunktionen, som kan jämföras både i praktiken och i teorin. Erfarenhet med Python är önskvärt för detta projekt.
- Numeriska algoritmer i Julia. Julia är ett programmeringsspråk ursprungligen utvecklat av MIT, med målsättningen avv
vara lättanvänt, ha hög prestanda, och helt open-source. "Runs fast like C, but reads like python".
Inom avdelningen numerisk analys på KTH finns stor kompetens inom Julia och
flera forskningsprojekt utvecklar algoritmer i Julia - både användandet av program i julia i tillämpade forskningsprojekt och
utveckling av Julia-språkets kärna. I detta projekt får du jobba nära
forskare och implementera algoritmer som finns tillgängligt i ett annat programmeringsspråk (MATLAB eller python) i Julia.
Till exempel, ny forskning om algoritmer för olika typer av
egenvärdesproblem, finns tillgängligt i offentliga matlab-programkoder och som utgångspunkt kan detta
implementeras i Julia projekt för maskininlärning SciML. Programmeringsvana utöver grundkurser krävs, men ej nödvändigtvis i Julia.
- Datadriven inlärning för att förbättra numeriska metoder. FULLBOKAD
Utgångspunkten i detta projekt är att träna ett neuralt nätverk med hjälp av data från väldigt noggranna simuleringar (av differentialekvationer) för att inte enbart studera lösningen av ett fysikaliskt fenomen (beskrivet av differentialekvationer, t.ex. vågors utbredning) utan även för att studera hur felet som uppstår med en klassisk numerisk metod beter sig. Detta nätverk kommer du sedan använda för att förbättra den ursprungliga numeriska metoden. Projektet kan delvis ses som verifiering av forskningen inom "Deep Euler methods".
- Optimalt val av interpolationspunkter. I detta projekt kommer vi
titta på hur man ska välja interpolationspunkter för att få ett så
litet interpolationsfel som möjligt. Vi kommer använda metoder baserade
på maskininlärning för att iterativt förbättra interpolationspunkterna
så att felet minskar. Resultatet kommer bero på vilken typ av
funktioner vi vill interpolera och hur interpolanten väljs, och vi
kommer därför studera olika fall, till exempel polynom, trigonometriska
funktioner, osv. Vi kommer börja med endimensionella funktioner, men en
utvidgning till fler dimensioner är möjlig. En variation på problemet
är att punkterna inte får placeras i ett specifikt delintervall, där
funktionen kanske är svår att beräkna, men där vi gärna vill evaluera
interpolanten. Hur ska punkterna placeras då? Denna frågeställning är
kopplad till ett pågående forskningsprojekt.
- Fler projekt läggs till vid behov.
Ämnesområde 3: Numeriska inverser
Att gå bakvägen i ett vetenskapligt resonemang är inte alltid så lätt. Om du vet
densiteten i en planet kan man räkna ut hur stor gravitationen är i en given punkt.
Av praktiska skäl kan man inte direkt mäta densiteten inuti en planet,
men man kan mäta gravitationen vid några punkter på jordytan.
Det inversa problemet att bestämma densitet är en typisk problemformulering
ni får behandla i dessa projekt. Här får du lära dig att lösa inversa problem
med numeriska metoder.
Andra typiska inversa problem
uppstår inom medicin, t.ex. i samband med röntgen eller tomografi.
Preliminära förslag:
- The inverse source problem for Helmholtz. FULLBOKAD
In this project we consider the problem of finding where the source of a wave is located given measurements of the wave on the boundary of a domain. An application could be to automatically find a sound source from the sound picked up at a collection of microphones. We make a simple model of the wave propagation using the Helmholtz partial differential equation, which governs how a wave of a fixed given frequency behaves. The Helmholtz equation can be approximated using finite differences. This leads to a linear system of equations for the solution, where the right hand side depends on the location of the source, and parts of the solution represents the measurements of the wave on the boundary. In the end a nonlinear least squares problem must be solved to find the source location.
In the project you will learn to discretize a boundary value problem in two dimensions, and different ways to simplify and solve nonlinear least squares problems. Time permit we will also use the FEniCS package through which one can extract the linear system (matrix and right hand side) for complicated domains. This will allow us to treat more realistic problems.
- Bringing together videoprocessing and physics. This project concerns computation for both image processing and physics. You will be expected to take a video of a physical phenomenon and set up a corresponding numerical simulation. Parameters and other assumptions and will be determined from the video - at first manually by hand and later by detecting parts in the image. How well can you reproduce the double pendulum motion with a numerical simulation? If you have a video of a physical phenomenon you would like to analyze, contact the supervisor and ask if it is reasonable.
- Material properties .
Handledare:
- Fler projekt läggs till vid behov.
Ämnesområde 4: Numerik för fysikaliska fenomen
Planeternas banor, liksom atomers rörelse kan beskrivas med fysikaliska lagar formulerade som ekvationer - ofta komplicerade differentialekvationer. För att
beräkna beteendet som fysiken modellerar måsta man i regel lösa dessa numeriskt.
Här behandlar du en modell av något fysikaliskt,
och du får använda generella och specialiserade metoder för att simulera fysikaliska lagar.
Preliminära förslag:
- Numerisk simulering av isdynamik.
Isen på Grönland och Antarktis deformeras och rör sig långsamt ut mot kusten. Vid kusten smälter den då den kommer i kontakt med vårt allt varmare hav. För att kunna uppskatta hur mycket isen kommer att smälta, och därmed hur mycket de globala havsnivåerna kommer höjas, så gör man datorsimuleringar. I simuleringarna modelleras isen genom att lösa ett system av olinjära partiella differential ekvationer, som efter diskretisering med finita element metoden resulterar ett olinjärt system A(x)x=b. Olinjäriteten härstammar från att isens viskositet inte är konstant, utan istället beror på hur stora krafter och spänningar det finns inuti isen. I det här projektet tillämpar vi metoder för att lösa detta olinjära problem, och studerar hur väl de fungerar i olika situationer.
Vi använder FEniCS https://fenicsproject.org/ för att modellera glaciärer Grönlands och Antarktis kust.
- Simulering av växthuseffekten.
I jordens atmosfär finns naturligt
förekommande växthusgaser såsom vattenånga och koldioxid, som skickar
tillbaka en del av den utgående värmestrålningen ner till jordytan.
Detta leder till att yttemperaturen blir högre än vad den annars skulle
vara, vilket är en viktig förutsättning för livet på jorden. När
mänskliga aktiviteter ökar mängden växthusgaser i atmosfären påverkas
jordens klimat. En viktig fråga inom klimatvetenskapen är hur jordens
medeltemperatur ändras när mängden koldioxid i atmosfären ökar.
Forskaren Syukuro Manabe utvecklade modeller för detta på 1960-talet,
och belönades för detta med nobelpriset i fysik 2021. I detta projekt
kommer vi lära oss om dessa modeller och simulera strålningsbalansen
hos en luftpelare i atmosfären. Rekommenderade förkunskaper:
grundläggande kännedom om Plancks strålningslag, Stefan-Boltzmanns lag
och finita differensmetoden. Programmeringsvana från tidigare kurser i
valfritt programmeringsspråk.
- Stokastisk resonans i klimatmodell. FULLBOKAD
Avsikten med detta projekt är att studera stokastisk resonans i klimatmodellering baserat på
rapporten "Stochastic resonance in climate change" som är ett av Nobelpristageren Parisis arbeten.
Projektet handlar om att beskriva problemets teoretiska bakgrund och numeriskt lösa problemet.
Det har visat sig att slumpmässiga störningar av en förenklad klimatmodell förstärker små tidsberoende variationer,
vilket leder till en rimlig förklaring av klimatvariation med perioden 10^5 år. De slumpmässiga
störningarna är i någon mening samma som de vi ser i variationer i vädret pa kortarte tidsskalor, som
Nobelpristageren Hasselman beskriver i rapporten "Stochastic climate models Part I. Theory".
- Optimal kontroll av cykel.
En cykels framfart beskrivs av en differentialekvation. Positionen där
cykeln balanserar på sina hjul är dock instabil - styr man inte på korrekt
så att ramlar man. I detta KEX-projekt ska vi se på hur man med optimal
styrteori, studiet av kombinationen differentialekvationer och optimering,
kan inna hur man ska gå tillväga för att kunna framföra en cykel påa önskat
såatt. Projektet innehåller modellering av cykelns rörelse, användning av
optimala styrteorin, och programmering.
- Numeriska simuleringar av blodflödet i människohjärtat. FULLBOKAD
I detta projekt tittar vi på problem inom numerisk simulering av blodflödet i patientspecifika mänskliga hjärtan. Det långsiktiga
målet med forskningen är att kunna simulera sjukdomstillstånd i patientens hjärta, och hur blodflödet kan påverkas av olika behandlingsmetoder och operationer, för att på så sätt ge läkaren bättre information att grunda sina beslut på.
I det här kandidatarbetet vill vi titta närmare på randvillkor i vår modell för vänster hjärtkammare. Det kan handla om både
villkor längs kammarens vägg för att realistiskt simulera hur blodet rör sig längs väggen, men också om randvillkor för in- och utflöden av blod i kammaren.
De numeriska simuleringarna av blodflödet görs med Finita Elementmetoden (FEM) och bygger på lösning av Navier-Stokes ekvationer
i 3D. I projektet arbetar vi tillsammans med forskare från Karolinska Universitetssjukhuset och CNRS (French National Centre for Scientific Research) i Paris.
- Numerical algorithms for nanophotonics.
One of the key challenges within the field of nanophotonics is the computation, in an efficient and a reliable way, of resonant modes of complicated materials. In this project, you will assume that the material is frequency dependent. Rather than solving a standard eigenvalue problem, which is needed for homogeneous frequency independent materials, this project requires the solution of a nonlinear eigenvalue problem. You will learn about and implement algorithms for nonlinear eigenvalue problems and use them to solve problems stemming from nanophotonics. No prior knowledge of nanophotonics or nonlinear eigenvalue problems is required. The project can be done in MATLAB or Julia. The project is closely related to research of the numerical analysis group.
- Iterative methods for the Helmholtz equation. FULLBOKAD The Helmholtz equation is a linear partial differential equation (PDE) with a variety of applications in physics. In this project we will consider approximate solutions to the Helmholtz equation where the wavenumber depends on a material parameter. For each choice of material parameter, the PDE has a different solution. You will learn how to write a computer program which can solve a discretized version of this problem. We consider a fine discretization, which leads to a large system of equations. The methods GMRES and preconditioned GMRES will be used to solve the resulting systems. The solution you obtain can be evaluated for different parameters without executing the algorithm again.
- Fler projekt läggs till vid behov.
Ämnesområde 5: Numerik för data science
"Data science" är ett interdisciplinärt fält där man använder vetenskapliga metoder, tekniker och algoritmer för att extrahera information från data. Data kan komma från
mätningar av signaler och bilder från fysikaliska processer,
t.ex. ljudupptagning eller satellitfoton, eller
från nätverk, grafer eller flöden, t.ex. sociala nätverk eller olika
typer av samhällsvetenskapliga samband.
Om du väljer detta ämne kan du använda du numeriska algoritmer och metoder
för att behandla och analysera problem som innehåller mycket data, "numerics for data science".
Preliminära förslag:
- Förbättring av matrixexponentialfunktionen i PyTorch.
Ett av den mest använda verktygen inom maskininlärning är pythonpaketet pytorch. En algoritm för matrixexponentialfunktionen (beskrivet på wikipedia) är implementerat i funktionen torch.matrix_exp(input). Den nuvarande algoritmen bygger på en teknik av Bader, Blanes och Casas.
I detta projekt ska du implementera andra metoder för matrisexponentialfunktionen för att förbättra denna. Bader, Blanes och Casas metod är baserat på göra utvärdera
en Taylorutveckling. Det finns nya snabbare metoder för att evaluera Taylorutvecklingen för matrisexponentialfunktionen, som kan jämföras både i praktiken och i teorin. Erfarenhet med Python är önskvärt för detta projekt.
- Separating frequencies: musical chords from a mathematician's perspective. FULLBOKAD
We can describe pitches and chords in music by sine functions of different frequencies and amplitudes. Looking at these functions in the time-domain, it is difficult to determine which frequencies are included. With the Python programming language, Audacity and the Fast Fourier Transform (FFT) we can visualize computer-generated chords in the frequency domain in a straight-forward way. This makes it easy to see which pitches are present. The goal of this project is to see a concrete application the FFT. No previous knowledge of music is necessary.
- Datadriven inlärning för att förbättra numeriska metoder.
Utgångspunkten i detta projekt är att träna ett neuralt nätverk med hjälp av data från väldigt noggranna simuleringar (av differentialekvationer) för att inte enbart studera lösningen av ett fysikaliskt fenomen (beskrivet av differentialekvationer, t.ex. vågors utbredning) utan även för att studera hur felet som uppstår med en klassisk numerisk metod beter sig. Detta nätverk kommer du sedan använda för att förbättra den ursprungliga numeriska metoden. Projektet kan delvis ses som verifiering av forskningen inom "Deep Euler methods".
- Fler projekt läggs till vid behov.
Tidigare läsår
Länkar till rapporter och projekförslag tidigare år som kan användas som inspiration: