[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
a-b+b != a
From: |
stn021 |
Subject: |
a-b+b != a |
Date: |
Mon, 4 Sep 2017 16:53:29 +0200 |
Hi,
this is weird:
r1 = round( 1e3*randn(5) ) / 1e3 ;
r2 = round( 1e3*randn(5) ) / 1e3 ;
r3 = r1 - r2 + r2 ;
not_zero = r1 - r3
not_zero =
0.0000e+00 0.0000e+00 5.5511e-17 0.0000e+00 1.1102e-16
5.5511e-17 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00
0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 -2.0817e-16
-5.5511e-17 0.0000e+00 0.0000e+00 -1.1102e-16 0.0000e+00
2.7756e-17 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00
So a-b+b != a
The difference to zero is small, around 1e-17. But iterations can
cause this error to increase.
I use leasqr() and in each iteration the last line is
retval = retval - someval + someval
With that additional line I get quite different results compared to
the same program without this line even though they should be
identical.
Is there a way to avoid this phenomenon ?
THX
Stefan
Re: a-b+b != a, Gordon Haverland, 2017/09/04
Re: a-b+b != a, James Sherman Jr., 2017/09/04
Re: a-b+b != a, Tim Pierce, 2017/09/04