Re: Integrate and Boole problems
- To: mathgroup at smc.vnet.net
- Subject: [mg58405] Re: Integrate and Boole problems
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Fri, 1 Jul 2005 02:01:57 -0400 (EDT)
- Organization: The Open University, Milton Keynes, England
- References: <da0bq0$fm8$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Chris 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?
>
Hi Chris,
I am confused by -- or just do not understand -- what you attempt to do
since the *Boole* function only returns 0 or 1 depending whether the
expression given to *Boole* is true.
Furthermore, your expression does not work at all as entered: you must
use a double = (==) to test equality (a single = is the assignment
operator).
In[1]:=
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}]
\!\(Set::"write" \(\(:\)\(\ \)\)
"Tag Times in \!\(\((\(-9\) + \((\(-1\) + x)\)\^2 + y\^2 + z\^2)\)
\\\\ \
\((\(-9\) + \((1 + x)\)\^2 + y\^2 + z\^2)\)\) is Protected."\)
Integrate::idiv: Integral of Boole[0] does not converge on {-â??, â??}.
Out[1]=
Integrate[Boole[0], {x, -Infinity, Infinity},
{y, -Infinity, Infinity}, {z, -Infinity, Infinity}]
In[2]:=
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}]
Out[2]=
0
In[3]:=
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}]
Out[3]=
0
(Tested on a Pentium IV 2.6GHz 512Mo Physical Ram, Windows XP SP2,
Mathematica 5.1.)
Best regards,
/J.M.
P.S. You should use the _InputForm_ when copying an expression from a
Mathematica notebook to your email client: in Mathematica, select the
cell(s) you want to include in your email, then within the *Cell* menu
select either *Convert To* or *Display As* and choose *InputForm*.
Finally, copy and paste as usual into your email.