Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind

### 5 Local Functions in the PERMUT Package

In the study of permutability, the usage of local characterisations has become a useful tool to describe the classes of T-groups, PT-groups, and PST-groups. In this chapter we present some local characterisations of these classes and some functions which allow to check whether or not a group given in GAP satisfies these conditions.

A local description of group-theoretical property consists of expressing it as the conjunction of some properties depending on a prime p, usually related to the behaviour of p-elements, p-subgroups, or p-chief factors, for all primes p.

#### 5.1 A Local Function for Supersolubility

The GAP library does not contain methods to check whether a group G is p-supersoluble, where p is a prime number. We include such a function in the PERMUT package.

##### 5.1-1 IsPSupersolvable
 ‣ IsPSupersolvable( G, p ) ( function )
 ‣ IsPSupersoluble( G, p ) ( function )

This function returns true if the group G is p-supersoluble, and false otherwise, where p is a prime number. This function is not defined in GAP. The method we have implemented for finite groups includes checking whether the group is supersoluble (in this case, it must return true). If the group is not soluble, it computes a chief series and checks whether all chief factors have order p or have order not divisible by p.

gap> g:=Group((1,2,3,4,5,6,7), (8,9,10,11,12,13,14), (15,16,17,18,19,20,21),
> (22,23,24,25,26,27,28), (29,30,31,32,33,34,35),
> (1,8,15,22,29)(2,9,16,23,30)(3,10,17,24,31)(4,11,18,25,32)(5,12,19,26,
>     33)(6,13,20,27,34)(7,14,21,28,35),
> (1,8)(2,9)(3,10)(4,11)(5,12)(6,13)(7,14)); #C7 wr S5
<permutation group with 7 generators>
gap> IsPSupersolvable(g,7);
false
gap> IsPSupersolvable(g,11);
true

gap> g:=DirectProduct(PSL(2,7),
>     Group((1,2,3,4,5,6,7,8,9,10,11), (2,5,6,10,4)(3,9,11,8,7)));
Group([ (3,7,5)(4,8,6), (1,2,6)(3,4,8), (9,10,11,12,13,14,15,16,17,18,19),
(10,13,14,18,12)(11,17,19,16,15) ])
gap> IsPNilpotent(g,5);
true
gap> IsPNilpotent(g,11);
false
gap> IsPSupersolvable(g,11);
true
gap> IsPNilpotent(g,3);
false


#### 5.2 Local functions for T-groups, PT-groups, and PST-groups

The following functions correspond to local description of the classes of soluble T-groups, PT-groups, and PST-groups. Most of the known useful local characterisations of these classes of groups can be seen to be equivalent to one of them, either in the universe or all finite groups or in the universe of all finite p-soluble groups. By a local characterisation of a group-theoretical property R we mean a group-theoretical property R_p for each prime p such that a group satisfies R if and only if it satisfies R_p for all primes p.

##### 5.2-1 IsCp
 ‣ IsCp( G, p ) ( function )

This function returns true if the group G satisfies the property C_p, where p is a prime number, and false otherwise.

A group G satisfies C_p when every subgroup H of a Sylow p-subgroup P of G is normal in the corresponding Sylow normaliser N_G(P). This property was introduced by Robinson in [Rob68]. A group G is a soluble PST-group if and only if it satisfies C_p for all primes p.

gap> g:=AlternatingGroup(5);
Alt( [ 1 .. 5 ] )
gap> IsCp(g,3);
true
gap> IsCp(g,5);
true
gap> IsCp(g,7);
true
gap> IsCp(g,2);
false
gap> g:=SmallGroup(200,44); # semidirect product of Q8 with C5xC5
<pc group of size 200 with 5 generators>
gap> IsCp(g,5);
false
gap> IsCp(g,2);
true


##### 5.2-2 IsXp
 ‣ IsXp( G, p ) ( function )

This function returns true if G satisfies X_p, where p is a prime, and false otherwise.

A group G satisfies X_p when for every subgroup H of a Sylow p-subgroup P of G, H is permutable in N_G(P). This property was introduced by Beidleman, Brewster, and Robinson in [BBR99]. A group G is a soluble PT-group if and only if G satisfies X_p for all primes p.

