This function uses
cancelAll to test a sufficient condition for the upper bound of the Herzog-Huneke-Srinivasan conjecture to hold for all quotients of polynomial rings with Hilbert function
hilb. The conjecture asserts that if
R is a polynomial ring, and
I is a homogeneous ideal in
R then
e(R/I) <= M_1 ... M_c / c!,
where
M_i is the largest shift at step
i of the minimal graded free resolution of
R/I,
c is the codimension of
I, and
e(R/I) is the multiplicity of
R/I.
multUpperHF forms the lex ideal corresponding to the Hilbert function the user inputs. Then it calls
cancelAll to make all potentially possible cancellations in the resolution of the lex ideal (as described in the
cancelAll documentation).
cancelAll prints the diagram with the cancellations. In addition,
multUpperHF compares the multiplicity associated to the given Hilbert function to the conjectured upper bound from the Betti diagram with the cancellations. If the conjectured inequality holds, the function returns
true, and the conjectured upper bound is true for all modules
R/I with the given Hilbert function. If the inequality fails, then the function returns
false, and the sufficient condition does not hold. (However, this of course does not mean that the conjecture is false for the given Hilbert function; it may be that the Betti diagram with the cancellations cannot exist.) Note that since
hilb is a finite list, all modules with that Hilbert function are Artinian and hence Cohen-Macaulay.
See C. Francisco, New approaches to bounding the multiplicity of an ideal,
J. Algebra 299 (2006), no. 1, 309-328.
S=ZZ/32003[a..c]; |
betti res lexIdeal(S,{1,3,4,2,1}) --just to see the resolution of the lex ideal |
multUpperHF(S,{1,3,4,2,1}) |