Re: A bug-looking behavior during integration
- To: mathgroup at smc.vnet.net
- Subject: [mg129971] Re: A bug-looking behavior during integration
- From: daniel.lichtblau0 at gmail.com
- Date: Thu, 28 Feb 2013 21:27:22 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <kgmn7f$8gj$1@smc.vnet.net>
On Wednesday, February 27, 2013 10:42:23 PM UTC-6, Alexei Boulbitch wrote:
> Dear community,
>
> I would like to report a strange behaviour, that looks most of all like a bug.
>
> The integral of the UnitStep of some function
>
> Integrate[
> UnitStep[Sqrt[Sqrt[x^2 + y^2] + x] -
> 0.7 Sqrt[x^2 + y^2]], {x, -Infinity, Infinity}, {y, -Infinity,Infinity}]
>
> 0
>
> returns zero as you see, though the function under the integral is 1 within some domain in the form of a cardioid, and zero outside of it. To make it sure evaluate this:
>
> Plot3D[UnitStep[
>
> Sqrt[Sqrt[x^2 + y^2] + x] - 0.7 Sqrt[x^2 + y^2]], {x, -3, 5}, {y, -3, 5}]
>
> The integral must be positive, therefore.
>
> Taking the numerical value of the same integral one finds a finite positive value:
>
> NIntegrate[
> UnitStep[Sqrt[Sqrt[x^2 + y^2] + x] -
> 0.7 Sqrt[x^2 + y^2]], {x, -Infinity, Infinity}, {y, -Infinity, Infinity}]
>
> 19.6268
>
> Is it indeed a bug?
>
>
> Regards, Alexei
Yes, it looks like this runs into some fragility in the UnitStep handling code. To work around that area I'd suggest using a Piecewise equivalent.
In[2]:= Integrate[
Piecewise[{{1, Sqrt[Sqrt[x^2 + y^2] + x] - .7*Sqrt[x^2 + y^2] >= 0}},
0], {x, -Infinity, Infinity}, {y, -Infinity, Infinity}]
Out[2]= 19.6268
Daniel Lichtblau
Wolfram Research