Difference between revisions of "ApCoCoA-1:Extended Hecke groups"
From ApCoCoAWiki
StrohmeierB (talk | contribs) |
StrohmeierB (talk | contribs) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
Another possibility to generate the extended Hecke group is to extend the presentation with P,Q and R. The result for the presentation is: | Another possibility to generate the extended Hecke group is to extend the presentation with P,Q and R. The result for the presentation is: | ||
− | + | ||
− | + | <P,Q,R,X,Y | X = RP; Y = QR; P^2 = Q^2 = R^2 = (RP)^2 = (QR)^p = 1> | |
− | + | <P,Q,R,X,Y | X = RP; Y = QR; P^2 = Q^2 = R^2 = (RP)^2 = (QR)^p = 1> | |
==== Reference ==== | ==== Reference ==== | ||
Line 60: | Line 60: | ||
<Comment>The partial LLex Gb has 69 elements</Comment> | <Comment>The partial LLex Gb has 69 elements</Comment> | ||
<Comment>Extended_Hecke_Group_p3</Comment> | <Comment>Extended_Hecke_Group_p3</Comment> | ||
+ | </FREEALGEBRA> | ||
+ | |||
+ | ==== Alternative Computation ==== | ||
+ | |||
+ | /*Use the ApCoCoA package ncpoly.*/ | ||
+ | |||
+ | // Define the variable p of the extended Hecke group | ||
+ | MEMORY.P := 3; | ||
+ | |||
+ | Use ZZ/(2)[p,q,r,x,y]; | ||
+ | NC.SetOrdering("LLEX"); | ||
+ | |||
+ | Define CreateRelationsAltExtendedHeckegroup() | ||
+ | Relations:=[]; | ||
+ | |||
+ | //add the relation x = rp | ||
+ | Append(Relations,[[x],[r,p]]); | ||
+ | |||
+ | //add the relation y = qr | ||
+ | Append(Relations,[[y],[q,r]]); | ||
+ | |||
+ | //add the relation p^2 = 1 | ||
+ | Append(Relations,[[p,p],[1]]); | ||
+ | |||
+ | //add the relation q^2 = 1 | ||
+ | Append(Relations,[[q,q],[1]]); | ||
+ | |||
+ | // add the relation r^2 = 1 | ||
+ | Append(Relations,[[r,r],[1]]); | ||
+ | |||
+ | // add the relation rp^2 = 1 | ||
+ | Append(Relations,[[r,p,r,p],[1]]); | ||
+ | |||
+ | // add the relation (qr)^P = 1 | ||
+ | RelationBuffer1:=[]; | ||
+ | For Index0 := 1 To MEMORY.P Do | ||
+ | Append(RelationBuffer1,q); | ||
+ | Append(RelationBuffer1,r); | ||
+ | EndFor; | ||
+ | Append(Relations,[RelationBuffer1,[1]]); | ||
+ | |||
+ | Return Relations; | ||
+ | EndDefine; | ||
+ | |||
+ | Relations:=CreateRelationsAltExtendedHeckegroup(); | ||
+ | Relations; | ||
+ | |||
+ | Gb:=NC.GB(Relations,31,1,100,1000); | ||
+ | Gb; | ||
+ | |||
+ | ====Example in Symbolic Data Format==== | ||
+ | <FREEALGEBRA createdAt="2014-07-03" createdBy="strohmeier"> | ||
+ | <vars>p,q,r,x,y</vars> | ||
+ | <basis> | ||
+ | <ncpoly>x-r*p</ncpoly> | ||
+ | <ncpoly>y-q*r</ncpoly> | ||
+ | <ncpoly>p*p-1</ncpoly> | ||
+ | <ncpoly>q*q-1</ncpoly> | ||
+ | <ncpoly>r*r-1</ncpoly> | ||
+ | <ncpoly>r*p*r*p-1</ncpoly> | ||
+ | <ncpoly>(q*r)^3-1</ncpoly> | ||
+ | </basis> | ||
+ | <Comment>AltExtended_Hecke_Group_P3</Comment> | ||
</FREEALGEBRA> | </FREEALGEBRA> |
Latest revision as of 06:24, 31 July 2014
Description
The Hecke group is a group consisting of linear fractional transformations preserving the upper half plane. The extended Hecke group generate by adding the reflection R(z) = 1/z. So the extended Hecke group has the following presentation:
<R,X,Y | R^2 = X^2 = Y^p = (RX)^2 = (YR)^2 = 1>
Another possibility to generate the extended Hecke group is to extend the presentation with P,Q and R. The result for the presentation is:
<P,Q,R,X,Y | X = RP; Y = QR; P^2 = Q^2 = R^2 = (RP)^2 = (QR)^p = 1> <P,Q,R,X,Y | X = RP; Y = QR; P^2 = Q^2 = R^2 = (RP)^2 = (QR)^p = 1>
Reference
Ma. Louise Antonette N. De Las Peñas, Ma. Carlota B. Decena and Glenn R. Laigo, ON THE SUBGROUPS OF THE EXTENDED HECKE, HECKE AND PICARD GROUPS, Proceedings of the 5th Asian Mathematical Conference, Malaysia 2009.
Computation
/*Use the ApCoCoA package ncpoly.*/ // Define the variable p of the extended Hecke group MEMORY.P := 3; Use ZZ/(2)[r,x,y]; NC.SetOrdering("LLEX"); Define CreateRelationsExtendedHeckegroup() Relations:=[]; //add the relation r^2 = 1 Append(Relations,[[r,r],[1]]); //add the relation x^2 = 1 Append(Relations,[[x,x],[1]]); //add the relation y^p = 1 Append(Relations,[[y^MEMORY.P],[1]]); //add the relation (rx)^2 = 1 Append(Relations,[[r,x,r,x],[1]]); // add the relation (yr)^2 = 1 Append(Relations,[[y,r,y,r],[1]]); Return Relations; EndDefine; Relations:=CreateRelationsExtendedHeckegroup(); Relations; Gb:=NC.GB(Relations,31,1,100,1000); Gb;
Example in Symbolic Data Format
<FREEALGEBRA createdAt="2014-07-03" createdBy="strohmeier"> <vars>r,x,y</vars> <uptoDeg>53</uptoDeg> <basis> <ncpoly>r*r-1</ncpoly> <ncpoly>x*x-1</ncpoly> <ncpoly>y^3-1</ncpoly> <ncpoly>r*x*r*x-1</ncpoly> <ncpoly>y*r*y*r-1</ncpoly> </basis> <Comment>The partial LLex Gb has 69 elements</Comment> <Comment>Extended_Hecke_Group_p3</Comment> </FREEALGEBRA>
Alternative Computation
/*Use the ApCoCoA package ncpoly.*/ // Define the variable p of the extended Hecke group MEMORY.P := 3; Use ZZ/(2)[p,q,r,x,y]; NC.SetOrdering("LLEX"); Define CreateRelationsAltExtendedHeckegroup() Relations:=[]; //add the relation x = rp Append(Relations,[[x],[r,p]]); //add the relation y = qr Append(Relations,[[y],[q,r]]); //add the relation p^2 = 1 Append(Relations,[[p,p],[1]]); //add the relation q^2 = 1 Append(Relations,[[q,q],[1]]); // add the relation r^2 = 1 Append(Relations,[[r,r],[1]]); // add the relation rp^2 = 1 Append(Relations,[[r,p,r,p],[1]]); // add the relation (qr)^P = 1 RelationBuffer1:=[]; For Index0 := 1 To MEMORY.P Do Append(RelationBuffer1,q); Append(RelationBuffer1,r); EndFor; Append(Relations,[RelationBuffer1,[1]]); Return Relations; EndDefine; Relations:=CreateRelationsAltExtendedHeckegroup(); Relations; Gb:=NC.GB(Relations,31,1,100,1000); Gb;
Example in Symbolic Data Format
<FREEALGEBRA createdAt="2014-07-03" createdBy="strohmeier"> <vars>p,q,r,x,y</vars> <basis> <ncpoly>x-r*p</ncpoly> <ncpoly>y-q*r</ncpoly> <ncpoly>p*p-1</ncpoly> <ncpoly>q*q-1</ncpoly> <ncpoly>r*r-1</ncpoly> <ncpoly>r*p*r*p-1</ncpoly> <ncpoly>(q*r)^3-1</ncpoly> </basis> <Comment>AltExtended_Hecke_Group_P3</Comment> </FREEALGEBRA>