Package org.hipparchus.special
Class Beta
- java.lang.Object
-
- org.hipparchus.special.Beta
-
public class Beta extends Object
This is a utility class that provides computation methods related to the Beta family of functions.
Implementation of
logBeta(double, double)
is based on the algorithms described in- Didonato and Morris (1986), Computation of the Incomplete Gamma Function Ratios and their Inverse, TOMS 12(4), 377-393,
- Didonato and Morris (1992), Algorithm 708: Significant Digit Computation of the Incomplete Beta Function Ratios, TOMS 18(3), 360-373,
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static double
logBeta(double p, double q)
Returns the value of log B(p, q) for 0 ≤ x ≤ 1 and p, q > 0.static double
regularizedBeta(double x, double a, double b)
Returns the regularized beta function I(x, a, b).static double
regularizedBeta(double x, double a, double b, double epsilon)
Returns the regularized beta function I(x, a, b).static double
regularizedBeta(double x, double a, double b, double epsilon, int maxIterations)
Returns the regularized beta function I(x, a, b).static double
regularizedBeta(double x, double a, double b, int maxIterations)
Returns the regularized beta function I(x, a, b).
-
-
-
Method Detail
-
regularizedBeta
public static double regularizedBeta(double x, double a, double b)
Returns the regularized beta function I(x, a, b).- Parameters:
x
- Value.a
- Parametera
.b
- Parameterb
.- Returns:
- the regularized beta function I(x, a, b).
- Throws:
MathIllegalStateException
- if the algorithm fails to converge.
-
regularizedBeta
public static double regularizedBeta(double x, double a, double b, double epsilon)
Returns the regularized beta function I(x, a, b).- Parameters:
x
- Value.a
- Parametera
.b
- Parameterb
.epsilon
- When the absolute value of the nth item in the series is less than epsilon the approximation ceases to calculate further elements in the series.- Returns:
- the regularized beta function I(x, a, b)
- Throws:
MathIllegalStateException
- if the algorithm fails to converge.
-
regularizedBeta
public static double regularizedBeta(double x, double a, double b, int maxIterations)
Returns the regularized beta function I(x, a, b).- Parameters:
x
- the value.a
- Parametera
.b
- Parameterb
.maxIterations
- Maximum number of "iterations" to complete.- Returns:
- the regularized beta function I(x, a, b)
- Throws:
MathIllegalStateException
- if the algorithm fails to converge.
-
regularizedBeta
public static double regularizedBeta(double x, double a, double b, double epsilon, int maxIterations)
Returns the regularized beta function I(x, a, b). The implementation of this method is based on:- Parameters:
x
- the value.a
- Parametera
.b
- Parameterb
.epsilon
- When the absolute value of the nth item in the series is less than epsilon the approximation ceases to calculate further elements in the series.maxIterations
- Maximum number of "iterations" to complete.- Returns:
- the regularized beta function I(x, a, b)
- Throws:
MathIllegalStateException
- if the algorithm fails to converge.
-
logBeta
public static double logBeta(double p, double q)
Returns the value of log B(p, q) for 0 ≤ x ≤ 1 and p, q > 0. Based on the NSWC Library of Mathematics Subroutines implementation,DBETLN
.- Parameters:
p
- First argument.q
- Second argument.- Returns:
- the value of
log(Beta(p, q))
,NaN
ifp <= 0
orq <= 0
.
-
-