networkx.algorithms.clique.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: - G (NetworkX graph)
- create_using (NetworkX graph constructor, optional (default=nx.Graph)) – Graph type to create. If graph instance, then cleared before populated.
Returns: A graph whose nodes are the cliques of
Gand whose edges join two cliques if they are not disjoint.Return type: NetworkX graph
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.project(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.