On 2021-09-04 09:48:40 -0300, Hope Rouselle wrote: > Christian Gollwitzer <aurio...@gmx.de> writes: > > Am 02.09.21 um 15:51 schrieb Hope Rouselle: > >>>>> ls = [7.23, 8.41, 6.15, 2.31, 7.73, 7.77] > >>>>> sum(ls) > >> 39.599999999999994 > >> > >>>>> ls = [8.41, 6.15, 2.31, 7.73, 7.77, 7.23] > >>>>> sum(ls) > >> 39.60000000000001 > >> All I did was to take the first number, 7.23, and move it to the > >> last > >> position in the list. (So we have a violation of the commutativity of > >> addition.) > > > > I believe it is not commutativity, but associativity, that is > > violated.
I agree. > Shall we take this seriously? (I will disagree, but that doesn't mean I > am not grateful for your post. Quite the contary.) It in general > violates associativity too, but the example above couldn't be referring > to associativity because the second sum above could not be obtained from > associativity alone. Commutativity is required, applied to five pairs > of numbers. How can I go from > > 7.23 + 8.41 + 6.15 + 2.31 + 7.73 + 7.77 > > to > > 8.41 + 6.15 + 2.31 + 7.73 + 7.77 + 7.23? Simple: >>> 7.23 + 8.41 + 6.15 + 2.31 + 7.73 + 7.77 39.599999999999994 >>> 7.23 + (8.41 + 6.15 + 2.31 + 7.73 + 7.77) 39.60000000000001 Due to commutativity, this is the same as >>> (8.41 + 6.15 + 2.31 + 7.73 + 7.77) + 7.23 39.60000000000001 So commutativity is preserved but associativity is lost. (Of course a single example doesn't prove that this is always the case, but it can be seen from the guarantees that IEEE-754 arithmetic gives you that this is actually the case). hp -- _ | Peter J. Holzer | Story must make more sense than reality. |_|_) | | | | | h...@hjp.at | -- Charles Stross, "Creative writing __/ | http://www.hjp.at/ | challenge!"
signature.asc
Description: PGP signature
-- https://mail.python.org/mailman/listinfo/python-list