For (sqrt -1) Lisp can return either #c(0 1) or #c(0 1.0) but (sqrt -1.0)
must be #c(0.0 1.0). At least according to the CLHS.
I agree about numberp ; it's s bit confusing.
Ray
On Jul 30, 2011 11:01 AM, "Stavros Macrakis" <macrakis at gmail.com> wrote:
> Not the gaussian integer #c(0 1) =%i? By the way, I suspect that parts of
> Maxima assume that numberp implies real.
> On Jul 30, 2011 12:03 PM, "Raymond Toy" <toy.raymond at gmail.com> wrote:
>> On 7/29/2011 12:34 PM, Stavros Macrakis wrote:
>>>
>>> Another problem: in GCL at least, (sqrt -1) = (sqrt -1.0) => 1+6e-17 +
>>> i, not 0+i exactly.
>>>
>> I don't think this is a problem that maxima needs to solve. We should
>> just file a bug report for gcl and let gcl fix it. There's really no
>> excuse for getting that wrong when there are well documented algorithms
>> for the complex square root. Well, I am assuming that most other lisps
>> return #c(0.0 1.0) for that.
>>
>> Ray
>>
>> _______________________________________________
>> Maxima mailing list
>> Maxima at math.utexas.edu
>> http://www.math.utexas.edu/mailman/listinfo/maxima