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.
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.
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.
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.
Given an R-module M, construct the R-submodule of M otimes_R M consisting of the skew tensors.
Given an R-module M, construct the R-submodule of M otimes_R M consisting of the symmetric tensors.
Given R-modules M and N, construct the R-tensor product, M otimes_R N, with diagonal action.
Given a R-module M and an integer k >= 1, construct the k-th tensor power of M.
> 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]
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
- the vector space U; and
- the inclusion homomorphism phi : V -> U.
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
- the vector space U; and
- the restriction homomorphism phi : V -> U.
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
- the vector space U; and
- a mapping phi : V -> U such that each vector (v_1, ..., v_i, ..., v_n) of V is mapped into the vector (u_(11), ..., u_(1n), ..., u_(i1), ..., u_(in), ..., u_(n1), ... u_(nn) ) where (u_(i1), ..., u_(in)) is the field element v_i written as a vector over the subfield F.
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.
Given an R[G]-module M, construct the the R[G]-module which is the R-dual, Hom_R(M, R), of M.
Given an R[H]-module M and a supergroup G of H, construct the R[G]-module obtained by inducing M up to G.
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.
> 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)
> 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]