class_docstr: An implementation of `"NMF-ADMM" <http://statweb.stanford.edu/~dlsun/papers/nmf_admm.pdf>`_
  from the ICASSP '14 paper "Alternating Direction Method of Multipliers for
  Non-Negative Matrix Factorization with the Beta-Divergence". The procedure
  learns an embedding of the normalized adjacency matrix with by using the alternating
  direction method of multipliers to solve a non negative matrix factorization problem.
  
  Args:
      dimensions (int): Number of individual embedding dimensions. Default is 32.
      iterations (int): Number of ADMM iterations. Default is 100.
      rho (float): ADMM Tuning parameter. Default is 1.0.
      seed (int): Random seed value. Default is 42.
class_docstr_tok: ["An","implementation","of","`","``","NMF-ADMM","''","<","http",":","\/\/statweb.stanford.edu\/~dlsun\/papers\/nmf_admm.pdf",">","`","_","from","the","ICASSP","'14","paper","``","Alternating","Direction","Method","of","Multipliers","for","Non-Negative","Matrix","Factorization","with","the","Beta-Divergence","''",".","The","procedure","learns","an","embedding","of","the","normalized","adjacency","matrix","with","by","using","the","alternating","direction","method","of","multipliers","to","solve","a","non","negative","matrix","factorization","problem",".","Args",":","dimensions","(","int",")",":","Number","of","individual","embedding","dimensions",".","Default","is","32.","iterations","(","int",")",":","Number","of","ADMM","iterations",".","Default","is","100.","rho","(","float",")",":","ADMM","Tuning","parameter",".","Default","is","1.0.","seed","(","int",")",":","Random","seed","value",".","Default","is","42","."]
docstr: Creating a sparse inverse degree matrix.
  
  Arg types:
      * **graph** *(NetworkX graph)* - The graph to be embedded.
  
  Return types:
      * **D_inverse** *(Scipy array)* - Diagonal inverse degree matrix.
docstr_tok: ["Creating","a","sparse","inverse","degree","matrix",".","Arg","types",":","*","*","*","graph","*","*","*","(","NetworkX","graph",")","*","-","The","graph","to","be","embedded",".","Return","types",":","*","*","*","D_inverse","*","*","*","(","Scipy","array",")","*","-","Diagonal","inverse","degree","matrix","."]
code: def _create_D_inverse(self, graph):
      """
      Creating a sparse inverse degree matrix.
  
      Arg types:
          * **graph** *(NetworkX graph)* - The graph to be embedded.
  
      Return types:
          * **D_inverse** *(Scipy array)* - Diagonal inverse degree matrix.
      """
      index = np.arange(graph.number_of_nodes())
      values = np.array(
          [
              1.0 / graph.degree[node]
              for node in range(graph.number_of_nodes())
          ]
      )
      shape = (graph.number_of_nodes(), graph.number_of_nodes())
      D_inverse = sp.sparse.coo_matrix(
          (values, (index, index)), shape=shape
      )
      return D_inverse
  
imports: import numpy
  import scipy
  import networkx
  from karateclub.estimator import Estimator
label_desc: Use image node_id 11 for calling the NMFADMM obj's underlying member method code with example usage: obj._create_D_inverse(graph) and returns: D_inverse