Re: Loss of precision when using Simplify
- To: mathgroup at smc.vnet.net
- Subject: [mg37207] Re: Loss of precision when using Simplify
- From: Richard Fateman <fateman at cs.berkeley.edu>
- Date: Wed, 16 Oct 2002 14:26:52 -0400 (EDT)
- Organization: University of California, Berkeley
- References: <anp14k$r0l$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
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. RJF Bill Rowe wrote: > On 10/4/02 at 5:01 AM, carlw at u.washington.edu (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 > >