       • To: mathgroup at smc.vnet.net
• Subject: [mg50245] Re: Beware of adding 0.0
• From: "paul" <paul at AOI.com>
• Date: Mon, 23 Aug 2004 06:34:06 -0400 (EDT)
• References: <cg4fcn\$cf5\$1@smc.vnet.net> <cg97i2\$a62\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Indeed a nice problem Professor!  Thank you for sharing it.  Would you mind
helping us understand something, why is it that when we give the following
input:
In:=
p = 314159265358979323
q = 314159265358979323.
r = 314159265358979323.00000000000000000000;
s = p + 0.00000000000000000000;
{p, q, r, s}
{N[Tan[p]], N[Tan[q]], N[Tan[r]], N[Tan[s]]}

And get the following output:

Out=
314159265358979323
Out=
\!\(3.14159265358979323`17.497149872694134*^17\)
Out=
\!\({314159265358979323, 3.14159265358979323`17.497149872694134*^17,
3.14159265358979323`37.49714987269414*^17, 3.141592653589793`*^17}\)
Out=
{1.60125, ComplexInfinity, -1.12979, 1.60125}

Then, the output for Tan[p] and Tan[q] give two different answers?  Even
though they are almost exactly the same numbers (only different in
precision), If it can calculate the Tan then why is it
not able to give an approximate value for
Tan[3.14159265358979323`17.497149872694134*^17], Also, if it calculates
Tan to be 1.60125, then why does it give
Tan[3.14159265358979323`37.49714987269414*^17] with such a severe variation
(-1.12979)?

Regards,

"Richard Fateman" <rfateman at sbcglobal.net> wrote in message
news:cg97i2\$a62\$1 at smc.vnet.net...

> Paul, since you are copying this from my posting to sci.math.symbolic
> of August 19,2004, (yesterday) perhaps you should give me credit.
> I took the example from my own paper, A Review of Mathematica,
> which appeared in J. Symbolic Computation,(1992) and a version of which
> is online. You might also read Mark Soufroniou's INRIA paper (1999?)
> explaining why this behavior is apparently intentional, even if it is
> hard to explain (shown by the responses you got).
>
> The idea that 0.0 should represent all numbers in [-1,1]* 2^{-precision}
> is generally regarded with skepticism by computational scientists. Some
> of the other consequences of this are discussed by Soufroniou and others.
> RJF
>
>
>
> paul wrote:
> > In Mathematica 5.0, I get a very strange result when I add 0.0 to a
number,
> > why is this?  See below:
> >
> > p = SetPrecision[314159265358979323, 25]
> > q = SetPrecision[314159265358979323., 25]
> > r = SetPrecision[314159265358979323.00000000000000000000, 25]
> > s = SetPrecision[p + 0.0, 25]
> > {p == q, q == r, r == s, r == p}
> > {Tan[s], N[Tan[p]], Tan[q], Tan[r]}
> >
> >
> > \!\(3.14159265358979323`25.*^17\)
> > Out=
> > \!\(3.14159265358979323`25.*^17\)
> > Out=
> > \!\(3.14159265358979323`25.*^17\)
> > Out=
> > \!\(3.14159265358979328`25.*^17\)   *****NOTICE the 28 instead of 23 at
the
> > end, why does this happen? *******
> > Out=
> > {True, True, False, True}
> > Out=
> > {1.599808, -1.12979, -1.1297927, -1.1297927}
> >
>

```

• Prev by Date: Re: Re: Re: Re: Re: FindMinimum and the minimum-radius circle
• Next by Date: Re: Re: Beware of adding 0.0