# gotzmannTest -- Checks if a set of monomials is a Gotzmann set

## Synopsis

• Usage:
gotzmannTest(M,d,L)
gotzmannTest(B,x)
• Inputs:
• Outputs:

## Description

For us, a Gotzmann set will be a set L of monomials of degree d in the variables x_0,\dots,x_r with the property that if m\in L, then x_0 divides m and if x_i divides m, then (x_0m)/x_i\in 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 L_2=\{x^3,x^2y,xz^2\}.

 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

L_2 is not a Gotzmann set since it does not contain x^2z.

When we consider a free S-module S^p with basis e_1,\dots,e_p, 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 e_1,\dots,e_p.

As an example in S^2=\mathbb{Z}[x,y,z]^2 we have a Gotzmann set L=\{x^2e_1,xye_1,x^2e_2\}\ as it is a Gotzmann set in each coordinate. We can test this be gotzmannTest(S^p,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<e_1<e_2. In our case we have d=2 and I=\{0,1,6\}\ since:

x^2e_1<xye_1<xze_1<y^2e_1<yze_1<z^2e_1<x^2e_2<xye_2<xze_2<y^2e_2<yze_2<z^2e_2.

 i6 : gotzmannTest(S^2,2,{0,1,6}) o6 = true

## See also

• affinePart -- Replaces columns in a matrix with an identity matrix

## Ways to use gotzmannTest :

• "gotzmannTest(List,RingElement)"
• "gotzmannTest(Module,ZZ,List)"

## For the programmer

The object gotzmannTest is .