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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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. */

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

Saved successfully!

Ooh no, something went wrong!