       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 + Sqrt - Sqrt[5 + 2*Sqrt] == 2.//Simplify

False

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

False

Bob Hanlon

---- Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote:
> Consider the following:
>
>
> Sqrt + Sqrt - Sqrt[4 + 2*Sqrt] == 2.
>
> False
>
> No problem here. Now let's make a small change
>
> In:=
> Sqrt + Sqrt - Sqrt[5 + 2*Sqrt] == 2.
>
> Out=
>
> Sqrt + Sqrt - Sqrt[5 + 2*Sqrt] == 2.
>
> In fact the expression on the LHS  is exactly 0:
>
> In:=
> RootReduce[Sqrt+Sqrt-Sqrt[5+2*Sqrt]]
>
> Out=
>
> 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:=
> Sqrt + Sqrt - Sqrt[5 + 2*Sqrt] == N[10^3]
>
> Out=
> Sqrt + Sqrt - Sqrt[5 + 2*Sqrt] == 1000.
>
> yet if the number of the left hand side is altered, however slightly,
> the comparison will be made:
>
>
> Sqrt + Sqrt - 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