diff --git a/lib/random.py b/lib/random.py index 1d09352c52a60bca4dad2f827488c2c773456d21..c6f8898887b622f38ee9f0d01219b6e4dd3714df 100644 --- a/lib/random.py +++ b/lib/random.py @@ -459,7 +459,7 @@ def mixed_model_spat_sbm(nb_nodes, nb_edges, nb_com, alpha, percentage_edge_betw G = spatial_graph(nb_nodes, nb_edges, coords="random", dist_func=dist_func) G = add_partitions_G(G, nb_com) nb_edges = G.size() - + float_epsilon = np.finfo(float).eps def nb_of_pair(N): return (N * (N - 1)) / 2 @@ -484,9 +484,9 @@ def mixed_model_spat_sbm(nb_nodes, nb_edges, nb_com, alpha, percentage_edge_betw all_probs_sbm = np.concatenate((probs_sbm_inter, probs_sbm_intra)) all_probs_sbm /= all_probs_sbm.sum() - all_probs_spa = np.asarray([1 / dist_func(edge[0], edge[1]) for edge in all_edges]) + pos = nx.get_node_attributes(G,"pos") + all_probs_spa = np.asarray([1 / (float_epsilon +dist_func(pos[edge[0]], pos[edge[1]])) for edge in all_edges]) all_probs_spa /= all_probs_spa.sum() - all_probs = alpha * (all_probs_sbm) + (1 - alpha) * all_probs_spa final_edges = []