GroupId( G )
For certain small groups the function returns a record which will identify the isomorphism type of G with respect to certain classifications. This record contains the components described below.
The function will work for all groups of order at most 100 or whose order
is a product of at most three primes. Moreover if the ANU pq is
installed and loaded (see RequirePackage and ANU pq Package) you can
also use GroupId to identify groups of order 128, 256, 243 and 729. In
this case a standard presentation for G is computed (see
StandardPresentation) and the returned record will only contain the
components size, pGroupId, and possibly abelianInvariants. For 2-
or 3-groups of order at most 100 GroupId will return the pGroupId
identifier even if the ANU pq is not installed.
catalogue:D(p,q)xr.
However, a solvable group G is isomorphic to SolvableGroup(o, n),
i.e., GroupId(SolvableGroup(o,n)).catalogue will be
[o,n].medskippGroupId (see below).
3primes:3primes holds an identifier for G. The following
isomorphisms are returned in 3primes:["A",p] = A(p^3), ["B",p] = B(p^3),
["D",p,q,r] = D(p,q)xr, ["D",p,q] = D(p,q),
["G",p,q] = G(p^2,q), ["G",p,q,r,s] = G(p,q,r,s),["H",p,q] = H(p^2,q), ["H",p,q,r] = H(p,q,r),
["K",p,q] = K(p,q^2), ["L",p,q,s] = L(p,q^2,s),
["M",p,q] = M(p,q^2), ["N",p,q] = N(p,q^2)names below for a definition of A ... N).
pGroupId:GroupId(TwoGroup(o,n)).pGroupId is always n (and similarly for
3-groups). See The 2-Groups Library and The 3-Groups Library for
details about the libraries of 2- and 3-groups. Note that if G is
a 2- or 3-group of order at most 100 its pGroupId usually differs
from its GAP solvable library number returned in catalogue.
abelianInvariants:
names:m is the cyclic group of order m, Dm is the dihedral group of order m, Qm is the quaternion group of order m, QDm is the quasi-dihedral group of order m, Sm is the symmetric group on m points, Am is the alternating group on m points, SL(d,q) is the special linear group, GL(d,q) is the general linear group, PSL(d,q) is the projective special linear group, K^n is the direct power of m copies of K, K$H is a wreath product of K and H, K:H is a split extension of K by H, K.H is a non-split extension of K and H, K+H is a subdirect product with identified factor groups of K
and H, KYH is a central amalgamated product of the groups K and H, KxH is the direct product of K and H, smallskipA(p^3) is < A, B, C ; A^p = B^p = C^p = [A,B] = [A,C] = 1,
[B,C] = A > , smallskipB(p^3) is < A, B, C ; B^p = C^p = A, A^p = [A,B] = [A,C] =
1, [B,C] = A > , smallskipD(p,q) is < A, B ; A^q = B^p = 1, A^B = A^x > such
that p|q-1, x neq 1 mod q, and x^p = 1 mod q,
smallskipG(p^2,q) is < A, B, C ; A^p = B^q = 1, C^p = A, [A,B] =
[A,C] = 1, B^C = B^x > such that p|q-1, x neq 1 mod
q, and x^p = 1 mod q, smallskipG(p,q,r,s) is < A, B, C ; A^r = B^q = C^p = [A,B] = 1, A^C =
A^x, B^C = B^{(y^s)} > such that p|q-1, p|r-1, x
minimal with x neq 1 mod r and x^p = 1 mod r, y minimal
with y neq 1 mod q and y^p = 1 mod q, and 0 < s <
p,smallskipH(p^2,q) is < A, B ; A^q = B^{(p^2)} = 1, A^B = A^x
> such that p^2|q-1, x^p neq 1 mod q, and x^{(p^2)} =
1 mod q, smallskipH(p,q,r) is < A, B ; A^r = B^{pq} = 1, A^B = A^x >
such that pq|r-1, x^p neq 1 mod r, x^q neq 1 mod r, and
x^{pq} = 1 mod r, smallskipK(p,q^2) is < A, B, C ; A^q = B^q = C^p = [A,B] = 1, A^C =
A^x, B^C = B^x > such that p|q-1, x neq 1 mod q, and
x^p = 1 mod q, smallskipL(p,q^2,s) is < A, B, C ; A^q = B^q = C^p = [A,B] = 1, A^C
= A^x, B^C = B^{(x^s)} > such that p|q-1, x neq 1 mod
q, x^p = 1 mod q, and 1 < s < p, note that
L(q,p^2,s) cong L(q,p^2,t) iff s t = 1 mod p, smallskipM(p,q^2) is < A, B ; A^{(q^2)} = B^p = 1, A^B = A^x
> such that p|q-1, x neq 1 mod q^2, and x^p = 1 mod
q^2, smallskipN(p,q^2) is < A, B, C ; A^q = B^q = C^p = [A,B] = 1, A^C =
A^{-1}B, B^C = A^{-1}B^{x^q+x-1} > such that 2 < p,
p|q+1, x is an element of order p mod q^2, smallskip^ has the strongest, x the weakest binding.
gap> q8 := SolvableGroup( 8, 5 );;
gap> s4 := SymmetricGroup(4);;
gap> d8 := SylowSubgroup( s4, 2 );;
gap> GroupId(q8);
rec(
catalogue := [ 8, 5 ],
names := [ "Q8" ],
3primes := [ "B", 2 ],
size := 8,
pGroupId := 4 )
gap> GroupId(d8);
rec(
catalogue := [ 8, 4 ],
names := [ "D8" ],
3primes := [ "A", 2 ],
size := 8,
pGroupId := 3 )
gap> GroupId(s4);
rec(
catalogue := [ 24, 15 ],
names := [ "S4" ],
size := 24 )
gap> GroupId(DirectProduct(d8,d8));
rec(
catalogue := [ 64, 154 ],
names := [ "D8xD8" ],
size := 64,
pGroupId := 226 )
gap> GroupId(DirectProduct(q8,d8));
rec(
catalogue := [ 64, 155 ],
names := [ "D8xQ8" ],
size := 64,
pGroupId := 230 )
gap> GroupId( WreathProduct( CyclicGroup(2), CyclicGroup(4) ) );
rec(
catalogue := [ 64, 250 ],
names := [ ],
size := 64,
pGroupId := 32 )
gap> f := FreeGroup("c","b","a");; a:=f.3;;b:=f.2;;c:=f.1;;
gap> r := [ c^5, b^31, a^31, Comm(b,c)/b^7, Comm(a,c)/a, Comm(a,b) ];;
gap> g := AgGroupFpGroup( f / r );
Group( c, b, a )
gap> GroupId(g);
rec(
3primes := [ "L", 5, 31, 2 ],
names := [ "L(5,31^2,2)" ],
size := 4805 )
gap> RequirePackage("anupq");
gap> g := TwoGroup(256,4);
Group( a1, a2, a3, a4, a5, a6, a7, a8 )
gap> GroupId(g);
rec(
size := 256,
pGroupId := 4 )
gap> g := TwoGroup(256,232);
Group( a1, a2, a3, a4, a5, a6, a7, a8 )
gap> GroupId(g);
rec(
size := 256,
pGroupId := 232 )
GAP 3.4.4