### 7.3.28 syz (plural)

`Syntax:`
  `syz (` ideal_expression `)`
  `syz (` module_expression `)`
`Type:`
  module
`Purpose:`
  computes the first syzygy (i.e., the module of relations of the given generators) of the ideal, resp. module.
`Note:`
  if `S` is a matrix of a left syzygy module of left submodule given by matrix `M`, then `transpose(S)*transpose(M) = 0`.
`Example:`

      LIB "ncalg.lib";
      def R = makeQso3(3);
      setring R;
      option(redSB);
      // we wish to have completely reduced bases:
      option(redTail);
      ideal tst;
      ideal J = x3+x,x*y*z;
      print(syz(J));
      ==> -yz,
      ==> x2+1
      ideal K = x+y+z,y+z,z;
      module S = syz(K);
      print(S);
      ==> (Q-1),       (-Q+1)*z,   (-Q)*y,
      ==> (Q)*z+(-Q+1),(Q-1)*z+(Q),-x+(Q)*y,
      ==> y+(-Q)*z,    x+(-Q),     x+(-Q+1)
      tst = ideal(transpose(S)*transpose(K));
      // check the property of a syzygy module (tst==0):
      size(tst);
      ==> 0
       // now compute the Groebner basis of K ...
      K = std(K);
      // ... print a matrix presentation of K ...
      print(matrix(K));
      ==> z,y,x
      S = syz(K); // ... and its syzygy module
      print(S);
      ==> y,    x,       (Q-1),
      ==> (Q)*z,(Q),     x,
      ==> (Q-1),(-Q+1)*z,(Q)*y
      tst = ideal(transpose(S)*transpose(K));
      // check the property of a syzygy module (tst==0):
      size(tst);
      ==> 0
      // but the "commutative" syzygy property does not hold
      size(ideal(matrix(K)*matrix(S)));
      ==> 3

See also ideal (plural); minres (plural); module (plural); mres (plural); nres (plural).

User manual for Singular version 4-0-3, 2016, generated by texi2html.