Binomial
cern.jet.random

Class Binomial

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


    public class Binomialextends AbstractDiscreteDistribution
    Binomial distribution; See the math definition and animated definition.

    p(x) = k * p^k * (1-p)^(n-k) with k = n! / (k! * (n-k)!).

    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. Acceptance Rejection/Inversion method. This is a port of RandBinomial used in CLHEP 1.4.0 (C++). CLHEP's implementation is, in turn, based on

    V. Kachitvichyanukul, B.W. Schmeiser (1988): Binomial random variate generation, Communications of the ACM 31, 216-222.

    See Also:
    Serialized Form
    • Constructor Detail

      • Binomial

        public Binomial(int n,        double p,        RandomEngine randomGenerator)
        Constructs a binomial distribution. Example: n=1, p=0.5.
        Parameters:
        n - the number of trials (also known as sample size).
        p - the probability of success.
        randomGenerator - a uniform random number generator.
        Throws:
        IllegalArgumentException - if n*Math.min(p,1-p) <= 0.0
    • Method Detail

      • cdf

        public double cdf(int k)
        Returns the cumulative distribution function.
      • nextInt

        public int nextInt(int n,          double p)
        Returns a random number from the distribution with the given parameters n and p; bypasses the internal state.
        Parameters:
        n - the number of trials
        p - the probability of success.
        Throws:
        IllegalArgumentException - if n*Math.min(p,1-p) <= 0.0
      • pdf

        public double pdf(int k)
        Returns the probability distribution function.
      • setNandP

        public void setNandP(int n,            double p)
        Sets the parameters number of trials and the probability of success.
        Parameters:
        n - the number of trials
        p - the probability of success.
        Throws:
        IllegalArgumentException - if n*Math.min(p,1-p) <= 0.0
      • staticNextInt

        public static int staticNextInt(int n,                double p)
        Returns a random number from the distribution with the given parameters n and p.
        Parameters:
        n - the number of trials
        p - the probability of success.
        Throws:
        IllegalArgumentException - if n*Math.min(p,1-p) <= 0.0
      • toString

        public String toString()
        Returns a String representation of the receiver.
        Overrides:
        toString in class Object

SCaVis 1.8 © jWork.org