ApCoCoA:Thompson group

From CoCoAWiki
Jump to: navigation, search

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:=5;

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 Index1 := 2 To MEMORY.N-1 Do
  For Index2 := 1 To MEMORY.N-2 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;

Example in Symbolic Data Format

 <FREEALGEBRA createdAt="2014-03-28" createdBy="strohmeier">
 	<vars>x1,x2,x3,x4,x5,y1,y2,y3,y4,y5</vars>
 	<uptoDeg>4</uptoDeg>
 	<basis>
 	<ncpoly>x1*y1-1</ncpoly>
 	<ncpoly>y1*x1-1</ncpoly>
 	<ncpoly>x2*y2-1</ncpoly>
 	<ncpoly>y2*x2-1</ncpoly>
 	<ncpoly>x3*y3-1</ncpoly>
 	<ncpoly>y3*x3-1</ncpoly>
 	<ncpoly>x4*y4-1</ncpoly>
 	<ncpoly>y4*x4-1</ncpoly>
 	<ncpoly>x5*y5-1</ncpoly>
 	<ncpoly>y5*x5-1</ncpoly>
 	<ncpoly>y1*x2*x1-x3</ncpoly>
 	<ncpoly>y1*x3*x1-x4</ncpoly>
 	<ncpoly>y1*x4*x1-x5</ncpoly>
 	<ncpoly>y2*x3*x2-x4</ncpoly>
 	<ncpoly>y2*x4*x2-x5</ncpoly>
 	<ncpoly>y3*x4*x3-x5</ncpoly>
 	</basis>
 	<Comment>The partial LLex Gb has 126 elements</Comment>
 	<Comment>Thompson_group_alt5</Comment>
 </FREEALGEBRA>