[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Definition of a Module

Definition of a Module

Subsections

Construction of a Free Module

An R-module is ordinarily defined by creating the S-tuple module T = S^((n)), and prescribing the action of R on T. At present all modules are assumed to be right modules, but this restriction will eventually be removed. Three kinds of actions may be prescribed:

RModule(R, n) : Rng, RngIntElt -> ModTupRng
RSpace(R, n) : Rng, RngIntElt -> ModTupRng
Given a ring or algebra R and a positive integer n, create the free right R-module R^((n)), consisting of all n-tuples over R. The module is created with the standard basis, e_1, ..., e_n, where e_i (i = 1, ..., n) is the vector containing a 1 in the i-th position and zeros elsewhere.

The function RModule creates a module in reduced mode while RSpace creates a module in embedded mode.

RModule(T, R) : ModTupRng, AlgMat -> ModTupRng
[Future release] RSpace(T, R) : ModTupRng, AlgMat -> ModTupRng
Let T be the module S^((n)), where S is a commutative ring. Given a subalgebra R of M_n(S), create the right R-module M = S^((n)), where the action of r in R is given by m * r, m in M.

The function RModule creates a module in reduced mode while RSpace creates a module in embedded mode.

RModule(T, Q) : ModTupRng, [ AlgMatElt ] -> ModTupRng
[Future release] RSpace(T, Q) : ModTupRng, [ AlgMatElt ] -> ModTupRng
Let T be the module S^((n)), where S is a commutative ring. Given a subalgebra R of M_n(S) generated by the terms of the sequence Q, create the right R-module M = S^((n)), where the action of r in R is given by m * r, m in M.

The function RModule creates a module in reduced mode while RSpace creates a module in embedded mode.

[Future release] RModule(T, A, f) : ModTupRng, Rng, Map -> ModTupRng
[Future release] RSpace(T, A, f) : ModTupRng, Rng, Map -> ModTupRng
Given the module T = S^((n)), an S-algebra R and a ring homomorphism f of R into the ring M_n(S), create the right R-module M = S^((n)), where the action of r in R is given by m * f(r), m in M.

Example RMod_CreateZ6 (H34E1)

We construct the module consisting of 6-tuples over the integers.

> Z := IntegerRing();
> M := RModule(Z, 6); 
> print M;
RModule M of dimension 6 with base ring Integer Ring

Example RMod_CreateK6 (H34E2)

We construct the 6-dimensional module over GF(2) with an action given by the matrices
     [0 1 1 0 1 0]
     [0 0 1 1 1 1]
     [1 0 0 1 0 1]
     [0 0 0 1 0 0]
     [0 0 0 0 1 0]
     [0 0 0 0 0 1],

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

> F2 := FiniteField(2);
> T := RModule(F2, 6);
> F := MatrixAlgebra(F2, 6);
> A := sub< F |
>   [ 1,0,0,1,0,1, 
>     0,1,0,0,1,1, 
>     0,1,1,1,1,0, 
>     0,0,0,1,1,0, 
>     0,0,0,1,0,1,
>     0,1,0,1,0,0 ],
>   [ 0,1,1,0,1,0,
>     0,0,1,1,1,1,
>     1,0,0,1,0,1,
>     0,0,0,1,0,0,
>     0,0,0,0,1,0,
>     0,0,0,0,0,1 ] >;
> M := RModule(T, A);
> print T;
KModule T of dimension 6 with base ring GF(2)

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