ApCoCoA-1:Triangle groups

From ApCoCoAWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

For integers l,m,n greater than 1 the Triangle groups have can be described with the following finite representation:

 Triangle(l,m,n) = {a,b,c | a^{2} = b^{2} = c^{2} = (ab)^{l} = (bc)^{m} = (ca)^{n} = 1}

Reference

Gross, Jonathan L.; Tucker, Thomas W. (2001), "6.2.8 Triangle Groups", Topological graph theory, Courier Dover Publications

Computation

 /*Use the ApCoCoA package ncpoly.*/
 
 // set the variables l,m,n
 // Note that l,m,n have to be greater than 1
 MEMORY.L:=3;
 MEMORY.M:=3;
 MEMORY.N:=3;
 Use ZZ/(2)[a,b,c];
 NC.SetOrdering("LLEX");
 Define CreateRelationsTriangle()
   Relations:=[];
   
   // add the relation a^2 = b^2 = c^2 = 1
   Append(Relations,[[a^2],[1]]);
   Append(Relations,[[b^2],[1]]);
   Append(Relations,[[c^2],[1]]);
   
   // add the relation (ab)^l = 1
   RelationBuffer1:=[];
   For Index0:= 1 To MEMORY.L Do
     Append(RelationBuffer1,a);
     Append(RelationBuffer1,b);
   EndFor;
   Append(Relations,[RelationBuffer1,[1]]);
   
   // add the relation (bc)^m = 1
   RelationBuffer2:=[];
   For Index1:= 1 To MEMORY.M Do
     Append(RelationBuffer2,b);
     Append(RelationBuffer2,c);
   EndFor;
   Append(Relations,[RelationBuffer2,[1]]);
   
   // add the relation (ca)^n = 1
   RelationBuffer3:=[];
   For Index2:= 1 To MEMORY.N Do
     Append(RelationBuffer3,c);
     Append(RelationBuffer3,a);
   EndFor;
   Append(Relations,[RelationBuffer3,[1]]);
   Return Relations;
 EndDefine;
 
 Relations:=CreateRelationsTriangle();
 GB:=NC.GB(Relations);

Examples in Symbolic Data Format

Triangle group l=2 m=4 n=6
 <FREEALGEBRA createdAt="2014-03-02" createdBy="strohmeier">
 	<vars>a,b,c</vars>
 	<basis>
 	<ncpoly>a*a-1</ncpoly>
 	<ncpoly>b*b*-1</ncpoly>
 	<ncpoly>c*c*-1</ncpoly>
 	<ncpoly>(a*b)^(2)-1</ncpoly>
 	<ncpoly>(b*c)^(4)-1</ncpoly>
 	<ncpoly>(c*a)^(6)-1</ncpoly>
 	</basis>
 	<Comment>Triangle_groups_l2m4n6</Comment>
 </FREEALGEBRA>
Triangle group l=3 m=3 n=3
 <FREEALGEBRA createdAt="2014-03-02" createdBy="strohmeier">
 	<vars>a,b,c</vars>
 	<basis>
 	<ncpoly>a*a-1</ncpoly>
 	<ncpoly>b*b*-1</ncpoly>
 	<ncpoly>c*c*-1</ncpoly>
 	<ncpoly>(a*b)^(3)-1</ncpoly>
 	<ncpoly>(b*c)^(3)-1</ncpoly>
 	<ncpoly>(c*a)^(3)-1</ncpoly>
 	</basis>
 	<Comment>Triangle_groups_3</Comment>
 </FREEALGEBRA>
Triangle group l=3 m=4 n=5
 <FREEALGEBRA createdAt="2014-03-02" createdBy="strohmeier">
 	<vars>a,b,c</vars>
 	<basis>
 	<ncpoly>a*a-1</ncpoly>
 	<ncpoly>b*b*-1</ncpoly>
 	<ncpoly>c*c*-1</ncpoly>
 	<ncpoly>(a*b)^(3)-1</ncpoly>
 	<ncpoly>(b*c)^(4)-1</ncpoly>
 	<ncpoly>(c*a)^(5)-1</ncpoly>
 	</basis>
 	<Comment>Triangle_groups_l3m4n5</Comment>
 </FREEALGEBRA>
Triangle group l=3 m=5 n=7
 <FREEALGEBRA createdAt="2014-03-02" createdBy="strohmeier">
 	<vars>a,b,c</vars>
 	<basis>
 	<ncpoly>a*a-1</ncpoly>
 	<ncpoly>b*b*-1</ncpoly>
 	<ncpoly>c*c*-1</ncpoly>
 	<ncpoly>(a*b)^(3)-1</ncpoly>
 	<ncpoly>(b*c)^(5)-1</ncpoly>
 	<ncpoly>(c*a)^(7)-1</ncpoly>
 	</basis>
 	<Comment>Triangle_groups_l3m5n7</Comment>
 </FREEALGEBRA>
Triangle group l=7 m=11 n=13
 <FREEALGEBRA createdAt="2014-03-02" createdBy="strohmeier">
 	<vars>a,b,c</vars>
 	<basis>
 	<ncpoly>a*a-1</ncpoly>
 	<ncpoly>b*b*-1</ncpoly>
 	<ncpoly>c*c*-1</ncpoly>
 	<ncpoly>(a*b)^(7)-1</ncpoly>
 	<ncpoly>(b*c)^(11)-1</ncpoly>
 	<ncpoly>(c*a)^(13)-1</ncpoly>
 	</basis>
 	<Comment>Triangle_groups_l7m11n13</Comment>
 </FREEALGEBRA>