public final class SliceSampler
extends java.lang.Object
Constructor and Description |
---|
SliceSampler(org.apache.commons.math3.random.RandomGenerator rng,
java.util.function.Function<java.lang.Double,java.lang.Double> logPDF,
double width)
Creates a new sampler for an unbounded univariate random variable, given a random number generator,
a continuous, univariate, unimodal, unnormalized log probability density function,
and a step width.
|
SliceSampler(org.apache.commons.math3.random.RandomGenerator rng,
java.util.function.Function<java.lang.Double,java.lang.Double> logPDF,
double xMin,
double xMax,
double width)
Creates a new sampler for a bounded univariate random variable, given a random number generator,
a continuous, univariate, unimodal, unnormalized log probability density function,
hard limits on the random variable, and a step width.
|
Modifier and Type | Method and Description |
---|---|
double |
sample(double xInitial)
Generate a single sample, given an initial value to use in slice construction.
|
java.util.List<java.lang.Double> |
sample(double xInitial,
int numSamples)
Generate multiple samples from the probability density function, given an initial value to use in slice construction.
|
public SliceSampler(org.apache.commons.math3.random.RandomGenerator rng, java.util.function.Function<java.lang.Double,java.lang.Double> logPDF, double xMin, double xMax, double width)
rng
- random number generator, never null
logPDF
- continuous, univariate, unimodal log probability density function (up to additive constant), never null
xMin
- minimum allowed value of the random variablexMax
- maximum allowed value of the random variablewidth
- step width for slice expansionpublic SliceSampler(org.apache.commons.math3.random.RandomGenerator rng, java.util.function.Function<java.lang.Double,java.lang.Double> logPDF, double width)
rng
- random number generator, never null
logPDF
- continuous, univariate, unimodal log probability density function (up to additive constant), never null
width
- step width for slice expansionpublic double sample(double xInitial)
xInitial
- initial value to use in slice construction; must be in [xMin, xMax]public java.util.List<java.lang.Double> sample(double xInitial, int numSamples)
xInitial
- initial value to use in slice construction; if outside [xMin, xMax], forced to be withinnumSamples
- number of samples to generate