I was pretty sure, that there was a method for polynomials to extract
the coefficient of a certain monomial (say x^2).  But the method I
used for that before

R = PolynomialRing(QQ, 'x')
f = R.random_element(degree = 3)
f.coeff(x^2)

now returns the error

AttributeError: 'Polynomial_rational_dense' object has no attribute
'coeff'

Of course, there is always the workaround by the complete list of
coefficients:

f.coeffs()[2]

but this certainly does not generalize to multivariate polynomials.
The code I was using until very recently (sage 4.3.1 I guess) was like

S = PolynomialRing(QQ, 'x, y')
g = S.random_element(degree = 3)
g.coeff(x^2)

and now returns

AttributeError:
'sage.rings.polynomial.multi_polynomial_libsingular.MPolynomial_libsingular'
object has no attribute 'coeff'

Again, there seems to be a workaround using g.coefficient(), but I am
unable handle this method even with the documentation provided, e.g.
for

g =  2*x*y^2 - 2*y^3 + x^2 + 3*y^2 - 4

g.coefficient({x:0, y:0}) == g
g.coefficient({x:1, y:2}) == g
g.coefficient({x:2, y:2}) == g

are all true?!  And

g.coefficient(x^2)

returns the error

TypeError: The input degrees must be a dictionary of variables to
exponents.

although the documentation has as an example

sage: R.<x,y> = QQ[]
sage: f=(1+y+y^2)*(1+x+x^2)
sage: f.coefficient({x:0})
y^2 + y + 1
sage: f.coefficient([0,None])
y^2 + y + 1
sage: f.coefficient(x)
y^2 + y + 1

Am I missing something here?

Thanks,
Konstantin

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

Reply via email to