ApCoCoA:Euclidean Bianchi groups

From CoCoAWiki
Jump to: navigation, search

Description

The Bianchi Groups Eb_{d} are PSL_{2}(O_{d}) where O_{d} is the ring of integers in the quadratic imaginary number field Q sqrt(-d) with d a positive square-free rational integer. If d = 1,2,3,7,11 O_{d} has a Euclidean algorithm and the corresponding groups are called the Euclidean Bianchi Groups.

Reference

L. Greenberg - "Discontinuous Groups and Riemann Surfaces: Proceedings" - Princeton University Press (1974) 151; B. Fine - "THE EUCLIDEAN BIANCHI GROUPS" - COMMUNICATIONS IN ALGEBRA, 18(8), 2461-2484 (1990) 2461

Computation Eb_{3}

 /*Use the ApCoCoA package ncpoly.*/

 Use ZZ/(2)[a,d,e];
 NC.SetOrdering("LLEX");
  
 Define CreateRelationsEuclideanBianchigroup3()
  Relations:=[];
    
   // add the relation a^2 = 1
  Append(Relations,[[a,a],[1]]);
    
  // add the relation (da)^2 = 1
  Append(Relations,[[d,a,d,a],[1]]);
    
  // add the relation (ade)^3 = 1
  Append(Relations,[[a,d,e,a,d,e,a,d,e],[1]]);
    
  // add the relation d^3 = 1
  Append(Relations,[[d,d,d],[1]]);
    
  // add the relation e^3 = 1
  Append(Relations,[[e,e,e],[1]]);
    
  // add the relation (dae^{-1})^3 = 1
  Append(Relations,[[d,a,e,e,d,a,e,e,d,a,e,e],[1]]);
    
  // add the relation e^{-1}dedaed^{-1}e^{-1}d^{-1}a = 1
  Append(Relations,[[e,e,d,e,d,a,e,d,d,e,e,d,d,a],[1]]);
    
  Return Relations;
EndDefine;
  
Relations:=CreateRelationsEuclideanBianchigroup3();
Relations;

Gb:=NC.GB(Relations,31,1,100,1000);
Gb;

Eb_{3} in Symbolic Data Format

 <FREEALGEBRA createdAt="2014-03-26" createdBy="strohmeier">
 	<vars>a,d,e</vars>
 	<uptoDeg>12</uptoDeg>
 	<basis>
 	<ncpoly>a*a-1</ncpoly>
 	<ncpoly>d*a*d*a-1</ncpoly>
 	<ncpoly>a*d*e*a*d*e*a*d*e-1</ncpoly>
 	<ncpoly>d*d*d-1</ncpoly>
 	<ncpoly>e*e*e-1</ncpoly>
 	<ncpoly>(d*a*e*e)^3-1</ncpoly>
 	<ncpoly>e*e*d*e*d*a*e*d*d*e*e*d*d*a-1</ncpoly>
 	</basis>
 	<Comment>The partial LLex Gb has 237 elements</Comment>
 	<Comment>Euclidean_Bianchi_group3</Comment>
 </FREEALGEBRA>

Computation Eb_{2}

/*Use the ApCoCoA package ncpoly.*/
  
Use ZZ/(2)[a,s,t,u,v];
NC.SetOrdering("LLEX");
  
 Define CreateRelationsEuclideanBianchigroup2()
  Relations:=[];
    
  // add the inverse relations
  Append(Relations,[[u,v],[1]]);
  Append(Relations,[[v,u],[1]]);
  Append(Relations,[[t,s],[1]]);
  Append(Relations,[[s,t],[1]]);
    
   // add the relation a^2 = 1
  Append(Relations,[[a,a],[1]]);
    
  // add the relation (at)^3 = 1
  Append(Relations,[[a,t,a,t,a,t],[1]]);
    
  // add the relation (u^{-1}aua)^2 = 1
  Append(Relations,[[v,a,u,a,v,a,u,a],[1]]);
    
  // add the relation [t,u] = 1
  // the commutator of [t,u] is t,u,s,v
  Append(Relations,[[t,u,s,v],[1]]);
    
  Return Relations;
EndDefine;
  
Relations:=CreateRelationsEuclideanBianchigroup2();
Relations;
  
Gb:=NC.GB(Relations,31,1,100,1000);
Gb;

Eb_{2} in Symbolic Data Format

 <FREEALGEBRA createdAt="2014-03-26" createdBy="strohmeier">
 	<vars>a,s,t,u,v</vars>
 	<uptoDeg>12</uptoDeg>
 	<basis>
 	<ncpoly>u*v-1</ncpoly>
 	<ncpoly>v*u-1</ncpoly>
 	<ncpoly>s*t-1</ncpoly>
 	<ncpoly>t*s-1</ncpoly>
 	<ncpoly>a*a-1</ncpoly>
 	<ncpoly>a*t*a*t*a*t-1</ncpoly>
 	<ncpoly>v*a*u*a*v*a*u*a-1</ncpoly>
 	<ncpoly>t*u*s*v-1</ncpoly>
 	<Comment> commutator [t,u]=tusv
 	</basis>
 	<Comment>The partial LLex Gb has 147 elements</Comment>
 	<Comment>Euclidean_Bianchi_group2</Comment>
 </FREEALGEBRA>

