Hi Simon,

I think one should not take it for granted a polynomial ring is a graded 
ring. Of course, you can view a polynomial ring as a graded ring. But one 
work with a polynomial ring, perhaps more often, not as a graded ring. 

With a polynomial in a polynomial ring not as a graded ring, you have 
methods degree(x), degrees(), total_degree(). In this context, degree() can 
be most naturally identified with total_degree(), that is the sum of the 
exponents of variables. 

Assigning weights (grading or (in your usage) degrees) to variables 
signifies you view the polynomial ring as a graded ring, namely weighted 
polynomial ring. In this context, degree() can be most naturally interpreted 
as a method giving the grading (weighted degree or (in your usage) degree). 
However, to avoid a confusion and for convenience, it may be safe to define 
weighted_degree() or grading() for this usage while keeping the usual 
behavior of degree(). 

If we take the assumption that using weighted monomial orders does not 
automatically induces weights (grading or (in your usage) degree) of 
variables, then the polynomial ring should not be regarded as a graded ring, 
and hence degree() should return the total degree, that is, the sum of 
exponents of the variables. I think the assumption is good for more 
flexibility.

I hope Sage follows better policy even if it implies breaking compatibility 
with Singular.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to