Welcome!
I am an instructor of applied and computational mathematics at Dartmouth College. My research focuses on applying symbolic and numeric computation to problems in combinatorics, number theory, and elsewhere. I’m always interested in finding new mathematical applications of computers.
My expository work has appeared in the American Mathematical Monthly (here and here), an article of mine on primality testing was written about in Pour la Science, and two of my articles were cited in Nature and the Proceedings of the National Academy of Sciences.
The rest of this site contains some information about me, my work, and a blog where I post ideas. Some of the ideas are even good!
My CV is here.
I was born in the year $\lfloor \pi^6 / \log \varphi \rfloor$, which makes me perfectly 1 + 2 + 4 + 7 + 14 years old.
Upcoming events
Update: MathFest was a lot of fun! Hopefully we’ll run similar sessions next year.
There are four combinatorics-adjacent sessions at the MAA’s 2026 MathFest in Boston:
- Combinatorics and Probability, celebrating Peter Winkler’s 80th birthday (organized by me, Sergi Elizalde, and Chris Coscia)
- Computers and Combinatorics (organized by me and Jack Wesley)
- Fibonacci Fun
- Fifty Years of the Four Color Theorem
Recent / current projects
Speeding up CRT
Most of the time you analyze an algorithm, you assume that arithmetic operations happen in constant time. This is true if the numbers you work with are bounded, but this is not true in many mathematical problems. You can avoid this by doing the computations modulo relatively prime numbers and reconstructing the result with the Chinese remainder theorem.
In some problems, the reduction / reconstruction steps of Chinese remaindering make up a significant part of the computational cost. You can reduce this cost by choosing “custom” moduli. I recently studied moduli of the form $2^n - 2^k + 1$.
For Chinese remaindering, the point is to get a set of pairwise relatively prime numbers. In other words, we want a clique in the coprimality graph on the numbers $2^n - 2^k + 1$, which has an edge between two numbers if they are coprime.
For technical reasons related to modular inverses, it turns out to be more interesting to replace $2$ with $x$ and study the trinomials $x^n - x^k + 1$. The relevant condition to ensure coprimality is that the resultant of two polynomials $x^n - x^k + 1$ is a power of 2. That leads to a “dyadically resolving” graph.
I’m interested in determining the clique numbers of these graphs and the graphs generated by other families. There are a lot of other open questions here! (paper) (conference talk) (extended abstract)
Balanced Matrices
How many 0-1 matrices are there of size $2n \times 2k$ with as many 0’s as 1’s in each row and column? This turns out to be hard to answer for anything other than $k = 1$, but for fixed $k$ the number always satisfies a “nice” recurrence. I showed that $a(n) = B(n, 3)$, the number of $2n \times 6$ such matrices, satisfies a very complicated recurrence:

It seems very difficult to compute the recurrence for $B(n, 4)$ and higher, but I would like to try. (paper)
Comma sequences
The comma sequence is a funny integer sequence where the difference of consecutive terms equals the concatenation of the digits on either side of the comma separating them. This sequence has 2,137,453 terms, then terminates at 99999946. I proved that all comma sequences (with any initial conditions) terminate in bases 3 through 633. The big conjecture is that all comma sequences terminate. (paper)
