graphscope.nx.generators.degree_seq.random_degree_sequence_graph¶
- graphscope.nx.generators.degree_seq.random_degree_sequence_graph(sequence, seed=None, tries=10)[source]¶
Returns a simple random graph with the given degree sequence.
If the maximum degree $d_m$ in the sequence is $O(m^{1/4})$ then the algorithm produces almost uniform random graphs in $O(m d_m)$ time where $m$ is the number of edges.
- Parameters:
sequence (list of integers) – Sequence of degrees
seed (integer, random_state, or None (default)) – Indicator of random number generation state. See Randomness.
tries (int, optional) – Maximum number of tries to create a graph
- Returns:
G – A graph with the specified degree sequence. Nodes are labeled starting at 0 with an index corresponding to the position in the sequence.
- Return type:
- Raises:
NetworkXUnfeasible – If the degree sequence is not graphical.
NetworkXError – If a graph is not produced in specified number of tries
See also
is_graphical
,configuration_model
Notes
The generator algorithm [1] is not guaranteed to produce a graph.
References
Examples
>>> sequence = [1, 2, 2, 3] >>> G = nx.random_degree_sequence_graph(sequence, seed=42) >>> sorted(d for n, d in G.degree()) [1, 2, 2, 3]