[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Accessing Module Information

Accessing Module Information

M . i : ModTupRng, RngIntElt -> ModElt
Given an R-module M and a positive integer i, return the i-th generator of M.
CoefficientRing(M) : ModTupRng -> Rng
BaseRing(M) : ModTupRng -> Rng
Given an R-module M which is defined as a submodule of S^((n)), return the ring S.
Ring(M) : ModTupRng -> Rng
RightRing(M) : ModTupRng -> Rng
Given a right R-module M, return the ring R.
Action(M) : ModTupRng -> AlgMat
RightAction(M) : ModTupRng -> AlgMat
Given a (right) R-module M, return the matrix algebra A giving the action of R on M.
ActionGenerator(M, i) : ModTupRng, RngIntElt -> AlgMatElt
RightActionGenerator(M, i) : ModTupRng, RngIntElt -> AlgMatElt
The i-th generator of the (right) acting matrix algebra for the module M.
Generators(M) : ModTupRng -> { ModTupElt }
The generators for the R-module M, returned as a set.
Group(M) : ModGrp -> Grp
Given an R[G]-module M, return the group G.
MatrixGroup(M) : ModGrp -> GrpMat
Given an R[G]-module M, return the matrix group whose generators are the (invertible) generators of the acting algebra of M.
NumberOfActionGenerators(M) : ModTupRng -> RngIntElt
Nagens(M) : ModTupRng -> RngIntElt
The number of action generators (the number of generators of the action algebra) for the R-module M.
OverDimension(M) : ModTupRng -> RngIntElt
Given an R-module M which is an embedded submodule of the module S^((n)), return n.
OverDimension(u) : ModTupRngElt -> RngIntElt
Given an element of an embedded submodule of the module S^((n)), return n.
Representation(M) : ModGrp -> Map(Hom)
Given an R[G]-module M defining a homomorphism f of G into M_n(R), return f.
Parent(u) : ModTupElt -> ModRng
Given an element u belonging to the R-module M, return M.
Generic(M) : ModRng -> ModRng
Given an R-module M which is a submodule of the module R^((n)), return the module R^((n)) as an R-module.

Example RMod_Access (H42E9)

We illustrate the use of several of these access functions by applying them to the 6-dimensional representation over GF(2) constructed above for A_7.

> 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 A7.
> 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 print 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]


Example RMod_Dual (H42E10)

We present a procedure which, given a K[G]-module M, constructs its dual D.

> DualModule := function(M)
>       G := Group(M);
>       f := Representation(M);
>       return GModule(G, [ Transpose(f(G.i))^-1 : i in [1 .. Ngens(G)] ]);
> end function;

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