Magma

MAGMA Computational Algebra System

Magma
 •  How to get it
 •  Download
 •  Online Demo
 
Resources
 •  Online Help
 •  Discovering Mathematics with Magma
 •  Citations
 •  How to cite Magma
 •  Links
 •  Contact us
 
[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Syzygy Modules

Magma allows special computation in modules over the multivariate polynomial rings R[x1, ..., xn] using the Gröbner basis facilities. See the chapter devoted to such modules for details. This section just shows how to create the module of syzygies of a sequence of polynomials from such a polynomial ring. The base ring may be a field or Euclidean ring.

SyzygyModule(Q) : [ RngMPolElt ] -> ModTupRng
Given a sequence Q of polynomials from a multivariate polynomial ring P, return the module of syzygies of Q. This is a module over P of degree k, where k is the length of Q, consisting of all vectors v such that the sum of v[i] * Q[i] for i=1, ... k is zero.
SyzygyMatrix(Q) : [ RngMPolElt ] -> ModMatRngElt
Given a sequence Q of polynomials from a multivariate polynomial ring P, return the module of syzygies of Q as a matrix S. This an r by k matrix, where k is the length of Q, whose rows span the space of all vectors v such that the sum of v[i] * Q[i] for i=1, ... k is zero.

Example GB_SyzygyModule (H99E31)

We construct syzygy modules of degree 3 over the polynomial ring P=Q[x, y, z], and do various operations with the modules.

> P<x, y, z> := PolynomialRing(RationalField(), 3);
> M := SyzygyModule([x + y, x - y, x*z + y*z]);
> M;
Embedded Submodule of P^3
Order: Module TOP: Lexicographical
Basis:
[             z,              0,             -1],
[ 1/2*x - 1/2*y, -1/2*x - 1/2*y,              0]
> Groebner(M);
Embedded Submodule of P^3
Order: Module TOP: Lexicographical
Groebner basis:
[        0, x*z + y*z,    -x + y],
[    x - y,    -x - y,         0],
[        z,         0,        -1]
> BasisMatrix(M);
[        0 x*z + y*z    -x + y]
[    x - y    -x - y         0]
[        z         0        -1]
> SyzygyMatrix([x + y, x - y, x*z + y*z]);
[             z              0             -1]
[ 1/2*x - 1/2*y -1/2*x - 1/2*y              0]

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

Version: V2.16 of Tue Jan 5 12:58:41 EST 2010

Valid HTML 4.01! Valid CSS!