oops, I still don't know which commit in the git tree is "the latest".
Last edit: Dima Pasechnik 2012-12-30
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
oops, I still don't know which commit in the git tree is "the latest".
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.
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) ?
I'm not particularly knowledgeable about such things, but I do see:
--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/
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).
Sorry, something bad happened with cut-and-paste...
I meant to say "apparently this is still not in the repository".
Even though Barton's commit shows up at
https://sourceforge.net/p/maxima/mailman/message/30289431/
I can't find the commit in the current repo.
$ git log | grep e1a2891d
$ git log | grep '#2526'
$
I notice that the commit is dated Dec. 30, 2012. Perhaps its absence has something to do with the apparent repo change that Robert ran into
http://article.gmane.org/gmane.comp.mathematics.maxima.general/42205
which seemed to occur around that time.
Oh dear. I mentioned at that point that the commit did not make it into the repo, didn't I?
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?
Opened back up. I imagine that if Barton (or someone else) recommits this, it will end up in the correct place this time.
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
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)
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
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/
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.