Difference between revisions of "ApCoCoA-1:Extended Hecke groups"

From ApCoCoAWiki
(New page: === <div id="Extended Hecke_Groups">Extended Hecke Groups</div> === ==== Description ==== ==== Reference ==== ==== Computation ==== ==...)
 
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
=== <div id="Extended Hecke_Groups">[[:ApCoCoA:Symbolic data#Extended Hecke_Groups|Extended Hecke Groups]]</div> ===
 
=== <div id="Extended Hecke_Groups">[[:ApCoCoA:Symbolic data#Extended Hecke_Groups|Extended Hecke Groups]]</div> ===
 
==== Description ====
 
==== 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>
  
==== Reference ====  
+
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 ====
 
==== 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;
  
====Examples in Symbolic Data Format====
+
====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>

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>