1 Introduction

The study of translation surfaces may be approached from numerous different angles—complex analysis, differential geometry, algebraic topology and number theory, for instance, each offer unique insights into these objects. These different perspectives lead to a wealth of questions regarding translation surfaces and their dynamics. One such avenue of inquiry is the well-known action of \(\textrm{SL}_2{\mathbb {R}}\) on the stratum \({\mathcal {H}}_1(d_1,\dots ,d_\kappa )\) of unit-area translation surfaces with singularities of orders \(d_1,\dots ,d_\kappa \). Stabilizers (i.e. Veech groups) and orbits of translation surfaces under this action have proven to be of great interest. Analogues of Ratner’s theorems concerning unipotent flows on homogeneous spaces [21] are proven in the celebrated work of Eskin, Mirzakhani and Mohammadi; in particular, \(\textrm{SL}_2{\mathbb {R}}\)-orbit closures are affine invariant submanifolds of \({\mathcal {H}}_1(d_1,\dots ,d_\kappa )\) [8]. Despite having been well-studied since as early as the 1980s, some immediate questions regarding Veech groups have been non-trivial to address. General methods of computing Veech groups were unknown until recently ([3, 4, 6, 7, 20, 29], and the special cases of [9, 23]), and while some universal properties of Veech groups are known—for instance, they are necessarily discrete and non-cocompact [27]—a complete classification of which subgroups of \(\textrm{SL}_2{\mathbb {R}}\) are realized as Veech groups remains an open problem [13].

The first non-arithmetic examples were discovered by Veech, who proved that the odd index Hecke triangle groups and an index two subgroup of the even index Hecke triangle groups are realized as Veech groups [27]. More general triangle groups are studied in [2, 11], where the authors show that there are Veech groups commensurable to all triangle groups \(\Delta (m,n,\infty ),\ 2\le m<n<\infty \). On the other hand, triangle groups whose orientation preserving subgroups are never contained in a Veech group are also given in [11]. Infinitely generated Veech groups are shown to exist in [14] and [18], as are non-trivial Veech groups with no parabolic elements in [12]. While this brief survey is far from an exhaustive overview of the literature, it does serve to highlight that the question of realizability of Veech groups has spanned decades and remains a large and interesting problem in the field.

Of particular interest within the space of all translation surfaces are so-called lattice surfaces, or Veech surfaces, which are those whose Veech groups are lattices (have finite covolume) in \(\textrm{SL}_2{\mathbb {R}}\). These surfaces admit especially nice dynamics [27], but the list of known families of lattice surfaces is relatively short [5]. Lattice surfaces are also interesting as they are precisely those surfaces whose \(\textrm{SL}_2{\mathbb {R}}\)-orbits are closed with respect to the analytic topology on the stratum [24, 28], and the projection of a closed orbit to the moduli space of Riemann surfaces is an algebraic curve—called a Teichmüller curve—isometrically immersed with respect to the Teichmüller metric (see, say, [31]).

We present an explicit algorithm which constructs all translation surfaces with a given lattice Veech group in any given stratum:

Algorithm 1.1

Input: Non-negative integers \(d_1\le \dots \le d_\kappa \) whose sum is even and a finite set of generators of a lattice \(\Gamma \le \textrm{SL}_2{\mathbb {R}}\).

Output: All translation surfaces \((X,\omega )\in {\mathcal {H}}_1(d_1,\dots ,d_\kappa )\) with Veech group \(\textrm{SL}(X,\omega )=\Gamma \).

An implicit algorithm is given in [25] which enumerates all affine equivalence classes of lattice surfaces in terms of a parameter measuring the infimum of areas of triangles within the surface. Algorithm 1.1 similarly returns lattice surfaces, but it fundamentally differs both in its goal of finding surfaces with specific, prescribed Veech groups and in its method of doing so.

In developing Algorithm 1.1, we obtain a new proof of a finiteness result of Smillie and Weiss (Corollary 1.7, [26]; see also [19]):

Theorem 1.2

(Smillie–Weiss). There are at most finitely many unit-area lattice surfaces with a given Veech group in any given stratum.

Our methods essentially reverse the algorithm for computing Veech groups presented in [6] and [7]. There the authors associate to each stratum a canonical (infinite area, disconnected in general) flat surface \({\mathcal {O}}\), within which any closed, connected translation surface \((X,\omega )\) of the stratum may be naturally represented. Data regarding the translation surface and its saddle connections are recorded via pairs of points in \({\mathcal {O}}\) termed orientation-paired marked segments, and the authors show that \((X,\omega )\) may be recovered from a certain finite subset of these marked segments—the marked Voronoi staples (§3.4 of [7]). Furthermore, a classification of the Veech group of \((X,\omega )\) in terms of its orientation-paired marked segments and affine automorphisms of \({\mathcal {O}}\) is given in Proposition 17 of [7].

Rather than beginning with a lattice surface \((X,\omega )\) and using its corresponding orientation-paired marked segments to compute elements of the Veech group \(\Gamma =\textrm{SL}(X,\omega )\), Algorithm 1.1 begins with a lattice \(\Gamma \le \textrm{SL}_2{\mathbb {R}}\), simulates normalized subsets of orientation-paired marked segments in \({\mathcal {O}}\) using \(\Gamma \), and constructs candidate translation surfaces with Veech group \(\Gamma \) from finite unions of appropriately scaled versions of these ‘simulations.’ Theorem 1.2 follows from the facts that

  1. (i)

    a lattice \(\Gamma \) determines only finitely many such simulations (Lemma 4.8),

  2. (ii)

    the orientation-paired marked segments of any unit-area translation surface with Veech group \(\Gamma \) are realized as a finite union of scaled simulations (Theorem 4.9), and

  3. (iii)

    for any finite collection of simulations there are only finitely many scalars for which the union of scaled simulations could possibly coincide with the orientation-paired marked segments of a unit-area translation surface.

For this latter point, we introduce the technical but important notions of permissible triples and permissible scalars of particular subsets of \({\mathcal {O}}\), prove finiteness results regarding them (Proposition 3.5 and Lemma 3.7), and apply these results to orientation-paired marked segments and marked Voronoi staples (Proposition 4.11). Our novel proof differs from that of Smillie and Weiss, who use finiteness results of Markov partitions corresponding to hyperbolic affine automorphisms of surfaces [26].

This work should be viewed in light of the aforementioned open question regarding the realization of subgroups of \(\textrm{SL}_2{\mathbb {R}}\) as Veech groups: a full implementationFootnote 1 of Algorithm 1.1 could lead to the discovery of new lattice surfaces and experimental conjectures as to which groups are realized as Veech groups. Moreover, further work to determine a halting criterion for Algorithm 1.1 would give a general, explicit procedure to determine whether or not a given lattice is a Veech group in any particular stratum (see comments at the end of Sect. 5). At present, these ideas may be used in special cases to obtain obstructions for lattices being realized as Veech groups. In particular, we prove:

Theorem 1.3

The square torus is the only translation surface in \(\cup _{g>0}{\mathcal {H}}(2g-2)\) with Veech group \(\textrm{SL}(X,\omega )=\textrm{SL}_2{\mathbb {Z}}\).

The paper is organized as follows. Section 2 gives a brief background on translation surfaces (Sect. 2.1) and their Veech groups (Sect. 2.2). Section 3 concerns the canonical surface \({\mathcal {O}}\) studied in [6] and [7]: definitions and immediate results regarding \({\mathcal {O}}\) are given in Sect. 3.1, permissible triples and scalars are introduced and studied in Sect. 3.2, and in Sect. 3.3 we recall definitions and results regarding marked segments and Voronoi staples of a translation surface. Section 4 further develops the machinery for Algorithm 1.1 and uses these ideas to give a new proof of Theorem 1.2: a characterization of lattice groups in terms of directions announced by linear transformations is given in Sect. 4.1; Sects. 4.2 and 4.3 explore a group action on marked segments and how a lattice group may be used to simulate orbits of this action; Sect.  4.4 relates marked Voronoi staples to permissible triples; and a new proof of Theorem 1.2 is given in Sect. 4.5. Algorithm 1.1 is presented in Sect. 5 and Theorem 1.3 is proven in Sect. 6.

2 Background

2.1 Translation surfaces

We begin with basic definitions and notation; see, say, surveys of [31] and [32] for more details.

2.1.1 Translation surfaces: various perspectives

A translation surface \((X,\omega )\) is a Riemann surface X together with a non-zero, holomorphic one-form \(\omega \). Equivalently, a translation surface is defined as a real surface X such that off of a finite set \(\Sigma \), the surface \(X\backslash \Sigma \) is equipped with a translation atlas, and the resulting flat structure extends to all of X to give conical singularities at points of \(\Sigma \) whose angles are positive integral multiples of \(2\pi \). Any translation surface may be polygonally represented as a collection of polygons in the plane together with an identification of edges in pairs, such that identified edges are parallel, equal length and of opposite orientation. A translation surface is closed if it is compact and has no boundary.

In these three perspectives—which we move fluidly between—the zeros of \(\omega \), elements of \(\Sigma \) of cone angles \(2\pi (d+1),\ d>0,\) and, after identifying edges, the vertices of angles \(2\pi (d+1),\ d>0,\) of a polygonally represented translation surface each correspond to the same set of non-removable singularities of the surface. Throughout, the singular set \(\Sigma \) denotes these singularities together with possibly finitely many removable singularities (or marked points), i.e. points of cone angle \(2\pi \). We refer to any element of \(\Sigma \) as a singularity (of cone angle \(2\pi (d+1),\ d\ge 0\)), bearing in mind that it may in fact be removable. Points in the complement \(X\backslash \Sigma \) are called regular.

2.1.2 Metric, Lebesgue measure, saddle connections and holonomy vectors

A translation surface \((X,\omega )\) comes equipped with a metric defined as follows: given \(p,q\in X\), the distance from p to q is given by

$$\begin{aligned}d(p,q):=\inf _{\gamma }\left| \int _\gamma \omega \right| ,\end{aligned}$$

where the infimum is over all piecewise-smooth curves \(\gamma \subset X\) from p to q. The infimum is realized by a straight line segment (with respect to the flat structure) on \((X,\omega )\) or by a union of such segments meeting at singularities. Lebesgue measure in the plane pulls back via coordinate maps of the translation atlas of \((X,\omega )\) to give a measure on \(X\backslash \Sigma \); we extend this measure to all of X by declaring \(\Sigma \) to be a null set.

A separatrix is a straight line segment on \((X,\omega )\) emanating from a singularity and having no singularities in its interior. A saddle connection is a separatrix (of positive length) which also ends at a singularity. The holonomy vector of a saddle connection s is defined as \(\text {hol}(s):=\int _s\omega \). The collection of all holonomy vectors of \((X,\omega )\) forms a subset of the plane with no limit points and whose directions are dense in \(S^1\) (Proposition 3.1, [30]).

2.1.3 Voronoi decomposition

Every translation surface \((X,\omega )\) has a (unique) Voronoi decomposition subordinate to its singular set \(\Sigma \), which is described as follows (see also [3, 17]). For any \(x\in X\), let \(d(x,\Sigma )\) denote the minimum of the set \(\{d(x,\sigma )\}_{\sigma \in \Sigma }\). To each \(\sigma \in \Sigma \) there is associated an open, connected 2-cell, \({\mathcal {C}}_\sigma \), comprised of the points \(x\in X\) for which \(d(x,\Sigma )\) is realized by a unique length-minimizing path ending at \(\sigma \). The boundary of \({\mathcal {C}}_\sigma \) is the union of 1-cells of points x for which \(d(x,\Sigma )\) is realized by precisely two length-minimizing paths, at least one of which ends at \(\sigma \), and of 0-cells of points x for which \(d(x,\Sigma )\) is realized by three or more length-minimizing paths, at least one of which ends at \(\sigma \).

2.2 Veech groups

2.2.1 Affine diffeomorphisms and Veech groups

An affine diffeomorphism \(f:(X_1,\omega _1)\rightarrow (X_2,\omega _2)\) between (not necessarily closed nor connected) translation surfaces is a diffeomorphism from \(X_1\) to \(X_2\) sending the singular set \(\Sigma _1\) of \(X_1\) into that of \(X_2\), and which—on the complement of \(\Sigma _1\)—is locally an affine map of the plane of constant linear partFootnote 2 (i.e. a map of the form \(v\mapsto Av+b\) for some global \(A\in \textrm{GL}_2{\mathbb {R}}\) and local \(b\in {\mathbb {R}}^2\)). An affine automorphism is an affine diffeomorphism from a translation surface \((X,\omega )\) to itself. The set of all affine automorphisms of \((X,\omega )\), denoted \(\text {Aff}(X,\omega )\), forms a group under composition, as does the subset \(\text {Aff}^+(X,\omega )\subset \text {Aff}(X,\omega )\) of orientation-preserving elements. The map \(\text {der}:\text {Aff}(X,\omega )\rightarrow \textrm{GL}_2{\mathbb {R}}\) sending an orientation-preserving affine automorphism to its linear part in local coordinates gives a group homomorphism. The image of \(\text {Aff}^+(X,\omega )\) under this map, denoted \(\textrm{SL}(X,\omega )\), is called the Veech group of \((X,\omega )\), and its kernel is the group of translations denoted by \(\text {Trans}(X,\omega )\). Veech shows in [27] that for closed, connected \((X,\omega )\), the Veech group \(\textrm{SL}(X,\omega )\) is a discrete subgroup of \(\textrm{SL}_2{\mathbb {R}}\)—and thus its image in \(\text {PSL}_2{\mathbb {R}}\) is a Fuchsian group—and, moreover, \(\textrm{SL}(X,\omega )\) is always non-cocompact.

2.2.2 Strata, a \(\textrm{GL}_2{\mathbb {R}}\)-action and lattices

We call \((X_1,\omega _1)\) and \((X_2,\omega _2)\) translation equivalent if there is an affine diffeomorphism between them with trivial linear part. For non-negative integers \(d_1\le \dots \le d_\kappa \), let \({\mathcal {H}}(d_1,\dots ,d_\kappa )\) denote the stratum of all closed, connected translation surfaces—up to translation equivalence—with singularities of cone angles \(2\pi (d_1+1)\le \dots \le 2\pi (d_\kappa +1)\) and no other singularities. (Recall that we allow for ‘removable singularities,’ so some \(d_i\) may be zero, and with our definitions, \(\textrm{SL}(X,\omega )\) depends on these marked points in \(\Sigma \). In particular, Algorithm 1.1 applies not only to standard strata where each \(d_i>0\), but it also allows for the construction of lattice surfaces \((X,\omega )\) with a specified number of marked points which remain invariant under \(\text {Aff}^+(X,\omega )\).) Abusing notation, we denote an element of a stratum by any of its translation-equivalent representatives. By the Riemann-Roch Theorem, every translation surface \((X,\omega )\in {\mathcal {H}}(d_1,\dots ,d_\kappa )\) has the same genus \(g>0\), and the sum of the \(d_i\) equals \(2g-2\).

There is a natural action of \(\textrm{GL}_2{\mathbb {R}}\) on each stratum, given by post-composing the coordinate charts of \((X,\omega )\in {\mathcal {H}}(d_1,\dots ,d_\kappa )\) with the usual action of a matrix in the plane via a linear transformation (one can verify that this action is well-defined with respect to translation-equivalence). Any translation surface may be normalized by the action of a diagonal matrix so as to have unit-area; we denote the collection of unit-area translation surfaces in \({\mathcal {H}}(d_1,\dots ,d_\kappa )\) by \({\mathcal {H}}_1(d_1,\dots ,d_\kappa )\). There is a corresponding action of \(\textrm{SL}_2{\mathbb {R}}\) on \({\mathcal {H}}_1(d_1,\dots ,d_\kappa )\), and the stabilizer of \((X,\omega )\) under this \(\textrm{SL}_2{\mathbb {R}}\)-action is isomorphic to the Veech group \(\textrm{SL}(X,\omega )\) as defined in Sect. 2.2.1. We call \((X,\omega )\) a lattice surface if \(\textrm{SL}(X,\omega )\) is a lattice group, i.e. \(\textrm{SL}(X,\omega )\) has finite covolume in \(\textrm{SL}_2{\mathbb {R}}\).

Remark

Recall from Sect. 2.2.1 that a Veech group is always non-cocompact, and thus a lattice Veech group is non-uniform (i.e. it is a non-cocompact discrete group of finite covolume). Other necessary properties of lattice Veech groups are known; for example, the trace field of \(\textrm{SL}(X,\omega )\) is a totally real number field of degree at most g, where g is the genus of \((X,\omega )\) [10, 12, 16]). Throughout, when speaking of a lattice \(\Gamma \le \textrm{SL}_2{\mathbb {R}}\) the reader may wish to impose such known restrictions, though they are not strictly necessary for our statements. By a lattice we simply mean a discrete subgroup of \(\textrm{SL}_2{\mathbb {R}}\) of finite covolume.

3 A canonical surface for each stratum

3.1 Canonical surface

Here we recall the canonical (infinite area and disconnected in general) flat surface associated to each stratum \({\mathcal {H}}(d_1,\dots ,d_\kappa )\) studied in [6] and [7] and explore some immediate results. For each \(1\le i\le \kappa \), let \({\mathcal {O}}_i:=({\mathbb {C}},z^{d_i}dz)\), and set

$$\begin{aligned}{\mathcal {O}}={\mathcal {O}}(d_1,\dots ,d_\kappa ):=\bigsqcup _{i=1}^\kappa {\mathcal {O}}_i.\end{aligned}$$

Each component \({\mathcal {O}}_i\subset {\mathcal {O}}\) is an infinite translation surface with a sole singularity of cone angle \(2\pi (d_i+1)\) at the origin, which we denote by \(0\in {\mathcal {O}}_i\) (the context will be clear as to which component an origin 0 belongs). Intuitively, we may think of \({\mathcal {O}}_i\) as \(d_i+1\) copies of the plane, denoted \(c_0^i,\dots ,c_{d_i}^i\), each of which is slit along the non-negative real axis and glued so that the bottom edge, \(b_j^i\), of the slit of \(c_j^i\) is identified with the top edge, \(t_{j+1}^i\), of the slit of \(c_{j+1}^i\) for each \(j\in {\mathbb {Z}}_{d_i+1}\); see Fig. 1. After making these identifications, we (arbitrarily) consider \(t_{j+1}^i\sim b_j^i\) as part of \(c_{j+1}^i\) and not of \(c_{j}^i\). In particular, \(c_j^i\cap c_k^i=\{0\}\) for distinct \(j,k\in {\mathbb {Z}}_{d_i+1}\).

Fig. 1
figure 1

The surface \({\mathcal {O}}_i\), where the bottom of the slit, \(b_{j}^i\), is identified with the top of the slit, \(t_{j+1}^i\), for each \(j\in {\mathbb {Z}}_{d_i+1}\)

Define \({\varvec{\pi }}_i:{\mathcal {O}}_i\rightarrow {\mathbb {C}}\) by \({\varvec{\pi }}_i(p):=\int _\gamma z^{d_i}dz\), where \(\gamma \) is any piecewise-smooth curve from 0 to p (note that the integral is independent of path due to Cauchy’s integral theorem), and extend to a map \({\varvec{\pi }}:{\mathcal {O}}\rightarrow {\mathbb {C}}\) by setting \({\varvec{\pi }}|_{{\mathcal {O}}_i}:={\varvec{\pi }}_i\) for each \(i\in \{1,\dots ,\kappa \}\). Observe that \({\varvec{\pi }}_i(\cdot )\) is a degree \(d_i+1\) branched covering with a single branch point \(0\in {\mathbb {C}}\), and the extended map \({\varvec{\pi }}(\cdot )\) is a degree \(\sum _{i=1}^\kappa (d_i+1)=2g-2+\kappa \) branched covering with sole branch point \(0 \in {\mathbb {C}}\). Throughout, we denote by \(z_x\) and \(z_y\) the real and imaginary parts, respectively of \(z\in {\mathbb {C}}\); hence \({\varvec{\pi }}(p)={\varvec{\pi }}(p)_x+i{\varvec{\pi }}(p)_y\). Note that on sufficiently small neighborhoods in \({\mathcal {O}}\) (and away from singularities), the map \({\varvec{\pi }}(\cdot )\) restricts to give a coordinate chart for the translation atlas associated to \({\mathcal {O}}\). Moreover, each \({\mathcal {O}}_i\) is naturally equipped with generalized polar coordinates: every point \(p\in c_j^i\subset {\mathcal {O}}_i\) is determined by a magnitude \(|p|:=d(0,p)=|{\varvec{\pi }}(p)|\) and, for \(p\ne 0\), a principal argument value \(\text {arg}(p):=\text {arg}({\varvec{\pi }}(p))+2\pi j\in [2\pi j, 2\pi (j+1))\), where |z| and \(\text {arg}(z)\in [0,2\pi )\) are the Euclidean norm and principal value of the argument function, respectively, of \(z\in {\mathbb {C}}\).

