Compute a free resolution of the module M presented by
matrix
, such that the first matrix in the resolution is the
specified matrix. The columns of the
matrix of the result
minimally generate the
syzygy module of M for
.
A standard basis is computed for each of these syzygy modules.
If a maximum depth, d, is specified, then only the first d
matrices of the resolution are computed. The default for d is the
number of variables in the base ring of
matrix
. If the base
ring is a polynomial ring, and not a quotient ring, then Hilbert's
syzygy theorem says that the length of the resolution is bounded by
the number of variables.
This command differs from nres in the following way. The
columns of the first matrix of the resolution constructed using
nres minimally generate the submodule corresponding to
matrix
.
The first matrix of the resolution constructed using res is
exactly
matrix
. Thus, res does not necessarily find a
minimal resolution of M. Instead, the syzygies of the columns of
matrix
are found.
For example,
% type j ; -bc+ad -bc+ad b3-a2c c3-bd2 -ac2+b2d % res j w ; 1..2..3...4...5... ; computation complete after degree 5 % pres w ; ; ---------------------------------- ; -bc+ad -bc+ad b3-a2c c3-bd2 -ac2+b2d ; ; ---------------------------------- ; -1 ac bd c2 b2 ; 1 0 0 0 0 ; 0 d 0 0 c ; 0 0 a b 0 ; 0 -b c d -a ; ; ---------------------------------- ; 0 ; -c ; -b ; a ; d ; ; ----------------------------------