MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: inconsistency with Inequality testing and Floor

  • To: mathgroup at smc.vnet.net
  • Subject: [mg59983] Re: inconsistency with Inequality testing and Floor
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Sat, 27 Aug 2005 04:11:12 -0400 (EDT)
  • Organization: The Open University, Milton Keynes, U.K.
  • References: <dek8a1$aao$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Brett Patterson wrote:
> I have observed the following strange behaviour:
> 
> ----------------------
> In[1]:=   x = 1.0 - 10^-($MachinePrecision)
> 
> Out[1]=   1.
> 
> In[2]:=   x >= 1
> 
> Out[2]=   True
> 
> In[3]:=   Floor[x]
> 
> Out[3]=   0
> ----------------------
> 
> It seems that the inequality test and Floor use different numerical
> methods.
> I think this behaviour is inconsistent.
> If the test "x >= 1" evaluates to True, then Floor[x] should evaluate
> to 1.
> 
> Can anyone shed any light on this?
> 
> Regards,
> Brett Patterson
> 
> School of Physics, University of Western Australia; and
> Institute of Photonics, University of Strathclyde, Scotland
> 
Hi Brett,

Looking at the value returned for x in *InputForm*, one can see that x 
is coded as 0.99999... indeed. This value is interpreted as 1.0 by 
function such as greater or equal to. However, according to the 
documentation, *Floor* uses different or additional numerical algorithms 
to establish its results that not only take in account $MachinePrecision 
but also $MaxExtraPrecision. One recommendation is to set the variable 
$MaxExtraPrecision to a higher value (see below).


In[1]:=
$MachinePrecision

Out[1]=
15.954589770191003

In[2]:=
x = 1. - 10^(-$MachinePrecision)

Out[2]=
0.9999999999999999

In[3]:=
x >= 1

Out[3]=
True

In[4]:=
Floor[x]

Out[4]=
0

In[5]:=
Block[{$MaxExtraPrecision = 1000}, Floor[x]]

Out[5]=
0

Best regards,
/J.M.


  • Prev by Date: Re: Manipulating the results of Maximize
  • Next by Date: Re: ListDensityPlot and transparency
  • Previous by thread: Re: inconsistency with Inequality testing and Floor
  • Next by thread: Re: inconsistency with Inequality testing and Floor