Tải bản đầy đủ - 0 (trang)
5 Application - enumerating finite unlabelled structures

5 Application - enumerating finite unlabelled structures

Tải bản đầy đủ - 0trang

Advanced Computations in Finite Groups


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


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


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.


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


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


© 2005 by Chapman & Hall/CRC Press


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


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


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


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


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


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.


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


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



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


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


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


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


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


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


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


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


. 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


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


© 2005 by Chapman & Hall/CRC Press

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

5 Application - enumerating finite unlabelled structures

Tải bản đầy đủ ngay(0 tr)