Accessing Module Information

This section deals with the underlying vector space of a module M, which is a module over the algebra A.

Contents

The Underlying Vector Space

M . i : ModRng, RngIntElt -> ModElt
Given an A-module M and a positive integer i, return the i-th generator of M.
CoefficientRing(M) : ModRng -> Rng
BaseRing(M) : ModRng -> Rng
Given an A-module M, where A is an algebra over the field K, return K.
Generators(M) : ModRng -> { ModRngElt }
The generators for the A-module M, returned as a set.
Parent(u) : ModRngElt -> ModRng
Given an element u belonging to the A-module M, return M.

The Action Algebra

Action(M) : ModRng -> AlgMat
RightAction(M) : ModRng -> AlgMat
Given an A-module M, return the matrix algebra A giving the action of A on M.
MatrixGroup(M) : ModGrp -> GrpMat
    Check: BoolElt                      Default: true
Given an R[G]-module M, return the matrix group whose generators are the (invertible) generators of the acting algebra of M.
ActionGenerator(M, i) : ModRng, RngIntElt -> AlgMatElt
The i-th generator of the (right) acting matrix algebra for the module M.
NumberOfActionGenerators(M) : ModRng -> RngIntElt
Ngens(M) : ModTupRng -> RngIntElt
The number of action generators (the number of generators of the algebra) for the A-module M.
Group(M) : ModGrp -> Grp
Given an R[G]-module M, return the group G.

Example ModAlg_Access (H97E11)

We illustrate the use of several of these access functions by applying them to the 6-dimensional representation of a matrix algebra defined over GF(2).
> F2 := GF(2);
> 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 ] >;
> T := RModule(F2, 6);
> M := RModule(T, A);
> Dimension(M);
6
> BaseRing(M);
Finite field of size 2

We set R to be the name of the matrix ring associated with M. Using the generator subscript notation, we can access the matrices giving the (right) action of A.

> R := RightAction(M);
> R.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]
> R.2;
[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]

We display full details of the module.

> M: Maximal;
Module M of dimension 6 with base ring GF(2)
Generators of acting algebra:
[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]
V2.28, 13 July 2023