if you calculate this:
integrate(x^(1/3)/(x^(2/3)+1), x, 0, 8);
Maxima will compute forever and never return.
However, the indefinite integral works:
integrate(x^(1/3)/(x^(2/3)+1), x);
gives you the antiderivative:
F(x) := (3*(x^(2/3)+1))/2-(3*log(x^(2/3)+1))/2;
Now the original definite integral can be computed as F(8) - F(0).
This is OK, because F(x) doesn't change sign or shows any other notable behavior between 0 and 8.
The question is: why doesn't Maxima do this? Instead it loops forever ...
Definite integration in maxima often does not compute the indefinite integral first, but in this case it does compute the indefinite integral. Maxima appears to be stuck computing the limits. Don't know why that should be.
Simpler example:
limit( (-3/2)*log(1+x^(2/3)) , x, 0, plus),algebraic:true;
This goes into an infinite loop in BPROG.
What does BPROG do?
limit(-log(1+x^(2/3)) , x, 0, plus),algebraic:true; also fails. replace 2/3 by 1/3 and it succeeds (gives 0).
bprog is part of the program that computes partial fractions.
There is no problem if algebraic:false .
Sorry, not a bug fix.
Rjf