Hi!

I am Danish-American Ph.D. candidate in quantum physics. I am currently at the Center for Quantum Mathematics and Physics (QMAP) at UC Davis, studying under the supervision of Jaroslav Trnka. Before moving to California, I received my Bachelors and Masters degrees in Physics at the Niels Bohr Institute in Copenhagen. I love to solve hard problems using math and programming. My current research is in theoretical high energy physics, specifically in the geometric structure of scattering amplitudes. On this site you can find links to my research and other related works.

Navigate below to see a list of my publications and teaching experience.

Publications

Teaching

University of California, Davis

  • Winter 2024: Physics 155, lead TA -- General Relativity

  • Fall 2022: Physics 115A, lead TA -- Upper division Quantum Mechanics.

  • Spring 2022: Physics 105B, lead TA & 2 weeks of lecturing -- Upper division Classical Mechanics. I lectured on tidal effects, 4-vectors in special relativity, and general relativity.

  • 8 Quarters spread over 2020-2024: Physics 9-series, discussion/lead TA. -- Introductory physics course for engineering students.

  • Summer 2021, Spring 2021, and Winter 2021: Physics 7-series, classroom/lab TA. -- The Physics 7-series is aimed towards introducing physics to non-physics majors, using inverted classroom methods.

Niels Bohr Institute

  • Spring 2020, Spring 2019, and Spring 2017: Thermodynamics -- discussion TA.

  • Fall 2019 and Fall 2018: Classical Mechanics -- discussion TA.

  • Summer 2018 and 2019: Kickstart -- discussion TA and organizer.

  • Spring 2019: Classical Mechanics -- re-exam workshop TA and organizer.

  • Spring 2018: Statistical Physics -- discussion TA.

  • Spring 2017: Electrodynamics -- discussion TA.

  • Fall 2016: Classical Mechanics -- lab TA.


Full CV

Click on images to download pdf

2 page resume

Click on images to download pdf

Quantum Physics and Mathematics (QMAP) graduate student journal club

I founded and run the student journal club. Below you can see previous and upcoming talks.

Winter 2025

Date: February 18
Speaker: Artyom Lisitsyn
Topic: Differential forms on compact Riemann surfaces
Date: February 4
Speaker: Marcelo Dos Santos
Topic: Gauge Invariance and the equivalence principle of general relativity
Date: January 28
Speaker: Remi Seddigh
Topic: Holographic, quantum, and subadditivity cones

Fall 2024

Date: December 5, 2024
Speaker: Ben Eustis-Guthrie
Topic: Effective field theory corrections for lattices
Date: November 26, 2024
Speaker: Robert Ferydouni
Topic: Entropy
Date: November 21, 2024
Speaker: Melvyn Nabavi
Topic: The c-theorem
Date: November 14, 2024
Speaker: Marcelo Dos Santos
Topic: Covariant quantization of the superparticle
Date: November 7, 2024
Speaker: Hsing-Yi Lai
Topic: From classical to quantum
Date: October 31, 2024
Speaker: Can Görmez
Topic: Quantization and geometry
Date: October 24, 2024
Speaker: Umut Can Öktem
Topic: Strong coupling from perturbation theory
Date: October 17, 2024
Speaker: Artyom Lisitsyn
Topic: Constructing higher genus polylogarithms

Spring 2024

Date: May 20, 2024
Speaker: Robert Ferydouni
Topic: Lieb-Robinson bounds and applications
Date: May 13, 2024
Speaker: Ben Eustis-Guthrie
Topic: Matrix product states and Hamiltonian truncation
Date: May 6, 2024
Speaker: Robert Ferydouni
Topic: Solutions to Schrödinger Equation in Heisenberg picture
Date: April 29, 2024
Speaker: Siddharth Vadnerkar
Topic: Quantum computation using anyons
Date: April 22, 2024
Speaker: Ziyi Song
Topic: Conical geometries in AdS/CFT
Date: April 15, 2024
Speaker: Subhobrata Chatterjee
Topic: Discrete dynamics
Date: March 18, 2024
Speaker: Hsing-Yi Lai
Topic: Local Lagrangian including magnetic charges
Date: March 11, 2024
Speaker: Christoph Bartch
Topic: Hidden zeros of scattering amplitudes

Introduction to ML for physicists

