def METHOD_NAME(
    n_rows, n_features, n_neighbors, n_components
):
    n_clusters = 30
    random_state = 42
    metric = "euclidean"
    initial_alpha = 1.0
    a, b = UMAP.find_ab_params(1.0, 0.1)
    gamma = 0
    negative_sample_rate = 5
    n_epochs = 500
    init = "random"
    metric = "euclidean"
    metric_kwds = {}
    densmap = False
    densmap_kwds = {}
    output_dens = False
    output_metric = "euclidean"
    output_metric_kwds = {}
    X, _ = make_blobs(
        n_samples=n_rows,
        centers=n_clusters,
        n_features=n_features,
        random_state=random_state,
    )
    X = X.get()
    ref_fss_graph = ref_fuzzy_simplicial_set(
        X, n_neighbors, random_state, metric
    )[0]
    ref_embedding = ref_simplicial_set_embedding(
        X,
        ref_fss_graph,
        n_components,
        initial_alpha,
        a,
        b,
        gamma,
        negative_sample_rate,
        n_epochs,
        init,
        np.random.RandomState(random_state),
        dist.named_distances_with_gradients[metric],
        metric_kwds,
        densmap,
        densmap_kwds,
        output_dens,
        output_metric=output_metric,
        output_metric_kwds=output_metric_kwds,
    )[0]
    cu_fss_graph = cu_fuzzy_simplicial_set(
        X, n_neighbors, random_state, metric
    )
    cu_embedding = cu_simplicial_set_embedding(
        X,
        cu_fss_graph,
        n_components,
        initial_alpha,
        a,
        b,
        gamma,
        negative_sample_rate,
        n_epochs,
        init,
        random_state,
        metric,
        metric_kwds,
        output_metric=output_metric,
        output_metric_kwds=output_metric_kwds,
    )
    ref_embedding = cp.array(ref_embedding)
    assert correctness_dense(
        ref_embedding, cu_embedding, rtol=0.1, threshold=0.95
    )