Complex Oddity

*To*: mathgroup at smc.vnet.net*Subject*: [mg57455] Complex Oddity*From*: "John Reed" <nospamjreed at alum.mit.edu>*Date*: Sat, 28 May 2005 05:39:32 -0400 (EDT)*Sender*: owner-wri-mathgroup at wolfram.com

I was trying to separate the real and imaginary parts of a complicated expression, and ended up with something strange. Here is a short version of what happened. Let z = x + I y, then realPart = z /. {Complex[a_,b_]->a} gives realPart = x. Great! Now, try imagPart = z /. {Complex[a_,b_]->b} returns with imagPart = x + y. Oops In my original expression, it was harder to see, but the same error was occuring. What I tried first was using Re[z] and Im[z], but then I have to work with Im[y] and Im[x]. It seems to me two things need to be done here. First, be able to assign variables so that they always stay real or else indicate an error is occuring if they turn out to be complex, and second do something to avoid errors like the above. I have to say that I don't trust Mathematica's answers as much as I did before this came up. Now I feel like I better have a good idea of what the answer is before I trust Mathematica. John Reed

**Follow-Ups**:**Re: Complex Oddity***From:*Chris Chiasson <chris.chiasson@gmail.com>