#182 limit(abs(log(x))) internal error, UND

Stavros Macrakis

Maxima 5.5/Windows/gcl


Error: The tag LIMIT is undefined.

Should of course be INF.

More controversially, perhaps, limit(log(x),x,0) gives
UND -- I believe it should give INFINITY; after all, limit(log
(x),x,0,minus) gives INFINITY.


  • Robert Dodier
    Robert Dodier

    • labels: --> Lisp Core - Limit
  • Raymond Toy
    Raymond Toy

    Logged In: YES

    The error no longer occurs in current CVS. It returns UND,
    after asking if x is positive or negative.

    Why should the answer be INF? log(x) is undefined for
    negative real x.

  • Logged In: YES

    re limit(abs(log(x)),x,0)
    If we're working over real x and the complex log function,
    then if x>0, it should clearly be inf. If x<0, log(x) is not
    real, but abs(log(x)) is, and sure enough
    limit(abs(log(x)),x,0,minus) gives inf. This is I believe
    correct. And it's all consistent with limit(abs(log(x)),x,0)
    => inf.

    If on the other hand you take the position that limit
    operates on real functions, then negative x are not part of
    the domain of log(x), so we should look only at the limit
    for x>0, which also gives us the result inf. But limit is
    actually happy to return imaginary results, e.g.
    limit(sqrt(x),x,-1) => %i.

    By the way, currently, limit(log(x),x,0,minus) gives
    minf+%i*%pi, which makes some sort of intuitive sense, but
    isn't really a valid expression -- it should be infinity.

  • Dan Gildea
    Dan Gildea

    • status: open --> pending
  • Dan Gildea
    Dan Gildea

    Logged In: YES
    Originator: NO

    As of limit.lisp rev 1.56:

    (%i6) limit(log(x), x, 0, minus);
    (%o6) minf+%i*%pi
    (%i7) limit(log(x), x, 0, plus);
    (%o7) minf
    (%i8) limit(abs(log(x)), x, 0, minus);
    (%o8) inf
    (%i9) limit(abs(log(x)), x, 0, plus);
    (%o9) inf
    (%i10) limit(abs(log(x)), x, 0);
    (%o10) inf
    (%i11) limit(1/x, x, 0, minus);
    (%o11) minf
    (%i12) limit(1/x, x, 0, plus);
    (%o12) inf
    (%i13) limit(1/x, x, 0);
    (%o13) infinity

  • This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).

    • status: pending --> closed