defint or sqrt bug?



On 12/17/11, Barton Willis <willisb at unk.edu> wrote:

>> (%i3) integrate (integrate (1+sin(5*x*y+y^2), y, -sqrt(1-x^2),
>> sqrt(1-x^2)), x, -1, 1);
>> defint: lower limit of integration must be real; found -sqrt(1-x^2)
>
> This is a bug. Try tracing sign--Maxima fails to recognize that 1-x^2 is pz.

I dunno. Given that the inner integral is evaluated before the outer one,
there's no way to know that x > -1 and x < 1.

I don't see a way to change the outcome, short of giving integrate
a different evaluation scheme. That's not out of the question, but
it would be an uphill battle to convince everyone it's a good idea.
For my part, I haven't thought about it before.

If supplied with suitable assumptions by hand, Maxima computes the
inner integral as:
(sqrt(%pi)*(((sqrt(2)*%i-sqrt(2))*sin(25*x^2/4)
           +(sqrt(2)*%i+sqrt(2))*cos(25*x^2/4))
           *erf(((2^(3/2)*%i+2^(3/2))*sqrt(1-x^2)+(5*sqrt(2)*%i+5*sqrt(2))*x)
                 /4)
           +((sqrt(2)*%i-sqrt(2))*sin(25*x^2/4)
            +(sqrt(2)*%i+sqrt(2))*cos(25*x^2/4))
            *erf(((2^(3/2)*%i+2^(3/2))*sqrt(1-x^2)
                  +(-5*sqrt(2)*%i-5*sqrt(2))*x)
                  /4)
           +((sqrt(2)*%i+sqrt(2))*sin(25*x^2/4)
            +(sqrt(2)*%i-sqrt(2))*cos(25*x^2/4))
            *erf(((2^(3/2)*%i-2^(3/2))*sqrt(1-x^2)+(5*sqrt(2)*%i-5*sqrt(2))*x)
                  /4)
           +((sqrt(2)*%i+sqrt(2))*sin(25*x^2/4)
            +(sqrt(2)*%i-sqrt(2))*cos(25*x^2/4))
            *erf(((2^(3/2)*%i-2^(3/2))*sqrt(1-x^2)+(5*sqrt(2)-5*sqrt(2)*%i)*x)
                  /4))
 +16*sqrt(1-x^2))
 /8$

However, Maxima can't compute the integral with that as the integrand.
Oh well, them's the breaks.

best

Robert Dodier