On Mon, Jun 27, 2016 at 03:49:50PM -0700, Jakob Kroeker wrote:
> Consider the following example:
>
> ring rng = 0,(x,y), lp;
> poly p = x;
> deg(x);
> when I use p_Deg() to compute the degree of x instead of pLDeg(),A I get
>
> 65536 as an answer.
>
>
> Is it not allowed to use p_Deg() for lexicographical orderings
> or is it a bug?
A degree function is a map d: monomials -> integers>=0 which has the
properties:
- d(1) = 0
- d(f*g) = d(f) + d(g)
- if f > g then d(f) >= d(g)
Examples for degree functions are:
- p_Deg
- p_Totaldegree
- p_WTotaldegree (only for orderings with weights != 1)
To ease the choice for the different orderings there are function
pointers pointing to the most useful degree function for the ring given:
- p_FDeg for the degree of the leading monomial
- p_LDeg for the maximal degree of all monomials of the polynomials
The answers to your questions:
- no, it is allowed to use p_Deg, but it may return correct but
surprising results for block orderings
- no, it is not a bug
Suggestion: use p_FDeg or p_Totaldegree
Hannes