issue with p_Deg() for lexicographical ordering?

Showing 1-2 of 2 messages
issue with p_Deg() for lexicographical ordering? Jakob Kroeker 6/27/16 3:49 PM
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(),  I get
65536 as an answer. 


Is it not allowed to use p_Deg() for lexicographical orderings
or is it a bug?


Re: [libsingular-devel] issue with p_Deg() for lexicographical ordering? han...@mathematik.uni-kl.de 6/28/16 1:22 AM
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