
Past Projects
Fall 2025
Unbalanced games generalizing rock-paper-scissors by Dustin Cartwright
The purpose of this project is to look at games which are generalizations of rock-paper-scissors, with more “gestures,” or choices. It is well-known that the optimal strategy is to choose randomly between the three choices, because each choice loses to one other choice. The intuition about the optimal strategy can be formalized through game theory. It is possible to generalize the game to any odd number of choices, and have each choice beat and lose to the same number of other choices. Perhaps surprisingly, it is possible to have games in which not all choices beat the same number of other choices, but which still non-degenerate in the sense that the optimal strategy uses all possible choices. We will look for patterns in how these games are structured and see if we can classify them in any way. In addition to a foundation of graph theory and game theory, we will use tools from linear algebra and computation, or whatever else we need.
Difficulty: Easy to Intermediate
Team Meetings: Once per week
Prerequisites: Linear algebra (Math 251). Experience with programming will be helpful, but not necessary.
Small Organism Collective Behavior in Fluid Environments by Christopher Strickland
The movement and behavior of small organism collectives can often play a key role in ecosystem function. Examples include marine larval plankton that are critical for the health of coral reefs, aerial plankton that are used as agricultural biocontrol agents, and locust swarms which can devastate crops. However, holistic modeling of scenarios like these can be a difficult multiscale problem involving individual locomotion dynamics within larger-scale flows. To address this problem, Dr. Strickland has developed an open-source, agent-based modeling library in the Python programming language called Planktos. It is targeted at collective behavior in 2D and 3D fluid environments with immersed structures and readily interacts with computational fluid dynamics data generated externally.
In this project, students will gain experience with basic mathematical models for collective behavior and then apply them to novel and biologically interesting scenarios involving fluid flows and immersed boundaries. Students will work with fluid velocity field data and mesh structures, and statistically compare simulation results across different environmental variables in order to shed light on the role of organism morphology or the mechanisms that potentially drive the group behavior seen in nature.
Difficulty: Intermediate to Advanced
Team Meetings: Once per week
Prerequisites: Python programming language, in particular experience with the NumPy and Matplotlib libraries and knowledge of class structures for object-oriented programming in Python is required, as is some experience with debugging. Experience with the Pandas library is a plus. This is not a pencil and paper math project!! Courses in statistics, Calc III, ODE, and matrix algebra are required. Any CS experience is also a plus.
Curvature and Curvature flow of curves in hyperbolic 2-space by Theodora Bourni
The curvature of a curve in the plane is a fundamental geometric element of a curve that measures how much the curve “turns’’ in space, with sharper turns having high curvature. The curvature can be easily computed through an appropriate parametrization of the curve by taking two derivatives of it. Moreover, curves are completely determined by their curvature function. Moving to a different background space, like the hyperbolic space, distances are distorted depending on where we are on the space. Nonetheless, we can still parametrize a curve and measure its curvature in a similar manner. In the first part of the project we will aim to do the following:
(1) Given a curve in hyperbolic 2-space, create a MATLAB program that draws the curve. First in Poincare model, and if possible in halfspace model.
(2) Create a program to compute the curvature.
For the second part we will look at a dynamic picture of the curves, and in particular curve shortening flow (csf). CSF moves a curve in a way that its length decreases as fast as possible and it can be described by a simple PDE. In this part we will aim to do the following:
(3) Create a program that flows the curve by curve shortening flow.
(4) Draw with Matlab certain special solutions that move by similarities.
Difficulty: Intermediate
Team Meetings: Once per two weeks or once per week.
Prerequisites: Basic Euclidean geometry, differentiable curves, simple PDE.
Growing multi-slits with the complex-driven Loewner equation by Joan Lind
Given one or more functions, the Loewner differential equation provides a way to generate growing families of sets (called Loewner hulls) in the complex plane. In the nicest situation, there is a single real-valued function (called a driving function) which generates a growing curve. There are two different ways to generalize this situation: first, one could consider multiple driving functions, and second, one could consider complex-valued driving functions. We will combine both of these to study multiple complex-valued driving functions. Last year, the KML team characterized the Loewner hulls generated by two constant driving functions, and created a Matlab program to simulate Loewner hulls generated by multiple complex-valued driving functions. In this coming semester, we will implement an alternate simulation approach and create a second program to simulate multiple Loewner hulls. We will use the programs to explore further examples, build intuition, and make conjectures. Lastly, we may explore the dependence of the Loewner hulls on certain parameters.
Difficulty: Intermediate
Team Meetings: Twice per week
Prerequisites: Coding experience is preferred. Having taken Math 443 (Complex Analysis) would be helpful but is not required.
Existence and Isolation Results for Complex Hadamard Matrices by Remus Nicoara
Complex Hadamard matrices are square matrices with entries of absolute value 1 and mutually orthogonal rows. They have important applications in many fields, including cryptography, quantum information theory, functional analysis, and harmonic analysis. A general classification of n x n complex Hadamard matrices is unknown, even for n as small as 6. The purpose of this project is to further the classification by finding new examples, by classifying Hadamard matrices with certain symmetries (such as certain entries being equal), and by proving isolation results. This will be accomplished through a variety of methods: Software will be used to generate approximate examples, which will inspire formulas to be proven for actual new examples. Analysis and number theory methods will be used to generate new examples (for instance based on complex roots of unity), and to study which matrices are isolated among all complex Hadamard matrices.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Mastery of Math 251 (Matrix Algebra) material and Math 300 (Introduction to Abstract Mathematics) material. Strong proof-writing skills. Some coding knowledge, or experience with Mathematica/Matlab. Experience with more advanced coursework in Analysis and Algebra is not required, but it is useful.
GenAI methods for applications in plant morphology by Ioannis Sgouralis
Plant morphology is the study of plant structure and form which is essential in Biology and Agriculture. By analyzing the physical traits of plants, such as shape and size of roots, stems, leaves, and flowers, scientists can classify species, track evolutionary relationships, and identify adaptations to specific environments. Nevertheless, plant geometries are complex and difficult to study without specialized methods. Shape reconstruction is the process of creating a digital representation of an object’s geometry, from discrete data such as images, point clouds, or various sensor measurements and plays a crucial role in modern plant morphology studies that use discrete data to digitally recreate continuous plant structures and quantify their morphology.
Generative AI (GenAI) is an emerging family of artificial intelligence models that apply advanced mathematics and machine learning algorithms to produce abstract representations of geometrical shapes based on patterns learned from data. GenAI can enhance the accuracy of shape reconstruction, especially for applications in plant morphology, by filling gaps caused by missing data or simulating realistic structures for virtual geometries.
In this project we will apply GenAI and develop novel methods to study plant morphology. The project consists of two parts: 1) we will apply image processing methods to acquire our own data by discretizing visual representation of plants and their botanical elements; 2) we will apply new GenAI methods and machine learning to reconstruct their morphology and physical characteristics. This way we will provide new methods of data analysis that allow for the study of plants.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Multivariate Calculus at M241 level or equivalent and programming in MATLAB are necessary; familiarity with numerical methods at the level of M371 or M471 or equivalent is preferable, but not necessary.
A matrix interpolation problem by Stefan Richter
The Newton interpolation theorem states that if x1, …., xn are distinct real numbers, and if y1,…, yn are further real numbers, then there is a unique polynomial p(x) of degree less than or equal to n-1 such that p(xj)=yj for j=1, …, n. An effective way to compute this polynomial is due to Newton, and it uses a divided difference scheme.
Note that if p(x) = Σj=1m aj xj is a polynomial and if A is a k by k matrix, then one can form the k by k matrix p(A)= Σj=1m aj Aj .
In a previous undergraduate project it was determined under what conditions one can solve the following matrix interpolation problem:
Given k by k matrices A1, …, An and B1, …, Bn, then is there a polynomial p(x) such that p(Aj)= Bj for j=1, …, n? Indeed, this can be done, whenever the sets of eigenvalues of the matrices Aj are mutually disjoint, and when each Bj is in the polynomial algebra generated by Aj (in other words, if there is a polynomial pj such that Bj=pj(Aj) ).
Goal 1: Develop an analogue of Newton’s divided difference scheme, and use it to describe an effective algorithm to compute a solution to the matrix interpolation problem.
Goal 2: Investigate the possibility of proving an analogous theorem for pairs of commuting matrices and two-variable polynomials. More precisely: determine a sufficient condition on pairs of commuting k by k matrices (A1, B1), …., (An, Bn) and matrices C1, …, Cn such that there is a polynomial p(x,y) of the two variables x and y such that for each j we have p(Aj,Bj)= Cj.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: familiarity with eigenvalues and with minimal and characteristic polynomials of matrices as taught in a linear algebra class. Familiarity with some computer algebra package to implement the algorithm and run some examples
Spring 2025
Symmetry and Geometric Variational Problems by Letian Chen
Geometric variational problems seek to find special geometric structures that minimize a certain quantity. The most important examples are minimal surfaces, which minimize the surface area functional. In general, such a special structure will satisfy a partial differential equation (PDE). Solutions to PDEs are complicated and often times not explicit. However, under suitable symmetry assumptions, the PDE can be reduced to an ordinary differential equation (ODE) that is much simpler to solve. This project looks at problems arising from minimal surface theory and mean curvature flow, and studies the existence and (non)uniqueness of the symmetric solutions via ODEs.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Ordinary differential equations (MATH 231) and multivariable calculus (MATH 241) are required. Some familiarity with numerical methods in any programming language is recommended. Differential geometry is not needed but helpful if previously seen or taking MATH 462 concurrently.
Microswimmers: the bi-level set representation and numerical integration by Vladimir Yushutin
Actuated swimming and propulsion through the environment of small shell-like structures is a fascinating phenomenon. Computational modeling of a microswimmer involves accurate numerical integration of functions over its surface. Clearly, this task becomes challenging as a microswimmer evolves and deforms, and one of the approaches is based on the level set description of surfaces. In this prominent method, a closed surface, e.g. a sphere, is represented by the so-called level set function which is positive outside, vanishes on, and is negative inside the surface. However, we are often interested in surfaces that have boundaries, e.g. a spherical patch, and a single level set function is not enough to describe them! To this end, we introduce the bi-level set method and employ a second surface with its own level set function, e.g. a flat plane for the spherical patch, which marks out the boundary on the first surface. The objective of the project is to create, implement and analyze a novel algorithm for the numerical integration over an evolving surface with boundary based on the bi-level set representation. The project outcomes are immensely relevant to the broad family of unfitted finite element methods such as CutFEM and will facilitate the mathematical modeling and simulation of microswimmers. Along the way, we will also learn modern programming techniques and will contribute the code to an open-source library deal.II which is used by thousands of researchers around the world.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Calculus III and Computational Methods/Numerical Analysis courses; good programming skills preferably using C++.
Modeling Cell-Cell Adhesion in Two Interacting Populations by Xinyue Zhao
Cell-cell adhesion is one of the most important interaction forces in tissues and organs. Cells communicate with their nearby cells by protrusions known as filopodia. The long fibers of filopodia extend a distance, known as the sensing radius, beyond the cell mass. The communication of neighboring cells by filopodia induces cell-cell adhesion and cell-cell repulsion. Cell-cell adhesion is a key element of organism development, cell aggregation, wound healing, and cancer invasion. A good understanding of this basic cell mechanism is crucial.
In this project, we will consider a non-local PDE (Partial Differential Equation) model of two populations which interact through adhesion. For each population, we assume there exist two types of cell-cell adhesive forces: self-population adhesion (adhesive force between cells of the same type) and cross-population adhesion (adhesive force between cells of different types). We plan to employ linear stability analysis and bifurcation analysis and conduct numerical simulations to explore the dynamics of these interactions. By varying the adhesion coefficients, we expect to observe a range of behaviors, such as cell mixing, cell engulfment, and cell sorting.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: MATLAB coding experience is essential. Courses related to Models in Biology, such as Math 405 and Math 411.
Mathematically Modeling Investment Methods by Stathis Chrontsios
Mathematical finance emerged as a discipline in the 1970s, and since then there has been a variety of investment strategies that experts claim to exceed the returns of savings accounts in the long-term. The most notable ones involve the ownership of US stocks, and in particular companies listed in the S&P 500 Index, especially after the introduction of exchange-traded funds in the 1990s. This project aims to build a mathematical model that can be used to theoretically and experimentally compare the returns of different investment methods, if they were to be implemented in different time intervals. Statistical and data analytic tools are to be employed for experiments on data collected on various stock market indexes.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Coding experience is essential. Specific knowledge of Python and/or Mathematica (Wolfram) would be helpful. Previous exposure to data analysis techniques would be helpful, but not expected.
Growing multi-slits with the complex-driven Loewner equation by Joan Lind
Given one or more functions, the Loewner differential equation provides a way to generate growing families of sets in the complex plane. In the nicest (and most well-studied) situation, there is a single real-valued function (called a driving function) which generates a growing curve. There are two different ways to generalize this situation: first, one could consider multiple driving functions, and secondly, one could consider complex-valued driving functions. We wish to combine both of these to study multiple complex-valued driving functions. There are two goals of the project: (1) To create a method to generate simulations in Matlab, building off a program written by a former undergraduate research student. (2) To analyze some key examples.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Coding experience is preferred. Having taken Math 443 (Complex Analysis) would be helpful, but is not required.
Existence and Isolation Results for Complex Hadamard Matrices by Remus Nicoara
Complex Hadamard matrices are square matrices with entries of absolute value 1 and mutually orthogonal rows. They have important applications in many fields, including cryptography, quantum information theory, functional analysis, and harmonic analysis. A general classification of n x n complex Hadamard matrices is unknown, even for n as small as 6. The purpose of this project is to further the classification by finding new examples, by classifying Hadamard matrices with certain symmetries (such as certain entries being equal), and by proving isolation results. This will be accomplished through a variety of methods: Software will be used to generate approximate examples, which will inspire formulas to be proven for actual new examples. Analysis and number theory methods will be used to generate new examples (for instance based on complex roots of unity), and to study which matrices are isolated among all complex Hadamard matrices.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Mastery of Math 251 (Matrix Algebra) material and Math 300 (Introduction to Abstract Mathematics) material. Strong proof-writing skills. Some coding knowledge, or experience with Mathematica/Matlab. Experience with more advanced coursework in Analysis and Algebra is not required, but it is useful.
AI for accelerating advances in super-resolution microscopy by Ioannis Sgouralis
Super-resolution microscopy stands at the forefront of biochemical and biological discovery, allowing scientists to visualize molecular processes with unprecedented clarity. However, this intricate technique faces challenges such as complex sample preparation, substantial computational requirements, and potential for phototoxicity during prolonged imaging sessions. Addressing these challenges requires extensive planning prior to an experiment and fine-tuning of the involved devices, such as microscopes, lasers, and cameras, that are time and resource consuming. Remarkably, AI is poised to revolutionize super-resolution microscopy by allowing automation of the fine-tuning process leading to fast, cheap, and reliable setup of a scheduled experiment. In this project, we will use a highly sophisticated mathematical model of fluorescence microscopy to obtain synthetic data on different microscopy configurations and apply state-of-the-art machine learning algorithms to come up with data-driven approaches to experimental design and optimization. This way, we will develop new methods to speed up the preparation of experiments and increase the quality of the data acquired in them.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Coding experience and/or numerical analysis, and related courses
Noise representations in microbial time series data by Ioannis Sgouralis
Microbial growth curves are essential for understanding the dynamics of microbial populations, which is critical in fields like biotechnology, medicine, ecology and environmental science. Growth curves depict the stages of microbial development over time, providing insights into replication rates, carrying capacity, and the effects of various conditions on enhancing or suppressing growth. Mathematical modeling translates these biological processes into quantitative descriptions, allowing for precise predictions, control, and principled data analysis. This fusion of biology and mathematics enables researchers to simulate complex scenarios, optimize cultivation methods, devise treatment strategies for infections, and understand ecological impacts, making mathematical models a vital tool in microbiology research and its applications. In this project, we will develop a mathematical model of microbial growth under limited resources to investigate how small microbial populations and random events interfere giving rise to apparent noise patterns. This way, we will develop new methods to represent biological information and facilitate the assimilation of experimentally obtained data through parameter estimation techniques.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Coding experience and mathematical biology or differential equations
A traveling salesman algorithm for analysts by Vyron Vellis
The Traveling Salesman Problem (TSP) asks to find the shortest path through a given number of points. The TSP is one of the most famous problems in computer science due to its vast applications in itinerary design, its influence on operations research, and polyhedral theory, and its immense computational complexity. There are many algorithms for TSP that give a “nearly optimal” path in polynomial time. One of them developed in the 90s is called the Analyst’s Traveling Salesman (ATS) algorithm and it has been pivotal in modern analysis. The objective of this project is to write a computer program that visualizes the ATS algorithm. The program should receive a number of points (in Cartesian coordinates) and will return the order in which the points will be visited.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Very good knowledge of a computer language such as Python, for example.
Fall 2024
Experiments on the random walk hypothesis by Stathis Chrontsios
The “random walk hypothesis” is a financial theory that has motivated several lines of research within different areas of finance and mathematics. It states that stock market price movements follow similar principles to those of a random walk. Consequently, according to this theory, there are no strategies to consistently make a profit out of trading or investing in the stock market. On the other hand, there are researchers and investors who believe stock price movements can be predicted to some extent based on the past trends of the graph and/or certain characteristics of the company that the stock represents. This project aims to experimentally compare certain stock graphs to those of random walks by employing probabilistic and data analytic tools.
Difficulty: Intermediate
Team Meetings: Twice a week
Prerequisites: Coding experience is essential. Specific knowledge of Python and/or Mathematica (Wolfram) would be helpful. Previous exposure to data analysis techniques would be helpful, but not expected.
Growing multi-slits with the complex-driven Loewner equation by Joan Lind
Given one or more functions, the Loewner differential equation provides a way to generate growing families of sets in the complex plane. In the nicest (and most well-studied) situation, there is a single real-valued function (called a driving function) which generates a growing curve. There are two different ways to generalize this situation: first, one could consider multiple driving functions, and secondly, one could consider complex-valued driving functions. We wish to combine both of these to study multiple complex-valued driving functions. There are two goals of the project: (1) To create a method to generate simulations in Matlab, building off a program written by a former undergraduate research student. (2) To analyze some key examples.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Coding experience is preferred. Having taken Math 443 (Complex Analysis) would be helpful, but is not required.
Existence and Isolation Results for Complex Hadamard Matrices by Remus Nicoara
Complex Hadamard matrices are square matrices with entries of absolute value 1 and mutually orthogonal rows. They have important applications in many fields, including cryptography, quantum information theory, functional analysis, and harmonic analysis. A general classification of n x n complex Hadamard matrices is unknown, even for n as small as 6. The purpose of this project is to further the classification by finding new examples, by classifying Hadamard matrices with certain symmetries (such as certain entries being equal), and by proving isolation results. This will be accomplished through a variety of methods: Software will be used to generate approximate examples, which will inspire formulas to be proven for actual new examples. Analysis and number theory methods will be used to generate new examples (for instance based on complex roots of unity), and to study which matrices are isolated among all complex Hadamard matrices.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Mastery of Math 251 (Matrix Algebra) material and Math 300 (Introduction to Abstract Mathematics) material. Strong proof-writing skills. Some coding knowledge, or experience with Mathematica/Matlab. Experience with more advanced coursework in Analysis and Algebra is not required, but it is useful.
AI for accelerating advances in super-resolution microscopy by Ioannis Sgouralis
Super-resolution microscopy stands at the forefront of biochemical and biological discovery, allowing scientists to visualize molecular processes with unprecedented clarity. However, this intricate technique faces challenges such as complex sample preparation, substantial computational requirements, and potential for phototoxicity during prolonged imaging sessions. Addressing these challenges requires extensive planning prior to an experiment and fine-tuning of the involved devices, such as microscopes, lasers, and cameras, that are time and resource consuming. Remarkably, AI is poised to revolutionize super-resolution microscopy by allowing automation of the fine-tuning process leading to fast, cheap, and reliable setup of a scheduled experiment. In this project, we will use a highly sophisticated mathematical model of fluorescence microscopy to obtain synthetic data on different microscopy configurations and apply state-of-the-art machine learning algorithms to come up with data-driven approaches to experimental design and optimization. This way, we will develop new methods to speed up the preparation of experiments and increase the quality of the data acquired in them.
Difficulty: Advanced
Team Meetings: Once per week
Prerequisites: Coding experience and/or numerical analysis, and related courses
Noise representations in microbial time series data by Ioannis Sgouralis
Microbial growth curves are essential for understanding the dynamics of microbial populations, which is critical in fields like biotechnology, medicine, ecology and environmental science. Growth curves depict the stages of microbial development over time, providing insights into replication rates, carrying capacity, and the effects of various conditions on enhancing or suppressing growth. Mathematical modeling translates these biological processes into quantitative descriptions, allowing for precise predictions, control, and principled data analysis. This fusion of biology and mathematics enables researchers to simulate complex scenarios, optimize cultivation methods, devise treatment strategies for infections, and understand ecological impacts, making mathematical models a vital tool in microbiology research and its applications. In this project, we will develop a mathematical model of microbial growth under limited resources to investigate how small microbial populations and random events interfere giving rise to apparent noise patterns. This way, we will develop new methods to represent biological information and facilitate the assimilation of experimentally obtained data through parameter estimation techniques.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Coding experience and mathematical biology or differential equations
A traveling salesman algorithm for analysts by Vyron Vellis
The Traveling Salesman Problem (TSP) asks to find the shortest path through a given number of points. The TSP is one of the most famous problems in computer science due to its vast applications in itinerary design, its influence on operations research, and polyhedral theory, and its immense computational complexity. There are many algorithms for TSP that give a “nearly optimal” path in polynomial time. One of them developed in the 90s is called the Analyst’s Traveling Salesman (ATS) algorithm and it has been pivotal in modern analysis. The objective of this project is to write a computer program that visualizes the ATS algorithm. The program should receive a number of points (in Cartesian coordinates) and will return the order in which the points will be visited.
Difficulty: Intermediate
Team Meetings: Once per week
Prerequisites: Very good knowledge of a computer language such as Python, for example.