Macaulay2 » Documentation
Packages » LexIdeals :: multUpperHF
next | previous | forward | backward | up | index | toc

multUpperHF -- test a sufficient condition for the upper bound of the multiplicity conjecture

Synopsis

Description

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, proven in 2008 work of Eisenbud-Schreyer and Boij-Soderberg, 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.

i1 : S=ZZ/32003[a..c];
i2 : betti res lexIdeal(S,{1,3,4,2,1}) --just to see the resolution of the lex ideal

            0 1  2 3
o2 = total: 1 7 10 4
         0: 1 .  . .
         1: . 2  1 .
         2: . 3  5 2
         3: . 1  2 1
         4: . 1  2 1

o2 : BettiTally
i3 : multUpperHF(S,{1,3,4,2,1})

total: 1 4 5 2
    0: 1 . . .
    1: . 2 . .
    2: . 2 4 1
    3: . . . .
    4: . . 1 1

degree = 11  upper bound = 21

o3 = true

See also

Ways to use multUpperHF :

For the programmer

The object multUpperHF is a method function.