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.

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;

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

Saved successfully!

Ooh no, something went wrong!