My perspective: If you are doing 'numerics' where small is important, then you must worry about that in your code. Expecting the software to provide the answer appropriate for you (today) is unreal.

Several talk of sqrt x as x goes to zero. Yes continuity would be nice, but what if your code overshoots (by a wee bit). Many verbs of math are multi-sheeted. You can't (or shouldn't) ask J to pick your sheet for you. If you worry about sqrt what do you want on nth root?, or principal values for many verbs? And what about verbs with essential singularities at 0?

Completing the reals, whether including _ or __ (or both) is almost irrelevant, the space is in fact anything but continuous. _ and __ are awfully convenient in many cases, we can argue whether they are actually numbers or defined place holders with some numeric characteristics. (I have to admit to a curiousity about how Roger handles them internally.)

A serious problem can arise if -0 is not equal to +0, but if you use reals can that ever happen? Sure early Fortran used to have a -0 and a +0, a real pain.

The fundamental point is that the langauge (APL or J) work in a way that is consistent over time, so my software can allow for it. J is not mathematics (at least not directly), and the topological properties of the reals simply will never translate, totally, into J (even if you do use ***x)

Interestingly it was a push by Kahan that got IBM to worry about the sign of x in sqrt, early Fortran ignored the sign. When the sign was included many 'working' packages suddenly failed, chaos all over the place.

Ralph Selfridge

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to