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. Such ideals are fixed by the action of the Borel subgroup of triangular matrices and play a special role in theory of Gröbner bases because initial ideals in generic coordinates are of this type by a famous result by Galligo. In the context of parameter spaces of algebraic varieties, Galligo’s theorem says that each component and each intersection of components of a Hilbert scheme contains at least a point corresponding to a scheme defined by a Borel-fixed ideal. Hence, these ideals are distributed throughout the Hilbert scheme and can be used to study its local structure. To this aim, in recent years several authors developed algorithmic methods based on the use of strongly stable ideals to construct flat families corresponding to special loci of the Hilbert scheme. In particular, a new open cover of the Hilbert scheme has been defined using strongly stable ideals and the action of the projective linear group. In this construction, the list of all points corresponding to Borel-fixed ideals in a given Hilbert scheme is needed. The main feature of this package is a method to compute this set of points, i.e. the list of all saturated strongly stable ideals in a polynomial ring with a given Hilbert polynomial. The 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.


Certification a gold star

Version 1.1 of this package was accepted for publication in volume 9 of the journal The Journal of Software for Algebra and Geometry on 4 November 2018, in the article Strongly stable ideals and Hilbert polynomials. That version can be obtained from the journal or from the Macaulay2 source code repository,, commit number 8c301dd0cdfb015d06f7967d12a7592a6c2e07b9.


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.