Re: Forcing Re[]'s to be Real

*To*: mathgroup at smc.vnet.net*Subject*: [mg18258] Re: Forcing Re[]'s to be Real*From*: Adam Strzebonski <adams at wolfram.com>*Date*: Thu, 24 Jun 1999 14:24:41 -0400*Organization*: Wolfram Research, Inc.*References*: <7kpbj1$4b8@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Anthony Foglia wrote: > > I seem to have found an interesting problem involving computing the > real part of complex numbers. (Interesting, in that it wasn't there a few > weeks ago when I ran the (as-far-as-i-can-remember) exact same code.) > > I have a complex function: > > k[w] := Sqrt[w^2 (1 + (2 / (1 + I w)))] > > I want to graph the real and imaginary parts, but Mathematica doesn't want > to express the Re[k[w]] as a real number. What do I mean? Well, if I > type: > > Re[Sqrt[1+I]] > > I get out > > Re[Sqrt[1+I]] > > Same if I do Re[ComplexExpand[Sqrt[1+I]]], or Re[(1+I)^(1/2)]. But if I > enter: > > Re[ComplexExpand[(1+I)^(1/2)] > > Mathematica is kind enough to respond with: > > 2^(1/4) Cos[Pi/8] > > I'm certain that this is the root of my problem, but I'll be damned if I > know why Mathematica doesn't like it now, but did a few weeks ago. Any > help? > > --Anthony You can use RootReduce here In[1]:= Re[Sqrt[1+I]] // RootReduce 2 4 Out[1]= Root[-1 - 4 #1 + 4 #1 & , 2] or, if you prefer radicals, In[2]:= % // ToRadicals 1 + Sqrt[2] Out[2]= Sqrt[-----------] 2 This approach works for k[w] for any rational number w. In[3]:= k[w_]:= Sqrt[w^2 (1 + (2 / (1 + I w)))] In[5]:= Re[k[-17/3]] // RootReduce // ToRadicals 158 + Sqrt[27565] 17 Sqrt[-----------------] 298 Out[5]= -------------------------- 3 Best Regards, Adam Strzebonski Wolfram Research