[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Construction of an R[G]-Module

Construction of an R[G]-Module

Magma provides extensive facilities for defining and computing with R[G]-modules, where G is a finite group and R is a ring. Owing to the importance of R[G]-modules and also because of the existence of effective computational methods, a richer class of functions is provided for computing with such modules (particularly in the case where R is a finite field). In order for these functions to be applicable to a module M, it is necessary for M to be defined using one of the creation functions listed here. Thus, unless otherwise stated, when referring to a R[G]-module, we will assume that the module has been created using one of the functions defined here. The system supports the creation of R[G]-modules, where R is a principal ideal domain (PID). However, the user should note that some specialist functions for R[G]-modules are only applicable to K[G]-modules, where G is a finite group and K is a finite field.

An R[G]-module of dimension m is always represented with respect to the standard basis for the vector space of dimension m.

GModule(G, S) : Grp, AlgMat -> ModGrp
Let G be a group defined on r generators and let S be a subalgebra of the matrix algebra M_n(R), also defined by r non-singular matrices. It is assumed that the mapping from G to S defined by phi(G.i) |-> S.i, for i = 1, ..., r, is a group homomorphism. Let M be the natural module for the matrix algebra S. The function GModule gives M the structure of an S[G]-module, where the action of the i-th generator of G on M is given by the i-th generator of S.

GModule(G, Q) : Grp, [ AlgMatElt ] -> ModGrp
GModule(G, Q) : Grp, [ GrpMatElt ] -> ModGrp
Let G be a group defined on r generators and let Q be a sequence of r invertible elements of M_n(R) or GL(n, R). It is assumed that the mapping from G to Q defined by phi(G.i) |-> Q[i], for i = 1, ..., r, is a group homomorphism.

GModule(G, R) : GrpPerm, Rng -> ModGrp
Given a finite permutation group G and a ring R, create the natural permutation module for G over R.
GModule(G) : GrpMat -> ModGrp
Given a matrix group G defined as a subgroup of the group of units of the ring End_R(M), where R is a PID, create the natural R[G]-module for G.

GModule(G, A, B) : Grp, Grp, Grp -> ModGrp, Map
Given a finite group G, a normal subgroup A of G and a normal subgroup B of A such that the section A/B is elementary abelian of order p^n, create the K[G]-module M corresponding to the action of G on A/B, where K is the field GF(p). If B is trivial, it may be omitted. The function returns
GModule(G, P, d) : Grp, RngMPol, RngIntElt -> ModGrp, Map, @ RngMPolElt @
Given a finite permutation or matrix group G of degree n, a polynomial ring P=K[x_1, ..., x_n] over a field K, and a non-negative integer d, create the K[G]-module M corresponding to the action of G on the space of homogeneous polynomials of degree d of the polynomial ring P. The function also returns the isomorphism f between the space of homogeneous polynomials of degree d of P and M, together with an indexed set of monomials of degree d of P which correspond to the columns of M.

GModule(G, I, J) : Grp, RngMPol, RngMPol -> ModGrp, Map, @ RngMPolElt @
Given a finite permutation or matrix group G of degree n, an ideal I of a multivariate polynomial ring P=K[x_1, ..., x_n] over a field K, and a zero-dimensional subideal J of I, create the K[G]-module M corresponding to the action of G on the finite-dimensional quotient I/J. The function also returns the isomorphism f between the quotient space I/J and M, together with an indexed set of monomials of P, forming a (vector space) basis of I/J, and which correspond to the columns of M.

GModule(G, Q) : Grp, RngMPolRes -> ModGrp, Map, @ RngMPolElt @
Given a finite permutation or matrix group G of degree n, and a finite-dimensional quotient ring Q=I/J of a multivariate polynomial ring P=K[x_1, ..., x_n] over a field K, create the K[G]-module M corresponding to the action of G on the finite-dimensional quotient Q. The function also returns the isomorphism f between the quotient ring Q and M, together with an indexed set of monomials of P, forming a (vector space) basis of Q, and which correspond to the columns of M.
PermutationModule(G, H, R) : Grp, Grp, Rng -> ModGrp
Given a finite group G and a ring R, create the R[G]-module for G corresponding to the permutation action of G on the cosets of H.
PermutationModule(G, R) : Grp, Rng -> ModGrp
Given a finite permutation group G and a ring R, create the natural permutation module for G over R.
PermutationModule(G, M) : Grp, ModTup -> ModGrp
Given a finite permutation group G of degree n and the module M, create the natural permutation module for G on M.

PermutationModule(G, u) : Grp, ModTupElt -> ModGrp
Given a finite permutation group G of degree n, and a vector u belonging to the free S-module M = R^n where S is a PID, construct the R[G]-module corresponding to the action of G on the R-submodule of M generated by the set of vectors obtained by applying the permutations of G to the vector u.
TrivialModule(G, R) : Grp, Rng -> ModGrp
Create the trivial R[G]-module for the finite group G.

Example RMod_CreateL27 (H42E3)

We construct a 3-dimensional module for PSL(2, 7) over GF(2). The action of the group on M is described in terms of two elements, x and y, of the ring of 3 x 3 matrices over GF(2).

> PSL27 := PermutationGroup< 8 | (2,3,5)(6,7,8), (1,2,4)(3,5,6) >;
> S := MatrixAlgebra< FiniteField(2), 3 |
>        [ 0,1,0,  1,1,1,  0,0,1 ], [ 1,1,1,  0,1,1,  0,1,0 ] >;
> M := GModule(PSL27, S);
> M: Maximal;
GModule M of dimension 3 with base ring GF(2)
Generators of acting algebra:

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

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


Example RMod_CreateM12 (H42E4)

We construct the permutation module for the Mathieu group M_(12) over the field GF(2).

> M12 := PermutationGroup<12 |
>       (1,2,3,4,5,6,7,8,9,10,11),
>       (1,12,5,2,9,4,3,7)(6,10,11,8) >;
> M := PermutationModule(M12, FiniteField(2));
> M : Maximal;
GModule M of dimension 12 with base ring GF(2)
Generators of acting algebra:

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

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


Example RMod_CreateA7 (H42E5)

We construct the constituent of the permutation module for the alternating group of degree 7 that contains the vector (1, 0, 1, 0, 1, 0, 1).

> A7 := AlternatingGroup(7);
> V  := VectorSpace(FiniteField(2), 7);
> x  := V![1,0,1,0,1,0,1];
> M  := PermutationModule(A7, x);
> M : Maximal;
GModule of dimension 6 with base ring GF(2)
Generators of acting algebra:

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

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


Example RMod_CreateM11 (H42E6)

Given the Mathieu group M_(11) presented as a group of 5 x 5 matrices over GF(3), we construct the natural K[G]-module associated with this representation.

> G := MatrixGroup<5, FiniteField(3) |
>      [ 2,1,2,1,2,  2,0,0,0,2,  0,2,0,0,0,  0,1,2,0,1,  1,0,2,2,1],
>      [ 2,1,0,2,1,  1,2,0,2,2,  1,1,2,1,1,  0,2,0,1,1,  1,1,2,2,2] >;
> Order(G);
7920
>
> M := GModule(G);
> M : Maximal;
GModule M of dimension 5 with base ring GF(3)
Generators of acting algebra:

[2 1 2 1 2] [2 0 0 0 2] [0 2 0 0 0] [0 1 2 0 1] [1 0 2 2 1]

[2 1 0 2 1] [1 2 0 2 2] [1 1 2 1 1] [0 2 0 1 1] [1 1 2 2 2]


Example RMod_CreateA4wrC3 (H42E7)

We construct a module M for the wreath product G of the alternating group of degree 4 with the cyclic group of degree 3. The module is given by the action of G on an elementary abelian normal subgroup H of order 64.

> G := WreathProduct(AlternatingGroup(4), CyclicGroup(3));
> G := PCGroup(G);
> G;
Group G of order 5184 = 2^ 6 * 3^ 4
Relations:
G.1^3 = Id(G),
G.2^3 = Id(G),
G.3^3 = Id(G),
G.4^3 = Id(G),
G.5^2 = Id(G),
G.6^2 = Id(G),
G.7^2 = Id(G),
G.8^2 = Id(G),
G.9^2 = Id(G),
G.10^2 = Id(G),
G.2^G.1 = G.2 * G.3 * G.4^2,
G.3^G.2 = G.3 * G.4^2,
G.5^G.1 = G.6,
G.5^G.2 = G.8,
G.5^G.3 = G.5 * G.6,
G.5^G.4 = G.6,
G.6^G.1 = G.5 * G.6,
G.6^G.2 = G.6 * G.10,
G.6^G.3 = G.5,
G.6^G.4 = G.5 * G.6,
G.7^G.2 = G.5,
G.7^G.3 = G.6 * G.9,
G.7^G.4 = G.6 * G.9,
G.8^G.2 = G.7,
G.8^G.4 = G.6 * G.10,
G.9^G.1 = G.5 * G.9,
G.9^G.2 = G.10,
G.9^G.3 = G.5 * G.6 * G.7 * G.9,
G.9^G.4 = G.5 * G.7 * G.9,
G.10^G.1 = G.5 * G.10,
G.10^G.2 = G.9 * G.10,
G.10^G.3 = G.5 * G.6 * G.10,
G.10^G.4 = G.5 * G.8 * G.10
> A := pCore(G, 2);
> A;
GrpPC of order 64 = 2^6
Relations:
A.1^2 = Id(A),
A.2^2 = Id(A),
A.3^2 = Id(A),
A.4^2 = Id(A),
A.5^2 = Id(A),
A.6^2 = Id(A)
> M := GModule(G, A, sub<G|>);
> M;
GModule of dimension 6 with base ring GF(2)

Example RMod_CreateMatrices (H42E8)

We write a function which, given a matrix algebra A, together with a matrix group G acting on A by conjugation (so A is closed under action by G), computes the G-module M representing the action of G on A. We then construct a particular (nilpotent) upper-triangular matrix algebra A, a group G = 1 + A which acts on A, and finally construct the appropriate G-module M.

> MakeMod := function(A, G)
>     // Make G-module M of G acting on A by conjugation
>     k := CoefficientRing(A);
>     d := Dimension(A);
>     S := RMatrixSpace(A, k);
>     return GModule(
>         G,
>         [
>             MatrixAlgebra(k, d) |
>             &cat[
>                 Coordinates(S, S.j^g): j in [1 .. d]
>             ] where g is G.i: i in [1 .. Ngens(G)]
>         ]
>     );
> end function;
>
> MakeGroup := function(A)
>     // Make group G from upper-triangular matrix algebra A
>     k := CoefficientRing(A);
>     n := Degree(A);
>     return MatrixGroup<n, k | [Eltseq(1 + A.i): i in [1 .. Ngens(A)]]>;
> end function;
>
> k := GF(3);
> n := 4;
> M := MatrixAlgebra(k, n);
> A := sub<M |
>      [0,2,1,1, 0,0,1,1, 0,0,0,1, 0,0,0,0],
>      [0,1,0,0, 0,0,2,2, 0,0,0,1, 0,0,0,0]>;
> G := MakeGroup(A);
> G;
MatrixGroup(4, GF(3)) of order 3^4
Generators:
    [1 2 1 1]
    [0 1 1 1]
    [0 0 1 1]
    [0 0 0 1]

[1 1 0 0] [0 1 2 2] [0 0 1 1] [0 0 0 1] > M := MakeMod(A, G); > M: Maximal; GModule M of dimension 5 over GF(3) Generators of acting algebra:

[1 1 1 2 0] [0 1 1 0 0] [0 0 1 0 0] [0 0 0 1 0] [0 0 0 0 1]

[1 2 2 2 0] [0 1 1 0 0] [0 0 1 0 0] [0 0 0 1 0] [0 0 0 0 1]


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