Computing Double Cosets in Soluble Groups

Computing Double Cosets in Soluble Groups

J. Symbolic Computation (2001) 31, 179–192 doi:10.1006.1999.1005 Available online at http://www.idealibrary.com on Computing Double Cosets in Soluble...

273KB Sizes 0 Downloads 35 Views

J. Symbolic Computation (2001) 31, 179–192 doi:10.1006.1999.1005 Available online at http://www.idealibrary.com on

Computing Double Cosets in Soluble Groups MICHAEL C. SLATTERY Department of Mathematics, Statistics and Computer Science, Marquette University, P.O. Box 1881, Milwaukee, WI 53201-1881, U.S.A.

We discuss the use of orbit-stabilizer and orbit reduction techniques for computing representatives of double cosets in finite soluble groups given by a polycyclic presentation. c 2001 Academic Press

There is a long-standing interest in double cosets within computational group theory. Conway (1984) proposed, and more recently Linton (1991) has implemented double-coset enumeration in finitely presented groups as a technique for dealing with groups where (single) coset enumeration is too expensive. Another double-coset enumeration algorithm for finitely presented groups is given in Gilman (1982). In Laue (1994), Laue provides numerous applications within group theory, combinatorics, and chemistry for the ability to compute double-coset representatives. Furthermore, reduction theorems such as Mackey’s theorem imply that computing double-coset representatives can be a useful tool for work in group representations and cohomology. For example, Holt (1984) uses double cosets in order to compute the Schur multiplier of a permutation group. Algorithms for the computation of double-coset representatives for finite groups have been described and implemented by Laue (1982) and Linton (1991) (as mentioned above). Also Butler (1984) gives an algorithm for computing a canonical representative of a given double coset in a permutation group. Holt (1984) uses a straightforward orbit calculation on the cosets of one subgroup. There is now a large collection of algorithms which compute properties and substructures of finite soluble groups (e.g. Laue et al., 1984; Slattery, 1986; Mecky and Neub¨ user, 1989; Celler et al., 1990; Conlon, 1990; Glasby and Slattery, 1990; Smith, 1994). Many of these algorithms are based on the fact that such groups can be represented by polycyclic presentations. Given the interest in and utility of double cosets, it seems natural to consider double-coset algorithms for groups given by polycyclic presentations. In Section 1 we summarize the basic theory of polycyclic presentations for finite groups and in Section 2 we present some “folklore” results on transversals. In Sections 3 through 6 we give an algorithm for computing a complete set of double-coset representatives for a given pair of subgroups followed by a small application of this algorithm. Section 7 reports timings and results for one implementation and Section 8 describes a method for finding two-sided transversals in response to a query from J. McKay. 0747–7171/01/010179 + 14

$35.00/0

c 2001 Academic Press

180

M. C. Slattery

1. PC-presentations Any finite soluble group can be represented by a polycyclic presentation. One convenient form of polycyclic presentation, the power-conjugate presentation (which we will refer to as “pc-presentation”) is as follows G = hg1 , . . . , gn |gipi = wii ,

1 ≤ i ≤ n,

gjgi = wji ,

1 ≤ i < j ≤ ni

where the pi are primes and each wji is a word in gi+1 , gi+2 , . . . , gn (including the case j = i). While one can specify such a presentation directly, there are also various algorithms which will produce a pc-presentation for groups represented in some other fashion (e.g. finitely presented, permutations, etc.) (Newman, 1976; Holt, 1984; Butler and Cannon, 1993). Q In the case where |G| = i pi we say the pc-presentation is “consistent”. Note that the subgroups G1  G2  G3  · · ·  Gn  1 (∗) where Gi = hgi , . . . , gn i, form a composition series of G. While arbitrary finite presentations can be hard to work with, and so converting to a presentation might seem of questionable value, pc-presentations have an effective solution to the word problem. There exist algorithms, called collection algorithms, which allow one to compute an equivalent word in normal form g1e1 ∗ g2e2 ∗ · · · ∗ gnen for an arbitrary word. Thus collection provides an effective means of multiplying group elements. Furthermore, we can easily read off the smallest term in the composition series (∗) containing a given element from the normal form. That is, if i is the smallest index such that ei is non-zero for a given element x, then we say that i is the “weight” of x and one notes that Gi is the smallest term in (∗) containing x. It turns out that one can also work effectively with subgroups of a group G given by a pc-presentation. If H is a subgroup of G, we say a set of generators {h1 , h2 , . . . , hm } for H form an “induced sequence” of generators if the subgroups Hi = hhi , . . . , hm i form a composition series for H and each Hi , is H ∩ Gj for some j. In other words, the composition series {Hi } is obtained by intersecting the series (∗) with H and removing duplicates. Such an induced sequence allows one to easily read off the order of H and test if elements of G lie in H. One component of a number of finite soluble group algorithms is the orbit-stabilizer calculation (e.g. see Laue et al., 1984). Given a finite soluble group G and a set Ω on which G acts and a point α ∈ Ω, we can compute a set of generators for the stabilizer Gα of α in G and the set of elements in the G-orbit αG of α in Ω. The algorithm assumes that we have a sequence of generators g1 , . . . , gn for G which correspond to a composition series, such as the {gi } associated with a pc-presentation as above. In particular, Gi = hgi , . . . , gn i and pi = |Gi : Gi+1 |. For g ∈ G and ω ∈ Ω, we denote the image of ω under the action of g by ω g . Algorithm 1. Orbit-stabilizer. Input

