poincare M
This function computes the numerator of the reduced Hilbert series of a graded ring, or a graded module or ideal over a graded ring, which encodes information about the twists in the minimal free resolution of the object.
|
|
|
|
|
When $S$ is a $\ZZ^r$-graded ring in $n$ variables and $M$ a graded $S$-module, the Hilbert series of $M$ is by definition the formal power series $$ HS(T_0,\dots,T_{n-1}) = \sum_{d\in\ZZ^r} \mathrm{dim}(M_d) T_0^{d_0} \cdots T_{n-1}^{d_{n-1}}. $$ The coefficient of the term $T_0^{d_0} \cdots T_{n-1}^{d_{n-1}}$ in the series is the number of basis elements of $M_{d_0,...,d_{n-1}}$. When the multi-degree has a single component, the coefficient of $T^d$ is dimension of $M_d$.
Since the Hilbert series is additive in exact sequences, the function poincare can be used to get information about the minimal free resolution and hence the syzygies of $M$. For more details, see Hilbert functions and free resolutions.
This polynomial is an element of the degrees ring of $S$. Notice that the monomial ordering used in the degrees ring is RevLex, so the polynomials in it will be displayed with the smallest exponents first.
poincare R
|
|
|
Recall that the variables of the polynomial are the variables of the degrees ring.
|
|
|
poincare M
|
|
|
|
poincare I
The this command computes the numerator of the Hilbert series of the comodule R^1/I, where R is the ring of I.
|
|
|
|
|
|
|
When poincare M is called on a module $M$, the result is cached in M.cache.poincare for future reference. For ideals, the polynomial is cached in the comodule of the ideal and for matrices, it is cached in the cokernel of the matrix. This can speed the computation of Gröbner bases. For details, see computing Groebner bases.
If the numerator $p$ of the Hilbert series for a module $M$ is known by other means, it can be manually stored by running:
|
This functionality used to be available by running installHilbertFunction(M, p).
For example, in the following example, the Hilbert function of 3 random polynomials should be the same as the Hilbert function for a complete intersection.
|
|
|
|
|
|
|
In this case, the savings is minimal, but often it can be dramatic. Another important situation is to compute a Gröbner basis using a different monomial order.
|
|
|
|
|
|
|
|
|
This function may behave unpredictably in presence of variables of degree zero.
The object poincare is a method function.