docs: def base_communities(adjacency_matrix):
      """
      Forms the community indicator normalized feature matrix for any graph.
  
      Inputs:  - A in R^(nxn): Adjacency matrix of an undirected network represented as a SciPy Sparse COOrdinate matrix.
  
      Outputs: - X in R^(nxC_n): The latent space embedding represented as a SciPy Sparse COOrdinate matrix.
      """
      number_of_nodes = adjacency_matrix.shape[0]
  
      # X = A + I
      adjacency_matrix = adjacency_matrix.tocsr()
      adjacency_matrix = adjacency_matrix.transpose()
      features = sparse.csr_matrix(sparse.eye(number_of_nodes, number_of_nodes)) + adjacency_matrix.tocsr()
      features = features.tocsr()
      features.data = np.ones_like(features.data)
  
      return features