|
SSJ V. 2.6. |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectumontreal.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()
RandomVariateGeninverseF
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 | ||||||||