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

**References**:**Re: Getting simple answers from Reduce, ComplexExpand and FullSimplify***From:*"Hugh Goyder" <h.g.d.goyder@cranfield.ac.uk>