# Re: Multiple-valued SQRT

• To: Guy.Steele@CMU-10A, lisp-forum@MIT-MC
• Subject: Re: Multiple-valued SQRT
• From: CSVAX.fateman at Berkeley
• Date: Wed ,9 Dec 81 16:57:25 EDT

Since, in general, numeric functions which return real values do not
give a completely correct answer because of numerical approximations,
one could argue for interval answers. Complex answers could be
in circular regions.  For multiple-valued functions, sets of them...

In the case of square-root, returning 2 values is not really so
useful, since if we agree to return one value (say in the right
half-plane), the other one is easy to compute.

I suspect that at the point of use of any elementary function routine,
there is however a single meaningful response. The provision of
multiple-values, sets, intervals, etc.... would be overkill.
Prof. Kahan here would argue however, that in the case of some functions,
a "reserved object" (not-a-number) makes sense.  A rather elegant
proposal for computing with such things is described in the IEEE floating
point arithmetic standard.

As for ways of representing infinite sets, I think SETL might
have something on this, and Macsyma allows  a kludge like
(assume(n,integer), 2*n*%i*%pi).  Computing with these things is naturally
a royal pain unless they are anticipated.