# Uses of Interface
org.apache.commons.math3.random.RandomGenerator

Packages that use RandomGenerator
Package
Description
org.apache.commons.math3.distribution
Implementations of common discrete and continuous distributions.
org.apache.commons.math3.genetics
This package provides Genetic Algorithms components and implementations.
org.apache.commons.math3.ml.clustering
Clustering algorithms.
org.apache.commons.math3.ml.neuralnet
Neural networks.
org.apache.commons.math3.optim.nonlinear.scalar.noderiv
This package provides optimization algorithms that do not require derivatives.
org.apache.commons.math3.optim.univariate
One-dimensional optimization algorithms.
org.apache.commons.math3.optimization.direct
This package provides optimization algorithms that don't require derivatives.
org.apache.commons.math3.optimization.univariate
Univariate real functions minimum finding algorithms.
org.apache.commons.math3.random
Random number and random data generators.
org.apache.commons.math3.stat.inference
Classes providing hypothesis testing.
org.apache.commons.math3.stat.ranking
Classes providing rank transformations.
org.apache.commons.math3.util
Convenience routines and common data structures used throughout the commons-math library.

## Uses of RandomGenerator in org.apache.commons.math3.distribution

Fields in org.apache.commons.math3.distribution declared as RandomGenerator
Modifier and Type
Field
Description
`protected final RandomGenerator`
AbstractIntegerDistribution.`random`
RNG instance used to generate samples from the distribution.
`protected final RandomGenerator`
AbstractMultivariateRealDistribution.`random`
RNG instance used to generate samples from the distribution.
`protected final RandomGenerator`
AbstractRealDistribution.`random`
RNG instance used to generate samples from the distribution.
`protected final RandomGenerator`
EnumeratedDistribution.`random`
RNG instance used to generate samples from the distribution.
Constructors in org.apache.commons.math3.distribution with parameters of type RandomGenerator
Modifier
Constructor
Description
`protected`
`AbstractIntegerDistribution(RandomGenerator rng)`
`protected`
`AbstractMultivariateRealDistribution(RandomGenerator rng, int n)`
`protected`
`AbstractRealDistribution(RandomGenerator rng)`
``
`BetaDistribution(RandomGenerator rng, double alpha, double beta)`
Creates a β distribution.
``
`BetaDistribution(RandomGenerator rng, double alpha, double beta, double inverseCumAccuracy)`
Creates a β distribution.
``
`BinomialDistribution(RandomGenerator rng, int trials, double p)`
Creates a binomial distribution.
``
`CauchyDistribution(RandomGenerator rng, double median, double scale)`
Creates a Cauchy distribution.
``
`CauchyDistribution(RandomGenerator rng, double median, double scale, double inverseCumAccuracy)`
Creates a Cauchy distribution.
``
`ChiSquaredDistribution(RandomGenerator rng, double degreesOfFreedom)`
Create a Chi-Squared distribution with the given degrees of freedom.
``
`ChiSquaredDistribution(RandomGenerator rng, double degreesOfFreedom, double inverseCumAccuracy)`
Create a Chi-Squared distribution with the given degrees of freedom and inverse cumulative probability accuracy.
``
`EnumeratedDistribution(RandomGenerator rng, List<Pair<T,Double>> pmf)`
Create an enumerated distribution using the given random number generator and probability mass function enumeration.
``
`EnumeratedIntegerDistribution(RandomGenerator rng, int[] data)`
Create a discrete integer-valued distribution from the input data.
``
`EnumeratedIntegerDistribution(RandomGenerator rng, int[] singletons, double[] probabilities)`
Create a discrete distribution using the given random number generator and probability mass function definition.
``
`EnumeratedRealDistribution(RandomGenerator rng, double[] data)`
Create a discrete real-valued distribution from the input data.
``
`EnumeratedRealDistribution(RandomGenerator rng, double[] singletons, double[] probabilities)`
Create a discrete real-valued distribution using the given random number generator and probability mass function enumeration.
``
`ExponentialDistribution(RandomGenerator rng, double mean)`
Creates an exponential distribution.
``
`ExponentialDistribution(RandomGenerator rng, double mean, double inverseCumAccuracy)`
Creates an exponential distribution.
``
`FDistribution(RandomGenerator rng, double numeratorDegreesOfFreedom, double denominatorDegreesOfFreedom)`
Creates an F distribution.
``
`FDistribution(RandomGenerator rng, double numeratorDegreesOfFreedom, double denominatorDegreesOfFreedom, double inverseCumAccuracy)`
Creates an F distribution.
``
`GammaDistribution(RandomGenerator rng, double shape, double scale)`
Creates a Gamma distribution.
``
`GammaDistribution(RandomGenerator rng, double shape, double scale, double inverseCumAccuracy)`
Creates a Gamma distribution.
``
`GeometricDistribution(RandomGenerator rng, double p)`
Creates a geometric distribution.
``
`GumbelDistribution(RandomGenerator rng, double mu, double beta)`
Build a new instance.
``
`HypergeometricDistribution(RandomGenerator rng, int populationSize, int numberOfSuccesses, int sampleSize)`
Creates a new hypergeometric distribution.
``
`LaplaceDistribution(RandomGenerator rng, double mu, double beta)`
Build a new instance.
``
`LevyDistribution(RandomGenerator rng, double mu, double c)`
Creates a LevyDistribution.
``
`LogisticDistribution(RandomGenerator rng, double mu, double s)`
Build a new instance.
``
`LogNormalDistribution(RandomGenerator rng, double scale, double shape)`
Creates a log-normal distribution.
``
`LogNormalDistribution(RandomGenerator rng, double scale, double shape, double inverseCumAccuracy)`
Creates a log-normal distribution.
``
`MixtureMultivariateNormalDistribution(RandomGenerator rng, List<Pair<Double,MultivariateNormalDistribution>> components)`
Creates a mixture model from a list of distributions and their associated weights.
``
`MixtureMultivariateRealDistribution(RandomGenerator rng, List<Pair<Double,T>> components)`
Creates a mixture model from a list of distributions and their associated weights.
``
`MultivariateNormalDistribution(RandomGenerator rng, double[] means, double[][] covariances)`
Creates a multivariate normal distribution with the given mean vector and covariance matrix.
``
`NakagamiDistribution(RandomGenerator rng, double mu, double omega, double inverseAbsoluteAccuracy)`
Build a new instance.
``
`NormalDistribution(RandomGenerator rng, double mean, double sd)`
Creates a normal distribution.
``
`NormalDistribution(RandomGenerator rng, double mean, double sd, double inverseCumAccuracy)`
Creates a normal distribution.
``
`ParetoDistribution(RandomGenerator rng, double scale, double shape)`
Creates a Pareto distribution.
``
`ParetoDistribution(RandomGenerator rng, double scale, double shape, double inverseCumAccuracy)`
Creates a Pareto distribution.
``
`PascalDistribution(RandomGenerator rng, int r, double p)`
Create a Pascal distribution with the given number of successes and probability of success.
``
`PoissonDistribution(RandomGenerator rng, double p, double epsilon, int maxIterations)`
Creates a new Poisson distribution with specified mean, convergence criterion and maximum number of iterations.
``
`TDistribution(RandomGenerator rng, double degreesOfFreedom)`
Creates a t distribution.
``
`TDistribution(RandomGenerator rng, double degreesOfFreedom, double inverseCumAccuracy)`
Creates a t distribution.
``
`TriangularDistribution(RandomGenerator rng, double a, double c, double b)`
Creates a triangular distribution.
``
`UniformIntegerDistribution(RandomGenerator rng, int lower, int upper)`
Creates a new uniform integer distribution using the given lower and upper bounds (both inclusive).
``
`UniformRealDistribution(RandomGenerator rng, double lower, double upper)`
Creates a uniform distribution.
``
`UniformRealDistribution(RandomGenerator rng, double lower, double upper, double inverseCumAccuracy)`
Deprecated.
as of 3.2, inverse CDF is now calculated analytically, use `UniformRealDistribution(RandomGenerator, double, double)` instead.
``
`WeibullDistribution(RandomGenerator rng, double alpha, double beta)`
Creates a Weibull distribution.
``
`WeibullDistribution(RandomGenerator rng, double alpha, double beta, double inverseCumAccuracy)`
Creates a Weibull distribution.
``
`ZipfDistribution(RandomGenerator rng, int numberOfElements, double exponent)`
Creates a Zipf distribution.

