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.

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:

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

Saved successfully!

Ooh no, something went wrong!