make_max_clique_graph#
- make_max_clique_graph(G, create_using=None)[source]#
Returns the maximal clique graph of the given graph.
The nodes of the maximal clique graph of
G
are the cliques ofG
and an edge joins two cliques if the cliques are not disjoint.- Parameters:
- GNetworkX graph
- create_usingNetworkX graph constructor, optional (default=nx.Graph)
Graph type to create. If graph instance, then cleared before populated.
- Returns:
- NetworkX graph
A graph whose nodes are the cliques of
G
and whose edges join two cliques if they are not disjoint.
Notes
This function behaves like the following code:
import networkx as nx G = nx.make_clique_bipartite(G) cliques = [v for v in G.nodes() if G.nodes[v]["bipartite"] == 0] G = nx.bipartite.projected_graph(G, cliques) G = nx.relabel_nodes(G, {-v: v - 1 for v in G})
It should be faster, though, since it skips all the intermediate steps.