# Generate 10 vectors using two normal (multivariate) distributions. 
# Correlations are defined by a covariance matrix.

from org.apache.commons.math3.random import JDKRandomGenerator,GaussianRandomGenerator,CorrelatedRandomVectorGenerator
from org.apache.commons.math3.linear import RealMatrix,MatrixUtils

mean = [1, 2] # Mean of 2 normal distributions 
matrix = MatrixUtils.createRealMatrix( [ [9, 3], [3, 16]] ) # covariant matrix  
rg =JDKRandomGenerator();
rg.setSeed(2l)  #  fixed seed (same results)
rawGen= GaussianRandomGenerator(rg)
gen = CorrelatedRandomVectorGenerator(mean, matrix, 1.0e-12 * matrix.getNorm(), rawGen)
for i in range(10):
  vec = gen.nextVector()
  print vec


