next | previous | forward | backward | up | top | index | toc | Macaulay2 website
MultiplicitySequence :: hilbSequence

hilbSequence -- the Hilbert sequence of a multi-graded module

Synopsis

Description

Given a multi-graded module M, this function computes the coefficients of the multi-graded Hilbert polynomial of M in its Macaulay expansion. If the input is an ideal I, then the Hilbert sequence of comodule I is returned.

i1 : R = QQ[a..e, DegreeRank => 5]

o1 = R

o1 : PolynomialRing
i2 : I = monomialIdeal "de,abe,ace,abcd"

o2 = monomialIdeal (a*b*c*d, a*b*e, a*c*e, d*e)

o2 : MonomialIdeal of R
i3 : hilbSequence I

o3 = HashTable{{0, 0, 0, 0, 1} => -1}
               {0, 0, 0, 1, 0} => 1
               {0, 0, 1, 0, 0} => 1
               {0, 0, 1, 1, 0} => -1
               {0, 1, 0, 0, 0} => 1
               {0, 1, 0, 1, 0} => -1
               {0, 1, 1, 0, 0} => -2
               {0, 1, 1, 0, 1} => 1
               {0, 1, 1, 1, 0} => 1
               {1, 0, 0, 0, 1} => 1
               {1, 0, 0, 1, 0} => -1
               {1, 0, 1, 0, 0} => -1
               {1, 0, 1, 1, 0} => 1
               {1, 1, 0, 0, 0} => -1
               {1, 1, 0, 1, 0} => 1
               {1, 1, 1, 0, 0} => 1

o3 : HashTable

One can read off the Hilbert polynomial from the Hilbert sequence, which can be verified for singly-graded modules:

i4 : R = QQ[a..e]

o4 = R

o4 : PolynomialRing
i5 : I = monomialIdeal "de,abe,ace,abcd"

o5 = monomialIdeal (a*b*c*d, a*b*e, a*c*e, d*e)

o5 : MonomialIdeal of R
i6 : hilbSequence I

o6 = HashTable{{1} => 2 }
               {2} => -6
               {3} => 5

o6 : HashTable
i7 : hilbertPolynomial I

o7 = 2*P  - 6*P  + 5*P
        0      1      2

o7 : ProjectiveHilbertPolynomial

See also

Ways to use hilbSequence :

For the programmer

The object hilbSequence is a method function.