5 Application - enumerating finite unlabelled structures
Tải bản đầy đủ - 0trang
Advanced Computations in Finite Groups
391
with r possible colours. Two necklaces are the same if one can be
transformed into another by rotating it or turning it over (reflecting it).
We approach the problem as follows. Before considering the effect of
rotations and reflections, we can make rn different necklaces. Let ⍀ be a
set containing exactly these rn different necklaces. Now we define an action
of the dihedral group D2n on ⍀, which is induced in the obvious way from its
natural action as the symmetry group of a regular n-sided polygon. So, for
example, a rotation through an angle 2/n will map a necklace in α∈⍀ to
the necklace obtained by applying to α. Then the distinct necklaces
correspond exactly to the orbits of D2n on ⍀, and we can apply Lemma 2.17
to count the number of such orbits. This calculation still requires some
combinatorial analysis, which we omit. The number is
when n is odd and even, respectively, where ⌽ is the Euler ⌽-function.
Let us now focus on a specific aspect of this topic in which computational
group theory plays a significant rôle. In general, if the group G acts on the
set Ω then, for α∈Ω and g∈G, we have
(Exercise 1, Section
2.2). Hence the stabilizers of the points in a particular orbit of G form a
conjugacy class of subgroups of G. In many applications, we wish to know
not only the total number of orbits, but the total number of orbits for which
the point stabilizers lie in some specified conjugacy class of subgroups of G.
This information is related to the size of the orbit, and the automorphism
group of the members of these orbits.
It can be computed as follows. This method was introduced originally by
Burnside. Let the conjugacy classes of subgroups of G be
where
has a representative subgroup Ui≤G and, for 1≤i, j≤d, let (Ui, Uj) denote
the total number of conjugates
of U j for which U i ≤ . Define
mij:=|NG(Uj):Uj|(Ui, Uj). The d×d matrix M(G) with entries mij was called
the table of marks of G by Burnside. Note that its entries are nonnegative
integers. It has also been called the super character table of G.
For an action of G on Ω and a subgroup H≤G, define
.
Let vO be the d×1 column vector in which the i-th component is the number
of orbits of G⍀ with stabilizers in , and let vF be the d×1 column vector in
which the i-th component is |ΩUi|. Then Burnside’s lemma, which is proved
in detail Section 4.1 of [Ker99], states that M(G).vO=vF, so vO can be computed
as M(G)-1.vF.
To compute the table of marks, we first need to find the conjugacy classes
of subgroups of G, which was the topic of Section 10.4.
© 2005 by Chapman & Hall/CRC Press
392
Handbook of Computational Group Theory
Computations with characters of the symmetric group is another area
of CGT that is important in this topic. We should also mention here some
specialized computer algebra packages that are available.
•
•
•
SYMMETRICA is devoted to the representation theory and
combinatorics of finite symmetric groups.
DISCRETA is for constructing t–(n, k, ) designs with prescribed
automorphism group.
MOLGEN is for computing structural formulae of chemicals.
Exercise
1. Prove the formula displayed above for the number of necklaces that can
be made with n beads of r possible colours. If this is too difficult, try it
first when the n is prime.
© 2005 by Chapman & Hall/CRC Press
Chapter 11
Libraries and Databases
The classification of groups with the aid of computers and the electronic
publication of the resulting libraries and databases form an important
part of computational group t heory. ‘Classification’ of groups here
means that the groups with certain properties or parameters are
determined up to conjugacy or isomorphism. The algorithms used for
these purposes frequently use a large part of the available machinery
from CGT.
In this chapter, we shall discuss four such databases in some detail,
which currently contain:
•
•
•
•
all primitive permutation groups up to degree 1000;
all transitive permutation groups up degree 30;
all perfect groups of order up to 106, but with seven missing orders;
all finite groups up to order 2000, excluding the order 1024, but
including the 408641 062 groups of order 1536.
In the final section of this chapter, we shall briefly describe and discuss the
vast quantity of data that has been collected together or computed by the
authors of the “ATLAS of Finite Groups” [CCN+85] and in its sequel, “An
Atlas of Brauer Characters” [JLPW95].
The four databases listed above, and also much of the data printed in the
“ATLAS” volumes, are available from both GAP and MAGMA. As one would
expect from databases, some facilities are also provided to help the user
search for groups in the lists with specified properties, and to locate the
isomorphic or conjugate copy in the library of a corresponding user-supplied
group.
Among the resources that have been provided by the CGT community
in recent years, these databases, particularly the list of small groups,
probably constitute the facility that is most frequently used by the general
mathematical and scientific community. Of course, it is difficult to know
exactly how often and by whom they are used, given that many such
applications remain unrecorded. The lists are almost certain to be extended
in the future; for example, work is already in progress to find the primitive
permutation groups up to degree 2500.
The history of group classifications is long, and many publications in
this area have mistakes. Of course, the earlier classifications and list
393
© 2005 by Chapman & Hall/CRC Press
394
Handbook of Computational Group Theory
compilations, many of which date back to the late 19th century, were
undertaken by hand rather than by machine. We refer the reader to the
extensive bibliography compiled by Short in [Sho92, Appendix A] for more
details on the history of primitive and transitive group classification, and
to the article by Besche, Eick, and O’Brien [BEO02] for a history of
classifications of groups of small order.
11.1 Primitive permutation groups
The primary aim in the classification of primitive groups is to determine a
complete and irredundant list of conjugacy class representatives for the
primitive subgroups of Sym(n) for a given degree n. The generally used
approach towards this aim is based on the O’Nan-Scott theorem, which we
stated earlier as Theorem 10.4. This theorem divides the primitive
permutation groups into two classes: the affine (case (i) of Theorem 10.4)
and the nonaffine groups (cases (ii) and (iii) of Theorem 10.4). This is the
primary invariant used to classify the primitive permutation groups of a
given degree; see Sections 11.1.1 and 11.1.2.
Currently, the primitive permutation groups of degree less than 1000
and the solvable primitive permutation groups of degree less than 6561
have been classified. We shall give a very brief overview of the history of
the determination of primitive groups in the following. We refer the reader
to [Sho92] for details.
In [Sim70], a list of all primitive permutation groups up to degree 20 is
published and Sims also circulated a correct list of groups up to degree 50.
The solvable primitive permutation groups of degree less than 256 were
listed in [Sho92], with two omissions. This list has been corrected and
extended to the solvable primitive permutations groups of degree less than
6561 in [EH03]. The solvable primitive permutation groups are affine and
an overview of a method to determine these groups is included in Section
11.1.1.
There is a description of examples in [DM88] and also in Appendix B
of [DM96] with one or two omissions, and without detailed classification
of affine examples with EARNS. This uses O’Nan-Scott and the
classification of finite simple groups. A list in electronic form was
described by Theissen in [The97] and made for GAP. This includes the
examples from Dixon and Mortimer’s list, and the affine examples of
degree less than 256.
The remaining affine groups of degrees 256, 625, and 729 were classified
by Roney-Dougal and Unger in [RDU03], who also rechecked the entire list
of primitive permutation groups of degree less than 1000.
© 2005 by Chapman & Hall/CRC Press
Libraries and Databases
395
11.1.1 Affine primitive permutation groups
First, we recall the definition and some elementary results on the affine
primitive groups.
DEFINITION 11.1 Let G be a primitive permutation group and let S be its
socle. If S is solvable, then G is called an affine primitive group.
The following theorem is folklore for the affine primitive groups. See the
paper by Liebeck, Praeger, and Saxl [LPS88] for background.
THEOREM 11.2 Let G be an affine primitive permutation group with socle
S and degree n.
a) n is a prime power; that is, n=pm for some prime p and m∈ .
b) S is an elementary abelian p-group of order pm.
c) The point stabilizer K=G1 is a complement to S in G.
d) The conjugation action of K on S induces an embedding K→GL(m, p)
with irreducible image.
Theorem 11.2 d) implies that every affine primitive permutation group of
degree pm yields an irreducible subgroup of the matrix group GL(m, p).
Conversely, every irreducible subgroup of GL(m, p) determines an affine
primitive permutation group in this form and the conjugacy classes of affine
primitive subgroups in Sym(pm) correspond one-to-one to the conjugacy
classes of irreducible subgroups of GL(m, p). Hence the classification of the
affine primitive permutation groups translates into the classification of the
irreducible subgroups of GL(m, p).
An approach to classifying the irreducible subgroups of GL(m, p) is
provided by Aschbacher’s theorem [Asc84]; see Subsection 7.8.2 for a
statement of the theorem. In particular, an irreducible subgroup G of
GL(m, p) falls into one of the classes (2) to (9) of Aschbacher’s theorem.
The primary approach for constructing all irreducible subgroups of GL(m,
p) is to determine the conjugacy classes of maximal subgroups for each
of the classes (2) to (9). Then each conjugacy class representative is
considered in turn and its conjugacy classes of subgroups are determined
recursively.
This approach lists each conjugacy class representative of the irreducible
subgroups of GL(m, p) at least once. But, since the classes in Aschbacher’s
theorem are not disjoint, it may happen that an irreducible subgroup of
GL(m, p) lies in several of these classes and is therefore constructed several
times.
Hence it remains to reduce the constructed list of subgroups to conjugacy
class representatives. For this purpose we need an effective conjugacy
test for subgroups in GL(m, p). Clearly one can consider GL(m, p) as a
© 2005 by Chapman & Hall/CRC Press
396
Handbook of Computational Group Theory
permutation group on pm-1 points and then use a backtrack approach to
check conjugacy; see Section 4.6. However, this approach has turned out to
be practical for small prime powers pm only. For larger pm there are two
methods available for the conjugacy class test: we refer to the papers by
Eick and Höfling [EH03] and by Roney-Dougal [RD04] for details.
11.1.2 Nonaffine primitive permutation groups
As mentioned earlier, the nonaffine primitive permutation groups of degree
less than 1000 were determined and listed by hand by Dixon and Mortimer
in [DM88]; their list is also available as Appendix B of [DM96]. A few errors
were later discovered by various people, and the results described in [RDU03]
are now generally believed to be correct. (Or rather, almost correct! It has
very recently been discovered that PSL(2, 41) in a primitive representation
of degree 574 on the cosets of a maximal subgroup isomorphic to Alt(5) was
omitted from the table of the total numbers of primitive groups.)
Dixon and Mortimer used the classification of finite simple groups, the
known structure of the automorphism groups of the finite simple groups,
the O’Nan-Scott theorem, and information about the maximal subgroups
of almost simple groups, which was available principally from results of
Cooperstein, Kantor, and Liebeck. In fact nearly all of the information
+
they needed could be found in the “ATLAS” [CCN 85].
They proceeded by considering all possible socles, which are direct
products of isomorphic finite simple groups, and collecting together the
groups with a common socle into cohorts. Most, but by no means all, of the
examples have simple socle; this is because other types of examples that
occur in Theorem 10.4 tend to have larger degrees. For this case, one just
needs to know the finite almost simple groups G that have maximal
subgroups H of index less than 1000, and a knowledge of which of the
automorphisms of G fix the conjugacy class of H in G. It is important to be
aware of the fact that
is not necessarily a maximal subgroup of
soc(G). Such intersections are listed in the “ATLAS”, and called novelties.
We refer the reader to [DM88] for further details.
Exercises
1. Prove Theorem 11.2.
2. Find examples of almost simple groups G having a maximal subgroup
H for which H ʝ soc(G)for which is a proper nonmaximal subgroup of
soc(G).
3. Let G be a primitive subgroup of Sym(n) for some n with G almost
simple, let S=soc(G), and let N be the normalizer in Sym(n) of G. Prove
that N is isomorphic to a subgroup of the normalizer in Aut(S) of G,
© 2005 by Chapman & Hall/CRC Press
Libraries and Databases
397
α
and that an element α in NAut(S)(G) lies in N if and only if H is conjugate
in N to H, where H:=G1 is a point stabilizer.
11.2 Transitive permutation groups
Many attempts to classify transitive groups of small degree (up to 15) were
carried out in the late 19th and early 20th centuries. See [Sho92] for details
and references. More recently, with assistance from computers, transitive
groups up to degree 11 were listed by Butler and McKay [BM83], degree 12
by Royle [Roy87], and degrees 14 and 15 by Butler [But93]. Finally, transitive
groups of degree less than 32 were listed in [Hul96] by Hulpke. These are
available as libraries in GAP and MAGMA up to degree 30.
There is general confidence that the latest lists are correct, because
they have been checked using a variety of different methods. To give the
reader an idea of the number of classes of groups involved, the largest
number is in degree 24, with (exactly) 25000 groups, and then there are
5712, 2392, 1954, 1854, 1117, and 983 groups of degrees 30, 27, 16, 28, 20,
and 18, respectively.
11.2.1 Summary of the method
Here, we shall summarize the method of classification described in full
detail by Hulpke in [Hul96] or [Hul]. The aim is to list all transitive
permutation groups of a given degree n up to conjugation in Sym(n). As
was observed in Subsection 4.6.5, testing subgroups of Sym(n) for conjugacy
is one of the most difficult computations to perform efficiently, and so it is
essential to avoid having to do this wherever possible. Fortunately, the
methods to be summarized below can be carried out without resort to
direct conjugacy testing except in a few exceptional cases.
Since primitive groups are listed up to much higher degrees, we can
assume that these are known, so we need to find the transitive imprimitive
groups. We can also assume that the transitive groups of degree less than
n are known.
We consider each nontrivial factorization n=lm of n in turn, and list
those groups for which the smallest block of imprimitivity has size l. Let G
be such a group, let B be a block of imprimitivity of size l in a block system
of size m with 1∈B, let U=G1 and V=GB. Then, by minimality of B, VB is
primitive and so, by Proposition 2.30, U is a maximal subgroup of V. Let
be the induced action of G on
and let
M:=ker(ϕ).
Now we split into two cases, M=1 and M 1. The case M=1 is easier,
and the associated imprimitive groups are called inflations of the
isomorphic transitive groups G . We take each transitive group G of degree
© 2005 by Chapman & Hall/CRC Press
398
Handbook of Computational Group Theory
m in turn and then find the maximal subgroups U of its point stabilizer V.
The image of the action of G on the right cosets of U is a (necessarily
faithful) inflation of G of degree n. It can be proved that two such inflations
for the same G are conjugate in Sym(n) if and only if the two corresponding
maximal subgroups U1 and U2 of V are in the same orbit under the action
of Aut(G). This means that Aut(G) needs to be computed. For this, the
methods of Section 8.9 were used for solvable G and of Subsection 9.1.3
for nonsolvable G.
So suppose that M≠1. Clearly M≤V. Since VB is primitive, MB is transitive
by Proposition 2.29, and the maximality of U in V implies that V=MU. Also
the transitivity of GB implies that the group actions are equivalent for all
blocks Bi ∈ . Finally, G≤ NSym(n)(M) implies that Nsym(n)(M) is transitive.
The first and most time-consuming part of the classification procedure
in this case is to list all possible groups M≤Sym(n) that have all of the
properties listed in the preceding paragraph. That is, they have m orbits,
B1,…,Bm each of length l, the actions MBi are all permutation equivalent,
and NSym(n)(M) is transitive. The theory of how this is achieved is technical,
and involves the theory of subdirect products. We shall not give any further
details here, except to observe that we only need to consider those transitive
groups H of degree l for which NSym(l) (H) is primitive as candidates for
.
Now we process each individual candidate group M in turn. First, we
compute N:=NSym(n)(M), which is transitive by assumption. Furthermore, by
Proposition 4.9, N permutes the set of orbits of M, and so is a system of
imprimitivity for N of the required type. As before, we let
be the induced action on , and compute R:=ϕ(N) and
K:=ker(ϕ). So R is transitive.
For each group G that we are seeking, ϕ(G) is a transitive subgroup of
R, so the next step is to compute representatives T of the conjugacy classes
of transitive subgroups of R, and consider each of these in turn as candidates
for ϕ(G). This is potentially a difficult computation, but it turns out that,
most of the time, R is either small enough for it to create no difficulties, or
R is a subgroup of low index in either Sym(m) or a wreath product
with m=rs (see Subsection 2.2.5). If |Sym(m):R| is small,
then we can use the already available list of transitive subgroups of Sym(m),
and efficient methods can also be developed to handle the wreath product
case.
For each candidate group T, we compute the inverse image S:=ϕ-1(T) of
T in N, so we are looking for G≤S with ϕ(G)=ϕ(S). Since, by assumption,
, this means that G/M is a complement of K/M in S/M
and, conversely, all such complements satisfy the required conditions for
G. So we need to find representatives of these complements up to conjugation
in NN(S). This is a cohomological calculation, and can be carried out in a
similar way to the computations of complements described in Subsection
10.4.2 in connection with finding the subgroups of a finite group.
The final problem in the classification of transitive groups of degree n
arises from the fact that such a group G can have more than one block system
© 2005 by Chapman & Hall/CRC Press
Libraries and Databases
399
of minimal size, in which case it will be found several times, once for each
such block system. To eliminate such repetitions, all block systems with
blocks of size l are computed for each G, and considerable effort is devoted to
ordering these block systems in such a way that there is a unique ‘minimal’
block system under this ordering; in that case G is kept on the list if and only
if the block system for which it arose is the minimal one. There were, however,
a few cases in which no such unique canonical system could be defined, and it
was occasionally necessary to resort to direct conjugacy tests in Sym(n) to
decide equivalence of some of the groups G.
11.2.2 Applications
The most important application of the lists of transitive groups is to the
calculation of Galois groups Gal( ) of irreducible polynomials over the
rationals. The most effective practical methods in current use require a
complete list of such subgroups of degree equal to deg( ); so, at the present
time, they can only be applied when deg( )≤31.
with monic. Let n:=deg(f). We consider
We can assume that
Gal( ) as a subgroup of Sym(n) in its action on the n roots α1,…, αn of . We
have an action of Sym(n) on the polynomial ring
where
permutations act by permuting the variables xi; i.e.
for ∈Sym(n).
Very roughly, for each transitive group G of degree n, we need to find a
polynomial in n variables x1,…,xn which is invariant under all g∈G, but not
under all elements of any overgroup of G in Sym(n). For example,
is invariant under ∈Alt(n) but not under ∈Sym(n)\Alt(n).
By computing complex approximations of the roots αi, we can decide
whether this polynomial evaluated with αi in place of xi yields a result in .
If so then, under certain additional hypotheses, we can conclude that
Gal( )≤G. So, for example, we have Gal(f)≤Alt(n) if and only if the discriminant
is a square in .
The algorithm proceeds by working downwards through a descending
chain of subgroups of Sym(n) and halts when we find a subgroup G with
Gal(f)≤G but
for all maximal subgroup H of G. So, in addition to
the list of transitive groups of the given degree n, we require information
on containment between the subgroups on the list, which is not completely
straightforward because the list only contains subgroups up to conjugacy
in Sym(n).
The above description is unfortunately too brief and approximate to be
of much use to readers who are seriously interested! A detailed treatment
© 2005 by Chapman & Hall/CRC Press
400
Handbook of Computational Group Theory
of degrees n≤7 can be found in [Coh73, Section 6.3]. Another useful reference
for practical computations of Galois groups is the article by Soicher and
McKay [SM85]. In [Hul99b], Hulpke introduces some new ideas in Galois
group computation, which aim to avoid the necessity of a complete list of
transitive subgroups of Sym(n).
The lists of transitive groups of degree n have also been used by Royle
and others in [RP89] and [RM90] for enumerating graphs of degree n with
transitive automorphism group. The enumerations proceed essentially by
considering all candidates for this automorphism group.
11.3 Perfect groups
We recall from Definition 2.36 that a nontrivial group is said to be perfect if
it is equal to its own derived subgroup. A list of representatives of the
isomorphism classes of finite perfect groups of order at most 10000 was
compiled by Sandlöbes, and published in [San81]. This list was recomputed
and extended up to the order 1000000 by Holt and Plesken in [HP89], but
there are seven orders for which their list is incomplete, the smallest of
these being 210.60 = 61440. Their list agrees with that of Sandlöbes up to
order 10000.
The perfect groups in the library are stored by means of finite
presentations. This provides a compact method of storage, but is not the
most useful for subsequent computations with the groups. The library
therefore contains information that enables the user to construct faithful
permutation representations of the groups.
In most cases, this information consists of generators for a core-free
subgroup of reasonably small index, from which a permutation
representation can be found by coset enumeration. For some examples,
however, there are faithful intransitive permutation representations of
significantly smaller degree than the smallest-degree transitive
representation; in these cases, generators for the point-stabilizers of each
orbit in these intransitive representations are stored.
If a finite group G has M:=Op(G) 1 and N:=Oq(G)≠1 for two distinct primes
p, q, then G is a subdirect product of G/M and G/N (see Exercise 1 below).
From a knowledge of G/M, G/N, and Aut(G/MN), it is straightforward to
reconstruct the possible groups G. In general, there could be more than one
isomorphism class of such groups, although this does not happen with perfect
groups of order up to a million. It therefore suffices to find the perfect groups
in which Op(G)≠1 for at most one prime p.
The first step is to write down all of the perfect groups up to the
required order n for which Op(G)=1 for all primes p; that is, the perfect
groups with trivial solvable radical. From the known list of simple
groups, it is easy to show that the smallest such group that is not a
direct product of finite nonabelian simple groups has order 606, which is
© 2005 by Chapman & Hall/CRC Press
Libraries and Databases
401
considerably larger than the orders with which we are concerned. So,
this step is straightforward.
We now, recursively, take each perfect group F in turn and, for each
prime p with p|F|≤ n and OP(F)=1, we construct those perfect groups G for
which
. For such a group G, the terms in the lower central
series of Op(G) are characteristic in Op(G) and hence normal in G. It follows
that the chief factors M/N of G for which N
under the induced action of Op(G), and so they can be regarded as Fmodules, where the module action is induced by conjugation in G.
So we can find the groups G as follows. First, we use the methods of
Subsection 7.5.5 to find all irreducible F-modules for which the dimension
d satisfies |F|pd≤n. We then initialize the list of groups G to [F] and
recursively consider each group G in the list in turn. Then, for each
irreducible F-module M of dimension d for which |G|pd≤n, we regard M
as an G-module in which Op(G) acts trivially, and compute the second
cohomology group H2(G, M). The corresponding extensions provide us with
a complete list of extensions of M by G up to equivalence of extensions. We
use the action of the compatible pairs in Aut(G)×Aut(M) on H2(G, M), as
discussed in Section 8.9 in the context of soluble groups, to refine this to a
collection of extensions that are mutually nonisomorphic as groups. These
can be added to the list of groups G with
, provided that they
are not isomorphic to any group that is already on the list.
In fact, we know that each isomorphism type of group G will arise once
for each of its minimal normal subgroups contained in Op(G), and in practice
we can use this fact to avoid getting repetitions in the list. We do not need
to resort to explicit isomorphism testing between groups.
The principal difficulty that we encountered in carrying out the above
program was that, in order to use the author’s cohomology programs to
compute H2(G, M), we needed to find a reasonably small-degree permutation
representation of the groups G. Unfortunately, the extensions computed
by the cohomology programs are output as presentations, and so these
permutation representations needed to be found individually for each group.
Although this was done with the aid of a coset enumeration program, it
required human expertise to find the appropriate subgroups for the coset
enumerations.
For two of the classes of extensions, namely F=Alt(5) and F=PSL(3, 2),
both with p=2, there were simply too many groups arising for it to be
practical to complete the lists up to order a million. The lists were
successfully computed up to a million for all other classes.
In fact, as the orders grow larger, finding extensions of p-groups by a
relatively small perfect group like Alt(5) starts to acquire similar
characteristics to finding all p-groups. As we saw in Subsection 9.4.4, finding
all p-groups can be undertaken completely mechanically, using the p-group
generation program, and it might be possible to generalize these methods so
that they can be applied to extensions of p-groups by a small fixed finite
group.
© 2005 by Chapman & Hall/CRC Press