7.65 GroupId

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:

a pair [o,n] where o is the size of G and n is the catalogue number of G following the catalogue of groups of order at most 100. See The Solvable Groups Library for further details. This catalogue uses the Neubueser list for groups of order at most 100, excluding groups of orders 64 and 96 (see~Neu67). It uses the lists developed by~HS64 and~Lau82 for orders 64 and 96 respectively.medskip
Note that there are minor discrepancies between n and the number in Neu67 for abelian groups and groups of type 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].medskip
If G is a 2- or 3-group of order at most 100, its number in the appropriate p-group library is also returned. Note that, for such groups, the number n usually differs from the p-group identifier returned in pGroupId (see below).

3primes:

if G is non-abelian and its size is a product of at most three primes then 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)
(see names below for a definition of A ... N).

pGroupId:

if G is a 2- or 3-group, this will be the number of G in the list of 2-groups of order at most 256, prepared by Newman and O'Brien, or 3-groups of order at most 729, prepared by O'Brien and Rhodes. In particular, for an integer n and for o a power of 2 at most 256, 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:

if G is abelian, this is a list of abelian invariants.

names:

a list of names of G. For non-abelian groups of order 96 this name is that used in the Laue catalogue (see~Lau82). For the other groups the following symbols are used. Note that this list of names is neither complete, i.e., most of the groups of order 64 do not have a name even if they are of one of the types described below, nor does it uniquely determine the group up to isomorphism in some cases. medskip
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, smallskip
A(p^3) is < A, B, C ; A^p = B^p = C^p = [A,B] = [A,C] = 1, [B,C] = A > , smallskip
B(p^3) is < A, B, C ; B^p = C^p = A, A^p = [A,B] = [A,C] = 1, [B,C] = A > , smallskip
D(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, smallskip
G(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, smallskip
G(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,smallskip
H(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, smallskip
H(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, smallskip
K(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, smallskip
L(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, smallskip
M(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, smallskip
N(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 ) 

Previous Up Top Next
Index

GAP 3.4.4
April 1997