G: a soluble group g1 , . . . , gn : pc-generators for G Ω: a set acted on by G

Computing Double Cosets in Soluble Groups

181

α: an element of Ω Output O: the G-orbit of α in Ω S: a list of pc-generators for Gα . O := {α} S := empty list For i := n downto 1 do If αgi ∈ O, Find t ∈ Gi+1 such that αt = αgi Append gi t−1 to S Otherwise, if αgi 6∈ O, pi−1 2 O := O ∪ Ogi ∪ Ogi ∪ · · · ∪ Ogi End for Reverse the order of S Notes: (1) At the conclusion of each pass through the For-loop, O is the Gi -orbit of α and S generates (Gi )α . (2) Finding t ∈ Gi+1 such that αt = αgi can be accomplished by maintaining a list of such t for each element in O. Alternately, one can record those gi which extend the orbit, maintain O as an ordered list, and compute the appropriate element t based on the position of αgi in O. k (3) Since Gi+1 Gi , the various Ogi in the union (in the “Otherwise” case) are disjoint, and so this union is easy to compute. (4) The final step (reversing S) yields an induced pc-generating sequence for Gα in G. In finite soluble groups, the fact that chief factors can be viewed as vector spaces over finite fields is often exploited. We can also take advantage of this structure if our composition series (∗) refines a normal series with elementary Abelian factors. While not every composition series has this property, it is always possible to find a pc-presentation such that the associated composition series refines a normal series with elementary Abelian factors. The pc-presentations computed by many algorithms have this additional property. We will assume that our presentations satisfy this condition. 2. Transversals Let G be a finite soluble group given by a pc-presentation. Given subgroups H and K in G, one approach to computing H, K double-coset representatives would be to consider the action of K on the right cosets of H by right multiplication. Implementing this approach requires not only a right transversal T for H in G, but also a transversal map f : G → T such that Hx = Hf (x) for all x ∈ G. Methods for producing transversals and maps have been discovered by many persons, but do not appear in print. It seems appropriate to present these techniques briefly here. Let H be a subgroup of G specified by a canonical generating sequence (Laue et al., 1984) or more generally by an induced sequence of generators, h1 , . . . , hm . Let WH be the set of weights of these generators WH = {w|w = weight of hi for some i}.

182

M. C. Slattery

We claim a standard left transversal for H in G can be easily defined in terms of WH . With G, H, WH as above, let T = {g1e1 . . . gnen |0 ≤ ei < pi , ei = 0 if i ∈ WH }. We first show that a slight variation on the standard stripping (or sifting) used for subgroup membership provides a transversal map from G to T . To see this, let h1 , . . . , hm be an induced sequence of generators for H. Moreover, assume that the leading exponent of each hi has been normalized to 1. Let x = x0 be any element of G. Given xi−1 ∈ G, we define xi ∈ G as follows. Write xi−1 = g1e1 g2e2 · · · gnen . w Let w = weight of hi and set xi = xi−1 h−e . i

