def METHOD_NAME(shape, random_state=None, dtype=np.float32):
    """Return a numpy array by performing 'Xavier' initializer
    also known as 'Glorot' initializer on Uniform distribution.
    Parameters
    ----------
    shape : int or tuple of ints
        Output shape.
    random_state : int or np.random.RandomState, optional
        If an integer is given, it will be used as seed value for creating a RandomState.
    dtype : str or dtype
        Returned data-type for the output array.
    Returns
    -------
    out : ndarray
        Output matrix.
    References
    ----------
    ** Xavier Glorot and Yoshua Bengio (2010):
    [Understanding the difficulty of training deep feedforward neural networks.
    International conference on artificial intelligence and statistics.]
    (http://www.jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf)
    """
    assert len(shape) == 2  # only support matrix
    std = np.sqrt(2.0 / np.sum(shape))
    limit = np.sqrt(3.0) * std
    return uniform(shape, -limit, limit, random_state, dtype)