Re: Numerical accuracy/precision - this is a bug or a feature?
- To: mathgroup at smc.vnet.net
- Subject: [mg120162] Re: Numerical accuracy/precision - this is a bug or a feature?
- From: FranD <seacrofter001 at yahoo.com>
- Date: Sun, 10 Jul 2011 05:02:57 -0400 (EDT)
Is using "`" an acceptable work-around? a = 2.`30; b = Sqrt[2]; c = a b; check[x_] := {x, Precision[x]} check[a] {2.00000000000000000000000000000, 30.} check[b] {Sqrt[2], \[Infinity]} check[c] {2.82842712474619009760337744842, 30.} -FranD Slawek wrote: > Let Mathematica (6.x, 7.x) compute quite a simple > product > > In[1]:= N[N[2.0, 20] * N[Sqrt[2] , 20], 20] > > Out[1]= 2.82843 > > This is a bug. > > Why? > > Now we analyze it in details: > > 1. N[2.0,20] should give 2 with > accuracy/precision/whatsever about 20 > decimal digits, i.e. 2.00000000000000000000 > > 2. Sqrt[2] should give... Sqrt[2] > > 3. N[Sqrt[2]] should give 1.4142135623730950488 (this > is copy-paste from > Mathematica output to N[Sqrt[2]] ) > > 4. The product 2.00000000000000000000 * > 1.4142135623730950488 is > 2.8284271247461900976 (again copy-paste) > > 5. BUT THE RESULT OF N[2.0, 20] * N[Sqrt[2] , 20] > "truncated to 20 digits" > is Out[1]= 2.82843 > > Where are missing digits?! > > slawek