Spring 2022 Projects

Random walks on R and C

Faculty Mentor: Dr. Jayadev Athreya

Project Description: Consider the random walk on R (or C) defined by z–>z+1 or z–>1/z with probability 1/2 each. We will study the question of whether this, and other related random walks, has a “nice” invariant measure, and will make illustrations/histograms of long-term behavior of this random walk using computer experiments. Students will learn about random walks, Lyapunov exponents, and invariant measures.

Project Level: Intermediate: students who have taken Math 300
Additional Course Requirements: Math 394, if possible
Programming Requirements: Python/Sage will be really useful, JavaScript would be great.

Graphs with a small boundary

Faculty Mentor: Dr. Stefan Steinerberger

Project Description: A (combinatorial) graph is a finite set of vertices where certain pairs of vertices are connected by edges. Chartrand-Erwin-Johns-Zhang first proposed a notion of “boundary” on a graph. The “boundary” is a subset of all vertices for which there exists other vertices such that certain distance relations are satisfied: the definition is completely intrinsic. The goal of this object is to adapt the Chartrand-Erwin-Johns-Zhang techniques to study a related notion of boundary and to classify all graphs that have “small” boundary. The graphs with two boundary vertices, for example, are exactly the path graphs. Several related problems may also be considered.

Project Level: Advanced: students who have taken multiple upper-level mathematics courses
Additional Course Requirements:
Programming Requirements:

Quantum Probability via Arbitrary Functions

Faculty Mentor: Dr. Ben Feintzeig

Project Description: How do deterministic physical systems give rise to probabilities? In classical probability theory, one can show that some differential equations governing the dynamical evolution of physical systems lead to “universal behavior” in the limit of large times. More specifically, the system almost always approaches the same final distribution for certain physical variables, independent of the distribution of initial conditions one began with. This is called the classical method of arbitrary functions—where the arbitrary functions refer to the possible initial conditions, which turn out to be irrelevant to the long time behavior. Such results are thought to explain why physical systems display the probabilities they do, e.g., why a tossed coin lands heads with probability 1/2 or a roulette wheel has equal probability of landing on each number. In this project, we aim to extend the method of arbitrary functions to systems described by quantum physics, where both the dynamical equations and conceptual framework for probability have novel features. We will explore the behavior for concrete physical models in the limit of large times and the classical limit of small values of Planck’s constant.

Project Level: Advanced: students who have taken multiple upper-level mathematics courses
Additional Course Requirements: Some background in linear algebra, analysis, and abstract algebra will be helpful for this project. No background in physics is required.
Programming Requirements:

Conformal dynamical systems on Carnot Groups

Faculty Mentor: Dr. Hadrian Quan

Project Description: Much is known about the interplay between real hyperbolic spaces and the geometry of their boundary. However this relationship is less understood in the case of hyperbolic spaces over non-real fields of numbers (such as the complex numbers, quaternions, etc). The ultimate goal of this project is to find many examples of complex hyperbolic spaces in which we can compute fractal dimension of the limit set of their boundary.

These fractal dimensions will be calculated by associating a dynamical system to the boundary of our complex hyperbolic space. These boundary spaces have their own geometric structure known as a Carnot group; Carnot groups are examples of smooth spaces which also have a group structure, and it is this group structure which will effect the dynamical system we construct.

Any experience with either analysis or differential geometry would be helpful for this project, but is certainly not necessary.

Project Level: Advanced: students who have taken multiple upper-level mathematics courses
Additional Course Requirements: Math 300, Math 307 and 309 would be helpful
Programming Requirements: Some python is preferred but not needed for every student

Mind-bending lines and planes in non-Euclidean space

Faculty Mentor: Dr. Dami Lee

Project Description: In this article we see a tiling of a disk by angels and devils, where it is claimed that all the angels are actually the same size, and so are the devils. In non-Euclidean space, we define length and area using a different metric than we do in Euclidean space. This tells us that the shortest path between two points in non-Euclidean space may not be a straight line (or at least in our Euclidean eyes).

The goal of this project is to learn about non-Euclidean geometry and to produce 3D drawings in non-Euclidean space.

Project Level: Advanced: students who have taken multiple upper-level mathematics courses
Additional Course Requirements:
Programming Requirements: some exposure to programming is required

Formalizing Hilbert’s 1890 theorem on the finite generation of invariant rings

Faculty Mentor: Dr. Jarod Alper

