Creation of Modules

Modules over Dedekind domains can be created from orders of number fields and function fields and combinations of ideals and vector space elements. Submodules and quotient modules by submodules can also be created.

Module(O, n) : RngOrd, RngIntElt -> ModDed
Module(O, n) : RngFunOrd, RngIntElt -> ModDed
Create the free module On where O is a Dedekind domain.
Module(O) : RngOrd -> ModDed, Map
Module(O) : RngFunOrd -> ModDed, Map
Create the relative order O as a module over its coefficient ring. Also returns the map from the resulting module into O.
Module(I) : RngOrdFracIdl -> ModDed, Map
Module(I) : RngFunOrdIdl -> ModDed, Map
Create the ideal I of a relative order O as a module over the coefficient ring of the order. Also returns the map from the module into O.
Module(S) : SeqEnum[Tup] -> ModDed, Map
Create a module from the sequence of tuples of ideals of a Dedekind domain and ModElts with entries in the Dedekind domain or its field of fractions. The elements of the resulting module will be the sum of products of an element of an ideal and the corresponding ModElt. Also returns the map from the vector space into the module.
Module(S) : SeqEnum[RngOrdFracIdl] -> ModDed
Module(S) : SeqEnum[RngFunOrdIdl] -> ModDed
Create the module which is equal to the direct sum of the ideals in the sequence.
Module(S) : SeqEnum[ModElt] -> ModDed, Map
Create the module which is freely generated by the elements of the sequence S. The elements of the sequence must be ModElts with entries in a Dedekind domain or field of fractions of a Dedekind domain. Also returns the map from the vector space into the module.

Example ModDed_create (H60E1)

The creation of some simple modules is shown.
> x := ext<Integers()|>.1;
> M := MaximalOrder(x^2 + 5);
> Module(M, 5);
Module over Maximal Equation Order with defining polynomial x^2 + 5 over Z
 generated by: (in echelon form)
Principal Ideal of M
Generator:
    M.1 * ( M.1 0 0 0 0 )
Principal Ideal of M
Generator:
    M.1 * ( 0 M.1 0 0 0 )
Principal Ideal of M
Generator:
    M.1 * ( 0 0 M.1 0 0 )
Principal Ideal of M
Generator:
    M.1 * ( 0 0 0 M.1 0 )
Principal Ideal of M
Generator:
    M.1 * ( 0 0 0 0 M.1 )
> I := 1/5*M;
> Module([I, I^3, I^8]);
Module over Maximal Equation Order with defining polynomial x^2 + 5 over Z
 generated by: (in echelon form)
Fractional Principal Ideal of M
Generator:
    1/5*M.1 * ( M.1 0 0 )
Fractional Principal Ideal of M
Generator:
    1/125*M.1 * ( 0 M.1 0 )
Fractional Principal Ideal of M
Generator:
    1/390625*M.1 * ( 0 0 M.1 )
> V := RModule(M, 3);
> Module([<I, V![0, 1, 0]>, <I^4, V![2, 3, 5]>]);
Module over Maximal Equation Order with defining polynomial x^2 + 5 over Z
Fractional Principal Ideal of M
Generator:
    1/5*M.1 car Fractional Principal Ideal of M
Generator:
    1/125*M.1
The same can be done using orders of function fields.
> P<x> := PolynomialRing(Rationals());
> P<y> := PolynomialRing(P);
> F<c> := FunctionField(x^2 - y);
> M := MaximalOrderFinite(F);
> Module(M, 5);
Module over Maximal Equation Order of F over Univariate Polynomial Ring in x over
Rational Field
 generated by: (in echelon form)
Ideal of M
Generator:
1 * ( 1 0 0 0 0 )
Ideal of M
Generator:
1 * ( 0 1 0 0 0 )
Ideal of M
Generator:
1 * ( 0 0 1 0 0 )
Ideal of M
Generator:
1 * ( 0 0 0 1 0 )
Ideal of M
Generator:
1 * ( 0 0 0 0 1 )
> I := 1/5*M;
> Module([I, I^3, I^8]);
Module over Maximal Equation Order of F over Univariate Polynomial Ring in x over
Rational Field
 generated by: (in echelon form)
