Programming & Mathematical Projects
My programming work combines number-theoretic algorithms, computational algebra, and formal proof. The projects below complement my research background and my interest in quantitative research, trading, and mathematically oriented software engineering.
- Number-Theoretic Algorithms & Educational Cryptography (C++, Rust) — Implementations of extended Euclidean algorithms and modular exponentiation, data-structure exercises, and toy cryptographic components. The repository includes test code and benchmark harnesses. [GitHub]
- Exploratory Computation (Python) — A number-theory experiment using SymPy and Matplotlib to explore normalized primitive-root values. [Code]
- Finite Fields & Curve Point Counting (Lean) — Formalization projects covering Euler’s criterion over finite fields, quadratic characters, and character-sum formulas for counting solutions to equations of the form \(y^2=f(x)\). [Point counting] [Euler’s criterion]
Research Software, Notes & Exposition
- The Rising Sea Solutions — A self-contained write-up of exercises and results from Vakil’s The Rising Sea. [PDF] [GitHub]
- The Arithmetic of Elliptic Curves Solutions — A collection of expanded proofs, remarks, and exercise solutions from Silverman’s The Arithmetic of Elliptic Curves. [PDF] [GitHub]
- Formalizing \(n = a^2 + b^2 \) in Lean — A formalization that \(n = a^2 + b^2\) has a solution if and only if the p-adic valuation \(\nu_p(n)\) is even for each \(p \equiv 3 \mod 4\) using the Gaussian integers. [GitHub]
-
Describing a Hyperbolic Surface: From Lengths and Twists to Matrices — UW–Madison MxM Undergraduate Research Seminar, Fall 2022.
We constructed explicit generators in \( \mathrm{PSL}(2, \mathbb{R}) \) for Fuchsian groups representing hyperbolic surfaces (e.g. pairs of pants), using twist and length parameters. [program link] - A Proof of Quadratic Reciprocity by Galois Theory — A complete Galois-theoretic proof of quadratic reciprocity, expanding on a sketch by Prof. Ana Caraiani. [PDF] [GitHub]
- Segre & Veronese Algorithms in Macaulay2 — Macaulay2 code for computing presentations of Veronese subrings and Segre products of graded rings. [GitHub (Segre)] [GitHub (Veronese)]
- Original Number Theory Problems — A collection of 9 self-authored problems with complete solutions exploring Diophantine equations and modular arithmetic. [PDF] [GitHub]