Subject: "integrate" with simple expression takes forever
From: Robert Dodier
Date: Thu, 8 Nov 2012 22:21:27 +0000 (UTC)
On 2012-11-08, David Scherfgen <d.scherfgen at googlemail.com> wrote:
> integrate(x^(1/3)/(x^(2/3)+1), x, 0, 8);
>
> Maxima will compute forever and never return.
> However, the indefinite integral works:
Confirmed. Can you please enter a bug report. The function 'bug_report'
has more info about that. Can you please include the following as well:
The problem appears to be in simplification, not exactly in the
integration code itself. There appears to be an infinite loop in BPROG,
which calls PSQUOREM1 over and over. BPROG is downstream from $RATSIMP
which was called with the argument
'((MTIMES SIMP) ((RAT SIMP) 2 3) ((MEXPT SIMP) ((MPLUS SIMP) 1 ((MEXPT
SIMP) $X ((RAT SIMP) 2 3))) -1) ((MEXPT SIMP) $X ((RAT SIMP) -1 3)))
Now calling $RATSIMP from the top level (i.e. :lisp ($ratsimp <stuff>))
immediately returns something, so I guess somewhere upstream from
$RATSIMP, some flags were set or other global state modified so that the
behavior changes.
> PS: I'm a bit surprised how many bugs Maxima still seems to have, even
> though it is so old ...
Well, we are making steady progress -- slow & steady wins the race, they
say -- but we are working on some difficult problems, which are enough
to challenge even the accumulated talent of the developers. You are more
than welcome to help out, if you wish.
best
Robert Dodier