code: def multivariate_gaussian_samples(matrix, N, mean=None):
      
      if mean is None:
          mean = np.zeros(len(matrix))
      samples = np.random.multivariate_normal(mean, matrix, N)
      if N == 1:
          return samples[0]
      return samples
docs: Generate samples from a multidimensional Gaussian with a given covariance.
  
      :param matrix: ``(k, k)``
          The covariance matrix.
  
      :param N:
          The number of samples to generate.
  
      :param mean: ``(k,)`` (optional)
          The mean of the Gaussian. Assumed to be zero if not given.
  
      :returns samples: ``(k,)`` or ``(N, k)``
          Samples from the given multivariate normal.