Proposition 1. Given G, H, T as above, the map f : G → T defined by f (x) = xm satisfies xH = f (x)H. Proof. Since xi differs from xi+1 only by multiplication on the right by an element of H, it is clear that x and xm lie in the same left coset of H. We need only verify that xm lies in T . This relies on the fact that multiplying an element of G on the right by an element of weight w does not affect the exponents of generators with subscript less than w. Thus after we have zeroed out the exponent of x1 corresponding to the weight of h1 , that exponent remains zero in x2 , x3 , . . .. Thus xm has exponents equal to zero in all the appropriate places, and so is an element of T . 2 With this map in hand, it is easy to see that T is a transversal. Proposition 2. Let G, H, T be as above. Then T is a left transversal for H in G. Q Q Proof. Since |H| = i∈WH pi and |T | = i∈W / H pi , it is clear that T is the correct size. Thus it suffices to show that every coset of H contains an element of T . However, by Proposition 1, f (x) ∈ xH ∩ T for all x ∈ G. 2 Similar arguments show that if G is nilpotent and the generators g1 , . . . , gn induce a central series in G then the set T above is also a right transversal for H and stripping w on the left (i.e. xi = h−e xi−1 ) provides a right transversal map. Note that, unless H is i normal, the right cosets of H are not equal to the left cosets and so one must take care to use the proper transversal map. In general, however, T is not a right transversal, but T −1 = {t−1 |t ∈ T } is. Furthermore, using the map f from Proposition 1, we can define a right transversal map fr : G → T −1 by fr (x) = f (x−1 )−1 . It is easy to check that Hx = Hfr (x). For most applications of a transversal, the choice of particular transversal set is unimportant. If, for some reason, one needs to compute with a specified left (or right) transversal S, one can compute and store the correspondence between the canonical transversal T above and the given S. Then an efficient transversal map for S is provided by using the above map to T followed by table lookup.

Computing Double Cosets in Soluble Groups

183

3. Double Cosets Using the ideas of Section 2, we could compute H, K double-coset representatives by computing orbits of the action of K on the right cosets of H. However, even when there are relatively few H, K double cosets, transversals for either H or K might be very large. Thus, in general, this simple approach is impractical. For example, let us consider the group G which is the exponent-p class-7 quotient of the Burnside group B(2, 5). That is, G is the largest two-generator group of exponent 5 with the exponent-5 class equal to 7. This group has order 518 . For illustration purposes we will work with two specific (but arbitrarily chosen) subgroups, H of order 58 and K of order 56 . In this case a transversal for H in G contains 9 765 625 elements and one for K contains 244 140 625 elements, but there are only 625 H,K double cosets. Thus one might hope to compute a set of representatives without having to consider a full transversal for either subgroup. In this section we describe how orbit reduction techniques based on the homomorphism principle (Laue et al., 1984) combined with ideas from Glasby and Slattery (1990) can be used to produce a more effective algorithm. The basic step in our algorithm deals with the case where N  G is an elementary Abelian subgroup and H and K are subgroups of G. Using overbar to denote the canonical homomorphism from G onto G = G/N , we assume that x1 , . . . , xm are elements of G such that {Hx, K} are the distinct H, K double cosets in G. We will then describe how to compute the H, K double-coset representatives in G. Once we have this basic step, we can apply it to find the H, K double cosets in G (starting with only G, H, and K) by working down the (given) normal series with elementary Abelian factors. In other words, if this series is G = N1 ⊇ N2 ⊇ · · · ⊇ Nr ⊇ Nr+1 = 1, then we begin by computing representatives for HN2 /N2 , KN2 /N2 double cosets in G/N2 . This is an Abelian group and so we need simply find a transversal for the join. Then we use the basic step to produce representatives for HN3 /N3 , KN3 /N3 double cosets in G/N3 , and so on. Eventually we produce double-coset representatives in G = G/Nr+1 as desired. Returning to consideration of the basic step, we see the Hxi can be considered orbit representatives for the action of K on the right cosets of H via right multiplication. We will assume that we also have S i ⊆ K, the stabilizer of Hxi under this action. In other words, xi

Si = K ∩ H . We wish to find orbit representatives for the action of K on right cosets of H. Now through the correspondence induced by the canonical homomorphism, we see that {HN xi } form a set of orbit representatives for the action of K on right cosets of HN in G and if we assume that Si = K ∩ (HN )xi (i.e. the full preimage of S i in K), then Si is the stabilizer of HN xi in K. Thus, the orbits of K on cosets of H are partitioned by orbits of K on cosets of HN and we can compute the orbits on cosets of H by considering each orbit of cosets of HN in turn. So for each i, let x = xi , S = Si and consider the action of S on the cosets of H contained in HN x. Then representatives of S-orbits of cosets of H in HN x are representatives of the K-orbits of cosets of H having at least one coset contained in HN x. Furthermore, if

184

M. C. Slattery

we let −1

