> > Well, that was five years ago and, as I've continued to teach with > Mathematica and even developed a course *on* Mathematica, I can now > expand on that a bit. I have now seen a novice user develope some > serious confusion due to unexpected behavior surrounding significance > arithmetic - once.
OK. Introductory courses on Mathematica that don't even mention extended floats and significance arithmetic are perhaps not exploring a major part of the system that goes beyond what is available in ordinary numeric systems (whose names may not be mentioned here). That is, using Mathematica to execute machine-hardware arithmetic only is fairly safe, but also unremarkable. > > Incidentally, the significance arithmetic was triggered, not by one of > RJF's standard tricks, but by a simple bug. In versions 6 and 7 of > Mathematica, entering AiryA[0.0] yielded a non-machine number with > Precision $MachinePrecision, rather than a machine number with > Precsion MachinePrecision.
If you are able to entirely shield your users from a mistaken transition to extended precision, that might be good. However a serious user, not under the protective umbrella of your introductory course, might stumble into the pit. I think we can hope that students in classes will have appropriate corrective influences surrounding them. It is the people trying to break new ground (maybe graduate students and above) who can get into mysterious difficulties.
> I was studying the structure of Julia sets > of Airy functions with an undergraduate research student and, as you > might imagine, it was, uhmm, inconvenient to iterate with > high-precision numbers. Danny can verify the bug at least, as he > fixed it.
I can imagine. However, how many Mathematica users would find it puzzling? How many people reading this note right now on mathgroup would find it puzzling?
> > Finally, the main reason I find this debate so uninteresting is that > it is just simple observation that loads of people are doing good > numerical work with Mathematica. We have better things to talk about.
Actually the "other side" of the debate is that it is hazardous to do numerical work with Mathematica' non-machine floats. And if you are just using ordinary machine floats, the justification for using Mathematica because somewhat less cogent. > > Mark McClure >