Relative Period Deformations#

The Arnoux-Yoccoz surface#

from flatsurf import translation_surfaces

s = translation_surfaces.arnoux_yoccoz(3).canonicalize()
s.plot()
../_images/dc6192fc45937198ea8d2d9b13c2510ec176b4fe5fc61c009f13ad8449bf74fd.png
field = s.base_ring()
field
Number Field in alpha with defining polynomial x^3 + x^2 + x - 1 with alpha = 0.5436890126920763?
alpha = field.gen()
AA(alpha)
0.5436890126920763?
m = matrix(field, [[alpha, 0], [0, 1 / alpha]])
show(m)
\(\displaystyle \left(\begin{array}{rr} \alpha & 0 \\ 0 & \alpha^{2} + \alpha + 1 \end{array}\right)\)

Check that \(m\) is the derivative of a pseudo-Anosov of \(s\).

(m * s).canonicalize() == s
True

Rel deformation#

A singularity of the surface is an equivalence class of vertices of the polygons making up the surface.

s.point(0, 0)
Vertex 0 of polygon 0

We’ll move this singularity to the right by two different amounts:

s1 = s.rel_deformation(
    {s.point(0, 0): vector(field, (alpha / (1 - alpha), 0))}
).canonicalize()
/usr/share/miniconda3/envs/test/lib/python3.10/site-packages/cppyy/__init__.py:319: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  import pkg_resources as pr
s2 = s.rel_deformation(
    {s.point(0, 0): vector(field, (1 / (1 - alpha), 0))}
).canonicalize()

Note that by the action of the derivative of the pseudo-Anosov we have:

s1 == (m * s2).canonicalize()
True

By a Theorem of Barak Weiss and the author of this notebook, these surfaces are all periodic in the vertical direction. You can see the vertical cylinders:

s1.plot()
../_images/a8e810b4af1468e67135385ee075d013f6a9b187aa0ade5d0b42bcb638f5bba9.png