Question: How can I validate if an object is of a certian class? I currently use 

```
get_class($obj) == 'User';

```

But it may look like `\KM\User` when I am elsewhere? I think this way maybe abit prone to developer error. Is there something like:

```
compare_class($obj1, User);
// or maybe
classof($obj) == User;

```

Answer: 
Taking the Square root of a general complex number can be done with the basic arithmetic operations on real numbers (plus taking square root of reals): <http://www.mathpropress.com/stan/bibliography/complexSquareRoot.pdf> (one technique is to utilise De Moivre's theorem: Any complex number a + bi can be written as `r(cos θ + i sin θ)` where

```
r = sqrt(a^2 + b^2),  cos θ = a/r, sin θ = b/r

```

**Update**: the formula `r(cos θ + i sin θ)` is originaly due to Euler, whereas De Moivre's theorem is

```
(a + ib)ⁿ = rⁿ(cos nθ + i sin nθ)

```
It's not right to say that "Java can't handle it". No language that returns a double from a square root can handle it, but if you have a `Complex` class it's not an issue. Python has one built in; it's easy to write one in Java.