HyperGeometric
cern.jet.random

Class HyperGeometric

  • All Implemented Interfaces:
    DoubleFunction, IntFunction, Serializable, Cloneable


    public class HyperGeometricextends 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
    • Constructor Detail

      • HyperGeometric

        public HyperGeometric(int N,              int s,              int n,              RandomEngine randomGenerator)
        Constructs a HyperGeometric distribution.
    • Method Detail

      • 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 String toString()
        Returns a String representation of the receiver.
        Overrides:
        toString in class Object

SCaVis 2.1 © jWork.ORG