#2138 antid gives stack overflow


The antidiff function works pretty well, but it should handle problems it can't do more gracefully:

(Lisp Clozure Common Lisp Version 1.6-dev (WindowsX8632)

(%i2) antidiff(diff(f(x),x,a) * f(x)^x,x,f(x));

Maxima encountered a Lisp error:

Stack overflow on value stack.

A nounform would be better than a Lisp error.


  • Barton Willis

    Barton Willis - 2011-01-12

    Related, but more simple:

    (%i4) antidiff(diff(f(x),x,a) + diff(f(x),x,b),x,f(x));
    Maxima encountered a Lisp error:

  • Dieter Kaiser

    Dieter Kaiser - 2011-01-13

    I do not observe Lisp errors. All examples work and give a noun form. In revision 1.4 of antid.mac a check was added to avoid endless loops.

    Maxima version: 5.23post
    Maxima build date: 11:42 1/8/2011
    Host type: i686-pc-linux-gnu
    Lisp implementation type: SBCL
    Lisp implementation version: 1.0.45

    (%i5) antidiff(diff(f(x),x,a) * f(x)^x,x,f(x));

    (%o5) antidiff(f(x)^x*'diff(f(x),x,a),x,f(x))
    (%i6) antidiff(diff(f(x),x,a) + diff(f(x),x,b),x,f(x));

    (%o6) antidiff('diff(f(x),x,b)+'diff(f(x),x,a),x,f(x))
    (%i7) antidiff(diff(f(x) * (f(x)+1)^a,x),x,f(x));

    (%o7) antidiff((f(x)+1)^a*'diff(f(x),x,1)

    Dieter Kaiser

  • Dieter Kaiser

    Dieter Kaiser - 2011-02-17
    • status: open --> pending
  • Dieter Kaiser

    Dieter Kaiser - 2011-02-17

    As written in the last posting I can not observe an error with the current Maxima version.
    Setting the status to pending and the resolution to "works for me".
    Dieter Kaiser

  • SourceForge Robot

    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).

  • SourceForge Robot

    • status: pending --> closed

Log in to post a comment.