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.

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

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

Saved successfully!

Ooh no, something went wrong!