/** Generate an uncorrelated random vector. * @return a random vector as a newly built array of double */ public double[] nextVector() { double[] random = new double[mean.length]; for (int i = 0; i < random.length; ++i) { random[i] = mean[i] + standardDeviation[i] * generator.nextNormalizedDouble(); } return random; }
/** Generate a correlated random vector. * @return a random vector as an array of double. The returned array * is created at each call, the caller can do what it wants with it. */ public double[] nextVector() { // generate uncorrelated vector for (int i = 0; i < normalized.length; ++i) { normalized[i] = generator.nextNormalizedDouble(); } // compute correlated vector double[] correlated = new double[mean.length]; for (int i = 0; i < correlated.length; ++i) { correlated[i] = mean[i]; for (int j = 0; j < root.getColumnDimension(); ++j) { correlated[i] += root.getEntry(i, j) * normalized[j]; } } return correlated; }
/** Generate an uncorrelated random vector. * @return a random vector as a newly built array of double */ public double[] nextVector() { double[] random = new double[mean.length]; for (int i = 0; i < random.length; ++i) { random[i] = mean[i] + standardDeviation[i] * generator.nextNormalizedDouble(); } return random; }
/** Generate an uncorrelated random vector. * @return a random vector as a newly built array of double */ public double[] nextVector() { double[] random = new double[mean.length]; for (int i = 0; i < random.length; ++i) { random[i] = mean[i] + standardDeviation[i] * generator.nextNormalizedDouble(); } return random; }
/** Generate a correlated random vector. * @return a random vector as an array of double. The returned array * is created at each call, the caller can do what it wants with it. */ public double[] nextVector() { // generate uncorrelated vector for (int i = 0; i < normalized.length; ++i) { normalized[i] = generator.nextNormalizedDouble(); } // compute correlated vector double[] correlated = new double[mean.length]; for (int i = 0; i < correlated.length; ++i) { correlated[i] = mean[i]; for (int j = 0; j < root.getColumnDimension(); ++j) { correlated[i] += root.getEntry(i, j) * normalized[j]; } } return correlated; }
/** Generate a correlated random vector. * @return a random vector as an array of double. The returned array * is created at each call, the caller can do what it wants with it. */ public double[] nextVector() { // generate uncorrelated vector for (int i = 0; i < normalized.length; ++i) { normalized[i] = generator.nextNormalizedDouble(); } // compute correlated vector double[] correlated = new double[mean.length]; for (int i = 0; i < correlated.length; ++i) { correlated[i] = mean[i]; for (int j = 0; j < root.getColumnDimension(); ++j) { correlated[i] += root.getEntry(i, j) * normalized[j]; } } return correlated; }