limit(1/x, x, 0) => infinity



Raymond Toy wrote:
>>>>>> "Robert" == Robert Dodier <robert.dodier at gmail.com> writes:

Hi,

>     >> (%i1) limit(x,x,infinity);
>     >> 
>     >> *** - Lisp stack overflow. RESET
> 
>     Robert> Same result w/ ECL, and apparently-endless looping w/ CMUCL.
>     Robert> Doubtless a bug in the limit code (sorry).
> 
> CMUCL loops because the call stack is pretty large; it will eventually
> run out of stack space, I think.  In any case, I think limit is
> getting stuck because it wants to compute the limit from "both" sides
> to see if they're the same.  That doesn't work so well for infinity,
> which doesn't have a side.
> 
> Maybe limit should just signal an error if the limit point is
> infinity?
> 
> I think Maxima's limit is, fundamentally, for real numbers.

It used to work in 5.16.3:

Maxima 5.16.3 http://maxima.sourceforge.net
Using Lisp CLISP 2.46 (2008-07-02)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) limit(x,x,infinity);
(%o1)                              infinity

That is how I ended up trying it in 5.17.1. It works for "inf" by the way:

Maxima 5.17.1 http://maxima.sourceforge.net
Using Lisp CLISP 2.46 (2008-07-02)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) limit(x,x,inf);
(%o1)                                 inf


> Ray
> 

Cheers,

Michael