Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

2 Triangle Groups and Translation Subgroups
 2.1 Triangle Groups
 2.2 Translation Groups
 2.3 Triangle-Group Quotients
 2.4 Library of Triangle-Group Quotients
 2.5 Export and Import

2 Triangle Groups and Translation Subgroups

2.1 Triangle Groups

Triangle groups are stored as objects of category TriangleGroup. The triangle group is characterized by its signature \((r,q,p)\), with the integers \(r\), \(q\), \(p\) by convention given in ascending order. It is defined as

\[\Delta(r,q,p) = \left\langle a,b,c\left|a^2,b^2,c^2,(ab)^r,(bc)^q,(ca)^p\right.\right\rangle.\]

To construct a triangle group, use the function TriangleGroup (2.1-1).

Similarly, proper triangle groups are stored as ProperTriangleGroup objects. They too are characterized by their signature \((r,q,p)\), and defined as

\[\Delta^+(r,q,p) = \left\langle x,y,z\left|xyz,x^r,y^q,z^p\right.\right\rangle,\]

where the generators \(x\), \(y\), \(z\) are related to the generators \(a\), \(b\), \(c\) of the corresponding triangle group by \(x = ab\), \(y = bc\), \(z = ca\). To construct a triangle group, use the function ProperTriangleGroup (2.1-2).

The two objects are printed in the form

TriangleGroup( [ r, q, p ] )
ProperTriangleGroup( [ r, q, p ] )

respectively.

Given a TriangleGroup or ProperTriangleGroup object tg, its signature can be obtained by the operation Signature (2.1-3) and the (proper) triangle group itself can be obtained by the operation FpGroup (2.1-4).

2.1-1 TriangleGroup
‣ TriangleGroup( signature )( function )

Returns: a TriangleGroup object representing the full triangle group \(\Delta\).

Construct the full triangle group with signature signature given as a list [ r, q, p ]:

\[\Delta(r,q,p) = \left\langle a,b,c\left|a^2,b^2,c^2,(ab)^r,(bc)^q,(ca)^p\right.\right\rangle.\]

The generators are named a, b, and c, respectively.

2.1-2 ProperTriangleGroup
‣ ProperTriangleGroup( signature )( function )

Returns: a ProperTriangleGroup object representing the proper triangle group \(\Delta^+\).

Construct the proper triangle group with signature signature given as a list [ r, q, p ]:

\[\Delta^+(r,q,p) = \left\langle x,y,z\left|xyz,x^r,y^q,z^p\right.\right\rangle.\]

The generators are named x, y, and z, respectively.

2.1-3 Signature
‣ Signature( tg )( operation )

returns the signature of the triangle group tg given either as TriangleGroup or ProperTriangleGroup object as a list of integers [ r, q, p ].

2.1-4 FpGroup
‣ FpGroup( tg )( operation )

returns the triangle group tg given either as TriangleGroup or ProperTriangleGroup object as a finitely presented group.

2.2 Translation Groups

Triangle-group translation subgroups are implemented as objects of category TGTranslationGroup and store the underlying proper triangle group \(\Delta^+\), the quotient homomorphism \(\Delta^+ \to \Delta^+/\Gamma\), the translation group \(\Gamma\) as a subgroup of \(\Delta^+\) and as a finitely presented group. Additionally, the group isomorphism from \(\Gamma\) to the finitely presented group is stored. A TGTranslationGroup object can be constructed from the proper triangle group \(\Delta^+\) and a quotient group \(\Delta^+/\Gamma\) with a translation subgroup \(\Gamma\) using the function TGTranslationGroupFromQuotient (2.2-1).

Triangle-group translation subgroups are printed in the form

TranslationGroup( < g1, g2, ... | rel1, rel2, ... > )

where g1, g2, ... are the generators of the finitely presented group and rel1, rel2, ... are the relators.

The components of a TGTranslationGroup object can be accessed using the following operations:

2.2-1 TGTranslationGroupFromQuotient
‣ TGTranslationGroupFromQuotient( D, G, genus[, GAMgens[, TDGAM[, TGGw]]] )( function )

Returns: the translation group as a TriangleTranslationGroup object.

Construct the translation group as the kernel of the quotient homomorphism from the proper triangle group D to the quotient group G. The functions makes sure that a minimal number of translation generators is used by ensuring the number matches 2*genus.

Optionally, generators GAMgens of the translation group \(\Gamma\) can be explicitly given as elements of tg. If not given, they are computed automatically. Similarly, choices for the transversals \(T_{\Delta^+}(\Gamma)\) and \(T_{G^+}(G_w^+)\) can be given as TDGAM and TGGw, respectively. If not given, they are computed automatically. Here, TDGAM is a list of elements of tg and TGGw is a list of three lists, one for \(w=x,y,z\), respectively, of elements of tg.

2.2-2 TGTranslationGroup
‣ TGTranslationGroup( tg, quotient )( function )

Returns: the translation group as a TriangleTranslationGroup object.

Construct the translation group as the kernel of the quotient homomorphism from the proper triangle group tg given as a ProperTriangleGroup object (see 2.1) to the quotient group quotient given as a TGQuotient object (see 2.3).

2.2-3 GetProperTriangleGroup
‣ GetProperTriangleGroup( Gamma )( operation )

returns the proper triangle group \(\Delta^+\) of which the translation group Gamma is a subgroup.

2.2-4 QuotientHomomorphism
‣ QuotientHomomorphism( Gamma )( operation )

