Class InverseTransformContinuousSampler
- java.lang.Object
-
- org.apache.commons.rng.sampling.distribution.SamplerBase
-
- org.apache.commons.rng.sampling.distribution.InverseTransformContinuousSampler
-
- All Implemented Interfaces:
ContinuousSampler
public class InverseTransformContinuousSampler extends SamplerBase implements ContinuousSampler
Distribution sampler that uses the inversion method. It can be used to sample any distribution that provides access to its inverse cumulative probability function.Sampling uses
UniformRandomProvider.nextDouble().Example:
import org.apache.commons.math3.distribution.RealDistribution; import org.apache.commons.math3.distribution.ChiSquaredDistribution; import org.apache.commons.rng.simple.RandomSource; import org.apache.commons.rng.sampling.distribution.ContinuousSampler; import org.apache.commons.rng.sampling.distribution.InverseTransformContinuousSampler; import org.apache.commons.rng.sampling.distribution.ContinuousInverseCumulativeProbabilityFunction; // Distribution to sample. final RealDistribution dist = new ChiSquaredDistribution(9); // Create the sampler. final ContinuousSampler chiSquareSampler = new InverseTransformContinuousSampler(RandomSource.create(RandomSource.MT), new ContinuousInverseCumulativeProbabilityFunction() { public double inverseCumulativeProbability(double p) { return dist.inverseCumulativeProbability(p); } }); // Generate random deviate. double random = chiSquareSampler.sample();- Since:
- 1.0
-
-
Constructor Summary
Constructors Constructor Description InverseTransformContinuousSampler(UniformRandomProvider rng, ContinuousInverseCumulativeProbabilityFunction function)
-
Method Summary
-
Methods inherited from class org.apache.commons.rng.sampling.distribution.SamplerBase
nextDouble, nextInt, nextInt, nextLong
-
-
-
-
Constructor Detail
-
InverseTransformContinuousSampler
public InverseTransformContinuousSampler(UniformRandomProvider rng, ContinuousInverseCumulativeProbabilityFunction function)
- Parameters:
rng- Generator of uniformly distributed random numbers.function- Inverse cumulative probability function.
-
-
Method Detail
-
sample
public double sample()
Creates a sample.- Specified by:
samplein interfaceContinuousSampler- Returns:
- a sample.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classSamplerBase
-
-