Ask Your Question

Revision history [back]

Thanks for reporting, this is indeed a bug.

Sage's default integration engine is Maxima and gets this wrong, maybe because we set up maxima to work in the complex domain.

sage: integral(ln(1 + sqrt(x))/sqrt(x), x, 1, 4)
4*log(3) + 2*log(4/3) - 2
sage: integral(ln(1 + sqrt(x))/sqrt(x), x, 1, 4, algorithm='maxima')
4*log(3) + 2*log(4/3) - 2

You can specify which engine you want Sage to call to compute the integral, and the other engines get this right:

sage: integral(ln(1 + sqrt(x))/sqrt(x), x, 1, 4, algorithm='sympy')
6*log(3) - 4*log(2) - 2
sage: integral(ln(1 + sqrt(x))/sqrt(x), x, 1, 4, algorithm='giac')
6*log(3) - 4*log(2) - 2
sage: integral(ln(1 + sqrt(x))/sqrt(x), x, 1, 4, algorithm='fricas')
6*log(3) - 4*log(2) - 2

(the last one depends on installing FriCAS, which can be done by running

sage -i fricas

in a terminal).