Winter 2022 Projects

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:

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

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.

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:

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.

The scope of this project can be adjusted to the size and experience level of the students.

Project Level: Advanced: students who have taken multiple upper-level mathematics courses
Additional Course Requirements: Math 301 (Number Theory) or Math 402 (Intro to Modern Algebra – Rings)
Programming Requirements: Python/Sage

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.

Resectioning and computational algebraic geometry

Faculty Mentor: Dr. Tim Duff

Project Description: In resectioning problems, we would like to compute the unknown positions of some geometric entities (eg. points, lines, …) from given information about their position relative to others (eg. angles.) A classical resectioning problem involves three known positions and one unknown positions in the plane, with a simple geometric solution that dates back (at least!) to Snellius in the 17th Century. An analogous resectioning problem, known also as Perpspective 3-Point or 3-point absolute pose, was studied as early as the 19th century by Grunert. This problem requires solving a polynomial of degree four. It is also of interest in 3D reconstruction and localization applications, where the solution can be used to recover the internal parameters of a calibrated perspective camera from three 3D-2D point correspondences. Absolute pose from combinations of point/line features has also been solved in many works.

The main goal for this project is to systematically comb the landscape of resectioning problems involving certain types of spatial configurations (eg. points and lines.) We would like to enumerate these problems and study them using computer algebra systems. How many measurements are needed minimally to recover a given type of arrangement? What is the algebraic complexity of solving these minimal problems? Can we compute their discriminant loci, consisting of ill-posed problem instances? We will get familiar with tools from computational algebraic geometry, experiment with computer algebra tools, and read papers from the computer vision literature to answer these questions.

Project Level: Intermediate: students who have taken Math 300
Additional Course Requirements: Linear algebra and abstract algebra, at an undergraduate level, are both recommended.
Programming Requirements: Basic programming experience is helpful, but not strictly necessary. A willingness to learn new software and experiment is most important.

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

Counting spanning trees on weighted lattices

Faculty Mentor: Dr. Harry Richman

Project Description: The problem of counting spanning trees on a graph is of interest in combinatorics, probability, and statistical physics. On a regular 2-dimensional lattice, the number of spanning trees is known to grow exponentially. The exponential rate is known for the square and triangular lattices, but not for other lattices. The goal of this project is to calculate the asymptotic growth of the number of spanning trees on the Kagome lattice. Students will learn about graph Laplacians, Kirchhoff’s matrix-tree theorem, asymptotic analysis, and random walks on graphs. Computational tools may also be used.

Project Level: Intermediate: students who have taken Math 300
Additional Course Requirements: 208 (linear algebra)
Programming Requirements: programming experience preferred but not required