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