ApCoCoA-1:Euclidean Bianchi 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

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>