code: def univariate_ess(samples, method='standard_error', **kwargs):
      r
      samples_generator = _get_sample_generator(samples)
      return np.array(multiprocess_mapping(_UnivariateESSMultiProcessing(method, **kwargs), samples_generator()))
docs: r"""Estimate the univariate Effective Sample Size for the samples of every problem.
  
      This computes the ESS using:
  
          .. math::
  
              ESS(X) = n * \frac{\lambda^{2}}{\sigma^{2}}
  
          Where :math:`\lambda` is the standard deviation of the chain and :math:`\sigma` is estimated using the
          monte carlo standard error (which in turn is, by default, estimated using a batch means estimator).
  
      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).
          method (str): one of 'autocorrelation' or 'standard_error' defaults to 'standard_error'.
              If 'autocorrelation' is chosen we apply the function: :func:`estimate_univariate_ess_autocorrelation`,
              if 'standard_error` is choosen we apply the function: :func:`estimate_univariate_ess_standard_error`.
          **kwargs: passed to the chosen compute method
  
      Returns:
          ndarray: a matrix of size (d, p) with for every problem and every parameter an ESS.
  
      References:
          * Flegal, J.M., Haran, M., and Jones, G.L. (2008). "Markov chain Monte Carlo: Can We
            Trust the Third Significant Figure?". Statistical Science, 23, p. 250-260.
          * Marc S. Meketon and Bruce Schmeiser. 1984. Overlapping batch means: something for nothing?.
            In Proceedings of the 16th conference on Winter simulation (WSC '84), Sallie Sheppard (Ed.).
            IEEE Press, Piscataway, NJ, USA, 226-230.