# Modules over an Algebra and Group Representations

- [Introduction](introduction.md)

- [Constructions for $A$-Modules](A-module.md)

  - [`RModule(A): AlgMat → ModRng`](A-module.md#function-rmodule-algmat)

  - [`RModule(Q): [ MtrxS ] → ModTupRng`](A-module.md#function-rmodule-mtrxs)

  - [`Example: Create K6`](A-module.md#example-ex-2aced1)

- [Constructions for $K[G]$-Modules](K[G]-module.md)

  - [General $K[G]$-Modules](K[G]-module.md#general-k-g-modules)

    - [`GModule(G, A): Grp, AlgMat → ModGrp`](K[G]-module.md#function-gmodule-grp-algmat)

    - [`GModule(G, Q): Grp, [ GrpMatElt ] → ModGrp`](K[G]-module.md#function-gmodule-grp-grpmatelt)

    - [`TrivialModule(G, K): Grp, Fld → ModGrp`](K[G]-module.md#function-trivialmodule-grp-fld)

    - [`Example: Create L27`](K[G]-module.md#example-ex-93f8b4)

    - [`Example: Create Matrices`](K[G]-module.md#example-ex-64e699)

  - [Natural $K[G]$-Modules](K[G]-module.md#natural-k-g-modules)

    - [`GModule(G, K): GrpPerm, Rng → ModGrp`](K[G]-module.md#function-gmodule-grpperm-rng)

    - [`GModule(G): GrpMat → ModGrp`](K[G]-module.md#function-gmodule-grpmat)

    - [`Example: Create M11`](K[G]-module.md#example-ex-722ddf)

  - [Permutation Modules](K[G]-module.md#permutation-modules)

    - [`PermutationModule(G, H, K): Grp, Grp, Fld → ModGrp`](K[G]-module.md#function-permutationmodule-grp-grp-fld)

    - [`PermutationModule(G, K): Grp, Fld → ModGrp`](K[G]-module.md#function-permutationmodule-grp-fld)

    - [`PermutationModule(G, V): Grp, ModTupFld → ModGrp`](K[G]-module.md#function-permutationmodule-grp-modtupfld)

    - [`PermutationModule(G, u): Grp, ModTupFldElt → ModGrp`](K[G]-module.md#function-permutationmodule-grp-modtupfldelt)

    - [`Example: Create M12`](K[G]-module.md#example-ex-3c630c)

    - [`Example: Create A7`](K[G]-module.md#example-ex-cffd45)

  - [Action on an Elementary Abelian Section](K[G]-module.md#action-on-an-elementary-abelian-section)

    - [`GModule(G, A, B): Grp, Grp, Grp → ModGrp, Map`](K[G]-module.md#function-gmodule-grp-grp-grp)

    - [`GModule(G, A): Grp, Grp → ModGrp, Map`](K[G]-module.md#function-gmodule-grp-grp)

    - [`Example: Create A4wr C3`](K[G]-module.md#example-ex-e47a86)

  - [Action on a Polynomial Ring](K[G]-module.md#action-on-a-polynomial-ring)

    - [`GModule(G, P, d): Grp, RngMPol, RngIntElt → ModGrp, Map, {@ RngMPolElt @}`](K[G]-module.md#function-gmodule-grp-rngmpol-rngintelt)

    - [`GModule(G, I, J): Grp, RngMPol, RngMPol → ModGrp, Map, {@ RngMPolElt @}`](K[G]-module.md#function-gmodule-grp-rngmpol-rngmpol)

    - [`GModule(G, Q): Grp, RngMPolRes → ModGrp, Map, {@ RngMPolElt @}`](K[G]-module.md#function-gmodule-grp-rngmpolres)

    - [`Example: Create Poly Action`](K[G]-module.md#example-ex-2611b9)

- [New Modules from Old](operation.md)

  - [Direct Sums and Tensor Products](operation.md#direct-sums-and-tensor-products)

    - [`DirectSum(M, N): ModRng, ModRng → ModRng, Map, Map, Map, Map`](operation.md#function-directsum-modrng-modrng)

    - [`DirectSum(Q): [ ModRng ] → ModRng, [ Map ], [ Map ]`](operation.md#function-directsum-modrng)

    - [`TensorProduct(M, N): ModMat, ModMat → ModMat`](operation.md#function-tensorproduct-modmat-modmat)

    - [`TensorProduct(M, N): ModGrp, ModGrp → ModGrp`](operation.md#function-tensorproduct-modgrp-modgrp)

    - [`TensorPower(M, n): ModMat, RngIntElt → ModMat`](operation.md#function-tensorpower-modmat-rngintelt)

    - [`ExteriorSquare(M): ModMat → ModMat`](operation.md#function-exteriorsquare-modmat)

    - [`SymmetricSquare(M): ModMat → ModMat`](operation.md#function-symmetricsquare-modmat)

    - [`GTensorProduct(M, N): ModGrp, ModGrp → ModGrp, Map`](operation.md#function-gtensorproduct-modgrp-modgrp)

    - [`GTensorProduct(M, N, H): ModGrp, ModGrp, Grp → ModGrp, Map`](operation.md#function-gtensorproduct-modgrp-modgrp-grp)

  - [Induction, Restriction and Inflation for $K[G]$-Modules](operation.md#induction-restriction-and-inflation-for-k-g-modules)

    - [`Dual(M): ModGrp → ModGrp`](operation.md#function-dual-modgrp)

    - [`Induction(M, G): ModGrp, Grp → ModGrp`](operation.md#function-induction-modgrp-grp)

    - [`Induction(R, G): Map, Grp → Map`](operation.md#function-induction-map-grp)

    - [`Restriction(M, H): ModGrp, Grp → ModGrp`](operation.md#function-restriction-modgrp-grp)

    - [`Inflation(M, h): ModGrp, Map → ModGrp`](operation.md#function-inflation-modgrp-map)

    - [`Example: G Modules1`](operation.md#example-ex-6e84be)

  - [The Fixed-point Spaces for a $K[G]$-Module](operation.md#the-fixed-point-spaces-for-a-k-g-module)

    - [`Fix(M): Mod → Mod`](operation.md#function-fix-mod)

    - [`FixMod(M, H): ModGrp, Grp → Mod`](operation.md#function-fixmod-modgrp-grp)

    - [`FixDual(M): ModGrp → Modgrp, Map`](operation.md#function-fixdual-modgrp)

    - [`FixDualMod(M,H): ModGrp, Grp → Mod`](operation.md#function-fixdualmod-modgrp-grp)

  - [Change Ring and Base Change](operation.md#change-ring-and-base-change)

    - [`ChangeRing(M, S): ModRng, Rng → ModRng, Map`](operation.md#function-changering-modrng-rng)

    - [`ChangeRing(M, S, f): ModRng, Rng, Map → ModRng, Map`](operation.md#function-changering-modrng-rng-map)

    - [`M ^ T: ModGrp, AlgMatElt → ModGrp`](operation.md#operation-op-pow-modgrp-algmatelt)

  - [Writing a $K[G]$-Module over a Smaller Field](operation.md#writing-a-k-g-module-over-a-smaller-field)

    - [Rewriting Over a Smaller Degree Finite Field](operation.md#rewriting-over-a-smaller-degree-finite-field)

      - [`IsRealisableOverSmallerField(M): ModGrp → BoolElt, ModGrp`](operation.md#function-isrealisableoversmallerfield-modgrp)

      - [`IsRealisableOverSubfield(M, F): ModGrp, FldFin → BoolElt, ModGrp`](operation.md#function-isrealisableoversubfield-modgrp-fldfin)

      - [`WriteOverSmallerField(M, F): ModGrp, FldFin → ModGrp, Map`](operation.md#function-writeoversmallerfield-modgrp-fldfin)

      - [`AbsoluteModuleOverMinimalField(M, F): ModGrp, FldFin → ModGrp`](operation.md#function-absolutemoduleoverminimalfield-modgrp-fldfin)

      - [`AbsoluteModuleOverMinimalField(M): ModGrp → ModGrp`](operation.md#function-absolutemoduleoverminimalfield-modgrp)

      - [`AbsoluteModulesOverMinimalField(Q, F): [ ModGrp ], FldFin → [ ModGrp ]`](operation.md#function-absolutemodulesoverminimalfield-modgrp-fldfin)

      - [`ModuleOverSmallerField(M, F): ModGrp, FldFin → ModGrp`](operation.md#function-moduleoversmallerfield-modgrp-fldfin)

      - [`ModulesOverSmallerField(Q, F): SeqEnum, FldFin → ModGrp`](operation.md#function-modulesoversmallerfield-seqenum-fldfin)

      - [`ModulesOverCommonField(M, N): ModGrp, ModGrp → ModGrp, ModGrp`](operation.md#function-modulesovercommonfield-modgrp-modgrp)

    - [Rewriting Over a Smaller Degree Number Field](operation.md#rewriting-over-a-smaller-degree-number-field)

      - [`AbsoluteModuleOverMinimalField(M): ModGrp → ModGrp`](operation.md#function-absolutemoduleoverminimalfield-modgrp-2)

      - [`Minimize(M): ModGrp → ModGrp`](operation.md#function-minimize-modgrp)

      - [`Minimize(R): Map → Map`](operation.md#function-minimize-map)

      - [`WriteGModuleOver(M, K): ModGrp, FldAlg → ModGrp`](operation.md#function-writegmoduleover-modgrp-fldalg)

      - [`WriteRepresentationOver(R, K): Map, FldAlg → Map`](operation.md#function-writerepresentationover-map-fldalg)

      - [`Example: Minimal Field`](operation.md#example-ex-217bd4)

- [Accessing Module Information](access.md)

  - [The Underlying Vector Space](access.md#the-underlying-vector-space)

    - [`M . i: ModRng, RngIntElt → ModElt`](access.md#operation-operation-modrng-rngintelt-modelt)

    - [`CoefficientRing(M): ModRng → Rng`](access.md#function-coefficientring-modrng)

    - [`BaseRing(M): ModRng → Rng`](access.md#function-basering-modrng)

    - [`Generators(M): ModRng → { ModRngElt }`](access.md#function-generators-modrng)

    - [`Parent(u): ModRngElt → ModRng`](access.md#function-parent-modrngelt)

  - [The Action Algebra](access.md#the-action-algebra)

    - [`Action(M): ModRng → AlgMat`](access.md#function-action-modrng)

    - [`RightAction(M): ModRng → AlgMat`](access.md#function-rightaction-modrng)

    - [`MatrixGroup(M): ModGrp → GrpMat`](access.md#function-matrixgroup-modgrp)

    - [`ActionGenerator(M, i): ModRng, RngIntElt → AlgMatElt`](access.md#function-actiongenerator-modrng-rngintelt)

    - [`NumberOfActionGenerators(M): ModRng → RngIntElt`](access.md#function-numberofactiongenerators-modrng)

    - [`Ngens(M): ModTupRng → RngIntElt`](access.md#function-ngens-modtuprng)

    - [`Group(M): ModGrp → Grp`](access.md#function-group-modgrp)

    - [`Example: Access`](access.md#example-ex-891476)

- [Group Representations](representation.md)

  - [`GModuleAction(M): ModGrp → Map(Hom)`](representation.md#function-repthy-gmoduleaction)

  - [`Representation(M): ModGrp → Map(Hom)`](representation.md#function-representation-modgrp)

  - [`Example: Representation`](representation.md#example-ex-313ec4)

  - [`Example: Dual`](representation.md#example-ex-8b546c)

  - [`Kernel(M): ModGrp → Grp`](representation.md#function-kernel-modgrp)

  - [`GModuleOfQuotient(M, H): ModGrp, Grp → ModGrp`](representation.md#function-gmoduleofquotient-modgrp-grp)

  - [`ActionGenerator(M, i): ModGrp, RngIntElt → AlgMatElt`](representation.md#function-actiongenerator-modgrp-rngintelt)

  - [`RightActionGenerator(M, i): ModGrp, RngIntElt → AlgMatElt`](representation.md#function-rightactiongenerator-modgrp-rngintelt)

  - [`ActionGenerators(M): ModGrp → [ AlgMatElt ]`](representation.md#function-actiongenerators-modgrp)

  - [`NumberOfActionGenerators(M): ModGrp → RngIntElt`](representation.md#function-numberofactiongenerators-modgrp)

  - [`Nagens(M): ModGrp → RngIntElt`](representation.md#function-nagens-modgrp)

  - [`ActionGroup(M): ModGrp → GrpMat`](representation.md#function-actiongroup-modgrp)

  - [`Sections(G): GrpMat → List`](representation.md#function-sections-grpmat)

  - [`Example: Sections`](representation.md#example-ex-984a17)

- [Module Elements](element.md)

  - [Construction](element.md#construction)

    - [`elt< M | a₁, ..., aₙ >: ModRng, List → ModRngElt`](element.md#constructor-constructor-elt-modrng-list-modrngelt)

    - [`M ! Q: ModRng, [RngElt] → ModRngElt`](element.md#operation-op-modrng-rngelt)

    - [`Zero(M): ModRng → ModRngElt`](element.md#function-zero-modrng)

    - [`M ! 0: ModRng, RngIntElt → ModRngElt`](element.md#operation-op-modrng-rngintelt)

    - [`Random(M): ModRng → ModRngElt`](element.md#function-random-modrng)

  - [Deconstruction of Module Elements](element.md#deconstruction-of-module-elements)

    - [`ElementToSequence(u): ModRngElt → [RngElt]`](element.md#function-elementtosequence-modrngelt)

    - [`Eltseq(u): ModRngElt → [RngElt]`](element.md#function-eltseq-modrngelt)

  - [Action of the Algebra on the Module](element.md#action-of-the-algebra-on-the-module)

    - [`u * a: ModRngElt, AlgElt → ModRngElt`](element.md#operation-op-times-modrngelt-algelt)

    - [`u * g: ModGrpElt, GrpElt → ModGrpElt`](element.md#operation-op-times-modgrpelt-grpelt)

  - [Arithmetic with Module Elements](element.md#arithmetic-with-module-elements)

    - [`u + v: ModRngElt, ModRngElt → ModRngElt`](element.md#operation-op-plus-modrngelt-modrngelt)

    - [`- u: ModRngElt → ModRngElt`](element.md#operation-operation-modrngelt-modrngelt)

    - [`u - v: ModRngElt, ModRngElt → ModRngElt`](element.md#operation-op-minus-modrngelt-modrngelt)

    - [`k * u: RngElt, ModRngElt → ModRngElt`](element.md#operation-op-times-rngelt-modrngelt)

    - [`u * k: ModRngElt, RngElt → ModRngElt`](element.md#operation-op-times-modrngelt-rngelt)

    - [`u / k: ModRngElt, RngElt → ModRngElt`](element.md#operation-op-div-modrngelt-rngelt)

  - [Indexing](element.md#indexing)

    - [`u[i]: ModRngElt, RngIntElt → RngElt`](element.md#indexed-indexed-u-modrngelt-rngintelt-rngelt)

    - [`u[i] := x: ModRngElt, RngIntElt, RngElt → ModRngElt`](element.md#literal-literal-u-i-x-modrngelt-rngintelt-rngelt-modrngelt)

  - [Properties of Module Elements](element.md#properties-of-module-elements)

    - [`IsZero(u): ModRngElt → BoolElt`](element.md#function-iszero-modrngelt)

    - [`Support(u): ModRngElt → { RngIntElt }`](element.md#function-support-modrngelt)

- [Submodules and Quotient Modules](submodules.md)

  - [Construction](submodules.md#construction)

    - [`sub<M | L>: ModRng, List → ModRng`](submodules.md#constructor-constructor-sub-modrng-list-modrng)

    - [`ImageWithBasis(X, M): ModMatRngElt, ModRng → ModRng`](submodules.md#function-imagewithbasis-modmatrngelt-modrng)

    - [`Morphism(M, N): ModRng, ModRng → ModMatRngElt`](submodules.md#function-morphism-modrng-modrng)

    - [`Example: Submodule`](submodules.md#example-ex-260f18)

  - [Membership and Equality](submodules.md#membership-and-equality)

    - [`u in M: ModRngElt, ModRng → BoolElt`](submodules.md#operation-op-in-modrngelt-modrng)

    - [`N subset M: ModRng, ModRng → BoolElt`](submodules.md#operation-op-subset-modrng-modrng)

    - [`N eq M: ModRng, ModRng → BoolElt`](submodules.md#operation-op-eq-modrng-modrng)

  - [Operations on Submodules](submodules.md#operations-on-submodules)

    - [`M + N: ModRng, ModRng → ModRng`](submodules.md#operation-op-plus-modrng-modrng)

    - [`M meet N: ModRng, ModRng → ModRng`](submodules.md#operation-op-meet-modrng-modrng)

  - [Quotient Modules](submodules.md#quotient-modules)

    - [`quo<M | L>: ModRng, List → ModRng`](submodules.md#constructor-constructor-quo-modrng-list-modrng)

    - [`Morphism(M, N): ModRng, ModRng → ModMatRngElt`](submodules.md#function-morphism-modrng-modrng-2)

    - [`Example: Quotient Module`](submodules.md#example-ex-26899c)

- [Properties of a Module](module-props.md)

  - [`IsIrreducible(M): ModRng → BoolElt, ModRng, ModRng`](module-props.md#function-isirreducible-modrng)

  - [`IsAbsolutelyIrreducible(M): ModRng → BoolElt, AlgMatElt, RngIntElt`](module-props.md#function-isabsolutelyirreducible-modrng)

  - [`IsDecomposable(M): ModRng → BoolElt, ModRng, ModRng`](module-props.md#function-isdecomposable-modrng)

  - [`IsSemisimple(M): ModGrp → BoolElt`](module-props.md#function-issemisimple-modgrp)

  - [`IsProjective(M): ModGrp → BoolElt`](module-props.md#function-isprojective-modgrp)

  - [`IsFree(M): ModGrp → BoolElt`](module-props.md#function-isfree-modgrp)

  - [`IsSelfDual(M): ModGrp → BoolElt`](module-props.md#function-isselfdual-modgrp)

  - [`IsPermutationModule(M): ModRng → BoolElt`](module-props.md#function-ispermutationmodule-modrng)

- [Structure of a Module](structure.md)

  - [Splitting a Module](structure.md#splitting-a-module)

    - [`Meataxe(M): ModRng → ModRng, ModRng, AlgMatElt`](structure.md#function-modalg-meataxe)

    - [`IsIrreducible(M): ModRng → BoolElt, ModRng, ModRng`](structure.md#function-isirreducible-modrng-2)

    - [`IsAbsolutelyIrreducible(M): ModRng → BoolElt, AlgMatElt, RngIntElt`](structure.md#function-isabsolutelyirreducible-modrng-2)

    - [`AbsolutelyIrreducibleModule(M): ModRng → ModRng`](structure.md#function-absolutelyirreduciblemodule-modrng)

    - [`MinimalField(M): ModRng → FldFin`](structure.md#function-minimalfield-modrng)

    - [`Example: Meataxe`](structure.md#example-ex-0a0c7d)

  - [Composition Series](structure.md#composition-series)

    - [`CompositionSeries(M): ModRng → [ ModRng ], [ ModRng ], AlgMatElt`](structure.md#function-compositionseries-modrng)

    - [`CompositionFactors(M): ModRng → [ ModRng ]`](structure.md#function-compositionfactors-modrng)

    - [`Constituents(M): ModRng → [ ModRng ], [ RngIntElt ]`](structure.md#function-constituents-modrng)

    - [`ConstituentsWithMultiplicities(M): ModRng → [ <ModRng, RngIntElt> ], [ RngIntElt ]`](structure.md#function-constituentswithmultiplicities-modrng)

    - [`Example: Comp Series`](structure.md#example-ex-90fff5)

  - [Minimal and Maximal Submodules](structure.md#minimal-and-maximal-submodules)

    - [`JacobsonRadical(M): ModRng → ModRng, Map`](structure.md#function-jacobsonradical-modrng)

    - [`MinimalSubmodule(M): ModRng → ModRng`](structure.md#function-minimalsubmodule-modrng)

    - [`MinimalSubmodules(M): ModRng → [ ModRng ], BoolElt`](structure.md#function-minimalsubmodules-modrng)

    - [`MinimalSubmodules(M, F): ModRng, ModRng → [ ModRng ], BoolElt`](structure.md#function-minimalsubmodules-modrng-modrng)

    - [`MaximalSubmodules(M): ModRng → [ ModRng ], BoolElt`](structure.md#function-maximalsubmodules-modrng)

  - [Socle Series](structure.md#socle-series)

    - [`Socle(M): ModRng → ModRng, Map`](structure.md#function-socle-modrng)

    - [`SocleRecursive(M): ModRng → ModRng`](structure.md#function-soclerecursive-modrng)

    - [`SocleSeries(M): ModRng → [ ModRng ], [ ModRng ], AlgMatElt`](structure.md#function-socleseries-modrng)

    - [`SocleFactors(M): ModRng → [ ModRng ]`](structure.md#function-soclefactors-modrng)

    - [`SocleLayerFactors(M): ModGrp → SeqEnum`](structure.md#function-soclelayerfactors-modgrp)

    - [`DisplaySocleStructure(SL): SeqEnum`](structure.md#function-displaysoclestructure-seqenum)

    - [`Example: Minimals`](structure.md#example-ex-eb70be)

  - [Decomposition and Complements](structure.md#decomposition-and-complements)

    - [`IsDecomposable(M): ModRng → BoolElt, ModRng, ModRng`](structure.md#function-isdecomposable-modrng-2)

    - [`IsSemisimple(M): ModGrp → BoolElt`](structure.md#function-issemisimple-modgrp-2)

    - [`DirectSumDecomposition(M): ModRng → [ ModRng ]`](structure.md#function-directsumdecomposition-modrng)

    - [`IndecomposableSummands(M): ModRng → [ ModRng ]`](structure.md#function-indecomposablesummands-modrng)

    - [`Decomposition(M): ModRng → [ ModRng ]`](structure.md#function-decomposition-modrng)

    - [`RelativeDecomposition(M, T): ModRng, ModRng) → ModRng, ModRng`](structure.md#function-relativedecomposition-modrng-modrng)

    - [`HasComplement(M, S): ModGrp, ModGrp → BoolElt, ModGrp`](structure.md#function-hascomplement-modgrp-modgrp)

    - [`HasComplement(M, S): ModRng, ModRng → BoolElt, ModRng`](structure.md#function-hascomplement-modrng-modrng)

    - [`IsDirectSummand(M, S): ModGrp, ModGrp → BoolElt, ModGrp`](structure.md#function-isdirectsummand-modgrp-modgrp)

    - [`IsDirectSummand(M, S): ModRng, ModRng → BoolElt, ModRng`](structure.md#function-isdirectsummand-modrng-modrng)

    - [`Complements(M, S): ModGrp, ModGrp → [ ModGrp ]`](structure.md#function-complements-modgrp-modgrp)

    - [`Complements(M, S): ModRng, ModRng → [ ModRng ]`](structure.md#function-complements-modrng-modrng)

    - [`Example: Decomposable`](structure.md#example-ex-6acaf1)

- [Characters and Character Tables](enum-irreducibles.md)

  - [Ordinary Characters](enum-irreducibles.md#ordinary-characters)

    - [`Character(M): ModGrp → AlgChtrElt`](enum-irreducibles.md#function-character-modgrp)

    - [`CharacterTable(G): Chtr → SeqEnum`](enum-irreducibles.md#function-charactertable-chtr)

    - [`SymmetricCharacterTable(n): RngIntElt → SeqEnum`](enum-irreducibles.md#function-symmetriccharactertable-rngintelt)

    - [`AlternatingCharacterTable(n): RngIntElt → SeqEnum`](enum-irreducibles.md#function-alternatingcharactertable-rngintelt)

    - [`RationalCharacterTable(G): Chtr → SeqEnum`](enum-irreducibles.md#function-rationalcharactertable-chtr)

  - [Brauer Characters](enum-irreducibles.md#brauer-characters)

    - [`BrauerCharacterTable(G, p): Chtr → SeqEnum`](enum-irreducibles.md#function-brauercharactertable-chtr)

    - [`Character(M): ModGrp → AlgChtrElt`](enum-irreducibles.md#function-character-modgrp-2)

- [Constructing All Irreducible $K[G]$-Modules](constructing-all-irred.md)

  - [Constructing Irreducible $K[G]$-Modules (Characteristic $p$)](constructing-all-irred.md#constructing-irreducible-k-g-modules-characteristic-p)

    - [`IrreducibleModules(G, K : parameters): Grp, Fld → SeqEnum`](constructing-all-irred.md#function-irreduciblemodules-grp-fld)

    - [`AbsolutelyIrreducibleModules(G, K : parameters): Grp, Fld → SeqEnum`](constructing-all-irred.md#function-absolutelyirreduciblemodules-grp-fld)

    - [`AbsolutelyIrreducibleModulesSoluble(G, p): Grp, RngIntElt → SeqEnum`](constructing-all-irred.md#function-absolutelyirreduciblemodulessoluble-grp-rngintelt)

    - [`AbsolutelyIrreducibleModulesSchur(G, K): GrpPC, Fld → List`](constructing-all-irred.md#function-absolutelyirreduciblemodulesschur-grppc-fld)

    - [`Example: Irreducibles`](constructing-all-irred.md#example-ex-040cef)

  - [Constructing Irreducible $K[G]$-Modules (Characteristic Zero)](constructing-all-irred.md#constructing-irreducible-k-g-modules-characteristic-zero)

    - [`GModule(x): Chtr → ModGrp`](constructing-all-irred.md#function-gmodule-chtr)

    - [`IrreducibleModules(G, K): Grp, Fld → SeqEnum`](constructing-all-irred.md#function-irreduciblemodules-grp-fld-2)

    - [`AbsolutelyIrreducibleModules(G): Grp → SeqEnum`](constructing-all-irred.md#function-absolutelyirreduciblemodules-grp)

    - [`AbsolutelyIrreducibleModulesSchur(G, K): GrpPC, Fld → List`](constructing-all-irred.md#function-absolutelyirreduciblemodulesschur-grppc-fld-2)

    - [`Example: Irreducibles`](constructing-all-irred.md#example-ex-b6fa49)

  - [The Cartan Matrix](constructing-all-irred.md#the-cartan-matrix)

    - [`CartanMatrix(G, K): Grp, FldFin → AlgMatElt`](constructing-all-irred.md#function-cartanmatrix-grp-fldfin)

    - [`AbsoluteCartanMatrix(G, K): Grp, FldFin → AlgMatElt`](constructing-all-irred.md#function-absolutecartanmatrix-grp-fldfin)

    - [`DecompositionMatrix(G, K): Grp, FldFin → AlgMatElt`](constructing-all-irred.md#function-decompositionmatrix-grp-fldfin)

- [Lattice of Submodules](submodule-lattice.md)

  - [Creating Lattices](submodule-lattice.md#creating-lattices)

    - [`SubmoduleLattice(M): ModRng → SubModLat, BoolElt`](submodule-lattice.md#function-submodulelattice-modrng)

    - [`SubmoduleLatticeAbort(M, n): ModRng, RngIntElt → BoolElt, SubModLat`](submodule-lattice.md#function-submodulelatticeabort-modrng-rngintelt)

    - [`SetVerbose("SubmoduleLattice", i): MonStgElt, RngIntElt`](submodule-lattice.md#function-setverbose-monstgelt-rngintelt)

    - [`Submodules(M): ModRng → [ModRng]`](submodule-lattice.md#function-repthy-submodules)

    - [`Example: Create Lattice`](submodule-lattice.md#example-ex-05bd83)

  - [Operations on Lattices](submodule-lattice.md#operations-on-lattices)

    - [`# L: SubModLat → RngIntElt`](submodule-lattice.md#operation-operation-submodlat-rngintelt)

    - [`L ! i: SubModLat, RngIntElt → SubModLatElt`](submodule-lattice.md#operation-op-submodlat-rngintelt)

    - [`L ! S: SubModLat, ModRng → SubModLatElt`](submodule-lattice.md#operation-op-submodlat-modrng)

    - [`Bottom(L): SubModLat → SubModLatElt`](submodule-lattice.md#function-bottom-submodlat)

    - [`Random(L): SubModLat → SubModLatElt`](submodule-lattice.md#function-random-submodlat)

    - [`Top(L): SubModLat → SubModLatElt`](submodule-lattice.md#function-top-submodlat)

  - [Operations on Lattice Elements](submodule-lattice.md#operations-on-lattice-elements)

    - [`IntegerRing() ! e: RngInt, SubModLatElt → RngIntElt`](submodule-lattice.md#operation-integerring-rngint-submodlatelt)

    - [`e + f: SubModLatElt, SubModLatElt → SubModLatElt`](submodule-lattice.md#operation-op-plus-submodlatelt-submodlatelt)

    - [`e meet f: SubModLatElt, SubModLatElt → SubModLatElt`](submodule-lattice.md#operation-op-meet-submodlatelt-submodlatelt)

    - [`e eq f: SubModLatElt, SubModLatElt → SubModLatElt`](submodule-lattice.md#operation-op-eq-submodlatelt-submodlatelt)

    - [`e subset f: SubModLatElt, SubModLatElt → SubModLatElt`](submodule-lattice.md#operation-op-subset-submodlatelt-submodlatelt)

    - [`MaximalSubmodules(e): SubModLatElt → { SubModLatElt }`](submodule-lattice.md#function-maximalsubmodules-submodlatelt)

    - [`MinimalSupermodules(e): SubModLatElt → { SubModLatElt }`](submodule-lattice.md#function-minimalsupermodules-submodlatelt)

    - [`Module(e): SubModLatElt → ModRng`](submodule-lattice.md#function-module-submodlatelt)

  - [Properties of Lattice Elements](submodule-lattice.md#properties-of-lattice-elements)

    - [`Dimension(e): SubModLatElt → RngIntElt`](submodule-lattice.md#function-dimension-submodlatelt)

    - [`JacobsonRadical(e): SubModLatElt → SubModLatElt`](submodule-lattice.md#function-jacobsonradical-submodlatelt)

    - [`Morphism(e): SubModLatElt → ModMatRngElt`](submodule-lattice.md#function-morphism-submodlatelt)

    - [`Example: Lattice Ops`](submodule-lattice.md#example-ex-42abf7)

- [Homomorphisms](homomorphism.md)

  - [Creating Homomorphisms and Hom Spaces](homomorphism.md#creating-homomorphisms-and-hom-spaces)

    - [`hom< M -> N | X >: ModRng, ModRng, ModMatElt → Map`](homomorphism.md#constructor-constructor-hom-modrng-modrng-modmatelt-map)

    - [`Hom(M, N): ModRng, ModRng → ModMatRng`](homomorphism.md#function-hom-modrng-modrng)

    - [`GHom(M, N): ModGrp, ModGrp → ModMatGrp`](homomorphism.md#function-ghom-modgrp-modgrp)

    - [`GHomOverCentralizingField(M, N): ModGrp, ModGrp → ModMatGrp`](homomorphism.md#function-ghomovercentralizingfield-modgrp-modgrp)

    - [`GHomOverCentralizingField(M, N): ModRng, ModRng → ModRng`](homomorphism.md#function-ghomovercentralizingfield-modrng-modrng)

    - [`AHom(M, N): ModRng, ModRng → ModMatRng`](homomorphism.md#function-ahom-modrng-modrng)

    - [`HomMod(M, N): ModGrp, ModGrp → ModGrp`](homomorphism.md#function-hommod-modgrp-modgrp)

    - [`H ! f: ModMatRng, Map → ModMatRngElt`](homomorphism.md#operation-op-modmatrng-map)

    - [`IsModuleHomomorphism(X): ModMatFldElt → BoolElt`](homomorphism.md#function-ismodulehomomorphism-modmatfldelt)

    - [`Example: Endo Ring`](homomorphism.md#example-ex-1d057a)

    - [`Example: Create Hom G Hom`](homomorphism.md#example-ex-b3e6b8)

  - [Isomorphism and Similarity](homomorphism.md#isomorphism-and-similarity)

    - [Isomorphism](homomorphism.md#isomorphism)

      - [`IsIsomorphic(M, N): ModRng, ModRng → ModRng, ModRng, BoolElt, AlgMatElt`](homomorphism.md#function-isisomorphic-modrng-modrng)

      - [`SummandIsomorphism(M, N): ModRng, ModRng → ModRng, ModRng, Map, Map`](homomorphism.md#function-summandisomorphism-modrng-modrng)

    - [Similarity of Cyclic Algebras and their Modules](homomorphism.md#similarity-of-cyclic-algebras-and-their-modules)

      - [`IsCyclic(R): AlgAss → BoolElt, AlgAssElt`](homomorphism.md#function-iscyclic-algass)

      - [`IsSimilar(M, N): ModRng, ModRng → BoolElt, Map`](homomorphism.md#function-issimilar-modrng-modrng)

      - [`Example: Star Alg`](homomorphism.md#example-ex-693618)

  - [The Endomorphism Ring](homomorphism.md#the-endomorphism-ring)

    - [`EndomorphismAlgebra(M): ModRng → AlgMat`](homomorphism.md#function-endomorphismalgebra-modrng)

    - [`EndomorphismRing(M): ModRng → AlgMat`](homomorphism.md#function-endomorphismring-modrng)

    - [`CentreOfEndomorphismRing(M): ModRng → AlgMat`](homomorphism.md#function-centreofendomorphismring-modrng)

    - [`AutomorphismGroup(M): ModRng → GrpMat`](homomorphism.md#function-automorphismgroup-modrng)

    - [`Example: Endo Ring`](homomorphism.md#example-ex-d24d44)

- [Projective Indecomposable Modules](projective-indecomposable-modules.md)

  - [`ProjectiveIndecomposableDimensions(G, K): Grp, FldFin → SeqEnum`](projective-indecomposable-modules.md#function-projectiveindecomposabledimensions-grp-fldfin)

  - [`ProjectiveIndecomposableModule(I: parameters): ModGrp → ModGrp`](projective-indecomposable-modules.md#function-projectiveindecomposablemodule-modgrp)

  - [`ProjectiveIndecomposableModules(G, K: parameters): Grp, FldFin → SeqEnum`](projective-indecomposable-modules.md#function-projectiveindecomposablemodules-grp-fldfin)

  - [`PIMBlocks(CM): AlgMatElt → SeqEnum`](projective-indecomposable-modules.md#function-pimblocks-algmatelt)

  - [`PIMBlocks(I, P): SeqEnum, SeqEnum → SeqEnum`](projective-indecomposable-modules.md#function-pimblocks-seqenum-seqenum)

  - [`ProjectiveCover(M): ModGrp → ModGrp, ModMatGrpElt`](projective-indecomposable-modules.md#function-projectivecover-modgrp)

  - [`InjectiveHull(M): ModGrp → ModGrp, ModMatGrpElt`](projective-indecomposable-modules.md#function-injectivehull-modgrp)

  - [`Example: Projective Indecomposables`](projective-indecomposable-modules.md#example-ex-a07bd5)

- [Cohomology and Extensions](cohomology-extensions.md)

  - [Cohomology](cohomology-extensions.md#cohomology)

    - [`CohomologyModule(G, M): GrpPerm, ModGrp → ModCoho`](cohomology-extensions.md#function-grpcoh-cohomologymodule)

    - [`CohomologyModule(G, M): GrpPC, ModGrp → ModCoho`](cohomology-extensions.md#function-cohomologymodule-grppc-modgrp)

    - [`CohomologyGroup(CM, n): ModCoho, RngIntElt → ModTupRng`](cohomology-extensions.md#function-cohomologygroup-modcoho-rngintelt)

    - [`CohomologicalDimension(CM, n): ModCoho, RngIntElt → RngIntElt`](cohomology-extensions.md#function-cohomologicaldimension-modcoho-rngintelt)

    - [`CohomologicalDimension(M, n): ModGrp, n → RngIntElt`](cohomology-extensions.md#function-cohomologicaldimension-modgrp-n)

    - [`CohomologicalDimensions(M, n): ModGrp, n → RngIntElt`](cohomology-extensions.md#function-cohomologicaldimensions-modgrp-n)

    - [`Example: Cohomology Group`](cohomology-extensions.md#example-ex-047dc8)

    - [`Example: Cohomological Dimension`](cohomology-extensions.md#example-ex-68a11a)

  - [Extensions of Modules](cohomology-extensions.md#extensions-of-modules)

    - [`Ext(M, N): ModGrp, ModGrp → ModTupFld`](cohomology-extensions.md#function-ext-modgrp-modgrp)

    - [`Extension(M, N, e, r): ModGrp, ModGrp, ModTupFldElt, Map → ModGrp, ModMatGrpElt, ModMatGrpElt`](cohomology-extensions.md#function-extension-modgrp-modgrp-modtupfldelt-map)

    - [`MaximalExtension(M, N, E, r): ModGrp, ModGrp, ModTupFld, map → ModGrp`](cohomology-extensions.md#function-maximalextension-modgrp-modgrp-modtupfld-map)

    - [`MaximalExtension(M, N): ModGrp, ModGrp → ModGrp`](cohomology-extensions.md#function-maximalextension-modgrp-modgrp)

    - [`MaximalExtension(~M, N): ModGrp, ModGrp`](cohomology-extensions.md#function-maximalextension-modgrp-modgrp-ref)

    - [`Example: Module Extensions`](cohomology-extensions.md#example-ex-fa426a)

    - [`LowDimensionalModules(G, K, n): Grp, Fld, RngIntElt → SeqEnum`](cohomology-extensions.md#function-lowdimensionalmodules-grp-fld-rngintelt)

- [Vertex and Source of an Indecomposable Module](vertex-source.md)

  - [`Vertex(M : parameters): ModGrp → Grp`](vertex-source.md#function-vertex-modgrp)

  - [`Source(M : parameters): ModGrp → ModGrp, ModGrp`](vertex-source.md#function-source-modgrp)

  - [`Example: Vertices and Sources in $M_{22}.2$`](vertex-source.md#example-ex-5a661a)

- [Bimodules](bimodules.md)

  - [Introduction](bimodules.md#introduction)

  - [Construction](bimodules.md#construction)

    - [`Bimodule(M,N): ModGrp, ModGrp → LRModGrp`](bimodules.md#function-bimodule-modgrp-modgrp)

    - [`Example: Small Bimodule`](bimodules.md#example-ex-31c812)

    - [`Bimodule(G,H,M): Grp, Grp, ModGrp → LRModGrp`](bimodules.md#function-bimodule-grp-grp-modgrp)

    - [`Example: Dp Bimodule`](bimodules.md#example-ex-5e5954)

    - [`LeftBimodule(M): ModGrp → LRModGrp`](bimodules.md#function-leftbimodule-modgrp)

    - [`RightBimodule(M): ModGrp → LRModGrp`](bimodules.md#function-rightbimodule-modgrp)

  - [Extracting the Left and Right Modules From a Bimodule](bimodules.md#extracting-the-left-and-right-modules-from-a-bimodule)

    - [`LeftOppositeModule(B): LRModGrp → ModGrp`](bimodules.md#function-leftoppositemodule-lrmodgrp)

    - [`RightModule(B): LRModGrp → ModGrp`](bimodules.md#function-rightmodule-lrmodgrp)

    - [`Example: Dp Bimodule Cont`](bimodules.md#example-ex-022d8f)

  - [Permutation Bimodules](bimodules.md#permutation-bimodules)

    - [`PermutationBimodule(G,H,m,K): Grp, Grp, Map, Fld → LRModGrp`](bimodules.md#function-permutationbimodule-grp-grp-map-fld)

    - [`Example: permbimodule`](bimodules.md#example-ex-791051)

  - [Tensor Products of Bimodules](bimodules.md#tensor-products-of-bimodules)

    - [`TensorProduct(B1, B2): LRModGrp, LRModGrp → LRModGrp`](bimodules.md#function-tensorproduct-lrmodgrp-lrmodgrp)

    - [`Example: induction`](bimodules.md#example-ex-f17ecc)

- [Enumerating All Irreducible Modules](construct-irreds.md)

  - [Irreducible Modules over $F_q$ for Arbitrary Groups](construct-irreds.md#irreducible-modules-over-f-q-for-arbitrary-groups)

    - [`IrreducibleModules(G, K : parameters): Grp, Fld → SeqEnum`](construct-irreds.md#function-irreduciblemodules-grp-fld-3)

    - [`AbsolutelyIrreducibleModules(G, K : parameters): Grp, Fld → SeqEnum`](construct-irreds.md#function-absolutelyirreduciblemodules-grp-fld-2)

    - [`Example: Irreducible Modules`](construct-irreds.md#example-ex-1afbd4)

    - [`AbsolutelyIrreducibleModulesBurnside(G, K : parameters ): Grp, FldFin → [ ModGrp ]`](construct-irreds.md#function-absolutelyirreduciblemodulesburnside-grp-fldfin)

    - [`IrreducibleModulesBurnside(G, K : parameters ): Grp, FldFin → [ ModGrp ]`](construct-irreds.md#function-irreduciblemodulesburnside-grp-fldfin)

    - [`AbsolutelyIrreducibleConstituents(M): ModGrp → [ ModGrp ]`](construct-irreds.md#function-absolutelyirreducibleconstituents-modgrp)

    - [`Example: IrreducibleModules M11`](construct-irreds.md#example-ex-7aff4e)

  - [Irreducible Modules over $F_q$ for Soluble Groups](construct-irreds.md#irreducible-modules-over-f-q-for-soluble-groups)

    - [`IrreducibleModules(G, K : parameters): Grp, Fld → SeqEnum`](construct-irreds.md#function-irreduciblemodules-grp-fld-4)

    - [`AbsolutelyIrreducibleModulesSchur(G, K: parameters): GrpPC, Rng → List[GMod ule]`](construct-irreds.md#function-absolutelyirreduciblemodulesschur-grppc-rng)

    - [`AbsolutelyIrreducibleModulesSchur(G, k, i: parameters): GrpPC, Rng, RngIntElt → List[GModule]`](construct-irreds.md#function-absolutelyirreduciblemodulesschur-grppc-rng-rngintelt)

    - [`AbsolutelyIrreducibleModulesSchur(G, k, L: parameters): GrpPC, Rng, List[GModule] → List[GModule]`](construct-irreds.md#function-absolutelyirreduciblemodulesschur-grppc-rng-list-gmodule)

    - [`AbsolutelyIrreducibleModulesSchur(G, k, L, i: parameters): GrpPC, Rng, RngIntElt → List[GModule]`](construct-irreds.md#function-absolutelyirreduciblemodulesschur-grppc-rng-rngintelt-2)

    - [`IrreducibleModulesSchur(G, K: parameters): GrpPC, Rng → List[GModule]`](construct-irreds.md#function-irreduciblemodulesschur-grppc-rng)

    - [`IrreducibleModulesSchur(G, K, i: parameters): GrpPC, Rng, RngIntElt → List[GModule]`](construct-irreds.md#function-irreduciblemodulesschur-grppc-rng-rngintelt)

    - [`IrreducibleModulesSchur(G, K, L: parameters): GrpPC, Rng, List[GModule] → List[GModule]`](construct-irreds.md#function-irreduciblemodulesschur-grppc-rng-list-gmodule)

    - [`IrreducibleModulesSchur(G, K, L, i: parameters): GrpPC, Rng, List[GModule], RngIntElt → List[GModule]`](construct-irreds.md#function-irreduciblemodulesschur-grppc-rng-list-gmodule-rngintelt)

    - [`Example: Reps`](construct-irreds.md#example-ex-a55c65)

  - [Irreducible Modules over ${\mathbb{Q}}$ for Arbitrary Groups](construct-irreds.md#irreducible-modules-over-mathbb-q-for-arbitrary-groups)

    - [`IrreducibleModules(G, Q : parameters): Grp, FldRat → SeqEnum, SeqEnum`](construct-irreds.md#function-irreduciblemodules-grp-fldrat)

    - [`RationalCharacterTable(G): Grp → SeqEnum, SeqEnum`](construct-irreds.md#function-rationalcharactertable-grp)

    - [`Example: Irreducible Modules`](construct-irreds.md#example-ex-c96e06)

    - [`Example: Irreducible Modules2`](construct-irreds.md#example-ex-011efd)

- [Modules over a General Algebra](modules-matrix-algebra.md)

  - [Introduction](modules-matrix-algebra.md#introduction)

  - [Construction of Algebra Modules](modules-matrix-algebra.md#construction-of-algebra-modules)

    - [`Module(A, m): Alg, Map[SetCart, ModRng] → ModAlg`](modules-matrix-algebra.md#function-module-alg-map-setcart-modrng)

    - [`Example: Alg Mod Create`](modules-matrix-algebra.md#example-ex-dc2928)

  - [The Action of an Algebra Element](modules-matrix-algebra.md#the-action-of-an-algebra-element)

    - [`a ^ v: AlgElt, ModAlgElt → ModAlgElt`](modules-matrix-algebra.md#operation-op-pow-algelt-modalgelt)

    - [`v ^ a: ModAlgElt, AlgElt → ModAlgElt`](modules-matrix-algebra.md#operation-op-pow-modalgelt-algelt)

    - [`ActionMatrix(M, a): ModAlg, AlgElt → AlgMatElt`](modules-matrix-algebra.md#function-actionmatrix-modalg-algelt)

    - [`Example: Action`](modules-matrix-algebra.md#example-ex-72e8cf)

  - [Related Structures of an Algebra Module](modules-matrix-algebra.md#related-structures-of-an-algebra-module)

    - [`Algebra(M): ModAlg → Alg`](modules-matrix-algebra.md#function-algebra-modalg)

    - [`CoefficientRing(M): ModAlg → Fld`](modules-matrix-algebra.md#function-coefficientring-modalg)

    - [`Basis(M): ModAlg → SeqEnum`](modules-matrix-algebra.md#function-basis-modalg)

  - [Properties of an Algebra Module](modules-matrix-algebra.md#properties-of-an-algebra-module)

    - [`IsLeftModule(M): ModAlg → BoolElt`](modules-matrix-algebra.md#function-isleftmodule-modalg)

    - [`IsRightModule(M): ModAlg → BoolElt`](modules-matrix-algebra.md#function-isrightmodule-modalg)

    - [`Dimension(M): ModAlg → RngIntElt`](modules-matrix-algebra.md#function-dimension-modalg)

  - [Creation of Algebra Modules from other Algebra Modules](modules-matrix-algebra.md#creation-of-algebra-modules-from-other-algebra-modules)

    - [`DirectSum(Q): SeqEnum → ModAlg, SeqEnum, SeqEnum`](modules-matrix-algebra.md#function-directsum-seqenum)

    - [`SubalgebraModule(B, M): Alg, ModAlg → ModAlg`](modules-matrix-algebra.md#function-subalgebramodule-alg-modalg)

    - [`ModuleWithBasis(Q): SeqEnum → ModAlg`](modules-matrix-algebra.md#function-modulewithbasis-seqenum)

    - [`Example: Other Mod`](modules-matrix-algebra.md#example-ex-720705)

    - [`sub< M | S >: ModAlg, [ModAlgElt] → ModAlg`](modules-matrix-algebra.md#constructor-constructor-sub-modalg-modalgelt-modalg)

    - [`sub< M | e1, ..., en >: ModAlg, ModAlgElt, ..., ModAlgElt → ModAlg`](modules-matrix-algebra.md#constructor-constructor-sub-modalg-modalgelt-modalgelt-modalg)

    - [`quo< M | S >: ModAlg, [ModAlgElt] → ModAlg`](modules-matrix-algebra.md#constructor-constructor-quo-modalg-modalgelt-modalg)

    - [`quo< M | e1, ..., en >: ModAlg, ModAlgElt, ..., ModAlgElt → ModAlg`](modules-matrix-algebra.md#constructor-constructor-quo-modalg-modalgelt-modalgelt-modalg)

    - [`quo< M | S >: ModAlg, ModAlg → ModAlg`](modules-matrix-algebra.md#constructor-constructor-quo-modalg-modalg-modalg)