## Uses of RandomGenerator in org.apache.commons.math3.genetics

Methods in org.apache.commons.math3.genetics that return RandomGenerator
Modifier and Type
Method
Description
`static RandomGenerator`
GeneticAlgorithm.`getRandomGenerator()`
Returns the (static) random generator.
Methods in org.apache.commons.math3.genetics with parameters of type RandomGenerator
Modifier and Type
Method
Description
`static void`
GeneticAlgorithm.`setRandomGenerator(RandomGenerator random)`
Set the (static) random generator.

## Uses of RandomGenerator in org.apache.commons.math3.ml.clustering

Methods in org.apache.commons.math3.ml.clustering that return RandomGenerator
Modifier and Type
Method
Description
`RandomGenerator`
FuzzyKMeansClusterer.`getRandomGenerator()`
Returns the random generator this instance will use.
`RandomGenerator`
KMeansPlusPlusClusterer.`getRandomGenerator()`
Returns the random generator this instance will use.
Constructors in org.apache.commons.math3.ml.clustering with parameters of type RandomGenerator
Modifier
Constructor
Description
``
`FuzzyKMeansClusterer(int k, double fuzziness, int maxIterations, DistanceMeasure measure, double epsilon, RandomGenerator random)`
Creates a new instance of a FuzzyKMeansClusterer.
``
`KMeansPlusPlusClusterer(int k, int maxIterations, DistanceMeasure measure, RandomGenerator random)`
Build a clusterer.
``
`KMeansPlusPlusClusterer(int k, int maxIterations, DistanceMeasure measure, RandomGenerator random, KMeansPlusPlusClusterer.EmptyClusterStrategy emptyStrategy)`
Build a clusterer.

