is_multigraphical#

is_multigraphical(sequence)[source]#

Returns True if some multigraph can realize the sequence.

Parameters:
sequencelist

A list of integers

Returns:
validbool

True if deg_sequence is a multigraphic degree sequence and False if not.

Notes

The worst-case run time is \(O(n)\) where \(n\) is the length of the sequence.

References

[1]

S. L. Hakimi. “On the realizability of a set of integers as degrees of the vertices of a linear graph”, J. SIAM, 10, pp. 496-506 (1962).

Examples

>>> G = nx.MultiGraph([(1, 2), (1, 3), (2, 3), (3, 4), (4, 2), (5, 1), (5, 4)])
>>> sequence = (d for _, d in G.degree())
>>> nx.is_multigraphical(sequence)
True

To test a non-multigraphical sequence: >>> sequence_list = [d for _, d in G.degree()] >>> sequence_list[-1] += 1 >>> nx.is_multigraphical(sequence_list) False