# 68.20 Module Functions for MeatAxe Modules

`CompositionFactors( M )` :

For a MeatAxe module M that is acted on by the algebra A, this returns a list of MeatAxe modules which are the actions of A on the factors of a composition series of M. The factors occur with same succession (and multiplicity) as in the composition series. The printed information means the following (for this example, see Using the MeatAxe in GAP. An Example).

```    gap> tens:= KroneckerProduct( nm, nm );;
gap> comp:= CompositionFactors( tens );;
#I   Name Mult  SF
#I     1a    4   1
#I     4a    1   1
#I     4b    2   2
#I
#I  Ascending composition series:
#I  4a  1a  4b  1a  1a  4b  1a  ```

:
The column with header `Name` lists the different composition factors by a name consisting of the dimension and a letter to distinguish different modules of same dimension, the `Mult` columns lists the multiplicities of the composition factor in the module, and the `SF` columns lists the exponential indices of the fields of definition in the splitting fields. In this case there is one 1-dimensional module `1a` with multiplicity 4 that is absolutely irreducible, also one 4-dimensional absolutely irreducible module `4a` of dimension 4, and with multiplicity 2 we have a 4-dimensional module `4b` that is not absolutely irreducible, with splitting field of order p^{2n} when the field of definition had order p^n.

`FixedSubmodule( M )` :

returns the submodule of fixed points in the MeatAxe module M under the action of the generators of `M.ring`.

`GeneratorsSubmodule( L, nr )` :

returns a MeatAxe matrix whose rows are a vector space basis of the nr-th basis of the module with submodule lattice L. The lattice can be computed using the `Lattice` command (see below).

`GeneratorsSubmodules( M )` :

returns a list of MeatAxe matrices, one for each submodule of the MeatAxe module M, whose rows are a vector space basis of the submodule. This works only if M is a natural module.

`IsAbsolutelyIrreducible( M )` :

returns `true` if the MeatAxe module M is absolutely irreducible, `false` otherwise.

`IsEquivalent( M1, M2 )` :

returns `true` if the irreducible MeatAxe modules M1 and M2 are equivalent, and `false` otherwise. If both M1 and M2 are reducible, an error is signalled.

`IsIrreducible( M )` :

returns `true` if the MeatAxe module M is irreducible, `false` otherwise.

`KroneckerProduct( M1, M2 )` :

returns the Kronecker product of the MeatAxe modules M1, M2. It is not checked that the acting rings are compatible.

`Lattice( M )` :

returns a list of records, each describing a component of the submodule lattice of M; it has the components `dimensions` (a list, at position i the dimension of the i-th submodule), `maxes` (a list, at position i the list of indices of the maximal submodules of submodule no. i), `weights` (a list of edge weights), and `XGAP` (a list used to display the submodule lattice in sf XGAP). Note that M must be a natural module.

`SplittingField( M )` :

returns the splitting field of the MeatAxe module M.

`StandardBasis( M, seed )` :

returns a standard basis record for the MeatAxe module M.

GAP 3.4.4
April 1997