[Numpy-discussion] Unrealistic expectations of class Polynomial or a bug?
eat
e.antero.tammi at gmail.com
Sat Jan 28 13:15:37 EST 2012
Hi,
Short demonstration of the issue:
In []: sys.version
Out[]: '2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]'
In []: np.version.version
Out[]: '1.6.0'
In []: from numpy.polynomial import Polynomial as Poly
In []: def p_tst(c):
..: p= Poly(c)
..: r= p.roots()
..: return sort(abs(p(r)))
..:
Now I would expect a result more like:
In []: p_tst(randn(123))[-3:]
Out[]: array([ 3.41987203e-07, 2.82123675e-03, 2.82123675e-03])
be the case, but actually most result seems to be more like:
In []: p_tst(randn(123))[-3:]
Out[]: array([ 9.09325898e+13, 9.09325898e+13, 1.29387029e+72])
In []: p_tst(randn(123))[-3:]
Out[]: array([ 8.60862087e-11, 8.60862087e-11, 6.58784520e+32])
In []: p_tst(randn(123))[-3:]
Out[]: array([ 2.00545673e-09, 3.25537709e+32, 3.25537709e+32])
In []: p_tst(randn(123))[-3:]
Out[]: array([ 3.22753481e-04, 1.87056454e+00, 1.87056454e+00])
In []: p_tst(randn(123))[-3:]
Out[]: array([ 2.98556327e+08, 2.98556327e+08, 8.23588003e+12])
So, does this phenomena imply that
- I'm testing with too high order polynomials (if so, does there exists a
definite upper limit of polynomial order I'll not face this issue)
or
- it's just the 'nature' of computations with float values (if so, probably
I should be able to tackle this regardless of the polynomial order)
or
- it's a nasty bug in class Polynomial
Regards,
eat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20120128/c059c837/attachment.html>
More information about the NumPy-Discussion
mailing list