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
Gare the cliques ofGand 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
Gand 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.