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

Structure of a Module

Most of the functions described in this section assume that the base ring is a finite field.

Subsections

Reducibility

Meataxe(M) : ModRng -> ModRng, ModRng, AlgMatElt
Given an A-module M with base ring a finite field 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:
IsIrreducible(M) : ModRng -> BoolElt, ModRng, ModRng
True if and only if the A-module M is irreducible. If M is reducible, a proper submodule S of M together with the corresponding quotient module Q = M/S, are also returned.
IsAbsolutelyIrreducible(M) : ModRng -> BoolElt, AlgMatElt, RngIntElt
True if and only if the A-module M is absolutely irreducible. Return also a matrix algebra generator for the endomorphism algebra E of M (a field), as well as the dimension of E.

AbsolutelyIrreducibleModule(M) : ModRng -> ModRng
Let A be an algebra over a field K. Given an irreducible A-module M that is not absolutely irreducible over K, return an irreducible module N that is a constituent of the module M considered as a module over the splitting field for M. Note that the module N, while not unique, is absolutely irreducible.

Example ModAlg_Meataxe (H76E15)

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.

> SetSeed(1234);
> 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

MinimalField(M) : ModRng -> FldFin
Let A be an algebra over a finite field K. Given an A-module M over K, return the smallest subfield of K, over which M can be realised.

Composition Series

CompositionSeries(M) : ModRng, ModRng -> [ ModRng ], [ ModRng ], AlgMatElt
Given an A-module M, construct a composition series by repeatedly applying the meataxe. The function returns three values:
CompositionFactors(M) : ModRng -> [ ModRng ]
Given an A-module M, construct the composition factors 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.

Constituents(M) : ModRng -> [ ModRng ]
Given an A-module M, construct the constituents of M, i.e. a sequence of representatives for the isomorphism classes of composition factors of M.

ConstituentsWithMultiplicities(M) : ModRng -> [ <ModRng, RngIntElt> ]
Given an A-module M, return the constituents of M, together with their multiplicities.

Example ModAlg_CompSeries (H76E16)

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)
]

Socle Series

IsSemisimple(M) : ModGrp -> BoolElt
IsSemisimple(M) : ModAlg -> BoolElt, SeqEnum
Given an A-module M, which is either a K[G]-module (ModGrp) for a field K or a module defined over a matrix algebra (ModAlg), return whether M is semisimple.

If M is a semisimple module defined over a matrix algebra, the function returns as second return value a list of the ranks of the primitive idempotents of the algebra. This is also a list of the multiplicities of the simple modules of the algebra as composition factors in a composition series for the module.

MaximalSubmodules(M) : ModRng -> [ ModRng ], BoolElt
Given an A-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.

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

MinimalSubmodules(M) : ModRng -> [ ModRng ], BoolElt
Given an A-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 an A-module M and an irreducible module F, return a sequence containing those minimal submodules of M, each of which is isomorphic to 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.

MinimalSubmodule(M) : ModRng -> ModRng
Given an A-module M, return a single minimal (or irreducible) submodule of M; if M is itself irreducible, M is returned.

Socle(M) : ModRng -> ModRng
Given a A-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 the A-module 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. The socle series, as returned, does not include the trivial module but does include M.

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

Example ModAlg_Minimals (H76E17)

> 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)
]

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