Re: Replacement rule limitations
- To: mathgroup at smc.vnet.net
- Subject: [mg110576] Re: Replacement rule limitations
- From: Peter Pein <petsie at dordos.net>
- Date: Sat, 26 Jun 2010 03:11:07 -0400 (EDT)
- References: <i023o1$r6u$1@smc.vnet.net>
Am Fri, 25 Jun 2010 11:25:53 +0000 (UTC)
schrieb "S. B. Gray" <stevebg at ROADRUNNER.COM>:
> Several responders have told me that replacement rules are the way to
> simplify complex expressions and to reduce redundant computations (?).
>
> So let's try an arbitrary expression as a very simple example of
> something that could be much more complicated:
>
> exp = 1/Sqrt[
> x^2+y^2+z^2] - (x^2+y^2+z^2) + (x^2+y^2+z^2)^(
> 1/3) /. x^2+y^2+z^2->dd This gives
>
> 1/Sqrt[dd] + dd^(1/3)-x^2-y^2-z^2 which is not that useful.
>
> But if I introduce a superfluous multiplier "s":
>
> exp = 1/Sqrt[x^2+y^2+z^2] -
> s(x^2+y^2+z^2) + (x^2+y^2+z^2)^(
> 1/3) /. {x^2+y^2+z^2->dd, s->1} I get
>
> 1/Sqrt[dd] + dd^(1/3) - dd which is better. Asking for
>
> exp^2 gives, as desired,
>
> (1/Sqrt[dd] + dd^(1/3) - dd)^2 . But trying to proceed as if
> this were regular algebra where cascaded substitutions are routine, I
> try:
>
> exp/.{x->a^2, y->3b, z->Sqrt[d + e]} , I get the useless result
>
> 1/Sqrt[dd] + dd^(1/3) - dd .
>
> Unless I am missing something important (it wouldn't be the first
> time!), replacement rules are not a good substitute for real
> intermediate variables. This does not even address a feature I'd like
> to see in Mathematica in which it would figure out what
> subexpressions appear repeatedly and make up its own simplifying
> intermediate variables. This could be incorporated into FullSimplify.
>
> Comments will be greatly appreciated.
>
> Steve Gray
>
Hi,
rules are one way constructs. Once you eliminated x, y and z by
your multiplier-method, exp is free of these variables. You'll have to
do a backsubstitution first:
exp/.{dd->x^2+y^2+z^2,x->a^2, y->3b, z->Sqrt[d + e]}
should give what you want.
Peter
P.S.: Did I hear a flat hand slapping against someone's forehead? ;-)