# Why does this not integrate

why is this integral performed:

forget()
var('n')
assume(n>0)
integrate(1/sqrt(1+x^2*n),x,1,2)


i.e. I get:

-arcsinh(sqrt(n))/sqrt(n) + arcsinh(2*sqrt(n))/sqrt(n)


while this is not

forget()
var('n')
assume(n>0)
integrate(1/sqrt(1+x^2/n),x,1,2)

edit retag close merge delete

( 2012-11-28 03:57:26 -0600 )edit

This is now fixed in the latest Sage beta (and probably before).

( 2015-11-07 19:44:23 -0600 )edit

Sort by ยป oldest newest most voted

Somehow the simply_full() works. It probably forces the integration to happen.

sage: integrate(1/sqrt(1+x^2/n),x,1,2).simplify_full()
-(arcsinh(1/sqrt(n)) - arcsinh(2/sqrt(n)))*sqrt(n)

more

Weird. It turns out that simplify_rational and simplify_radical do it, but not some of the others, and not just simplify (just passing to Maxima). But in Maxima itself, radcan and fullratsimp don't seem to have this effect; somehow the "nounform" is evaluated... weird.

( 2012-11-28 06:12:34 -0600 )edit

ehem, guys, for a newbs 1st-in-a-life-time three-liner typed into sage this is a little over my head. If this nobrainer integral results in a bug already, is your point that I should use integrate() only in conjunction with simplify_full()? Or is this a 'rare' case? Or am I doing something wrong?

( 2012-11-28 06:37:06 -0600 )edit

It should be considered a bug in my opinion. If the simplify process can make the integration happen, then the integration should have been performed in the first place, without the need for simplify.

( 2012-11-29 02:55:25 -0600 )edit

Correct, and it's a Maxima bug, as far as I can tell, which I've reported upstream. This should definitely be a 'rare' case, since I've never heard of this happening before (not unevaluated integrals, which are legion, but this simplify behavior).

( 2012-11-29 03:27:54 -0600 )edit