Re: SetPrecision - What does in find?

• To: mathgroup at smc.vnet.net
• Subject: [mg48299] Re: [mg48282] SetPrecision - What does in find?
• From: Daniel Lichtblau <danl at wolfram.com>
• Date: Sat, 22 May 2004 03:04:30 -0400 (EDT)
• References: <200405210754.DAA23247@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Kazimir wrote:
> Let us run
>
> SetPrecision[.14, \[Infinity]]
>
> MATHEMATICA returns 1261007895663739/9007199254740992. What is the
> mathematical (in the sens of mathemaics as a science) reason to give
> this answer? I would say that 7/50 is much a better answer.
>
> It looks like that the MATHEMATICA's (in the sens of rules of
> MATHEMATICA)  reason 1261007895663739/9007199254740992 can be observed
> by the command
>
> N[1261007895663739/9007199254740992, 100]
>
> which answers .14000000000000001332267629550187848508358001708984375000000
> 00000000000000000000000000000000000000000
>
> It puts 14 zeros after .14 to coinside with 14/100 within the machine
> precision which is about 16, than it puts an arbitrary number and than
> it puts zeros again. It looks that the number is the exact
> presentation of the fractoin 1261007895663739/9007199254740992, but it
> is not exactly .14, the deviation being the machine precission.
>
> MATHEMATICA tries to find a fraction which has a finit digital
> presentation, but which defers from the .14 by a michine precision. Is
> there a meaning to obtaing a number like this?
>

SetPrecision works with the binary representation of the number. Thus
SetPrecision[n,Infinity] will return a dyadic rational (that is, power
of 2 denominator). In the example above it is 2^53.

What you observe with N[SetPrecision[.14,Infinity],100] is the effect of
the binary zero pading of SetPrecision.

To obtain a rational with a "small" denominator when one exists, one can
use Rationalize.

In[8]:= Rationalize[.14] // InputForm
Out[8]//InputForm= 7/50

Daniel Lichtblau
Wolfram Research

```

• Prev by Date: Re: padding numbers in front of uniquely generatd names
• Next by Date: RE: SetPrecision - What does in find?
• Previous by thread: SetPrecision - What does in find?
• Next by thread: Re: SetPrecision - What does in find?