Class RegularizedBeta

java.lang.Object
org.apache.commons.numbers.gamma.RegularizedBeta

public final class RegularizedBeta extends Object
Regularized Beta function.

\[ I_x(a,b) = \frac{1}{B(a, b)} \int_0^x t^{a-1}\,(1-t)^{b-1}\,dt \]

where \( B(a, b) \) is the beta function.

This code has been adapted from the Boost c++ implementation <boost/math/special_functions/beta.hpp>.

See Also:
  • Constructor Details

    • RegularizedBeta

      private RegularizedBeta()
      Private constructor.
  • Method Details

    • value

      public static double value(double x, double a, double b)
      Computes the value of the regularized beta function I(x, a, b).

      \[ I_x(a,b) = \frac{1}{B(a, b)} \int_0^x t^{a-1}\,(1-t)^{b-1}\,dt \]

      where \( B(a, b) \) is the beta function.

      Parameters:
      x - Value.
      a - Parameter a.
      b - Parameter b.
      Returns:
      the regularized beta function \( I_x(a, b) \).
      Throws:
      ArithmeticException - if the series evaluation fails to converge.
    • value

      public static double value(double x, double a, double b, double epsilon, int maxIterations)
      Computes the value of the regularized beta function I(x, a, b).

      \[ I_x(a,b) = \frac{1}{B(a, b)} \int_0^x t^{a-1}\,(1-t)^{b-1}\,dt \]

      where \( B(a, b) \) is the beta function.

      Parameters:
      x - the value.
      a - Parameter a.
      b - Parameter b.
      epsilon - Tolerance in series evaluation.
      maxIterations - Maximum number of iterations in series evaluation.
      Returns:
      the regularized beta function \( I_x(a, b) \).
      Throws:
      ArithmeticException - if the series evaluation fails to converge.
    • complement

      public static double complement(double x, double a, double b)
      Computes the complement of the regularized beta function I(x, a, b).

      \[ 1 - I_x(a,b) = I_{1-x}(b, a) \]

      Parameters:
      x - Value.
      a - Parameter a.
      b - Parameter b.
      Returns:
      the complement of the regularized beta function \( 1 - I_x(a, b) \).
      Throws:
      ArithmeticException - if the series evaluation fails to converge.
      Since:
      1.1
    • complement

      public static double complement(double x, double a, double b, double epsilon, int maxIterations)
      Computes the complement of the regularized beta function I(x, a, b).

      \[ 1 - I_x(a,b) = I_{1-x}(b, a) \]

      Parameters:
      x - the value.
      a - Parameter a.
      b - Parameter b.
      epsilon - Tolerance in series evaluation.
      maxIterations - Maximum number of iterations in series evaluation.
      Returns:
      the complement of the regularized beta function \( 1 - I_x(a, b) \).
      Throws:
      ArithmeticException - if the series evaluation fails to converge.
      Since:
      1.1
    • derivative

      public static double derivative(double x, double a, double b)
      Computes the derivative of the regularized beta function I(x, a, b).

      \[ \frac{\delta}{\delta x} I_x(a,b) = \frac{(1-x)^{b-1} x^{a-1}}{B(a, b)} \]

      where \( B(a, b) \) is the beta function.

      This function has uses in some statistical distributions.

      Parameters:
      x - Value.
      a - Parameter a.
      b - Parameter b.
      Returns:
      the derivative of the regularized beta function \( I_x(a, b) \).
      Throws:
      ArithmeticException - if the series evaluation fails to converge.
      Since:
      1.1