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!