I am confused with the Integrate Given by mathematicaMathematica.First Let's First let's see a one dimensional-dimensional case:
Integrate[UnitStep[k - Sqrt[kx^2]], {kx, -Infinity, Infinity}, Assumptions -> k > 0]
The result is 2k
. Right answer! You can change UnitStep
to HeavisideTheta
,it give it still gives the same correct answer.
However, when changing to three dimension case.,HeavisideTheta
givegives the wrong answer. See the following:
Integrate[ HeavisideTheta[k - Sqrt[kx^2 + ky^2 + kz^2]],
{kx,-Infinity, Infinity}, {ky, -Infinity, Infinity}, {kz, -Infinity, Infinity},
Assumptions -> k > 0]
MathematicaMathematica gives the wrong answer 0
and with an error message which I don't know what does it meansunderstand.
Refine::fas: Warning: One or more assumptions evaluated to False.
Refine::fas: Warning: One or more assumptions evaluated to False.
If AssumptionsAssumptions
is not added, it directly gives 0
without any WARNING! As if it calculatecalculated it right! How dangerous if I previously don'tdidn't know the answer!!!
@Jens suggested using UnitStep
instead of HeavisideStep
,. I tried: in mathematica7Mathematica 7 it fails (giving the wrong anwseranswer 0) but in version8version 8 it givegives the right result:
(4 k^3 \[Pi])/3
Still with the same message:
Refine::fas: Warning: One or more assumptions evaluated to False.
Refine::fas: Warning: One or more assumptions evaluated to False.
So what does this message mean? Why indo different mathematica givesMathematica versions give different answeranswers? Is this because of the computing time involved?
Above is the main question, here is some subtle question I wantwould like to ask,ask; see this integral:
Assuming[k > 0, Integrate[ UnitStep[k - Sqrt[kx^2 + ky^2 + kz^2]],
{kx, -Infinity, Infinity}, {ky, -Infinity, Infinity}, {kz, -Infinity, Infinity}]]
the results:
(4 k^3 \[Pi])/3 k>0
0 True