Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*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 2005

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

Search the Archive

Re: Re: Getting simple answers from Reduce, ComplexExpand and FullSimplify

  • To: mathgroup at smc.vnet.net
  • Subject: [mg57904] Re: [mg57868] Re: Getting simple answers from Reduce, ComplexExpand and FullSimplify
  • From: Pratik Desai <pdesai1 at umbc.edu>
  • Date: Sun, 12 Jun 2005 04:34:26 -0400 (EDT)
  • References: <d893st$t26$1@smc.vnet.net> <200506110735.DAA16772@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hugh Goyder wrote:

>Many thanks for all the answers I received. The best answer seems to be
>ex = 2 Cos[z] + I a Sin[z];
>
>
>InputForm[Reduce[{0 == ex // TrigToExp, 0 < a < 1}, z]]
>
>C[1] \[Element] Integers && Inequality[0, Less, a, Less, 1] &&
>z == (-I/2)*((2*I)*Pi*C[1] + Log[(-2 + a)/(2 + a)])
>
>Two points are interesting.
>
>    1.  I used ComplexExpand on the output of Reduce and got a different and
>incomprehensible answer compared to Andrzej Kozlowski and Pratik Desai who
>used ComplexExpand and TrigToExp, respectively, on the input to Reduce and
>got a simple answer. Is this obvious from the way Reduce works or does one
>get this by trial-and-error and tinkering? (I don't  like tinkering I don't
>

>think you can really learn and understand by tinkering with computation.)
>  
>
I beg to differ, you can learn a lot by tinkering, atleast you get a 
feel for what the software is doing compared to what it is supposed to 
do, your problem is a great example of it. I think what works for me is  
to follow your intuition, just like solving it by hand , and once you 
have enough experience you get better at it.

>    2. I note that Reduce sometimes generates a constant, C[1],  that is an
>element of the Integers and also has Im[C[1]] == 0. I know that there are
>Gaussian Integers but I would have thought that the definition of Integers
>in Mathematica would be restricted to real integers.
>
>    Thanks
>
>    Hugh Goyder
>"Hugh Goyder" <h.g.d.goyder at cranfield.ac.uk> wrote in message
>news:d893st$t26$1 at smc.vnet.net...
>  
>
>>Below the expression ex has roots, rts, where n in an integer and the
>>constant a is in the interval 0 < a <1. We may check this using
>>    
>>
>FullSimplify
>  
>
>>as follows.
>>
>>
>>
>>ex=2 Cos[z]+I a Sin[z];
>>
>>rts=z ->Pi(2n-1)/2 + I Log[(2+a)/(2-a)]/2;
>>
>>FullSimplify[0 == ex/.rts,Element[n,Integers]]
>>
>>
>>
>>My problem is to try and deduce the roots using computer algebra rather
>>    
>>
>than
>  
>
>>by hand. (I also have other expressions I would like to work on.) My
>>    
>>
>attempt
>  
>
>>at using Reduce is partially successful but leads to unfamiliar, and
>>difficult to interpret, ArcTanh functions
>>
>>Reduce[{ex == 0,0<a<1},z]
>>
>>An attempt with FullSimplify and ComplexExpand to crack the ArcTanh
>>    
>>
>function
>  
>
>>is again partially successful in giving the imaginary part I require.
>>However, I am stuck with Arg functions with complex arguments. The Arg
>>Functions are just equal to -Pi/2 but I cannot crack them further. Any
>>suggestions for simplifying the output from Reduce so that I get the
>>    
>>
>simple
>  
>
>>form I guessed at the start? Alternativly, are there more methods for
>>simplifing the complex output?
>>
>>
>>
>>FullSimplify[ComplexExpand[(2*I)*ArcTanh[a/2+(I/2)*Sqrt[4-a^2]]],{0<a<1}]
>>
>>FullSimplify[ComplexExpand[Arg[2-a-I Sqrt[4-a^2]]-Arg[
>>
>>2+a+I Sqrt[4-a^2]]],{0<a<1}]
>>
>>
>>
>>Thanks
>>
>>Hugh Goyder
>>
>>
>>    
>>
>
>
>  
>


-- 
Pratik Desai
Graduate Student
UMBC
Department of Mechanical Engineering
Phone: 410 455 8134



  • Prev by Date: Re: Re: Mouse controlled 3D rotations
  • Next by Date: Re: Mouse controlled 3D rotations
  • Previous by thread: Re: Getting simple answers from Reduce, ComplexExpand and FullSimplify
  • Next by thread: Preventing LegendreP from self-extracting in manipulations