ApCoCoA:Triangle groups

From CoCoAWiki
Jump to: navigation, search

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>