Does Mathematica implement Risch algorithm? If it does, in which cases? [duplicate]

I am asking this questions because when trying to evaluate the integrals:

\begin{eqnarray} (1) \qquad & \int \frac{x}{\sqrt{x^4+10x^2-96x-71}}\ \mathrm{d}x \\ (2) \qquad & \int \frac{x^2+2x+1+(3x+1)\sqrt{x+\ln(x)}}{x\left(x+\sqrt{x+\ln(x)}\right)\sqrt{x+\ln(x)}}\ \mathrm{d}x \end{eqnarray}

In Mathematica 11 using

Integrate[x/Sqrt[x^4 + 10 x^2 - 96 x - 71], x]


for (1) I obtain an evaluation involving non-elementary functions, while for (2) the expression

Integrate[(x^2 + 2 x + 1 + (3 x + 1) Sqrt[x + Log[x]])/(x (x + Sqrt[x + Log[x]]) Sqrt[x + Log[x]]), x]


is not even evaluated.

In Maple 2016 I get the same results as in Mathematica. In Rubi 4.11 neither are evaluated. The two indefinite integrals can be expressed with elementary functions.

ADDENDUM: The antiderivative of the integrand (1) is correctly expressed with elementary functions using Axiom. Why can't the two powerful Computer Algebra Systems listed above, obtain the same result as Axiom?

• Provide the formatted code of the integration. – Edmund Mar 15 '17 at 1:22
• @Nasser He did not go into detail with his answer, I am looking for something more elaborate. – user372003 Mar 15 '17 at 1:52
• I remember I read from somewhere "no CAS has completely implemented Risch Algorithm" – happy fish Mar 15 '17 at 2:06
• Although the documentation stated "For indefinite integrals, an extended version of the Risch algorithm is used whenever both the integrand and integral can be expressed in terms of elementary functions" from long time ago, I have found some elementary examples Mathematica cannot solve. That may imply Mathematica did not fully implement the algorithm. – happy fish Mar 15 '17 at 3:19
• (2) is a duplicate of (109690), (127488) – Michael E2 Mar 15 '17 at 12:02

For (1) DSolve returns an answer quickly, so this "powerful Computer Algebra System" can do it:

DSolve[y'[x] == x/Sqrt[x^4 + 10 x^2 - 96 x - 71], y, x]
(*  {{y -> Function[{x}, x - Log[x/Sqrt[-71 - 96 x + 10 x^2 + x^4]]]}}  *)


(2) is a duplicate of Why can't Mathematica integrate this? as well as How to do this integral?.

All that seems to be available to the user can be found here:

http://reference.wolfram.com/language/tutorial/SomeNotesOnInternalImplementation.html#23196

For more details, one might need help from Wolfram Support.

• The OP wasn't saying MMA's Integrate[ ] doesn't return an answer for (1), he was saying it doesn't return an answer in terms of elementary functions (by which I believe he means one without Root objects). As s/he notes, MMA does return answer with Integrate[ ]. I checked and, except for the lack of an explicit constant, Integrate's solution is identical to the one given by DSolve[ ]. – theorist Apr 14 '18 at 0:23

This is not a answer ,but you can simplify yours integral.

For (2):

func = (1 + 2 x + x^2 + (1 + 3 x) Sqrt[x + Log[x]])/(x Sqrt[x + Log[x]] (x + Sqrt[x + Log[x]]));

func1 = Apart[func] // ExpandAll

Plus @@ Table[Integrate[func1[[n]], x], {n, 1, Length[func1]}]


$$\int \frac{1}{x^2 \log (x)-\log ^2(x)-x \log (x)} \, dx-\int \frac{x}{x^2 \log (x)-\log ^2(x)-x \log (x)} \, dx-\int \frac{\log (x)}{x^2 \log (x)-\log ^2(x)-x \log (x)} \, dx+2 \int \frac{x \log (x)}{x^2 \log (x)-\log ^2(x)-x \log (x)} \, dx+\int \frac{x \sqrt{x+\log (x)}}{x^2 \log (x)-\log ^2(x)-x \log (x)} \, dx+\int \frac{\sqrt{x+\log (x)}}{x^2 \log ^2(x)-\log ^3(x)-x \log ^2(x)} \, dx-\int \frac{x \sqrt{x+\log (x)}}{x^2 \log ^2(x)-\log ^3(x)-x \log ^2(x)} \, dx-2 \int \frac{\sqrt{x+\log (x)}}{x^2-x-\log (x)} \, dx+\log (\log (x))+\int \frac{1}{\log ^2(x) \sqrt{x+\log (x)}} \, dx+\int \frac{1}{\sqrt{x+\log (x)}} \, dx-2 \int \frac{1}{\log (x) \sqrt{x+\log (x)}} \, dx+\int \frac{\sqrt{x+\log (x)}}{x \log (x)} \, dx$$

• Is the simplification just the Log[Log[x]] term? It seems to me the integrand has been broken apart into terms which cannot all be integrated in finite terms, unlike the original problem. Or am I missing something? – Michael E2 Mar 16 '17 at 12:46