Elementary Functions

Various simple properties of a module can be retrieved using the following functions.

BaseRing(M) : ModDed -> Rng
CoefficientRing(M) : ModDed -> Rng
The Dedekind domain which M is a module over.
Degree(M) : ModDed -> RngIntElt
The dimension of the vector space the module M embeds into.
Ngens(M) : ModDed -> RngIntElt
NumberOfGenerators(M) : ModDed -> RngIntElt
The minimum number of vectors and ideals which generate the module M.
M . i : ModDed, RngIntElt -> ModTupRngElt
The vector of the ith vector and ideal pair generating the module M.
Determinant(M) : ModDed -> RngOrdIdl
Determinant(M) : ModDed -> RngFunOrdIdl
The determinant of the module M.
Dimension(M) : ModDed -> RngIntElt
The dimension of the vector space spanned by the module M over its coefficient ring. This is the same as the number of generators of a pseudo basis of M.
Contents(M) : ModDed -> RngOrdFracIdl
    UseBasis: BoolElt                   Default: false
The contents of the module M, ie. the gcd of the ideals obtained by multiplying the coefficient ideals by the ideal generated by the coefficients in the corresponding generators. The parameter UseBasis decides whether a pseudo basis or pseudo generators are used.
Simplify(M) : ModDed -> ModDed
    UseBasis: BoolElt                   Default: false
Computes a module of contents 1 by scaling each coefficient ideal by the inverse of the contents of the module M. The parameter UseBasis determines if the operations are performed on the pseudo generators or the pseudo basis of M.
EmbeddingSpace(M) : ModDed -> Mod
The canonical vector space containing the module M, ie.. M tensored with the field of fractions of the coefficient ring.

Example ModDed_elementary (H60E3)

The use of some elementary functions on a module is shown below.
> P<x> := PolynomialRing(Rationals());
> P<y> := PolynomialRing(P);
> F<c> := FunctionField(x^2 - y);
> M := MaximalOrderFinite(F);
> Vs := RModule(M, 2);
> s := [Vs | [1, 3], [2, 3]];
> Mods := Module(s);
> CoefficientRing(Mods);
Maximal Equation Order of F over Univariate Polynomial Ring in x over Rational
Field
> Mods.1;
(1 0)
> Determinant(Mods);
Ideal of M
Generator:
-3
> Vs := RSpace(M, 2);
> s := [Vs | [1, 3], [2, 3]];
> Mods := Module(s);
> sMods := sub<Mods | Mods!Vs![1, 3]>;
> qMods := quo<Mods | sMods>;
> Degree(Mods);
2
> Ngens(Mods);
2
> Ngens(sMods);
1
> Degree(sMods);
2
> Degree(qMods);
2
> Ngens(qMods);
2
> Determinant(Mods);
Ideal of M
Basis:
[1]
> Determinant(sMods);
>>   Determinant(sMods);
               ^
Runtime error in `Determinant': Module must be square
> Determinant(qMods);
Ideal of M
Basis:
[1]
V2.28, 13 July 2023