|
In the following description, G is a finite permutation group, p is a prime
number, and K is the finite field of order p. Further,
F is a finitely presented group having the same number of generators as G,
and is such that its relations are satisfied by the corresponding generators of
G. In other words, the mapping taking the i-th generator of F to the
i-th generator of G must be an epimorphism. Usually this mapping will be an
isomorphism, although this is not mandatory.
The algorithms used are those of Holt, see [Hol84],
[Hol85a] and [Hol85b].
Given the group G and a prime p, return the invariant factors
of the p-part of the Schur multiplicator of G.
Given the group G and the finitely presented group F such that G is
an epimorphic image of G in the sense described above, return a
presentation for the p-cover of G, constructed as an extension of
the p-multiplier by F.
Given the group G, the K[G]-module M and an integer i (equal to
1 or 2), return the dimension of the i-th cohomology group of G
acting on M.
Create an extension process for the group G by the module M.
[Future release] NextExtension(P) : Process -> GrpFP
Return the next extension of G as defined by the process P.
Assume that F is isomorphic to the permutation group G, and that
we wish to determine presentations for one or more extensions of the
K-module M by F, where K is the field of p elements.
We first create an extension process using
ExtensionProcess(G, M, F). The possible extensions of M by G
are in one-one correspondence with the elements of the second cohomology
group H2(G, M) of G acting on M. Let b1, ..., bl be a basis
of H2(G, M). A general element of H2(G, M) therefore has the form
a1b1 + ... + albl and so can be defined by a sequence Q of
l integers [a1, ..., al]. Now, to construct the corresponding
extension of M by G we call the function Extension(P, Q).
The required extension is returned as a finitely presented group. If all the
extensions are required then they may be obtained successively by
making pl calls to the function NextExtension.
The split extension of the module M by the group G.
We construct a presentation for A 6 over its Schur
multiplicator. First we find the size of the multiplicator by
applying the pMultiplicator function to each relevant prime.
> G := Alt(6);
> &cat [pMultiplicator(G, p[1]): p in FactoredOrder(G)];
[ 2, 3, 1 ]
The multiplicator has order 2 x 3 = 6. We next construct the
two-fold cover of A6. We use the FPGroup function to
get a presentation for A6.
> F := FPGroup(G);
> F2 := pCover(G, F, 2);
Now we construct a three-fold cover of the two-fold cover to get the
extension we are after. First we need a permutation representation of
F2, the two-fold covering group.
> G2 := DegreeReduction(CosetImage(F2, sub<F2|>));
> Degree(G2);
144
> #G2;
720
> F6 := pCover(G2, F2, 3);
> F6;
Finitely presented group F6 on 4 generators
Relations
F6.4^3 = Id(F6)
(F6.1, F6.4) = Id(F6)
(F6.2, F6.4) = Id(F6)
(F6.3, F6.4) = Id(F6)
F6.3^2 = Id(F6)
(F6.1, F6.3) = Id(F6)
(F6.2, F6.3) = Id(F6)
F6.1^4 * F6.3 = Id(F6)
F6.2^3 * F6.3 = Id(F6)
F6.1^-1 * F6.2^-1 * F6.1 * F6.2 * F6.1^-1 * F6.2^-1 *
F6.1 * F6.2 * F6.3 * F6.4 = Id(F6)
F6.1^-1 * F6.2 * F6.1^2 * F6.2 * F6.1^2 * F6.2 *
F6.1^-2 * F6.2 * F6.1^-1 * F6.3 * F6.4^-1 = Id(F6)
F6.2 * F6.1 * F6.2 * F6.1 * F6.2 * F6.1 * F6.2 *
F6.1 * F6.2 * F6.1 * F6.3 * F6.4 = Id(F6)
> AbelianQuotientInvariants(F6);
[]
The group F6 is the six-fold cover of A6. We easily see from
the presentation that the 3rd and 4th generators generate a central
cyclic subgroup of order 6. The sequence of invariants for the
maximal abelian quotient of F6 is empty, so F6 is perfect.
We construct an extension of A 5. This time the normal
subgroup will be elementary abelian of order 2 5, with the action of A 5
being the natural permutation action.
> G := Alt(5);
> M := PermutationModule(G, GF(2));
> CohomologicalDimension(G, M, 2);
1
The dimension of the 2nd cohomology group is 1 over GF(2), so there are
two possible extensions. We will construct them both.
> F := FPGroup(G);
> P := ExtensionProcess(G, M, F);
> E0 := Extension(P, [0]);
> E1 := Extension(P, [1]);
> AbelianQuotientInvariants(E0);
[ 2 ]
> AbelianQuotientInvariants(E1);
[]
The split extension, E0, is not perfect, but the non-split extension,
E1, is a perfect group.
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|