cern.jet.random
Class HyperGeometric
- java.lang.Object
-
- cern.colt.PersistentObject
-
- cern.jet.random.AbstractDistribution
-
- cern.jet.random.AbstractDiscreteDistribution
-
- cern.jet.random.HyperGeometric
-
- All Implemented Interfaces:
- DoubleFunction, IntFunction, java.io.Serializable, java.lang.Cloneable
public class HyperGeometric extends AbstractDiscreteDistribution
HyperGeometric distribution; See the math definition The hypergeometric distribution with parameters N, n and s is the probability distribution of the random variable X, whose value is the number of successes in a sample of n items from a population of size N that has s 'success' items and N - s 'failure' items.p(k) = C(s,k) * C(N-s,n-k) / C(N,n) where C(a,b) = a! / (b! * (a-b)!).
valid for N >= 2, s,n <= N.
Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.
- Static methods operate on a default uniform random number generator; they are synchronized.
Implementation: High performance implementation. Patchwork Rejection/Inversion method.
- This is a port of hprsc.c from the C-RAND / WIN-RAND library. C-RAND's implementation, in turn, is based upon
H. Zechner (1994): Efficient sampling from continuous and discrete unimodal distributions, Doctoral Dissertation, 156 pp., Technical University Graz, Austria.
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
-
-
Constructor Summary
Constructors Constructor and Description HyperGeometric(int N, int s, int n, RandomEngine randomGenerator)Constructs a HyperGeometric distribution.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description intnextInt()Returns a random number from the distribution.intnextInt(int N, int s, int n)Returns a random number from the distribution; bypasses the internal state.doublepdf(int k)Returns the probability distribution function.voidsetState(int N, int s, int n)Sets the parameters.static doublestaticNextInt(int N, int M, int n)Returns a random number from the distribution.java.lang.StringtoString()Returns a String representation of the receiver.-
Methods inherited from class cern.jet.random.AbstractDiscreteDistribution
nextDouble
-
Methods inherited from class cern.jet.random.AbstractDistribution
apply, apply, clone, makeDefaultGenerator
-
-
-
-
Constructor Detail
-
HyperGeometric
public HyperGeometric(int N, int s, int n, RandomEngine randomGenerator)Constructs a HyperGeometric distribution.
-
-
Method Detail
-
nextInt
public int nextInt()
Returns a random number from the distribution.- Specified by:
nextIntin classAbstractDiscreteDistribution
-
nextInt
public int nextInt(int N, int s, int n)Returns a random number from the distribution; bypasses the internal state.
-
pdf
public double pdf(int k)
Returns the probability distribution function.
-
setState
public void setState(int N, int s, int n)Sets the parameters.
-
staticNextInt
public static double staticNextInt(int N, int M, int n)Returns a random number from the distribution.
-
toString
public java.lang.String toString()
Returns a String representation of the receiver.- Overrides:
toStringin classjava.lang.Object
-
-
DMelt 3.0 © DataMelt by jWork.ORG