Computation Eb_{7}

/*Use the ApCoCoA package ncpoly.*/

Use ZZ/(2)[a,s,t,u,v];
NC.SetOrdering("LLEX");
  
 Define CreateRelationsEuclideanBianchigroup7()
  Relations:=[];
    
  // add the inverse relations
  Append(Relations,[[u,v],[1]]);
  Append(Relations,[[v,u],[1]]);
  Append(Relations,[[t,s],[1]]);
  Append(Relations,[[s,t],[1]]);
    
   // add the relation a^2 = 1
  Append(Relations,[[a,a],[1]]);
    
  // add the relation (at)^3 = 1
  Append(Relations,[[a,t,a,t,a,t],[1]]);
    
  // add the relation (u^{-1}auat)^2 = 1
  Append(Relations,[[v,a,u,a,t,v,a,u,a,t],[1]]);
      
  // add the relation [t,u] = 1
  // the commutator of [t,u] is t,u,s,v
  Append(Relations,[[t,u,s,v],[1]]);
     
  Return Relations;
EndDefine;
  
Relations:=CreateRelationsEuclideanBianchigroup7();
Relations;
  
Gb:=NC.GB(Relations,31,1,100,1000);
Gb;

Eb_{7} in Symbolic Data Format

 <FREEALGEBRA createdAt="2014-03-26" createdBy="strohmeier">
 	<vars>a,s,t,u,v</vars>
 	<uptoDeg>11</uptoDeg>
 	<basis>
 	<ncpoly>u*v-1</ncpoly>
 	<ncpoly>v*u-1</ncpoly>
 	<ncpoly>s*t-1</ncpoly>
 	<ncpoly>t*s-1</ncpoly>
 	<ncpoly>a*a-1</ncpoly>
 	<ncpoly>a*t*a*t*a*t-1</ncpoly>
 	<ncpoly>v*a*u*a*t*v*a*u*a*t-1</ncpoly>
 	<ncpoly>t*u*s*v-1</ncpoly>
 	<Comment> commutator [t,u]=tusv
 	</basis>
 	<Comment>The partial LLex Gb has 179 elements</Comment>
 	<Comment>Euclidean_Bianchi_group7</Comment>
 </FREEALGEBRA>

Computation Eb_{11}

/*Use the ApCoCoA package ncpoly.*/
  
Use ZZ/(2)[a,s,t,u,v];
NC.SetOrdering("LLEX");
  
 Define CreateRelationsEuclideanBianchigroup11()
  Relations:=[];
    
  // add the inverse relations
  Append(Relations,[[u,v],[1]]);
  Append(Relations,[[v,u],[1]]);
  Append(Relations,[[t,s],[1]]);
  Append(Relations,[[s,t],[1]]);
    
   // add the relation a^2 = 1
  Append(Relations,[[a,a],[1]]);
    
  // add the relation (at)^3 = 1
  Append(Relations,[[a,t,a,t,a,t],[1]]);
    
  // add the relation (u^{-1}auat)^3 = 1
  Append(Relations,[[v,a,u,a,t,v,a,u,a,t,v,a,u,a,t],[1]]);
    
  // add the relation [t,u] = 1
  // the commutator of [t,u] is t,u,s,v
  Append(Relations,[[t,u,s,v],[1]]);
    
  Return Relations;
EndDefine;
  
Relations:=CreateRelationsEuclideanBianchigroup11();
Relations;
  
Gb:=NC.GB(Relations,31,1,100,1000);
Gb;

Eb_{11} in Symbolic Data Format

 <FREEALGEBRA createdAt="2014-03-26" createdBy="strohmeier">
 	<vars>a,s,t,u,v</vars>
 	<uptoDeg>15</uptoDeg>
 	<basis>
 	<ncpoly>u*v-1</ncpoly>
 	<ncpoly>v*u-1</ncpoly>
 	<ncpoly>s*t-1</ncpoly>
 	<ncpoly>t*s-1</ncpoly>
 	<ncpoly>a*a-1</ncpoly>
 	<ncpoly>a*t*a*t*a*t-1</ncpoly>
 	<ncpoly>v*a*u*a*t*v*a*u*a*t*v*a*u*a*t-1</ncpoly>
 	<ncpoly>t*u*s*v-1</ncpoly>
 	<Comment> commutator [t,u]=tusv
 	</basis>
 	<Comment>The partial LLex Gb has 54 elements</Comment>
 	<Comment>Euclidean_Bianchi_group11</Comment>
 </FREEALGEBRA>