10.07.2015 Views

University of Paderborn Department of Mathematics Diploma Thesis ...

University of Paderborn Department of Mathematics Diploma Thesis ...

University of Paderborn Department of Mathematics Diploma Thesis ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>University</strong> <strong>of</strong> <strong>Paderborn</strong><strong>Department</strong> <strong>of</strong> <strong>Mathematics</strong><strong>Diploma</strong> <strong>Thesis</strong>On stable monomial idealsbyKai Frederik Gehrs<strong>Paderborn</strong>, January 27, 2003<strong>Thesis</strong> Advisor: Pr<strong>of</strong>. Dr. Uwe Nagel


ErklärungIch versichere, dass ich die vorliegende schriftliche Arbeit selbständig angefertigt und keineanderen als die angegebenen Hilfsmittel benutzt habe.Alle Stellen, die dem Wortlaut oder dem Sinn nach anderen Werken entnommen sind, habeich unter genauer Angabe der Quelle deutlich als Entlehnung kenntlich gemacht.<strong>Paderborn</strong>, den 28. Januar 2003,Kai Frederik Gehrs


”Im großen Garten der Geometriekann sich jeder nach seinem Geschmackeinen Strauß pflücken.“David Hilbert (23.01.1862 - 14.02.1943)


AcknowledgementI would like to thank• Uwe Nagel for making this work possible, even though he had to do so many otherthings within the last months• Benno Fuchssteiner, Oliver Kluge, Walter Oevel, Andreas Sorgatz and all the otherpeople in the MuPAD Research Group for teaching me programming in MuPAD andincluding me into their group• Thilo Pruschke for pro<strong>of</strong>reading a great part <strong>of</strong> my work and helping me, when I hadquestions during the whole course <strong>of</strong> my study• Christopher Creutzig for introducing me to LaTeX• Jörn Maas for his technical support• Susanne Happ, Petra Neumann and Hubertus R. Drobner at “Studienstiftung desDeutschen Volkes” for their support and encouragement• my family Bodo, Dodo, Michael, Julia and Jenni Gehrs and my friends• James Hetfield for the wonderful music


AbstractThe main result <strong>of</strong> this thesis is to present an algorithm for the computation <strong>of</strong> all saturatedstable ideals to a given Hilbert polynomial. It uses and adapts ideas <strong>of</strong> the Ph.D. thesisCombinatorial Structure on the Hilbert Scheme by Alyson Reeves (see [16]). The class <strong>of</strong>stable ideals is introduced, and some useful properties <strong>of</strong> these ideals are discussed in detailconcerning computation <strong>of</strong> Hilbert series, Hilbert polynomials and saturation. For each <strong>of</strong>these explicit formulas are given. Special lexicographic ideals are defined, which can beassociated to a given Hilbert series and a given Hilbert polynomial. These ideals play amajor role in the computation <strong>of</strong> all saturated stable ideals to a given Hilbert polynomial.Apart from the theoretical results <strong>of</strong> this thesis, the last chapter presents the source code<strong>of</strong> an implementation <strong>of</strong> the algorithm to compute all saturated stable ideals to a givenHilbert polynomial. Additionally, the source code <strong>of</strong> various other algorithms concerningstable ideals, e.g. to compute Hilbert polynomials, Hilbert series or Hilbert functions isdiscussed in Chapter 4. As a basis for the implementations, the computer algebra systemMuPAD is used. The algorithms can be run on any available version <strong>of</strong> MuPAD and donot make use <strong>of</strong> high-level library functions. Therefore the code can easily be implementedin any other comparable computer algebra system.


ContentsIntroduction 31 Notations and Prerequisites 71.1 General prerequisites and terminology . . . . . . . . . . . . . . . . . . . . . 71.2 Hilbert function, Hilbert polynomial and Hilbert series . . . . . . . . . . . 101.3 Characterization <strong>of</strong> Hilbert functions . . . . . . . . . . . . . . . . . . . . . 142 Stable ideals 192.1 Borel-fixed ideals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2 Stability <strong>of</strong> Borel-fixed ideals . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Saturation <strong>of</strong> stable ideals . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.4 Hilbert series <strong>of</strong> stable ideals . . . . . . . . . . . . . . . . . . . . . . . . . . 262.5 A link between Hilbert series and stable ideals . . . . . . . . . . . . . . . . 302.6 A link between Hilbert polynomials and stable ideals . . . . . . . . . . . . 342.7 Hilbert polynomials <strong>of</strong> stable ideals . . . . . . . . . . . . . . . . . . . . . . 382.8 An application to Gotzmann’s Regularity Theorem . . . . . . . . . . . . . 413 Operations on stable ideals 453.1 Left-shifts and right-shifts <strong>of</strong> monomials . . . . . . . . . . . . . . . . . . . 453.2 Expansions and contractions <strong>of</strong> monomials . . . . . . . . . . . . . . . . . . 473.3 Stable ideals with the same double saturation . . . . . . . . . . . . . . . . 523.4 Stable ideals with the same Hilbert polynomial . . . . . . . . . . . . . . . . 704 Algorithms for stable ideals 754.1 Computing Hilbert series <strong>of</strong> stable ideals . . . . . . . . . . . . . . . . . . . 754.2 Computing Hilbert polynomials <strong>of</strong> stable ideals . . . . . . . . . . . . . . . 794.3 Computing the lexicographic ideal L p . . . . . . . . . . . . . . . . . . . . . 834.4 Computing expansions and contractions . . . . . . . . . . . . . . . . . . . 874.5 Computing stable ideals to a given Hilbert polynomial . . . . . . . . . . . 994.6 Computing all Hilbert series to a Hilbert polynomial . . . . . . . . . . . . 1144.7 Computing all Hilbert functions to a Hilbert polynomial . . . . . . . . . . 1184.8 Some conclusions and experimental results . . . . . . . . . . . . . . . . . . 122Glossary <strong>of</strong> Notations 1271


Glossary <strong>of</strong> MuPAD procedures 129Bibliography 1312


IntroductionThe main result <strong>of</strong> this thesis is to present an algorithm to compute all saturated stableideals to a given Hilbert polynomial according to the Ph.D. thesis Combinatorial Structureon the Hilbert Scheme by Alyson Reeves (see [16]).The importance <strong>of</strong> the study <strong>of</strong> stable ideals to the topic <strong>of</strong> algebraic geometry has beenrecognized through the work <strong>of</strong> several researchers. The contributions <strong>of</strong> Robin Hartshorne(see [8], [9]) , David Bayer (see [1]) and Mark Green (see [4], [5]) are <strong>of</strong> particular interest.Within their work, a special class <strong>of</strong> monomial ideals – the so-called generic initial ideals –has been studied. The reader, who is not familiar with the definition <strong>of</strong> the generic initialideal to a given homogeneous ideal I <strong>of</strong> the polynomial ring K[x 0 , . . . , x n ] in n+1 variablesover the field K may think <strong>of</strong> it as an initial ideal (i.e. a monomial ideal, generated bythe leading monomials <strong>of</strong> all homogeneous elements <strong>of</strong> I with respect to some monomialorder), which can be obtained from I after the application <strong>of</strong> a sufficiently general change<strong>of</strong> coordinates to its generators.A theorem proved by Galligo, Bayer and Stillman, which can be found for example in thebook Commutative Algebra with a View Toward Algebraic Geometry by David Eisenbud(see [6], Chapter 15, Theorem 15.20 ), states that if I is a homogeneous ideal in the polynomialring K[x 0 , . . . , x n ] in n + 1 variables over the field K, the generic initial ideal <strong>of</strong> Iwill be Borel-fixed. Within this thesis, the field K will always be <strong>of</strong> characteristic zero.In this case, Borel-fixed ideals are stable ideals, i.e. they are characterized by a certaincombinatorial property.Generic initial ideals also played an important role in Hartshorne’s pro<strong>of</strong> <strong>of</strong> the connectedness<strong>of</strong> the Hilbert scheme. The Hilbert scheme is an interesting and rather complicatedobject studied in algebraic geometry. With the help <strong>of</strong> this scheme, one can parametrizethe subschemes <strong>of</strong> the projective space P n with the same Hilbert polynomial. It consists<strong>of</strong> different components, whose number can be estimated by the number <strong>of</strong> stable idealswith the same Hilbert polynomial. Hence, for further observations <strong>of</strong> the Hilbert scheme itwould be useful to have an algorithm to compute all such stable ideals. Thus, the readermight see that it is indeed <strong>of</strong> interest to study the class <strong>of</strong> stable ideals not only from thepoint <strong>of</strong> view <strong>of</strong> commutative algebra, but also from that <strong>of</strong> algebraic geometry.3


This thesis is organized in four chapters:Chapter 1.Notations and PrerequisitesIn order to enable not only readers with a good background in commutative algebraand algebraic geometry to follow the train <strong>of</strong> thought presented here, the first chapter<strong>of</strong> this thesis sets the stage: Basic terminology will be introduced to the readerand basic definitions will be recalled. Some well known results concerning primarydecomposition <strong>of</strong> ideals, saturation <strong>of</strong> ideals and Hilbert polynomials will be quoted.Another important result at the end <strong>of</strong> the first chapter is the characterization <strong>of</strong> theHilbert function <strong>of</strong> a homogeneous K-algebra, which goes back to F. S. Macaulayand will not be proved here, either. We will make use <strong>of</strong> this result, when we provethe correctness <strong>of</strong> an algorithm stated in Chapter 2. All results, which are statedand not proved at all, can be accepted without the knowledge <strong>of</strong> any details <strong>of</strong> theirpro<strong>of</strong>, since we will not make use <strong>of</strong> these details later.Chapter 2.Stable idealsIn the second chapter, we define Borel-fixed ideals. Under special conditions, wecharacterize these ideals by a certain property (due to [6]), which leads us to theclass <strong>of</strong> stable ideals. These ideals will be <strong>of</strong> main interest in the following chapters.The theory to compute the saturation, the Hilbert series or the Hilbert polynomial<strong>of</strong> a stable ideal is presented. To compute each <strong>of</strong> these, we give efficient algorithms.Furthermore we establish a link between Hilbert series and stable ideals, i.e. we willdescribe an algorithm to compute a unique saturated lexicographic ideal to a givenHilbert series <strong>of</strong> K[x 0 , . . . , x n ]/I for a saturated homogeneous ideal I ⊂ K[x 0 , . . . , x n ].We will see that this ideal is also stable. Similarly, we describe how to compute aunique saturated lexicographic ideal to a given Hilbert polynomial, which is again astable ideal. As an appendix <strong>of</strong> Chapter 2, we deal with an application <strong>of</strong> the formerresults to a consequence <strong>of</strong> Gotzmann’s Regularity Theorem (see [5], Chapter 3 ). Inparticular, we point out that Gotzmann’s upper bound on the degrees <strong>of</strong> the minimalgenerators <strong>of</strong> ideals to a given Hilbert polynomial cannot be improved.Chapter 3.Operations on stable idealsChapter three is the theoretical core <strong>of</strong> this thesis. For stable ideals, we define leftshiftsand right-shifts <strong>of</strong> monomials. We will explain, what has to be understoodunder expansions and contractions <strong>of</strong> monomials. The reader might think <strong>of</strong> theseconstructions as algorithmic tools, which will be used to compute all saturated stableideals to a given Hilbert polynomial. Later within this chapter, we will be able to4


prove that all saturated stable ideals with the same double saturation and the sameHilbert polynomial are linked by a finite sequence <strong>of</strong> paired contractions and expansions<strong>of</strong> monomials. This provides an algorithmic classification <strong>of</strong> all such ideals.Additionally, we prove that under special conditions, the unique saturated lexicographicideals to a given Hilbert polynomial and a given Hilbert series defined inChapter 2 have the same double saturation. From these results, we will compute allHilbert series associated to a given Hilbert polynomial p(z) <strong>of</strong> K[x 0 , . . . , x n ]/I, whereI ⊂ K[x 0 , . . . , x n ] is a saturated stable ideal. In the last section <strong>of</strong> the chapter wepresent a pseudo code version <strong>of</strong> the algorithm to compute all saturated stable idealsto a given Hilbert polynomial. The above mentioned contractions and expansions <strong>of</strong>monomials will play an important role within this algorithm.Chapter 4.Algorithms for stable idealsThe aim <strong>of</strong> Chapter 4 is mainly to use the results presented in the preceding threechapters to establish algorithms for stable ideals. These algorithms will not only bestated in pseudo code, as for example in Chapter 2 and Chapter 3, but also in sourcecode. Here, the MuPAD programming language serves as a basis for the source code.The code listed can always be copied and included into any <strong>of</strong> the usual versions <strong>of</strong> thecomputer algebra system MuPAD, which are available today. This code uses little <strong>of</strong>the high level library functions <strong>of</strong> MuPAD. Since the MuPAD programming languagein its simplest form (the only form, in which it will be used within this thesis) is quitesimilar to the original Pascal programming language, it will be easy for anyone tounderstand the code who is used to Pascal or even any other <strong>of</strong> the programminglanguages <strong>of</strong> the modern computer algebra systems available today. Hence, it is alsoeasy to implement the algorithms in any other <strong>of</strong> the above mentioned programmingenvironments.In detail, we will present the source code for algorithms to compute Hilbert series<strong>of</strong> stable ideals, Hilbert polynomials <strong>of</strong> stable ideals, special lexicographic ideals, expansionsand contractions and many more. Combining all these algorithms, we willsee that we can compute all saturated stable ideals to a given Hilbert polynomial.The chapter ends with an appendix presenting some experimental results and conclusionsconcerning the algorithm to compute all saturated stable ideals with the sameHilbert Hilbert and the structure <strong>of</strong> the unique lexicographic ideals associated to aHilbert polynomial.To check the implementations in MuPAD, several tests have been written. The testfilecontaining the tests is not stated within the text, because it would overstep the framework<strong>of</strong> this thesis (it consists <strong>of</strong> more than 1200 lines <strong>of</strong> code, which are useful, to checkthe correctness <strong>of</strong> the algorithms in practice, but not <strong>of</strong> interest within the mathematicalcontext <strong>of</strong> this thesis). Nevertheless, the tests are available in electronic form on the CDenclosed to this thesis. On the CD one finds the complete implementation <strong>of</strong> all algorithms5


6described in Chapter 4.Additionally, with the friendly permission <strong>of</strong> the MuPAD-Research-Group and the companySciface S<strong>of</strong>tware GmbH, several versions <strong>of</strong> MuPAD could be added to the CD. The usermay find a MuPAD-Light version for the use <strong>of</strong> MuPAD under Micros<strong>of</strong>t Windows and aMuPAD-Light version for the use under Unix respectively Linux. They can be used forfree by anyone, who is working in an academic area, and contain the whole mathematicalfunctionality <strong>of</strong> MuPAD (the only disadvantages towards the <strong>of</strong>ficial versions <strong>of</strong> MuPADare the lack <strong>of</strong> graphics and the lack <strong>of</strong> a user interface). For details, we refer to the websiteshttp://www.mupad.de/schule+studium/downloadandhttp://www.sciface.com.There one finds additional information on technical support and the latest versions <strong>of</strong> theMuPAD documentation files in HTML-format and in PDF-format.


Chapter 1Notations and PrerequisitesWe want to recall some basic definitions and, according to this thesis, some central results.The more standard definitions and results will be mentioned within the text and will not benumerated explicitly (there is a quick reference <strong>of</strong> notations in the Glossary <strong>of</strong> Notations,see page 127). Definitions and results, which may not be known in general and which serveto develop the main results <strong>of</strong> this special thesis, will be stated in the usual, formal wayand be numerated to make it easy to refer to them.1.1 General prerequisites and terminologyLet K be a field <strong>of</strong> characteristic zero, and let R := K[x 0 , . . . , x n ] denote the polynomialring in n + 1-Variables x 0 , . . . , x n . Each element f ∈ R can be uniquely written in the formk∑f = r i · m i , where r i ∈ K and m i = x a i00 · x a i11 · . . . · x a inn ∈ R with a i0 , a i1 , . . . , a in ∈ N 0 .i=0For each 0 ≤ i ≤ k we call r i · m i a term <strong>of</strong> the polynomial f, r i the coefficient <strong>of</strong> the termn∑and m i a monomial. The degree <strong>of</strong> a monomial m = x a 00 · . . . · x ann ∈ R is deg m := a i .The degree <strong>of</strong> a polynomial f =k∑r i ·m i ∈ R is defined to be the maximum <strong>of</strong> the degreesi=0<strong>of</strong> its monomial components m i , that is deg f := max{deg m i | i = 0, . . . , k}. We call f ahomogeneous polynomial or homogeneous <strong>of</strong> degree d, if there is d ∈ N 0 such that all terms<strong>of</strong> f have degree d.Thus, the polynomial ring R becomes a graded ring over K, graded by the degree. In eachdegree d, the set <strong>of</strong> all polynomials <strong>of</strong> degree d forms a vector space over K.In some situations, in particular in connection with exact sequences, we will have to shiftthe grading <strong>of</strong> R. For k ∈ N we write R(−k) to denote that every element f ∈ R, deg f = d,has degree d − k when viewed as an element <strong>of</strong> R(−k).We will denote the set <strong>of</strong> all monomials <strong>of</strong> R by M, i.e.M := {m | m ∈ R, m is a monomial} .7i=0


8 CHAPTER 1. NOTATIONS AND PREREQUISITESOn the set M we define the lexicographic order >:=> lex . For two monomials m = x a 00 ·. . . · x an0 , n = x b 00 · . . . · x ann ∈ R, we have m > n if and only if the first non-zero entry in thevector (a 0 − b 0 , . . . , a n − b n ) is positive. The lexicographic order is a total order on the setM <strong>of</strong> all monomials <strong>of</strong> R.The set M serves as a basis <strong>of</strong> R viewed as vector space over K. By [R] d for a d ∈ N 0 wedenote all homogeneous elements <strong>of</strong> R having degree d, i.e.[R] d := {f | f ∈ R, deg f = d, f homogeneous}.For each d, [R] d itself is a vector space over K( with)a basis given by all monomials in Mn + dhaving degree d. Note that there are exactly <strong>of</strong> these monomials having degree dnand that this implies( ) n + ddim K [R] d = ,nwhere dim K denotes the vector space dimension over K. This result will be useful todetermine the Hilbert function, the Hilbert polynomial and the Hilbert series <strong>of</strong> R, as wewill see later.In this terminology we can write R as the direct sumR = ⊕ d∈Z[R] dor, if we shift the grading <strong>of</strong> R by −k,R(−k) = ⊕ k∈Z[R(−k)] d = ⊕ k∈Z[R] d−k .For an ideal I ⊂ R generated by the polynomials f 1 , . . . , f s ∈ R we write I = (f 1 , . . . , f s ).According to the notation mentioned above, we denote by [I] d the set <strong>of</strong> all homogeneouselements <strong>of</strong> I having degree d. For each d the set [I] d and the ideal I itself can again beviewed as a vector space over K. All ideals treated in this thesis will be homogeneous,i.e. we can and will consider the elements f 1 , . . . , f s generating I to be homogeneous polynomials.The class <strong>of</strong> ideals, which is <strong>of</strong> main interest in our context, is the class <strong>of</strong> monomial ideals.An ideal I = (m 1 , . . . , m s ) ⊂ R is called a monomial ideal if it can be generated bymonomials m 1 , . . . , m s , i.e. m i = x a i00 · x a i11 · . . . · x a inn , where a i0 , a i1 , . . . , a in ∈ N 0 . The set <strong>of</strong>monomials {m 1 , . . . , m s } is called a set <strong>of</strong> monomial generators <strong>of</strong> I. We call {m 1 , . . . , m s }a set <strong>of</strong> minimal monomial generators <strong>of</strong> I if it consists <strong>of</strong> a minimal number <strong>of</strong> generators<strong>of</strong> I, i.e. if for any other set <strong>of</strong> monomials {n 1 , . . . , n t } ⊂ R generating I, we have s ≤ t.In this case, µ(I) := s is the well-defined number <strong>of</strong> minimal generators <strong>of</strong> I.The class <strong>of</strong> monomial ideals is closed under the usual operations: If I, J ⊂ R are monomialideals, then I ∩ J, I + J and I : J = {f | f ∈ R, f · m ∈ I for every m ∈ J} aremonomial ideals. Furthermore, if I ⊂ R is a monomial ideal, the primary ideals q i and the


1.1. GENERAL PREREQUISITES AND TERMINOLOGY 9associated prime ideals p i , i = 1, . . . , r, in a primary decomposition I = q 1 ∩ . . . ∩ q r <strong>of</strong> Imay be taken as monomial ideals.For any ideal I ⊂ R, we denote the radical <strong>of</strong> I to be the idealRad I := {f | f ∈ R, there is a k ∈ N such that f k ∈ I}.If I is a monomial ideal, then Rad I is again a monomial ideal.A fact, we will use later, is that we can compute the ideal quotient <strong>of</strong> two monomial idealsquite easily:Lemma 1.1. (Ideal quotient <strong>of</strong> monomial ideals) Let I = (m 1 , . . . , m r ), J = (n 1 , . . . , n s ) ⊂R be monomial ideals. Then the ideal I : J can be computed as the intersection <strong>of</strong> themonomial ideals(m 1gcd(m 1 , n 1 ) , . . . ,) (m r∩ . . . ∩gcd(m r , n 1 )m 1gcd(m 1 , n s ) , . . . ,)m r,gcd(m r , n s )where gcd(m i , n j ) denotes the greatest common divisor <strong>of</strong> m i and n j , 1 ≤ i ≤ r, 1 ≤ j ≤ s.In the special case, where s = 1, we obtain()m 1I : J =gcd(m 1 , n 1 ) , . . . , m r.gcd(m r , n 1 )We want to define lexicographic ideals and lexicographic subsets <strong>of</strong> [R] d for d ∈ Z.Definition 1.2. Let M ⊂ R be a set <strong>of</strong> monomials <strong>of</strong> degree d ∈ Z. M is called alexicographic subset <strong>of</strong> [R] d , if there is an r ∈ N, such that M is generated by the r greatestmonomials (with respect to the lexicographic order on M) <strong>of</strong> [R] d .Definition 1.3. A monomial ideal I ⊂ R is called a lexicographic ideal, if for each d ∈ Zthe vector space [I] d , i.e. the vector space generated by all monomials <strong>of</strong> degree d in I, isa lexicographic subset <strong>of</strong> [R] d .For example, if R := K[x 0 , x 1 , x 2 ], then the set M := {x 2 0, x 0 x 1 , x 0 x 2 } ⊂ R is a lexicographicsubset <strong>of</strong> [R] 2 , because the following six monomials x 2 0, x 0 x 1 , x 0 x 2 , x 2 1, x 1 x 2 , x 2 2 arethe only monomials <strong>of</strong> degree 2 in [R] 2 and we have (with respect to the lexicographicorder) x 2 0 > x 0 x 1 > x 0 x 2 > x 2 1 > x 1 x 2 > x 2 2. Thus, I := (x 2 0, x 0 x 1 , x 0 x 2 ) is generated by thethree greatest monomials in [R] 2 . Furthermore, I is a lexicographic ideal.We will come back to these definitions in Chapter 2, where we prove that there is a uniquelexicographic ideal to a given Hilbert series respectively Hilbert polynomial.In the following, we will state some basic definitions in algebraic geometry resp. commutativealgebra: We need the notion <strong>of</strong> a saturated ideal and the saturation <strong>of</strong> a homogeneousideal I ⊂ R.


10 CHAPTER 1. NOTATIONS AND PREREQUISITESDefinition 1.4. A homogeneous ideal I ⊂ R is called a saturated ideal if the maximalhomogeneous ideal m = (x 0 , x 1 , . . . , x n ) ⊂ R is not an associated prime ideal <strong>of</strong> I.This means that if I = q 1 ∩ . . . ∩ q s is a primary decomposition <strong>of</strong> I, we have Rad q i mfor each 1 ≤ i ≤ s. If J ⊂ R, J ≠ R, is not a saturated ideal, a primary decompositionJ = ˜q 1 ∩ . . . ∩ ˜q k ∩ q T always contains a primary ideal q T with Rad q T = m. Thus, theintersection <strong>of</strong> a finite number <strong>of</strong> saturated ideals will always give a saturated ideal.Lemma and Definition 1.5. The saturation sat xn (I) <strong>of</strong> the homogeneous ideal I ⊂ Rwith Rad I ≠ m is defined to be the smallest saturated ideal containing I, i.e.sat xn (I) :=⋂J.J saturated,J⊃IThe existence <strong>of</strong> the ideal sat xn (I) to a given homogeneous ideal I can easily be seen: If Iis saturated, we have I = sat xn (I) and there is nothing to prove. On the other hand, if Iis not saturated and dim K R/I is not finite, we have a primary decomposition <strong>of</strong> I <strong>of</strong> theformI = q 1 ∩ . . . ∩ q s ∩ q T (∗)with Rad q i m for each 1 ≤ i ≤ s and Rad q T = m. Thus, by omitting the primarycomponent q T , we obtain an ideal J := q 1 ∩ . . . ∩ q s containing the ideal I, which is asaturated ideal, since the above intersection (∗) is not the empty set. J is the smallestsaturated ideal containing I by construction. Thus, we have J = sat xn (I) and we are done.If dim K R/I is finite, then sat xn (I) = R. In this case, I defines an empty scheme. Thiscase is not <strong>of</strong> interest in this thesis.For further information on basic ideal theory and some detailed treatment <strong>of</strong> primarydecomposition <strong>of</strong> homogeneous ideals in the polynomial ring, we refer to the book Ideals,Varieties and Algorithms – An Introduction to Computational Algebraic Geometry andCommutative Algebra by D. Cox, J. Little and D. O‘Shea (see [3]). In Chapter 4, pp.167-211, <strong>of</strong> this book, one can find the so-called Algebra-Geometry Dictionary, which givesa compact overview on the above mentioned topics. Additional information is contained inEinführung in die kommutative Algebra und algebraische Geometrie by E. Kunz (see [11]).1.2 Hilbert function, Hilbert polynomial and HilbertseriesIn this section, we introduce Hilbert functions, Hilbert polynomials and Hilbert series.Some elementary results will be quoted and not be proved here. They will become usefulin later course <strong>of</strong> this thesis.Definition 1.6. For a homogeneous ideal I ⊂ R the Hilbert function h I : Z → Z is definedbyh I (j) := dim K [I] j


1.2. HILBERT FUNCTION, HILBERT POLYNOMIAL AND HILBERT SERIES 11for all j ∈ Z. Similarly, the Hilbert function <strong>of</strong> the ring R/I is the function h R/I : Z → Zwithh R/I (j) := dim K [R/I] jfor all j ∈ Z. Here, we denote by dim K [I] j respectively dim K [R/I] j the vector spacedimension <strong>of</strong> [I] j respectively [R/I] j over the field K.We will have a look at an example later on. The following result is important and goesback to Hilbert and Serre:Theorem 1.7. (Hilbert and Serre) Given a homogeneous ideal I ⊂ R with Hilbert functionh R/I : Z → Z there is a univariate polynomial p R/I (z) ∈ Q[z], such that p R/I (j) = h R/I (j)for j ≫ 0.A pro<strong>of</strong> <strong>of</strong> the theorem is given in [8], Theorem 7.5, pp. 51-52.The analogous result also provides the existence <strong>of</strong> a polynomial p I (z) ∈ Q[z] with p I (j) =h I (j) for all j ≫ 0.Definition 1.8. The above polynomials p R/I (z) and p I (z) are called the Hilbert polynomials<strong>of</strong> R/I and I, respectively. We say that the Hilbert function h R/I respectively h I isassociated to the Hilbert polynomial p R/I (z) respectively p I (z).We introduce the latter expression, since in most cases, one can find many different Hilbertfunctions, which all equal the same Hilbert polynomial in large degrees. These Hilbertfunctions are exactly those, which we call associated to a certain Hilbert polynomial.Definition 1.9. The Hilbert series <strong>of</strong> I is the formal power series H I (t) := ∑ h I (i) · t i .i∈ZAnalogously, we define H R/I (t) := ∑ h R/I (i) · t i to be the Hilbert series <strong>of</strong> the ring R/I.i∈ZThe Hilbert series can be written as a rational expressionH(t) =g(t)(1 − t) n+1 ,where g(t) is a polynomial in t with coefficients in Z. Since the factor (1 − t) or a higherpower <strong>of</strong> (1 − t) may divide the numerator g(t) <strong>of</strong> H(t), we may write H(t) in the formH(t) = ˜g(t) where ˜g(t) is no longer divisible by (1 − t), i.e. ˜g(1) ≠ 0. This representation<strong>of</strong> the Hilbert series <strong>of</strong> a homogeneous ideal I or the ring R/I is called a reduced(1 − t)eHilbert series <strong>of</strong> I respectively R/I.It is quite easy to compute the reduced Hilbert series <strong>of</strong> given Hilbert series, because weonly have to check whether the numerator <strong>of</strong> the Hilbert series vanishes for t = 0. If thisis the case we compute the polynomial given by the numerator divided by (1 − t). Then


12 CHAPTER 1. NOTATIONS AND PREREQUISITESwe check again: If this new polynomial still vanishes for t = 0, we repeat the division step.Otherwise, we have found the reduced Hilbert series and we are done.Furthermore, if I is a homogeneous ideal <strong>of</strong> R and H R/I (t) =g(t) the reduced Hilbert(1 − t)eseries <strong>of</strong> R/I, D := e − 1 is the dimension <strong>of</strong> the projective scheme defined by R/I.Some very useful formulas for Hilbert functions, Hilbert polynomials and Hilbert series<strong>of</strong> a polynomial ring are summarized in the following lemma. We will make use <strong>of</strong> theseresults in the second chapter, where we deal with stable ideals.Lemma 1.10. Let I ⊂ R be a homogeneous ideal and j ∈ Z.(i) h R/I (j) = h R (j) − h I (j)(ii) p R/I (z) = p R (z) − p I (z)( ) n + j(iii) h R (j) =n( ) n + z(iv) p R (z) =n(v) H R (t) =1(1 − t) n+1Pro<strong>of</strong>. (i) and (ii) follow from the short exact sequence0 −−−→ Iι−−−→ Rπ−−−→ R/I −−−→ 0,where ι is the embedding <strong>of</strong> I into the graded module R and π is the canonical epimorphism.Recall that the vector space dimension is additive on exact sequences, i.e.dim K [R/I] j = dim K [R] j − dim K [I] jfor all j ∈ Z. This yields h R/I (j) = h R (j) − h I (j) and thus(p R/I)(z) = p R (z) − p I (z).n + j(iii) and (iv) follow from the fact that there are exactly monomials <strong>of</strong> degree j innR.(v) is be proved by induction on n. In the case n = 0 we have R = K[x 0 ] andH R (t) = ∑ i∈Zh R (i) · t i =∞∑( i· t0)i =i=0∞∑i=0t i = 11 − t ,


1.2. HILBERT FUNCTION, HILBERT POLYNOMIAL AND HILBERT SERIES 13which proves the claim for n = 0.Let n > 0 and R := K[x 0 , . . . , x n+1 ]. By induction, we know the Hilbert series <strong>of</strong> the ringK[x 0 , . . . , x n ]. Thus, we may write1(1 − t) = 1n+2 (1 − t) · 1n+1 1 − t = ∑ ( ) ( )n + i ∑· t i · t j = ∑ ( i∑ ( ) ) n + j· t inni∈Zj∈Z i∈Z j=0= ∑ ( ) n + 1 + i· t i = ∑ h R (i) · t i = H R (t).n + 1i∈Zi∈ZRemark 1.11. (Representation <strong>of</strong> Hilbert polynomials) For a given Hilbert polynomialr∑p R/I (z) = λ i·z i <strong>of</strong> R/I, we find a special representation as a sum <strong>of</strong> binomial coefficients.i=0There are integers m 0 ≥ m 1 ≥ m 2 ≥ . . . ≥ m r ≥ 0 with r = deg p R/I (z), such that we canwrite p R/I in the formp R/I (z) = g(m 0 , . . . , m r ; z) :=r∑i=0[( ) z + i−i + 1( z + i − mii + 1)].This representation is found as follows: The identity( ) ( )z + r z + r − mr−= m r· z r + terms <strong>of</strong> lower degree (∗)r + 1 r + 1 r!enables us to obtain the value <strong>of</strong> m r by comparing the coefficient <strong>of</strong> z r in p R/I (z) =r∑λ i·z iand the coefficient m r<strong>of</strong> z r in (∗), which provides m r = r! · λ r . To determine the value <strong>of</strong>r!m r−1 we consider the polynomial( ) ( )z + r z + r − mr˜p(z) := p R/I (z) − +.r + 1 r + 1Since deg ˜p(z) = deg p R/I (z) − 1 = r − 1, it follows by the same arguments as above thatm r−1 = (r − 1)! · ˜λ r−1 ,where ˜λ r−1 is the leading coefficient <strong>of</strong> ˜p(z). Continuing this process gives the values <strong>of</strong> allintegers m 0 , m 1 , . . . , m r .Example 1.12. We consider two examples: First, the case <strong>of</strong> a linear Hilbert polynomialand then the case <strong>of</strong> a Hilbert polynomial <strong>of</strong> degree two:i=0


14 CHAPTER 1. NOTATIONS AND PREREQUISITES(i) Let p(z) = 2z+1 be the given Hilbert polynomial. Now we proceed as in Remark 1.11to compute m 0 and m 1 : In the terminology above we get ( r = 1)and( thus m 1 = ) 1!·2 =z + 1 z + 1 − 22. Then we compute the polynomial ˜p(z) := p(z) − += 2.22Hence, it follows m 0 = 0! · 2 = 2. Thus, we write p(z) = 2z + 1 in the form( ) ( ) ( ( )z + 1 z − 1 z z − 2p(z) = − + − .2 2 1)1(ii) Consider the Hilbert polynomial p(z) = 2z 2 + 2z + 1. In the terminology <strong>of</strong> Remark1.11, we have r = 2. Following ( the above ) description ( ) provides m 2 = 2! · 2 = 4.z + 2 z − 2Hence, we obtain ˜p(z) := p(z) − + = 6z − 3. Next, we compute3 ( ) 3 ( )z + 1 z − 5m 1 = 1! · 6 = 6 and set ˜p(z) := ˜p(z) − + = 12. Finally, it follows2 2m 0 = 12 and we write p(z) as( ) ( ) ( ) ( ) ( ( )z + 2 z − 2 z + 1 z − 5 z z − 12p(z) = − + − + − .3 3 2 2 1)1We will make use <strong>of</strong> this special representation <strong>of</strong> Hilbert polynomials and, in particular,<strong>of</strong> the sequence m 0 , . . . , m r later. Their values will help to compute the set <strong>of</strong> generators<strong>of</strong> a special lexicographic ideal, which can be associated to a given Hilbert polynomial p(z).In the last part <strong>of</strong> this chapter we state a result to characterize Hilbert functions accordingto F.S. Macaulay. It will be useful in various pro<strong>of</strong>s later within this thesis, for examplewhen we will deal with special types <strong>of</strong> lexicographic ideals: By Macaulay’s characterizationit turns out that the growth <strong>of</strong> their Hilbert function is minimal.1.3 Characterization <strong>of</strong> Hilbert functionsAs mentioned above, we will deal with the following question:Given a function h : Z → Z, can one decide whether h : Z → Z is the Hilbert function <strong>of</strong>R/I for I ⊂ R a homogeneous ideal?As the heading suggests, we will give an answer to this question. The main result <strong>of</strong> thissection, which answers the question stated above, was developed by F. S. Macaulay in1927 (see [12] and [13]). Our presentation <strong>of</strong> the theory follows the treatment in the bookCohen-Macaulay rings by W. Bruns and J. Herzog (see [2], Chapter 4.2 ).( iNote in the following that := 0 whenever i < j.j)


1.3. CHARACTERIZATION OF HILBERT FUNCTIONS 15Lemma 1.13. Let d ∈ N. Every number a ∈ N can be uniquely written in the form( ) ( ) ( )kd kd−1ksa = + + . . . + ,d d − 1swhere k d > k d−1 > . . . > k s ≥ s > 0 for s, k s , . . . , k d ∈ N.Pro<strong>of</strong>. We have to prove existence and uniqueness <strong>of</strong> the representation.Existence. We proceed by induction on d. The case d = 1 is clear. Now let d > 1 andk d := max { k k ∈ N, ( ( )) }kkdd ≤ a . If we have a = , then take s := d and the rest( )d ( )kdfollows. Otherwise, we have a > and thus a ′ kd:= a − > 0. By inductiondd∑d−1( )hypothesis, we obtain k d−1 , . . . , k s ∈ N, k d−1 > . . . > k s > 0, such that a ′ ki= .ii=sd∑( )kiThus, we have a = and it remains to show that k d > k d−1 . Since k d is maximali( )i=s ( )kdkd + 1with ≤ a, we get > a and it follows thatdd( )kd−1≤ a ′ 1. We proceed by induction ond. In the( case d ) = 1, we obtain k d = k 1 = a, and we are done. Let us assume that d > 1kd + 1and a ≥ . Then, we getd∑d−1a > a ′ :=j=s( )kj= a −j=(kd(kdd − 1) ( )kd + 1≥ −d d) ( )kd−1 + 1≥,d − 1( )kdd


16 CHAPTER 1. NOTATIONS AND PREREQUISITES( )kd−1 + 1but> a ′ by induction hypothesis, which is a contradiction.d − 1Since we have proved k d = max{k k ∈ N, ( kd)≤ a }, one can determine kd , k d−1 , . . . , k sone by one.Definition 1.14. Let d, a ∈ N. We calla =( ) ( )kd kd−1+ + . . . +d d − 1( )ks,swhere k d > k d−1 > . . . > k s ≥ s > 0 for s, k s , . . . , k d ∈ N, the d-th Macaulay representation<strong>of</strong> a.We have a look at an example:( ( 5 6Example 1.15. Let d := 3 and a := 12. Since = 10 ≤ 12 and = 20 > 12, we( 3)( ( 3)5 2 3have to choose k 3 = 5. From 12 − = 2 and = 1 ≤ 2 < = 3, we obtain( ( 3)2)( 2)( ( 5 2 5 2 1k 2 = 2. Finally 12 − − = 1 provides k 1 = 1. Thus, 12 = + + is3)2)3)2)1)the third Macaulay representation <strong>of</strong> 12.Definition 1.16. For a, d ∈ N we definea 〈d〉 :=( )kd + 1+d + 1( ) ( )kd kd−1where a = + + . . . +d d − 1case a = 0, we set 0 〈d〉 := 0.( )kd−1 + 1+ . . . +d( )ks + 1,s + 1( )ksis the d-th Macaulay representation <strong>of</strong> a. In thesExample ( ( 1.17. ( In the terminology <strong>of</strong> the preceding Example 1.15, we obtain: 12 〈3〉 =6 3 2+ + = 17.4)3)2)With this new terminology, we can characterize Hilbert functions, as mentioned above.Theorem 1.18. (Macaulay’s characterization <strong>of</strong> Hilbert functions) Let h : Z → Z be afunction. Then h = h R/I for a Hilbert function h R/I and some homogeneous ideal I ⊂ R,if and only if, h(j) = 0 for all j < 0, h(0) = 1 and 0 ≤ h(j + 1) ≤ h(j) 〈j〉 for j > 0.The theorem will not be proved within this thesis. For a pro<strong>of</strong>, see [2]. Instead, we willlook at an example.


1.3. CHARACTERIZATION OF HILBERT FUNCTIONS 17Example 1.19. Let h : Z → Z and ˜h : Z → Z be functions defined by⎧0 if j < 00 if j < 01 if j = 01 if j = 04 if j = 14 if j = 1⎪⎨⎧⎪10 if j = 2⎨10 if j = 2h(j) =and ˜h(j) =12 if j = 312 if j = 3⎪ ⎩16 if j = 41 if j = 5⎪⎩0 if j > 518 if j = 41 if j = 50 if j > 5Then h is the Hilbert function <strong>of</strong> R/I for some homogeneous ideal I, since all values fulfillthe conditions <strong>of</strong> Theorem 1.18. In contrast to this, ˜h cannot be a Hilbert function <strong>of</strong> anysuch ring, since by Example 1.17 we have 12 〈3〉 = 17 and 18 = ˜h(4) > ˜h(3) 〈3〉 = 17, whichcontradicts the last condition on ˜h <strong>of</strong> Theorem 1.18 (the value, which contradicts 1.18 isunderlined in the definition <strong>of</strong> ˜h above).Remark 1.20. In 1.3 we defined lexicographic ideals. For a lexicographic ideal L ⊂ R,which is generated by monomials <strong>of</strong> degree ≤ d for some d ≥ 1, we geth R/L (d + 1) = h R/L (d) 〈d〉 .This follows from [2], Chapter 4.2. A rather informal argument, which gives a hint, whythe equation above is valid, is the following: We know, [L] d is generated by the r greatestmonomials <strong>of</strong> [R] d for some r ≥ 1. We write the exponent vectors <strong>of</strong> these monomials indescending lexicographic order(d, 0, 0, . . . , 0, 0), (d − 1, 1, 0, . . . , 0, 0), (d − 1, 0, 1, . . . , 0, 0), . . . ,(d − 1, 0, 0, . . . , 1, 0), (d − 1, 0, 0, . . . , 0, 1), (d − 2, 2, 0, . . . , 0, 0),(d − 2, 1, 1, . . . , 0, 0), . . . , (d − 2, 1, 0, . . . , 1, 0), (d − 2, 1, 0, . . . , 0, 1), . . . , vup to some vector v, the exponent vector <strong>of</strong> the smallest monomial <strong>of</strong> degree d in L. Nowwe consider the exponent vectors <strong>of</strong> all monomials <strong>of</strong> degree d + 1, which can be obtainedfrom those above. This yields(d + 1, 0, . . . , 0, 0), (d, 1, . . . , 0, 0), . . . , (d, 0, 0, . . . , 1, 0), (d, 0, 0, . . . , 0, 1),(d, 1, 0, . . . , 0, 0), (d − 1, 2, 0, . . . , 0, 0), . . . , (d − 1, 1, 0, . . . , 1, 0), (d − 1, 1, 0, . . . , 0, 1),(d, 0, 1, . . . , 0, 0), (d − 1, 1, 1, . . . , 0, 0), . . . , (d − 1, 0, 1, . . . , 1, 0), (d − 1, 0, 1, . . . , 0, 1),.(d, 0, 0, . . . , 1, 0), (d − 1, 1, 0, . . . , 1, 0), . . . , (d − 1, 0, 1, . . . , 1, 0), (d − 1, 0, 0, . . . , 1, 1),(d, 0, 0, . . . , 0, 1), (d − 1, 1, 0, . . . , 0, 1), . . . , (d − 1, 0, 1, . . . , 0, 1), (d − 1, 0, 0, . . . , 0, 2),.


18 CHAPTER 1. NOTATIONS AND PREREQUISITESThose vectors, which have been underlined, are still contained in one <strong>of</strong> the rows above.In the second row, the first vector also appears in the row above, in the third row, the firstvector also appears in the first row and the second vector also appears in the second. In thefourth row, the first vector appears in the first row, the second vector in the second and thethird vector in the third row. Hence, by this combinatorial observation, we conclude thatthe number <strong>of</strong> monomials <strong>of</strong> degree d + 1, which can be obtained from a lexicographic set<strong>of</strong> r monomials <strong>of</strong> degree d, is the minimal number <strong>of</strong> monomials, which can be obtainedfrom any set <strong>of</strong> r monomials <strong>of</strong> degree d in R. Consequently, any other set <strong>of</strong> r monomials<strong>of</strong> degree d will at least yield as many monomials <strong>of</strong> degree d + 1 as the set above. Thisindicates that the Hilbert function h L has minimal growth (from degree d up to degree d+1).Hence, the Hilbert function h R/L (j) must have maximal growth. Since the maximal value <strong>of</strong>h R/L (d+1) can be at most h R/L (d) 〈d〉 (by Theorem 1.18), we obtain h R/L (d+1) = h R/L (d) 〈d〉 .Example 1.21. Consider the ideals L := (x 2 0, x 0 x 1 , x 0 x 2 ) and I := (x 2 0, x 0 x 1 , x 2 1) inR := K[x 0 , x 1 , x 2 ]. L is lexicographic, because it is generated by the three largest monomials<strong>of</strong> degree 2. Since x 0 x 2 > x 2 1 in lexicographic order and x 0 x 2 /∈ I, I is not a lexicographicideal. First, we determine the set <strong>of</strong> monomials in [L] 3 : Multiplication <strong>of</strong> x 2 0 by x 0 , x 1 , x 2provides x 3 0, x 2 0x 1 , x 2 0x 2 . The monomial x 0 x 1 yields x 2 0x 1 , x 0 x 2 1, x 0 x 1 x 2 . Finally, we obtainfrom x 0 x 2 the three monomials x 2 0x 2 , x 0 x 1 x 2 and x 0 x 2 2 (those, who appeared before, havebeen underlined as in the remark above). Hence, [L] 3 is generated by the six monomialsx 3 0, x 2 0x 1 , x 2 0x 2 , x 0 x 2 1, x 0 x 1 x 2 , x 0 x 2 2. In contrast to this, [I] 3 is generated by the sevenmonomials x 3 0, x 2 0x 1 , x 2 0x 2 , x 0 x 1 x 2 , x 2 0x 1 , x 3 1, x 2 1x 2 .


Chapter 2Stable idealsIn this chapter, we introduce the class <strong>of</strong> stable ideals <strong>of</strong> the polynomial ring R :=K[x 0 , . . . , x n ]. We will state some results, which enable us to compute the saturationor even the Hilbert series and the Hilbert polynomial <strong>of</strong> a stable ideal in an easy way.Additionally, we consider special lexicographic ideals associated to a given Hilbert series ora given Hilbert polynomial. It turns out that these lexicographic ideals are also saturatedand stable. The lexicographic ideals, which can be associated to a given Hilbert polynomial,will play an important role within the algorithm to determine all saturated stable idealsto a given Hilbert polynomial. As an appendix to this chapter, we present an applicationto the so-called Gotzmann’s regularity Theorem (see [5], Chapter 3 ).2.1 Borel-fixed idealsIn order to define stable ideals we have to describe the action <strong>of</strong> special matrices on elements<strong>of</strong> the set M <strong>of</strong> all monomials <strong>of</strong> R. This first leads us to define Borel-fixed ideals.Definition 2.1. Let G := GL(n + 1, K) denote the multiplicative group <strong>of</strong> all invertible(n + 1) × (n + 1)-matrices over K. For a matrix A = (a ij ) ∈ G and j ∈ {0, . . . , n}, wedefine the action <strong>of</strong> A on x j byA(x j ) :=n∑a ij · x i .i=0Note that the rows and columns <strong>of</strong> A are indexed from 0 to n. For a monomial m =n∏∈ R the action <strong>of</strong> A on m is defined to be the polynomial A(m), wherej=0x a jjA(m) :=n∏j=0( n∑i=019a ij · x i) aj.


20 CHAPTER 2. STABLE IDEALSExample 2.2. Let R := K[x 0 , x 1 , x 2 ] and A = (a ij ) ∈ GL(2, K) with⎡ ⎤1 2 3A = ⎣ 0 2 3 ⎦0 0 3The action <strong>of</strong> A on the variables x 0 , x 1 , x 2 is given byA(x 0 ) = a 00 · x 0 + a 10 · x 1 + a 20 · x 2= x 0 ,A(x 1 ) = a 01 · x 0 + a 11 · x 1 + a 21 · x 2= 2x 0 + 2x 1 ,A(x 3 ) = a 02 · x 0 + a 12 · x 1 + a 22 · x 2= 3x 0 + 3x 1 + 3x 2 .For the monomial m := x 0 x 2 1x 2 ∈ R the action <strong>of</strong> A on m is given byA(m) = x 0 · (2x 0 + 2x 1 ) 2 · (3x 0 + 3x 1 + 3x 2 ).In the following, we apply the matrix A to the monomial generators <strong>of</strong> an ideal. LetI := (x 3 0, x 2 0x 1 , x 2 0x 2 ) ⊂ R. Applying A to each <strong>of</strong> the monomial generators <strong>of</strong> I, we obtainthe monomialsA(x 3 0) = x 3 0,A(x 2 0x 1 ) = x 2 0 · (2x 0 + 2x 1 )= 2x 3 0 + 2x 2 0x 1 ,A(x 2 0x 2 ) = x 2 0 · (3x 0 + 3x 1 + 3x 2 )= 3x 3 0 + 3x 2 0x 1 + 3x 2 0x 2 ,and thereby the ideal I ′ = (x 3 0, 2x 3 0 + 2x 2 0x 1 , 3x 3 0 + 3x 2 0x 1 + 3x 2 0x 2 ). One can easily see thatI ′ ⊂ I, since any monomial in the set <strong>of</strong> generators <strong>of</strong> I ′ is a linear combination withcoefficients in K <strong>of</strong> monomial generators <strong>of</strong> I. On the other hand we obtainx 3 0 ∈ I ′ ,x 2 0x 1 = 2x3 0 + 2x 2 0x 12− x 3 0 ∈ I ′ ,x 2 0x 2 = 3x3 0 + 3x 2 0x 1 + 3x 2 0x 2− x 230x 1 − x 3 0 ∈ I ′ .This shows I ⊂ I ′ and we conclude that the ideal I is fixed under the action <strong>of</strong> the matrix Aon its monomial generators. If this holds for any invertible upper triangular (3×3) matrix,such an ideal will be called a stable ideal (in the case, when K is a field <strong>of</strong> characteristiczero).Definition 2.3. Let B denote the Borel-subgroup <strong>of</strong> G, i.e. the invertible upper triangular(n + 1) × (n + 1)-matrices over K. A homogeneous ideal I ⊂ R is called Borel-fixed if it isfixed under the action <strong>of</strong> matrices in B, in the sense that the application <strong>of</strong> any matrix <strong>of</strong>B on the generators <strong>of</strong> the ideal I reveals a set <strong>of</strong> polynomials generating the same ideal.


2.2. STABILITY OF BOREL-FIXED IDEALS 212.2 Stability <strong>of</strong> Borel-fixed idealsIn fact, the ideal I <strong>of</strong> the example above is Borel-fixed. Of course, there is no pro<strong>of</strong> <strong>of</strong>this assertion in the example – we do not give a pro<strong>of</strong> using the definition above. Instead,we will present some further results, which allow us to find an easier characterization <strong>of</strong>Borel-fixed ideals.We will see: To decide, if an ideal I is Borel-fixed, it suffices to look at its generators.To present this result, we need some more theory on monomial orders on M.Remark and Definition 2.4. Let > be a monomial order on M. A weight function λ isa linear function R n+1 → R. Every weight function induces a partial monomial order > λon M, the weight order associated to λ, by setting for monomials m = x a 00 ·x a 11 ·. . .·x ann , n =x b 00 · x b 11 · . . . · x bnn ∈ M:m > λ n ⇐⇒ λ(a 0 , a 1 , . . . , a n ) > λ(b 0 , b 1 , . . . , b n ).Under a partial monomial order > λ we understand an order <strong>of</strong> monomials, satisfying thefollowing two conditions for all monomials m 1 , m 2 , m 3 ∈ M:1. If m 1 > λ m 2 and m 2 > λ m 3 then m 1 > λ m 3 .2. If m 1 > λ m 2 then m 1 · m 3 > λ m 2 · m 3 .For a polynomial f ∈ R we denote by in λ f the sum <strong>of</strong> all terms <strong>of</strong> f, which are maximalwith respect to > λ .Usually, we may think <strong>of</strong> λ being a function on M and write λ(m) for a monomial m =x a 00 · . . . · x ann ∈ M instead <strong>of</strong> λ(a 0 , . . . , a n ). By setting λ i := λ(x i ), i = 0, . . . , n, weidentify λ with the vector (λ 0 , . . . , λ n ) and call this vector the associated weight vector toλ. Furthermore, we call we call λ(m) the weight <strong>of</strong> m.In the following, we will proceed in two steps: The first step is to show that each Borelfixedideal is a monomial ideal (Note that the original definition <strong>of</strong> a Borel-fixed ideal doesnot contain this assumption). In the second step we characterize Borel-fixed ideals by aspecial combinatorial division property, which must be fulfilled by its generators.The following theorem is taken from [6], Theorem 15.23 (a), p. 356.Theorem 2.5. Let I ⊂ R be a homogeneous ideal. I is a monomial ideal if and only if Iis fixed under the action <strong>of</strong> all diagonal matrices in G.Pro<strong>of</strong>. ’=⇒’ Let I ⊂ R be a monomial ideal, and I g := {m 1 , . . . , m s } ⊂ M its generating


22 CHAPTER 2. STABLE IDEALSset, where m i = x a i00 · . . . · x a inn . Let d 0 , . . . , d n ∈ K\{0}, and D ∈ G the diagonal matrix⎡⎤d 0 0 0 . . . . . . 00 d 1 0 . . . . . . 0D =⎢... . ..⎥⎣ 0 0 0 . . . d n−1 0 ⎦0 0 0 . . . . . . d nApplication <strong>of</strong> D to m j provides D(m j ) =n∏(d i · x i ) a i=i=0n∏i=0d a ii· m j . Consequently, theset {D(m 1 ), . . . , D(m s )} is given by {c 1 · m 1 , . . . , c s · m s } where c 1 , . . . , c s ∈ K\{0}. Bothsets, I g and {c 1 · m 1 , . . . , c s · m s }, generate the same ideal I.’⇐=’ Let I ⊂ R be a homogeneous ideal, which is fixed under the action <strong>of</strong> all invertible(n + 1) × (n + 1) diagonal matrices over K. Let f ∈ I. It suffices to show that everymonomial <strong>of</strong> f is an element <strong>of</strong> I. One can prove that there is a weight function λ, suchthat in λ f is a single monomial <strong>of</strong> f, i.e. in λ f is the only monomial in f, which is maximalaccording to the monomial order > λ . The aim is to show in λ f ∈ I. Let w be the weight <strong>of</strong>in λ f and λ i := λ(x i ) for 0 ≤ i ≤ n. Application <strong>of</strong> the diagonal matrix D c ∈ G, c ∈ K\{0},defined by⎡⎤c −λ 00 0 . . . 00 c −λ 10 . . . 0D c = ⎢⎣....⎥ . ⎦0 0 0 . . . c −λnon f will replace each variable x i in f by c −λi · x i , 0 ≤ i ≤ n. For w is the weight <strong>of</strong> in λ f,the application <strong>of</strong> D c to f provides a multiplication <strong>of</strong> in λ f with the factor c −w .Since in λ f is the maximal monomial in f according to > λ , all other terms <strong>of</strong> f are multipliedby strictly less-negative powers <strong>of</strong> c. Therefore we writec w · D c (f) = in λ f + c · P (c, x)for a polynomial P in c and x. For every c ≠ 0 the matrix D c is invertible. Since f ∈ Iand I is fixed under the action <strong>of</strong> D c this yields in λ f + c · P (c, x) ∈ I for every c ≠ 0. ForI is a Zariski closed subset, one may infer that in λ f + c · P (c, x) ∈ I holds even for c = 0.Consequently, in λ f ∈ I and this proves the assertion.The preceding result can be proved in a more general setting. The field K in our contextis <strong>of</strong> characteristic zero, but the theorem also holds for a field <strong>of</strong> characteristic p ≥ 0. Thepro<strong>of</strong> <strong>of</strong> this more general version is nearly the same as the pro<strong>of</strong> presented above. It canbe found in [6], pro<strong>of</strong> <strong>of</strong> Theorem 15.23, pp. 356,357.Corollary 2.6. Every Borel-fixed ideal I ⊂ R is a monomial ideal.Pro<strong>of</strong>. If I is Borel-fixed, then I is fixed under all upper triangular matrices in G. Inparticular, I is fixed under all diagonal matrices in G. By the preceding theorem I mustbe monomial.


2.2. STABILITY OF BOREL-FIXED IDEALS 23Now, we prove the central result <strong>of</strong> this section. It is again taken from [6], Theorem 15.23(b), p. 356.Theorem 2.7. (Stability <strong>of</strong> Borel-fixed ideals) Let I ⊂ R be a homogeneous ideal. ThenI is Borel-fixed if and only if the following condition holds for every monomial generatorm <strong>of</strong> I: If m is divisible by x t j and no higher power <strong>of</strong> x j , thenfor all i < j and s ≤ t.(xix j) s· m ∈ IPro<strong>of</strong>. ’=⇒’ Let I be Borel-fixed and let U c = (u c ij) ∈ G, c ∈ K, be an elementary uppertriangular matrix, i.e.⎧⎪⎨ 1 if i = ju c ij = c if i = k and j = l ,⎪⎩0 in all other caseswhere 0 ≤ k ≤ l ≤ n. Now write m = x t l · m′ for some m ′ ∈ M not divisible by x l . Theaction <strong>of</strong> U c on m is given byU c (m) = (c · x k + x l ) t · m ′ =t∑( t·s)s=0( c · xkx l) s· m. (∗)The first identity U c (m) = (c · x k + x l ) t · m ′ is valid since all diagonal entries <strong>of</strong> the matrixU c are given by u c ii = 1, 0 ≤ i ≤ n. Consequently, the application <strong>of</strong> U c to a variable x i ,i ≠ l, replaces x i by itself. The l-th column <strong>of</strong> U c contains another entry, the element c.So the variable x l is replaced by (c · x k + x l ) for c is the entry <strong>of</strong> U c in the k-th row andl-th column. This shows U c (m) = (c · x k + x l ) t · m ′ . The second part <strong>of</strong> the equation (∗)follows fromt∑( t·s)s=0( c · xkx l) s· m ==t∑( t·s)s=0t∑( ts)s=0= (c · x k + x l ) t · m ′ .( c · xkx l) s· x t l · m ′· (c · x k ) s · x t−sl· m ′Since I is fixed under the action <strong>of</strong> U c , this provides U c (m) ( ∈ I. ) Since I is a homogeneoussc · xkideal, every term <strong>of</strong> U c (m) must be an element <strong>of</strong> I, i.e. · m ∈ I. The case c = 1x lproves the assertion.’⇐=’ Now let I be a monomial ideal fulfilling the division property <strong>of</strong> the theorem. Wehave to show that I is Borel-fixed. The formula (∗) above shows that for every generator


24 CHAPTER 2. STABLE IDEALSm ∈ M <strong>of</strong> I the term U c (m) is contained in I (if U c is an upper triangular matrix). SinceI is a monomial ideal (i.e. I is homogeneous, especially), it follows I = U c (I). Since the set<strong>of</strong> all upper triangular matrices <strong>of</strong> the form U c and all diagonal matrices in G forms a basis<strong>of</strong> all upper triangular matrices <strong>of</strong> G, I is fixed under the action <strong>of</strong> all upper triangularmatrices <strong>of</strong> G.This characterization <strong>of</strong> Borel-fixed ideals will be used in the following sections <strong>of</strong> thisthesis and we will call an ideal, which fulfills the condition <strong>of</strong> the preceding Theorem 2.7,a stable ideal.Definition 2.8. Let K be a field <strong>of</strong> characteristic zero and let R := K[x 0 , . . . , x n ]. Amonomial ideal I ⊂ R is called a stable ideal, if for every monomial m = x a 00 · x a 11 · . . . · x ann<strong>of</strong> I we havefor i < j and s ≤ a j .x a 00 · . . . · x a i−1i−1 · xa i+si · x a i+1i+1 · . . . · xa j−1j−1 · xa j−sj · x a j+1j+1 · . . . · xan n ∈ IRemark 2.9. Indeed, it is easy to see that the condition <strong>of</strong> Definition 2.8 is equivalentto the one in Theorem 2.7: Any stable ideal fulfills the condition <strong>of</strong> Theorem 2.7. On theother hand, let I ⊂ R be a monomial ideal fulfilling the condition <strong>of</strong> Theorem 2.7. We haveto show that I is stable. Let m ∈ I be a monomial. Then there is a monomial generatorm ′ ∈ I and a monomial m ′′ ∈ M, such that m = m ′ · m ′′ . Let x k , k > 0, be a variabledividing m. It suffices to show that x l · m ∈ I for 0 ≤ l < k. If x k divides m ′′ , we havex kx l · mx k= m ′ ·hence, x l · mx k=) (x l · m′′x k ) (x l · m′· m ′′ ∈ I, which proves the assertion.x k∈ I, since m ′ ∈ I. If x k divides m ′ , we know x l · m′x k∈ I and,Example 2.10. To come back to Example 2.2 <strong>of</strong> the preceding section, we can easily seethat the ideal I = (x 3 0, x 2 0x 1 , x 2 0x 2 ) is stable, sincex 2 0x 1x 1· x 0 = x 3 0 ∈ I,x 2 0x 2x 2· x 1 = x 2 0x 1 ∈ I and x2 0x 2x 2· x 0 = x 3 0 ∈ I.In the following, we will present an easy way to compute the saturation <strong>of</strong> a stable ideal.2.3 Saturation <strong>of</strong> stable idealsIn order to decide, whether a given stable ideal is saturated and, if this is not the case,to compute its saturation, we have to examine the associated prime ideals in the primarydecomposition <strong>of</strong> the stable ideal.We will prove that all associated prime ideals <strong>of</strong> a given stable ideal are <strong>of</strong> the form(x 0 , . . . , x i ) for an i ≥ 0. Within the pro<strong>of</strong> <strong>of</strong> this assertion, we will make use <strong>of</strong> a theoremby Bayer and Stillman (see [6], Proposition 15.24 ).


2.3. SATURATION OF STABLE IDEALS 25Theorem 2.11. (Bayer and Stillman) Let I ⊂ R be a stable ideal. Thenfor every 0 ≤ j ≤ n, s ≥ 0.I : x s j = I : (x 0 , . . . , x j ) sPro<strong>of</strong>. Since we have I : (x 0 , . . . , x j ) s = {f | f ∈ R, f · g ∈ I for all g ∈ (x 0 , . . . , x j ) s } andI : x s j = {f | f ∈ R, f · g ∈ I for all g ∈ (x j ) s }, the inclusion I : (x 0 , . . . , x j ) s ⊂ I : x s j isclear.Since I, (x 0 , . . . , x j ) s and (x j ) s are monomial ideal, I : x s j and I : (x 0 , . . . , x j ) s are alsomonomial ideals. Let m be a monomial in I : (x j ) s . Then x s j · m ∈ I. Because I is stable,we obtain x a 00 · . . . · x a jj · m ∈ I for all a 0 , . . . , a j ∈ N 0 withshows I : x s j ⊂ I : (x 0 , . . . , x j ) s , and we are done.j∑a i = s by Theorem 2.7. ThisLemma 2.12. Let I ⊂ R be a stable ideal. Then all associated prime ideals p ⊂ R <strong>of</strong> Iare generated by a sequence <strong>of</strong> variables <strong>of</strong> the form x 0 , . . . , x j , j ≤ n.Pro<strong>of</strong>. Since I is a monomial ideal, every associated prime ideal p <strong>of</strong> I is generated by asubset <strong>of</strong> {x 0 , . . . , x n }. Let j be the maximal index such that x j ∈ p. We have to showthat x i ∈ p for all 0 ≤ i ≤ j. Since p is an associated prime <strong>of</strong> I, there is an f ∈ R withp = I : f. Then x j ∈ p provides x j · f ∈ I and f ∈ I : x j . For I is stable, we know fromthe preceding theorem that I : x j = I : (x 0 , . . . , x j ). Thus, we have f ∈ I : (x 0 , . . . , x j ),i.e. x i · f ∈ I and therefore x i ∈ I : f = p for all 0 ≤ i ≤ j.The saturation <strong>of</strong> a stable ideal is computed due to the following result:Theorem 2.13. (Saturation <strong>of</strong> stable ideals) Let I ⊂ R be a stable ideal and let I g :={m 1 , . . . , m s } ⊂ M denote a set <strong>of</strong> minimal generators <strong>of</strong> I. The ideal sat xn (I) can beobtained from I by setting x n := 1 in every monomial <strong>of</strong> I g .Pro<strong>of</strong>. If I is saturated, there is a primary decomposition I = q 1 ∩ . . . ∩ q k with primaryideals q i m = (x 0 , . . . , x n ) for 1 ≤ i ≤ s. The preceding lemma yields Rad q i = p i =(x 0 , . . . , x li ), 1 ≤ i ≤ k, l i ≤ n. Since I is saturated, the variable x n cannot appear as agenerator <strong>of</strong> any p i . Consequently, none <strong>of</strong> the elements <strong>of</strong> I g can contain the variable x n .On the other hand, if x n does not appear in any element <strong>of</strong> I g , x n cannot appear in anygenerator <strong>of</strong> q 1 , . . . , q k (this follows mainly from the algorithm <strong>of</strong> computing the primarydecomposition <strong>of</strong> monomial ideals, where the main aspect is to compute greatest commondivisors and smallest common multiples <strong>of</strong> monomial generators). Since x n does not appearin any <strong>of</strong> the ideals q 1 , . . . , q k , it cannot appear in p 1 = Rad q 1 , . . . , p k = Rad q k .In the case that x k n ∈ I g is a generator <strong>of</strong> the ideal I, the saturation <strong>of</strong> the ideal I is thewhole ring R. Thus, the ring R/ sat xn (I) describes the empty set (viewed as scheme),which is the trivial case and shall be <strong>of</strong> no further interest to us.i=0


26 CHAPTER 2. STABLE IDEALSRemark and Definition 2.14. Let I ⊂ R be a stable ideal. The double saturation <strong>of</strong>the ideal I is defined to be the saturation <strong>of</strong> sat xn (I) in ¯R := K[x 0 , . . . , x n−1 ]. It will bedenoted by sat xn−1 ,x n(I) and viewed as an ideal in R = K[x 0 , . . . , x n ].Note that the above definition makes sense, since none <strong>of</strong> the generators <strong>of</strong> the ideal sat xn (I)contains the last variable x n . Thus, we may view sat xn (I) as a possibly non-saturated stableideal in ¯R and compute its saturation in ¯R by setting x n−1 := 1 in all <strong>of</strong> its generators.Hence, the double saturation <strong>of</strong> I is obtained by first setting x n := 1 and then x n−1 := 1.Example 2.15. Let I again be the ideal (x 3 0, x 2 0x 1 , x 2 0x 2 ). We know that I is stable. Nowit depends on the polynomial ring R if I is saturated or not. If R = K[x 0 , x 1 , x 2 ], theideal I is not saturated and we obtain sat x2 (I) from I by setting x 2 := 1 in the set <strong>of</strong> itsmonomial generators. This provides sat x2 (I) = (x 2 0). The double saturation sat x1 ,x 2(I) <strong>of</strong> Iis obtained from sat x2 (I) by setting x 1 := 1 in the set <strong>of</strong> generators <strong>of</strong> sat x2 (I). Hence, weobtain sat x1 ,x 2(I) = (x 2 0) = sat x2 (I). If R = K[x 0 , . . . , x n ], n ≥ 3, the ideal I is saturated.Furthermore, if we have n ≥ 4, we obtain I = sat xn (I) = sat xn−1 ,x n(I), i.e. the processes <strong>of</strong>saturation and double saturation do not affect the monomial generators <strong>of</strong> I.In the next section <strong>of</strong> this chapter about stable ideals, we will present a simple formula tocompute the Hilbert series <strong>of</strong> a stable ideal.2.4 Hilbert series <strong>of</strong> stable idealsWe start with a relationship between the Hilbert series <strong>of</strong> R/(f 1 , . . . , f r , f), R/(f 1 , . . . , f r )and R/((f 1 , . . . , f r ) : (f)) for homogeneous polynomials f 1 , . . . , f r , f ∈ R.Lemma 2.16. Let I = (f 1 , . . . , f r ) ⊂ R be a homogeneous ideal and f ∈ R a homogeneouspolynomial <strong>of</strong> degree d > 0.Then the Hilbert series <strong>of</strong> R/(f 1 , . . . , f r , f) is given bywhere I : f denotes the ideal I : (f).Pro<strong>of</strong>. Consider the exact sequence0 −−−→ (R/(I : f))(−d)The sequence yieldsH R/(f1 ,...,f r,f)(t) = H R/I (t) − t d · H R/(I:f) ,f−−−→ R/I −−−→ R/(f 1 , . . . , f r , f) −−−→ 0.h R/(f1 ,...,f r,f)(i) = h R/I (i) − h (R/(I:f))(−d) (i),(∗)for all i ∈ Z, since the vector space dimension is additive on exact sequences. For theHilbert series <strong>of</strong> (R/(I : f))(−d), we getH (R/(I:f))(−d) (t) = ∑ i∈Zh (R/(I:f))(−d) (i) · t i = ∑ i∈Zh R/(I:f) (i − d) · t i


2.4. HILBERT SERIES OF STABLE IDEALS 27Multiplying this equation by 1 , we obtaintd H (R/(I:f))(−d) (t)t d= ∑ i∈Zh R/(I:f) (i − d) · t i−d = ∑ j∈Zh R/(I:f) (j) · t j= H R/(I:f) (t)Because <strong>of</strong> the equation H (R/(I:f))(−d) (t) = t d·H R/(I:f) (t) in connection with (∗) we concludewhich completes the pro<strong>of</strong> <strong>of</strong> the lemma.H R/(f1 ,...,f r,f)(t) = H R/I (t) − H (R/(I:f))(−d) (t)= H R/I (t) − t d · H R/(I:f) (t),Theorem 2.17. (Hilbert series <strong>of</strong> stable ideals) Let I = (m 1 , . . . , m r ) ⊂ R be a stable idealand m 1 > m 2 > . . . > m r in lexicographic order, m i = x a i00 · . . . · x a il il iand d i := deg m i ,1 ≤ i ≤ r, a ili > 0. Then the Hilbert series H R/I (t) <strong>of</strong> R/I is given byH R/I (t) = 1 − ∑ ri=1 (1 − t)li · t d i(1 − t) n+1 .Pro<strong>of</strong>. (By induction on r) In the case r = 1 the ideal I = (m 1 ) can only be stable ifm 1 = x d 10 , i.e. l 1 = 0, for otherwise I cannot fulfill the condition in Theorem 2.7. Again,we take advantage <strong>of</strong> the exact sequence0 −−−→ R(−d 1 )m 1−−−→ R −−−→ R/(m1 ) −−−→ 0.For all i ∈ Z, we get h R/I (i) = h R (i) − h R(−d1 )(i) = h R (i) − h R (i − d 1 ). As in the precedingpro<strong>of</strong> we have a formula for the Hilbert series <strong>of</strong> R/I:H R/I (t) = H R (t) − t d1 · H R (t)=1(1 − t) n+1 − t d 1(1 − t) n+1= 1 − td 1(1 − t) n+1 ,which proves the case r = 1.Let I = (m 1 , . . . , m r ) be stable and r ≥ 2. By the preceding lemma, the Hilbert series <strong>of</strong>R/I can be written asH R/I (t) = H R/(m1 ,...,m r−1 )(t) − t dr · H R/((m1 ,...,m r−1 ):m r)(t).(∗)Since I is a monomial ideal, this implies((m 1 , . . . , m r−1 ) : m r =m 1gcd(m 1 , m r ) , . . . ,)m r−1gcd(m r−1 , m r )


28 CHAPTER 2. STABLE IDEALSby Lemma 1.1.Since m 1 > . . . > m r−1 > m r , it follows in particular (m 1 , . . . , m r−1 ) : m r ⊂ (x 0 , . . . , x lr−1).Claim. (m 1 , . . . , m r−1 ) : m r ⊃ (x 0 , . . . , x lr−1).Pro<strong>of</strong> <strong>of</strong> the Claim. Since I is stable and m r = x a r00 · . . . · x a r,lr−1l r−1· x a rlrl r, we know thatis an element <strong>of</strong> I. Since I is a monomialthe monomial ˜m := x a r00 · . . . · x a r,lr−1+1l r−1ideal, the monomial ˜m is divisible by one <strong>of</strong> the generators <strong>of</strong> I. Surely, m r does not divide· x a rlr −1l r˜m. Hence, there is m ′ ∈ {m 1 , . . . , m r−1 } such that m ′ · x c 00 · . . . · x c lrl rm ′ = x a r0−c 00 · . . . · x a r,lr−1+1−c lr−1l r−1· x a rlr −1−c lrl r.= ˜m, i.e.Because m ′ > m r in lexicographic order we may conclude that the first non-zero entry <strong>of</strong>the exponent vector((a r0 − c 0 ) − a r0 , . . . , (a r,lr−1 + 1 − c lr−1) − a r,lr−1, (a rlr − 1 − c lr ) − a rlr )is positive. Since c j ≥ 0, 0 ≤ j ≤ l r , it follows c lr−1 = 0. This providesgcd(m ′ , m r ) = x a r0−c 00 · . . . · x a r,lr−1l r−1· x a rlr −1−c lrl r,m ′and we getgcd(m ′ , m r ) = x l r−1, which shows that x lr−1 is contained in the set <strong>of</strong> generators<strong>of</strong> the ideal (m 1 , . . . , m r−1 ) : m r .Next we conclude that x lr−2 is a generator <strong>of</strong> (m 1 , . . . , m r−1 ) : m r by using the fact that˜m := x a r00 ·. . .·x a r,lr−2+1l r−2·x a r,lr−1l r−1·x a rlr −1l ris an element <strong>of</strong> I. Iteration <strong>of</strong> this process provides(m 1 , . . . , m r−1 ) : m r ⊃ (x 0 , . . . , x lr−1).Now we have (m 1 , . . . , m r−1 ) : m r = (x 0 , . . . , x lr−1) and finish the pro<strong>of</strong> <strong>of</strong> the theorem: Asa consequence <strong>of</strong> the latter identity, we getWe take advantage <strong>of</strong>R/((m 1 , . . . , m r−1 ) : m r ) ∼ = K[x lr , . . . , x n ] ∼ = K[x 0 , . . . , x n−lr ].H K[x0 ,...,x n−lr ](t) =1 (1 − t)lr=(1 − t)n−lr+1(1 − t) . n+1Since (m 1 , . . . , m r−1 ) still is a stable ideal, we know the Hilbert series <strong>of</strong> R/(m 1 , . . . , m r−1 )by induction. Together with (∗), we obtainH R/I (t) = 1 − ∑ r−1i=1 (1 − t)li · t d i(1 − t) lr− t dr ·(1 − t) n+1 (1 − t) = 1 − ∑ ri=1 (1 − t)li · t d i.n+1 (1 − t) n+1


2.4. HILBERT SERIES OF STABLE IDEALS 29We close this section with a look at an example.Example 2.18. Let R := K[x 0 , x 1 , x 2 ] and I = (x 2 0, x 0 x 1 , x 2 1). I is stable, since x 0 · x2 1x 1=x 0 x 1 ∈ I, x 2 0 · x2 1x 2 1preceding theorem we obtain= x 2 0 ∈ I and x 0 · x0x 1x 1= x 2 0 ∈ I. According to the formula <strong>of</strong> theH R/I (t) = 1 − [(1 − t)0 · t 2 + (1 − t) 1 · t 2 + (1 − t) 1 · t 2 ](1 − t) 3= 1 − 3t2 + 2t 3(1 − t) 3 .We check the result by computing the Hilbert series <strong>of</strong> R/I by the computer algebra systemSingular (see also [7]):SINGULARA Computer Algebra System for Polynomial Computationsby: G.-M. Greuel, G. Pfister, H. SchoenemannFB Mathematik der Universitaet, D-67653 Kaiserslautern> ring R = 0, (x,y,z), dp;> ideal I = x2,xy,y2;> hilb(I);// ** I is no standardbasis// 1 t^0// -3 t^2// 2 t^3// 1 t^0// 2 t^1// codimension = 2// dimension = 1// degree = 3The output <strong>of</strong> Singular has the following meaning: The coefficient <strong>of</strong> t 0 in the numerator<strong>of</strong> the Hilbert series <strong>of</strong> R/I is given by 1, <strong>of</strong> t 2 by −3 and the coefficient <strong>of</strong> t 3 by 2. Hence,our above result is correct.Remark 2.19. From the preceding theorem about the computation <strong>of</strong> the Hilbert series<strong>of</strong> R/I for I a stable ideal, we conclude: The saturated stable ideals <strong>of</strong> K[x 0 , . . . , x n ]


30 CHAPTER 2. STABLE IDEALSwith Hilbert series H(t) = 1 − ∑ sj=1 C j · t j(1 − t) n+1 correspond to the unsaturated stable ideals inK[x 0 , . . . , x n−1 ] having Hilbert series H(t) = 1 − ∑ sj=1 C j · t j(1 − t) n .2.5 A link between Hilbert series and stable idealsIn the introductory remarks to this chapter, we mentioned particular lexicographic ideals,which can be associated to a given Hilbert series. As we will see later, it is <strong>of</strong> interest thatwe can associate a unique lexicographic ideal to a given Hilbert series. It turns out herethat these ideals are also saturated and stable. Furthermore, we will give an algorithm inpseudo code to compute such lexicographic ideals to given Hilbert series. Before we get tothe definition <strong>of</strong> these ideals, we want to recall some <strong>of</strong> the properties <strong>of</strong> the generic initialideal associated to a saturated homogeneous ideal J ⊂ R.Remark 2.20. As mentioned in the introduction to this thesis, we know that to a givenHilbert series H(t) <strong>of</strong> R/J for J ⊂ R a homogeneous ideal, the generic initial ideal <strong>of</strong> Jis stable (see [6], Chapter 15, Theorem 15.20 ). It has the same Hilbert function as J and,hence, the same Hilbert series. Thus, every Hilbert series H(t) is the Hilbert series <strong>of</strong> R/ ˜J,where ˜J ⊂ R is a stable ideal. Furthermore, one can prove, that for any homogeneousideal J, the generic initial ideal (in reverse lexicographic order) is saturated (i.e. it doesnot contain the last variable x n <strong>of</strong> R) if and only if the ideal J is saturated (see [4], M. L.Green, Generic initial ideals, Theorem 2.24 ).g(t)Theorem 2.21. Given a Hilbert series H(t) =<strong>of</strong> R/J for a saturated stable(1 − t)n+1s∑ideal J ⊂ R, g(t) = 1 − C j · t d j, C j ≠ 0 for all 0 ≤ j ≤ s and d 1 ≤ d 2 ≤ . . . ≤ d s , therej=1is a unique lexicographic ideal L H ⊂ R, such that H R/LH (t) = H(t). This ideal is stableand saturated.The uniqueness statement is clear by the definition <strong>of</strong> a lexicographic ideal. The existencepart <strong>of</strong> the theorem is constructive. Therefore, we first state an algorithm to compute theideal L H in pseudo code and then prove correctness <strong>of</strong> the algorithm, which also provesthe theorem (see also [16], Appendix A, Fact 2, p. 83 ).Algorithm 2.22. (Computation <strong>of</strong> the ideal L H ) Let H(t) be a Hilbert series as in thepreceding theorem and M be the set <strong>of</strong> monomial generators <strong>of</strong> L H .Input. The numerator g(t) <strong>of</strong> a Hilbert series H(t).1. Let d be the minimal positive power <strong>of</strong> t in g(t). Set M := {x d 0} and g(t) := g(t) + t d .2. While g(t) ≠ 1 do


2.5. A LINK BETWEEN HILBERT SERIES AND STABLE IDEALS 31(i) Let again d be the minimal positive power <strong>of</strong> t in g(t).(ii) Let I := (M) denote the ideal generated by the set M <strong>of</strong> monomials. Let m ′denote the smallest among all these monomials in [I] d (with respect to the lexicographicorder). Choose m ∈ ¯R := K[x 0 , . . . , x n−1 ] to be the largest monomial<strong>of</strong> degree d satisfying m ′ > m in lexicographic order. SetM := M ∪ {m}.(iii) Let l denote the index <strong>of</strong> the last variable in m. SetOutput. The ideal L H := (M).g(t) := g(t) + (1 − t) l · t d .Pro<strong>of</strong>. (Correctness) By Remark 2.20, we can assume H(t) to be the Hilbert series <strong>of</strong> R/J,where J ⊂ R is a saturated stable ideal. We have to show:(i) The algorithm terminates. In particular, we will show, that at each stage <strong>of</strong> computation,we always have h R/I (j) ≥ h R/J (j), where I = (M) is the ideal generatedby M at this time. Finally, we use Macaulay’s Theorem 1.18 stated in Chapter 1 toprove that h R/I (j) = h R/J (j) for j ≫ 0.(ii) In step (2)(ii), there is a monomial m in R as long as g(t) ≠ 1.(iii) The output ideal L H generated by the set M is lexicographic, saturated and stable.(iv) H LH (t) = H(t).(i) Let I denote the ideal generated by M at some stage <strong>of</strong> computation. To show that thealgorithm terminates, we may assume h R/I (j) = h R/J (j) for 0 ≤ j ≤ d. We have to prove,that h R/I (d + 1) ≥ h R/J (d + 1). Consider all monomials <strong>of</strong> degree d in I. Since we havealways chosen the largest monomials <strong>of</strong> ¯R <strong>of</strong> degree j ≤ d in step (2)(ii) <strong>of</strong> the algorithm,we may infer that [I] d is generated by the h I (d) largest monomials <strong>of</strong> [R] d with respectto the lexicographic order. Hence, I is a lexicographic ideal generated by monomials <strong>of</strong>degree ≤ d. By Remark 1.20, we concludeh R/I (d + 1) = h R/I (d) 〈d〉 = h R/J (d) 〈d〉 .By Macaulay’s theorem (see Theorem 1.18), we know 0 ≤ h R/J (d + 1) ≤ h R/J (d) 〈d〉 . Thus,it followsh R/I (d + 1) ≥ h R/J (d + 1).Again, by 1.18, we know that h R/J (j + 1) = h R/J (j) 〈j〉 for all j ≥ ˜d and some ˜d ≥ 0. Butthen we haveh R/I (j + 1) ≥ h R/J (j + 1) = h R/J (j) 〈j〉 = h R/I (j) 〈j〉


32 CHAPTER 2. STABLE IDEALSfor all j ≥ ˜d, which showsh R/I (j + 1) = h R/I (j) 〈j〉 = h R/J (j) 〈j〉 = h R/J (j + 1)for all j ≥ ˜d. Hence, we obtain h R/I (j) = h R/J (j) for all j ≥ 0, which proves (i).(ii) We have to show that we can always find a monomial m as described in step (2)(ii)<strong>of</strong> the algorithm. Assume, at some stage <strong>of</strong> computation we cannot find a monomial m<strong>of</strong> degree d in ¯R. Let I := (M) denote the ideal generated by the monomials, which arecontained in M at this time. We know that the numerator <strong>of</strong> H(t) still contains t d . Sincewe know from (i) that h I (d) ≤ h J (d), we must have h I (d) < h J (d). Hence, there is atleast one more monomial <strong>of</strong> degree d in J than in I. Since we cannot find a monomialm ∈ ¯R = K[x 0 , . . . , x n−1 ], there is at least one monomial generator <strong>of</strong> J containing thevariable x n , which is a contradiction to the assumption that J is saturated and stable.(iii) At each stage <strong>of</strong> computation, the monomial m chosen in step (2)(ii) is the largestmonomial <strong>of</strong> ¯R, which is not yet contained in the ideal I. Hence, I is a lexicographic ideal<strong>of</strong> ¯R at each stage <strong>of</strong> computation, which shows that L H is lexicographic in ¯R. Becauseany division and multiplication by a monomial generator m <strong>of</strong> L H in the sense <strong>of</strong> Definition2.8 produces a monomial m ′ with m ′ > m in lexicographic order, we conclude that L His stable. In step (2)(ii), we only choose monomials in ¯R not containing the variable x n .Hence, by Theorem 2.13, L H is saturated.(iv) The algorithm terminates, if we have g(t) = 1. Thus, one minus the sum <strong>of</strong> allpolynomials (1 − t) l · t d added to g(t) in step (2)(iii) equals the numerator <strong>of</strong> the Hilbertseries H R/J (t), which shows H R/J (t) = H R/LH (t).Note that it is necessary, to assume that the Hilbert series H(t) <strong>of</strong> Theorem 2.21 belongsto R/J for J ⊂ R a saturated (stable) ideal. Otherwise, we could choose the idealJ := (x 2 0, x 0 x 1 , x 0 x 2 , x 2 1, x 1 x 2 , x 2 2) ⊂ R := K[x 0 , x 1 , x 2 ], which is generated by all monomialsin x 0 , x 1 , x 2 <strong>of</strong> degree 2. Hence, the numerator <strong>of</strong> the Hilbert series H R/J (t) will contain−6t 2 and we would have to choose 6 monomials in ¯R = K[x 0 , x 1 ] to eliminate the term,but there are only three monomials <strong>of</strong> degree 2 in K[x 0 , x 1 ], which can be included intothe set M in the algorithm. In this case the algorithm cannot give a correct result.We will look at two examples, to see how the algorithm works in detail.Example 2.23. Let R := K[x 0 , x 1 , x 2 ] and I := (x 2 0, x 0 x 1 , x 2 1). The (non reduced) Hilbertseries <strong>of</strong> R/I is given by H(t) = 1 − 3t2 + 2t 3(1 − t) 3 . If the algorithm is correct, it should returnthe ideal L H = I, for I is a saturated stable ideal fulfilling the conditions <strong>of</strong> Theorem 2.21.We will now follow the steps <strong>of</strong> the algorithm:• At the start, we have M := ∅ and d = 2. The first monomial in lexicographic ordersuch that the ideal generated by M is a stable ideal is m = x 2 0. Thus,M := M ∪ {x 2 0} = {x 2 0},


2.5. A LINK BETWEEN HILBERT SERIES AND STABLE IDEALS 33l = 0 andH(t) := H(t) + (1 − t)0 · t 2(1 − t) 3 = 1 − 2t2 + 2t 3(1 − t) 3 .• Again we have d = 2. We have to choose m = x 0 x 1 and obtainM := M ∪ {x 0 x 1 } = {x 2 0, x 0 x 1 }as well asH(t) := H(t) +(1 − t) · t2(1 − t) 3 = 1 − t2 + t 3(1 − t) 3 .• Now d = 2, m = x 2 1 and we have to setWe are done, sinceM := M ∪ {x 2 1} = {x 2 0, x 0 x 1 , x 2 1}.H(t) := H(t) +(1 − t) · t2(1 − t) 3 =1(1 − t) 3 .As expected, the ideal returned by the algorithm is given by L H = I.Example 2.24. In the preceding example, we started with a lexicographic saturated stableideal (lexicographic again with respect to the polynomial ring, which we obtain by omittingthe last variable x 2 ). Now, we treat an example, where the ideal, we start with, is notlexicographic. Let R := K[x 0 , x 1 , x 2 , x 3 ] and I the ideal generated by x 0 , x 2 1, x 3 2.The Hilbert series <strong>of</strong> R/I is given by H(t) = 1 − t − t2 + t 4 + t 5 − t 6(1 − t) 4 .• In the beginning we have M := ∅ and d = 1. Thus, we have to choose m = x 0 . ThisprovidesM := M ∪ {x 0 } = {x 0 }and, since l = 0, we get for the Hilbert seriesH(t) := H(t) + (1 − t)0 · t(1 − t) 4 = 1 − t2 + t 4 + t 5 − t 6(1 − t) 4 .• In the next step we have d = 2 and thus we have to choose m = x 2 1 as the nextmonomial <strong>of</strong> degree 2 in lexicographic order, such thatM := M ∪ {x 2 1} = {x 0 , x 2 1}still generates a stable ideal. The Hilbert series H(t) has to be updated as follows:H(t) := H(t) +(1 − t) · t2(1 − t) 4 = 1 − t3 + t 4 + t 5 − t 6(1 − t) 4 .


34 CHAPTER 2. STABLE IDEALS• We have d = 3. Choose m = x 1 x 2 2 and setM := M ∪ {x 1 x 2 2} = {x 0 , x 2 1, x 1 x 2 2}as well asH(t) := H(t) + (1 − t)2 · t 3(1 − t) 4 = 1 − t4 + 2t 5 − t 6(1 − t) 4 .• In the last loop <strong>of</strong> the algorithm, we have d = 4, hence we have to choose m = x 4 2,which providesM := M ∪ {x 4 2} = {x 0 , x 2 1, x 1 x 2 2, x 4 2}andH(t) := H(t) + (1 − t)2 · t 4(1 − t) 4 =1(1 − t) 4 .Finally, we obtain L H = (x 0 , x 2 1, x 1 x 2 2, x 4 2), which is stable since its generators fulfill thecondition in Theorem 2.7 and saturated since the variable x 3 does not appear in its generators.Furthermore, the Hilbert series H R/LH (t) <strong>of</strong> R/L H equals the Hilbert series <strong>of</strong> R/Ifor I = (x 0 , x 2 1, x 3 2).2.6 A link between Hilbert polynomials and stableidealsIn the preceding section, we succeeded to associate a unique saturated lexicographic idealL H (which was also stable) with a given Hilbert series H(t). In the following we want toanswer the question: Given a Hilbert polynomial p(z), is there a unique saturated lexicographicideal L p , such that p(z) = p R/Lp (z)?If we consider the problem from a rather informal standpoint, one might perhaps expectsome difficulties, for a Hilbert series H R/I (t) for some homogeneous ideal I contains moreinformation on the structure <strong>of</strong> R/I than the Hilbert polynomial <strong>of</strong> R/I. It is well-knownthat one can find different Hilbert series, which lead to the same Hilbert polynomial. Ofcourse, as the heading <strong>of</strong> this section suggests, the answer to the questions will be ’yes’. Toprove this result, we have to use some facts about Hilbert polynomials and their representationfrom Chapter 1, Section 1.2. There we stated some facts about Hilbert polynomials.In particular, in Remark 1.11 we dealt with a special representation <strong>of</strong> a given Hilbertpolynomial:Recall that if p(z) is a Hilbert polynomial, there are integers m 0 ≥ m 1 ≥ m 2 ≥ . . . ≥ m r ≥0 with r = deg p(z) such that we can write p(z) in the formp(z) = g(m 0 , . . . , m r ; z) :=r∑i=0[( ) z + i−i + 1( z + i − mii + 1)].


2.6. A LINK BETWEEN HILBERT POLYNOMIALS AND STABLE IDEALS 35With respect to this representation, we can now introduce the lexicographic ideal associatedto a given Hilbert polynomial. Some <strong>of</strong> the properties <strong>of</strong> this ideal have been studiedby David Bayer in his thesis The division algorithm and the Hilbert scheme in 1982 (seealso [1]).The first one, who considered such ideals, was F. S. Macaulay.Theorem 2.25. Let p(z) be a Hilbert polynomial. We write p(z) in the formr∑[( ) ( )]z + i z + i − mip(z) = g(m 0 , . . . , m r ; z) =−,i + 1 i + 1i=0where m 0 ≥ m 1 ≥ m 2 ≥ . . . ≥ m r ≥ 0 and r = deg p(z). For each such Hilbert polynomialthere is a unique saturated lexicographic ideal L p ⊂ R with p(z) = p R/Lp (z). The ideal L pis generated by the set <strong>of</strong> monomials{x 0 , x 1 , . . . , x n−r−2 ,x ar+1n−r−1,x arn−r−1 · x a r−1+1n−r ,x arn−r−1 · x a r−1n−r · x a r−2+1n−r+1 , . . . ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 2n−3 · x a 1+1n−2 ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 1n−2 · x a 0n−1},where a r := m r , a r−1 := m r−1 −m r , . . . , a 0 := m 0 −m 1 respectively m i = a r +a r−1 +. . .+a i ,0 ≤ i ≤ r.Since the monomial generators <strong>of</strong> L p depend on the values <strong>of</strong> the integers a 0 , . . . , a r , wewill also write L(a 0 , . . . , a r ) instead <strong>of</strong> L p if we know the values a 0 , . . . , a r . The uniqueness<strong>of</strong> L p should be understood in the sense that the ideal is uniquely determined by the aboverepresentation <strong>of</strong> the Hilbert polynomial p(z). A further characterization <strong>of</strong> this ideal willbe presented later within Corollary 3.40.A rather algorithmic pro<strong>of</strong> that the ideal L p yields p R/Lp(z) = p(z) is the following: Computeits Hilbert series from the monomial generators <strong>of</strong> L p by Theorem 2.17. Then computethe Hilbert polynomial <strong>of</strong> R/L p from its Hilbert series and show that it equals the givenpolynomial p(z). We did not state up to now how we obtain the Hilbert polynomial froma given Hilbert series, but we will come back to this problem in the next chapter.Here, we give a rather formal pro<strong>of</strong> <strong>of</strong> the theorem, which does not really serve as analgorithm.r∑[( ) ( )]z + i z + i − miPro<strong>of</strong>. (<strong>of</strong> Theorem 2.25) Let p(z) =−be a Hilbert polynomialand L p = L(a 0 , . . . , a r ) be the ideal <strong>of</strong> the theorem. First <strong>of</strong> all, the ideal L(a 0 , . . . , a ri + 1 i + 1i=0)


36 CHAPTER 2. STABLE IDEALSis stable, since its generators fulfill the condition <strong>of</strong> Theorem 2.7. Furthermore, L(a 0 , . . . , a r )is saturated by Theorem 2.13, because the last variable x n does not appear in any <strong>of</strong> itsgenerators.We have to show that L(a 0 , . . . , a r ) is a lexicographic ideal. The monomials in{x 0 , x 1 , . . . , x n−r−2 ,x ar+1n−r−1,x arn−r−1 · x a r−1+1n−r ,x arn−r−1 · x a r−1n−r · x a r−2+1n−r+1 , . . . ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 2n−3 · x a 1+1n−2 ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 1n−2 · x a 0n−1}are ordered in lexicographic order. The vector space [L(a 0 , . . . , a r )] 1 is generated byx 0 , . . . , x n−r−2 , which are the n − r − 1 greatest monomials in M <strong>of</strong> degree 1. It followsthat the vector spaces [L(a 0 , . . . , a r )] j are also lexicographic subsets <strong>of</strong> [R] j for 2 ≤ j ≤ a r :The only monomial generator <strong>of</strong> degree a r + 1 is x ar+1n−r−1. Since L(a 0 , . . . , a r ) is stable,( ) s xj· x ar+1n−r−1 ∈ L(a 0 , . . . , a r )x n−r−1for all j < n−r−1 and s < a r +1. Thus, and because <strong>of</strong> x 0 , . . . , x n−r−2 ∈ L(a 0 , . . . , a r ), thevector space [L(a 0 , . . . , a r )] ar+1 is a lexicographic subset <strong>of</strong> [R] ar+1. Analogous conclusionsshow that [L(a 0 , . . . , a r )] j is a lexicographic subset for all j > a r + 1, since from one to thenext monomial generator, we always take into account the next variable in lexicographicorder.To show that p R/L(a0 ,...,a r)(z) = p(z), we first write m r = a r , m r−1 = a r + a r−1 , . . . ,m 0 = a r + a r−1 + . . . + a 0 . Thus, we write p(z) in the formp(z) =r∑i=0[( ) z + i−i + 1( z + i −∑ rj=i a ji + 1Now we prove the assertion by induction on r. ( ( )z z − a0The case r = 0 provides the Hilbert polynomial p(z) = − . The ideal L(a 0 )1)1is generated by the monomials x 0 , . . . , x n−2 , x a 0n−1. Thus,R/L(a 0 ) = K[x 0 , . . . , x n ]/(x 0 , . . . , x n−2 , x a 0n−1) ∼ = K[x n−1 , x n ]/(x a 0n−1)( ( )z z − a0and therefore p R/L(a0 )(z) = a 0 = − = p(z).1)1Now let r ≥ 1. We will make use <strong>of</strong> some results, which also occurred in the pro<strong>of</strong> <strong>of</strong>Theorem 2.17 and in Lemma 2.16. Finally, the exact sequence used to prove Lemma 2.16)].


2.6. A LINK BETWEEN HILBERT POLYNOMIALS AND STABLE IDEALS 37will enable us to prove the assertion <strong>of</strong> the theorem for the case r ≥ 1. For simplicity, letI := L(a 0 , . . . , a r ). Then the quotient J 1 := I : (x arn−r−1) is the ideal generated by the set{x 0 , x 1 , . . . , x n−r−2 , x n−r−1x a r−1+1n−r ,x a r−1n−r · x a r−2+1n−r+1 ,x a r−1n−r · x a r−2n−r+1 · x a r−3+1n−r+2 , . . . ,x a r−1n−r · x a r−2n−r+1 · x a r−3n−r+2 · . . . · x a 2n−3 · x a 1+1n−2 ,x a r−1n−r · x a r−2n−r+1 · x a r−3n−r+2 · . . . · x a 1n−2 · x a 0n−1},msince for any generator m <strong>of</strong> I,gcd(m, x arn−r−1) is a generator <strong>of</strong> J 1. It follows J 1 =L(a 0 , . . . , a r−1 ).By induction hypothesis, we know that the Hilbert polynomial <strong>of</strong> R/J 1 is[∑r−1(z ) ( ∑ + i z + i − r−1j=ip R/J1 (z) =−a ) ]j.i + 1i + 1i=0We consider another monomial ideal, the ideal J 2 := (I, x arn−r−1) = (x 0 , . . . , x n−r−2 , x arThe Hilbert polynomial <strong>of</strong> R/J 2 (similar to the case r = 0 above) can be written asr∑[( ) ( )]z + i z + i − arp R/J2 (z) =−.i + 1 i + 1i=0Now, we consider the exact sequence (which also appeared in the pro<strong>of</strong> <strong>of</strong> 2.16):0 → (R/(I : x arn−r−1))(−a r )} {{ }=(R/J 1 )(−a r)From this sequence, we concludex arn−r−1p R/I (z) = p R/J1 (z − a r ) + p R/J2 (z)[∑r−1(z ) − ar + i=−i + 1i + 1i=0[r∑ (z ) − ar + i=−i + 1i + 1i=0r∑[( ) ( ∑ z + i z + i − rj=i=−a )]ji + 1 i + 1i=0= p(z),where we usedare done.−−−−→ R/I → R/(I, x ar} {{n−r−1) → 0.}=R/J 2( z − ar + i − ∑ r−1j=i a j( z − ar + i − ∑ r−1j=i a j) ] +) ] +n−r−1).r∑[( ) ( )]z + i z + i − ar−i + 1 i + 1r∑[( ) ( )]z + i z + i − ar−i + 1 i + 1r∑a j := 0 if i > r − 1. This proves the assertion <strong>of</strong> the theorem and wej=ii=0i=0


38 CHAPTER 2. STABLE IDEALSWe will compute the ideal L p in a few specific examples:Example 2.26. Let R := K[x 0 , x 1 , x 2 , x 3 ], i.e. n = 3.(i) Let p(z) = 2z + 1 be the given Hilbert polynomial. Now we proceed as in 1.11to compute m 0 and m( 1 : In ) the( terminology ) <strong>of</strong> the theorem ( we( get r = ) 1 and thusz + 1 z + 1 − 2z z − m0m 1 = 1!·2 = 2. Since −= 2z−1 and − = m 0 , we2 21)1obtain m 0 = 2 and a 1 = 2 as well as a 0 = 0. Since the generators <strong>of</strong> L p are x n−r−2 =x 0 , x ar+1n−r−1 = x 3 1 and x arn−r−1 ·x a r−1n−r = x 2 1 ·x 0 2 = x 2 1, we write L p = (x 0 , x 3 1, x 2 1) = (x 0 , x 2 1).Indeed, L p is a saturated lexicographic ideal and p R/Lp (z) = p(z).( ) ( ) ( ( )z + 1 z + 1 − 3 z z − 4(ii) Let p(z) = 3z + 1. We write p(z) = −+ − ,22 1)1i.e. r = 1, m 1 = 3, m 0 = 4, and therefore a 1 = 3, a 0 = 4 − 3 = 1. Thus, the ideal L pis generated by the monomials x 0 , x 4 1 and x 3 1x 2 .(iii) As the last example, we consider the non-linear Hilbert polynomial p(z) = 2z 2 +2z+1<strong>of</strong> K[x 0 , x 1 , x 2 , x 3 , x 4 ]/(x 2 0, x 2 1). From 1.11 we know that m 2 = 4, m 1 = 6 and m 0 = 12.Thus, we have r = 2, a 2 = 4, a 1 = 6 − 4 = 2, a 0 = 6 which provides L p =(x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3).That the ideal L p <strong>of</strong> the last example indeed provides p R/Lp (z) = 2z 2 +2z +1 is not clear atthis time. It will not be proved now. In the next section we state an algorithm to computethe Hilbert polynomial <strong>of</strong> any stable ideal. Then, we use this algorithm to compute theHilbert polynomial <strong>of</strong> R/L p and show that it equals 2z 2 + 2z + 1.Furthermore, in Chapter 3, we will present a link between the ideals L H and L p defined inthis and the preceding section. In detail, we will be able to prove that if H(t) is a Hilbertseries and p(z) the associated Hilbert polynomial, the unique lexicographic ideals L H andL p have the same double saturation.2.7 Hilbert polynomials <strong>of</strong> stable idealsIn Chapter 2, Section 2.4, Theorem 2.17 provided a formula for the computation <strong>of</strong> theHilbert series <strong>of</strong> a stable ideal. As a corollary <strong>of</strong> the following theorem and this formula,we obtain an algorithm to determine the Hilbert polynomial <strong>of</strong> a given stable ideal.Theorem 2.27. (Hilbert polynomials <strong>of</strong> stable ideals) Let d ≥ 1 and H R/I (t) =g(t)(1 − t) dk∑be the Hilbert series <strong>of</strong> R/I for some homogeneous ideal I ⊂ R, where g(t) = C i · t i ,C i ∈ Z, 0 ≤ i ≤ k, with g(1) ≠ 0. Then the Hilbert polynomial p R/I (z) is given byk∑( )z + d − 1 − jp R/I (z) = C j ·.d − 1j=0i=0


2.7. HILBERT POLYNOMIALS OF STABLE IDEALS 39∞∑( ) d − 1 + iPro<strong>of</strong>. We know that· t i =d − 1i=0∞∑( ) d − 1 + iMultiplying the equation· t i =d − 1i=0H R/I (t) <strong>of</strong> the theorem:g(t)∞∑( ) d − 1 + j(1 − t) = (C d 0 + C 1 · t + . . . + C k · t k ) ·· t jd − 1j=0∞∑( ) d − 1 + j=· (C 0 · t j + C 1 · t j+1 . . . + C k · t j+k ).d − 1j=0For i ≥ k, the coefficient <strong>of</strong> t i in H R/I (t) is( ) ( ) ( )d − 1 + i d − 1 + i − 1d − 1 + i − k·C 0 +·C 1 +. . .+·C k =d − 1d − 1d − 11(1 − t) d and g(t) = C 0 + C 1 · t + . . . + C k · t k .1by g(t) gives the Hilbert series(1 − t)dk∑( )d − 1 + i − jC j·.d − 1Since the coefficient <strong>of</strong> t i in H R/I (t) is the value <strong>of</strong> the Hilbert function h R/I (i) by definition<strong>of</strong> the Hilbert series, we obtaink∑( )d − 1 + i − jh R/I (i) = C j ·d − 1for all i ≥ k. Since h R/I (i) = p R/I (i) for all i ≫ 0, we get p R/I (z) =which proves the assertion.j=0j=0k∑( )z + d − 1 − jC j·,d − 1Note that the number d <strong>of</strong> the theorem is the Krull dimension <strong>of</strong> R/I. The theorem doesnot state anything about the case d = 0. If the Krull dimension <strong>of</strong> R/I equals zero, R/Idescribes the empty set (as projective scheme when viewed from the standpoint <strong>of</strong> algebraicgeometry). Thus, d = 0 represents the trivial case, which will not be <strong>of</strong> any furtherinterest to us in the following.Furthermore, note that the result <strong>of</strong> the preceding theorem is valid for any homogeneousideal I ⊂ R. We will not make use <strong>of</strong> it in this generality. However, to see that it reallyworks for any homogeneous ideal, we examine one small example where the ideal I is notstable.Example 2.28. Let I := (x 2 0, x 3 1) ⊂ K[x 0 , x 1 , x 2 ]. The reduced Hilbert series <strong>of</strong> R/I isH R/I (t) = 1 + 2t + 2t2 + t 3, i.e. d = 1, C 0 = 1, C 1 = 2, C 2 = 2 and C 3 = 1 in the1 − tterminology <strong>of</strong> the theorem. Thus, we obtain the Hilbert polynomial3∑( ) z − j3∑p R/I (z) = C j · = C j = 6.0j=0j=0j=0


40 CHAPTER 2. STABLE IDEALSAs a corollary <strong>of</strong> Theorem 2.17 and Theorem 2.27 we obtain the following algorithm tocompute the Hilbert polynomial <strong>of</strong> a stable ideal I.Algorithm 2.29. (Computation <strong>of</strong> the Hilbert polynomial <strong>of</strong> a stable ideal) Let I ⊂ R bea stable ideal and I g = {m 1 , . . . , m r } a set <strong>of</strong> minimal generators <strong>of</strong> I, d i := deg m i thedegree and l i the index <strong>of</strong> the last variable <strong>of</strong> the monomial m i , 1 ≤ i ≤ r.The algorithm proceeds in three steps:Input. I g = {m 1 , . . . , m r }, i.e. the set <strong>of</strong> minimal generators <strong>of</strong> a stable ideal.1. Compute the Hilbert series H R/I (t) <strong>of</strong> R/I, i.e.H R/I (t) = 1 − ∑ ri=1 (1 − t)li · t d i(1 − t) n+1 .2. Compute the reduced Hilbert series ˜H R/I (t), i.e.˜H R/I (t) =∑ ki=0 C i · t i(1 − t) d ,where the numerator does not vanish for t = 1.3. Compute the Hilbert polynomial <strong>of</strong> R/I by using the preceding theorem, i.e.p R/I (z) =k∑( )z + d − 1 − jC j ·.d − 1j=0Output. The Hilbert polynomial p R/I (z) <strong>of</strong> R/I.Pro<strong>of</strong>. (Correctness) The correctness <strong>of</strong> the algorithm follows from Theorem 2.17 andTheorem 2.27.We will now use the algorithm in a concrete example. Recall that in Example 2.26 (iii)we did not prove that the computed ideal has the stated Hilbert polynomial. We now givethe pro<strong>of</strong> by using the new algorithm to compute its Hilbert polynomial.Example 2.30. Let R := K[x 0 , x 1 , x 2 , x 3 , x 4 ], and let I be the unique lexicographic ideal,which we obtained in Example 2.26 (iii), i.e. I = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3). We want to computethe Hilbert polynomial according to the preceding algorithm. Thus, we proceed in the threesteps mentioned above:1. The non-reduced Hilbert series H R/I (t) <strong>of</strong> R/I is1 − (1 − t) 0 · t − (1 − t) · t 5 − (1 − t) 2 · t 7 − (1 − t) 3 · t 12(1 − t) 5 .


2.8. AN APPLICATION TO GOTZMANN’S REGULARITY THEOREM 412. The reduced Hilbert series ˜H R/I (t) <strong>of</strong> R/I is1 + t + t 2 + t 3 + t 4 − t 7 − t 12 + t 13(1 − t) 3 .3. In the terminology <strong>of</strong> Theorem 2.27 we have C 0 = C 1 = C 2 = C 3 = C 4 = C 13 = 1,C 7 = C 12 = −1, C j = 0 for all other j and d = 3. Thus, the Hilbert polynomialp R/I (z) <strong>of</strong> R/I can be written as∑13( )z + d − 1 − j ∑13( ) z + 2 − jp R/I (z) = C j ·= C j ·= 2z 2 + 2z + 1,d − 12j=0which proves the assertion <strong>of</strong> Example 2.26 (iii).In the last section <strong>of</strong> this chapter, we want to use the former results in an application toGotzmann’s Regularity Theorem.j=02.8 Appendix: An application to Gotzmann’s RegularityTheoremIn Theorem 1.18, we stated the characterization <strong>of</strong> Hilbert functions due to F. S. Macaulay,which helped to prove Theorem 2.21. G. Gotzmann carried Macaulay’s work further. Heproved that if the Hilbert function h R/I for I ⊂ R a saturated ideal achieves Macaulay’sbound stated in 1.18 in some degree d, the Hilbert function will always reach Macaulay’sbound in any degree j ≥ d. Additionally, Gotzmann proved an explicit formula <strong>of</strong> theHilbert polynomial <strong>of</strong> R/I by the use <strong>of</strong> the Macaulay representation <strong>of</strong> the Hilbert functionh R/I (the result is known as Gotzmann’s Persistence Theorem).Furthermore, he was able to prove the so-called Gotzmann’s Regularity Theorem, whichimplies that one can find an upper bound for the degree <strong>of</strong> the generators <strong>of</strong> any idealassociated to a given Hilbert polynomial from a special representation <strong>of</strong> the Hilbert polynomial.We will prove within this appendix that the upper bound established by Gotzmannis the lowest upper bound possible, i.e. we will show, that we can always find an ideal havingminimal generators <strong>of</strong> the degree <strong>of</strong> the upper bound proved by Gotzmann. In fact,we will see that the degree <strong>of</strong> at least one minimal generator <strong>of</strong> the ideal L p introduced inTheorem 2.25 will reach this bound.To prove this assertion, we first state the two results established by Macaulay and Gotzmanndue to [4], Chapter 3: The Macaulay-Gotzmann Estimates on the Growth <strong>of</strong> Ideals,Proposition 3.7, Theorem 3.8, p. 150 :


42 CHAPTER 2. STABLE IDEALSTheorem 2.31. (Gotzmann’s Persistence Theorem) Let I ⊂ R a saturated ideal, such thatall minimal generators <strong>of</strong> I have degree ≤ d and leth R/I (d) =( ) ( )kd kd−1+ + . . . +d d − 1( )kssbe the d-th Macaulay representation <strong>of</strong> h R/I (d), s ≥ 1 (see also 1.14).If h R/I (d + 1) = h R/I (d) 〈d〉 , one obtainsh R/I (d + j) =( ) ( )kd + j kd−1 + j++ . . . +d + j d − 1 + jfor all j ≥ 1. Furthermore the Hilbert polynomial p R/I (z) is given by( ) ( )kd − d + z kd−1 − d + zp R/I (z) =++ . . . +zz − 1A consequence <strong>of</strong> Gotzmann’s Regularity Theorem is the following:( )ks + js + j( )ks − d + z.z − d + sTheorem 2.32. For any saturated I ⊂ R, one can find integers a 1 ≥ a 2 ≥ . . . ≥ a k ≥ 0,such that the Hilbert polynomial p R/I (z) can be written asp R/I (z) =( ) ( ) ( )z + a1 z + a2 − 1z + ak − (k − 1)++ . . . +.a 1 a 2 a kFurthermore, for any saturated ideal J ⊂ R having p R/I (z) = p R/J (z), all minimal generators<strong>of</strong> J have degree ≤ k.Remark 2.33. Note ( that we ) can write ( the Hilbert ) polynomial ( <strong>of</strong> Theorem 2.31 ) in thez + (kd − d) z + (kd−1 − d)z + (ks − d)form p R/I (z) =++ . . . +by the( ( )(k d − d) (k d−1 − d) + 1(k s − d) + d − sn nrule = for binomial coefficients. A pro<strong>of</strong> <strong>of</strong> Theorem 2.31 is presented ink)n − kMathematische Zeitschrift 158, 1978, pp. 61-70. A pro<strong>of</strong> <strong>of</strong> Theorem 2.32 is presented byM. L. Green in [5].Theorem 2.34. The upper bound on the degree <strong>of</strong> generators <strong>of</strong> Theorem 2.32 cannot beimproved: Ifp R/I (z) =( ) ( ) ( )z + a1 z + a2 − 1z + ak − (k − 1)++ . . . +a 1 a 2 a kis a Hilbert polynomial for I ⊂ R a saturated ideal, the ideal L p <strong>of</strong> Theorem 2.25 havingthe same Hilbert polynomial as I has at least one minimal generator <strong>of</strong> degree k.


2.8. AN APPLICATION TO GOTZMANN’S REGULARITY THEOREM 43Pro<strong>of</strong>. Let p R/I (z) be the Hilbert polynomial <strong>of</strong> R/I for some saturated ideal I ⊂ R. ByTheorem 2.25, there is a unique lexicographic ideal L p , such that the Hilbert polynomial<strong>of</strong> R/I equals that <strong>of</strong> R/L p , i.e. p R/I (z) = p R/Lp (z). Let d denote the maximal degree <strong>of</strong>the minimal generators <strong>of</strong> L p . Since L p is lexicographic, we know by Remark 1.20 thath R/Lp (d + 1) = h R/Lp (d) 〈d〉 . Hence, leth R/Lp (d) =( ) ( )kd kd−1+ + . . . +d d − 1( )kssdenote the d-th Macaulay representation <strong>of</strong> h R/Lp (d). By Gotzmann’s Persistence Theorem,we know( ) ( ) ( )z + (kd − d) z + (kd−1 − d)z + (ks − d)p R/I (z) = p R/Lp (z) =++ . . . +.(k d − d) (k d−1 − d) + 1(k s − d) + d − sThus, it follows by Gotzmann’s Regularity Theorem that d−s+1 is the upper bound to thedegrees <strong>of</strong> the generators <strong>of</strong> any ideal associated to p R/I (z) = p R/Lp (z). Since d ≤ d − s + 1by this upper bound, we must have d = d − s + 1, i.e. s = 1. Thus, the upper bound forthe degree <strong>of</strong> the generators is d and the ideal L p contains at least one minimal generator<strong>of</strong> degree d, which proves the assertion <strong>of</strong> the theorem.The result <strong>of</strong> Theorem 2.34 is a special case <strong>of</strong> the regularity results presented in [1],Chapter 2.Remark 2.35. By Theorem 2.34, we conclude that to a given Hilbert polynomial p(z),the lexicographic ideal <strong>of</strong> Theorem 2.25 is maximal with respect to the degree <strong>of</strong> its monomialgenerators. In particular, it has a minimal monomial generator <strong>of</strong> maximal degreeallowed by Gotzmann’s Regularity Theorem. This degree bounds the degrees <strong>of</strong> minimalgenerators <strong>of</strong> all homogeneous ideals I ⊂ R with Hilbert polynomial p R/I (z) = p(z).This is the first remarkable property <strong>of</strong> the ideal L p – as we will see later at the end<strong>of</strong> Chapter 3 in Corollary 3.40, the ideal L p has some more interesting properties e.g. concerningits Hilbert function.We consider one example, where we explicitly compute the lexicographic ideal L p to agiven Hilbert polynomial p(z), such that the degree <strong>of</strong> one <strong>of</strong> the minimal generators <strong>of</strong> L preaches Gotzmann’s upper bound.We start with a Hilbert polynomial p R/I (z), where I ⊂ R is even not a stable ideal:Example 2.36. Let R := K[x 0 , x 1 , x 2 , x 3 , x 4 ] and I := (x 2 0, x 2 1), which provides p R/I (z) =2z 2 + 2z + 1. We have to write the Hilbert polynomial in the form <strong>of</strong> Theorem 2.32:


44 CHAPTER 2. STABLE IDEALSBinomial representation: Polynomial representation: Sum <strong>of</strong> former polynomials:( ) z + 2p 1 (z) :=p 1 (z) = 1 22 z2 + 3 1∑2 z + 1 p i (z) = 1 2 z2 + 3 2 z + 1( ) z + 2 − 1p 2 (z) :=2( ) z + 2 − 2p 3 (z) :=2( ) z + 2 − 3p 4 (z) :=2( ) z + 1 − 4p 5 (z) :=1( ) z + 1 − 5p 6 (z) :=1( ) z + 0 − 6p 7 (z) :=0( ) z + 0 − 7p 8 (z) :=0( ) z + 0 − 8p 9 (z) :=0( ) z + 0 − 9p 10 (z) :=0( )z + 0 − 10p 11 (z) :=0( )z + 0 − 11p 12 (z) :=0p 2 (z) = 1 2 z2 + 1 2 zp 3 (z) = 1 2 z2 − 1 2 zp 4 (z) = 1 2 z2 − 3 2 z + 1p 5 (z) = z − 3p 6 (z) = z − 4p 7 (z) = 1p 8 (z) = 1p 9 (z) = 1p 10 (z) = 1p 11 (z) = 1p 12 (z) = 1i=12∑p i (z) = z 2 + 2z + 1i=13∑p i (z) = 3 2 z2 + 3 2 z + 1i=14∑p i (z) = 2z 2 + 2i=15∑p i (z) = 2z 2 + z − 1i=16∑p i (z) = 2z 2 + 2z − 5i=17∑p i (z) = 2z 2 + 2z − 4i=18∑p i (z) = 2z 2 + 2z − 3i=19∑p i (z) = 2z 2 + 2z − 2i=1∑10i=1∑11i=1∑12i=1p i (z) = 2z 2 + 2z − 1p i (z) = 2z 2 + 2zp i (z) = 2z 2 + 2z + 1This provides a 1 = a 2 = a 3 = a 4 = 2, a 5 = a 6 = 1 and a 7 = a 8 = a 9 = a 10 = a 11 = a 12 = 0in the terminology <strong>of</strong> Theorem 2.32. Hence, the upper bound for the degrees is 12. Indeed,the ideal L p := (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3) ⊂ R contains one monomial generator <strong>of</strong> degree 12and we obtain p R/Lp (z) = 2z 2 + 2z + 1.


Chapter 3Operations on stable idealsJust like in the preceding chapters we will only consider stable ideals in R := K[x 0 , . . . , x n ].In this chapter we want to present some useful algorithmic tools, which we will apply to theset <strong>of</strong> minimal generators <strong>of</strong> given saturated stable ideals. With the help <strong>of</strong> these “tools”,we prove one <strong>of</strong> the main results <strong>of</strong> this thesis, i.e. a characterization <strong>of</strong> all saturated stableideals with the same double saturation and the same Hilbert polynomial due to [16]. Wewill see that all these ideals are linked by finite steps <strong>of</strong> so-called contractions and expansions.In particular, given two saturated stable ideals I, J ⊂ R with the same Hilbert polynomialand the same double saturation, we will be able to compute J from I and vice versa bypairs <strong>of</strong> contractions and expansions. The pro<strong>of</strong> <strong>of</strong> this assertion will be constructive, suchthat it provides an algorithm, which computes all saturated stable ideals with the samedouble saturation to a given Hilbert polynomial.The last section <strong>of</strong> the chapter is dedicated to prove a similar result for all saturated stableideals with the same Hilbert polynomial without the assumption that these ideals have thesame double saturation. As a consequence <strong>of</strong> this result, we give a pseudo code version<strong>of</strong> the algorithm to compute all saturated stable with the same Hilbert polynomial. Theimplementation <strong>of</strong> all algorithms presented within this chapter can be found in Chapter 4.3.1 Left-shifts and right-shifts <strong>of</strong> monomialsWithin this section, we introduce the definitions <strong>of</strong> so-called left-shifts and right-shifts <strong>of</strong>monomials. They will help to define contractions and expansions <strong>of</strong> monomials in the nextsection. These contractions and expansions will not only play an important role in provingthe central results in the following sections <strong>of</strong> this chapter, but also in the algorithm tocompute all saturated stable ideals to a given Hilbert polynomial.In the following, we will <strong>of</strong>ten use capital letters as exponents <strong>of</strong> x. In case we write x A , Ashall always denote an (1 × (n + 1)) exponent vector with components a 0 , a 1 , . . . , a n ∈ N 0 .45


46 CHAPTER 3. OPERATIONS ON STABLE IDEALSDefinition 3.1. Let x A := x a 00 · . . . · x arrby{R(x A ) := x a 00 · . . . · x at−1t · x a t+1+1t+1 · . . . · x arrthe right-shift <strong>of</strong> the monomial x A .∈ M, r < n. Then we call the set R(x A ) defined}| t = 0, . . . , rNote that the set R(x A ) always includes the monomial x a 00 · . . . · x ar−1r · x r+1 . Furthermore,if we have a t = 0, we use a l instead <strong>of</strong> a t , where l < t is the maximal index, such that a l > 0.Definition 3.2. Let x A := x a 00 · . . . · x arr ∈ M. Then we call the set L(x A ) defined by{}L(x A ) := x a 00 · . . . · xsas+1 · x a s+1−1s+1 · . . . · x arr | s = 0, . . . , r − 1the left-shift <strong>of</strong> the monomial x A . For consistency, as we will see later, we set L(1) := ∅.Again, we use the convention that if a s+1 = 0, we use a m instead, where m > s + 1, m < n,is the minimal index, such that a m > 0.Remark 3.3. By the Definitions 3.1 and 3.2, we have that for each monomial x AR(x A ) ∩ L(x A ) = ∅and none <strong>of</strong> the sets R(x A ) and L(x A ) contains the monomial x A itself. Furthermore, notethat the degree <strong>of</strong> all monomials in the sets R(x A ) and L(x A ) equals the degree <strong>of</strong> themonomial x A . The left-shift <strong>of</strong> any monomial <strong>of</strong> the form x k 0, k ∈ N 0 , is L(x k 0) = ∅. Thisfact will be important, when we consider contractions and expansions in the next section.To get used to the sets R(x A ) and L(x A ) and to see, why they are called right-shift respectivelyleft-shift, we have a look at an example.Example 3.4. Consider the monomial x 2 0x 2 ∈ K[x 0 , x 1 , x 2 , x 3 ]. In the terminology <strong>of</strong> thedefinition <strong>of</strong> the set R(x 2 0x 2 ), we obtain for t = 0 the monomial x 0 x 1 x 2 , for t = 1 themonomial x 0 x 2 2 and finally for t = 2 the monomial x 2 0x 3 . Thus, we getR(x 2 0x 2 ) = { x 0 x 1 x 2 , x 0 x 2 2, x 2 0x 3}.Now we determine the elements <strong>of</strong> the left-shift L(x 2 0x 2 ). For s = 0, we get the monomialx 3 0 and s = 1 provides x 2 0x 1 . Hence, the left-shift <strong>of</strong> x 2 0x 2 isL(x 2 0x 2 ) = { x 3 0, x 2 0x 1}.In the lexicographic order >, we get for all monomials in R(x 2 0x 2 ):x 2 0x 2 > x 0 x 1 x 2 , x 2 0x 2 > x 0 x 2 2, x 2 0x 2 > x 2 0x 3 ,


3.2. EXPANSIONS AND CONTRACTIONS OF MONOMIALS 47i.e. the monomials <strong>of</strong> R(x 2 0x 2 ) have to be placed to the right <strong>of</strong> the monomial x 2 0x 2 in thelexicographic order. Similarly, as one might expect, we get for the elements <strong>of</strong> L(x 2 0x 2 ):x 3 0 > x 2 0x 1 , x 2 0x 1 > x 2 0x 2 ,i.e. the monomials <strong>of</strong> L(x 2 0x 2 ) have to be placed to the left <strong>of</strong> the monomial x 2 0x 2 . Thisexplains the names <strong>of</strong> the sets.In general, for monomials x A ∈ R and m 1 ∈ R(x A ), m 2 ∈ L(x A ) we have: m 2 > x A > m 1 .Before we come back to the preceding definitions <strong>of</strong> left-shifts and right-shifts, we have topresent some more technical definitions, which will serve as algorithmic tools later. Nextwe come to define expansions and contractions <strong>of</strong> monomials.3.2 Expansions and contractions <strong>of</strong> monomialsIn this section, we will only consider stable and saturated ideals. Thus, if not statedexplicitly, I ⊂ R = K[x 0 , . . . , x n ] always denotes a stable, saturated ideal and I g itsminimal generating set (<strong>of</strong> monomials).We will now study some techniques, first <strong>of</strong> all the expansion <strong>of</strong> a monomial, which dohave an effect on the set <strong>of</strong> generators <strong>of</strong> a saturated stable ideal.Definition 3.5. Let I ⊂ R be a saturated stable ideal, and let x A = x a 00 · . . . · x arr ∈ I g ,a r > 0, be one <strong>of</strong> its minimal generators, such that none <strong>of</strong> the elements <strong>of</strong> R(x A ) iscontained in I g (i.e. we have I g ∩ R(x A ) = ∅). Then we call x A expandable in I (or simplyexpandable, if the ideal is clear, we are considering) and the expansion <strong>of</strong> x A in I is definedto be the ideal I exp , generated by the setI expg := I g \ { x A} ∪ { x A · x r , x A · x r+1 , . . . , x A · x n−1}.Remark 3.6. Let again I ⊂ R be a stable saturated ideal, and let x A = x a 00 · . . . · x arrbe expandable in I.(i) Since I is stable, we get for every monomial x A = x a 00 · . . . · x arr ∈ I g :x a 00 · . . . · x a j−1j−1 · xa j+1j · x a j+1j+1 · . . . · xa k−1k−1 · xa k−1k· x a k+1k+1 · . . . · xar rfor all 0 ≤ j < k ≤ r by Theorem 2.7. Thus, the setL(x A ) = {x a 00 · . . . · x as+1s · x a s+1−1s+1 · . . . · x arr | s = 0, . . . , r − 1}must be contained in I and therefore also in the ideal I exp , since the only element,which is removed from the set I g , is the monomial x A itself and x A is not containedin L(x A ). Thus, to prove the stability <strong>of</strong> the ideal I exp , it suffices to show that the∈ I g∈ I g


48 CHAPTER 3. OPERATIONS ON STABLE IDEALSnew monomials x A · x r , x A · x r+1 , . . . , ·x A · x n−1 fulfill the condition <strong>of</strong> Theorem 2.7.Consider x A · x k , r ≤ k ≤ n − 1. We know that x A · x l ∈ I exp for r ≤ l < k bythe definition <strong>of</strong> the expansion <strong>of</strong> a monomial. Hence, let 0 ≤ l < r. We have toshow that x A · x l is contained in I exp . Since x A · x l = x a 00 · . . . · x a l+1lm := x a 00 · . . . · x a l+1l· x a l+1−1l+1· . . . · x arr ∈ I exp , we also havex l+1 · m = x a 00 · . . . · x a l+1l· . . . · x arr ∈ I exp .· . . . · x arrBut the last monomial equals x A · x l , which shows that I exp indeed is a stable ideal.(ii) The ideal I is saturated. By Theorem 2.13, the variable x n does not appear in anymonomial generator <strong>of</strong> the set I g . Hence, by the definition <strong>of</strong> the set Igexp above,the ideal I exp must also be saturated, since none <strong>of</strong> the monomials included into thegenerating set I g contains the variable x n .(iii) An expansion <strong>of</strong> a monomial x A <strong>of</strong> degree d > 0 always provides a number <strong>of</strong> newminimal monomial generators <strong>of</strong> degree d + 1.As a conclusion <strong>of</strong> the preceding remark, we will sum up the two main results in thefollowing lemma.Lemma 3.7. (Properties <strong>of</strong> the ideal I exp ) Let I ⊂ R a saturated stable ideal and x A ∈ I g aminimal generator <strong>of</strong> I, such that none <strong>of</strong> the elements <strong>of</strong> R(x A ) is contained in I. Then,the ideal I exp (expansion <strong>of</strong> the monomial x A ) is saturated and stable.Pro<strong>of</strong>. The assertion has been proved within Remark 3.6.Example 3.8. Let I := (x 3 0, x 2 0x 1 , x 2 0x 2 ) ⊂ K[x 0 , x 1 , x 2 , x 3 ]. Then I is stable by Theorem2.7 and saturated by Theorem 2.13. As in the preceding definitions we write I g :={x 3 0, x 2 0x 1 , x 2 0x 2 } to denote the set <strong>of</strong> minimal generators <strong>of</strong> I. The monomial x 2 0x 2 is expandablein I g , since the set R(x 2 0x 2 ) consists <strong>of</strong> the monomials x 0 x 1 x 2 , x 0 x 2 2 and x 2 0x 3 byExample 3.4, hence, none <strong>of</strong> the monomials <strong>of</strong> R(x 2 0x 2 ) is contained in I g . The expansion<strong>of</strong> x 2 0x 2 in I provides the setI expg = I g \{x 2 0x 2 } ∪ {x 2 0x 2 2} = {x 3 0, x 2 0x 1 , x 2 0x 2 2}.As one can easily see, the ideal I exp = (x 3 0, x 2 0x 1 , x 2 0x 2 2) is indeed stable and saturated.This example shows that an expansion <strong>of</strong> a monomial m in the minimal generating set I g<strong>of</strong> a saturated stable ideal I ⊂ R does not necessarily enlarge the set <strong>of</strong> monomial generators(as the name may suggest). In the special case r = n − 1, the number <strong>of</strong> monomialgenerators <strong>of</strong> the ideal I exp may indeed be the same as the number <strong>of</strong> monomial generators<strong>of</strong> the ideal I.Similarly to the process <strong>of</strong> expansions, we define the contraction <strong>of</strong> a monomial in theminimal generating set I g . As one may expect, the set L(x B ) for a monomial x B will playa role within this construction.and


3.2. EXPANSIONS AND CONTRACTIONS OF MONOMIALS 49Definition 3.9. Let I ⊂ R be a saturated stable ideal, and let x B = x b 00 · . . . · x bss ∈ M,b s > 0, s ≤ n − 1 be a monomial with x B /∈ I and x B · x s ∈ I g . Furthermore, let L(x B ) becontained in the ideal I. Then we call x B contractible in I (or simply contractible, if theideal is clear, we are considering) and the contraction <strong>of</strong> x B in I is defined to be the idealI con , generated by the setI cong := I g ∪ { x B} \ { x B · x s , x B · x s+1 , . . . , x B · x n−1}.For consistency (which we will see later), we need a special definition <strong>of</strong> the contraction <strong>of</strong>x B = 1. We define Igcon to be the setI cong := I g ∪ {1}\ {x s } ,where x s is the variable, such that s is the maximal index with x B · x s = x s ∈ I g .Remark 3.10. The definition <strong>of</strong> a contraction <strong>of</strong> a monomial above differs from the originaldefinition <strong>of</strong> a contraction in the thesis by Alyson Reeves (see [16]). There are good reasonsfor changing the original definitions. These reasons will become apparent to the reader,who is familiar with the results <strong>of</strong> [16], later on in Example 3.20.Note that by the definition <strong>of</strong> the contraction <strong>of</strong> a monomial x B in a stable ideal I, themonomial x B itself is not contained in I but in the ideal I con . Although this might sounda bit strange, this notation also appears in [16] and has been adapted to prevent a toostrong deviation from the work <strong>of</strong> Alyson Reeves.Remark 3.11. Let again I ⊂ R be a stable saturated ideal and let x B = x b 00 · . . . · x bssbe contractible in I.(i) We assert that I con again is a stable ideal. Since I is stable and x B is the onlymonomial included into the set Igcon , it suffices to show that x B fulfills the condition<strong>of</strong> Theorem 2.7. We know that L(x B ) is a subset <strong>of</strong> I. Since we have{ }xB · x s , x B · x s+1 · . . . · x B · x n−1 ∩ L(x B ) = ∅,the set L(x B ) is still contained in the set <strong>of</strong> minimal generators <strong>of</strong> I con . Hence, allmonomials <strong>of</strong> the formx b 00 · . . . · x bs+1s · x b s+1−1s+1 · . . . · x brrfor 0 ≤ s ≤ r − 1 must be contained in I con and therefore fulfill the condition <strong>of</strong>Theorem 2.7. We have to show that each <strong>of</strong> the monomialsx b 00 · . . . · x b j−1j−1 · xb j+1j · x b j+1j+1 · . . . · xb k−1k−1 · xb k−1k· x b k+1k+1 · . . . · xbs sis contained in I con for all 0 ≤ j < k ≤ s. We know that the monomialx b 00 · . . . · x b j−1j−1 · xb jj · x b j+1j+1 · . . . · xb k−1+1k−1· x b k−1k· x b k+1k+1 · . . . · xbs sis contained in I con . Thus, we can divide the monomial by the variable x k−1 andmultiply it by x j , which proves the assertion./∈ I


50 CHAPTER 3. OPERATIONS ON STABLE IDEALS(ii) Since I is saturated and the monomial x B does not contain the variable x n , the idealI con must also be saturated by Theorem 2.13 and the definition <strong>of</strong> the contraction.(iii) A contraction <strong>of</strong> the monomial x B <strong>of</strong> degree d > 0 will always include one moreminimal generator <strong>of</strong> degree d into the set <strong>of</strong> generators (i.e. the monomial x B itself)and remove a set <strong>of</strong> monomials <strong>of</strong> degree d + 1 from the set <strong>of</strong> generators.We sum up the two main results <strong>of</strong> the preceding remark in a lemma.Lemma 3.12. (Properties <strong>of</strong> the ideal I con ) Let I ⊂ R be a saturated stable ideal and letx B = x b 00 · . . . · x bss ∈ M, b s > 0, s ≤ n − 1 be a monomial with x B /∈ I, x B · x s ∈ I gand L(x B ) be contained in I. Then, the ideal I con (contraction <strong>of</strong> the monomial x B ) issaturated and stable.Pro<strong>of</strong>. The assertion has been proved within Remark 3.11.Example 3.13. We consider the ideal I := (x 3 0, x 2 0x 1 , x 2 0x 2 2) ⊂ K[x 0 , x 1 , x 2 , x 3 ], which issaturated and stable. The monomial x 2 0x 2 is contractible in I, since it is not contained inI and the set L(x 2 0x 2 ) consists <strong>of</strong> the two monomials x 3 0 and x 2 0x 1 by Example 3.4. Thus,we obtain L(x 2 0x 2 ) ⊂ I, which shows that the conditions in Definition 3.9 are fulfilled. Thecontraction <strong>of</strong> x 2 0x 2 provides the setI cong = I g ∪ {x 2 0x 2 }\{x 2 0x 2 2} = {x 3 0, x 2 0x 1 , x 2 0x 2 }.As one can easily see, the ideal I con = (x 3 0, x 2 0x 1 , x 2 0x 2 ) is again stable and saturated.Example 3.14. As another example, consider J := (x 2 0, x 0 x 1 , x 0 x 2 ) in K[x 0 , x 1 , x 2 , x 3 ].The double saturation <strong>of</strong> J is the ideal sat x2 ,x 3(J) = (x 0 ). In the following, we will alsouse contractions, to compute the double saturation <strong>of</strong> saturated stable ideals. Hence, notethat we obtain the ideal sat x2 ,x 3(J) by contracting the monomial x 0 in J. This is possible,since x 0 x 2 is contained in J, x 0 itself is not a minimal generator <strong>of</strong> J and L(x 0 ) = ∅ isobviously a subset <strong>of</strong> the ideal. Contraction <strong>of</strong> x 0 provideswhich is the set, generating sat x2 ,x 3(J).J cong = J g ∪ {x 0 }\{x 2 0, x 0 x 1 , x 0 x 2 } = {x 0 },The process <strong>of</strong> the contraction <strong>of</strong> a monomial will not always reduce the number <strong>of</strong> monomialgenerators <strong>of</strong> the ideal considered. As one can see in the example stated above, thenumber <strong>of</strong> monomial generators <strong>of</strong> the new ideal after the contraction, might be the sameas the number <strong>of</strong> generators <strong>of</strong> the ideal one started with.Now we examine the effect <strong>of</strong> an expansion followed by a contraction <strong>of</strong> the same monomialon the set <strong>of</strong> generators <strong>of</strong> a given saturated and stable ideal I ⊂ R. In detail, we willanswer the questions: Given a saturated stable ideal I ⊂ R and a monomial x A ∈ M, x A


3.2. EXPANSIONS AND CONTRACTIONS OF MONOMIALS 51expandable in I g . Will x A be contractible in Igexpmonomial generators we started with?and, if yes, do we obtain the same set <strong>of</strong>Indeed, the lemma stated below, gives a positive answer to this question.Lemma 3.15. Let I ⊂ R be a saturated stable ideal and I g its set <strong>of</strong> minimal generators.Let x A = x a 00 · . . . · x arr ∈ I g , a r > 0, be expandable in I g . Then the monomial x A iscontractible in Ig exp and (I exp ) con = I.Pro<strong>of</strong>. Let x A be expandable in I g . Since I is stable, we get L(x A ) ⊂ I by Remark 3.6.Expansion via x A provides the set <strong>of</strong> monomial generatorsI expg = I g \ { x A} ∪ { x A · x r , x A · x r+1 , . . . , x A · x n−1}.Since none <strong>of</strong> the monomials <strong>of</strong> L(x A ) has been removed by the expansion, we get L(x A ) ⊂I exp . Furthermore, x A is not contained in I exp , since otherwise this contradicts the fact thatx A is a minimal generator <strong>of</strong> the ideal I, we started with. Thus, by Definition 3.9, themonomial x A is indeed contractible in Igexp . Contraction <strong>of</strong> x A in Igexp provides the setwhich shows I g = (I expg ) con .(Igexp ) con = Ig exp ∪ {x A }\{x A · x r , x A · x r+1 , . . . , x A · x A · x n−1 },Note that a contraction <strong>of</strong> a monomial followed by an expansion <strong>of</strong> the same monomial ispossible, but it will not always yield the same ideal, as one can see in the example below.Example 3.16. Let I := (x 2 0, x 0 x 1 , x 0 x 3 2) ⊂ K[x 0 , x 1 , x 2 , x 3 ]. Then x 0 is not contained inI, x 2 0 is contained in I and the left-shift <strong>of</strong> x 0 is the empty set, which is a subset <strong>of</strong> I.Hence, x 0 is contractible in I and the contraction provides the ideal generated by the setI cong = {x 2 0, x 0 x 1 , x 0 x 3 2} ∪ {x 0 }\{x 2 0, x 0 x 1 , x 0 x 2 } = {x 0 },i.e. I con = (x 0 , x 0 x 3 2) = (x 0 ). Since R(x 0 ) = {x 1 } is not contained in the set <strong>of</strong> minimalgenerators <strong>of</strong> I con , we expand the monomial x 0 in I con . This provides the set <strong>of</strong> monomialgenerators {x 2 0, x 0 x 1 , x 0 x 2 }, but the ideal generated by these monomials is not equal to theideal I, i.e. (I con ) exp ≠ I.In contrast to this, if we first expand the monomial x 0 x 1 in I, we obtain the ideal I exp =(x 2 0, x 0 x 2 1, x 0 x 1 x 2 , x 0 x 3 2). Contraction <strong>of</strong> the same monomial x 0 x 1 is possible and provides(I exp ) con = (x 2 0, x 0 x 1 , x 0 x 3 2) = I.The fact that the contraction <strong>of</strong> a monomial m in some saturated stable ideal I andafterwards the expansion <strong>of</strong> the same monomial does not yield the same ideal I again, isnot a problem at all. We will see later that in general we do not need that any contraction<strong>of</strong> a monomial followed by the expansion <strong>of</strong> the same monomial provides the same idealagain. It suffices that some special contractions fulfill this condition.


52 CHAPTER 3. OPERATIONS ON STABLE IDEALS3.3 Stable ideals with the same double saturationThis section is dedicated to the pro<strong>of</strong> that all saturated stable ideals with the same doublesaturation and the same Hilbert polynomial are linked by finite sequences <strong>of</strong> paired expansionsand contractions. As in the preceding section, where we presented a modified version<strong>of</strong> the definition <strong>of</strong> a contraction, some <strong>of</strong> the results presented here had to be modified andhad to be proved in a different way from that, discussed in [16]. Wherever modificationshad to be made, these have been documented within the framework <strong>of</strong> remarks.Recall from 2.14 that the double saturation sat xn−1 ,x n(I) <strong>of</strong> a stable ideal I ⊂ R canbe computed as follows: First compute the saturation sat xn (I) <strong>of</strong> I in R by Theorem2.13. The ideal obtained is still stable and can be viewed as an ideal in K[x 0 , . . . , x n−1 ].Hence, by 2.14, we obtain the ideal sat xn−1 ,x n(I) by computing the saturation <strong>of</strong> sat xn (I)in K[x 0 , . . . , x n−1 ].Lemma 3.17. Let I ⊂ R be a saturated stable ideal, I g the set <strong>of</strong> its minimal monomialgenerators and sat xn−1 ,x n(I) its double saturation. There is a finite sequence <strong>of</strong> contractionstaking I to sat xn−1 ,x n(I).Pro<strong>of</strong>. Let the monomials <strong>of</strong> I g be listed in descending lexicographic order. Furthermore,let x A · x a n−1n−1 = x a 00 · . . . · x arr · x a n−1n−1 with 0 ≤ r < n − 1 be the first monomial <strong>of</strong> I g(with respect to the lexicographic order) containing the variable x n−1 . Note that we mayassume that x n does not appear in the monomial, since I is saturated. We claim thatx A is contractible in I g . Since x A · x a n−1n−1 is an element <strong>of</strong> I g , the monomial x A cannot becontained in I. The only other condition for a contraction is L(x A ) ⊂ I. Since I is stableand x A · x a n−1n−1 ∈ I, we know in particular that all monomials <strong>of</strong> the formx a 00 · . . . · x a i−1i−1 · xa i+1i · x a i+1i+1 · . . . · xa j−1j−1 · xa j−1j · x a j+1j+1 · . . . · xar r · x a n−1n−1are contained in I for 0 ≤ i < j ≤ n − 1. In the lexicographic order, we havex a 00 · . . . · x a i−1i−1 · xa i+1i · x a i+1i+1 · . . . · xa j−1j−1 · xa j−1j · x a j+1j+1 · . . . · xar r · x a n−1n−1 > x A · x a n−1n−1for all such monomials. Since we have chosen x A · x a n−1n−1where x n−1 appears, it followsto be the first monomial generator,x a 00 · . . . · x a i−1i−1 · xa i+1i · x a i+1i+1 · . . . · xa j−1j−1 · xa j−1j · x a j+1j+1 · . . . · xar rfor all 0 ≤ i < j ≤ r. In particular, we obtain L(x A ) ⊂ I, since the left-shift L(x A ) iscontained in the ideal generated by such monomials. This proves that x A is contractiblein I g .Note that the contraction <strong>of</strong> the monomial x A replaces x A · x a n−1n−1 by x A in the ideal considered.Hence, in the next step, we search for the next monomial generator (with respectto the lexicographic order) containing x n−1 and iterate the above procedure. Since thereis only a finite number <strong>of</strong> monomials in I g containing the variable x n−1 , we can repeat∈ I


3.3. STABLE IDEALS WITH THE SAME DOUBLE SATURATION 53such contractions, until there is no monomial left in I g containing x n−1 . Additionally, itfollows from the definition <strong>of</strong> a contraction (see 3.9) that the ideal obtained has the samedouble saturation as the ideal I we started with. Hence, we obtain a finite sequence <strong>of</strong>contractions taking I to sat xn−1 ,x n(I).In the preceding part <strong>of</strong> the pro<strong>of</strong>, we omitted one special case, i.e. the case that x A·x a n−1n−1 =x a n−1n−1 , a n−1 > 1. In this situation, we proceed as described above until the variable x n−1appears in the set <strong>of</strong> monomial generators <strong>of</strong> an ideal. In the following step, we contract1. By the definition <strong>of</strong> the contraction (see 3.9), the contraction <strong>of</strong> 1 removes the variablex n−1 from the set <strong>of</strong> monomial generators and inserts 1. Hence, the ideal obtained is thewhole ring R, which obviously is the correct result, since the double saturation <strong>of</strong> a stableideal containing the monomial x a n−1n−1 equals R (we will state a simple example below, wherethis case appears).Remark 3.18. Note that the pro<strong>of</strong> <strong>of</strong> Lemma 3.17 is constructive. The first importantobservation is that the monomials, which have to be contracted to take the ideal I to itsdouble saturation sat xn−1 ,x n(I) (i.e. the sequences <strong>of</strong> contractions) are uniquely determined,if we follow the algorithmic scheme <strong>of</strong> the pro<strong>of</strong>. The second important aspect is that each<strong>of</strong> the contractions can be performed successively, such that it subtracts exactly one fromthe exponent <strong>of</strong> x n−1 in some monomial <strong>of</strong> I g . The last fact will be used in the pro<strong>of</strong><strong>of</strong> the theorem that all saturated stable ideals with the same double saturation and thesame Hilbert polynomial are linked by finite sequences <strong>of</strong> expansions and contractions. Wewill compute the double saturation <strong>of</strong> a saturated stable ideal by this new method in twoconcrete examples. First, we treat the case, where we deal with an ideal, whose doublesaturation equals the whole ring R.Example 3.19. Let I := (x 0 , x 2 1) ⊂ K[x 0 , x 1 , x 2 ]. I is saturated and stable. The doublesaturation <strong>of</strong> I is sat x1 ,x 2(I) = (x 0 , 1) = K[x 0 , x 1 , x 2 ]. With respect to the preceding pro<strong>of</strong>,we have to proceed as follows:• The first monomial to be contracted is x 1 . The left-shift <strong>of</strong> x 1 is the set L(x 1 ) = {x 0 },which is contained in the ideal I. Since x 1 /∈ I, we may contract x 1 . This providesthe set <strong>of</strong> generatorsI g (1) := I g ∪ {x 1 }\{x 2 1} = {x 0 , x 1 }.Let I (1) be the ideal generated minimally by I g(1) . Note, that we have indeed decreasedthe exponent <strong>of</strong> x 1 by 1 as stated in the pro<strong>of</strong> <strong>of</strong> the lemma. The ideal I is stillsaturated and stable and it has the same double saturation as the ideal I, we startedwith.• The next monomial to be contracted is 1, since in the terminology <strong>of</strong> the pro<strong>of</strong> above,we have x A · x n−1 = 1 · x 1 . By Definition 3.2 we have L(1) = ∅, which is a subset<strong>of</strong> I. Here, the special case <strong>of</strong> Definition 3.2 becomes apparent (in order to contract1, we have to guarantee that the left-shift <strong>of</strong> 1 is always a subset <strong>of</strong> the given ideal).Contraction providesI g (2) := I g (1) ∪ {1}\{x 1 } = {x 0 , 1},


54 CHAPTER 3. OPERATIONS ON STABLE IDEALSand we obtain I (2) = (x 0 , 1) = K[x 0 , x 1 , x 2 ] = sat x1 ,x 2(I).Example 3.20. Consider the ideal I := (x 0 , x 2 1, x 1 x 3 2) ⊂ K[x 0 , x 1 , x 2 , x 3 ]. Since the generatorsin I g := {x 0 , x 2 1, x 1 x 3 2} fulfill Theorem 2.7 and do not contain x 3 , I is a saturatedstable ideal. The double saturation sat xn−1 ,x n(I) is the ideal generated by the set <strong>of</strong> monomials{x 0 , x 1 }, since we have to set x 2 := 1. This provides the monomials x 0 , x 2 1, x 1 , wherewe may forget about x 2 1, since it is divisible by x 1 . Now we proceed with respect to thepro<strong>of</strong> <strong>of</strong> the lemma:• We have to choose the first monomial <strong>of</strong> I g containing the variable x n−1 = x 2 , i.e. x 1 x 3 2.In the terminology <strong>of</strong> the pro<strong>of</strong>, we get x A = x 1 x 2 2. Since x 1 x 2 2 is not contained in I gand L(x 1 x 2 2) = {x 0 x 2 2, x 2 1x 2 } ⊂ I, we can contract x 1 x 2 2 (Note that L(x 1 x 2 2) is not asubset <strong>of</strong> the set <strong>of</strong> minimal generators <strong>of</strong> I – if we had the condition L(x 1 x 2 2) ⊂ I g ,the monomial x 1 x 2 2 would not be contractible at all. Because <strong>of</strong> this, the definition<strong>of</strong> a contraction and the contractibility <strong>of</strong> a monomial differs from the definition <strong>of</strong>the contraction in [16]). We will denote the ideal, which we obtain after performingthe contraction, by I (1) . It is generated minimally byI (1)g = I g ∪ {x 1 x 2 2}\{x 1 x 3 2} = {x 0 , x 2 1, x 1 x 2 2}.• Next, we have to choose x 1 x 2 2. Again, the monomial x 1 x 2 is not contained in I g(1) andL(x 1 x 2 ) = {x 0 x 2 , x 2 1} ⊂ I (1) . Hence, x 1 x 2 is contractible in I g(1) and it provides theideal I (2) generated byI (2)g = I (1)g ∪ {x 1 x 2 }\{x 1 x 2 2} = {x 0 , x 2 1, x 1 x 2 }.• In the last step, we have to choose x 1 x 2 ∈ I g(2) with L(x 1 ) = {x 0 } ⊂ I (2) . Hence, theideal I (3) , which we obtain after performing the contraction <strong>of</strong> x 1 in I g(2) is generatedbyI g (3) = I g (2) ∪ {x 1 }\{x 2 1, x 1 x 2 } = {x 0 , x 1 },which shows I (3) = sat x2 ,x 3(I).In Example 3.16, we saw that a contraction followed by an expansion <strong>of</strong> the same monomialin some stable ideal I ⊂ R will not always give the same ideal I again. If we restrictourselves to the type <strong>of</strong> contractions, which have been used above to compute the doublesaturations, the lemma below shows that the contraction <strong>of</strong> such a monomial followed bythe expansion <strong>of</strong> the same monomial will always provide the same ideal.Lemma 3.21. Let I ⊂ R be a saturated stable ideal with I sat xn−1 ,x n(I) and m ∈ I thefirst minimal monomial generator <strong>of</strong> I with the last variable x n−1 . Then the contractionmfollowed by the expansion <strong>of</strong> provides (I con ) exp = I.x n−1


3.3. STABLE IDEALS WITH THE SAME DOUBLE SATURATION 55Pro<strong>of</strong>. Let m := x a 00 · . . . · x a n−1n−1 , a n−1 ≥ 1. By the pro<strong>of</strong> <strong>of</strong> Lemma 3.17, we know thatmis contractible in I. Hence, by the definition <strong>of</strong> contractions (see Definition 3.9), thex n−1mcontraction <strong>of</strong> = x a 00 ·. . .·x a n−1−1n−1 removes only the monomial x a 00 ·. . .·x a n−1−1n−1 ·x n−1 = mx n−1from the set <strong>of</strong> minimal generators <strong>of</strong> I and includes the monomial x a 00 ·. . .·x a n−1−1n−1 into theset <strong>of</strong> minimal generators. Since m is a minimal generator <strong>of</strong> I, the monomial x a 00 ·. . .·x a n−1−1n−1must also be a minimal generator <strong>of</strong> the ideal I con (otherwise we have a contradiction). Wehave to show that we can expand x a 00 · . . . · x a n−1−1n−1 in I con . Since x a 00 · . . . · x a n−1−1n−1 is aminimal generator <strong>of</strong> I con , the only other condition for an expansion is that none <strong>of</strong> theelements <strong>of</strong> R(x a 00 · . . . · x a n−1−1n−1 ) is contained in the set <strong>of</strong> minimal generators <strong>of</strong> I con .Assume that x a 00 · . . . · x at−1t · x a t+1+1t+1 · . . . · x a n−1−1n−1 ∈ R(x a 00 · . . . · x a n−1−1n−1 ) is contained in theset <strong>of</strong> minimal generators <strong>of</strong> I con . Then the monomial x a 00 · . . . · x at−1t · x a t+1+1t+1 · . . . · x a n−1−1n−1must have already been contained in the ideal I. Since I is stable, it followsx a 00 · . . . · x at−1t· x a t+1+1t+1 · . . . · x a n−1−1n−1· x t = x a 00 · . . . · x a n−1−1n−1 = m ∈ I,x t+1 x n−1mwhich contradicts the fact that is contractible in I and, hence, cannot be containedx n−1in I. It is clear by the definition <strong>of</strong> an expansion (see Definition 3.5) that the expansion <strong>of</strong>min I con indeed provides (I con ) exp = I.x n−1By the preceding lemma, now we can also view the sequence x 1 x 2 2, x 1 x 2 , x 1 <strong>of</strong> contractionstaking I to sat x2 ,x 3(I) <strong>of</strong> Example 3.20 in reversed order x 1 , x 1 x 2 , x 1 x 2 2 as a sequence <strong>of</strong>expansions taking sat x2 ,x 3(I) to I. Thus, the preceding lemma always provides a finitesequence <strong>of</strong> expansions, taking the double saturation <strong>of</strong> some saturated stable ideal to theideal itself.Corollary 3.22. Given two saturated stable ideals I, J ⊂ R with the same double saturation,there is a finite sequence <strong>of</strong> contractions and expansions taking I to J.Pro<strong>of</strong>. By Lemma 3.17, there is a finite sequence <strong>of</strong> contractions x A 1, . . . , x A k ∈ M takingI to sat xn−1 ,x n(I). Again by Lemma 3.17, there is a finite sequence <strong>of</strong> contractionsx B 1, . . . , x B l ∈ M taking J to satxn−1 ,x n(J). Since we can view x B l , . . . , xB 1as a sequence<strong>of</strong> expansions taking sat xn−1 ,x n(J) to J and sat xn−1 ,x n(J) = sat xn−1 ,x n(I), the sequence <strong>of</strong>contractions x A 1, . . . , x A k and the sequence <strong>of</strong> expansions xB l, . . . , xB 1takes I to J.The question, which will be <strong>of</strong> interest to us in the following, is: What effect do expansionsand contractions have on the Hilbert polynomial <strong>of</strong> R/I for I ⊂ R a saturated stable ideal?This question is important, since we will later use contractions and expansions to computeall saturated stable ideals to a given Hilbert polynomial. The proposition below characterizesthose expansions and contractions, which do not change the Hilbert polynomial. Asa corollary, we will see that an expansion or a contraction <strong>of</strong> a monomial can only changethe Hilbert polynomial by adding or subtracting 1.


56 CHAPTER 3. OPERATIONS ON STABLE IDEALSProposition 3.23. Let p R/I (z) be the Hilbert polynomial <strong>of</strong> R/I for some saturated stableideal I sat xn−1 ,x n(I). Let m and ˜m be minimal monomial generators <strong>of</strong> I, such that m is˜mexpandable in I, ˜m contains the variable x n−1 and is contractible in I exp (expansionvia the monomial m). Then the ideal J = (I exp ) con , which can be obtained from I after the˜mexpansion <strong>of</strong> m in I and the contraction <strong>of</strong> in I exp has the same Hilbert polynomialas I, i.e. p R/J (z) = p R/I (z).x n−1Pro<strong>of</strong>. Note that since I is saturated, the monomial m cannot contain the variable x n . Theexpansion <strong>of</strong> m in I provides the ideal I exp , where the minimal monomial generator m <strong>of</strong> Iis removed from the set <strong>of</strong> generators <strong>of</strong> I and the monomials m · x r , m · x r+1 , . . . , m · x n−1are included into the set <strong>of</strong> generators. Hence, the ideal I exp contains exactly one monomial<strong>of</strong> degree deg m + 1 less than the ideal I, namely the monomial m · x n , which is containedin I, but not in I exp . Since all other monomial generators <strong>of</strong> I are still contained in I exp ,similar observations for m · x i n, i > 0, showfor all j ≥ deg m + 1.x n−1h I exp(j) = h I (j) − 1Contraction <strong>of</strong> the monomial˜mx n−1in I exp provides the idealJ = (I exp ) con , where the monomial generator ˜m <strong>of</strong> I exp ˜m(and <strong>of</strong> I) is replaced by .x n−1Consequently, the ideal J contains exactly one more monomial <strong>of</strong> degree deg ˜m than I exp ,i.e. the monomiali > 0, we obtain˜mx n−1· x n , which is contained in J, but not in I exp . Consideringh J (j) = h I exp(j) + 1˜mx n−1· x i n,for all j ≥ deg ˜m. It follows h I (j) = h J (j) for all j ≥ max{deg m + 1, deg ˜m} andp I (z) = p J (z), which shows p R/I (z) = p R/J (z).Corollary 3.24. With the notation in Proposition 3.23, let m be a monomial generatorm<strong>of</strong> I containing the variable x n−1 , such that is contractible in I. Let ˜m be expandablex n−1in I con m, contraction via the monomial . Then the ideal J := (I con ) exp , expansion viax n−1the monomial ˜m, has the same Hilbert polynomial as I.Pro<strong>of</strong>. The assertion follows from the pro<strong>of</strong> <strong>of</strong> Proposition 3.23, since we can again usemthe arguments on the growth <strong>of</strong> the Hilbert function: Contraction <strong>of</strong> gives h I con(j) =x n−1h I (j)+1. Expansion <strong>of</strong> ˜m in I con provides the ideal J with h J (j) = h I con(j)−1. Thus, as inthe pro<strong>of</strong> <strong>of</strong> the proposition, it follows h I (j) = h j (j) for all j ≥ max{deg m−1, deg ˜m}.An example will demonstrate the preceding results, before we come to another corollary<strong>of</strong> Proposition 3.23.


3.3. STABLE IDEALS WITH THE SAME DOUBLE SATURATION 57Example 3.25. Consider the stable and saturated ideal I := (x 2 0, x 0 x 1 , x 0 x 3 2) in R :=K[x 0 , x 1 , x 2 , x 3 ]. By Algorithm 2.29, we compute the Hilbert polynomial <strong>of</strong> R/I, whichyieldsp R/I (z) = 1 2 z2 + 3 2 z + 4.Contraction <strong>of</strong> the monomial x 0 x 2 2 in I is possible: We obtain the idealI (1) := I con = (x 2 0, x 0 x 1 , x 0 x 2 2),in which we perform an expansion via the monomial x 0 x 1 yielding the idealComputing p R/J (z) by Algorithm 2.29 showsJ := (I (1) ) exp = (x 2 0, x 0 x 2 1, x 0 x 1 x 2 , x 0 x 2 2).p R/J (z) = 1 2 z2 + 3 2 z + 4,i.e. the Hilbert polynomial <strong>of</strong> J indeed equals the Hilbert polynomial <strong>of</strong> I. Below we willconsider an example, where we use the corollary stated above.Corollary 3.26. Let I ⊂ R be a saturated stable ideal. Let I exp be the ideal obtained from Iby performing the expansion <strong>of</strong> some monomial and let I con be the ideal obtained from I byperforming the contraction <strong>of</strong> some monomial m in I, where m·x n−1 is a minimal generator<strong>of</strong> I. Then the Hilbert polynomials <strong>of</strong> R/I exp and R/I con are given by p R/I exp(z) = p R/I (z)+1and p R/I con(z) = p R/I (z) − 1.Pro<strong>of</strong>. The assertion immediately follows from the pro<strong>of</strong> <strong>of</strong> Proposition 3.23.Example 3.27. Consider the ideals I and J <strong>of</strong> Example 3.25 in R := K[x 0 , x 1 , x 2 , x 3 ]. Weobtained the ideal I (1) from I by the contraction <strong>of</strong> x 0 x 2 2. The Hilbert polynomial <strong>of</strong> I (1)can be computed by Algorithm 2.29, which yieldsp R/I (1)(z) = 1 2 z2 + 3 2 z + 3 = p R/I(z) − 1.The ideal J was obtained from the ideal I (1) by the expansion <strong>of</strong> the monomial x 0 x 1 . Sincewe know by Example 3.25 thatp R/I (z) = p R/J (z) = 1 2 z2 + 3 2 z + 4,we see that the expansion <strong>of</strong> x 0 x 1 in I (1) does indeed increase the Hilbert polynomial <strong>of</strong>R/J by one, i.e. p R/J (z) = p R/I (1)(z) + 1.In Corollary 3.22, we stated that all saturated stable ideals I, J ⊂ R with the same doublesaturation are linked by a finite sequence <strong>of</strong> contractions and expansions. This means thatwe can always find monomials m 1 , . . . , m l ∈ M, such that the contraction <strong>of</strong> m 1 , . . . , m l


58 CHAPTER 3. OPERATIONS ON STABLE IDEALSin I provides the ideal sat xn−1 ,x n(I). Recall that by Remark 3.18 we know the sequence isuniquely determined, if we choose the monomials with respect to the pro<strong>of</strong> <strong>of</strong> Lemma 3.17.In particular, we compute saturated stable ideals I (i) , 0 ≤ i ≤ l, where I (0) := I,I (i) := (I (i−1) ) con (the contraction is always performed via the monomial m i−1 ) and I (l) =sat xn−1 ,x n(I):}{{} I (0) (I (0) ) con = I (1) . . . (I (l−2) ) con = I (l−1) (I (l−1) ) con = }{{} I (l) .Isat xn−1 ,xn (I)On the other hand, we find monomials m ′ 1, . . . , m ′ k ∈ M and saturated stable ideals J (j) ,0 ≤ j ≤ k, where J (0) := sat xn−1 ,x n(J), J (j) := (J (j−1) ) exp (expansion performed via themonomial m ′ i−1) and J (k) = J:}{{} J (0) (J (0) ) exp = J (1) . . . (J (k−2) ) exp = J (k−1) (J (k−1) ) exp = }{{} J (k) .sat xn−1 ,xn (J) JSuppose, we additionally assume that I and J have the same Hilbert polynomial. Then,by Corollary 3.26, we conclude that k = l. Hence we obtain a sequence <strong>of</strong> contractionsand a sequence <strong>of</strong> expansionswhich we combine toI = I (0) I (1) . . . I (l−1) I (l) = sat xn−1 ,x n(I)sat xn−1 ,x n(J) = J (0) J (1) . . . J (l−1) J (l) = J,I = I (0) I (1) . . . I (l−1) I (l) = J (0) J (1) . . . J (l−1) J (l) = J,since I (l) = sat xn−1 ,x n(I) = sat xn−1 ,x n(J) = J (0) .We are now able to prove an even stronger result under the assumption that the ideals Iand J do not only have the same double saturation, but also the same Hilbert polynomial– we will see that we can perform pairs <strong>of</strong> contractions and expansions to compute theideal J from the ideal I (and vice versa).Before we can prove this general assertion, we need a more special result stated in theproposition below.Proposition 3.28. Let I, J ⊂ R be saturated stable ideals with p R/I (z) = p R/J (z) andsat xn−1 ,x n(I) = sat xn−1 ,x n(J). If the ideal J contains only one minimal monomial generatorm with the last variable x n−1 , then I and J are linked by a finite sequence <strong>of</strong> paired expansionsand contractions. In particular: There is an even number <strong>of</strong> monomials m 1 , . . . , m kand ideals I (0) , I (1) , . . . , I (k) , where(i) I (0) := I and


3.3. STABLE IDEALS WITH THE SAME DOUBLE SATURATION 59(ii) I (l+1) :=l = 0, . . . , k and I (k) = J.{(I (l) ) con if l mod 2 = 0 (contraction via the monomial m l )(I (l) ) exp if l mod 2 = 1 (expansion via the monomial m l )Pro<strong>of</strong>. By Corollary 3.22, there is a sequence <strong>of</strong> monomials m ′ 1, . . . , m ′ p ∈ M, whose contractionstake I to sat xn−1 ,x n(I), and a sequence <strong>of</strong> monomials ˜m 1 , . . . , ˜m q ∈ M, whoseexpansions take sat xn−1 ,x n(I) = sat xn−1 ,x n(J) to J. Note that we can also view ˜m 1 , . . . , ˜m qas a sequence <strong>of</strong> contractions taking J to sat xn−1 ,x n(J). Hence, by Remark 3.18, bothsequences <strong>of</strong> monomials are uniquely determined (see also: Pro<strong>of</strong> <strong>of</strong> Lemma 3.17). ByCorollary 3.26, we conclude that p = q, since otherwise the Hilbert polynomial p R/I (z)does not equal p R/J (z).For technical reasons, which will become clear later, we need to have m ′ i ≠ ˜m j for allmonomials considered in the above sequences. If this was not the case, say m ′ i = ˜m j ,we will show that it suffices to consider the contractions m ′ 1, . . . , m ′ i−1 and the expansions˜m j+1 , . . . , ˜m p .Suppose, we have m ′ i = ˜m j for some 1 ≤ i, j ≤ p. Recall that each <strong>of</strong> the contractions performedsubtracts exactly 1 from the exponent <strong>of</strong> x n−1 <strong>of</strong> some monomial generator. SinceJ only contains one monomial m with last variable x n−1 and p R/I (z) = p R/J (z), it followsj = p − i + 1 and m ′ i+1 = ˜m p−i , . . . , m ′ p = ˜m 1 . Because <strong>of</strong> sat xn−1 ,x n(I) = sat xn−1 ,x n(J),we conclude I (i) = J (p−i+1) . But then we can perform the expansions ˜m p−i+2 , . . . , ˜m pin J (p−i+1) , which provides the ideal J. Hence, without loss <strong>of</strong> generality, we consider asequence <strong>of</strong> contractions m ′ 1, . . . , m ′ r taking I to some ideal, in which we perform the expansions˜m 1 , . . . , ˜m r , which provides the ideal J, and m ′ i ≠ ˜m j for all 1 ≤ i, j ≤ r.On a rather informal level: We take a short cut – we do not take I to its double saturationvia contractions and then perform expansions in sat xn−1 ,x n(I) = sat xn−1 ,x n(J), to reach theideal J. Before we contract any monomial m ′ i, which is equal to ˜m p−i+1 , we expand themonomials ˜m p−i+2 , . . . , ˜m p , until we reach the ideal J. Now we have to prove that we canperform pairs <strong>of</strong> expansions and contractions as mentioned in the proposition above.Since we can now assume m ′ i ≠ ˜m j for all 1 ≤ i, j ≤ r, we will be able to prove the following:We start with the contraction <strong>of</strong> m ′ 1 in I (0) := I, which provides the ideal I (1) = (I (0) ) con .Then we expand the monomial ˜m 1 in I (1) (we have to show that this is possible). I (2) willbe the ideal (I (1) ) exp , i.e. ˜m 1 expanded in I (1) . We claim that we can continue this processuntil we get the ideal I (2r) = I (k) , which equals J.Since ˜m 1 is expandable in sat xn−1 ,x n(I) = sat xn−1 ,x n(J), we know that ˜m 1 is contained inthe set <strong>of</strong> minimal generators <strong>of</strong> sat xn−1 ,x n(J). Because <strong>of</strong> ˜m 1 ≠ m ′ i for all 1 ≤ i ≤ r,the monomial ˜m 1 cannot be removed from the set <strong>of</strong> minimal generators <strong>of</strong> sat xn−1 ,x n(I)by m ′ r, . . . , m ′ 2 viewed as a sequence <strong>of</strong> expansions taking sat xn−1 ,x n(I) to I (1) . Hence, ˜m 1must be a minimal generator <strong>of</strong> I (1) as well. The other condition for an expansion (seeDefinition 3.5) is, that no element <strong>of</strong> R( ˜m 1 ) is contained in the set <strong>of</strong> minimal generators<strong>of</strong> I (1) . We know that no element <strong>of</strong> R( ˜m 1 ) is contained in the set <strong>of</strong> minimal generators<strong>of</strong> sat xn−1 ,x n(J). Again, because <strong>of</strong> ˜m 1 ≠ m ′ i for all 1 ≤ i ≤ r, the sequence m ′ r, . . . , m ′ 2viewed as a sequence <strong>of</strong> expansions taking sat xn−1 ,x n(I) to I (1) will not include a monomial


60 CHAPTER 3. OPERATIONS ON STABLE IDEALS<strong>of</strong> R( ˜m 1 ) into the set <strong>of</strong> minimal generators <strong>of</strong> sat xn−1 ,x n(I). Hence, we can expand themonomial ˜m 1 in I (1) , which provides the ideal I (2) = (I (1) ) exp .Now, we proceed by induction on r. In the case r = 1, we have just proved that we can contractm ′ 1 in I, which provides I (1) , and then expand ˜m 1 in I (1) . Since I (1) = sat xn−1 ,x n(I) =sat xn−1 ,x n(J), the expansion <strong>of</strong> ˜m 1 in I (1) indeed provides the ideal I (2) = J.Let r > 1. Again by induction, we may assume that we have performed the contractionexpansionpairs(m ′ 1, ˜m 1 ), (m ′ 2, ˜m 2 ), . . . (m ′ i−1, ˜m i−1 ),which provide some ideal I (2i−2) (since we have proved above that we can perform thecontraction-expansion pair (m ′ 1, ˜m 1 )). We have to show that we can contract m ′ i in I (2i−2)and expand ˜m i in I (2i−1) = (I 2i−2 ) con . Since m ′ i is contractible in the ideal obtained byperforming the contractions m ′ 1, . . . , m ′ i−1 in I, it suffices to show that the expansions˜m 1 , . . . , ˜m i−1 did not hurt the condition for a contraction. Since we have m ′ i ≠ ˜m j for all1 ≤ j ≤ r, the monomial m ′ i · x n−1 cannot have been removed from the set <strong>of</strong> generatorsby any <strong>of</strong> the expansions performed, for an expansions removes only the monomial itself,which is expanded (Note: We only contract monomials with the last variable x n−1 , sincewe have chosen them to take I to sat xn−1 ,x n(I)).The second condition for a contraction is that m ′ i is not contained in I (2i−2) . If m ′ i wouldhave been included into the ideal by an expansion <strong>of</strong> some monomial ˜m k , k ∈ {1, . . . , i−1},then m ′ i is a multiple <strong>of</strong> ˜m k , which contradicts the fact that m ′ i·x n−1 is a minimal generator,which has not been removed yet.The last condition for a contraction is L(m ′ i) ⊂ I. We know, L(m ′ i) is contained inthe ideal, which we obtain after performing the contractions m ′ 1, . . . , m ′ i−1 in I. Again,it suffices to show that none <strong>of</strong> the expansions removes an element <strong>of</strong> L(m ′ i) from theideal. But if an expansion, say the expansion <strong>of</strong> ˜m k , k ∈ {1, . . . , i − 1}, removed suchan element, the monomial ˜m k must itself have been contained in L(m ′ i). Since ˜m k musthave been a minimal generator (otherwise it could not have been expanded), the monomialm ′ i · x n−1 cannot fulfill the condition <strong>of</strong> stable ideals (see Theorem 2.7), because we candivide m ′ i · x n−1 by x n−1 and multiply it by a suitable variable x l , such that the monomialobtained is divisible by ˜m k and no other generator. Hence, if the minimal generator ˜m khad been removed, either the ideal obtained is no longer stable, which is a contradiction,or the monomial ˜m k cannot have been a minimal generator, which is also a contradiction.Hence, we perform the contraction via the monomial m ′ i in I 2i−2 , which provides I (2i−1) .The fact that ˜m i is expandable in I (2i−1) , follows from the same arguments as stated above,when we proved that ˜m 1 is expandable in I (1) . Thus, all contraction-expansion pairs canbe performed.It remains to show that I (2r) = J, i.e. that the last contraction-expansion pair provides theideal J. We know that I (2r) is a saturated stable ideal with the same double saturationand the same Hilbert polynomial as I and J. Hence, by the choice <strong>of</strong> the monomials beingcontracted and expanded during the process taking I to I (2r) , the set <strong>of</strong> minimal generators<strong>of</strong> I (2k) must be a subset <strong>of</strong> the set <strong>of</strong> minimal generators <strong>of</strong> J. Since I (2r) and J do havethe same Hilbert polynomial, there is no monomial generator in J, which is not containedin I (2r) . Thus, it follows I (2r) = J.


3.3. STABLE IDEALS WITH THE SAME DOUBLE SATURATION 61We will consider two examples to illustrate the process described in Proposition 3.28.Example 3.29. Consider I := (x 2 0, x 0 x 1 , x 0 x 3 2) and J := (x 2 0, x 0 x 2 1, x 0 x 1 x 2 , x 0 x 2 2) in R :=K[x 0 , x 1 , x 2 , x 3 ]. The ideals are saturated, stable and do have the same Hilbert polynomial(see also Example 3.25). Furthermore, the double saturation <strong>of</strong> both ideals is the ideal(x 0 ). To take I to its double saturation, we have to perform the contractions x 0 x 2 2, x 0 x 2and x 0 . Hence, in the terminology <strong>of</strong> Theorem 3.32, we obtainI (0) = (x 2 0, x 0 x 1 , x 0 x 3 2) = II (1) = (x 2 0, x 0 x 1 , x 0 x 2 2)I (2) = (x 2 0, x 0 x 1 , x 0 x 2 )I (3) = (x 0 ) = sat x2 ,x 3(I)Next we consider the sequence <strong>of</strong> contractions, taking J to its double saturation. We haveto use the contractions x 0 x 1 , x 0 x 2 and x 0 . This providesJ (0) = (x 2 0, x 0 x 2 1, x 0 x 1 x 2 , x 0 x 2 2) = JJ (1) = (x 2 0, x 0 x 1 , x 0 x 2 2)J (2) = (x 2 0, x 0 x 1 , x 0 x 2 )J (3) = (x 0 ) = sat x2 ,x 3(J)Since the last two contractions used to take I and J to their double saturation areequal, we omit them according to the pro<strong>of</strong> <strong>of</strong> Proposition 3.28. Thus, we can contractthe monomial x 0 x 2 2 in I, which provides I (1) , and then expand x 0 x 1 in I (1) . Notethat the expansion <strong>of</strong> x 0 x 1 in I (1) is possible, since the monomial is a minimal generatorand R(x 0 x 1 ) = {x 2 1, x 0 x 2 }, which is not contained in I (1) . Expansion provides the ideal(I (1) ) exp = (x 2 0, x 0 x 2 1, x 0 x 1 x 2 , x 0 x 2 2) = J.In particular, we conclude: I and J are linked by the contraction-expansion pair x 0 x 2 2, x 0 x 1 .Example 3.30. Consider the saturated stable ideals I and J in K[x 0 , x 1 , x 2 , x 3 , x 4 ], whereI := (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3) and J := (x 2 0, x 0 x 1 , x 0 x 2 , x 0 x 3 , x 5 1, x 4 1x 4 2, x 4 1x 3 2x 3 , x 4 1x 2 2x 4 3) withsat x3 ,x 4(I) = (x 0 , x 5 1, x 4 1x 2 2) = sat x3 ,x 4(J) and p R/I (z) = 2z 2 + 2z + 1 = p R/J (z). Firstwe consider the contractions taking I to its double saturation, i.e. the monomials x 4 1x 2 2x 5 3,x 4 1x 2 2x 4 3, x 4 1x 2 2x 3 3, x 4 1x 2 2x 2 3, x 4 1x 2 2x 3 , x 4 1x 2 2. This provides the sequence <strong>of</strong> idealsI (0) = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3) = II (1) = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 5 3)I (2) = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 4 3)I (3) = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 3 3)I (4) = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 2 3)I (5) = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 3 )I (6) = (x 0 , x 5 1, x 4 1x 2 2) = sat x3 ,x 4(I)


62 CHAPTER 3. OPERATIONS ON STABLE IDEALSTo take J to its double saturation, we have to contract the monomials x 0 , x 4 1x 3 2, x 4 1x 2 2x 3 3,x 4 1x 2 2x 2 3, x 4 1x 2 2x 3 , x 4 1x 2 2. Hence, we obtain the idealsJ (0) = (x 2 0, x 0 x 1 , x 0 x 2 , x 0 x 3 , x 5 1, x 4 1x 4 2, x 4 1x 3 2x 3 , x 4 1x 2 2x 4 3)J (1) = (x 0 , x 5 1, x 4 1x 4 2, x 4 1x 3 2x 3 , x 4 1x 2 2x 4 3)J (2) = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 4 3)J (3) = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 3 3)J (4) = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 2 3)J (5) = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 3 )J (6) = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2) = sat x3 ,x 4(J)Since only the first two contractions are different in the process taking I to sat x3 ,x 4(I) andJ to sat x3 ,x 4(J), we proceed as follows: First we contract the monomial x 4 1x 2 2x 5 3 in I, whichprovides the ideal I (1) . Then we expand the monomial x 4 1x 3 2 in I (1) , which provides theideal(x 0 , x 5 1, x 4 1x 4 2, x 4 1x 3 2x 3 , x 4 1x 2 2x 5 3).Next, we contract the monomial x 4 1x 2 2x 4 3 and obtain(x 0 , x 5 1, x 4 1x 4 2, x 4 1x 3 2x 3 , x 4 1x 2 2x 4 3).The last step is the expansion <strong>of</strong> x 0 in this ideal, which provides(x 2 0, x 0 x 1 , x 0 x 2 , x 0 x 3 , x 5 1, x 4 1x 4 2, x 4 1x 3 2x 3 , x 4 1x 2 2x 4 3) = Jand we are done.In particular, the ideals I and J are linked by the contraction-expansion pairs x 4 1x 2 2x 5 3, x 4 1x 3 2and x 4 1x 2 2x 4 3, x 0 .Remark 3.31. Our aim is to prove the result <strong>of</strong> Proposition 3.28 for all saturated stableideals I, I ′ ⊂ R with the same double saturation and the same Hilbert polynomial. Theproblem is, we cannot assume in general that one <strong>of</strong> the ideals I, I ′ contains only onemonomial generator with the last variable x n−1 . This problem can be avoided, since wecan use one <strong>of</strong> the ideals, say I, to compute an ideal J (via a sequence <strong>of</strong> special contractionsfollowed by a sequence <strong>of</strong> special expansions) with the same double saturation and the sameHilbert polynomial as I, which contains only one minimal generator with the last variablex n−1 . The ideal J can be computed as follows: LetI =: I (0) , I (1) , . . . , I (j) = sat xn−1,xn (I)be the sequence <strong>of</strong> ideals obtained when taking I to sat xn−1 ,x n(I) by performing contractionsas in Lemma 3.17. Furthermore let Ĩ := I(i) , 0 ≤ i < j, be the first ideal <strong>of</strong> the abovesequence, which contains only one minimal monomial generator m with the last variable


3.3. STABLE IDEALS WITH THE SAME DOUBLE SATURATION 63x n−1 . Let J be the ideal obtained from Ĩ by the expansion <strong>of</strong> the monomials m, m·x n−1, m·x 2 n−1, . . . , m · x i−1n−1. Thenp R/I (z) = p R/J (z),sat xn−1 ,x n(I) = sat xn−1 ,x n(J)and I and J are linked by a finite sequence <strong>of</strong> paired contractions and expansions.The contractions used to take I to Ĩ can be performed by Remark 3.18 (we always contractthe first monomial in lexicographic order containing the last variable x n−1 ). The expansions<strong>of</strong> m, m · x n−1 , m · x 2 n−1, . . . , m · x i−1n−1 can be performed successively in Ĩ: m is expandablein Ĩ, since it is a monomial generator and R(m) is not contained in the set <strong>of</strong> minimalgenerators <strong>of</strong> Ĩ. In the ideal Ĩexp we can expand the monomial m · x n−1 , since m · x n−1 is aminimal monomial generator <strong>of</strong> Ĩexp and none <strong>of</strong> the elements <strong>of</strong> R(m · x n−1 ) is containedin Ĩexp . Finally we obtain the ideal J.It is clear that both ideals do have the same double saturation. From Corollary 3.26,we conclude p R/I (z) = p R/J (z), since the number <strong>of</strong> contractions taking I to Ĩ equalsthe number <strong>of</strong> expansions taking Ĩ to J. Finally, since I and J fulfill the conditions<strong>of</strong> Proposition 3.28, I and J are linked by a finite sequence <strong>of</strong> paired contractions andexpansions.Now, we come to the main result <strong>of</strong> this section. We will see that the theorem statedbelow, directly follows from Proposition 3.28 and Remark 3.31. It will be <strong>of</strong> great importanceto the algorithms presented in Chapter 4 and can be viewed as an algorithmicclassification <strong>of</strong> all saturated stable ideals with the same double saturation and the sameHilbert polynomial.Theorem 3.32. All saturated stable ideals with the same double saturation and the sameHilbert polynomial are linked by a finite sequence <strong>of</strong> paired expansions and contractions.In particular, given two saturated stable ideals I and I ′ with the same double saturationand p R/I (z) = p R/I ′(z) one can find an even number <strong>of</strong> monomials m 1 , . . . , m k and idealsI (0) , I (1) , . . . , I (k) , where(i) I (0) := I and{(ii) I (l+1) (I (l) ) con if l mod 2 = 0 (contraction via the monomial m l ):=(I (l) ) exp if l mod 2 = 1 (expansion via the monomial m l )l = 0, . . . , k and I (k) = I ′ .Pro<strong>of</strong>. From I we compute the ideal J with the same double saturation and the sameHilbert polynomial, which contains only one monomial generator with the last variablex n−1 , due to Remark 3.31. We know from Proposition 3.28 that I and J are linked by afinite sequence <strong>of</strong> paired expansions and contractions. It follows by the pro<strong>of</strong> <strong>of</strong> Proposition3.28 that J and I ′ are also linked by a finite sequence <strong>of</strong> paired expansions and contractions.Hence, we can first take I to J and then J to I ′ by sequences <strong>of</strong> paired expansions andcontractions. This proves the assertions <strong>of</strong> the theorem.


64 CHAPTER 3. OPERATIONS ON STABLE IDEALSRemark 3.33. The theorem above appears in [16] – but similar to the definition <strong>of</strong> thecontraction <strong>of</strong> a monomial (see Definition 3.9) it had to be modified. In [16] the theoremis stated without the assumption that the ideals mentioned in the theorem must have thesame Hilbert polynomial.Note that the theorem is wrong without this assumption: Consider the saturated stableideals I := (x 2 0, x 0 x 1 , x 0 x 2 2) and J := (x 2 0, x 0 x 1 , x 0 x 3 2) in K[x 0 , x 1 , x 2 , x 3 ]. They are bothstable and saturated and do have the same double saturation given by sat x2 ,x 3(I) = (x 0 ) =sat x2 ,x 3(J), but they do not have the same Hilbert polynomial. A contraction <strong>of</strong> themonomial x 0 x 2 2 in J provides the ideal I, which shows that there is no sequence <strong>of</strong> pairedexpansions and contractions taking I to J or vice versa as in the theorem above.One more example shall illustrate the algorithm proposed by Theorem 3.32 to obtain asaturated ideal I ′ ⊂ R from another saturated stable ideal I ⊂ R with the same doublesaturation and the same Hilbert polynomial.Example 3.34. We consider the polynomial ring R := K[x 0 , x 1 , x 2 , x 3 , x 4 , x 5 ] and theidealsI := (x 0 , x 1 , x 3 2, x 2 2x 2 3, x 2 2x 3 x 4 , x 2 2x 2 4)andI ′ := (x 2 0, x 0 x 1 , x 0 x 2 , x 0 x 3 , x 0 x 4 , x 2 1, x 1 x 2 , x 1 x 3 , x 1 x 4 , x 3 2, x 2 2x 3 , x 2 2x 4 ).I and I ′ are both stable and saturated. By Algorithm 2.29, we compute the Hilbert polynomialsp R/I (z) and p R/I ′(z), which provides p R/I (z) = z 2 +2z+4 = p R/I ′(z). Furthermore,we obtain sat x4 ,x 5(I) = (x 0 , x 1 , x 2 2) = sat x4 ,x 5(I ′ ) by setting x 4 := 1 in all generators <strong>of</strong> bothideals. Hence, I and I ′ fulfill the conditions <strong>of</strong> Theorem 3.32.In the first step, we compute the ideal J from I, which contains only one monomial generatorwith the last variable x 4 . Therefore, we contract the monomial the x 2 2x 3 , whichprovidesI (1) = (x 0 , x 1 , x 3 2, x 2 2x 3 , x 2 2x 2 4).Afterwards we expand the monomial x 2 2x 2 4, such thatJ := I (2) = (x 0 , x 1 , x 3 2, x 2 2x 3 , x 2 2x 3 4).Note that J has the same double saturation as I and I ′ and, again by Algorithm 2.29, thesame Hilbert polynomial, since p R/J (z) = z 2 + 2z + 4.To take I to sat x4 ,x 5(I), we have to perform the contractions <strong>of</strong> x 2 2x 3 , x 2 2x 4 and x 2 2. To takeJ to sat x4 ,x 5(J) = sat x4 ,x 5(I), we have to contract x 2 2x 2 4, x 2 2x 4 and x 2 2.Since the last two monomials are equal in both sequences <strong>of</strong> contractions, we can firstcontract x 2 2x 3 in I and then expand x 2 2x 2 4 in I exp (expansions via x 2 2x 3 ), which obviouslyprovides the ideal J.In the next step we consider the sequence <strong>of</strong> monomials, which has to be contracted totake I ′ to sat x4 ,x 5(I ′ ). We have to contract x 0 , x 1 and x 2 2 to obtain the double saturation.Since the last monomial x 2 2 in the sequence taking J to its double saturation equals the lastmonomial in the sequence <strong>of</strong> contractions taking I ′ to sat x4 ,x 5(I ′ ), we only have to consider


3.3. STABLE IDEALS WITH THE SAME DOUBLE SATURATION 65the first two contractions x 2 2x 2 4, x 2 2x 4 from the sequence, which takes J to sat x4 ,x 5(J) andx 0 , x 1 from the sequence <strong>of</strong> contractions taking I ′ to its double saturation.Hence, we can take J to I ′ by first contracting x 2 2x 2 4 in J, which provides the idealJ (1) = (x 0 , x 1 , x 3 2, x 2 2x 3 , x 2 2x 2 4),and then expanding x 1 in J (1) , from which we obtainJ (2) = (x 0 , x 2 1, x 1 x 2 , x 1 x 3 , x 1 x 4 , x 3 2, x 2 2x 3 , x 2 2x 2 4).Next we perform the contraction <strong>of</strong> x 2 2x 4 in J (2) , such thatFinally, we expand x 0 in J (3) , such thatJ (3) = (x 0 , x 2 1, x 1 x 2 , x 1 x 3 , x 1 x 4 , x 3 2, x 2 2x 3 , x 2 2x 4 ).J (4) = (x 2 0, x 0 x 1 , x 0 x 2 , x 0 x 3 , x 0 x 4 , x 2 1, x 1 x 2 , x 1 x 3 , x 1 x 4 , x 3 2, x 2 2x 3 , x 2 2x 4 ) = I ′ .Thus, the two ideals I and I ′ are linked by the sequence <strong>of</strong> paired contractions and expansionsx 2 2x 3 and x 2 2x 2 4, which first takes I to J, x 2 2x 2 4 and x 1 and finally x 2 2x 4 and x 0 .Since we first expand x 2 2x 2 4 and afterwards contract it in the same ideal J, which we obtainedfrom its expansion, we may omit this monomial. This provides a shorter sequence <strong>of</strong>paired contractions and expansions given by x 2 2x 3 , x 1 and x 2 2x 4 , x 0 . Indeed, the monomialx 1 is expandable in the ideal I (1) = (x 0 , x 1 , x 3 2, x 2 2x 3 , x 2 2x 2 4) and its expansion provides theideal J (2) . We have seen above that we can take J (2) to J (4) = I ′ by the contraction <strong>of</strong>x 2 2x 4 and the contraction <strong>of</strong> x 0 .At the end <strong>of</strong> Chapter 2, we claimed that the ideals L H <strong>of</strong> Theorem 2.21 and L p <strong>of</strong> Theorem2.25 have the same double saturation, if p(z) is the Hilbert polynomial associated to theHilbert series H(t). We are now able to prove this assertion.Theorem 3.35. (A link between the lexicographic ideals L H and L p ) Let H(t) be a Hilbertseries and p(z) be the Hilbert polynomial associated to H(t) (i.e. if H(t) = H R/I (t) for ahomogeneous ideal I ⊂ R, then p(z) = p R/I (z)). Thensat xn−1 ,x n(L H ) = sat xn−1 ,x n(L p ),i.e. the unique lexicographic ideal L H <strong>of</strong> Theorem 2.21 with Hilbert series H R/LH (t) = H(t)and the unique lexicographic ideal L p associated to the Hilbert polynomial p(z) <strong>of</strong> Theorem2.25 both have the same double saturation.Pro<strong>of</strong>. Consider the unique lexicographic ideal L H associated to the Hilbert series H(t).By Remark 3.31, we can compute from L H a saturated stable ideal J, such that J containsonly one minimal monomial generator with the last variable x n−1 and p(z) = p R/LH (z) =p R/J (z).Claim 1. J is a lexicographic ideal.


66 CHAPTER 3. OPERATIONS ON STABLE IDEALSPro<strong>of</strong> <strong>of</strong> Claim 1. By the algorithm described in Remark 3.31, we successively contract thelargest monomial generators <strong>of</strong> L H (with respect to the lexicographic order) with the lastvariable x n−1 , until there is only one monomial generator left, which contains x n−1 . Let mbe the first monomial in L H with respect to the lexicographic order, such that m containsmlast variable x n−1 . Then we contract in L H , which provides some ideal L conHx .n−1Assume L conH is not a lexicographic ideal. Since the only effect <strong>of</strong> the contraction <strong>of</strong> min L H is removing m from the set <strong>of</strong> minimal generators and includingx n−1mx n−1into the set <strong>of</strong>minimal generators, L conH is not a lexicographic ideal, if [Lconsubset <strong>of</strong> [R] deg m−1 . Hence, there is at least one monomial ˜m ∈ [R] deg m−1 with ˜m >H ] deg m−1 is not a lexicographicmand ˜m /∈ [L conH ] deg m−1. It follows ˜m · x n−1 > m. Since m ∈ [L conH ] deg m and [L conH ] deg mis a lexicographic subset <strong>of</strong> [R] deg m , we obtain ˜m · x n−1 ∈ [L conH ] deg m, and in particular˜m·x n−1 ∈ L H . Therefore, there is a minimal monomial generator ¯m·x n−1 in L H , such that˜m · x n−1 is divisible by ¯m · x n−1 . Note that the monomial generator contains x n−1 , sinceotherwise it would divide ˜m, which is a contradiction to the fact that ˜m /∈ [L conH ] deg m−1.Furthermore, we have deg( ¯m · x n−1 ) ≤ deg( ˜m · x n−1 ) = deg m. But this contradicts thefact that we have chosen m to be the first monomial generator in L H with the last variablex n−1 .It follows that L conHx n−1is a lexicographic ideal. Iteration <strong>of</strong> the process proves that any <strong>of</strong>the contractions performed successively due to Remark 3.31 provides a lexicographic ideal.Since any <strong>of</strong> the expansions described in Remark 3.31 to take L H to J only increases theexponent <strong>of</strong> the last and only monomial generator containing the last variable x n−1 , theseexpansions will always give a lexicographic ideal. It follows that J is a lexicographic ideal,which proves Claim 1.Since we know that J is a lexicographic ideal with only one minimal monomial generatorcontaining x n−1 , set m := x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 1n−2 · x a 0n−1 to be this monomialwith suitable r, a 0 , a 1 , . . . , a r−2 , a r−1 , a r .Claim 2. The set <strong>of</strong> minimal generators <strong>of</strong> J is given by{x 0 , x 1 , . . . , x n−r−2 ,x ar+1n−r−1,x arn−r−1 · x a r−1+1n−r ,x arn−r−1 · x a r−1n−r · x a r−2+1n−r+1 , . . . ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 2n−3 · x a 1+1n−2 ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 1n−2 · x a 0n−1 = m}.Pro<strong>of</strong> <strong>of</strong> Claim 2. First we show that each <strong>of</strong> the monomials in the above set is containedin J. Then, since J is stable and lexicographic, we will be able to conclude that all


3.3. STABLE IDEALS WITH THE SAME DOUBLE SATURATION 67monomials are minimal generators <strong>of</strong> J and that J cannot contain any other minimalmonomial generators.We already know that m is a minimal generator <strong>of</strong> J. Since J is stable, we know byTheorem 2.7 thatm· x n−2 = x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 1+1n−2 · x a 0−1n−1x n−1is also contained in J. Since m is the only minimal generator <strong>of</strong> J containing the variablex n−1 , it even follows thatis contained in J. Because <strong>of</strong>x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 2n−3 · x a 1+1n−2x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 2+1n−3 · x a 1n−1 > x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 2n−3 · x a 1+1n−2 ∈ Jwith respect to the lexicographic order and since J is lexicographic, we concludex arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 2+1n−3 · x a 1n−1 ∈ J.Since m is the only minimal generator <strong>of</strong> J containing last variable x n−1 , it even followsx arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 2+1n−3 ∈ J.By the same arguments, it follows that all monomials in{x ar+1n−r−1,x arn−r−1 · x a r−1+1n−r ,x arn−r−1 · x a r−1n−r · x a r−2+1n−r+1 , . . . ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 2n−3 · x a 1+1n−2 ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 1n−2 · x a 0n−1 = m},are contained in J. It remains to show that x 0 , x 1 , . . . , x n−r−2 ∈ J. Because <strong>of</strong> x ar+1n−r−1 ∈ Jand x 0 · x arn−1 > xn−r−1, ar+1 the monomial x 0 · x arn−1 must also be contained in J. Hence, thereis a monomial generator <strong>of</strong> J, such that x 0 · x arn−1 is divisible by this generator. Since m isthe only monomial generator in J containing the last variable x n−1 , it follows x 0 ∈ J. Bythe same arguments we obtain x 1 , . . . , x n−r−2 ∈ J.Next, we want to show that all monomials in{x 0 , x 1 , . . . , x n−r−2 ,x ar+1n−r−1,x arn−r−1 · x a r−1+1n−r ,x arn−r−1 · x a r−1n−r · x a r−2+1n−r+1 , . . . ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 2n−3 · x a 1+1n−2 ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 1n−2 · x a 0n−1 = m},


68 CHAPTER 3. OPERATIONS ON STABLE IDEALSare minimal generators <strong>of</strong> J. We already know that m is a minimal generator <strong>of</strong> J. It is clearthat x 0 , x 1 , . . . , x n−r−2 are minimal generators <strong>of</strong> J. Consider the monomial x ar+1n−r−1 ∈ J.If we assume that it is not a minimal generator <strong>of</strong> J, it follows that there is a monomialgenerator x k n−r−1 ∈ J, k ≤ a r . But then, this generator also divides m, which is a contradiction.If x arn−r−1 · x a r−1+1n−r were not a minimal generator <strong>of</strong> J, there would be a generatorx k n−r−1 · x l n−r ∈ J, k ≤ a r , l ≤ a r−1 . Again, m would also be divisible by this monomial,which is a contradiction.Iteration <strong>of</strong> this argument provides that all monomials in the above set are minimal generators.Now assume, there is a monomial generator ˜m <strong>of</strong> J, which is not contained in theabove set. Since the above set generates a lexicographic and stable ideal and ˜m cannotcontain the variable x n−1 , it follows either, that ˜m divides any <strong>of</strong> the above monomials,which contradicts the fact that they are all minimal generators, or ˜m is divisible by any<strong>of</strong> the above monomials, which is a contradiction to the fact that ˜m is assumed to be aminimal generator. Hence, J is generated by the monomials in the above set, which provesclaim 2.It follows by Theorem 2.25 that J is the unique lexicographic ideal L p associated to theHilbert polynomial p(z) (which is again associated to the Hilbert series H(t) <strong>of</strong> R/L H ).Since the expansions and contractions described in Remark 3.31, which we used to computeJ from L H , do not change the double saturation, it follows sat xn−1 ,x n(L H ) = sat xn−1 ,x n(J) =sat xn−1 ,x n(L p ).Example 3.36. Let R := K[x 0 , x 1 , x 2 , x 3 ] and H(t) = 1 − t − t2 + t 4 + t 5 − t 6. Then the(1 − t) 4unique lexicographic ideal L H , such that H R/LH (t) = H(t), is L H = (x 0 , x 2 1, x 1 x 2 2, x 4 2) andp R/LH (z) = 6. To compute L p from L H , we first we contract x 1 x 2 in L H , which provides theideal (x 0 , x 2 1, x 1 x 2 , x 4 2). Next, we contract x 1 , and obtain (x 0 , x 1 , x 4 2). Then we expand x 4 2,which provides (x 0 , x 2 1, x 5 2), and finally we obtain the ideal (x 0 , x 2 1, x 6 2) from the expansion<strong>of</strong> x 5 2. Indeed, the ideal (x 0 , x 2 1, x 6 2) equals the unique lexicographic ideal L pR/LH associatedto the Hilbert polynomial p R/LH (z).The pro<strong>of</strong> <strong>of</strong> the preceding theorem suggests a method to compute the lexicographic idealL p from the lexicographic ideal L H . Since we know by the theorem that these ideals havethe same double saturation, it follows that we can also compute L H from L p :Corollary 3.37. Let p R/I (z) be the Hilbert polynomial <strong>of</strong> R/I for some saturated stableideal I ⊂ R. Then the lexicographic ideal L H associated to any Hilbert series H(t), suchthat p R/LH (z) = p R/I (z), can be obtained from L p by a sequence <strong>of</strong> paired expansions andcontractions.Pro<strong>of</strong>. By Theorem 3.35, we know sat xn−1 ,x n(L H ) = sat xn−1 ,x n(L p ). Since p R/LH (z) =p R/Lp (z), the assertion follows from Theorem 3.32.Remark 3.38. Corollary 3.37 implies that to a given Hilbert polynomial p(z) we can findall Hilbert series associated to the Hilbert polynomial p(z) (in other words: We computeall Hilbert functions to a given Hilbert polynomial). We give the algorithm in pseudo code.


3.3. STABLE IDEALS WITH THE SAME DOUBLE SATURATION 69Algorithm 3.39. (Computation <strong>of</strong> all Hilbert series to a given Hilbert polynomial) Letp(z) be the Hilbert polynomial <strong>of</strong> R/I for I ⊂ R a saturated homogeneous ideal.Input. A Hilbert polynomial p(z).1. Compute the unique lexicographic ideal L p <strong>of</strong> Theorem 2.25 from p(z).2. Use pairs <strong>of</strong> contractions and expansions to compute all saturated lexicographic idealsL H <strong>of</strong> Theorem 2.21 with p R/LH (z) = p(z).3. Use the formula <strong>of</strong> Theorem 2.17 to compute the Hilbert series <strong>of</strong> any such lexicographicideal L H .Output. All Hilbert series H R/J (t) for some saturated homogeneous ideal J ⊂ R withp(z) = p R/J (z).Pro<strong>of</strong>. (Correctness) The algorithm works correct by Theorem 2.25, Corollary 3.37 andTheorem 2.17.Step 2 <strong>of</strong> the algorithm does not specify any details <strong>of</strong> how to use the pairs <strong>of</strong> contractionsand expansion to find all lexicographic ideals L H in a systematic way – this will becomeclear, when we present the source code to this step within Chapter 4.Another consequence <strong>of</strong> Corollary 3.37 and Theorem 3.35 gives us a characterization <strong>of</strong> theunique lexicographic ideal L p associated to a Hilbert polynomial p(z), which we introducedin Theorem 2.25:Corollary 3.40. Let p(z) ≠ 0 be the Hilbert polynomial <strong>of</strong> R/I for some saturated stableideal I ⊂ R.(i) Among all saturated lexicographic ideals L H associated to Hilbert series H(t), suchthat p(z) = p R/LH (z), there is exactly one saturated lexicographic ideal with onlyone minimal generator containing the last variable x n−1 . This ideal is the uniquelexicographic ideal L p associated to the Hilbert polynomial p(z) by Theorem 2.25.(ii) The Hilbert function <strong>of</strong> R/L p is minimal among all Hilbert functions h R/J associatedto the Hilbert polynomial p(z), where J ⊂ R is a saturated homogeneous ideal.In particular: For any saturated lexicographic ideal L H associated to a Hilbert seriesH(t), such that p(z) = p R/LH (z), we have h R/Lp (i) ≤ h R/LH (i) for all i ∈ N 0 .Pro<strong>of</strong>. The first assertion follows from Corollary 3.37 and the pro<strong>of</strong> <strong>of</strong> Theorem 3.35. Thesecond one follows from the fact that we can compute any such lexicographic ideal L H fromL p by a sequence <strong>of</strong> paired contractions and expansions: When we proved Proposition 3.23and Corollary 3.26, we characterized the effect <strong>of</strong> such expansions and contractions onthe values <strong>of</strong> the Hilbert function. Let m denote the last monomial generator <strong>of</strong> L p andmd := deg m. The contraction <strong>of</strong> in L p provides h L con(i) = hp Lp (i) + 1 for all i ≥ d − 1.x n−1


70 CHAPTER 3. OPERATIONS ON STABLE IDEALSAfterwards we expand some monomial ˜m > m (with respect to the lexicographic order) <strong>of</strong>degree ˜d < d in L conp . Hence, we obtain h (L conp ) exp(i) = h L con (i)−1 for all i ≥ ˜d. By combiningpthe two equations it follows h R/(L conp) exp(i) = h R/L p(i) for 0 ≤ i < ˜d, h R/(L conp ) exp(i) ≥ h R/L p(i)for ˜d ≤ i ≤ d − 1 and h R/(L conp ) exp(i) = h R/L p(i) for i ≥ d. Since L H is obtained from L pby such pairs <strong>of</strong> expansions and contractions, we conclude by induction that h R/LH (i) ≥h R/Lp (i) for all i ≥ 0.Later, in Chapter 4, we give an algorithm to compute the values <strong>of</strong> Hilbert functions.There we consider an example, where we can see that the values <strong>of</strong> the Hilbert function <strong>of</strong>R/L p are minimal among all values <strong>of</strong> the Hilbert functions associated to the same Hilbertpolynomial p(z) in the sense <strong>of</strong> Corollary 3.40.3.4 Stable ideals with the same Hilbert polynomialIn the preceding section we provided the theoretical basis for the construction <strong>of</strong> all saturatedstable ideals with the same double saturation and the same Hilbert polynomial:We saw that we can use the unique lexicographic ideal <strong>of</strong> Theorem 2.25 associated to thegiven Hilbert polynomial to construct all saturated stable ideals with the same doublesaturation and the same Hilbert polynomial. Since our aim is to construct all saturatedstable ideals to a given Hilbert polynomial, we need to find a way to compute even thosesaturated stable ideals, whose double saturation differs from the double saturation <strong>of</strong> theunique lexicographic ideal associated to the Hilbert polynomial.In a special situation, i.e. in the case that the Hilbert polynomial is constant, we can findall saturated stable ideals with the given Hilbert polynomial by the following lemma:Lemma 3.41. Let p(z) = c, c ∈ N, be the Hilbert polynomial <strong>of</strong> R/I for I ⊂ R asaturated stable ideal. Then sat xn−1 ,x n(I) = R and all saturated stable ideals J ⊂ R suchthat p R/J (z) = p(z) can be computed from I by pairs <strong>of</strong> contractions and expansions as inProposition 3.28 and Theorem 3.32.Pro<strong>of</strong>. First, we claim that if I ⊂ R is a saturated stable ideal with p(z) = p R/I (z) = c,c ∈ N, there are integers a 0 , . . . , a n−1 ∈ N, such that x a 00 , . . . , x a n−1n−1 ∈ I.Assume x j n−1 /∈ I for all j ∈ N. Since I is stable, all monomials <strong>of</strong> the form x j−in−1 · x i n,0 ≤ i ≤ j, are not contained in I either. Hence, for j ∈ N there are at least j+1 monomials,which are not contained in I. But then we obtain h R/I (j) ≥ j +1, which is a contradiction,since c = p(j) = h R/I (j) ≥ j + 1 is not satisfied for all j ≥ c.Since I contains x a n−1n−1 for some integer a n−1 , it follows that x a 00 , . . . , x a n−2n−2 are contained inI for some integers a 0 , . . . , a n−2 , since I is stable. The double saturation sat xn−1 ,x n(I) <strong>of</strong> I isobtained from I by setting x n−1 := 1 in all <strong>of</strong> its generators. This shows sat xn−1 ,x n(I) = R.It follows that the double saturation <strong>of</strong> all saturated stable ideals with a constant Hilbertpolynomial equals the whole ring R. Hence, by Proposition 3.28 and Theorem 3.32, weconclude that all such ideals are linked by finite sequences <strong>of</strong> expansions and contractions,which proves the assertion.


3.4. STABLE IDEALS WITH THE SAME HILBERT POLYNOMIAL 71Remark 3.42. Let I, J ⊂ R be saturated stable ideals with p R/I (z) = c = p R/J (z),c ∈ N. We know that the double saturation <strong>of</strong> I and J equals R. Hence, if any <strong>of</strong> thecontractions within the sequence <strong>of</strong> paired contractions and expansions used to take I toJ provided the whole ring R, we would not be able to perform any expansion any moreand could never reach the ideal J. We claim that this case cannot appear, if we followthe procedure in the pro<strong>of</strong> <strong>of</strong> Theorem 3.32. By Lemma 3.17, there is either a sequence <strong>of</strong>monomials whose contractions take I to its double saturation, and a sequence <strong>of</strong> monomialswhose contractions take J to its double saturation. These contractions are exactly those,which we used in Proposition 3.28 and Theorem 3.32 to perform pairs <strong>of</strong> contractions andexpansions to compute one ideal from the other. Since the double saturation <strong>of</strong> I and Jequals R, in both cases the last contraction performed before reaching R is the contraction<strong>of</strong> 1 (i.e. x n−1 is removed from the set <strong>of</strong> generators and replaced by 1, which provides thewhole ring R). Hence, the last contraction taking I to its double saturation equals thelast contraction taking J to its double saturation. But in the pro<strong>of</strong> <strong>of</strong> Proposition 3.28,we showed that we can omit these contractions, when we compute J from I by pairs <strong>of</strong>contractions and expansions. Thus, when using the pairs <strong>of</strong> expansions and contractions<strong>of</strong> Proposition 3.28 and Theorem 3.32, it cannot happen that any <strong>of</strong> the ideals computedwithin the process equals the whole ring R.Next, we will prove by induction that all saturated stable ideals with the same Hilbertpolynomial are linked by finite sequences <strong>of</strong> contractions and expansions.Theorem 3.43. All saturated stable ideals with the same Hilbert polynomial are linked byfinite sequences <strong>of</strong> contractions and expansions.Pro<strong>of</strong>. Let I, J ⊂ R be saturated stable ideals with p R/I (z) = p R/J (z). We may assumep R/I (z) ≠ 0, because otherwise there is nothing to prove. As mentioned above, we doinduction on the degree d := deg p R/I (z).The assertion is true for d = 0 by Lemma 3.41. Now assume d > 0. Since I and J aresaturated stable ideals in R, we know that the variable x n does not appear in any <strong>of</strong> theirmonomial generators. Hence, we can view I and J as possibly non-saturated stable idealsĪ and ¯J in ¯R := K[x 0 , . . . , x n−1 ].Claim. p ¯R/ Ī(z) = p ¯R/ ¯J(z).Pro<strong>of</strong> <strong>of</strong> the Claim. By the exact sequence0 −−−→ R/I(−1)x n−−−→ R/I −−−→ R/(I + xn R) −−−→ 0,it follows p R/(I+xnR)(z) = p R/I (z) − p R/I (z − 1). Similarly we obtain from0 −−−→ R/J(−1)p R/(J+xnR)(z) = p R/J (z) − p R/J (z − 1). Sincex n−−−→ R/J −−−→ R/(J + xn R) −−−→ 0R/(I + x n R) ∼ = (R/x n R)/((I + x n R)/x n R) ∼ = ¯R/Ī


72 CHAPTER 3. OPERATIONS ON STABLE IDEALSandR/(J + x n R) ∼ = (R/x n R)/((J + x n R)/x n R) ∼ =¯R/ ¯J,we conclude p ¯R/ Ī(z) = p R/(I+xnR)(z) = p R/I (z) − p R/I (z − 1) = p R/J (z) − p R/J (z − 1) =p R/(J+xnR)(z) = p ¯R/ ¯J(z). This proves the claim.It follows p ¯R/ satxn−1 (Ī) (z) = p ¯R/ satxn−1 ( ¯J)(z). Since we have deg p ¯R/ satxn−1 (Ī) (z) = d − 1, andsat (Ī), sat xn−1 x n−1( ¯J) are saturated stable ideals in ¯R, we conclude by induction that thereis a finite sequence <strong>of</strong> contractions and expansions to compute sat xn−1 ( ¯J) from sat (Ī) xn−1(note that the expansions in ¯R are not the same as the expansions in R).Now view sat (Ī) and sat xn−1 x n−1( ¯J) as ideals in R. Because the computation <strong>of</strong> the saturation<strong>of</strong> every stable ideal in ¯R corresponds to the computation <strong>of</strong> the double saturation <strong>of</strong>the same ideal viewed as a saturated stable ideal in R, we obtain sat (Ī) = sat xn−1 x n−1 ,x n(I)and sat xn−1 ( ¯J) = sat xn−1 ,x n(J) in the ring R. By Lemma 3.17, there are sequences <strong>of</strong>contractions, which take I to sat xn−1 ,x n(I) and J to sat xn−1 ,x n(J). By our induction hypothesis,we can first compute sat xn−1 ,x n(I) from I by a sequence <strong>of</strong> contractions, thencompute sat xn−1 ,x n(J) from sat xn−1 ,x n(I) (again viewed as saturated ideals in ¯R) and finallycompute J from sat xn−1 ,x n(J) by expansions (recall that we can interpret the sequence <strong>of</strong>contractions taking J to sat xn−1 ,x n(J) as a sequence <strong>of</strong> expansions taking sat xn−1 ,x n(J) toJ, since the contractions performed always involve monomials with the last variable x n−1 ).This completes the pro<strong>of</strong>.Remark 3.44. Note that the preceding characterization <strong>of</strong> all saturated stable ideals withthe same Hilbert polynomial is weaker, than our characterization <strong>of</strong> all saturated stableideals with the same double saturation and the same Hilbert polynomial. Theorem 3.32states that the latter ideals are linked by finite sequences <strong>of</strong> paired contractions and expansion.In the more general situation <strong>of</strong> computing all saturated stable ideal with thesame Hilbert polynomial, we cannot restrict ourselves to performing such pairs <strong>of</strong> contractionsand expansions anymore. As the above pro<strong>of</strong> suggests, we may need some additionalexpansions to compute all these ideals. Nevertheless, we can still use contractions andexpansions as algorithmic tools to reach our aim.In Chapter 4 we give the source code <strong>of</strong> an algorithm for the construction <strong>of</strong> all saturatedstable ideals with the same Hilbert polynomial. Now, we use the pro<strong>of</strong> <strong>of</strong> Theorem 3.43 togive a pseudo code version <strong>of</strong> this algorithm.Algorithm 3.45. (Computation <strong>of</strong> all saturated stable ideals to a given Hilbert polynomial)Let p(z) ≠ 0, d := deg p(z) be the Hilbert polynomial <strong>of</strong> R/I for I ⊂ R a saturatedstable ideal. In the following, we denote by R (i) , 1 ≤ i ≤ n, the polynomial ringK[x 0 , x 1 , . . . , x n−i ].Input. A Hilbert polynomial p(z) ≠ 0.1. Compute ∆p(z) := p(z) − p(z − 1), ∆ 2 p(z) := ∆p(z) − ∆p(z − 1), . . . , ∆ d p(z) :=∆ d−1 p(z) − ∆ d−1 p(z − 1). Then ∆ d p(z) = c for some c ∈ N.


3.4. STABLE IDEALS WITH THE SAME HILBERT POLYNOMIAL 73Compute the unique lexicographic ideal L ∆ d p in R (d) associated to ∆ d p(z) by Theorem2.25. Compute all saturated stable ideals in R (d) with the same Hilbert polynomialas L ∆ d p by pairs <strong>of</strong> contractions and expansions as in Lemma 3.41. View these idealsas ideals in R (d−1) and go to step 2.2. For i = d − 1, d − 2, . . . , 0 repeat the following steps:(i) Let M (i) denote the set <strong>of</strong> ideals, which have been computed up to now. Viewthese ideals as ideals in R (i) .(ii) For any ideal J ⊂ R (i) in M (i) compute p R (i) /J(z). If p R (i) /J(z) = ∆ i p(z) − c J ,where c J ∈ N 0 , proceed as follows: Perform c J expansions <strong>of</strong> the last monomialgenerator in J, such that we obtain an ideal ˜J ⊂ R (i) with p R (i) / ˜J (z) = ∆i p(z)and the same double saturation as J. Replace J by ˜J in M (i) . Otherwise (i.e. ifp R (i) /J(z) ≠ ∆ i p(z) − c, for a c ∈ N 0 ) remove J from the set M (i) .(iii) For each ideal in M (i) use pairs <strong>of</strong> contractions and expansions as in Theorem3.32 to get all saturated stable ideals in R (i) with the same double saturationand the same Hilbert polynomial. Include these ideals into the set M (i) .(iv) If i ≥ 1, then set i to i − 1 and go back to step (i). If i = 0, then go to 3.3. Return the set M (0) <strong>of</strong> ideals in R with Hilbert polynomial p(z).Output. All saturated stable ideals in R with the given Hilbert polynomial.Pro<strong>of</strong>. (Correctness) Let p(z) be the Hilbert polynomial <strong>of</strong> R/I for I ⊂ R a saturatedstable ideal, d := deg p(z). The polynomial ∆p(z) := p(z) − p(z − 1) is the Hilbert polynomial<strong>of</strong> R (1) / sat xn−1 ,x n(I). This follows from the exact sequence we considered in the pro<strong>of</strong><strong>of</strong> Theorem 3.43. By the same arguments, ∆ 2 p(z) := ∆p(z) − ∆p(z − 1) is the Hilbertpolynomial <strong>of</strong> R (2) / sat xn−2 ,x n−1 ,x n(I), and in general ∆ i p(z) := ∆ i−1 p(z) − ∆ i−1 p(z − 1)is the Hilbert polynomial <strong>of</strong> R (i) / sat xn−i ,x n−i+1 ,...,x n−1 ,x n(I) for 0 ≤ i ≤ d. It is clear that∆ d p(z) = c for some c ∈ N 0 . If c ≠ 0, it follows from Theorem 2.25 and Lemma 3.41 thatwe can compute all saturated stable ideals with the same Hilbert polynomial as the uniquelexicographic ideal L ∆ d p in R (d) .We can view any <strong>of</strong> the saturated stable ideals computed in step 1 <strong>of</strong> the algorithm as adouble-saturated stable ideal in the polynomial ring with one more variable. Let J ⊂ R (d−1)be such an ideal as in step 2 (ii) <strong>of</strong> the algorithm. Since J equals its double saturation inR (d−1) , there is a finite sequence <strong>of</strong> expansions (see pro<strong>of</strong> <strong>of</strong> Theorem 3.43 and Lemma 3.17)such that we can compute some saturated stable ideal ˜J from J with pR/ ˜J(z) = ∆ d−1 p(z)(note that each expansion increases the constant term <strong>of</strong> the Hilbert polynomial by 1). Theexpansions can be performed in any such ideal, since by the definition <strong>of</strong> an expansion,e.g. the last monomial generator is always expandable (the right-shift <strong>of</strong> this monomial isnever contained in the ideal and the monomial itself is a generator <strong>of</strong> the ideal). Thus,we can compute all saturated stable ideals with the same double saturation and the sameHilbert polynomial as ˜J in R (d−1) .


74 CHAPTER 3. OPERATIONS ON STABLE IDEALSSince we can proceed this way with any <strong>of</strong> the ideals computed in step 1, we get allsaturated stable ideals to the given Hilbert polynomial ∆ d−1 p(z).By the same arguments it follows that for each i ∈ {d − 1, d − 2, . . . , 0} that we can successivelycompute all saturated stable ideals to the given Hilbert polynomial ∆ i p(z). Finally,when we reach the case i = 0, we have found all saturated stable ideals to the given Hilbertpolynomial ∆ 0 p(z) = p(z) in R (0) = R and we are done.The algorithm terminates for any given Hilbert polynomial, since the number <strong>of</strong> steps performedin 2 is bounded by the degree <strong>of</strong> the Hilbert polynomial and the number <strong>of</strong> idealscomputed in each loop is finite.Remark 3.46. Algorithm 3.45 differs from the algorithm presented by Alyson Reeves in[16]: There, special matrices encoding the set <strong>of</strong> monomial generators <strong>of</strong> a stable idealare used. On these matrices, a certain kind <strong>of</strong> elementary row operations is performedto compute the saturated stable ideals with the same Hilbert polynomial as the uniquelexicographic ideal L p but a different double saturation from that <strong>of</strong> L p .One problem to be solved then is that the correspondence between such matrices encodingstable ideals and the set <strong>of</strong> stable ideals itself (in a fixed polynomial ring) is not a bijection.The elementary row operations used may produce matrices, which do not encode anysaturated stable ideal. Hence, one needs a special procedure within the algorithm to checkwhether a given matrix represents a saturated stable ideal or not. To avoid this trial anderror technique, we did not make use <strong>of</strong> such matrices here.The number <strong>of</strong> all saturated stable ideals to a given Hilbert polynomial or, in particular thenumber <strong>of</strong> different double saturations appearing among these ideals, play an importantrole, when considering upper bounds on the number <strong>of</strong> components <strong>of</strong> the Hilbert scheme:In [17], Theorem 6, pp. 22-24, Alyson Reeves proved such an upper bound on the number <strong>of</strong>components <strong>of</strong> the Hilbert scheme (in the projective space P n to a given Hilbert polynomialp(z)). She shows that to a given double-saturated stable ideal L ⊂ R, all ideals in R,whose generic initial ideal equals L, lie on the same component <strong>of</strong> the Hilbert scheme asthe ideal L. Thus, the number <strong>of</strong> components <strong>of</strong> the Hilbert scheme is bounded by thenumber <strong>of</strong> double-saturated stable ideals I ⊂ R with p R/I (z) = p(z). Hence, by the pro<strong>of</strong><strong>of</strong> Theorem 3.43, it follows:Corollary 3.47. Let p(z) be a Hilbert polynomial. Then the number <strong>of</strong> components <strong>of</strong>the Hilbert scheme in the n-dimensional projective space P n associated to p(z) is boundedby the number <strong>of</strong> saturated stable ideals Ī ⊂ ¯R := K[x 0 , . . . , x n−1 ] with p ¯R/ Ī(z) = ∆p(z),where ∆p(z) := p(z) − p(z − 1).The above results complete the theoretical basis for the algorithms, which are introducedin the next chapter. There we will consider a few examples, in which we compute allsaturated stable ideals to a given Hilbert polynomial.


Chapter 4Algorithms for stable idealsWithin this chapter, we will use the results <strong>of</strong> the preceding three chapters to present algorithmsfor stable ideals. In Chapter 2 and Chapter 3, we described, how we can computeHilbert series and Hilbert polynomials <strong>of</strong> stable ideals. The algorithms stated there havealways been presented in pseudo code rather than in real programming code.In the course <strong>of</strong> this chapter, the algorithms will additionally be presented in real programmingcode. As a basis, the computer algebra system MuPAD is used. Its programminglanguage in its simplest form is quite similar to the original Pascal programming language.Thus, the code presented here will be quite easy to understand for anyone who is usedto Pascal or the programming language <strong>of</strong> any other <strong>of</strong> the well-known computer algebrasystems used today. Additional information on the MuPAD programming language can befound in the Official MuPAD Tutorial by W. Oevel et al., chapters 16, 17 and 18 (see also[15]). These chapters demonstrate in short how to use loops and if-then-else-constructionsin MuPAD and how to write own procedures. Since we will have to make frequent use <strong>of</strong>univariate polynomials within the implementations when dealing with Hilbert polynomialsand the numerators respectively denominators <strong>of</strong> Hilbert series, we also refer to [15],subsection 4.16, pp. 130-143. There, a short introduction to polynomials and their representationin MuPAD is given. Nevertheless, within the source code presented here, the use<strong>of</strong> high-level MuPAD library functions has been avoided wherever possible. Hence, somelines <strong>of</strong> code might look a little complicated and could be shortened by some <strong>of</strong> MuPAD’shigher functionality – in order to minimize the difficulties when carrying the code presentedhere to any other programming environment we may accept this partial lack <strong>of</strong> elegance.For a quick reference <strong>of</strong> the MuPAD procedures introduced within this chapter we refer tothe Glossary <strong>of</strong> MuPAD procedures, see page 129.The basic terminology established within the preceding chapters will also be used here.4.1 Computing Hilbert series <strong>of</strong> stable idealsIn Theorem 2.17, we presented an explicit formula to compute the Hilbert series H R/I (t)<strong>of</strong> R/I for I ⊂ R a stable ideal. Let I be generated minimally by m 1 , . . . , m r ∈ M,75


76 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSm 1 > m 2 > . . . > m r with respect to the lexicographic order, d i := deg m i , and letl i ∈ {0, . . . , n} be the index <strong>of</strong> the last variable appearing in m i . Then, by Theorem 2.17,the Hilbert series <strong>of</strong> R/I is given byH R/I (t) = 1 − ∑ ri=1 (1 − t)li · t d i(1 − t) n+1 .We will see below that the implementation <strong>of</strong> an algorithm, which computes the Hilbertseries H R/I (t) from the set <strong>of</strong> minimal generators <strong>of</strong> I goes straight forward.In the following source code we use lists to represent monomials, i.e. the monomialhas to be identified with the listx a 00 · x a 11 · . . . · x a n−1n−1 · x ann ∈ M[a 0 , a 1 , . . . , a n−1 , a n ].Then, the set <strong>of</strong> generators <strong>of</strong> any stable ideal can be encoded by a list <strong>of</strong> such lists.Note that (in our special situation) it is not a good choice, to encode the set <strong>of</strong> generators<strong>of</strong> an ideal by a set <strong>of</strong> lists instead <strong>of</strong> using a list <strong>of</strong> lists, because the elements <strong>of</strong> a set arenot ordered in MuPAD. Hence, it would be difficult to keep the monomials in lexicographicorder, which is necessary for most <strong>of</strong> the algorithms presented in the course <strong>of</strong> this chapter.The set <strong>of</strong> generators <strong>of</strong> any stable ideal appearing in this chapter will always be orderedwith respect to the lexicographic order.MuPAD Source Code 4.1. The MuPAD procedure below expects a list <strong>of</strong> lists encodingthe set <strong>of</strong> minimal generators <strong>of</strong> a stable ideal I and the index n <strong>of</strong> the last variable <strong>of</strong>R = K[x 0 , . . . , x n ]. It returns the non-reduced and the reduced Hilbert series <strong>of</strong> R/I.Input for the procedure compute Hilbert series.◦ M — a list <strong>of</strong> lists encoding the set <strong>of</strong> generators <strong>of</strong> some stable ideal in lexicographicorder◦ n — the index <strong>of</strong> the last variable <strong>of</strong> the polynomial ring ROutput <strong>of</strong> the procedure compute Hilbert series.◦ H — the numerator <strong>of</strong> the non-reduced Hilbert series◦ H red — the numerator <strong>of</strong> the reduced Hilbert series


4.1. COMPUTING HILBERT SERIES OF STABLE IDEALS 77compute_Hilbert_series:= proc(M, n)local di, li, monom, H, H_red, i, j;beginH:= poly(1,[t]);for i from 1 to nops(M) domonom:= M[i];for j from n+1 downto 1 do/* Determine index li <strong>of</strong> last variable in monom */if monom[j] 0 thenli:= j-1;break;end_if;end_for;/* Determine the degree <strong>of</strong> monom */di:= _plus(op(monom));H:= H - poly((1-t)^li * t^di,[t]);end_for;/* At this point H is the numerator <strong>of</strong> the non-reducedHilbert series. Now compute the numerator H_red <strong>of</strong>the reduced Hilbert series via gcd. */H_red:= H/gcd(H, poly((1-t)^(n+1), [t]));if H_red(0) = -1 thenH_red:= H_red * poly(-1, [t]);end_if;return(H, H_red);end_proc:To illustrate how to use the procedure, we consider a few examples where we compute theHilbert series <strong>of</strong> some stable ideals, which also occurred in some <strong>of</strong> the examples <strong>of</strong> thepreceding two chapters.Example 4.2. First, let R := K[x 0 , x 1 , x 2 ], i.e. n = 2. We will consider some “larger”examples below in (iii) and (iv).(i) Consider the stable ideal I 1 := (x 2 0, x 0 x 1 , x 2 1) ⊂ R. The set <strong>of</strong> generators is encoded bythe list <strong>of</strong> lists[[2, 0, 0], [1, 1, 0], [0, 2, 0]].The value <strong>of</strong> n is 2. Hence, we compute the Hilbert series <strong>of</strong> R/I 1 by the following simplecommand:


78 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSMuPAD>> compute_Hilbert_series([[2,0,0],[1,1,0],[0,2,0]], 2);Output3 2poly(2 t - 3 t + 1, [t]), poly(2 t + 1, [t])The output has to be understood as follows: The first expression is a univariate polynomialrepresenting the numerator <strong>of</strong> the non-reduced Hilbert series <strong>of</strong> R/I 1 in the variablet. The second expression is also a univariate polynomial in the variable t. It represents thenumerator <strong>of</strong> the reduced Hilbert series. Hence, 2t3 − 3t 2 + 1(1 − t) 3 is the non-reduced Hilbertseries <strong>of</strong> R/I 1 and 2t + 11 − t is the reduced Hilbert series <strong>of</strong> R/I 1.(ii) Let I 2 := (x 2 0, x 0 x 1 , x 0 x 2 , x 3 1). The set <strong>of</strong> generators is encoded byAgain with n = 2 we obtainMuPAD[[2, 0, 0], [1, 1, 0], [1, 0, 1], [0, 3, 0]].>> compute_Hilbert_series([[2,0,0],[1,1,0],[1,0,1],[0,3,0]], 2);Output3 2poly(2 t - 3 t + 1, [t]), poly(2 t + 1, [t])Thus, the non-reduced Hilbert series <strong>of</strong> R/I 2 is 2t3 − 3t 2 + 1and the reduced Hilbert series(1 − t) 3is given by 2t + 1 as in (i).1 − t(iii) Now, let R := K[x 0 , x 1 , x 2 , x 3 ] and I 3 := (x 0 , x 2 1, x 1 x 2 2, x 4 2). Then, we obtainMuPAD>> compute_Hilbert_series([[1,0,0,0],[0,2,0,0],[0,1,2,0],[0,0,4,0]],3);Output6 5 4 2 3 2poly(- t + t + t - t - t + 1, [t]), poly(t + 2 t + 2 t + 1, [t])i.e. −t6 + t 5 + t 4 − t 2 − t + 1is the non-reduced and t3 + 2t 2 + 2t + 1(1 − t) 4 1 − tseries <strong>of</strong> R/I 3 .the reduced Hilbert


4.2. COMPUTING HILBERT POLYNOMIALS OF STABLE IDEALS 79(iv) Again, we increase the number <strong>of</strong> variables <strong>of</strong> R by one, i.e. R := K[x 0 , x 1 , x 2 , x 3 , x 4 ],and consider the ideal I 4 := (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3).MuPAD>> compute_Hilbert_series([[1,0,0,0,0],[0,5,0,0,0],[0,4,3,0,0],>> [0,4,2,6,0]], 4);Output15 14 13 12 9 8 7 6 5poly(t - 3 t + 3 t - t - t + 2 t - t + t - t - t + 1, [t]),13 12 7 4 3 2poly(t - t - t + t + t + t + t + 1, [t])Thus, we see that the non-reduced Hilbert series <strong>of</strong> R/I 4 isand the reduced Hilbert series ist 15 − 3t 14 + 3t 13 − t 12 − t 9 + 2t 8 − t 7 + t 6 − t 5 − t + 1(1 − t) 5t 13 − t 12 − t 7 + t 4 + t 3 + t 2 + t + 1(1 − t) 3 .The next section is dedicated to the computation <strong>of</strong> Hilbert polynomials <strong>of</strong> stable ideals.4.2 Computing Hilbert polynomials <strong>of</strong> stable idealsSince we can compute the Hilbert series <strong>of</strong> R/I for I ⊂ R an arbitrary stable ideal, we cannow present the source code to compute the Hilbert polynomial <strong>of</strong> R/I due to Theorem2.27 and Algorithm 2.29: Letk∑g(t) = C i · t i ,g(1) ≠ 0, be the numerator <strong>of</strong> the reduced Hilbert seriesi=0H R/I (t) =g(t)(1 − t) d<strong>of</strong> R/I. Then the Hilbert polynomial <strong>of</strong> R/I can be obtained byk∑( )z + d − 1 − jp R/I (z) = C j ·.d − 1j=0The source code <strong>of</strong> how to obtain the Hilbert polynomial p R/I (z) is given below. It makesuse <strong>of</strong> 4.1 to compute the Hilbert series <strong>of</strong> R/I first.


80 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSMuPAD Source Code 4.3. As in 4.1, the procedure expects a list <strong>of</strong> lists encoding theset <strong>of</strong> minimal generators <strong>of</strong> a stable ideal I (ordered with respect to the lexicographicorder) and the index n <strong>of</strong> the last variable <strong>of</strong> the polynomial ring R. It outputs the Hilbertpolynomial <strong>of</strong> R/I.Input for the procedure compute Hilbert polynomial.◦ M — a list <strong>of</strong> lists encoding the set <strong>of</strong> generators <strong>of</strong> some stable ideal in lexicographicorder◦ n — the index <strong>of</strong> the last variable <strong>of</strong> the polynomial ring ROutput <strong>of</strong> the procedure compute Hilbert polynomial.◦ p — the Hilbert polynomial <strong>of</strong> R/I, where I is the ideal generated by the monomialsin Mcompute_Hilbert_polynomial:= proc(M, n)local H, g, d, p, j;begin/* First use ’compute_Hilbert_series’ with input M and nto determine the numerator <strong>of</strong> the reduced Hilbertseries and the value <strong>of</strong> d, i.e. the power <strong>of</strong> (1-t) inthe denominator <strong>of</strong> the Hilbert series */H:= compute_Hilbert_series(M, n);d:= n + 1 - (degree(op(H,1)) - degree(op(H,2)));g:= op(H,2);/* Use g and d to compute the Hilbert polynomial bythe above formula */p:= poly(0, [z]);for j from 0 to degree(g) dop:= p + poly(expand(coeff(g,j)*binomial(z+d-1-j,d-1)),[z]);end_for;return(p);end_proc:The above procedure together with 4.1 gives a possible implementation <strong>of</strong> Algorithm 2.29,where the ideas used here were stated in pseudo code.We will now compute the Hilbert polynomials <strong>of</strong> R/I 1 , R/I 2 , R/I 3 and R/I 4 for the ideals<strong>of</strong> Example 4.2.


4.2. COMPUTING HILBERT POLYNOMIALS OF STABLE IDEALS 81Example 4.4. Let R := K[x 0 , x 1 , x 2 ], i.e. n = 2.(i) The Hilbert polynomial <strong>of</strong> R/I 1 for I 1 = (x 2 0, x 0 x 1 , x 2 1) is computed byMuPAD>> compute_Hilbert_polynomial([[2,0,0],[1,1,0],[0,2,0]], 2);Outputpoly(3, [z])Thus, we obtain p R/I (z) = 3.(ii) The Hilbert polynomial <strong>of</strong> R/I 2 for I 2 = (x 2 0, x 0 x 1 , x 0 x 2 , x 3 1) isMuPAD>> compute_Hilbert_polynomial([[2,0,0],[1,1,0],[1,0,1],[0,3,0]], 2);Outputpoly(3, [z])i.e. p R/I2 (z) = p R/I1 (z) = 3, as expected.(iii) Now, as in Example 4.2 (iii), let R := K[x 0 , x 1 , x 2 , x 3 ]. The Hilbert polynomial <strong>of</strong>R/I 3 , where I 3 = (x 0 , x 2 1, x 1 x 2 2, x 4 2), is obtained byMuPAD>> compute_Hilbert_polynomial([[1,0,0,0],[0,2,0,0],[0,1,2,0],>> [0,0,4,0]], 3);Outputpoly(6, [z])i.e. p R/I3 (z) = 6.(iv) Finally, let R := K[x 0 , x 1 , x 2 , x 3 , x 4 ] and I 4 := (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3). In this case,the Hilbert polynomial <strong>of</strong> R/I 4 is not a constant term. Its degree is 2, as we can easily seeby using the procedure stated in 4.3.


82 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSMuPAD>> compute_Hilbert_polynomial([[1,0,0,0,0],[0,5,0,0,0],[0,4,3,0,0],>> [0,4,2,6,0]], 4);Output2poly(2 z+ 2 z + 1, [z])i.e. p R/I4 (z) = 2z 2 + 2z + 1, as expected, since I 4 is the lexicographic ideal L p associatedto the Hilbert polynomial p(z) = 2z 2 + 2z + 1 by Theorem 2.25.Later, we need an algorithm, which computes the Hilbert polynomial from a given reducedHilbert series. Thus, we also give a slightly different version <strong>of</strong> the source code presentedin 4.3.MuPAD Source Code 4.5. The procedure below expects as input the numerator <strong>of</strong> areduced Hilbert series and the power d <strong>of</strong> (1 − t) in its denominator. It computes theHilbert polynomial associated to the numerator H <strong>of</strong> the Hilbert series.Input for the procedure compute Hilbert polynomial2.◦ H — the numerator <strong>of</strong> a reduced Hilbert series◦ d — the power <strong>of</strong> (1 − t) in the denominator <strong>of</strong> the Hilbert seriesOutput <strong>of</strong> the procedure compute Hilbert polynomial2.◦ p — the Hilbert polynomial <strong>of</strong> R/I, where I is the ideal generated by the monomialsin Mcompute_Hilbert_polynomial2:= proc(H, d)local p, j;begin/* H is the numerator <strong>of</strong> a reduced Hilbert series andd the power <strong>of</strong> (1-t) in the denominator <strong>of</strong> the Hilbertseries. */p:= poly(0, [z]);for j from 0 to degree(H) dop:= p + poly(expand(coeff(H,j)*binomial(z+d-1-j,d-1)),[z]);end_for;return(p);end_proc:


4.3. COMPUTING THE LEXICOGRAPHIC IDEAL L P 83Since the code is nearly identical to that <strong>of</strong> 4.3, we do not consider any examples to demonstrateits use – an application <strong>of</strong> 4.5 is given in a later section, where we compute Hilbertfunctions.The computation <strong>of</strong> the lexicographic ideal L p to a given Hilbert polynomial p(z) is theaim <strong>of</strong> the next section.4.3 Computing the lexicographic ideal L pIn Theorem 2.25, we defined the unique lexicographic L p to a given Hilbert polynomial p(z)such that p(z) = p R/Lp (z). By Remark 1.11, there are integers m 0 ≥ m 1 ≥ . . . ≥ m deg p ≥ 0such that we can write p(z) in the formp(z) = g(m 0 , . . . , m deg p ; z) :=deg p∑i=0( ) z + i−i + 1( z + i − mii + 1From m 0 , . . . , m deg p , we compute the values <strong>of</strong> the integers a 0 , . . . , a r , such that, by Theorem2.25, L p is generated minimally by the set{x 0 , x 1 , . . . , x n−r−2 ,x ar+1n−r−1,x arn−r−1 · x a r−1+1n−r ,x arn−r−1 · x a r−1n−r · x a r−2+1n−r+1 , . . . ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 2n−3 · x a 1+1n−2 ,x arn−r−1 · x a r−1n−r · x a r−2n−r+1 · . . . · x a 1n−2 · x a 0n−1}and a r = m r , a r−1 = m r−1 − m r , . . . , a 0 = m 0 − m 1 .The following algorithm (in pseudo code) computes the lexicographic ideal L p to a givenHilbert polynomial p(z).Algorithm 4.6. (Computation <strong>of</strong> the lexicographic ideal L p ) Let p(z) be the Hilbert polynomial<strong>of</strong> R/I for I ⊂ R a homogeneous saturated ideal. First we describe the algorithmin pseudo code to illustrate the ideas used. Then we present a possible MuPAD implementation.Input. p(z), a Hilbert polynomial and n, the index <strong>of</strong> the last variable <strong>of</strong> R.(i) Compute the values <strong>of</strong> m 0 , . . . , m deg p by Remark 1.11.(ii) From m 0 , . . . , m deg p compute the values <strong>of</strong> a 0 , . . . , a deg p with respect to Theorem 2.25.(iii) Compute the set <strong>of</strong> minimal generators <strong>of</strong> L p by Theorem 2.25.).


84 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSOutput. Set <strong>of</strong> minimal generators <strong>of</strong> the ideal L p .Pro<strong>of</strong>. (Correctness) By Remark 1.11 and Theorem 2.25, the algorithm is correct.MuPAD Source Code 4.7. A possible implementation <strong>of</strong> Algorithm 4.6 is the following,where we use lists to represent monomials as in 4.1 and 4.3. The procedure expects aHilbert polynomial p and the index <strong>of</strong> the last variable <strong>of</strong> R and outputs the set <strong>of</strong> generators<strong>of</strong> the unique lexicographic ideal L p .Input for the procedure compute L p.◦ p — the Hilbert polynomial <strong>of</strong> R/I◦ n — the index <strong>of</strong> the last variable <strong>of</strong> the polynomial ring ROutput <strong>of</strong> the procedure compute L p.◦ L p — a list <strong>of</strong> lists encoding the set <strong>of</strong> minimal generators <strong>of</strong> the lexicographic idealL p associated to pcompute_L_p:= proc(p, n)local indet, coeff, deg, m, a, L_p, monom, cnt, i;beginindet:= op(p)[2][1];deg:= degree(p);m:= [0 $ deg + 1];a:= m;/* Compute the m_i’s */for i from deg downto 1 docoeff:= lcoeff(p);m[i+1]:= i! * coeff;p:= p - poly(expand(binomial(indet + i, i+1)),[indet])+ poly(expand(binomial(indet + i - m[i+1], i+1)),[indet]);end_for;m[1]:= op(p)[1];/* Compute the a_i’s */a[deg + 1]:= m[deg + 1];for i from deg - 1 downto 0 do


4.3. COMPUTING THE LEXICOGRAPHIC IDEAL L P 85a[i+1]:= m[i+1] - m[i+2];end_for;/* Construction <strong>of</strong> the set <strong>of</strong> minimal generators <strong>of</strong> L_p */L_p:= [];for i from 0 to n-deg-2 domonom:= [0 $ i, 1, 0 $ n-i];L_p:= append(L_p, monom);end_for;cnt:= 0;if n-deg-1


86 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSwhenever the value <strong>of</strong> the integer a 0 equals 0 or the Hilbert polynomial is a constantpolynomial. Hence, in this case we have to remove the monomial x a 00 · x a 11 · . . . · x a 2+1n−2 fromthe set <strong>of</strong> generators. This monomial corresponds to x 3 1 in our example.We now use the code listed in 4.7 to compute the lexicographic ideals to the Hilbertpolynomials <strong>of</strong> Example 2.26.Example 4.8. Let R := K[x 0 , x 1 , x 2 , x 3 ], i.e. n = 3.(i) p(z) = 2z + 1.MuPAD>> compute_L_p(poly(2*z+1,[z]), 3);Output[[1, 0, 0, 0], [0, 2, 0, 0]]Indeed, the two lists [1, 0, 0, 0] and [0, 2, 0, 0] correspond to the monomials x 0 , x 2 1, i.e. L p =(x 0 , x 2 1).(ii) p(z) = 3z + 1.MuPAD>> compute_L_p(poly(3*z+1,[z]), 3);Output[[1, 0, 0, 0], [0, 4, 0, 0], [0, 3, 1, 0]]i.e. the lexicographic ideal L p is generated by x 0 , x 4 1 and x 3 1x 2 .(iii) p(z) = 2z 2 + 2z + 1 and R := K[x 0 , x 1 , x 2 , x 3 , x 4 ], i.e. n = 4.MuPAD>> compute_L_p(poly(2*z^2 + 2*z + 1,[z]), 4);Output[[1, 0, 0, 0, 0], [0, 5, 0, 0, 0], [0, 4, 3, 0, 0], [0, 4, 2, 6, 0]]i.e. L p = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3). As we can see, the lexicographic ideals computed via 4.7equal those <strong>of</strong> Example 2.26.In all <strong>of</strong> these examples, we can enlarge the value <strong>of</strong> n to obtain the specific lexicographicideal in a polynomial ring with more variables. One can see that there will be exactly one


4.4. COMPUTING EXPANSIONS AND CONTRACTIONS 87more variable included into the set <strong>of</strong> generators <strong>of</strong> the unique lexicographic ideal L p if weincrease the value <strong>of</strong> n by 1:(iv) p(z) = 2z 2 + 2z + 1 and R := K[x 0 , x 1 , x 2 , x 3 , x 5 ], i.e. n = 5.MuPAD>> compute_L_p(poly(2*z^2 + 2*z + 1,[z]), 5);Output[[1, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0], [0, 0, 5, 0, 0, 0],[0, 0, 4, 3, 0, 0], [0, 0, 4, 2, 6, 0]]i.e. L p = (x 0 , x 1 , x 5 2, x 4 2x 3 3, x 4 2x 2 3x 6 4).4.4 Computing expansions and contractionsIn the last section <strong>of</strong> Chapter 3, we frequently used expansions and contractions <strong>of</strong> monomialsas one <strong>of</strong> the central tools to prove that all saturated stable ideals with the same Hilbertpolynomial (and the same double saturation) are linked to each other by expansions andcontractions. Furthermore, we saw in Corollary 3.37 that to a given Hilbert polynomialp(z), we can compute all unique lexicographic ideals L H to Hilbert series H(t) associatedto the Hilbert polynomial p(z) from the unique lexicographic ideal L p by expansions andcontractions. Within this section we present the MuPAD source code to compute expansionsand contractions with the computer algebra system.Again we will use lists to encode monomials and a list <strong>of</strong> lists to encode the set <strong>of</strong> generators<strong>of</strong> any stable ideal.MuPAD Source Code 4.9. The procedure below presents a possible implementation <strong>of</strong>the expansion <strong>of</strong> a monomial m ∈ M in a stable ideal I ⊂ R. The input for the procedureis defined to be the set <strong>of</strong> minimal generators M <strong>of</strong> a stable ideal I in descending lexicographicorder, a monomial m, which is expandable in I, and the index n <strong>of</strong> the last variablein R. It returns a list <strong>of</strong> lists encoding the new set <strong>of</strong> minimal generators in lexicographicorder.Input for the procedure compute expansion.◦ M — a list <strong>of</strong> lists encoding the set <strong>of</strong> generators <strong>of</strong> some stable ideal in lexicographicorder◦ m — a list encoding the monomial to be expanded◦ n — the index <strong>of</strong> the last variable <strong>of</strong> the polynomial ring R


88 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSOutput <strong>of</strong> the procedure compute expansion.◦ M — a list <strong>of</strong> lists, representing the set <strong>of</strong> minimal generators <strong>of</strong> the input ideal inlexicographic order after the expansion <strong>of</strong> the monomial mcompute_expansion:= proc(M, m, n)local newMonomials, last, mon, Ind, del, v, i, ind, j, monomial;begin/* Compute the set <strong>of</strong> new monomials to be included intothe set M <strong>of</strong> minimal generators. Hence, first computethe index ’last’ <strong>of</strong> the last variable occurring in m */for i from n+1 downto 0 doif m[i] 0 thenlast:= i;break;end_if;end_for;newMonomials:= [0 $ n-last+1];for i from last to n domon:= m;mon[i]:= mon[i] + 1;newMonomials[i-last+1]:= mon;end_for;/* Testing for minimality, i.e. removing all monomials,which are no longer minimal generators <strong>of</strong> the ideal */Ind:= {};for monomial in newMonomials d<strong>of</strong>or j from contains(M,m) + 1 to nops(M) dodel:= {};for i from 1 to n+1 doif monomial[i] - M[j][i] > 0 thendel:= del union {1};elif monomial[i] - M[j][i] < 0 thendel:= del union {-1};end_if;end_for;if contains(del, 1) = FALSE orcontains(del, -1) = FALSE then


4.4. COMPUTING EXPANSIONS AND CONTRACTIONS 89Ind:= Ind union {j};end_if;end_for;end_for;v:= 0;for ind in Ind doM[ind-v]:= null();v:= v+1;end_for;/* Delete m from M and insert the set <strong>of</strong> newminimal generators into M */M:= [ M[j] $ j = 1..contains(M,m)-1,op(newMonomials),M[j] $ j = contains(M,m)+1..nops(M) ];return(M);end_proc:Although the above lines might look a little complicated, this is not really the case. Thecomputation <strong>of</strong> the set <strong>of</strong> minimal generators after performing the expansion <strong>of</strong> somemonomial m uses nothing more than the original definition <strong>of</strong> the expansion. The only fact,which makes the source code look more complicated than perhaps expected is that we haveto check if all monomials, which are minimal generators in the set M before the expansion,are still minimal generators after expanding m. To guarantee that the procedure alwaysreturns a set <strong>of</strong> minimal generators again, it suffices to consider all monomials m ′ ∈ M tothe right <strong>of</strong> m. Hence, we check for all <strong>of</strong> these monomials m ′ in M, if they are divisibleby any <strong>of</strong> the monomials, which are included into M by the expansion <strong>of</strong> m. If this is thecase, we can remove such elements m ′ from M. Some examples will illustrate the use <strong>of</strong>this new procedure.Example 4.10. We consider the ideals I 1 := (x 2 0, x 0 x 1 , x 0 x 2 , x 3 1) ⊂ K[x 0 , x 1 , x 2 , x 3 ] andI 2 := (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3) ⊂ K[x 0 , x 1 , x 2 , x 3 , x 4 ].(i) First we expand the monomial x 0 x 2 in I 1 :MuPAD>> compute_expansion([[2,0,0,0],[1,1,0,0],[1,0,1,0],[0,3,0,0]],>> [1,0,1,0], 3);Output[[2, 0, 0, 0], [1, 1, 0, 0], [1, 0, 2, 0], [0, 3, 0, 0]]


90 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSIndeed, the expansion <strong>of</strong> x 0 x 2 in I 1 just replaces the monomial generator x 0 x 2 by x 0 x 2 2,which provides the ideal (x 2 0, x 0 x 1 , x 0 x 2 2, x 3 1).(ii) The expansion <strong>of</strong> x 0 in I 2 can be computed as follows:MuPAD>> compute_expansion([[1,0,0,0,0],[0,5,0,0,0],[0,4,3,0,0],[0,4,2,6,0]],>> [1,0,0,0,0], 4);Output[[2, 0, 0, 0, 0], [1, 1, 0, 0, 0], [1, 0, 1, 0, 0], [1, 0, 0, 1, 0],[0, 5, 0, 0, 0], [0, 4, 3, 0, 0], [0, 4, 2, 6, 0]]As expected, the ideal obtained is (x 2 0, x 0 x 1 , x 0 x 2 , x 0 x 3 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3).(iii) The expansion <strong>of</strong> x 4 1x 2 2x 6 3 in I 2 should increase the exponent <strong>of</strong> x 3 by 1:MuPAD>> compute_expansion([[1,0,0,0,0],[0,5,0,0,0],[0,4,3,0,0],[0,4,2,6,0]],>> [0,4,2,6,0], 4);Output[[1, 0, 0, 0, 0], [0, 5, 0, 0, 0], [0, 4, 3, 0, 0], [0, 4, 2, 7, 0]]As we see, the monomial x 4 1x 2 2x 6 3 has been replaced by x 4 1x 2 2x 7 3, such that we obtain the theideal (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 7 3).Similar to 4.9, we will now give the source code to compute the contraction <strong>of</strong> a monomialin a stable ideal. As in 4.9, the code is simply based on the definition <strong>of</strong> a contraction.Again, we will have to check if the set <strong>of</strong> minimal generators <strong>of</strong> a given stable ideal is stilla set <strong>of</strong> minimal generators after the contraction <strong>of</strong> some monomial. If this is not the case,we have to remove those monomials, which are divisible by other monomials in the set <strong>of</strong>generators.MuPAD Source Code 4.11. As in 4.9, let M denote the set <strong>of</strong> minimal generators <strong>of</strong>some stable ideal ordered in descending lexicographic order, m the monomial to be contractedand n the index <strong>of</strong> the last variable in R. The procedure below expects M, m,and n as input and returns a list <strong>of</strong> lists encoding the new set <strong>of</strong> minimal generators inlexicographic order.Input for the procedure compute contraction.◦ M — a list <strong>of</strong> lists encoding the set <strong>of</strong> generators <strong>of</strong> some stable ideal in lexicographicorder


4.4. COMPUTING EXPANSIONS AND CONTRACTIONS 91◦ m — a list encoding the monomial to be contracted◦ n — the index <strong>of</strong> the last variable <strong>of</strong> the polynomial ring ROutput <strong>of</strong> the procedure compute contraction.◦ M — a list <strong>of</strong> lists, representing the set <strong>of</strong> minimal generators <strong>of</strong> the input ideal inlexicographic order after the contraction <strong>of</strong> the monomial mcompute_contraction:= proc(M, m, n)local last, mon, Ind, del, v, i, ind, j;begin/* Determine the index ’last’ <strong>of</strong> the last variableoccurring in m */for i from n+1 downto 0 doif m[i] 0 thenlast:= i;break;end_if;end_for;mon:= m;mon[last]:= mon[last] + 1;M[contains(M, mon)]:= m;for i from last+1 to n domon:= m;mon[i]:= mon[i] + 1;v:= contains(M, mon);if v > 0 thenM[v]:= null();end_if;end_for;/* Testing for minimality, i.e. removing all monomials,which are no longer minimal generators <strong>of</strong> the ideal */v:= contains(M, m);Ind:= {};del:= {};for j from 1 to last-1 d<strong>of</strong>or i from 1 to n+1 do


92 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSif m[i] - M[j][i] > 0 thendel:= del union {1};elif m[i] - M[j][i] < 0 thendel:= del union {-1};end_if;end_for;if contains(del, 1) = FALSE orcontains(del, -1) = FALSE thenInd:= Ind union {j};end_if;end_for;v:= 0;for ind in Ind doM[ind-v]:= null();v:= v+1;end_for;return(M);end_proc:The above procedure only uses the original definition <strong>of</strong> the contraction <strong>of</strong> a monomial.Again, as in 4.9, we wish to guarantee that the set <strong>of</strong> monomials returned by the algorithmis again a set <strong>of</strong> minimal generators. Hence, we first include m into the set M (note thatsince we contract m, m itself is not an element <strong>of</strong> the input set M) and then check if anymonomial m ′ to the left <strong>of</strong> m is divisible by m. If this is the case, we can remove m ′ fromM.Again, we consider a few examples:Example 4.12. Let R := K[x 0 , x 1 , x 2 , x 3 , x 4 ], i.e. n = 4.(i) Consider the ideal I 1 := (x 2 0, x 0 x 1 , x 0 x 2 , x 0 x 3 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3). Contraction <strong>of</strong> x 0 ispossible and providesMuPAD>> compute_contraction([[2,0,0,0,0],[1,1,0,0,0],[1,0,1,0,0],>> [1,0,0,1,0],[0,5,0,0,0],[0,4,3,0,0],>> [0,4,2,6,0]],>> [1,0,0,0,0], 4);Output[[1, 0, 0, 0, 0], [0, 5, 0, 0, 0], [0, 4, 3, 0, 0], [0, 4, 2, 6, 0]]


4.4. COMPUTING EXPANSIONS AND CONTRACTIONS 93i.e. the ideal (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3).(ii) Contraction <strong>of</strong> x 4 1x 3 2 in I 2 := (x 0 , x 5 1, x 4 1x 4 2, x 4 1x 3 2x 3 , x 4 1x 2 2x 6 3) providesMuPAD>> compute_contraction([[1,0,0,0,0],[0,5,0,0,0],[0,4,4,0,0],>> [0,4,3,1,0],[0,4,2,6,0]],>> [0,4,3,0,0], 4);Output[[1, 0, 0, 0, 0], [0, 5, 0, 0, 0], [0, 4, 3, 0, 0], [0, 4, 2, 6, 0]]which is the same ideal we obtained in (i).(iii) As a last example, we consider I 3the monomial x 4 1x 2 2.MuPAD:= (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 3 ), where we can contract>> compute_contraction([[1,0,0,0,0],[0,5,0,0,0],[0,4,3,0,0],>> [0,4,2,1,0]],>> [0,4,2,0,0], 4);Output[[1, 0, 0, 0, 0], [0, 5, 0, 0, 0], [0, 4, 2, 0, 0]]The output ideal is (x 0 , x 5 1, x 4 1x 2 ), where not only the monomial x 4 1x 2 2x 3 has been removedfrom the set <strong>of</strong> generators <strong>of</strong> I 3 , but also x 4 1x 3 2, which is no longer a minimal generator,since it is divisible by x 4 1x 2 2.Note that within the procedures 4.9 and 4.11, we did not check whether the monomials areexpandable or contractible in the ideal generated by the set M. Hence, we should only apply4.9 and 4.11 to ideals I and monomials m, where we know that m is expandable respectivelycontractible in the ideal I. In most cases, we know that the monomials considered areexpandable or contractible – in the last section <strong>of</strong> Chapter 3, we frequently used the factthat for instance the first monomial (with respect to the lexicographic order) containingthe last variable x n−1 in a set <strong>of</strong> minimal generators <strong>of</strong> a saturated stable ideal is alwayscontractible (see Lemma 3.17 and Remark 3.18). Hence, under this special conditions, thereis no need to check for contractibility. Later, we will be interested to get all expandablemonomials in a given set <strong>of</strong> minimal generators <strong>of</strong> a saturated stable ideal. Thus, in thiscase we need a procedure to check for the expandability <strong>of</strong> a given monomial. For the sake<strong>of</strong> completeness, we do not only state the code to check for the expandability, but also forthe contractibility <strong>of</strong> some monomial. We will make use <strong>of</strong> these procedures later.


94 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSMuPAD Source Code 4.13. As in 4.9 and 4.11, let M denote a set <strong>of</strong> minimal generators<strong>of</strong> a saturated stable ideal (ordered with respect to the lexicographic order), m amonomial and n the index <strong>of</strong> the last variable <strong>of</strong> R. The procedure below checks for theexpandability <strong>of</strong> the monomial m in the ideal generated by M and returns “TRUE” if mis expandable and “FALSE”, otherwise.Input for the procedure test expandable.◦ M — a list <strong>of</strong> lists encoding the set <strong>of</strong> generators <strong>of</strong> some stable ideal in lexicographicorder◦ m — a list encoding a monomial◦ n — the index <strong>of</strong> the last variable <strong>of</strong> the polynomial ring ROutput <strong>of</strong> the procedure test expandable.◦ TRUE or FALSE — TRUE, if the monomial m is expandable in the ideal generated byM, and FALSE, otherwisetest_expandable:= proc(M, m, n)local RightShift, mon, last, i, j;begin/* If m is not contained in M, then returnFALSE (i.e. m is not expandable) */if contains(M, m) = 0 thenreturn(FALSE);end_if;/* Compute the right-shift <strong>of</strong> the monomial m.Therefore, first compute the index <strong>of</strong> thethe last variable in m */for i from n+1 downto 1 doif m[i] 0 thenlast:= i;break;end_if;end_for;RightShift:= {};for i from 1 to last do


4.4. COMPUTING EXPANSIONS AND CONTRACTIONS 95if m[i] > 0 thenmon:= m;mon[i]:= mon[i] - 1;mon[i+1]:= mon[i+1] + 1;RightShift:= RightShift union {mon};for j from i+1 to last doif m[j] = 0 thenmon:= m;mon[i]:= mon[i] - 1;mon[j+1]:= mon[j+1] + 1;RightShift:= RightShift union {mon};elsebreak;end_if;end_for;end_if;end_for;/* If any element <strong>of</strong> the right-shift is contained inthe set <strong>of</strong> minimal generators M <strong>of</strong> the idealconsidered, return FALSE (i.e. the monomial is notexpandable), otherwise return TRUE (i.e. the monomialis expandable). */for i from 1 to nops(RightShift) doif contains(M, RightShift[i]) > 0 thenreturn(FALSE);end_if;end_for;return(TRUE);end_proc:MuPAD Source Code 4.14. With the same notation as in 4.13, the following procedurechecks whether the monomial m is contractible in the ideal generated by the set M. Itreturns “TRUE” if m is contractible and “FALSE” if this is not the case.Input for the procedure test contractible.◦ M — a list <strong>of</strong> lists encoding the set <strong>of</strong> generators <strong>of</strong> some stable ideal in lexicographicorder◦ m — a list encoding a monomial◦ n — the index <strong>of</strong> the last variable <strong>of</strong> the polynomial ring R


96 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSOutput <strong>of</strong> the procedure test contractible.◦ TRUE or FALSE — TRUE, if the monomial m is contractible in the ideal generated byM, and FALSE, otherwisetest_contractible:= proc(M, m, n)local LeftShift, mon, mon1, mon2, last, pos,contractible, cnt, i, j, k;begin/* If m is contained in M return FALSE(i.e. the monomial is not contractible) */if contains(M, m) > 0 thenreturn(FALSE);end_if;/* Compute the index <strong>of</strong> the last variable <strong>of</strong> mand the left-shift <strong>of</strong> m */for i from n+1 downto 0 doif m[i] 0 thenlast:= i;break;end_if;end_for;/* If m multiplied by its last variable is notcontained in M, then also return FALSE */mon:= m;mon[last]:= mon[last] + 1;pos:= contains(M, mon);if pos = 0 thenreturn(FALSE);end_if;/* Compute the left-shift <strong>of</strong> m and check whetherit is contained in the ideal */LeftShift:= {};for i from last downto 2 doif m[i] > 0 then


4.4. COMPUTING EXPANSIONS AND CONTRACTIONS 97mon:= m;mon[i]:= mon[i] - 1;mon[i-1]:= mon[i-1] + 1;LeftShift:= LeftShift union {mon};for j from i-1 downto 2 doif m[j] = 0 thenmon:= m;mon[i]:= mon[i] - 1;mon[j-1]:= mon[j-1] + 1;LeftShift:= LeftShift union {mon};elsebreak;end_if;end_for;end_if;end_for;/* Since the set M is ordered with respect to thelexicographic order, it suffices to check, whetherall elements <strong>of</strong> LeftShift are divisible by one <strong>of</strong>the monomials to the left <strong>of</strong> m.By ’pos’ we denote the position <strong>of</strong> this monomial(see above). */contractible:= FALSE;cnt:= nops(LeftShift);for i from 1 to nops(LeftShift) domon1:= LeftShift[i];for j from pos downto 1 domon2:= M[j];for k from n+1 downto 1 doif mon1[k] - mon2[k] >= 0 thencontractible:= TRUE;elsecontractible:= FALSE;break;end_if;end_for;if contractible = TRUE thencnt:= cnt - 1;break;end_if;


98 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSend_for;end_for;if cnt = 0 thenreturn(TRUE);else return(FALSE);end_if;end_proc:The use <strong>of</strong> procedures 4.13 and 4.14 is demonstrated by the following short examples – wewill see, how they are used in the context <strong>of</strong> the algorithm to compute all saturated stableideals to a given Hilbert polynomial in the next section.Example 4.15. We consider the ideal I := (x 2 0, x 0 x 1 , x 0 x 2 , x 3 1) ⊂ K[x 0 , x 1 , x 2 , x 3 ].(i) The monomial x 2 1 is contractible in IMuPAD>> test_contractible([[2,0,0,0],[1,1,0,0],[1,0,1,0],[0,3,0,0]],>> [0,2,0,0], 3);OutputTRUEbut it is not expandable in IMuPAD>> test_expandable([[2,0,0,0],[1,1,0,0],[1,0,1,0],[0,3,0,0]],>> [0,2,0,0], 3)OutputFALSEas the above lines suggest.(ii) The monomial x 3 1 is expandable in IMuPAD>> test_expandable([[2,0,0,0],[1,1,0,0],[1,0,1,0],[0,3,0,0]],>> [0,3,0,0], 3)OutputTRUE


4.5. COMPUTING STABLE IDEALS TO A GIVEN HILBERT POLYNOMIAL 99but not contractible in I:MuPAD>> test_contractible([[2,0,0,0],[1,1,0,0],[1,0,1,0],[0,3,0,0]],>> [0,3,0,0], 3)OutputFALSE4.5 Computing stable ideals to a given Hilbert polynomialWithin this section we come to the main result <strong>of</strong> this thesis – the algorithm to computeall saturated stable ideals to a given Hilbert polynomial.In Chapter 3, Theorem 3.32 states that all saturated stable ideals with the same doublesaturation and the same Hilbert polynomial are linked by finite sequences <strong>of</strong> paired contractionsand expansions. In the following we present an algorithm to compute all saturatedstable ideals with the same double saturation and the same Hilbert polynomial as a givensaturated stable ideal I. Since the source code is a little more complicated than that, wepresented in the preceding sections, we first give the algorithm in pseudo code, so that thesingle steps and the ideas behind it become clear.Algorithm 4.16. (Computation <strong>of</strong> all saturated stable ideals with the same Hilbert polynomialand the same double saturation) Let I ⊂ R be a saturated stable ideal. The followingalgorithm computes all saturated stable ideals with the same Hilbert polynomial and thesame double saturation as I.Input. A saturated stable ideal I.1. Set M := {I}.2. Find all contractible monomials m 1 , . . . , m s in I, which contain the last variable x n−1 .For each <strong>of</strong> these monomials, compute the contraction. This provides a set <strong>of</strong> idealsJ 1 , . . . , J s .3. For i = 1, . . . , s repeat the following steps: Find all expandable monomials ˜m 1 , . . . , ˜m tiin J i . For each <strong>of</strong> the monomials ˜m 1 , . . . , ˜m ti , compute the expansion. This providesa set <strong>of</strong> ideals ˜J i1 , . . . , ˜J iki . Include those ideals into the set M, which are not yetcontained in M.4. If no more ideals have been included into the set M within step 3, stop the computation.Otherwise perform step 2 and 3 for each <strong>of</strong> the ideals ˜J i1 , . . . , ˜J iki , i = 1, . . . , s,which have been included into the set M in step 3.


100 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSOutput. The set M, i.e. all saturated stable ideals with the same double saturation andthe same Hilbert polynomial as I.Pro<strong>of</strong>. (Correctness) By Theorem 3.32, the algorithm finds all saturated stable ideals withthe same double saturation and the same Hilbert polynomial. The set M contains – ateach step <strong>of</strong> computation – a subset <strong>of</strong> all saturated stable ideals with the same Hilbertpolynomial and the same double saturation as the input ideal I. The number <strong>of</strong> elements <strong>of</strong>M increases strictly monotonic within each round <strong>of</strong> the algorithm. Since the number <strong>of</strong> allsaturated stable ideals with the same Hilbert polynomial and the same double saturationas the ideal I is finite, it terminates.Note that we can use 4.7 to compute the unique lexicographic ideal L p associated to theHilbert polynomial p(z). Thus, if we combine 4.7 with an implementation <strong>of</strong> the abovealgorithm, we obtain all saturated stable ideals with the same Hilbert polynomial andthe same double saturation as the unique lexicographic ideal L p associated to p(z). TheMuPAD source code is listed below. Steps 2 and 3 <strong>of</strong> the above algorithm are realized byusing the procedures presented in 4.13 and 4.14, whereas step 4 is done by recursive calls<strong>of</strong> the procedure itself.MuPAD Source Code 4.17. This procedure expects two arguments: J has to be a list<strong>of</strong> lists encoding a saturated stable ideal and n is the index <strong>of</strong> the last variable <strong>of</strong> R. Theoutput is a set <strong>of</strong> lists, each encoding the set <strong>of</strong> minimal generators <strong>of</strong> a stable ideal.Input for the procedure compute ideals.◦ J — a list <strong>of</strong> lists encoding the set <strong>of</strong> generators <strong>of</strong> some saturated stable ideal inlexicographic order◦ n — the index <strong>of</strong> the last variable <strong>of</strong> the polynomial ring ROutput <strong>of</strong> the procedure compute ideals.◦ IdealSet — a set <strong>of</strong> lists <strong>of</strong> lists, encoding all saturated stable ideals with the samedouble saturation and the same Hilbert polynomial as the input ideal Jcompute_ideals:= proc(J, n)local expandable, i, j, Ideal, mon, contractMon,posIdeal, IdealSet, tmp, included;beginIdealSet:= {};/* Find all monomial generators in J with the last variablex_{n-1}. These are the monomials, which will be usedfor the contractions. */


4.5. COMPUTING STABLE IDEALS TO A GIVEN HILBERT POLYNOMIAL 101contractMon:= 0;for j from nops(J) downto 1 doif J[j][n] > 0 thencontractMon:= J[j];break;end_if;end_for;/* If there is no monomial contractible, return theset, which contains only the input ideal */if contractMon = 0 thenreturn({J});end_if:/* Find all expandable monomials in the set <strong>of</strong> generators.Use procedure ’test_expandable’ to check, whether any <strong>of</strong>the monomials generators is expandable. */expandable:= {};for i from 1 to nops(J) doif test_expandable(J, J[i], n) = TRUE andcontains(J, contractMon) > i thenexpandable:= expandable union {J[i]};end_if;end_for;contractMon[n]:= contractMon[n] - 1;included:= FALSE;/* Perform all possible pairs <strong>of</strong> contractions andexpansions, if the set ’expandable’ <strong>of</strong> expandablemonomials is not the empty set*/if expandable {} thenfor mon in expandable doif test_contractible(J, contractMon, n) = TRUE andtest_expandable(compute_contraction(J, contractMon, n),mon, n) = TRUE thenIdeal:= compute_contraction(J, contractMon, n);


102 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSIdeal:= compute_expansion(Ideal, mon, n);if not contains(IdealSet, Ideal) thenIdealSet:= IdealSet union {Ideal};included:= TRUE;end_if;elsenext;end_if;end_for;/* Compute all other saturated stable ideals with thesame Hilbert polynomial and the same double saturationas the input ideal J recursively. */if included = TRUE thenfor posIdeal in IdealSet dotmp:= compute_ideals(posIdeal, n);IdealSet:= IdealSet union tmp;end_for;end_if;end_if;return(IdealSet union {J});end_proc:We demonstrate the use <strong>of</strong> procedure 4.17 by an example adapted from [16], Chapter 3,Example 2, pp. 25,26 :Example 4.18. Let R := K[x 0 , x 1 , x 2 , x 3 , x 4 ] and p(z) := 4z + 1. First, we compute theunique lexicographic ideal L p via procedure 4.7:MuPAD>> L_p:= compute_L_p(poly(4*z + 1, [z]), 4);Output[[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 5, 0, 0], [0, 0, 4, 3, 0]]i.e. L p = (x 0 , x 1 , x 5 2, x 4 2x 3 3). Now we can use procedure 4.17 to compute all saturated stableideals with the same double saturation and the same Hilbert polynomial as L p .


4.5. COMPUTING STABLE IDEALS TO A GIVEN HILBERT POLYNOMIAL 103MuPAD>> M:= compute_ideals(L_p, 4);Output{[[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 5, 0, 0], [0, 0, 4, 3, 0]],[[1, 0, 0, 0, 0], [0, 2, 0, 0, 0], [0, 1, 1, 0, 0], [0, 1, 0, 3, 0],[0, 0, 4, 0, 0]], [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 6, 0, 0],[0, 0, 5, 1, 0], [0, 0, 4, 2, 0]], [[1, 0, 0, 0, 0], [0, 2, 0, 0, 0],[0, 1, 2, 0, 0], [0, 1, 1, 1, 0], [0, 1, 0, 2, 0], [0, 0, 4, 0, 0]],[[1, 0, 0, 0, 0], [0, 2, 0, 0, 0], [0, 1, 1, 0, 0], [0, 1, 0, 1, 0],[0, 0, 5, 0, 0], [0, 0, 4, 2, 0]], [[1, 0, 0, 0, 0], [0, 2, 0, 0, 0],[0, 1, 1, 0, 0], [0, 1, 0, 2, 0], [0, 0, 5, 0, 0], [0, 0, 4, 1, 0]],[[2, 0, 0, 0, 0], [1, 1, 0, 0, 0], [1, 0, 1, 0, 0], [1, 0, 0, 1, 0],[0, 2, 0, 0, 0], [0, 1, 1, 0, 0], [0, 1, 0, 2, 0], [0, 0, 4, 0, 0]],[[2, 0, 0, 0, 0], [1, 1, 0, 0, 0], [1, 0, 1, 0, 0], [1, 0, 0, 1, 0],[0, 2, 0, 0, 0], [0, 1, 1, 0, 0], [0, 1, 0, 1, 0], [0, 0, 5, 0, 0],[0, 0, 4, 1, 0]]}>> nops(M);Output8By the command nops(M), we determine the number <strong>of</strong> ideals found by procedure 4.17:We have found 8 ideals, which fulfill the above conditions on the Hilbert polynomial andthe double saturation. These ideals equal those computed by Alyson Reeves in [16], seeChapter 3, Example 2, pp. 25,26.Example 4.19. Let R := K[x 0 , x 1 , x 2 , x 3 , x 4 ] and p(z) = 2z 2 + 2z + 1. Then there are 77saturated stable ideals to the given Hilbert polynomial and with the same double saturationas the unique lexicographic ideal L p associated to p(z). It does not really make sense tolist all these ideals. Thus, we use a colon to complete the input line, which suppresses theoutput in MuPAD:


104 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSMuPAD>> L_p:= compute_L_p(poly(2*z^2 + 2*z + 1, [z]), 4):>> nops(compute_ideals(L_p, 4));Output77In the next section, we take advantage <strong>of</strong> procedure 4.17 to compute all Hilbert seriesassociated to a given Hilbert polynomial.The last part <strong>of</strong> this section is dedicated to an implementation <strong>of</strong> Algorithm 3.45, i.e. thenext procedure can be used to compute all saturated stable ideals to a given Hilbertpolynomial.MuPAD Source Code 4.20. Let p be the Hilbert polynomial <strong>of</strong> R/I for I ⊂ R a saturatedstable ideal and n the index <strong>of</strong> the last variable <strong>of</strong> R. The procedure below outputsall saturated stable ideals to the Hilbert polynomial p in R. If one uses the option ’All’as third argument for the procedure, it additionally returns the set and the number <strong>of</strong> alldouble saturations <strong>of</strong> the saturated stable ideals associated to the Hilbert polynomial p.Input for the procedure compute all ideals.◦ p — the Hilbert polynomial <strong>of</strong> R/I◦ n — the index <strong>of</strong> the last variable <strong>of</strong> the polynomial ring R◦ All — an optional, third input parameter (for details, see description <strong>of</strong> the output<strong>of</strong> the procedure below)Output <strong>of</strong> the procedure compute all ideals.◦ M — a set <strong>of</strong> lists <strong>of</strong> lists, encoding all saturated stable ideals J ⊂ R with p R/J (z) =p(z).◦ Sat — a set <strong>of</strong> lists <strong>of</strong> lists, encoding all possible double saturations (as ideals in ¯R :=K[x 0 , . . . , x n−1 ]). Note that Sat will only be returned, if the third input parameterAll is used.◦ cnt — the number <strong>of</strong> elements <strong>of</strong> the set Sat. Note that cnt will only be returned,if the third input parameter All is used.compute_all_ideals:= proc(p, n /*, All */)local d, pList, i, L, j, M, MM, Ideal, p1, p2, steps, J, tmp,Sat, deg, Id, k;begin


4.5. COMPUTING STABLE IDEALS TO A GIVEN HILBERT POLYNOMIAL 105d:= 1;deg:= degree(p);pList:= [p, 0 $ deg];/* ’pList’ will contain the set <strong>of</strong> the ’Delta polynomials’, i.e.pList = [ p,Delta^1(z) = p(z) - p(z-1),Delta^2(z) = Delta^1(z) - Delta^1(z-1). . .. . .. . .Delta^m(z) = Delta^(m-1)(z) - Delta^(m-1)(z-1)]*/while poly(expand(p(z) - p(z-1)), [z]) poly(0, [z]) dod:= d + 1;p:= poly(expand(p(z) - p(z-1)), [z]);pList[d]:= p;end_while;/* Compute the unique lexicographic ideal L associated to theHilbert polynomial ’pList[d]’ in R = K[x_0,...,x_{n-d+1}]. */L:= compute_L_p(pList[d], n-d+1);/* Use procedure ’compute_ideals’ to compute all saturated stableideals with the same Hilbert polynomial as L in R.From now on we collect all computed ideals in the set M. */M:= compute_ideals(L, n-d+1);d:= d-1;/* Treat the special cases for constant and linear Hilbert polynomials:deg = 0 -- the Hilbert polynomial is constant. Hence, the doublesaturation <strong>of</strong> all ideals computed equals the wholepolynomial ring.deg = 1 -- the Hilbert polynomial is linear. Thus, the set Mcontains all possible double saturations <strong>of</strong> the idealsassociated to the Hilbert polynomial at this time.The case with deg > 1 is treated below within the for-loop */if deg = 0 and args(0) = 3 and args(3) = hold(All) thenprint(Unquoted, "constant Hilbert polynomial: the double saturation");


106 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSprint(Unquoted, "<strong>of</strong> all ideals to the given Hilbert polynomial");print(Unquoted, "equals the whole ring");return(M);end_if;if deg = 1 and args(0) = 3 and args(3) = hold(All) thencnt:= nops(M);Sat:= M;end_if;/* Successively compute all saturated ideals */for i from d+1 downto 2 do/* Consider the elements <strong>of</strong> M as ideals in the polynomialring with one more variable (lifting-process) */M:= map(M, Ideal -> map(Ideal, ind -> [op(ind), 0]));/* Compute the Hilbert polynomials and perform expansionsif necessary. */p1:= pList[i-1];tmp:= {};for Ideal in M dop2:= compute_Hilbert_polynomial(Ideal, n-i+2);steps:= p1 - p2;if degree(steps) = 0 and op(steps, 1) > 0 thenM:= M minus {Ideal};J:= Ideal;for j from 1 to op(steps, 1) doJ:= compute_expansion(J, J[nops(J)], n-i+2);end_for;tmp:= tmp union {J};elif degree(steps) > 0 or op(steps, 1) < 0 thenM:= M minus {Ideal};if i = 2 and deg > 1 thenId:= map(Ideal, ind -> [ind[k] $ k = 1..n]);Sat:= Sat minus {Id};end_if;end_if;end_for;


4.5. COMPUTING STABLE IDEALS TO A GIVEN HILBERT POLYNOMIAL 107/* Include the lately computed ideals into the set M. */M:= M union tmp;MM:= M;/* Use procedure ’compute_ideals’ to find all saturatedideals with the same Hilbert polynomial and the samedouble saturation recursively. */for Ideal in MM doM:= M union compute_ideals(Ideal, n-i+2);end_for;/* If i = 3 and deg > 1 the set M contains all possibledouble saturations. */if i = 3 and deg > 1 thenSat:= M;end_if:end_for;if args(0) = 3 and args(3) = hold(All) thenreturn(M, Sat, nops(Sat))elsereturn(M);end_if;end_proc:The example below is again adapted from [16], Chapter 3, Example 2, pp. 25,26.Example 4.21. Let p(z) = 4z + 1 and R := K[x 0 , x 1 , x 2 , x 3 , x 4 ]. Then we can computeall saturated stable ideals J ⊂ R, such that p R/J (z) = p(z), as follows:MuPAD>> compute_all_ideals(poly(4*z + 1, [z]), 4);Output{[[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 5, 0, 0], [0, 0, 4, 3, 0]],[[1, 0, 0, 0, 0], [0, 2, 0, 0, 0], [0, 1, 1, 0, 0], [0, 0, 4, 0, 0],[0, 0, 3, 1, 0]], [[1, 0, 0, 0, 0], [0, 2, 0, 0, 0], [0, 1, 1, 0, 0],


108 CHAPTER 4. ALGORITHMS FOR STABLE IDEALS[0, 1, 0, 3, 0], [0, 0, 4, 0, 0]], [[1, 0, 0, 0, 0], [0, 2, 0, 0, 0],[0, 1, 2, 0, 0], [0, 1, 1, 1, 0], [0, 0, 3, 0, 0]],[[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 6, 0, 0], [0, 0, 5, 1, 0],[0, 0, 4, 2, 0]], [[2, 0, 0, 0, 0], [1, 1, 0, 0, 0], [1, 0, 1, 0, 0],[0, 2, 0, 0, 0], [0, 1, 1, 0, 0], [0, 0, 2, 0, 0]],[[1, 0, 0, 0, 0], [0, 2, 0, 0, 0], [0, 1, 2, 0, 0], [0, 1, 1, 1, 0],[0, 1, 0, 2, 0], [0, 0, 4, 0, 0]], [[1, 0, 0, 0, 0], [0, 2, 0, 0, 0],[0, 1, 1, 0, 0], [0, 1, 0, 1, 0], [0, 0, 5, 0, 0], [0, 0, 4, 2, 0]],[[1, 0, 0, 0, 0], [0, 2, 0, 0, 0], [0, 1, 1, 0, 0], [0, 1, 0, 2, 0],[0, 0, 5, 0, 0], [0, 0, 4, 1, 0]], [[2, 0, 0, 0, 0], [1, 1, 0, 0, 0],[1, 0, 1, 0, 0], [1, 0, 0, 1, 0], [0, 2, 0, 0, 0], [0, 1, 1, 0, 0],[0, 0, 3, 0, 0]], [[2, 0, 0, 0, 0], [1, 1, 0, 0, 0], [1, 0, 1, 0, 0],[1, 0, 0, 1, 0], [0, 2, 0, 0, 0], [0, 1, 1, 0, 0], [0, 1, 0, 2, 0],[0, 0, 4, 0, 0]], [[2, 0, 0, 0, 0], [1, 1, 0, 0, 0], [1, 0, 1, 0, 0],[1, 0, 0, 1, 0], [0, 2, 0, 0, 0], [0, 1, 1, 0, 0], [0, 1, 0, 1, 0],[0, 0, 5, 0, 0], [0, 0, 4, 1, 0]]}>> nops(%);Output12We have computed 12 saturated stable ideals with the given Hilbert polynomial. Again,as in Example 4.18, these ideals equal those, computed by Alyson Reeves in [16].In Example 4.18, we saw that there are 8 saturated stable ideals with the same Hilbertpolynomial and the same double saturation as the unique lexicographic ideal L p associatedto the Hilbert polynomial p(z) = 4z+1. The above lines show that there are four saturatedstable ideals with the given Hilbert polynomial but a double saturation, which differs fromthe double saturation <strong>of</strong> L p .


4.5. COMPUTING STABLE IDEALS TO A GIVEN HILBERT POLYNOMIAL 109These four ideals are given by (x 2 0, x 0 x 1 , x 0 x 2 , x 0 x 3 , x 2 1, x 1 x 2 , x 3 2), (x 2 0, x 0 x 1 , x 0 x 2 , x 2 1, x 1 x 2 , x 2 2),(x 0 , x 2 1, x 1 x 2 2, x 1 x 2 x 3 , x 3 2), (x 0 , x 2 1, x 1 x 2 , x 4 2, x 3 2x 3 ). Hence, the different double saturations,which appear among all saturated stable ideals to the Hilbert polynomial p(z) = 4z + 1,are (x 0 , x 1 , x 4 2) (this is the double saturation <strong>of</strong> the unique lexicographic ideal associatedto p(z)), (x 0 , x 2 1, x 1 x 2 , x 3 2) and (x 2 0, x 0 x 1 , x 0 x 2 , x 2 1, x 1 x 2 , x 2 2) (these two double saturationsbelong to the four ideals stated above, whose double saturation differs from that <strong>of</strong> theunique lexicographic ideal). We can compute these four ideals as follows:MuPAD>> M:= compute_all_ideals(poly(4*z + 1, [z]), 4, All):>> M[2];Output{[[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 4, 0]],[[1, 0, 0, 0], [0, 2, 0, 0], [0, 1, 1, 0], [0, 0, 3, 0]],[[2, 0, 0, 0], [1, 1, 0, 0], [1, 0, 1, 0], [0, 2, 0, 0], [0, 1, 1, 0],[0, 0, 2, 0]]}>> M[3];Output3The set <strong>of</strong> lists M[2] encodes exactly those double saturations stated above. The valueM[3] gives us the number <strong>of</strong> elements <strong>of</strong> the set M[2], i.e. the number <strong>of</strong> all differentdouble saturations appearing among all saturated stable ideals associated to the Hilbertpolynomial p(z).Example 4.22. Consider p(z) := 2z 2 + 2z + 1 and R := K[x 0 , x 1 , x 2 , x 3 , x 4 ]. In Example4.19, we saw that there are 77 saturated stable ideals with the same Hilbert polynomialand the same double saturation as the unique lexicographic ideal L p .Now we compute the number <strong>of</strong> all saturated stable ideals to the given Hilbert polynomial:MuPAD>> nops(compute_all_ideals(poly(2*z^2 + 2*z + 1, [z]), 4));Output84i.e. there are 84 saturated stable ideals to the given Hilbert polynomial. Hence, among


110 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSthese one can find seven saturated stable ideals, whose double saturation differs from thedouble saturation <strong>of</strong> the ideal L p .The set and the number <strong>of</strong> different double saturations, which appear among all saturatedstable ideals to the Hilbert polynomial p(z), is given byMuPAD>> M:= compute_all_ideals(poly(2*z^2 + 2*z + 1, [z]), 4, All):>> M[2];Output{[[2, 0, 0, 0], [1, 1, 0, 0], [0, 3, 0, 0]],[[1, 0, 0, 0], [0, 5, 0, 0], [0, 4, 2, 0]],[[2, 0, 0, 0], [1, 1, 0, 0], [1, 0, 2, 0], [0, 4, 0, 0]],[[2, 0, 0, 0], [1, 1, 0, 0], [1, 0, 1, 0], [0, 5, 0, 0], [0, 4, 1, 0]]}>> M[3];Output4As we can see, there are four different double saturations:I 1 :=(x 2 0, x 0 x 1 , x 3 1),I 2 :=(x 0 , x 5 1, x 4 1x 2 2),I 3 :=(x 2 0, x 0 x 1 , x 0 x 2 2, x 4 1),I 4 :=(x 2 0, x 0 x 1 , x 0 x 2 , x 5 1, x 4 1x 2 ).The ideal I 2 is the double saturation <strong>of</strong> the unique lexicographic ideal L p associated top(z) = 2z 2 + 2z + 1, since L p = (x 0 , x 5 1, x 4 1x 3 2, x 4 1x 2 2x 6 3) and we obtain sat x3 ,x 4(L p ) by settingx 4 := 1 as well as x 3 := 1 in the set <strong>of</strong> minimal generators <strong>of</strong> L p . This providessat x3 ,x 4(L p ) = I 2 .To obtain an impression <strong>of</strong> the geometric objects corresponding to R/I 1 , R/I 2 , R/I 3 andR/I 4 , we consider the primary decompositions <strong>of</strong> the ideals I 1 , I 2 , I 3 and I 4 :I 1 – The ideal I 1 is a primary ideal to the prime ideal Rad I 1 = (x 0 , x 1 ). Hence, R/I 1defines an irreducible surface in 4-dimensional projective space P 4 .I 2 – This ideal is not a primary ideal. Its primary decomposition is given byI 2 = (x 0 , x 4} {{ 1) ∩ (x} 0 , x 5 1, x 2} {{ 2)}=:q 2,1=:q 2,2.


4.5. COMPUTING STABLE IDEALS TO A GIVEN HILBERT POLYNOMIAL 111The associated prime ideals are Rad q 2,1 = (x 0 , x 1 ) and Rad q 2,2 = (x 0 , x 1 , x 2 ). Hence,R/q 2,1 describes an irreducible surface and R/q 2,2 a curve support on a line in P 4 .Thus, R/I 2 corresponds to the union <strong>of</strong> a surface and a curve in P 4 , where the curveis embedded into the support <strong>of</strong> the surface.I 3 – Again, as the ideal I 2 , I 3 is not a primary ideal. Its primary decomposition isI 3 = (x 0 , x 4} {{ 1) ∩ (x 2} 0, x 0 x 1 , x 4 1, x 2} {{ 2)}=:q 3,1=:q 3,2,where Rad q 3,1 = (x 0 , x 1 ) and Rad q 3,2 = (x 0 , x 1 , x 2 ). It follows that R/q 3,1 againdefines an irreducible surface and R/q 3,2 describes a curve support on a line. Hence,R/I 3 corresponds to the union <strong>of</strong> a surface and a curve in P 4 , where the curve isembedded into the support <strong>of</strong> the surface.I 4 – The ideal I 4 is also not a primary ideal. The primary decomposition is given byI 4 = (x 0 , x 4} {{ 1) ∩ (x 2} 0, x 0 x 1 , x 5 1, x 2 )} {{ }=:q 4,1=:q 4,2.We obtain Rad q 4,1 = (x 0 , x 1 ) and Rad q 4,2 = (x 0 , x 1 , x 2 ). As above, R/q 4,1 definesan irreducible surface. R/q 4,2 defines a curve support on a line, such that – as in theupper cases – R/I 4 corresponds to the union <strong>of</strong> a surface and a curve in P 4 , wherethe curve is embedded into the support <strong>of</strong> the surface.Note that we have q 2,1 = q 3,1 = q 4,1 = (x 0 , x 4 1), i.e. the ideal (x 0 , x 4 1) appears is any <strong>of</strong> theprimary decompositions <strong>of</strong> I 2 , I 3 and I 4 . As we saw above, R/(x 0 , x 4 1) defines an irreduciblesurface <strong>of</strong> degree 4. Although, (x 0 , x 4 1) does not appear in a primary decomposition <strong>of</strong> I 1(I 1 is a primary ideal itself), we saw that I 1 also defines a irreducible surface <strong>of</strong> degree 4.In order to distinguish between the geometric objects defined by R/I 1 , R/I 2 , R/I 3 andR/I 4 , we additionally compute their Hilbert polynomials and the first 10 values <strong>of</strong> theirHilbert functions: We obtain (e.g. by using procedure compute Hilbert polynomial presentedin 4.3):p R/I1 (z) = 2z 2 + 2z + 1, p R/I2 (z) = 2z 2 + 2z − 5,p R/I3 (z) = 2z 2 + 2z + 1, p R/I4 (z) = 2z 2 + 2z − 1.As expected, the four Hilbert polynomials only differ within their constant terms. Wehave p R/I1 (z) = p R/I3 (z), whereas p R/I2 (z) and p R/I4 (z) differ from each other and fromthe Hilbert polynomial <strong>of</strong> R/I 1 respectively R/I 3 . To see, from which point on the values<strong>of</strong> the Hilbert functions equal those <strong>of</strong> the Hilbert polynomial (the differences have beenunderlined below), we state the first ten values <strong>of</strong> the Hilbert functions <strong>of</strong> R/I 1 , R/I 2 , R/I 3


112 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSand R/I 4 as well as the corresponding values <strong>of</strong> the Hilbert polynomial⎧1 if j = 05 if j = 113 if j = 225 if j = 3⎪⎨41 if j = 4h R/I1 (j) =61 if j = 585 if j = 6113 if j = 7145 if j = 8⎪⎩181 if j = 9⎧1 if z = 05 if z = 113 if z = 225 if z = 3⎪⎨41 if z = 4p R/I1 (z) =61 if z = 585 if z = 6113 if z = 7145 if z = 8⎪⎩181 if z = 9⎧1 if j = 04 if j = 110 if j = 220 if j = 3⎪⎨35 if j = 4h R/I2 (j) =55 if j = 579 if j = 6107 if j = 7139 if j = 8⎪⎩175 if j = 9⎧−5 if z = 0−1 if z = 17 if z = 219 if z = 3⎪⎨35 if z = 4p R/I2 (z) =55 if z = 579 if z = 6107 if z = 7139 if z = 8⎪⎩175 if z = 9⎧1 if j = 05 if j = 113 if j = 225 if j = 3⎪⎨41 if j = 4h R/I3 (j) =61 if j = 585 if j = 6113 if j = 7145 if j = 8⎪⎩181 if j = 9⎧1 if z = 05 if z = 113 if z = 225 if z = 3⎪⎨41 if z = 4p R/I3 (z) =61 if z = 585 if z = 6113 if z = 7145 if z = 8⎪⎩181 if z = 9


4.5. COMPUTING STABLE IDEALS TO A GIVEN HILBERT POLYNOMIAL 113⎧1 if j = 05 if j = 112 if j = 223 if j = 3⎪⎨39 if j = 4h R/I4 (j) =59 if j = 583 if j = 6111 if j = 7143 if j = 8⎪⎩179 if j = 9⎧−1 if z = 03 if z = 111 if z = 223 if z = 3⎪⎨39 if z = 4p R/I4 (z) =59 if z = 583 if z = 6111 if z = 7143 if z = 8⎪⎩179 if z = 9(Later within 4.28 we present a procedure to compute the values <strong>of</strong> the Hilbert function toa given reduced Hilbert series <strong>of</strong> R/I for I ⊂ R = K[x 0 , . . . , x n ] a saturated homogeneousideal. This procedure has been used to compute the values <strong>of</strong> the Hilbert functions above.)It is amazing that the values h R/I1 (j) and h R/I3 (j), j = 0, 1, . . . , 9, equal those <strong>of</strong> thecorresponding Hilbert polynomial p R/I1 (z) = p R/I3 (z), z = 0, 1, . . . , 9. In the case <strong>of</strong> R/I 2we have h R/I2 (j) ≠ p R/I2 (j) for j = 0, 1, 2, 3 and h R/I2 (j) = p R/I2 (j) for j = 4, 5, . . . , 9.Finally for R/I 4 we obtain h R/I4 (j) ≠ p R/I4 (j) for j = 0, 1, 2 and h R/I4 (j) = p R/I4 (j) forj = 3, 4, . . . , 9.Comparing the values <strong>of</strong> the Hilbert functions <strong>of</strong> R/I 1 , R/I 2 , R/I 3 and R/I 4 in a fixeddegree j ∈ {0, 1, 2, . . . , 9}, we can see that we haveh R/I2 (j) ≤ h R/I4 (j) ≤ h R/I1 (j) = h R/I3 (j)for all j and even h R/I2 (j) < h R/I4 (j) for j ∈ {1, 2, . . . , 9}. Hence, we have a uniquely determinedminimal Hilbert function h R/I2 among all the double saturations I 1 , I 2 , I 3 and I 4appearing among the saturated stable ideals to the Hilbert polynomial p(z) = 2z 2 + 2z + 1.This minimal Hilbert function belongs to R/I 2 , where I 2 is the double saturation <strong>of</strong> theunique lexicographic ideal L p associated to the Hilbert polynomial p(z). This agrees withthe characterization <strong>of</strong> the ideal L p in Corollary 3.40 (ii).From this special example we additionally conclude that there may not be a uniquelydetermined ideal I with maximal Hilbert function <strong>of</strong> R/I, where I is a double saturationappearing among all saturated stable ideals to a given Hilbert polynomial. In our case,the Hilbert functions <strong>of</strong> R/I 1 and R/I 3 are both maximal in the sense <strong>of</strong> our comparisonabove.In the next section we present the source code <strong>of</strong> a procedure to compute all Hilbert seriesassociated to a given Hilbert polynomial.


114 CHAPTER 4. ALGORITHMS FOR STABLE IDEALS4.6 Computing all Hilbert series to a given HilbertpolynomialIn Chapter 2, Theorem 2.21 states that there is a unique lexicographic ideal L H to anyHilbert series H R/I (t) <strong>of</strong> R/I for I ⊂ R a saturated homogeneous ideal. We stated a pseudocode algorithm to compute all Hilbert series to a given Hilbert polynomial in Chapter 3,Algorithm 3.39. There we used the unique lexicographic ideal L p associated to p(z) to findall lexicographic ideals L H associated to Hilbert series H(t), such that p R/LH (z) = p(z).By Corollary 3.37, the lexicographic ideals to any Hilbert series associated to p(z) can becomputed by procedure 4.17. Thus, we can use this procedure to compute all such lexicographicideals to all possible Hilbert series associated to the given Hilbert polynomialp(z). Then we find all such possible Hilbert series by simply computing the Hilbert series<strong>of</strong> any <strong>of</strong> the ideals found by procedure 4.17.An implementation <strong>of</strong> this algorithm is listed below.MuPAD Source Code 4.23. Let p be the Hilbert polynomial <strong>of</strong> R/I for I ⊂ R asaturated stable ideal and n the index <strong>of</strong> the last variable <strong>of</strong> R. The following procedureexpects two or three arguments.By using it with only the two arguments p and n, it computes the numerators <strong>of</strong> all reducedHilbert series associated to p. If one uses the additional third argument ’All’, it doesnot only compute the reduced, but also the non-reduced numerators <strong>of</strong> the Hilbert seriesassociated to p.Input for the procedure compute all Hilbert series.◦ p — the Hilbert polynomial <strong>of</strong> R/I◦ n — the index <strong>of</strong> the last variable <strong>of</strong> the polynomial ring R◦ All — an optional, third input parameter (for details, see description <strong>of</strong> the output<strong>of</strong> the procedure below)Output <strong>of</strong> the procedure compute all Hilbert series.◦ Hilbert series — a set <strong>of</strong> polynomials, encoding the numerators <strong>of</strong> all Hilbert series(in reduced representation) associated to p. If the additional third input parameterAll is used, then the procedure also returns the numerators <strong>of</strong> the non-reducedHilbert series. In this case, Hilbert series is a set <strong>of</strong> lists, where each list containsas first entry the non-reduced, and as second entry the reduced representation <strong>of</strong> theHilbert series associated to p.compute_all_Hilbert_series:= proc(p, n /*, All*/)local L_p, Ideals, Hilbert_series, i;


4.6. COMPUTING ALL HILBERT SERIES TO A HILBERT POLYNOMIAL 115begin/* Use procedure ’compute_L_p’ to compute the unique lexicographicideal L_p associated to the Hilbert polynomial p. */L_p:= compute_L_p(p, n);/* Use procedure ’compute_ideals’ to compute all saturatedstable ideals with the same Hilbert polynomial and thesame double saturation as L_p. */Ideals:= compute_ideals(L_p, n);/* Use procedure ’compute_Hilbert_series’ to compute all possibleHilbert series. If the third argument ’All’ is used, then computethe numerators <strong>of</strong> the reduced and the non-reduced Hilbert seriesfor each ideal. Otherwise, only compute the reduced numerators. */Hilbert_series:= [0 $ nops(Ideals)];if args(0) = 3 and args(3) = hold(All) thenfor i from 1 to nops(Ideals) doHilbert_series[i]:= [compute_Hilbert_series(Ideals[i], n)];end_for;elsefor i from 1 to nops(Ideals) doHilbert_series[i]:= op(compute_Hilbert_series(Ideals[i], n),2);end_for;end_if;return({op(Hilbert_series)});end_proc:Example 4.24. Again, let us consider p(z) = 4z + 1 and R := K[x 0 , x 1 , x 2 , x 3 , x 4 ]. Wewant to compute the numerators <strong>of</strong> all reduced Hilbert series H(t) associated to the Hilbertpolynomial p(z).Note that we do not use the additional third parameter ’All’ in the call <strong>of</strong> the procedurecompute all Hilbert series below. In general, it suffices to know the numerators<strong>of</strong> any <strong>of</strong> the reduced Hilbert series associated to p(z).


116 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSMuPAD>> compute_all_Hilbert_series(poly(4*z + 1, [z]), 4);Output3 2{poly(3 t + 1, [t]), poly(- t + 2 t + 2 t + 1, [t]),4 3 2poly(- t + t + t + 2 t + 1, [t]),5 4 2poly(- t + t + t + 2 t + 1, [t]),6 4 3poly(- t + t + t + 2 t + 1, [t]),5 4 3 2poly(- t + t + t - t + 3 t + 1, [t]),7 4 3 2poly(- t + t + t + t + t + 1, [t]),6 5 4 3 2poly(- 2 t + t + t + t + t + t + 1, [t])}The above results equal those computed by Alyson Reeves in [16] (see Chapter 3, Example2, pp. 25,26 ).If we want to compute the numerators <strong>of</strong> the non-reduced Hilbert series as well, we proceedas follows:MuPAD>> compute_all_Hilbert_series(poly(4*z + 1, [z]), 4, All);Output4 3 2{[poly(- 3 t + 8 t - 6 t + 1, [t]), poly(3 t + 1, [t])],6 5 4 3 2[poly(t - 5 t + 7 t - 2 t - t - t + 1, [t]),3 2poly(- t + 2 t + 2 t + 1, [t])], [poly(7 6 5 4 3 2t - 4 t + 5 t - 3 t + 3 t - 2 t - t + 1, [t]),


4.6. COMPUTING ALL HILBERT SERIES TO A HILBERT POLYNOMIAL 1174 3 2poly(- t + t + t + 2 t + 1, [t])],8 7 6 4 3 2[poly(t - 4 t + 5 t - 8 t + 12 t - 7 t + 1, [t]),5 4 3 2poly(- t + t + t - t + 3 t + 1, [t])],8 7 6 5 4 3 2[poly(t - 4 t + 6 t - 5 t + 2 t + 2 t - 2 t - t + 1, [t]),5 4 2poly(- t + t + t + 2 t + 1, [t])],9 8 7 6 4 3 2[poly(t - 3 t + 2 t + t - 4 t + 6 t - 3 t - t + 1, [t]),6 4 3poly(- t + t + t + 2 t + 1, [t])],9 8 7 6 2[poly(2 t - 7 t + 8 t - 3 t + t - 2 t + 1, [t]),6 5 4 3 2poly(- 2 t + t + t + t + t + t + 1, [t])],10 9 8 7 6 5 2[poly(t - 3 t + 3 t - 2 t + 2 t - t + t - 2 t + 1, [t]),7 4 3 2poly(- t + t + t + t + t + 1, [t])]}Now the set returned by the procedure consists <strong>of</strong> lists each containing two polynomials –the first polynomial is the numerator <strong>of</strong> the non-reduced Hilbert series, the second one thenumerator <strong>of</strong> the reduced Hilbert series (which had already been computed above).Since we can now compute all Hilbert series associated to a given Hilbert polynomial,we might be interested in computing all Hilbert functions associated to a specific Hilbertpolynomial. Thus, in the following section <strong>of</strong> the chapter we give an algorithm, whichcomputes the values <strong>of</strong> the Hilbert function from a given Hilbert series. In general, itsuffices to know the Hilbert series in order to compute the values <strong>of</strong> the Hilbert function –we will see that we can again benefit from our characterization <strong>of</strong> the lexicographic idealL p associated to some Hilbert polynomial p(z) to optimize our algorithm. Together withthe algorithm to compute all Hilbert series from a specific Hilbert polynomial discussedwithin this section, we obtain the possibility to compute all Hilbert functions to a givenHilbert polynomial.


118 CHAPTER 4. ALGORITHMS FOR STABLE IDEALS4.7 Computing all Hilbert functions to a given HilbertpolynomialIn this section, we give an algorithm, which uses the non-reduced Hilbert series <strong>of</strong> R/I forI ⊂ R a saturated homogeneous ideal (not necessarily stable), to compute the values <strong>of</strong> theHilbert function h R/I (j). Recall that the Hilbert series <strong>of</strong> R/I is defined to be the formalpower series H R/I (t) := ∑ h R/I (i) · t i . Since the Hilbert series can always be written asi∈Za rational expression <strong>of</strong> the formg(t) for a polynomial g(t) with g(1) ≠ 0 and integer(1 − t)dcoefficients and some d ∈ N, we can use the equationg(t)(1 − t) d = ∑ i∈Zh R/I (i) · t ito determine the values h R/I (i) for each i ∈ Z. Because <strong>of</strong> h R/I (i) = 0 for all i < 0, weonly consider h R/I (i) for i ≥ 0.Remark 4.25. Let I ⊂ R be a saturated homogeneous ideal and H R/I (t) =g(t)(1 − t) the dHilbert series <strong>of</strong> R/I, where g(t) = a 0 + a 1 · t + a 2 · t 2 + . . . + a m · t m , a 0 , a 1 , . . . , a m ∈ Z,m ∈ N 0 , g(1) ≠ 0 and d ∈ N. Then we obtain the values h R/I (i) for all i > 0 from theequationg(t) = (1 − t) d · ∑h R/I (i) · t ias follows: We write (1 − t) d = b 0 + b 1 · t + b 2 · t 2 + . . . + b d · t d with b 0 , b 1 , . . . , b d ∈ Z, b 0 = 1.Since we know that h R/I (0) = 1, we obtain h R/I (i) for i ≥ 1 successively by the equationsh R/I (1) = a 1 − b 1 · h R/I (0)i∈Zh R/I (2) = a 2 − b 1 · h R/I (1) − b 2 · h R/I (0)h R/I (3) = a 3 − b 1 · h R/I (2) − b 2 · h R/I (1) − b 3 · h R/I (0).h R/I (m) = a m − b 1 · h R/I (m − 1) − b 2 · h R/I (m − 2) − . . . − b m · h R/I (0),which provides the first m + 1 values <strong>of</strong> h R/I . For all k > m we compute h R/I (k) byh R/I (k) = −b 1 · h R/I (k − 1) − b 2 · h R/I (k − 2) − . . . − b m · h R/I (k − m).The algorithm to determine the values <strong>of</strong> the Hilbert function h R/I described above is correct,but it lacks elegance: By Theorem 1.7, we know that h R/I (i) = p R/I (i) for all i ≫ 0.If we knew the value <strong>of</strong> some j ∈ N, for which we obtain p R/I (i) = h R/I (i) for all i ≥ j,we could simply determine the value <strong>of</strong> the Hilbert function h R/I (i), i ≥ j, by computing


4.7. COMPUTING ALL HILBERT FUNCTIONS TO A HILBERT POLYNOMIAL 119p R/I (i). This algorithm is more efficient than that sketched above.The following lemma suggests, how we find such an upper bound, such that the value <strong>of</strong>the Hilbert function equals the value <strong>of</strong> the Hilbert polynomial.Lemma 4.26. Let I ⊂ R be a saturated homogeneous ideal, h R/I the Hilbert functionand p R/I (z) the Hilbert polynomial <strong>of</strong> R/I. Let k > 0 denote the degree <strong>of</strong> the last monomialgenerator <strong>of</strong> the lexicographic ideal L p associated to p R/I (z) by Theorem 2.25. Thenh R/I (i) = p R/I (i) for all i ≥ k.Pro<strong>of</strong>. By Theorem 2.21, there is a unique lexicographic ideal L H associated to the Hilbertseries H R/I (t) <strong>of</strong> R/I, such that h R/I (i) = h R/LH (i) for all i ∈ Z. By Corollary 3.40,we know that the Hilbert function h R/Lp <strong>of</strong> R/L p is minimal among all Hilbert functionsassociated to the Hilbert polynomial p R/I (z). If k denotes the degree <strong>of</strong> the last monomialgenerator <strong>of</strong> L p , then by Remark 1.20 and by Gotzmann’s Persistence Theorem 2.31, weobtain h R/Lp (i) = p R/Lp (i) for all i ≥ k. In the pro<strong>of</strong> <strong>of</strong> Corollary 3.40 we saw thath R/LH (i) ≥ h R/Lp (i) for i < k and h R/LH (i) = h R/Lp (i) for all i ≥ k. Hence, we obtainh R/I (i) = h R/LH (i) = h R/Lp (i) = p R/Lp (i) = p R/I (i)for all i ≥ k, which proves the assertion.Now we combine the above lemma with Remark 4.25 to give an efficient algorithm (firstin pseudo code and later in source code) to compute the values <strong>of</strong> a Hilbert function froma given Hilbert series.Algorithm 4.27. Let H R/I (t) =g(t) be the reduced Hilbert series <strong>of</strong> R/I for I ⊂ R(1 − t)da saturated homogeneous ideal, g(t) and d as in Remark 4.25.Input. A reduced Hilbert series H R/I (t) and i > 0.1. Compute the Hilbert polynomial p R/I (z) <strong>of</strong> R/I from H R/I (t).2. Compute k, the degree <strong>of</strong> the last monomial generator <strong>of</strong> the unique lexicographicideal L p associated to p R/I (z).3. For j < k use the formulas stated in Remark 4.25 to compute h R/I (j).4. For k ≤ j ≤ i compute h R/I (j) = p R/I (j).Output. h R/I (j) for 0 ≤ j ≤ i.Pro<strong>of</strong>. (Correctness) The algorithm works correct by Remark 4.25, where we showed, howwe can obtain the values h R/I (j) for 0 ≤ j ≤ k − 1, and by Lemma 4.26, which guaranteesthat h R/I (j) = p R/I (j) for all j ≥ k.


120 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSThe advantage <strong>of</strong> the above algorithm is that it can be used to compute single valuesh R/I (i) <strong>of</strong> a Hilbert function for large i ∈ N efficiently. The algorithm stated in Remark4.25 would have to compute h R/I (j) for all j < i to obtain h R/I (i), whereas the abovealgorithm can be implemented in so far that it first checks whether the value <strong>of</strong> i is largerthan the integer k <strong>of</strong> Lemma 4.26. If this is the case, there is no need to compute all valuesh R/I (j) for j < i. It suffices to compute the Hilbert polynomial, from which one obtainsh R/I (i). Next we give the source code <strong>of</strong> a possible implementation <strong>of</strong> the above algorithmin MuPAD.MuPAD Source Code 4.28. Let H = H(t) be the numerator <strong>of</strong> a reduced Hilbert series<strong>of</strong> R/I for I ⊂ R a saturated stable ideal. Let d be the exponent <strong>of</strong> (1 − t) in the denominator<strong>of</strong> H and n the index <strong>of</strong> the last variable in R. The procedure below computes thevalues <strong>of</strong> the corresponding Hilbert function up to an upper bound, which has to be givenas the third argument for the procedure.Input for the procedure compute Hilbert function.◦ H — the numerator <strong>of</strong> a reduced Hilbert series◦ d — the power <strong>of</strong> (1 − t) in the denominator <strong>of</strong> the Hilbert series◦ upper bound — the value, i.e. the upper bound, up to which the values <strong>of</strong> the Hilbertfunction (associated to the given Hilbert series) should be computed◦ n — the index <strong>of</strong> the last variable <strong>of</strong> the polynomial ring ROutput <strong>of</strong> the procedure compute Hilbert function.◦ values — a list containing the values <strong>of</strong> the Hilbert functioncompute_Hilbert_function:= proc(H, d, upper_bound, n)local coeffs, values, i, j, p, L_p, lastMon, G_bound;begincoeffs:= [coeff(poly(expand(1-t)^d, [t]))]:values:= [0 $ upper_bound + 1]:values[1]:= 1:p:= compute_Hilbert_polynomial2(H, d):L_p:= compute_L_p(p, n):lastMon:= L_p[nops(L_p)]:G_bound:= _plus(lastMon[i] $ i = 1..n+1):for i from 2 to d+1 dovalues[i]:= coeff(H,i-1):for j from 1 to i-1 dovalues[i]:= values[i] - (values[i-j] * coeffs[d+1-j])


4.7. COMPUTING ALL HILBERT FUNCTIONS TO A HILBERT POLYNOMIAL 121end_for:end_for:for i from d+2 to G_bound - 1 dovalues[i]:= coeff(H,i-1):for j from 1 to d dovalues[i]:= values[i] - (values[i-j] * coeffs[d+1-j])end_for:end_for:/* Now compute the Hilbert function with the Hilbert polynomial. */for i from G_bound to upper_bound+1 dovalues[i]:= p(i-1):end_for:return(values);end_proc:Example 4.29. We determine the values <strong>of</strong> the Hilbert functions associated to the Hilbertseries computed in Example 4.24.MuPAD>> compute_Hilbert_function(poly(-t^7+t^4+t^3+t^2+t+1,[t]),2,10,4);>> compute_Hilbert_function(poly(-t^4+t^3+t^2+2*t+1,[t]),2,10,4);>> compute_Hilbert_function(poly(-2*t^6+t^5+t^4+t^3+t^2+t+1,[t]),2,10,4);>> compute_Hilbert_function(poly(-t^3+2*t^2+2*t+1,[t]),2,10,4);>> compute_Hilbert_function(poly(-t^6+t^4+t^3+2*t+1,[t]),2,10,4);>> compute_Hilbert_function(poly(-t^5+t^4+t^3-t^2+3*t+1,[t]),2,10,4);>> compute_Hilbert_function(poly(3*t+1,[t]),2,10,4);>> compute_Hilbert_function(poly(-t^5+t^4+t^2+2*t+1,[t]),2,10,4);Output[1, 3, 6, 10, 15, 20, 25, 29, 33, 37, 41][1, 4, 8, 13, 17, 21, 25, 29, 33, 37, 41][1, 3, 6, 10, 15, 21, 25, 29, 33, 37, 41][1, 4, 9, 13, 17, 21, 25, 29, 33, 37, 41][1, 4, 7, 11, 16, 21, 25, 29, 33, 37, 41][1, 5, 8, 12, 17, 21, 25, 29, 33, 37, 41][1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41][1, 4, 8, 12, 17, 21, 25, 29, 33, 37, 41]


122 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSThe first list gives the values h R/Lp (i), 0 ≤ i ≤ 9, <strong>of</strong> the Hilbert function <strong>of</strong> R/L p for theunique lexicographic ideal L p associated to p(z). As we see now, the above values demonstratethe result presented in Corollary 3.40, where we characterized the ideal L p as theunique lexicographic ideal, such that the values <strong>of</strong> the Hilbert function h R/Lp are minimalamong the values <strong>of</strong> all Hilbert functions associated to p(z).Note that we have determined the first ten values <strong>of</strong> all Hilbert functions associatedto the Hilbert polynomial p(z) = 4z + 1 (the underlying polynomial ring is given byR := K[x 0 , x 1 , x 2 , x 3 , x 4 ]). This is the case, since in Example 4.24 we computed all Hilbertseries associated to p(z). Hence, there cannot be any other Hilbert function than those,whose first ten values are presented above.As this particular example shows, there also is a unique lexicographic ideal L H associatedto some Hilbert series H(t), such that p R/LH (z) = p(z) and the values <strong>of</strong> the Hilbertfunction h R/LH are maximal in each degree (compared to the values <strong>of</strong> all other Hilbertfunctions associated to p(z) in a fixed degree): The second line from below gives the firstten values <strong>of</strong> this Hilbert function. In each degree, the value <strong>of</strong> this Hilbert function isat least as large as the corresponding value <strong>of</strong> any other Hilbert function associated to p(z).In the last section <strong>of</strong> this chapter we state some interesting experimental results and conclusionsconcerning the “behaviour” <strong>of</strong> Algorithm 3.45 to compute all saturated stableideals to a given Hilbert polynomial p(z) and the effect <strong>of</strong> the structure <strong>of</strong> the uniquelexicographic ideal L p associated to p(z) by Theorem 2.25.4.8 Appendix: Some conclusions and experimentalresultsWithin the time, the algorithms have been implemented in MuPAD, several more exampleshave been computed. These examples could not be discussed in detail in the precedingsections, since this would have overstepped the framework <strong>of</strong> this thesis. Nevertheless,some <strong>of</strong> the examples, which were originally computed for checking the correctness <strong>of</strong> theimplementations presented here, provided some interesting results (most <strong>of</strong> the examplescan be found in the file “testfile.mu”, a special file for checking the MuPAD procedures<strong>of</strong> this chapter automatically, which is also contained on the CD in the appendix to thisthesis).It turned out that the “structure” <strong>of</strong> the unique lexicographic ideal L p associated to someHilbert polynomial p(z) (see Theorem 2.25) has a strong effect not only on the number <strong>of</strong>all saturated stable ideals I ⊂ K[x 0 , . . . , x n ] with p(z) = p R/I (z), but also on the number<strong>of</strong> different double saturations appearing among these ideals.As a first example, let us consider the four ideals defined by L k := (x 0 , x 1 , x 5 2, x 4 2x k 3) in the


4.8. SOME CONCLUSIONS AND EXPERIMENTAL RESULTS 123polynomial ring R := K[x 0 , x 1 , x 2 , x 3 , x 4 ] for k = 3, 4, 5, 6, i.e.L 3 = (x 0 , x 1 , x 5 2, x 4 2x 3 3),L 4 = (x 0 , x 1 , x 5 2, x 4 2x 4 3),L 5 = (x 0 , x 1 , x 5 2, x 4 2x 5 3),L 6 = (x 0 , x 1 , x 5 2, x 4 2x 6 3).These ideals are the unique lexicographic ideals (see Theorem 2.25) to the Hilbert polynomialsp k (z) = 4z + (k − 2), k = 3, 4, 5, 6, i.e.p R/L3 (z) = 4z + 1,p R/L4 (z) = 4z + 2,p R/L5 (z) = 4z + 3,p R/L6 (z) = 4z + 4.Note that p R/L3 (z) = 4z + 1 is the Hilbert polynomial we already considered in Example4.18 and which is also discussed by Alyson Reeves in [16]. Furthermore, note that we obtainL j+1 from L j , j = 3, 4, 5, by performing one expansion <strong>of</strong> the last monomial generator <strong>of</strong> L j .We want to compute the number <strong>of</strong> all saturated stable ideals I ⊂ R with p R/I (z) = p k (z),k = 3, 4, 5, 6, and the number <strong>of</strong> different double saturations appearing among these ideals.Using the procedure compute all ideals stated in 4.20, we obtain:number <strong>of</strong> saturated number <strong>of</strong> doublestable ideals saturationsk = 3 12 3k = 4 23 3k = 5 43 3k = 6 79 3It is interesting to see that the number <strong>of</strong> all saturated stable ideals to the given Hilbertpolynomial increases fast, whereas the number <strong>of</strong> different double saturations among theseideals remains the same.Before we try to explain these observations, we consider another example: Let L k :=(x 0 , x 3 1, x 2 1x 3 2, x 2 1x 2 2x 2 3, x 2 1x 2 2x 3 x k 4) for k = 3, 4, 5, 6 in R := K[x 0 , x 1 , x 2 , x 3 , x 4 , x 5 ], i.e.L 3 = (x 0 , x 3 1, x 2 1x 3 2, x 2 1x 2 2x 2 3, x 2 1x 2 2x 3 x 3 4),L 4 = (x 0 , x 3 1, x 2 1x 3 2, x 2 1x 2 2x 2 3, x 2 1x 2 2x 3 x 4 4),L 5 = (x 0 , x 3 1, x 2 1x 3 2, x 2 1x 2 2x 2 3, x 2 1x 2 2x 3 x 5 4),L 6 = (x 0 , x 3 1, x 2 1x 3 2, x 2 1x 2 2x 2 3, x 2 1x 2 2x 3 x 6 4).


124 CHAPTER 4. ALGORITHMS FOR STABLE IDEALSThe ideal L k is the unique lexicographic ideal associated to the Hilbert polynomial p k (z) :=13 z3 + 5 2 z2 + 7 z + (k − 1), k = 3, 4, 5, 6, since we have6p R/L3 (z) = 1 3 z3 + 5 2 z2 + 7 6 z + 2,p R/L4 (z) = 1 3 z3 + 5 2 z2 + 7 6 z + 3,p R/L5 (z) = 1 3 z3 + 5 2 z2 + 7 6 z + 4,p R/L6 (z) = 1 3 z3 + 5 2 z2 + 7 6 z + 5.Again, L j+1 is obtained from L j , j = 3, 4, 5, by the expansion <strong>of</strong> the last monomial generator<strong>of</strong> L j . As above, we sum up the results in a table:number <strong>of</strong> saturated number <strong>of</strong> doublestable ideals saturationsk = 3 23 3k = 4 51 3k = 5 106 3k = 6 212 3The first interesting observation is that the number <strong>of</strong> all saturated stable ideals grows fastif one slightly increases the exponent <strong>of</strong> the last variable <strong>of</strong> the last monomial generator inthe lexicographic ideal considered. Hence, it is quite easy to find concrete examples, wherethe number <strong>of</strong> all saturated stable ideals to a given Hilbert polynomial is too large to becomputed within a few minutes or even within a few hours on a usual computer. Thisseems to be clear if one increases the number <strong>of</strong> variables <strong>of</strong> the polynomial ring and thedegree <strong>of</strong> the Hilbert polynomial considered, but the above examples suggest that we donot necessarily have to use a large number <strong>of</strong> variables and a Hilbert polynomial <strong>of</strong> highdegree – even for linear Hilbert polynomials or Hilbert polynomials <strong>of</strong> degree 3, there maybe a large number <strong>of</strong> saturated stable ideals to a given Hilbert polynomial.A rather informal explanation <strong>of</strong> this phenomenon may be found if we have a closer look athow Algorithm 3.45 computes all saturated stable ideals to a given Hilbert polynomial. Themost important “algorithmic tool” within the procedure is the performance <strong>of</strong> expansionsand contractions <strong>of</strong> monomials. In Chapter 3, we saw that we only have to contract thosemonomials, which contain last variable x 3 respectively x 4 . Since, among other computationalsteps, the main part <strong>of</strong> Algorithm 3.45 is to compute all possible contractions andexpansions in a certain ideal such that one obtains saturated stable ideals with the sameHilbert polynomial, it becomes obvious that the number <strong>of</strong> all such possible expansionsand contractions strongly depends on the exponent <strong>of</strong> x 3 respectively x 4 in the monomialgenerators <strong>of</strong> the ideal considered. If we start with a saturated stable ideal, which has only


4.8. SOME CONCLUSIONS AND EXPERIMENTAL RESULTS 125one monomial generator with the last variable x 3 respectively x 4 and the exponent <strong>of</strong> x 3respectively x 4 is small, say 4 or 5, as in our examples above, one cannot perform as manypossible contractions and expansions as if the power <strong>of</strong> x 3 respectively x 4 is large. Byincreasing the exponent <strong>of</strong> x 3 respectively x 4 by 1, we simultaneously increase the number<strong>of</strong> possible expansions and contractions, which can be performed.The second interesting observation is that the number <strong>of</strong> different double saturations in theabove examples is independent <strong>of</strong> the value <strong>of</strong> k, k = 3, 4, 5, 6. The reason seems to be thata different value for k does not change the double saturation <strong>of</strong> the unique lexicographicideals considered: We haveandsat x3 ,x 4((x0 , x 1 , x 5 2, x 4 2x k 3) ) = (x 0 , x 1 , x 4 2)sat x4 ,x 5((x0 , x 3 1, x 2 1x 3 2, x 2 1x 2 2x 2 3, x 2 1x 2 2x 3 x k 4) ) = (x 0 , x 3 1, x 2 1x 3 2, x 2 1x 2 2x 3 )for all k ∈ {3, 4, 5, 6}. Hence, the number <strong>of</strong> different double saturations seems to dependon the exponent vectors <strong>of</strong> the other monomial generators <strong>of</strong> the lexicographic ideal L knot containing the last variable x 3 respectively x 4 . By increasing the value <strong>of</strong> k, we do notaffect these generators at all. This could be an explanation for the fact that the number<strong>of</strong> double saturations remains the same (<strong>of</strong> course, these results strongly depend on thechoice <strong>of</strong> our examples).To summarize, we point out that Algorithm 3.45 and its implementation by the proceduredescribed in 4.20 can be used, to investigate the effect <strong>of</strong> the structure <strong>of</strong> the lexicographicideal L p associated to some Hilbert polynomial p(z) on the number <strong>of</strong> different saturatedstable ideals with the same Hilbert polynomial and even on the number <strong>of</strong> different doublesaturations appearing among these ideals. A lot <strong>of</strong> the other algorithms stated withinChapter 4, which finally lead to the procedure in 4.20, are not only useful in the context<strong>of</strong> the algorithm to determine all saturated stable ideals with a given Hilbert polynomial:e.g. we have given algorithms to compute Hilbert series, Hilbert polynomials and evenHilbert functions <strong>of</strong> saturated stable ideals in a rather efficient way. Note that there areless computer algebra systems today (even special purpose systems for the field <strong>of</strong> computationalcommutative algebra), which provide procedures for the explicit computation <strong>of</strong>Hilbert polynomials or the values <strong>of</strong> the Hilbert function (these systems <strong>of</strong>ten restrict itsusers to the computation <strong>of</strong> Hilbert series). Additionally, the algorithm to compute thelexicographic ideal L p is a useful tool, since one can easily compute an ideal I (which is alsostable, saturated and lexicographic) such that p R/I (z) = p(z) for an arbitrary Hilbert polynomialp(z). Together with the characterization <strong>of</strong> this special ideal presented in Corollary3.40, the procedures in Chapter 4 leave much freedom for several more experiments withstable ideals.


Glossary <strong>of</strong> NotationsK a field <strong>of</strong> characteristic zero, 7Rthe polynomial ring K[x 0 , . . . , x n ] in n + 1 variables over the fieldK, 7deg f the degree <strong>of</strong> the polynomial f, 7R(−k) shift <strong>of</strong> the grading by −k, 7M the set <strong>of</strong> monomials in the polynomial ring R := K[x 0 , . . . , x n ], 7[R] d vector space <strong>of</strong> homogeneous polynomials f <strong>of</strong> degree d, 8dim K [R] d K-vector space dimension, 8µ(I) number <strong>of</strong> minimal generators <strong>of</strong> the ideal I, 8Rad I the radical <strong>of</strong> the ideal I, 9gcd(f, g) greatest common divisor <strong>of</strong> the polynomials f and g, 9[I] d vector space <strong>of</strong> homogeneous polynomials f <strong>of</strong> degree d in I, 9m the unique homogeneous maximal ideal (x 0 , . . . , x n ), 10sat xn (I) saturation <strong>of</strong> the ideal I in K[x 0 , . . . , x n ], 10h I Hilbert function <strong>of</strong> the ideal I, 10h R/I Hilbert function <strong>of</strong> R/I, 11p I Hilbert polynomial <strong>of</strong> the ideal I, 11p R/I Hilbert polynomial <strong>of</strong> R/I, 11H I Hilbert series <strong>of</strong> the ideal I, 11H R/I Hilbert series <strong>of</strong> R/I, 11a 〈d〉 16GBGL(n + 1, K), i.e. the multiplicative group <strong>of</strong> all invertible(n + 1) × (n + 1)-matrices over K, 19the Borel-subgroup <strong>of</strong> G, i.e. the invertible upper triangular(n + 1) × (n + 1)-matrices over K, 20127


λ weight order with weight function λ, 21sat xn−1 ,x n(I) double saturation <strong>of</strong> the ideal I, 26L HL psaturated lexicographic ideal associated to the Hilbert seriesH, 30saturated lexicographic ideal associated to the Hilbertpolynomial p, 35I g set <strong>of</strong> minimal generators <strong>of</strong> the ideal I, 40R(m) right-shift <strong>of</strong> the monomial m, 46L(m) left-shift <strong>of</strong> the monomial m, 46I exp the ideal obtained from I after the expansion <strong>of</strong> a monomial, 47I con the ideal obtained from I after the contraction <strong>of</strong> a monomial, 49∆p(z) p(z) − p(z − 1) for a polynomial p(z), 72∆ i p(z) ∆ i−1 p(z) − ∆ i−1 p(z − 1) for a polynomial p(z) and i > 1, 72P n n-dimensional projective space over the field K, 74


Glossary <strong>of</strong> MuPAD procedurescompute Hilbert seriescompute Hilbert polynomialcompute Hilbert polynomial2compute expansioncompute contractiontest expandabletest contractiblecompute idealscompute all idealscompute all Hilbert seriescompute Hilbert functioncomputes the numerators <strong>of</strong> the reduced andthe non-reduced Hilbert series from a set <strong>of</strong>minimal generators <strong>of</strong> a stable ideal, 76computes the Hilbert polynomial from a set<strong>of</strong> minimal generators <strong>of</strong> a stable ideal, 80computes the Hilbert polynomial from thenumerator <strong>of</strong> a reduced Hilbert series, 84computes the expansion <strong>of</strong> a monomial in agiven stable ideal, 87computes the contractions <strong>of</strong> a monomial in agiven stable ideal, 90checks if a given monomial is expandable in agiven stable ideal, 93checks if a given monomial is contractible in agiven stable ideal, 95computes all saturated stable ideals with thesame Hilbert polynomial and the same doublesaturation as a given saturated stable ideal, 100computes all saturated stable ideals with thesame Hilbert polynomial as a given saturatedstable ideal, 104computes the numerators <strong>of</strong> all Hilbert seriesassociated to a given Hilbert polynomial, 114computes the Hilbert function from a givennumerator <strong>of</strong> a reduced Hilbert series, 120129


Bibliography[1] D. Bayer, The division algorithm and the Hilbert scheme, <strong>Thesis</strong>, Harvard <strong>University</strong>,1982[2] W. Bruns, J. Herzog, Cohen-Macaulay rings, Cambridge studies in advanced mathematics39, first edition, Cambridge <strong>University</strong> Press, 1993[3] D. Cox, J. Little, D. O‘Shea, Ideals, Varieties and Algorithms – An Introduction toComputational Algebraic Geometry and Commutative Algebra, Undergraduate Textsin <strong>Mathematics</strong>, second edition, Springer-Verlag, 1997[4] M. L. Green, Generic initial ideals, In J. Elias, J.M. Giral, R.M. Miró-Roig, S. Zarzuela(eds.), Six Lectures on Commutative Algebra, Progress in <strong>Mathematics</strong> Volume 166,Birkhäuser Verlag, pp. 119-186[5] M. L. Green, Restrictions <strong>of</strong> linear series to hyperplanes and some results <strong>of</strong> Macaulayand Gotzmann, In E. Ballico and C. Ciliberto (eds.), Algebraic curves and projectivegeometry, LNM 1389, Springer, pp. 76-86[6] D. Eisenbud, Commutative Algebra with a View Toward Algebraic Geometry, GraduateTexts in <strong>Mathematics</strong> 150, third edition, Springer-Verlag, 1999[7] G.-M. Greuel, G. Pfister, H. Schoenemann, Singular – A Computer Algebra System forPolynomial Computations, <strong>Department</strong> <strong>of</strong> <strong>Mathematics</strong>, <strong>University</strong> <strong>of</strong> Kaiserslautern[8] R. Hartshorne, Algebraic Geometry, Graduate Texts in <strong>Mathematics</strong> 52, second edition,Springer-Verlag, 1979[9] R. Hartshorne, Connectedness <strong>of</strong> the Hilbert Scheme, Inst. Haut. Etud. sci. Publ. math.,29, 1966, pp. 261-309[10] K.-H. Kiyek, Lectures on Commutative Algebra and Algebraic Geometry, <strong>University</strong><strong>of</strong> <strong>Paderborn</strong>, 2000[11] E. Kunz, Einführung in die kommutative Algebra und algebraische Geometrie, ViewegStudium Bd. 46 – Aufbaukurs Mathematik, erste Auflage, Vieweg Verlag, 1980[12] F.S. Macaulay, Algebraic Theory <strong>of</strong> Modular Systems, Cambridge Tracts 16, Cambridge<strong>University</strong> Press, 1916131


[13] F.S. Macaulay, Some properties <strong>of</strong> enumeration in the theory <strong>of</strong> modular systems,Proc. London Math. Soc. 26, 1927[14] U. Nagel, Lectures on Linear Algebra, Commutative Algebra and Algebraic Geometry,<strong>University</strong> <strong>of</strong> <strong>Paderborn</strong>, 1998-2002[15] W. Oevel, F. Postel, G. Rüscher, S. Wehmeier, Das MuPAD Tutorium, erste Auflage,Springer-Verlag, 2000[16] A. Reeves, On the combinatorial structure <strong>of</strong> the Hilbert Scheme, Ph.D. thesis, Faculty<strong>of</strong> the Graduate School <strong>of</strong> Cornell <strong>University</strong>, 1992[17] A. Reeves, The radius <strong>of</strong> the Hilbert scheme, J. Algebraic Geom. 5 (1995), pp. 639-657

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!