Re: This should evaluate to zero
- To: mathgroup at smc.vnet.net
- Subject: [mg39947] Re: [mg39926] This should evaluate to zero
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Thu, 13 Mar 2003 03:00:24 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Just out of curiosity I tried to see if I can force Simplify to return
0 with a suitable choice of ComplextityFunction and
TransformationFunctions. Here is one way that works:
h[Log[x_] + a_ Log[y_]] := Log[FullSimplify[x*y^a]]
Simplify[ArcSinh[1] - Log[3363 + 2378*Sqrt[
2]]/10,ComplexityFunction->(
Count[#,ArcSinh,Infinity,Heads->True]&),
TransformationFunctions->Composition[h,TrigToExp]]
0
Andrzej Kozlowski
Yokohama, Japan
http://www.mimuw.edu.pl/~akoz/
http://platon.c.u-tokyo.ac.jp/andrzej/
On Wednesday, March 12, 2003, at 05:59 pm, Andrzej Kozlowski wrote:
>
> On Wednesday, March 12, 2003, at 04:28 pm, jf alcover wrote:
>
>> Bonjour,
>> Methinks that the following expression should evaluate to zero,
>> but it does not, even with FullSimplify :
>> ArcSinh[1]-Log[3363+2378*Sqrt[2]]/10
>> Could anyone explain ?
>>
>>
>>
>
> Presumably, the reason is that the built in transformation rules that
> FullSimplify tries are simply insufficient to reach that answer.
> However:
>
>
> Log[Exp[TrigToExp[ArcSinh[1]-Log[3363+2378*Sqrt[2]]/10]]//FullSimplify]
>
> 0
>
> We can get a different perspective on the difficulties by trying a
> somewhat different approach. We first define a new transformation
> function:
>
> h[Log[x_] + a_ Log[y_]] := Log[x*y^a]
>
> Of course this only makes sense for suitable values of x,y and a but
> since the rule holds in our case we won't bother about this point. Now
> consider the following:
>
>
> v=Simplify[TrigToExp[ArcSinh[1] - Log[3363 + 2378*Sqrt[2]]/10],
> TransformationFunctions -> {Automatic, h}]
>
>
> Log[(1 + Sqrt[2])/(3363 + 2378*Sqrt[2])^(1/10)]
>
> The expression inside the Log is in fact 1. Mathematica can show this
> but if we now simply apply FullSimplify we will get back to formula we
> started with:
>
>
> FullSimplify[v]
>
>
> ArcSinh[1] - (1/10)*Log[3363 + 2378*Sqrt[2]]
>
>
> However, if we apply FullSimplify only to the expression inside the
> Log we get the right answer:
>
>
> Map[FullSimplify,v]
>
> 0
>
> I think this kind of problems are unavoidable. FullSimplify can only
> perform a limited number of transformations on any given expression,
> and there will always be cases when the needed transformation, or
> right order of performing transformations or the correct way of
> grouping an expression into subexpressions isn't tried without human
> guidance.
>
> Andrzej Kozlowski
> Yokohama, Japan
> http://www.mimuw.edu.pl/~akoz/
> http://platon.c.u-tokyo.ac.jp/andrzej/
>
>