# hilbertSequence -- the Hilbert sequence of a multi-graded module

## Synopsis

• Usage:
hilbertSequence M
• Inputs:
• Optional inputs:
• DoSaturate => ..., default value false
• Outputs:
• , the Hilbert sequence of M

## Description

Given an $\NN^p$-graded module M, this function computes the coefficients of the pth sum transform of the $\NN^p$-graded Hilbert function 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 : hilbertSequence 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

For singly-graded modules, one can read off the Hilbert polynomial from the Hilbert sequence:

 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 : hilbertSequence 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

A convenient expression for the Hilbert sequence is provided via printHilbertSequence.

## Caveat

In general, to retain a connection to the Hilbert polynomial (as opposed to the pth sum transform) it is necessary to saturate with respect to the irrelevant ideal, cf. page 235 of Conca-De Negri-Gorla, "Cartwright–Sturmfels ideals associated to graphs and linear spaces", 2018. This is handled by the optional argument DoSaturate.