cern.jet.random

## Class Binomial

- java.lang.Object
- - cern.colt.PersistentObject
  - - cern.jet.random.AbstractDistribution
    - - cern.jet.random.AbstractDiscreteDistribution
      - - cern.jet.random.Binomial

- All Implemented Interfaces:
    DoubleFunction, IntFunction, java.io.Serializable, java.lang.Cloneable

      public class Binomial
      extends 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.

  Version:
    1.0, 09/24/99
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class cern.colt.PersistentObject

      `serialVersionUID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Binomial(int n, double p, RandomEngine randomGenerator)` Constructs a binomial distribution.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `cdf(int k)` Returns the cumulative distribution function.
    `int` | `nextInt()` Returns a random number from the distribution.
    `int` | `nextInt(int n, double p)` Returns a random number from the distribution with the given parameters n and p; bypasses the internal state.
    `double` | `pdf(int k)` Returns the probability distribution function.
    `void` | `setNandP(int n, double p)` Sets the parameters number of trials and the probability of success.
    `static int` | `staticNextInt(int n, double p)` Returns a random number from the distribution with the given parameters n and p.
    `java.lang.String` | `toString()` 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`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### 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:
        `java.lang.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()

      Returns a random number from the distribution.
      Specified by:
        `nextInt` in class `AbstractDiscreteDistribution`

    - #### 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:
        `java.lang.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:
        `java.lang.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:
        `java.lang.IllegalArgumentException` - if `n*Math.min(p,1-p) <= 0.0`

    - #### toString

          public java.lang.String toString()

      Returns a String representation of the receiver.
      Overrides:
        `toString` in class `java.lang.Object`

Jump to the Colt Homepage