Henry Rich wrote:
>
>> 1. Fortran-style complex numbers and failing to distinguish betwee
>> +/-0 lead to some numerical problems in physically important contexts.
>
> I tried to find the paper where he discusses this, and I found
> numerous references to it but not the paper itself.  Can you
> summarize what -0 is needed for?  It seems that -0 would have
> to produce a different result from +0 to make a difference,
> but I can't think of what function would have those different
> results.  He mentions SQRT, and something about branch cuts, but
> I don't get it.
>

I don't think the paper is available electronically, at least not on my
library system.  I have a xeroxed copy in my office.

The problem with square roots is that you need

%: _1 + j.(+0) ---> 0j1
%: _1 + j.(-0) ---> 0j_1

to ensure continuity up to the branch cuts.  Having +/-0 allows some
representation of one-sided limits, which arise all the time in
boundary value problems.

It is quite plausible to get +/-0 as well as directed
infinities in scientific computation: the main use for atan2 is to
convert complex numbers from rectangular to polar form, taking into
account signs like this.

The Borda's mouthpiece example is intended to be convincing that an
error has occurred: streamlines cannot intersect, so you know
something is wrong.

Much of this has no relevance to general computation.  In scientific
computation, where floating-point is used almost exclusively, this is
a big deal.

Best wishes,

John

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

Reply via email to