On Wed, Nov 19, 2008 at 1:05 PM, Richard Fateman <fateman at cs.berkeley.edu>wrote:
> If Sage passes problems of integrating non-analytic functions to the
> current version Maxima, then maybe Sage is committing an error (too).
It seems to me perfectly legitimate for Sage to pass along an arbitrary
function to Maxima for integration.
And it seems unacceptable for Maxima to give an incorrect answer in this
case. After all, it gives a nounform for integrate(abs(x),x,-1,1)
> Determining when the argument of abs() is zero to do piecewise integration
> is, in general, recursively undecidable, ...
>
Yes, in general. But the recursive undecidability of *some cases* of a
problem is no reason to give up on other cases. And in fact Maxima is
perfectly capable of finding the zeroes of x^2-9.
> Maxima is clever enough to know it can't do this alternative,
> integrate(x*(if x^2-9 < 0 then 9-x^2 else x^2-9),x,-6,0).
>
It doesn't take much cleverness: integrate simply doesn't handle "if" at
all: integrate(if x>0 then 1 else 1,x,0,1) also gives a nounform.
-s