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>