org.apache.commons.math.distribution

## Class CauchyDistributionImpl

- java.lang.Object
- - org.apache.commons.math.distribution.AbstractDistribution
  - - org.apache.commons.math.distribution.AbstractContinuousDistribution
    - - org.apache.commons.math.distribution.CauchyDistributionImpl

- All Implemented Interfaces:
    java.io.Serializable, CauchyDistribution, ContinuousDistribution, Distribution

      public class CauchyDistributionImpl
      extends AbstractContinuousDistribution
      implements CauchyDistribution, java.io.Serializable

  Default implementation of `CauchyDistribution`.
  Since:
    1.1
  Version:
    $Revision: 1054524 $ $Date: 2011-01-03 05:59:18 +0100 (lun. 03 janv. 2011) $
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static double` | `DEFAULT_INVERSE_ABSOLUTE_ACCURACY` Default inverse cumulative probability accuracy
    `private double` | `median` The median of this distribution.
    `private double` | `scale` The scale of this distribution.
    `private static long` | `serialVersionUID` Serializable version identifier
    `private double` | `solverAbsoluteAccuracy` Inverse cumulative probability accuracy

    - ### Fields inherited from class org.apache.commons.math.distribution.AbstractContinuousDistribution

      `randomData`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CauchyDistributionImpl()` Creates cauchy distribution with the medain equal to zero and scale equal to one.
    `CauchyDistributionImpl(double median, double s)` Create a cauchy distribution using the given median and scale.
    `CauchyDistributionImpl(double median, double s, double inverseCumAccuracy)` Create a cauchy distribution using the given median and scale.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `cumulativeProbability(double x)` For this distribution, X, this method returns P(X < `x`).
    `double` | `density(double x)` Returns the probability density for a particular point.
    `protected double` | `getDomainLowerBound(double p)` Access the domain value lower bound, based on `p`, used to bracket a CDF root.
    `protected double` | `getDomainUpperBound(double p)` Access the domain value upper bound, based on `p`, used to bracket a CDF root.
    `protected double` | `getInitialDomain(double p)` Access the initial domain value, based on `p`, used to bracket a CDF root.
    `double` | `getMedian()` Access the median.
    `double` | `getNumericalMean()` Returns the mean.
    `double` | `getNumericalVariance()` Returns the variance.
    `double` | `getScale()` Access the scale parameter.
    `protected double` | `getSolverAbsoluteAccuracy()` Return the absolute accuracy setting of the solver used to estimate inverse cumulative probabilities.
    `double` | `getSupportLowerBound()` Returns the lower bound of the support for this distribution.
    `double` | `getSupportUpperBound()` Returns the upper bound of the support for this distribution.
    `double` | `inverseCumulativeProbability(double p)` For this distribution, X, this method returns the critical point x, such that P(X < x) = `p`.
    `void` | `setMedian(double median)` Deprecated. as of 2.1 (class will become immutable in 3.0)
    `private void` | `setMedianInternal(double newMedian)` Modify the median.
    `void` | `setScale(double s)` Deprecated. as of 2.1 (class will become immutable in 3.0)
    `private void` | `setScaleInternal(double s)` Modify the scale parameter.

    - ### Methods inherited from class org.apache.commons.math.distribution.AbstractContinuousDistribution

      `reseedRandomGenerator, sample, sample`

    - ### 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.Distribution

      `cumulativeProbability`

