• Aucun résultat trouvé

The Schreier–Todd–Coxeter–Sims Procedure

Dans le document This page intentionally left blank (Page 194-198)

Strong Generating Tests

8.1. The Schreier–Todd–Coxeter–Sims Procedure

One possibility for solving the problem (4.6) in Section 4.3 is acombination of coset enumeration and the Schreier generator approach. The idea was originally proposed in some unpublished notes of Sims in 1974 and in [Sims, 1978], and the algorithm was developed in [Leon, 1980b]. A brief summary of the method is in [Leon, 1980a].

We start with a crash course on coset enumeration from [Seress, 1997], copyright c1997 American Mathematical Society. Reprinted by Permission.

A very accessible and more thorough introduction to the subject can be found in [Neub¨user, 1982], and the monograph [Sims, 1994] contains a comprehensive treatment of finitely presented groups.

8.1.1. Coset Enumeration

LetG= E|Rbe apresentation for agroupG, whereE = {g1, . . . ,gn}is a finite set of generators, andR= {r1 =1, . . . ,rm =1}is aset of defining relations. Eachri is aword, using the generators inE and their inverses. The basic questions are to decide whetherGis finite and to determine whether a given word represents the identity ofG.

By the celebrated result of Novikov and Boone (cf. [Rotman, 1995, Chap.

12]), these questions areundecidable: They cannot be answered by a recursive algorithm. Nevertheless, because of the practical importance of the problem, considerable effort has been devoted to the development of methods for inves-tigating finitely presented groups.

One basic method is theTodd–Coxeter coset enumeration procedure. Given G = E|RandH = h1, . . . ,hk, whereHGand eachhjis aword in the generators ofGand their inverses, our goal is to compute the permutation representation ofGon the right cosets ofH.

We set up a coset table. This is amatrix M, where the rows are labeled by positive integers, representing cosets ofH, and the columns are labeled by the elements of ¯E := {g1, . . . ,gn,g1−1, . . . ,g−1n }. The entries (if defined) are positive integers:M(k,g)=l if we know thatkg =lfor the cosetsk,l and forgE. Originally, we have a 1¯ × |E¯|table with no entries, where 1 denotes the cosetH·1. As new cosets are defined, we add rows to the coset table.

Of course, we have to detect when two words, defining different rows of the table, actually belong to the same coset of H. To this end, for each relation ri =gi1gi2· · ·git, we also maintain arelation table. This is amatrix Mi, with rows labeled by the cosets 1,2, . . .as defined inMand columns labeled by the elements of the sequence (gi1,gi2, . . . ,git). The entryMi(k,gij), if defined, is

the number of the cosetkgi1· · ·gij. Initially, we haveMi(k,git)=kfor each row numberk, sinceri =1 inG. Whenever anew coset is defined, we fill all entries of the relation tables that we can.

Finally, for each generatorhj = gj1· · ·gjt of H, we maintain asubgroup table. This is amatrixSjwith only one row, corresponding to the cosetH·1, and columns labeled by the factors ofhj. The rule for filling entries is the same as for theMi; originally,Sj(1,gjt)=1, sinceH hj =H.

When the last entry is filled in a row of a relation table or a subgroup table, we also get an extra piece of informationkg=lfor some cosetsk,landgE.¯ This is called adeduction. If the entryM(k,g) is not yet defined then we fill the entriesM(k,g),M(l,g−1) and all possible entries in the relation and subgroup tables; in this way, we may get further deductions. IfM(k,g) is already defined butl := M(k,g) =l, then we realize thatl,ldenote the same coset of H.

This is called acoincidence. We replace all occurrences ofl,lby the smaller of these two numbers and fill the entries of the tables that we can. This may lead to further deductions and coincidences. The process stops when all entries of the coset table, the relation tables, and subgroup tables are filled.

We illustrate these ideas by enumerating G= g1,g2|g21=1,g22=1, (g1g2)3 =1 ∼=S3on the cosets of the subgroupH = g1g2g1g2of order 3.

Since both generators are involutions, we have ¯E =E. Also, we maintain only one relation table, corresponding to (g1g2)3=1; the other two relators tell us that, at the definition of new cosets, we should multiply previous cosets by g1,g2alternatingly. The display

CT g1 g2

1 2 3

2 1 4

3 1

4 2

RT g1 g2 g1 g2 g1 g2

1 2 4 3 1

2 1 3 4 2

3 4 2 1 3

4 3 1 2 4

ST g1 g2 g1 g2

1 2 4 3 1

(8.1)

shows the coset table CT, relation table RT, and subgroup table ST after the definition of the cosets 1 :=H,2 :=1g1,3 :=1g2,4 :=2g2. At that moment, the last entry (in the second column) of ST is filled and we get the deduction 4g1 =3, which also implies 3g1 =4. Then all entries in CT are known, and we can complete RT; this leads to the coincidences 1=4 and 2=3.

There are different strategies for coset enumeration. The version we pre-sented here, where we fill all consequences of new definitions, deductions, and

coincidences in all relation tables as soon as possible, is called the Felsch strat-egy. However, it is possible to postpone the filling of some relation tables: If we ensure that if a cosetkis defined then sooner or later we definekgfor all gE, and sooner or later we deduce all consequences of these definitions,¯ then it is guaranteed that the algorithm terminates if|G:H|<∞. This remark plays an important role in the theoretical justification of the algorithm described in Section 8.1.2, where we do not have a full presentation at the start of coset enumeration and, as the coset enumeration progresses, we add relators toR.

