Re: Boole Function
- To: mathgroup at smc.vnet.net
- Subject: [mg37231] Re: Boole Function
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Thu, 17 Oct 2002 00:09:32 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Boole (defined in the AddOn package Calculus`Integration`) is not
written to deal with symbolic parameters. So you may do better to use
better to use the built-in UnitStep function for which Mathematica
knows more rules. In fact, if you do not mind getting an error message
you can get something like your answer by mixing UnitStep and Boole:
<< Calculus`Integration`
In[2]:=
FullSimplify[Integrate[Boole[0 < x < y < 1]*UnitStep[z - y],
{z, 0, 1}],y>0]
From In[2]:=
Integrate::region: The region defined by 0¡Âz¡Â1&&0<x<y<1&&-y+z¡Ã0 could
not be \
broken down into cylinders.
Out[2]=
-(-1+y) Boole[0<x<y<1] UnitStep[1-y]
Of course the UnitStep is not necessary since the condition y<1 is
already included in Boole, but the Integration package does not have
rules for combining Bool and UnitStep (don't forget that Boole is not a
built in function!).
If you dispense with Bool altogether you get:
In[3]:=
FullSimplify[Integrate[UnitStep[x,y-x,z-y,1-z],{z,0,1}],y>0]
Out[3]=
-(-1+y) UnitStep[x,1-y,-x+y]
Note that this expresses exactly the same condition as
(1-y)Boole[0<x<y<1].
Andrzej Kozlowski
Yokohama, Japan
http://www.mimuw.edu.pl/~akoz/
http://platon.c.u-tokyo.ac.jp/andrzej/
and also try to use proper Mathematica
On Thursday, October 17, 2002, at 03:26 AM, Janusz Kawczak wrote:
> Suppose f(x,y,z)=Boole[0<x<y<z<1]. Let's integrate this function
> over, say, z, i.e. Integrate[f[x,y,z],{z,0,1}]. One would expect to see
> the
> output like this (1-y)Boole[0<x<y<1] (or maybe simplified expression
> as an argument in the Boole function). Instead, an error appears
> (warning) that the integration cannot be performed.
>
> How to resolve this issue so it produces a desired answer?
>
> Janusz.
>
>
>
>
>