next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
StronglyStableIdeals :: StronglyStableIdeals

StronglyStableIdeals -- Find strongly stable ideals with a given Hilbert polynomial



Strongly stable ideals are a key tool in commutative algebra and algebraic geometry. These ideals have nice combinatorial properties that make them well suited for both theoretical and computational applications. In the case of polynomial rings with coefficients in a field of characteristic zero, the notion of strongly stable ideals coincides with the notion of Borel-fixed ideals. Borel-fixed ideals are fixed by the action of the Borel subgroup of triangular matrices and a famous result by Galligo says that generic initial ideals are of this type. In the context of Hilbert schemes, Galligo’s theorem means that each component and each intersection of components contains at least a point corresponding to a scheme defined by a Borel-fixed ideal. Hence, these ideals are distributed throughout the Hilbert schemes and they can be used to understand its local structure. The main feature of the this package is a method to compute the set of all saturated strongly stable ideals in a given polynomial ring with a given Hilbert polynomial. This method has been theoretically introduced in [CLMR11] and improved in [Lel12].


[CLMR11] F. Cioffi, P. Lella, M.G. Marinari, M. Roggero: Segments and Hilbert schemes of points, Discrete Mathematics, 311(20):2238–2252, 2011.
Available at

[Lel12] P. Lella: An efficient implementation of the algorithm computing the Borel-fixed points of a Hilbert scheme, ISSAC 2012 — Proceedings of the 37th International Symposium on Symbolic and Algebraic Computation, 242–248, ACM, New York, 2012.
Available at

Key user functions:

Hilbert polynomials:

isHilbertPolynomial -- Test whether a numerical polynomial is a Hilbert polynomial.

gotzmannDecomposition -- Compute Gotzmann’s decomposition of a Hilbert polynomial.

gotzmannNumber -- Compute the Gotzmann number of a Hilbert polynomial.

macaulayDecomposition -- Compute Macaulay’s decomposition of a Hilbert polynomial.

Strongly stable ideals and segment ideals:

lexIdeal -- Compute the saturated lexicographic ideal with a given Hilbert polynomial.

stronglyStableIdeals -- Compute the saturated strongly stable ideals with a given Hilbert polynomial.

isGenSegment -- Test whether there exists a term ordering such that each minimal generator of a strongly stable ideal is greater than all mononials of the same degree outside the ideal.

isRegSegment -- Test whether the truncation of a strongly stable ideal in degree equal to its regularity is a segment.

isHilbSegment -- Test whether the truncation of a strongly stable ideal in degree equal to the Gotzmann number of its Hilbert polynomial is a segment.



This documentation describes version 1.1 of StronglyStableIdeals.

Source code

The source code from which this documentation is derived is in the file StronglyStableIdeals.m2.