Contains the gamma function and functions related to this function.
Constructor | Description |
Full Usage:
GammaRelated()
|
|
Static member | Description |
Full Usage:
GammaRelated.Beta(a, b)
Parameters:
float
-
b : float
-
Returns: float
The complete beta function of arguments a and b.
|
Beta(a,b) calculates the complete beta function for double precision arguments a and b using Exp(LnBeta(a,b)).
|
Full Usage:
GammaRelated.Beta(a, b, bDebug)
Parameters:
float
-
b : float
-
bDebug : bool
-
If true, an exception is thrown if serious errors occur. If false, NaN is returned on errors.
Returns: float
The complete beta function of arguments a and b.
|
Beta(a,b) calculates the complete beta function for double precision arguments a and b using Exp(LnBeta(a,b)).
|
Full Usage:
GammaRelated.BetaI(x, a, b)
Parameters:
float
-
Function argument.
a : float
-
First exponent, see summary.
b : float
-
Second exponent, see summary.
Returns: float
The incomplete beta function of the parameters x, a and b.
|
BetaI(x,a,b) calculates the double precision incomplete beta function. BetaI(x,a,b) = Integral(0,x) t**(a-1) (1-t)**(b-1) dt
|
Full Usage:
GammaRelated.BetaI(x, a, b, bDebug)
Parameters:
float
-
Function argument.
a : float
-
First exponent, see summary.
b : float
-
Second exponent, see summary.
bDebug : bool
-
If true, an exception is thrown if serious errors occur. If false, NaN is returned on errors.
Returns: float
The incomplete beta function of the parameters x, a and b.
|
BetaI(x,a,b) calculates the double precision incomplete beta function. BetaI(x,a,b) = Integral(0,x) t**(a-1) (1-t)**(b-1) dt
|
Full Usage:
GammaRelated.BetaIR(x, a, b)
Parameters:
float
-
upper limit of integration. x must be in (0,1) inclusive.
a : float
-
first beta distribution parameter. a must be > 0.
b : float
-
second beta distribution parameter. b must be > 0.
Returns: float
The incomplete beta function ratio.
|
BetaIR(x,a,b) calculates the double precision incomplete beta function ratio. B_x(a,b) Integral(0,x) t**(a-1) (1-t)**(b-1) dt I_x(a,b) = --------- = --------------------------------------- B(a,b) B(a,b)
The incomplete beta function ratio is the probability that a random variable from a beta distribution having parameters a and b will be less than or equal to x. This is a translation from the Fortran version of DBETAI(X,PIN,QIN), SLATEC, FNLIB, CATEGORY C7F, REVISION 920528, originally written by Fullerton W.,(LANL) to C++. References: Nancy E. Bosten and E. L. Battiste, Remark on Algorithm 179, Communications of the ACM 17, 3 (March 1974), pp. 156. Calls LnBeta(a,b)
|
Full Usage:
GammaRelated.BetaIR(x, a, b, bDebug)
Parameters:
float
-
upper limit of integration. x must be in (0,1) inclusive.
a : float
-
first beta distribution parameter. a must be > 0.
b : float
-
second beta distribution parameter. b must be > 0.
bDebug : bool
-
If true, an exception is thrown if serious errors occur. If false, NaN is returned on errors.
Returns: float
The incomplete beta function ratio.
|
BetaIR(x,a,b) calculates the double precision incomplete beta function ratio. B_x(a,b) Integral(0,x) t**(a-1) (1-t)**(b-1) dt I_x(a,b) = --------- = --------------------------------------- B(a,b) B(a,b)
The incomplete beta function ratio is the probability that a random variable from a beta distribution having parameters a and b will be less than or equal to x. This is a translation from the Fortran version of DBETAI(X,PIN,QIN), SLATEC, FNLIB, CATEGORY C7F, REVISION 920528, originally written by Fullerton W.,(LANL) to C++. References: Nancy E. Bosten and E. L. Battiste, Remark on Algorithm 179, Communications of the ACM 17, 3 (March 1974), pp. 156. Calls LnBeta(a,b)
|
Full Usage:
GammaRelated.BetaRegularized(x, a, b)
Parameters:
float
-
upper limit of integration. x must be in (0,1) inclusive.
a : float
-
first beta distribution parameter. a must be > 0.
b : float
-
second beta distribution parameter. b must be > 0.
Returns: float
The incomplete beta function ratio.
|
BetaRegularized(x,a,b) calculates the double precision incomplete beta function ratio. B_x(a,b) Integral(0,x) t**(a-1) (1-t)**(b-1) dt I_x(a,b) = --------- = --------------------------------------- B(a,b) B(a,b)
The incomplete beta function ratio is the probability that a random variable from a beta distribution having parameters a and b will be less than or equal to x. This is a translation from the Fortran version of DBETAI(X,PIN,QIN), SLATEC, FNLIB, CATEGORY C7F, REVISION 920528, originally written by Fullerton W.,(LANL) to C++. References: Nancy E. Bosten and E. L. Battiste, Remark on Algorithm 179, Communications of the ACM 17, 3 (March 1974), pp. 156. Calls LnBeta(a,b)
|
Full Usage:
GammaRelated.Binomial(n, m)
Parameters:
float
-
First argument.
m : float
-
Second argument.
Returns: float
The binomial coefficient ( n over m).
|
Gives the binomial coefficient ( n over m).
|
Full Usage:
GammaRelated.Fac(n)
Parameters:
int
-
The argument n.
Returns: float
The factorial of n.
|
Fac(n) calculates the double precision factorial for the integer argument n. This is a translation from the Fortran version of SLATEC, FNLIB, CATEGORY C1, REVISION 900315, originally written by Fullerton W.,(LANL) to C++.
|
Full Usage:
GammaRelated.Fac(n, bDebug)
Parameters:
int
-
The argument n.
bDebug : bool
-
If true, an exception is thrown if serious errors occur. If false, NaN is returned on errors.
Returns: float
The factorial of n.
|
Fac(n) calculates the double precision factorial for the integer argument n. This is a translation from the Fortran version of SLATEC, FNLIB, CATEGORY C1, REVISION 900315, originally written by Fullerton W.,(LANL) to C++.
|
Full Usage:
GammaRelated.Gamma(x)
Parameters:
float
-
The function argument x.
Returns: float
The Gamma function of the argument x.
|
Gamma(x) calculates the double precision complete Gamma function for double precision argument x.
This is a translation from the Fortran version of SLATEC, FNLIB, CATEGORY C7A, REVISION 920618, originally written by Fullerton W.,(LANL) to C++. Series for GAM on the interval 0. to 1.00000E+00 with weighted error 5.79E-32 log weighted error 31.24 significant figures required 30.00 decimal places required 32.05
|
Full Usage:
GammaRelated.Gamma(x, bDebug)
Parameters:
float
-
The function argument x.
bDebug : bool
-
If true, an exception is thrown if serious errors occur. If false, NaN is returned on errors.
Returns: float
The Gamma function of the argument x.
|
Gamma(x) calculates the double precision complete Gamma function for double precision argument x.
This is a translation from the Fortran version of SLATEC, FNLIB, CATEGORY C7A, REVISION 920618, originally written by Fullerton W.,(LANL) to C++. Series for GAM on the interval 0. to 1.00000E+00 with weighted error 5.79E-32 log weighted error 31.24 significant figures required 30.00 decimal places required 32.05
|
Full Usage:
GammaRelated.Gamma(a, z0, bDebug)
Parameters:
float
-
The function argument.
z0 : float
-
The lower boundary of integration.
bDebug : bool
-
If true, an exception is thrown if serious errors occur. If false, NaN is returned on errors.
Returns: float
Complementary incomplete Gamma function of arguments a and z0.
|
Evaluate the complementary incomplete Gamma function Gamma(a,z0) = integral from z0 to infinity of exp(-t) * t**(a-1) The order of parameters is the same as the Mathematica function Gamma[a,z0]. Gamma(a,z0) is evaluated for arbitrary real values of A and for non-negative values of x (even though Gamma is defined for z0 < 0.0), except that for z0 = 0 and a <= 0.0, Gamma is undefined.
A slight deterioration of 2 or 3 digits accuracy will occur when GammaIC is very large or very small in absolute value, because log- arithmic variables are used. Also, if the parameter A is very close to a negative integer (but not a negative integer), there is a loss of accuracy, which is reported if the result is less than half machine precision. This is a translation from the Fortran version of DGAMIC, SLATEC, FNLIB, CATEGORY C7E, REVISION 920528, originally written by Fullerton W.,(LANL) to C++. References: (1) W. Gautschi, A computational procedure for incomplete gamma functions, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 466-481. (2) W. Gautschi, Incomplete gamma functions, Algorithm 542, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 482-489. Routines called: d9gmit, d9gmic, d9lgic, d9lgit, LnGamma(x), LnGamma(x,a)
|
Full Usage:
GammaRelated.Gamma(a, z0)
Parameters:
float
-
The function argument.
z0 : float
-
The lower boundary of integration.
Returns: float
Complementary incomplete Gamma function of arguments a and z0.
|
Evaluate the complementary incomplete Gamma function Gamma(a,z0) = integral from z0 to infinity of exp(-t) * t**(a-1) The order of parameters is the same as the Mathematica function Gamma[a,z0]. Gamma(a,z0) is evaluated for arbitrary real values of A and for non-negative values of x (even though Gamma is defined for z0 < 0.0), except that for z0 = 0 and a <= 0.0, Gamma is undefined.
A slight deterioration of 2 or 3 digits accuracy will occur when GammaIC is very large or very small in absolute value, because log- arithmic variables are used. Also, if the parameter A is very close to a negative integer (but not a negative integer), there is a loss of accuracy, which is reported if the result is less than half machine precision. This is a translation from the Fortran version of DGAMIC, SLATEC, FNLIB, CATEGORY C7E, REVISION 920528, originally written by Fullerton W.,(LANL) to C++. References: (1) W. Gautschi, A computational procedure for incomplete gamma functions, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 466-481. (2) W. Gautschi, Incomplete gamma functions, Algorithm 542, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 482-489. Routines called: d9gmit, d9gmic, d9lgic, d9lgit, LnGamma(x), LnGamma(x,a)
|
|
Complex Gamma function. July 1977 edition. w. fullerton, c3, los alamos scientific lab. A preliminary version that is portable, but not accurate enough.
|
|
Complex Gamma function. July 1977 edition. w. fullerton, c3, los alamos scientific lab. A preliminary version that is portable, but not accurate enough.
|
Full Usage:
GammaRelated.GammaI(x, a)
Parameters:
float
-
The function value x.
a : float
-
The exponent.
Returns: float
The incomplete gamma function of x and a.
|
Evaluate the incomplete gamma function defined by GammaI = integral from t = 0 to x of exp(-t) * t**(a-1.0) GammaI(x,a) is evaluated for positive values of a and non-negative values of x. A slight deterioration of 2 or 3 digits accuracy will occur when GammaI is very large or very small, because logarithmic variables are used. The function and both arguments are double precision.
This is a translation from the Fortran version of DGAMI, SLATEC, FNLIB, CATEGORY C7E, REVISION 900315, originally written by Fullerton W.,(LANL) to C++. Routines called: LnGamma(x) - logarithm of the Gamma function GammaIT(x,a) - Tricomi's incomplete gamma function
|
Full Usage:
GammaRelated.GammaIC(x, a)
Parameters:
float
-
The function argument.
a : float
-
Returns: float
Complementary incomplete Gamma function of arguments x and a.
|
Evaluate the complementary incomplete Gamma function GammaIC(x,a) = integral from x to infinity of exp(-t) * t**(a-1) GammaIC(x,a) is evaluated for arbitrary real values of A and for non-negative values of x (even though GammaIC is defined for x < 0.0), except that for x = 0 and a <= 0.0, GammaIC is undefined.
A slight deterioration of 2 or 3 digits accuracy will occur when GammaIC is very large or very small in absolute value, because log- arithmic variables are used. Also, if the parameter A is very close to a negative integer (but not a negative integer), there is a loss of accuracy, which is reported if the result is less than half machine precision. This is a translation from the Fortran version of DGAMIC, SLATEC, FNLIB, CATEGORY C7E, REVISION 920528, originally written by Fullerton W.,(LANL) to C++. References: (1) W. Gautschi, A computational procedure for incomplete gamma functions, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 466-481. (2) W. Gautschi, Incomplete gamma functions, Algorithm 542, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 482-489. Routines called: d9gmit, d9gmic, d9lgic, d9lgit, LnGamma(x), LnGamma(x,a)
|
Full Usage:
GammaRelated.GammaIC(x, a, bDebug)
Parameters:
float
-
The function argument.
a : float
-
bDebug : bool
-
If true, an exception is thrown if serious errors occur. If false, NaN is returned on errors.
Returns: float
Complementary incomplete Gamma function of arguments x and a.
|
Evaluate the complementary incomplete Gamma function GammaIC(x,a) = integral from x to infinity of exp(-t) * t**(a-1) GammaIC(x,a) is evaluated for arbitrary real values of A and for non-negative values of x (even though GammaIC is defined for x < 0.0), except that for x = 0 and a <= 0.0, GammaIC is undefined.
A slight deterioration of 2 or 3 digits accuracy will occur when GammaIC is very large or very small in absolute value, because log- arithmic variables are used. Also, if the parameter A is very close to a negative integer (but not a negative integer), there is a loss of accuracy, which is reported if the result is less than half machine precision. This is a translation from the Fortran version of DGAMIC, SLATEC, FNLIB, CATEGORY C7E, REVISION 920528, originally written by Fullerton W.,(LANL) to C++. References: (1) W. Gautschi, A computational procedure for incomplete gamma functions, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 466-481. (2) W. Gautschi, Incomplete gamma functions, Algorithm 542, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 482-489. Routines called: d9gmit, d9gmic, d9lgic, d9lgit, LnGamma(x), LnGamma(x,a)
|
Full Usage:
GammaRelated.GammaIT(x, a)
Parameters:
float
-
The function argument x.
a : float
-
The function argument a.
Returns: float
Tricomi's incomplete gamma function of x and a.
|
GammaIT(x,a) evaluates Tricomi's incomplete gamma function defined by GammaIT = x**(-a)/Gamma(a) * integral from 0 to x of exp(-t) * t**(a-1.0) for a > 0.0 and by analytic continuation for a <= 0.0. Gamma(x) is the complete gamma function of x.
GammaIT(x,a) is evaluated for arbitrary real values of a and for non-negative values of x (even though GammaIT is defined for x < 0.0), except that for x = 0 and a <= 0.0, GammaIT is infinite, which is a fatal error. The function and both arguments are double. A slight deterioration of 2 or 3 digits accuracy will occur when GammaIT is very large or very small in absolute value, because log- arithmic variables are used. Also, if the parameter a is very close to a negative integer (but not a negative integer), there is a loss of accuracy, which is reported if the result is less than half machine precision. This is a translation from the Fortran version of DGAMIT, SLATEC, FNLIB, CATEGORY C7E, REVISION 920528, originally written by Fullerton W.,(LANL) to C++. References: (1) W. Gautschi, A computational procedure for incomplete gamma functions, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 466-481. (2) W. Gautschi, Incomplete gamma functions, Algorithm 542, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 482-489. Routines called: LnGamma(x) - logarithm of the Gamma function LnGamma(x,sgn) - logarithm and sign of the Gamma function RcpGamma(x) - reciprocal of the Gamma function d9gmit(a,x,algap1,sgngam) d9lgit(a,x,algap1) d9lgic(a,x,alx)
|
Full Usage:
GammaRelated.GammaIT(x, a, bDebug)
Parameters:
float
-
The function argument x.
a : float
-
The function argument a.
bDebug : bool
-
If true, an exception is thrown if serious errors occur. If false, NaN is returned on errors.
Returns: float
Tricomi's incomplete gamma function of x and a.
|
GammaIT(x,a) evaluates Tricomi's incomplete gamma function defined by GammaIT = x**(-a)/Gamma(a) * integral from 0 to x of exp(-t) * t**(a-1.0) for a > 0.0 and by analytic continuation for a <= 0.0. Gamma(x) is the complete gamma function of x.
GammaIT(x,a) is evaluated for arbitrary real values of a and for non-negative values of x (even though GammaIT is defined for x < 0.0), except that for x = 0 and a <= 0.0, GammaIT is infinite, which is a fatal error. The function and both arguments are double. A slight deterioration of 2 or 3 digits accuracy will occur when GammaIT is very large or very small in absolute value, because log- arithmic variables are used. Also, if the parameter a is very close to a negative integer (but not a negative integer), there is a loss of accuracy, which is reported if the result is less than half machine precision. This is a translation from the Fortran version of DGAMIT, SLATEC, FNLIB, CATEGORY C7E, REVISION 920528, originally written by Fullerton W.,(LANL) to C++. References: (1) W. Gautschi, A computational procedure for incomplete gamma functions, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 466-481. (2) W. Gautschi, Incomplete gamma functions, Algorithm 542, ACM Transactions on Mathematical Software 5, 4 (December 1979), pp. 482-489. Routines called: LnGamma(x) - logarithm of the Gamma function LnGamma(x,sgn) - logarithm and sign of the Gamma function RcpGamma(x) - reciprocal of the Gamma function d9gmit(a,x,algap1,sgngam) d9lgit(a,x,algap1) d9lgic(a,x,alx)
|
Full Usage:
GammaRelated.GammaRegularized(a, z)
Parameters:
float
-
The function argument.
z : float
-
The lower boundary of integration.
Returns: float
Incomplete regularized Gamma function of arguments a, z0 and z1.
|
Evaluate the incomplete regularized Gamma function GammaRegularized(a,z) = { integral from z to infinity of exp(-t) * t**(a-1) } / Gamma(a) The order of parameters is the same as the Mathematica function GammaRegularized[a,z].
|
Full Usage:
GammaRelated.GammaRegularized(a, z0, z1)
Parameters:
float
-
The function argument.
z0 : float
-
The lower boundary of integration.
z1 : float
-
The upper boundary of integration.
Returns: float
Incomplete regularized Gamma function of arguments a, z0 and z1.
|
Evaluate the incomplete regularized Gamma function Gamma(a,z0,z1) = { integral from z0 to z1 of exp(-t) * t**(a-1) }/Gamma(a) The order of parameters is the same as the Mathematica function GammaRegularized[a,z0,z1].
|
Full Usage:
GammaRelated.InverseBetaRegularized(alpha, p, q)
Parameters:
float
-
Probability (0..1)
p : float
-
Parameter p.
q : float
-
Parameter q.
Returns: float
|
InverseBetaRegularized gives the inverse of the incomplete beta function ratio (GammaRelated.BetaIR or GammaRelated.BetaRegularized).
|
Full Usage:
GammaRelated.InverseGammaRegularized(a, z)
Parameters:
float
z : float
Returns: float
|
|
Full Usage:
GammaRelated.LnBeta(a, b)
Parameters:
float
-
b : float
-
Returns: float
The logarithm of the complete beta function.
|
LnBeta(a,b) calculates the double precision natural logarithm of the complete beta function for double precision arguments a and b.
This is a translation from the Fortran version of DLBETA(A,B), SLATEC, FNLIB, CATEGORY C7B, REVISION 900727, originally written by Fullerton W.,(LANL) to C++. Calls d9lgmc(x), LogRel(x), LnGamma(x), Gamma(x)
|
Full Usage:
GammaRelated.LnBeta(a, b, bDebug)
Parameters:
float
-
b : float
-
bDebug : bool
-
If true, an exception is thrown if serious errors occur. If false, NaN is returned on errors.
Returns: float
The logarithm of the complete beta function.
|
LnBeta(a,b) calculates the double precision natural logarithm of the complete beta function for double precision arguments a and b.
This is a translation from the Fortran version of DLBETA(A,B), SLATEC, FNLIB, CATEGORY C7B, REVISION 900727, originally written by Fullerton W.,(LANL) to C++. Calls d9lgmc(x), LogRel(x), LnGamma(x), Gamma(x)
|
Full Usage:
GammaRelated.LnGamma(x, sgn)
Parameters:
float
-
The function argument x.
sgn : byref<float>
-
The sign of the gamma function.
Returns: float
The logarithm of the absolute value of the gamma function.
|
LnGamma(x,sgn) returns the double precision natural logarithm of the absolute value of the Gamma function for double precision argument x. The sign of the gamma function is returned in sgn.
This is a translation from the Fortran version of DLGAMS, SLATEC, FNLIB, CATEGORY C7A, REVISION 891214, originally written by Fullerton W.,(LANL) to C++. Routines called: LnGamma(x)
|
Full Usage:
GammaRelated.LnGamma(x, sgn, bDebug)
Parameters:
float
-
The function argument x.
sgn : byref<float>
-
The sign of the gamma function.
bDebug : bool
-
If true, an exception is thrown if serious errors occur. If false, NaN is returned on errors.
Returns: float
The logarithm of the absolute value of the gamma function.
|
LnGamma(x,sgn) returns the double precision natural logarithm of the absolute value of the Gamma function for double precision argument x. The sign of the gamma function is returned in sgn.
This is a translation from the Fortran version of DLGAMS, SLATEC, FNLIB, CATEGORY C7A, REVISION 891214, originally written by Fullerton W.,(LANL) to C++. Routines called: LnGamma(x)
|
Full Usage:
GammaRelated.LnGamma(x)
Parameters:
float
-
The function argument x.
Returns: float
The logarithm of the absolute value of the Gamma function.
|
Calculates the double precision logarithm of the absolute value of the Gamma function for double precision argument x. This is a translation from the Fortran version of DLNGAM, SLATEC, FNLIB, CATEGORY C7A, REVISION 900727, originally written by Fullerton W.,(LANL) to C++. Routines called: Gamma(x) d9lgmc(x)
|
Full Usage:
GammaRelated.LnGamma(x, bDebug)
Parameters:
float
-
The function argument x.
bDebug : bool
-
If true, an exception is thrown if serious errors occur. If false, NaN is returned on errors.
Returns: float
The logarithm of the absolute value of the Gamma function.
|
Calculates the double precision logarithm of the absolute value of the Gamma function for double precision argument x. This is a translation from the Fortran version of DLNGAM, SLATEC, FNLIB, CATEGORY C7A, REVISION 900727, originally written by Fullerton W.,(LANL) to C++. Routines called: Gamma(x) d9lgmc(x)
|
|
Complex logarithm of the gamma function. August 1980 edition. W. Fullerton c3, Los Alamos Scientific Lab. Eventually clngam should make use of c8lgmc for all z except for z in the vicinity of 1 and 2.
|
|
Complex logarithm of the gamma function. August 1980 edition. W. Fullerton c3, Los Alamos Scientific Lab. Eventually clngam should make use of c8lgmc for all z except for z in the vicinity of 1 and 2.
|
Full Usage:
GammaRelated.LogBinomial(n, m)
Parameters:
float
-
First argument.
m : float
-
Second argument.
Returns: float
The natural logarithm of the binomial coefficient ( n over m).
|
Gives the natural logarithm of the binomial coefficient ( n over m).
|