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

## Synopsis

• Usage:
H = multiHilbertPolynomial M
H = multiHilbertPolynomial (M, VariableName => "s")
• Inputs:
• M, , multigraded over a polynomial ring
• VariableName, ,
• Optional inputs:
• VariableName => ..., default value "s"
• Outputs:
• H, , in QQ[h]

## 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.