MathGroup Archive 2002

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

Search the Archive

Re: Simplifying expression involving Log and I

  • To: mathgroup at smc.vnet.net
  • Subject: [mg38033] Re: [mg38010] Simplifying expression involving Log and I
  • From: Adam Strzebonski <adams at wolfram.com>
  • Date: Tue, 26 Nov 2002 00:50:17 -0500 (EST)
  • References: <C559331D-0050-11D7-9F21-00039311C1CC@tuins.ac.jp>
  • Sender: owner-wri-mathgroup at wolfram.com

According to the default complexity measure ArcTan[y/x]
is not simpler than ArcTan[x, y].

In[1]:= LeafCount /@ {ArcTan[x, y], ArcTan[y/x]}

Out[1]= {3, 6}

One can use ComplexityFunction to specify that two-argument
ArcTan should be replaced whenever possible.

In[2]:= f=1000 Count[#, ArcTan[_, _], {0, Infinity}]+LeafCount[#]&;

In[3]:= FullSimplify[ArcTan[x, y], {x > 0, y < 0}, ComplexityFunction->f]

                y
Out[3]= ArcTan[-]
                x

With this ComplexityFunction we get a somewhat better result
for the original problem, though still not the desired form.

In[4]:= FullSimplify[ComplexExpand[
    d*Pi + I*d*(Log[M] - 2*Log[(-I)*Sqrt[(M*r)/d] +
          Sqrt[M - (M*r)/d]]), TargetFunctions -> {Re, Im}],
   M > 0 && 0 < r < d, ComplexityFunction->f]

                               1
Out[4]= d (Pi - 2 ArcTan[------------])
                                    d
                          Sqrt[-1 + -]
                                    r

Best Regards,

Adam Strzebonski
Wolfram Research


Andrzej Kozlowski wrote:
> This will take you pretty close:
> 
> FullSimplify[ComplexExpand[
>    d*Pi + I*d*(Log[M] - 2*Log[(-I)*Sqrt[(M*r)/d] +
>          Sqrt[M - (M*r)/d]]), TargetFunctions -> {Re, Im}],
>   M > 0 && 0 < r < d]
> 
> 
> d*(Pi + 2*ArcTan[Sqrt[M - (M*r)/d], -Sqrt[(M*r)/d]])
> 
> Still, there appears to be something missing among the rules 
> FullSimplify is applying.
> It seems related to the following behaviour, that certianly suggests a bug:
> 
> FullSimplify[ArcTan[x, y], {x > 0, y < 0}]
> 
> 
> ArcTan[x, y]
> 
> 
> FullSimplify[ArcTan[2*x, 2*y], {x > 0, y < 0}]
> 
> 
> ArcTan[y/x]
> 
> On Monday, November 25, 2002, at 03:58 PM, Dave Snead wrote:
> 
>> Hi,
>>
>> I'm trying to simplify (M, r, d are positive reals with r<d)
>> d*Pi + I*d*(Log[M] - 2*Log[(-I)*Sqrt[(M*r)/d] + Sqrt[M - (M*r)/d]])
>>
>> to
>>
>> 2*d*ArcCos[Sqrt[r/d]]
>>
>> I've tried applying
>>
>> FullSimplify[#,M>0 && 0<r<d]&
>>
>> and
>>
>> ExpToTrig
>>
>> but Mathematica won't get rid of the Log and the I and give me the 
>> ArcCos.
>>
>> Does anyone know which Mathematica functions to apply to my expression to
>> give me the simplification I want?
>>
>> Thanks in advance.
>>
>>
>>
>>
>>
>>
>>
> Andrzej Kozlowski
> Yokohama, Japan
> http://www.mimuw.edu.pl/~akoz/
> http://platon.c.u-tokyo.ac.jp/andrzej/
> 





  • Prev by Date: Re: Not getting answer to differential equation DSolve expression
  • Next by Date: odbc vs jdbc for database access in Mathematica
  • Previous by thread: Re: Simplifying expression involving Log and I
  • Next by thread: Re: Simplifying expression involving Log and I