Re: unable to FullSimplify

• To: mathgroup at smc.vnet.net
• Subject: [mg65846] Re: unable to FullSimplify
• Date: Tue, 18 Apr 2006 06:56:41 -0400 (EDT)
• References: <200604160545.BAA07958@smc.vnet.net><e1vebv\$995\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Andrzej Kozlowski wrote:
> 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]]

Looks rather interesting! Hmm, it's even possible to enhance it further
to extract variables from a given expression automatically...

Unfortunately, ordering of the variables isn't the only problem:

FullSimplify[Expand[x + (x + x^2)^4]]

x + x^4 + 4*x^5 + 6*x^6 + 4*x^7 + x^8

whose LeafCount is a whopping 23 instead of expected 9.

And don't even try higher powers like:
FullSimplify[Expand[x + (x + x^2)^16]]
:)

My confidence in FullSimplify and Mathematica is slowly fading,
which is rather sad, because my current research heavily depends on
understanding returned symbolic solutions which can be too hard
when any simplification opportunities are missed.

--