Re: Re: Re: Hyperbolic function identity
- To: mathgroup at smc.vnet.net
- Subject: [mg51000] Re: [mg50964] Re: [mg50945] Re: [mg50932] Hyperbolic function identity
- From: Adam Strzebonski <adams at wolfram.com>
- Date: Fri, 1 Oct 2004 04:48:23 -0400 (EDT)
- References: <200409300852.EAA26465@smc.vnet.net> <EC6856EA-12D4-11D9-8846-000A95B4967A@mimuw.edu.pl> <E5587780-12E6-11D9-9AC3-000A95B4967A@mimuw.edu.pl>
- Reply-to: adams at wolfram.com
- Sender: owner-wri-mathgroup at wolfram.com
With your complexity function zero has a higher complexity than the expression returned by FullSimplify. In[1]:= cf1=(1/(1 + Count[#1, Log, Infinity, Heads -> True]) & ); In[2]:= cf1[2*(Log[2] - Log[z + Sqrt[z^2 + 4]]) + Log[z^2 + Sqrt[z^2 + 4]*z + 2] - Log[2]] 1 Out[2]= - 5 In[3]:= cf1[0] Out[3]= 1 If the ComplexityFunction favors transformation of ArcSinh and ArcCosh to logs, but also takes LeafCount into account, one call to FullSimplify is enough. In[4]:= cf2[e_]:=1000 Count[e, _ArcSinh|_ArcCosh, {0, Infinity}]+LeafCount[e] In[5]:= FullSimplify[ArcCosh[1 + z^2/2] - 2*ArcSinh[z/2], z>0, ComplexityFunction -> cf2] Out[5]= 0 Best Regards, Adam Strzebonski Wolfram Research Andrzej Kozlowski wrote: > *This message was transferred with a trial version of CommuniGate(tm) Pro* > Here is a puzzling observation. > > > FullSimplify[FullSimplify[ArcCosh[1 + z^2/2] - > 2*ArcSinh[z/2], ComplexityFunction -> > (1/(1 + Count[#1, Log, Infinity, Heads -> > True]) & )], z > 0] > > > 0 > > > I used a silly looking ComplexityFunction whose only purpse was to force > FullSimplify to choose expressions involving logs in preference to those > without them. FullSimplify obviously made use of TrigToExp or something > like that to get the answer. However, the really curious thing is this: > > > FullSimplify[ArcCosh[1 + z^2/2] - 2*ArcSinh[z/2], z > 0, > ComplexityFunction -> > (1/(1 + Count[#1, Log, Infinity, Heads -> True]) & )] > > > 2*(Log[2] - Log[z + Sqrt[z^2 + 4]]) + > Log[z^2 + Sqrt[z^2 + 4]*z + 2] - Log[2] > > > FullSimplify[%, z > 0] > > 0 > > The fact that two applications of FullSimplify were needed seems strange > to me and it might be a bug. One would have exected that having obtained > the first expression above FullSimplify would make one more attempt at > FullSImplifying thus obtaining the answer 0. Somehow it fails to do so. > > Andrzej > > > > On 30 Sep 2004, at 20:36, Andrzej Kozlowski wrote: > >> It seems to me that the problem lies elsewhere. Note that >> >> FullSimplify[ArcCosh[1 + z^2/2] - 2*ArcSinh[z/2], z > 0, >> TransformationFunctions -> {Automatic, TrigToExp}] >> >> does not work and you have to use: >> >> Simplify[ArcCosh[1+z^2/2]-2*ArcSinh[z/ >> 2],z>0,TransformationFunctions->{Automatic, >> FullSimplify[TrigToExp[#],z>0]&}] >> >> It looks to me more likely that TrigToExp is actually used as a >> transformation function by FullSimplify while searching for the >> "simplest" form, but unless the condition z>0 is also used at the same >> time the expressions obtained in this way do not actually become >> "simpler" and are discarded. I don't think this can be helped unless >> FullSimplify with the condition z>0 is itself included among the >> transformation functions (which of course seems rather pointless in >> this case as you can just apply it to the entire expression itself). >> >> Andrzej >> >> On 30 Sep 2004, at 17:52, Wolf, Hartmut wrote: >> >>> >>> No course to blame Mathematica. We do have TrigToExp and ExpToTrig, but >>> cannot keep them both at the same time (no confluent ruleset). So >>> without >>> meta-rules, a choice must be made by the user. >>> >>> -- >>> Hartmut >>> >>> >>>> -----Original Message----- >>>> From: Maxim A. Dubinnyi [mailto:maxim at nmr.ru] To: mathgroup at smc.vnet.net >>> >>> >>>> Sent: Wednesday, September 29, 2004 9:15 AM >>>> To: mathgroup at smc.vnet.net >>>> Subject: [mg51000] [mg50964] [mg50945] Re: [mg50932] Hyperbolic function identity >>>> >>>> >>>> This works correctly: >>>> >>>> FullSimplify[TrigToExp[ArcCosh[1+(z^2)/2]-2*ArcSinh[z/2]], z > 0] >>>> >>>> It looks like that mathematica works better with logarithms and >>>> exponents then with trigonometric functions. >>>> >>>> Carlos Felippa wrote: >>>> >>>>> Why >>>>> >>>>> FullSimplify[ArcCosh[1+z^2/2]-2*ArcSinh[z/2],z>0]; >>>>> >>>>> does not evaluate to 0? >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >> >