4.12.3 Shifts |
===========================================
THIS FACILITY IS DISABLED IN COCOA 4
(See the new function GB.GetNthSyzShifts
;
read below for an explanation of shifts.)
===========================================
One creates a shifted module in CoCoA using the Shifts modifier:
Module(Shifts([P_1,...,P_r]),V_1,...,V_n)where the
P_i
's are integers or monomials in the current ring and, as
usual, the V_i
's are lists of polynomials, each with length r. This
object represents the submodule, generated by V_1,...,V_n
, of the free
module of rank r which is the direct sum of R(P_1),...,R(P_r)
. Here,
R(P_i)
is the ring R with shifted degrees. To explain these shifts,
recall that in a CoCoA ring, the weights of the indeterminates are
given by a weights matrix, say W. The (multi)weight of the i-th
indeterminate is given by the i-th column of W. By default, the
weights matrix is a single row of 1s. If P_i
is an integer, then the
homogeneous part of R(P_i)
of degree d is the homogeneous part of R of
degree d+P_i
. If P_i
is a monomial, then the homogeneous part of
R(P_i)
in multidegree d is the homogeneous part of R in multidegree
d+deg_W(P_i)
.
Example |
Use R ::= Q[x,y,z]; M := Module([x,y,z],[x^2,y,0]); LT(M.Gens[1]); Vector(x, 0, 0) ------------------------------- Deg(M.Gens[1]); 1 ------------------------------- Ss := Shifts([-3,-5,-2]); M := Module(Ss,[x,y,z],[x^2,y,0]); M; Module(Shifts([-3, -5, -2]), [x, y, z], [x^2, y, 0]) ------------------------------- LT(M.Gens[1]); -- the leading term changes in the shifted module Vector(0, y, 0) ------------------------------- Deg(M.Gens[1]); 6 ------------------------------- Use S ::= Q[x,y,z],Weights(Mat([[1,2,3],[4,5,6]])); M := Module(Shifts([xy, xz]), [x, y], [x,z]); LT(M.Gens[1]); Vector(0, y) ------------------------------- MDeg(M.Gens[1]); -- multidegree of y in R(xz), i.e. of (xz)y in R [6, 15] ------------------------------- |