Parallel Colt 0.7.2

cern.jet.random.tdouble
Class Poisson

java.lang.Object
  extended by cern.colt.PersistentObject
      extended by cern.jet.random.tdouble.AbstractDoubleDistribution
          extended by cern.jet.random.tdouble.AbstractDiscreteDistribution
              extended by cern.jet.random.tdouble.Poisson
All Implemented Interfaces:
DoubleFunction, IntFunction, Serializable, Cloneable

public class Poisson
extends AbstractDiscreteDistribution

Poisson distribution (quick); See the math definition and animated definition.

p(k) = (mean^k / k!) * exp(-mean) for k >= 0.

Valid parameter ranges: mean > 0. Note: if mean <= 0.0 then always returns zero.

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 pprsc.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.

Also see

Stadlober E., H. Zechner (1999), The patchwork rejection method for sampling from unimodal distributions, to appear in ACM Transactions on Modelling and Simulation.

Version:
1.0, 09/24/99
Author:
wolfgang.hoschek@cern.ch
See Also:
Serialized Form

Field Summary
 
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
 
Constructor Summary
Poisson(double mean, DoubleRandomEngine randomGenerator)
          Constructs a poisson distribution.
 
Method Summary
 double cdf(int k)
          Returns the cumulative distribution function.
 Object clone()
          Returns a deep copy of the receiver; the copy will produce identical sequences.
 int nextInt()
          Returns a random number from the distribution.
 int nextInt(double theMean)
          Returns a random number from the distribution; bypasses the internal state.
 double pdf(int k)
          Returns the probability distribution function.
 void setMean(double mean)
          Sets the mean.
static int staticNextInt(double mean)
          Returns a random number from the distribution with the given mean.
 String toString()
          Returns a String representation of the receiver.
 
Methods inherited from class cern.jet.random.tdouble.AbstractDiscreteDistribution
nextDouble
 
Methods inherited from class cern.jet.random.tdouble.AbstractDoubleDistribution
apply, apply, makeDefaultGenerator
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Poisson

public Poisson(double mean,
               DoubleRandomEngine randomGenerator)
Constructs a poisson distribution. Example: mean=1.0.

Method Detail

cdf

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


clone

public Object clone()
Returns a deep copy of the receiver; the copy will produce identical sequences. After this call has returned, the copy and the receiver have equal but separate state.

Overrides:
clone in class AbstractDoubleDistribution
Returns:
a copy of the receiver.

nextInt

public int nextInt()
Returns a random number from the distribution.

Specified by:
nextInt in class AbstractDiscreteDistribution

nextInt

public int nextInt(double theMean)
Returns a random number from the distribution; bypasses the internal state.


pdf

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


setMean

public void setMean(double mean)
Sets the mean.


staticNextInt

public static int staticNextInt(double mean)
Returns a random number from the distribution with the given mean.


toString

public String toString()
Returns a String representation of the receiver.

Overrides:
toString in class Object

Parallel Colt 0.7.2

Jump to the Parallel Colt Homepage