|
SSJ V. 2.6. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object umontreal.iro.lecuyer.randvar.RandomVariateGen umontreal.iro.lecuyer.randvar.ChiSquareNoncentralGen umontreal.iro.lecuyer.randvar.ChiSquareNoncentralGamGen
public class ChiSquareNoncentralGamGen
This class implements noncentral chi square random variate generators using the additive property of the noncentral chi square distribution. It uses the following algorithm: generate a real X∼N((λ)1/2, 1) from a normal distribution with variance 1, generate a real Y∼Γ((ν - 1)/2, 1/2) from a gamma distribution, then return X2 + Y. Here ν is the number of degrees of freedom and λ is the noncentrality parameter.
To generate the normal variates, one uses the fast
acceptance-complement ratio method in
(see class NormalACRGen
).
To generate the gamma variates, one uses acceptance-rejection for α < 1,
and acceptance-complement for
α >= 1, as proposed in
(see class GammaAcceptanceRejectionGen
).
This noncentral chi square generator is faster than the generator
ChiSquareNoncentralPoisGen
.
For small λ, it is nearly twice as fast. As λ increases,
it is still faster but not as much.
Constructor Summary | |
---|---|
ChiSquareNoncentralGamGen(RandomStream stream,
double nu,
double lambda)
Creates a noncentral chi square random variate generator with with ν = nu degrees of freedom and noncentrality parameter λ = lambda using stream stream, as described above. |
Method Summary | |
---|---|
double |
nextDouble()
Generates a random number from the continuous distribution contained in this object. |
static double |
nextDouble(RandomStream stream,
double nu,
double lambda)
Generates a variate from the noncentral chi square distribution with parameters ν = nu and λ = lambda using stream stream, as described above. |
Methods inherited from class umontreal.iro.lecuyer.randvar.ChiSquareNoncentralGen |
---|
getLambda, getNu |
Methods inherited from class umontreal.iro.lecuyer.randvar.RandomVariateGen |
---|
getDistribution, getStream, nextArrayOfDouble, setStream, toString |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ChiSquareNoncentralGamGen(RandomStream stream, double nu, double lambda)
Method Detail |
---|
public double nextDouble()
RandomVariateGen
inverseF
method of the distribution object.
Alternative generating methods are provided in subclasses.
nextDouble
in class RandomVariateGen
public static double nextDouble(RandomStream stream, double nu, double lambda)
|
SSJ V. 2.6. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |