MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: FullSimplify on Hyperbolic Functions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg53389] Re: [mg53383] FullSimplify on Hyperbolic Functions
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Sun, 9 Jan 2005 23:03:40 -0500 (EST)
  • References: <200501090402.XAA12451@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

The reasons why some of these do not work have already been explained 
before: basically they are that FullSimplify when using certain 
transformations functions, cannot use assumptions during the 
intermediate steps and also that certain transformation functions only 
"proceed in one direction". In particular this means that you often 
need to use explicitly ComplexExpand or TrigToExp with FullSimplify. 
This is one of such cases:

In[1]:=
r1 = ArcCosh[1 + b^2/2];
r2 = 2*ArcSinh[b/2];

In[3]:=
FullSimplify[ComplexExpand[
    r1 - r2], b > 0]

Out[3]=
0

However, this is more tricky:

In[4]:=
FullSimplify[ComplexExpand[
    r1^2 - r2^2], b > 0]

Out[4]=
-4*Log[(1/2)*(b + Sqrt[
         4 + b^2])]^2 +
   Log[(1/2)*(2 +
       b*(b + Sqrt[4 + b^2]))]^2


The problem seems to be again that FullSimplify does not try certain 
transformations that go in the "opposite direction" to what it normally 
does, but without which it can't see the cancellations. You can make it 
see them by forcing expansion of terms:


FullSimplify[FunctionExpand[ComplexExpand[r1^2-r2^2],b>0],b>0]

0

This is actually an interesting case because it shows a use of 
FunctionExpand with assumptions in cases where FullSimplify with 
assumptions is alone not sufficient. Also note that ComplexExpand 
performs better than TrigToExp here.

Of course if you make the expression even more complicated it will get 
harder and harder for Mathematica to reduce it and at some point it 
will become completely impossible. This isn't really surprising, is it?


Andrzej Kozlowski




On 9 Jan 2005, at 05:02, carlos at colorado.edu wrote:

> Obviously ArcCosh[1+b^2/2]=2 ArcSinh[b/2] if b>=0. Here are
> 4 variations on trying to show it by FullSimplify:
>
> ClearAll[b];  r1=ArcCosh[1+b^2/2]; r2=2*ArcSinh[b/2];
>
> Print[FullSimplify[r1-r2,b>=0]//InputForm];
> ArcCosh[1 + b^2/2] - 2*ArcSinh[b/2]
>
> Print[FullSimplify[TrigToExp[r1-r2],b>=0]//InputForm];
> 0
>
> Print[FullSimplify[r1^2-r2^2,b>=0]//InputForm];
> ArcCosh[1 + b^2/2]^2 - 4*ArcSinh[b/2]^2
>
> Print[FullSimplify[TrigToExp[r1^2-r2^2],b>=0]//InputForm];
> -4*Log[(b + Sqrt[4 + b^2])/2]^2 + Log[(2 + b*(b + Sqrt[4 + b^2]))/2]^2
> Why only the second one works?
>


  • Prev by Date: Re: Special Prime Product
  • Next by Date: Re: easy question about random numbers
  • Previous by thread: FullSimplify on Hyperbolic Functions
  • Next by thread: Re: FullSimplify on Hyperbolic Functions