# Solving for Tan[x] = y/z in the range of $x = 0$ and $\pi/2$

I feel this should be simple

Reduce[Tan[x] ==  y/z && 0 < x && x < \[Pi]/2 && y > 0 &&
z > 0, x, Reals]


should return

x = ArcTan(y/z)

However, it returns something apparently equivalent, though much more complex:

y > 0 && z > 0 && x == 2*ArcTan[(-z + y*Sqrt[(y^2 + z^2)/y^2])/y]


Somehow I'm missing some logic here. Can someone please let me know what I'm missing?

• You already stated your assumptions on x, y and z. If you leave out the Reals specification in Reduce, it gives you what you want (I'm not sure why, though). – Sjoerd Smit Jul 4 at 9:14
• If you throw an extra ArcTan[Tan[..]] around what x equals, it simplifies to the desired answer: y > 0 && z > 0 && x == ArcTan[ Tan[2 ArcTan[(-z + y Sqrt[(y^2 + z^2)/y^2])/y]]] // FullSimplify. I don't see why the desired answer doesn't just happen, even with the domain Reals. – Michael E2 Jul 4 at 23:14

## 1 Answer

It seems the form of the solution is designed to exclude imaginary numbers in the output. Excluding Reals from the specification (as suggested by Sjoerd) frees up this requirement.