[Up] [Previous] [Index]

# 7 Other Applications

Up to this point our screens, i.e., normal subgroup functions, have yielded local formation residual subgroups, but there is no requirement that they do so. Screens for which the selected normal subgroups can be arbitrary have applications beyond formation theory. Chapter V of CH contains an account of a generalized normalizer theory built from them, and Wright (WA and WB) uses them to construct internal versions of formations that are conceptually related to ordinary formations much as Fitting sets are related to Fitting classes.

A major application of the generalized normalizers is to speed up computation of complements to normal factors (see EW). Suppose that G is a finite solvable group with an elementary abelian normal subgroup A for which there exists a normal subgroup N of G containing A such that N/A is nilpotent and [N,A] = A. Then A has a complement in G, and all complements are conjugate---indeed, they can be viewed as generalized F-normalizers. We will show the idea, which of course is most useful with very large groups, by using `FNormalizerWrtFormation` to find a complement to an elementary abelian normal subgroup, in this case to K in S4 with N = A4.

We need to define a formation `F` in GAP (not a real formation, of course, just a local version) such that `ScreenOfFormation( F )(s4,p)` returns N for every call. In order to call `FNormalizerWrtFormation` we must also set the property `IsIntegrated` to `true`.

    gap> preform := rec( name := "ForComplement",
    > fScreen := function( H, p )
    > return Subgroup( H, GeneratorsOfGroup( H ){[2,3,4]});
    > end);;
    gap> form := Formation(preform);
    formation of ForComplement groups
    gap> SetIsIntegrated(form, true);

Now we may use the `FNormalizerWrtFormation` function with `s4` to get the complement, an S3. (Recall that unless `form` already thinks it's integrated, `FNormalizerWrtFormation` will automatically integrate `form` before running its computations, which may not be the desired behavior.)

    gap> comp := FNormalizerWrtFormation(s4, form); Size(comp);
    Group([ f1, f2 ])
    6

A user who wanted to employ the F-normalizer technique to compute very many complements in this way would probably wish to create a new GAP function by extracting portions of the code that computes F-systems.

[Up] [Previous] [Index]