code: def largest_connected_submatrix(C, directed=True, lcc=None):
      r
      if lcc is None:
          lcc = largest_connected_set(C, directed=directed)
  
      """Row slicing"""
      if scipy.sparse.issparse(C):
          C_cc = C.tocsr()
      else:
          C_cc = C
      C_cc = C_cc[lcc, :]
  
      """Column slicing"""
      if scipy.sparse.issparse(C):
          C_cc = C_cc.tocsc()
      C_cc = C_cc[:, lcc]
  
      if scipy.sparse.issparse(C):
          return C_cc.tocoo()
      else:
          return C_cc
docs: r"""Compute the count matrix of the largest connected set.
  
      The input count matrix is used as a weight matrix for the
      construction of a directed graph. The largest connected set of the
      constructed graph is computed. Vertices belonging to the largest
      connected component are used to generate a completely connected
      subgraph. The weight matrix of the subgraph is the desired
      completely connected count matrix.
  
      Parameters
      ----------
      C : scipy.sparse matrix or numpy ndarray
          Count matrix specifying edge weights
      directed : bool, optional
         Whether to compute connected components for a directed or
         undirected graph. Default is True
      lcc : (M,) ndarray, optional
         The largest connected set
  
      Returns
      -------
      C_cc : scipy.sparse matrix
          Count matrix of largest completely
          connected set of vertices (states)