[Next] [Prev] [_____] [Left] [Up] [Index] [Root]
Syzygy Modules

Syzygy Modules

The following functions construct syzygy modules.

SyzygyModule(M) : ModMPol -> [ ModMPolElt ]
Given a module M, return the syzygy module S of M. If the basis B of M has length k, the syzygy module S has degree k and elements of S express a syzygy amongst the k elements of the basis B. Note that the degree of the resulting module thus depends on the current basis of M.
MinimalSyzygyModule(M) : ModMPol -> [ ModMPolElt ]
Given a homogeneous module M, return the syzygy module S of the minimal basis of M. If the minimal basis B of M has length k, the syzygy module S has degree k and elements of S express a syzygy amongst the k elements of the minimal basis B.

Example PMod_Hilbert (H43E5)

We construct the syzygy module of a simple module.

> P<x, y, z> := PolynomialRing(RationalField(), 3);
> M := Module(P, 3);
> B := [[y, x^2, z], [z^3, x^3, y],
>       [z, y^2, x], [x, y, z]];
> S := sub<M | B>;
> Z := SyzygyModule(S);
> Groebner(Z);
> print Z;
Module of degree 4
TOP Order
Coefficient ring:
    Polynomial ring of rank 3 over Rational Field
    Lexicographical Order
    Variables: x, y, z
Basis:
[
    -x^5[1] + x^4*y[4] + x^4*z[3] + x^4[2] - x^3*y*z[3]
        - x^3*y[3] - x^3*z^3[4] - x^3*z^2[4] + 
        x^3*z^2[1] + x^2*y*z[4] + x^2*z^4[3] - 
        x^2*z^2[2] + x*y^3[1] - x*y^2*z[2] - x*y^2[2] +
        x*y*z^3[1] - y^4[4] + y^3*z[2] + y^3[3] + 
        y^2*z^4[4] - y^2*z^4[1] - y^2*z[1] - y*z^4[3] +
        y*z^2[2]
]
[Next] [Prev] [_____] [Left] [Up] [Index] [Root]