Elementwise arc tangent of x1/x2 choosing the quadrant correctly.
The quadrant (ie. branch) is chosen so that arctan2(x1, x2) is the signed angle in radians between the line segments (0,0)  (1,0) and (0,0)  (x2,x1). This function is defined also for x2 = 0.
arctan2 is not defined for complexvalued arguments.
Parameters:  x1 : array_like, realvalued
x2 : array_like, realvalued


Returns:  angle : ndarray

Notes
arctan2 is identical to the atan2 function of the underlying C library. The following special values are defined in the C standard [2]:
x1  x2  arctan2(x1,x2) 

+/ 0  +0  +/ 0 
+/ 0  0  +/ pi 
> 0  +/inf  +0 / +pi 
< 0  +/inf  0 / pi 
+/inf  +inf  +/ (pi/4) 
+/inf  inf  +/ (3*pi/4) 
Note that +0 and 0 are distinct floating point numbers.
References
[R12]  Wikipedia, “atan2”, http://en.wikipedia.org/wiki/Atan2 
[R13]  ISO/IEC standard 9899:1999, “Programming language C”, 1999. 
Examples
Consider four points in different quadrants:
>>> x = np.array([1, +1, +1, 1])
>>> y = np.array([1, 1, +1, +1])
>>> np.arctan2(y, x) * 180 / np.pi
array([135., 45., 45., 135.])
Note the order of the parameters. arctan2 is defined also when x2 = 0 and at several other special points, obtaining values in the range [pi, pi]:
>>> np.arctan2([1., 1.], [0., 0.])
array([ 1.57079633, 1.57079633])
>>> np.arctan2([0., 0., np.inf], [+0., 0., np.inf])
array([ 0. , 3.14159265, 0.78539816])