# 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 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**