There is a clear theory about generating correlated random numbers using Cholesky decomposition or PCA.

I suppose if we apply above methods to random numbers generated using Uniform random numbers generators like Sobol then the uniformity is gone.

Are there any well known methods to generate correlated random numbers from uniform random number generators and still uniformity stays in tact?

I believe generators need to take correlation matrix before generation itself rather apply correlations after generation


  • $\begingroup$ How is your correlation between uniform random variables defined? $\endgroup$
    – Gordon
    Apr 9, 2015 at 12:56

1 Answer 1


If you have a vector $X = (X_1,\ldots,X_n)$ of a multivariate normal distribution with covariance matrix $\Sigma$ and $F_i$ is the marginal cumulative distribution function of $X_i$ then $F_i(X_i)$ is uniformly distributed.

So what you can do:

  • generate uniforms (e.g. Sobol or Halton)
  • transform to uncorrelated Gaussians
  • transform these Gaussians to correlated Gaussians (using Cholesky e.g.)
  • Apply the marginal cdf to each correlated Gaussian to get correlated uniforms.

This approach is connected to the theory of copulas.

  • $\begingroup$ Thanks a lot for this. Let me try to put that into code and try. $\endgroup$ Apr 9, 2015 at 11:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.