MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Adding two numbers of high precision results in a number of low precision??David Bailey,http://www.dbaileyconsultancy.co.uk

  • To: mathgroup at smc.vnet.net
  • Subject: [mg56970] Re: Adding two numbers of high precision results in a number of low precision??David Bailey,http://www.dbaileyconsultancy.co.uk
  • From: David Bailey <dave at Remove_Thisdbailey.co.uk>
  • Date: Wed, 11 May 2005 05:24:59 -0400 (EDT)
  • References: <d5mv2v$dv0$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Kees van Schaik wrote:
> Hi,
> 
> I have the following question. In a pretty long code (so I won't send 
> everything) at some point the following loop occurs:
> 
> 
>>For[i=1,i<=3,i++,
>>    bTemp[i,0,j]=bTemp[i,0,0]+Q[i,j];
>>    Print["Precisie bTemp[",i,",0,0] = ",Precision[bTemp[i,0,0]]];
>>    Print["Precisie Q[",i,",",j,"] = ",Precision[Q[i,j]]];
>>    Print["Precisie bTemp[",i,",",0,",",j,"] = ",Precision[bTemp[i,0,j]]];
>> ]; (* einde For *)
> 
> 
> ("Precisie" is Dutch for "precision" ;)), where the j is a loop counter 
> and the Q[.,.]'s and bTemp[.,0,0]'s are known numbers of a certain 
> precision. Now two pieces of the output of this piece of code look like 
> this:
> 
> 
>>Precisie bTemp[2,0,0] = 397.142
>>Precisie Q[2,1] = 397.172
>>Precisie bTemp[2,0,1] = 395.193
> 
> 
> 
> and
> 
> 
>>Precisie bTemp[3,0,0] = 389.685
>>Precisie Q[3,1] = 390.729
>>Precisie bTemp[3,0,1] =53.8232
> 
> 
> 
> Now the first one makes sense, but the last one, how is it possible that 
> if I add two numbers of precision ca. 390 I get something of precision 
> 53 back? I hope somebody could explain, because there are numerical 
> problems in my code that mess things up and I'm afraid the stuff above 
> could have to do with it...
> 
> Thanks in advance & best wishes, Kees van Schaik
> 
If you subtract two numbers that are almost equal, you end up with 
something of lower precision. In your case I imagine you are adding two 
numbers that are almost equal, but of opposite sign.

David Bailey
http://www.dbaileyconsultancy.co.uk


  • Prev by Date: Re: Re: Folding Deltas
  • Next by Date: Re: Re: NSum: badly missed Option
  • Previous by thread: Re: More problems with SetPrecision[] and/or $MinPrecision,...
  • Next by thread: NIntegrate-FindRoot acting up in version 5.1