Looks like this is related to issue 41 ( http://code.google.com/p/numexpr/issues/detail?id=41&can=1).
On Mon, Jan 24, 2011 at 10:29 AM, John Salvatier <jsalv...@u.washington.edu>wrote: > I also get the same issue with prod() > > > On Mon, Jan 24, 2011 at 10:23 AM, Warren Weckesser < > warren.weckes...@enthought.com> wrote: > >> I see the same "randomness", but at a different array size: >> >> In [23]: numpy.__version__ >> Out[23]: '1.4.0' >> >> In [24]: import numexpr >> >> In [25]: numexpr.__version__ >> Out[25]: '1.4.1' >> >> In [26]: x = zeros(8192)+0.01 >> >> In [27]: print evaluate('sum(x, axis=0)') >> 72.97 >> >> In [28]: print evaluate('sum(x, axis=0)') >> 66.92 >> >> In [29]: print evaluate('sum(x, axis=0)') >> 67.9 >> >> In [30]: x = zeros(8193)+0.01 >> >> In [31]: print evaluate('sum(x, axis=0)') >> 72.63 >> >> In [32]: print evaluate('sum(x, axis=0)') >> 71.74 >> >> In [33]: print evaluate('sum(x, axis=0)') >> 81.93 >> >> In [34]: x = zeros(8191)+0.01 >> >> In [35]: print evaluate('sum(x, axis=0)') >> 81.91 >> >> In [36]: print evaluate('sum(x, axis=0)') >> 81.91 >> >> >> Warren >> >> >> >> On Mon, Jan 24, 2011 at 12:19 PM, John Salvatier < >> jsalv...@u.washington.edu> wrote: >> >>> Forgot to mention that I am using numexpr 1.4.1 and numpy 1.5.1 >>> >>> >>> On Mon, Jan 24, 2011 at 9:47 AM, John Salvatier < >>> jsalv...@u.washington.edu> wrote: >>> >>>> Hello, >>>> >>>> I have discovered a strange bug with numexpr. numexpr.evaluate gives >>>> randomized results on arrays larger than 2047 elements. The following >>>> program demonstrates this: >>>> >>>> from numpy import * >>>> from numexpr import evaluate >>>> >>>> def func(x): >>>> >>>> return evaluate("sum(x, axis = 0)") >>>> >>>> >>>> x = zeros(2048)+.01 >>>> >>>> print evaluate("sum(x, axis = 0)") >>>> print evaluate("sum(x, axis = 0)") >>>> >>>> For me this prints different results each time, for example: >>>> >>>> 11.67 >>>> 14.84 >>>> >>>> If we set the size to 2047 I get consistent results. >>>> >>>> 20.47 >>>> 20.47 >>>> >>>> Interestingly, if I do not add .01 to x, it consistently sums to 0. >>> >>> >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion@scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion@scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion