Research and Projects

I have done research in geometry, number theory, random matrix theory, and computer architecture.

Dynamic Graph Partitioning in Hardware

In the summer of 2018, I worked with Professor Valeria Bertacco and her student, Andrew McCrabb, as part of the University of Michigan SURE program. The project, named DREDGE (Dynamic Repartitioning during Dynamic Graph Execution), produced hardware that partitions dynamic graphs during computation on a system with a large number of cores. I primarily worked on designing and testing metrics for the quality of dynamic graph partitions, manipulating and characterizing various graph datasets for benchmarking, and designing, testing, and optimizing a Verilog model of the architecture. Through my analysis, I was able to describe and synthesize datasets that brought out the strengths and weaknesses of DREDGE's approach to partitioning and reveal how the dynamics of DREDGE give rise to these strengths and weaknesses. A paper on DREDGE has been submitted to the Design Automation Conference 2019 and will be available for review at some point in the future.


In the summer of 2017, I participated in the SMALL REU at Williams College under the advisement of Professoer Steven J. Miller. I worked on a number of projects there with other undergraduates.

  1. Random Matrix Theory: We characterized the eigenvalue distributions of generalized checkerboard random matrix ensembles. Checkerboard random matrix ensembles have a "generalized checkerboard" pattern of constant and random (iidrv) entries. A previous small project considered checkerboard matrix ensembles that were Hermitian or real symmetric. Our project studied non-Hermitian checkerboard ensembles, which allowed for complex eigenvalue distributions, such as the one pictured at the top of the page. We found that these matrix ensembles often had a circular bulk and a number of smaller blips. My programming skills came in handy in this project in formulating and testing our various conjectures about these bulks and blips. A paper with our results was published in Random Matrices: Theory and Applications and can be found here.
  2. The Bias Conjecture: We proved some more cases of a long standing conjecture about biases in the Fourier coefficients of families of L-functions. As part of this work, I did a number of simulations and calculations involving sums of Legendre symbols and other things. A pre-print of the resulting paper is available on arxiv.
  3. Zeckendorf Sequences: We worked on generalizations of Zeckendorf's Theorem that any positive integer can be decomposed uniquely as a some of non-adjacent Fibonacci numbers and that this, in some sense, uniquely characterizes the Fibonacci numbers. I analyzed families of generalized Zeckendorf sequences and was able to prove that for a random positive integer from 1 to N, the random variable representing the number of summands needed to decompose the number using a fixed generalized Zeckendorf sequence converges to a Gaussian in distribution as N goes to infinity. A pre-print of hte resulting paper is available on arxiv.


In the winter of 2017, I worked in the Laboratory of Geometry at Michigan under Professor Anton Lukyanenko, Professor Caleb Ashley, and Feng Zhu. I generated visualizations for various abstract geometric structures, namely, convex projective surfaces. The LOG(M) website describes the project, "Visualizing Convex Projective Surfaces," in more detail. The poster describes the project in even more detail.