org.apache.commons.math.distribution
Class AbstractIntegerDistribution

java.lang.Object
  extended byorg.apache.commons.math.distribution.AbstractDistribution
      extended byorg.apache.commons.math.distribution.AbstractIntegerDistribution
All Implemented Interfaces:
DiscreteDistribution, Distribution, IntegerDistribution, Serializable
Direct Known Subclasses:
BinomialDistributionImpl, HypergeometricDistributionImpl, PoissonDistributionImpl

public abstract class AbstractIntegerDistribution
extends AbstractDistribution
implements IntegerDistribution, Serializable

Base class for integer-valued discrete distributions. Default implementations are provided for some of the methods that do not vary from distribution to distribution.

Version:
$Revision: 1.1 $ $Date: 2004/11/07 03:32:48 $
See Also:
Serialized Form

Field Summary
(package private) static long serialVersionUID
          Serializable version identifier
 
Constructor Summary
protected AbstractIntegerDistribution()
          Default constructor.
 
Method Summary
 double cumulativeProbability(double x)
          For a random variable X whose values are distributed according to this distribution, this method returns P(X ≤ x).
abstract  double cumulativeProbability(int x)
          For a random variable X whose values are distributed according to this distribution, this method returns P(X ≤ x).
 double cumulativeProbability(int x0, int x1)
          For a random variable X whose values are distributed according to this distribution, this method returns P(x0 ≤ X ≤ x1).
protected abstract  int getDomainLowerBound(double p)
          Access the domain value lower bound, based on p, used to bracket a PDF root.
protected abstract  int getDomainUpperBound(double p)
          Access the domain value upper bound, based on p, used to bracket a PDF root.
 int inverseCumulativeProbability(double p)
          For a random variable X whose values are distributed according to this distribution, this method returns the largest x, such that P(X ≤ x) ≤ p.
 double probability(double x)
          For a random variable X whose values are distributed according to this distribution, this method returns P(X = x).
 
Methods inherited from class org.apache.commons.math.distribution.AbstractDistribution
cumulativeProbability
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.commons.math.distribution.IntegerDistribution
probability
 
Methods inherited from interface org.apache.commons.math.distribution.Distribution
cumulativeProbability
 

Field Detail

serialVersionUID

static final long serialVersionUID
Serializable version identifier

See Also:
Constant Field Values
Constructor Detail

AbstractIntegerDistribution

protected AbstractIntegerDistribution()
Default constructor.

Method Detail

cumulativeProbability

public double cumulativeProbability(double x)
                             throws MathException
For a random variable X whose values are distributed according to this distribution, this method returns P(X ≤ x). In other words, this method represents the (cumulative) distribution function, or CDF, for this distribution.

If x does not represent an integer value, the CDF is evaluated at the greatest integer less than x.

Specified by:
cumulativeProbability in interface Distribution
Parameters:
x - the value at which the distribution function is evaluated.
Returns:
cumulative probability that a random variable with this distribution takes a value less than or equal to x
Throws:
MathException - if the cumulative probability can not be computed due to convergence or other numerical errors.

cumulativeProbability

public abstract double cumulativeProbability(int x)
                                      throws MathException
For a random variable X whose values are distributed according to this distribution, this method returns P(X ≤ x). In other words, this method represents the probability distribution function, or PDF, for this distribution.

Specified by:
cumulativeProbability in interface IntegerDistribution
Parameters:
x - the value at which the PDF is evaluated.
Returns:
PDF for this distribution.
Throws:
MathException - if the cumulative probability can not be computed due to convergence or other numerical errors.

probability

public double probability(double x)
For a random variable X whose values are distributed according to this distribution, this method returns P(X = x). In other words, this method represents the probability mass function, or PMF, for the distribution.

If x does not represent an integer value, 0 is returned.

Specified by:
probability in interface DiscreteDistribution
Parameters:
x - the value at which the probability density function is evaluated
Returns:
the value of the probability density function at x

cumulativeProbability

public double cumulativeProbability(int x0,
                                    int x1)
                             throws MathException
For a random variable X whose values are distributed according to this distribution, this method returns P(x0 ≤ X ≤ x1).

Specified by:
cumulativeProbability in interface IntegerDistribution
Parameters:
x0 - the inclusive, lower bound
x1 - the inclusive, upper bound
Returns:
the cumulative probability.
Throws:
MathException - if the cumulative probability can not be computed due to convergence or other numerical errors.
IllegalArgumentException - if x0 > x1

inverseCumulativeProbability

public int inverseCumulativeProbability(double p)
                                 throws MathException
For a random variable X whose values are distributed according to this distribution, this method returns the largest x, such that P(X ≤ x) ≤ p.

Specified by:
inverseCumulativeProbability in interface IntegerDistribution
Parameters:
p - the desired probability
Returns:
the largest x such that P(X ≤ x) <= p
Throws:
MathException - if the inverse cumulative probability can not be computed due to convergence or other numerical errors.
IllegalArgumentException - if p < 0 or p > 1

getDomainLowerBound

protected abstract int getDomainLowerBound(double p)
Access the domain value lower bound, based on p, used to bracket a PDF root. This method is used by inverseCumulativeProbability(double) to find critical values.

Parameters:
p - the desired probability for the critical value
Returns:
domain value lower bound, i.e. P(X < lower bound) < p

getDomainUpperBound

protected abstract int getDomainUpperBound(double p)
Access the domain value upper bound, based on p, used to bracket a PDF root. This method is used by inverseCumulativeProbability(double) to find critical values.

Parameters:
p - the desired probability for the critical value
Returns:
domain value upper bound, i.e. P(X < upper bound) > p


Copyright © 2003-2004 The Apache Software Foundation. All Rights Reserved.