returns the group homomorphism from the proper triangle group \(\Delta^+\) given by GetProperTriangleGroup(Gamma) to the quotient group \(\Delta^+/\Gamma\).

2.2-5 AsTGSubgroup
‣ AsTGSubgroup( Gamma )( operation )

returns the translation group Gamma as a subgroup of the proper triangle group \(\Delta^+\) given by GetProperTriangleGroup(Gamma).

2.2-6 FpGroup
‣ FpGroup( Gamma )( operation )

returns the translation group Gamma as a finitely presented group with generators g1, g2, ....

2.2-7 FpIsomorphism
‣ FpIsomorphism( Gamma )( operation )

returns the group isomorphism from AsTGSubgroup(Gamma), the translation group as a subgroup of proper triangle group, to the finitely presented group FpGroup(Gamma).

2.3 Triangle-Group Quotients

Triangle-group quotients \(\Delta^+/\Gamma\) are implemented as objects of category TGQuotient with the following components:

It is printed in the form

  TGQuotient( name, [ r, q, p ], order, genus, actiontype, relators )

where name is the name of the triangle group quotient, [ r, q, p ] is the signature of the underlying triangle group, order is the order of the quotient group, genus is the genus of the triangle group quotient, actiontype is the type of the action, and relators is the defining relators of the quotient.

2.3-1 TGQuotient
‣ TGQuotient( quotient[, signature] )( function )

Returns: triangle-group quotient as TGQuotient.

Constructs the triangle group quotient of the triangle-group with signature signature, given as a list [ r, q, p ], specified by quotient, which is either an integer giving the position in Conder's list or a list of the form [genus, number] giving the genus and number in Conder's list of the quotient. In the latter case, signature can be omitted.

Loads all quotient groups of the corresponding triangle group if they have not been loaded before.

2.3-2 TGQuotientName
‣ TGQuotientName( tgquotient )( operation )

returns the name of the triangle group quotient. For quotients from the library, i.e., Conder's list, this takes the form [genus, number], number is a running index over all triangle groups for the given genus.

2.3-3 TGQuotientGenus
‣ TGQuotientGenus( tgquotient )( operation )

returns the genus of the triangle group quotient.

2.3-4 TriangleGroupSignature
‣ TriangleGroupSignature( tgquotient )( operation )

returns the signature of the triangle group in the form [ r, q, p ].

2.3-5 TGQuotientOrder
‣ TGQuotientOrder( tgquotient )( operation )

returns the order of the triangle group quotient.

2.3-6 TGQuotientActionType
‣ TGQuotientActionType( tgquotient )( operation )

returns the type of the action of the triangle group quotient, following the terminology of Marston Conder described in [Con07].

The action is called "reflexible [m]" if there exists an involutory automorphism of the quotient that inverts the images of two of the three generators \(x\), \(y\) and \(z\). This is the same as hypermap reflexibility.

The action is called "reflexible [n]" if two or more of \(p\), \(q\) and \(r\) are equal, and there exists an involutory automorphism of the quotient that swaps the images of two of the three generators \(x\), \(y\) and \(z\) with the inverse of the other. For example, this happens if \(p = q\) and the involutory automorphism swaps the image of \(x\) with the image of \(y^{-1}\), and vice versa. This is equivalent to an extension of the \((p,p,r)\) triangular action to an action of a larger group with NEC signature \((0; +; [p]; {(r)})\).

In all other cases the action is irreflexible, or "chiral".

2.3-7 TGQuotientRelators
‣ TGQuotientRelators( tgquotient )( operation )

returns the defining relators of the quotient as a string.

2.3-8 TGQuotientRelators
‣ TGQuotientRelators( tg, tgquotient )( operation )

returns the defining relators of tgquotient as group elements of the triangle group tg given as a ProperTriangleGroup object (see 2.1).

2.3-9 TGQuotientGroup
‣ TGQuotientGroup( tg, tgquotient )( operation )

returns tgquotient as a quotient group of the triangle group tg given as a ProperTriangleGroup object (see 2.1).

2.4 Library of Triangle-Group Quotients

The HyperCells package comes with a library of triangle-group quotients acting on surfaces of genus 2 to 101 based on the list by Marston Conder [Con07] published at https://www.math.auckland.ac.nz/~conder/TriangleGroupQuotients101.txt. The quotients are labeled by the genus g and a running index n over all triangle groups for the given genus: Tg.n.

All these quotients can be accessed using the function TGQuotient (2.3-1).

2.4-1 LoadTGQuotients
‣ LoadTGQuotients( signature )( function )

Returns: true if the quotients were loaded for the first time, false if they had been loaded before.

Loads all available triangle group quotients for triangle group with signature [ r, q, p ] from the library.

2.4-2 ListTriangleGroups
‣ ListTriangleGroups( arg )( function )

Returns: list of signatures [ r, q, p ] identifying all the available triangle groups.

List all triangle groups.

2.4-3 ListTGQuotients
‣ ListTGQuotients( signature )( function )

Returns: list of quotient specifiers in the form [genus, number].

Lists all quotients of the triangle group with signature [ r, q, p ].

2.5 Export and Import

2.5-1 ExportString
‣ ExportString( tgquotient )( operation )

returns a string appropriate for export to a text file.

2.5-2 ImportTGQuotientString
‣ ImportTGQuotientString( string )( function )

Returns: triangle-group quotient as TGQuotient.

Constructs the triangle group quotient from a string in the format produced by ExportString.

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind

generated by GAPDoc2HTML