up previous next
syz

syzygy modules

Syntax
Syz(L: LIST of RINGELEM): MODULE
Syz(M: IDEAL|MODULE, Index: INT): MODULE

Description
In the first two forms this function computes the syzygy module of a list of polynomials or module elements. SyzOfGens(I) is the same as Syz(gens(I)) .

In the last form this function returns the specified syzygy module of the minimal free resolution of M which must be homogeneous. As a side effect, it computes the Groebner basis of M. (***** NOT YET IMPLEMENTED *****)

The coefficient ring must be a field.

Example
/**/  Use R ::= QQ[x,y,z];
/**/  indent(Syz([x^2-y-1, y^3-z, x^2-y, y^3-z]));
SubmoduleRows(F, matrix(
  [y^3 -z, 0, 0, -x^2 +y +1],
  [0, 1, 0, -1],
  [x^2 -y, 0, -x^2 +y +1, 0],
  [0, 0, y^3 -z, -x^2 +y]
))
-------------------------------
/**/  I := ideal(x, x, y);
/**/  syz(gens(I));
submodule(FreeModule(..), [[1, -1, 0], [0, y, -x]])
/**/  SyzOfGens(I);
submodule(FreeModule(..), [[1, -1, 0], [0, y, -x]])

  Syz(I, 1);      -- NOT YET IMPLEMENTED
Module([[x, -y]])
-------------------------------
  I := ideal(x^2-yz, xy-z^2, xyz);    -- NOT YET IMPLEMENTED
  Syz(I,0);
Module([x^2 - yz], [xy - z^2], [xyz])
-------------------------------
  Syz(I,1);    -- NOT YET IMPLEMENTED
  Module([-x^2 + yz, xy - z^2, 0], [xz^2, -yz^2, -y^2 + xz], [z^3, 0,
-xy + z^2], [0, z^3, -x^2 + yz])
-------------------------------
  Syz(I,2);
Module([0, z, -x, y], [-z^2, -x, y, -z])
-------------------------------
  Syz(I,3);
Module([[0]])
-------------------------------
  Res(I);
0 --> R(-6)^2 --> R(-4)(+)R(-5)^3 --> R(-2)^2(+)R(-3)
-------------------------------

See Also