[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Creation of Modules

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

Module(O, n) : RngOrd, RngIntElt -> ModOrd
Create the free module O^n where O is a maximal order.

Module(O) : RngOrd -> ModOrd, 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 -> ModOrd, 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] -> ModOrd, Map
Create a module from the sequence of tuples of ideals of an order and ModRngElts with entries in the order 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 ModRngElt. Also returns the map from the vector space into the module.
Module(S) : SeqEnum[RngOrdFracIdl] -> ModOrd
Create the module which is equal to the direct sum of the ideals in the sequence.
Module(S) : SeqEnum[ModRngElt] -> ModOrd, Map, ModMatRngElt
Create the module generated by the elements of the sequence S. The elements of the sequence must be ModRngElts with entries in a maximal order or field of fractions of a maximal order. Also returns the map from the vector space into the module and in some cases the transformation matrix from the given information to the module in normal form as it is returned.

Example ModOrd_create (H65E1)

The creation of some simple modules is shown.

> x := ext<Integers()|>.1;
> M := MaximalOrder(x^2 + 5);
> Module(M, 5);
free module over Maximal Equation Order with defining polynomial x^2 + 5 over Z
 of rank 5 and dimension 5

> I := 1/5*M;
> Module([I, I^3, I^8]);
module over Maximal Equation Order with defining polynomial x^2 + 5 over Z
<[1, 0] / 5> car <[1, 0] / 125> car <[1, 0] / 390625>
> V := RModule(M, 3);
> Module([<I, V![0, 1, 0]>, <I^4, V![2, 3, 5]>]);
integral module over Maximal Equation Order with defining polynomial x^2 + 5 
over Z
 with (pseudo) basis in echelon form:
<[1, 0] / 5> * ( [0, 0] [1, 0] [0, 0] ) 
<[1, 0] / 125> * ( [2, 0] / 5 [3, 0] / 5 [1, 0] ) 
Mapping from: ModRng: V to integral module over Maximal Equation Order with 
defining polynomial x^2 + 5 over Z
 with (pseudo) basis in echelon form:
<[1, 0] / 5> * ( [0, 0] [1, 0] [0, 0] ) 
<[1, 0] / 125> * ( [2, 0] / 5 [3, 0] / 5 [1, 0] ) 

sub<M | m> : ModOrd, SeqEnum[ModOrdElt] -> ModOrd, Map
sub<M | m1, .., mn> : ModOrd, ModOrdElt, ..., ModOrdElt -> ModOrd, 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> : ModOrd, ModOrd -> ModOrd, Map
quo<M | m> : ModOrd, SeqEnum[ModOrdElt] -> ModOrd, Map
quo<M | m1, .., mn> : ModOrd, ModOrdElt, ..., ModOrdElt -> ModOrd, 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 ModOrd_sub-quo (H65E2)

Use of the sub and quo constructors is illustrated below. Let M and V be as above.

> Mod := Module([V|[0,1,0], [4,4,0]]);
> S1 := sub<Mod | >;
> S1;
integral free module over Maximal Equation Order with defining polynomial x^2 + 
    5 over Z
(0)

> Q1 := quo<Mod | Mod>;
> Q1;
Quotient of integral free module over Maximal Equation Order with defining 
polynomial x^2 + 5 over Z
 with (pseudo) basis in echelon form:
<[4, 0]> * ( [1, 0] [0, 0] [0, 0] ) 
<[1, 0]> * ( [0, 0] [1, 0] [0, 0] )  by integral free module over Maximal 
Equation Order with defining polynomial x^2 + 5 over Z
 with (pseudo) basis in echelon form:
<[4, 0]> * ( [1, 0] [0, 0] [0, 0] ) 
<[1, 0]> * ( [0, 0] [1, 0] [0, 0] ) 
> S2 := sub<Mod | Mod.2>;
> S2;
integral free module over Maximal Equation Order with defining polynomial x^2 + 
    5 over Z
 with (pseudo) basis in echelon form:
<[1, 0]> * ( [0, 0] [1, 0] [0, 0] ) 
> Q2 := quo<Mod | Mod.2>;
> Q2;
Quotient of integral free module over Maximal Equation Order with defining 
polynomial x^2 + 5 over Z
 with (pseudo) basis in echelon form:
<[4, 0]> * ( [1, 0] [0, 0] [0, 0] ) 
<[1, 0]> * ( [0, 0] [1, 0] [0, 0] )  by integral free module over Maximal 
Equation Order with defining polynomial x^2 + 5 over Z
 with (pseudo) basis in echelon form:
<[1, 0]> * ( [0, 0] [1, 0] [0, 0] ) 
> S3 := sub<Mod | 4*Mod.1, Mod.2>;
> S3;
integral free module over Maximal Equation Order with defining polynomial x^2 + 
    5 over Z
 with (pseudo) basis in echelon form:
<[4, 0]> * ( [1, 0] [0, 0] [0, 0] ) 
<[1, 0]> * ( [0, 0] [1, 0] [0, 0] ) 
> Q3 := quo<Mod | >;
> Q3;
integral free module over Maximal Equation Order with defining polynomial x^2 + 
    5 over Z
 with (pseudo) basis in echelon form:
<[4, 0]> * ( [1, 0] [0, 0] [0, 0] ) 
<[1, 0]> * ( [0, 0] [1, 0] [0, 0] ) 
> Q4 := quo<Mod | S1>;
> Q4;
Quotient of integral free module over Maximal Equation Order with defining 
polynomial x^2 + 5 over Z
 with (pseudo) basis in echelon form:
<[4, 0]> * ( [1, 0] [0, 0] [0, 0] ) 
<[1, 0]> * ( [0, 0] [1, 0] [0, 0] )  by integral free module over Maximal 
Equation Order with defining polynomial x^2 + 5 over Z
(0)


 [Next][Prev] [Right] [Left] [Up] [Index] [Root]