realbasic-nug
[Top] [All Lists]

Re: math error

To: REALbasic NUG <realbasic-nug at lists dot realsoftware dot com>
Subject: Re: math error
From: Charles Yeomans <charles at declareSub dot com>
Date: Fri, 28 Jul 2006 17:01:24 -0400
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug at lists dot realsoftware dot com
References: <20060728170034 dot 56BA013D63DC at lists dot realsoftware dot com> <36779BDD-2590-476E-9A69-2EBC4D81282D at ucsd dot edu> <77124270607281212s73f76155wf6d55edc40fddd04 at mail dot gmail dot com>
Shouldn't you be using Maple?

Charles Yeomans

On Jul 28, 2006, at 3:12 PM, Peter K. Stys wrote:

Good point Michael.  It is disconcerting that Mathematica reports 0's
when in fact the values are unknown. I guess you can't even trust the
king of math programs.

Cheers,
Peter.


Tho looking at the result of RealDigits[0.036,2,100], I infer that 0.036 is

On 7/28/06, Michael Sharpe <msharpe at ucsd dot edu> wrote:
Peter,

Mathematica is misleading you here. At least in recent versions (I'm
using 5.2), the last 48 positions are not 0, but are Indeterminate,
indicating that the precision you requested goes beyond the numerical
precision in the floating point number .036. The only numbers capable
of an exact finite binary representation are those whose fractional
representation as m/n (ie, all common factors removed) have n as a
power of 2. As 36/1000 reduces to 9/250, and 250 is not a power of 2.
In your first example, where you compute N[72/1000*750,100], what you
are observing is the ability of Mathematica to do exact arithmetic
calculations, not using any internal representation as a floating
point number, at least when the number you enter is not manifestly
approximate.

Michael

> Subject: Re: Re: Math Error?
> From: "Peter K. Stys" <pkstys at gmail dot com>
> Date: Fri, 28 Jul 2006 12:35:56 -0400
>
> On 7/28/06, Norman Palardy <npalardy at great-white-software dot com> wrote:
>>
>> On Jul 28, 2006, at 8:53 AM, Peter K. Stys wrote:
>>
>>>
>>> In[26]:= N[72/2000*750,100]
>>>
>>> Out[26]=
>>> 27.00000000000000000000000000000000000000000000000000000000000000000
>>> 00
>>> 0000000000000000000000000000000
>>>
>>> In[27]:= N[72/2000*750]
>>>
>>> Out[27]= 27.
>>>
>>> Still suggests all these numbers and intermediate results are
>>> representable exactly at machine precision.
>>
>> I'm quite certain that 72/2000 is not.
>> Write it as the simple sum of powers of 2 and you find the problem. >> 72/2000 = 2^-2 + 2^-4 + 2^-5 + 2^-6 + 2^-11 + 2^-15 ..... and so on
>> and you never get exactly the result you get from 72/2000.
>> In the machine all you have is powers of 2
>>
>>
>
> Actually we're both right and wrong:
>
> In[55]:=RealDigits[0.036,2,100]
>
> Out[55]=
> {{1,0,0,1,0,0,1,1,0,1,1,1,0,1,0,0,1,0,1,1,1,1,0,0,0,1,1,0,1,0,1,0,0,1 ,
> 1,1,1,
>
> 1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,
> 0,
>     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},-4}
>
> Shows that 0.036 can be represented exactly in binary, but requires 51 > significant digits (if I counted correctly to the last 1). So with a > 64 bit double, it probably just missed the # of digits in the mantissa
> to represent 0.036 exactly.
> Nuf time wasted on this, just a curiosity.
>
> P.

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>



--
---------------------------------------------------------------------- ---------
Peter K. Stys, MD
Professor of Medicine(Neurology), Senior Scientist
Ottawa Health Research Institute, Div. of Neuroscience
Ottawa Hospital / University of Ottawa
Ontario, CANADA
tel:    (613)761-5444
fax:    (613)761-5330
http://www.ohri.ca/profiles/stys.asp
---------------------------------------------------------------------- ---------
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>


<Prev in Thread] Current Thread [Next in Thread>