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
