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