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