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??


Hi,
here is a simple example that shows that the sum of two numbers can have 
much slower precision than each number itself:

a = SetPrecision[10^250 + 1, 300];
b = SetPrecision[-10^250, 300];
Print["Precision a=", Precision[a]];
Print["Precision b=", Precision[b]];
Print["Precision a+b=", Precision[a + b]];

prints:

Precision a= 300.
Precision b= 300.
Precision a+b= 49.699

Sincerely, Daniel

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
> 


  • Prev by Date: Re: ArcTan[1/0] no result, but ArcTan[Infinity] ok. How to resolve?
  • Next by Date: Hexagonal Spiral AddOn
  • Previous by thread: Adding two numbers of high precision results in a number of low precision??
  • Next by thread: Re: Adding two numbers of high precision results in a number of low precision??