[Date Index] [Thread Index] [Author Index]
Re: Numerical accuracy/precision - this is a bug or a feature?
"Mathematica treat 2.0 as a 2.0+-0.1" No, it treats it as 2 with machine precision -- almost 16 digits at my machine -- not two digits, as you're describing. Bobby On Tue, 05 Jul 2011 04:12:05 -0500, slawek <slawek at host.pl> wrote: > > U=BFytkownik "Kevin J. McCann" <kjm at KevinMcCann.com> napisa=B3 w wiadomo=B6ci > grup > dyskusyjnych:ius7b6$30t$1 at smc.vnet.net... >> The answer to this puzzle is that the N[2.0,20] is 2.0, not >> 2.00000000... Try N[2,20] and all is well. I think that when you put 2.0 >> in you have already limited yourself to machine precision, and N[2.0,20] >> is then just machine accuracy. > > It is still a-bug-and-a-feature. > And this bug make Mathematica nearly useless in numerical computations. > "MS > Windows Calculator" is much more reliable! > > > The number of written digits IS NEITHER the precision NOR the accuracy. > Mathematica treat 2.0 as a 2.0+-0.1, but it is not the proper way to > handle > numbers. > > I know, that it is common mistake to treat 2.0 as "not an integer number" > and/or "exact" number, but 2.0 is an integer number AND also it is a > rational number AND also a real number AND also a complex number. And > 2.0 is > simply 1+1+ 0/10 . Therefore, as you see, there is no "roudning", > "limited > precision", "error" or "uncertinaity". It is only a matter of a notation > of > decimal fractions. And decimal fractions are exact. Any "tolerance" is > not > indicated in any way by this notation. Thus it is a bug. Nasty, big, fat > bug > in the core of Mathematica. > > Even from "CS view" 2.0 is translated to IEEE representation with > 56-bits of > the mantisa. Nobody declare float x == 2.0000000000 to iniject the float > point two into a code. > > slawek > > -- DrMajorBob at yahoo.com