Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: compelling evaluation

  • To: mathgroup at smc.vnet.net
  • Subject: [mg93215] Re: [mg93175] compelling evaluation
  • From: Randy Silvers <sirandol at deakin.edu.au>
  • Date: Fri, 31 Oct 2008 03:07:07 -0500 (EST)
  • References: <20081030191856.PHSRJ.88347.imail@eastrmwml42>

Yes, Mathematica notation. Just accustomed to using the "integral"  
from the palette.

Yes, f is written more simply as below, but only if the support of  
the parent distribution is the unit interval. Otherwise, the  
definition I created is great for truncating densities to the unit  
interval and ensuring they integrate to one.

Piecewise, or Refine (and Assuming) --pointed out by Daniel Lichtblau  
of WRI -- both work.

Thanks!
Randy


On 30/10/2008, at 16:18 , Bob Hanlon wrote:

> When you post you should use actual Mathematica notation,
>
> project = UniformDistribution[{0, 1}];
>
> f[y_] = PDF[project, y]/
>   (CDF[project, 1] - CDF[project, 0])
>
> Piecewise[{{1, 0 <= y <= 1}}]
>
> The definition of f can be written more simply as
>
> f[y_] = PDF[project, y]
>
> Piecewise[{{1, 0 <= y <= 1}}]
>
> F[y_] = Assuming[{0 <= y <= 1}, Integrate[f[z], {z, 0, y}]]
>
> Piecewise[{{y, Inequality[0, Less,
>          y, LessEqual, 1]}}]
>
> pi0[y_] = F[y]
>
> Piecewise[{{y, Inequality[0, Less,
>          y, LessEqual, 1]}}]
>
> This definition obviously doesn't do anything.
>
> pi1[y_] = Assuming[{0 <= y <= 1},
>    Integrate[ (1 - q) f[q], {q, y, 1}]] //
>   Simplify
>
> Piecewise[{{(1/2)*(y - 1)^2,
>        Inequality[0, LessEqual, y,
>          Less, 1]}}]
>
> pi2[y_] = Assuming[{0 <= y <= 1},
>   Integrate[ q f[q], {q, y, 1}]]
>
> Piecewise[{{(1/2)*(1 - y^2),
>        Inequality[0, LessEqual, y,
>          Less, 1]}}]
>
> T[y_] = Assuming[{0 <= y <= 1},
>    Integrate[ (q - y) f[q], {q, y, 1}]] //
>   Simplify
>
> Piecewise[{{(1/2)*(y - 1)^2,
>        Inequality[0, LessEqual, y,
>          Less, 1]}}]
>
> D[T[y], y]
>
> Piecewise[{{0, y < 0},
>      {y - 1, 0 < y < 1},
>      {0, y == 1 || y > 1}},
>    Indeterminate]
>
> T[pistar]
>
> Piecewise[{{(1/2)*(pistar - 1)^2,
>        Inequality[0, LessEqual,
>          pistar, Less, 1]}}]
>
>
> Bob Hanlon
>
> ---- randolph.silvers at deakin.edu.au wrote:
>
> =============
> I have created a function from a PDF and so it is non-zero on the unit
> interval and 0 elsewhere. But when I try to integrate some function of
> that function, it is not evaluated. How can I get it to be evaluated?
>
> For example,
>
> project=UniformDistribution[{0,1}];
> f[y_]:=PDF[project,y]/(CDF[project,1] - CDF[project,0]);
> F[y_]:=Integral_0^y f[z]dz;
>
> Now, I define
>
> pi0[y_]:= F[y]
> pi1[y_]:= Integral_y^1 (1-q) f[q] dq
> pi2[y_]:= Integral_y^1 q f[q] dq
> T[y_]:= Integral_y^1 (q-y) f[q] dq
>
> When I enter a numerical value, each is correctly computed; when I
> differentiate, it also looks correct. For example,
>
> D[T[y],y] returns
>
> Integral_y^1 -{1 0<=q<=1 dq
>
> and, T[pistar] returns
>
> Integral_pistar^1 (-pistar + q)({1 0 <=q <= 1) dq
>
> How can I compel Mathematica to "know" or evaluate T[pistar] and
> return the symbolic expression assuming that q is in the relevant
> domain?
>
> Then, D[T[y],y] would return -(1-y) and T[pistar] would return:
>
> 1/2 - pistar + pistar^2/2
>
>
> --
>
> Bob Hanlon
>


  • Prev by Date: Pure functions?
  • Previous by thread: Re: compelling evaluation
  • Next by thread: Re: Speech Recognition? Online ISBN databases?