- - ### Field Detail

    - #### DEFAULT_INVERSE_ABSOLUTE_ACCURACY

          public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY

      Default inverse cumulative probability accuracy
      Since:
        2.1
      See Also:
        Constant Field Values

    - #### serialVersionUID

          private static final long serialVersionUID

      Serializable version identifier
      See Also:
        Constant Field Values

    - #### median

          private double median

      The median of this distribution.

    - #### scale

          private double scale

      The scale of this distribution.

    - #### solverAbsoluteAccuracy

          private final double solverAbsoluteAccuracy

      Inverse cumulative probability accuracy

  - ### Constructor Detail

    - #### CauchyDistributionImpl

          public CauchyDistributionImpl()

      Creates cauchy distribution with the medain equal to zero and scale equal to one.

    - #### CauchyDistributionImpl

          public CauchyDistributionImpl(double median,
                                double s)

      Create a cauchy distribution using the given median and scale.
      Parameters:
        `median` - median for this distribution
        `s` - scale parameter for this distribution

    - #### CauchyDistributionImpl

          public CauchyDistributionImpl(double median,
                                double s,
                                double inverseCumAccuracy)

      Create a cauchy distribution using the given median and scale.
      Parameters:
        `median` - median for this distribution
        `s` - scale parameter for this distribution
        `inverseCumAccuracy` - the maximum absolute error in inverse cumulative probability estimates (defaults to `DEFAULT_INVERSE_ABSOLUTE_ACCURACY`)
      Since:
        2.1

  - ### Method Detail

    - #### cumulativeProbability

          public double cumulativeProbability(double x)

      For this distribution, X, this method returns P(X < `x`).
      Specified by:
        `cumulativeProbability` in interface `Distribution`
      Parameters:
        `x` - the value at which the CDF is evaluated.
      Returns:
        CDF evaluated at `x`.

    - #### getMedian

          public double getMedian()

      Access the median.
      Specified by:
        `getMedian` in interface `CauchyDistribution`
      Returns:
        median for this distribution

    - #### getScale

          public double getScale()

      Access the scale parameter.
      Specified by:
        `getScale` in interface `CauchyDistribution`
      Returns:
        scale parameter for this distribution

    - #### density

          public double density(double x)

      Returns the probability density for a particular point.
      Overrides:
        `density` in class `AbstractContinuousDistribution`
      Parameters:
        `x` - The point at which the density should be computed.
      Returns:
        The pdf at point x.
      Since:
        2.1

    - #### inverseCumulativeProbability

          public double inverseCumulativeProbability(double p)

      For this distribution, X, this method returns the critical point x, such that P(X < x) = `p`.

      Returns `Double.NEGATIVE_INFINITY` for p=0 and `Double.POSITIVE_INFINITY` for p=1.

      Specified by:
        `inverseCumulativeProbability` in interface `ContinuousDistribution`
      Overrides:
        `inverseCumulativeProbability` in class `AbstractContinuousDistribution`
      Parameters:
        `p` - the desired probability
      Returns:
        x, such that P(X < x) = `p`
      Throws:
        `java.lang.IllegalArgumentException` - if `p` is not a valid probability.

    - #### setMedian

          @Deprecated
          public void setMedian(double median)

      Deprecated. as of 2.1 (class will become immutable in 3.0)
      Modify the median.
      Specified by:
        `setMedian` in interface `CauchyDistribution`
      Parameters:
        `median` - for this distribution

    - #### setMedianInternal

          private void setMedianInternal(double newMedian)

      Modify the median.
      Parameters:
        `newMedian` - for this distribution

    - #### setScale

          @Deprecated
          public void setScale(double s)

      Deprecated. as of 2.1 (class will become immutable in 3.0)
      Modify the scale parameter.
      Specified by:
        `setScale` in interface `CauchyDistribution`
      Parameters:
        `s` - scale parameter for this distribution
      Throws:
        `java.lang.IllegalArgumentException` - if `sd` is not positive.

    - #### setScaleInternal

          private void setScaleInternal(double s)

      Modify the scale parameter.
      Parameters:
        `s` - scale parameter for this distribution
      Throws:
        `java.lang.IllegalArgumentException` - if `sd` is not positive.

    - #### getDomainLowerBound

          protected double getDomainLowerBound(double p)

      Access the domain value lower bound, based on `p`, used to bracket a CDF root. This method is used by `inverseCumulativeProbability(double)` to find critical values.
      Specified by:
        `getDomainLowerBound` in class `AbstractContinuousDistribution`
      Parameters:
        `p` - the desired probability for the critical value
      Returns:
        domain value lower bound, i.e. P(X < lower bound) < `p`

    - #### getDomainUpperBound

          protected double getDomainUpperBound(double p)

      Access the domain value upper bound, based on `p`, used to bracket a CDF root. This method is used by `inverseCumulativeProbability(double)` to find critical values.
      Specified by:
        `getDomainUpperBound` in class `AbstractContinuousDistribution`
      Parameters:
        `p` - the desired probability for the critical value
      Returns:
        domain value upper bound, i.e. P(X < upper bound) > `p`

    - #### getInitialDomain

          protected double getInitialDomain(double p)

      Access the initial domain value, based on `p`, used to bracket a CDF root. This method is used by `inverseCumulativeProbability(double)` to find critical values.
      Specified by:
        `getInitialDomain` in class `AbstractContinuousDistribution`
      Parameters:
        `p` - the desired probability for the critical value
      Returns:
        initial domain value

    - #### getSolverAbsoluteAccuracy

          protected double getSolverAbsoluteAccuracy()

      Return the absolute accuracy setting of the solver used to estimate inverse cumulative probabilities.
      Overrides:
        `getSolverAbsoluteAccuracy` in class `AbstractContinuousDistribution`
      Returns:
        the solver absolute accuracy
      Since:
        2.1

    - #### getSupportLowerBound

          public double getSupportLowerBound()

      Returns the lower bound of the support for this distribution. The lower bound of the support of the Cauchy distribution is always negative infinity, regardless of the parameters.
      Returns:
        lower bound of the support (always Double.NEGATIVE_INFINITY)
      Since:
        2.2

    - #### getSupportUpperBound

          public double getSupportUpperBound()

      Returns the upper bound of the support for this distribution. The upper bound of the support of the Cauchy distribution is always positive infinity, regardless of the parameters.
      Returns:
        upper bound of the support (always Double.POSITIVE_INFINITY)
      Since:
        2.2

    - #### getNumericalMean

          public double getNumericalMean()

      Returns the mean. The mean is always undefined, regardless of the parameters.
      Returns:
        mean (always Double.NaN)
      Since:
        2.2

    - #### getNumericalVariance

          public double getNumericalVariance()

      Returns the variance. The variance is always undefined, regardless of the parameters.
      Returns:
        variance (always Double.NaN)
      Since:
        2.2

Copyright (c) 2003-2013 Apache Software Foundation