random(T const, T const, T const, std::mt19937)¶
-
static inline ActionDigraph libsemigroups::ActionDigraph::random(T const nr_nodes, T const out_degree, T const nr_edges, std::mt19937 mt = std::mt19937(std::random_device()()))¶
Constructs a random ActionDigraph from
mt
with the specified number of nodes and edges, and out-degree.- Complexity
At least \(O(mn)\) where
m
is the number of nodes, andn
is the out-degree of the digraph.
- Parameters
nr_nodes – the number of nodes
out_degree – the out-degree of every node
nr_edges – the out-degree of every node
mt – a std::mt19937 used as a random source (defaults to: std::mt19937(std::random_device()()))
- Throws
LibsemigroupsException – if any of the following hold:
nr_nodes
is less than2
out_degree
is less than2
nr_edges
exceeds the product ofnr_nodes
andout_degree