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

hilbertFunct -- return the Hilbert function of a polynomial ring mod a homogeneous ideal as a list

Synopsis

Description

Let I be a homogeneous ideal in a ring R that is either a polynomial ring or a quotient of a polynomial ring, and suppose that R has the standard grading. hilbertFunct returns the Hilbert function of R/I as a list.

If R/I is Artinian, then the default is for hilbertFunct to return the entire Hilbert function (i.e., until the Hilbert function is zero) of R/I as a list. The user can override this by using the MaxDegree option to bound the highest degree considered.

If R/I is not Artinian, then hilbertFunct returns the Hilbert function of R/I through degree 20. Again, the user can select a different upper bound for the degree by using the MaxDegree option.

We require the standard grading on R in order to compute with the Hilbert series, which is presently much faster than repeatedly computing the Hilbert function.

i1 : R=ZZ/32003[a..c];
i2 : hilbertFunct ideal(a^3,b^3,c^3)

o2 = {1, 3, 6, 7, 6, 3, 1}

o2 : List
i3 : hilbertFunct ideal(a^3,a*b^2)

o3 = {1, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
     ------------------------------------------------------------------------
     24, 25}

o3 : List
i4 : hilbertFunct(ideal(a^3,a*b^2),MaxDegree=>4)

o4 = {1, 3, 6, 8, 9}

o4 : List
i5 : M=ideal(a^3,b^4,a*c);

o5 : Ideal of R
i6 : Q=R/M;
i7 : hilbertFunct ideal(c^4)

o7 = {1, 3, 5, 6, 5, 3, 1}

o7 : List
i8 : hilbertFunct ideal(b*c,a*b)

o8 = {1, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

o8 : List

See also

Ways to use hilbertFunct :

For the programmer

The object hilbertFunct is a method function with options.