Adding two numbers of high precision results in a number of low precision??
- To: mathgroup at smc.vnet.net
- Subject: [mg56887] Adding two numbers of high precision results in a number of low precision??
- From: Kees van Schaik <schaik at math.uni-frankfurt.de>
- Date: Mon, 9 May 2005 01:46:09 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
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
--
====================================================
Kees van Schaik
Frankfurt MathFinance Institute
J.W. Goethe-Universitaet
Frankfurt am Main
Tel: +49 (0)69 79823453
WWW: http://ismi.math.uni-frankfurt.de/vanSchaik/
====================================================