Class CauchyDistributionImpl

All Implemented Interfaces:
Serializable, CauchyDistribution, ContinuousDistribution, Distribution

public class CauchyDistributionImpl extends AbstractContinuousDistribution implements CauchyDistribution, Serializable
Default implementation of CauchyDistribution.
Since:
1.1
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.
    • 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