def m8_motif(A):
B, U, G = directional_breakup(A)
W = np.zeros(G.shape)
W = np.asmatrix(W)
N = G.shape[0]
# print('U\n', U)
for i in range(N):
J = np.nonzero(U[i, :])[1]
# print(J)
for j1 in range(len(J)):
for j2 in range(j1 + 1, len(J)):
k1 = J[j1]
k2 = J[j2]
# print(k1, k2)
if A[k1, k2] == 0 and A[k2, k1] == 0:
W[i, k1] = W[i, k1] + 1
W[i, k2] = W[i, k2] + 1
W[k1, k2] = W[k1, k2] + 1
W = W + W.T
# matlab use W = sparse(W + W')
# I think it is properly use W = W+W'T
return W
评论列表
文章目录