# 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
Ads help maintain this website.