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