TOMS708
Incomplete Beta Function Ratios
TOMS708
is a FORTRAN90 library which
computes the Incomplete Beta Function ratio
I_{x}(a,b)
11 January 2006: Thanks to Ian Smith for pointing out that my
earlier difficulties with this program were caused simply by
using the wrong set of machine constants!
The original, true, correct version of ACM TOMS Algorithm 708
is available
through ACM:
http://www.acm.org/pubs/calgo
or NETLIB:
http://www.netlib.org/toms/index.html.
The version displayed here has been converted to FORTRAN90,
and other internal changes have been made to suit me.
Languages:
TOMS708 is available in
a JAVA version and
a FORTRAN77 version and
a FORTRAN90 version.
Related Data and Programs:
ASA063
is a FORTRAN90 library which
evaluates the incomplete Beta function.
ASA109
is a FORTRAN90 library which
inverts the incomplete Beta function.
ASA226
is a FORTRAN90 library which
computes the CDF of the noncentral Beta distribution.
ASA310
is a FORTRAN90 library which
computes the CDF of the noncentral Beta distribution.
BETA_NC
is a FORTRAN90 library which
evaluates the CDF of the noncentral Beta distribution.
TEST_VALUES
is a FORTRAN90 library which
stores a few values of various mathematical functions.
TOMS179
is a FORTRAN90 library which
approximates the incomplete Beta function.
Reference:

Armido Didonato, Alfred Morris, Jr,
Algorithm 708:
Significant Digit Computation of the Incomplete Beta
Function Ratios,
ACM Transactions on Mathematical Software,
Volume 18, Number 3, pages 360373, 1992.
Source Code:
Examples and Tests:
List of Routines:

ALGDIV computes ln(gamma(b)/gamma(a+b)) when 8 <= B.

ALNREL evaluates the function ln(1 + a).

APSER yields the incomplete beta ratio i(sub(1x))(b,a) for

BASYM uses an asymptotic expansion for Ix(A,B) for large A and B.

BCORR evaluates del(a0) + del(b0)  del(a0 + b0) where

BETA_INC_VALUES returns some values of the incomplete Beta function.

BETA_LOG_VALUES returns some values of the Beta function for testing.

BETALN evaluates the logarithm of the Beta function.

BFRAC uses a continued fraction expansion for ix(a,b) when a,b .gt. 1.

BGRAT uses an asymptotic expansion for Ix(a,b) when a is larger than b.

BPSER uses the power series expansion for evaluating ix(a,b) when b <= 1

BRATIO evaluates the incomplete beta function Ix(A,B).

BRCMP1 evaluates exp(mu) * (x**a*y**b/beta(a,b)).

BRCOMP evaluates X**a * y**b / beta(a,b).

BUP evaluates ix(a,b)  ix(a+n,b) where n is a positive integer.

ERFC1 evaluates the complementary error function

ERF evaluates the real error function.

ERF_VALUES returns some values of the ERF or "error" function for testing.

ESUM evaluates exp(mu + x).

EXPARG reports the largest safe arguments for EXP(X).

FPSER evaluates Ix(A,B) for small B and X <= 0.5.

GAM1 computes 1/gamma(a+1)  1 for 0.5 <= a <= 1.5

GAMLN1 evaluates ln(gamma(1 + a)) for 0.2 <= A <= 1.25

GAMLN evaluates ln(gamma(a)) for positive A.

GAMMA_INC_VALUES returns some values of the incomplete Gamma function.

GAMMA_LOG_VALUES returns some values of the Log Gamma function for testing.

GRAT1 evaluates the incomplete Gamma ratio functions P(A,X) and Q(A,X).

GSUMLN evaluates the function Log ( Gamma ( A + B ) ) in a special range.

IPMPAR provides the integer machine constants for the computer

PSI evaluates the Psi or Digamma function.

PSI_VALUES returns some values of the Psi or Digamma function for testing.

REXP evaluates the function Exp(X)  1.

RLOG1 evaluates the function X  Log ( 1 + X ).

TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to
the FORTRAN90 source codes.
Last revised on 08 January 2008.