<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def univariate_ess(samples, method='standard_error', **kwargs):
 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. """

    samples_generator = _get_sample_generator(samples)
    return np.array(multiprocess_mapping(_UnivariateESSMultiProcessing(method, **kwargs), samples_generator()))