This took me by surprise:

sage: tord = TermOrder(matrix([3,2,4,1,1,0,1,0,0]))
sage: R.<x,y,z> = PolynomialRing(QQ,'x',3,order=tord)
sage: (x^2).degree()
>>>> 6
sage: (x^2).degree(x)
>>>> 2

I didn't find the docstring helpful on this.

Digging around, I learned that this is how Singular treats the degree
in this case:

    http://www.singular.uni-kl.de/Manual/3-0-4/sing_180.htm#SEC220

Notice that Singular refers to the "maximal (weighted) degree"; Sage
refers to the "maximal degree" only. Maybe SIngular changed.

I'm not sure if it's how other systems treat the degree, but it
doesn't seem consistent with the definition in quite a few textbooks
(for example, Kreuzer-Robbiano, p. 22; Becker-Weispfenning, p. 70,
although they call it "total degree" which I thought was the correct
term).

Am I right to think that the docstring should include some discussion
of this? I'd be happy to write the patch if so.

FWIW this is related to trac #10716.

regards
john perry

-- 
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