[Numpy-discussion] polynomial fromroots

josef.pktd at gmail.com josef.pktd at gmail.com
Sat Oct 9 21:47:06 EDT 2010


I'm trying to see whether I can do this without reading the full manual.

Is it intended that fromroots normalizes the highest order term
instead of the lowest?


>>> import numpy.polynomial as poly

>>> p = poly.Polynomial([1, -1.88494037,  0.0178126 ])
>>> p
Polynomial([ 1.        , -1.88494037,  0.0178126 ], [-1.,  1.])
>>> pr = p.roots()
>>> pr
array([   0.53320748,  105.28741219])
>>> poly.Polynomial.fromroots(pr)
Polynomial([  56.14003571, -105.82061967,    1.        ], [-1.,  1.])
>>>

renormalizing

>>> p2 = poly.Polynomial.fromroots(pr)
>>> p2/p2.coef[0]
Polynomial([ 1.        , -1.88494037,  0.0178126 ], [-1.,  1.])


this is, I think what I want to do, invert roots that are
inside/outside the unit circle (whatever that means

>>> pr[np.abs(pr)<1] = 1./pr[np.abs(pr)<1]
>>> p3 = poly.Polynomial.fromroots(pr)
>>> p3/p3.coef[0]
Polynomial([ 1.        , -0.54270529,  0.0050643 ], [-1.,  1.])

Josef



More information about the NumPy-Discussion mailing list