docs: def mutual_information(
              self, M_c, X_L_list, X_D_list, Q, seed, n_samples=1000):
          """Estimate mutual information for each pair of columns on Q given
          the set of samples.
  
          :param Q: List of tuples where each tuple contains the two column
              indexes to compare
          :type Q: list of two-tuples of ints
          :param n_samples: the number of simple predictive samples to use
          :type n_samples: int
  
          :returns: list of list -- where each sublist is a set of MIs and
              Linfoots from each crosscat sample.
          """
          get_next_seed = make_get_next_seed(seed)
          return iu.mutual_information(
              M_c, X_L_list, X_D_list, Q, get_next_seed, n_samples)