code: def compute_ppr(graph: nx.Graph, alpha=0.2, self_loop=True):
      a = nx.convert_matrix.to_numpy_array(graph)
      if self_loop:
          a = a + np.eye(a.shape[0])  # A^ = A + I_n
      d = np.diag(np.sum(a, 1))  # D^ = Sigma A^_ii
      dinv = fractional_matrix_power(d, -0.5)  # D^(-1/2)
      at = np.matmul(
          np.matmul(dinv, a), dinv
      )  # A~ = D^(-1/2) x A^ x D^(-1/2)
      return alpha * inv((np.eye(a.shape[0]) - (1 - alpha) * at))
  
file_path: dgl/examples/pytorch/mvgrl/node/dataset.py
imports: import dgl
  import networkx
  import numpy
  import scipy.sparse
  import torch
  from dgl.data import CiteseerGraphDataset, CoraGraphDataset, PubmedGraphDataset
  from dgl.nn import APPNPConv
  from scipy.linalg import fractional_matrix_power, inv
  from sklearn.preprocessing import MinMaxScaler
label_desc: Use image node_id 3 for calling a global function with example usage: compute_ppr(graph, alpha, _loop) and returns: unknown