Code

Here is my github profile

Jupyter Notebooks:

Here are some Jupyter notebooks that contain Sage code I wrote for research. Most of them require the optional package surface_dynamics

  • Systole of a square-tiled surface: This is a notebook that contains an implementation of an algorithm to compute the length of the shortest simple closed curve developed by Columbus, Herrlich, Muetzal and Weitze-Schmithusen in this paper. It also contains code to act on a square-tiled matrix by a matrix in SL(2,Z) which could be of independent interest.

  • Visibility properties of square-tiled surfaces: This is a notebook that contains functions to determine whether a given STS is a visibility torus or a holonomy torus (as defined in this paper.) It also contains an experiment which supports a theorem of my thesis that a random STS is asymptotically almost surely a visibility torus, and that the asymptotic density of holonomy tori is $1/e$.

Browser Based:

Genus of a random surface: In my thesis, I also prove that a random $2k$-gon-tiled surface (for eg. square-tiled surfaces when $k=2$) has expected genus $\frac{(k-1)n}{2} – \frac{\ln(n)}{2} – \frac{\gamma}{2} + o(1)$ when $k$ is even and $\frac{(k-1)n}{2} – \ln(2) – \gamma + o(1)$ when $k$ is odd. Moreover, the genus is normally distributed. This is a browser based simple experiment that lets you estimate the distribution of the genus of a random surface.