[Maxima] another bug in integrate (5.27.0)

Jérome Laurens jerome.laurens at u-bourgogne.fr
Tue Jun 26 16:27:26 CDT 2012


Hi list,

consider the following code

assume(t>0);
assume(x>0);
integrate(f(sqrt(t^2-1)),t,1,2);
changevar(%,t-sqrt(x^2+1),x,t);

the result is

-integrate((x*f(x))/sqrt(x^2+1),x,-sqrt(3),0)

whereas it should be

-integrate((x*f(x))/sqrt(x^2+1),x,sqrt(3),0)

+√3 instead of -√3 in the lower bound.

One can imagine that to find the new integral bounds changevar is using

solve(subst(t,2,t-sqrt(x^2+1)=0),x)

which gives exactly the two solutions -√3 and +√3
unfortunately, changevar picks up the wrong one.

One would expect changevar to choose the solution that fulfills the requirements in facts(),
or at least inform the user that some solution may be lost.
More friendly: in case of an untractable choice, maxima should give both answers and let the client make its own decision.

JL




More information about the Maxima mailing list