Hi,

On 22 Mai, 02:29, Kwankyu <ekwan...@gmail.com> wrote:
...
> This seems to me a bug. Isn't it? I am using Sage 3.4.2.

Or at least: It is a very nasty inconsistency -- and note that the
inconsistent behaviour apparently is intended.
At least, it is doc tested:
In the univariate case, we have the doc test
            sage: R.<x> = QQ[]
            sage: R(0).degree()
            -1
and in the multivariate case, we have the doc test
            sage: P.<x, y> = QQ[]
            sage: P(0).degree(x)
            0
            sage: P(1).degree(x)
            0

I think that it is quite usual to say that the zero polynomial has
*no* degree, while all other constant polynomials have degree 0. And
"no degree" is often accomplished by returning -1. This is done, e.g.,
in Singular:
  > ring R = 0, (x,y), dp;
  > deg(0);
  -1

My  vote:
 +1 for -1


While we are at it:
  sage: Q=singular.ring(0,'(x,y)','dp')
  sage: Q(0)
 -> boom

I think the __call__ method of *all* rings (including those rings
defined via some interface) should do essentially the same: Try to
interprete the arguments as a ring element.

Cheers,
   Simon

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

Reply via email to