*SEPATH* generates
Monte Carlo data using pseudo-random number generation techniques. All
random number procedures begin with generation of uniform random variates.
The uniform random numbers are produced by a standard linear congruential
generator. The generator creates the *i*th random integer via the
formula

xi =

The integer can be transformed to a floating point number between zero and 1 by dividing by 231.

Uniform numbers are converted to simulated
normal random numbers using Marsaglia's (1962) polar method. Independent
normal random numbers are converted to multivariate normal numbers having
a desired covariance structure by multiplying the *p*-variate vector
by a Cholesky factor of the desired covariance matrix **S**.

Multivariate normal random variates are transformed into variates with desired (marginal) skewness and kurtosis using the technique of Vale and Maurelli (1983).