U = Sx , then the action of S on cosets of H in HN x corresponds to the action of U on cosets of H in HN . Thus, it suffices to compute U -orbit representatives for the right cosets of H −1 −1 in HN . Note that U = S x = K x ∩ HN ⊆ HN . Finally, we can shift our view of this action one more time. By choosing elements of N as our coset representatives for cosets of H in HN , we can describe the action of U on the cosets in terms of an action on the elements of N . In fact, the cosets are in one-to-one correspondence with the elements of N/H ∩ N and we will define our new action on this factor group. For t ∈ N and y ∈ U , we define t · y ∈ N as follows. Since U ⊆ HN , we can write y = hm, h ∈ H, m ∈ N . We define t · y = ty m, and note that H(t · y) = Hty m = Hth m = Hthm = Hty. Thus, we see that the map (t, y) 7−→ t · y gives a well-defined action of U on N/(H ∩ N ) which corresponds to the action of U on the right cosets of H via right multiplication. Since N is an elementary Abelian group, we can view N/(H ∩ N ) as a vector space upon which U is acting via affine transformations. This allows us to carry out our orbit calculations with simple matrix calculations rather than collections in G. At this point the heart of the calculation is clear. For each orbit representative from G/N , we form U as above and consider the action of U on N/H ∩ N . With vector-matrix operations, we use the orbit stabilizer (Algorithm 1) to determine representatives of the U -orbits and their stabilizers in U . These objects are then carried back through the various correspondences to produce representatives (and stabilizers) for the K-orbits of cosets of H, i.e. H, K double-coset representatives. Let us consider the effectiveness of this algorithm in the case of the 5-group example introduced at the beginning of Section 3. If we simply consider the action of K on a transversal of H in G, then we are acting on a set of size 9 765 625 and we will need to enumerate an orbit of size 15 625 (corresponding to the largest double coset). On the other hand, using the homomorphism principle to walk down a normal series with elementary Abelian factors of orders 52 , 5, 52 , 53 , 52 , 54 , and 54 , we find that the largest set we act on has size 52 and the largest orbit encountered has size 5. 4. Further Refinements While the process described in Section 3 will allow us to compute H, K double-coset representatives from given representatives in G, there are some further refinements we wish to present. First, consider the action of U on N/H ∩ N described above and let R = (H ∩ N )(U ∩ N ). It is easy to see that H ∩ N is normal in HN and clearly U ∩ N  U , so, since U ⊆ HN , we see that U normalizes R. It follows that the action of U on N/H ∩ N maps cosets of R/H ∩ N to cosets of R/H ∩ N since if Rt1 = Rt2 and y ∈ U , then Rt1 · y = Rt2 · y ⇐⇒ Rty1 m = Rty2 m ⇐⇒ Rty1 = Rty2

Computing Double Cosets in Soluble Groups

185

and since y ∈ U normalizes R, Rty1 = (Rt1 )y = (Rt2 )y = Rty2 . Thus we have an induced action on the cosets of R Rt 7−→ R(t · y) = Rty m. Again, this can be viewed as an affine action on N/R. In the case where R > H ∩ N , we are thus acting on a smaller dimensional vector space for the orbit-stabilizer calculation. Since, as we will see below, representatives of orbits on N/R can be used to compute representatives of orbits on N/H ∩ N without further orbit-stabilizer calculations, this can represent a significant improvement. For example, if R = N (e.g. N ⊆ U ) we avoid orbit-stabilizer computations entirely. This calculation of orbit representatives on N/H ∩ N is closely related to the generalized covering lemma in Glasby and Slattery (1990). After applying the orbit-stabilizer algorithm to N/R as above, we have representatives for the U -orbits on N/R. We will now describe how to use this information to deduce representatives and stabilizers for the action of U on N/H ∩ N . Suppose z ∈ N such that Rz is a representative of a U -orbit on N/R and T ⊆ U is the stabilizer of Rz in U . We wish to consider the action of T on the vectors of N/H ∩ N contained in (R/H ∩ N )z. Now, since R = (H ∩ N )(U ∩ N ), every element in (H ∩ N )Rz can be written (H ∩ N )tz for some t ∈ U ∩ N . But now, t acts on N/H ∩ N by right multiplication (since t ∈ N ) and since N is Abelian, we see that t ∈ T . Furthermore, (H ∩ N )tz = (H ∩ N )zt = (H ∩ N )(z · t). Thus we see T is transitive on the cosets of H ∩ N contained in Rz. If we consider the stabilizer in T of (H ∩ N )z, then for any generator t ∈ T , we have z · t ∈ Rz and so z · t = vwz,

v ∈ H ∩ N,

w ∈ U ∩ N.

