# Brandt Modules

- [Introduction](ModBrdt:introduction.md)

- [Brandt Module Creation](ModBrdt:brandt-modules.md)

  - [`BrandtModule(D): RngIntElt → ModBrdt`](ModBrdt:brandt-modules.md#function-brandtmodule-rngintelt)

  - [`BrandtModule(D, m): RngIntElt, RngIntElt → ModBrdt`](ModBrdt:brandt-modules.md#function-brandtmodule-rngintelt-rngintelt)

  - [`BrandtModule(A): AlgQuatOrd → ModBrdt`](ModBrdt:brandt-modules.md#function-brandtmodule-algquatord)

  - [`BrandtModule(A, R): AlgQuatOrd, Rng → ModBrdt`](ModBrdt:brandt-modules.md#function-brandtmodule-algquatord-rng)

  - [`BaseExtend(M, R): ModBrdt, Rng → ModBrdt`](ModBrdt:brandt-modules.md#function-baseextend-modbrdt-rng)

  - [`BrandtModule(M, N): AlgQuatOrd, RngElt → ModBrdt`](ModBrdt:brandt-modules.md#function-brandtmodule-algquatord-rngelt)

  - [`Example: Mod Brdt:Constructors`](ModBrdt:brandt-modules.md#example-ex-800093)

  - [Creation of Elements](ModBrdt:brandt-modules.md#creation-of-elements)

    - [`M ! x: ModBrdt, . → ModBrdtElt`](ModBrdt:brandt-modules.md#operation-op-modbrdt)

    - [`M . i: ModBrdt, RngIntElt → ModBrdtElt`](ModBrdt:brandt-modules.md#operation-operation-modbrdt-rngintelt-modbrdtelt)

  - [Operations on Elements](ModBrdt:brandt-modules.md#operations-on-elements)

    - [`a * x: RngElt, ModBrdtElt → ModBrdtElt`](ModBrdt:brandt-modules.md#operation-op-times-rngelt-modbrdtelt)

    - [`x * a: ModBrdtElt, RngElt → ModBrdtElt`](ModBrdt:brandt-modules.md#operation-op-times-modbrdtelt-rngelt)

    - [`x * T: ModBrdtElt, AlgMatElt → ModBrdtElt`](ModBrdt:brandt-modules.md#operation-op-times-modbrdtelt-algmatelt)

    - [`x + y: ModBrdtElt, ModBrdtElt → ModBrdtElt`](ModBrdt:brandt-modules.md#operation-op-plus-modbrdtelt-modbrdtelt)

    - [`x - y: ModBrdtElt, ModBrdtElt → ModBrdtElt`](ModBrdt:brandt-modules.md#operation-op-minus-modbrdtelt-modbrdtelt)

    - [`x eq y: ModBrdtElt, ModBrdtElt → BoolElt`](ModBrdt:brandt-modules.md#operation-op-eq-modbrdtelt-modbrdtelt)

    - [`Eltseq(x): ModBrdtElt → SeqEnum`](ModBrdt:brandt-modules.md#function-eltseq-modbrdtelt)

    - [`InnerProduct(x, y): ModBrdtElt, ModBrdtElt → RngElt`](ModBrdt:brandt-modules.md#function-innerproduct-modbrdtelt-modbrdtelt)

    - [`Norm(x): ModBrdtElt → RngElt`](ModBrdt:brandt-modules.md#function-norm-modbrdtelt)

  - [Categories and Parent](ModBrdt:brandt-modules.md#categories-and-parent)

    - [`Category(M): ModBrdt → Cat`](ModBrdt:brandt-modules.md#function-category-modbrdt)

    - [`Type(M): ModBrdt → Cat`](ModBrdt:brandt-modules.md#function-type-modbrdt)

    - [`Category(x): ModBrdtElt → Cat`](ModBrdt:brandt-modules.md#function-category-modbrdtelt)

    - [`Type(x): ModBrdtElt → Cat`](ModBrdt:brandt-modules.md#function-type-modbrdtelt)

    - [`Parent(x): ModBrdtElt → ModBrdt`](ModBrdt:brandt-modules.md#function-parent-modbrdtelt)

    - [`x in M: ModBrdtElt, ModBrdt → BoolElt`](ModBrdt:brandt-modules.md#operation-op-in-modbrdtelt-modbrdt)

  - [Elementary Invariants](ModBrdt:brandt-modules.md#elementary-invariants)

    - [`Level(M): ModBrdt → RngIntElt`](ModBrdt:brandt-modules.md#function-level-modbrdt)

    - [`Discriminant(M): ModBrdt → RngIntElt`](ModBrdt:brandt-modules.md#function-discriminant-modbrdt)

    - [`Conductor(M): ModBrdt → RngIntElt`](ModBrdt:brandt-modules.md#function-conductor-modbrdt)

    - [`BaseRing(M): ModBrdt → Rng`](ModBrdt:brandt-modules.md#function-basering-modbrdt)

    - [`Basis(M): ModBrdt → SeqEnum`](ModBrdt:brandt-modules.md#function-basis-modbrdt)

  - [Associated Structures](ModBrdt:brandt-modules.md#associated-structures)

    - [`AmbientModule(M): ModBrdt → ModBrdt`](ModBrdt:brandt-modules.md#function-ambientmodule-modbrdt)

    - [`IsAmbient(M): ModBrdt → BoolElt`](ModBrdt:brandt-modules.md#function-isambient-modbrdt)

    - [`Dimension(M): ModBrdt → RngIntElt`](ModBrdt:brandt-modules.md#function-dimension-modbrdt)

    - [`Rank(M): ModBrdt → RngIntElt`](ModBrdt:brandt-modules.md#function-rank-modbrdt)

    - [`Degree(M): ModBrdt → RngIntElt`](ModBrdt:brandt-modules.md#function-degree-modbrdt)

    - [`GramMatrix(M): ModBrdt → AlgMatElt`](ModBrdt:brandt-modules.md#function-grammatrix-modbrdt)

    - [`InnerProductMatrix(M): ModBrdt → AlgMatElt`](ModBrdt:brandt-modules.md#function-innerproductmatrix-modbrdt)

    - [`Example: ModBrdt:Module Creation`](ModBrdt:brandt-modules.md#example-ex-3bb6f4)

    - [`Ideals(M): ModBrdt → []`](ModBrdt:brandt-modules.md#function-ideals-modbrdt)

  - [Verbose Output](ModBrdt:brandt-modules.md#verbose-output)

    - [`Example: ModBrdt:Verbose Output`](ModBrdt:brandt-modules.md#example-ex-15591a)

- [Subspaces and Decomposition](ModBrdt:Subspaces.md)

  - [`EisensteinSubspace(M): ModBrdt → ModBrdt`](ModBrdt:Subspaces.md#function-eisensteinsubspace-modbrdt)

  - [`CuspidalSubspace(M): ModBrdt → ModBrdt`](ModBrdt:Subspaces.md#function-cuspidalsubspace-modbrdt)

  - [`OrthogonalComplement(M): ModBrdt → ModBrdt`](ModBrdt:Subspaces.md#function-orthogonalcomplement-modbrdt)

  - [`M meet N: ModBrdt, ModBrdt → ModBrdt`](ModBrdt:Subspaces.md#operation-op-meet-modbrdt-modbrdt)

  - [`Decomposition(M, B): ModBrdt, RngIntElt → [ModBrdt]`](ModBrdt:Subspaces.md#function-decomposition-modbrdt-rngintelt)

  - [`SortDecomposition(D): [ModBrdt] → SeqEnum`](ModBrdt:Subspaces.md#function-sortdecomposition-modbrdt)

  - [`Example: Mod Brdt:Decomposition`](ModBrdt:Subspaces.md#example-ex-5a913e)

  - [Boolean Tests on Subspaces](ModBrdt:Subspaces.md#boolean-tests-on-subspaces)

    - [`IsEisenstein(M): ModBrdt → BoolElt`](ModBrdt:Subspaces.md#function-iseisenstein-modbrdt)

    - [`IsCuspidal(M): ModBrdt → BoolElt`](ModBrdt:Subspaces.md#function-iscuspidal-modbrdt)

    - [`IsIndecomposable(M, B): ModBrdt, RngIntElt → BoolElt`](ModBrdt:Subspaces.md#function-isindecomposable-modbrdt-rngintelt)

    - [`M1 subset M2: ModBrdt, ModBrdt → BoolElt`](ModBrdt:Subspaces.md#operation-op-subset-modbrdt-modbrdt)

    - [`M1 lt M2: ModBrdt, ModBrdt → BoolElt`](ModBrdt:Subspaces.md#operation-op-lt-modbrdt-modbrdt)

    - [`M1 gt M2: ModBrdt, ModBrdt → BoolElt`](ModBrdt:Subspaces.md#operation-op-gt-modbrdt-modbrdt)

    - [`Example: Mod Brdt:Eisenstein Subspace`](ModBrdt:Subspaces.md#example-ex-577acc)

- [Hecke Operators](hecke-operators.md)

  - [`HeckeOperator(M, n): ModBrdt, RngIntElt → AlgMatElt`](hecke-operators.md#function-heckeoperator-modbrdt-rngintelt)

  - [`AtkinLehnerOperator(M, p): ModBrdt, RngIntElt → AlgMatElt`](hecke-operators.md#function-atkinlehneroperator-modbrdt-rngintelt)

- [$q$-Expansions](qexpansions.md)

  - [`ThetaSeries(x, y, prec): ModBrdtElt, ModBrdtElt, RngIntElt → RngSerElt`](qexpansions.md#function-thetaseries-modbrdtelt-modbrdtelt-rngintelt)

  - [`qExpansionBasis(M, prec): ModBrdt, RngIntElt → SeqEnum`](qexpansions.md#function-qexpansionbasis-modbrdt-rngintelt)

- [Dimensions of Spaces](ModBrdt:dimension-formulas.md)

  - [`BrandtModuleDimension(D, N): RngIntElt, RngIntElt → RngIntElt`](ModBrdt:dimension-formulas.md#function-brandtmoduledimension-rngintelt-rngintelt)

  - [`Example: Mod Brdt:Dimension`](ModBrdt:dimension-formulas.md#example-ex-4ee604)

- [Brandt Modules Over $F_q[t]$](ModBrdt:fldfunrat.md)

  - [`BrandtModuleDimension(D, N): RngElt, RngElt → RngIntElt`](ModBrdt:fldfunrat.md#function-brandtmoduledimension-rngelt-rngelt)

  - [`BrandtModuleDimensionOfNewSubspace(D, N): RngElt, RngElt → RngIntElt`](ModBrdt:fldfunrat.md#function-brandtmoduledimensionofnewsubspace-rngelt-rngelt)

  - [`BrandtModule(M, N): AlgQuatOrd, RngElt → ModBrdt`](ModBrdt:fldfunrat.md#function-brandtmodule-algquatord-rngelt-2)

  - [`QuaternionOrder(M): ModBrdt → AlgQuatOrd`](ModBrdt:fldfunrat.md#function-quaternionorder-modbrdt)

  - [`Level(M): ModBrdt → RngElt`](ModBrdt:fldfunrat.md#function-level-modbrdt-2)

  - [`Discriminant(M): ModBrdt → RngElt`](ModBrdt:fldfunrat.md#function-discriminant-modbrdt-2)

  - [`Conductor(M): ModBrdt → RngElt`](ModBrdt:fldfunrat.md#function-conductor-modbrdt-2)

  - [`Ideals(M): ModBrdt → []`](ModBrdt:fldfunrat.md#function-ideals-modbrdt-2)

  - [`InnerProductMatrix(M): ModBrdt → AlgMatElt`](ModBrdt:fldfunrat.md#function-innerproductmatrix-modbrdt-2)

  - [`HeckeOperator(M, n): ModBrdtNew, RngElt → Mtrx`](ModBrdt:fldfunrat.md#function-heckeoperator-modbrdtnew-rngelt)

  - [`HeckeEigenvectors(M): ModBrdt → [ ModBrdt ]`](ModBrdt:fldfunrat.md#function-heckeeigenvectors-modbrdt)

  - [`HeckeEigenvalue(f, p): ModBrdtElt, RngElt → RngElt`](ModBrdt:fldfunrat.md#function-heckeeigenvalue-modbrdtelt-rngelt)
