Difference between revisions of "ApCoCoA-1:Hecke groups"
From ApCoCoAWiki
(New page: === <div id="Hecke_groups">Hecke groups</div> === ==== Description ==== The Hecke groups has the following representation: H(lambda_q) = <x,y | x^...) |
|||
Line 16: | Line 16: | ||
Use ZZ/(2)[x,y,z]; | Use ZZ/(2)[x,y,z]; | ||
NC.SetOrdering("LLEX"); | NC.SetOrdering("LLEX"); | ||
+ | |||
Define CreateRelationsHecke() | Define CreateRelationsHecke() | ||
Relations:=[]; | Relations:=[]; | ||
Line 37: | Line 38: | ||
Relations:=CreateRelationsHecke(); | Relations:=CreateRelationsHecke(); | ||
− | + | Gb:=NC.GB(Relations); |
Revision as of 03:32, 22 September 2013
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);