Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2004
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2004

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

Search the Archive

Re: Re: Re: How to simplify to a result that is real

  • To: mathgroup at smc.vnet.net
  • Subject: [mg50815] Re: [mg50788] Re: [mg50735] Re: How to simplify to a result that is real
  • From: DrBob <drbob at bigfoot.com>
  • Date: Wed, 22 Sep 2004 00:11:42 -0400 (EDT)
  • References: <cidt38$brv$1@smc.vnet.net> <200409180948.FAA00572@smc.vnet.net> <200409210749.DAA27752@smc.vnet.net>
  • Reply-to: drbob at bigfoot.com
  • Sender: owner-wri-mathgroup at wolfram.com

Mathematica simplifies the difference (when it should):

Simplify[ArcTan[u, v] - ArcTan[v/u]]
-ArcTan[v/u] + ArcTan[u, v]

Simplify[ArcTan[u, v] - ArcTan[v/u], u > 0]
0

Simplify[ArcTan[Sqrt[a^2 - b^2], (a - b)*Tan[c/2]] - ArcTan[((a - b)*Tan[c/2])/
      Sqrt[a^2 - b^2]], {a > b > 0, 0 < c < Pi}]
0

But which expression is simpler?

LeafCount/@{ArcTan[u,v],ArcTan[v/u]}

{3,6}

The first form is simpler as Mathematica measures things, and I think it's simpler mathematically, too. It doesn't come with that nasty caveat "if u != 0".

In your specific example, there's no reason for Mathematica to change either form into the other. They're both equally "simple":

LeafCount /@ {ArcTan[Sqrt[a^2 - b^2], (a - b)*Tan[c/2]],
   ArcTan[((a - b)*Tan[c/2])/Sqrt[a^2 - b^2]]}
{26, 26}

But this works (in version 5.0.1.0):

ArcTan[Sqrt[a^2 - b^2], (a - b)*Tan[c/2]] /. ArcTan[u_, v_] :> ArcTan[v/u]

ArcTan[((a - b)*Tan[c/2])/Sqrt[a^2 - b^2]]

and so does this:

ch = Integrate[1/(a + b*Cos[t]), {t, 0, c}, Assumptions -> {a > b > 0, 0 < c < Pi}];
FullSimplify[ComplexExpand[ch, TargetFunctions -> {Re, Im}], {a > b > 0,
     0 < c < Pi}] /. ArcTan[u_, v_] :> ArcTan[v/u]

(ArcTan[((a - b)*Tan[c/2])/Sqrt[a^2 - b^2]] + ArcTan[Sqrt[-1 + (2*a)/(a + b)]*Tan[c/2]])/
   Sqrt[(a - b)*(a + b)]

Bobby

On Tue, 21 Sep 2004 03:49:05 -0400 (EDT), Richard Chen <richard at doubleprime.com> wrote:

> I have seen quite a few responses here. I'll just Thank all of you
> with one response.
>
> I still feel that at this stage, simplifying expressions
> in mathematica is still a kind of art and requires intimate knowledge
> of how esoteric mathematica options work. For example,
> I just tried this technique on a problem which is essentially
> the same:
>
> ch = Integrate[1/(a + b Cos[t]), {t, 0, c},
>     Assumptions -> {a > b > 0, 0 < c < Pi}]
>
> FullSimplify[ComplexExpand[ch, TargetFunctions -> {Re, Im}], {
>     a > b > 0, 0 < c < Pi}]
>
> This time, mathematica comes back with an expression involving
> ArcTan[u,v] which is just ArcTan[v/u], by direct inspection.
> So the 2 terms involving different ArcTan are actually the same.
> But I cannot easily make Mathematica to recognize that they
> are the same. Even if I use the rule ArcTan[u_,v_]->ArcTan[v/u]
> it still does not think the 2 expressions are the same. It is easier
> to simply copy and paste an anwser than manipulate mathematica
> to get a simpler result.
>
> Perhaps future versions of mathematica will be smarter and does not
> require as much intervention from the user.
>
> Thanks
>
> Richard
>
> On Sat, Sep 18, 2004 at 05:48:55AM -0400, Peter Valko wrote:
>> Richard Chen <richard at doubleprime.com> wrote in message news:<cidt38$brv$1 at smc.vnet.net>...
>> > The command:
>> >
>> > Integrate[1/(1 + e Cos[t]), {t, 0, a},
>> >   Assumptions -> {-1 < e < 1, 0 < a < Pi}]
>> >
>> > leads to a complex valued result. I could not make
>> > mathematica to render the result in a form that is
>> > purely real. ComplexExpand, Refine all do not seem to work.
>> >
>> > Does anyone know how to make mathematica to simplify this
>> > result into a real form?
>> >
>> > Thanks for any info.
>> >
>> > Richard
>>
>>
>>
>> Richard,
>>
>> I think this will work:
>>
>>
>> ch = Integrate[1/(1 + e Cos[t]), {t, 0, a}, Assumptions -> {-1 < e <
>> 1, 0 < a < Pi}]
>>
>> FullSimplify[ComplexExpand[ch, TargetFunctions -> {Re, Im}], {-1 < e <
>> 1, 0 < a < Pi}]
>>
>>
>> The result is
>>
>> (-2*ArcTan[((-1 + e)*Tan[a/2])/Sqrt[1 - e^2]])/Sqrt[1 - e^2]
>>
>>
>> Peter
>>
>
>
>



-- 
DrBob at bigfoot.com
www.eclecticdreams.net


  • Prev by Date: Re: Re: Re: Re: How to simplify to a result that is real
  • Next by Date: Re: Sum question and general comment
  • Previous by thread: Re: Re: How to simplify to a result that is real
  • Next by thread: Re: How to simplify to a result that is real