Let M be a module over a polynomial ring P = kk[x0,0..x0,a0..xn-1,0..xn-1,an-1] graded with degree xi,j = ei, the i-th unit vector. If M = Pm is free, then the Hilbert polynomial is the product of the shifted binomial coefficients binomial(ai+mi+t,ai). 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 si (the default) or namei 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 |
Because of the computation of a free resolution, this might be slow on large examples.