Origamis: torus coverings and combinatorics of permutations

<span id="demo-origamis"></span>



<h1>Introduction</h1>
<p>Studying geometric coverings from the viewpoint of permutations is a long
story. Hurwitz <a class="citation-reference" href="#hur1891" id="id1">[Hur1891]</a> proved that the space of coverings of the sphere with
prescribed simple ramifications is connected.</p>
<p>In Teichmüller theory, torus coverings play a central role. They were used to
compute the volume of moduli space, provide explicit examples of Teichmüller
curves, ...</p>

<h2>References</h2>
<table class="docutils citation" frame="void" id="hublel06" rules="none">
<colgroup><col class="label"><col></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id3">[HubLel06]</a></td><td>Hubert P. and Lelièvre S., Prime Arithmetic Teichmüller discs in
$\mathcal{H}(2)$, Isr. J. Math., (2006)</td></tr>
</tbody>
</table>
<table class="docutils citation" frame="void" id="hur1891" rules="none">
<colgroup><col class="label"><col></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1">[Hur1891]</a></td><td>Hurwitz A., Ueber Riemann'sche Flachen mit gegebenzen
Verzweigungspunkten, Math. Ann, 39 (1891), 1-61.</td></tr>
</tbody>
</table>
<table class="docutils citation" frame="void" id="mcmul05" rules="none">
<colgroup><col class="label"><col></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id4">[McMul05]</a></td><td>C. T. McMullen, Teichmüller curves in genus two: Discriminant and
spin, Math. Ann., 333, p. 87-130, (2005)</td></tr>
</tbody>
</table>
<table class="docutils citation" frame="void" id="sch05" rules="none">
<colgroup><col class="label"><col></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id2">[Sch05]</a></td><td>G. Schmithuesen, Veech Groups of Origamis, PhD Thesis Karlsruhe (2005)
<a class="reference external" href="http://www.math.kit.edu/iag3/~schmithuesen/en">http://www.math.kit.edu/iag3/~schmithuesen/en</a></td></tr>
</tbody>
</table>
<table class="docutils citation" frame="void" id="vee89" rules="none">
<colgroup><col class="label"><col></colgroup>
<tbody valign="top">
<tr><td class="label">[Vee89]</td><td>W. A. Veech, Teichmüller curves in moduli space, Eisenstein series and an
application to triangular billiards , Inventiones Mathematicae, (1989)</td></tr>
</tbody>
</table>



<h1>Three definitions</h1>
<p><strong>definition 1:</strong> An <em>origami</em> is a couple $(r,u)$ of permutations such that the
group generated by $r$ and $u$ acts transitively.:</p>

{{{id=0|
o = Origami('(1,2)','(1,3)')
o
///
(1,2)(3)(1,3)(2)
}}}

<p>Two origamis $(r,u) \in S_n \times S_n$ and $(r',u') \in S_n \times S_n$ are
<em>isomorphic</em> if there exists a permutation $\sigma \in S_n$ such that</p>
<blockquote>
$r' = \sigma\ r\ \sigma^{-1} \quad \text{and} \quad u' = \sigma\ u\ \sigma^{-1}$</blockquote>
<p><strong>definition 2:</strong> An <em>origami</em> is a connected cover of the torus ramified over
one point.</p>
<p>Two origamis $\pi: X \rightarrow \mathbb{T}^2$ and $\pi': X' \rightarrow
\mathbb{T}^2$ are <em>isomorphics</em> if there exists an homeomorphism $f: X \rightarrow
X'$ such that $f \circ \pi' = \pi$.:</p>

{{{id=1|
o.show()
///
}}}

<p>Starting from the topological definition 2, we get two permutations by looking
at the monodromy action. We have a third definition</p>
<p><strong>definition 3:</strong> An <em>origami</em> is a subgroup of finite index of the free group
$F_2$ generated by two elements. Two <em>origamis</em> $H \subset F_2$ and
$H' \subset F_2$ are isomorphic if they are conjugate in $F_2$.</p>
<p><strong>Exercise:</strong> the three definitions and isomorphisms are equivalent.</p>


