Class Beta
- All Implemented Interfaces:
DoubleFunction, IntFunction, Serializable, Cloneable
Beta distribution; math definition
and animated definition.
Static methods operate on a default uniform random number generator; they are synchronized.
Method: Stratified Rejection/Patchwork Rejection.
High performance implementation.
This is a port of bsprc.c from the C-RAND / WIN-RAND library.
C-RAND's implementation, in turn, is based upon
p(x) = k * x^(alpha-1) * (1-x)^(beta-1) with k = g(alpha+beta)/(g(alpha)*g(beta)) and g(a) being the gamma function.
Valid parameter ranges: alpha > 0 and beta > 0.
Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.
Implementation:
H. Sakasegawa (1983): Stratified rejection and squeeze method for generating beta random numbers, Ann. Inst. Statist. Math. 35 B, 291-302.
and
Stadlober E., H. Zechner (1993), Generating beta variates via patchwork rejection,, Computing 50, 1-18.
- Version:
- 1.0, 09/24/99
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) double(package private) double(package private) doubleprotected double(package private) double(package private) double(package private) doubleprotected double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) doubleprotected static Beta(package private) double(package private) double(package private) double(package private) double(package private) double(package private) double(package private) doubleFields inherited from class AbstractDistribution
randomGeneratorFields inherited from class PersistentObject
serialVersionUID -
Constructor Summary
ConstructorsConstructorDescriptionBeta(double alpha, double beta, RandomEngine randomGenerator) Constructs a Beta distribution. -
Method Summary
Modifier and TypeMethodDescriptionprotected doubleb00(double a, double b, RandomEngine randomGenerator) protected doubleb01(double a, double b, RandomEngine randomGenerator) protected doubleb1prs(double p, double q, RandomEngine randomGenerator) doublecdf(double x) Returns the cumulative distribution function.private static doublef(double x, double a, double b, double m) doubleReturns a random number from the distribution.doublenextDouble(double alpha, double beta) Returns a beta distributed random number; bypasses the internal state.doublepdf(double x) Returns the cumulative distribution function.voidsetState(double alpha, double beta) Sets the parameters.static doublestaticNextDouble(double alpha, double beta) Returns a random number from the distribution.toString()Returns a String representation of the receiver.private static voidxstaticSetRandomGenerator(RandomEngine randomGenerator) Sets the uniform random number generated shared by all static methods.Methods inherited from class AbstractDistribution
apply, apply, clone, getRandomGenerator, makeDefaultGenerator, nextInt, setRandomGenerator
-
Field Details
-
alpha
protected double alpha -
beta
protected double beta -
PDF_CONST
double PDF_CONST -
a_last
double a_last -
b_last
double b_last -
a_
double a_ -
b_
double b_ -
t
double t -
fa
double fa -
fb
double fb -
p1
double p1 -
p2
double p2 -
c
double c -
ml
double ml -
mu
double mu -
p_last
double p_last -
q_last
double q_last -
a
double a -
b
double b -
s
double s -
m
double m -
D
double D -
Dl
double Dl -
x1
double x1 -
x2
double x2 -
x4
double x4 -
x5
double x5 -
f1
double f1 -
f2
double f2 -
f4
double f4 -
f5
double f5 -
ll
double ll -
lr
double lr -
z2
double z2 -
z4
double z4 -
p3
double p3 -
p4
double p4
-
-
Constructor Details
-
Beta
Constructs a Beta distribution.
-
-
Method Details
-
b00
-
b01
-
b1prs
-
cdf
public double cdf(double x) Returns the cumulative distribution function. -
f
private static double f(double x, double a, double b, double m) -
nextDouble
public double nextDouble()Returns a random number from the distribution.- Specified by:
nextDoublein classAbstractDistribution
-
nextDouble
public double nextDouble(double alpha, double beta) Returns a beta distributed random number; bypasses the internal state. -
pdf
public double pdf(double x) Returns the cumulative distribution function. -
setState
public void setState(double alpha, double beta) Sets the parameters. -
staticNextDouble
public static double staticNextDouble(double alpha, double beta) Returns a random number from the distribution. -
toString
-
xstaticSetRandomGenerator
Sets the uniform random number generated shared by all static methods.- Parameters:
randomGenerator- the new uniform random number generator to be shared.
-