## Uses of RandomGenerator in org.apache.commons.math3.ml.neuralnet

Methods in org.apache.commons.math3.ml.neuralnet with parameters of type RandomGenerator
Modifier and Type
Method
Description
`static FeatureInitializer`
FeatureInitializerFactory.`uniform(RandomGenerator rng, double min, double max)`
Uniform sampling of the given range.

## Uses of RandomGenerator in org.apache.commons.math3.optim.nonlinear.scalar.noderiv

Constructors in org.apache.commons.math3.optim.nonlinear.scalar.noderiv with parameters of type RandomGenerator
Modifier
Constructor
Description
``
`CMAESOptimizer(int maxIterations, double stopFitness, boolean isActiveCMA, int diagonalOnly, int checkFeasableCount, RandomGenerator random, boolean generateStatistics, ConvergenceChecker<PointValuePair> checker)`

## Uses of RandomGenerator in org.apache.commons.math3.optim.univariate

Constructors in org.apache.commons.math3.optim.univariate with parameters of type RandomGenerator
Modifier
Constructor
Description
``
`MultiStartUnivariateOptimizer(UnivariateOptimizer optimizer, int starts, RandomGenerator generator)`
Create a multi-start optimizer from a single-start optimizer.

## Uses of RandomGenerator in org.apache.commons.math3.optimization.direct

Fields in org.apache.commons.math3.optimization.direct declared as RandomGenerator
Modifier and Type
Field
Description
`static final RandomGenerator`
CMAESOptimizer.`DEFAULT_RANDOMGENERATOR`
Deprecated.
Default value for `CMAESOptimizer.random`.
Constructors in org.apache.commons.math3.optimization.direct with parameters of type RandomGenerator
Modifier
Constructor
Description
``
`CMAESOptimizer(int lambda, double[] inputSigma, int maxIterations, double stopFitness, boolean isActiveCMA, int diagonalOnly, int checkFeasableCount, RandomGenerator random, boolean generateStatistics)`
Deprecated.
See `SimpleValueChecker()`
``
`CMAESOptimizer(int lambda, double[] inputSigma, int maxIterations, double stopFitness, boolean isActiveCMA, int diagonalOnly, int checkFeasableCount, RandomGenerator random, boolean generateStatistics, ConvergenceChecker<PointValuePair> checker)`
Deprecated.
As of version 3.1: Parameters `lambda` and `inputSigma` must be passed with the call to `optimize`.
``
`CMAESOptimizer(int maxIterations, double stopFitness, boolean isActiveCMA, int diagonalOnly, int checkFeasableCount, RandomGenerator random, boolean generateStatistics, ConvergenceChecker<PointValuePair> checker)`
Deprecated.

## Uses of RandomGenerator in org.apache.commons.math3.optimization.univariate

Constructors in org.apache.commons.math3.optimization.univariate with parameters of type RandomGenerator
Modifier
Constructor
Description
``
`UnivariateMultiStartOptimizer(BaseUnivariateOptimizer<FUNC> optimizer, int starts, RandomGenerator generator)`
Deprecated.
Create a multi-start optimizer from a single-start optimizer.

## Uses of RandomGenerator in org.apache.commons.math3.random

