another bug in integrate (5.27.0)



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