is_valid_joint_degree(joint_degrees)
A joint degree dictionary is a dictionary of dictionaries, in which entry joint_degrees[k][l]
is an integer representing the number of edges joining nodes of degree k with nodes of degree l. Such a dictionary is realizable as a simple graph if and only if the following conditions are satisfied.
each entry must be an integer,
the total number of nodes of degree k, computed by sum(joint_degrees[k].values()) / k
, must be an integer,
the total number of edges joining nodes of degree k with nodes of degree l cannot exceed the total number of possible edges,
each diagonal entry joint_degrees[k][k]
must be even (this is a convention assumed by the joint_degree_graph
function).
A joint degree dictionary in which entry joint_degrees[k][l]
is the number of edges joining nodes of degree k with nodes of degree l.
Whether the given joint degree dictionary is realizable as a simple graph.
Checks whether the given joint degree dictionary is realizable.
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them