public class StudentT extends Object
p(x) = k * (1+x^2/f) ^ -(f+1)/2 where k = g((f+1)/2) / (sqrt(pi*f) * g(f/2)) and g(a) being the gamma function and f being the degrees of freedom.
Valid parameter ranges: freedom > 0.
Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.
Implementation:
R.W. Bailey (1994): Polar generation of random variates with the t-distribution, Mathematics of Computation 62, 779-781.
| Modifier and Type | Field and Description |
|---|---|
protected double |
freedom |
protected RandomEngine |
randomGenerator |
protected static StudentT |
shared |
protected double |
TERM |
| Constructor and Description |
|---|
StudentT(double freedom,
RandomEngine randomGenerator)
Constructs a StudentT distribution.
|
| Modifier and Type | Method and Description |
|---|---|
double |
applyAsDouble(double dummy)
Equivalent to nextDouble().
|
int |
applyAsInt(int dummy)
Equivalent to nextInt().
|
double |
cdf(double x)
Returns the cumulative distribution function.
|
Object |
clone()
Returns a deep copy of the receiver; the copy will produce identical sequences.
|
protected RandomEngine |
getRandomGenerator()
Returns the used uniform random number generator;
|
static RandomEngine |
makeDefaultGenerator()
Constructs and returns a new uniform random number generation engine seeded with the current time.
|
double |
nextDouble()
Returns a random number from the distribution.
|
double |
nextDouble(double degreesOfFreedom)
Returns a random number from the distribution; bypasses the internal state.
|
int |
nextInt()
Returns a random number from the distribution; returns (int) Math.round(nextDouble()).
|
double |
pdf(double x)
Returns the probability distribution function.
|
protected void |
setRandomGenerator(RandomEngine randomGenerator)
Sets the uniform random generator internally used.
|
void |
setState(double freedom)
Sets the distribution parameter.
|
static double |
staticNextDouble(double freedom)
Returns a random number from the distribution.
|
String |
toString()
Returns a String representation of the receiver.
|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitandThen, compose, identityandThen, compose, identityprotected double freedom
protected double TERM
protected static StudentT shared
protected RandomEngine randomGenerator
public StudentT(double freedom,
RandomEngine randomGenerator)
freedom - degrees of freedom.randomGenerator - inputIllegalArgumentException - if freedom <= 0.0.public double cdf(double x)
x - inputpublic double nextDouble()
public double nextDouble(double degreesOfFreedom)
degreesOfFreedom - degrees of freedom.IllegalArgumentException - if a <= 0.0.public double pdf(double x)
x - inputpublic void setState(double freedom)
freedom - degrees of freedom.IllegalArgumentException - if freedom <= 0.0.public static double staticNextDouble(double freedom)
freedom - degrees of freedom.IllegalArgumentException - if freedom <= 0.0.public String toString()
public double applyAsDouble(double dummy)
applyAsDouble in interface DoubleUnaryOperatorpublic int applyAsInt(int dummy)
applyAsInt in interface IntUnaryOperatorpublic Object clone()
protected RandomEngine getRandomGenerator()
public static RandomEngine makeDefaultGenerator()
MersenneTwister.public int nextInt()
protected void setRandomGenerator(RandomEngine randomGenerator)
randomGenerator - inputCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.