For us, a Gotzmann set will be a set L of monomials of degree d in the variables x0,…,xr with the property that if m∈L, then x0 divides m and if xi divides m, then (x0m)/xi∈L. The function gotzmannTest checks if a set of monomials fulfills this property.
i1 : S=ZZ[x,y,z]; |
i2 : L={x^3,x^2*y,x^2*z,x*y*z} 3 2 2 o2 = {x , x y, x z, x*y*z} o2 : List |
i3 : gotzmannTest(L,x) o3 = true |
A non example of a Gotzmann set is L2={x3,x2y,xz2}.
i4 : L2={x^3,x^2*y,x*z^2} 3 2 2 o4 = {x , x y, x*z } o4 : List |
i5 : gotzmannTest(L2,x) o5 = false |
L2 is not a Gotzmann set since it does not contain x2z.
When we consider a free S-module Sp with basis e1,…,ep, then we generalize our notion of Gotzmann set for x so that a set L is a Gotzmann set if it is a union of Gotzmann sets for x for e1,…,ep.
As an example in S2=ℤ[x,y,z]2 we have a Gotzmann set L={x2e1,xye1,x2e2} as it is a Gotzmann set in each coordinate. We can test this be gotzmannTest(Sp,d,I), where d is the degree of the monomials, and I is the index of the monomials of L listed in the lexicographical order x<y<z<e1<e2. In our case we have d=2 and I={0,1,6} since:
x2e1<xye1<xze1<y2e1<yze1<z2e1<x2e2<xye2<xze2<y2e2<yze2<z2e2.
i6 : gotzmannTest(S^2,2,{0,1,6}) o6 = true |