issue with p_Deg() for lexicographical ordering?

18 views
Skip to first unread message

Jakob Kroeker

unread,
Jun 27, 2016, 6:49:51 PM6/27/16
to libsingular-devel
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?


han...@mathematik.uni-kl.de

unread,
Jun 28, 2016, 4:22:43 AM6/28/16
to libsingu...@googlegroups.com
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
Reply all
Reply to author
Forward
0 new messages