5.7.7. networkx.generators.degree_seq.random_degree_sequence_graph¶
-
networkx.generators.degree_seq.random_degree_sequence_graph(sequence, seed=None, tries=10)[source]¶ Return 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 : hashable object, optional
Seed for random number generator
tries : int, optional
Maximum number of tries to create a graph
Returns: G : Graph
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_valid_degree_sequence,configuration_modelNotes
The generator algorithm [R1015] is not guaranteed to produce a graph.
References
[R1015] (1, 2) 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) >>> sorted(d for n, d in G.degree()) [1, 2, 2, 3]