Difference between revisions of "ApCoCoA-1:Coxeter groups"
From ApCoCoAWiki
StrohmeierB (talk | contribs) |
StrohmeierB (talk | contribs) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
The Matrix with i lines and j columns gives the following relations: | The Matrix with i lines and j columns gives the following relations: | ||
− | < | + | <r_1,...,r_n|(r_ir_j)^m_ij |
+ | |||
+ | -the relation mii means: (r_ir_i)^1=1 for all i | ||
+ | |||
+ | -and other generators r_i, r_j commute. | ||
+ | |||
+ | H3 has the following presentation: | ||
+ | |||
+ | H3 = <x,y,z | x^2 = y^2 = z^2 = (xy)^2 = (xz)^2 =(yz)^2 = 1 > | ||
==== Reference ==== | ==== Reference ==== | ||
Line 11: | Line 19: | ||
==== Computation ==== | ==== Computation ==== | ||
+ | /*Use the ApCoCoA package ncpoly.*/ | ||
+ | |||
+ | // Define Coxeter matrix of H3 | ||
+ | H:=Mat([[1,5,2],[5,1,3],[2,3,1]]); | ||
+ | |||
+ | MEMORY.H1 := H[1,2]; //=H[2,1] | ||
+ | MEMORY.H2 := H[1,3]; //=H[3,1] | ||
+ | MEMORY.H3 := H[2,3]; //=H[3,2] | ||
+ | |||
+ | |||
+ | |||
+ | Use ZZ/(2)[x,y,z]; | ||
+ | NC.SetOrdering("LLEX"); | ||
+ | |||
+ | Define CreateRelationsCoxetergroupF4() | ||
+ | Relations:=[]; | ||
+ | |||
+ | //add the inverse relations | ||
+ | Append(Relations,[[x,x],[1]]); | ||
+ | Append(Relations,[[y,y],[1]]); | ||
+ | Append(Relations,[[z,z],[1]]); | ||
+ | |||
+ | // add the relation (xy)^H[1,2] = 1 | ||
+ | Buffer12:=[]; | ||
+ | For Index1 := 1 To MEMORY.H1 Do | ||
+ | Append(Buffer12,x); | ||
+ | Append(Buffer12,y); | ||
+ | EndFor; | ||
+ | Append(Relations,[Buffer12,[1]]); | ||
+ | |||
+ | // add the relation (yx)^H[2,1] = 1 | ||
+ | Buffer21:=[]; | ||
+ | For Index1 := 1 To MEMORY.H1 Do | ||
+ | Append(Buffer21,y); | ||
+ | Append(Buffer21,x); | ||
+ | EndFor; | ||
+ | Append(Relations,[Buffer21,[1]]); | ||
+ | |||
+ | // add the relation (xz)^H[1,3] = 1 | ||
+ | Buffer13:=[]; | ||
+ | For Index1 := 1 To MEMORY.H2 Do | ||
+ | Append(Buffer13,x); | ||
+ | Append(Buffer13,z); | ||
+ | EndFor; | ||
+ | Append(Relations,[Buffer13,[1]]); | ||
+ | |||
+ | // add the relation (zx)^H[3,1] = 1 | ||
+ | Buffer31:=[]; | ||
+ | For Index1 := 1 To MEMORY.H2 Do | ||
+ | Append(Buffer31,z); | ||
+ | Append(Buffer31,x); | ||
+ | EndFor; | ||
+ | Append(Relations,[Buffer31,[1]]); | ||
+ | |||
+ | // add the relation (yz)^H[2,3] = 1 | ||
+ | Buffer23:=[]; | ||
+ | For Index1 := 1 To MEMORY.H3 Do | ||
+ | Append(Buffer23,y); | ||
+ | Append(Buffer23,z); | ||
+ | EndFor; | ||
+ | Append(Relations,[Buffer23,[1]]); | ||
+ | |||
+ | // add the relation (zy)^H[3,2] = 1 | ||
+ | Buffer32:=[]; | ||
+ | For Index1 := 1 To MEMORY.H3 Do | ||
+ | Append(Buffer32,z); | ||
+ | Append(Buffer32,y); | ||
+ | EndFor; | ||
+ | Append(Relations,[Buffer32,[1]]); | ||
+ | |||
+ | Return Relations; | ||
+ | EndDefine; | ||
+ | |||
+ | Relations:=CreateRelationsCoxetergroupF4(); | ||
+ | Relations; | ||
+ | |||
+ | Gb:=NC.GB(Relations,31,1,100,1000); | ||
+ | Gb; | ||
====Example in Symbolic Data Format==== | ====Example in Symbolic Data Format==== |
Latest revision as of 18:57, 24 August 2014
Description
The full icosahedral group is a Coxeter group. Their relations results of a Matrix, the Coxetermatrix. The Matrix with i lines and j columns gives the following relations:
<r_1,...,r_n|(r_ir_j)^m_ij
-the relation mii means: (r_ir_i)^1=1 for all i
-and other generators r_i, r_j commute.
H3 has the following presentation:
H3 = <x,y,z | x^2 = y^2 = z^2 = (xy)^2 = (xz)^2 =(yz)^2 = 1 >
Reference
not found yet
Computation
/*Use the ApCoCoA package ncpoly.*/ // Define Coxeter matrix of H3 H:=Mat([[1,5,2],[5,1,3],[2,3,1]]); MEMORY.H1 := H[1,2]; //=H[2,1] MEMORY.H2 := H[1,3]; //=H[3,1] MEMORY.H3 := H[2,3]; //=H[3,2] Use ZZ/(2)[x,y,z]; NC.SetOrdering("LLEX"); Define CreateRelationsCoxetergroupF4() Relations:=[]; //add the inverse relations Append(Relations,[[x,x],[1]]); Append(Relations,[[y,y],[1]]); Append(Relations,[[z,z],[1]]); // add the relation (xy)^H[1,2] = 1 Buffer12:=[]; For Index1 := 1 To MEMORY.H1 Do Append(Buffer12,x); Append(Buffer12,y); EndFor; Append(Relations,[Buffer12,[1]]); // add the relation (yx)^H[2,1] = 1 Buffer21:=[]; For Index1 := 1 To MEMORY.H1 Do Append(Buffer21,y); Append(Buffer21,x); EndFor; Append(Relations,[Buffer21,[1]]); // add the relation (xz)^H[1,3] = 1 Buffer13:=[]; For Index1 := 1 To MEMORY.H2 Do Append(Buffer13,x); Append(Buffer13,z); EndFor; Append(Relations,[Buffer13,[1]]); // add the relation (zx)^H[3,1] = 1 Buffer31:=[]; For Index1 := 1 To MEMORY.H2 Do Append(Buffer31,z); Append(Buffer31,x); EndFor; Append(Relations,[Buffer31,[1]]); // add the relation (yz)^H[2,3] = 1 Buffer23:=[]; For Index1 := 1 To MEMORY.H3 Do Append(Buffer23,y); Append(Buffer23,z); EndFor; Append(Relations,[Buffer23,[1]]); // add the relation (zy)^H[3,2] = 1 Buffer32:=[]; For Index1 := 1 To MEMORY.H3 Do Append(Buffer32,z); Append(Buffer32,y); EndFor; Append(Relations,[Buffer32,[1]]); Return Relations; EndDefine; Relations:=CreateRelationsCoxetergroupF4(); Relations; Gb:=NC.GB(Relations,31,1,100,1000); Gb;
Example in Symbolic Data Format
<FREEALGEBRA createdAt="2014-07-30" createdBy="strohmeier"> <vars>x,y,z</vars> <basis> <ncpoly>x*x-1</ncpoly> <ncpoly>y*y-1</ncpoly> <ncpoly>z*z-1</ncpoly> <ncpoly>(x*y)^5-1</ncpoly> <ncpoly>(y*x)^5-1</ncpoly> <ncpoly>(x*z)^2-1</ncpoly> <ncpoly>(z*x)^2-1</ncpoly> <ncpoly>(y*z)^3-1</ncpoly> <ncpoly>(z*y)^3-1</ncpoly> </basis> <Comment>Coxeter_Group_H3</Comment> </FREEALGEBRA>