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>