MathGroup Archive 2002

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

Search the Archive

Re: Loss of precision when using Simplify

  • To: mathgroup at
  • Subject: [mg37207] Re: Loss of precision when using Simplify
  • From: Richard Fateman <fateman at>
  • Date: Wed, 16 Oct 2002 14:26:52 -0400 (EDT)
  • Organization: University of California, Berkeley
  • References: <anp14k$r0l$>
  • Sender: owner-wri-mathgroup at

There is nothing imprecise about a floating point number.  Mathematica's
non-standard usage is to treat some numbers as intervals.  This non-standard
usage comes from the attitude that "everything I need to know about
numerical computations I learned in Freshman physics lab".

Anyway, I'm just pointing this out so that you realize that you
are not talking about truth and beauty, but about decisions made
in the Mathematica design.

For example, 0.25 in IEEE floating point format is representing the
EXACT value 1/4.    The rational number 1/3 does not have an exact
corresponding binary floating point number.  That does not
prevent one from computing the closest number, which from that point on
that (other) number is EXACTLY represented. An analysis of your
arithmetic or simplification in which each floating point number aaaa*2^bb
is changed to that exact rational number may give you more satisfactory
answers  that an interval-like computation in which all data is submerged
in mush.

Bill Rowe wrote:

> On 10/4/02 at 5:01 AM, carlw at (Carl K. Woll) wrote:
>>It seems to me that you are arguing that if you have an expression
>>consisting of one term which is very inprecise and another term which
>>is very precise or exact, then the total expression is only as precise
>>as the least precise portion of the expression. 
> Yes. 
>>This is total nonsense. 
> Not exactly.
>>Consider adding the following terms:
>>1.234567890123456`16 + 0.00000000000000001`1
>>consisting of one term with precision 16 and another term with
>>precision 1. By your argument, Mathematica should return an answer
>>with only a single digit of precision. Of course, Mathematica does no
>>such thing.
> I had not considered adding two terms with much different magnitude and much different precision.
> Consider a different example i.e.,
> 1.234567890123456`16 + 0.1`1
> Mathematica does not and should not return a result with 16 digits of precision

  • Prev by Date: Re: Re: defining a function with D
  • Next by Date: Mathematica Training Course in Amsterdam
  • Previous by thread: Re: Re: Loss of precision when using Simplify
  • Next by thread: RE: final results: creating adjacency matrices