Class LogNormalSampler
java.lang.Object
org.apache.commons.rng.sampling.distribution.LogNormalSampler
- All Implemented Interfaces:
ContinuousSampler
,SharedStateContinuousSampler
,SharedStateSampler<SharedStateContinuousSampler>
Sampling from a log-normal distribution.
- Since:
- 1.1
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final NormalizedGaussianSampler
Gaussian sampling.private final double
Mean of the natural logarithm of the distribution values.private final double
Standard deviation of the natural logarithm of the distribution values. -
Constructor Summary
ConstructorsModifierConstructorDescriptionLogNormalSampler
(NormalizedGaussianSampler gaussian, double mu, double sigma) private
LogNormalSampler
(UniformRandomProvider rng, LogNormalSampler source) -
Method Summary
Modifier and TypeMethodDescriptionstatic SharedStateContinuousSampler
of
(NormalizedGaussianSampler gaussian, double mu, double sigma) Create a new log-normal distribution sampler.double
sample()
Creates adouble
sample.toString()
Create 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.commons.rng.sampling.distribution.ContinuousSampler
samples, samples
-
Field Details
-
mu
private final double muMean of the natural logarithm of the distribution values. -
sigma
private final double sigmaStandard deviation of the natural logarithm of the distribution values. -
gaussian
Gaussian sampling.
-
-
Constructor Details
-
LogNormalSampler
- Parameters:
gaussian
- N(0,1) generator.mu
- Mean of the natural logarithm of the distribution values.sigma
- Standard deviation of the natural logarithm of the distribution values.- Throws:
IllegalArgumentException
- ifsigma <= 0
.
-
LogNormalSampler
- Parameters:
rng
- Generator of uniformly distributed random numbers.source
- Source to copy.
-
-
Method Details
-
sample
public double sample()Creates adouble
sample.- Specified by:
sample
in interfaceContinuousSampler
- Returns:
- a sample.
-
toString
-
withUniformRandomProvider
Create a new instance of the sampler with the same underlying state using the given uniform random provider as the source of randomness.Note: This function is available if the underlying
NormalizedGaussianSampler
is aSharedStateSampler
. Otherwise a run-time exception is thrown.- Specified by:
withUniformRandomProvider
in interfaceSharedStateSampler<SharedStateContinuousSampler>
- Parameters:
rng
- Generator of uniformly distributed random numbers.- Returns:
- the sampler
- Throws:
UnsupportedOperationException
- if the underlying sampler is not aSharedStateSampler
or does not return aNormalizedGaussianSampler
when sharing state.- Since:
- 1.3
-
of
public static SharedStateContinuousSampler of(NormalizedGaussianSampler gaussian, double mu, double sigma) Create a new log-normal distribution sampler.Note: The shared-state functionality is available if the
NormalizedGaussianSampler
is aSharedStateSampler
. Otherwise a run-time exception will be thrown when the sampler is used to share state.- Parameters:
gaussian
- N(0,1) generator.mu
- Mean of the natural logarithm of the distribution values.sigma
- Standard deviation of the natural logarithm of the distribution values.- Returns:
- the sampler
- Throws:
IllegalArgumentException
- ifsigma <= 0
.- Since:
- 1.3
- See Also:
-