When using FunctionRange to compute the range of the two-argument ArcTan function, Mathematica fails to return an exact answer.
FunctionRange[ArcTan[x, y], {x, y}, t]
(*FunctionRange::nopt: Unable to find the exact range. Returning bounds on the range computed using numeric optimization methods.*)
(*-3.14159 <= t <= 3.14159*)
I observe that one can use ComplexExpand to turn two-argument ArcTan into the complex Arg function, but this doesn't seem to help, as in that case it stays unevaluated after throwing a message.
ArcTan[x, y] // ComplexExpand
(*Arg[x + I y]*)
FunctionRange[Arg[z], z, t, Complexes]
(*FunctionRange::nmet: Unable to find the range with the available methods.*)
(*FunctionRange[Arg[z], z, t, Complexes]*)
It would be convenient for me to have a generic method that wouldn't require me to "cheat" by supplying the range of ArcTan manually. I carefully read the documentation for the functions involved, but wasn't able to deduce the right way to proceed. Any help appreciated!
FunctionRange[ArcTan[x, y], {x, y}, t, Method -> {"Reduced" -> True}]
gives an exact answer, although I can't say like it. $\endgroup$Reduce[ArcTan[x, y] == -Pi, {x, y}, Reals]
results inFalse
so the range ist>-Pi&&t<=Pi
. $\endgroup$