Re: PiecewiseExpand bug?
- To: mathgroup at smc.vnet.net
- Subject: [mg68501] Re: PiecewiseExpand bug?
- From: ab_def at prontomail.com
- Date: Tue, 8 Aug 2006 06:28:38 -0400 (EDT)
- References: <eb45vn$n7p$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Mark Fisher wrote: > This produces what I expect: > > Product[PDF[BernoulliDistribution[p], x[i]], {i, 3}] /. > {x[1] -> 0, x[2] -> 1, x[3] -> 1} > > But this does not: > > PiecewiseExpand[Product[PDF[BernoulliDistribution[p], x[i]], {i, 3}]] /. > {x[1] -> 0, x[2] -> 1, x[3] -> 1} > > It appears PiecewiseExpand does something it shouldn't here. Any thoughts? > > --Mark. Yes, it's a bug. A simpler example: In[1]:= f[x_] := Piecewise[{{1, x == 1}, {2, x == 2}}] In[2]:= Reduce[f[x]*f[y]*f[z] != PiecewiseExpand[f[x]*f[y]*f[z]]] Out[2]= z == 2 && y == 2 && x == 1 That is, the result of PiecewiseExpand gives a wrong value at one point. It seems that the problem doesn't arise if we use a non-zero default value: In[3]:= <<statistics` In[4]:= Product[PDF[BernoulliDistribution[p], x[i]], {i, 3}] /. HoldPattern[Piecewise[L_] | Piecewise[L_, 0]] :> Piecewise[L, zero] // PiecewiseExpand[#] /. zero -> 0& // # /. {x[1] -> 0, x[2] -> 1, x[3] -> 1}& Out[4]= (-(-1 + p))*p^2 Maxim Rytin m.r at inbox.ru