Ask Your Question

Check if a symbolic polynomial is positive

asked 2020-07-26 14:18:29 -0500

zzzwz gravatar image

Is there a way to check if a symbolic polynomial has all positive coefficients?

something like, (x^2+y+2xy).is_positive() = True (x+y-xy).is_positive()=False?

edit retag flag offensive close merge delete

1 answer

Sort by » oldest newest most voted

answered 2020-07-26 15:52:39 -0500

Florentin Jaffredo gravatar image

How did you define x and y? If you simply use

sage: x, y = var('x, y')

then Sage has now way of knowing what is a variable and what is a coefficient in you polynomial. Still, for one variable it is possible to do:

sage: p = 4*x^2+2*x+1
sage: all([coef>=0 for coef, degree in p.coefficients(x)])

For multivariate polynomials you should use PolynomialRing:

sage: PXY.<x, y> = PolynomialRing(QQ)
sage: p = x^2+y+2*x*y
sage: all([coef>=0 for coef in p.coefficients()])
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2020-07-26 14:18:29 -0500

Seen: 49 times

Last updated: Jul 26