MathGroup Archive 2011

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

Search the Archive

Re: Why Mathematica does not issue a warning when the calculations

  • To: mathgroup at
  • Subject: [mg117620] Re: Why Mathematica does not issue a warning when the calculations
  • From: Richard Fateman <fateman at>
  • Date: Thu, 24 Mar 2011 06:32:09 -0500 (EST)


Table[FractionalPart[(6 + Sqrt[SetPrecision[2, n]])^20], {n, 15,    25}] 
// Column

is a better illustration of the software-precision inheritance capability
of Mathematica.  It is like running the same computation but with numbers
etc,  and seeing what happens.

the fact that 2.0000==2.000000000  is True  (etc) means that a==b and both
a and b are numbers, does not mean that f[a]==f[b].  I view this as 
even if most people don't ever even notice it.

DL says...
> Mathematica documentation is fairly clear about distinctions between 
> machine vs. (Mathematica's implementation of) software arithmetic. The 
> claims to which you refer are made for the latter and not the former. 
> While I've not looked too hard of late, I think this is made 
> reasonably clear in the Documentation Center.
the loop above does not involve machine numbers, but it does suggest a 
failure to increase precision automatically
in the context of FractionalPart.
> Not that many languages support high precision arithmetic. Amongst the 
> ones that do, Mathematica seems to be holding its own in terms of use.
The wikipedia article on arbitrary-precision arithmetic lists 37 
libraries or packages that are associated with virtually every
programming language (even PHP)  in current use. Of these, about 22 
support arbitrary precision floats.
Figuring out how many people use these libraries is impossible, since 
most are free to download, and
for many of them I suspect no one is keeping track. There is also list 
of some 14 languages that have
arbitrary precision built in or in their standard library.

Similarly, even if WRI knows how many licensed copies of Mathematica are 
deployed, I suspect that
no one can keep track of who actually is using the high-precision 
arithmetic.  For example, all
those people who are using Mathematica for plotting or drawing or 
freshman calculus are probably
using machine floats, or maybe even exact rationals and integers.

That's just for arbitrary precision...  how many libraries etc are there 
to do what Mathematica does,
namely significance arithmetic?  I could find none in wikipedia.  There 
are libraries to do interval arithmetic,
however, and maybe we should count them.  The wikipedia article on 
interval arithmetic
gives some pointers to them.  (I'm not citing wikipedia as an authority, 
just as a rough approximation
to the literature.)

 From a marketing perspective, it may be quite unimportant how 
Mathematica does bigfloats,
or how it does intervals.

If you did not have significance arithmetic, what then could you do if 
you wanted to have
some reliable error estimates.  You could use intervals instead of 
numbers. But you
would have to tinker somewhat with any non-trivial program to get it to work
with intervals.


.... Here's a heuristic to see if your answer is numerically correct.
Do the computation in precision 20.
Do the computation in precision 40.
If the answers agree to (say) 18 places, believe it.
You could even do the computation in precision 80, and see if that agrees
with the precision 40 result to (say) 38 places.

This is not entirely foolproof.

But it may be a good deal faster than doing it one precision (say 40) in 
significance arithmetic,
at least if you are using state-of-the-art arbitrary precision in the 
first place.

> Not very many. One such person carries considerable weight in his 
> field (which is very much the appropriate term, as it happensy). But 
> his field is something quite removed from computer arithmetic.
(I think you mean "quite removed from computer algebra"? At least if we 
are thinking of
the same heavyweight. And that still would not be very accurate.)

  • Prev by Date: Re: Problem with DateListPlot Aspect Ratio
  • Next by Date: Re: Why Mathematica does not issue a warning when the calculations
  • Previous by thread: Re: Why Mathematica does not issue a warning when the calculations
  • Next by thread: Re: Why Mathematica does not issue a warning when the calculations