gap> g:=SmallGroup(189,7);
<pc group of size 189 with 4 generators>
gap> IsXp(g,3);
true
gap> IsXp(g,7);
true
gap> IsPTGroup(g);
true
gap> IsCp(g,3);
false
gap> IsTGroup(g);
false


##### 5.2-3 IsYp
 ‣ IsYp( G, p ) ( function )

This function returns true if G satisfies Y_p, where p is a prime, and false otherwise.

A group G satisfies Y_p when for every two subgroups H and K with H≤ K, H is S-permutable in N_G(P). This property was introduced by Ballester-Bolinches and Esteban-Romero in [BBER02]. A group G is a soluble PST-group if and only if G satisfies Y_p for all primes p.

gap> g:=SmallGroup(200,43); # semidirect product of D8 with C5xC5
<pc group of size 200 with 5 generators>
gap> IsCp(g,2);
false
gap> IsXp(g,2);
false
gap> IsYp(g,2);
true
gap> g:=Group((1,2,3)(4,5,6),(1,2));
Group([ (1,2,3)(4,5,6), (1,2) ])
gap> IsYp(g,3);
false
gap> IsYp(g,2);
true


#### 5.3 Auxiliary Functions for T-groups, PT-groups, and PST-groups

The following functions are used to check whether or not a group is a soluble T-group, PT-group, or PST-group.

##### 5.3-1 IsAbCp
 ‣ IsAbCp( G, p ) ( function )

This function returns true if G has an abelian Sylow p-subgroup p such that every subgroup of P is normal in the Sylow normaliser N_G(P), and false otherwise.

This function is used to characterise soluble PST-groups: a group G is a soluble PST-group if and only if G satisfies Y_p for all primes p, and a group G satisfies Y_p if and only if G is p-nilpotent or G has an abelian Sylow p-subgroup and satisfies C_p. A group G satisfies C_p if and only if every subgroup of a Sylow p-subgroup P of G is normal in the Sylow normaliser N_G(P). Therefore this function checks whether G has an abelian Sylow p-subgroup and G satisfies C_p.

gap> g:=AlternatingGroup(5);
Alt( [ 1 .. 5 ] )
gap> IsAbCp(g,5);
true


##### 5.3-2 IsDedekindSylow
 ‣ IsDedekindSylow( G, p ) ( function )

This function returns true if a Sylow p-subgroup of G is Dedekind, else it returns false.

A group G is Dedekind when every subgroup of G is normal. If p is a prime, a Dedekind p-group (see for example 2.3.12 in [Sch94]) is abelian or a direct product of a quaternion group of order 8 and an elementary abelian 2-group. Obviously, a p-group is Dedekind if and only if it is a T-group.

The algorithm used in this function to test whether a non-abelian 2-group satisfies this condition checks that the Frattini subgroup of a Sylow 2-subgroup P of G has order 2 and that the centre of P has exponent 2 and index 4. In this case, it computes the natural epimorphism from P to P/Z(P) and it checks that the preimages of the generators of P/Z(P) under the natural epimorphism have order 4. If all these conditions hold, then the Sylow 2-subgroup is Dedekind, otherwise it is not.

This function tries to set the property IsTGroup (4.2-1) to true or false for the Sylow p-subgroup.

gap> g:=DirectProduct(SmallGroup(8,4),CyclicGroup(5));
<pc group of size 40 with 4 generators>
gap> IsDedekindSylow(g,2);
true


##### 5.3-3 IwasawaTripleWithSubgroup
 ‣ IwasawaTripleWithSubgroup( G, X, p ) ( function )

This function returns an Iwasawa triple for a p-group G such that X is a member of it, if such a triple exists, and fail otherwise. This function is used as an auxiliary function to compute an Iwasawa triple for a group G.

An Iwasawa triple for a p-group G is a triple (X,b,s) such that X is an abelian normal subgroup of G with cyclic quotient, b is a generator of a supplement to X in G, and b induces a power automorphism in X of the form x-> x^1+p^s. A theorem of Iwasawa states that a p-group G has a modular subgroup lattice (or, equivalently, G has all subgroups permutable) if and only if G is a direct product of a quaternion group of order 8 and an elementary abelian 2-group or G has an Iwasawa triple (X,b,s) with s ≥ 2.

