Re: comparing implicit 0 with machine floats

• To: mathgroup at smc.vnet.net
• Subject: [mg71139] Re: [mg71108] comparing implicit 0 with machine floats
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Thu, 9 Nov 2006 03:37:57 -0500 (EST)

```Using Simplify will force the comparison

Sqrt[2] + Sqrt[3] - Sqrt[5 + 2*Sqrt[6]] == 2.//Simplify

False

Sqrt[2] + Sqrt[3] - Sqrt[5 + 2*Sqrt[6]] == N[10^3]//Simplify

False

Bob Hanlon

---- Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote:
> Consider the following:
>
>
> Sqrt[2] + Sqrt[3] - Sqrt[4 + 2*Sqrt[6]] == 2.
>
> False
>
> No problem here. Now let's make a small change
>
> In[17]:=
> Sqrt[2] + Sqrt[3] - Sqrt[5 + 2*Sqrt[6]] == 2.
>
> Out[17]=
>
> Sqrt[2] + Sqrt[3] - Sqrt[5 + 2*Sqrt[6]] == 2.
>
> In fact the expression on the LHS  is exactly 0:
>
> In[19]:=
> RootReduce[Sqrt[2]+Sqrt[3]-Sqrt[5+2*Sqrt[6]]]
>
> Out[19]=
>
> The curious thing is that if you try a comparison between a zero of
> this kind and any machine float, however large, Mathematica 5.1 will
> return the original input:
>
> In[20]:=
> Sqrt[2] + Sqrt[3] - Sqrt[5 + 2*Sqrt[6]] == N[10^3]
>
> Out[20]=
> Sqrt[2] + Sqrt[3] - Sqrt[5 + 2*Sqrt[6]] == 1000.
>
> yet if the number of the left hand side is altered, however slightly,
> the comparison will be made:
>
>
> Sqrt[2] + Sqrt[3] - Sqrt[5 + 2*Sqrt[6+1/10^20]] == 2.
>
> False
>
> This suggests that Mathematica actually did perform a computation of
> the left hand side in the examples where it just returned the input
> and having discovered that it could not determine if the LHS is an
> exact zero decided "not to answer the question". But this seems quite
> unreasonable; after all it is not being asked if the LHS is an exact
> 0, or even an approximate 0, but if it is an approximate large number
> like 1000., and this it certainly can decide.
>
> I believe this used to be handled differently (better?) in older
> versions of Mathematica but I no longer have any installed to check.
>
> Andrzej Kozlowski
>

```

• Prev by Date: Re: Plotting multi-column data
• Next by Date: RE: Plotting multi-column data
• Previous by thread: comparing implicit 0 with machine floats
• Next by thread: Re: comparing implicit 0 with machine floats