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 ]) 6A 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.