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

From ApCoCoAWiki
 
Line 19: 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>