Re: Only real data

• To: mathgroup at smc.vnet.net
• Subject: [mg122147] Re: Only real data
• From: "Dr. Wolfgang Hintze" <weh at snafu.de>
• Date: Sun, 16 Oct 2011 07:08:13 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <j7blu7\$34t\$1@smc.vnet.net>

```You can select the reals easily using Im[]==0

x = {1, 1.5, I, I + 1, I*Sqrt[2], I*Sqrt[2.]}
{1, 1.5, I, 1 + I, I*Sqrt[2], 1.4142135623730951*I}

Select[x, Im[#1] == 0 & ]
{1, 1.5}

Turning to your attempt:
You are right. Using Head[] or FullForm[] reveals that the Head of
I*Sqrt[2] is not Complex but is is Times.
To see this here are some examples:
x = {1, 1.5, I, I + 1, I*Sqrt[2], I*Sqrt[2.]}
{1, 1.5, I, 1 + I, I*Sqrt[2], 1.4142135623730951*I}

{Integer, Real, Complex, Complex, Times, Complex}

Cases[x, _Complex]
{I, 1 + I, 1.4142135623730951*I}

Cases[x, Except[_Complex]]
{1, 1.5, I*Sqrt[2]}

Cases[x, _Times]
{I*Sqrt[2]}

--- Wolfgang

"Jörg Schröder" <HB-Kowalczyk-Schroeders at t-online.de> schrieb im
Newsbeitrag news:j7blu7\$34t\$1 at smc.vnet.net...
> Hello,
>
>
>
> I have a problem to exclude complex solutions. I tried
>
>
>
> data1={2,3/4,1.3,=E4}
>
>
>
> {2,3/4,1.3,=E4}
>
>
>
> Cases[data1, Except[_Complex]]
>
>
>
> {2,3/4,1.3}
>
>
>
> and got, what I expected. But when I have data like
>
>
>
> {0,0,-I Sqrt[3],I Sqrt[3]}
>
>
>
> The above doesn't work. Is this due to a different Head? Is there an
> easy
> way to filter the non-complex data?
>
>
>
> Thanks in advance
>
>
>
> Greetings
>
>
>
> Joerg
>
>
>
> ################
>
> Dr. J=F6rg Schr=F6der
>
> Bremen, Germany
>

```

• Prev by Date: Re: How to create this kind of list
• Next by Date: How to sort and extract from matrix based on separate key-pair
• Previous by thread: Re: Only real data
• Next by thread: Problems plotting 3D surface and using manipulate