# Accessing Module Information

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

## 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`

```magma
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: Access (ex-891476)`

We illustrate the use of several of these access functions by applying them to the $6$-dimensional representation of a matrix algebra defined over ${\bf F}_{2}$.

```magma
> 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$.

```magma
> 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.

```magma
> 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]

```
