ApCoCoA-1:Hecke groups

From ApCoCoAWiki
Revision as of 08:05, 13 September 2013 by F lorenz (talk | contribs) (New page: === <div id="Hecke_groups">Hecke groups</div> === ==== Description ==== The Hecke groups has the following representation: H(lambda_q) = <x,y | x^...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Description

The Hecke groups has the following representation:

 H(lambda_q) = <x,y | x^2=(xy)^q=1, for q >= 3>

Reference

GROWTH IN HECKE GROUPS, MARTIN KREUZER AND GERHARD ROSENBERGER

Computation

 /*Use the ApCoCoA package ncpoly.*/
 
 // Define the variable q of the Hecke group
 MEMORY.Q := 4;
 
 // y is invers to z, x is invers to itself (that follows directly from the first relation)
 Use ZZ/(2)[x,y,z];
 NC.SetOrdering("LLEX");
 Define CreateRelationsHecke()
   Relations:=[];
   // add the invers relation of y and z
   Append(Relations,[[y,z],[1]]);
   Append(Relations,[[z,y],[1]]);
   
   // add the relation x^2 = 1
   Append(Relations,[[x,x],[1]]);
   
   // add the relation (xy)^q = 1
   RelationBuffer1:=[];
   For Index0 := 1 To MEMORY.Q Do
     Append(RelationBuffer1,x);
     Append(RelationBuffer1,y);
   EndFor;
   Append(Relations,[RelationBuffer1,[1]]);
 	
   Return Relations;
 EndDefine;
 
 Relations:=CreateRelationsHecke();
 GB:=NC.GB(Relations);