Random uniform hypergraphs#

Undirected random uniform hypergraph#

random_uniform_hypergraph[vert_type](size: int, edge_degree: int, edge_prob: float, random_state) undirected_hypernetwork[vert_type]#
template<integer_network_vertex VertT, std::uniform_random_bit_generator Gen>
undirected_hypernetwork<VertT> random_uniform_hypergraph(VertT size, VertT edge_degree, double edge_prob, Gen &generator)#

Generates a random hypergraph of size `size` vertices where each of the possible edges of degree `edge_degree` are present independently with probability `edge_prob`. This is the natural extension of Erdős–Rényi networks to uniform hypergraphs.

All edges will consist of exactly `edge_degree` vertices.

Directed random uniform hypergraph#

random_directed_uniform_hypergraph[vert_type](size: int, edge_in_degree: int, edge_out_degree: int, edge_prob: float, random_state) directed_hypernetwork[vert_type]#
template<integer_network_vertex VertT, std::uniform_random_bit_generator Gen>
directed_hypernetwork<VertT> random_directed_uniform_hypergraph(VertT size, VertT edge_in_degree, VertT edge_out_degree, double edge_prob, Gen &generator)#

Generates a random hypergraph of size `size` vertices where each of the possible directed edges of in-degree `edge_in_degree` and out-degree `edge_out_degree` are present independently with probability `edge_prob`. This is the natural extension of directed Erdős–Rényi networks to uniform directed hypergraphs.

All edges will consist of exactly `edge_in_degree` mutator vertices (tail of the arrow) and `edge_out_degree` mutated vertices (head of the arrow).