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

Subgroups

Subsections

Construction of Subgroups

sub<G | L> : GrpMat, List -> GrpMat
Given the matrix group G, construct the subgroup H of G generated by the elements specified by the list L, where L is a list of one or more items of the following types: Each element or group specified by the list must belong to the same generic matrix group. The subgroup H will be constructed as a subgroup of some group which contains each of the elements and groups specified in the list.

The generators of H consist of the elements specified by the terms of the list L together with the stored generators for groups specified by terms of the list. Repetitions of an element and occurrences of the identity element are removed.

ncl<G | L> : GrpMat, List -> GrpMat
Given the matrix group G, construct the subgroup H of G that is the normal closure of the subgroup H generated by the elements specified by the list L, where the possibilities for L are the same as for the sub-constructor.

Example GrpMat_Subgroups (H21E15)

We define O^(-)(4, 2) as a subgroup of GL(4, 2). Recall that O^(-)(4, 2) is isomorphic to S_5. We then locate a subset of its generators that lie within the subgroup isomorphic to A_5.

> GL42 := GeneralLinearGroup(4, GF(2));
> Ominus42 := sub< GL42 | [1,0,0,0, 1,1,0,1, 1,0,1,0, 0,0,0,1 ],
>                               [0,1,0,0, 1,0,0,0, 0,0,1,0, 0,0,0,1 ],
>                               [0,1,0,0, 1,0,0,0, 0,0,1,0, 0,0,1,1 ] >;
> Order(Ominus42);
120
> H := sub< Ominus42 | $.1, $.3 >;
print Order(H);
10
> N := ncl< Ominus42 | $.1, $.3 >;
> Order(N);
60

Elementary Properties of Subgroups

Index(G, H) : GrpMat, GrpMat -> RngIntElt
The index of the subgroup H in the group G. The index is returned as an integer. If the orders of G and H are not known, they will be computed.
FactoredIndex(G, H) : GrpMat, GrpMat -> [ <RngIntElt, RngIntElt> ]
The index of the subgroup H in the group G. The index is returned as a factored integer. The factorization is returned in the form of a sequence Q which is defined as follows: If [ G : H ] = p_1^(e_1) ... p_n^(e_n), e_i != 0, then Q will be the integer sequence [ <p_1, e_1>, ..., <p_n, e_n> ]. If the orders of G and H are not known, they will be computed.
IsCentral(G, H) : GrpMat -> BoolElt
True if the subgroup H of the group G lies in the centre of G, false otherwise.
IsMaximal(G, H) : GrpMat, GrpMat -> BoolElt
True if the subgroup H of the group G is a maximal subgroup of G. This function is evaluated by constructing the permutation representation of G on the cosets of H and testing this representation for primitivity. For this reason, the use of IsMaximal should be avoided if the index of H in G exceeds a few thousand.
IsNormal(G, H) : GrpMat, GrpMat -> BoolElt
True if the subgroup H of the group G is a normal subgroup of G, false otherwise.
IsSubnormal(G, H) : GrpMat, GrpMat -> BoolElt
True if the subgroup H of the group G is subnormal in G, false otherwise.

Standard Subgroups

H ^ g : GrpMat, GrpMatElt -> GrpMat
Conjugate(H, g) : GrpMat, GrpMatElt -> GrpMat
Construct the conjugate g^(-1) * H * g of the matrix group H by the matrix g. The group H and the element g must belong to a common matrix group.
H meet K : GrpMat, GrpMat -> GrpMat
Given groups H and K which belong to the same matrix group, construct the intersection of H and K.
CommutatorSubgroup(G, H, K) : GrpMat, GrpMat, GrpMat -> GrpMat
CommutatorSubgroup(H, K) : GrpMat, GrpMat -> GrpMat
Given subgroups H and K of the group G, construct the commutator subgroup of H and K relative to G. If K is a subgroup of H, then G may be omitted.
Centralizer(G, g) : GrpMat, GrpMatElt -> GrpMat
Construct the centralizer of the matrix g in the group G; g and G must belong to a common matrix group.
Centralizer(G, H) : GrpMat, GrpMat -> GrpMat
Construct the centralizer of the group H in the group G; G and H must belong to a common matrix group.
Core(G, H) : GrpMat, GrpMat -> GrpMat
Given a subgroup H of the matrix group G, construct the maximal normal subgroup of G that is contained in the subgroup H.

H ^ G : GrpMat, GrpMat -> GrpMat
NormalClosure(G, H) : GrpMat, GrpMat -> GrpMat
Given a subgroup H of the matrix group G, construct the normal closure of H in G.
[Future release] Normalizer(G, H) : GrpMat, GrpMat -> GrpMat
Given a subgroup H of the group G, construct the normalizer of H in G.
SylowSubgroup(G, p) : GrpMat, RngIntElt -> GrpMat
Sylow(G, p) : GrpMat, RngIntElt -> GrpMat
Given a group G and a prime p, construct the Sylow p-subgroup of G.
pCore(G, p) : GrpMat, RngIntElt -> GrpMat
Given a group G and a prime p dividing the order of G, construct the maximal normal p-subgroup of G.

Low Index Subgroups

LowIndexSubgroups(G, R : parameters) : GrpMat, RngIntElt -> [ GrpMat ]
LowIndexSubgroups(G, R: parameters) : GrpMat, <RngIntElt, RngIntElt> -> [ GrpMat ]
Given a matrix group G, and an expression R defining a positive integer range (see below), determine the conjugacy classes of subgroups of G whose indices lie in the range specified by R. The subgroups are returned as a sequence of subgroups of G.

The argument R is one of the following:

The subgroups are constructed using an algorithm due to Leedham-Green & O'Brien [LGO00]. In practice, the algorithm is most useful for small values of n, say up to 8.

The algorithm proceeds by iteratively constructing better approximations to finite presentations for G/K, where K is the intersection of kernels of all homomorphisms from G into S_n, and applying LowIndexSubgroups to the resulting finitely-presented group. The output information displayed for various values of the Print parameter about the number and existence of putative subgroups of index at most n refers to the current finite presentation only, may change as this presentation is further refined, and need not be reflected in the final answer.

     Limit: RngIntElt                    Default: Infinity

Terminate after finding n conjugacy classes of subgroups satisfying the designated conditions.

     Print: RngIntElt                    Default: 0

The Print parameter takes values from 0 to 3. The information displayed


Example GrpMat_LowIndexMatrixGroup (H21E16)

> G := GL (4, 5);
> L := LowIndexSubgroups (G, 4);     
> #L;
3
> L[3]; 
MatrixGroup(4, GF(5))
Generators:
    [4 0 0 4]
    [1 0 0 0]
    [0 4 0 0]
    [0 0 4 0]


    [4 0 0 3]
    [3 0 0 0]
    [0 4 0 0]
    [0 0 4 0]


    [4 0 0 1]
    [4 0 0 0]
    [0 4 0 0]
    [0 0 4 0]


    [4 0 0 2]
    [2 0 0 0]
    [0 4 0 0]
    [0 0 4 0]

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