Example usage for org.apache.commons.math3.random UniformRandomGenerator UniformRandomGenerator

List of usage examples for org.apache.commons.math3.random UniformRandomGenerator UniformRandomGenerator

Introduction

In this page you can find the example usage for org.apache.commons.math3.random UniformRandomGenerator UniformRandomGenerator.

Prototype

public UniformRandomGenerator(RandomGenerator generator) 

Source Link

Document

Create a new generator.

Usage

From source file:inputHandling.DataGenCorrCommons.java

@Override
public TupleList genData(int dimensions, int tupleCount) {
    logger.info("Generating uniform correlated Data with " + tupleCount + " Tuples in " + dimensions
            + " dimensions, Coeff.: -" + this.coeff);
    genMatrices(dimensions);//from   w  w  w  .j  a  v a  2  s  . co m
    RealMatrix covariance = MatrixUtils.createRealMatrix(cov);
    RandomGenerator rg = new JDKRandomGenerator(Math.round(seed));
    UniformRandomGenerator rawGenerator = new UniformRandomGenerator(rg);
    double small = 1.0e-12 * covariance.getNorm();
    CorrelatedRandomVectorGenerator generator = new CorrelatedRandomVectorGenerator(mean, covariance, small,
            rawGenerator);

    // Generate the Tuples
    TupleList tupleList = new TupleList(dimensions);
    for (int j = 0; j < tupleCount; j++) {
        double[] randomVector = generator.nextVector();
        Tuple tuple = new Tuple(randomVector);
        tupleList.add(tuple);
    }
    return tupleList;
}

From source file:inputHandling.DataGenAntiCorrCommons.java

@Override
public TupleList genData(int dimensions, int tupleCount) {
    logger.info("Generating uniform anti-correlated Data with " + tupleCount + " Tuples in " + dimensions
            + " dimensions, Coeff.: -" + this.coeff);
    genMatrices(dimensions);/*  w  ww. j a  v  a2s .c  o m*/
    RealMatrix covariance = MatrixUtils.createRealMatrix(cov);
    RandomGenerator rg = new JDKRandomGenerator(Math.round(seed));
    UniformRandomGenerator rawGenerator = new UniformRandomGenerator(rg);
    double small = 1.0e-12 * covariance.getNorm();
    CorrelatedRandomVectorGenerator generator = new CorrelatedRandomVectorGenerator(mean, covariance, small,
            rawGenerator);

    TupleList tupleList = new TupleList(dimensions);
    // Invert the Values, to receive Anti-Correlation
    for (int j = 0; j < tupleCount; j++) {
        double[] randomVector = generator.nextVector();
        for (int i = 0; i < dimensions; i++) {
            if (j % 2 == 0 && i % 2 == 0)
                randomVector[i] = 2 * mean[i] - randomVector[i];
            else if (j % 2 != 0 && i % 2 != 0)
                randomVector[i] = 2 * mean[i] - randomVector[i];
            else
                randomVector[i] = randomVector[i];
        }
        Tuple tuple = new Tuple(randomVector);
        tupleList.add(tuple);
    }
    return tupleList;
}

From source file:objenome.goal.numeric.OptimizeMultivariate.java

@Override
public synchronized void solve(Objenome o, List<SetNumericValue> variables) {

    this.variables = variables;
    objenome = o;// w  w w . ja v  a2 s.  c om

    if (numStarts == -1)
        numStarts = variables.size() * 2;

    double[] lower = new double[variables.size()];
    double[] upper = new double[variables.size()];
    double[] mid = new double[variables.size()];
    int j = 0;
    for (SetNumericValue n : variables) {
        lower[j] = n.getMin().doubleValue();
        upper[j] = n.getMax().doubleValue();
        mid[j] = (lower[j] + upper[j]) * 0.5f;
        j++;
    }

    //TODO add MultiStart

    MultivariateOptimizer optimize = new BOBYQAOptimizer(variables.size() * 2);
    //new PowellOptimizer(0.01, 0.05);

    RandomGenerator rng = getRandomGenerator();

    MultiStartMultivariateOptimizer multiOptimize = new MultiStartMultivariateOptimizer(optimize, numStarts,
            new UncorrelatedRandomVectorGenerator(variables.size(), new UniformRandomGenerator(rng)));

    PointValuePair result = multiOptimize.optimize(new MaxEval(evaluations), new SimpleBounds(lower, upper),
            goal, new InitialGuess(mid), new ObjectiveFunction(this));

    apply(result.getPointRef());

    bestValue = result.getValue();
}

From source file:org.briljantframework.benchmark.DataFrameSortPerformance.java

@Setup(Level.Iteration)
public void setupDataFrame() {
    DataFrame.Builder builder = new MixedDataFrame.Builder();
    UniformRandomGenerator gen = new UniformRandomGenerator(new Well1024a());
    for (int i = 0; i < 1000_000; i++) {
        builder.setRecord(String.valueOf(i), Vector.of(gen.nextNormalizedDouble(), i, 20.0, 30.0));
    }/*from  w ww .ja  v  a 2 s  .co  m*/
    builder.setColumnIndex("First", "Second", "Third", "Fourth");
    dataFrame = builder.build();
}

From source file:org.briljantframework.benchmark.VectorSortPerformance.java

@Setup(Level.Iteration)
public void setupDataFrame() {
    Vector.Builder builder = Vector.Builder.of(Double.class);
    UniformRandomGenerator gen = new UniformRandomGenerator(new Well1024a());
    for (int i = 0; i < 1000_000; i++) {
        builder.add(gen.nextNormalizedDouble());
    }//from w ww .j av a2 s  .com
    vector = builder.build();
}