Menu ▾ ▴

#3345 bug in limit

closed
nobody
limit (226)
5
2026-08-21
2017-11-01
No

The following

limit(( %e^(-sqrt(2*s-1)*atan(y))) , s, inf);

gives an error

The value #:|cos(0)3749| is not of type LIST.
Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.

wxMaxima version: 17.05.0
Maxima version: 5.38.1
Maxima build date: 2016-06-12 17:13:34
Host type: i686-pc-mingw32
System type: Win32 6.1.7601 (Service Pack 1) X86-64
Lisp implementation type: SBCL
Lisp implementation version: 1.3.4

Discussion

  • Raymond Rogers

    Raymond Rogers - 2017-11-02
     

    Last edit: Raymond Rogers 2017-11-02
  • Kris Katterjohn

    Kris Katterjohn - 2017-11-02
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,13 +1,16 @@
     The following
    
    +~~~
     limit(( %e^(-sqrt(2*s-1)*atan(y))) , s, inf);
    +~~~
    
     gives an error
    
    
    - The value #:|cos(0)3749| is not of type LIST.
    +~~~
    +The value #:|cos(0)3749| is not of type LIST.
     Automatically continuing.
     To enable the Lisp debugger set *debugger-hook* to nil.
    -
    +~~~
    
    
     wxMaxima version: 17.05.0
    
     
  • Kris Katterjohn

    Kris Katterjohn - 2017-11-02

    added some tildes to fix the formatting

     
  • Raymond Toy

    Raymond Toy - 2017-11-17

    Bizarre that the atan(y) term messes things up. If you leave it off, limit returns 0. Replacing atan(y) with just y allows limit to succeed.

     

    Last edit: Raymond Toy 2017-11-17
  • David Scherfgen

    David Scherfgen - 2026-08-21

    In Maxima 5.50post (SBCL 2.6.7) this limit no longer signals "The value #:|cos(0)NNNN| is not of type LIST". It now asks for the sign of y and returns 0 for positive y and inf for negative y, which is correct because sqrt(2*s-1) -> +inf while the exponent's sign is that of -atan(y). Supplying the sign in advance avoids the question: assume(y>0) gives 0 and assume(y<0) gives inf.

    (%i2) limit(( %e^(-sqrt(2*s-1)*atan(y))) , s, inf);
    Is y positive, negative or zero? pos;
    (%o2) 0
    

    Verified by Claude.

     

Log in to post a comment.