H = multiHilbertPolynomial M
H = multiHilbertPolynomial (M, VariableName => "s")
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.
|
|
|
Because of the computation of a free resolution, this might be slow on large examples.
The object multiHilbertPolynomial is a method function with options.