This class implements random variate generators for the gamma distribution. More...
Public Member Functions | |
| GammaGen (RandomStream s, double alpha, double lambda) | |
| Creates a gamma random variate generator with parameters. | |
| GammaGen (RandomStream s, double alpha) | |
| Creates a gamma random variate generator with parameters. | |
| GammaGen (RandomStream s, GammaDist dist) | |
| Creates a new generator object for the gamma distribution dist and stream s. | |
| double | getAlpha () |
| Returns the parameter \(\alpha\) of this object. | |
| double | getLambda () |
| Returns the parameter \(\lambda\) of this object. | |
| Public Member Functions inherited from umontreal.ssj.randvar.RandomVariateGen | |
| RandomVariateGen (RandomStream s, Distribution dist) | |
| Creates a new random variate generator from the distribution dist, using stream s. | |
| double | nextDouble () |
| Generates a random number from the continuous distribution contained in this object. | |
| void | nextArrayOfDouble (double[] v, int start, int n) |
| Generates n random numbers from the continuous distribution contained in this object. | |
| double[] | nextArrayOfDouble (int n) |
| Generates n random numbers from the continuous distribution contained in this object, and returns them in a new array of size n. | |
| RandomStream | getStream () |
| Returns the umontreal.ssj.rng.RandomStream used by this generator. | |
| void | setStream (RandomStream stream) |
| Sets the umontreal.ssj.rng.RandomStream used by this generator to stream. | |
| Distribution | getDistribution () |
| Returns the umontreal.ssj.probdist.Distribution used by this generator. | |
| String | toString () |
| Returns a String containing information about the current generator. | |
Static Public Member Functions | |
| static double | nextDouble (RandomStream s, double alpha, double lambda) |
| Generates a new gamma random variate with parameters \(\alpha=
\) alpha and \(\lambda= \) lambda, using stream s. | |
Protected Member Functions | |
| void | setParams (double alpha, double lambda) |
| Sets the parameter \(\alpha\) and \(\lambda\) of this object. | |
This class implements random variate generators for the gamma distribution.
Its parameters are \(\alpha>0\) (shape) and \(\lambda>0\) (rate). Its density function is
\[ f(x) = \lambda^{\alpha}x^{\alpha- 1}e^{-\lambda x} / \Gamma(\alpha) \qquad\mbox{ for } x>0, \tag{fgamma} \]
where \(\Gamma\) is the gamma function defined by
\[ \Gamma(\alpha) = \int_0^{\infty}x^{\alpha- 1} e^{-x} dx. \tag{Gamma} \]
The (non-static) nextDouble method simply calls inverseF on the distribution.
Definition at line 47 of file GammaGen.java.
| umontreal.ssj.randvar.GammaGen.GammaGen | ( | RandomStream | s, |
| double | alpha, | ||
| double | lambda ) |
Creates a gamma random variate generator with parameters.
\(\alpha=\) alpha and \(\lambda\) = lambda, using stream s.
Definition at line 56 of file GammaGen.java.
| umontreal.ssj.randvar.GammaGen.GammaGen | ( | RandomStream | s, |
| double | alpha ) |
Creates a gamma random variate generator with parameters.
\(\alpha=\) alpha and \(\lambda= 1\), using stream s.
Definition at line 66 of file GammaGen.java.
| umontreal.ssj.randvar.GammaGen.GammaGen | ( | RandomStream | s, |
| GammaDist | dist ) |
Creates a new generator object for the gamma distribution dist and stream s.
Definition at line 74 of file GammaGen.java.
| double umontreal.ssj.randvar.GammaGen.getAlpha | ( | ) |
Returns the parameter \(\alpha\) of this object.
Definition at line 92 of file GammaGen.java.
| double umontreal.ssj.randvar.GammaGen.getLambda | ( | ) |
Returns the parameter \(\lambda\) of this object.
Definition at line 99 of file GammaGen.java.
|
static |
Generates a new gamma random variate with parameters \(\alpha= \) alpha and \(\lambda= \) lambda, using stream s.
Reimplemented in umontreal.ssj.randvar.GammaAcceptanceRejectionGen, and umontreal.ssj.randvar.GammaRejectionLoglogisticGen.
Definition at line 85 of file GammaGen.java.
|
protected |
Sets the parameter \(\alpha\) and \(\lambda\) of this object.
Definition at line 106 of file GammaGen.java.