Syzygies

The main functions to compute syzygies work with or return modules. See Chapter MODULES OVER MULTIVARIATE RINGS for these. This section contains a variant that returns a basis of syzygies of a polynomial sequence as rows of a matrix.

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. The algorithm used is the standard one, computing a module Gröbner basis with respect to a particular elimination order (see section 2.5 of [GP02], for example). The base ring may be a field or Euclidean ring.

Example Ideal_SyzygyMatrix (H113E16)

> P<x, y, z> := PolynomialRing(RationalField(), 3);
> 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]
V2.28, 13 July 2023