# ApCoCoA-1:Baumslag groups

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

### Computation of Non-abelian Groups

#### Baumslag groups

Baumslag-Solitar groups have the following presentation.

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

XML data:

```<vars>a,a,b,b</vars>
<params>m,n</params>
<rels>
<ncpoly>a*a-1</ncpoly>
<ncpoly>a*a-1</ncpoly>
<ncpoly>b*b-1</ncpoly>
<ncpoly>b*b-1</ncpoly>
<ncpoly>b*a^{m}-a^{n}*b</ncpoly>
</rels>
```

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");
A1:=[[a,a],];
A2:=[[a,a],];
B1:=[[b,b],];
B2:=[[b,b],];
-- Relation ba^2=a^3b. Change 2 and 3 in "()" to make another relation
R:=[[b,a^(2)],[a^(3),b]];
G:=[A1,A2,B1,B2,R];
-- 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 Do
BA:= BA + "a";
EndFor;
For I:= 1 To ARGV Do
AB:= "a" + Ab;
EndFor;
Append(G,[BA,AB]);
Return \$apcocoa/gbmr.BGB(G,DB,LB,OFlag);
EndDefine;
```