Thus (H ∩ N )z · t = (H ∩ N )wz, which implies (H ∩ N )z · (tw−1 ) = (H ∩ N )z. Therefore, elements {ti wi−1 } of the stabilizer of (H ∩ N )z in T can easily be computed from a set {ti } of generators of T using linear algebra in N/H ∩ N . These elements map to generators of the stabilizer mod U ∩ N . On the other hand, the stabilizer of (H ∩ N )z in U ∩ N is easily seen to be (U ∩ N ) ∩ (H ∩ N ). Thus, the homomorphism principle implies that the elements {ti wi−1 } along with generators for (U ∩ N ) ∩ (H ∩ N ) will generate the full stabilizer of (H ∩ N )z in T . Consequently, any set of representatives of U -orbits on N/R is precisely a set of representatives of U -orbits on N/H ∩ N and a stabilizer for any representative (H ∩ N )z can easily be obtained from the stabilizer of Rz via linear algebra. Hence, by using orbitstabilizer only on N/R, we are still able to compute a complete set of orbits on N/H ∩ N and so a complete set of double-coset representatives. Another improvement is possible in the special case in which N in central in G. As in Section 3, if y ∈ U , we can write y = hm, h ∈ H, m ∈ N and for t ∈ N , t · y = ty m = tm

186

M. C. Slattery

since N is central. Thus the action of U on N/H ∩ N is just translation by an “N factor” of the acting element. In other words, if we let V ⊆ N be the projection of U onto N , then the U -orbits on N/H ∩ N are just the cosets of V /H ∩ N . Thus, a transversal for V in N gives us a set of orbit representatives and it is easy to see that the stabilizer of each is just H ∩ U . Since H is normalized by U (because H  HN ⊇ U ), this intersection is easily computed by an echelonization process (e.g. see Glasby and Slattery, 1990). We note finally that, since N is central, the projection of U onto V is a homomorphism and so we can easily produce a generating set for V by stripping generators of U against H. We would expect this last improvement to have a noticeable impact on our 5-group example from Section 3 since we can choose our normal series in a p-group to have all sections central. If we simply apply the generalized covering improvement (without special treatment for central sections) we find no noticeable change, which is not surprising since the orbit calculations were already rather small. However, by introducing the special treatment for central sections, we avoid the orbit calculations entirely and the running time is reduced by a factor of two from the time of the basic algorithm described in Section 3. 5. Double Coset Algorithm In this section we will present a more formal description of the double-coset algorithm. The algorithm proceeds step by step down a normal chain G = N1 ⊇ N2 ⊇ · · · ⊇ Nr ⊇ 1 with elementary Abelian factors. We take a list of double-coset representatives and stabilizers in G/Ni and use the basic step below to compute representatives and stabilizers in G/Ni+1 . Equivalently, one can use recursion by choosing an elementary Abelian normal subgroup N in G, recursively computing representatives and stabilizers in G/N and then using the basic step to produce representatives and stabilizers in G. One begins the computation (or defines the base case of the recursion) with the trivial group G/N1 , where the only double-coset representative (independent of H and K) is the identity element and the corresponding stabilizer is the trivial group. The process ends with a full set of H, K double-coset representatives (and corresponding stabilizers). The basic step therefore involves a group G and an elementary Abelian normal subgroup N . The algorithm splits into two cases based on whether or not N is central in G. We discuss some details of the computation after the pseudocode. Algorithm 2. Basic Step for Double Cosets. Input G: a soluble group H, K: subgroups of G N : a normal, elementary Abelian subgroup of G R: a list of pairs (r, S) where r ∈ G/N , S = (HN/N )r ∩ (KN/N ) and the first components form a full set of HN/N , KN/N double-coset representatives. Output R0 : a list of pairs (r0 , S 0 ) where the first components form a complete set of H, K double-coset representatives and the second 0 components are the corresponding stabilizers S 0 = H r ∩ K.

Computing Double Cosets in Soluble Groups

187

