Class CauchyDistributionImpl

All Implemented Interfaces:
Serializable, CauchyDistribution, ContinuousDistribution, Distribution

public class CauchyDistributionImpl extends AbstractContinuousDistribution implements CauchyDistribution, 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:
  • Field Details

    • DEFAULT_INVERSE_ABSOLUTE_ACCURACY

      public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
      Default inverse cumulative probability accuracy
      Since:
      2.1
      See Also:
  • Constructor Details

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

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