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: Elementary Functions on a Module (ex-5e5c19)

Run in calculator (opens in a new tab)

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]

Run in calculator (opens in a new tab)