Let π : G → G/N denote the canonical homomorphism and πK : K → KN/N denote the restriction of π to K R0 := empty list If N ⊆ H, For each (r, S) in R do r0 := π −1 (r) −1 S 0 := πK (S) Append (r0 , S 0 ) to R0 End for Otherwise, if N 6⊆ H we proceed with one of two cases depending on whether or not N is central If N is central in G, For each (r, S) in R do r := π −1 (r) −1 −1 U := [πK (S)]r X := Generators (H ∩ N ) For each u in Generators (U ) do Decompose u = hm where h ∈ H, m ∈ N Append m to X End for K := Subgroup of N generated by X Y := Transversal for K in N T := (H ∩ U )r For each y in Y do r0 := yr S 0 := T Append (r0 , S 0 ) to R0 End for End for Otherwise, if N is not central in G, For each (r, S) in R do r := π −1 (r) −1 −1 U := [πK (S)]r Define an action of U on N as follows: Given u ∈ U , n ∈ N , Decompose u = hm where u ∈ H, m ∈ N and define the image of n under the action of u to be n ◦ u := (nu )m R := (H ∩ N )(U ∩ N ) T := list of pairs of orbit representatives and stabilizers for the action of U on N/R induced by the action of U on N . For each (p, Q) in T do Choose z ∈ N such that Rz = p r0 := zr Y := empty list For each x in Generators (Q) do Decompose (z ◦ x)z −1 = vw

188

M. C. Slattery

where v ∈ H ∩ N, w ∈ U ∩ N y := xw−1 Append y to Y End for Append Generators ((H ∩ N ) ∩ (U ∩ N )) to Y L := Subgroup of U generated by Y S 0 := Lr Append (r0 , S 0 ) to R0 End for End for

Notes: (1) There are two lines where we decompose u = hm where h ∈ H, m ∈ N . If N is a subgroup consisting of all elements of a certain weight and higher (which we require in our implementation), this can be accomplished by stripping u against the generators of H (as in Section 1) until the residue has a large enough weight to lie in N . By recording what we stripped from u as h and the residue in N as m, we have our decomposition. (2) The other decomposition in the case when N is not central, involves writing an element of R as vw where v ∈ H ∩ N , w ∈ U ∩ N . If we use the combined sumintersection algorithm for vector spaces (for example, see Algorithm 2.1 in Glasby and Slattery (1990)) to compute R, then the resulting matrix can be used to find the desired decompositions. This approach also produces generators for (H ∩ N ) ∩ (U ∩ N ) which are needed to generate L. (3) The action defined in the case where N is not central in G is not a well-defined action on N . However, it is easier to describe in terms of elements of N and does induce a well-defined action in settings where we apply it (e.g. on N/R). (4) There are several occasions where we intersect subgroups with N . Since we require N to be defined by weight (as mentioned above), these intersections can easily be read off. 6. An Application In Laue (1994), Laue describes several applications of the ability to compute doublecoset representatives. Many of these examples involve computations in large symmetric groups, to which our current algorithm for soluble groups would not apply. The question of counting isomorphism classes of semidirect products, however, can lead to situations in which all of the groups involved are soluble. As a small application of our algorithm, we will look at such an enumeration. Let H and N be groups with coprime orders and consider the isomorphism classes of semidirect products H n N . Such a semidirect product is determined by an action of H on N which can be specified via a homomorphism φ : H → Aut(N ). Then two homorphisms, φ1 and φ2 , correspond to isomorphic groups iff φ2 = α2 φ1 α1 , where α1 ∈ G1 = Aut(H) and α2 ∈ G2 = Aut(N ) and acts on Aut(N ) via conjugation. If φ1 and φ2 define isomorphic groups, then their kernels and images will be in the same orbits under the acting groups, G1 and G2 , respectively. Therefore, we can subdivide our classification by choosing orbit representatives for the kernels and

Computing Double Cosets in Soluble Groups

189

images and then attempting to classify isomorphism classes of maps having a specified kernel and image, K and I. In this case, we can restrict our attention to the stabilizer of K in G1 , which will then act on H/K, and the stabilizer of I in G2 . If we identify H/K with I via a fixed isomorphism, then we have two groups A and B acting on I and the isomorphism classes of semidirect products given by maps with kernel K and image I correspond to A, B double cosets in Aut(I). For a specific example, let H = J × J where J is the group of order 16 given by the presentation hx, y|x2 , y 8 , y x = y 5 i and let N be an elementary Abelian group of order 54 . In order to define an action of H on N , note that H is generated by elements x1 , y1 , x2 , y2 where each pair corresponds to the symbols x and y in the presentation of J. Then we can define a homomorphism φ : H → Aut(N ) by identifying Aut(N ) with GL(4, 5) and mapping:     4 3 4 1 1 0 0 0 2 0 0 4 0 0 1 3 φ(x1 ) =  φ(y1 ) =  , , 4 2 4 3 4 0 1 4 3 0 3 2 4 3 2 1     4 0 0 0 1 0 0 0 0 4 0 0 4 4 2 0 φ(x2 ) =  φ(y2 ) =  , . 0 0 4 0 2 3 3 3 0 0 0 4 0 4 1 4 In this case ker(φ) = K is the derived subgroup of H (of order 4) and Im(φ) = I is the subgroup of GL(4, 5) generated by the four matrices above. This group I is an Abelian 2-group of type (1, 1, 2, 2) (hence order 64) which has a soluble automorphism group of order 214 × 32 . Within this automorphism group we wish to identify the two subgroups A and B described above. Since K in this case is characteristic in H, Aut(H) stabilizes K. Thus A is the group of order 27 of automorphisms on H/K ∼ = I induced by the full automorphism group Aut(H). Also, the normalizer of I in Aut(N ) = GL(4, 5) has order 210 and induces a group of automorphisms B of order 4 on I via conjugation. Algorithm 2 can then be used to compute that there are 292 A, B double cosets in Aut(I). This computation takes about 0.2 s on a Sparc 20 using the implementation described in Section 7. Thus, we are able to conclude that there are 292 isomorphism classes of groups of order 160 000 formed as a semidirect product of H on N in which the kernel of the action is K and the image of the action is I.

