# S-plus macro ( creatdata(sigma, n) ) to generate n observations from Np(0, sigma) 
 (p-variable normal distribution with covariance matrix "sigma") #

creatdata_function(sigma, n)
{
	if(min(eigen(sigma)$value) <= 0)
		print("Not positive definite!")
	if(min(eigen(sigma)$value) > 0) 
    {
		matrixz <- matrix(nrow = n, ncol = dim(sigma)[2])
		for(i in 1:dim(sigma)[2])  {matrixz[, i] <- rnorm(n)}
		x <- matrixz %*% chol(sigma)
		x
	}
}