Ideal of M
Generator:
1/5 * ( 1 0 0 )
Ideal of M
Generator:
1/125 * ( 0 1 0 )
Ideal of M
Generator:
1/390625 * ( 0 0 1 )
> V := RModule(M, 3);
> Module([<I, V![0, 1, 0]>, <I^4, V![2, 3, 5]>]);
Integral Module over Maximal Equation Order of F over Univariate Polynomial Ring
in x over Rational
Field
Ideal of M
Generator:
1/5 car Ideal of M
Generator:
1/125
sub<M | m> : ModDed, SeqEnum[ModDedElt] -> ModDed, Map
sub<M | m1, .., mn> : ModDed, ModDedElt, ..., ModDedElt -> ModDed, Map
Construct the submodule of the module M generated by the elements in the sequence or list of elements m. Also returns the inclusion map of the submodule into M.
quo<M | S> : ModDed, ModDed -> ModDed, Map
quo<M | m> : ModDed, SeqEnum[ModDedElt] -> ModDed, Map
quo<M | m1, .., mn> : ModDed, ModDedElt, ..., ModDedElt -> ModDed, Map
Construct the quotient of the module M by the submodule S or the submodule generated by the elements of the sequence or list of elements m. Also returns the inclusion map of the quotient module into M.

Example ModDed_sub-quo (H60E2)

Use of the sub and quo constructors is illustrated below. Let M and V be as above when they were referring to number fields.
> Mod := Module([V|[0,1,0], [4,4,0]]);
> S1 := sub<Mod | >;
> S1;
Integral Module over Maximal Equation Order with defining polynomial x^2 + 5
over Z
(0)
> Q1 := quo<Mod | Mod>;
> Q1;
Quotient of Module over Maximal Equation Order with defining polynomial x^2 + 5
over Z
Principal Ideal of M
Generator:
    4/1*M.1 car Principal Ideal of M
Generator:
    M.1
by Integral Module over Maximal Equation Order with defining polynomial
x^2 + 5 over Z
Principal Ideal of M
Generator:
    4/1*M.1 car Principal Ideal of M
Generator:
    M.1
> S2 := sub<Mod | Mod.2>;
> S2;
Integral Module over Maximal Equation Order with defining polynomial x^2 + 5
over Z
Principal Ideal of M
Generator:
    M.1
> Q2 := quo<Mod | Mod.2>;
> Q2;
Quotient of Module over Maximal Equation Order with defining polynomial x^2 + 5
over Z
Principal Ideal of M
Generator:
    4/1*M.1 car Principal Ideal of M
Generator:
    M.1
by Integral Module over Maximal Equation Order with defining polynomial
x^2 + 5 over Z
Principal Ideal of M
Generator:
    M.1
> S3 := sub<Mod | 4*Mod.1, Mod.2>;
> S3;
Integral Module over Maximal Equation Order with defining polynomial x^2 + 5
over Z
Principal Ideal of M
Generator:
    4/1*M.1 car Principal Ideal of M
Generator:
    M.1
> Q3 := quo<Mod | >;
> Q3;
Integral Module over Maximal Equation Order with defining polynomial x^2 + 5
over Z
Principal Ideal of M
Generator:
    4/1*M.1 car Principal Ideal of M
Generator:
    M.1
> Q4 := quo<Mod | S1>;
> Q4;
Quotient of Module over Maximal Equation Order with defining polynomial x^2 + 5
over Z
Principal Ideal of M
Generator:
    4/1*M.1 car Principal Ideal of M
Generator:
    M.1
by Integral Module over Maximal Equation Order with defining polynomial
x^2 + 5 over Z
(0)
V2.28, 13 July 2023