diff options
Diffstat (limited to 'numpy/lib/polynomial.py')
-rw-r--r-- | numpy/lib/polynomial.py | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/numpy/lib/polynomial.py b/numpy/lib/polynomial.py index 75f81b2a6..c145cf530 100644 --- a/numpy/lib/polynomial.py +++ b/numpy/lib/polynomial.py @@ -15,7 +15,7 @@ import numpy.core.numeric as NX from numpy.core import (isscalar, abs, finfo, atleast_1d, hstack, dot, array, ones) from numpy.lib.twodim_base import diag, vander -from numpy.lib.function_base import trim_zeros, sort_complex +from numpy.lib.function_base import trim_zeros from numpy.lib.type_check import iscomplex, real, imag, mintypecode from numpy.linalg import eigvals, lstsq, inv @@ -145,11 +145,8 @@ def poly(seq_of_zeros): if issubclass(a.dtype.type, NX.complexfloating): # if complex roots are all complex conjugates, the roots are real. roots = NX.asarray(seq_of_zeros, complex) - pos_roots = NX.compress(roots.imag > 0, roots) - neg_roots = NX.conjugate(NX.compress(roots.imag < 0, roots)) - if len(pos_roots) == len(neg_roots): - if NX.all(sort_complex(neg_roots) == sort_complex(pos_roots)): - a = a.real.copy() + if NX.all(NX.sort(roots) == NX.sort(roots.conjugate())): + a = a.real.copy() return a |