limit code



Here is one example where the bug manifests itself as an error.

(%i1) display2d:false;
(out1) false
(%i2) limit(a*x^b,x,inf);
Is  b  positive, negative, or zero?
z;
(out2) 0
(%i3) limit(a*x^0,x,inf);
(out3) a


Here it returns a noun which can be handled better.

(%i1) display2d:false;
(out1) false
(%i2)  limit(a*x^b,x,inf);
Is  b  positive, negative, or zero?
p;
(out2) a*('limit(x^b,x,inf))
(%i3) ev(%,nouns);
Is  b  positive, negative, or zero?
p;
(out3) inf*a
(%i4)  limit(a*x^b,x,minf);
Is  b  positive, negative, or zero?
p;
(out4) a*(-1)^b*('limit(x^b,x,inf))
(%i5) ev(%,nouns);
Is  b  positive, negative, or zero?
p;
(out5) inf*a*(-1)^b

It should ask if b is an integer.   Then if so

(%i4) limit(a*x^b,x,inf)
Is b an integer?
y;
Is b  positive, negative, or zero?
p;
Is a positive, negative, or zero?
(out4) inf

Here is Barton's error.

limit(f(a*x),x,inf),
f(infinity)

I think $infinity is being returned because the sign of a is undetermined so it could be $minf or $inf so someone made 
it return $infinity which is wrong.  $infinity means complex infinity, not "unknown sign but still infinite".

Rich

--------------------------------------------------
From: "Barton Willis" <willisb at unk.edu>
Sent: Thursday, January 28, 2010 6:54 AM
To: "Maxima List" <maxima at math.utexas.edu>
Cc: "Richard Hennessy" <rich.hennessy at verizon.net>
Subject: Re: [Maxima] limit code

> Better example (independent of limsubst)
>
> (%i1) limit(a*x,x,inf);
> (%o1) infinity
>
> Barton
>
> -----maxima-bounces at math.utexas.edu wrote: -----
>
>
>>Maybe Richard is refereeing to the (unreported?) bug:
>>
>> (%i7) limit(f(a*x),x,inf), limsubst : true;
>>   1> (RATLIM ((MTIMES SIMP) $A $X))
>>   <1 (RATLIM $INFINITY)
>> (%o7) f(infinity)
>
>