[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Creation of Generic Free Modules

Creation of Generic Free Modules

A generic free module M is created by giving the coefficient ring P (which may be a polynomial ring or a quotient of such), the degree r, and, optionally, an argument specifying the type of module order. The ideal I corresponding to M is the column-extended ideal of P with the basis consisting of the module polynomials 1[c] for each column c.

Subsections

Creation of Default Modules

The following functions create generic free modules with the default weights of 0 for each column.

Module(P, r) : Rng, RngIntElt -> RngMPol
Given a multivariate polynomial ring or quotient ring P over a field K, create the generic free module of degree r over P with TOP module order.
Module(P, r, S) : Rng, RngIntElt, MonStgElt -> RngMPol
Given a multivariate polynomial ring or quotient ring P over a field K, create the generic free module of degree r over P with order specified by the string S. S may be the string "top" or the string "pot".

Creation of Graded Modules

The following functions create graded generic free modules.

Module(P, W) : Rng, [ RngIntElt ] -> RngMPol
Given a multivariate polynomial ring or quotient ring P over a field K, together with an integer sequence W of length r, create the generic free module of degree r over P with TOP order and with column weights given by W.
Module(P, W, S) : Rng, [ RngIntElt ], MonStgElt -> RngMPol
Given a multivariate polynomial ring or quotient ring P over a field K, together with an integer sequence W of length r and a string S, create the generic free module of degree r over P with order specified by the string S and with column weights given by W. S may be the string "top" or the string "pot".

Example PMod_Create (H44E1)

We construct simple generic free modules over Q[x, y, z]. The first module has default weights 0 on its columns, while the second has weights 1, 2, and 3 respectively on its columns.

> P<x, y, z> := PolynomialRing(RationalField(), 3);
> M := Module(P, 3);
> M;
Full Module of degree 3
TOP Order
Coefficient ring:
    Polynomial ring of rank 3 over Rational Field
    Lexicographical Order
    Variables: x, y, z
> GM := Module(P, [1, 2, 3], "pot");
> GM;
Full Module of degree 3
POT Order
Column weights: 1 2 3
Coefficient ring:
    Polynomial ring of rank 3 over Rational Field
    Lexicographical Order
    Variables: x, y, z
We now construct a module over a quotient ring.

> P<x, y, z> := PolynomialRing(RationalField(), 3);
> Q<a, b, c> := quo<P | y^3 + z*x - 2>;         
> M := Module(Q, 3);
> M;
Full Quotient Module of degree 3
TOP Order
Coefficient ring:
    Ideal of Quotient Ring by
    Ideal of Polynomial ring of rank 3 over Rational Field
    Lexicographical Order
    Variables: x, y, z
    Basis:
    [
        x*z + y^3 - 2
    ]
    Preimage ideal:
    Polynomial ring of rank 3 over Rational Field
    Lexicographical Order
    Variables: x, y, z
Quotient Relations:
(            0             0 x*z + y^3 - 2)
(            0 x*z + y^3 - 2             0)
(x*z + y^3 - 2             0             0)

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