For each \(i\in \{1,\dots ,\kappa \}\), define an affine automorphism \(\rho _i:{\mathcal {O}}_i\rightarrow {\mathcal {O}}_i\) which acts as a counterclockwise rotation of angle \(2\pi \) about the origin; note that \(\rho _i\) belongs to \(\text {Trans}({\mathcal {O}}_i)\) since, in local coordinates given by \({\varvec{\pi }}(\cdot )\), \(\rho _i\) has trivial linear part. We extend \(\rho _i\) to \({\mathcal {O}}\) by acting as the identity on all other components and observe that \(\rho _i\in \text {Trans}({\mathcal {O}})\). For each integer \(d\ge 0\), let \(n(d)=\#\{1\le i\le \kappa \ |\ d_i=d\}\). Having fixed d, let \(i_1,\dots ,i_{n(d)}\) be the distinct indices of the \(d_1,\dots ,d_\kappa \) which equal d, and let \(S_{n(d)}\) denote the symmetric group on the set \(\{i_1,\dots ,i_{n(d)}\}\). Extend \(S_{n(d)}\) to act as the identity on all other indices, and for each \(\alpha \in S_{n(d)}\), let \(f_\alpha :{\mathcal {O}}\rightarrow {\mathcal {O}}\) permute the indices of \({\mathcal {O}}_1,\dots ,{\mathcal {O}}_\kappa \) by \(\alpha \), respecting polar coordinates. We again have that \(f_\alpha \in \text {Trans}({\mathcal {O}})\) for each \(\alpha \in S_{n(d)}\) with \(n(d)\ge 1\).

Lemma 3.1

The group \(\text {Trans}({\mathcal {O}})\) is in bijective correspondence with

$$\begin{aligned}\left( \prod _{\begin{array}{c} d\ge 0,\\ n(d)\ge 1 \end{array}}S_{n(d)}\right) \times \left( \prod _{i=1}^\kappa C_{d_i+1}\right) ,\end{aligned}$$

where \(C_{d_i+1}\) is the cyclic group of order \(d_i+1\).

Sketch

Lemma 2 of [7] shows that \(\text {Trans}({\mathcal {O}})\) is generated by an action of

$$\begin{aligned}\prod _{\begin{array}{c} d\ge 0,\\ n(d)\ge 1 \end{array}}S_{n(d)}\end{aligned}$$

together with an action of \(\prod _{i=1}^\kappa C_{d_i+1}\) on \({\mathcal {O}}\), as naturally defined from the definitions of \(f_\alpha \) and \(\rho _i\) above. That is, any element \(\tau \in \text {Trans}({\mathcal {O}})\) may be written as a finite composition of various \(f_\alpha \)’s and \(\rho _i\)’s. We may rearrange the order of this composition (possibly altering the indices of some \(\rho _i\)’s) to collect all \(f_\alpha \)’s with \(\alpha \) belonging to the same \(S_{n(d)}\) and all \(\rho _i\)’s corresponding to the same \({\mathcal {O}}_i\). That \(\tau \) may be uniquely written in such a way is verified by considering the indices of images of \(2\pi \)-sectors \(c_j^i\). \(\square \)

Lemma 3.2

Let \(f\in \text {Aff}({\mathcal {O}})\) with \(\text {der}(f)=A\). Then

$$\begin{aligned}{\varvec{\pi }}\circ f=A\cdot {\varvec{\pi }},\end{aligned}$$

where the notation on the right denotes the usual action of a matrix A on the plane as a linear transformation.

Proof

Since \({\varvec{\pi }}(\cdot )\) restricts on sufficiently small neighborhoods to give a (bijective) coordinate map for the translation atlas of \({\mathcal {O}}\), we have—by definition of f—that for each \(v\in {\mathbb {R}}^2\) in the image of such a neighborhood,

$$\begin{aligned}{\varvec{\pi }}\circ f\circ {\varvec{\pi }}^{-1}(v)=Av+b\end{aligned}$$

for some \(b\in {\mathbb {R}}^2\). This composition agrees on the images of the intersections of such neighborhoods; in particular, b depends only on the component \({\mathcal {O}}_i\) to which the neighborhood belongs. Choose some neighborhood as above which contains \(0\in {\mathcal {O}}_i\) on its boundary. The above composition (and each of the maps comprising it) extends continuously to the closure of its domain. Since f sends singularities to singularities, setting \(v=0\) gives \(b=0\). As \({\mathcal {O}}_i\) was arbitrary, the result follows from the previous observations. \(\square \)

In Lemma 3 of [7], it is shown that \(\text {der}(\text {Aff}({\mathcal {O}}))=\textrm{GL}_2{\mathbb {R}}\). To each \(A\in \textrm{GL}_2^+{\mathbb {R}}\) we associate a canonical \(f_A\in \text {Aff}^+({\mathcal {O}})\) with \(\text {der}(f_A)=A\) as follows. Fix some \(g_A\in \text {Aff}^+({\mathcal {O}})\) with \(\text {der}(g_A)=A\), and choose \(\tau \in \text {Trans}({\mathcal {O}})\) so that the composition \(f_A:=\tau \circ g_A\) satisfies for each \(1\le i\le \kappa \) both (i) \(f_A({\mathcal {O}}_i)={\mathcal {O}}_i\) and (ii) for each point \(p\in {\mathcal {O}}_i\), the angle measured counterclockwise from p to \(f_A(p)\) is non-negative and less than \(2\pi \). Existence of \(\tau \) follows from Lemma 3.1. Notice that \(\text {der}(f_A)=A\) since \(\text {der}(\cdot )\) is a group homomorphism, \(\tau \in \text {Trans}({\mathcal {O}})=\text {ker}(\text {der})\) and \(\text {der}(g_A)=A\). Furthermore, conditions (i) and (ii) guarantee that \(f_A\) is unique, regardless of the initial choice of \(g_A\) (and subsequent choice of \(\tau \)).

We also note that any \(g_A\in \text {Aff}^+({\mathcal {O}})\) with \(\text {der}(g_A)=A\in \textrm{GL}_2^+{\mathbb {R}}\) may be written uniquely as \(g_A=\tau '\circ f_A\) for some \(\tau '\in \text {Trans}(O)\) (namely \(\tau '=\tau ^{-1}\) for \(\tau \) as above), with \(f_A\) the canonical affine automorphism associated to A.

Definition 3.1

With notation as above, let

$$\begin{aligned}\text {Aff}_{\text {C}}^+({\mathcal {O}}):=\{f_A\in \text {Aff}^+({\mathcal {O}})\ |\ A\in \textrm{GL}_2^+{\mathbb {R}}\}\end{aligned}$$

be the collection of canonical affine automorphisms of \({\mathcal {O}}\). For any \(r\in {\mathbb {R}}_+\) and \(p\in {\mathcal {O}}\), let

$$\begin{aligned}rp:=f_{D(r)}(p),\end{aligned}$$

where \(f_{D(r)}\in \text {Aff}_{\text {C}}^+({\mathcal {O}})\) with \(D(r)=({\begin{matrix}r &{} 0\\ 0 &{} r\end{matrix}})\).

In particular, if \(p\in {\mathcal {O}}_i\) with polar coordinates \((|p|,\theta )\), then \(rp\in {\mathcal {O}}_i\) with polar coordinates \((r|p|,\theta )\). Note then that \({\varvec{\pi }}(rp)=r{\varvec{\pi }}(p)\).

While \(\text {Trans}({\mathcal {O}})\) is generally non-abelian, we have the following commutativity result:

Lemma 3.3

The subgroup \(\text {Trans}({\mathcal {O}})\le \text {Aff}({\mathcal {O}})\) belongs to the centralizer of \(\text {Aff}_{\text {C}}^+({\mathcal {O}})\), i.e.

$$\begin{aligned}\tau \circ f_A=f_A\circ \tau \end{aligned}$$

for each \(\tau \in \text {Trans}({\mathcal {O}})\) and \(f_A\in \text {Aff}_{\text {C}}^+({\mathcal {O}})\).

Proof

Let \(\tau \in \text {Trans}({\mathcal {O}}),\ f_A\in \text {Aff}_{\text {C}}^+({\mathcal {O}})\) and \(p\in {\mathcal {O}}\). We must show

$$\begin{aligned}\tau \circ f_A(p)=f_A\circ \tau (p).\end{aligned}$$

Since \(\text {der}(\tau \circ f_A)=\text {der}(f_A\circ \tau )=A\), both sides of the previous line are sent under \({\varvec{\pi }}(\cdot )\) to the same point \(z\in {\mathbb {C}}\) (Lemma 3.2). Suppose \(p\in c_k^i\) and \(\tau ({\mathcal {O}}_i)={\mathcal {O}}_j\) with \(\tau (c_k^i)=c_\ell ^j\). Let \(r_k^i\) denote the set of points in \({\mathcal {O}}_i\) with argument \(2\pi k\) (i.e. \(r_k^i\) is the ray along the positive real axis in \(c_k^i\)). Note that \({\varvec{\pi }}(\cdot )\) sends each of \(\tau \circ f_A(c_k^i)\) and \(f_A\circ \tau (c_k^i)\) bijectively onto \({\mathbb {C}}\), and these sets are completely determined by the images \(\tau \circ f_A(r_k^i)\) and \(f_A\circ \tau (r_k^i)\) in \({\mathcal {O}}_j\): the former are the sets of points within angle \(2\pi \) counterclockwise of the respective images of the ray \(r_k^i\). Since there is only one point in each \(2\pi \)-sector which maps to \(z\in {\mathbb {C}}\) under \({\varvec{\pi }}(\cdot )\), it suffices to show that \(\tau \circ f_A(r_k^i)=f_A\circ \tau (r_k^i)\). By definition of \(f_A\) and \(r_k^i\), the image \(f_A(r_k^i)\) belongs to \(c_k^i\), and thus \(\tau \circ f_A(r_k^i)\) belongs to \(c_\ell ^j\). But also \(\tau (r_k^i)\) belongs to \(c_\ell ^j\) by assumption, and again by definition of \(f_A\), the image \(f_A\circ \tau (r_k^i)\) belongs to \(c_\ell ^j\) as well. Since the images \(\tau \circ f_A(r_k^i)\) and \(f_A\circ \tau (r_k^i)\) are rays emanating from 0 in \(c_\ell ^j\) and pointing in the same direction, we have \(\tau \circ f_A(r_k^i)=f_A\circ \tau (r_k^i)\) and the result follows. \(\square \)

3.2 Permissible triples

Here we introduce terminology and present results regarding particular subsets of the canonical surface \({\mathcal {O}}={\mathcal {O}}(d_1,\dots ,d_\kappa )\). While the material of this subsection becomes technical, the underlying notions are rooted in elementary Euclidean geometry. As we shall see in Sects. 4.4 and 4.5, the results proven here will be crucial for our proof of Theorem 1.2. We begin with definitions and notation.

Definition 3.2

The half-space determined by \(p\in {\mathcal {O}}_i\) is

$$\begin{aligned}H(p):=\{q\in {\mathcal {O}}_i\ |\ d(0,q)\le d(p,q)\}.\end{aligned}$$

Note that H(p) is convex in the sense that the length-minimizing path between any two points in H(p) is also contained in H(p). Unless otherwise noted, a (closed or open) \(\theta \)-sector of \({\mathcal {O}}_i\) is a (closed or open) sector of infinite radius, centered at \(0\in {\mathcal {O}}_i\), and of angle \(\theta \). For the following definition and subsequent discussion, see Fig. 2.

Fig. 2
figure 2

Left: The triangle \(\triangle (p,q)\), circumcenter c(pq), and ball B(pq) determined by p and q in \({\mathcal {O}}_i\). The circumcircle C(pq) is the boundary of B(pq), and the straight dashed lines through c(pq) are the boundaries of the half-spaces H(p) and H(q). Right: The image in \({\mathbb {C}}\) under \({\varvec{\pi }}(\cdot )\)

Definition 3.3

Let \(p,q\in {\mathcal {O}}_i\backslash \{0\}\) be two points with distinct arguments in the same open \(\pi \)-sector of \({\mathcal {O}}_i\). The triangle determined by p and q, denoted \(\triangle (p,q)\), is the union of straight line segments from \(0\in {\mathcal {O}}_i\) to p, from p to q, and from q to 0. Let

$$\begin{aligned}c(p,q):=\partial H(p)\cap \partial H(q)\end{aligned}$$

denote the circumcenter determined by p and q,

$$\begin{aligned}C(p,q):=\{z\in {\mathcal {O}}_i\ |\ d(z,c(p,q))=|c(p,q)|\}\end{aligned}$$

denote the circumcircle determined by p and q, and

$$\begin{aligned}B(p,q):=\{z\in {\mathcal {O}}_i\ |\ d(z,c(p,q))<|c(p,q)|\}\end{aligned}$$

denote the ball determined by p and q.

Locally, and away from a non-removable singularity, the geometry on \({\mathcal {O}}_i\) is Euclidean, so the circumcenter, circumcircle and ball of Definition 3.3 may be viewed as isometric copies of their Euclidean namesakes in the plane. To be more precise, Lemma 4 of [7] implies that for any two points \(p_1,p_2\in {\mathcal {O}}_i\) belonging to the same closed \(\pi \)-sector, the distance \(d(p_1,p_2)\) between \(p_1\) and \(p_2\) in \({\mathcal {O}}_i\) equals the distance between their respective images \({\varvec{\pi }}(p_1)\) and \({\varvec{\pi }}(p_2)\) in the plane. Hence on any such sector, \({\varvec{\pi }}(\cdot )\) is an isometry. Using Euclidean geometry, we find that \({\varvec{\pi }}(c(p,q))\) is the center of the Euclidean circle \({\varvec{\pi }}(C(p,q))\) of radius |c(pq)|, and \({\varvec{\pi }}(B(p,q))\) is the open ball whose boundary is \({\varvec{\pi }}(C(p,q))\). Moreover, \({\varvec{\pi }}(C(p,q))\) is the circumcircle of the Euclidean triangle \({\varvec{\pi }}(\triangle (p,q))\) with vertices \(0,{\varvec{\pi }}(p),{\varvec{\pi }}(q)\), and \(0,{\varvec{\pi }}(p),{\varvec{\pi }}(q)\in {\varvec{\pi }}(C(p,q))\) implies \(0,p,q\in C(p,q)=\partial B(p,q)\).

Remark

We use the same notation and terminology from Definition 3.3 for the analogous objects determined by two points in the Euclidean plane \({\mathbb {C}}\).

Definition 3.4

Define the set of oppositely projected pairs of points in \({\mathcal {O}}\) by

$$\begin{aligned} {\mathbb {P}}({\mathcal {O}}):=\{\{p,p^-\}\subset {\mathcal {O}}\ |\ {\varvec{\pi }}(p^-)=-{\varvec{\pi }}(p)\ne 0\}, \end{aligned}$$

and for any subset \(P\subset {\mathbb {P}}({\mathcal {O}})\) of oppositely projected pairs, define the forgotten version of P by

$$\begin{aligned} P_F:=\bigcup _{\{p,p^-\}\in P}\{p,p^-\}; \end{aligned}$$

that is, the pairing inherent to P is ‘forgotten’ in the set \(P_F\subset {\mathcal {O}}\). For \(r\in {\mathbb {R}}_+\) and \(P\subset {\mathbb {P}}({\mathcal {O}})\), let \(rP:=\{\{rp,rp^-\}\ |\ \{p,p^-\}\in P\}\) and \(rP_F:=(rP)_F\). Call a subset \(P\subset {\mathbb {P}}({\mathcal {O}})\) limit-point free if its forgotten version \(P_F\) has no limit points in \({\mathcal {O}}\).

Recall that \({\varvec{\pi }}(\cdot )\) is a degree \(2g-2+\kappa \) branched covering with a single branch point \(0\in {\mathbb {C}}\). Thus for any \(p\in {\mathcal {O}}\) with \({\varvec{\pi }}(p)\ne 0\), there are precisely \(2g-2+\kappa \) points \(p^-\in {\mathcal {O}}\) in the fiber above \(-{\varvec{\pi }}(p)\). That is,

$$\begin{aligned}\big |\{p^-\ |\ \{p,p^-\}\in {\mathbb {P}}({\mathcal {O}})\}\big |=2g-2+\kappa .\end{aligned}$$

The subsets \(P\subset {\mathbb {P}}({\mathcal {O}})\) of interest to us do not have this multiplicity of elements:

Definition 3.5

Call a nonempty subset \(P\subset {\mathbb {P}}({\mathcal {O}})\) of oppositely projected pairs distinctive if for any \(p\in P_F\),

$$\begin{aligned}\big |\{p^-\ |\ \{p,p^-\}\in P\}\big |=1,\end{aligned}$$

or, equivalently, for any \(p\in P_F\), there is a unique point \(p^-\in P_F\) satisfying \({\varvec{\pi }}(p^-)=-{\varvec{\pi }}(p)\).

Now let \((p,q)\in {\mathcal {O}}^2\) be an ordered pair of two regular points with different arguments which belong to the same open \(\pi \)-sector of the same component of \({\mathcal {O}}\) (see the left-hand side of Fig. 3), and consider the difference \({\varvec{\pi }}(q)-{\varvec{\pi }}(p)\) of their images under \({\varvec{\pi }}(\cdot )\) in \({\mathbb {C}}\). As above, there are exactly \(2g-2+\kappa \) points \(u\in {\mathcal {O}}\) satisfying \({\varvec{\pi }}(u)={\varvec{\pi }}(q)-{\varvec{\pi }}(p)\). Each of the \(2g-2+\kappa \) oppositely projected pairs \(\{p,p^-\}\in {\mathbb {P}}({\mathcal {O}})\) naturally announces a unique such point u, namely the u lying nearest to \(p^-\). A distinctive set P determines a unique point \(p^-\) and hence a unique point u. We fix special notation for this point u in the following:

Definition 3.6

Let \(P,Q\subset {\mathbb {P}}({\mathcal {O}})\) be distinctive subsets of oppositely projected pairs and \((\{p,p^-\},\{q,q^-\})\in P\times Q\). If p and q belong to the same open \(\pi \)-sector of the same component of \({\mathcal {O}}\) and satisfy \(\text {arg}(p)\ne \text {arg}(q)\), then we denote by [pq] the unique element of \({\mathcal {O}}\) for which

  1. (i)

    \({\varvec{\pi }}([p,q])={\varvec{\pi }}(q)-{\varvec{\pi }}(p)\), and

  2. (ii)

    [pq] belongs to the same open \(\pi \)-sector of the same component of \({\mathcal {O}}\) as the point \(p^-\).

See Fig. 3.

Fig. 3
figure 3

The points [pq] and [qp], as determined by \(\{p,p^-\}\) and \(\{q,q^-\}\)

Remark

The reader should note that the point [pq] crucially depends on the distinctive set P, as distinctiveness uniquely determines the point \(p^-\) in Definition 3.6. However, as P shall be clear by context it is absent from the notation [pq].

Notice from Definition 3.6 that [pq] is defined if and only if [qp] is defined. The following technical result is needed for Proposition 3.6 below and is due to the fact that for distinctive sets, the points p and q naturally determine three isometric triangles in \({\mathcal {O}}\). See again Fig. 3.

Lemma 3.4

Let \(P,Q,U\subset {\mathbb {P}}({\mathcal {O}})\) be distinctive subsets of oppositely projected pairs. For any \((\{p,p^-\},\{q,q^-\})\in P\times Q\) for which \([p,q]\in {\mathcal {O}}\) is defined, we have that \(\{[p,q],[q,p]\}\in {\mathbb {P}}({\mathcal {O}})\) is an oppositely projected pair. Moreover, if \(\{[p,q],[q,p]\}\in U\) then \([p^-,[p,q]]\) and \([[p,q],p^-]\) are defined and equal q and \(q^-\), respectively.

Proof

Definition 3.6 gives that

$$\begin{aligned}{\varvec{\pi }}([p,q])={\varvec{\pi }}(q)-{\varvec{\pi }}(p)=-{\varvec{\pi }}([q,p]).\end{aligned}$$

Since p and q belong to the same \(\pi \)-sector with \(\text {arg}(p)\ne \text {arg}(q)\), we have \({\varvec{\pi }}(q)-{\varvec{\pi }}(p)\ne 0\), so \(\{[p,q],[q,p]\}\in {\mathbb {P}}({\mathcal {O}})\).

Condition (ii) of Definition 3.6 guarantees that \(p^-\) and [pq] belong to the same open \(\pi \)-sector of the same component. Since p and q belong to the same open \(\pi \)-sector with different arguments, condition (i) guarantees that \(\text {arg}(p^-)\ne \text {arg}([p,q])\), so \([p^-,[p,q]]\) and \([[p,q],p^-]\) are defined. Next we show \([p^-,[p,q]]=q\). Condition (ii) of Definition 3.6 (applied to \([p^-,[p,q]]\)) gives that p and \([p^-,[p,q]]\) belong to the same open \(\pi \)-sector of the same component of \({\mathcal {O}}\); by assumption, the same is true of p and q, so we find that q and \([p^-,[p,q]]\) belong to the same open \(2\pi \)-sector. As \({\varvec{\pi }}(\cdot )\) is injective on open \(2\pi \)-sectors, it suffices to show that these latter two points are sent under this map to the same point in the plane. We compute

$$\begin{aligned}{\varvec{\pi }}([p^-,[p,q]])={\varvec{\pi }}([p,q])-{\varvec{\pi }}(p^-)={\varvec{\pi }}(q)-{\varvec{\pi }}(p)+{\varvec{\pi }}(p)={\varvec{\pi }}(q)\end{aligned}$$

as desired. The proof that \([[p,q],p^-]\) equals \(q^-\) is similar. \(\square \)

The following definition and subsequent results will prove to be essential in Sects. 4.4 and 4.5 below.

Definition 3.7

Let \(P,\ Q\) and U be distinctive, limit-point free subsets of \({\mathbb {P}}({\mathcal {O}})\) and \((\{p,p^-\},\{q,q^-\},\{u,u^-\})\) a triple of oppositely projected pairs in \(P\times Q\times U\). We call \((p,q,u)\in P_F\times Q_F\times U_F\) a permissible triple if there exist permissible scalars \((r,s,t)\in {\mathbb {R}}_+^3\) such that, for \((\{rp,rp^-\},\{sq,sq^-\},\{tu,tu^-\})\in rP\times sQ\times tU\),

  1. (i)

    [rpsq] and [sqrp] are defined and equal tu and \(tu^-\), respectively, and

  2. (ii)
    $$\begin{aligned}\big (B(rp,sq)\cup B(tu,rp^-)\cup B(sq^-,tu^-)\big )\cap \left( rP_F\cup sQ_F\cup tU_F\right) =\varnothing .\end{aligned}$$

(See Fig. 4.) For a collection \(\textbf{P}=\{P_i\}_{i\in I}\) of distinctive, limit-point free subsets of \({\mathbb {P}}({\mathcal {O}})\), we let \({\mathcal {P}}(\textbf{P})\) denote the set of all permissible triples arising from \(\textbf{P}\); that is,

$$\begin{aligned}{} & {} {\mathcal {P}}(\textbf{P}):=\{(p_i,p_j,p_k)\in (P_i)_F\times (P_j)_F\times (P_k)_F\ |\ i,j,k\in I\ \text {and}\ (p_i,p_j,p_k)\ \\{} & {} \qquad \qquad \qquad \text {is a permissible triple}\}.\end{aligned}$$
Fig. 4
figure 4

A permissible triple (pqu) with permissible scalars (rst). Points of \(rP_F,\ sQ_F\) and \(tU_F\) are in cyan, yellow, and red, respectively. Condition (i) of Definition 3.7 is met, as \([rp,sq]=tu\) and \([sq,rp]=tu^-\). Condition (ii) is met since none of the open balls \(B(rp,sq),\ B(tu,rp^-)\) or \(B(sq^-,tu^-)\) contain any points of \(rP_F,\ sQ_F\) or \(tU_F\)

One immediate, but important, observation regarding permissible triples and permissible scalars is the following:

Proposition 3.5

Let (pqu) be a permissible triple with permissible scalars \((r,s,t)\in {\mathbb {R}}_+^3\). The scalars s and t are uniquely determined by \(p,q,u\in {\mathcal {O}}\) and \(r\in {\mathbb {R}}_+\). In particular, the set of all permissible scalars for (pqu) is precisely the ray \(\{(ar,as,at)\ |\ a\in {\mathbb {R}}_+\}\).

Proof

By Definitions 3.6 and 3.7, we have

$$\begin{aligned} t{\varvec{\pi }}(u)={\varvec{\pi }}([rp,sq])=s{\varvec{\pi }}(q)-r{\varvec{\pi }}(p). \end{aligned}$$
(1)

Rearranging, we find that s and t are solutions to

$$\begin{aligned}\begin{pmatrix}{\varvec{\pi }}(q)_x &{} -{\varvec{\pi }}(u)_x\\ {\varvec{\pi }}(q)_y &{} -{\varvec{\pi }}(u)_y\end{pmatrix}\begin{pmatrix} s\\ t\end{pmatrix}=\begin{pmatrix}r{\varvec{\pi }}(p)_x\\ r{\varvec{\pi }}(p)_y\end{pmatrix}.\end{aligned}$$

The fact that rp and sq belong to the same open \(\pi \)-sector with different arguments implies that \({\varvec{\pi }}(p)\) and \({\varvec{\pi }}(q)\) are \({\mathbb {R}}\)-linearly independent. This, together with Equation (1), implies that also \({\varvec{\pi }}(u)\) and \({\varvec{\pi }}(q)\) are \({\mathbb {R}}\)-linearly independent. Hence the matrix on the left side of the previous equation is invertible, so s and t are uniquely determined.

For the second statement, let \(P_1, P_2\subset {\mathbb {P}}(O)\) be distinctive and \(a\in {\mathbb {R}}_+\). From Definition 3.6, one finds for \((\{p_1,p_1^-\},\{p_2,p_2^-\})\in P_1\times P_2\) and \((\{ap_1,ap_1^-\},\{ap_2,ap_2^-\})\in aP_1\times aP_2\) that if \([p_1,p_2]\) is defined then \([ap_1,ap_2]\) is defined and equals \(a[p_1,p_2]\). It follows then from Definition 3.7 that if (rst) are permissible scalars for (pqu), then so are (arasat) for any \(a\in {\mathbb {R}}_+\). On the other hand, if \((r_1,s_1,t_1)\) and \((r_2,s_2,t_2)\) are both permissible scalars for (pqu), then so are \((1,s_1/r_1,t_1/r_1)\) and \((1,s_2/r_2,t_2/r_2)\). The first statement of this proposition implies that \((r_1,s_1,t_1)\) and \((r_2,s_2,t_2)\) belong to a common ray. \(\square \)

Note that the order of entries of a permissible triple (pqu) is important in Definition 3.7; for instance, the first two entries p and q must necessarily belong to the same open \(\pi \)-sector of the same component of \({\mathcal {O}}\) for condition (i) to hold. Nevertheless, this ordering does admit some flexibility.

Proposition 3.6

With notation as in Definition 3.7, the following statements are equivalent:

  1. (a)

    (pqu) is a permissible triple with permissible scalars (rst),

  2. (b)

    \((q^-,u^-,p)\) is a permissible triple with permissible scalars (str), and

  3. (c)

    \((u,p^-,q^-)\) is a permissible triple with permissible scalars (trs).

Proof

We need only show (a) implies (b): the same argument will give (b) implies (c) and (c) implies (a). Let (pqu) be a permissible triple with permissible scalars (rst). We claim that \((q^-,u^-,p)\) is a permissible triple with permissible scalars (str).

  1. (i)

    We must show that \([sq^-,tu^-]\) and \([tu^-,sq^-]\) are defined and equal rp and \(rp^-\), respectively. We have by assumption that [sqrp] is defined and equals \(tu^-\). By Lemma 3.4, both \([sq^-,[sq,rp]]=[sq^-,tu^-]\) and \([[sq,rp],sq^-]=[tu^-,sq^-]\) are defined. By the same Lemma, these equal rp and \(rp^-\), respectively.

  2. (ii)

    We have

    $$\begin{aligned}\left( B(sq^-,tu^-)\cup B(rp,sq)\cup B(tu,rp^-)\right) \cap \left( sQ_F\cup tU_F\cup rP_F\right) =\varnothing \end{aligned}$$

    by assumption.

\(\square \)

One might suspect from Definition 3.7 that it is difficult for some \((p,q,u)\in P_F\times Q_F\times U_F\) to be a permissible triple. Indeed, this suspicion is confirmed by the following:

Lemma 3.7

Let \(\textbf{P}=\{P_i\}_{i=1}^n\) be a finite collection of distinctive, limit-point free subsets of \({\mathbb {P}}({\mathcal {O}})\). Then the set \({\mathcal {P}}(\textbf{P})\) of all permissible triples arising from \(\textbf{P}\) is finite.

Proof

It suffices to show that for any distinctive, limit-point free \(P,Q,U\subset {\mathbb {P}}({\mathcal {O}})\), the set of permissible triples \((p,q,u)\in P_F\times Q_F\times U_F\) is finite. Suppose on the contrary that \(\{(p_k,q_k,u_k)\}_{k\in {\mathbb {N}}}\subset P_F\times Q_F\times U_F\) is an infinite set of permissible triples with corresponding permissible scalars \(\{(r_k,s_k,t_k)\}_{k\in {\mathbb {N}}}\subset {\mathbb {R}}_+^3\). At least one of the sets \(\{p_k\}_{k\in {\mathbb {N}}}, \{q_k\}_{k\in {\mathbb {N}}}\) or \(\{u_k\}_{k\in {\mathbb {N}}}\) is infinite; by Proposition 3.6, we may assume that either \(\{p_k\}_{k\in {\mathbb {R}}}\) or \(\{p_k^-\}_{k\in {\mathbb {N}}}\) is infinite. Since P is distinctive, these sets have the same cardinality and hence are both infinite. As the set of possible directions of points in each \({\mathcal {O}}_i\) is compact and there are only finitely many components \({\mathcal {O}}_i\) of \({\mathcal {O}}\), we may also assume that each \(p_k\) (resp. \(p_k^-\)) belongs to some small sector of a fixed component of \({\mathcal {O}}\) and that \(\lim _k\text {arg}({\varvec{\pi }}(p_k))=\theta _P\) (resp. \(\lim _k\text {arg}({\varvec{\pi }}(p_k^-))=\theta _P^-\)) exists. Rotating each of PQ and U by \(-\theta _P\), assume for simplicity that \(\theta _P=0\) (and hence \(\theta _P^-=\pi \)).

Rescaling each \((r_k,s_k,t_k)\) as necessary (see Proposition 3.5), we further assume that \(|r_kp_k|=1\) for all k. Under these assumptions, we find that \(\{r_k{\varvec{\pi }}(p_k)\}_{k\in {\mathbb {N}}}\subset S^1\) with \(r_k{\varvec{\pi }}(p_k)\rightarrow 1\in {\mathbb {C}}\). Also note that since P is limit-point free, \(|p_k|\rightarrow \infty \) and hence \(r_k=1/|p_k|\rightarrow 0\).

Condition (ii) of Definition 3.7 (together with the fact that \({\varvec{\pi }}(\cdot )\) is an isometry on \(\pi \)-sectors) guarantees that in the plane, we have for each \(k\in {\mathbb {N}}\) both

$$\begin{aligned} B(r_k{\varvec{\pi }}(p_k),s_k{\varvec{\pi }}(q_k))\cap \{r_k{\varvec{\pi }}(p_\ell )\}_{\ell \in {\mathbb {N}}}=\varnothing \end{aligned}$$
(2)

and

$$\begin{aligned}B(t_k{\varvec{\pi }}(u_k),r_k{\varvec{\pi }}(p_k^-))\cap \{r_k{\varvec{\pi }}(p_\ell ^-)\}_{\ell \in {\mathbb {N}}}=\varnothing .\end{aligned}$$

This latter intersection may be rewritten

$$\begin{aligned} B(t_k{\varvec{\pi }}(u_k),-r_k{\varvec{\pi }}(p_k))\cap \{-r_k{\varvec{\pi }}(p_\ell )\}_{\ell \in {\mathbb {N}}}=\varnothing . \end{aligned}$$
(3)

For each k, let \(c_k:=c(r_k{\varvec{\pi }}(p_k),s_k{\varvec{\pi }}(q_k))\) and \(B_k:=B(r_k{\varvec{\pi }}(p_k),s_k{\varvec{\pi }}(q_k))\) be the circumcenter and ball determined by \(r_k{\varvec{\pi }}(p_k)\) and \(s_k{\varvec{\pi }}(q_k)\). The circumcenter \(c_k\) is the intersection of the perpendicular bisectors of the straight line segments from the origin to \(r_k{\varvec{\pi }}(p_k)\) and from the origin to \(s_k{\varvec{\pi }}(q_k)\). Since \(\text {arg}({\varvec{\pi }}(p_k))\rightarrow 0\), for large k the former perpendicular bisector does not intersect the negative real axis, so for all large k we have \(\text {arg}(c_k)\in [0,\pi )\cup (\pi ,2\pi )\). Passing to a subsequence, assume without loss of generality that \(\text {arg}(c_k)\in [0,\pi )\) for all k.

Fig. 5
figure 5

Illustration of the proof of Lemma 3.7. The vertical dashed line represents \(x=1/2\), and the shaded region is the subset \(S_k\) of the ball \(B_k=B(r_k{\varvec{\pi }}(p_k),s_k{\varvec{\pi }}(q_k))\)

We consider two cases (see Fig. 5):

  1. (i)

    Suppose there is a subsequence for which \({\varvec{\pi }}(p_k)_y\ge 0\) for all k. Since \(\text {arg}({\varvec{\pi }}(p_k))\rightarrow 0\), we may pass to a subsequence to assume \(\text {arg}({\varvec{\pi }}(p_{k+1}))\le \text {arg}({\varvec{\pi }}(p_k))\) for all k. For large enough k, the x-coordinate of \(r_k{\varvec{\pi }}(p_k)\in S^1\) is greater than 1/2. Since both 0 and \(r_k{\varvec{\pi }}(p_k)\) belong to \(C_k:=\partial B_k\), we find that the vertical line \(x=1/2\) intersects \(C_k\) at two distinct points; let \(b_k^+\) denote the point of intersection on the upper-semicircle of \(C_k\). Note that \(b_y:=\text {inf}_k\{(b_k^+)_y\}>0\); otherwise \(\text {arg}(c_k)\in (\pi ,2\pi )\) contrary to our assumption. Set \(b:=(1/2,b_y)\) and note that for large enough k, we have \(\text {arg}({\varvec{\pi }}(p_k))<\text {arg}(b)\). Let

    $$\begin{aligned}S_k=\{p\in {\mathbb {C}}\ |\ |p|<1/2,\ \text {arg}(p)\in (\text {arg}({\varvec{\pi }}(p_k)),\text {arg}(b))\}.\end{aligned}$$

    Note that \(S_k\) is contained in the triangle with vertices \(0,\ r_k{\varvec{\pi }}(p_k)\) and \(b_k^+\), which is contained in \(B_k\); hence \(S_k\subset B_k\) for each k. Choose some \(N\in {\mathbb {N}}\) large enough that \(\text {arg}({\varvec{\pi }}(p_N))\in [0,\text {arg}(b))\). For each \(k>N\), we have \(\text {arg}({\varvec{\pi }}(p_k))\le \text {arg}({\varvec{\pi }}(p_N))\) by assumption, so \(\text {arg}({\varvec{\pi }}(p_N))\in [\text {arg}({\varvec{\pi }}(p_k)),\text {arg}(b))\). Taking k large enough, we also have \(|r_k{\varvec{\pi }}(p_N)|=|{\varvec{\pi }}(p_N)|/|{\varvec{\pi }}(p_k)|<1/2\). Hence \(r_k{\varvec{\pi }}(p_N)\in S_k\subset B_k=B(r_k{\varvec{\pi }}(p_k),s_k{\varvec{\pi }}(q_k))\), contradicting Eq. 2.

  2. (ii)

    Suppose there is no subsequence for which \({\varvec{\pi }}(p_k)_y\ge 0\) for all k. Then there is some subsequence for which \({\varvec{\pi }}(p_k)_y<0\)—and hence \(-{\varvec{\pi }}(p_k)_y>0\)—for all k. Notice that \(c(t_k{\varvec{\pi }}(u_k),-r_k{\varvec{\pi }}(p_k))=c_k-r_k{\varvec{\pi }}(p_k)\), so the argument of this circumcenter belongs to \((0,\pi )\). An analogous proof (reflecting about the x-axis) to that of case (i) implies that for some fixed N and large enough k, \(-r_k{\varvec{\pi }}(p_N)\in B(t_k{\varvec{\pi }}(u_k),-r_k{\varvec{\pi }}(p_k))\), which contradicts Eq. 3.

We conclude that the set of permissible triples must be finite. \(\square \)

3.3 Marked segments and Voronoi staples

In this subsection we fix a stratum \({\mathcal {H}}(d_1,\dots ,d_\kappa ),\) its corresponding canonical surface \({\mathcal {O}}={\mathcal {O}}(d_1,\dots ,d_\kappa )\) and a translation surface \((X,\omega )\in {\mathcal {H}}(d_1,\dots ,d_\kappa )\). Label the singularities of \((X,\omega )\) as \(\sigma _1,\dots ,\sigma _\kappa \) so that \(\sigma _i\) has cone angle \(2\pi (d_i+1)\). In a sufficiently small neighborhood of \(\sigma _i\) define generalized polar coordinates in a fashion analogous to that on \({\mathcal {O}}_i\) (see Sect. 3.1 and the proof of Lemma 5 of [7]).

Let s be a separatrix emanating from \(\sigma _i\) of length \(|s|>0\) and corresponding angle \(\theta \in [0,2\pi (d_i+1))\), and denote by \({\hat{s}}\) the point of \({\mathcal {O}}_i\) with polar coordinates \((|s|,\theta )\). If \(|s|=0\), set \({\hat{s}}:=0\in {\mathcal {O}}_i\). If s is in fact a saddle connection, we call \({\hat{s}}\) the marked segment determined by s; note that in this case, \(\text {hol}(s)={\varvec{\pi }}({\hat{s}})\in {\mathbb {C}}\). Denote by \(s'\) the identical, but oppositely-oriented saddle connection to s. Let \({\mathcal {M}}(X,\omega )\) be the set of all pairs \(\{s,s'\}\) of oppositely-oriented saddle connections of \((X,\omega )\) and

$$\begin{aligned}{\mathcal {M}}_F(X,\omega ):=\bigcup _{\{s,s'\}\in {\mathcal {M}}(X,\omega )}\{s,s'\}\end{aligned}$$

the set of all oriented saddle connections on \((X,\omega )\). Let \(\widehat{{\mathcal {M}}}(X,\omega )\) denote the set of all orientation-paired marked segments \(\{{\hat{s}},{\hat{s}}'\}\) determined by oppositely oriented saddle connections \(\{s,s'\}\in {\mathcal {M}}(X,\omega )\).

Proposition 3.8

The set \(\widehat{{\mathcal {M}}}(X,\omega )\) is a limit-point free subset of the set \({\mathbb {P}}({\mathcal {O}})\) of oppositely projected pairs. Moreover, if \({\hat{s}}\) and \({\hat{t}}\) are marked segments with identical arguments belonging to the same component of \({\mathcal {O}}\), then in fact \(\{{\hat{s}},{\hat{s}}'\}=\{{\hat{t}},{\hat{t}}'\}\). In particular, \(\widehat{{\mathcal {M}}}(X,\omega )\) is distinctive.

Proof

Suppose \(\{{\hat{s}},{\hat{s}}'\}\in \widehat{{\mathcal {M}}}(X,\omega )\). Since the saddle connections s and \(s'\) are identical but oppositely-oriented, it is clear that \({\varvec{\pi }}({\hat{s}}')=-{\varvec{\pi }}({\hat{s}})\), so \(\{{\hat{s}},{\hat{s}}'\}\in {\mathbb {P}}({\mathcal {O}})\) and \(\widehat{{\mathcal {M}}}(X,\omega )\subset {\mathbb {P}}({\mathcal {O}})\). The image of \((\widehat{{\mathcal {M}}}(X,\omega ))_F\) under \({\varvec{\pi }}(\cdot )\) equals the image of \({\mathcal {M}}_F(X,\omega )\) under \(\text {hol}(\cdot )\). Since the set of holonomy vectors has no limit points (Sect. 2.1.2) and \({\varvec{\pi }}(\cdot )\) is a homeomorphism on sufficiently small neighborhoods of regular points, we have that \((\widehat{{\mathcal {M}}}(X,\omega ))_F\) has no limit points and hence \(\widehat{{\mathcal {M}}}(X,\omega )\) is limit-point free.

Now suppose \({\hat{s}}\) and \({\hat{t}}\) are marked segments with identical arguments in the same component \({\mathcal {O}}_i\subset {\mathcal {O}}\). Then the underlying saddle connections s and t both emanate in the same direction from \(\sigma _i\in \Sigma \). If their lengths differ, say \(|{\hat{s}}|<|{\hat{t}}|\), then \(|s|<|t|\). This implies that t has a singularity in its interior, which is impossible. If \(|{\hat{s}}|=|{\hat{t}}|\), then in fact \(s=t\), and so \(\{{\hat{s}},{\hat{s}}'\}=\{{\hat{t}},{\hat{t}}'\}\). It follows that \(\widehat{{\mathcal {M}}}(X,\omega )\) is distinctive. \(\square \)

Let \(\widehat{{\mathcal {M}}}_F(X,\omega ):=(\widehat{{\mathcal {M}}}(X,\omega ))_F\) denote the set of all marked segments determined by saddle connections on \((X,\omega )\). The star domain for \(\sigma _i\in \Sigma \) is

$$\begin{aligned}\text {star}_i(X,\omega ):=\{{\hat{s}}\ |\ s\ \text {is a separatrix on}\ (X,\omega )\ \text {emanating from }\sigma _i\}\subset {\mathcal {O}}_i.\end{aligned}$$

Note that \(\text {star}_i(X,\omega )\) consists of the union of closed rays emanating from \(0\in {\mathcal {O}}_i\) which stop only when meeting a marked segment (and thus almost every such ray is infinite). The star domain for \((X,\omega )\) is

$$\begin{aligned}\text {star}(X,\omega )=\bigsqcup _{i=1}^\kappa \text {star}_i(X,\omega )\subset {\mathcal {O}}.\end{aligned}$$

Define a map \(\eta :\text {star}(X,\omega )\rightarrow (X,\omega ),\) where for each point \(p\in \text {star}_i(X,\omega )\), if s is the separatrix for which \(p={\hat{s}}\), then \(\eta (p)\) is the endpoint of s on \((X,\omega )\). In other words, if \(p\in \text {star}(X,\omega )\) has polar coordinates \((|p|,\theta )\), then \(\eta (p)\) is the endpoint of the separatrix of length |p| emanating from \(\sigma _i\in \Sigma \) with angle \(\theta \).

For each x in the Voronoi 2-cell \({\mathcal {C}}_i:={\mathcal {C}}_{\sigma _i}\), let \(s_x\) be the unique length-minimizing separatrix from \(\sigma _i\) to x. Note that \(\eta \) is injective—and thus invertible—on the set

$$\begin{aligned}\{{\hat{s}}_x\ |\ x\in {\mathcal {C}}_i\}\subset \text {star}_i(X,\omega ):\end{aligned}$$

if \(\eta ({\hat{s}}_x)=\eta ({\hat{s}}_y)\) for \(x,y\in {\mathcal {C}}_i\), then \(x=y\) and \(s_x=s_y\) by the aforementioned uniqueness of these separatrices. Hence \({\hat{s}}_x={\hat{s}}_y\). Let \(\iota _i:{\mathcal {C}}_i\rightarrow \{{\hat{s}}_x\ |\ x\in {\mathcal {C}}_i\}\) denote the corresponding inverse, namely \(x\mapsto {\hat{s}}_x\) for each \(x\in {\mathcal {C}}_i\), and define \(\iota :\bigsqcup _{i=1}^\kappa {\mathcal {C}}_i\rightarrow {\mathcal {O}}\) by setting \(\iota |_{{\mathcal {C}}_i}=\iota _i\) for each i; see Fig. 6.

Fig. 6
figure 6

Left: Voronoi decomposition of a translation surface subordinate to two removable singularities, \(\sigma _1\) (white) and \(\sigma _2\) (black). The 2-cell \({\mathcal {C}}_1:={\mathcal {C}}_{\sigma _1}\) (resp. \({\mathcal {C}}_2:={\mathcal {C}}_{\sigma _2}\)) is the open region in white (resp. gray). Middle: The image \(\iota ({\mathcal {C}}_1)\) in \({\mathcal {O}}_1\), along with three marked segments. Right: The image \(\iota ({\mathcal {C}}_2)\) in \({\mathcal {O}}_2\), along with three marked segments

The translation surface \((X,\omega )\) is isometric to the quotient space of \(\bigsqcup _{i=1}^\kappa \overline{{\mathcal {C}}_i}\) under the equivalence relation defined by identifying shared edges of Voronoi 2-cells. Proposition 7 of [7] shows that in a similar fashion, \((X,\omega )\) may be recovered from the closure of the image under \(\iota \) of its Voronoi 2-cells by identifying appropriate edges of the various \(\overline{\iota ({\mathcal {C}}_i)}\). We provide a brief overview of the method by which these edge identifications are made. Recall that the half-space H(p) determined by \(p\in {\mathcal {O}}_i\) is convex, and thus so is any intersection of such half-spaces (see Definition 3.2).

Definition 3.8

For S a subset of \({\mathcal {O}}\) with no limit points, the \(\textit{convex body}\) of \({\mathcal {O}}_i\) subordinate to S is defined by

$$\begin{aligned}\Omega _i(S):=\bigcap _{p\in S\cap {\mathcal {O}}_i}H(p).\end{aligned}$$

The set of essential points of \(\Omega _i(S)\) is the (unique) minimal subset \({\mathcal {E}}_i(S)\subset S\) for which

$$\begin{aligned}\Omega _i(S)=\bigcap _{p\in {\mathcal {E}}_i(S)}H(p).\end{aligned}$$

When \(S=\widehat{{\mathcal {M}}}_F(X,\omega )\) is the set of all marked segments of \((X,\omega )\), we use the suppressed notation \(\Omega _i:=\Omega _i(\widehat{{\mathcal {M}}}_F(X,\omega ))\) and \({\mathcal {E}}_i:={\mathcal {E}}_i(\widehat{{\mathcal {M}}}_F(X,\omega ))\). Call distinct points \(p,q\in S\) adjacent within S if \(p,q\ne 0\) belong to the same component \({\mathcal {O}}_i\), and either of the two open sectors centered at 0 between p and q contains no points of S.

Proposition 14 of [7] shows that the convex body \(\Omega _i\) is precisely the set \(\overline{\iota ({\mathcal {C}}_i)}\). Furthermore, Proposition 14 and Definition 15 of [7] show that there is a subset \(\widehat{{\mathcal {S}}}(X,\omega )\) of \(\widehat{{\mathcal {M}}}(X,\omega )\) for which the union of essential points \({\mathcal {E}}:=\sqcup _{i=1}^\kappa {\mathcal {E}}_i\) equals \(\widehat{{\mathcal {S}}}_F(X,\omega ):=(\widehat{{\mathcal {S}}}(X,\omega ))_F\), i.e. the essential points come equipped with a natural pairing. Elements \(\{{\hat{s}},{\hat{s}}'\}\) of \(\widehat{{\mathcal {S}}}(X,\omega )\) are called marked Voronoi staples and their underlying pairs of saddle connections \(\{s,s'\}\) in \({\mathcal {M}}(X,\omega )\) are called Voronoi staples. It follows from the definition of \({\mathcal {E}}_i\) that each edge on the boundary of \(\Omega _i=\overline{\iota ({\mathcal {C}}_i)}\) belongs to the boundary of a half-space \(H({\hat{s}})\) for some \({\hat{s}}\in {\mathcal {E}}_i\subset \widehat{{\mathcal {S}}}_F(X,\omega )\); conversely, the boundary of the half-space determined by each \({\hat{s}}\in \widehat{{\mathcal {S}}}_F(X,\omega )\) contains an edge on the boundary of some \(\Omega _i=\overline{\iota ({\mathcal {C}}_i)}\). Propositions 7 and 14 of [7] show that the edges of the convex bodies of \(\sqcup _{i=1}^\kappa \Omega _i\) corresponding to \({\hat{s}}\) and its orientation-paired \({\hat{s}}'\) are equal length, and that \((X,\omega )\) is isometric to the quotient space of \(\sqcup _{i=1}^\kappa \Omega _i\) under the equivalence relation given by identifying these edges via translation.

Of import for our purposes is the observation that a translation surface is uniquely determined by its marked Voronoi staples \(\widehat{{\mathcal {S}}}(X,\omega )\), and that \(\widehat{{\mathcal {S}}}_F(X,\omega )\) is precisely the union of essential points \({\mathcal {E}}=\sqcup _{i=1}^\kappa {\mathcal {E}}_i\).

Remark

Under this identification of edges, the vertices of the various \(\Omega _i\) are regarded as regular points on the resulting translation surface (they correspond to the Voronoi 0-cells of \((X,\omega )\)). The origins \(0\in \Omega _i\subset {\mathcal {O}}_i\) become singularities of the resulting translation surface; we require this also if \({\mathcal {O}}_i=({\mathbb {C}},dz)\), in which case the singularity is a marked point.

Example 3.9

In Fig. 6, the marked Voronoi staples are \(\{{\hat{a}},{\hat{a}}'\},\ \{{\hat{b}},{\hat{b}}'\}\) and \(\{{\hat{c}},{\hat{c}}'\}\). The hexagonal translation surface on the left is recovered by identifying the edges of the convex bodies corresponding to these respective pairs.

We conclude this subsection a brief observation:

Proposition 3.10

Any two adjacent elements \({\hat{s}}\) and \({\hat{t}}\) of \(\widehat{{\mathcal {S}}}_F(X,\omega )\) belong to the same open \(\pi \)-sector.

Proof

If not, then \(\partial H({\hat{s}})\cap \partial H({\hat{t}})=\varnothing \), and the corresponding convex body has infinite area. This would imply that the closed translation surface \((X,\omega )\) has infinite area, which is a contradiction. \(\square \)

4 Fanning groups, simulations and finiteness of lattices in strata

4.1 Fanning groups and lattices

In this subsection we consider a set of directions \(\Theta _\Gamma \subset S^1\) announced by a discrete subset \(\Gamma \subset \textrm{SL}_2{\mathbb {R}}\) and give an equivalent definition of lattice groups in terms of this set of directions (Lemma 4.3). Abusing notation, we write \(\Gamma \) for both a discrete subset of \(\textrm{SL}_2{\mathbb {R}}\) whose elements act as linear transformations on \({\mathbb {R}}^2\) and for its image as a discrete subset of \(\text {PSL}_2{\mathbb {R}}\) whose elements act as Möbius transformations on the closure of the upper-half plane \({\mathbb {H}}\). Similarly, we denote elements of \(\Gamma \) in both of these settings by the same notation \(A\in \Gamma \). When there is risk of confusion, we shall explicitly mention the setting in which to consider \(\Gamma \).

Definition 4.1

Let \(\Gamma \) be a discrete subset of \(\textrm{SL}_2{\mathbb {R}}\) and \(\Delta \) the open unit disk. Set

$$\begin{aligned}\Theta _\Gamma :=S^1\backslash \bigcup _{A\in \Gamma } A\cdot \Delta ,\end{aligned}$$

where \(A\cdot \Delta \) denotes the usual action of a matrix on \({\mathbb {R}}^2\) as a linear transformation. A group \(\Gamma \) for which \(\Theta _\Gamma \) is finite is called a fanning group. We call \((X,\omega )\) a fanning surface if its Veech group \(\textrm{SL}(X,\omega )\) is fanning.

As we shall see in Corollary 4.6 below, \(\Theta _\Gamma \) contains the directions of certain short marked segments of any translation surface with Veech group \(\Gamma \). These directions will be instrumental in our construction of such surfaces.

Example 4.1

Let \(S:=({\begin{matrix}0 &{} -1\\ 1 &{} 0\end{matrix}}),\ T:=({\begin{matrix}1 &{} 1\\ 0 &{} 1\end{matrix}})\), and set \(\Gamma :=\langle S,T^2\rangle \). Figure 7 shows that \(\Theta _{\Gamma }\) is contained in the set of eighth roots of unity and thus \(\Gamma \) a fanning group. One verifies that in fact \(\Theta _{\Gamma }\) equals this set.

Fig. 7
figure 7

The set of eighth roots of unity contains \(\Theta _{\Gamma }\) with \(\Gamma =\langle S,T^2\rangle \) and S and T defined as in Example 4.1

We introduce notation to help us relate lattices to fanning groups. For \(A\in \text {PSL}_2{\mathbb {R}}\), set

$$\begin{aligned}H(A):=\{z\in {\mathbb {H}}\ |\ d_{\mathbb {H}}(i,z)\le d_{\mathbb {H}}(Ai,z)\},\end{aligned}$$

where \(d_{\mathbb {H}}\) denotes the hyperbolic metric on \({\mathbb {H}}\), and for a discrete subset \(\Gamma \subset \textrm{PSL}_2{\mathbb {R}}\), define

$$\begin{aligned}D(\Gamma ):=\bigcap _{A\in \Gamma } H(A)\end{aligned}$$

(compare with Definitions 3.2 and 3.8 ). Recall that if \(\Gamma \) is a Fuchsian group which trivially stabilizes \(i\in {\mathbb {H}}\)—or, equivalently, \(\Gamma \cap \text {PSO}_2{\mathbb {R}}=\{\text {Id}\}\)—then \(D(\Gamma )\) is the Dirichlet region centered at i for \(\Gamma \). In this case \(D(\Gamma )\) is a convex fundamental polygon for \(\Gamma \); see, say, [1] and [15]. For any subset \(S\subset {\mathbb {H}}\), let \({\overline{S}}\) and \(\partial S\) denote the closure and boundary, respectively, of S in \(\hat{{\mathbb {C}}}={\mathbb {C}}\cup \{\infty \}\). Define

$$\begin{aligned}S(A):=\{x/y\ |\ (x,y)^T\in S^1\backslash A\cdot \Delta \}\end{aligned}$$

and

$$\begin{aligned}S_\Gamma :=\bigcap _{A\in \Gamma }S(A)=\{x/y\ |\ (x,y)^T\in \Theta _\Gamma \},\end{aligned}$$

so that S(A) and \(S_\Gamma \) belong to \(\partial {\mathbb {H}}={\mathbb {R}}\cup \{\infty \}\). The following proposition states that the reciprocals of the slopes of directions in \(\Theta _\Gamma \subset S^1\) coincide with the points of \(\overline{D(\Gamma )}\) in \(\partial {\mathbb {H}}\).

Proposition 4.2

For any discrete \(\Gamma \subset \textrm{SL}_2{\mathbb {R}}\),

$$\begin{aligned}S_\Gamma =\overline{D(\Gamma )}\cap \partial {\mathbb {H}}.\end{aligned}$$

Proof

We first show that for any \(A=({\begin{matrix}a &{} b\\ c &{} d\end{matrix}})\in \textrm{SL}_2{\mathbb {R}}\),

$$\begin{aligned}S(A)=\overline{H(A)}\cap \partial {\mathbb {H}}.\end{aligned}$$

If \(A\in \text {SO}_2{\mathbb {R}}\), then both sets are all of \(\partial {\mathbb {H}}\), so suppose \(A\notin \text {SO}_2{\mathbb {R}}\). Assume that A satisfies \(Ai=i+2t_0\) for some \(t_0\in {\mathbb {R}}_+\). Then H(A) consists of all points \(\tau \in {\mathbb {H}}\) with \(\text {Re}(\tau )\le t_0\), and

$$\begin{aligned}\overline{H(A)}\cap \partial {\mathbb {H}}=\{t\in {\mathbb {R}}\ |\ t\le t_0\}\cup \{\infty \}.\end{aligned}$$

From \((ai+b)/(ci+d)=i+2t_0\) we find that

$$\begin{aligned}a=2ct_0+d\ \ \ \ \ \text {and}\ \ \ \ \ b=2dt_0-c,\end{aligned}$$

and, moreover,

$$\begin{aligned}1=\text {det}(A)=ad-bc=c^2+d^2.\end{aligned}$$

Notice that \((x,y)^T\in S^1\backslash A\cdot \Delta \) if and only if \((x,y)^T\in S^1\) and \(A^{-1}(x,y)^T\notin \Delta \). The latter requirement may be rewritten as \(|A^{-1}(x,y)^T|\ge |(x,y)^T|\). We claim that \((1,0)^T\) and \(\frac{1}{\sqrt{t_0^2+1}}(t_0,1)^T\) satisfy this with equality. We compute

$$\begin{aligned}|A^{-1}(1,0)^T|^2=\left| \begin{pmatrix}d &{} -b\\ -c &{} a\end{pmatrix}\begin{pmatrix}1\\ 0\end{pmatrix}\right| ^2=\left| \begin{pmatrix}d\\ -c\end{pmatrix}\right| ^2=c^2+d^2=1=|(1,0)^T|^2\end{aligned}$$

and

$$\begin{aligned} |A^{-1}(t_0,1)^T|^2&=\left| \begin{pmatrix}d &{} -b\\ {}-c &{} a\end{pmatrix}\begin{pmatrix}t_0\\ 1\end{pmatrix}\right| ^2\\&=\left| \begin{pmatrix}dt_0-b\\ {}-ct_0+a\end{pmatrix}\right| ^2\\&=(dt_0-b)^2+(-ct_0+a)^2\\&=(-dt_0+c)^2+(ct_0+d)^2\\&=d^2t_0^2-2cdt_0+c^2+c^2t_0^2+2cdt_0+d^2\\&=t_0^2+1\\&=|(t_0,1)^T|^2, \end{aligned}$$

so the claim holds. Note that \(A\cdot \Delta \) is the open region whose boundary is the ellipse \(A\cdot S^1\) centered at the origin, so \(S^1\cap A\cdot \Delta \) consists of all points in \(S^1\) with slope strictly between 0 and \(1/t_0\) (see, for instance, Fig. 7, setting \(A=T^2\) and \(t_0=1\)). It follows that

$$\begin{aligned}S(A)=\{t\in {\mathbb {R}}\ |\ t\le t_0\}\cup \{\infty \}=\overline{H(A)}\cap \partial {\mathbb {H}}.\end{aligned}$$

Now consider general \(A\in \Gamma \backslash \text {SO}_2{\mathbb {R}}\), and fix \(B\in \text {SO}_2{\mathbb {R}}\) such that \(BAi=i+2t_0\) for some \(t_0\in {\mathbb {R}}_+\). From the argument above, we have

$$\begin{aligned}S(BA)=\overline{H(BA)}\cap \partial {\mathbb {H}}.\end{aligned}$$

We claim that \(S(BA)=BS(A)\) and \(H(BA)=BH(A)\). By definition, \(t\in S(BA)\) if and only if there is some \((x,y)^T\in S^1\backslash BA\cdot \Delta \) with \(x/y=t\). The latter inclusion is equivalent to \(B^{-1}(x,y)^T\in B^{-1}(S^1\backslash BA\cdot \Delta )=S^1\backslash A\cdot \Delta \) since \(B^{-1}\in \text {SO}_2{\mathbb {R}}\). Writing \(B^{-1}=({\begin{matrix} e &{} f\\ g &{} h\end{matrix}})\), we find \(B^{-1}(x,y)^T=(ex+fy,gx+hy)^T\). But \(B^{-1}t=B^{-1}(x/y)=(ex+fy)/(gx+hy)\) is the reciprocal of the slope of \(B^{-1}(x,y)^T\in S^1\backslash A\cdot \Delta \), so \(t\in S(BA)\) if and only if \(B^{-1}t\in S(A)\), as desired. For the second claim, note that \(\tau \in H(BA)\) if and only if \(d_{{\mathbb {H}}}(i,\tau )\le d_{{\mathbb {H}}}(BAi,\tau )\). Since \(B^{-1}\) is an isometry fixing i, this inequality is equivalent to \(d_{{\mathbb {H}}}(i,B^{-1}\tau )\le d_{{\mathbb {H}}}(Ai,B^{-1}\tau )\), which is true if and only if \(B^{-1}\tau \in H(A)\).

Next we show that

$$\begin{aligned}\overline{D(\Gamma )}=\bigcap _{A\in \Gamma }\overline{H(A)}.\end{aligned}$$

The forward inclusion holds as the closure of an intersection of sets is always contained in the intersection of the closures of the sets. For the reverse inclusion, suppose \(\tau \in \bigcap _{A\in \Gamma }\overline{H(A)}\backslash \{i\}\), and let \(\gamma \) be a geodesic segment in \({\mathbb {H}}\) without endpoints, for which \({\overline{\gamma }}\) has endpoints i and \(\tau \). Since \(\tau \in \overline{H(A)}\) for each \(A\in \Gamma \) and each H(A) is convex with i in its interior, we have \(\gamma \subset \bigcap _{A\in \Gamma }H(A)=D(\Gamma )\). Hence \(\tau \in {\overline{\gamma }}\subset \overline{D(\Gamma )}\), so the claim holds.

It follows that

$$\begin{aligned} S_\Gamma&=\bigcap _{A\in \Gamma }S(A)=\bigcap _{A\in \Gamma }\left( \overline{H(A)}\cap \partial {\mathbb {H}}\right) =\left( \bigcap _{A\in \Gamma }\overline{H(A)}\right) \cap \partial {\mathbb {H}}=\overline{D(\Gamma )}\cap \partial {\mathbb {H}}. \end{aligned}$$

\(\square \)

With the aid of Proposition 4.2, lattices may be characterized as the finitely generated discrete groups \(\Gamma \) for which the set of directions \(\Theta _\Gamma \) is finite. Furthermore, for a lattice \(\Gamma \), the set of directions \(\Theta _\Gamma \) may be computed in finite time:

Lemma 4.3

A discrete subgroup \(\Gamma \subset \textrm{SL}_2{\mathbb {R}}\) is a lattice if and only if it is a finitely generated fanning group. In this case there is some finite subset \(\Gamma _n\subset \Gamma \) for which \(\Theta _\Gamma =\Theta _{\Gamma _n}\).

Proof

Let \(\Lambda \) denote the image in \(\text {PSL}_2{\mathbb {R}}\) of \(\Gamma \cap \text {SO}_2{\mathbb {R}}\). As \(\Lambda \) contains only elliptic elements, it is a finite cyclic group of order, say, n (Corollary 2.4.2 of [15]). Let \(A_0\in \Lambda \) be a generator of this group. Recall that if \(n=1\), then \(D(\Gamma )\) is the Dirichlet region centered at i for \(\Gamma \) and is thus a convex fundamental polygon. If \(n>1\), then \(D(\Gamma )\) is no longer a fundamental domain: one finds that \(A_0D(\Gamma )=D(\Gamma )\), and the interior of \(D(\Gamma )\) contains n points from each orbit \(\Gamma \tau ,\ \tau \in {\mathbb {H}}\). Let \(\gamma _0\) denote a geodesic segment beginning at i and ending on \(\partial D(\Gamma )\). For each \(0\le j<n\), the geodesic segment \(\gamma _j:=A_0^j\gamma _0\) also begins and ends at i and \(\partial D(\Gamma )\). Let \({\mathcal {F}}_0\subset D(\Gamma )\) denote the convex polygon bounded by \(\gamma _0,\gamma _1\) and \(\partial D(\Gamma )\). A slight generalization of the proof of Theorem 3.2.2 of [15] shows that \({\mathcal {F}}_0\) is a convex fundamental polygon for \(\Gamma \). In particular,

$$\begin{aligned}\mu _{\mathbb {H}}(D(\Gamma ))=n\mu _{\mathbb {H}}({\mathcal {F}}_0)=n\mu _{\mathbb {H}}(\Gamma \backslash {\mathbb {H}}),\end{aligned}$$

where \(\mu _{\mathbb {H}}\) denotes hyperbolic area. Hence \(\Gamma \) is a lattice if and only if \(\mu _{\mathbb {H}}(D(\Gamma ))\) is finite.

Suppose \(\Gamma \) is a lattice. Then \(\Gamma \) is geometrically finite and hence finitely generated. If \(\Gamma \) is not a fanning group, then \(\Theta _\Gamma \)—and, consequently, \(S_\Gamma \)—is infinite. By Proposition 4.2, \(\overline{D(\Gamma )}\cap \partial {\mathbb {H}}\) is infinite, and by Gauss-Bonnet, \(D(\Gamma )\) has infinite hyperbolic area. This is a contradiction, so \(\Gamma \) is a finitely generated fanning group.

Now assume \(\Gamma \) is a finitely generated fanning group. Again by Proposition 4.2, this implies that \(\overline{D(\Gamma )}\cap \partial {\mathbb {H}}\) is finite, so \({\mathcal {F}}_0\subset D(\Gamma )\) has no free sides and at most finitely many cusps. Since \(\Gamma \) is finitely generated, it is geometrically finite and thus every convex fundamental polygon for \(\Gamma \) has finitely many sides (Theorem 10.1.2 of [1]). By Gauss-Bonnet, \(\Gamma \) is a lattice, and the first statement is proven.

For the second statement, suppose \(\Gamma \) is a lattice. From the previous paragraph, we know that \({\mathcal {F}}_0\) has finitely many sides, and thus the same is true of \(D(\Gamma )\). But then there is some finite subset \(\Gamma _n\subset \Gamma \) for which \(D(\Gamma _n)=D(\Gamma )\), and by Proposition 4.2, \(S_\Gamma =S_{\Gamma _n}\), which implies \(\Theta _\Gamma =\Theta _{\Gamma _n}\). \(\square \)

4.2 The group \(\text {Aff}^+_{\mathcal {O}}(X,\omega )\) and its action on marked segments

Let \((X,\omega )\in {\mathcal {H}}(d_1,\dots ,d_\kappa )\) and \({\mathcal {O}}={\mathcal {O}}(d_1,\dots ,d_\kappa ).\) A central result of [6] (Theorem 18) and [7] (Proposition 17) is that a matrix \(A\in \textrm{SL}_2{\mathbb {R}}\) belongs to \(\textrm{SL}(X,\omega )\) if and only if there is some \(f\in \text {Aff}^+({\mathcal {O}})\) with \(\text {der}(f)=A\) satisfying \(f(\widehat{{\mathcal {S}}}(X,\omega ))\subset \widehat{{\mathcal {M}}}(X,\omega )\). Theorem 17 of [6] shows that the same statement holds with the latter subset inclusion replaced by the equality \(f(\widehat{{\mathcal {M}}}(X,\omega ))=\widehat{{\mathcal {M}}}(X,\omega )\). Note, in particular, that these statements require the affine automorphism f to respect the orientation-pairing of marked segments—it is not enough that the set of marked segments \(\widehat{{\mathcal {M}}}_F(X,\omega )\) is invariant under f to conclude that \(\text {der}(f)\in \textrm{SL}(X,\omega )\) (see Example 21 of [7]). We introduce the following notation for the collection of such affine automorphisms of \({\mathcal {O}}\):

Definition 4.2

Let

$$\begin{aligned}\text {Aff}_{\mathcal {O}}^+(X,\omega ):=\{f\in \text {Aff}^+({\mathcal {O}})\ |\ f(\widehat{{\mathcal {M}}}(X,\omega ))=\widehat{{\mathcal {M}}}(X,\omega )\}.\end{aligned}$$

Note that \(\text {Aff}^+_{\mathcal {O}}(X,\omega )\) is a subgroup of \(\text {Aff}^+({\mathcal {O}})\). From the comments above we see that the image of \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\) under \(\text {der}(\cdot )\) is precisely the Veech group \(\Gamma =\textrm{SL}(X,\omega )\) (though \(\text {der}(\cdot )\) restricted to \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\) need not be injective, so \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\) and \(\textrm{SL}(X,\omega )\) are in general non-isomorphic). The group \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\) acts on \(\widehat{{\mathcal {M}}}(X,\omega )\) via

$$\begin{aligned} \text {Aff}_{\mathcal {O}}^+(X,\omega )\times \widehat{{\mathcal {M}}}(X,\omega )&\rightarrow \widehat{{\mathcal {M}}}(X,\omega )\\ (f,\{{\hat{s}},{\hat{s}}'\})&\mapsto \{f({\hat{s}}),f({\hat{s}}')\}. \end{aligned}$$

Note in particular that \(f({\hat{s}}')=f({\hat{s}})'\). For any \(\{{\hat{s}},{\hat{s}}'\}\in \widehat{{\mathcal {M}}}(X,\omega )\), let \([\{{\hat{s}},{\hat{s}}'\}]\) denote the orbit of \(\{{\hat{s}},{\hat{s}}'\}\) under this action.

Recall from Sect. 3.3 that \((X,\omega )\) may be reconstructed from its marked Voronoi staples \(\widehat{{\mathcal {S}}}(X,\omega )\subset \widehat{{\mathcal {M}}}(X,\omega )\). The goal of Algorithm 1.1 is to construct—using only \(\Gamma =\textrm{SL}(X,\omega )\) and \(d_1\le \dots \le d_\kappa \)—increasing subsets of \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\)-orbits \([\{{\hat{s}},{\hat{s}}'\}]\) whose union eventually contains \(\widehat{{\mathcal {S}}}(X,\omega )\). To this end, the two main obstacles we face are

  1. (i)

    determining \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\), and

  2. (ii)

    determining a representative \(\{{\hat{s}},{\hat{s}}'\}\) of each of the \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\)-orbits \([\{{\hat{s}},{\hat{s}}'\}]\) intersecting \(\widehat{{\mathcal {S}}}(X,\omega )\)

using only the data \(\Gamma \) and \(d_1\le \dots \le d_\kappa \). The first challenge is addressed by the following:

Lemma 4.4

Let G be a set of generators of \(\Gamma \le \textrm{SL}_2{\mathbb {R}}\). Then for any \((X,\omega )\in {\mathcal {H}}(d_1,\dots ,d_\kappa )\) with \(\textrm{SL}(X,\omega )=\Gamma \), the group \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\) is generated by a subset of

$$\begin{aligned}G_{\mathcal {O}}:=\{\tau \circ f_A\ |\ \tau \in \text {Trans}({\mathcal {O}}),\ f_A\in \text {Aff}_C^+({\mathcal {O}}),\ A\in G\}.\end{aligned}$$

In particular, if G is finite then \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\) is generated by a subset of the finite set \(G_{\mathcal {O}}\).

Proof

For each \(A\in G\), fix \(g_A\in \text {Aff}_{\mathcal {O}}^+(X,\omega )\) with \(\text {der}(g_A)=A\). Recall that \(g_A\) may be written uniquely as \(g_A=\tau _A\circ f_A\), where \(\tau _A\in \text {Trans}({\mathcal {O}})\) and \(f_A\in \text {Aff}_C^+({\mathcal {O}})\), so the set of such \(g_A\) is contained in \(G_{\mathcal {O}}\). Let \(\Lambda \) be the subgroup of \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\) generated by these \(g_A\). Since \(\text {Trans}({\mathcal {O}})\) is closed under composition, it suffices to show that \(\text {Aff}_{\mathcal {O}}^+(X,\omega )=\cup \ \tau \Lambda \), where the union is over some collection of \(\tau \in \text {Trans}({\mathcal {O}})\).

Now let \(f\in \text {Aff}_{\mathcal {O}}^+(X,\omega )\) be arbitrary and \(A:=\text {der}(f)\in \textrm{SL}(X,\omega )\). The matrix A may be written as a product \(A=A_1^{\delta _1}\cdots A_m^{\delta _m},\ \delta _j\in \{\pm 1\},\) of elements \(A_j\) in the generating set G and their inverses. Set \(g:=g_{A_1}^{\delta _1}\dots g_{A_m}^{\delta _m}\in \Lambda \), with each \(g_{A_j}\) a chosen generator of \(\Lambda \) as above. Then \(\text {der}(f\circ g^{-1})=\text {Id}\), so \(\tau :=f\circ g^{-1}\in \text {Trans}({\mathcal {O}})\) and \(f\in \tau \Lambda \) as desired.

The final statement of the Lemma follows immediately from finiteness of both \(\text {Trans}({\mathcal {O}})\) (Lemma 3.1) and G. \(\square \)

For challenge (ii) mentioned above, we wish to determine the generalized polar coordinates of representatives of \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\)-orbits. In the proof of the following Lemma—which is also crucial for Algorithm 1.1—it is shown that the directions of the shortest representatives \(\{{\hat{s}},{\hat{s}}'\}\) of each orbit \([\{{\hat{s}},{\hat{s}}'\}]\) are announced by the set \(\Theta _{\textrm{SL}(X,\omega )}\). The more delicate procedure of determining the lengths of such representatives is addressed in Sect. 4.5.

