Finding polynomial roots using Python -- Possible Numpy Extension Bug

Fake Howard picture Fake Howard · Sep 26, 2013 · Viewed 12k times · Source

I am using Numpy to obtain the roots of polynomials. Numpy provides a module 'polynomial'.

My hand calc for x^2 + 5*x + 6 = 0 is x = -2 & x = -3. (Simple)

But my code shows me the wrong answer: array([-0.5 , -0.33333333]) (Inversed?)

Could anyone please find the culprit in my code? Or is it simply a bug?

from numpy.polynomial import Polynomial as P
p = P([1, 5, 6])
p.roots()

Answer

gg349 picture gg349 · Sep 26, 2013

Simply pass it in the other order,

p = P([6, 5, 1])