[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Homomorphisms of Modules

Homomorphisms of Modules

Let M and N be R[G]-modules. Then Hom_(R[G])(M, N) consists of all R-homomorphisms from M to N which preserve the action of G. The type of such (matrix) homomorphisms, called G-homs, is ModMatGrpElt.

EndomorphismAlgebra(M) : ModRng -> AlgMat
Given a R-module M with base ring K, construct End(M) as a subring E of the complete matrix ring K^((n x n)). The generators constructed for E form a K-basis for End_(R)(M).
GHom(M, N) : ModGrp, ModGrp -> ModMatGrp
Given an m-dimensional K[G]-module M and an n-dimensional K[G]-module N, K a finite field, construct Hom_(K[G])(M, N) as a submodule of Hom_K(M, N).
GHomOverCentralizingField(M, N) : ModGrp, ModGrp -> ModMatGrp
Given an m-dimensional K[G]-module M and an n-dimensional K[G]-module N, K a finite field, construct Hom_(L[G])(M, N) as a submodule of Hom_K(M, N) where L is the centralizing field of M.
Hom(M, N) : ModRng, ModRng -> ModMatRng
Given an m-dimensional R-module M and an n-dimensional R-module N, construct Hom_R(M, N).
IsGHom(X) : ModMatElt -> BoolElt
Given matrix X from Hom_K(M, N), where M and N are G-modules, return whether X is a G-hom, i.e. X is in GHom(M, N).
hom< M -> N | X > : ModRng, ModRng, ModMatElt -> ModMatRng
Given R-modules M and N, create the (map) homomorphism from M to N given by matrix X.
H ! f : ModMatRng, Map -> ModMatRngElt
Given matrix space H, which is Hom_R(M, N) for R-modules M and N, together with a homomorphism f from M to N, create the matrix corresponding to the map f.
Morphism(M, N) : ModRng, ModRng -> ModMatRngElt
(a) If the R-module M was created as a submodule of the module N, return the inclusion homomorphism phi : M -> N as an element of Hom_R(M, N). Thus phi gives the correspondence between elements of M (represented with respect to the standard basis of M) and elements for N.

(b) If the R-module N was created as a quotient module of the module M, return the natural homomorphism phi : M -> N as an element of Hom_R(M, N). Thus phi gives the correspondence between elements of M and elements of N (represented with respect to the standard basis for N).

ImageWithBasis(X, M) : ModMatRngElt, ModRng -> ModRng
Given a matrix X which describes a basis for a submodule of M (i.e. X describes an invariant subspace under the action of M), return the submodule S of M such that the morphism of S into M is X.

Example RMod_EndoRing (H42E20)

We construct the endomorphism ring for a permutation module over GF(3) for a soluble group of order 648.

> G := PermutationGroup< 12 |
>         (1,6,7)(2,5,8,3,4,9)(11,12),
>         (1,3)(4,9,12)(5,8,10,6,7,11) >;
> K := GaloisField(3);
> P := PermutationModule(G, K);
> ER := EndomorphismAlgebra(P);
> ER : Maximal;
Matrix Algebra of degree 12 and dimension 3 over GF(3)
Basis:

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

[0 0 0 1 1 1 1 1 1 1 1 1] [0 0 0 1 1 1 1 1 1 1 1 1] [0 0 0 1 1 1 1 1 1 1 1 1] [1 1 1 0 0 0 1 1 1 1 1 1] [1 1 1 0 0 0 1 1 1 1 1 1] [1 1 1 0 0 0 1 1 1 1 1 1] [1 1 1 1 1 1 0 0 0 1 1 1] [1 1 1 1 1 1 0 0 0 1 1 1] [1 1 1 1 1 1 0 0 0 1 1 1] [1 1 1 1 1 1 1 1 1 0 0 0] [1 1 1 1 1 1 1 1 1 0 0 0] [1 1 1 1 1 1 1 1 1 0 0 0] > // Thus, the permutation module P has 27 endomorphisms. > // We now find a maximal submodule M of P and calculate GHom(M, P). > MS := MaximalSubmodules(P); > MS; [ GModule of dimension 9 with base ring GF(3), GModule of dimension 11 with base ring GF(3) ] > M := MS[1]; > HR := GHom(P, M); > HR: Maximal; KMatrixSpace of 12 by 9 GHom matrices and dimension 2 over GF(3) Echelonized basis: [1 1 1 0 0 0 0 0 0] [1 1 1 0 0 0 0 0 0] [1 1 1 0 0 0 0 0 0] [0 0 0 1 1 0 0 0 0] [0 0 0 1 1 0 0 0 0] [0 0 0 1 1 0 0 0 0] [0 0 0 0 0 1 1 0 0] [0 0 0 0 0 1 1 0 0] [0 0 0 0 0 1 1 0 0] [0 0 0 0 0 0 0 1 1] [0 0 0 0 0 0 0 1 1] [0 0 0 0 0 0 0 1 1]

[0 0 0 1 1 1 1 1 1] [0 0 0 1 1 1 1 1 1] [0 0 0 1 1 1 1 1 1] [1 1 1 0 0 1 1 1 1] [1 1 1 0 0 1 1 1 1] [1 1 1 0 0 1 1 1 1] [1 1 1 1 1 0 0 1 1] [1 1 1 1 1 0 0 1 1] [1 1 1 1 1 0 0 1 1] [1 1 1 1 1 1 1 0 0] [1 1 1 1 1 1 1 0 0] [1 1 1 1 1 1 1 0 0] > // We write down a random homomorphism from M to P. > f := (K!2)*HR.1 + HR.2; > f; [2 2 2 1 1 1 1 1 1] [2 2 2 1 1 1 1 1 1] [2 2 2 1 1 1 1 1 1] [1 1 1 2 2 1 1 1 1] [1 1 1 2 2 1 1 1 1] [1 1 1 2 2 1 1 1 1] [1 1 1 1 1 2 2 1 1] [1 1 1 1 1 2 2 1 1] [1 1 1 1 1 2 2 1 1] [1 1 1 1 1 1 1 2 2] [1 1 1 1 1 1 1 2 2] [1 1 1 1 1 1 1 2 2] > Ker := Kernel(f); > Ker; GModule Ker of dimension 8 with base ring GF(3) > // If we print the morphism associated with Ker, we will see generators > // for Ker as a submodule of P. > Morphism(Ker, P); [1 0 2 0 0 0 0 0 0 0 0 0] [0 1 2 0 0 0 0 0 0 0 0 0] [0 0 0 1 0 2 0 0 0 0 0 0] [0 0 0 0 1 2 0 0 0 0 0 0] [0 0 0 0 0 0 1 0 2 0 0 0] [0 0 0 0 0 0 0 1 2 0 0 0] [0 0 0 0 0 0 0 0 0 1 0 2] [0 0 0 0 0 0 0 0 0 0 1 2] > // Examine the image of f and its morphism to P. > Im := Image(f); > Im; GModule Im of dimension 4 with base ring GF(3) > Morphism(Im, P); [1 1 1 0 0 0 0 0 0 0 0 0] [0 0 0 1 1 1 0 0 0 0 0 0] [0 0 0 0 0 0 1 1 1 0 0 0] [0 0 0 0 0 0 0 0 0 1 1 1]


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