code: def __normalize_adj(cls, adj):
      row_sum = np.array(adj.sum(1))
      d_inv_sqrt = np.power(row_sum, -0.5).flatten()
      d_inv_sqrt[np.isinf(d_inv_sqrt)] = 0.0
      d_inv_sqrt = ssp.diags(d_inv_sqrt)
      return adj.dot(d_inv_sqrt).transpose().dot(d_inv_sqrt)
  
file_path: AutoGL/autogl/module/feature/_generators/_eigen.py
imports: import autogl
  import numpy
  from scipy.sparse import csr_matrix
  import scipy.sparse
  import scipy.sparse.linalg
  import networkx
  import torch
  from ._basic import BaseFeatureGenerator
  from .._feature_engineer_registry import FeatureEngineerUniversalRegistry
label_desc: Use image node_id 2 for calling the _Eigen obj's underlying member method code with example usage: obj.__normalize_adj(cls, adj) and returns: adj