Menu

#2859 Maxima should integrate abs(sin(x)) correctly

None
closed
nobody
None
5
2021-11-14
2014-12-15
kcrisman
No

And abs(cos(x)) - at least it should work correctly with load(abs_integrate). But see among others, https://sourceforge.net/p/maxima/bugs/2520/ and the very long discussion at http://trac.sagemath.org/ticket/13364 Apparently the integral gotten isn't useful for definite integrals, either. And

(%i5) integrate(abs(sin(x)),x,0,%pi);

(%o5) 'integrate(abs(sin(x)),x,0,%pi)

even though this function is nonnegative on that entire interval! And

(%i2) integrate(abs(cos(x)),x,0,%pi);

log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
log: encountered log(0).
(%o2)                                 - 1

Presumably https://sourceforge.net/p/maxima/bugs/2853/ might help some with this, but the answer is still wrong for the usual meaning of abs!

Discussion

  • Robert Dodier

    Robert Dodier - 2014-12-15

    With Maxima 5.35.1, I find that abs_integrate + integrate(abs(sin(x)),x,0,%pi) causes a stack overflow. Looks like sooner or later taylor is called and it gets stuck there. I've reported the apparent problem with taylor as bug #2860.

     
  • Robert Dodier

    Robert Dodier - 2017-08-18

    Minor update. Today I observed the following. I'm still getting a stack overflow for abs_integrate + integrate(abs(sin(x)),x,0,%pi).

    For the other one, I get:

    (%i1) load(abs_integrate);
    WARNING: redefining MAXIMA::OPAPPLY in DEFMACRO
    WARNING: redefining MAXIMA::OPCONS in DEFMACRO
    ARRSTORE: use_fast_arrays=false; allocate a new property hash table for $INTABLE2
    (%o1) 
        /home/robert/maxima/maxima-code/share/contrib/integration/abs_integrate.mac
    (%i2)  integrate(abs(cos(x)),x,0,%pi);
    (%o2)                                 - 1
    

    i.e. I get -1 but without all the "log(0)" messages. Not sure how meaningful or relevant that is.

    (%i3) build_info();
    (%o3) 
    Maxima version: "branch_5_40_base_195_gfde5b07_dirty"
    Maxima build date: "2017-08-16 21:53:41"
    Host type: "i686-pc-linux-gnu"
    Lisp implementation type: "SBCL"
    Lisp implementation version: "1.3.13"
    
     
  • Barton Willis

    Barton Willis - 2021-11-14
    • status: open --> closed
     
  • Barton Willis

    Barton Willis - 2021-11-14

    Fixed by Commit [3ca423] . Closing ticket.

     

    Related

    Commit: [3ca423]


Log in to post a comment.

MongoDB Logo MongoDB