umontreal.iro.lecuyer.randvar
Class BetaSymmetricalBestGen
- java.lang.Object
-
- umontreal.iro.lecuyer.randvar.RandomVariateGen
-
- umontreal.iro.lecuyer.randvar.BetaGen
-
- umontreal.iro.lecuyer.randvar.BetaSymmetricalGen
-
- umontreal.iro.lecuyer.randvar.BetaSymmetricalBestGen
-
public class BetaSymmetricalBestGen extends BetaSymmetricalGen
This class implements symmetrical beta random variate generators using Devroye's one-liner method. It is based on Best's relation between a Student-t variate and a symmetrical beta variate:Bα, αIf S is a random sign and U1, U2 are two independent uniform [0, 1] random variates, then the following gives a symmetrical beta variate: valid for any shape parameter α > 0.
(1 +
).
-
-
Constructor Summary
Constructors Constructor and Description BetaSymmetricalBestGen(RandomStream s1, BetaSymmetricalDist dist)Creates a new generator for the distribution dist, using only one stream s1.BetaSymmetricalBestGen(RandomStream s1, double alpha)Creates a symmetrical beta random variate generator with parameter α = alpha, using only one stream s1 to generate U1, U2, and S as given in equation.BetaSymmetricalBestGen(RandomStream s1, RandomStream s2, RandomStream s3, BetaSymmetricalDist dist)Creates a new generator for the distribution dist, using stream s1 to generate U1, stream s2 to generate U2 and stream s3 to generate S as given in equation.BetaSymmetricalBestGen(RandomStream s1, RandomStream s2, RandomStream s3, double alpha)Creates a symmetrical beta random variate generator with parameter α = alpha, using stream s1 to generate U1, stream s2 to generate U2 and stream s3 to generate S, as given in equation.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description RandomStreamgetStream2()Returns stream s2 associated with this object.RandomStreamgetStream3()Returns stream s3 associated with this object.doublenextDouble()Generates a random number from the continuous distribution contained in this object.static doublenextDouble(RandomStream s, double alpha)Generates a random number using Devroye's one-liner method with only one stream s.static doublenextDouble(RandomStream s1, RandomStream s2, RandomStream s3, double alpha)Generates a random number using Devroye's one-liner method.-
Methods inherited from class umontreal.iro.lecuyer.randvar.BetaGen
getA, getAlpha, getB, getBeta, nextDouble
-
Methods inherited from class umontreal.iro.lecuyer.randvar.RandomVariateGen
getDistribution, getStream, nextArrayOfDouble, setStream, toString
-
-
-
-
Constructor Detail
-
BetaSymmetricalBestGen
public BetaSymmetricalBestGen(RandomStream s1, RandomStream s2, RandomStream s3, double alpha)
Creates a symmetrical beta random variate generator with parameter α = alpha, using stream s1 to generate U1, stream s2 to generate U2 and stream s3 to generate S, as given in equation.
-
BetaSymmetricalBestGen
public BetaSymmetricalBestGen(RandomStream s1, double alpha)
Creates a symmetrical beta random variate generator with parameter α = alpha, using only one stream s1 to generate U1, U2, and S as given in equation.
-
BetaSymmetricalBestGen
public BetaSymmetricalBestGen(RandomStream s1, RandomStream s2, RandomStream s3, BetaSymmetricalDist dist)
Creates a new generator for the distribution dist, using stream s1 to generate U1, stream s2 to generate U2 and stream s3 to generate S as given in equation.
-
BetaSymmetricalBestGen
public BetaSymmetricalBestGen(RandomStream s1, BetaSymmetricalDist dist)
Creates a new generator for the distribution dist, using only one stream s1.
-
-
Method Detail
-
nextDouble
public static double nextDouble(RandomStream s1, RandomStream s2, RandomStream s3, double alpha)
Generates a random number using Devroye's one-liner method. Restriction: α > 0.
-
nextDouble
public static double nextDouble(RandomStream s, double alpha)
Generates a random number using Devroye's one-liner method with only one stream s. Restriction: α > 0.
-
nextDouble
public double nextDouble()
Description copied from class:RandomVariateGenGenerates a random number from the continuous distribution contained in this object. By default, this method uses inversion by calling theinverseFmethod of the distribution object. Alternative generating methods are provided in subclasses.- Overrides:
nextDoublein classRandomVariateGen- Returns:
- the generated value
-
getStream2
public RandomStream getStream2()
Returns stream s2 associated with this object.
-
getStream3
public RandomStream getStream3()
Returns stream s3 associated with this object.
-
-
DMelt 3.0 © DataMelt by jWork.ORG