Overview
My research background combines rigorous mathematical training with machine learning, emphasizing clear problem formulation, analytical reasoning, abstraction, and proof-based reasoning. My doctoral work in pure mathematics developed the ability to reason under constraints, analyze complex systems, and ensure correctness—skills that transfer directly to data science and machine learning.
Geometric function theory, complex dynamics, and complex analysis
Graph theory and combinatorial game theory
Functional-analytic foundations for machine learning models
At Argonne National Laboratory, I collaborated with computational mathematicians on continual machine learning, combining theoretical analysis with large-scale empirical experiments.
In our work, completed at Argonne National Laboratory, Krishnan Raghavan and I introduce a method for learning architecture and weights of a model simultaneously in continual learning. We support this method with both theoretical and empirical results.
🧠The Theory: Weight-tuning alone is insufficient under distribution shifts. Consequently, we prove that by learning architecture alongside the weights, we can reduce forgetting. By formulating this as a bilevel optimization problem, we allow the model to first select an optimal architecture for a new task (upper level) and then determine the optimal weights (lower level).
💡 The Breakthrough (AWB): The biggest hurdle to changing architecture is the dimensionality gap. When architecture changes, weight dimensions no longer match. We developed the AWB low-rank transfer mechanism (Figure 2) that maps knowledge across mismatched matrices, ensuring the model's "memory" survives the transition.
📊 The Results: We benchmarked our method across Regression (Figure 1-feedforward neural network on evolving sine data), classification (Figure 3-CNNs on MNIST data), and graph classification (Figure 4-GCNs on PyTorch FakeDataset) against three increasingly difficult conditions:
· Baselines & Heuristics: Traditional static architectures.
· Architecture Search: Learning the optimal architecture but re- initializing weights (proving that architecture alone isn't enough).
· Our Method (AWB Full): Jointly learning architecture and weights via AWB low-rank transfer.
🔎 From the attached figures, we see that AWB consistently outperformed the other conditions, by up to two orders of magnitude. Additionally, we reduced forgetting, and enhanced robustness in the presence of noise comparatively. Thus, a better architecture is only useful if you can transfer the learning.
This research was completed during my time as a PhD research aide at Argonne's Mathematics and Computing Sciences Division.
Check out the arXiv preprint and codebase on GitHub!
Figure 1: Two task learning on evolving sine data set (Regression-FFN)
Figure 2: The AWB mechanism to transfer learning
Figure 3: Five task learning on MNIST data set (Classification-CNN)
Figure 4: Ten task learning on PyTorch FakeDataset (Graph Classification-GCN)
My doctoral research focuses on geometric function theory, studying quasiconformal and quasiregular mappings in particular domains and metric spaces. This work analyzes when local constraints lead to predictable global behavior, sharpening skills in abstraction, analysis, and dynamics.Â
My dissertation has been released on Proquest, but is available for free download from the Huskie Commons. Chapters from the dissertation have been published in the Journal for Mathematical Analysis and Applications.
Python | NumPy | Plotly | Jupyter Notebook | Kaleido | LaTeX
Overview: Engineered a high-performance Python implementation for generating and visualizing Antoine's Necklace, a topologically complex 3D fractal where recursively-interlocking tori form a Cantor set structure. The project combines advanced computational geometry with professional visualization techniques to make abstract mathematical concepts visually accessible.
Key Highlights:
Mathematical Foundation: Implemented recursive geometry algorithms to construct multi-level fractal structures where tori at each level mathematically interlock. Derived and applied formulas to calculate outer radii and inner radii ensuring geometric precision and even spacing around concentric circles. This demonstrates a deep understanding of topological mathematics translated into code.
Computational Optimization: Engineered performance-conscious rendering pipeline handling 500,000+ vertices at Level 2 with configurable mesh resolution. Implemented intelligent trade-offs between visual quality and compute time, enabling M4 Mac users to render Level 2 in 1-3 minutes and Level 3 in under 10 minutes.
Advanced Visualization: Leveraged Plotly for interactive 3D rendering and Kaleido for professional-grade static image export. Built customizable aesthetic controls including dual-tone alternating colors, specular highlights, Fresnel reflections, and surface roughness tuning.
Software Engineering: Architected a robust class-based design (AntoineNecklaceClass.py) separating mathematical logic from visualization concerns. Documented extensively via Jupyter Notebooks with walkthroughs and test cases, making complex topology accessible to non-experts while maintaining mathematical rigor.
Impact: Successfully bridged pure mathematics with applied computer science, creating a reproducible framework for exploring abstract topological structures—exemplifying how mathematical intuition drives effective algorithm design.
Using Fatou.jl Package to Model Complex Dynamics (GitHub Link)
Julia | Complex Analysis | Computational Mathematics
Used the Fatou.jl package to simulate and visualize complex dynamics
Demonstrates translating abstract mathematical definitions into computational experiments
Highlights experience with scientific computing in Julia and validating theoretical behavior through simulation
Understanding Benefits of JAX and Equinox for Neural Networks (GitHub Link)
Python | JAX | Equinox | Automatic Differentiation
Developed a tutorial with examples illustrating neural network construction using JAX and Equinox
Explored functional programming paradigms, automatic differentiation, and just-in-time compilation
Compared design patterns and performance considerations relative to more traditional ML frameworks
Distance Matrices & Multidimensional Scaling Using scipy and scikit-learn (GitHub Link)
Python | SciPy | scikit-learn | Data Visualization
Implemented distance matrix construction and multidimensional scaling (MDS) for high-dimensional datasets
Used SciPy and scikit-learn to analyze similarity structure and visualize data geometry
Emphasized interpretation of embeddings and limitations of distance-based methods
The Revised Simplex Method & the Sherman-Morrison-Woodbury Formula (PDF)
Studied computational efficiency improvements in linear programming via the revised simplex method.
Applied the Sherman–Morrison–Woodbury formula to update matrix inverses efficiently during pivot operations.
Provided examples highlighting performance gains in large-scale linear optimization problems.
The Farey Graph and Continual Fractions (PDF)
Explored the structure of the Farey graph and its connections to number theory.
Investigated relationships between Farey sequences and continued fraction expansions of rational numbers.
Visualized continual fractions as paths on the Farey Graph and their connection to Mobius maps