random_degree_sequence_graph¶
- random_degree_sequence_graph(sequence, seed=None, tries=10)[source]¶
Returns a simple random graph with the given degree sequence.
If the maximum degree
in the sequence is then the algorithm produces almost uniform random graphs in time where is the number of edges.- Parameters
- sequencelist of integers
Sequence of degrees
- seedinteger, random_state, or None (default)
Indicator of random number generation state. See Randomness.
- triesint, optional
Maximum number of tries to create a graph
- Returns
- GGraph
A graph with the specified degree sequence. Nodes are labeled starting at 0 with an index corresponding to the position in the sequence.
- 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
- 1
Moshen Bayati, Jeong Han Kim, and Amin Saberi, A sequential algorithm for generating random graphs. Algorithmica, Volume 58, Number 4, 860-910, DOI: 10.1007/s00453-009-9340-1
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]