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

# multUpperBound -- determine whether an ideal satisfies the upper bound of the multiplicity conjecture

- Usage:
    `B=multUpperBound I`
- Inputs:
  - I, an ideal, a homogeneous ideal in a polynomial ring
- Outputs:
  - B, a Boolean value, true if I satisfies the upper bound and false otherwise

## Description

Let I be a homogeneous ideal of codimension c in a polynomial ring R. Huneke and Srinivasan (and later Herzog and Srinivasan in the non-Cohen-Macaulay case) conjectured that

e(R/I) <= M_1 ... M_c / c!,

where M_i is the maximum shift in the minimal graded free resolution of R/I at step i, and e(R/I) is the multiplicity of R/I. multUpperBound tests this inequality for the given ideal, returning true if the inequality holds and false otherwise, and it prints the upper bound and the multiplicity (listed as the degree).

This conjecture was proven in 2008 work of Eisenbud-Schreyer and Boij-Soderberg.

    i1 : R=ZZ/32003[a..c];

    i2 : multUpperBound ideal(a^4,b^4,c^4)

    degree = 64  upper bound = 64

    o2 = true

    i3 : multUpperBound ideal(a^3,b^5,c^6,a^2*b,a*b*c)

    degree = 46  upper bound = 132

    o3 = true

## See also

- cancelAll -- make all potentially possible cancellations in the graded free resolution of an ideal
- multUpperHF -- test a sufficient condition for the upper bound of the multiplicity conjecture
- multLowerBound -- determine whether an ideal satisfies the lower bound of the multiplicity conjecture
- multBounds -- determine whether an ideal satisfies the upper and lower bounds of the multiplicity conjecture

## Ways to use multUpperBound:

- `multUpperBound(Ideal)`

## For the programmer

The object multUpperBound is a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/LexIdeals.m2:1121:0.