ApCoCoA-1:Symbolic data Computations: Difference between revisions
From ApCoCoAWiki
No edit summary |
No edit summary |
||
Line 36: | Line 36: | ||
Return $apcocoa/gbmr.BGB(G,DB,LB,OFlag); | Return $apcocoa/gbmr.BGB(G,DB,LB,OFlag); | ||
EndDefine; | EndDefine; | ||
==== <div id="SL_3_8">Computations of SL(3,8)</div> ==== | |||
/* SL(3,8) has a presentation with generators a, b, c, d, e and the following relators | |||
a^2, b^2, c^7, de, ed, | |||
(cb)^2, | |||
(ba)^3, | |||
(acac^6)^2, | |||
c^2ac^6ac^5ac, | |||
dbe^2, | |||
(ce)^2cd^2 | |||
aead(ae)^2babd^2, | |||
eadae^2babd^2(ae)^2babd^2, | |||
ec^6daecdc^6aca, | |||
ec^6daecec^6d^2ae^2cd^2, | |||
ec^6daecec^6d^2ae^2cd^2. | |||
The following commands check whether the last relator, i.e. ec^6daecec^6d^2ae^2cd^2 | |||
can be rewritten by the others, via Groebner basis techniques. | |||
*/ | |||
Use ZZ/(2)[a,b,c,d,e]; | |||
G:=[[[a^2], [1]], | |||
[[b^2], [1]], | |||
[[c^7], [1]], | |||
[[d, e], [1]], | |||
[[e, d], [1]], | |||
[[c, b, c, b], [1]], | |||
[[b, a, b, a, b, a], [1]], | |||
[[a, c, a, c^6, a, c, a, c^6], [1]], | |||
[[c^2, a, c^6, a, c^5, a, c], [1]], | |||
[[b, d, b, e^2], [1]], | |||
[[c, e, c, e, c, d^2], [1]], | |||
[[a, e, a, d, a, e, a, e, b, a, b, d^2], [1]], | |||
[[e, a, d, a, e^2, b, a, b, d^2, a, e, a, e, b, a, b, d^2], [1]], | |||
[[e, c^6, d, a, e, c, d, c^6, a, c, a], [1]]]; | |||
F:=[ [e,c^6, d, a, e, c, e, c^6, d^2, a, e^2, c, d^2] ]; | |||
Gb:=NC.GB(G,31,1,100,5000); | |||
NC.NR(F,Gb); |
Revision as of 23:42, 19 June 2013
Computation Examples for Non-abelian Groups
Computations of Baumslag groups
Recall that the Baumslag-Solitar groups have the following presentation
BS(m,n)<a, b | b*a^m = a^n*b> where m, n are natural numbers
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[1],a[2]],[1]]; A2:=[[a[2],a[1]],[1]]; B1:=[[b[1],b[2]],[1]]; B2:=[[b[2],b[1]],[1]]; -- 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:=[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[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;
Computations of SL(3,8)
/* SL(3,8) has a presentation with generators a, b, c, d, e and the following relators a^2, b^2, c^7, de, ed, (cb)^2, (ba)^3, (acac^6)^2, c^2ac^6ac^5ac, dbe^2, (ce)^2cd^2 aead(ae)^2babd^2, eadae^2babd^2(ae)^2babd^2, ec^6daecdc^6aca, ec^6daecec^6d^2ae^2cd^2, ec^6daecec^6d^2ae^2cd^2. The following commands check whether the last relator, i.e. ec^6daecec^6d^2ae^2cd^2 can be rewritten by the others, via Groebner basis techniques. */ Use ZZ/(2)[a,b,c,d,e]; G:=[[[a^2], [1]], [[b^2], [1]], [[c^7], [1]], [[d, e], [1]], [[e, d], [1]], [[c, b, c, b], [1]], [[b, a, b, a, b, a], [1]], [[a, c, a, c^6, a, c, a, c^6], [1]], [[c^2, a, c^6, a, c^5, a, c], [1]], [[b, d, b, e^2], [1]], [[c, e, c, e, c, d^2], [1]], [[a, e, a, d, a, e, a, e, b, a, b, d^2], [1]], [[e, a, d, a, e^2, b, a, b, d^2, a, e, a, e, b, a, b, d^2], [1]], [[e, c^6, d, a, e, c, d, c^6, a, c, a], [1]]]; F:=[ [e,c^6, d, a, e, c, e, c^6, d^2, a, e^2, c, d^2] ]; Gb:=NC.GB(G,31,1,100,5000); NC.NR(F,Gb);