############################################################################# ## ## embedsub.g GAP additional functions Vitaliy Mysovskikh ## ## embedsub.g 1997/05/05 11:55:12 vimys@pdmi.ras.ru ## ## The Chair of High Algebra, St. Petersburg State University, Russia ## ############################################################################# ## ## ## Tests for some subgroup embedding properties ## ## ## Acknowledgements. A part of this work has been done during the ## author's stay in Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany. ## It gives me a great pleasure to express my sincere gratitudes to all ## people there for the hospitality and kindness. Especial thanks are ## addressed to Bettina Eick and Alexander Hulpke which should be actually ## considered as coauthors in view of their huge help with respect to ## programming. I am extremely indebted to Professor Joachim Neubueser for ## his interest to the area and valuable advices. The author also ## gratefully acknowledges support of a visit to LDFM by the Deutsche ## Forschungsgemeinschaft in the context of DFG Schwerpunkt "Algoritmische ## Zahlentheorie und Algebra". ## ## ############################################################################# ############################################################################# ## ## ## This file contains the set of codes for testing a subgroup D of a group G ## on the following embedding properties: abnormality, pronormality and their ## weak analogies, paranormality, polynormality, weak normality. These reflect ## some features of the lattice of intermediate subgroups L(D, G) between D ## and G. In addition there are also two functions 'IsStrPolynormal' and ## 'IsStrParanormal' which check corresponding properties in the lattice ## M(D, G) of all subgroups of G normalized by D. ## ## At present the codes work satisfactory just for small groups but even in ## such a form it is possible to apply them e.g. for all permutation groups ## of degree up to nine. Thus we hope they will be useful for researchers in ## the area. ## ## It should be noted that the concepts of abnormality as well as pronormality ## arose from the classical works of R. W. Carter and Ph. Hall. So basic ## definitions and principal properties of these can be found out in the ## literature (see e.g. [4], [5]). ## Weakly normal subgroups were considered by K. H. M"uller [6]. ## The notions of poly- and paranormal subgroups are due to Z. I. Borevich. ## We refer to his papers [1--3] or to the brief English survey of ## V. I. Mysovskikh [8]. ## Strong poly- and paranormality concerned with extension of previous ones ## on the lattice of subgroups normalized by a fixed one were introduced by ## A. V. Stepanov [10] and V. I. Mysovskikh [9] respectively. ## ## Note that for a soluble parent group abnormality and pronormality coincide ## with their weak analogies. Moreover, for a p-subgroup of a finite group ## all of them (excluding abnormality) are equivalent to weak normality. ## In general, the examples of "purely" weak properties are very rare ## (with an exeption of the pair weak normality - normality, of course). ## Hence we urgently recommend to use faster functions 'IsAbnormal', ## 'IsPronormal', 'IsParanormal' at first. ## ## Finally, it is necessary to mention that all the functions admit as their ## first argument almost arbitrary kind of a group in GAP: permutation, ## matrix, Ag-, fp-groups. The second argument must be a subgroup of the ## first one, otherwise an error is signalled. ## ## References ## ## 1. M.S.Ba and Z.I.Borevich, On the arrangement of intermediate subgroups. ## In: Rings and Linear Groups, Krasnodar (1988), pp. 14--41.(just in ## Russian, there is no review in MR or Zbl). ## 2. Z.I.Borevich, On the arrangement of subgroups. Zap. Nauchn. Sem. ## Leningrad. Otd. Mat. Inst Steklov. (LOMI), v. 94 (1979), 5--12 ## (Zbl 442.20024, in Russian). ## 3. Z.I.Borevich and O.N.Matsedonskaya, On the lattice of subgroups. ## Zap. Nauchn. Semin. Leningrad. Otd. Mat. Inst. Steklov (LOMI), ## 103 (1980), 13--19 (Zbl 461.20012, in Russian). ## 4. K.Doerk and T.O.Hawkes, Finite Soluble Groups. 1984. ## 5. B.Huppert, Endliche Gruppen. I. Berlin-Heidelberg-New York: ## Springer Verlag, 1967. ## 6. K.H.Mueller, Schwachnormale Untergruppen: eine gemeinsame ## Verallgemeinerung der normalen und normalisatorgleichen Untergruppen. ## Rend. Semin. Mat. Univ. Padova, 36 (1966), no. 1, 129--157. ## 7. V.I.Mysovskikh, On polynormal subgroups of finite supersolvable ## groups. Vestnik Leningrad Univ. Math. 23 (1990), no. 4, 39-42 ## (MR 92j: 20012, English translation). ## 8. V.I.Mysovskikh, A survey on the lattices of intermediate subgroups ## and some subgroup embedding properties. 1996 (unpublished manuscript, ## in English). ## 9. V.I.Mysovskikh, On the lattice of subgroups normalized by a symmetric ## one in the complete monomial group. Zap. Nauchn. Semin. St.Petersburg ## Otd. Mat. Inst. Steklov. (POMI), 236 (1997) (to appear, in Russian). ## 10. A.V.Stepanov, On the distribution of subgroups normalized by a given ## subgroup. Journal of Soviet Mathematics, 64 (1993), no. 1, 769--776 ## (Zbl 790.20069, English translation). ## ## ############################################################################# ############################################################################# ## IsPGroup := function( U ) local s; s := Set( Factors( Size( U ) ) ); if Length( s ) = 1 then U.prime := s[1]; return true; else return false; fi; end; IsWeaklyNormal := function( G, D ) local N, T, t, F ; if IsNormal( G, D ) then return true; fi; N := Normalizer( G, D ); T := RightTransversal( G, N ); for t in T{[2..Length(T)]} do F := ConjugateSubgroup( D, t ); if IsSubgroup( N, F ) then return false; fi; od; return true; end; IsPronormal := function( G, D ) local N, T, t, D1, F, C, p; if IsNormal( G, D ) then return true; fi; N := Normalizer( G, D ); if IsPGroup( D ) then return IsWeaklyNormal(G,D) ; fi; T := RightTransversal( G, N ); for t in T do D1:=ConjugateSubgroup(D, t); F := Closure( D, D1 ); C := RightCoset( N, t ); if Length( Intersection( C, F ) ) = 0 then return false; fi; od; return true; end; IsAbnormal := function( G, D ) return IsPronormal( G, D ) and Normalizer( G, D ) = D; end; IsComplete := function( F, D ) if not IsSubgroup( F, D ) then return false; fi; return Size( NormalClosure(F, D) ) = Size( F ); end; IsParanormal := function( G, D ) local N, T, t, D1, F, p; if IsNormal( G, D ) then return true; fi; N := Normalizer( G, D ); if IsPGroup( D ) then return IsWeaklyNormal(G, D); fi; T := RightTransversal( G, N ); for t in T do D1:= ConjugateSubgroup(D, t); F := Closure( D, D1 ); if not IsComplete( F, D ) then return false; fi; od; return true; end; IsPolynormal := function(G,D) local N, p, P, Om, St, pst, u, x, w, F; if IsNormal(G,D) then return true; fi; N:= Normalizer(G, D); if IsPGroup(D) then return IsWeaklyNormal(G, D); fi; Om := Elements( ConjugacyClassSubgroups(G, D) ); P := Operation( G, Om ); St := Stabilizer( P, 1 ); pst := Difference( Elements(P), Elements(St) ); for x in pst do u := 1; w := [1]; F := D; repeat u := u^x; Add(w, u); F := Closure( F, Om[u] ); until u <> 1; if not IsComplete( F, D ) then return false; fi; od; return true; end; IsWeaklyPronormal := function(G,D) local N, p, P, Om, St, pst, u, x, w, D1, DC, F; if IsNormal(G,D) then return true; fi; N:= Normalizer(G, D); if IsPGroup(D) then return IsWeaklyNormal(G, D); fi; Om := Elements( ConjugacyClassSubgroups(G, D) ); P := Operation( G, Om ); St := Stabilizer( P, 1 ); pst := Difference( Elements(P), Elements(St) ); for x in pst do u:= 1^x; w:=[1, u]; D1 := Om[u]; F := D; repeat u := u^x; Add(w,u); DC := Om[u]; F := Closure( F, DC ); until u <> 1; if not IsConjugate( F, D, D1 ) then return false; fi; od; return true; end; IsWeaklyAbnormal := function( G, D ) return IsWeaklyPronormal( G, D ) and Normalizer( G, D ) = D; end; # 'IsStrPolynormal' returns true iff the subgroup D is strongly polynormal # in G, i.e. if for any element x in G the commutator equality # [[X, D], D]=[X, D] for the cyclic subgroup X generated by x # holds. The program checks this equality for each representative # of Orbits(D, Elements(G)). IsStrPolynormal := function( G, D ) local ccgd, i, x, X, H, HH; if not IsPolynormal(G, D) then return false; fi; ccgd:= Orbits(D, Elements(G)); for i in ccgd do x:= i[1]; X:= Subgroup(G, [x]); H:=CommutatorSubgroup(D, X); HH:=CommutatorSubgroup(D, H); if Size(H) <> Size(HH) then return false; fi; od; return true; end ; # The function 'elc(x, D, G)' returns the commutator subgroup # [x, D] for an element $ x \in G $ and $ D \le G $. elc:= function(x, D, G) local i, S, U; S:= TrivialSubgroup(G); for i in D.generators do S:=Closure(S, Comm(x,i)); od; U:= NormalClosure(D, S); return U; end; # 'IsStrParanormal' returns "true" iff D is a strongly paranormal subgroup in G, # i.e if for any element x in G the commutator equality [[x, D], D]=[x, D] # holds. Again, it is enough to check it for representatives of # Orbits(D, Elements(G)). IsStrParanormal := function(G, D) local ccgd, i, x, H, HH ; if not IsParanormal(G, D) then return false; fi; ccgd:= Orbits(D, Elements(G)); for i in ccgd do x:= i[1]; H:= elc(x, D, G); HH:= CommutatorSubgroup(D, H); if Size(H) <> Size(HH) then return false; fi; od; return true; end ;