Difference between revisions of "ApCoCoA-1:Baumslag groups"

From ApCoCoAWiki
Line 1: Line 1:
 
=== <div id="Baumslag_groups">[[:ApCoCoA:Symbolic data#Baumslag_groups|Baumslag groups]]</div> ===
 
=== <div id="Baumslag_groups">[[:ApCoCoA:Symbolic data#Baumslag_groups|Baumslag groups]]</div> ===
 +
==== Descrpition ====
 
Baumslag-Solitar groups have the following presentation.
 
Baumslag-Solitar groups have the following presentation.
 
  BS(m,n)<a, b | ba^{m} = a^{n}b> where m, n are natural numbers
 
  BS(m,n)<a, b | ba^{m} = a^{n}b> where m, n are natural numbers
XML data:
+
(Reference: G. Baumslag and D. Solitar, Some two generator one-relator non-Hopfian groups, Bull. Amer. Math. Soc. , 689 (1962) pp. 199–201.)
<vars>a[1],a[2],b[1],b[2]</vars>
+
 
<params>m,n</params>
+
==== Computation ====
<rels>
 
  <ncpoly>a[1]*a[2]-1</ncpoly>
 
  <ncpoly>a[2]*a[1]-1</ncpoly>
 
  <ncpoly>b[1]*b[2]-1</ncpoly>
 
  <ncpoly>b[2]*b[1]-1</ncpoly>
 
  <ncpoly>b[1]*a[1]^{m}-a[1]^{n}*b[1]</ncpoly>
 
</rels>
 
 
We enumerate partial Groebner bases for the Baumslag-Solitar groups as follows.
 
We enumerate partial Groebner bases for the Baumslag-Solitar groups as follows.
 
  /*Use the ApCoCoA package ncpoly.*/
 
  /*Use the ApCoCoA package ncpoly.*/
 
  Use ZZ/(2)[a[1..2],b[1..2]];
 
  Use ZZ/(2)[a[1..2],b[1..2]];
 
  NC.SetOrdering("LLEX");
 
  NC.SetOrdering("LLEX");
  A1:=[[a[1],a[2]],[1]];
+
  Define CreateRelations()
A2:=[[a[2],a[1]],[1]];
+
  A1:=[[a[1],a[2]],[1]];
B1:=[[b[1],b[2]],[1]];
+
  A2:=[[a[2],a[1]],[1]];
B2:=[[b[2],b[1]],[1]];
+
  B1:=[[b[1],b[2]],[1]];
 +
  B2:=[[b[2],b[1]],[1]];
 +
  R:=[[b[1],a[1]^(2)],[a[1]^(3),b[1]]];
 +
  Return [A1,A2,B1,B2,R];
 +
EndDefine;
 
  -- Relation ba^2=a^3b. Change 2 and 3 in "()" to make another relation
 
  -- Relation ba^2=a^3b. Change 2 and 3 in "()" to make another relation
  R:=[[b[1],a[1]^(2)],[a[1]^(3),b[1]]];
+
  G:=CreateRelations();
G:=[A1,A2,B1,B2,R];
 
 
  -- Enumerate a partial Groebner basis (see NC.GB for more details)
 
  -- Enumerate a partial Groebner basis (see NC.GB for more details)
 
  NC.GB(G,31,1,100,1000);
 
  NC.GB(G,31,1,100,1000);

Revision as of 10:43, 8 August 2013

Descrpition

Baumslag-Solitar groups have the following presentation.

BS(m,n)<a, b | ba^{m} = a^{n}b> where m, n are natural numbers

(Reference: G. Baumslag and D. Solitar, Some two generator one-relator non-Hopfian groups, Bull. Amer. Math. Soc. , 689 (1962) pp. 199–201.)

Computation

We enumerate partial Groebner bases for the Baumslag-Solitar groups as follows.

/*Use the ApCoCoA package ncpoly.*/
Use ZZ/(2)[a[1..2],b[1..2]];
NC.SetOrdering("LLEX");
Define CreateRelations()
  A1:=[[a[1],a[2]],[1]];
  A2:=[[a[2],a[1]],[1]];
  B1:=[[b[1],b[2]],[1]];
  B2:=[[b[2],b[1]],[1]];
  R:=[[b[1],a[1]^(2)],[a[1]^(3),b[1]]];
  Return [A1,A2,B1,B2,R];
EndDefine;
-- Relation ba^2=a^3b. Change 2 and 3 in "()" to make another relation
G:=CreateRelations();
-- Enumerate a partial Groebner basis (see NC.GB for more details)
NC.GB(G,31,1,100,1000);
/*Use the ApCoCoA package gbmr.*/
-- See NCo.BGB for more details on the parameters DB, LB and OFlag.
Define BS(M,N,DB,LB,OFlag)
  $apcocoa/gbmr.SetX("aAbB");
  $apcocoa/gbmr.SetOrdering("LLEX");
  G:= [["aA",""],["Aa",""],["bB",""],["bB",""]];
  BA:= "b";
  AB:= "b";
  For I:= 1 To ARGV[1] Do
    BA:= BA + "a"; 
  EndFor;
  For I:= 1 To ARGV[2] Do
    AB:= "a" + Ab; 
  EndFor;
  Append(G,[BA,AB]);
  Return $apcocoa/gbmr.BGB(G,DB,LB,OFlag);
EndDefine;