Re: Simplify
- To: mathgroup at smc.vnet.net
- Subject: [mg98705] Re: [mg98659] Simplify
- From: Leonid Shifrin <lshifr at gmail.com>
- Date: Thu, 16 Apr 2009 04:18:30 -0400 (EDT)
- References: <200904150902.FAA08151@smc.vnet.net>
Hi Daniel,
One reason may be the following:
In[1] = Hold[x^2/y^2]//FullForm
Out[1] = Hold[Times[Power[x, 2], Power[Power[y, 2], -1]]]
In[2] = x^2/y^2 // FullForm
Out[2] = Times[Power[x, 2], Power[y, -2]]
The LeafCount of the latter is then 7, not 10.
However, there seems to be more to it, since it looks like
there is a built-in rule, so that even if you type (x/y)^2, it will
be immediately rewritten as x^2/y^2 (or, (a*b)^c->a^c*b^c, etc):
In[3] = (x/y)^2
Out[3] = x^2/y^2
In[4] = Block[{Power}, Hold[Evaluate[((x/y)^2)]]]
Out[4] = Hold[(x/y)^2]
This probably means that even if LeafCount would indeed be larger, there
would be no chance to get the final result unless you either somehow
block this specific rule, or get inside Simplify and intercept some
intermediate result.
Regards,
Leonid
On Wed, Apr 15, 2009 at 2:02 AM, dh <dh at metrohm.com> wrote:
>
>
> Hi,
>
> can somebody explain, why
>
> Simplify[x^2/y^2,ComplexityFunction->LeafCount]
>
> does not simplify to (x/y)^2, although the LeafCount is:
>
> LeafCount[Hold[x^2/y^2]] gives 10
>
> and
>
> LeafCount[Hold[(x/y)^2]] gives 8
>
>
>
> Daniel
>
>
>
>
- References:
- Simplify
- From: dh <dh@metrohm.com>
- Simplify