Lemma 4.5

If \((X,\omega )\) is a fanning surface, then the orbit space

$$\begin{aligned}\widehat{{\mathcal {M}}}(X,\omega )/\text {Aff}_{\mathcal {O}}^+(X,\omega )=\left\{ [\{{\hat{s}},{\hat{s}}'\}]\ \big |\ \{{\hat{s}},{\hat{s}}'\}\in \widehat{{\mathcal {M}}}(X,\omega )\right\} \end{aligned}$$

is finite.

Proof

Let \([\{{\hat{s}},{\hat{s}}'\}]\in \widehat{{\mathcal {M}}}(X,\omega )/\text {Aff}_{\mathcal {O}}^+(X,\omega )\). The image under \({\varvec{\pi }}(\cdot )\) of \([\{{\hat{s}},{\hat{s}}'\}]\) consists of pairs \(\{\pm v\}\) of holonomy vectors in \({\mathbb {C}}\), among which there is some pair of minimal length. The preimage under \({\varvec{\pi }}(\cdot )\) of this pair is a finite set in \({\mathcal {O}}\) containing a pair of orientation-paired marked segments \(\{{\hat{s}},{\hat{s}}'\}\) of minimal length in \([\{{\hat{s}},{\hat{s}}'\}]\). Rescaling \((X,\omega )\) if necessary, we may assume \(|{\hat{s}}|=|{\hat{s}}'|=1\). We claim that

$$\begin{aligned}\left\{ {\varvec{\pi }}({\hat{s}}),{\varvec{\pi }}({\hat{s}}')\right\} \subset \Theta _{\textrm{SL}(X,\omega )}.\end{aligned}$$

Note for each \(A\in \textrm{SL}(X,\omega )\) that \({\varvec{\pi }}({\hat{s}})\notin S^1\cap A\cdot \Delta \): otherwise \(A^{-1}\cdot {\varvec{\pi }}({\hat{s}})\in \Delta \), but the comments following Definition 4.2 together with Lemma 3.2 imply \(A^{-1}\cdot {\varvec{\pi }}({\hat{s}})={\varvec{\pi }}\circ f({\hat{s}})\) for some \(f\in \text {Aff}^+_{\mathcal {O}}(X,\omega )\) with \(\text {der}(f)=A^{-1}\). Since \(1>|{\varvec{\pi }}\circ f({\hat{s}})|=|f({\hat{s}})|\), this contradicts the assumption that \(\{{\hat{s}},{\hat{s}}'\}\) is a pair of minimal length in \([\{{\hat{s}},{\hat{s}}'\}]\). The same is true for \({\varvec{\pi }}({\hat{s}}')\), so we find that

$$\begin{aligned}\left\{ {\varvec{\pi }}({\hat{s}}),{\varvec{\pi }}({\hat{s}}')\right\} \subset \bigcap _{A\in \textrm{SL}(X,\omega )}(S^1\backslash A\cdot \Delta )=S^1\backslash \bigcup _{A\in \textrm{SL}(X,\omega )} A\cdot \Delta =\Theta _{\textrm{SL}(X,\omega )}\end{aligned}$$

as claimed.

For each \(v\in S^1\), let \(r_v\) denote the infinite open ray emanating from \(0\in {\mathbb {C}}\) in the direction of v. Note that the preimage \({\varvec{\pi }}^{-1}(r_v)\subset {\mathcal {O}}\) consists of \(\sum _{i=1}^\kappa (d_i+1)=2g-2+\kappa \) infinite open rays emanating from the origins of the various components of \({\mathcal {O}}\), and each of these rays contains at most one marked segment of \((X,\omega )\) (Proposition 3.8). From the claim above, the minimal-length representatives of each \([\{{\hat{s}},{\hat{s}}'\}]\in \widehat{{\mathcal {M}}}(X,\omega )/\text {Aff}_{\mathcal {O}}^+(X,\omega )\) belong to one of the \(2g-2+\kappa \) open rays of \({\varvec{\pi }}^{-1}(r_v)\) for some \(v\in \Theta _{\textrm{SL}(X,\omega )}\). Hence

$$\begin{aligned}\left| \widehat{{\mathcal {M}}}(X,\omega )/\text {Aff}_{\mathcal {O}}^+(X,\omega )\right| \le (2g-2+\kappa )\cdot |\Theta _{\textrm{SL}(X,\omega )}|,\end{aligned}$$

where \(|\cdot |\) denotes cardinality. Since \((X,\omega )\) is a fanning surface, the right-hand side is finite. \(\square \)

The proof of Lemma 4.5 also gives the following:

Corollary 4.6

Let \((X,\omega )\) be a fanning surface and \([\{{\hat{s}},{\hat{s}}'\}]\in \widehat{{\mathcal {M}}}(X,\omega )/\text {Aff}_{\mathcal {O}}^+(X,\omega )\). If \(\{{\hat{s}},{\hat{s}}'\}\) are orientation-paired marked segments of minimal length in \([\{{\hat{s}},{\hat{s}}'\}]\), then \({\varvec{\pi }}({\hat{s}})/|{\varvec{\pi }}({\hat{s}})|\) and \({\varvec{\pi }}({\hat{s}}')/|{\varvec{\pi }}({\hat{s}}')|\) belong to the finite set \(\Theta _{\textrm{SL}(X,\omega )}\).

4.3 Simulating normalized \(\text {Aff}^+_{\mathcal {O}}(X,\omega )\)-orbits

The set of orientation-paired marked segments \(\widehat{{\mathcal {M}}}(X,\omega )\) (and the set of \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\)-orbits into which it partitions) depends intrinsically on \((X,\omega )\) and its geometry. The results of the previous subsection suggest that in the case of a fanning surface, much of this information is encoded in the Veech group \(\textrm{SL}(X,\omega )\). This subsection further explores these ideas by introducing simulations of \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\)-orbits which are constructed via generators of a fanning group. We again fix a stratum \({\mathcal {H}}(d_1,\dots ,d_\kappa )\).

Definition 4.3

Let \(\Gamma \le \textrm{SL}_2{\mathbb {R}}\) be a fanning group generated by \(G\subset \Gamma \) and set

$$\begin{aligned}{\mathfrak {S}}_G:=\{(H,\{p,p^-\})\in 2^{G_{\mathcal {O}}}\backslash \{\varnothing \}\times {\mathbb {P}}({\mathcal {O}})\ |\ {\varvec{\pi }}(p),{\varvec{\pi }}(p^-)\in \Theta _\Gamma \},\end{aligned}$$

where \(G_{\mathcal {O}}\) is defined as in Lemma 4.4 and \(2^{G_{\mathcal {O}}}\) is the power set of \(G_{\mathcal {O}}\). For each \({\mathfrak {s}}:=(H,\{p,p^-\})\in {\mathfrak {S}}_G\), define the stage 0 simulation determined by \({\mathfrak {s}}\) by \(\text {sim}^0({\mathfrak {s}}):=\{\{p,p^-\}\}\subset {\mathbb {P}}({\mathcal {O}})\), and for \(n\ge 1\) define the stage n simulation determined by \({\mathfrak {s}}\) recursively as

$$\begin{aligned}\text {sim}^n({\mathfrak {s}}):=\bigcup _{f\in H\cup \{\text {Id}\}} f^{\pm 1}(\text {sim}^{n-1}({\mathfrak {s}}))\subset {\mathbb {P}}({\mathcal {O}}).\end{aligned}$$

The simulation determined by \({\mathfrak {s}}\) is the union \(\text {sim}({\mathfrak {s}}):=\bigcup _{n\ge 0}\text {sim}^n({\mathfrak {s}})\) of all stage n simulations determined by \({\mathfrak {s}}\). Denote by

$$\begin{aligned}\text {Sims}_G:= & {} \{\text {sim}({\mathfrak {s}})\ |\ \text {sim}({\mathfrak {s}})\ \text {is distinctive},\ {\mathfrak {s}}\in {\mathfrak {S}}_G\}\ \ \ \text {and}\ \ \ \\ \text {Sims}^n_G:= & {} \{\text {sim}^n({\mathfrak {s}})\ |\ \text {sim}^n({\mathfrak {s}})\ \text {is distinctive},\ {\mathfrak {s}}\in {\mathfrak {S}}_G\}\end{aligned}$$

the set of all distinctive simulations and set of all stage n distinctive simulations, respectively, determined by G. For any \(r\in {\mathbb {R}}_+\), the r-scaled (stage n) simulation is \(r\text {sim}({\mathfrak {s}})\) (\(r\text {sim}^n({\mathfrak {s}})\)). Finally, set \(\text {sim}_F({\mathfrak {s}}):=(\text {sim}({\mathfrak {s}}))_F\subset {\mathcal {O}}\) and \(\text {sim}^n_F({\mathfrak {s}}):=(\text {sim}^n({\mathfrak {s}}))_F\subset {\mathcal {O}}\) (recall Definition 3.4).

Note that by construction, the stage n simulation \(\text {sim}^n({\mathfrak {s}})\) is the set of images in \({\mathcal {O}}\) of the oppositely-projected pair \(\{p,p^-\}\) under all compositions of at most n elements of H and their inverses, and the simulation \(\text {sim}({\mathfrak {s}})\) is simply the \(\langle H\rangle \)-orbit of \(\{p,p^-\}\). Furthermore, the distinctive simulations in \(\text {Sims}_G\) and \(\text {Sims}^n_G\) are limit-point free since \(\Gamma \) is discrete.

Recall \(S,\ T\) and \(\Gamma \) from Example 4.1.

Example 4.7

Let \(G:=\{S,T^2\}\), \({\mathcal {O}}={\mathcal {O}}(2)\), and set

$$\begin{aligned}{\mathfrak {s}}_0:=(H,\{p_0,p_0^-\})\in {\mathfrak {S}}_{G},\end{aligned}$$

where \(H=\{\rho _1^2\circ f_{S}, f_{T^2}\}\), and \(p_0,p_0^-\in {\mathcal {O}}_1={\mathcal {O}}\) have unit length (this is required since \({\varvec{\pi }}(p_0),{\varvec{\pi }}(p_0^-)\in \Theta _\Gamma \subset S^1\)) and arguments \(\text {arg}(p_0)=0\) and \(\text {arg}(p_0^-)=5\pi \). The map \(\rho _1^2\circ f_{S}\) acts as a counterclockwise rotation of \({\mathcal {O}}\) by an angle of \(\pi /2+4\pi =9\pi /2\), and \(f_{T^2}\) is a bijective horizontal shear on each \(c_j^1\). A subset of the simulation \(\text {sim}({\mathfrak {s}}_0)\) is shown in cyan in Fig. 8. In red and yellow are subsets of \(\text {sim}({\mathfrak {s}}_1)\) and \(\text {sim}({\mathfrak {s}}_2)\), respectively, for

$$\begin{aligned}{\mathfrak {s}}_1:=(H,\{p_1,p_1^-\})\in {\mathfrak {S}}_G\end{aligned}$$

and

$$\begin{aligned}{\mathfrak {s}}_2:=(H,\{p_2,p_2^-\})\in {\mathfrak {S}}_G,\end{aligned}$$

where \(\text {arg}(p_1)=4\pi ,\ \text {arg}(p_1^-)=\pi ,\ \text {arg}(p_2)=\pi /4\) and \(\text {arg}(p_2^-)=13\pi /4\).

Fig. 8
figure 8

Three (subsets) of the simulations \(\text {sim}({\mathfrak {s}}_0),\ \text {sim}({\mathfrak {s}}_1),\ \text {sim}({\mathfrak {s}}_2)\in \text {Sims}_{G}\) from Example 4.7 are shown in cyan, red and yellow, respectively. A label j next to a point p indicates to which \(c_j^1\) the point \(p^-\) belongs

Observe that Definition 4.3 and Lemmas 4.3 and 4.4 immediately imply:

Lemma 4.8

If \(\Gamma \) is a lattice, then there exists a set of generators G of \(\Gamma \) for which the set of simulations \(\text {Sims}_G\) is finite.

Remark

Recall from Lemma 4.3 that for a lattice \(\Gamma \), the set of directions \(\Theta _\Gamma \) may be computed in finite time. Indeed, letting \(\Gamma _n\) be the subset of \(\Gamma \) consisting of all words of length no greater than n in the generators G and their inverses, there is some \(n\in {\mathbb {N}}\) for which \(\Theta _{\Gamma _n}=\Theta _\Gamma \). In general, \(\Theta _{\Gamma _n}\supset \Theta _\Gamma \), and it may be difficult to determine when equality holds. Thus in practice, the set \(\Theta _\Gamma \) in the definition of \({\mathfrak {S}}_G\) (Definition 4.3) is replaced by some finite \(\Theta _{\Gamma _n}\) containing \(\Theta _\Gamma \). Such a replacement does not affect the statements of the results in the remainder of the paper, though it could increase the size of the—still finite—set of simulations \(\text {Sims}_G\).

Definition 4.4

Let \(r\in {\mathbb {R}}_+\) be the minimal length of orientation-paired marked segments in \([\{{\hat{s}},{\hat{s}}'\}]\in \widehat{{\mathcal {M}}}(X,\omega )/\text {Aff}_{\mathcal {O}}^+(X,\omega )\). For any marked segment \({\hat{s}}\) belonging to a pair in the orbit \([\{{\hat{s}},{\hat{s}}'\}]\), the normalized marked segment corresponding to \({\hat{s}}\) is \(n({\hat{s}}):=(1/r){\hat{s}}\). Set \(n({\hat{s}})':=n({\hat{s}}')\), and define the normalized \(\text {Aff}^+_{\mathcal {O}}(X,\omega )\)-orbit corresponding to \([\{{\hat{s}},{\hat{s}}'\}]\) as

$$\begin{aligned}n([\{{\hat{s}},{\hat{s}}'\}]):=\big \{\{n({\hat{s}}),n({\hat{s}})'\}\ \big |\ {\{{\hat{s}},{\hat{s}}'\}\in [\{{\hat{s}},{\hat{s}}'\}]}\big \}.\end{aligned}$$

Thus the normalized \(\text {Aff}^+_{\mathcal {O}}(X,\omega )\)-orbit corresponding to \([\{{\hat{s}},{\hat{s}}'\}]\) takes all points of the orbit \([\{{\hat{s}},{\hat{s}}'\}]\) and rescales them (by a constant scalar 1/r) so that the minimal length of a pair in the orbit is one.

Theorem 4.9

If \((X,\omega )\) is a fanning surface, then \(\widehat{{\mathcal {M}}}(X,\omega )\) is a finite union of scaled simulations. In particular, if \(\Gamma \le \textrm{SL}_2{\mathbb {R}}\) is a fanning group generated by \(G\subset \Gamma \), then

$$\begin{aligned}\left\{ n([\{{\hat{s}},{\hat{s}}'\}])\ \Big |\ [\{{\hat{s}},{\hat{s}}'\}]\in \widehat{{\mathcal {M}}}(X,\omega )/\text {Aff}_{\mathcal {O}}^+(X,\omega )\ \text {for some}\ (X,\omega )\ \text {with}\ \textrm{SL}(X,\omega )=\Gamma \right\} \subset \text {Sims}_G.\end{aligned}$$

Proof

We will prove the second statement; the first follows from this together with Lemma 4.5. Let \((X,\omega )\) be a translation surface with \(\textrm{SL}(X,\omega )=\Gamma \), and let G be a (finite or infinite) set of generators for \(\Gamma \). By Lemma 4.4, there is some subset \(H\subset G_{\mathcal {O}}\) which generates \(\text {Aff}^+_{\mathcal {O}}(X,\omega )\). Now let \([\{{\hat{s}},{\hat{s}}'\}]\in \widehat{{\mathcal {M}}}(X,\omega )/\text {Aff}_{\mathcal {O}}^+(X,\omega )\) with \(\{{\hat{s}},{\hat{s}}'\}\) a pair of minimal length in \([\{{\hat{s}},{\hat{s}}'\}]\). Set \(p:=n({\hat{s}})\) and \(p^-:=n({\hat{s}})'\). By Corollary 4.6, \({\varvec{\pi }}(p)={\varvec{\pi }}({\hat{s}})/|{\varvec{\pi }}({\hat{s}})|\) and \({\varvec{\pi }}(p^-)={\varvec{\pi }}({\hat{s}}')/|{\varvec{\pi }}({\hat{s}}')|\) belong to the finite set \(\Theta _\Gamma \), so \({\mathfrak {s}}:=(H,\{p,p^-\})\in {\mathfrak {S}}_G\). Furthermore, \(\text {sim}({\mathfrak {s}})\) is the \(\langle H\rangle =\text {Aff}^+_{\mathcal {O}}(X,\omega )\)-orbit of \(\{p,p^-\}=\{n({\hat{s}}),n({\hat{s}})'\}\), and this is precisely the set \(n([\{{\hat{s}},{\hat{s}}'\}])\). By Proposition 3.8, \([\{{\hat{s}},{\hat{s}}'\}]\)—and thus also \(n([\{{\hat{s}},{\hat{s}}'\}])\)—is distinctive; hence \(n([\{{\hat{s}},{\hat{s}}'\}])\in \text {Sims}_G\). \(\square \)

Theorem 4.9 implies that for any fanning group \(\Gamma \), the orientation-paired marked segments \(\widehat{{\mathcal {M}}}(X,\omega )\) of any \((X,\omega )\) with Veech group \(\Gamma \) are given by a finite collection of simulations, each of which is appropriately scaled. Recall that the marked Voronoi staples \(\widehat{{\mathcal {S}}}(X,\omega )\)—from which \((X,\omega )\) may be reconstructed—are determined by \(\widehat{{\mathcal {M}}}(X,\omega )\) (Sect. 3.3). In Sect. 4.5, we show that for any finite collection of simulations, there are at most finitely many scalars for which the union of scaled simulations agrees with the marked segments of a unit-area translation surface. Together with Lemma 4.8, this will prove Theorem 1.2.

4.4 Marked Voronoi staples determine permissible triples

Let \((X,\omega )\in {\mathcal {H}}(d_1,\dots ,d_\kappa )\) and \({\mathcal {O}}={\mathcal {O}}(d_1,\dots ,d_\kappa )\). In this subsection we apply the results of Sect. 3.2 to orientation-paired marked segments and their \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\)-orbits. In particular, we shall see that adjacent elements of \(\widehat{{\mathcal {S}}}_F(X,\omega )\) naturally determine permissible triples (Proposition 4.11). To this end, we begin with the following:

Lemma 4.10

For any two adjacent \({\hat{s}},{\hat{t}}\in \widehat{{\mathcal {S}}}_F(X,\omega )\), we have

$$\begin{aligned}B({\hat{s}},{\hat{t}})\cap \widehat{{\mathcal {M}}}_F(X,\omega )=\varnothing .\end{aligned}$$

Moreover, \([{\hat{s}},{\hat{t}}]\in \widehat{{\mathcal {M}}}_F(X,\omega )\) with \([{\hat{s}},{\hat{t}}]'=[{\hat{t}},{\hat{s}}]\).

Proof

Let i be the index for which \({\hat{s}},{\hat{t}}\in {\mathcal {O}}_i\), and recall from Definition 3.3 that the circumcenter \(c:=c({\hat{s}},{\hat{t}})\) determined by \({\hat{s}},{\hat{t}}\in {\mathcal {O}}_i\) is the intersection of \(\partial H({\hat{s}})\) and \(\partial H({\hat{t}})\). Since \({\hat{s}},{\hat{t}}\in \widehat{{\mathcal {S}}}_F(X,\omega )\) are essential points of \(\Omega _i\), there are two (adjacent) edges of \(\Omega _i\) contained in \(\partial H({\hat{s}})\) and \(\partial H({\hat{t}})\), respectively. The intersection of these edges is precisely the circumcenter c, so \(c\in \Omega _i\). Suppose for the sake of contradiction that there is some marked segment \({\hat{u}}\in B({\hat{s}},{\hat{t}})\). Then

$$\begin{aligned}d({\hat{u}},c)<|c|=d(0,c),\end{aligned}$$

and hence \(c\notin H({\hat{u}})\). This contradicts the fact that \(c\in \Omega _i\), so we have

$$\begin{aligned}B({\hat{s}},{\hat{t}})\cap \widehat{{\mathcal {M}}}_F(X,\omega )=\varnothing .\end{aligned}$$

This result—together with the convexity of \(B({\hat{s}},{\hat{t}})\) and the fact that \(0\in \partial B({\hat{s}},{\hat{t}})\)—gives that \(B({\hat{s}},{\hat{t}})\subset \text {star}_i(X,\omega )\), so \(\eta \) is defined on all of \(B({\hat{s}},{\hat{t}})\). Let \(\gamma \) be the straight line segment in \({\mathcal {O}}_i\) from \({\hat{s}}\) to \({\hat{t}}\), and let \(\sigma _j,\sigma _k\in \Sigma \) be the singularities at which the oriented saddle connections s and t end, respectively. Then, recycling notation, \(u:=\eta (\gamma )\) is a saddle connection from \(\sigma _j\) to \(\sigma _k\), and \({\hat{u}}\in \widehat{{\mathcal {M}}}_F(X,\omega )\). We claim that \({\hat{u}}=[{\hat{s}},{\hat{t}}]\).

By Proposition 3.10, \({\hat{s}}\) and \({\hat{t}}\) belong to the same open \(\pi \)-sector of \({\mathcal {O}}_i\). We also have by Proposition 3.8 that \(\text {arg}({\hat{s}})\ne \text {arg}({\hat{t}})\), so \([{\hat{s}},{\hat{t}}]\) is in fact defined. It is clear from the definition of \({\hat{u}}\) that \({\hat{s}}'\) and \({\hat{u}}\) belong to the same open \(\pi \)-sector of the same component \({\mathcal {O}}_j\). Furthermore, \({\varvec{\pi }}({\hat{u}})={\varvec{\pi }}({\hat{t}})-{\varvec{\pi }}({\hat{s}})\); see Fig. 9. By Definition 3.6, we have \({\hat{u}}=[{\hat{s}},{\hat{t}}]\). Reversing the orientation of \(\gamma \) in the argument above gives that \({\hat{u}}'=[{\hat{t}},{\hat{s}}]\). \(\square \)

Fig. 9
figure 9

Illustration of the proof of Lemma 4.10, showing that \({\hat{u}}=[{\hat{s}},{\hat{t}}]\) is a marked segment for adjacent \({\hat{s}},{\hat{t}}\in \widehat{{\mathcal {S}}}_F(X,\omega )\)

Recall that permissible triples are defined in terms of three distinctive, limit-point free subsets of \({\mathbb {P}}({\mathcal {O}})\) (Definition 3.7). We introduce notation for a set of—a priori non-permissible—triples determined by adjacent \({\hat{s}},{\hat{t}}\in \widehat{{\mathcal {S}}}_F(X,\omega )\) and subsequently prove that these are in fact permissible triples belonging to the set \({\mathcal {P}}(\text {Sim}_G)\), where \(\text {SL}(X,\omega )=\langle G\rangle \).

Definition 4.5

For \((X,\omega )\in {\mathcal {H}}(d_1,\dots ,d_\kappa )\), let

$$\begin{aligned}{\mathcal {P}}(X,\omega ):=\{(n({\hat{s}}),n({\hat{t}}),n([{\hat{s}},{\hat{t}}]))\ |\ {\hat{s}},\ {\hat{t}}\ \text {are adjacent elements of}\ \widehat{{\mathcal {S}}}_F(X,\omega )\}.\end{aligned}$$

Proposition 4.11

For any fanning group \(\Gamma \le \textrm{SL}_2{\mathbb {R}}\) generated by \(G\subset \Gamma \) and any \((X,\omega )\in {\mathcal {H}}(d_1,\dots ,d_\kappa )\) with Veech group \(\textrm{SL}(X,\omega )=\Gamma \), we have \({\mathcal {P}}(X,\omega )\subset {\mathcal {P}}(\text {Sims}_G)\). Moreover, if G is finite (i.e. \(\Gamma \) is a lattice), then there exists some \(N\in {\mathbb {N}}\) such that for any \((X,\omega )\in {\mathcal {H}}(d_1,\dots ,d_\kappa )\) with Veech group \(\textrm{SL}(X,\omega )=\Gamma \), we have \({\mathcal {P}}(X,\omega )\subset {\mathcal {P}}(\text {Sims}_G)\subset {\mathcal {P}}(\text {Sims}^N_G)\).

Proof

Let \((n({\hat{s}}),n({\hat{t}}),n([{\hat{s}},{\hat{t}}]))\in {\mathcal {P}}(X,\omega )\) for some \((X,\omega )\) with Veech group \(\Gamma \). By Theorem 4.9, there are \({\mathfrak {s}}_{{\hat{s}}},{\mathfrak {s}}_{{\hat{t}}},{\mathfrak {s}}_{[{\hat{s}},{\hat{t}}]}\in {\mathfrak {S}}_G\) for which

$$\begin{aligned}n([\{{\hat{s}},{\hat{s}}'\}])=\text {sim}({\mathfrak {s}}_{{\hat{s}}}),\ \ \ n([\{{\hat{t}},{\hat{t}}'\}])=\text {sim}({\mathfrak {s}}_{{\hat{t}}}),\ \ \ \text {and}\ \ \ n([\{[{\hat{s}},{\hat{t}}],[{\hat{s}},{\hat{t}}]'\}])=\text {sim}({\mathfrak {s}}_{[{\hat{s}},{\hat{t}}]}).\end{aligned}$$

Hence

$$\begin{aligned}(n({\hat{s}}),n({\hat{t}}),n([{\hat{s}},{\hat{t}}]))\in \text {sim}_F({\mathfrak {s}}_{{\hat{s}}})\times \text {sim}_F({\mathfrak {s}}_{{\hat{t}}})\times \text {sim}_F({\mathfrak {s}}_{[{\hat{s}},{\hat{t}}]}),\end{aligned}$$

and we must show that \((n({\hat{s}}),n({\hat{t}}),n([{\hat{s}},{\hat{t}}]))\) is a permissible triple. The corresponding permissible scalars we shall use are the minimal lengths \((r_{{\hat{s}}}, r_{{\hat{t}}}, r_{[{\hat{s}},{\hat{t}}]})\in {\mathbb {R}}_+^3\) of pairs in the respective \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\)-orbits \([\{{\hat{s}},{\hat{s}}'\}],\ [\{{\hat{t}},{\hat{t}}'\}]\) and \([\{[{\hat{s}},{\hat{t}}],[{\hat{s}},{\hat{t}}]'\}]\). In particular, \(r_{{\hat{s}}}n({\hat{s}})={\hat{s}},\ r_{{\hat{t}}}n({\hat{t}})={\hat{t}}\) and \(r_{[{\hat{s}},{\hat{t}}]}n([{\hat{s}},{\hat{t}}])=[{\hat{s}},{\hat{t}}]\). Moreover, \(r_{{\hat{s}}}\text {sim}({\mathfrak {s}}_{{\hat{s}}})=[\{{\hat{s}},{\hat{s}}'\}],\ r_{{\hat{t}}}\text {sim}({\mathfrak {s}}_{{\hat{t}}})=[\{{\hat{t}},{\hat{t}}'\}]\) and \(r_{[{\hat{s}},{\hat{t}}]}\text {sim}({\mathfrak {s}}_{[{\hat{s}},{\hat{t}}]})=[\{[{\hat{s}},{\hat{t}}],[{\hat{s}},{\hat{t}}]'\}]\). We now verify the two criteria of Definition 3.7 on the triple \((n({\hat{s}}),n({\hat{t}}),n([{\hat{s}},{\hat{t}}]))\) and the scalars \((r_{{\hat{s}}}, r_{{\hat{t}}}, r_{[{\hat{s}},{\hat{t}}]})\).

  1. (i)

    From the observations above, \([r_{{\hat{s}}}n({\hat{s}}),r_{{\hat{t}}}n({\hat{t}})]=[{\hat{s}},{\hat{t}}]\) and \([r_{{\hat{t}}}n({\hat{t}}),r_{{\hat{s}}}n({\hat{s}})]=[{\hat{t}},{\hat{s}}]\). Since \({\hat{s}}\) and \({\hat{t}}\) are adjacent elements of \(\widehat{{\mathcal {S}}}_F(X,\omega )\), Lemma 4.10 guarantees these are defined. Moreover,

    $$\begin{aligned}=[{\hat{s}},{\hat{t}}]=r_{[{\hat{s}},{\hat{t}}]}n([{\hat{s}},{\hat{t}}])\end{aligned}$$

    and

    $$\begin{aligned}=[{\hat{t}},{\hat{s}}]=[{\hat{s}},{\hat{t}}]'=(r_{[{\hat{s}},{\hat{t}}]}n([{\hat{s}},{\hat{t}}]))'=r_{[{\hat{s}},{\hat{t}}]}n([{\hat{s}},{\hat{t}}])'.\end{aligned}$$
  2. (ii)

    We must show that

    $$\begin{aligned}B(r_{{\hat{s}}}n({\hat{s}}),r_{{\hat{t}}}n({\hat{t}}))\cup B(r_{[{\hat{s}},{\hat{t}}]}n([{\hat{s}},{\hat{t}}]),r_{{\hat{s}}}n({\hat{s}})')\cup B(r_{{\hat{t}}}n({\hat{t}})',r_{[{\hat{s}},{\hat{t}}]}n([{\hat{s}},{\hat{t}}])')\end{aligned}$$

    does not intersect

    $$\begin{aligned}r_{{\hat{s}}}\text {sim}_F({\mathfrak {s}}_{{\hat{s}}})\cup r_{{\hat{t}}}\text {sim}_F({\mathfrak {s}}_{{\hat{t}}})\cup r_{[{\hat{s}},{\hat{t}}]}\text {sim}_F({\mathfrak {s}}_{[{\hat{s}},{\hat{t}}]}),\end{aligned}$$

    or, equivalently,

    $$\begin{aligned}\left( B({\hat{s}},{\hat{t}})\cup B([{\hat{s}},{\hat{t}}],{\hat{s}}')\cup B({\hat{t}}',[{\hat{s}},{\hat{t}}]')\right) \cap \left( [\{{\hat{s}},{\hat{s}}'\}]_F\cup [\{{\hat{t}},{\hat{t}}'\}]_F\cup [\{[{\hat{s}},{\hat{t}}],[{\hat{s}},{\hat{t}}]'\}]_F\right) =\varnothing .\end{aligned}$$

    Since each of the \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\)-orbits are contained in \(\widehat{{\mathcal {M}}}(X,\omega )\), it suffices to show

    $$\begin{aligned}\left( B({\hat{s}},{\hat{t}})\cup B([{\hat{s}},{\hat{t}}],{\hat{s}}')\cup B({\hat{t}}',[{\hat{s}},{\hat{t}}]')\right) \cap \widehat{{\mathcal {M}}}_F(X,\omega )=\varnothing .\end{aligned}$$

    Lemma 4.10 gives that

    $$\begin{aligned}B({\hat{s}},{\hat{t}})\cap \widehat{{\mathcal {M}}}_F(X,\omega )=\varnothing .\end{aligned}$$

    Now suppose for the sake of contradiction that

    $$\begin{aligned}B([{\hat{s}},{\hat{t}}],{\hat{s}}')\cap \widehat{{\mathcal {M}}}_F(X,\omega )\ne \varnothing ,\end{aligned}$$

    and let j be the index for which \({\hat{s}}'\in {\mathcal {O}}_j\). Since \(\widehat{{\mathcal {M}}}_F(X,\omega )\) has no limit points, there are at most finitely many marked segments belonging to this intersection, and by Proposition 3.8, none of these marked segments have the same argument as \({\hat{s}}'\). Choose some \({\hat{u}}\) in the intersection with argument nearest that of \({\hat{s}}'\). Then the straight-line segment from \({\hat{s}}'\) to \({\hat{u}}\) belongs to \(\text {star}_j(X,\omega )\), and a similar argument to that in the proof of Lemma 4.10 gives that \([{\hat{s}}',{\hat{u}}]\in \widehat{{\mathcal {M}}}(X,\omega )\). By definition of \([{\hat{s}}',{\hat{u}}]\), this marked segment belongs to the same open \(\pi \)-sector as \({\hat{s}}\) and hence to \(B({\hat{s}},{\hat{t}})\), contradicting Lemma 4.10 (see Fig. 10). A similar argument gives

    $$\begin{aligned}B({\hat{t}}',[{\hat{s}},{\hat{t}}]')\cap \widehat{{\mathcal {M}}}_F(X,\omega )=\varnothing .\end{aligned}$$

Thus \((n({\hat{s}}),n({\hat{t}}),n([{\hat{s}},{\hat{t}}]))\) is a permissible triple, and \({\mathcal {P}}(X,\omega )\subset {\mathcal {P}}(\text {Sims}_G)\).

Now suppose that G is finite. Then the set \(\text {Sims}_G\) of all simulations is finite, and by Lemma 3.7, the set \({\mathcal {P}}(\text {Sims}_G)\) is finite. Hence for each \((p,q,u)\in {\mathcal {P}}(\text {Sims}_G)\) there is some n for which \((p,q,u)\in {\mathcal {P}}(\text {Sims}^n_G)\). Taking N to be the maximum of these, we have \({\mathcal {P}}(X,\omega )\subset {\mathcal {P}}(\text {Sims}_G)\subset {\mathcal {P}}(\text {Sims}^N_G)\). \(\square \)

Fig. 10
figure 10

Illustration of the proof of Proposition 4.11

4.5 Finiteness of lattice surfaces with given Veech groups

Throughout this subsection, let G be a set of generators of a fanning group \(\Gamma \). As noted at the end of Sect. 4.3, to prove Theorem 1.2 it suffices to show that for any finite collection of simulations determined by G, there are at most finitely many scalars for which the union of scaled simulations coincides with the marked segments of a unit-area translation surface. Propositions 3.53.6 and 4.11 suggest that for adjacent elements \({\hat{s}},{\hat{t}}\in \widehat{{\mathcal {S}}}_F(X,\omega )\) of a translation surface \((X,\omega )\) with Veech group \(\Gamma \), the desired scalars for the simulations corresponding to \({\hat{s}},{\hat{t}}\) and \([{\hat{s}},{\hat{t}}]\) are uniquely determined by one another. Hence if the elements of \(\widehat{{\mathcal {S}}}_F(X,\omega )\) are all—loosely speaking—‘transitively adjacent’ to one another (or their orientation-paired inverses), then an arbitrary choice of one scalar uniquely determines all other scalars.

We make these vague notions precise by introducing a permissible triples graph corresponding to a set P of permissible triples whose vertices are the distinctive, limit-point free sets corresponding to the triples and whose edges are defined between the vertices corresponding to entries of the same permissible triple in P. The ‘transitive adjacency’ alluded to above refers to the connectedness of such a graph.

Definition 4.6

Let \(\textbf{Q}=\{Q_i\}_{i\in I}\) be a collection of distinctive, limit-point free subsets of \({\mathbb {P}}({\mathcal {O}})\). For a subset \(P\subset {\mathcal {P}}(\textbf{Q})\) of permissible triples, define the permissible triples graph determined by P to be the graph \({\mathfrak {G}}_P=({\mathfrak {V}}_P,{\mathfrak {E}}_P)\) with vertex set

$$\begin{aligned}{\mathfrak {V}}_P=\{Q_i,Q_j,Q_k\ |\ \text {there exists some}\ (q_i,q_j,q_k)\in P\cap \left( (Q_i)_F\times (Q_j)_F\times (Q_k)_F \right) \}\end{aligned}$$

consisting of the sets in \(\textbf{Q}\) corresponding to the permissible triples in P, and edge set

$$\begin{aligned}{\mathfrak {E}}_P=\{\{Q_\ell ,Q_m\}\ |\ \ell ,m\in \{i,j,k\}\ \text {for some}\ (q_i,q_j,q_k)\in P\cap \left( (Q_i)_F\times (Q_j)_F\times (Q_k)_F \right) \}\end{aligned}$$

where an edge connects vertices \(Q_\ell \) and \(Q_m\) if there is some permissible triple in P to which both \(Q_\ell \) and \(Q_m\) correspond. We call \((r_i)_{i\in I}\in {\mathbb {R}}_+^{|I|}\) consistent scalars for the graph \({\mathfrak {G}}_P\) if \((r_i,r_j,r_k)\) are permissible scalars for each permissible triple \((q_i,q_j,q_k)\in P\cap \left( (Q_i)_F\times (Q_j)_F\times (Q_k)_F \right) \). We call the graph \({\mathfrak {G}}_P\) consistent if it admits consistent scalars.

Example 4.12

Consider again Example 4.7 and Fig. 8; let \(p\in \text {sim}({\mathfrak {s}}_0)\) be the point with argument \(3\pi /2\), \(q\in \text {sim}({\mathfrak {s}}_1)\) the point with argument \(\pi \) and \(u\in \text {sim}({\mathfrak {s}}_2)\) the point with argument \(3\pi /4\). Figure 11 shows that \((p,q,u)\in {\mathcal {P}}(\text {Sims}_G)\) is a permissible triple with permissible scalars \((1,1,\sqrt{2})\). Let \(P:=\{(p,q,u)\}\). Then \({\mathfrak {G}}_P\) is the graph with vertex set \({\mathfrak {V}}_P=\{\text {sim}({\mathfrak {s}}_0),\text {sim}({\mathfrak {s}}_1),\text {sim}({\mathfrak {s}}_2)\}\) and edge set

$$\begin{aligned}{\mathfrak {E}}_P=\{\{\text {sim}({\mathfrak {s}}_0),\text {sim}({\mathfrak {s}}_1)\},\{\text {sim}({\mathfrak {s}}_1),\text {sim}({\mathfrak {s}}_2)\},\{\text {sim}({\mathfrak {s}}_2),\text {sim}({\mathfrak {s}}_0)\}\},\end{aligned}$$

and \((1,1,\sqrt{2})\) are consistent scalars for \({\mathfrak {G}}_P\).

Fig. 11
figure 11

Subsets of the scaled simulations \(\text {sim}({\mathfrak {s}}_0),\ \text {sim}({\mathfrak {s}}_1)\) and \(\sqrt{2}\text {sim}({\mathfrak {s}}_2)\), with \({\mathfrak {s}}_0,\ {\mathfrak {s}}_1\ {\mathfrak {s}}_2\in {\mathfrak {S}}_{G}\) as defined in Example 4.7, and balls showing that \((p,q,u)\in {\mathcal {P}}(\text {Sims}_{G})\) is a permissible triple with permissible scalars \((1,1,\sqrt{2})\)

Proposition 4.13

Let \((X,\omega )\) be a fanning surface with Veech group \(\textrm{SL}(X,\omega )=\Gamma \), and let \(P:={\mathcal {P}}(X,\omega )\subset {\mathcal {P}}(\text {Sims}_G)\). Then the permissible triples graph \({\mathfrak {G}}_P\) is connected and consistent, and if \((r_{\mathfrak {s}})_{\text {sim}({\mathfrak {s}})\in {\mathfrak {V}}_P}\) are consistent scalars for \({\mathfrak {G}}_P\), then any other consistent scalars are of the form \((a r_{\mathfrak {s}})_{\text {sim}({\mathfrak {s}})\in {\mathfrak {V}}_P}\) with \(a\in {\mathbb {R}}_+\).

Proof

Theorem 4.9 implies that the vertex set \({\mathfrak {V}}_P\) is finite, say \({\mathfrak {V}}_P=\{\text {sim}({\mathfrak {s}}_i)\}_{i=1}^n\). The same theorem also gives that

$$\begin{aligned}\bigcup _{i=1}^n r_i\text {sim}({\mathfrak {s}}_i)\subset \widehat{{\mathcal {M}}}(X,\omega )\end{aligned}$$

for some \((r_i)_{i=1}^n\in {\mathbb {R}}_+^n\). In fact, each \(r_i\) is the minimal length of a pair in the \(\text {Aff}_{\mathcal {O}}^+(X,\omega )\)-orbit for which \(r_i\text {sim}({\mathfrak {s}}_i)=[\{{\hat{s}},{\hat{s}}'\}]\). The proof of Proposition 4.11 shows that the scalars \((r_i)_{i=1}^n\in {\mathbb {R}}_+^n\) are consistent, so the graph \({\mathfrak {G}}_P\) is consistent.

Now suppose that \((r_i')_{i=1}^n\in {\mathbb {R}}_+^n\) are also consistent scalars for \({\mathfrak {G}}_P\), and recall the definition of the edge set \({\mathfrak {E}}_P\). Induction with Propositions 3.5 and 3.6 implies that any of the scalars \(r_i'\) corresponding to a simulation of a connected component of \({\mathfrak {G}}_P\) uniquely determines the remaining scalars \(r_j'\) of the simulations of the component. In particular, if \(r_i'=a r_i\) for some \(a\in {\mathbb {R}}_+\), then \(r_j'=a r_j\) for each of these scalars. Hence it suffices to show that \({\mathfrak {G}}_P\) is connected.

Consider the subgraph (VE) of \(({\mathfrak {V}}_P,{\mathfrak {E}}_P)\) with vertex set V consisting of all simulations in \({\mathfrak {V}}_P\) which contain a pair of normalized marked Voronoi staples and edge set E consisting of edges \(\{\text {sim}({\mathfrak {s}}_i),\text {sim}({\mathfrak {s}}_j)\}\), where \(\text {sim}({\mathfrak {s}}_i)\) and \(\text {sim}({\mathfrak {s}}_j)\) contain \(\{n({\hat{s}}),n({\hat{s}})'\}\) and \(\{n({\hat{t}}),n({\hat{t}})'\}\), respectively, for adjacent \({\hat{s}},{\hat{t}}\in \widehat{{\mathcal {S}}}_F(X,\omega )\). Recall that \((X,\omega )\) is isometric to the quotient space of \(\bigsqcup _{i=1}^\kappa \Omega _i\) under the equivalence relation given by identifying the two edges of convex bodies which correspond to a pair of marked Voronoi staples (Sect. 3.3 above, and also Sect. 3 of [7]). If (VE) were disconnected, then after this identification of edges of convex bodies the resulting surface—and hence \((X,\omega )\)—would be disconnected. This is a contradiction, so the subgraph (VE) is connected. By definition of \(P={\mathcal {P}}(X,\omega )\) and \({\mathfrak {V}}_P\), any vertex \(\text {sim}({\mathfrak {s}}_i)\in {\mathfrak {V}}_P\backslash V\) must contain \(\{n([{\hat{s}},{\hat{t}}]),n([{\hat{s}},{\hat{t}}])'\}\) for some adjacent \({\hat{s}},{\hat{t}}\in \widehat{{\mathcal {S}}}_F(X,\omega )\). By definition of \({\mathfrak {E}}_P\), there are edges of \({\mathfrak {G}}_P\) from \(\text {sim}({\mathfrak {s}}_i)\) to the simulations containing \(\{n({\hat{s}}),n({\hat{s}})'\}\) and \(\{n({\hat{t}}),n({\hat{t}})'\}\), both of which belong to \(V\subset {\mathfrak {V}}_P\). Thus \({\mathfrak {G}}_P\) is connected, and the result follows. \(\square \)

We are now ready to prove Theorem 1.2:

Proof of Theorem 1.2

Let \(\Gamma \le \textrm{SL}_2{\mathbb {R}}\) be a lattice. By Lemma 4.3, \(\Gamma \) is a finitely generated fanning group. Let G be a finite set of generators of \(\Gamma \) and fix \({\mathcal {H}}_1(d_1,\dots ,d_\kappa )\). We must show that the set of all \((X,\omega )\in {\mathcal {H}}_1(d_1,\dots ,d_\kappa )\) for which \(\textrm{SL}(X,\omega )=\Gamma \) is finite. By Proposition 4.11, each of these translation surfaces belongs to the set

$$\begin{aligned}\{(X,\omega )\in {\mathcal {H}}_1(d_1,\dots ,d_\kappa )\ |\ {\mathcal {P}}(X,\omega )\subset {\mathcal {P}}(\text {Sims}_G)\},\end{aligned}$$

so it suffices to show that this latter set is finite. By Lemmas 3.7 and 4.8, the set \({\mathcal {P}}(\text {Sims}_G)\) of all permissible triples is finite, so it suffices to show for any \(P\subset {\mathcal {P}}(\text {Sims}_G)\) that the set

$$\begin{aligned}\{(X,\omega )\in {\mathcal {H}}_1(d_1,\dots ,d_\kappa )\ |\ {\mathcal {P}}(X,\omega )=P\}\end{aligned}$$

is finite. Let \({\mathfrak {V}}_P=\{\text {sim}({\mathfrak {s}}_i)\}_{i=1}^n\) be the vertex set of the permissible triples graph \({\mathfrak {G}}_P\). As in the proof of Proposition 4.13, for each \((X,\omega )\) with \({\mathcal {P}}(X,\omega )=P\), there are consistent scalars \((r_i)_{i=1}^n\in {\mathbb {R}}_+^n\) for which

$$\begin{aligned}\bigcup _{i=1}^n r_i\text {sim}({\mathfrak {s}}_i)\subset \widehat{{\mathcal {M}}}(X,\omega ).\end{aligned}$$

By definition of \({\mathfrak {G}}_P\) and its vertex set \({\mathfrak {V}}_P\), we have that the set of marked Voronoi staples, \(\widehat{{\mathcal {S}}}(X,\omega )\)—from which \((X,\omega )\) may be recovered—is contained in this union of scaled simulations. Again from Proposition 4.13, if \((Y,\eta )\in {\mathcal {H}}_1(d_1,\dots ,d_\kappa )\) also satisfies \({\mathcal {P}}(Y,\eta )=P\), then its corresponding consistent scalars are of the form \((a r_i)_{i=1}^n\) for some \(a\in {\mathbb {R}}_+^n\). From Sect. 3.3, we have

$$\begin{aligned}\bigsqcup _{j=1}^\kappa \Omega _j(\widehat{{\mathcal {S}}}_F(X,\omega ))=\bigsqcup _{j=1}^\kappa \Omega _j\left( \bigcup _{i=1}^n r_i\text {sim}_F({\mathfrak {s}}_i)\right) \end{aligned}$$

and

$$\begin{aligned}\bigsqcup _{j=1}^\kappa \Omega _j(\widehat{{\mathcal {S}}}_F(Y,\eta ))=\bigsqcup _{j=1}^\kappa \Omega _j\left( \bigcup _{i=1}^n a r_i\text {sim}_F({\mathfrak {s}}_i)\right) =a \left( \bigsqcup _{j=1}^\kappa \Omega _j\left( \bigcup _{i=1}^n r_i\text {sim}_F({\mathfrak {s}}_i)\right) \right) .\end{aligned}$$

Since \((X,\omega )\) and \((Y,\eta )\) are isometric to the quotient spaces of these respective sets under an equivalence relation identifying edges, and since both translation surfaces have area one, we conclude that \(a=1\) and thus \((X,\omega )=(Y,\eta )\). \(\square \)

5 The algorithm

The constructive results of the previous sections suggest an algorithm (Algorithm 1.1) which returns all translation surfaces with a given lattice Veech group \(\Gamma \) in any given stratum \({\mathcal {H}}_1(d_1,\dots ,d_\kappa )\). We highlight the main steps of this algorithm here, providing necessary references and further commentary in italics. Recall that G is a given finite set of generators of the lattice \(\Gamma \le \textrm{SL}_2{\mathbb {R}}\).

  1. (1)

    Compute a finite set \(\Theta _{\Gamma _m}\subset S^1\) containing \(\Theta _\Gamma \), and let

    $$\begin{aligned} {\mathfrak {S}}_G:=\{(H,\{p,p^-\})\in 2^{G_{\mathcal {O}}}\backslash \{\varnothing \}\times {\mathbb {P}}({\mathcal {O}})\ |\ {\varvec{\pi }}(p),{\varvec{\pi }}(p^-)\in \Theta _{\Gamma _m}\}. \end{aligned}$$

    (See Definition 4.3and the remark following Lemma 4.8.)

  2. (2)

    For each \(n\in {\mathbb {N}}\):

    1. (a)

      Compute the set \(\text {Sims}^n_G=\{\text {sim}^n({\mathfrak {s}})\ |\ {\mathfrak {s}}\in {\mathfrak {S}}_G\}\) of all stage n distinctive simulations determined by G. (See Defintion 4.3.)

    2. (b)

      Compute the set \({\mathcal {P}}(\text {Sims}^n_G)\) of all permissible triples arising from \(\text {Sims}^n_G\) along with their respective rays of permissible scalars. (See Definition 3.7and Proposition 3.5. Recall from Definition4.5and Proposition4.11that there is some \(N\in {\mathbb {N}}\) so that for any \((Y,\eta )\in {\mathcal {H}}_1(d_1,\dots ,d_\kappa )\) with \(\textrm{SL}(Y,\eta )=\Gamma \), the set \({\mathcal {P}}(Y,\eta )\) determined by the marked Voronoi staples \(\widehat{{\mathcal {S}}}(Y,\eta )\) is contained in the finite set of permissible triples \({\mathcal {P}}(\text {Sims}^N_G)\).)

    3. (c)

      For each \(P\subset {\mathcal {P}}(\text {Sims}^n_G)\backslash \{\varnothing \}\): (For \(n=N\) and any \((Y,\eta )\) as above, this loop will set \(P={\mathcal {P}}(Y,\eta )\) for some P.)

      1. (i)

        Construct the permissible triples graph \({\mathfrak {G}}_P=({\mathfrak {V}}_P,{\mathfrak {E}}_P)\). If \({\mathfrak {G}}_P\) is connected and consistent with consistent scalars \((r_{{\mathfrak {s}}})_{\text {sim}^n({\mathfrak {s}})\in {\mathfrak {V}}^n_P}\), then set

        $$\begin{aligned}S:=\bigcup _{\text {sim}^n({\mathfrak {s}})\in {\mathfrak {V}}_P}r_{{\mathfrak {s}}}\text {sim}^n({\mathfrak {s}}),\end{aligned}$$

        construct the convex bodies \(\Omega _i(S_F)\) and determine the corresponding essential points \({\mathcal {E}}_i(S_F)\) for each \(i\in \{1,\dots ,\kappa \}\). (See Definition 4.6and Sect. 3.3.)

      2. (ii)

        If each \(\Omega _i(S_F)\) is compact, the essential points \(\sqcup _{i=1}^\kappa {\mathcal {E}}_i(S_F)\) come in pairs \(\{p,p^-\}\) determined by the simulations \(\text {sim}^n({\mathfrak {s}})\in {\mathfrak {V}}_P\), and the edges of the convex bodies determined by p and \(p^-\) are equal length, then construct the translation surface \((X,\omega )\) by identifying these edges via translation. (See Sect. 3.3. When \(P={\mathcal {P}}(Y,\eta )\), the proof of Proposition4.13shows that for some \(a\in {\mathbb {R}}_+\), the set aS contains the set of marked Voronoi staples \(\widehat{{\mathcal {S}}}(Y,\eta )\), and thus the union of scaled essential points \(\sqcup _{i=1}^\kappa a{\mathcal {E}}_i(S_F)\) is precisely \(\widehat{{\mathcal {S}}}_F(Y,\eta )\). Hence \((X,\omega )\) is a scaled version of \((Y,\eta )\).)

      3. (iii)

        Rescale \((X,\omega )\) if necessary so that it has area one, and verify that \(\textrm{SL}(X,\omega )=\Gamma \). (Computing \(\text {SL}(X,\omega )\) is done using one of the algorithms mentioned in Sect. 1.)

Example 5.1

Examples 4.7 and 4.12 illustrate (parts of) Steps 1, 2.a, 2.b and 2.c.i of the algorithm. Figure 12 illustrates the construction of convex bodies and corresponding essential points in Step 2.c.i as well as the resulting translation surface \((X,\omega )\) constructed in Step 2.c.ii. Notice that the essential points come only from \(\text {sim}({\mathfrak {s}}_0)\) and \(\text {sim}({\mathfrak {s}}_1)\); however, \(\text {sim}({\mathfrak {s}}_2)\) was necessary to determine the permissible scalars \((1,1,\sqrt{2})\) (Example 4.12). Rescaling to unit-area, one verifies that indeed \(\textrm{SL}(X,\omega )=\langle S,T^2\rangle \).

Fig. 12
figure 12

The convex body and resulting translation surface \((X,\omega )\) (with opposite sides identified) using the scaled simulations \(\text {sim}({\mathfrak {s}}_0),\ \text {sim}({\mathfrak {s}}_1)\) and \(\sqrt{2}\text {sim}({\mathfrak {s}}_2)\) from Examples 4.7 and 4.12. The arcs about the singularity of \({\mathcal {O}}\) and of \((X,\omega )\) indicate arguments of generalized polar coordinates

A number of improvements to Algorithm 1.1 can be made for computational efficiency. We mention three in particular:

  • It is optimal to choose a minimal set of generators G for \(\Gamma \), as the size of \({\mathfrak {S}}_G\)—and hence of \(\text {Sims}_G\)—depends on |G|.

  • Recall from Proposition 3.8 that if \({\hat{s}},{\hat{t}}\in \widehat{{\mathcal {M}}}_F(X,\omega )\) are two marked segments with identical arguments in the same component \({\mathcal {O}}_i\subset {\mathcal {O}}\), then in fact \(\{{\hat{s}},{\hat{s}}'\}=\{{\hat{t}},{\hat{t}}'\}\). This requirement restricts the permissible triples graphs that one needs to consider in step 2.c.

  • In Step 2.b, one need only consider permissible triples \((p,q,u)\in \text {sim}_F^n({\mathfrak {r}})\times \text {sim}_F^n({\mathfrak {s}})\times \text {sim}_F^n({\mathfrak {t}})\) where \({\mathfrak {r}},\ {\mathfrak {s}}\) and \({\mathfrak {t}}\) are defined using the same subset \(H\subset G_{\mathcal {O}}\). A similar restriction applies to the subsets \(P\subset {\mathcal {P}}(\text {Sims}^n_G)\) considered in Step 2.c.

While Algorithm 1.1 does produce the finite set of lattice surfaces asserted by Theorem 1.2 in finite time, it does not give a halting criterion to determine when the set of returned translation surfaces is exhaustive. An explicit test to determine the \(N\in {\mathbb {N}}\) for which \({\mathcal {P}}(\text {Sims}_G)\subset {\mathcal {P}}(\text {Sims}^N_G)\) would give such a halting criterion (see Proposition 4.11). In particular, Algorithm 1.1 together with this halting criterion would give a general procedure to determine whether or not any given lattice group is realized as a Veech group in any given stratum. However, even without this criterion, the ideas of this paper may still be used in special cases to show that certain lattice groups are not realized in certain strata; see Sect. 6.

As the set of all strata is countable, Algorithm 1.1—if allowed to run indefinitely—is easily adapted to produce all unit-area translation surfaces with a given lattice Veech group in any stratum. A full implementation could also provide experimental evidence for lattices which are never realized as Veech groups, though—even with the aforementioned stratum-wise halting criterion—a criterion to definitively assert that a lattice is not a Veech group in any stratum seems to the author to be elusive.

We also mention that as the set of generators for any fanning group is at most countable, Algorithm 1.1 may be adapted to construct surfaces \((X,\omega )\) with given fanning Veech groups in given strata. However, for countably infinite generating sets G, the set \({\mathfrak {S}}_G\) is uncountable, so a construction of such surfaces may not be exhaustive.

6 The modular group in minimal strata

Here we give an example showing how the ideas of the previous sections may be used—in certain cases—to give obstructions for lattices being realized as Veech groups in strata.Footnote 3 In particular, we show that the square torus is the only translation surface with Veech group \(\textrm{SL}_2{\mathbb {Z}}\) in the collection of all minimal strata \({\mathcal {H}}(2g-2),\ g>0\). Throughout this section, fix \(g>0\) and \((X,\omega )\in {\mathcal {H}}(2\,g-2)\). Let \(\sigma :=\sigma _1\) be the sole singularity of \((X,\omega )\), \(\Omega :=\Omega _1\) the convex body subordinate to \(\widehat{{\mathcal {M}}}_F(X,\omega )\) and \({\mathcal {O}}={\mathcal {O}}(2g-2)\) the canonical surface associated to \({\mathcal {H}}(2g-2)\). We begin with two lemmas.

Lemma 6.1

Let \(\widehat{{\mathcal {S}}}(X,\omega )=\{\{{\hat{s}}_i,{\hat{s}}_i'\}\}_{i=1}^n\) be the marked Voronoi staples of \((X,\omega )\). If the counterclockwise angle measured from \({\hat{s}}_i\) to \({\hat{s}}_i'\) equals that measured from \({\hat{s}}_i'\) to \({\hat{s}}_i\) for each i, then \(n=2g\) for n even and \(n=2g+1\) for n odd.

Proof

Since \(\widehat{{\mathcal {S}}}_F(X,\omega )\) is the set of all essential points of \(\Omega \), the convex body \(\Omega \) has 2n edges. Decompose \(\Omega \) into 2n closed triangular regions with disjoint interiors, where each triangle has one vertex at the origin \(0\in {\mathcal {O}}\), and remaining two vertices at the endpoints of an edge of \(\Omega \). The sum of the interior angles of all triangles in this decomposition is \(2n\pi \). The origin \(0\in {\mathcal {O}}\) is a singularity of cone angle \(2(2g-1)\pi \), so the sum of the interior angles of \(\Omega \) is

$$\begin{aligned}2n\pi -2(2g-1)\pi =2(n-2g+1)\pi .\end{aligned}$$

Recall that \((X,\omega )\) is isometric to the quotient space of \(\Omega \) under the equivalence relation given by identifying edges determined by the marked Voronoi staples \(\widehat{{\mathcal {S}}}(X,\omega )\), and the vertices of \(\Omega \) under this identification correspond to Voronoi 0-cells of \((X,\omega )\) (Sect. 3.3). In particular, the sum of interior angles of \(\Omega \) which are identified as a single point must equal \(2\pi \). Our assumptions on the counterclockwise angles between \({\hat{s}}_i\) and \({\hat{s}}_i'\) and between \({\hat{s}}_i'\) and \({\hat{s}}_i\) imply that for n even, the vertices of \(\Omega \) become a single point under the identification, while for n odd, the vertices of \(\Omega \) become two distinct points under the identification (the argument here is analogous to that which shows the translation surface constructed by identifying opposite edges of a regular 2m-gon has one singularity when m is even and two singularities when m is odd). In particular, for n even,

$$\begin{aligned}2(n-2g+1)\pi =2\pi \end{aligned}$$

implies \(n=2g\), while for n odd,

$$\begin{aligned}2(n-2g+1)\pi =4\pi \end{aligned}$$

implies \(n=2g+1\). \(\square \)

Lemma 6.2

Suppose that the minimal length of a saddle connection on \((X,\omega )\) is one. If the set

$$\begin{aligned}P:=\{p\in {\mathcal {O}}\ |\ |p|=1,\ \text {arg}({\varvec{\pi }}(p))\in \{0,\pi /2,\pi ,3\pi /2\}\}\end{aligned}$$

belongs to the set of marked segments \(\widehat{{\mathcal {M}}}_F(X,\omega )\), then in fact \(P=\widehat{{\mathcal {S}}}_F(X,\omega )\).

Proof

It suffices to show that P is the set of essential points of the convex body \(\Omega \), i.e. that (i) \(\Omega =\cap _{p\in P}H(p)\) and (ii) for any \(q\in P\), \(\Omega \subsetneq \cap _{p\in P\backslash \{q\}} H(p)\). Condition (ii) is immediate from the fact that \(\Omega \) is compact while \(\cap _{p\in P\backslash \{q\}} H(p)\) is non-compact for any \(q\in P\). Now

$$\begin{aligned}\Omega =\bigcap _{{\hat{s}}\in \widehat{{\mathcal {M}}}_F(X,\omega )}H({\hat{s}})=\left( \bigcap _{p\in P}H(p)\right) \cap \left( \bigcap _{{\hat{s}}\in \widehat{{\mathcal {M}}}_F(X,\omega )\backslash P}H({\hat{s}})\right) ,\end{aligned}$$

so it suffices to show for each marked segment \({\hat{s}}\in \widehat{{\mathcal {M}}}_F(X,\omega )\backslash P\), that \(\cap _{p\in P}H(p)\subset H({\hat{s}})\).

We claim that for each \(p\in P\), the ball centered at p of radius one contains no marked segments other than p, i.e.

$$\begin{aligned}B_1(p)\cap \widehat{{\mathcal {M}}}_F(X,\omega )\backslash \{p\}=\varnothing .\end{aligned}$$

Suppose on the contrary that the intersection is non-empty. As in the proof of Proposition 4.11, we can choose some \({\hat{u}}\) in the intersection with argument nearest that of p and find that \([p,{\hat{u}}]\) is a marked segment of length strictly less than one. Its corresponding saddle connection also has length strictly less than one, contrary to our assumptions, so the claim holds.

Fig. 13
figure 13

The ball \(B_{\sqrt{2}}(0)\) is contained in the union of balls \(B_1(p),\ p\in P\). Note that this figure shows only a portion of the ball \(B_{\sqrt{2}}(0)\), as this ball is centered at the singularity \(0\in {\mathcal {O}}\). Similarly, only the upper half of \(B_1(p_0)\) is shown

Next, we claim that the ball centered at the origin of radius \(\sqrt{2}\) is contained in the union of balls of radius one centered at the various \(p\in P\),

$$\begin{aligned}B_{\sqrt{2}}(0)\subset \bigcup _{p\in P} B_1(p).\end{aligned}$$

This is clear from elementary Euclidean geometry, restricting to each \(2\pi \)-sector \(c_j^1\); see Fig. 13. In particular, the previous two claims imply that

$$\begin{aligned} B_{\sqrt{2}}(0)\cap \left( \widehat{{\mathcal {M}}}_F(X,\omega )\backslash P\right) =\varnothing . \end{aligned}$$
(4)

Notice that the maximum distance from the origin to any point in \(\cap _{p\in P}H(p)\) is \(\sqrt{2}/2\) (this distance being realized at the vertices of this intersection). Let \({\hat{s}}\in \widehat{{\mathcal {M}}}_F(X,\omega )\backslash P\) and let q belong to the complement of \(H({\hat{s}})\). Certainly \(|q|>|{\hat{s}}|/2\). Equation 4 implies \(|{\hat{s}}|\ge \sqrt{2}\), so \(|q|>\sqrt{2}/2\). Hence \(q\notin \cap _{p\in P}H(p)\), so the complement of \(H({\hat{s}})\) does not intersect \(\cap _{p\in P}H(p)\). Thus \(\cap _{p\in P}H(p)\subset H({\hat{s}})\) as desired. \(\square \)

With these two lemmas, we now prove the main result of this section.

Fig. 14
figure 14

Labelling of the points \(p_0,\dots ,p_{16g-9}\) of \(P\cup P'\) for \(j\in {\mathbb {Z}}_{2g-1}\)

Proof of Theorem 1.3

Let \(S=({\begin{matrix}0 &{} -1\\ 1 &{} 0\end{matrix}})\) and \(T=({\begin{matrix}1 &{} 1\\ 0 &{} 1\end{matrix}})\), fix \(\tau _S,\tau _T\in \text {Trans}({\mathcal {O}})\), and set \(g_S=\tau _S\circ f_S\) and \(g_T=\tau _T\circ f_T\) where \(f_S,f_T\in \text {Aff}_{\text {C}}^+({\mathcal {O}})\). We first show that all elements of

$$\begin{aligned}P:=\{p\in {\mathcal {O}}\ |\ |p|=1,\ \text {arg}({\varvec{\pi }}(p))\in \{0,\pi /2,\pi ,3\pi /2\}\}\end{aligned}$$

belong to the same \(\langle g_S,g_T\rangle \)-orbit. Note that \(\text {Trans}({\mathcal {O}})=\langle \rho _1\rangle \); let \(n\in {\mathbb {Z}}_{2g-1}\) be such that \(\tau _T=\rho _1^n\). Set

$$\begin{aligned}P':=\{p\in {\mathcal {O}}\ |\ |p|=\sqrt{2},\ \text {arg}({\varvec{\pi }}(p))\in \{\pi /4,3\pi /4,5\pi /4,7\pi /4\}\}.\end{aligned}$$

Beginning with \(p_0\in P\cap c_0^1,\ \text {arg}(p_0)=0\) and sweeping counterclockwise, label the elements of \(P\cup P'\) as \(p_0,p_1,\dots ,p_{16g-9}\); see Fig. 14. For each \(k\in {\mathbb {Z}}_{16g-8}\), we have

$$\begin{aligned}f_S(p_k)=p_{k+2},\end{aligned}$$

and for \(k\not \equiv 1\) (mod 4),

$$\begin{aligned}f_T(p_k)={\left\{ \begin{array}{ll} p_k &{}\text {if}\ k\equiv 0\ (\text {mod 4})\\ p_{k-1} &{}\text {if}\ k\equiv 2,3\ (\text {mod 4}) \end{array}\right. }.\end{aligned}$$

Moreover, for each \(k\in {\mathbb {Z}}_{16g-8}\),

$$\begin{aligned}\tau _T(p_k)=p_{k+8n}.\end{aligned}$$

Set \(f:=g_T^{-1}\circ g_S^{-1}\circ g_T^{-1}\circ g_S\) and \(h:=g_S^{-1}\circ g_T^{-1}\circ g_S\circ g_T^{-1}\). Using the relations above—together with Lemma 3.3 and the fact that \(\text {Trans}({\mathcal {O}})=\langle \rho _1\rangle \) is abelian—we find for each \(k\in {\mathbb {Z}}_{16g-8}\) that

$$\begin{aligned} f(p_{4k})&=g_T^{-1}\circ g_S^{-1}\circ g_T^{-1}\circ g_S(p_{4k})\\&=(f_T^{-1}\circ \tau _T^{-1})\circ (f_S^{-1}\circ \tau _S^{-1})\circ (f_T^{-1}\circ \tau _T^{-1})\circ (\tau _S\circ f_S)(p_{4k})\\&=\tau _T^{-2}\circ f_T^{-1}\circ f_S^{-1}\circ f_T^{-1}\circ f_S(p_{4k})\\&=\tau _T^{-2}\circ f_T^{-1}\circ f_S^{-1}\circ f_T^{-1}(p_{4k+2})\\&=\tau _T^{-2}\circ f_T^{-1}\circ f_S^{-1}(p_{4k+3})\\&=\tau _T^{-2}\circ f_T^{-1}(p_{4k+1})\\&=\tau _T^{-2}(p_{4k+2})\\&=p_{4k-16n+2} \end{aligned}$$

and

$$\begin{aligned} h(p_{4k+2})&=g_S^{-1}\circ g_T^{-1}\circ g_S\circ g_T^{-1}(p_{4k+2})\\&=(f_S^{-1}\circ \tau _S^{-1})\circ (f_T^{-1}\circ \tau _T^{-1})\circ (\tau _S\circ f_S)\circ (f_T^{-1}\circ \tau _T^{-1})(p_{4k+2})\\&=\tau _T^{-2}\circ f_S^{-1}\circ f_T^{-1}\circ f_S\circ f_T^{-1}(p_{4k+2})\\&=\tau _T^{-2}\circ f_S^{-1}\circ f_T^{-1}\circ f_S(p_{4k+3})\\&=\tau _T^{-2}\circ f_S^{-1}\circ f_T^{-1}(p_{4k+5})\\&=\tau _T^{-2}\circ f_S^{-1}(p_{4k+6})\\&=\tau _T^{-2}(p_{4k+4})\\&=p_{4k-16n+4}. \end{aligned}$$

Then

$$\begin{aligned} g_T^8\circ h\circ f\circ h\circ f(p_0)&=g_T^8\circ h\circ f\circ h(p_{-16n+2})\\&=g_T^8\circ h\circ f(p_{-32n+4})\\&=g_T^8\circ h(p_{-48n+6})\\&=g_T^8(p_{-64n+8})\\&=\tau _T^8\circ f_T^8(p_{-64n+8})\\&=\tau _T^8(p_{-64n+8})\\&=p_8. \end{aligned}$$

Iterating this latter composition shows that each \(p_{8k}\) belongs to the same \(\langle g_S,g_T\rangle \)-orbit. Injectivity of \(g_S\) implies that the union of the images under \(g_S,\ g_S^2\) and \(g_S^3\) of these \(p_{8k}\) is all of P, as claimed.

Now suppose \((X,\omega )\in {\mathcal {H}}(2g-2)\) with \(\textrm{SL}(X,\omega )=\textrm{SL}_2{\mathbb {Z}}=\langle S,T\rangle \) for some \(g>0\). Normalize \((X,\omega )\) if necessary so that its shortest saddle connection has unit length. One computes

$$\begin{aligned}S^1\backslash (T\cdot \Delta \cup T^{-1}\cdot \Delta \cup ST\cdot \Delta \cup ST^{-1}\cdot \Delta )=\{(\pm 1,0),(0,\pm 1)\}.\end{aligned}$$

This set contains \(\Theta _{\textrm{SL}_2{\mathbb {Z}}}=\Theta _{\textrm{SL}(X,\omega )}\), so Corollary 4.6 implies that the shortest saddle connection of \((X,\omega )\) is horizontal or vertical. Since the orthogonal matrix S belongs to \(\textrm{SL}(X,\omega )\) and any affine automorphism of \((X,\omega )\) sends saddle connections to saddle connections, \((X,\omega )\) has both horizontal and vertical saddle connections of minimal length one.

Recycling notation, let \(f\in \text {Aff}^+({\mathcal {O}})\) and \(\{p,p^-\}\in {\mathbb {P}}({\mathcal {O}})\). Lemma 3.2 together with the fact that f is a self-homeomorphism of \({\mathcal {O}}={\mathcal {O}}(2g-2)\) implies that the counterclockwise angle measured from p to \(p^-\) equals that measured from f(p) to \(f(p^-)\). In particular, this is true of any \(f\in \text {Aff}_{\mathcal {O}}^+(X,\omega )\) and horizontal, unit-length \(\{{\hat{s}},{\hat{s}}'\}\in \widehat{{\mathcal {M}}}(X,\omega )\). Since \(S,T\in \textrm{SL}(X,\omega )\), there exist \(g_S,g_T\in \text {Aff}_{\mathcal {O}}^+(X,\omega )\) with \(\text {der}(g_S)=S,\ \text {der}(g_T)=T\) (Sect. 4.2). The argument above shows that the set P belongs to the \(\langle g_S,g_T\rangle \)-orbit of \({\hat{s}}\). Since this orbit belongs to \(\widehat{{\mathcal {M}}}_F(X,\omega )\), Lemma 6.2 implies that \(P=\widehat{{\mathcal {S}}}_F(X,\omega )\). Moreover, \({\hat{s}}'\) belongs to this orbit, so the observation above implies that the counterclockwise angle measured from \({\hat{s}}\) to \({\hat{s}}'\) equals that measured from \({\hat{s}}'\) to \({\hat{s}}\), and the same is true of any pair of marked Voronoi staples in \(\widehat{{\mathcal {S}}}(X,\omega )\). Since

$$\begin{aligned}|\widehat{{\mathcal {S}}}(X,\omega )|=|\widehat{{\mathcal {S}}}_F(X,\omega )|/2=|P|/2=2(2g-1)\end{aligned}$$

is even, Lemma 6.1 implies that \(2(2g-1)=2g\), which is only true for \(g=1\). When \(g=1\), the convex body \(\Omega \) is the unit-square centered at \(0\in {\mathcal {O}}=({\mathbb {C}},dz)\), and the reconstruction of \((X,\omega )\) from \(\Omega \) gives the square torus. \(\square \)