Machine learning is the study that gives computers the ability to learn by itself without explicit programming. There are two main types of ML:Supervised learningClassification can be summarized as, given a lot of output data (which can depend on multiple parameters) can we easily break the output into different classes which can then be used to predict whether a new output belongs into a specific class. So given input x and output y , and by given the "correct" or "true" answer it can classify whether a for a given input x , an output y falls into a specific catagory.
Regression is summarized as trained on data with input x and output y , it can predict what the output should be for a given input by doing regression on the training data. An example of this is, given age and tumor size and information on whether a tumor was benign or malignant, can we determine if a new patient has a benign or malignant tumor.
Unsupervised learningAs opposed to supervised learning, is not associated with a specific output given an input. In the above example of tumors, this would corespond to not knowing in the training set, what tumors were benign og malignant, but just having some date based on age and size. Data now only has input values x but no output y .
Clustering algorithms place the data in different "groups", if they have some apparent boundary.
Anomaly detection is used to find anomalies in a dataset, for instance in finance
Dimensional reduction is used to compress data.

Linear regressionMost widely used ML model. An example is estimating a house's sell price based on it's size given a dataset of house prices vs sizes. It is called a regression model since it predicts a number as the output.Terminology- Training set: dataset used to train model
- Input variable/input feature: input data, often denoted by $x$
- Output/target variable: output data, often denoted by $y$
- A single training example is denoted by $(x,y)$ and a specific one is $(x^{(i)}, y^{(i)}) $.
- $m$ denotes the total numnber of training examples, so the total number of sets of $(x,y)$.
- Given a training set, the learning algorithm will produce a model which is a function, $f$, that historically was called the hypothesis. $f$ takes an input $x$ and generates a predection $\hat{y}$.
If we take linear regression with one variable, then
$$
f(x)\equiv f_{w,b}(x)=wx+b
$$
This is also called univariate linear regression.

Cost function$w,b$ are the parameters/coefficients/weights. We want to choose them such that $\hat{y}^{(i)}$ is close to $y^{(i)}$. This is done throught the cost function. An example of such is the squared error cost function:
$$
J(w,b)=\frac{1}{2m}\sum_{i}^{m}\big(\hat{y}^{(i)}-y^{(i)}\big)^2=\frac{1}{2m}\sum_{i}^{m}\big(f_{w,b}(x^{(i)})-y^{(i)}\big)^2
$$
The $2$ in the normalization will be convenient later. We want to minimize the cost function $J$, so the goal is to $\text{minimize}_{w,b}, J(w,b)$
ExampleLet us consider a simplified model where $b=0$ such that,
$$
\begin{aligned}
f_w(x)&=wx\\
J(w)&=\frac{1}{2m}\sum_{i}^{m}\left(wx^{(i)}-y^{(i)}\right)^2
\end{aligned}
$$
For a given dataset one then computes $J(w)$ for different values of $w$. The one that gives the lowest value provides the best straight line.For a function of more parameters, such as for a linear function $f(x)=wx+b$, one has to find a global minimum of $J(w,b)$.Finding this minimum manually is not very practical and it is better to write some code that does it. One of the most used algorithms is called gradient descent which we will do next.Given a function $J(\vec{w},b)$, where $\vec w = (w_1,\cdots,w_n)$, one can minimize the function over all the parameters using gradient descent.Let us outline the approach:
- Start with some initial $w,b$ (e.g. guessing $w=0,\,b=0$),
- Keep changing $w,b$ until we end at a minimum for $J(w,b)$. This could be a non-global minimum, which happens if we are not doing linear regression.
Depending on the starting value you may end up in a different minimum or it may be faster or slower.GD algorithmThe algorithm for goung through different values of
$$
\begin{aligned}
\overbrace{w}^{\text{new value}}&=\overbrace{w}^{\text{old value}}-\overbrace{\alpha}^{\text{learning rate}} \frac{\partial J(w,b)}{\partial w}\\
b&=b-\alpha \frac{\partial J(w,b)}{\partial b}
\end{aligned}
$$
Both parameters have to be updated at the same time, so that $J(w,b)$ is the same for both terms. One way to implement this is$$
\begin{aligned}
\text{tmp_}w & = w - a \frac{\partial J(w,b)}{\partial w}\\
\text{tmp_}b & = w - a \frac{\partial J(w,b)}{\partial b}\\
w & = \text{tmp_}w \\
b & = \text{tmp_}b
\end{aligned}
$$

Implementing algorithm for linear regressionWhen implementing the algorithm, the terms one gets from the derivative of the cost function are
$$
\begin{aligned}
\frac{\partial J(w,b)}{\partial w} &= \frac{1}{m}\sum_{i=1}^m(x^{(i)}w+b-y^{(i)})x^{(i)}\\
\frac{\partial J(w,b)}{\partial b} &= \frac{1}{m}\sum_{i=1}^m(x^{(i)}w+b-y^{(i)})
\end{aligned}
$$
Batch gradient descent is when all the training data is used to calculate the minimum (If data is large, sometimes only parts of the set are used).