Nadav Horesh wrote: > The highest accuracy is obtained when you sum an acceding ordered series, and > the lowest accuracy with descending ordered. In between you might get a > variety of rounding errors. > > Nadav. > > -----הודעה מקורית----- > מאת: [EMAIL PROTECTED] בשם Hanni Ali > נשלח: ג 09-דצמבר-08 16:07 > אל: Discussion of Numerical Python > נושא: [Numpy-discussion] Importance of order when summing values in anarray > > Hi All, > > I have encountered a puzzling issue and I am not certain if this is a > mistake of my own doing or not. Would someone kindly just look over this > issue to make sure I'm not doing something very silly. > > So, why would the sum of an array have a different value depending on the > order I select the indices of the array? > > >>>> vector[[39, 46, 49, 50, 6, 9, 12, 14, 15, 17, 21]].sum() >>>> > 8933281.8757099733 > >>>> vector[[6, 9, 12, 14, 15, 17, 21, 39, 46, 49, 50]].sum() >>>> > 8933281.8757099714 > >>>> sum(vector[[39, 46, 49, 50, 6, 9, 12, 14, 15, 17, 21]]) >>>> > 8933281.8757099733 > >>>> sum(vector[[6, 9, 12, 14, 15, 17, 21, 39, 46, 49, 50]]) >>>> > 8933281.8757099714 > > Any thoughts? > > Cheers, > > Hanni > > > ------------------------------------------------------------------------ > > _______________________________________________ > Numpy-discussion mailing list > Numpy-discussion@scipy.org > http://projects.scipy.org/mailman/listinfo/numpy-discussion > Also, increase the numerical precision as that may depend on your platform especially given the input values above are ints. Numpy has float128 and int64 that will minimize rounding error.
Bruce _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion