ApCoCoA-1:OrdinaryTetrahedron groups

From ApCoCoAWiki
Revision as of 10:49, 23 August 2013 by Xiu (talk | contribs) (→‎Description)

Description

An Ordinary Tetrahedron group is a group with a representation of the form

 G(e_1,e_2,e_3,f_1,f_2,f_3) = <x,y,z | x^{e_1} = y^{e_2} = z^{e_3} = (xy^{-1})^{f_1} = (yz^{-1})^{f_2} = (zx^{-1})^{f_3} = 1>

Reference

Edjvet, Rosenberger, Stille, Thomas, "On certain generalized tetrahedon groups", Computational And Geometric Aspects Of Modern Algebra.

Computation

 /*Use the ApCoCoA package ncpoly.*/
 
 // Variables of Ordinary Tetrahedon group
 MEMORY.E1:=3;
 MEMORY.E2:=3;
 MEMORY.E3:=3;
 MEMORY.F1:=3;
 MEMORY.F2:=3;
 MEMORY.F3:=3;
   
 Use ZZ/(2)[x,y,z];
 NC.SetOrdering("LLEX");
 Define CreateRelationsDicyclic()
   Relations:=[];
   If MEMORY.E1 < 2 Or MEMORY.E2 < 2 Or MEMORY.E3 < 2 Or MEMORY.F1 < 2 Or MEMORY.F2 < 2 Or MEMORY.F3 < 2 Then
     Output:="Wrong Input! Please check that E_i and F_i are greater than 1";
     Print(Output);  		
   Else
     // add the relations x^{e_1} = 1, y^{e_2} = 1 and z^{e_3} = 1
     Append(Relations,[[x^(MEMORY.E1)],[1]]);
     Append(Relations,[[y^(MEMORY.E2)],[1]]);
     Append(Relations,[[z^(MEMORY.E3)],[1]]);
    	
     // add the relation (xy^{-1})^{f_1}
     RelationA:=[];
     For Index1 := 1 To MEMORY.F1 Do
       Append(RelationA,x);
       Append(RelationA,y^(MEMORY.E2-1));
     EndFor;
     Append(Relations,[RelationA,[1]]);
     // add the relation (yz^{-1})^{f_2}
     RelationB:=[];
     For Index2 := 1 To MEMORY.F2 Do
       Append(RelationB,y);
       Append(RelationB,z^(MEMORY.E3-1));
     EndFor;
     Append(Relations,[RelationB,[1]]);
 
     // add the relation (zx^{-1})^{f_3}
     RelationC:=[];
     For Index3 := 1 To MEMORY.F3 Do
       Append(RelationC,z);
       Append(RelationC,x^(MEMORY.E1-1));
     EndFor;
       Append(Relations,[RelationC,[1]]);
   EndIf;  	
   Return Relations;
 EndDefine;
 
 Relations:=CreateRelationsDicyclic();
 Relations;
 If Size(Relations) > 0 Then
   GB:=NC.GB(Relations,31,1,100,1000);	
   Size(GB);	
 EndIf;