code: def PPNP_Aadj_feats_op(features, A, teleport_probability=0.1):
      """
      This function calculates the personalized page rank matrix of Eq 2 in [1].
      Args:
          features: node features in the graph
          A: adjacency matrix
          teleport_probability (float): teleport probability between 0.0 and 1.0. "probability" of returning to the starting node in the
          propagation step as in [1].
  
      [1] `Klicpera et al., 2018 <https://arxiv.org/abs/1810.05997>`_.
      """
  
      if (teleport_probability > 1.0) or (teleport_probability < 0.0):
          raise ValueError(
              "teleport_probability should be between 0.0 and 1.0 (inclusive)"
          )
  
      A = A + A.T.multiply(A.T > A) - A.multiply(A.T > A)
      A = A + sp.diags(np.ones(A.shape[0]) - A.diagonal())
      A = normalize_adj(A, symmetric=True)
      A = A.toarray()
      A = teleport_probability * np.linalg.inv(
          np.eye(A.shape[0]) - ((1 - teleport_probability) * A)
      )
      return features, A
  
file_path: stellargraph/stellargraph/core/utils.py
imports: import collections
  import scipy.sparse
  from scipy.sparse.linalg import ArpackNoConvergence, eigsh
  import numpy
label_desc: Use image node_id 9 for calling a global function with example usage: PPNP_Aadj_feats_op(features, A, teleport_probability) and returns: features,  A