class_docstr: Base class that returns the adjacency matrix for a network via
  the .create() method.
  
  Parameters
  -----------
  n_blocks : int (default=2)
      Number of blocks.  Returned matrix will be square with
      shape n_block_features * n_blocks.
  
  chain_blocks : bool (default=True)
      Apply random lattice structure to chain blocks together.
  
  seed : int
      Seed for np.random.RandomState seed. (default=1)
docstr: Build a new graph with block structure.
  
  Parameters
  -----------
  n_features : int
  
  alpha : float (0,1)
      The complexity / sparsity factor for each graph type.
  
  Returns
  -----------
  (n_features, n_features) matrices: covariance, precision, adjacency
docstr_tok: ["Build","a","new","graph","with","block","structure",".","Parameters","--","--","--","--","--","-","n_features",":","int","alpha",":","float","(","0,1",")","The","complexity","\/","sparsity","factor","for","each","graph","type",".","Returns","--","--","--","--","--","-","(","n_features",",","n_features",")","matrices",":","covariance",",","precision",",","adjacency"]
code: def create(self, n_features, alpha):
      """Build a new graph with block structure.
  
      Parameters
      -----------
      n_features : int
  
      alpha : float (0,1)
          The complexity / sparsity factor for each graph type.
  
      Returns
      -----------
      (n_features, n_features) matrices: covariance, precision, adjacency
      """
      n_block_features = int(np.floor(1.0 * n_features / self.n_blocks))
      if n_block_features * self.n_blocks != n_features:
          raise ValueError(
              (
                  "Error: n_features {} not divisible by n_blocks {}."
                  "Use n_features = n_blocks * int"
              ).format(n_features, self.n_blocks)
          )
          return
  
      block_adj = self.prototype_adjacency(n_block_features, alpha)
      adjacency = blocks(
          self.prng,
          block_adj,
          n_blocks=self.n_blocks,
          chain_blocks=self.chain_blocks,
      )
  
      precision = self.to_precision(adjacency)
      covariance = self.to_covariance(precision)
      return covariance, precision, adjacency
  
file_path: skggm/inverse_covariance/profiling/graphs.py
imports: import numpy
  import scipy
label_desc: Use image node_id 5 for calling the Graph obj's underlying member method code with example usage: obj.create(n_features, alpha) and returns: covariance,  precision,  adjacency