diff options
author | endolith <endolith@gmail.com> | 2015-02-17 20:34:53 -0500 |
---|---|---|
committer | endolith <endolith@gmail.com> | 2015-02-17 20:34:53 -0500 |
commit | cb000ea67435d21fa351d1843e28be3792484b7b (patch) | |
tree | 96a47509d57bf923012728d6861e8455045bdf00 /numpy/lib/polynomial.py | |
parent | 7d9789f06d305e438425d98e0ce779fb012e6296 (diff) | |
download | numpy-cb000ea67435d21fa351d1843e28be3792484b7b.tar.gz |
Simpler checking of complex conjugates
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 |