Cluster ======= >>> from networkx import * >>> G = Graph() >>> triangles(G).values() [] >>> triangles(G) {} >>> clustering(G).values() [] >>> clustering(G) {} >>> transitivity(G) 0.0 >>> G = path_graph(10) >>> triangles(G).values() [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] >>> triangles(G) {0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0} >>> clustering(G).values() [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] >>> clustering(G) {0: 0.0, 1: 0.0, 2: 0.0, 3: 0.0, 4: 0.0, 5: 0.0, 6: 0.0, 7: 0.0, 8: 0.0, 9: 0.0} >>> transitivity(G) 0.0 >>> G = cubical_graph() >>> triangles(G).values() [0, 0, 0, 0, 0, 0, 0, 0] >>> triangles(G,1) 0 >>> triangles(G,[1,2]).values() [0, 0] >>> triangles(G,1) 0 >>> triangles(G,[1,2]) {1: 0, 2: 0} >>> clustering(G).values() [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] >>> clustering(G,1) 0.0 >>> clustering(G,[1,2]).values() [0.0, 0.0] >>> clustering(G,1) 0.0 >>> clustering(G,[1,2]) {1: 0.0, 2: 0.0} >>> transitivity(G) 0.0 >>> G = complete_graph(5) >>> triangles(G).values() [6, 6, 6, 6, 6] >>> sum(triangles(G).values())/3 10 >>> triangles(G,1) 6 >>> clustering(G).values() [1.0, 1.0, 1.0, 1.0, 1.0] >>> average_clustering(G) 1.0 >>> transitivity(G) 1.0 >>> G.remove_edge(1,2) >>> triangles(G).values() [5, 3, 3, 5, 5] >>> triangles(G,1) 3 >>> clustering(G).values() == [5./6., 1.0, 1.0, 5./6., 5./6.] True >>> clustering(G,[1,4]) {1: 1.0, 4: 0.83333333333333337} >>> transitivity(G) 0.875 Transitivity is weighted average of clustering ---------------------------------------------- >>> t1=transitivity(G) >>> print t1 0.875 >>> (cluster_d2,weights)=clustering(G,weights=True) >>> trans=[] >>> for v in G.nodes(): ... trans.append(cluster_d2[v]*weights[v]) >>> t2=sum(trans) >>> abs(t1-t2)<1e-15 True