<h1>Primitive and reduced origamis</h1>
<dl class="docutils">
<dt>An origami is <em>primitive</em>, if either of the following equivalent statements holds:</dt>
<dd><ul class="first last simple">
<li>the group generated by the permutations $r$ and $u$ is primitive (there is
no non trivial block),</li>
<li>there is no intermediate cover $\pi: X \rightarrow \mathbb{T}^2$,</li>
<li>the subgroup $H \subset F_2$ is maximal.</li>
</ul>
</dd>
</dl>
<p>An origami $\pi: X \rightarrow \mathbb{T}^2$ is <em>reduced</em> if there is no
intermediate cover over a bigger torus which is also ramified over one point.</p>
<p>A <em>primitive</em> origami is <em>reduced</em>.</p>
<p>The escalators are always cover of a torus with two squares:</p>

{{{id=2|
esc3 = origamis.escalator(3)
esc3.show()
///
}}}

{{{id=3|
esc3.is_primitive()
///
False
}}}

<p>but are ramified over two points above this $2$-torus, assuming they have at
least $3$ steps:</p>

{{{id=4|
esc3.is_reduced()
///
True
}}}

<p>Here is an example of an origami called a <em>L-shaped</em> origami:</p>

{{{id=5|
o = Origami('(1,2,3)','(1,4)')
o.show()
///
}}}

{{{id=6|
o.is_primitive()
///
True
}}}

<p>Any non-reduced origami is, in a unique way, the composition of a reduced
origami and an isogeny (Not yet implemented). The maximal torus above which the
reduced origami is defined as a ramified cover over one point is obtained from
the lattice of periods:</p>

{{{id=7|
o=Origami('(1,2,3)(4,5,6)','(1,4,7,8)(2,5)(3,6)')
o.is_reduced()
///
False
}}}

{{{id=8|
o.lattice_of_periods()
///
(1, 0, 2)
}}}

<h1>$SL(2,\mathbb{Z})$ action and Veech group of an origami</h1>
<p>The group $SL(2,\mathbb{Z})$ acts on isomorphism classes of origamis. The standard form
$dz$ on the torus gives a canonical flat structures to any origami. The group
$SL(2,\RR)$ acts on flat surfaces.</p>
<blockquote>
$S = \left(\begin{array}{cc}0&amp;-1\\1&amp;0\end{array}\right)
\qquad
L = \left(\begin{array}{cc}1&amp;1\\0&amp;1\end{array}\right)
\qquad
R = \left(\begin{array}{cc}1&amp;0\\1&amp;1\end{array}\right)
\qquad
V = \left(\begin{array}{cc}-1&amp;0\\0&amp;1\end{array}\right)$</blockquote>
<p>The matrices act as follows on permutations (beware that you must consider
origamis up to conjugacy):</p>
<blockquote>
<ul class="simple">
<li>$S \cdot (r,u) = (r^{-1}, u)$ (rotation by $\pi/2$)</li>
<li>$L \cdot (r,u) = (r, u\ r^{-1}))$ (horizontal twist)</li>
<li>$R \cdot (r,u) = (r\ u^{-1}, u)$ (vertical twist)</li>
<li>$V \cdot (r,u) = (r^{-1}, u)$ (reflection wrt vertical axis)</li>
<li>$H \cdot (r,u) = (r, u^{-1})$ (reflection wrt horizontal axis)</li>
</ul>
</blockquote>
<p>The subgroup of $SL(2,\mathbb{Z})$ that fixes an origami is called the Veech of this
origami. As an example, all escalators have Veech group the Theta group:</p>

{{{id=9|
origamis.escalator(3).veech_group()
///
Arithmetic subgroup corresponding to permutationsS=(2,3)T=(1,2,3)L=(1,2)R=(1,3)
}}}

{{{id=10|
origamis.escalator(4).veech_group()
///
Arithmetic subgroup corresponding to permutationsS=(2,3)T=(1,2,3)L=(1,2)R=(1,3)
}}}

{{{id=11|
origamis.escalator(5).veech_group()
///
Arithmetic subgroup corresponding to permutationsS=(2,3)T=(1,2,3)L=(1,2)R=(1,3)
}}}

<p>The Teichmüller curve of an origami is isometric to the quotient $SL(2,\mathbb{Z}) /
\Gamma$ where $\Gamma$ is the Veech group.</p>
<p>The eierlegende Wollmilchsau has Veech group the full modular group
$SL(2,\mathbb{Z})$:</p>

{{{id=12|
origamis.eierle
e = origamis.eierlegende_wollmilchsau()
///
(1,2,3,4)(5,6,7,8)(1,5,3,7)(2,8,4,6)
}}}

