Re: Complex Numbers to list of points
- To: mathgroup at smc.vnet.net
- Subject: [mg72216] Re: Complex Numbers to list of points
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Thu, 14 Dec 2006 05:52:32 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <elosbs$ojk$1@smc.vnet.net>
planetmarshalluk at hotmail.com wrote:
> Hi there,
>
> I have a list of mixed complex and real numbers returned from a function, e=
> g
>
> {1+3i, 2, 1-3i}
>
> I wish to convert the list to a list of points.
>
> {1+3i,2,1-3i} /. z_Complex->{Re[z],Im[z]}
>
> gives
>
> {{1,3},2,{1,-3}}
>
> Which is almost what I want, but has not dealt with the possibility of non-=
> complex numbers in the list. Is there a compact way of doing this, such wit=
> h a list of rules? Nothing obvious seems to work, the only success I have h=
> ad is splitting the list into real and complex sublists, applying rules to =
> each list individually and then recombining them, which seems like an awful=
> lot of hard work.
>
> What I want is
> toPoints[{1+3i, 2, 1-3i}] == {{1,3},{2,0},{1,-3}}
>
> Any help appreciated,
> Thanks.
>
> Andrew.
>
The following expression should do the trick:
Rationalize[{1 + 3*I, 2, 1 - 3*I} /. x_Integer -> Complex[x, 0.0] /.
z_Complex -> {Re[z], Im[z]}]
--> {{1, 3}, {2, 0}, {1, -3}}
Regards,
Jean-Marc