Difference between revisions of "ApCoCoA-1:Symbolic data Computations"
From ApCoCoAWiki
Line 2: | Line 2: | ||
==== <div id="Baumslag_groups">[[:ApCoCoA:Symbolic data#Baumslag_groups|Baumslag groups]]</div> ==== | ==== <div id="Baumslag_groups">[[:ApCoCoA:Symbolic data#Baumslag_groups|Baumslag groups]]</div> ==== | ||
− | + | Baumslag-Solitar groups have the following presentation. | |
BS(m,n)<a, b | b*a^m = a^n*b> where m, n are natural numbers | BS(m,n)<a, b | b*a^m = a^n*b> where m, n are natural numbers | ||
XML data: | XML data: | ||
Line 48: | Line 48: | ||
==== <div id="Dicyclic_groups">[[:ApCoCoA:Symbolic data#Dicyclic_groups|Dicyclic groups]]</div> ==== | ==== <div id="Dicyclic_groups">[[:ApCoCoA:Symbolic data#Dicyclic_groups|Dicyclic groups]]</div> ==== | ||
− | + | Dicyclic groups have the following presentation. | |
Dic(n) = <a,b | a^{2n} = 1, a^n = b^2, bab^{-1} = a^{-1}> | Dic(n) = <a,b | a^{2n} = 1, a^n = b^2, bab^{-1} = a^{-1}> | ||
XML data: | XML data: | ||
Line 57: | Line 57: | ||
<ncpoly>b[1]*b[2]-1</ncpoly> | <ncpoly>b[1]*b[2]-1</ncpoly> | ||
<ncpoly>b[2]*b[1]-1</ncpoly> | <ncpoly>b[2]*b[1]-1</ncpoly> | ||
− | <ncpoly>a^{n}-b[1] | + | <ncpoly>a^{n}-b[1]*b[1]</ncpoly> |
<ncpoly>b[1]*a*b[2]-a^{2n-1}</ncpoly> | <ncpoly>b[1]*a*b[2]-a^{2n-1}</ncpoly> | ||
</rels> | </rels> | ||
Line 63: | Line 63: | ||
==== <div id="Dihedral_groups">[[:ApCoCoA:Symbolic data#Dihedral_groups|Dihedral groups]]</div> ==== | ==== <div id="Dihedral_groups">[[:ApCoCoA:Symbolic data#Dihedral_groups|Dihedral groups]]</div> ==== | ||
− | + | Dihedral groups have the following presentation. | |
Dih(n) = <r,s | r^n = s^2 = (rs)^2 = 1> | Dih(n) = <r,s | r^n = s^2 = (rs)^2 = 1> | ||
XML data: | XML data: | ||
Line 70: | Line 70: | ||
<rels> | <rels> | ||
<ncpoly>r^{n}-1</ncpoly> | <ncpoly>r^{n}-1</ncpoly> | ||
− | <ncpoly>s | + | <ncpoly>s*s-1</ncpoly> |
<ncpoly>r*s*r*s-1</ncpoly> | <ncpoly>r*s*r*s-1</ncpoly> | ||
</rels> | </rels> | ||
+ | |||
+ | |||
+ | ==== <div id="vonDyck_groups">[[:ApCoCoA:Symbolic data#vonDyck_groups|von Dyck groups]]</div> ==== | ||
+ | Von Dyck groups have the following presentation. | ||
+ | D(l,m,n) = <x,y | x^{l} = y^{m} = (xy)^{n} = 1> | ||
+ | XML data: | ||
+ | <vars>x,y</vars> | ||
+ | <params>l,m,n</params> | ||
+ | <rels> | ||
+ | <ncpoly>x^{l}-1</ncpoly> | ||
+ | <ncpoly>y^{m}-1</ncpoly> | ||
+ | <ncpoly>(x*y)^{n}-1</ncpoly> | ||
+ | </rels> | ||
+ | |||
+ | |||
+ | ==== <div id="Higman_group">[[:ApCoCoA:Symbolic data#Higman_group|Higman group]]</div> ==== | ||
+ | The Higman group has the following presentation. | ||
+ | H = <a,b,c,d | a^{-1}ba = b^2, b^{-1}cb = c^2, c^{-1}dc = d^2, d^{-1}ad = a^2> | ||
+ | XML data: | ||
+ | <vars>a[1],a[2],b[1],b[2],c[1],c[2],d[1],d[2]</vars> | ||
+ | <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>c[1]*c[2]-1</ncpoly> | ||
+ | <ncpoly>c[2]*c[1]-1</ncpoly> | ||
+ | <ncpoly>d[1]*d[2]-1</ncpoly> | ||
+ | <ncpoly>d[2]*d[1]-1</ncpoly> | ||
+ | <ncpoly>a[2]*b[1]*a[1]-b[1]*b[1]</ncpoly> | ||
+ | <ncpoly>b[2]*c[1]*b[1]-c[1]*c[1]</ncpoly> | ||
+ | <ncpoly>c[2]*d[1]*c[1]-d[1]*d[1]</ncpoly> | ||
+ | <ncpoly>d[2]*a[1]*d[1]-a[1]*a[1]</ncpoly> | ||
+ | </rels> | ||
+ | |||
+ | |||
+ | ==== <div id="Ordinary_tetrahedon_groups">[[:ApCoCoA:Symbolic data#Ordinary_tetrahedon_groups|Ordinary tetrahedon groups]]</div> ==== | ||
+ | Ordinary tetrahedon groups have the following presentation where e_i >= 2 and f_i >= 2 for all i. | ||
+ | G(e_1,e_2,e_3,f_1,f_2,f_3) = <x,y,z | x^{e_1} = y^{e_2} = z^{e_3} = (xy^{-1})^{f_1} = (yz^{-1})^{f_2} = (zx^{-1})^{f_3} = 1> | ||
+ | XML data: | ||
+ | <vars>x,y,z</vars> | ||
+ | <params>e_1,e_2,e_3,f_1,f_2,f_3</params> | ||
+ | <rels> | ||
+ | <ncpoly>x^{e_1}-1</ncpoly> | ||
+ | <ncpoly>y^{e_2}-1</ncpoly> | ||
+ | <ncpoly>z^{e_3}-1</ncpoly> | ||
+ | <ncpoly>(x*y^{e_2-1})^{f_1}-1</ncpoly> | ||
+ | <ncpoly>(y*z^{e_3-1})^{f_2}-1</ncpoly> | ||
+ | <ncpoly>(z*x^{e_1-1})^{f_3}-1</ncpoly> | ||
+ | </rels> | ||
+ | |||
+ | |||
+ | ==== <div id="Thompson_group">[[:ApCoCoA:Symbolic data#Thompson_group|Thompson group]]</div> ==== | ||
+ | The Thompson group has a presentation as follows. | ||
+ | T = <a,b | [ab^{-1},a^{-1}ba] = [ab^{-1},a^{-2}ba^2] = 1> | ||
+ | XML data: | ||
+ | <vars>a[1],a[2],b[1],b[2]</vars> | ||
+ | <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>a[1]*b[2]*a[2]*b[1]*a[1]-b[1]*a[2]*a[2]*b[2]*a[1]</ncpoly> | ||
+ | <ncpoly>a[1]*b[2]*a[2]*a[2]*b[1]*a[1]*a[1]-b[1]*a[2]*a[2]*a[2]*b[2]*a[1]*a[1]</ncpoly> | ||
+ | </rels> | ||
+ | |||
+ | |||
+ | ==== <div id="Triangle_groups">[[:ApCoCoA:Symbolic data#Triangle_groups|Triangle groups]]</div> ==== | ||
+ | Triangle groups have the following presentation. | ||
+ | Triangle(l,m,n) = {a,b,c | a^2 = b^2 = c^2 = (ab)^l = (bc)^m = (ca)^n = 1} | ||
+ | XML data: | ||
+ | <vars>a,b,c</vars> | ||
+ | <params>l,m,n</params> | ||
+ | <rels> | ||
+ | <ncpoly>a*a-1</ncpoly> | ||
+ | <ncpoly>b*b-1</ncpoly> | ||
+ | <ncpoly>c*c-1</ncpoly> | ||
+ | <ncpoly>(a*b)^{l}-1</ncpoly> | ||
+ | <ncpoly>(b*c)^{m}-1</ncpoly> | ||
+ | <ncpoly>(c*a)^{n}-1</ncpoly> | ||
+ | </rels> | ||
+ | |||
Revision as of 15:49, 1 July 2013
Computation of Non-abelian Groups
Baumslag-Solitar groups have the following presentation.
BS(m,n)<a, b | b*a^m = a^n*b> where m, n are natural numbers
XML data:
<vars>a[1],a[2],b[1],b[2]</vars> <params>m,n</params> <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.
/*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;
Dicyclic groups have the following presentation.
Dic(n) = <a,b | a^{2n} = 1, a^n = b^2, bab^{-1} = a^{-1}>
XML data:
<vars>a,b[1],b[2]</vars> <params>n</params> <rels> <ncpoly>a^{2n}-1</ncpoly> <ncpoly>b[1]*b[2]-1</ncpoly> <ncpoly>b[2]*b[1]-1</ncpoly> <ncpoly>a^{n}-b[1]*b[1]</ncpoly> <ncpoly>b[1]*a*b[2]-a^{2n-1}</ncpoly> </rels>
Dihedral groups have the following presentation.
Dih(n) = <r,s | r^n = s^2 = (rs)^2 = 1>
XML data:
<vars>r,s</vars> <params>n</params> <rels> <ncpoly>r^{n}-1</ncpoly> <ncpoly>s*s-1</ncpoly> <ncpoly>r*s*r*s-1</ncpoly> </rels>
Von Dyck groups have the following presentation.
D(l,m,n) = <x,y | x^{l} = y^{m} = (xy)^{n} = 1>
XML data:
<vars>x,y</vars> <params>l,m,n</params> <rels> <ncpoly>x^{l}-1</ncpoly> <ncpoly>y^{m}-1</ncpoly> <ncpoly>(x*y)^{n}-1</ncpoly> </rels>
The Higman group has the following presentation.
H = <a,b,c,d | a^{-1}ba = b^2, b^{-1}cb = c^2, c^{-1}dc = d^2, d^{-1}ad = a^2>
XML data:
<vars>a[1],a[2],b[1],b[2],c[1],c[2],d[1],d[2]</vars> <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>c[1]*c[2]-1</ncpoly> <ncpoly>c[2]*c[1]-1</ncpoly> <ncpoly>d[1]*d[2]-1</ncpoly> <ncpoly>d[2]*d[1]-1</ncpoly> <ncpoly>a[2]*b[1]*a[1]-b[1]*b[1]</ncpoly> <ncpoly>b[2]*c[1]*b[1]-c[1]*c[1]</ncpoly> <ncpoly>c[2]*d[1]*c[1]-d[1]*d[1]</ncpoly> <ncpoly>d[2]*a[1]*d[1]-a[1]*a[1]</ncpoly> </rels>
Ordinary tetrahedon groups have the following presentation where e_i >= 2 and f_i >= 2 for all i.
G(e_1,e_2,e_3,f_1,f_2,f_3) = <x,y,z | x^{e_1} = y^{e_2} = z^{e_3} = (xy^{-1})^{f_1} = (yz^{-1})^{f_2} = (zx^{-1})^{f_3} = 1>
XML data:
<vars>x,y,z</vars> <params>e_1,e_2,e_3,f_1,f_2,f_3</params> <rels> <ncpoly>x^{e_1}-1</ncpoly> <ncpoly>y^{e_2}-1</ncpoly> <ncpoly>z^{e_3}-1</ncpoly> <ncpoly>(x*y^{e_2-1})^{f_1}-1</ncpoly> <ncpoly>(y*z^{e_3-1})^{f_2}-1</ncpoly> <ncpoly>(z*x^{e_1-1})^{f_3}-1</ncpoly> </rels>
The Thompson group has a presentation as follows.
T = <a,b | [ab^{-1},a^{-1}ba] = [ab^{-1},a^{-2}ba^2] = 1>
XML data:
<vars>a[1],a[2],b[1],b[2]</vars> <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>a[1]*b[2]*a[2]*b[1]*a[1]-b[1]*a[2]*a[2]*b[2]*a[1]</ncpoly> <ncpoly>a[1]*b[2]*a[2]*a[2]*b[1]*a[1]*a[1]-b[1]*a[2]*a[2]*a[2]*b[2]*a[1]*a[1]</ncpoly> </rels>
Triangle groups have the following presentation.
Triangle(l,m,n) = {a,b,c | a^2 = b^2 = c^2 = (ab)^l = (bc)^m = (ca)^n = 1}
XML data:
<vars>a,b,c</vars> <params>l,m,n</params> <rels> <ncpoly>a*a-1</ncpoly> <ncpoly>b*b-1</ncpoly> <ncpoly>c*c-1</ncpoly> <ncpoly>(a*b)^{l}-1</ncpoly> <ncpoly>(b*c)^{m}-1</ncpoly> <ncpoly>(c*a)^{n}-1</ncpoly> </rels>
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);