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

Standard Constructions

Subsections

Standard Constructions for General Modules

Given one or more existing modules, various standard constructions are available to construct new modules.

ChangeRing(M, S) : ModRng, Rng -> ModRng, Map
Given a module M with base ring R, together with a ring S, construct the module N with base ring S obtained by coercing the components of elements of M into N, together with the homomorphism from M to N.
ChangeRing(M, S, f) : ModRng, Rng, Map -> ModRng, Map
Given a module M with base ring R, together with a ring S, and a homomorphism f: R -> S, construct the module N with base ring S obtained by mapping the components of elements of M into N by f, together with the homomorphism from M to N.
DirectSum(M, N) : ModRng, ModRng -> ModRng, Map, Map, Map, Map
Given R-modules M and N, construct the direct sum D of M and N as an R-module. The embedding maps from M into D and from N into D respectively and the projection maps from D onto M and from D onto N respectively are also returned.
DirectSum(Q) : [ ModRng ] -> [ ModRng ], [ Map ], [ Map ]
Given a sequence Q of R-modules, construct the direct sum D of these modules. The embedding maps from each of the elements of Q into D and the projection maps from D onto each of the elements of Q are also returned.
ExteriorSquare(M) : ModTupRng -> ModTupRng
Given an R-module M, construct the R-submodule of M otimes_R M consisting of the skew tensors.
SymmetricSquare(M) : ModTupRng -> ModTupRng
Given an R-module M, construct the R-submodule of M otimes_R M consisting of the symmetric tensors.
TensorProduct(M, N) : ModTupRng, ModTupRng -> ModTupRng
Given R-modules M and N, construct the R-tensor product, M otimes_R N, with diagonal action.
TensorPower(M, k) : ModTupRng, RngIntElt -> ModTupRng
Given a R-module M and an integer k >= 1, construct the k-th tensor power of M.

Example RMod_Constructions (H42E11)

We create two 2-dimensional Q-modules M and N, and apply the constructions to them.

> Q := RationalField();
> Q2 := RSpace(Q, 2);
> R := MatrixRing<Q, 2 | [ 0, 1, -1, 0], [ 0, 1, 1, 0 ] >;
> M := RModule(Q2, R);
> M:Maximal;
RModule M of dimension 2 over Rational Field
Generators of acting algebra:

[ 0 1] [-1 0]

[0 1] [1 0] > S := MatrixRing<Q, 2 | [ 0, -1, -1, 0 ], [1, 0, 0, -1 ] >; > N := RModule(Q2, S); > N:Maximal; RModule M of dimension 2 over Rational Field Generators of acting algebra:

[ 0 -1] [-1 0]

[ 1 0] [ 0 -1] > P := DirectSum(M, N); > P:Maximal; RModule P of dimension 4 over Rational Field Generators of acting algebra:

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

[ 0 1 0 0] [ 1 0 0 0] [ 0 0 1 0] [ 0 0 0 -1] > Q := ExteriorSquare(M); > Q:Maximal; RModule Q of dimension 1 over Rational Field Generators of acting algebra:

[1]

[-1] > T := SymmetricSquare(M); > T:Maximal; RModule T of dimension 3 over Rational Field Generators of acting algebra:

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

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


Changing the Coefficient Ring

ExtendField(V, L) : ModTupFld, Fld -> ModTupFld, MapHom
Given a K-vector space V, with K a field and L an extension of K, construct the L-vector space U = V otimes_K L. The function returns
RestrictField(V, L) : ModTupFld, Fld -> ModTupFld, MapHom
Given a K-vector space V, with K a field and L a subfield of K, construct the L-vector space U consisting of those vectors of V having all of their components lying in the subfield L. The function returns
VectorSpace(V, F) : ModTupFld, Fld -> ModTupFld, Map
KSpace(V, F) : ModTupFld, Fld -> ModTupFld, Map
KModule(V, F) : ModTupFld, Fld -> ModTupFld, Map
KMatrixSpace(V, F) : ModTupFld, Fld -> ModTupFld, Map
Given an n-dimensional K-vector space V, and a subfield F of K such that K has degree m over F, construct a vector space of dimension mn over the field F. The function returns

Standard Constructions for R[G]-Modules

All of the constructions available for general R-modules may be applied to R[G]-modules. A small number of additional constructions are available only for R[G]-modules.

M ^ T : ModGrp, AlgMatElt -> ModGrp
Given an R[G]-module M of dimension n over the ring R, and a nonsingular n x n matrix T over R, construct the R[G]-module S which corresponds to taking the rows of T as a basis for M.

Dual(M) : ModGrp -> ModGrp
Given an R[G]-module M, construct the the R[G]-module which is the R-dual, Hom_R(M, R), of M.

Induction(M, G) : ModGrp, Grp -> ModGrp
Given an R[H]-module M and a supergroup G of H, construct the R[G]-module obtained by inducing M up to G.

Restriction(M, H) : ModGrp, Grp -> ModGrp
Given a R[G]-module M and a subgroup H of G, form the R[H]-module corresponding to the restriction of M to the subgroup H.


Example RMod_GModules1 (H42E12)

Starting with the permutation module M over GF(2) for the Mathieu group M_(24), we construct the restriction N of M to the Sylow 2-subgroup of M_(24).

> M24 := PermutationGroup< 24 |
>         (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24),
>         (2,16,9,6,8)(3,12,13,18,4)(7,17,10,11,22)(14,19,21,20,15),
>         (1,22)(2,11)(3,15)(4,17)(5,9)(6,19)(7,13)(8,20)(10,16)(12,21)
>         (14,18)(23,24)>;
> M := PermutationModule(M24, GaloisField(2));
> M;
GModule M of dimension 24 with base ring GF(2)
> S2 := SylowSubgroup(M24, 2);
> N := Restriction(M, S2);
> N;
GModule N of dimension 24 with base ring GF(2)

Example RMod_GModules2 (H42E13)

Starting with the 6-dimensional representation over GF(2) constructed above for A_7, we construct an irreducible 15-dimensional representation for A_7, as the exterior square of the 6-dimensional representation.

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

[0 1 0 0 0 0 1 0 1 0 0 0 0 0 0] [1 1 1 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 1 0 0 0 0 1 1 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 0 0 1 0 0 0 0 0 0] [0 0 1 0 0 0 0 0 0 0 0 0 0 0 0] [0 1 0 1 0 1 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 1 0 0 1 1 0 0 0 0 0] [0 0 1 0 1 1 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 1 0 0 0 0 0 0 0 0 1 0 1 0 0] [0 0 0 0 0 0 0 0 1 0 0 0 1 0 1] [0 0 1 0 0 0 0 0 0 0 0 1 1 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0] [0 0 0 0 0 1 0 0 0 0 0 0 1 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 0 1 0 0 0 0] [1 0 0 0 0 0 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 1 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] [0 0 0 0 0 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 0 0 0 1 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 0 0 0 0 0 0 1 0 0] [0 0 1 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 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 1 0 0 0 0 0 0]


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