code: def multivariate_ess(samples, batch_size_generator=None):
      r
      samples_generator = _get_sample_generator(samples)
      return np.array(multiprocess_mapping(_MultivariateESSMultiProcessing(batch_size_generator), samples_generator()))
docs: r"""Estimate the multivariate Effective Sample Size for the samples of every problem.
  
      This essentially applies :func:`estimate_multivariate_ess` to every problem.
  
      Args:
          samples (ndarray, dict or generator): either a matrix of shape (d, p, n) with d problems, p parameters and
              n samples, or a dictionary with for every parameter a matrix with shape (d, n) or, finally,
              a generator function that yields sample arrays of shape (p, n).
          batch_size_generator (MultiVariateESSBatchSizeGenerator): the batch size generator, tells us how many
              batches and of which size we use in estimating the minimum ESS.
  
      Returns:
          ndarray: the multivariate ESS per problem