Class BoxSampler
java.lang.Object
org.apache.commons.rng.sampling.shape.BoxSampler
- All Implemented Interfaces:
ObjectSampler<double[]>, SharedStateObjectSampler<double[]>, SharedStateSampler<SharedStateObjectSampler<double[]>>
Generate points uniformly distributed within a n-dimension box (hyperrectangle).
Sampling uses:
- Since:
- 1.4
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic BoxSamplerof(UniformRandomProvider rng, double[] a, double[] b) Create a box sampler with boundsaandb.abstract double[]sample()Create an object sample.abstract BoxSamplerCreate a new instance of the sampler with the same underlying state using the given uniform random provider as the source of randomness.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ObjectSampler
samples, samples
-
Method Details
-
sample
Description copied from interface:ObjectSamplerCreate an object sample.- Specified by:
samplein interfaceObjectSampler<double[]>- Returns:
- a random Cartesian coordinate within the box.
-
withUniformRandomProvider
Create a new instance of the sampler with the same underlying state using the given uniform random provider as the source of randomness.- Specified by:
withUniformRandomProviderin interfaceSharedStateSampler<SharedStateObjectSampler<double[]>>- Parameters:
rng- Generator of uniformly distributed random numbers.- Returns:
- the sampler
-
of
Create a box sampler with boundsaandb. Sampled points are uniformly distributed within the box defined by the bounds.Sampling is supported in dimensions of 2 or above. Single dimension sampling can be performed using a
LineSampler.Note: There is no requirement that
a <= b. The samples will be uniformly distributed in the rangeatobfor each dimension.- Parameters:
rng- Source of randomness.a- Bound a.b- Bound b.- Returns:
- the sampler
- Throws:
IllegalArgumentException- If the bounds do not have the same dimension; the dimension is less than 2; or bounds have non-finite coordinates.
-