7. Performance In this section we report times for a few sample runs. The algorithm described in Section 5 was implemented in C as part of the Magma (Bosma et al., 1997) computational algebra system. The times below are for execution on a Sun Sparc 20. Each table below reports on the results of four runs with the same G, H, and K. We computed H, K as well as K, H double-coset representatives (to show any time dependence on order), H, H representatives, and K, K representatives. We list the index of H and K in each case to give some idea of what would be involved in a direct orbit calculation on cosets.

190

M. C. Slattery

Case 1:

G = Aut(F ) · F × · F + where F = GF (310 ) H = A Hall {2, 5, 11}-subgroup of G K = A Hall {2, 5, 61}-subgroup of G |G| = 24 · 5 · 112 · 61 · 310 , |G : H| = 3 601 989, |G : K| = 7 144 929

# of double cosets Time (s)

H, K

K, H

H, H

K, K

752 6.9

752 7.1

380 128

2954 219

Case 2:

G = GL(2, 3) · 32+1 · 26+1 · 38+1 (A detailed construction of G appears in Glasby and Howlett (1992).) H = Derived subgroup of a Sylow 2-subgroup of G K = Derived subgroup of a Sylow 3-subgroup of G |G| = 211 · 313 , |G : H| = 12 754 584, |G : K| = 55 296

# of double cosets Time (s)

H, K

K, H

H, H

K, K

216 1.4

216 0.4

58200 124

2448 40

Case 3:

G = Exponent-p class-7 quotient of the 2-generator, exponent-5 Burnside group. H, K = Chosen arbitrarily (subject to some order constraints) (This is the example introduced in Section 3.) |G| = 518 , |G : H| = 9 765 625, |G : K| = 244 140 625

# of double cosets Time (s)

H, K

K, H

H, H

K, K

625 0.3

625 0.3

21 625 16

290 625 179

Computing Double Cosets in Soluble Groups

191

8. Two-sided Transversals If H is a subgroup of a finite group G (not necessarily soluble) and T is a left transversal for H in G, then, in general, T need not be a right transversal. However, a result of P. Hall (1935) says that it is always possible to choose a transversal which is both a left transversal and a right transversal. I am indebted to John McKay who mentioned that such transversals are related to double cosets and wondered if the current work would lead to an algorithm for computing two-sided transversals. In this last section we briefly present such an algorithm. Of course, if H is normal in G, then any transversal will work. We also note that the standard left transversal described in Section 2 will be a right transversal when G is nilpotent (with presentation exhibiting a central series). Our approach is supported by the following easy result. Lemma 1. Let H ⊆ G, x, y ∈ G. Then Hx ∩ yH 6= ∅ ⇔ HxH = HyH. Proof. If z ∈ Hx ∩ yH, then HxH = HzH = HyH. On the other hand, if HxH = HyH, then x ∈ HyH and so x = hyk for some h, k ∈ H. Then h−1 x = yk ∈ Hx ∩ yH. 2 If T = {t1 , t2 , . . .} is a two-sided transversal for H, then {Ht1 , Ht2 , . . .} will be the right cosets of H and {t1 H, t2 H, . . .} will be the left cosets. Furthermore, Hti ∩ ti H 6= ∅ for each i. Thus we see that such a transversal can be found by pairing the right cosets of H with the left cosets in such a manner that each pair has non-empty intersection and then choosing one element from each intersection. The lemma not only implies that we need to require both cosets in a pair to lie in the same double coset, but also demonstrates that any pairing of cosets within a double coset will have non-empty intersections. Within a given double coset HxH, one easily sees that if R is a right transversal for H x ∩ H in H, then the right cosets of H in HxH are precisely {Hxr|r ∈ R}. Similarly, −1 the left cosets are {`xH|` ∈ L} where L is a left transversal for H ∩ H x in H. Thus we can easily pair the right and left cosets in HxH by choosing any ordering of R and L. Finally, given r ∈ R, ` ∈ L we wish to find an element in Hxr ∩ `xH. However, since both ` and r lie in H, it is clear that `xr is such an element. These ideas are formalized in the algorithm description below. Note that this computation is applicable to any group in which we can compute H, H double-coset representatives and transversals. Algorithm 3. Two-sided Transversal. Input G: a finite group H: a subgroup of G Output T : a set of elements of G which is both a left transversal and a right transversal for H in G T := empty list R := list of pairs (x, S) in which the first component are H, H double-coset representatives and the second components are the corresponding stabilizers (S = H x ∩ H). For each (x, S) in R do

