(X)
return out
Like sympy.atan2, but return 0 for x=y=0. Mathematically, the value is
    undefined, so sympy returns NaN, but for the sake of the coordinate
    conversion, its value doesn't matter. NaNs, however, produce NaNs down the
    line.
Like sympy.atan2, but return 0 for x=y=0. Mathematically, the value is
    undefined, so sympy returns NaN, but for the sake of the coordinate
    conversion, its value doesn't matter. NaNs, however, produce NaNs down the
    line.
Like sympy . atan2 but return 0 for x = y = 0 . Mathematically the value is undefined so sympy returns NaN but for the sake of the coordinate conversion its value doesn t matter . NaNs however produce NaNs down the line .
def _atan2_0(X):
    """Like sympy.atan2, but return 0 for x=y=0. Mathematically, the value is
    undefined, so sympy returns NaN, but for the sake of the coordinate
    conversion, its value doesn't matter. NaNs, however, produce NaNs down the
    line.
    """
    out = np.array([sympy.atan2(X[1, k], X[0, k]) for k in range(X.shape[1])])
    out[out == sympy.nan] = 0
    return out
def _atan2_0 ( X ) : out = np . array ( [ sympy . atan2 ( X [ 1 , k ] , X [ 0 , k ] ) for k in range ( X . shape [ 1 ] ) ] ) out [ out == sympy . nan ] = 0 return out