WASHINGTON eXPERIMENTAL MATHEMATICS LAB

Spring 21 WXML Projects


Growth of the Ulam Sequence

Faculty Mentor: Dr. Stefan Steinerberger

Project Description: The Ulam sequence (introduced by Ulam in 1964) is a simple integer sequence and starts with 1,2,3,4,6,8,11,13,16,…– the rule is simple: you start with 1,2 and then always add the smallest integer that can be uniquely written as the sum of two distinct earlier terms. It was discovered 5 years ago that this sequence has some very strange patterns that nobody really understands — moreover, the underlying phenomenon seems to also work its magic for related sequences in different algebraic structures.

Very little is known about its growth: in fact the n-th element in the sequence is known to be less than ~1.47^n but empirically the n-th element seems to be roughly ~14n. This is quite a striking difference (exponential vs. linear) — I think it could be interesting to try and improve this upper bound. There are also many other fun questions that one could try to explore.


Project Level: Intermediate: students who have taken Math 300
Additional Course Requirements:
Programming Requirements:


Constructing Quantum Theories

Faculty Mentor: Dr. Benjamin Feintzeig

Project Description: This project investigates the properties of so-called deformation quantizations that model the relationship between classical and quantum physics. We will analyze various differential equations representing distributions of matter in space. Deformation quantization considers algebras of complex-valued functions on the space of solutions to such differential equations, and defines a non-commutative product capturing the fundamental features of quantum physics. Since the deformed non-commutative product approximates a classical commutative algebra in a precise sense, one can use this structure to investigate the “classical limit” of aspects of quantum physics. We will be especially concerned with analyzing the classical limit of quantities associated with energy and particle content in physics.


Project Level: This is an advanced project.
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:


Twin smooth integers

Faculty Mentor: Dr. Michael Naehrig

Project Description: Twin smooth integers are pairs of consecutive integers (m, m+1) such that both m and m+1 only have prime factors that are smaller than a given smoothness bound B.

In this project, we are going to explore the sets of twin smooth integers given by fixed smoothness bounds, investigate how many twin smooth pairs might exist and how they are distributed, look at and experiment with algorithms to find them and make this task even harder by introducing the additional condition that the sum m + (m+1) needs to be a prime.

Primes that come from such twin smooth integers are needed for some new cryptographic protocols like key exchange and digital signature schemes that are conjectured to be secure against classical and quantum computers. Finding nice examples of very large twin smooth integers with very small B can help to make them more efficient.


Project Level: Open: students who have taken Math 126
Additional Course Requirements:
Programming Requirements: Some basic knowledge of Python and SageMath


Geometry of zeros of complex polynomials

Faculty Mentor: Dr. Harry Richman

Project Description: The goal of this project is to explore patterns between the location of zeros of a polynomial in the complex plane and the zeros of its derivative. More specifically, we will look for ways to generalize a basic observation known as Rolle’s theorem: for a real-valued polynomial p(x), between any two (consecutive) zeros of p(x) there must be a zero of p'(x). The case of complex polynomials is much less well-understood. For complex polynomials, the relation between zeros of p(x) and zeros of p'(x) is equivalent to the following electrostatic problem: given the position of n electrons fixed in the plane, where could I place an additional electron such that it would not be pushed around by the fixed electrons?

We will explore this problem using computational visualization tools, using Mathematica or python. (See here for example.) Using these observations on specific families of polynomials, we will then formulate conjectures about what happens for general complex polynomials and try to prove them.


Project Level: Open: students who have taken Math 126
Additional Course Requirements: in addition to calculus, familiarity with differential equations or electromagnetism is preferred some experience with programming; willingness to learn Mathematica and/or python

Programming Requirements:


Analyzing Weak Public Keys

Faculty Mentor: Dr. Dan 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 Inelastic Billiards (random initial velocities)

Faculty Mentor: Dr. Jayadev Athreya

Project Description: We’ll illustrate the dynamics of sticky particles on the real line, using a mixture of probability theory, dynamical systems, programming, and illustration. Our work is motivated by the beautiful work of Ryan Hynd.


Project Level: This project is open to all students who have taken Math 126.
Additional Course Requirements: Ideally students will have taken Math 324 and some intro physics.
Programming Requirements: Preferably know some basic Python or Javascript.


Random Inelastic Billiards (random initial positions)

Faculty Mentor: Dr. Jayadev Athreya

Project Description: We’ll illustrate the dynamics of sticky particles on the real line, using a mixture of probability theory, dynamical systems, programming, and illustration. Our work is motivated by the beautiful work of Ryan Hynd.


Project Level: This project is open to all students who have taken Math 126.
Additional Course Requirements: Ideally students will have taken Math 324 and some intro physics.
Programming Requirements: Preferably know some basic Python or Javascript.