Difference between revisions of "ApCoCoA-1:Thompson group"

From ApCoCoAWiki
Line 66: Line 66:
  
 
==== Alternative Computation ====
 
==== Alternative Computation ====
 +
 +
/*Use the ApCoCoA package ncpoly.*/
 +
 
 +
// Define the variable k,n of the thompson group
 +
// MEMORY.N has to be MEMORY.K+2
 +
MEMORY.N:=5;
 +
MEMORY.K:=3;
 +
 +
Use ZZ/(2)[x[1..MEMORY.N],y[1..MEMORY.N]];
 +
NC.SetOrdering("LLEX");
 +
 +
Define CreateRelationsthomp()
 +
  Relations:=[];
 +
  For Index1 := 1 To MEMORY.N Do
 +
    Append(Relations,[[x[Index1],y[Index1]],[1]]);
 +
    Append(Relations,[[y[Index1],x[Index1]],[1]]);
 +
  EndFor;
 +
 
 +
  For Index2 := 1 To MEMORY.K Do
 +
  For Index1 := 2 To MEMORY.N-1 Do
 +
  If (Index1 > Index2) Then
 +
    Append(Relations,[[y[Index2],x[Index1],x[Index2]],[x[Index1+1]]]);
 +
  EndIf 
 +
  EndFor;
 +
  EndFor;
 +
  Return Relations;
 +
EndDefine;
 +
 +
Relations:=CreateRelationsthomp();
 +
Relations;
 +
 +
Gb:=NC.GB(Relations,31,1,100,1000);
 +
Gb;

Revision as of 12:29, 28 March 2014

Description

The Thompson group can be regarded as the group of piecewise-linear, orientation-preserving homeomorphisms of the unit interval which have breakpoints only at dyadic points and on intervals of differentiability the slopes are powers of two. A representation is given by:

  T = <a,b | [ab^{-1},a^{-1}ba] = [ab^{-1},a^{-2}ba^{2}] = 1>

or alternative:

  Th = <x_{0},x_{1},x_{2},... | x_{k}^{-1}x_{n}x_{k} = x_{n+1} for all k < n>

Reference

NEW PRESENTATIONS OF THOMPSON'S GROUPS AND APPLICATIONS: UFFE HAAGERUP AND GABRIEL PICIOROAGA

Computation

/*Use the ApCoCoA package ncpoly.*/

Use ZZ/(2)[a,b,c,d];
NC.SetOrdering("LLEX");

 Define CreateRelationsThompson()
  Relations:=[];
  
   // add the inverse relations
  Append(Relations,[[a,c],[1]]);
  Append(Relations,[[c,a],[1]]);
  Append(Relations,[[b,d],[1]]);
  Append(Relations,[[d,b],[1]]);
 
  //add the relation [ad,a^{-1}ba] = 1
  // the commutator of [ad,a^{-1}ba] is a,d,c,b,a,b,c,c,d,a
  Append(Relations,[[a,d,c,b,a,b,c,c,d,a],[1]]);
 
  //add the relation [ad,a^{-1}ba] = 1
  // the commutator of [ad,a^{-2}ba^2] is a,d,c,c,b,a,a,b,c,c^2,d,a^2
  Append(Relations,[[a,d,c,c,b,a,a,b,c,c^2,d,a^2],[1]]);
  
  Return Relations;
EndDefine;

Relations:=CreateRelationsThompson();
Relations;

Gb:=NC.GB(Relations,31,1,100,1000);
Gb;

Example in Symbolic Data Format

 <FREEALGEBRA createdAt="2014-01-20" createdBy="strohmeier">
 	<vars>a,b,c,d</vars>
 	<uptoDeg>11</uptoDeg>
 	<basis>
 	<ncpoly>a*c-1</ncpoly>
 	<ncpoly>c*a-1</ncpoly>
 	<ncpoly>b*d-1</ncpoly>
 	<ncpoly>d*b-1</ncpoly>
 	<ncpoly>a*d*c*b*a*b*c*c*d*a-1</ncpoly>
 	<ncpoly>a*d*c*c*b*a*a*b*c*c^2*d*a^2-1</ncpoly>
 	</basis>
 	<Comment>The partial LLex Gb has 393 elements</Comment>
 	<Comment>Thompson_group</Comment>
 </FREEALGEBRA>
 
 
 <Comment> Commutators
 [g,h] = ghg^{-1}h^{-1}
 [ad,cba]=a*d*c*b*a*b*c*c*d*a
 [ad,ccbaa]=a*d*c*c*b*a*a*b*c*c^2*d*a^2
 </Comment>

Alternative Computation

/*Use the ApCoCoA package ncpoly.*/
 
// Define the variable k,n of the thompson group
// MEMORY.N has to be MEMORY.K+2 
MEMORY.N:=5;
MEMORY.K:=3;

Use ZZ/(2)[x[1..MEMORY.N],y[1..MEMORY.N]];
NC.SetOrdering("LLEX");

Define CreateRelationsthomp()
  Relations:=[];
  For Index1 := 1 To MEMORY.N Do
    Append(Relations,[[x[Index1],y[Index1]],[1]]);
    Append(Relations,[[y[Index1],x[Index1]],[1]]);
  EndFor;
  
  For Index2 := 1 To MEMORY.K Do
  For Index1 := 2 To MEMORY.N-1 Do
  If (Index1 > Index2) Then
    Append(Relations,[[y[Index2],x[Index1],x[Index2]],[x[Index1+1]]]);
  EndIf  
  EndFor;
  EndFor;
  Return Relations;
EndDefine;

Relations:=CreateRelationsthomp();
Relations;

Gb:=NC.GB(Relations,31,1,100,1000);
Gb;