2009/5/7 Robert Bradshaw <rober...@math.washington.edu>: > > On May 7, 2009, at 2:15 PM, John Cremona wrote: > >> It is a documented feature -- look at the docstring which says >> >> def coefficient(self, degrees): >> """ >> Return the coefficient of the variables with the degrees >> specified in the python dictionary \code{degrees}. >> Mathematically, >> this is the coefficient in the base ring adjoined by the >> variables >> of this ring not listed in \code{degrees}. However, the >> result >> has the same parent as this polynomial. >> >> This function contrasts with the function \code >> {monomial_coefficient} >> which returns the coefficient in the base ring of a monomial. >> >> I do agree that it is a strange design, and would prefer >> f.coefficient() to return an element of the base ring. > > I agree. I think it's to support stuff like > > sage: sage: K.<x,y,z>=QQ[] > sage: f = (x+1)^5*(y+1)^3 > sage: f.coefficient(x^2*y^0) > 10*y^3 + 30*y^2 + 30*y + 10 > > which is also an annoying interface to work with.
That's more than an annoying interface -- if you wrote that in an exam I would give you 0, since the coefficient of x^2*y^0 in that polynomial is 10 (as reported by monomial_coefficient()). I would need a lot of convincing that the current behaviour of coefficient() makes sense -- I can see its use but it should have a different name! John > >> 2009/5/7 Soroosh Yazdani <syazd...@gmail.com>: >>> Hi, >>> >>> this might be a design decision, so I haven't filed a bug report >>> for it yet. >>> However, it seems that coefficient is returning the wrong type >>> when it's >>> called on multinomials. Here is an example code: >>> >>> sage: K.<x,y,z>=QQ[] >>> sage: f = x^3+y^3+z^3 >>> sage: f.coefficient([3,0,0]).parent() >>> Multivariate Polynomial Ring in x, y, z over Rational Field >>> >>> It makes more sense for the above return value to be the Rational >>> Field. >>> Similarly, f.coefficient([3,None,None]).parent(), should probably >>> return >>> "Multivariate Polynomial Ring in x, z over Rational Field". >>> >>> Should I file a bug for this? >>> Soroosh >>> >>> >>>> >>> >> >> > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---