Project Description: Hilbert shocked the world in 1890 with his proof that invariant rings are finitely generated. Paul Gordan, the so-called king of the 19th century invariant theory declared: “This is not mathematics; this is theology.” The motivating goal for this project will be to formalize Hilbert’s proof in the Lean Theorem Prover (https://leanprover.github.io/). While this may be too ambitious for one quarter, the realistic goal will be to simply learn how to use Lean by playing around with algebraic objects such as rings and ideals.

Mathematically, Hilbert’s proof of the finite generation of invariant rings is actually not too complicated. One of the key components is Hilbert’s Basis Theorem, which has fortunately already been formalized. Once we acquire a basic understanding of Lean functionality and how to use the existing algebra libraries, we will make strides toward formalizing Hilbert’s proof.

To see whether this might be the right project for you and to get started learning Lean, you can play the “Natural Number Game” (https://www.ma.imperial.ac.uk/~buzzard/xena/natural_number_game/).

Project Level: Advanced: students who have taken multiple upper-level mathematics courses
Additional Course Requirements: Math 402/403
Programming Requirements: Experience with programming will certainly help. We will need to learn the Lean programming language together.

Permutation Polynomials

Faculty Mentor: Dr. Masahiro Nakahara

Project Description: A permutation polynomial over a finite field is one that permutes the elements of the finite field. For example, over F_3, the polynomial x^3+x is a permutation polynomial. It sends 0 to 0, 1 to 2, and 2 to 1. It can be shown that there exists polynomials that give rise to every permutation possible on any finite field F_q. However, it is often a hard question to write down permutation polynomials of low degree and also to test any given one.

The goal of this project is to explore what we can say about these polynomials and get hands-on experience with them. Some questions to consider are what kind of permutations can be obtained once we fix a particular property (such as degree)? A polynomial can be thought of as a function from the F_q-line to itself. What about functions from the F_q-plane to itself?

Project Level: Advanced: students who have taken multiple upper-level mathematics courses
Additional Course Requirements: Some familiarity with finite fields would be ideal.
Programming Requirements: Not required but could be helpful

Visualizing Quantum Probabilities

Faculty Mentor: Dr. Jer Steeger

Project Description: What do quantum probabilities look like? Consider, for example, the probabilities of outcomes for measuring a qubit. Many folks know these probabilities have a beautiful geometrical structure: a sphere in three-dimensional Euclidean space (via the Bloch representation). But what about qutrits or other higher-dimensional systems? It turns out that their probabilities have a much more complicated structure! This structure has been the focus of much recent research in the foundations of physics. It is key to investigating the space of theories that might lie beyond quantum mechanics.

A boon of this structure is that it allows for precise visualization. We can represent each probability as a vector in a high-dimensional Euclidean space, then look at a three-dimensional slice of that space. Many authors provide static images of these slices. But this structure cries out for an animated visualization. Video-game programmers have used such techniques to help players imagine what it would be like to live in a world with four spatial dimensions. We will use these techniques to illustrate essential features of our actual (quantum) world.

The main goal of this project is to construct smooth animations of transitions between several three-dimensional slices of the state space of a qutrit, using manim. We will explore more slices and higher-dimensional state spaces given an early success.

Project Level: Intermediate: students who have taken Math 300
Additional Course Requirements:
Programming Requirements: Experience with Python is required. (Experience with manim, itself, is not required, but highly desirable!)

Analyzing Weak RSA Keys

Faculty Mentor: Daniel Shumow

Project Description: Public Key Cryptography is the basis of security on the internet. Public key cryptosystems include asymmetric Encryption (where encrypt and decrypt keys are distinct) and digital signatures. The oldest and most widespread of these algorithms is RSA, with security based on the hardness of factoring. RSA keys are large (> 1024 bit) numbers that are the product of two equal sized primes. RSA was revolutionary, but it is slowly diminishing in popularity. This is mainly due to the advent of quantum computers, which can theoretically solve factoring faster than classical computers. However, RSA has historically had many problems.

This project is to survey factoring algorithms and other attacks against RSA. Using knowledge of the attacks, students will work to generate the “worst case” possible RSA keys for each type of attack. That is, keys that are the most likely to succumb to given factoring algorithms or other attacks.

The goal of the project is to show the wide range of ways that RSA keys can be weak. Lessons include the difficulty of finding “average case” instances of hard mathematical problems, learning about public key cryptography and generating a data set that can be used to evaluate the efficacy of factoring algorithms.

This project is for returning students only.

Unimodular triangulations of parallelepipeds

Faculty Mentor: Dr. Gaku Liu

Project Description: Let’s say I have a polygon whose vertices have integer coordinates. Can I cut the polygon up into triangles, each with vertices at integer coordinates, so that every triangle has area 1/2? The answer is yes, and it can be proven by Pick’s theorem. Such a triangulation is called a unimodular triangulation. These objects have surprising connections to objects in algebraic geometry.

An analogous question can be asked in three dimensions (or higher), but the situation becomes much more complicated and is not very well-understood. For example, there are some three-dimensional shapes which do not have a unimodular triangulation. One class of shapes we don’t know much about is parallelepipeds, the three-dimensional version of parallelograms. For example, we don’t know if all parallelepipeds have unimodular triangulations. The goal of this project is to better understand unimodular triangulations of parallelepipeds, and perhaps even solve this problem. As intermediate goals, we will try to understand what happens for small parallelepipeds and find general classes of parallelepipeds for which we can give a complete answer.

This project is for returning students only.

Project Level: Advanced: students who have taken multiple upper-level mathematics courses
Additional Course Requirements: A very small amount of familiarity with groups and abstract algebra will be helpful.
Programming Requirements: