Menu

#2526 abs_integrate fails on integrate(sqrt(x + sqrt(x)), x)

None
closed
nobody
None
5
2015-02-15
2012-12-29
No

Summary: Maxima 5.26.0 is able to compute integrate(sqrt(x + sqrt(x)), x), after loading abs_integrate, but neither the current 5.28.0 nor the latest development version can compute this integral (the noun form is returned).

Should one load more extra packages/specify extra options to be able to compute this integral?

In more detail --- I compute definite integral, although could do indefinite too - the output is much longer: (Sage 5.1)

$ sage -maxima
;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/sb-bsd-sockets.fas"
;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/sockets.fas"
;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/defsystem.fas"
;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/cmp.fas"
Maxima 5.26.0 http://maxima.sourceforge.net
using Lisp ECL 11.1.1
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) load(abs_integrate);
(%o1) /usr/local/src/sage/sage-5.1/local/share/maxima/5.26.0/share/contrib/int\
egration/abs_integrate.mac
(%i2) display2d:false;

(%o2) false
(%i3) integrate(sqrt(x + sqrt(x)), x,0,1);

(%o3) log(sqrt(2)+1)/8-log(1-sqrt(2))/8+log(-1)/8+2^(3/2)/3-1/(3*2^(3/2))

the current binary distribution for MacOSX:

$ exec '/Applications/Maxima.app/Contents/Resources/maxima.sh'
Maxima 5.28.0 http://maxima.sourceforge.net
using Lisp SBCL 1.0.55.0-abb03f9
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) load(abs_integrate);
STYLE-WARNING: redefining MAXIMA::OPAPPLY in DEFMACRO
STYLE-WARNING: redefining MAXIMA::OPCONS in DEFMACRO
STYLE-WARNING: redefining MAXIMA::SIMP-ISREAL-P in DEFUN
(%o1) /Applications/Maxima.app/Contents/Resources/maxima/share/maxima/5.28.0/s\
hare/contrib/integration/abs_integrate.mac
(%i2) integrate(sqrt(x + sqrt(x)), x,0,1);
                             1
                            /
                            [
(%o2)                       I  sqrt(x + sqrt(x)) dx
                            ]
                            /
                             0
(%i3) 

same as for 5.28.0 picture with a very recent Maxima version and ECL 12.12

Related

Bugs: #2526

Discussion

  • Dima Pasechnik

    Dima Pasechnik - 2012-12-30

    oops, I still don't know which commit in the git tree is "the latest".

     

    Last edit: Dima Pasechnik 2012-12-30
  • Barton Willis

    Barton Willis - 2012-12-30
    • status: open --> closed
     
  • Barton Willis

    Barton Willis - 2012-12-30

    Fixed by commit e1a2891d855c0a84d39e788a3a59f8be3db406ff

    Thanks for the bug report. Incidentally, the abs_integrate code is barely involved in doing this antiderivative--the main integration code really does all the work. Actually it seems like a bug that abs_integrate has to participate at all.

     
    • Dima Pasechnik

      Dima Pasechnik - 2012-12-30

      I cannot find the commit cited. Is it in the main Maxima repo (i.e. git://git.code.sf.net/p/maxima/code maxima-code) ?

       
  • Barton Willis

    Barton Willis - 2012-12-30

    I'm not particularly knowledgeable about such things, but I do see:

    http://sourceforge.net/mailarchive/forum.php?thread_name=From_willisbl%40users.sourceforge.net_Sun_Dec_30_14%3A34%3A20_2012&forum_name=maxima-commits

    --Barton


    From: Dima Pasechnik [dimpase@users.sf.net]
    Sent: Sunday, December 30, 2012 09:18
    To: [maxima:bugs]
    Subject: [maxima:bugs] Re: #2526 abs_integrate fails on integrate(sqrt(x + sqrt(x)), x)

    I cannot find the commit cited. Is it in the main Maxima repo (i.e. git://git.code.sf.net/p/maxima/code maxima-code) ?


    [bugs:#2526]http://sourceforge.net/p/maxima/bugs/2526/ abs_integrate fails on integrate(sqrt(x + sqrt(x)), x)

    Status: closed
    Created: Sat Dec 29, 2012 01:52 PM UTC by Dima Pasechnik
    Last Updated: Sun Dec 30, 2012 02:41 PM UTC
    Owner: nobody

    Summary: Maxima 5.26.0 is able to compute integrate(sqrt(x + sqrt(x)), x), after loading abs_integrate, but neither the current 5.28.0 nor the latest development version can compute this integral (the noun form is returned).

    Should one load more extra packages/specify extra options to be able to compute this integral?

    In more detail --- I compute definite integral, although could do indefinite too - the output is much longer: (Sage 5.1)

    $ sage -maxima
    ;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/sb-bsd-sockets.fas"
    ;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/sockets.fas"
    ;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/defsystem.fas"
    ;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/cmp.fas"
    Maxima 5.26.0 http://maxima.sourceforge.net
    using Lisp ECL 11.1.1
    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) load(abs_integrate);
    (%o1) /usr/local/src/sage/sage-5.1/local/share/maxima/5.26.0/share/contrib/int\ egration/abs_integrate.mac
    (%i2) display2d:false;

    (%o2) false
    (%i3) integrate(sqrt(x + sqrt(x)), x,0,1);

    (%o3) log(sqrt(2)+1)/8-log(1-sqrt(2))/8+log(-1)/8+2^(3/2)/3-1/(3*2^(3/2))


    the current binary distribution for MacOSX:

    $ exec '/Applications/Maxima.app/Contents/Resources/maxima.sh'
    Maxima 5.28.0 http://maxima.sourceforge.net
    using Lisp SBCL 1.0.55.0-abb03f9
    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) load(abs_integrate);
    STYLE-WARNING: redefining MAXIMA::OPAPPLY in DEFMACRO
    STYLE-WARNING: redefining MAXIMA::OPCONS in DEFMACRO
    STYLE-WARNING: redefining MAXIMA::SIMP-ISREAL-P in DEFUN
    (%o1) /Applications/Maxima.app/Contents/Resources/maxima/share/maxima/5.28.0/s\ hare/contrib/integration/abs_integrate.mac
    (%i2) integrate(sqrt(x + sqrt(x)), x,0,1);
    1
    /

    (%o2) I sqrt(x + sqrt(x)) dx

    /
    0
    (%i3)


    same as for 5.28.0 picture with a very recent Maxima version and ECL 12.12


    Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/maxima/bugs/2526/

    To unsubscribe from further messages, please visit https://sourceforge.net/auth/prefs/

     
    • Dima Pasechnik

      Dima Pasechnik - 2012-12-31

      Thanks, this helps. Probably the commit is to a repo different from the one on the SourceForge (apparently your patch did not make it there, yet).

       
  • kcrisman

    kcrisman - 2014-05-17
     
  • kcrisman

    kcrisman - 2014-05-17

    Sorry, something bad happened with cut-and-paste...

    I meant to say "apparently this is still not in the repository".

     
  • Dima Pasechnik

    Dima Pasechnik - 2014-05-19

    Oh dear. I mentioned at that point that the commit did not make it into the repo, didn't I?

     
    • kcrisman

      kcrisman - 2014-05-19

      Yes, you did! I was just trying to point out it is still not there, according to work on the Sage ticket. So ... now what?

       
  • Kris Katterjohn

    Kris Katterjohn - 2014-05-19
    • status: closed --> open
     
  • Kris Katterjohn

    Kris Katterjohn - 2014-05-19

    Opened back up. I imagine that if Barton (or someone else) recommits this, it will end up in the correct place this time.

     
  • Dima Pasechnik

    Dima Pasechnik - 2014-05-22

    I'd be happy to help in some way on this. You could give me access to your tree, or tell me how to submit pull requests, or email patches...

    Thanks,
    Dima

     
  • Barton Willis

    Barton Willis - 2014-05-24

    I think this bug has been properly fixed--let me know if it isn't.

    commit 4ccaebaf56dcf7d519e2d5967aad255d09490709
    Author: Barton Willis
    Date: Fri May 23 19:16:49 2014 -0500

    o make conjugate commute with signum
    o new risplit function for signnum (defined in rpart.lisp)
    o fix for #2526 abs_integrate fails on integrate(sqrt(x + sqrt(x)), x)
    o append regression test for integrate(sqrt(x + sqrt(x)), x)
    
     
    • Peter Bruin

      Peter Bruin - 2014-05-24

      The integration bug is indeed fixed as far as I can see, and risplit-signum appears to work too. (I ran into both these issues when trying to upgrade the Maxima version used in Sage from 5.29.1 to 5.33.0.)

      I do wonder about the line

      (setf (get '%conjugate 'commutes-with-conjugate) t)
      

      that is supposed to make signum and conjugate commute; shouldn't the %conjugate be a %signum? With the latest git version:

      (%i1) is(conjugate(signum(x)) = signum(conjugate(x)));
      (%o1)                                false
      

      After replacing %conjugate by %signum in the added line in conjugate.lisp:

      (%i1) is(conjugate(signum(x)) = signum(conjugate(x)));
      (%o1)                                true
      
       
      • Barton Willis

        Barton Willis - 2014-05-25

        Thanks for finding this error--I fixed it.


        From: Peter Bruin pbruin@users.sf.net
        Sent: Saturday, May 24, 2014 09:19
        To: [maxima:bugs]
        Subject: [maxima:bugs] Re: #2526 abs_integrate fails on integrate(sqrt(x + sqrt(x)), x)

        The integration bug is indeed fixed as far as I can see, and risplit-signum appears to work too. (I ran into both these issues when trying to upgrade the Maxima version used in Sage from 5.29.1 to 5.33.0.)

        I do wonder about the line

        (setf (get '%conjugate 'commutes-with-conjugate) t)

        that is supposed to make signum and conjugate commute; shouldn't the %conjugate be a %signum? With the latest git version:

        (%i1) is(conjugate(signum(x)) = signum(conjugate(x)));
        (%o1) false

        After replacing %conjugate by %signum in the added line in conjugate.lisp:

        (%i1) is(conjugate(signum(x)) = signum(conjugate(x)));
        (%o1) true


        [bugs:#2526]http://sourceforge.net/p/maxima/bugs/2526/ abs_integrate fails on integrate(sqrt(x + sqrt(x)), x)

        Status: open
        Group: None
        Created: Sat Dec 29, 2012 01:52 PM UTC by Dima Pasechnik
        Last Updated: Sat May 24, 2014 12:53 PM UTC
        Owner: nobody

        Summary: Maxima 5.26.0 is able to compute integrate(sqrt(x + sqrt(x)), x), after loading abs_integrate, but neither the current 5.28.0 nor the latest development version can compute this integral (the noun form is returned).

        Should one load more extra packages/specify extra options to be able to compute this integral?

        In more detail --- I compute definite integral, although could do indefinite too - the output is much longer: (Sage 5.1)

        $ sage -maxima
        ;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/sb-bsd-sockets.fas"
        ;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/sockets.fas"
        ;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/defsystem.fas"
        ;;; Loading #P"/usr/local/src/sage/sage-5.1/local/lib/ecl/cmp.fas"
        Maxima 5.26.0 http://maxima.sourceforge.net
        using Lisp ECL 11.1.1
        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) load(abs_integrate);
        (%o1) /usr/local/src/sage/sage-5.1/local/share/maxima/5.26.0/share/contrib/int\ egration/abs_integrate.mac
        (%i2) display2d:false;

        (%o2) false
        (%i3) integrate(sqrt(x + sqrt(x)), x,0,1);

        (%o3) log(sqrt(2)+1)/8-log(1-sqrt(2))/8+log(-1)/8+2^(3/2)/3-1/(3*2^(3/2))


        the current binary distribution for MacOSX:

        $ exec '/Applications/Maxima.app/Contents/Resources/maxima.sh'
        Maxima 5.28.0 http://maxima.sourceforge.net
        using Lisp SBCL 1.0.55.0-abb03f9
        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) load(abs_integrate);
        STYLE-WARNING: redefining MAXIMA::OPAPPLY in DEFMACRO
        STYLE-WARNING: redefining MAXIMA::OPCONS in DEFMACRO
        STYLE-WARNING: redefining MAXIMA::SIMP-ISREAL-P in DEFUN
        (%o1) /Applications/Maxima.app/Contents/Resources/maxima/share/maxima/5.28.0/s\ hare/contrib/integration/abs_integrate.mac
        (%i2) integrate(sqrt(x + sqrt(x)), x,0,1);
        1
        /

        (%o2) I sqrt(x + sqrt(x)) dx

        /
        0
        (%i3)


        same as for 5.28.0 picture with a very recent Maxima version and ECL 12.12


        Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/maxima/bugs/2526/

        To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

         

        Related

        Bugs: #2526

  • Barton Willis

    Barton Willis - 2014-06-03
    • status: open --> closed
     
  • Barton Willis

    Barton Willis - 2014-06-03

    Fixed by commit 4ccaebaf56dcf7d519e2d5967aad255d09490709

    (%o8) "c:/maxima-git-2/maxima-code/share/contrib/integration/abs_integrate.mac"
    (%i9) integrate(sqrt(x + sqrt(x)), x);

    (%o9) -(-3sqrt(sqrt(x)+1)/x^(1/4)-8(sqrt(x)+1)^(3/2)/x^(3/4)
    +3(sqrt(x)+1)^(5/2)/x^(5/4))
    /(36
    (sqrt(x)+1)/sqrt(x)-36(sqrt(x)+1)^2/x+12(sqrt(x)+1)^3/x^(3/2)-12)
    +log(sqrt(sqrt(x)+1)/x^(1/4)+1)/8-log(sqrt(sqrt(x)+1)/x^(1/4)-1)/8
    (%i10)

     

Log in to post a comment.