Class ZipfDistributionImpl

All Implemented Interfaces:
Serializable, DiscreteDistribution, Distribution, IntegerDistribution, ZipfDistribution

public class ZipfDistributionImpl extends AbstractIntegerDistribution implements ZipfDistribution, Serializable
Implementation for the ZipfDistribution.
See Also:
  • Constructor Details

    • 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 Details

    • 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

      @Deprecated public void setNumberOfElements(int n)
      Deprecated.
      as of 2.1 (class will become immutable in 3.0)
      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

      @Deprecated public void setExponent(double s)
      Deprecated.
      as of 2.1 (class will become immutable in 3.0)
      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 invalid input: '<'= 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
    • getSupportLowerBound

      public int getSupportLowerBound()
      Returns the lower bound of the support for the distribution. The lower bound of the support is always 1 no matter the parameters.
      Returns:
      lower bound of the support (always 1)
      Since:
      2.2
    • getSupportUpperBound

      public int getSupportUpperBound()
      Returns the upper bound of the support for the distribution. The upper bound of the support is the number of elements
      Returns:
      upper bound of the support
      Since:
      2.2