Polynomial-time normalizers

For an integer constant d > 0 , let Γ d denote the class of ﬁnite groups all of whose nonabelian composition factors lie in S d ; in particular, Γ d includes all solvable groups. Motivated by applications to graph-isomorphism testing, there has been extensive study of the complexity of computation for permutation groups in this class. In particular, the problems of ﬁnding set stabilizers, intersections and centralizers have all been shown to be polynomial-time computable. A notable open issue for the class Γ d has been the question of whether normalizers can be found in polynomial time. We resolve this question in the afﬁrmative. We prove that, given permutation groups G, H ≤ Sym(Ω) such that G ∈ Γ d , the normalizer of H in G can be found in polynomial time. Among other new procedures, our method includes a key subroutine to solve the problem of ﬁnding stabilizers of subspaces in linear representations of permutation groups in Γ d .


Introduction
While algebraic methods are surely of core interest in computational complexity, a particular attraction of group-theoretic computation is its central role in the problem of testing graph isomorphism (ISO).Though rarely difficult in practice, ISO is not known to be solvable in polynomial time.Arguably, the most productive approaches to ISO have exploited its relation to a class of permutation-group problems usually represented by the following.
As customary, we assume that a permutation group is input or output via a generating set S of permutations on a set Ω.The input length is thus |S||Ω|.In fact, Sims's classical method [50] can be used to reduce the sizes of generating sets to O(|Ω|) (see, e.g., Jerrum [23], Knuth [28]).Hence, polynomial time for permutation groups is generally phrased as time polynomial in |Ω|.
Up to polynomial time, Problems 1-3 are equivalent, each is reducible to Problem 4, and ISO is reducible to any of the four problems.So, it is not surprising that, despite continued improvements in practical implementations (notably, in the computer algebra systems GAP [18] and MAGMA [9]), none of these problems is known to be solvable in polynomial time.On the other hand, the compelling evidence that ISO is unlikely to be NP-complete (see: Goldreich, Micali, and Wigderson [20, §2]; Schöning [48]) has been extended to decision versions of Problems 1-4 by Babai and Moran [8, §5].This has motivated extensive investigation into polynomial-time computability for permutation-group problems in general but especially for Problems 1-4 (see [25], [35] for surveys).
Aside from the overall reducibility between these four problems, solutions geared to special classes of groups have facilitated polynomial-time algorithms for significant instances of ISO.For example, the solution to Problem 1 just for 2-groups yielded the first (and still the only known) polynomial-time approach to testing isomorphism of trivalent graphs (see [32, §2]).Subsequently, a polynomial-time set-stabilizer algorithm for the class of finite groups all of whose nonabelian composition factors are bounded (called the class Γ d as defined below) yielded ISO in polynomial time for graphs of bounded valence (see Luks [32]) or bounded genus (see Miller [41]).
The polynomial-time solution to Problem 1 for G ∈ Γ d led immediately to similar success with Problems 2, 3 for G ∈ Γ d .However, the normalizer question for G ∈ Γ d has remained open (see [35,Question 19]).The main result of this paper is its resolution.
The problem of finding normalizers is, of course, of both practical and theoretical interest.In practice, most implementations include backtrack search at some level and thereby have some potential to cause exponential worst-case running time (see [9], [18], [30], [53]).In fact, this exponential behavior has been observed even for instances of nilpotent groups (see [38], [39]).
Nevertheless, it was observed by Kantor and Luks [25, §10] that normalizers in nilpotent groups can be computed in polynomial time.Subsequently, a redesigned method of Luks, Rákóczi, and Wright [38] for nilpotent groups improved the polynomial timing to O(|Ω| 4 ).
In this paper, we consider the following class.
Definition For an integer d > 0, let Γ d denote the class of finite groups all of whose nonabelian composition factors are isomorphic to subgroups of S d .
Manifestly, Γ d includes all solvable groups.As indicated, the class arises naturally in significant instances of ISO.It has also become an important subject of investigation in asymptotic group theory in its own right (see, e.g., [6], [45], [46]).
The key property that resolved Problems 1-3 for Γ d groups was the following important result due to Babai, Cameron and Pálfy: there is a function f (d) such that, if a subgroup G of S n is primitive with G ∈ Γ d , then |G| = O(n f (d) ) (see [6,Theorem 1.1]).(In fact, [6] deals with a more general class of groups; for more on this, see the remark following Theorem 3.8.)This enabled a polynomial-time divide-and-conquer method that exploits orbits and blocks.As it was the convention used in [32] and other previous studies on computation involving Γ d groups [7], [25], [35], [43], throughout this paper, we regard d as a fixed constant and thus complexity of the form O(|Ω| g (d) ), where g(d) is a function depending only on d, as polynomial time.
The aforementioned results of [32] concerning Problems 2, 3 assert that, given G, H ≤ Sym(Ω) such that G ∈ Γ d , with no restriction on H, one can find G ∩ H and C G (H) in polynomial time.The gap in the theory has been the question of whether, given such G, H ≤ Sym(Ω) with G ∈ Γ d , one can find N G (H) in polynomial time.As a partial answer to this question, the authors announced in [36] that one can find N G (H) in polynomial time if H ≤ G.We now completely resolve this question to fill the gap.The principal result of this paper is Theorem 1.1 Given permutation groups G, H ≤ Sym(Ω) such that G ∈ Γ d , one can find the normalizer N G (H) in polynomial time.
Given Theorem 1.1, via a standard reduction, we also derive a polynomial-time solution to the equivalent decision problem.
Theorem 1.2 Given permutation groups G, H 1 , H 2 ≤ Sym(Ω) such that G ∈ Γ d , in polynomial time one can determine whether there is an element g ∈ G such that H g 1 = H 2 and, if so, exhibit such g.In [25], Kantor and Luks hypothesized, in a quotient-group thesis, namely, that problems that are in polynomial time for permutation groups remain in polynomial time when applied to quotients of permutation groups. (i) In the spirit of this thesis, we extend these results to quotient groups via a method inspired by the Frattini argument (see [25, §7]).
Theorem 1.3 Given permutation groups G, K ≤ Sym(Ω) such that K is a normal subgroup of G, and G/K ∈ Γ d , in polynomial time one can solve the following problems.
(i) Given a permutation group H ≤ Sym(Ω) such that K is a normal subgroup of H, find the normalizer N G (H).
(ii) Given permutation groups H 1 , H 2 ≤ Sym(Ω) such that K is a normal subgroup of both H 1 and H 2 , determine whether there is an element g ∈ G such that H g 1 = H 2 and, if so, exhibit such g.
The overall algorithm for Theorem 1.1 utilizes the G-chief series of H G and, though reorganized here for clarity of our concerns, is thereby in the spirit of earlier normalizer computations (see, e.g., [14], [19], [39]).Thus, we reduce to the case where, for each chief factor L/K, H covers (HL = HK) or avoids (H ∩ L = H ∩ K) .We focus then on instances M > L > K in the chief series such that H covers M/L but avoids L/K and seek the normalizer of (H ∩ M )K/K in the action of G on M/K.For both these phases, we appeal, for polynomial time, to special properties of Γ d .We utilize algorithms for each of Problems 1-3, but extensions of these are required as well.
(i) Assuming, of course, that the problem makes sense when stated for quotients, e.g., the problem of finding set stabilizers would not seem to have a meaningful extension.
We recall that the divide-and-conquer method that resolved Problems 1-3 exploits orbits and, in the transitive case, uses the primitive action on a block system to break the group into a 'small' number of cosets of the intransitive stabilizer of the blocks.This method is routinely used in our normalizer algorithm as well.But we further develop an analogue of this divide-and-conquer paradigm for matrixgroup computation, since the normalizer problem even for permutation groups naturally leads to instances of finding stabilizers of subspaces in certain matrix groups.Whereas the permutation-group divide-andconquer paradigm utilized orbits and imprimitivity blocks, the matrix-group analog, first introduced in [34, §6], makes use of invariant subspaces and systems of imprimitivity (cf. the computational matrix group project [29] that uses Aschbacher's classification [1]).
Using this matrix-group divide-and-conquer paradigm, we prove in particular the following result, which is required in our proof of Theorem 1.1 but may also be of independent interest (cf.[35, §10]).
Let V be an n-dimensional vector space over a finite field k of order q e for some prime q.
Theorem 1.4 Given a permutation group G ≤ Sym(Ω) such that G ∈ Γ d and a representation φ : G → GL(V ), one can solve the following problems in time polynomial in |Ω|, n, q and e.
(i) Given a vector v ∈ V , find the vector stabilizer C G (v).
(ii) Given a subspace W ≤ V , find the subspace stabilizer N G (W ).
In this theorem, the characteristic q of the underlying field k is involved in the running time.This parametrization enables us to call Rónyai's deterministic algorithm for finding invariant subspaces from [47, §5] (while, if we appeal to his Las Vegas version instead, we can accomplish the same task in Las Vegas polynomial time in |Ω|, n, log q and e, replacing q by log q).For our applications to the problem of finding normalizers in permutation groups, all of the parameters n, q and e of V will be polynomially bounded in |Ω|.
We remark that, more generally, Theorem 1.4 and its underlying divide-and-conquer machinery, which will be presented in §5, also apply to manageable groups, i.e., Γ d groups with polynomial-time procedures for constructive membership-testing (see Luks [34] and Miyazaki [43]).Indeed, §5 fills necessary details on the divide-and-conquer machinery for solvable matrix groups that were only outlined in [34, §6] (in particular, §5.2 clarifies an important reduction in [34, §6.2] and [43, §IV.2]).While we will often reference and employ other basic results proven in [34] in the present paper, such references will be limited to those in the earlier sections, namely, [34, § §1-4].
In a future paper [37], the authors hope to elaborate on some analogues of the results herein for matrix groups in Γ d .
Finally, we emphasize that our goal is a clear resolution of the polynomial-time issue.With this in mind, in several places, we have striven to simplify the exposition at the expense of both low-level complexity and practical efficiency.We specifically reserve the latter concern for future investigation wherein it will be coupled with more general techniques for implementing polynomial-time centralizers and normalizers in classes of matrix groups (see [37], [43]).
We will appeal to the Classification of the Finite Simple Groups (CFSG) through several subroutines to prove Theorems 1.1-1.4.We will mark key results that depend on CFSG by "(CFSG)".

Organization of the paper
In §2, we will review basic definitions and notation.In §3, we will recall elements of the known polynomial-time library for permutation groups, and we will further expand the library to include several subroutines needed for the normalizer algorithm.In §4, we will describe the overall architecture of the main algorithm and prove Theorems 1.1-1.3.Then, in §5, we will describe in detail the key subroutine for finding stabilizers of vectors and subspaces to prove Theorem 1.4.
The development requires statements of a large number of problems; with the exception of Problems 1-4 for general groups, all of these are shown to be in polynomial time.To facilitate searches for cited subroutines, we have numbered the problems and, where necessary, followed the problem statements with propositions (or lemmas or corollaries) that establish polynomial-time complexity.

Preliminaries
For the reader's convenience, we first review some basic definitions and notation of permutation and linear representations.We also summarize some standard conventions for computing with groups.Our general reference on finite group theory is [2].

Permutation representations
We denote by Sym(Ω) the symmetric group of all permutations on an n-element set Ω or by S n if the underlying set does not require explication.Throughout this subsection, let a group G act on such a set Ω via a homomorphism π : G → Sym(Ω).We call n the degree of π; if G ≤ Sym(Ω), where π is regarded as the natural injection, then we call n the degree of G.
For g ∈ G, we denote the images of α ∈ Ω and ∆ ⊆ Ω under π(g) by α g and ∆ g , respectively.The If Ω itself forms a single orbit, then we call G (as well as π) transitive.
For G-invariant ∆ ⊆ Ω (that is, ∆ g = ∆ for all g ∈ G), we call the restriction of π to ∆, denoted by π| ∆ : G → Sym(∆), the constituent of π on ∆ and its image G ∆ := π| ∆ (G) the constituent of G on ∆; if ∆ is an orbit, then we call both π| ∆ and G ∆ transitive constituents.
Assume that G is transitive on Ω.A subset ∆ ⊆ Ω is a block if, for each g ∈ G, either ∆ g = ∆ or ∆ g ∩ ∆ = ∅.We call the set of all images of a block, forming a G-invariant partition of Ω, a system of blocks.If G has no system of blocks other than the partition into singletons and the partition with Ω itself, then we call G (as well as π) primitive.

Linear representations
Let k be a field and V be an n-dimensional vector space over k.We denote by End k (V ) the algebra of klinear endomorphisms of V and by GL(V ) = GL(V, k) the general linear group of all units of End k (V ).Throughout this subsection, let a group G act on V via a homomorphism φ : G → GL(V ).We say V is a kG-module.We call n the degree of φ over k; if G ≤ GL(V ), where φ is regarded as the natural injection, then we call n the degree of G over k.Since GL(V ) ≤ Sym(V ), the notation of permutation representations applies to G.
A subspace W of V is a kG-submodule if W g = W for all g ∈ G.If the only kG-submodules are 0 and V , then we call V (as well as G and φ) irreducible.If V is a direct sum of irreducible kG-submodules, then we call V (as well as G and φ) completely reducible.
Suppose that V is completely reducible.For an irreducible kG-submodule W of V , the kG-homogeneous component of V determined by W is the kG-submodule generated by all irreducible kG-submodules of V that are kG-isomorphic to W (here, for kG-modules X, Y , a kG-homomorphism is a k-linear map ψ : X → Y commuting with the actions of G in the sense that ψ(x g ) = ψ(x) g for all x ∈ X and g ∈ G).The (canonical) isotypic decomposition of V is the direct sum of its kG-homogeneous components.If V itself forms one kG-homogeneous component, then we call V (as well as G and φ) kG-homogeneous.
. ., V m as a transitive permutation group of degree m under φ, then we call V := {V 1 , . . ., V m } a system of imprimitivity.If the induced permutation representation of G on V is primitive, then we call V a minimal system of imprimitivity.If V is an irreducible kG-module but has no system of imprimitivity, then we call V (as well as G and φ) primitive.
Let f : G → V be a function.If f (gh) = f (g) h + f (h) for all g, h ∈ G, then we call f a 1-cocycle.This also means that f is a 1-cocycle if and only if the extension of φ to An element e of End k (V ) is unipotent if all characteristic values of e are equal to

Computational conventions
We summarize some standard computational conventions in the generality of abstract finite groups equipped with polynomial-time procedures to compute products and inverses of elements (for the related abstract notion of black-box groups, see, e.g., [49,Chapter 2]).
We again emphasize that, for both input and output, groups ares specified by generators, unless stated otherwise.In this subsection, assume that we are given a group G = S .
All algorithms identifying group elements are constructive and computed via the following notion of a straight-line program: For g ∈ G, a straight-line program to reach g from S is a sequence (g 1 , . . ., g ) such that g = g and, for i = 1, . . ., − 1, one of the following holds: for some j < i, or g i = g j g k for some j, k < i.
Consider a homomorphism π : G → M .In computational situations, π is specified by the image π(s) of each s ∈ S, and the image π(g) of g ∈ G is computed via a straight-line program to reach g from S. For a representation φ : G → GL(V ), where V is a finite dimensional vector space over a field k, a 1-cocycle f : G → V is specified by the image f (s) of each s ∈ S. The image f (g) of g ∈ G is then computed via (f (g), 0) := (0, 1) φ f (g) − (0, 1), where (0, 1) φ f (g) is evaluated using a straight-line program to reach g from S.
Consider a coset Gx.In computational situations, Gx is specified by a pair consisting of generators for G and any coset representative.A subcoset of Gx is a subset of Gx that is either empty or a coset of a subgroup of G. Certain subcosets are defined by predicates that can be easily evaluated (for example, consider, for G ≤ Sym(Ω) and ∆ 1 , ∆ 2 ⊆ Ω, the subset transporter In general, for a subcoset Hy ⊆ Gx (using the notation Hy even if it may be empty), when generators for H and a coset representative are not necessarily available at hand, if we are given a polynomial-time procedure to determine, for any given z ∈ Gx, whether z ∈ Hy, then we say Hy is (polynomial-time) recognizable.
The length of a subgroup series is often essential to polynomial running time of algorithms.In S n , by Lagrange's theorem, a series of subgroups has length at most log n! = O(n log n), and this bound will be sufficient for our purposes (though, for optimum O(n) bounds, see [5], [12]).

Polynomial-time library
In § §3.1-3.4,we will review relevant portions of the known polynomial-time library for permutation groups.In § §3.5-3.7,we will introduce some new additional tools.For further details on § §3.1-3.4,we refer to [25], [35].
(iii) Given a recognizable subgroup H of G such that |G : H| = O(|Ω| c ) for a constant c > 0 (specified by a polynomial-time procedure to test, for given g ∈ G, whether g ∈ H), find generators for H and a complete set of coset representatives for H in G.
(v) Given x ∈ Sym(Ω), test whether x ∈ G and, if so, exhibit a straight-line program to reach x from S.
(vi) Given a homomorphism π : G → Sym(Ω ) (defined on generators), (a) find Ker π, (vii) Find the derived series of G and test the solvability of G.
) find G ∩ N , (c) for given x ∈ GN , find g ∈ G and n ∈ N such that x = gn.
(ix) Find a composition series of G.
(x) Find a chief series of G.
(xi) (CFSG) Given a prime p dividing |G|, find a Sylow p-subgroup of G; furthermore, given such subgroups P 1 and P 2 of G, find g ∈ G such that P g 1 = P 2 . 2 It is well-known that Problems (i), (ii) can be solved easily by elementary combinatorial methods (see, e.g., [35, 3.1, 3.2]).Problems (iii)-(v) were first shown to be in polynomial time in [17] using a variant of Sims's method [50].
For Problem (vi)(a), under the induced action φ : G → Sym(Ω ∪ Ω ), it suffices to find the pointwise stabilizer of Ω in φ(G) via Problem (iii) (see also [33 Problem (vii) is an easy extension of Problem (v) (see, e.g., [35, 3.12]), and Problem (viii)(b) is an extension of Problem (iii) (see, e.g., [35,Proposition 7.1]).To solve Problem (viii)(c), given N = T , it suffices to form a straight-line program P to reach x from S ∪ T , for a factor g of x may be obtained by substituting in P each occurrence of t ∈ T by 1 ∈ Sym(Ω).
Polynomial-time solutions to Problem (xi) are due to the seminal work of Kantor [24] and extensively use CFSG.

The quotient-group thesis
As suggested in the quotient-group thesis in [25], all known problems that are in polynomial time for permutation groups remain in polynomial time when applied to quotients of permutation groups.For our purposes, we essentially require the ability to solve in quotient groups only the most fundamental Problems (iv)-(viii) of Theorem 3.1.
Throughout this paper, a quotient group G := G/K, where K G ≤ Sym(Ω), is specified by a pair consisting of generating sets for G and K, and an element g ∈ G is specified by a coset representative g ∈ G such that g = Kg.
In the quotient-group version of Problem (v), we are given an element and a subgroup of a quotient group in Sym(Ω).Likewise, in that of Problem (vi), we are given a homomorphism from a quotient group in Sym(Ω) to a quotient group in Sym(Ω ).

Centralizers and normalizers in Sym(Ω)
In the following, we discuss some polynomial-time tools for finding centralizers and special instances of normalizers in Sym(Ω).
Next, we consider

Problem 6
Given: E ≤ Sym(Ω) such that E is elementary abelian and isomorphic to a direct product of its transitive constituents.
Notice now that, if we regard each E ∆i as a vector space, then each N i /C i ∼ = GL(E ∆i ).With this correspondence in hand, we construct, for i = 1, . . ., , a small set (e.g., of size 2) T i for which N i = T i , C i (here, we construct T i only, though C i and thus N i are computable in polynomial time).
It now remains to find, for each pair of orbits ∆ i and ∆ j of the same length, a transposition x ij ∈ N Sym(Ω) (E) that switches ∆ i and ∆ j , leaving the remaining points of Ω fixed.Indeed, C Sym(Ω) (E) includes such transpositions since, for each such pair ∆ i and ∆ j , the regular E-action on ∆ i is equivalent to that on ∆ j .Thus, we return T 1 , . . ., T , Remark Problem 6 is not known to be in polynomial time if we remove the assumption that G is isomorphic to a direct product of its transitive constituents.In fact, without such an assumption, ISO is reducible to this problem (see [35, §10]).
Via Problem 5, the following two additional problems are also in polynomial time.

Problem 7
Instance: G, H ≤ Sym(Ω) and an isomorphism π : G → ∼ H (defined on generators of G).Question: Is there x ∈ Sym(Ω) such that π(g) = g x for all g ∈ G? If so, exhibit such x.
Lemma 3.5 Problem 7 is in polynomial time.
To see this, let
Lemma 3.6 Problem 8 is in polynomial time.
Proof: We first find, via Problem 7, x ∈ Sym(Ω) such that g x = g σ for all g ∈ G.We then test whether x ∈ GC Sym(Ω) (G), and if so, using Theorem 3.

Tools for Γ d
In the class Γ d , there are polynomial-time solutions to a number of permutation-group problems that resemble ISO.The following results from [32] concerning Problems 1-3 are particularly well-known (cf.[35,Corollary 6.4]).
Theorem 3.7 (Luks) Given G ≤ Sym(Ω) such that G ∈ Γ d , in polynomial time one can solve the following problems.
In fact, Theorem 3.7 was first proved in [32] under the stronger assumption that all composition factors, both abelian and nonabelian, were in S d .With a view toward extending the applicability of the methods, Babai, Cameron and Pálfy subsequently derived the following important result in [6, Theorem 1.1].

Theorem 3.8 (Babai-Cameron
Remark (i) An earlier version of Theorem 3.8 was also proved in [32] under the assumption that all composition factors were in S d , and this sufficed for the graph-isomorphism application.In fact, [6] weakened the restriction on composition factors even further than our assumption in Theorem 3.8; specifically, [6] deals with A d -free groups, in which no section (i.e., quotient of any subgroup) is isomorphic to A d (cf.[46]).However, we require the present definition of Γ d to derive another crucial polynomial bound in linear groups in Proposition 5.7.Our definition of Γ d is also the same as that of [35].
(ii) The function f (d) has been investigated further (see [7]).By [45], it was improved from O(d log d) to O(d) for A d -free groups (cf.[31]).Divide and conquer using orbits and blocks.The divide-andconquer paradigm that motivated Theorem 3.8 applies to problems that ask for construction of a recognizable subcoset of a given coset Gx in X ≤ Sym(Ω), where G ∈ Γ d , equipped with a representation X → Sym(Σ) and a G-invariant subset Φ ⊆ Σ such that the following hold: problem is recursively reducible to induced problems on Φ 1 and Φ 2 in time polynomial in |Ω| and |Σ|.
(2) Base property.If Φ is a singleton, then the problem is solvable in time polynomial in |Ω| and |Σ|.
We illustrate this paradigm by recalling the proof of Theorem 3.7.The essential steps are concentrated in the method for Problem 9 Given: G, H ≤ Sym(Ω) such that G ∈ Γ d and x ∈ Sym(Ω).Find: Gx ∩ H. Proposition 3.9 Problem 9 is in polynomial time.
Let p 1 denote the first-coordinate projection map of Sym(Ω) × Sym(Ω).For Γ ⊆ Ω, we write If not empty, C(Gx, Φ) is a coset of Stab G (Diag(Φ, Ω)).We now solve this problem under the divideand-conquer paradigm.We perform two levels of divide-and-conquer maneuvers under the G-action on Φ via p 1 , involving the decomposition of Φ into orbits and, in the transitive case, the decompositions of Φ into blocks and G into cosets.In particular, we consider the following three (two recursive and one base) cases.

Intransitive case If G acts intransitively on Φ, then we first find proper
, it is sufficient to solve recursively for, if not empty, Hy := C(Gx, Φ 1 ) and then C(Hy, Φ 2 ).
Transitive case If G acts transitively on Φ, where |Φ| > 1, then we find a minimal block system Φ := {Φ 1 , . . ., Φ m } of Φ and decompose G into cosets of the kernel K of the G-action on Φ, say, G = Ky 1 ∪ • • • ∪ Ky for some y 1 , . . ., y ∈ G. Since K acts intransitively on Φ, the problem is reduced to instances of the intransitive case of finding C(Ky 1 x, Φ), . . ., C(Ky x, Φ).Of solutions to these instances, nonempty ones are cosets Lz 1 , . . ., Lz k of the same subgroup L := Stab K (Diag(Φ, Ω)).These cosets may easily be pasted together to form a single coset of Base case The above recursion bottoms out when G acts primitively on Φ (i.e., when Φ 1 , . . ., Φ m become singletons).If Φ = {α} and x = (x 1 , x 2 ), we return either Timing analysis In the intransitive case, we solve sequentially on Φ 1 and Φ 2 , where In the transitive case, notice that, by Theorem 3.8, the kernel of the G-action on a minimal block system has polynomial index in G; that is, = O(m c ) for a constant c > 0. Therefore, the original problem on Φ is reduced to O(m c+1 ) problems on subsets of size |Φ|/m.By the results of §3.1, these reductions are in polynomial time.Hence, this algorithm runs in polynomial time. 2 Via Problem 9, we can now solve Problem 1 in Γ d .In fact, we can also solve

We now complete
Proof of Theorem 3.7: The assertions concerning Problems (i), (ii) are immediate from Proposition 3.9 and Corollary 3.10, so it remains to solve Problem (iii).For this, note that that is, via Problems 5, 9, we have a polynomial-time solution to Problem (iii). 2 Remark See [32, §3] for an illustration of the paradigm directly applied to Theorem 3.7(i).
Let X = (Ω, E) denote a hypergraph consisting of a set Ω and a collection E ⊆ 2 Ω ; here, we regard elements of Ω vertices and members of E hyperedges.For G ≤ Sym(Ω), under the induced action of G on 2 Ω , we consider the problem of finding the automorphism group of X in G.

Problem 11
The following result is due to the work of Miller [42].We include a proof in our notation as an additional illustration of the divide-and-conquer paradigm.Lemma 3.11 (Miller) Problem 11 is in polynomial time.
To accommodate recursion, we consider the following generalization.
To solve this problem, we apply the divide-and-conquer paradigm using the action of G on Φ, but the intransitive case requires some additional work: First, given proper If not empty, the result of this recursion is a coset Hy, where Here, observe that, for each ∆ ∈ E, each element of Hy need not map Φ 1 ∩ ∆ and Φ 2 ∩ ∆ into the same member of E. Thus, we perform the following to find C(Gx, Φ, E).We form In the base case in which Φ is a singleton, we simply compare E Φ against E Φ x and return either Gx or ∅. 2 We need the following extension of Problem 11.

Tools for linear representations
In this subsection, we consider several fundamental problems whose inputs are permutation groups equipped with linear representations.Throughout this subsection, we assume that V is an n-dimensional vector space over a finite field k of order q e for some prime q.
We first begin with
In [47], Rónyai considered problems in associative algebras and proved, as a byproduct of his main result, Theorem 3.13 (Rónyai) Problem 13 is solvable in time polynomial in |Ω|, n, q and e (where V ∼ = F n q e ). 2 Remark This theorem is used in finding a chief series of G ≤ Sym(Ω) in polynomial time (see, e.g., [25, §4]; see also Theorem 3.1(x)).As in the chief-series application, for any vector space V arising in the present work, all of the parameters n, q and e of V are polynomially bounded in |Ω|.It is thus sufficient to achieve running time of linear-representation problems such as Problem 13 in time polynomial in |Ω|, n, q and e (see also the remark following Theorem 5.1).Note, however, that log q suffices in the timings for Problems 14, 16, and we expect that these problems will have other applications.
In general, Brooksbank and Luks [10] have shown that testing isomorphism of modules over an arbitrary field requires only a polynomial number of field operations (see also Chistov, Ivanyos and Karpinski [15], which suffices for our application over finite fields); in particular, we have Lemma 3.14 Problem 14 is solvable in time polynomial in |Ω|, n, log q and e (where With Theorem 3.13 and Lemma 3.14 at hand, we next consider
Find: a direct sum of the kN -homogeneous components whose summands form a system of imprimitivity for G or a report that V is kN -homogeneous.
Lemma 3.15 Problem 15 is solvable in time polynomial in |Ω|, n, q and e (where V ∼ = F n q e ).
We now appeal to Lemma 3.14 to partition V into isomorphism classes, say, V 1 , . . ., V m ; that is, we put W gi and W gj into the same class if they are kN -isomorphic.Unless m = 1, for each class V i , we add all its members to form a kN -homogeneous component and G permutes the summands as a system of imprimitivity.If there is only one isomorphism class, then we report that V is kN -homogeneous. 2 Now, we consider
As far as we know, this problem cannot be solved efficiently via a sequential stabilization of a basis of V (for comparison, we note that Problem 18 hypothesizes that G ∈ Γ d ).Nevertheless, in [25, §4], with the help of Kantor's Sylow machinery and thus CFSG (Theorem 3.1(xi)), the problem was asserted to be in polynomial time; since the proof was omitted in [25] due to space limitations, we include it here.Lemma 3.16 (CFSG) Problem 16 is solvable in time polynomial in |Ω|, n, log q and e (where V ∼ = F n q e ).
Proof: We reduce a given instance to a p-group case.For each prime p dividing |G|, we appeal to Theorem 3.1(xi) to find a single P ∈ Syl p (G) and collect them in a common set P. Since the kernel of φ is generated by the kernels of φ| P for all P ∈ P, it suffices to solve the problem for each P ∈ P.
The remainder of the proof is in [34, §4.6], which in fact resolves, more generally, the problem for a solvable linear group G assuming the primes in |G| are polynomially bounded. 2 , then the problem can be solved without invoking CFSG by using the method of Kantor and Taylor from [26], in place of Theorem 3.1(xi), to find Sylow subgroups.
(ii) We also note that, in general, if G and H are manageable groups (in the sense of [34]), i.e., groups with polynomial-time procedures for constructive membership-testing, for any homomorphism π : G → H, finding Ker π and π −1 (M ) for given M ≤ π(G) is in polynomial time: To find Ker π, we form a presentation X|R of π(G) and pull back R F (X) .To find π −1 (M ) for given M = T , it suffices to find U ⊆ G such that π(U ) = T and return U ∪ Ker π = π −1 (M ).For more on this, see [34, §4] (cf.Theorem 3.1(vi)).Now, in general, for N G ≤ GL(V ), notice that g ∈ G centralizes N if and only if g fixes all elements of the linear span k[N ] in End k (V ).So, Problem 16 is used to solve
We next consider problems that resemble ISO in linear representations.As before, we restrict inputs to the class Γ d to seek polynomial-time solutions.The following two problems are of our primary interest.

Problem 18
Given: To accommodate recursion, we first reformulate Problems 18, 19 to seek subcosets rather than subgroups.An equivalent subcoset-version of Problem 18 is naturally In fact, Problem 20 is also equivalent to Conversely, to reduce Problem 21 to Problem 20, for given f ∈ Z 1 (G, V ), we consider the extension of φ to For Problem 19, we consider the following reformulation.

Problem 22
Given: We will devote §5 to the proof of Proposition 3.17 Problems 18-22 are solvable in time polynomial in |Ω|, n, q and e (where V ∼ = F n q e ).To prove Proposition 3.17, we will first solve Problem 21 since it lends itself easily to a divide-andconquer paradigm.As a corollary, we will immediately obtain solutions to Problems 18, 20.We will then solve Problems 19, 22 via Problem 20.

Automorphisms of characteristically simple groups
In this subsection, we will develop polynomial-time tools for constructing representations of the automorphism groups of direct products of isomorphic nonabelian simple groups.
We first recall some basic facts concerning permutation representations of group extensions.Suppose that a group H is an extension of a normal subgroup N by a group K.If N acts faithfully on a set Ω, then it induces a faithful action of H on Ω × K in the following way: Consider the canonical homomorphism * : H → K whose kernel is N and fix a lifting of *, say, λ : K → H (i.e., λ(k) * = k for k ∈ K).For each h ∈ H, we define a function We now consider the following general problem.
More specifically, for G = S , we assume that σ ∈ Σ is defined on each s ∈ S and that π performs the following: given σ ∈ Aut(G) defined on each s ∈ S, determine π(σ) in Sym(Ω ).Proof: We construct a faithful action of Aut(G) on Ω × Out(G) by applying the preceding method for general group extensions to 'H' = Aut(G), 'N ' = Inn(G) and 'K' = Out(G).For this, it suffices to describe how to construct (i) a faithful action of Inn(G) on Ω and (ii) a multiplication table of Out(G), the canonical homomorphism * : Aut(G) → Out(G) and a lifting λ : Out(G) → Aut(G) in the desired time.
We recall that, for G = S , given σ, τ ∈ Aut(G) and s ∈ S, we can evaluate s στ = (s σ ) τ by means of a straightline program from S to s σ (cf.§2.3).We also recall that Problem 8, the problem of determining, for any given σ ∈ Aut(G), whether σ ∈ Inn(G), is in polynomial time.
For a faithful action of Inn(G) on Ω, since Z(G) = 1, it suffices to construct an isomorphism φ : Inn(G) → ∼ G.For this, given σ ∈ Inn(G), we use Problem 8 to determine a ∈ G such that g a = g σ for all g ∈ G and set φ(σ) := a.
For (ii), from Σ, again via Problem 8, we generate a complete set of coset representatives R for Inn(G) in Aut(G) and then construct a multiplication table for Out(G) indexed by elements a ρ , ρ ∈ R. To construct * : Aut(G) → Out(G), for each σ ∈ Σ, we find ρ ∈ R such that σρ −1 ∈ Inn(G) and define σ * := a ρ .To construct a lifting of *, we set λ(a ρ ) := ρ for a ρ ∈ Out(G). 2 The preceding technique will be used when dealing with nonabelian simple groups.For this, we appeal to the following fact from CFSG: For every nonabelian simple group T , we have |Out(T )| = O(log |T |) (see, e.g., [27]).Furthermore, if T is given as a permutation group, then, by [24], in polynomial time, one can find the "natural" representation of T , in which form the elements of Out(T ) are easily listed: For the alternating groups A n with n ≥ 5, except for n = 6, it is an elementary fact that Aut(A n ) = S n and thus |Out(A n )| = 2 (see, e.g., [52, I, 3.2.17]).For the simple groups of Lie type, the automorphisms adhere to a neatly-formulated pattern (more specifically, every automorphism is the product of an inner, a "diagonal", a "graph" and a "field" automorphism) (see, e.g., [13,Chapter 12], [21, §2.5]).
Consequently, for any nonabelian simple T ≤ Sym(Ω), |Out(T )| is polynomially bounded, and small Σ ⊆ Aut(T ) such that Inn(T ) ∪ Σ = Aut(T ) is computable in polynomial time.With this in mind, we consider

Problem 24
Given: T ≤ Sym(Ω) such that T is nonabelian simple.Remark It is also not difficult to directly solve Problem 24 using the well-known structures of the automorphisms of the simple groups.As indicated in Problem 23, the preceding approach offers a general method and applicable to any centerless groups whose outer automorphism groups are small.

Normalizers of characteristically simple groups
In this subsection, we will develop polynomial-time tools for finding normalizers of direct products of isomorphic simple groups.First, we consider normalizing elementary abelian groups.

Problem 27
Given: G, E ≤ Sym(Ω) such that G ∈ Γ d , and E is elementary abelian.
Lemma 3.22 Problem 27 is in polynomial time.
Proof: First, we find the orbits of E, say ∆ i , i = 1, . . ., , and form Here, we note that N G (E) ≤ N G (E 0 ).Next, via Problems 6, 9, we find Under the linear representation induced by the conjugation action of G 0 on E 0 , we then find, via Problem 19, We next consider the following general problem (cf.Problem 23).

Problem 28
Given: G ≤ Sym(Ω) and Σ ⊆ Aut(G) (defined on generators) such that Inn(G) ∪ Σ = Aut(G).Proof: We first form, via Problem 8, a complete set of right coset representatives R := {ρ 1 , . . ., ρ } for Inn(G) in Aut(G).Then, for each ρ i ∈ R, we test, via Problem 7, if there is x i ∈ Sym(Ω) such that g xi = g ρi for all g ∈ G, and if so, collect such x i in a set X. Next, via Problem 5, we find C Sym(Ω) (G) and then return X GC Sym(Ω) (G) = N Sym(Ω) (G). 2 We will now consider several normalizer problems involving nonabelian simple groups.As in Problems 24-26, we will appeal to the aforementioned facts about the outer automorphism groups of nonabelian simple groups.

Problem 29
Given: T ≤ Sym(Ω) such that T is nonabelian simple.
Given: H ≤ G, g ∈ G and H-invariant J ⊆ I.
For this, we apply the divide-and-conquer paradigm of §3.4 to the action of H on J (cf.Proposition 3.9).In the base case in which J = {j}, we return, via Problem 31, {x ∈ Hg | T x j = T j g } = Trans H (T j , T g −1 j g )g. 2

Problem 33
Given: G, H ≤ Sym(Ω) such that G ∈ Γ d , and H is a direct product of isomorphic nonabelian simple groups.Find: N G (H). Lemma 3.28 (CFSG) Problem 33 is in polynomial time.
which all T i are isomorphic nonabelian simple groups.Since Problem 30 is in polynomial time, we may assume that ≥ 2. We will utilize the fact that x ∈ Sym(Ω) normalizes H if and only if x stabilizes {T 1 , . . ., T }.
Suppose that two distinct T i have a common nontrivial orbit.Then the orders of these two and therefore all T i are equal to the size of such an orbit.For each T i , we form A i := {(α, α t ) | α ∈ Ω and t ∈ T i }.Now, notice that x ∈ Sym(Ω) stabilizes {T 1 , . . ., T } if and only if x stabilizes {A 1 , . . ., A } under the natural action of Sym(Ω) on Ω × Ω.We thus find, via Problem 11, Stab G ({A 1 , . . ., A }).
Next, suppose instead that no two T i have a common orbit.For this, for each T i , we form the set B i of all orbits of T i .Under the natural action of G on 2 2 Ω , via Problem 12, we then find G 0 := Stab G ({B 1 , . . ., B }).Let G 0 act on I := {1, . . ., } induced by the action of G 0 on {B 1 , . . ., B } via the bijection B i → i for i = 1, . . ., .It now suffices to find, via Problem 32, Stab G0 ({(t, i) | i ∈ I and t ∈ T i }). 4 Main algorithm to find N G (H) In this section, we will first describe the main steps of our normalizer algorithm and then prove Theorems 1.1, 1.2, 1.3.
For simplicity, it is convenient to focus on a procedure that is aimed only at getting a step closer to the normalizer; in particular, we consider In the next two subsections, we will describe our procedure to prove Here, we first recall the notions of covering and avoidance: Let G be a group, A, B ≤ G, and C B.
In §4.1, we will first reduce the given instance to the case in which H either covers or avoids each G-chief factor of H G .Then, in §4.2, we will focus on a segment M > L > K in the chief series such that H covers M/L but avoids L/K.

Reducing to H that covers or avoids each factor
Using Theorem 3.1(x), we first construct a G-chief series for X := H G as follows.
If there is a chief factor L/K of X such that L > (H ∩ L)K > K (i.e., H neither covers nor avoids L/K), we then perform the following according to the structure of L/K.Here, we note that G does not normalize (H ∩ L)K.

M > L > K where H covers M/L but avoids L/K
We may assume now that H either covers or avoids each factor.For such a series, if applicable, we first move covered factors towards the tail of the series as follows: While there is a segment M > L > K in the series, where H covers M/L but avoids L/K, and G normalizes (H ∩M )K, replace L by (H ∩M )K.
Since G does not normalize H, we then have a segment M > L > K such that H covers M/L but avoids L/K, and G does not normalize (H ∩ M )K.For such a segment, we perform the following according to the structure of L/K.Let M := M/K, L := L/K, and H := (H ∩ M )K/K (here, M = HL, H ∩ L = 1, and H ∼ = M/L).
Case 1 L is abelian.Form the natural homomorphism * : H → HL/L (actually, * is an isomorphism since H ∩ L = 1) and its inverse λ : for g ∈ G (here, H * acts on L via l h * := l h for l ∈ L and h ∈ H, and G acts on Return G 0 and exit.Proof of Theorem 1.1:With the help of the above procedure for Problem 34, we describe how to find Proof of Theorem 1.2: We mimic a standard reduction from the problem of testing conjugacy of two elements to the problem of finding the centralizer of an element given in [25, §11] (cf.Lemma 3.26).We consider, for the transposition t on {1, 2}, the natural action of Ĝ : Proof of Theorem 1.3:The following proof involves a computational use of the Frattini method with Kantor's Sylow machinery (Theorem 3.1(xi)) as in [25, §5].We may assume that K is not nilpotent (because, if K is nilpotent, then G ∈ Γ d ).Suppose that G = S and H = T .Since K is not nilpotent, for some prime p dividing |K|, there is P ∈ Syl p (K) such that P is not normal in K. To begin, we appeal to Theorem 3.1(xi) to find such P .Now, we form S 0 := {s ∈ S | P s = P }.Then, for each s ∈ S such that P = P s , with the help of Theorem 3.1(xi) again, we find k ∈ K such that P k = P s and add ks −1 to S 0 .We repeat the same for T to form a set T 0 ⊆ N H (P ).
Next, form X := S, T and Y := S 0 , T 0 .We remark here that, by the Frattini argument, X = N X (P )K = Y K. We then form an isomorphism φ : X/K → ∼ Y /(Y ∩ K).For this, we recall that, by Theorem 3.1(viii)(c), for any given x ∈ X, we can find y x ∈ Y and k x ∈ K such that x = y x k x ; so, using any such y x , we define φ(Kx) := (Y ∩ K)y x .Under this isomorphism, we recursively find N φ(G/K) (φ(H/K)) in Y /(Y ∩ K) and then pull back the result in G/K; here, to find the pullback, we appeal to the quotient-group version of Theorem 3.1(vi)(b) (see §3.2). 2

Finding vector and subspace stabilizers
Throughout this section, we assume that V is an n-dimensional vector space over a finite field k of order q e for some prime q.
The main purpose of this section is to prove Proposition 3.17 and thus Theorem 1.4.In particular, we will solve Problems 18-22 in time polynomial in |Ω|, n, q and e.Our solutions are based on a divide-andconquer paradigm resulting from the following.Theorem 5.1 Given G ≤ Sym(Ω) such that G ∈ Γ d and an irreducible representation ¯: G → GL(V ), one can find one of the following, in time polynomial in |Ω|, n, q and e (where V ∼ = F n q e ).
(i) H ≤ G and a direct sum H acts on V = {V 1 , . . ., V m } as a permutation group of degree m.
(ii) A G such that Ā is abelian and Remark (i) As indicated in §1, in Theorem 5.1, the characteristic q of the field k is involved in the running time.Indeed, this parametrization enables us to call the deterministic version of Rónyai's method to test irreducibility (e.g., in Propositions 5.8, 5.11, where we have to make use of his method).(If, however, we appeal to his Las Vegas version instead, we can accomplish the same task in Las Vegas polynomial time in |Ω|, n, log q and e, replacing q by log q.)For our applications to the problem of finding normalizers in permutation groups, n, q and e are all polynomially bounded in |Ω|.
(ii) We do not assert in Theorem 5.1(i) that V is a system of imprimitivity for H because the action of H on V will not necessarily be transitive.In fact, although the decomposition arises in various ways through the results leading up to the proof of Theorem 5.1, it will be seen that this action always turns out to be either transitive or trivial.However, the critical item for our divide-and-conquer paradigm is just that the summands in the decomposition of V have equal dimension n/m.
With the help of Rónyai's method to test irreducibility from [47, §5] (see also Theorem 3.13), Theorem 5.1 facilitates the extension to representations of Γ d groups of the divide-and-conquer paradigm for solvable linear groups (see [34, §6]).As in §3.4, it is indeed Γ d that enables us to find subgroups of polynomial index that preserve suitable direct-sum decompositions.
In §5.1, we will first present this divide-and-conquer paradigm resulting from Theorem 5.1.In §5.2, as promised in §3.5, we will prove that the paradigm is applicable to Problems 18-22 (cf.[34, § §6.2, 6.3]).The remainder of this section is devoted to proving Theorem 5.1.In §5.3, we will begin with some preliminaries on linear groups.In § §5.4,5.5, we will next describe the two key subroutines that will be used in our main algorithm for Theorem 5.1.In §5.6, we will then present the main algorithm.

Divide and conquer using invariant subspaces and imprimitivity systems
In general, as in permutation groups, this divide-and-conquer paradigm for linear groups applies to problems (such as Problems 18-22) that ask for construction of a recognizable subcoset of a given coset Gx in X ≤ Sym(Ω), where G ∈ Γ d , equipped with a representation X → GL(V ) such that the following hold: (1) Recursive property.Given a proper kG-submodule W < V , the problem is recursively reducible to induced problems on W and V /W in time polynomial in |Ω|, n, q and e.
(2) Base property.If the G-action on V is irreducible and cyclic, then the problem is solvable in time polynomial in |Ω|, n, q and e.
The paradigm works in the following way.With the help of Theorems 3.13, 5.1, the paradigm performs two levels of divide-and-conquer maneuvers involving proper kG-submodules of V and, in the irreducible case, direct-sum decompositions of V on which subgroups of G of polynomial index act.In particular, we consider the following three cases (two recursive and one base).
Reducible case As required by (1) above, if there is a proper kG-submodule W < V , then we recursively solve the induced problems on W and V /W .

Irreducible case
We first appeal to Theorem 5.1 and perform the following according to which of the outputs we obtain.
In case (i), we consider the output: For this, we first decompose G into cosets of H, say, G = Hy 1 ∪ • • • ∪ Hy for some y 1 , . . ., y ∈ G, where = O(m c ).Thus, the problem for G on V reduces to problems for cosets of H on V .Each of these problems considers the orbit/imprimitivity structure of H in V, following the standard permutation-group divideand-conquer paradigm (illustrated previously for Theorem 3.7): in each orbit, consider the action on a minimal system of imprimitivity, and decompose the group into cosets of the kernel of that action.The process continues until we are faced with a single element of V and a group fixing that element.
(For simplicity of presentation and timing, the algorithm keeps to the submodules generated by elements of V until it is faced with a single V i .In practice, finer decomposition may be observed and used, especially as the group at hand decreases.) In case (ii), we consider the output: A G such that the A-action on V is abelian.As before, we decompose G into cosets of A and reduce the problem to instances involving these cosets.The problem for A exploits the recursive property, ultimately reducing to ≤ n instances of the following base case Base case The above recursion bottoms out when the abelian G-action on V becomes irreducible (and thus cyclic by Schur's lemma, see, e.g., [2, 12.4]).In this base case, the problem is solvable in the desired time as required by (2) above.
Timing analysis In the reducible case, we solve sequentially on W and V /W , where In case (i), divide-and-conquer is applied to the action on V with respect to orbits and then minimal systems of imprimitivity using stabilizers of such systems (cf.§3.4).Having exhausted the action on V, we end up with a problem on one of the V i 's.Using the bound on primitive Γ d groups (from Theorem 3.8) for the index of the kernels of the minimal-system actions, we conclude that the problem for each coset of H is reduced to O(m f (d)+1 ) instances on submodules of dimension n/m.Thus, since |G : H| = O(m c ) for a constant c > 0, the original problem for G on V is reduced to O(m c+f (d)+1 ) instances on submodules of dimension n/m.
In case (ii), where A G such that the A-action on V is abelian, the original problem is reduced to O(n(|Ω| + n)) instances of the base case.

Applying the divide-and-conquer paradigm
We will solve Problems 18-22 to prove Proposition 3.17 via the divide-and-conquer paradigm described above.(In the following solution to Problem 35, the proof of the base property ( 2 Solution to Problem 21: To accommodate the above paradigm, we consider the following generalization.

Problem 35
Given: X ≤ Sym(Ω), a representation ¯: As indicated in §5.1, to complete the proof, it suffices to prove that this problem has these properties: (1) given a proper kG-submodule W < V , the problem is recursively reducible to induced problems on W and V /W , and (2) if the G-action on V is irreducible and cyclic, then the problem is solvable in the desired time.
Proof of the recursive property (1) for Problem 35: To begin, we suppose that a proper kG-submodule We first solve the problem on V /W .In particular, under the induced representation G → GL(V /W ), with f ∈ Z 1 (G, V /W ) defined by f (g) := W + f (g) for g ∈ G, we solve recursively for C(G, V /W, f , W + u), which is, if not empty, a coset Ka ⊆ G.
We next solve the problem on W .For this, we first note that f (g) = W if and only if f (g) ∈ W for g ∈ G; so, f (K) ⊆ W .Under the restriction K → GL(W ), regarding f ∈ Z 1 (K, W ), we find C(K, W, f, (u − f (a)) a −1 ) recursively.If not empty, the result is a coset Hb ⊆ K. So, C(G, V, f, u) = Hba and C(Gx, V, f, v) = Hbax.

Preliminaries on linear groups
In this subsection, we will study some structural properties of linear groups.There are two key propositions.Lemma 5.2 is a general fact that will be used in the main result of §5.5.Proposition 5.7 is the most important result of this subsection.Along with Theorem 3.8, this result on irreducible Γ d groups enables us to find subgroups of polynomial index that preserve direct-sum decompositions for Theorem 5.1(i) when V is homogeneous (see §5.4).
We begin with the following well-known fact.We include a proof for the reader's convenience.Recall that n = dim k V .Proof: Suppose that A = a .Let k be the algebraic closure of k and write Let U be an eigenspace for a and Since G normalizes A, it permutes the eigenspaces of a. Hence, |G : G 1 |, which measures the number of images of U under G, is ≤ n.Thus, it suffices to prove that G 1 ≤ C G (A).
Let g ∈ G 1 .Since G normalizes A, it follows that [g, a] = a m ∈ A for some integer m > 0. Now, a acts on U as a scalar, so [g, a] fixes every u ∈ U and therefore has nonzero fixed points even over k.Since C To prepare for the proof of Proposition 5.7, we state four lemmas.The following lemma is borrowed from [6].
Proof: Let G 1 /Z(G) be a simple factor of G/Z(G).Then [6, Proposition 2.7] asserts that n ≥ 2 −1 n 1 , where n 1 is the dimension of an irreducible kG 1 -submodule of V . 2 Recall that, in general, an automorphism σ of a group G is central if σ is in the kernel of the induced action of Aut(G) on G/Z(G).Since the central automorphisms of G leave every element of G fixed, we have A classical theorem of Wielandt [54,Theorem 8.7], Praeger and Saxl [44] [11]; see also [3], [4], [40]).In turn, this leads to the following fact (see, e.g., [6, Lemma 2.2]).
For the last of our lemmas, we prove Proof: The irreducibility of N M implies that V is homogeneous both as a kN -module and as a kMmodule.Let A := Hom kG (W, V ).By [2, 27.14(5)], the k-space structures on V and A are extendible to K-space structures so that The kM -linear map φ : A → V defined by φ(a) := w a 0 for a ∈ A is nontrivial, else {w ∈ W | w A = 0} would be a proper kN -submodule of W . Hence, φ(A) is a nonzero kMsubmodule of V and therefore contains an isomorphic copy of U .So, dim k A ≥ dim k φ(A) ≥ dim k U .The result follows. 2 We now come to the main result of this subsection.
Proposition 5.7 Let G be an irreducible subgroup of GL(V ) such that G ∈ Γ d , and let N, A G such that A is cyclic, and N/A is a nonabelian chief factor of G. Suppose that V is homogeneous both as a kN -module and as a kC G (N )-module.
Proof: We first note that A = Z(N ).To see this, notice that, since which is abelian, a contradiction.Hence, C N (A) = N and thus A = Z(N ).
Let H := N throughout.We next note that H is semisimple; that is, H = H , and H/Z(H) is a direct product of nonabelian simple groups (see, e.g., [52,II,6.6.5]).Further, Let W be an irreducible kH-submodule of V and K := End kH (W ).Since V is a homogeneous kHmodule, H acts faithfully on W . Consider the induced representation φ : H → GL(W, K) of degree t (where t ≥ 2 since H is noncyclic).Now, let Z := Z(H), and write . It suffices now to prove that n/n 0 ≥ t.For this, let V 0 be an irreducible kHC G (H)-submodule such that W ≤ V 0 ≤ V and U 0 be an irreducible kC G (H)-submodule of V 0 .By Lemma 5.6, Remark It is in this proposition that the present definition of Γ d (in which all nonabelian composition factors lie in S d ) is essential (in particular, to bound the orders of the automorphism groups of nonabelian simple groups).

Divide and conquer using nonabelian chief factors
As promised earlier, in this and the next subsections, we will describe the two key subroutines that will be used in the main procedure to prove Theorem 5.1.For given G ≤ Sym(Ω) such that G ∈ Γ d , an irreducible representation ¯: G → GL(V ) and a chief factor N/A of G, both of these subroutines seek a decomposition of V into a system of imprimitivity or a direct sum of equal-dimensional kH-submodules for some H < G of polynomial index, based on the structure of N/A (barring a few exceptional cases when N/A is abelian).We first deal with nonabelian chief factors.In the following proposition, the key property of Γ d linear groups we require is Proposition 5.7.
Proposition 5.8 Given G ≤ Sym(Ω) such that G ∈ Γ d , an irreducible representation ¯: G → GL(V ) and N, A G such that N > 1, Ā is cyclic, and N/A is a nonabelian chief factor of G, one can find one of the following, in time polynomial in |Ω|, n, q and e (where where m ≥ 2, and the summands form a system of imprimitivity for G. (ii) H G and a direct sum of kG-isomorphic irreducible kH-submodules Proof: We will describe our algorithm in the following two steps.In Step 1, we first seek a system of imprimitivity for G induced by some accessible normal subgroup of G; if V has no such system, then, in Step 2, we appeal to Proposition 5.7 for a desirable pair (H, m i=1 V i ).
Step 1 Reduction to Problem 15.To begin, we solve Problem 15 to seek a system of imprimitivity Problem 17).Unless V is homogeneous both as a kN -module and as a kCmodule, we return m i=1 V i for (i) and halt.
Step 2 V is homogeneous both as a kN -module and as a kC-module.Since N centralizes C and is nonabelian, C is necessarily reducible.Via Problem 13, we find an irreducible kC-submodule 1 for some g i ∈ G and then return a pair (H, m i=1 V i ) with H := C. We note here that, since V is a homogeneous kC-module, all irreducible kC-submodules of V share the same dimension; thus, any irreducible kC-submodule V 1 may be used to decompose V = V 1 ⊕ • • • ⊕ V m for which Proposition 5.7 guarantees that |G : C| is polynomially bounded in m. 2

Divide and conquer using abelian chief factors
In this subsection, we will describe the second key subroutine for Theorem 5.1 that deals with abelian chief factors.We will give a top-level description of this subroutine in the proof of Proposition 5.11, which is the main result of this subsection.We will prove this proposition by way of three lemmas.Throughout this subsection, Q 8 denotes the quaternion group of order 8.
The following result is inspired by the well-known structure of extraspecial p-groups (see, e.g., [22, 13.7 Satz], [51,Theorem 19.2]).Lemma 5.9 Given P ≤ Sym(Ω), a representation ¯: P → GL(V ) such that P is a p-group for some prime p = q, C V (P ) = 0, Z( P ) is cyclic, and P /Z( P ) is an elementary abelian group of rank 2 > 0, one can find one of the following, in time polynomial in |Ω|, n, q and e (where V ∼ = F n q e ).
(i) E P such that P < E and Ē is elementary abelian, with the isotypic decomposition with respect to , where m ≥ p /3 , and the summands form a system of imprimitivity for P .
e 1 := a 2 r−2 d.Then, in any case, we form E := e 1 , z 0 .The rest is the same as Case (a)'s argument.In this case, m = 2 .Finally, if |d| = |a| = 4, we form Q := a, d for (ii). 2 Before proving the main result, we present, with the help of Lemma 5.9, an intermediate lemma.
Lemma 5.10 Given G ≤ Sym(Ω) such that G ∈ Γ d , an irreducible representation ¯: G → GL(V ) and N, A G such that Ā is cyclic and centralized by N > 1, and N/A is an abelian chief factor of G, one can find one of the following, in time polynomial in |Ω|, n, q and e (where V ∼ = F n q e ).
(i) H ≤ G and a direct sum , where m ≥ 2, such that |G : H| = O(m c ) for a constant c > 0, and the summands form a system of imprimitivity for H.
(ii) Q G such that N = QA and Q ∼ = Q 8 .
(iii) B G such that B is abelian and A < B.
Proof: We will describe our algorithm in the following two steps.In Step 1, unless N is abelian, to apply Lemma 5.9, we will first find P N such that P is a p-group of class 2. In Step 2, we will then appeal to the lemma with respect to this P .
Step 1 Finding a p-group of class 2. If N is abelian, then we simply return B := N for (iii).Otherwise, N is nilpotent of class 2, and we find P N such that P is the unique Sylow p-subgroup of N for the prime p that divides |N/A|; here, as Ḡ is irreducible, p = q and C V (P ) = 0. We also find Z G such that Z = Z( P ).Since N/A is a chief factor of G, Ā = Z( N ); therefore, N = P A and thus P/Z ∼ = N/A.The rank of P/Z must then be even, say, 2 > 0 (see, e.g., [22, 13.7 Satz]).
Step 2 Applying Lemma 5.9.We now appeal to Lemma 5.9 with respect to this P to either (a) find E P such that P < E, and Ē is elementary abelian, with the isotypic decomposition with respect to E, V = V 1 ⊕ • • • ⊕ V m , where m ≥ p /3 , and the summands form a system of imprimitivity for P , or (b) return Q P such that P = QZ (which implies N = QA) and Q ∼ = Q 8 for (ii).
In case (a), we proceed to find the kernel H of the natural action of G on P/Z.Since H centralizes P/Z, it follows that EZ H so that H acts on V := {V 1 , . . ., V m } as well.We then return the pair (H, m i=1 V i ) for (i).It now remains to prove that |G : H| is polynomially bounded in m.Since G acts irreducibly on N/A, it also acts irreducibly on P/Z, whose rank is 2 .By the result of Babai, Cameron and Pálfy on the orders of completely reducible linear groups in Γ d [6,Corollary 3.3], there is a constant c 2 > 0 such that |G : H| ≤ p c2 (2 ) .By Lemma 5.9, m ≥ p /3 ; thus, if c 1 := 6c 2 , then |G : H| ≤ m c1 . 2 We are now ready to complete the proof of the main result of this subsection.In the following proposition, we refine Lemma 5.10 by amending (i) and removing (ii) with an additional assumption that |G : A| > 24n.Indeed, the proof of this proposition essentially consists of special routines to handle the quaternion case of Lemma 5.10(ii).Proposition 5.11 Given G ≤ Sym(Ω) such that G ∈ Γ d , an irreducible representation ¯: G → GL(V ) and N, A G such that Ā is cyclic and centralized by N > 1, N/A is an abelian chief factor of G, and |G : A| > 24n, one can find one of the following, in time polynomial in |Ω|, n, q and e (where V ∼ = F n q e ).
(i) H ≤ G and a direct sum (ii) B G such that B is abelian and A < B.
Proof: We will describe our algorithms in the following two steps.In Step 1, we reduce the given input to instances to which Proposition 5.8 and/or Lemma 5.10 are applicable.In Step 2, we handle a special case involving quaternion groups to which Proposition 5.8 and Lemma 5.10 do not apply, and we seek a system of imprimitivity induced by these groups.
Step 1 Applying Proposition 5.8 and Lemma 5.10.We first apply the algorithm for Lemma 5.10 to the given input.Unless it results in the quaternion type, we immediately return the result of applying this lemma, namely, the pair (H, m i=1 V i ) for (i)(a) or B G such that B is abelian and A < B for (ii), and halt.
We next consider the case in which the result of applying Lemma 5.10 is of the quaternion type (say, Q G).If M/A is nonabelian, then we appeal to Proposition 5.8 with respect to M/A and directly return its result for (i)(a) or (i)(b).
If M/A is abelian, then we appeal to Lemma 5.10 with respect to M/A.As before, unless it results in the quaternion type again (say, R G this time), directly return the result of applying Lemma 5.10 for (i)(a) or (ii), and halt.
Step 2 Finding a system of imprimitivity induced by quaternion groups.We are now left with the case in which we have at hand both Q, R G such that N = QA = RA and Q, R ∼ = Q 8 .Our goal here is to construct a system of imprimitivity induced by elements of Q, R and A.
First, we find e 1 ∈ Q and e 2 ∈ R such that ē1 ∈ Q \ R and ē2 ∈ R \ Q.Then, with a ∈ A such that |ā| = 2, we form E := e 1 e 2 , a .We also find the kernel H of the natural action of G on N M/A.As in the proof of Lemma 5.9, we find the set V := {V 1 , V 2 } of isotypic subspaces for E, which form a system of imprimitiviy for H.It suffices to return the pair (H, V 1 ⊕ V 2 ) for (i)(a), where |G : H| is bounded by a constant. 2

Theorem 3 . 1
Given G = S ≤ Sym(Ω), in polynomial time one can solve the following problems.

( i )
Given α ∈ Ω, list the orbit α G and test the transitivity of G.

2 Remark
1(viii)(c), find a ∈ G and c ∈ C Sym(Ω) (G) such that x = ac.It suffices to return a. Lemma 3.6 answers an open question of Kantor and Luks posed in [25, §13].

Lemma 5 . 2
If G is an irreducible subgroup of GL(V ), and A is a cyclic normal subgroup of G, then |G : C G (A)| ≤ n.

where m ≥ 2 ,
such that |G : H| = O(m c ) for a constant c > 0, and either(a) {V 1 , . . ., V m } is a system of imprimitivity for H, or (b) V is a homogeneous kH-module, where V 1 , . . ., V m are irreducible kH-submodules of V of dimension n/m.
12 Problem 12 is in polynomial time.
Proof: To solve this problem, we first form E := E∈E E ⊆ 2 Ω and then, via Problem 11, find H := Stab G (E ).Here, notice that E ∈ 2 E .Under the induced action of H on E , we return, via Problem 11, Stab H (E). 2 where each H i /Z is isomorphic to a nonabelian simple group T .It follows from Lemma 5.3 that 2 ≤ t.Since H is semisimple, Aut(H) embeds in Aut(H/Z) by Lemma 5.4; therefore, G/C G (H) embeds in Aut(H/Z) ∼ = Aut(T ) S .Let Ĝ denote the isomorphic image of G/C G (H) in Aut(H/Z), and consider L Ĝ that leaves each H i /Z invariant.Clearly, L embeds in Aut(T ) so that | L| ≤ c 1 for some constant c 1 > 0 (by the Γ d hypothesis).Next, write c 2 := max(d, 6).Since Ĝ/ L lies in S , where no composition factor of Ĝ/ L is isomorphic to A m for any m > c 2 , it follows from Lemma 5.5 that | Ĝ/ L| < c −1 2 .Hence, if c 3