%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %W cover.tex FORMAT documentation B. Eick and C.R.B. Wright %% %% 10-30-00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\X{{\cal{X}}} \Chapter{Covering Subgroups} %\index{Covering Subgroups} Let $\X$ be a collection of groups closed under taking homomorphic images. An *$\X$-covering subgroup* of a group $G$ is a subgroup $E$ satisfying (C) \qquad $E \in \X$, and $EV = U$ whenever $E \le U \le G$ with $U/V \in \X$. It follows from the definition that an $\X$-covering subgroup $E$ of $G$ is also $\X$-covering in every subgroup $U$ of $G$ that contains $E$, and an easy argument shows that $E$ is an *$\X$-projector* of every such $U$, i.e., $E$ satisfies (P) \qquad $EK/K$ is an $\X$-maximal subgroup of $U/K$ whenever $K$ is normal in $U$. Gasch{\accent127u}tz showed that if $\F$ is a locally defined formation, then every finite solvable group has an $\F$-covering subgroup. Indeed, locally defined formations are the only formations with this property. For such formations the $\F$-projectors and $\F$-covering subgroups of a solvable group coincide and form a single conjugacy class of subgroups. (See \cite{DH} for details.) \> CoveringSubgroup1( <G>, <F> ) O \> CoveringSubgroup2( <G>, <F> ) O \> CoveringSubgroupWrtFormation( <G>, <F> ) O If <F> is a locally defined integrated formation in {\GAP} and if <G> is a finite solvable group, then the command `CoveringSubgroup1( <G>, <F> )' returns an <F>-covering subgroup of <G>. The function `CoveringSubgroup2' uses a different algorithm to compute $\F$-covering subgroups. The user may choose either function. Experiments with large groups suggest that CoveringSubgroup1 is somewhat faster. `CoveringSubgroupWrtFormation' checks first to see if either of these two functions has already computed an <F>-covering subgroup of <G>, and if not, then it calls `FCoveringGroup1' to compute one. \medskip Nilpotent-covering subgroups are also called *Carter subgroups*. \> CarterSubgroup( <G> ) A The command `CarterSubgroup( <G> )' is equivalent to `CoveringSubgroupWrtFormation( <G>, Formation( "Nilpotent" ) )'. \medskip All of these functions call upon $\F$-normalizer algorithms as subroutines.