The SageMath package surface_dynamics by Vincent Delecroix [VDCF] implements functions to study origamis in Sage. We provide a small interface to use these methods from GAP. An installation of Sage together with the surface_dynamics package and the GAP packages HomalgToCAS, IO_ForHomalg, IO and RingsForHomalg are needed.
The following descriptions and examples are mainly taken from the manual of [VDCF].
‣ VeechgroupBySage ( O ) | ( function ) |
Returns: A subgroup of \(SL_2(\mathbb Z)\).
This function executes the SageMath method veech_group
and returns its result as a GAP object.
‣ IsHyperellipticBySage ( O ) | ( function ) |
Returns: A boolean.
Checks whether or not the origami O is hyperelliptic.
‣ IsPrimitiveBySage ( O ) | ( function ) |
Returns: A boolean.
Checks whether or not the origami O is primitive. An origami is called primitive, if it does not cover another origami, or equivalently if the action of the monodromy group has no non-trivial block.
‣ ReduceBySage ( O ) | ( function ) |
Returns: An Origami.
Returns a reduced origami isomorphic (up to \(SL(2,\mathbb{Q})\) action) to O.
gap> ReduceBySage(Origami((1,2)(3,4), (1,3,5,6)(2,4) )); Origami((1,2), (1,3), 6)
‣ AbsolutePeriodGeneratorsBySage ( O ) | ( function ) |
Returns: A list of lists of integers.
Returns a generating set of the absolute periods of O. To each curve on an origami, we can associate its holonomy (that is an element of \( \mathbb{Z} \times \mathbb{Z}\)). This function returns a generating set of the module generated by holonomies of closed curves.
gap> AbsolutePeriodGeneratorsBySage(Origami((1,2,3,4)(5,6), (1,5)(2,6) )); [ [ 2, 0 ], [ 2, 0 ], [ 0, 1 ], [ 0, 1 ] ]
‣ LatticeOfAbsolutePeriodsBySage ( O ) | ( function ) |
Returns: A list of lists of integers.
Returns \((a,t,u)\) where \(((a,0),(t,u))\) is a standard basis for the lattice of the absolute periods of O. The lattice of periods of an origami is the sublattice of \(\mathbb{Z}^2\) generated by the holonomy vectors of its saddle connections. Any sublattice of \(\mathbb{Z}^2\) has a standard basis consisting of a horizontal vector \((a,0)\) and a non horizontal vector \((t,u)\), where \(a, t, u\) are integers satisfying \(0 < t < a\) and \(0 < t\).
gap> LatticeOfAbsolutePeriodsBySage(Origami((1,2)(3,4), (2,3) )); [ [ 2, 0 ], [ 0, 1 ] ]
‣ OptimalDegreeBySage ( O ) | ( function ) |
Returns: An integer.
Computes the optimal degree of O. The optimal degree of an origami is the degree of the map to the largest torus. Any origami \(X \rightarrow T\) factors as \(i \circ \pi_{opt}\) where i is an isogeny. The optimal degree is the degree of \(\pi_{opt}\).
gap> OptimalDegreeBySage(Origami((1,2)(3,4), (2,3) )); 2
‣ PeriodGeneratorsBySage ( O ) | ( function ) |
Returns: A list of lists of integer.
Return a list of periods that generate the lattice of periods.
gap> PeriodGeneratorsBySage(Origami((1,3,6)(2,5,7)(4),(1,2,4,3,5,6,7) )); [ [ 2, 0 ], [ 1, 0 ], [ 1, 0 ], [ 0, 2 ], [ -1, 2 ], [ 0, 1 ] ]
‣ WidthsAndHeightsBySage ( O ) | ( function ) |
Returns: A list of lists of integers.
Return the list of widths and heights of cylinders in O.
gap> WidthsAndHeightsBySage(Origami((1,2)(3,4),(1,3,5,6)(2,4) )); [ [ 1, 2 ], [ 2, 2 ] ]
‣ SumOfLyapunovExponentsBySage ( O ) | ( function ) |
Returns: A rational number.
Computes the sum of Lyapunov exponents for O.
gap> SumOfLyapunovExponentsBySage(Origami((1,2)(3,4),(2,3) )); 3/2
‣ IntermediateCoversBySage ( O ) | ( function ) |
Returns the list of intermediate covers of this origami. Not yet implemented.
generated by GAPDoc2HTML