Parallel Colt 0.7.2

cern.jet.random.tdouble
Class ChiSquare

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

public class ChiSquare
extends AbstractContinousDoubleDistribution

ChiSquare distribution; See the math definition and animated definition.

A special case of the Gamma distribution.

p(x) = (1/g(f/2)) * (x/2)^(f/2-1) * exp(-x/2) with g(a) being the gamma function and f being the degrees of freedom.

Valid parameter ranges: freedom > 0.

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:

Method: Ratio of Uniforms with shift.
High performance implementation. This is a port of RandChiSquare used in CLHEP 1.4.0 (C++). CLHEP's implementation, in turn, is based on chru.c from the C-RAND / WIN-RAND library. C-RAND's implementation, in turn, is based upon

J.F. Monahan (1987): An algorithm for generating chi random variables, ACM Trans. Math. Software 13, 168-172.

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
ChiSquare(double freedom, DoubleRandomEngine randomGenerator)
          Constructs a ChiSquare distribution.
 
Method Summary
 double cdf(double x)
          Returns the cumulative distribution function.
 double nextDouble()
          Returns a random number from the distribution.
 double nextDouble(double freedom)
          Returns a random number from the distribution; bypasses the internal state.
 double pdf(double x)
          Returns the probability distribution function.
 void setState(double freedom)
          Sets the distribution parameter.
static double staticNextDouble(double freedom)
          Returns a random number from the distribution.
 String toString()
          Returns a String representation of the receiver.
 
Methods inherited from class cern.jet.random.tdouble.AbstractDoubleDistribution
apply, apply, clone, makeDefaultGenerator, nextInt
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ChiSquare

public ChiSquare(double freedom,
                 DoubleRandomEngine randomGenerator)
Constructs a ChiSquare distribution. Example: freedom=1.0.

Parameters:
freedom - degrees of freedom.
Throws:
IllegalArgumentException - if freedom < 1.0.
Method Detail

cdf

public double cdf(double x)
Returns the cumulative distribution function.


nextDouble

public double nextDouble()
Returns a random number from the distribution.

Specified by:
nextDouble in class AbstractDoubleDistribution

nextDouble

public double nextDouble(double freedom)
Returns a random number from the distribution; bypasses the internal state.

Parameters:
freedom - degrees of freedom. It should hold freedom < 1.0.

pdf

public double pdf(double x)
Returns the probability distribution function.


setState

public void setState(double freedom)
Sets the distribution parameter.

Parameters:
freedom - degrees of freedom.
Throws:
IllegalArgumentException - if freedom < 1.0.

staticNextDouble

public static double staticNextDouble(double freedom)
Returns a random number from the distribution.

Parameters:
freedom - degrees of freedom.
Throws:
IllegalArgumentException - if freedom < 1.0.

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