ApCoCoA-1:Braid groups

From ApCoCoAWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

The Braid groups are infinite for a natural number n > 1 and have the following presentation.

B(n) = <g_{1},...,g_{n-1} | g_{i}g_{j} = g_{j}g_{i} for |i-j| >= 2, g_{i}g_{i+1}g_{i} = g_{i+1}g_{i}g_{i+1} for 1 <= i <= n-2>

The complexity in the group B(n) grows with n. We get the trivial group for n = 1 and the infinite cyclic group for n >= 2.

References

E. Artin, "Theory of braids" Ann. of Math. , 48 (1947) pp. 643–649.

W. Magnus, Braid groups: A survey, Proceedings of the Second International Conference on the Theory of Groups, Canberra, Australia, 1973, pp. 463-487.)

Computation

We enumerate partial Groebner bases for the Braid groups as follows.

/*Use the ApCoCoA package ncpoly.*/
 
 // Number of Braid group
 MEMORY.N:=3;
 
 Use ZZ/(2)[a[1..MEMORY.N],b[1..MEMORY.N]];
 NC.SetOrdering("LLEX");
 
 Define CreateRelationsBraid()
   Relations:=[];
 
   // Add the relations of the inverse elements
   For Index1:= 1 To MEMORY.N-1 Do
     Append(Relations,[[a[Index1],b[Index1]],[1]]);
     Append(Relations,[[b[Index1],a[Index1]],[1]]);  	
   EndFor;
 
   // Add relations of the type a_{i}a_{i+2} = a_{i+2}a_{i}  
   For Index2:=1 To MEMORY.N-1 Do
     For Index3:=(Index2+2) To MEMORY.N-1 Do
       If Abs(Index2-Index3)>1 Then
         Append(Relations,[[a[Index2],a[Index3]],[a[Index3],a[Index2]]]);
       EndIf;
     EndFor;
   EndFor;
 
   // Add relations of the type a_{i}a_{i+1}a_{i} = a_{i+1}a_{i}a_{i+1}
   For Index4:=1 To MEMORY.N-1 Do
     For Index5:=(Index4+1) To MEMORY.N-1 Do
       If Abs(Index4-Index5)=1 Then			
         Append(Relations,[[a[Index4],a[Index5],a[Index4]],[a[Index5],a[Index4],a[Index5]]]);
       EndIf
     EndFor;
   EndFor;
 
   Return Relations;
 EndDefine;
 
 Relations:=CreateRelationsBraid();
 Relations;
 
 -- Enumerate a partial Groebner basis (see NC.GB for more details)
 Gb:=NC.GB(Relations,31,1,100,1000);
 Gb;

Example in Symbolic Data Format

 <FREEALGEBRA createdAt="2014-03-11" createdBy="strohmeier">
 	<vars>a1,a2,b1,b2</vars>
 	<uptoDeg>9</uptoDeg>
 	<basis>
 	<ncpoly>a1*b1-1</ncpoly>
 	<ncpoly>b1*a1-1</ncpoly>
 	<ncpoly>a2*b2-1</ncpoly>
 	<ncpoly>b2*a2-1</ncpoly>
 	<ncpoly>a1*a2*a1-a2*a1*a2</ncpoly>
 	</basis>
 	<Comment>The partial LLex Gb has 190 elements</Comment>
 	<Comment>Braid_group_3</Comment>
 </FREEALGEBRA>