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
In: Experimental mathematics, Vol. not yet known, pp. not yet known

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 also implemented in any genus for specific examples of Jenkins–Strebel representatives, a family of translation surfaces 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).

  • Jenkins–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.

  • Jenkins–Strebel representatives for genus 2 and changing side lengths.
    • In js2.m we fix genus 2, and allow two side lengths to vary with parameters \(\lambda\) and \(\mu\) where we require \(\lambda\) and \(\mu\) are rational numbers with odd numerators and odd denominators. The output is the associated \(2\times 2\) Riemann matrix.

    • The two functions called are matrix2.m and varindex2.m with the same analgous functions as above.

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 9.13.0.2049777, 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, samantha.fairchild@mis.mpg.de
Last updated 28/03/23.