[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Normal Subgroups and Subgroup Series

Subsections

Characteristic Subgroups

Centre(G) : GrpPC -> GrpPC
Center(G) : GrpPC -> GrpPC
The centre of the group G.
CommutatorSubgroup(G) : GrpPC -> GrpPC
DerivedSubgroup(G) : GrpPC -> GrpPC
DerivedGroup(G) : GrpPC -> GrpPC
The derived subgroup of the group G.
FittingSubgroup(G) : GrpPC -> GrpPC
FittingGroup(G) : GrpPC -> GrpPC
The Fitting subgroup of the group G.
FrattiniSubgroup(G) : GrpPC -> GrpPC
The Frattini subgroup of the group G.
Hypercentre(G) : GrpPC -> GrpPC
Hypercenter(G) : GrpPC -> GrpPC
The hypercentre of the group G, i.e. the stationary term in the upper central series for G.
pCore(G, S) : GrpPC, { RngIntElt } -> GrpPC
pCore(G, S) : GrpPC, RngIntElt -> GrpPC
The maximal normal pi-subgroup of G, O_(pi)(G), where pi is defined by S. The argument S may be a set of primes, a single prime, or the negation of a single prime. If S = - p, then O_(p')(G) is returned.

Subgroup Series

AbelianBasis(G) : GrpPC -> [ GrpPCElt ], [ RngIntElt ]
Given an abelian group G, return sequences B and I such that ( order)(B[i]) = I[i] and < B > = G and the terms of I give the types of each p-primary component of G.
AbelianInvariants(G) : GrpPC -> [RngIntElt]
Invariants(G) : GrpPC -> [RngIntElt]
The abelian invariants of the abelian group G as a sequence of integers.
ChiefSeries(G) : GrpPC -> [GrpPC]
A chief series for the group G. The series is returned as a sequence of subgroups of G.
CompositionSeries(G) : GrpPC -> [GrpPC]
A composition series for the group G. The series is returned as a sequence of subgroups of G. The i-th term of the composition series has a presentation given by the generators G.i through G.NPCgens(G) and relations involving those generators only.
CompositionFactors(G) : GrpPC -> SeqEnum
A sequence of integer tuples that describe the composition factors, ordered according to some composition series for the group G. Since each factor will be a cyclic group of prime order, the tuples will each be of the form <19, 0, q> representing the cyclic group of order q. The sequence has a custom print routine.
CompositionSeries(G, i) : GrpPC, RngIntElt -> [GrpPC]
The i + 1-th entry of the composition series for the group G. Its presentation is given by the generators G.(i + 1) through G.m, where m is the number of pc-generators of G and relations involving these generators only.
DerivedSeries(G) : GrpPC -> [GrpPC]
The derived series of the group G. The series is returned as a sequence of subgroups.
DerivedLength(G) : GrpPC -> RngIntElt
The derived length of the group G.
ElementaryAbelianSeries(G) : GrpPC -> [GrpPC]
An elementary abelian series is a chain of normal subgroups with the property that the quotient of each pair of successive terms in the series is elementary abelian. The elementary abelian series for the group G is returned as a sequence of subgroups.
LowerCentralSeries(G) : GrpPC -> [GrpPC]
The lower central series for the group G. The series is returned as a sequence of subgroups.
NilpotencyClass(G) : GrpPC -> RngIntElt
If G is nilpotent, return the nilpotence class of G. Otherwise, -1 is returned.
pCentralSeries(G, p) : GrpPC, RngIntElt -> [GrpPC]
The p-central series for G, where p is a prime dividing |G|. The series is returned as a sequence of subgroups. The p-central series P_1 triangleright P_2 triangleright ... triangleright P_i of a soluble group G is defined inductively as follows:
SubnormalSeries(G, H) : GrpPC, GrpPC -> [GrpPC]
Given a group G and a subgroup H of G, return a sequence of subgroups commencing with G and terminating with H, such that each subgroup is normal in the previous one. If H is not subnormal in G, the empty sequence is returned.
UpperCentralSeries(G) : GrpPC -> [GrpPC]
The upper central series of G. The series is returned as a sequence of subgroups.

Example GrpPC_EAS (H25E20)

The elementary abelian series of the group D_3 wreath D_5 has terms of the following orders:

> H := DihedralGroup(GrpPerm, 5);
> G := WreathProduct(DihedralGroup(GrpPC, 3), DihedralGroup(GrpPC, 5),
>       [H.2, H.1]);
> EAS := ElementaryAbelianSeries(G);
> for i := 1 to #EAS do
>    print FactoredOrder(EAS[i]);
> end for;
    [ <2, 6>, <3, 5>, <5, 1> ]
    [ <2, 4>, <3, 5>, <5, 1> ]
    [ <2, 4>, <3, 5> ]
    [ <3, 5> ]
    []
Hence the elementary abelian factors can be seen to have sizes 2^2, 5, 2^4, and 3^5, reading from top to bottom.

Normal Subgroups and Complements

NormalSubgroups(G) : GrpPC -> SeqEnum
The collection of all normal subgroups of G returned as a sequence.
NormalLattice(G) : GrpPC -> SubGrpLat
The lattice of normal subgroups of G.

MinimalNormalSubgroup(G) : GrpPC -> GrpPC
An elementary abelian minimal normal subgroup of the soluble group G.
MinimalNormalSubgroup(G, N) : GrpPC -> GrpPC
Given a non-trivial, normal subgroup N of G, return an elementary abelian minimal normal subgroup of G contained in N.
Complements(G, N) : GrpPC, GrpPC -> SeqEnum
Given a normal subgroup N of G, return conjugacy class representatives of all complements of N in G. This function implements the first cohomology computation described in [CNW90].
NormalComplements(G, N) : GrpPC, GrpPC -> SeqEnum
Given a normal subgroup N of G, return all normal complements of N in G. This function implements the first cohomology computation described in [CNW90].
NormalComplements(G, H, N) : GrpPC, GrpPC -> SeqEnum
Given a normal subgroup N of G, and a normal subgroup H of G containing N, return all complements of N in H which are normal in G. This function implements the first cohomology computation described in [CNW90].

Example GrpPC_NormalComplements (H25E21)

We define the direct product of an extraspecial group of order 3^3 and D_3 and let N be the first factor of this product. Inside the Sylow 3-subgroup, we see that N has 11 classes of complements, three of which are normal.

> A := ExtraSpecialGroup(GrpPC,3,1);
> B := DihedralGroup(GrpPC,3);
> G,f,p := DirectProduct(A,B);
> N := f[1](A);
> S3 := Sylow(G,3);
> cS := Complements(S3,N);
> [Index(S3,Normalizer(S3,t)):t in cS];
[ 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3 ]
We can compute only the normal complements by using NormalComplements.

> ncS := NormalComplements(S3,N);
> #ncS;
3
We can check that precisely one of these three complements is actually normal in G.

> [IsNormal(G,t):t in ncS];
[ true, false, false ]
Since N has a G-normal complement in S3, we must have S3 normal in G. We can verify this. Using the three-parameter version of NormalComplements we can directly compute the G-normal complements of N in S3.

> IsNormal(G,S3);
true
> ncG := NormalComplements(G,S3,N);
> #ncG;
1
> #NormalComplements(G,N);
1

 [Next][Prev] [Right] [Left] [Up] [Index] [Root]