Difference between revisions of "ApCoCoA-1:Coxeter groupsH"

From ApCoCoAWiki
(New page: === <div id="Coxeter_groups">Coxeter Group H4</div> === ==== Description ==== The H4 group is a Coxeter group. Their relations results of a Matri...)
 
 
(2 intermediate revisions by the same user not shown)
Line 13: Line 13:
 
H4 has the following presentation:
 
H4 has the following presentation:
  
  H3 = <x,y,z | x^2 = y^2 = z^2 = (xy)^2 = (xz)^2 =(yz)^2 = 1 >
+
  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>