Projects

In Silico Evolution Dynamics of Quorum Sensing

During summer 24, I worked with Sam Brown and Rachel Kuske on modeling the evolution of Quorum Sensing. Quorum sensing is the concept that bacteria in high densities exhibit behavior that is not seen in lower densities. We sought to explore the evolutionary mechanics behind this mechanism. This project was coded in Python and made extensive use of Numpy, Scipy, Joblib, Matplotlib, and more. This culminated in a poster which can be seen here.

Directed Reading on Rolfsen's Knots and Links

For the Spring 2024 semester, I worked with Daniel Minahan on reading through Rolfen's Knots and Links. This required a lot of algebraic topology to understand and fully grasp a lot of the concepts. I gave a final presentation on spun knots, specifically spun torus knots, and how that will yield an infinite family of 2-knots in 4-space adapting some exercises presented in Rolfsen's book.

Unit Distance Graphs in the Real Plane

During my study abroad at the Budapest Semesters in Mathematics I worked with Jack Cheng under Pál Zsámboki on a continuation of a project on Unit Distance Graphs (UDGs). The general idea is to find what is the maximum number of edges possible in an embedded graph of n vertices where each edge can only be 1 unit long. They previously generated around 60 million unit distance graphs in the plane up to 100 vertices. I then narrowed this down to about 30 million isomorphism classes of the abstract graphs and built a graph where each node is an isomorphism class and each edge is directed based on inclusion (subgraph or not). Currently, I am working on finding optimal paths to improve the lower bound, i.e. paths that hit optimal UDGs that could have exploitable patterns. This project involved a lot of Python programming with integrations with huggingface and some parallelization libraries for faster computing time. The slides to a presentation we gave over my portion are here if you want to get a better look into our project.

Visualizing the Spun Trefoil

During a Knot theory special topics class I created a program to help visualize projections and motion pictures of the spun trefoil in Python. You can view the program here, and the base files are hosted on github. I have a write-up here if you want to learn more about it.

Directed Reading Program at Georgia Tech - Fall 2022

With Tau Yu, we read through Livingston's Knot Theory. We went over multiple invariants including the Alexander Polynomial, Jones Polynomial, Genus, Fundamental Group, and Signature. We also talked about combinatorial techniques, 2-knots in 4-space, and slice knots. This culminated in a presentation at the end of the semester which I gave on the topic of the Alexander Polynomial.

AP Research Paper

For the AP Research program, I was required to write a research paper on a topic of my choosing. The topic I ended up choosing was the Bouba/Kiki effect. This effect describes the mapping of shape characteristics to sounds in human speech; for example, when given the choice of "Bouba" or "Kiki" to represent a pointed shape, most English-speaking people chose "Kiki". I also chose to see how Kolmogorov complexity would play into this by having participants draw shapes based on the sounds they would hear. Kolmogorov complexity is basically how many lines of code are needed to make a digital object in a given programming language. It is also very closely related to the entropy of the digital object, and this is what I tested in each drawing. I wrote Python code based on a paper to take in multiple CSV files of points in 2D and return a CSV file with the calculated values. I go more in-depth with this in the paper which can be accessed here. Ultimately, my findings were inconclusive but there is a clear indication of what to test in the future based on my research.

Directed Reading Program at Georgia Tech - Spring 2022

Under the supervision of Sierra Knavel, and with Mark Rodrigues, we read Chaos and Fractals: An Elementary Introduction by David Feldman. During this time Mark and I compiled a Latex document with useful information as well as some side projects we took along the way. That document can be accessed here. I would like to highlight one piece from that document to elaborate on.

I created this image using the python code located here. Basically, this code plots the value at each iteration for a range of numbers the user can provide. I used a spectrum to color the lines to give a better idea of where each one starts from when looking at the repeated section. This code was created after a discussion our group had about the function x^2-1 and its iterations. We were trying to figure out what the stability was and discovered that it would hop around 0 and -1 if we used a certain starting seed. I then wrote this program to help us visualize what the oscillations look like and how the steady state of this system is hopping from 0 to -1 if the starting value is in a certain range. We later used this to visualize more functions later in the course.

Gwinnett Department of Water Resources (GDWR) Consultancy

Three other students and I were working with the GDWR to help them with an algal bloom in Ozora Lake. We started off this project with research into the area and algal blooms which led us to send me in a kayak in the rain to collect water samples from the lake. These test results came back and we summited our recommendation to be implemented in the GDWR. A more in-depth look can be found on the website we made, which can be accessed here. For this, I developed, directed, and edited this video which also gives a summary of the project.