Re: Re: Distinguishable From 1.0
- To: mathgroup at smc.vnet.net
- Subject: [mg47832] Re: [mg47811] Re: Distinguishable From 1.0
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Thu, 29 Apr 2004 00:33:51 -0400 (EDT)
- References: <c6ic20$6j5$1@smc.vnet.net> <200404270847.EAA18919@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 27 Apr 2004, at 17:47, Maxim wrote: > It gets more interesting if we consider arbitrary-precision numbers: > > In[1]:= > 1`2 == 2.2 > 1`2 == 2.3 > > Out[1]= > True > > Out[2]= > False > > If precision of the number 1`2 equals 2 and scale (decimal logarithm > of the number) is 0, then accuracy is also 2 and absolute error is > 10^-accuracy = 0.01. Then why is this number considered equal to 2.2? > Additionally, 1`2-2.2 is converted to machine number, so it is not > equal to 0. Also, Equal is not transitive: > > In[3]:= > {99`2 == 0, 0 == -99`2, 99`2 == -99`2} > > Out[3]= > {True, True, False} > > Looking at RealDigits doesn't clarify things. And another issue: > > In[4]:= > int = Interval[1`2]; > IntervalMemberQ[int, 0] > IntervalMemberQ[Sin[int], 0] > > Out[5]= > True > > Out[6]= > False > > If the interval contains the point 0, how can Sin map it to an > interval which doesn't include 0? > > Maxim Rytin > m.r at prontomail.com > As Richard Fateman has, in the past, pointed out on this list, comparisons of this kind between inexact numbers or inexact and exact numbers are bound to lead to weird results and should never be made. This problem could be avoided by simply not allowing them at all so that instead of getting the answers that seem to worry you, you would simply get an error message, rather like the one you get when trying to check if one complex number is larger than another. However a better solution seems to me to be just to refrain form doing it. Besides it is well known that Mathematica's high precision arithmetic model, based on approximate interval arithmetic, works well only for numbers whose uncertainty is much smaller than the number itself. This is the case in all applications I have ever heard of. For very low precision numbers like your examples, it is known to give excessively pessimistic or wrong answers, but so what? Andrzej Kozlowski Chiba, Japan http://www.mimuw.edu.pl/~akoz/
- References:
- Re: Distinguishable From 1.0
- From: ab_def@prontomail.com (Maxim)
- Re: Distinguishable From 1.0