Is it possible to get this 'nicer' solution for an integral from Mathematica?
Integrate`InverseIntegrate[(125 - x^3)^(2/3), {x, 0, 5}]
(*(500 π)/(9 Sqrt[3])*)
Integrate`InverseIntegrate
this is an undocumented function.
Another method borrowed code from user: Michael-E2, is using substitution:125 - x^3 == t^3
ClearAll[trysub];
SetAttributes[trysub, HoldFirst];
trysub[Integrate[int_, x_], sub_Equal, u_] := Module[{sol, newint}, sol = Solve[sub, x];
newint = int*Dt[x] /. Last[sol] /. Dt[u] -> 1 // Simplify;
Integrate[newint, u] /. Last@Solve[sub, u] // Simplify];
Assuming[t > 0 && x ∈ Reals, int = trysub[Integrate[(125 - x^3)^(2/3), x], 125 - x^3 == t^3, t]]
(* 1/3 (125 - x^3)^(2/3) ((x^3)^(1/3) - 5 Hypergeometric2F1[2/3, 2/3, 5/3, 1 - x^3/125]) *)
(Limit[int, x -> 5]) - (Limit[int, x -> 0]) // FullSimplify(* Is function continuous !!! *)
(*(500 π)/(9 Sqrt[3])*)
I get the same result as in the OP (10.4.1 for Microsoft Windows (64-bit)). A possibility to get the correct answer is to Taylor-expand, integrate term-wise, and re-sum.
SeriesCoefficient[(125 - x^3)^(2/3), {x, 0, n}]
(* (5^(2 - n) (1/3 (-5 + n))!)/((-(5/3))! (n/3)!) if Mod[n,3]==0, zero otherwise *)
Integrate[% x^n, {x, 0, 5}]
(* (125 Gamma[1/3 (-2 + n)])/((1 + n) (n/3)! Gamma[-(2/3)]) if Mod[n,3]==0, zero otherwise *)
Sum[% /. n -> 3 n, {n, 0, Infinity}]
(* (500 Pi)/(9 Sqrt[3]) *)
Of course, this is somewhat hacky, but at least it proves that the "simple" result is correct.
--
Alternative: if you slightly generalise the integral, it returns the compact result:
Integrate[(a^3 - x^3)^(2/3), {x, 0, a}]
(* (4 a^3 Pi)/(9 Sqrt[3]) *)
% /. a-> 5
(* (500 Pi)/(9 Sqrt[3]) *)
Weird, huh?
You can always compare to Rubi's solution which is often able to produce better antiderivatives.
Installation in Mathematica 11.3:
Needs["PacletManager`"];
PacletInstall[
"https://github.com/RuleBasedIntegration/Rubi/releases/download/4.15.2.1/Rubi-4.15.2.1.paclet"
];
Then you can solve the integral
<< Rubi`
int = Int[((125 - x^3)^(1/3))^2, x]
Taking the limits at both ends
(Limit[int, x -> 5, Direction -> "FromBelow"]) -
(Limit[int, x -> 0, Direction -> "FromAbove"])
Simplify[%]
Edit
For completeness and since KraZug mentioned it in the comment: Rubi can calculate the limits and the difference automatically, but be aware that it is not the same what Integrate[expr, {x, a, b}]
does. Integrate
is more powerful in this regard and takes care of discontinuities between the boundaries.
Int[((125 - x^3)^(1/3))^2, {x, 0, 5}] // Simplify
(* (500 \[Pi])/(9 Sqrt[3]) *)