[Mathematica] ArcTan[] bug ?

• Mathematica
Hello everyone,

I copy-paste here a little bit of code:
Code:
In[4417]:= x = (1.5 + 0. I);
y = (0. + 0. I);

(* 1 *) ArcTan[x, y]
(* 2 *) ArcTan[x // Chop, y // Chop]
(* 3 *) -I Log[(x + I y)/Sqrt[x^2 + y^2]]
{y == 0, Re[y] == 0, Im[y] == 0, Im[x] == 0}

Out[4419]= -1.5708 + 0. I

Out[4420]= 0

Out[4421]= 0. + 0. I

Out[4422]= {True, True, True, True}

The quantities x and y are calculated elsewhere.
The expression 1 for the arctangent is wrong since it gives me -pi/2
In expression 2, I chop the arguments and the result is right.
Expression 3 is used when x or y is complex and gives the right answer as well.
Finally, some tests…

Any thoughts ?
TIA

phyzguy
I agree it looks wrong, but I think ArcTan[x,y] is assuming x and y are both real. It must have a problem when thy are complex.

The help page of ArcTan[x,y] indicates that it can handle complex arguments. It then uses the expression which involves the Log[] I gave.
Problem is: my quantities x and y are not complex according to the tests I make… Which is strange because I thought that the number 0.` is different from 0 (== wise)…

phyzguy
ArcTan[x] should handle complex arguments, but what does ArcTan[x,y] even mean when the arguments are complex?

Hurkyl
Staff Emeritus