[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Structure of a Module

Structure of a Module

All of the functions described here assume that the base ring is a finite field.

Subsections

Splitting a Module

Meataxe(M) : ModRng -> ModRng, ModRng, AlgMatElt
Given an R-module M with base ring a finite field and action algebra A, attempt to find a proper submodule N of M or else prove that M is irreducible. If a splitting of M is found, three values are returned:

Example RMod_Meataxe (H42E17)

Consider the group O_5(3) given as a permutation group of degree 45. We construct the permutation module and, using the meataxe, proceed to chop it up into its irreducible constituents.

> O53 := PermutationGroup<45 |
>     (2,3)(4,6)(7,9)(8,11)(12,16)(13,14)(15,19)(18,22)(20,25)(21,26)(27,33)
>       (28,35) (29,34)(31,38)(36,43)(39,41),
>     (1,2,4,7,10,14,16,3,5)(6,8,12,17,21,27,34,41,44)(9,13,18,23,29,37,33,40,43)
>       (11,15,20)(19,24,30,25,31,22,28,36,38)(26,32,39)(35,42,45)>;
>
> P := PermutationModule(O53, GaloisField(2));
> P;
GModule P of dimension 45 with base ring GF(2)
> P1, P2 := Meataxe(P);
> P1;
GModule P1 of dimension 44 with base ring GF(2)
> P2;
GModule P2 of dimension 1 with base ring GF(2)
> P11, P12 := Meataxe(P1);
> P11;
GModule P11 of dimension 20 with base ring GF(2)
> P12;
GModule P12 of dimension 24 with base ring GF(2)
> P111, P112 := Meataxe(P11);
> P111;
GModule P111 of dimension 14 with base ring GF(2)
> P112;
GModule P111 of dimension 6 with base ring GF(2)
> P1111, P1112 := Meataxe(P111);
> P1111;
GModule P1111 of dimension 14 with base ring GF(2)
> // Since the dimension of P1111 is the same as P111, it is irreducible
> P1121, P1122 := Meataxe(P112);
> P1121;
GModule P1121 of dimension 6 with base ring GF(2)
> // Again we note that P112 is irreducible

Properties of a Module

The functions given here are currently only available for modules whose base ring is a finite field.

AbsoluteRepresentation(M) : ModRng -> ModRng
Given an irreducible R-module M, construct the isomorphic reduced-degree absolute representation of M, which is over the absolute field of M and is absolutely irreducible.
IsAbsolutelyIrreducible(M) : ModRng -> BoolElt, AlgMatElt, RngIntElt
True iff the R-module M is absolutely irreducible. Return also the (matrix algebra) generator of the endomorphism algebra E of M (which is always a field), as well as the dimension of E.
IsDecomposable(M) : ModRng -> BoolElt, ModRng, ModRng
Given a R-module M, return true if M is decomposable and false otherwise. If M is decomposable, the function also returns proper submodules A and B of M such that M = A direct-sum B.

IsIrreducible(M) : ModRng -> BoolElt, ModRng, ModRng
True iff the R-module M is irreducible. If M is not irreducible, a proper submodule S of M and the corresponding quotient module Q = M/S is also returned.
IsIsomorphic(M, N) : ModRng, ModRng -> BoolElt, AlgMatElt
True if the R-modules M and N are isomorphic, false otherwise. If M and N are isomorphic, the function also returns a matrix T such that M^(T) = N.
MinimalField(M) : ModRng -> FldFin
The minimal field to which M can be restricted (a subfield of the coefficient field of M).

Composition Series

The functions defined here are currently only available for modules whose base ring is a finite field.

CompositionFactors(M) : ModRng -> [ ModRng ]
Compute the composition factors for the R-module M by repeatedly applying the meataxe. The composition factors are returned in the form of a sequence of R-modules in the order determined by a composition series for M. If M is irreducible, the function returns a sequence containing M alone.

CompositionSeries(M) : ModRng, ModRng -> [ ModRng ], [ ModRng ], AlgMatElt
Construct a composition series for the R-module M by repeatedly applying the meataxe. The function returns three values:
Constituents(M) : ModRng -> [ ModRng ]
The constituents of M, i.e. a sequence of representatives for the isomorphism classes of composition factors of M.

ConstituentsWithMultiplicities(M) : ModRng -> [ <ModRng, RngIntElt> ]
The non-isomorphic constituents of M, together with their multiplicities.
IndecomposableSummands(M) : ModRng -> [ ModRng ]
Given a R-module M, return a sequence Q of indecomposable summands of M. Each element of Q is an indecomposable submodule of M and the (direct) sum of the elements of Q is M.

Example RMod_CompSeries (H42E18)

We continue with the O_5(3) example from the previous section.

> O53 := PermutationGroup<45 |
>     (2,3)(4,6)(7,9)(8,11)(12,16)(13,14)(15,19)(18,22)(20,25)(21,26)(27,33)
>       (28,35) (29,34)(31,38)(36,43)(39,41),
>     (1,2,4,7,10,14,16,3,5)(6,8,12,17,21,27,34,41,44)(9,13,18,23,29,37,33,40,43)
>       (11,15,20)(19,24,30,25,31,22,28,36,38)(26,32,39)(35,42,45)>;
>
> P := PermutationModule(O53, GaloisField(2));
> Constituents(P);
[
    GModule of dimension 1 with base ring GF(2),
    GModule of dimension 6 with base ring GF(2),
    GModule of dimension 8 with base ring GF(2),
    GModule of dimension 14 with base ring GF(2)
]
> ConstituentsWithMultiplicities(P);
[
    <GModule of dimension 1 with base ring GF(2), 3>,
    <GModule of dimension 6 with base ring GF(2), 1>,
    <GModule of dimension 8 with base ring GF(2), 1>,
    <GModule of dimension 14 with base ring GF(2), 2>
]
> S, F := CompositionSeries(P);
> S, F;
[
    GModule of dimension 14 with base ring GF(2),
    GModule of dimension 20 with base ring GF(2),
    GModule of dimension 21 with base ring GF(2),
    GModule of dimension 22 with base ring GF(2),
    GModule of dimension 30 with base ring GF(2),
    GModule of dimension 31 with base ring GF(2),
    GModule P of dimension 45 with base ring GF(2)
]
[
    GModule of dimension 14 with base ring GF(2),
    GModule of dimension 6 with base ring GF(2),
    GModule of dimension 1 with base ring GF(2),
    GModule of dimension 1 with base ring GF(2),
    GModule of dimension 8 with base ring GF(2),
    GModule of dimension 1 with base ring GF(2),
    GModule of dimension 14 with base ring GF(2)
]
> IndecomposableSummands(P);
[
    GModule of dimension 1 with base ring GF(2),
    GModule of dimension 44 with base ring GF(2)
]

Minimal Submodules and Socle Series

The functions described here are currently only available for modules whose base ring is a finite field.

MaximalSubmodules(M) : ModRng -> [ ModRng ], BoolElt
Given a R-module M, return a sequence containing the maximal submodules of M.

    Limit: RngIntElt                    Default: 0

If a limit L is provided, only up L submodules are calculated, and the second return value indicates whether all of the submodules are returned.

MinimalSubmodules(M) : ModRng -> [ ModRng ], BoolElt
Given a R-module M, return a sequence containing the minimal submodules of M.

    Limit: RngIntElt                    Default: 0

If a limit L is provided, only up L submodules are calculated, and the second return value indicates whether all of the submodules are returned.

MinimalSubmodules(M, F) : ModRng, ModRng -> [ ModRng ], BoolElt
Given a R-module M, return a sequence containing the minimal submodules of M which are isomorphic to the irreducible module F.

    Limit: RngIntElt                    Default: 0

If a limit L is provided, only up L submodules are calculated, and the second return value indicates whether all of the submodules are returned.

JacobsonRadical(M) : ModRng -> ModRng
The Jacobson radical of the R-module M.

Socle(M) : ModRng -> ModRng
Given a R-module M, return its socle, i.e. the sum of the minimal submodules of M.

SocleSeries(M) : ModRng -> [ ModRng ], [ ModRng ], AlgMatElt
A socle series S for M (not including the trivial module but including M), together with the socle factors corresponding to the terms of S and a matrix T giving the transformation of M into (semi-simple) reduced form.

SocleFactors(M) : ModRng -> [ ModRng ]
The factors corresponding to the terms of a socle series for M. The factors are returned in the form of a sequence of R-modules in the order determined by a socle series for M. If M is irreducible, the function returns a sequence containing M.

Example RMod_Minimals (H42E19)

> O53 := PermutationGroup<45 |
>   (2,3)(4,6)(7,9)(8,11)(12,16)(13,14)(15,19)(18,22)(20,25)(21,26)(27,33)
>     (28,35) (29,34)(31,38)(36,43)(39,41),
>   (1,2,4,7,10,14,16,3,5)(6,8,12,17,21,27,34,41,44)(9,13,18,23,29,37,33,40,43)
>     (11,15,20)(19,24,30,25,31,22,28,36,38)(26,32,39)(35,42,45)>;
>
> P := PermutationModule(O53, FiniteField(2));
> MaximalSubmodules(P);
[
    GModule of dimension 31 with base ring GF(2),
    GModule of dimension 44 with base ring GF(2)
]
> JacobsonRadical(P);
GModule of dimension 30 with base ring GF(2)
> MinimalSubmodules(P);
[
    GModule of dimension 1 with base ring GF(2),
    GModule of dimension 14 with base ring GF(2)
]
> Soc := Socle(P);
> Soc: Maximal;
GModule Soc of dimension 15 with base ring GF(2)
> SocleSeries(P);
[
      GModule of dimension 15 with base ring GF(2),
      GModule of dimension 22 with base ring GF(2),
      GModule of dimension 30 with base ring GF(2),
      GModule of dimension 31 with base ring GF(2),
      GModule P of dimension 45 with base ring GF(2)
]
> SocleFactors(P);
[
      GModule of dimension 15 with base ring GF(2),
      GModule of dimension 7 with base ring GF(2),
      GModule of dimension 8 with base ring GF(2),
      GModule of dimension 1 with base ring GF(2),
      GModule of dimension 14 with base ring GF(2)
]

Complements of Submodules

HasComplement(M, S) : ModGrp, ModGrp -> BoolElt, ModGrp
IsDirectSummand(M, S) : ModGrp, ModGrp -> BoolElt, ModGrp
Given a G-module M and a submodule S of M, determine whether S has a G-invariant complement in M. If so return true and a submodule T of M such that M = S direct-sum T; otherwise return false.
Complements(M, S) : ModGrp, ModGrp -> [ ModGrp ]
Given a G-module M and a submodule S of M, return all G-invariant complements of S in M.
[Next] [Prev] [Right] [Left] [Up] [Index] [Root]