Determine whether the given vertex degrees (in- and out-degrees for directed graphs) can be realized in a graph.
is_graphical(
out.deg,
in.deg = NULL,
allowed.edge.types = c("simple", "loops", "multi", "all")
)
A logical scalar.
Integer vector, the degree sequence for undirected graphs, or the out-degree sequence for directed graphs.
NULL
or an integer vector. For undirected graphs, it
should be NULL
. For directed graphs it specifies the in-degrees.
The allowed edge types in the graph. ‘simple’ means that neither loop nor multiple edges are allowed (i.e. the graph must be simple). ‘loops’ means that loop edges are allowed but mutiple edges are not. ‘multi’ means that multiple edges are allowed but loop edges are not. ‘all’ means that both loop edges and multiple edges are allowed.
Tamas Nepusz ntamas@gmail.com
The classical concept of graphicality assumes simple graphs. This function can perform the check also when self-loops, multi-edges, or both are allowed in the graph.
Hakimi SL: On the realizability of a set of integers as degrees of the vertices of a simple graph. J SIAM Appl Math 10:496-506, 1962.
PL Erdos, I Miklos and Z Toroczkai: A simple Havel-Hakimi type algorithm to realize graphical degree sequences of directed graphs. The Electronic Journal of Combinatorics 17(1):R66, 2010.
Other graphical degree sequences:
is_degseq()
g <- sample_gnp(100, 2/100)
is_degseq(degree(g))
is_graphical(degree(g))
Run the code above in your browser using DataLab