SSJ
3.3.1
Stochastic Simulation in Java
|
This class implements symmetrical beta random variate generators using Ulrich’s polar method [232] . More...
Public Member Functions | |
BetaSymmetricalPolarGen (RandomStream s1, RandomStream s2, double alpha) | |
Creates a symmetrical beta random variate generator with parameter \(\alpha=\) alpha , using stream s1 to generate \(x\) and stream s2 to generate \(y\), as in ( eq.beta.ulrich ) above. More... | |
BetaSymmetricalPolarGen (RandomStream s1, double alpha) | |
Creates a symmetrical beta random variate generator with parameter \(\alpha=\) alpha , using stream s1 to generate \(x\) and \(y\), as in ( eq.beta.ulrich ) above. More... | |
BetaSymmetricalPolarGen (RandomStream s1, RandomStream s2, BetaSymmetricalDist dist) | |
Creates a new generator for the distribution dist , using stream s1 to generate \(x\) and stream s2 to generate \(y\), as in ( eq.beta.ulrich ) above. More... | |
BetaSymmetricalPolarGen (RandomStream s1, BetaSymmetricalDist dist) | |
Creates a new generator for the distribution dist , using only one stream s1 . More... | |
double | nextDouble () |
RandomStream | getStream2 () |
Returns stream s2 associated with this object. | |
Public Member Functions inherited from BetaSymmetricalGen | |
BetaSymmetricalGen (RandomStream s, double alpha) | |
Creates a new symmetrical beta generator with parameters \(\alpha=\) alpha , over the interval \((0,1)\), using stream s . | |
BetaSymmetricalGen (RandomStream s, BetaSymmetricalDist dist) | |
Creates a new generator for the distribution dist , using stream s . | |
Public Member Functions inherited from BetaGen | |
BetaGen (RandomStream s, double alpha, double beta, double a, double b) | |
Creates a new beta generator with parameters \(\alpha=\) alpha and \(\beta=\) beta , over the interval \((\)a \(,\) b \()\), using stream s . | |
BetaGen (RandomStream s, double alpha, double beta) | |
Creates a new beta generator with parameters \(\alpha=\) alpha and \(\beta=\) beta , over the interval \((0,1)\), using stream s . | |
BetaGen (RandomStream s, BetaDist dist) | |
Creates a new generator for the distribution dist , using stream s . | |
double | getAlpha () |
Returns the parameter \(\alpha\) of this object. | |
double | getBeta () |
Returns the parameter \(\beta\) of this object. | |
double | getA () |
Returns the parameter \(a\) of this object. | |
double | getB () |
Returns the parameter \(b\) of this object. | |
Public Member Functions inherited from RandomVariateGen | |
RandomVariateGen (RandomStream s, Distribution dist) | |
Creates a new random variate generator from the distribution dist , using stream s . More... | |
double | nextDouble () |
Generates a random number from the continuous distribution contained in this object. More... | |
void | nextArrayOfDouble (double[] v, int start, int n) |
Generates n random numbers from the continuous distribution contained in this object. More... | |
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 . More... | |
RandomStream | getStream () |
Returns the umontreal.ssj.rng.RandomStream used by this generator. More... | |
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. More... | |
String | toString () |
Returns a String containing information about the current generator. | |
Static Public Member Functions | |
static double | nextDouble (RandomStream s1, RandomStream s2, double alpha) |
Generates a random number using Ulrich’s polar method. More... | |
static double | nextDouble (RandomStream s, double alpha) |
Generates a random number by Ulrich’s polar method using stream s . More... | |
Static Public Member Functions inherited from BetaSymmetricalGen | |
static double | nextDouble (RandomStream s, double alpha) |
Static Public Member Functions inherited from BetaGen | |
static double | nextDouble (RandomStream s, double alpha, double beta, double a, double b) |
Generates a variate from the beta distribution with parameters \(\alpha= \) alpha , \(\beta= \) beta , over the interval \((a, b)\), using stream s . | |
Additional Inherited Members | |
Protected Member Functions inherited from BetaGen | |
void | setParams (double alpha, double beta, double aa, double bb) |
Protected Attributes inherited from BetaGen | |
double | p |
double | q |
double | a |
double | b |
int | gen |
Protected Attributes inherited from RandomVariateGen | |
RandomStream | stream |
Distribution | dist |
This class implements symmetrical beta random variate generators using Ulrich’s polar method [232] .
The method generates two uniform random variables \(x \in[0, 1]\) and \(y \in[-1, 1]\) until \(x^2 + y^2 \le1\). Then it returns
\[ \frac{1}{2} + \frac{xy}{S}\sqrt{1 - S^{2/(2\alpha- 1)}} \tag{eq.beta.ulrich} \]
where \(S = x^2 + y^2\), and \(\alpha\) is the shape parameter of the beta distribution. The method is valid only when \(\alpha> 1/2\).
BetaSymmetricalPolarGen | ( | RandomStream | s1, |
RandomStream | s2, | ||
double | alpha | ||
) |
Creates a symmetrical beta random variate generator with parameter \(\alpha=\) alpha
, using stream s1
to generate \(x\) and stream s2
to generate \(y\), as in ( eq.beta.ulrich ) above.
Restriction: \(\alpha> 1/2\).
BetaSymmetricalPolarGen | ( | RandomStream | s1, |
double | alpha | ||
) |
Creates a symmetrical beta random variate generator with parameter \(\alpha=\) alpha
, using stream s1
to generate \(x\) and \(y\), as in ( eq.beta.ulrich ) above.
Restriction: \(\alpha> 1/2\).
BetaSymmetricalPolarGen | ( | RandomStream | s1, |
RandomStream | s2, | ||
BetaSymmetricalDist | dist | ||
) |
Creates a new generator for the distribution dist
, using stream s1
to generate \(x\) and stream s2
to generate \(y\), as in ( eq.beta.ulrich ) above.
Restriction: dist
must have \(\alpha> 1/2\).
BetaSymmetricalPolarGen | ( | RandomStream | s1, |
BetaSymmetricalDist | dist | ||
) |
Creates a new generator for the distribution dist
, using only one stream s1
.
Restriction: dist
must have \(\alpha> 1/2\).
|
static |
Generates a random number using Ulrich’s polar method.
Stream s1
generates \(x\) and stream s2
generates \(y\) [see eq. ( eq.beta.ulrich )]. Restriction: \(\alpha> 1/2\).
|
static |
Generates a random number by Ulrich’s polar method using stream s
.
Restriction: \(\alpha> 1/2\).