org.apache.commons.math.distribution
Class ZipfDistributionImpl

java.lang.Object
  extended by org.apache.commons.math.distribution.AbstractDistribution
      extended by org.apache.commons.math.distribution.AbstractIntegerDistribution
          extended by org.apache.commons.math.distribution.ZipfDistributionImpl
All Implemented Interfaces:
Serializable, DiscreteDistribution, Distribution, IntegerDistribution, ZipfDistribution

public class ZipfDistributionImpl
extends AbstractIntegerDistribution
implements ZipfDistribution, Serializable

Implementation for the ZipfDistribution.

Version:
$Revision: 762087 $ $Date: 2009-04-05 10:20:18 -0400 (Sun, 05 Apr 2009) $
See Also:
Serialized Form

Constructor Summary
ZipfDistributionImpl(int numberOfElements, double exponent)
          Create a new Zipf distribution with the given number of elements and exponent.
 
Method Summary
 double cumulativeProbability(int x)
          The probability distribution function P(X <= x) for a Zipf distribution.
protected  int getDomainLowerBound(double p)
          Access the domain value lower bound, based on p, used to bracket a PDF root.
protected  int getDomainUpperBound(double p)
          Access the domain value upper bound, based on p, used to bracket a PDF root.
 double getExponent()
          Get the exponent characterising the distribution.
 int getNumberOfElements()
          Get the number of elements (e.g.
 double probability(int x)
          The probability mass function P(X = x) for a Zipf distribution.
 void setExponent(double s)
          Set the exponent characterising the distribution.
 void setNumberOfElements(int n)
          Set the number of elements (e.g.
 
Methods inherited from class org.apache.commons.math.distribution.AbstractIntegerDistribution
cumulativeProbability, cumulativeProbability, cumulativeProbability, inverseCumulativeProbability, probability
 
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
cumulativeProbability, inverseCumulativeProbability
 
Methods inherited from interface org.apache.commons.math.distribution.DiscreteDistribution
probability
 
Methods inherited from interface org.apache.commons.math.distribution.Distribution
cumulativeProbability, cumulativeProbability
 

Constructor Detail

ZipfDistributionImpl

public ZipfDistributionImpl(int numberOfElements,
                            double exponent)
                     throws IllegalArgumentException
Create a new Zipf distribution with the given number of elements and exponent. Both values must be positive; otherwise an IllegalArgumentException is thrown.

Parameters:
numberOfElements - the number of elements
exponent - the exponent
Throws:
IllegalArgumentException - if n ≤ 0 or s ≤ 0.0
Method Detail

getNumberOfElements

public int getNumberOfElements()
Get the number of elements (e.g. corpus size) for the distribution.

Specified by:
getNumberOfElements in interface ZipfDistribution
Returns:
the number of elements

setNumberOfElements

public void setNumberOfElements(int n)
                         throws IllegalArgumentException
Set the number of elements (e.g. corpus size) for the distribution. The parameter value must be positive; otherwise an IllegalArgumentException is thrown.

Specified by:
setNumberOfElements in interface ZipfDistribution
Parameters:
n - the number of elements
Throws:
IllegalArgumentException - if n ≤ 0

getExponent

public double getExponent()
Get the exponent characterising the distribution.

Specified by:
getExponent in interface ZipfDistribution
Returns:
the exponent

setExponent

public void setExponent(double s)
                 throws IllegalArgumentException
Set the exponent characterising the distribution. The parameter value must be positive; otherwise an IllegalArgumentException is thrown.

Specified by:
setExponent in interface ZipfDistribution
Parameters:
s - the exponent
Throws:
IllegalArgumentException - if s ≤ 0.0

probability

public double probability(int x)
The probability mass function P(X = x) for a Zipf distribution.

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

cumulativeProbability

public double cumulativeProbability(int x)
The probability distribution function P(X <= x) for a Zipf distribution.

Specified by:
cumulativeProbability in interface IntegerDistribution
Specified by:
cumulativeProbability in class AbstractIntegerDistribution
Parameters:
x - the value at which the PDF is evaluated.
Returns:
Zipf distribution function evaluated at x

getDomainLowerBound

protected int getDomainLowerBound(double p)
Access the domain value lower bound, based on p, used to bracket a PDF root.

Specified by:
getDomainLowerBound in class AbstractIntegerDistribution
Parameters:
p - the desired probability for the critical value
Returns:
domain value lower bound, i.e. P(X < lower bound) < p

getDomainUpperBound

protected int getDomainUpperBound(double p)
Access the domain value upper bound, based on p, used to bracket a PDF root.

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


Copyright © 2003-2009 Apache Software Foundation. All Rights Reserved.