chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import dgl.sparse as dglsp
|
||||
import networkx as nx
|
||||
import torch
|
||||
|
||||
N = 100
|
||||
DAMP = 0.85
|
||||
K = 10
|
||||
|
||||
|
||||
def pagerank(A):
|
||||
D = A.sum(0)
|
||||
V = torch.ones(N) / N
|
||||
for _ in range(K):
|
||||
########################################################################
|
||||
# (HIGHLIGHT) Take the advantage of DGL sparse APIs to calculate the
|
||||
# page rank.
|
||||
########################################################################
|
||||
V = (1 - DAMP) / N + DAMP * A @ (V / D)
|
||||
return V
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
g = nx.erdos_renyi_graph(N, 0.05, seed=10086)
|
||||
|
||||
# Create the adjacency matrix of graph.
|
||||
edges = list(g.to_directed().edges())
|
||||
indices = torch.tensor(edges).transpose(0, 1)
|
||||
A = dglsp.spmatrix(indices, shape=(N, N))
|
||||
|
||||
V = pagerank(A)
|
||||
print(V)
|
||||
Reference in New Issue
Block a user