Class AbstractRealDistribution

    • Field Detail

      • DEFAULT_SOLVER_ABSOLUTE_ACCURACY

        protected static final double DEFAULT_SOLVER_ABSOLUTE_ACCURACY
        Default absolute accuracy for inverse cumulative computation.
        See Also:
        Constant Field Values
    • Constructor Detail

      • AbstractRealDistribution

        protected AbstractRealDistribution​(double solverAbsoluteAccuracy)
        Parameters:
        solverAbsoluteAccuracy - the absolute accuracy to use when computing the inverse cumulative probability.
      • AbstractRealDistribution

        protected AbstractRealDistribution()
        Create a real distribution with default solver absolute accuracy.
    • Method Detail

      • probability

        public double probability​(double x0,
                                  double x1)
                           throws MathIllegalArgumentException
        For a random variable X whose values are distributed according to this distribution, this method returns P(x0 < X <= x1).
        Specified by:
        probability in interface RealDistribution
        Parameters:
        x0 - Lower bound (excluded).
        x1 - Upper bound (included).
        Returns:
        the probability that a random variable with this distribution takes a value between x0 and x1, excluding the lower and including the upper endpoint.
        Throws:
        MathIllegalArgumentException - if x0 > x1. The default implementation uses the identity P(x0 < X <= x1) = P(X <= x1) - P(X <= x0)
      • getSolverAbsoluteAccuracy

        protected double getSolverAbsoluteAccuracy()
        Returns the solver absolute accuracy for inverse cumulative computation. You can override this method in order to use a Brent solver with an absolute accuracy different from the default.
        Returns:
        the maximum absolute error in inverse cumulative probability estimates
      • logDensity

        public double logDensity​(double x)
        Returns the natural logarithm of the probability density function (PDF) of this distribution evaluated at the specified point x. In general, the PDF is the derivative of the CDF. If the derivative does not exist at x, then an appropriate replacement should be returned, e.g. Double.POSITIVE_INFINITY, Double.NaN, or the limit inferior or limit superior of the difference quotient. Note that due to the floating point precision and under/overflow issues, this method will for some distributions be more precise and faster than computing the logarithm of RealDistribution.density(double).

        The default implementation simply computes the logarithm of density(x).

        Specified by:
        logDensity in interface RealDistribution
        Parameters:
        x - the point at which the PDF is evaluated
        Returns:
        the logarithm of the value of the probability density function at point x