Crossing the transcendental divide: from translation surfaces to algebraic curves

This page contains auxiliary files to the paper:
Türkü Özlüm Çelik, Samantha Fairchild, Yelena Mandelshtam
Crossing the transcendental divide: from translation surfaces to algebraic curves

Abstract of paper. We study constructing an algebraic curve from a Riemann surface given via a translation surface, which is a collection of finitely many polygons in the plane with sides identified by translation. We use the theory of discrete Riemann surfaces to give an algorithm for approximating the Jacobian variety of a translation surface whose polygon can be decomposed into squares. We first implement the algorithm in the case of \(L\) shaped polygons where the algebraic curve is already known. The algorithm is then implemented for a family of translation surfaces called Jenkins–Strebel representatives that, until now, lived squarely on the analytic side of the transcendental divide between Riemann surfaces and algebraic curves. Using Riemann theta functions, we give numerical experiments and resulting conjectures up to genus \(5\).

Approximating Riemann matrices We provide an algorithm which inputs a translation surface as a polygon and a level of approximation \(n\) and outputs the discrete Riemann matrix. We implement the algorithm in two cases. Note the second implementation for Jenkins–Strebel representatives is an improvement over what was used for the \(L\) shape.

  • The \(L\) shape:
    • In main.m the user inputs a side length \(\lambda\), and a level \(n\). The output is the associated \(2\times 2\) Riemann matrix.

    • The called functions include matrixdata.m to build the matrix, as well as 3 smaller functions for subdividing (subdivide.m), holomorphicitiy conditions (colindshol.m), and periodicity conditions (colindsper.m).

  • Jenkens–Strebel reperesentatives:
    • In js.m the user inputs a translation surface by inputting the genus \(g\) and the level \(n\). The output is the associated \(g\times g\) Riemann matrix.

    • The two functions called are matrix.m to construct the sparse matrix from the linear relations given in the algorithm, and varindex.m which organizes the different variables used.

    • In the paper, Tables 5, 6, and 7 have rounded output, but for convenience we include the complete output for level \(n=7\) in genus 3, 4, 5.

Using Theta functions to interpret the Riemann matrix approximations

Project page created: 28/10/2022
Project contributors: Türkü Özlüm Çelik, Samantha Fairchild, Yelena Mandelshtam
Software used: Magma V2.26-8, Matlab (R2022b, 64-bit glnxa64), SageMath 9.2
System used: Linux x3850-1 5.10.0-12-amd64 #1 SMP Debian 5.10.103-1 (2022-03-07) x86_64 GNU/Linux
Corresponding author of this page: Samantha Fairchild,
Last updated 28/10/22.