def test_no_weight(self): inf = float('inf') expected = {(3, 4, inf), (4, 3, inf)} assert_in(next(nx.local_bridges(self.BB)), expected) expected = {(u, v, 3) for u, v, in self.square.edges} assert_equal(set(nx.local_bridges(self.square)), expected) assert_equal(list(nx.local_bridges(self.tri)), [])
def test_no_weight(self): inf = float('inf') expected = {(3, 4, inf), (4, 3, inf)} assert next(nx.local_bridges(self.BB)) in expected expected = {(u, v, 3) for u, v, in self.square.edges} assert set(nx.local_bridges(self.square)) == expected assert list(nx.local_bridges(self.tri)) == []
def test_no_weight(self): inf = float('inf') expected = {(3, 4, inf), (4, 3, inf)} assert_in(next(nx.local_bridges(self.BB)), expected) expected = {(u, v, 3) for u, v, in self.square.edges} assert_equal(set(nx.local_bridges(self.square)), expected) assert_equal(list(nx.local_bridges(self.tri)), [])
def test_weight(self): inf = float('inf') G = self.square.copy() G.edges[1, 2]['weight'] = 2 expected = {(u, v, 5 - wt) for u, v, wt in G.edges(data='weight', default=1)} assert_equal(set(nx.local_bridges(G, weight='weight')), expected) expected = {(u, v, 6) for u, v in G.edges} lb = nx.local_bridges(G, weight=lambda u, v, d: 2) assert_equal(set(lb), expected)
def test_weight(self): inf = float("inf") G = self.square.copy() G.edges[1, 2]["weight"] = 2 expected = {(u, v, 5 - wt) for u, v, wt in G.edges(data="weight", default=1)} assert set(nx.local_bridges(G, weight="weight")) == expected expected = {(u, v, 6) for u, v in G.edges} lb = nx.local_bridges(G, weight=lambda u, v, d: 2) assert set(lb) == expected
def test_nospan(self): expected = {(3, 4), (4, 3)} assert_in(next(nx.local_bridges(self.BB, with_span=False)), expected) assert_equal(set(nx.local_bridges(self.square, with_span=False)), self.square.edges) assert_equal(list(nx.local_bridges(self.tri, with_span=False)), [])
def test_nospan(self): expected = {(3, 4), (4, 3)} assert_in(next(nx.local_bridges(self.BB, with_span=False)), expected) assert_equal(set(nx.local_bridges(self.square, with_span=False)), self.square.edges) assert_equal(list(nx.local_bridges(self.tri, with_span=False)), [])
def test_nospan(self): expected = {(3, 4), (4, 3)} assert next(nx.local_bridges(self.BB, with_span=False)) in expected assert set(nx.local_bridges(self.square, with_span=False)) == self.square.edges assert list(nx.local_bridges(self.tri, with_span=False)) == []
# https://stackoverflow.com/questions/43208737/using-networkx-to-calculate-eigenvector-centrality?rq=1 lEigenVectorCentrality = nx.eigenvector_centrality_numpy(network_weight) for nodeId, cent in lEigenVectorCentrality.items(): network_weight.node[nodeId]['eigen'] = float(cent) # katz centrality lKatzCentrality = nx.katz_centrality(network_weight) for nodeId, cent in lKatzCentrality.items(): network_weight.node[nodeId]['katz'] = float(cent) # Betweeness centrality lBetCentrality = nx.betweenness_centrality(network_weight) for nodeId, cent in lBetCentrality.items(): network_weight.node[nodeId]['betweenness'] = float(cent) # %% for g in nx.local_bridges(network_weight, with_span=True, weight=None): if g[2] < 100: print(g) # %% import altair as alt alt.renderers.enable('notebook') # %% # Generating Data source = pd.DataFrame({ 'Degree Centrality': list(lDegCentrality.values()), # 'Eigenvector Centrality': list(lEigenVectorCentrality.values()), 'Betweenness Centrality': list(lBetCentrality.values()), 'Katz Centrality': list(lKatzCentrality.values()) })
bridge_count = [] local_bridge_count = [] c1, c2 = 0, 0 #C between a bully and a victim in Gs is a bridge or a local bridge for graph in Gs: graph1 = graph.to_undirected() #Get all the bridges bridges = list(nx.bridges(graph1)) #Check if a bully and a victim in Gs is a bridge or a local bridge for bridge in bridges: if IsBridgeBetweenBullyAndVictim(graph1, bridge): c1 += 1 bridge_count.append(c1) c1 = 0 #Get all the local bridges local_bridges = list(nx.local_bridges(graph1)) for local_bridge in local_bridges: if IsBridgeBetweenBullyAndVictim(graph1, local_bridge): c2 += 1 local_bridge_count.append(c2) c2 = 0 #print(sum(bridge_count)) #print(sum(local_bridge_count)) #e Compute the principal eigenvalue, λws, of the weighted and undirected adjacency matrix of each Gs print('Number of nodes of each graph: \n', num_of_nodes) print('Number of edges of each graph: \n', num_of_nodes) print('Total degree of each graph: \n', total_degrees) #Convert graphs to undirected to calculate principal eigen value Hs = []