Another *possible* way of sage behaving is
sage: P.<x,y>=ZZ[]
sage: f=x*y^2+x*y+y+x+1
sage: f.coefficient(y^2)
0
sage: f.coefficient(y^1)
1
sage: f.coefficient(y^0)
1

Now, I'm not sure if this is better or not, but I thought maybe I should
point it out. The biggest problem with this is that if you do want to extract 
the whole polynomial coefficient, you will have some issues. I'm guessing
the proposal for dictionary will resolve this nicely.

Soroosh

On Fri, Oct 12, 2007 at 10:36:29AM -0400, Joel B. Mohler wrote:
> This e-mail is too long.  Here's the bottom line:  I suggest that the 
> coefficient method on a multivariate polynomial ring take a dictionary 
> indicating the variables and degrees that you want to restrict your attention 
> to.
> 
> It seems that the multivariate polynomial coefficient function is a bit 
> inflexible (and inconsistent).  I'm looking for some insight about how to 
> think about the following things.
> 
> sage: P.<x,y>=ZZ[]
> sage: f=x*y^2+x*y+y+x+1
> sage: f.coefficient(y^2)
> x
> sage: f.coefficient(y^1)
> x + 1
> sage: f.coefficient(y^0)
> 1
> 
> I realize that y^0 == 1 so that the last line is returning the constant 
> coefficient (and the implication that y is special to me the user is totally 
> unseen by the coefficient method).  But, the logic seems a bit inconsistent.  
> I'd suggest that this next line work:
> 
> sage: f.coefficient({y:0})
> x + 1
> 
> Does anyone have any objection?  It actually seems like a dictionary of 
> variables whose exponents you want to control would make a much better 
> interface to this.  In any case, we can maintain both functionalities by 
> checking the type of the parameter.
> 
> And another:
> 
> sage: P.<x,y>=QQ[]  # DIFFERENT BASE RING THAN LAST TIME
> sage: f=x*y^2+x*y+y+x+1
> sage: f.coefficient(y^0)  # DIFFERENT OUTPUT
> x*y^2 + x*y + x + y + 1
> 
> What in the world is going on in that last line?  (Hmm, I think that it is 
> getting a 1 so it is thinking that no variables are restricted -- that's 
> actually consistent, but seems mighty strange.)
> 
> Does anyone else agree?  Or, have a better suggestion?
> 
> --
> Joel
> 
> 

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to