ApCoCoA-1:Euclidean Bianchi groups
From ApCoCoAWiki
Revision as of 13:38, 15 April 2014 by StrohmeierB (talk | contribs) (New page: === <div id="Euclidean_Bianchi_groups">Computations of Euclidean Bianchi groups</div> === ==== Description ==== The Bianchi Groups Eb_{d} are PSL_{2}(...)
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>