{{{id=13|
e.veech_group()
///
Arithmetic subgroup corresponding to permutationsS=()T=()L=()R=()
}}}

<p>Schmithüesen in her thesis <a class="citation-reference" href="#sch05" id="id2">[Sch05]</a> wrote an algorithm to compute the Veech
group of an origami based on Rademacher-Schreier algorithm. Her algorithm is
implemented in Sage.</p>


<h1>Hubert, Lelièvre, McMullen classification in $\mathcal{H}(2)$</h1>
<p>Hubert, Lelièvre <a class="citation-reference" href="#hublel06" id="id3">[HubLel06]</a> and McMullen <a class="citation-reference" href="#mcmul05" id="id4">[McMul05]</a> gives a classification of
orbits of origamis in $\mathcal{H}(2)$ under the action of $SL(2,\mathbb{Z})$. A
<em>stratum</em> $\mathcal{H}(\kappa_1,\ldots,\kappa_l)$ of moduli space is the set of
flat surfaces with given singularity degrees $\kappa_1, \ldots, \kappa_l$. In
the context of origamis, it corresponds to the conjugacy class, as an integer
partition, of the commutator $r\,u\,r^{-1}\,u^{-1}$ of the permutations $r$ and
$u$ that define the origami. The stratum $\mathcal{H}(2)$ corresponds to the
integer partitions $(3,1^k)$ where $k$ is an integer.</p>
<p>Any origami can be decomposed into horizontal cylinders. These cylinders are
bounded by horizontal saddle connections (horizontal geodesics connecting
singularities). The combinatorics of gluings of these cylinders along saddle
connections is known as a <em>cylinder diagram</em>. Algebraically, it corresponds to a
pair $(bot,top)$ of permutations with the same number of cycles in their cycle
decompositions and a pairing of cycles of $bot$ with cycles of $top$.</p>
<p>There are only two cylinder diagrams in $\mathcal{H}(2)$ which can be built as
follows:</p>

{{{id=14|
a = AbelianStratum(2)
cyls = a.cylinder_diagrams()
c0, c1 = cyls
c0
///
Cylinder diagram (0,1)-(1,2) (2)-(0)
}}}

{{{id=15|
c1
///
Cylinder diagram (0,1,2)-(0,1,2)
}}}

<p>The origamis in $\mathcal{H}(2)$ can then be generated using those two cylinder
diagrams by specifying the lengths of each separatrix, the height of each
cylinder and an (optionnal) twist paramater:</p>

{{{id=16|
o = c0.cylcoord_to_origami([1,1,1],[1,1])
o
///
(1,2)(3)(1,3)(2)
}}}

{{{id=17|
o.stratum()
///
H(2)
}}}

{{{id=18|
o = c1.cylcoord_to_origami([2,3,1],[1])
o
o = c1.cylcoord_to_origami([2,3,1],[1])
o
///
(1,2,3,4,5,6)(1,6,2,3,4,5)
}}}

{{{id=19|
o.stratum()
///
H(2)
}}}

<p><strong>theorem (Hubert, Lelièvre, McMullen)</strong>: Let $E_n$ be the set of primitive
origamis in $\mathcal{H}(2)$ with $n$ squares. If $n = 3$ or $n$ even, then
$E_n$ is an $SL(2,\mathbb{Z})$ orbit. If $n \geq 5$ and odd, then $E_n$ is a union of
two $SL(2,\mathbb{Z})$ orbits $A_n$ and $B_n$ which can be distinguished by the number
of integer Weierstrass points.</p>
<p>The method .orientation_cover_list returns the stratum of Quadratic
differential which corresponds to the cover together with the Weierstrass
points partition which consist in the number of integer Weierstrass points of
the cover and the triple of half-integers points.</p>

{{{id=20|
o1 = c0.cylcoord_to_origami([1,2,1],[1,2])
o1.orientation_cover_list()
///
[(Q(1, -1^5), (3, (1, 1, 1)))]
}}}

{{{id=21|
o1.veech_group().index()
///
9
}}}

{{{id=22|
o3 = c0.cylcoord_to_origami([1,3,1],[1,1])
o3.orientation_cover_list()
///
[(Q(1, -1^5), (1, (3, 1, 1)))]
}}}

{{{id=23|
o3.veech_group().index()
///
18
}}}

