Re: Re: SameQ to check for simplified radical expressions... doesn't work
- To: mathgroup at smc.vnet.net
- Subject: [mg121023] Re: [mg121014] Re: SameQ to check for simplified radical expressions... doesn't work
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Tue, 23 Aug 2011 05:47:57 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201108201015.GAA04919@smc.vnet.net> <201108221003.GAA22516@smc.vnet.net> <op.v0mm57vdtgfoz2@bobbys-imac.local>
Well, not quite... It can't make it simpler because if Simplify did
change 6 Sqrt[10] to Sqrt[360] then Mathematica's automatic evaluation
would again change this to 6 Sqrt[10]. In fact, sometimes this sort of
thing does happen, look at the Trace of this:
Trace[6*Sqrt[10] /. (a_)*Sqrt[b_] :> Sqrt[a^2*b]]
{{{Sqrt[10],Sqrt[10]},6 Sqrt[10]},{{{Sqrt[b_],Sqrt[b_]},a_ Sqrt[b_]},a_
Sqrt[b_]:>Sqrt[a^2 b],a_ Sqrt[b_]:>Sqrt[a^2 b]},6 Sqrt[10]/. a_
Sqrt[b_]:>Sqrt[a^2 b],Sqrt[6^2 10],{{6^2,36},36 10,360},Sqrt[360],6
Sqrt[10]}
It does make the "simplification" but you end up where you started
anyway.
Of course, the decision to choose this particular canonical form was
made probably because it is thought to be in some sense simpler. The
opposite approach would have been to automatically convert expressions
of the form a Sqrt[b] into Sqrt[a^2 b] (for positive a and b) which
certainly would have been less pleasant (as you have noted).
Andrzej
On 22 Aug 2011, at 20:04, DrMajorBob wrote:
> Without Simplify, we get, as you say, canonical form... 6 Sqrt[10]. My
point was that Simplify doesn't make it any simpler, because it doesn't
"think" Sqrt[360] is simpler.
>
> I suppose none of us do.
>
> Bobby
>
> On Mon, 22 Aug 2011 05:03:59 -0500, Andrzej Kozlowski
<akoz at mimuw.edu.pl> wrote:
>
>>
>> On 20 Aug 2011, at 12:15, DrMajorBob wrote:
>>
>>> The second is obviously simpler, hence Sqrt[360] is simpler than 6
>>> Sqrt[10].
>>>
>>> But Mathematica doesn't see it that way, and apparently, neither do
you.
>>>
>>> Bobby
>>
>>
>> The point here is, however, that when Mathematica evaluates
>>
>> In[1]:= Sqrt[360]
>> Out[1]= 6 Sqrt[10]
>>
>> it is not really "simplifying" the expression but putting it into a
>> "canonical form". Simplification depends on a complexity function but
>> canonical form do not. They are necessary, because if expressions
were
>> not put into these canonical forms, certain cancellations would not
take
>> place because under a given complexity function two equivalent
>> expressions might never be transformed into the same expression (so
that
>> cancellation can take place). So you really need these canonical
forms
>> to be independent of any complexity function. Because expressions are
>> put into a canonical form before Simplify is applied, sometimes you
will
>> never be able to get an answer that has the lowest complexity (for a
>> given ComplexityFunction). In this case the lowest complexity is, if
>> course, possessed by Sqrt[360]:
>>
>> In[2]:= LeafCount[Unevaluated[Sqrt[360]]]
>>
>> Out[2]= 2
>>
>> In[3]:= LeafCount[Sqrt[360]]
>>
>> Out[3]= 7
>>
>> Andrzej Kozlowski
>>
>>
>>
>
>
> --
> DrMajorBob at yahoo.com
- References:
- Re: SameQ to check for simplified radical expressions... doesn't work
- From: DrMajorBob <btreat1@austin.rr.com>
- Re: SameQ to check for simplified radical expressions... doesn't work
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: SameQ to check for simplified radical expressions... doesn't work