Macaulay’s Theorem characterizes the sequences of integers that occur as the Hilbert function of a polynomial ring modulo a homogeneous ideal.
isHF checks that the input is a list of integers and that the first entry of the list is 1, and then it checks Macaulay’s bound in each degree, using
macaulayBound. The function returns
true if the sequence of numbers in the list satisfies the conditions of Macaulay’s Theorem and
false otherwise.
i1 : isHF({1,3,6,7,5,3})
o1 = true
|
i2 : isHF({2,3,4,3,2}) --doesn't start with a 1 in degree 0
o2 = false
|
i3 : isHF({1,3,6,8,14,3}) --growth from 8 to 14 is too high
o3 = false
|