ApCoCoA-1:Coxeter groupsH: Difference between revisions
From ApCoCoAWiki
StrohmeierB (talk | contribs) New page: === <div id="Coxeter_groups">Coxeter Group H4</div> === ==== Description ==== The H4 group is a Coxeter group. Their relations results of a Matri... |
StrohmeierB (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 13: | Line 13: | ||
H4 has the following presentation: | H4 has the following presentation: | ||
H4 = <v,x,y,z | v^2 = x^2 = y^2 = z^2 = (vx)^5 =(vy)^2 = (vz)^2 =(xy)^3 = (xz)^2 =(yz)^3 = 1> | |||
==== Reference ==== | ==== Reference ==== | ||
Line 19: | Line 19: | ||
==== Computation ==== | ==== Computation ==== | ||
/*Use the ApCoCoA package ncpoly.*/ | |||
// Define Coxeter matrix | |||
H:=Mat([[1,5,2,2],[5,1,3,2],[2,3,1,3],[2,2,3,1]]); | |||
MEMORY.H1 := H[1,2]; //=H[2,1] | |||
MEMORY.H2 := H[1,3]; //=H[3,1] | |||
MEMORY.H3 := H[1,4]; //=H[4,1] | |||
MEMORY.H4 := H[2,3]; //=H[3,2] | |||
MEMORY.H5 := H[2,4]; //=H[4,2] | |||
MEMORY.H6 := H[3,4]; //=H[4,3] | |||
Use ZZ/(2)[v,x,y,z]; | |||
NC.SetOrdering("LLEX"); | |||
Define CreateRelationsCoxetergroupH4() | |||
Relations:=[]; | |||
//add the inverse relations | |||
Append(Relations,[[v,v],[1]]); | |||
Append(Relations,[[x,x],[1]]); | |||
Append(Relations,[[y,y],[1]]); | |||
Append(Relations,[[z,z],[1]]); | |||
// add the relation (vx)^H[1,2] = 1 | |||
Buffer12:=[]; | |||
For Index1 := 1 To MEMORY.H1 Do | |||
Append(Buffer12,v); | |||
Append(Buffer12,x); | |||
EndFor; | |||
Append(Relations,[Buffer12,[1]]); | |||
// add the relation (xv)^H[2,1] = 1 | |||
Buffer21:=[]; | |||
For Index1 := 1 To MEMORY.H1 Do | |||
Append(Buffer21,x); | |||
Append(Buffer21,v); | |||
EndFor; | |||
Append(Relations,[Buffer21,[1]]); | |||
// add the relation (vy)^H[1,3] = 1 | |||
Buffer13:=[]; | |||
For Index1 := 1 To MEMORY.H2 Do | |||
Append(Buffer13,v); | |||
Append(Buffer13,y); | |||
EndFor; | |||
Append(Relations,[Buffer13,[1]]); | |||
// add the relation (yv)^H[3,1] = 1 | |||
Buffer31:=[]; | |||
For Index1 := 1 To MEMORY.H2 Do | |||
Append(Buffer31,v); | |||
Append(Buffer31,y); | |||
EndFor; | |||
Append(Relations,[Buffer31,[1]]); | |||
// add the relation (vz)^H[1,4] = 1 | |||
Buffer14:=[]; | |||
For Index1 := 1 To MEMORY.H3 Do | |||
Append(Buffer14,v); | |||
Append(Buffer14,z); | |||
EndFor; | |||
Append(Relations,[Buffer14,[1]]); | |||
// add the relation (zv)^H[4,1] = 1 | |||
Buffer41:=[]; | |||
For Index1 := 1 To MEMORY.H3 Do | |||
Append(Buffer41,z); | |||
Append(Buffer41,v); | |||
EndFor; | |||
Append(Relations,[Buffer41,[1]]); | |||
// add the relation (xy)^H[2,3] = 1 | |||
Buffer23:=[]; | |||
For Index1 := 1 To MEMORY.H4 Do | |||
Append(Buffer23,x); | |||
Append(Buffer23,y); | |||
EndFor; | |||
Append(Relations,[Buffer23,[1]]); | |||
// add the relation (yx)^H[3,2] = 1 | |||
Buffer32:=[]; | |||
For Index1 := 1 To MEMORY.H4 Do | |||
Append(Buffer32,y); | |||
Append(Buffer32,x); | |||
EndFor; | |||
Append(Relations,[Buffer32,[1]]); | |||
// add the relation (xz)^H[2,4] = 1 | |||
Buffer24:=[]; | |||
For Index1 := 1 To MEMORY.H5 Do | |||
Append(Buffer24,x); | |||
Append(Buffer24,z); | |||
EndFor; | |||
Append(Relations,[Buffer24,[1]]); | |||
// add the relation (yx)^H[4,2] = 1 | |||
Buffer42:=[]; | |||
For Index1 := 1 To MEMORY.H5 Do | |||
Append(Buffer42,z); | |||
Append(Buffer42,x); | |||
EndFor; | |||
Append(Relations,[Buffer42,[1]]); | |||
// add the relation (yz)^H[3,4] = 1 | |||
Buffer34:=[]; | |||
For Index1 := 1 To MEMORY.H6 Do | |||
Append(Buffer34,y); | |||
Append(Buffer34,z); | |||
EndFor; | |||
Append(Relations,[Buffer34,[1]]); | |||
// add the relation (zy)^H[4,3] = 1 | |||
Buffer43:=[]; | |||
For Index1 := 1 To MEMORY.H6 Do | |||
Append(Buffer43,z); | |||
Append(Buffer43,y); | |||
EndFor; | |||
Append(Relations,[Buffer43,[1]]); | |||
Return Relations; | |||
EndDefine; | |||
Relations:=CreateRelationsCoxetergroupH4(); | |||
Relations; | |||
Gb:=NC.GB(Relations,31,1,100,1000); | |||
Gb; | |||
====Example in Symbolic Data Format==== | ====Example in Symbolic Data Format==== | ||
<FREEALGEBRA createdAt="2014-08-21" createdBy="strohmeier"> | |||
<vars>v,x,y,z</vars> | |||
<basis> | |||
<ncpoly>v*v-1</ncpoly> | |||
<ncpoly>x*x-1</ncpoly> | |||
<ncpoly>y*y-1</ncpoly> | |||
<ncpoly>z*z-1</ncpoly> | |||
<ncpoly>(v*x)^5-1</ncpoly> | |||
<ncpoly>(x*v)^5-1</ncpoly> | |||
<ncpoly>(v*y)^2-1</ncpoly> | |||
<ncpoly>(y*v)^2-1</ncpoly> | |||
<ncpoly>(v*z)^2-1</ncpoly> | |||
<ncpoly>(z*v)^2-1</ncpoly> | |||
<ncpoly>(x*y)^3-1</ncpoly> | |||
<ncpoly>(y*x)^3-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_H4</Comment> | |||
</FREEALGEBRA> |
Latest revision as of 15:02, 25 August 2014
Description
The H4 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.
H4 has the following presentation:
H4 = <v,x,y,z | v^2 = x^2 = y^2 = z^2 = (vx)^5 =(vy)^2 = (vz)^2 =(xy)^3 = (xz)^2 =(yz)^3 = 1>
Reference
not found yet
Computation
/*Use the ApCoCoA package ncpoly.*/ // Define Coxeter matrix H:=Mat([[1,5,2,2],[5,1,3,2],[2,3,1,3],[2,2,3,1]]); MEMORY.H1 := H[1,2]; //=H[2,1] MEMORY.H2 := H[1,3]; //=H[3,1] MEMORY.H3 := H[1,4]; //=H[4,1] MEMORY.H4 := H[2,3]; //=H[3,2] MEMORY.H5 := H[2,4]; //=H[4,2] MEMORY.H6 := H[3,4]; //=H[4,3] Use ZZ/(2)[v,x,y,z]; NC.SetOrdering("LLEX"); Define CreateRelationsCoxetergroupH4() Relations:=[]; //add the inverse relations Append(Relations,[[v,v],[1]]); Append(Relations,[[x,x],[1]]); Append(Relations,[[y,y],[1]]); Append(Relations,[[z,z],[1]]); // add the relation (vx)^H[1,2] = 1 Buffer12:=[]; For Index1 := 1 To MEMORY.H1 Do Append(Buffer12,v); Append(Buffer12,x); EndFor; Append(Relations,[Buffer12,[1]]); // add the relation (xv)^H[2,1] = 1 Buffer21:=[]; For Index1 := 1 To MEMORY.H1 Do Append(Buffer21,x); Append(Buffer21,v); EndFor; Append(Relations,[Buffer21,[1]]); // add the relation (vy)^H[1,3] = 1 Buffer13:=[]; For Index1 := 1 To MEMORY.H2 Do Append(Buffer13,v); Append(Buffer13,y); EndFor; Append(Relations,[Buffer13,[1]]); // add the relation (yv)^H[3,1] = 1 Buffer31:=[]; For Index1 := 1 To MEMORY.H2 Do Append(Buffer31,v); Append(Buffer31,y); EndFor; Append(Relations,[Buffer31,[1]]); // add the relation (vz)^H[1,4] = 1 Buffer14:=[]; For Index1 := 1 To MEMORY.H3 Do Append(Buffer14,v); Append(Buffer14,z); EndFor; Append(Relations,[Buffer14,[1]]); // add the relation (zv)^H[4,1] = 1 Buffer41:=[]; For Index1 := 1 To MEMORY.H3 Do Append(Buffer41,z); Append(Buffer41,v); EndFor; Append(Relations,[Buffer41,[1]]); // add the relation (xy)^H[2,3] = 1 Buffer23:=[]; For Index1 := 1 To MEMORY.H4 Do Append(Buffer23,x); Append(Buffer23,y); EndFor; Append(Relations,[Buffer23,[1]]); // add the relation (yx)^H[3,2] = 1 Buffer32:=[]; For Index1 := 1 To MEMORY.H4 Do Append(Buffer32,y); Append(Buffer32,x); EndFor; Append(Relations,[Buffer32,[1]]); // add the relation (xz)^H[2,4] = 1 Buffer24:=[]; For Index1 := 1 To MEMORY.H5 Do Append(Buffer24,x); Append(Buffer24,z); EndFor; Append(Relations,[Buffer24,[1]]); // add the relation (yx)^H[4,2] = 1 Buffer42:=[]; For Index1 := 1 To MEMORY.H5 Do Append(Buffer42,z); Append(Buffer42,x); EndFor; Append(Relations,[Buffer42,[1]]); // add the relation (yz)^H[3,4] = 1 Buffer34:=[]; For Index1 := 1 To MEMORY.H6 Do Append(Buffer34,y); Append(Buffer34,z); EndFor; Append(Relations,[Buffer34,[1]]); // add the relation (zy)^H[4,3] = 1 Buffer43:=[]; For Index1 := 1 To MEMORY.H6 Do Append(Buffer43,z); Append(Buffer43,y); EndFor; Append(Relations,[Buffer43,[1]]); Return Relations; EndDefine; Relations:=CreateRelationsCoxetergroupH4(); Relations; Gb:=NC.GB(Relations,31,1,100,1000); Gb;
Example in Symbolic Data Format
<FREEALGEBRA createdAt="2014-08-21" createdBy="strohmeier"> <vars>v,x,y,z</vars> <basis> <ncpoly>v*v-1</ncpoly> <ncpoly>x*x-1</ncpoly> <ncpoly>y*y-1</ncpoly> <ncpoly>z*z-1</ncpoly> <ncpoly>(v*x)^5-1</ncpoly> <ncpoly>(x*v)^5-1</ncpoly> <ncpoly>(v*y)^2-1</ncpoly> <ncpoly>(y*v)^2-1</ncpoly> <ncpoly>(v*z)^2-1</ncpoly> <ncpoly>(z*v)^2-1</ncpoly> <ncpoly>(x*y)^3-1</ncpoly> <ncpoly>(y*x)^3-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_H4</Comment> </FREEALGEBRA>