       Re: Problem with using /.

• To: mathgroup at smc.vnet.net
• Subject: [mg69273] Re: Problem with using /.
• From: Peter Pein <petsie at dordos.net>
• Date: Tue, 5 Sep 2006 05:30:35 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```Nag schrieb:
> Peter Pein wrote:
>> Hi Nag,
>>
>> you try to assign a value to Sum[...]; this becomes Set[Sum[...],0] --
>> but Sum is a Protected function. Furthermore, Set is not Rule.
>>
>> I guess you wanted:
>>
>> M[j_, t_, k_] := FullSimplify[D[MGF[t, k], {t, j}] /. u -> 0,
>>      Sum[Subscript[p, i], {i, 0, k}] == 1];
>>
>> You can use Simplfy instead of FullSimplify too.
>>
>> Peter
>
> Hi Peter:
>
> The = was a typo. It should have been a  ->
> With  -> there is no error but the substitution doesn't happen.
> The substitution works when I use == as you suggested.
>
> Why does -> not work but == work?
>
> Thanks
> Nag
>

Hi Nag,

if Sum[..]->1 is in the list of rules, the pattern matcher recognizes it
only in exactly this form. If Sum[..]==1 is given as second parameter of
(Full)Simplify, Mathematica tries to use the _information_, not the
_pattern_ inside the call to Simplify.

expr = (x^2 - y^2)/(1 + x);

The pattern "x+y" doesn't occur, so the outcome is expr:

expr /. x + y -> 1
--> (x^2 - y^2)/(1 + x)

FullSimplify uses x+y==1, to get rid of the squares:

FullSimplify[expr, x + y == 1]
--> (1 - 2*y)/(1 + x)

You can isolate y in x+y==1 and use that as rule
(same as expr /. Solve[x + y == 1, y][] // Together):

Together[expr /. y -> 1 - x]
--> (-1 + 2*x)/(1 + x)

or isolate x:

Together[expr /. x -> 1 - y]
--> (-1 + 2*y)/(-2 + y)

hth,
Peter

```

• Prev by Date: Re: Re: Please help: How to use Mathematica to get Parametric solution for a transcendental equation?
• Next by Date: Re: RE: Co-Displaying Combinatorica and Graphics Objects
• Previous by thread: Re: Problem with using /.
• Next by thread: Re: Problem with using /.