Given an R-module M and a positive integer i, return the i-th generator of M.
Given an R-module M which is defined as a submodule of S^((n)), return the ring S.
Given a right R-module M, return the ring R.
Given a (right) R-module M, return the matrix algebra A giving the action of R on M.
The i-th generator of the (right) acting matrix algebra for the module M.
The generators for the R-module M, returned as a set.
Given an R[G]-module M, return the group G.
Given an R[G]-module M, return the matrix group whose generators are the (invertible) generators of the acting algebra of M.
The number of action generators (the number of generators of the action algebra) for the R-module M.
Given an R-module M which is an embedded submodule of the module S^((n)), return n.
Given an element of an embedded submodule of the module S^((n)), return n.
Given an R[G]-module M defining a homomorphism f of G into M_n(R), return f.
Given an element u belonging to the R-module M, return M.
Given an R-module M which is a submodule of the module R^((n)), return the module R^((n)) as an R-module.
> 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]
> DualModule := function(M) > G := Group(M); > f := Representation(M); > return GModule(G, [ Transpose(f(G.i))^-1 : i in [1 .. Ngens(G)] ]); > end function;