```Date: Jun 3, 2013 3:26 AM
Author: Joseph Gwinn
Subject: Re: Applying Mathematica to practical problems

In article <koehbr\$2s6\$1@smc.vnet.net>, Mark McClure<mcmcclur@unca.edu> wrote:> On Sat, Jun 1, 2013 at 6:27 AM, Richard Fateman <fateman@cs.berkeley.edu>> wrote:> > On 5/31/2013 12:16 AM, Andrzej Kozlowski wrote:> > >> Naive users of Mathematica practically never use arbitrary> >> precision arithmetic.> >> > Practically never, but occasionally?  Like slightly pregnant?> > While I'd prefer to steer clear of the majority of this morass, I do> have one data point that might be useful.  In fact, I wrote the> following on sci.math.symbolic back in 2008:> >>>> I've been teaching undergraduate students to solve numerical> >>>> problems in calculus, differential equations, linear algebra, and> >>>> more recently numerical analysis using Mathematica since version> >>>> 1.2 and I don't believe I've ever seen the types of problems you> >>>> describe arise in that setting.> > 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.> > 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.  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 have to chime in here, with a story that well predates Mathematica:In my first job, circa 1970, I learned Fortran, and was writing aprogram to convert a tape written on a 16-bit machine to the 36-bitformat of the Univac 1108 mainframe.  I had endless trouble with theUnivac Field() function, which allowed access to defined subfields of a36-bit word, the the bit level.  Field() could appear on either side ofthe equals sign, and so was perfect for reformatting tape data.  Istruggled for a week, then asked my boss, who laughed and said that theField function was known not to work.  Oh.I subsequently took a course on 1108 assembler language, and when Ireturned the first program I wrote was an assembly-coded fortranfunction that did the needed bit twiddling, the twiddling that Field()couldn't do.The point being that any large software entity will have errors, andyet life goes on.Joe Gwinn
```