The construction of the Iwasawa triple takes a generator b of a cyclic supplement to X in G. Then we consider a generator a of X of the largest possible order and find an element c of ⟨ b ⟩ and an element s such that a^c = a^1+p^s. If such an element does not exist, the function returns fail. For this element, it checks whether for all generators t of X, the equality t^c = t^1+p^s holds. If this holds, it returns the triple (X, c, s); otherwise it returns fail.

gap> e:=ExtraspecialGroup(27,9);
<pc group of size 27 with 3 generators>
gap> IwasawaTripleWithSubgroup(e,Subgroup(e,[e.1,e.3]),3);
[ Group([ f1, f3 ]), f2, 1 ]


##### 5.3-4 IwasawaTriple
 ‣ IwasawaTriple( G ) ( attribute )

This function computes an Iwasawa triple for the p-group G, if it exists. If G is not Iwasawa, the function returns fail. If G is a direct product of an elementary abelian 2-group and a quaternion group of order 8, it returns an empty list. If G is Iwasawa, then the function returns an Iwasawa triple for G. An Iwasawa triple for a group G is a triple (X, b, s) where X is an abelian normal subgroup of G such that G/X is cyclic, b is a generator of a cyclic supplement to X in G, and s is an integer such that for all x ∈ X, x^b = x^1+p^s. A theorem of Iwasawa states that a p-group G has a modular subgroup lattice (or, equivalently, G has all subgroups permutable) if and only if G is a direct product of an elementary abelian 2-group and a quaternion group of order 8 or G has an Iwasawa triple (X,b,s) with s ≥ 2 if p = 2.

The method followed to find an Iwasawa triple for non-abelian non-Dedekind groups begins with the whole group G. If the group is abelian, it returns the Iwasawa triple (G,1,log_pexp(G)). If it is not abelian, it constructs a list l formed by G. For every element N of l, it takes the maximal subgroups of N which are normal in G and give cyclic quotient. If any of these subgroups is a member of an Iwasawa triple, it is computed with the function IwasawaTripleWithSubgroup (5.3-3) and the value is returned. If not, N is removed from the l and these maximal subgroups of N are added to l. This follows until an Iwasawa triple is found or the list l is empty. Since normal subgroups with cyclic quotient are contained in a unique maximal chain, no subgroup appears twice in this algorithm.

The algorithm also takes into account the fact that a Iwasawa group of exponent 4 must be abelian or a direct product of a quaternion group of order 8 and an elementary abelian 2-group.

For the trivial group, it returns the triple composed by the trivial group, its identity element, and the prime 3.

gap> e:=ExtraspecialGroup(27,3);
<pc group of size 27 with 3 generators>
gap> IwasawaTriple(e);
fail
gap> e:=ExtraspecialGroup(27,9);
<pc group of size 27 with 3 generators>
gap> IwasawaTriple(e);
[ Group([ f1, f3 ]), f2, 1 ]


##### 5.3-5 IsIwasawaSylow
 ‣ IsIwasawaSylow( G, p ) ( function )

This function returns true if G has an Iwasawa (modular) Sylow p-subgroup, and false otherwise.

Recall that a p-group P has a modular subgroup lattice, or is an Iwasawa group, when all subgroups of P are permutable. It is clear that a p-group has a modular subgroup lattice if and only if it is a T-group.

The implementation of this function begins by searching for a pair of subgroups that do not permute. In this case, the function returns false. The maximum number of pairs to be checked here is controlled by the variable PermutMaxTries (3.2-1), which is assigned to 10 by default. If no such pair is found, the algorithm looks for an Iwasawa triple for a Sylow p-subgroup P of G. If there exists one such triple (X,b,s) with s ≥ 2 when p = 2 or the group is a direct product of a quaternion group of order 8 and an elementary abelian 2-group, then it returns true; else it returns false.

The values of the attributes IsPTGroup (4.2-2) and IsTGroup (4.2-1) for P are set by the function.

gap> e:=ExtraspecialGroup(27,9);
<pc group of size 27 with 3 generators>
gap> IsIwasawaSylow(e,3);
true

Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind

generated by GAPDoc2HTML