Re: unable to FullSimplify
- To: mathgroup at smc.vnet.net
- Subject: [mg65769] Re: [mg65703] unable to FullSimplify
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Mon, 17 Apr 2006 02:28:07 -0400 (EDT)
- References: <200604160545.BAA07958@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 16 Apr 2006, at 14:45, vladimir347 at yahoo.com wrote:
> I get the following unexpected and inconsistent results:
>
> FullSimplify[Expand[b + (a + b)^4]]
>
> b + (a + b)^4
>
>
> FullSimplify[Expand[a + (a + b)^4]]
>
> a + a^4 + 4*a^3*b + 6*a^2*b^2 + 4*a*b^3 + b^4
>
> Why they are different and why there is no simplification in the
> second
> case?
>
> --
> Vladimir
>
This seems to me to be an unfortunate consequence of the fact that
the outcome of FullSimplify (and Simplify) depends on the ordering
of the variables. This is because a variable order independent
Simplify has very much higher complexity and will get stuck on a
complicated expressions. Some time ago Adam Strzebonski of WRI sent
the following implementation of order independent FullSimplify:
VOISimplify[vars_, expr_, assum_:True] :=
Module[{perm, ee, best},
perm = Permutations[vars];
ee = (FullSimplify @@ ({expr, assum} /. Thread[vars -> #]))
& /@ perm;
best = Sort[Transpose[{LeafCount /@ ee, ee, perm}]][[1]];
best[[2]] /. Thread[best[[3]] -> vars]]
With that the inconsistency disappears:
VOISimplify[{a, b}, Expand[a + (a + b)^4]]
(a + b)^4 + a
VOISimplify[{a, b}, Expand[b + (a + b)^4]]
(a + b)^4 + b
Nevertheless the example you have brought up looks unpleasant enough
to hope that some fix can be found that does not require the full
power (and complexity) of VOISImplify. ??
Andrzej Kozlowski
- References:
- unable to FullSimplify
- From: vladimir347@yahoo.com
- unable to FullSimplify