Difference between revisions of "ApCoCoA-1:Braid groups"
From ApCoCoAWiki
StrohmeierB (talk | contribs) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | === <div id=" | + | === <div id="Braid_Groups">[[:ApCoCoA:Symbolic data#Braid_groups|Braid Groups]]</div> === |
==== Description ==== | ==== Description ==== | ||
The Braid groups are infinite for a natural number n > 1 and have the following presentation. | The Braid groups are infinite for a natural number n > 1 and have the following presentation. | ||
Line 5: | Line 5: | ||
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. | 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.) | W. Magnus, Braid groups: A survey, Proceedings of the Second International Conference on the Theory of Groups, Canberra, Australia, 1973, pp. 463-487.) | ||
Line 23: | Line 24: | ||
// Add the relations of the inverse elements | // Add the relations of the inverse elements | ||
− | For Index1:= 1 To MEMORY.N Do | + | For Index1:= 1 To MEMORY.N-1 Do |
Append(Relations,[[a[Index1],b[Index1]],[1]]); | Append(Relations,[[a[Index1],b[Index1]],[1]]); | ||
Append(Relations,[[b[Index1],a[Index1]],[1]]); | Append(Relations,[[b[Index1],a[Index1]],[1]]); | ||
Line 29: | Line 30: | ||
// Add relations of the type a_{i}a_{i+2} = a_{i+2}a_{i} | // Add relations of the type a_{i}a_{i+2} = a_{i+2}a_{i} | ||
− | For Index2:=1 To MEMORY.N Do | + | For Index2:=1 To MEMORY.N-1 Do |
− | For Index3:=(Index2+2) To MEMORY.N Do | + | For Index3:=(Index2+2) To MEMORY.N-1 Do |
If Abs(Index2-Index3)>1 Then | If Abs(Index2-Index3)>1 Then | ||
Append(Relations,[[a[Index2],a[Index3]],[a[Index3],a[Index2]]]); | Append(Relations,[[a[Index2],a[Index3]],[a[Index3],a[Index2]]]); | ||
Line 38: | Line 39: | ||
// Add relations of the type a_{i}a_{i+1}a_{i} = a_{i+1}a_{i}a_{i+1} | // 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 Do | + | For Index4:=1 To MEMORY.N-1 Do |
− | For Index5:=(Index4+1) To MEMORY.N Do | + | For Index5:=(Index4+1) To MEMORY.N-1 Do |
If Abs(Index4-Index5)=1 Then | If Abs(Index4-Index5)=1 Then | ||
Append(Relations,[[a[Index4],a[Index5],a[Index4]],[a[Index5],a[Index4],a[Index5]]]); | Append(Relations,[[a[Index4],a[Index5],a[Index4]],[a[Index5],a[Index4],a[Index5]]]); | ||
Line 55: | Line 56: | ||
Gb:=NC.GB(Relations,31,1,100,1000); | Gb:=NC.GB(Relations,31,1,100,1000); | ||
Gb; | 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> |
Latest revision as of 20:28, 22 April 2014
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>