def KMeans(V, **kwargs):
    """Performs k-means clustering on *V*. The function uses :func:`sklearn.cluster.KMeans`. See sklearn documents 
    for details.

    :arg V: row-normalized eigenvectors for the purpose of clustering.
    :type V: :class:`numpy.ndarray`

    :arg n_clusters: specifies the number of clusters. 
    :type n_clusters: int
    """
    try:
        from sklearn.cluster import KMeans
    except ImportError:
        raise ImportError(
            'Use of this function (KMeans) requires the installation of sklearn.'
            )
    n_clusters = kwargs.get('n_clusters', None)
    if n_clusters is None:
        raise ValueError(
            'KMeans requires to desiginate the number of clusters.')
    n_init = kwargs.pop('n_init', 100)
    kmeans = KMeans(n_init=n_init, **kwargs).fit(V)
    return kmeans.labels_
