Re: Integrate and Boole problems
- To: mathgroup at smc.vnet.net
- Subject: [mg58446] Re: Integrate and Boole problems
- From: Maxim <ab_def at prontomail.com>
- Date: Sat, 2 Jul 2005 04:07:09 -0400 (EDT)
- References: <da0bq0$fm8$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On Thu, 30 Jun 2005 08:51:12 +0000 (UTC), Chris <topher at csh.rit.edu> wrote:
> I'm using Mathematica 5.1 and I'm getting some inconsistent results
> when integrating the Boole function. For example:
>
> Integrate[Boole[((x - 1)^2 + y^2 + z^2 - 3^2)*((x + 1)^2 + y^2 + z^2 -
> 3^2) = 0], {x, -Infinity, Infinity}, {y, -Infinity, Infinity}, {z,
> -Infinity, Infinity}];
>
>
> N[%]
>
> 50.2654821239234 + 3.829918318813164*^-9*I
>
>
> NIntegrate[Boole[((x - 1)^2 + y^2 + z^2 - 3^2)*((x + 1)^2 + y^2 + z^2
> -3^2) = 0], {x, -Infinity, Infinity}, {y, -Infinity, Infinity}, {z,
> -Infinity, Infinity}]
>
> 108.90854533339399 - 2.749275252793041*^-29*I
>
> Am I doing something wrong or is this just a limit of the Integrate
> function?
>
I assume that Boole[... = 0] is actually Boole[... <= 0]. In version 5.1.0
Integrate just returns the outer integral (with respect to x) unevaluated.
NIntegrate apparently uses the method SymbolicPiecewiseSubdivision and it
works fine. On the other hand, Mathematica often fails on symbolic
integration of the functions of the type Sqrt[r^2 - x^2 - y^2 - z^2]. So
if there is an error, most likely it is not related to Boole or other
piecewise functions.
Here it is easy to find the exact value of the integral. We're just
looking for the volume of the union of two spheres with two spherical
segments removed. The volume of a spherical segment with radius R and
height h is
In[1]:=
Integrate[r^2*Sin[theta],
{r, R - h, R}, {theta, 0, ArcCos[(R - h)/r]}, {phi, 0, 2*Pi}]
Out[1]= (-(1/3))*h^2*Pi*(h - 3*R)
And substituting the numerical values, we obtain
In[2]:= 2*(4*Pi*R^3/3 -2*%) /. {R -> 3, h -> 2}
Out[2]= (104*Pi)/3
Owing to the piecewise handling routines, NIntegrate gave a good
approximation.
Maxim Rytin
m.r at inbox.ru