From a theoretical point of view, we can suppose that all relators are already present at the beginning; we just postpone the filling of entries in some relation tables.

There is no recursive function of|G:H| and the input length that would bound the number of cosets defined during the Todd–Coxeter procedure. It is easy to give presentations of the trivial group such that no commonly used variant of the Todd–Coxeter algorithm can handle them. This, and different coset enumeration strategies, are discussed, for example, in [Sims, 1994, Chap. 5].

Success mostly depends on the number of entries defined in the coset table rather than|G:H|. There are instances of successful enumeration with|G:H|>106.

8.1.2. Leon’s Algorithm

Now we are ready to present the strong generating test using coset enumeration.

Leon calls his procedure the Schreier–Todd–Coxeter–Sims (STCS) method.

The factorization of Schreier generators as products of coset representatives gives aset of defining relations (cf. Exercise 5.2). Hence, shifting the Schreier generators can be interpreted as checking that each relation holds. However, this relator set is usually highly redundant. The idea behind STCS is to find a smaller setRof relations and check only the elements ofR.

In addition to the notation of (4.6) in Section 4.3, suppose that|G:Gβ| =n and we already have a presentationE1|R1for H. The latter assumption is satisfied automatically as we process groups along a stabilizer chain.

The STCS Algorithm

We have to verify that|G : H| =nor find an element ofGβ\H. To this end, we perform acoset enumeration ofGon the cosets ofH. IfHhasncosets then H =Gβ. We work with apresentationE|R, whereE is aset of symbols containingE1and a symbol for each generator ofG. However, at the beginning we do not have relators forGand initializeR:=R1. During the procedure, we add relators toR. The algorithm verifies that for each relator added toR, the

product of the corresponding elements ofGis 1. LetEdenote the set of finite words over the alphabetE, and letϕ:EGbe the map that evaluates words inEinG.

We fix anumberm > n and we interrupt the coset enumeration whenm cosets are defined. There are three possibilities:

Case 1: The coset table closes withn cosets. In this case,|G:H| = nor, equivalently,H =Gβ.

Case 2: The coset table closes with more thanncosets. ThenH =Gβand an element ofGβ\Hcan be obtained by choosing two wordsw1, w2from the coset table that represent different cosets of H butβϕ(w1) = βϕ(w2). Thenϕ(w1w2−1)∈Gβ\H.

Case 3: The coset enumeration was interrupted after definingmcosets. Then, as in Case 2, there are wordsw1, w2in the coset table such thatβϕ(w1)= βϕ(w2). This means thatg :=ϕ(w1w−12 ) ∈ Gβ; we test whethergH.

If the answer is “no” then we have found a witness forGβ = H. If the answer is “yes” then we siftg as a word in H and obtain a wordt in the strong generators of H such that the product of permutations int is g. Letwdenote the word corresponding tot inE. We add the relator w1w21w−1=1 toRand perform the collapsew1=w2in the coset table.

Then we resume the coset enumeration.

Owing to the elusive nature of coset enumeration, it is hard to analyze what happens. The finiteness of the procedure can be ensured by a careful choice of the wordsw1, w2in Step 3. Namely, at each interruption of the coset enumeration, we build a breadth-first-search treeTthat contains the already defined cosets as vertices. The tree is built the same way as at orbit calculations (cf. Section 2.1.1).

The root is coset 1, corresponding toH. After theith levelLiis defined, letLi+1

consist of those cosetskthat do not occur on some already constructed level and were defined ask:=lgfor somelLi,gEE−1. This construction can be easily done using the (partial) coset table we have at the interruption.

Since there are m cosets, the depth of T is at mostm and each coset k is represented by awordwk of length at most m in EE−1. Also, for each vertexkofT, we computeβϕ(wk). Recall that we choose cosetsk1,k2such that βϕ(wk1) = βϕ(wk2) and add a relator of the formwk1w−1k2wtoR, wherewis a word inE1E11andwis determined uniquely bywk1 andwk2. Hence there are only finitely many possibilities to add a relator toRand so the procedure must terminate. In the implementation, whenever a cosetkis added toT, βϕ(wk) is computed immediately and the construction ofT can be abandoned as soon as we encounter two words withβϕ(wk1)=βϕ(wk2).

Of course, we need much more than finiteness of the procedure. Leon experi-mented extensively with the value of the parametermand the coset enumeration technique to be used. He chose the valuem=1.2nand developed a general-ization of one of the basic strategies for coset enumeration, the Haselgrove–

Leech–Trotter method. Note that ifm < 2n then Case 2 cannot occur, since

|G: H|>nmeans|Gβ: H| ≥2 and so|G:H| = |G:Gβ| · |Gβ:H| ≥2n.

When the entire procedure terminates in Case 1, we have a presentation E|Rfor agroup ¯Gthat has a subgroup ¯H of indexn, a ndG satisfies this presentation. Hence there is a homomorphismψ: ¯GGsuch thatψ( ¯H)= H. However, since relators for H are a subset of R, we must have ¯H ∼= H,ker(ψ)=1, and ¯G ∼=G. Hence we obtain a presentation forG, which is usually much shorter than the one described in Exercise 5.2.

The STCS algorithm is used inMagma.

Dans le document This page intentionally left blank (Page 194-198)