All operations that apply to elements of tuple modules also apply to elements of matrix modules. Here, we confine our discussion to those operations which are special to matrix modules.
Throughout this section, M is a submodule of R^((m)), N is a submodule
of R^((n)) and a is a homomorphism belonging to Hom_(R)(M, N), where
R is a Euclidean Domain.
u * a : ModTupRngElt, ModMatRngElt -> ModTupRngElt
Given an element u belonging to the module M, return the image of u under the homomorphism a as an element of the module N.
Given a homomorphism a belonging to a submodule of Hom(M, N), and a homomorphism b belonging to a submodule of Hom(N, P), return the composition of the homomorphisms a and b as an element of Hom(M, P). Note that if Hom(M, P) does not already exist, it will be created.
Given a homomorphism a belonging to a submodule of Hom(M, N) with M and N having the same dimension, return the inverse of a as an element of Hom(N, M).
Given a submodule T of the module Hom(M, N), return the module N.
The codomain N of the homomorphism a belonging to Hom(M, N).
The cokernel for the homomorphism a belonging to the module Hom(M, N).
The number of columns in the matrix a.
The domain M of the submodule S belonging to the module Hom(M, N).
The domain M of the homomorphism a belonging to the module Hom(M, N).
The image of the homomorphism a belonging to the module H =Hom(M, N), returned as a submodule of N. Note that if the domain and codomain of a are matrix modules themselves, the image will be with respect to the appropriate action (right or left).
The kernel of the homomorphism a belonging to the module Hom(M, N), returned as a submodule of M. Note that if the domain and codomain of a are matrix modules themselves, the kernel will be with respect to the appropriate action (right or left).
(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).
The dimension of the image of the homomorphism a, i.e. the rank of a.
The number of rows in the matrix a.
The transpose of the matrix a.
True if the homomorphism a belonging to the module Hom(M, N) is a bijective mapping.
True if the homomorphism a belonging to the module Hom(M, N) is an injective mapping.
True if the homomorphism a belonging to the module Hom_R(M, N) is a surjective mapping.
> K<w> := GaloisField(8); > V3 := VectorSpace(K, 3); > V4 := VectorSpace(K, 4); > M := Hom(V4, V3); > A := M ! [1, w, w^5, 0, w^3, w^4, w, 1, w^6, w^3, 1, w^4 ]; > print A; [ 1 w w^5] [ 0 w^3 w^4] [ w 1 w^6] [w^3 1 w^4] > print Rank(A); 3 > print Image(A); Full Vector space of degree 3 over GF(2^3) > print Kernel(A); Vector space of degree 4, dimension 1 over GF(2^3) Echelonized basis: ( 1 w^5 1 1) > print Cokernel(A); Vector space of degree 3, dimension 0 over GF(2^3)