Bug in Integrate for Mathematica
I think it is indeed a bug specific to version 8 of Mathematica
.
The same integrals in version 7 give the correct result.
Compare this issue with this answer.
In the both cases one works with assumptions which make Integrate
behaving improperly.
Edit 1
It seems that definite integrals are calculated correctly and if we subtract the limits of integration in the way that the boolean formula is slightly neutralized, then the result is correct, e.g. :
Integrate[ regFunc[x, y]*((4 x + 3 y) (3 x + 2 y))^4, {x, -10, 10}, {y, -10, 10}] // N
Integrate[ regFunc[x, y]*(12 x^2 + 17 x*y + 6 y^2)^4, {x, -10, 10}, {y, -10, 10}] // N
7836.43 7836.43
RegionPlot[ {-5 < 4 x + 3 y && 4 x + 3 y < 5 && -2 < 3 x + 2 y && 3 x + 2 y < 2,
-10 < x < 10 && -10 < y < 10 },
{x, -25, 25}, {y, -25, 25}, PlotPoints -> 150, MaxRecursion -> 4]
It should be emphasized that Integrate
doesn't work either when we use insted of Boole
for example UnitStep
:
regFuncUS[x_, y_] := UnitStep[ 5 + 4 x + 3 y, 5 - 4 x - 3 y, 2 + 3 x + 2 y, 2 - 3 x - 2 y]
Edit 2
In Mathematica 9
this bug has been fixed :
Integrate[ regFunc[x,y] (( 4 x + 3 y )( 3 x + 2 y ))^4,{x, -100, 100},{y, -100, 100}] //N
Integrate[ regFunc[x,y] ( 12x^2 + 17 x y + 6 y^2 )^4,{x, -100, 100},{y, -100, 100}] //N
16000. 16000.