192

M. C. Slattery

R := right transversal for S in H −1 L := left transversal for S x in H n := |H : S| For i := 1 to n do r := R[i] ` := L[i] Append `xr to T End for End for

Acknowledgements I would like to thank the referees for their helpful suggestions. References Bosma, W., Cannon, J. J., Playoust, C. (1997). The Magma algebra system I: The user language. J. Symb. Comput., 24, 235–265. Butler, G. (1984). On computing double coset representatives in permutation groups. In Atkinson, M. ed., Proc. London Math. Soc. Symp. on Computational Group Theory, Durham, 1982, pp. 283–290. New York, Academic Press. Butler, G., Cannon, J. J. (1993). On Holt’s algorithm. J. Symb. Comput., 15, 229–233. Celler, F., Neub¨ user, J., Wright, C. R. B. (1990). Some remarks on the computation of complements and normalizers in soluble groups. Acta Appl. Math., 21, 57–76. Conlon, S. B. (1990). Computing modular and projective character degrees of soluble groups. J. Symb. Comput., 9, 551–570. Conway, J. H. (1984). An algorithm for double coset enumeration? In Atkinson, M. ed., Proc. London Math. Soc. Symp. on Computational Group Theory, Durham, 1982, pp. 33–37. New York, Academic Press. Gilman, R. (1982). Enumeration of double cosets. J. Pure Appl. Algebra, 26, 183–188. Glasby, S., Howlett, R. (1992). Extraspecial towers and Weil representations. J. Algebra, 151, 236–260. Glasby, S., Slattery, M. (1990). Computing intersections and normalizers in soluble groups. J. Symb. Comput., 9, 637–651. Hall, P. (1935). On representatives of subsets. J. London Math. Soc., 10, 26–30. Holt, D. (1984). Calculation of the Schur multiplier of a permutation group. In Atkinson, M. ed., Proc. London Math. Soc. Symp. on Computational Group Theory, Durham, 1982, pp. 307–320. New York, Academic Press. Laue, R. (1982). Computing double coset representatives for the generation of solvable groups. In Calmet, J. ed., Computer Algebra, pp. 65–70. Berlin, Springer Verlag. Laue, R. (1994). Construction of groups and the constructive approach to group actions. In Lulek, T., Florek, W., Walcerz, S. eds, Proc. Symmetry & Structural Properties of Condensed Matter, Zajaczkowo, pp. 404–416. Singapore, World Scientific. Laue, R., Neub¨ user, J., Schoenwaelder, U. (1984). Algorithms for finite soluble groups and the SOGOS system. In Atkinson, M. ed., Proc. London Math. Soc. Symp. on Computational Group Theory, Durham, 1982, pp. 105–135. New York, Academic Press. Linton, S. (1991). Double coset enumeration. J. Symb. Comput., 12, 415–426. Mecky, M., Neub¨ user, J. (1989). Some remarks on the computation of conjugacy classes of soluble groups. Bull. Aust. Math. Soc., 40, 281–292. Newman, M. F. (1976). Calculating presentations for certain kinds of quotient groups. In Jenks, R. D. ed., Proc. ACM Symp. Symbolic and Algebraic Computation, New York, pp. 2–8. New York, ACM. Niemeyer, A. (1994). A finite soluble quotient algorithm. J. Symb. Comput., 18, 541–561. Slattery, M. C. (1986). Computing character degrees in p-groups. J. Symb. Comput., 2, 51–58. Smith, M. J. (1994). Computing automorphisms of finite soluble groups. Ph.D. Thesis, Australian National University.

Originally Received 19 November 1997 Accepted 21 January 1999