summaryrefslogtreecommitdiff
path: root/numpy/lib/polynomial.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/lib/polynomial.py')
-rw-r--r--numpy/lib/polynomial.py9
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