def get_normal_draws(num_mixers,
                     num_draws,
                     num_vars,
                     seed=None):
    """
    Parameters
    ----------
    num_mixers : int.
        Should be greater than zero. Denotes the number of observations for
        which we are making draws from a normal distribution for. I.e. the
        number of observations with randomly distributed coefficients.
    num_draws : int.
        Should be greater than zero. Denotes the number of draws that are to be
        made from each normal distribution.
    num_vars : int.
        Should be greater than zero. Denotes the number of variables for which
        we need to take draws from the normal distribution.
    seed : int or None, optional.
        If an int is passed, it should be greater than zero. Denotes the value
        to be used in seeding the random generator used to generate the draws
        from the normal distribution. Default == None.

    Returns
    -------
    all_draws : list of 2D ndarrays.
        The list will have num_vars elements. Each element will be a num_obs by
        num_draws numpy array of draws from a normal distribution with mean
        zero and standard deviation of one.
    """
    # Check the validity of the input arguments
    assert all([isinstance(x, int) for x in [num_mixers, num_draws, num_vars]])
    assert all([x > 0 for x in [num_mixers, num_draws, num_vars]])
    if seed is not None:
        assert isinstance(seed, int) and seed > 0

    normal_dist = scipy.stats.norm(loc=0.0, scale=1.0)
    all_draws = []
    if seed:
        np.random.seed(seed)
    for i in xrange(num_vars):
        all_draws.append(normal_dist.rvs(size=(num_mixers, num_draws)))
    return all_draws
Parameters
    ----------
    num_mixers : int.
        Should be greater than zero. Denotes the number of observations for
        which we are making draws from a normal distribution for. I.e. the
        number of observations with randomly distributed coefficients.
    num_draws : int.
        Should be greater than zero. Denotes the number of draws that are to be
        made from each normal distribution.
    num_vars : int.
        Should be greater than zero. Denotes the number of variables for which
        we need to take draws from the normal distribution.
    seed : int or None, optional.
        If an int is passed, it should be greater than zero. Denotes the value
        to be used in seeding the random generator used to generate the draws
        from the normal distribution. Default == None.

    Returns
    -------
    all_draws : list of 2D ndarrays.
        The list will have num_vars elements. Each element will be a num_obs by
        num_draws numpy array of draws from a normal distribution with mean
        zero and standard deviation of one.