Macaulay2 » Documentation
Packages » CorrespondenceScrolls :: multiHilbertPolynomial
next | previous | forward | backward | up | index | toc

multiHilbertPolynomial -- Multi-graded Hilbert polynomial for a product of projective spaces

Synopsis

Description

Let M be a module over a polynomial ring P = kk[x_{0,0}..x_{0,a_0}..x_{n-1,0}..x_{n-1,a_{n-1}}] graded with degree x_{i,j} = e_i, the i-th unit vector. If M = P^{m} is free, then the Hilbert polynomial is the product of the shifted binomial coefficients binomial(a_i+m_i+t,a_i). In general, the routine computes a free resolution of the coker of the initial matrix of a presentation matrix, and then makes an alternating sum of the Hilbert polynomials of the free modules in the resolution. The polynomial returned has variables s_i (the default) or name_i if VariableName => "name" is given.

i1 : P = productOfProjectiveSpaces{1,2}

o1 = P

o1 : PolynomialRing
i2 : M1 = P^1

      1
o2 = P

o2 : P-module, free
i3 : multiHilbertPolynomial M1

     1   2   3       1 2        3
o3 = -s s  + -s s  + -s  + s  + -s  + 1
     2 0 1   2 0 1   2 1    0   2 1

o3 : QQ[s ..s ]
         0   1

Caveat

Because of the computation of a free resolution, this might be slow on large examples.

See also

Ways to use multiHilbertPolynomial :

For the programmer

The object multiHilbertPolynomial is a method function with options.