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/ > >