<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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)