Classes in org.apache.commons.math3.random that implement RandomGenerator
Modifier and Type
Class
Description
`class`
`AbstractRandomGenerator`
Abstract class implementing the `RandomGenerator` interface.
`class`
`AbstractWell`
This abstract class implements the WELL class of pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
`class`
`BitsStreamGenerator`
Base class for random number generators that generates bits streams.
`class`
`ISAACRandom`
ISAAC: a fast cryptographic pseudo-random number generator
ISAAC (Indirection, Shift, Accumulate, Add, and Count) generates 32-bit random numbers.
`class`
`JDKRandomGenerator`
Extension of `java.util.Random` to implement `RandomGenerator`.
`class`
`MersenneTwister`
This class implements a powerful pseudo-random number generator developed by Makoto Matsumoto and Takuji Nishimura during 1996-1997.
`class`
`RandomAdaptor`
Extension of `java.util.Random` wrapping a `RandomGenerator`.
`class`
`SynchronizedRandomGenerator`
Any `RandomGenerator` implementation can be thread-safe if it is used through an instance of this class.
`class`
`Well1024a`
This class implements the WELL1024a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
`class`
`Well19937a`
This class implements the WELL19937a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
`class`
`Well19937c`
This class implements the WELL19937c pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
`class`
`Well44497a`
This class implements the WELL44497a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
`class`
`Well44497b`
This class implements the WELL44497b pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
`class`
`Well512a`
This class implements the WELL512a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
Methods in org.apache.commons.math3.random that return RandomGenerator
Modifier and Type
Method
Description
`static RandomGenerator`
RandomGeneratorFactory.`createRandomGenerator(Random rng)`
Creates a `RandomDataGenerator` instance that wraps a `Random` instance.
`RandomGenerator`
RandomDataGenerator.`getRandomGenerator()`
Returns the RandomGenerator used to generate non-secure random data.
Methods in org.apache.commons.math3.random with parameters of type RandomGenerator
Modifier and Type
Method
Description
`static Random`
RandomAdaptor.`createAdaptor(RandomGenerator randomGenerator)`
Factory method to create a `Random` using the supplied `RandomGenerator`.
Constructors in org.apache.commons.math3.random with parameters of type RandomGenerator
Modifier
Constructor
Description
``
`EmpiricalDistribution(int binCount, RandomGenerator generator)`
Creates a new EmpiricalDistribution with the specified bin count using the provided `RandomGenerator` as the source of random data.
``
`EmpiricalDistribution(RandomGenerator generator)`
Creates a new EmpiricalDistribution with default bin count using the provided `RandomGenerator` as the source of random data.
``
`GaussianRandomGenerator(RandomGenerator generator)`
Create a new generator.
``
`RandomAdaptor(RandomGenerator randomGenerator)`
Construct a RandomAdaptor wrapping the supplied RandomGenerator.
``
`RandomDataGenerator(RandomGenerator rand)`
Construct a RandomDataGenerator using the supplied `RandomGenerator` as the source of (non-secure) random data.
``
`RandomDataImpl(RandomGenerator rand)`
Deprecated.
Construct a RandomDataImpl using the supplied `RandomGenerator` as the source of (non-secure) random data.
``
`StableRandomGenerator(RandomGenerator generator, double alpha, double beta)`
Create a new generator.
``
`SynchronizedRandomGenerator(RandomGenerator rng)`
Creates a synchronized wrapper for the given `RandomGenerator` instance.
``
`UniformRandomGenerator(RandomGenerator generator)`
Create a new generator.
``
`UnitSphereRandomVectorGenerator(int dimension, RandomGenerator rand)`
``
`ValueServer(RandomGenerator generator)`
Construct a ValueServer instance using a RandomGenerator as its source of random data.

## Uses of RandomGenerator in org.apache.commons.math3.stat.inference

Constructors in org.apache.commons.math3.stat.inference with parameters of type RandomGenerator
Modifier
Constructor
Description
``
`KolmogorovSmirnovTest(RandomGenerator rng)`
Deprecated.

## Uses of RandomGenerator in org.apache.commons.math3.stat.ranking

Constructors in org.apache.commons.math3.stat.ranking with parameters of type RandomGenerator
Modifier
Constructor
Description
``
`NaturalRanking(RandomGenerator randomGenerator)`
Create a NaturalRanking with TiesStrategy.RANDOM and the given RandomGenerator as the source of random data.
``
`NaturalRanking(NaNStrategy nanStrategy, RandomGenerator randomGenerator)`
Create a NaturalRanking with the given NaNStrategy, TiesStrategy.RANDOM and the given source of random data.

## Uses of RandomGenerator in org.apache.commons.math3.util

Methods in org.apache.commons.math3.util with parameters of type RandomGenerator
Modifier and Type
Method
Description
`static void`
MathArrays.`shuffle(int[] list, int start, MathArrays.Position pos, RandomGenerator rng)`
Shuffle the entries of the given array, using the Fisher–Yates algorithm.
`static void`
MathArrays.`shuffle(int[] list, RandomGenerator rng)`
Shuffle the entries of the given array.
Constructors in org.apache.commons.math3.util with parameters of type RandomGenerator
Modifier
Constructor
Description
``
`RandomPivotingStrategy(RandomGenerator random)`
Simple constructor.