[graph-tool] Two ways of calculating the degree sequence
gogurt
gogurt at gmail.com
Mon Feb 13 01:10:04 CET 2017
So I'm trying to calculate the degree sequence of G, an undirected, connected
simple graph. As far as I see it, there are two ways to do this. Iterate
over all the vertices, or sum the rows of the adjacency matrix. So:
def degree_sequence1(G):
degs = []
for v in G.vertices():
degs.append(v.out_degree() + v.in_degree())
degs.sort()
return degs
def degree_sequence2(G):
mat = gt.adjacency(G)
degs = np.squeeze(np.asarray(mat.sum(axis=0)))
degs.sort()
return degs
The first way definitely works. But when I try to use the second method, I
find that even if I run this code on a connected network I get zeroes in my
degree sequence. Which shouldn't be possible if the graph is connected. So I
know that I'm understanding something wrong here.
Can somebody point out where I went wrong here?
Thanks!
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/Two-ways-of-calculating-the-degree-sequence-tp4027026.html
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
More information about the graph-tool
mailing list